Yoast SEO - Version 14.0

Version Description

Release Date: April 28th, 2020

Today is a special day. Today, a project weve been working on for a year sees the light of day. Yoast SEO 14.0 rewrites the playbook on how a WordPress SEO plugin can work. Thanks to an approach we call indexables, we bring you a much faster experience and a new foundation that helps us get ready for an exciting future! Read more about this release in our release post!

Bugfixes:

  • Fixes a bug where the Open Graph image would be set as Twitter image when Open Graph was disabled.
  • Fixes a bug where the article:publisher meta tag would not contain the Person's Facebook account if the Knowledge Graph was set to Person.
  • Fixes a bug where no title meta tag would be output when no post or page-specific title was specified.
  • Fixes a bug where the date archive description from the Search Appearance settings would not be used for the og:description meta tag.
  • Fixes a bug where a notice would be thrown when a field in the FAQ or HowTo block was left empty.
  • Fixes a bug where the Help Scout beacon was aligned to the right on settings pages on installations with a right-to-left language.
  • Fixes a bug where UTF-8 encoded urls were not always readable in the snippet preview.
  • Fixes a bug where the embedding of posts on LinkedIn was broken.

Enhancements:

  • Adds a notification that appears when your content hasn't been fully indexed yet.
  • Adds a button to the SEO > Tools page to index all your content.
  • Adds a feature toggle to disable the headless REST routes.
  • No longer outputs the og:type meta tag on 404 pages.
  • No longer outputs a twitter:title, twitter:image and/or twitter:description meta tag when there is already an og:title, og:image and/or og:description meta tag specified in the frontend output and theyre not specifically set to something else.
  • No longer outputs an article:section and article:tag meta tag as none of the Open Graph consumers seems to use it.
  • No longer outputs an og:updated_time meta tag as it was the same as article:modified_time and all Open Graph consumers seem to prefer that.
  • No longer outputs an og:image:secure_url meta tag as it was the same as og:image and all Open Graph consumers seem to prefer that.
  • Strips all HTML tags from text fields in the schema output.
  • Adds Term hierarchy as a taxonomy snippet variable.
  • Uses the Gravatar image as a fallback for author archive's og:image and twitter:image.
  • Improves the way gallery images are retrieved . Props to stodorovic.
  • Bing has added support for the same opt-in meta robots values as Google has, see their announcement post. We have decided to opt-in users of Yoast SEO by default to Bingbot crawling.
  • No longer removes the default robots meta values.

Other:

  • Deprecates the wpseo_twitter_taxonomy_image and wpseo_twitter_metatag_key filters.
  • Deprecates the wp_seo_get_bc_ancestors filter. Developers should use the wpseo_breadcrumb_links filter instead to add and/or replace breadcrumbs.
  • Deprecates the wpseo_opengraph and wpseo_twitter actions.
  • Adds the following filters:
    • wpseo_debug_markers, which allows users to disable the debug markers.
    • wpseo_frontend_presenter_classes, which enables the filtering of presenters.
    • wpseo_frontend_presenters, which enables the filtering of presenter instances.
    • wpseo_googlebot, which enables the filtering of the googlebot meta output.
    • wpseo_og_article_publisher, which enables the filtering of the article publishers Facebook URL.
    • wpseo_og_locale, which enables the filtering of the Open Graph locale.
    • wpseo_post_indexation_limit, which enables the filtering of the amount of posts indexed during each indexing pass.
    • wpseo_post_type_archive_indexation_limit, which enables the filtering of the amount of post type archives indexed during each indexing pass.
    • wpseo_term_indexation_limit, which enables the filtering of the amount of terms indexed during each indexing pass.
    • wpseo_post_types_reset_permalinks, which enables the filtering of the post types to reset permalinks for.
    • wpseo_public_post_statuses, which enables the filtering of the list of public post statuses.
  • No longer calls the third-party thematic_doctitle and woo_title filters.
  • Adds the /wp-json/yoast/v1/get_head endpoint to get the our head for an URL. This endpoint takes a single parameter, url which should be the absolute URL of the page to get the head for.
  • Removes the minimum and maximum size requirements when outputting og:image meta tags.
Download this release

Release Info

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

Code changes from version 13.5 to 14.0

Files changed (113) hide show
  1. admin/class-admin-asset-manager.php +23 -3
  2. admin/class-admin-editor-specific-replace-vars.php +3 -3
  3. admin/class-admin-init.php +20 -0
  4. admin/class-admin-recommended-replace-vars.php +2 -2
  5. admin/class-admin.php +1 -0
  6. admin/class-gutenberg-compatibility.php +2 -2
  7. admin/metabox/class-metabox.php +1 -0
  8. admin/taxonomy/class-taxonomy.php +4 -3
  9. admin/tracking/class-tracking-settings-data.php +0 -1
  10. admin/tracking/class-tracking.php +8 -1
  11. admin/views/class-yoast-feature-toggles.php +10 -0
  12. config/dependency-injection/container-compiler.php +4 -0
  13. config/dependency-injection/custom-loader.php +0 -25
  14. config/dependency-injection/loader-pass.php +12 -13
  15. config/dependency-injection/services.php +19 -11
  16. css/dist/{admin-global-1350-rtl.css → admin-global-1400-rtl.css} +0 -0
  17. css/dist/{admin-global-1350.css → admin-global-1400.css} +0 -0
  18. css/dist/{adminbar-1350-rtl.css → adminbar-1400-rtl.css} +0 -0
  19. css/dist/{adminbar-1350.css → adminbar-1400.css} +0 -0
  20. css/dist/{alerts-1350-rtl.css → alerts-1400-rtl.css} +0 -0
  21. css/dist/{alerts-1350.css → alerts-1400.css} +0 -0
  22. css/dist/{dashboard-1350-rtl.css → dashboard-1400-rtl.css} +0 -0
  23. css/dist/{dashboard-1350.css → dashboard-1400.css} +0 -0
  24. css/dist/{edit-page-1350-rtl.css → edit-page-1400-rtl.css} +0 -0
  25. css/dist/{edit-page-1350.css → edit-page-1400.css} +0 -0
  26. css/dist/{featured-image-1350-rtl.css → featured-image-1400-rtl.css} +0 -0
  27. css/dist/{featured-image-1350.css → featured-image-1400.css} +0 -0
  28. css/dist/{filter-explanation-1350-rtl.css → filter-explanation-1400-rtl.css} +0 -0
  29. css/dist/{filter-explanation-1350.css → filter-explanation-1400.css} +0 -0
  30. css/dist/{inside-editor-1350-rtl.css → inside-editor-1400-rtl.css} +0 -0
  31. css/dist/{inside-editor-1350.css → inside-editor-1400.css} +0 -0
  32. css/dist/{metabox-1350-rtl.css → metabox-1400-rtl.css} +0 -0
  33. css/dist/{metabox-1350.css → metabox-1400.css} +0 -0
  34. css/dist/{metabox-primary-category-1350-rtl.css → metabox-primary-category-1400-rtl.css} +0 -0
  35. css/dist/{metabox-primary-category-1350.css → metabox-primary-category-1400.css} +0 -0
  36. css/dist/monorepo-1400-rtl.css +1 -0
  37. css/dist/monorepo-1400.css +1 -0
  38. css/dist/{search-appearance-1350-rtl.css → search-appearance-1400-rtl.css} +0 -0
  39. css/dist/{search-appearance-1350.css → search-appearance-1400.css} +0 -0
  40. css/dist/{structured-data-blocks-1350-rtl.css → structured-data-blocks-1400-rtl.css} +0 -0
  41. css/dist/{structured-data-blocks-1350.css → structured-data-blocks-1400.css} +0 -0
  42. css/dist/{toggle-switch-1350-rtl.css → toggle-switch-1400-rtl.css} +0 -0
  43. css/dist/{toggle-switch-1350.css → toggle-switch-1400.css} +0 -0
  44. css/dist/{wpseo-dismissible-1350-rtl.css → wpseo-dismissible-1400-rtl.css} +0 -0
  45. css/dist/{wpseo-dismissible-1350.css → wpseo-dismissible-1400.css} +0 -0
  46. css/dist/{yoast-components-1350-rtl.css → yoast-components-1400-rtl.css} +0 -0
  47. css/dist/{yoast-components-1350.css → yoast-components-1400.css} +0 -0
  48. css/dist/{yoast-extensions-1350-rtl.css → yoast-extensions-1400-rtl.css} +0 -0
  49. css/dist/{yoast-extensions-1350.css → yoast-extensions-1400.css} +0 -0
  50. css/dist/{yst_plugin_tools-1350-rtl.css → yst_plugin_tools-1400-rtl.css} +0 -0
  51. css/dist/{yst_plugin_tools-1350.css → yst_plugin_tools-1400.css} +0 -0
  52. css/dist/{yst_seo_score-1350-rtl.css → yst_seo_score-1400-rtl.css} +0 -0
  53. css/dist/{yst_seo_score-1350.css → yst_seo_score-1400.css} +0 -0
  54. deprecated/frontend/class-handle-404.php +46 -0
  55. deprecated/frontend/class-opengraph-image.php +38 -0
  56. deprecated/frontend/class-opengraph-oembed.php +46 -0
  57. deprecated/frontend/class-opengraph.php +314 -0
  58. deprecated/frontend/class-primary-category.php +39 -0
  59. deprecated/frontend/class-twitter.php +64 -0
  60. deprecated/frontend/schema/class-schema-article.php +87 -0
  61. deprecated/frontend/schema/class-schema-author.php +137 -0
  62. deprecated/frontend/schema/class-schema-breadcrumb.php +65 -0
  63. deprecated/frontend/schema/class-schema-faq-question-list.php +43 -0
  64. deprecated/frontend/schema/class-schema-faq-questions.php +69 -0
  65. {frontend → deprecated/frontend}/schema/class-schema-faq.php +40 -37
  66. deprecated/frontend/schema/class-schema-howto.php +122 -0
  67. {frontend → deprecated/frontend}/schema/class-schema-ids.php +2 -0
  68. deprecated/frontend/schema/class-schema-image.php +88 -0
  69. deprecated/frontend/schema/class-schema-main-image.php +115 -0
  70. deprecated/frontend/schema/class-schema-organization.php +63 -0
  71. deprecated/frontend/schema/class-schema-person.php +151 -0
  72. {frontend → deprecated/frontend}/schema/class-schema-utils.php +18 -19
  73. deprecated/frontend/schema/class-schema-webpage.php +102 -0
  74. deprecated/frontend/schema/class-schema-website.php +67 -0
  75. deprecated/frontend/schema/class-schema.php +54 -0
  76. {frontend → deprecated/frontend}/schema/interface-wpseo-graph-piece.php +2 -0
  77. frontend/class-breadcrumbs.php +0 -1050
  78. frontend/class-frontend.php +0 -1960
  79. frontend/class-handle-404.php +0 -92
  80. frontend/class-opengraph-image.php +0 -674
  81. frontend/class-opengraph-oembed.php +0 -72
  82. frontend/class-opengraph.php +0 -771
  83. frontend/class-primary-category.php +0 -71
  84. frontend/class-remove-reply-to-com.php +0 -83
  85. frontend/class-twitter.php +0 -676
  86. frontend/class-woocommerce-shop-page.php +19 -29
  87. frontend/schema/class-schema-article.php +0 -216
  88. frontend/schema/class-schema-author.php +0 -145
  89. frontend/schema/class-schema-breadcrumb.php +0 -153
  90. frontend/schema/class-schema-context.php +0 -243
  91. frontend/schema/class-schema-faq-question-list.php +0 -115
  92. frontend/schema/class-schema-faq-questions.php +0 -112
  93. frontend/schema/class-schema-howto.php +0 -244
  94. frontend/schema/class-schema-image.php +0 -156
  95. frontend/schema/class-schema-main-image.php +0 -146
  96. frontend/schema/class-schema-organization.php +0 -114
  97. frontend/schema/class-schema-webpage.php +0 -202
  98. frontend/schema/class-schema-website.php +0 -120
  99. frontend/schema/class-schema.php +0 -198
  100. inc/class-wpseo-admin-bar-menu.php +7 -1
  101. inc/class-wpseo-custom-fields.php +2 -4
  102. inc/class-wpseo-replace-vars.php +45 -70
  103. inc/class-wpseo-utils.php +24 -28
  104. inc/options/class-wpseo-option-ms.php +11 -10
  105. inc/options/class-wpseo-option-titles.php +0 -5
  106. inc/options/class-wpseo-option-wpseo.php +12 -8
  107. inc/sitemaps/class-sitemaps-renderer.php +0 -27
  108. inc/wpseo-functions-deprecated.php +12 -0
  109. inc/wpseo-functions.php +6 -12
  110. js/dist/{analysis-1350.js → analysis-1400.js} +0 -0
  111. js/dist/{babel-polyfill-1350.js → babel-polyfill-1400.js} +0 -0
  112. js/dist/{commons-1350.js → commons-1400.js} +0 -0
  113. js/dist/{components-1350.js → components-1400.js} +4 -4
admin/class-admin-asset-manager.php CHANGED
@@ -267,12 +267,13 @@ class WPSEO_Admin_Asset_Manager {
267
  ],
268
  ],
269
  [
270
- 'name' => 'admin-global-script',
271
- 'src' => 'wp-seo-admin-global-' . $flat_version,
272
- 'deps' => [
273
  'jquery',
274
  self::PREFIX . 'commons',
275
  ],
 
276
  ],
277
  [
278
  'name' => 'metabox',
@@ -436,6 +437,17 @@ class WPSEO_Admin_Asset_Manager {
436
  self::PREFIX . 'commons',
437
  ],
438
  ],
 
 
 
 
 
 
 
 
 
 
 
439
  [
440
  'name' => 'edit-page-script',
441
  'src' => 'wp-seo-edit-page-' . $flat_version,
@@ -631,6 +643,14 @@ class WPSEO_Admin_Asset_Manager {
631
  'name' => 'search-appearance',
632
  'src' => 'search-appearance-' . $flat_version,
633
  ],
 
 
 
 
 
 
 
 
634
  [
635
  'name' => 'structured-data-blocks',
636
  'src' => 'structured-data-blocks-' . $flat_version,
267
  ],
268
  ],
269
  [
270
+ 'name' => 'admin-global-script',
271
+ 'src' => 'wp-seo-admin-global-' . $flat_version,
272
+ 'deps' => [
273
  'jquery',
274
  self::PREFIX . 'commons',
275
  ],
276
+ 'in_footer' => false,
277
  ],
278
  [
279
  'name' => 'metabox',
437
  self::PREFIX . 'commons',
438
  ],
439
  ],
440
+ [
441
+ 'name' => 'indexation',
442
+ 'src' => 'wp-seo-indexation-' . $flat_version,
443
+ 'deps' => [
444
+ 'jquery',
445
+ 'jquery-ui-core',
446
+ 'jquery-ui-progressbar',
447
+ self::PREFIX . 'admin-global-script',
448
+ self::PREFIX . 'commons',
449
+ ],
450
+ ],
451
  [
452
  'name' => 'edit-page-script',
453
  'src' => 'wp-seo-edit-page-' . $flat_version,
643
  'name' => 'search-appearance',
644
  'src' => 'search-appearance-' . $flat_version,
645
  ],
646
+
647
+ /*
648
+ * Temporarily commented out to prevent unwanted monorepo styles seeping through.
649
+ * [
650
+ * 'name' => 'monorepo',
651
+ * 'src' => 'monorepo-' . $flat_version,
652
+ * ],
653
+ */
654
  [
655
  'name' => 'structured-data-blocks',
656
  'src' => 'structured-data-blocks-' . $flat_version,
admin/class-admin-editor-specific-replace-vars.php CHANGED
@@ -25,11 +25,11 @@ class WPSEO_Admin_Editor_Specific_Replace_Vars {
25
  'custom-post-type_archive' => [ 'pt_single', 'pt_plural' ],
26
 
27
  // Taxonomies.
28
- 'category' => [ 'term_title', 'term_description', 'category_description', 'parent_title' ],
29
  'post_tag' => [ 'term_title', 'term_description', 'tag_description' ],
30
  'post_format' => [],
31
  // Custom taxonomy.
32
- 'term-in-custom-taxonomy' => [ 'term_title', 'term_description', 'category_description', 'parent_title' ],
33
 
34
  // Settings - special pages.
35
  'search' => [ 'searchphrase' ],
@@ -45,7 +45,7 @@ class WPSEO_Admin_Editor_Specific_Replace_Vars {
45
  );
46
 
47
  $this->add_for_page_types(
48
- [ 'post', 'term-in-custom-taxonomies' ],
49
  WPSEO_Custom_Taxonomies::get_custom_taxonomies()
50
  );
51
  }
25
  'custom-post-type_archive' => [ 'pt_single', 'pt_plural' ],
26
 
27
  // Taxonomies.
28
+ 'category' => [ 'term_title', 'term_description', 'category_description', 'parent_title', 'term_hierarchy' ],
29
  'post_tag' => [ 'term_title', 'term_description', 'tag_description' ],
30
  'post_format' => [],
31
  // Custom taxonomy.
32
+ 'term-in-custom-taxonomy' => [ 'term_title', 'term_description', 'category_description', 'parent_title', 'term_hierarchy' ],
33
 
34
  // Settings - special pages.
35
  'search' => [ 'searchphrase' ],
45
  );
46
 
47
  $this->add_for_page_types(
48
+ [ 'post', 'term-in-custom-taxonomy' ],
49
  WPSEO_Custom_Taxonomies::get_custom_taxonomies()
50
  );
51
  }
admin/class-admin-init.php CHANGED
@@ -440,6 +440,26 @@ class WPSEO_Admin_Init {
440
  'version' => '9.4',
441
  'alternative' => null,
442
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  ];
444
 
445
  // Determine which filters have been registered.
440
  'version' => '9.4',
441
  'alternative' => null,
442
  ],
443
+ 'wpseo_opengraph' => [
444
+ 'version' => '14.0',
445
+ 'alternative' => null,
446
+ ],
447
+ 'wpseo_twitter' => [
448
+ 'version' => '14.0',
449
+ 'alternative' => null,
450
+ ],
451
+ 'wpseo_twitter_taxonomy_image' => [
452
+ 'version' => '14.0',
453
+ 'alternative' => null,
454
+ ],
455
+ 'wpseo_twitter_metatag_key' => [
456
+ 'version' => '14.0',
457
+ 'alternative' => null,
458
+ ],
459
+ 'wp_seo_get_bc_ancestors' => [
460
+ 'version' => '14.0',
461
+ 'alternative' => 'wpseo_breadcrumb_links',
462
+ ],
463
  ];
464
 
465
  // Determine which filters have been registered.
admin/class-admin-recommended-replace-vars.php CHANGED
@@ -25,12 +25,12 @@ class WPSEO_Admin_Recommended_Replace_Vars {
25
  'custom_post_type' => [ 'sitename', 'title', 'sep' ],
26
 
27
  // Taxonomies.
28
- 'category' => [ 'sitename', 'term_title', 'sep' ],
29
  'post_tag' => [ 'sitename', 'term_title', 'sep' ],
30
  'post_format' => [ 'sitename', 'term_title', 'sep', 'page' ],
31
 
32
  // Custom taxonomy.
33
- 'term-in-custom-taxomomy' => [ 'sitename', 'term_title', 'sep' ],
34
 
35
  // Settings - archive pages.
36
  'author_archive' => [ 'sitename', 'title', 'sep', 'page' ],
25
  'custom_post_type' => [ 'sitename', 'title', 'sep' ],
26
 
27
  // Taxonomies.
28
+ 'category' => [ 'sitename', 'term_title', 'sep', 'term_hierarchy' ],
29
  'post_tag' => [ 'sitename', 'term_title', 'sep' ],
30
  'post_format' => [ 'sitename', 'term_title', 'sep', 'page' ],
31
 
32
  // Custom taxonomy.
33
+ 'term-in-custom-taxomomy' => [ 'sitename', 'term_title', 'sep', 'term_hierarchy' ],
34
 
35
  // Settings - archive pages.
36
  'author_archive' => [ 'sitename', 'title', 'sep', 'page' ],
admin/class-admin.php CHANGED
@@ -308,6 +308,7 @@ class WPSEO_Admin {
308
  */
309
  private function localize_admin_global_script() {
310
  return [
 
311
  'variable_warning' => sprintf(
312
  /* translators: %1$s: '%%term_title%%' variable used in titles and meta's template that's not compatible with the given template, %2$s: expands to 'HelpScout beacon' */
313
  __( 'Warning: the variable %1$s cannot be used in this template. See the %2$s for more info.', 'wordpress-seo' ),
308
  */
309
  private function localize_admin_global_script() {
310
  return [
311
+ 'isRtl' => is_rtl(),
312
  'variable_warning' => sprintf(
313
  /* translators: %1$s: '%%term_title%%' variable used in titles and meta's template that's not compatible with the given template, %2$s: expands to 'HelpScout beacon' */
314
  __( 'Warning: the variable %1$s cannot be used in this template. See the %2$s for more info.', 'wordpress-seo' ),
admin/class-gutenberg-compatibility.php CHANGED
@@ -15,14 +15,14 @@ class WPSEO_Gutenberg_Compatibility {
15
  *
16
  * @var string
17
  */
18
- const CURRENT_RELEASE = '7.8.1';
19
 
20
  /**
21
  * The minimally supported version of Gutenberg by the plugin.
22
  *
23
  * @var string
24
  */
25
- const MINIMUM_SUPPORTED = '7.8.1';
26
 
27
  /**
28
  * Holds the current version.
15
  *
16
  * @var string
17
  */
18
+ const CURRENT_RELEASE = '7.9.1';
19
 
20
  /**
21
  * The minimally supported version of Gutenberg by the plugin.
22
  *
23
  * @var string
24
  */
25
+ const MINIMUM_SUPPORTED = '7.9.1';
26
 
27
  /**
28
  * Holds the current version.
admin/metabox/class-metabox.php CHANGED
@@ -834,6 +834,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
834
  $asset_manager->enqueue_style( 'metabox-css' );
835
  $asset_manager->enqueue_style( 'scoring' );
836
  $asset_manager->enqueue_style( 'select2' );
 
837
 
838
  $asset_manager->enqueue_script( 'metabox' );
839
  $asset_manager->enqueue_script( 'admin-media' );
834
  $asset_manager->enqueue_style( 'metabox-css' );
835
  $asset_manager->enqueue_style( 'scoring' );
836
  $asset_manager->enqueue_style( 'select2' );
837
+ $asset_manager->enqueue_style( 'monorepo' );
838
 
839
  $asset_manager->enqueue_script( 'metabox' );
840
  $asset_manager->enqueue_script( 'admin-media' );
admin/taxonomy/class-taxonomy.php CHANGED
@@ -125,6 +125,7 @@ class WPSEO_Taxonomy {
125
 
126
  $asset_manager = new WPSEO_Admin_Asset_Manager();
127
  $asset_manager->enqueue_style( 'scoring' );
 
128
 
129
  $tag_id = filter_input( INPUT_GET, 'tag_ID' );
130
  if (
@@ -377,6 +378,7 @@ class WPSEO_Taxonomy {
377
  'page',
378
  'term_title',
379
  'term_description',
 
380
  'category_description',
381
  'tag_description',
382
  'searchphrase',
@@ -434,9 +436,8 @@ class WPSEO_Taxonomy {
434
  * @return string Content with shortcodes filtered out.
435
  */
436
  public function custom_category_descriptions_add_shortcode_support( $desc ) {
437
- _deprecated_function( __FUNCTION__, 'WPSEO 7.9.0', 'WPSEO_Frontend::custom_category_descriptions_add_shortcode_support' );
438
 
439
- $frontend = WPSEO_Frontend::get_instance();
440
- return $frontend->custom_category_descriptions_add_shortcode_support( $desc );
441
  }
442
  }
125
 
126
  $asset_manager = new WPSEO_Admin_Asset_Manager();
127
  $asset_manager->enqueue_style( 'scoring' );
128
+ $asset_manager->enqueue_style( 'monorepo' );
129
 
130
  $tag_id = filter_input( INPUT_GET, 'tag_ID' );
131
  if (
378
  'page',
379
  'term_title',
380
  'term_description',
381
+ 'term_hierarchy',
382
  'category_description',
383
  'tag_description',
384
  'searchphrase',
436
  * @return string Content with shortcodes filtered out.
437
  */
438
  public function custom_category_descriptions_add_shortcode_support( $desc ) {
439
+ _deprecated_function( __FUNCTION__, 'WPSEO 7.9.0' );
440
 
441
+ return '';
 
442
  }
443
  }
admin/tracking/class-tracking-settings-data.php CHANGED
@@ -80,7 +80,6 @@ class WPSEO_Tracking_Settings_Data implements WPSEO_Collection {
80
  'company_name',
81
  'company_or_person',
82
  'person_name',
83
- 'title_test',
84
  'forcerewritetitle',
85
  'separator',
86
  'title-home-wpseo',
80
  'company_name',
81
  'company_or_person',
82
  'person_name',
 
83
  'forcerewritetitle',
84
  'separator',
85
  'title-home-wpseo',
admin/tracking/class-tracking.php CHANGED
@@ -105,9 +105,16 @@ class WPSEO_Tracking implements WPSEO_WordPress_Integration {
105
  return;
106
  }
107
 
 
 
 
 
 
 
 
108
  $collector = $this->get_collector();
109
 
110
- $request = new WPSEO_Remote_Request( $this->endpoint );
111
  $request->set_body( $collector->get_as_json() );
112
  $request->send();
113
 
105
  return;
106
  }
107
 
108
+ // Set a 'content-type' header of 'application/json'.
109
+ $tracking_request_args = [
110
+ 'headers' => [
111
+ 'content-type:' => 'application/json',
112
+ ],
113
+ ];
114
+
115
  $collector = $this->get_collector();
116
 
117
+ $request = new WPSEO_Remote_Request( $this->endpoint, $tracking_request_args );
118
  $request->set_body( $collector->get_as_json() );
119
  $request->send();
120
 
admin/views/class-yoast-feature-toggles.php CHANGED
@@ -143,6 +143,16 @@ class Yoast_Feature_Toggles {
143
  ),
144
  'order' => 90,
145
  ],
 
 
 
 
 
 
 
 
 
 
146
  ];
147
 
148
  /**
143
  ),
144
  'order' => 90,
145
  ],
146
+ (object) [
147
+ 'name' => __( 'REST API: Head endpoint', 'wordpress-seo' ),
148
+ 'setting' => 'enable_headless_rest_endpoints',
149
+ 'label' => sprintf(
150
+ /* translators: 1: Yoast SEO */
151
+ __( 'This %1$s REST API endpoint gives you all the metadata you need for a specific URL. This will make it very easy for headless WordPress sites to use %1$s for all their SEO meta output.', 'wordpress-seo' ),
152
+ 'Yoast SEO'
153
+ ),
154
+ 'order' => 100,
155
+ ],
156
  ];
157
 
158
  /**
config/dependency-injection/container-compiler.php CHANGED
@@ -30,6 +30,10 @@ class Container_Compiler {
30
  $cache = new ConfigCache( $file, $debug );
31
 
32
  if ( ! $cache->isFresh() ) {
 
 
 
 
33
  $container_builder = new ContainerBuilder();
34
  $container_builder->addCompilerPass( new Loader_Pass() );
35
  $loader = new Custom_Loader( $container_builder );
30
  $cache = new ConfigCache( $file, $debug );
31
 
32
  if ( ! $cache->isFresh() ) {
33
+ if ( ! defined( 'WPSEO_VERSION' ) ) {
34
+ define( 'WPSEO_VERSION', 'COMPILING' );
35
+ }
36
+
37
  $container_builder = new ContainerBuilder();
38
  $container_builder->addCompilerPass( new Loader_Pass() );
39
  $loader = new Custom_Loader( $container_builder );
config/dependency-injection/custom-loader.php CHANGED
@@ -105,31 +105,6 @@ class Custom_Loader extends PhpFileLoader {
105
  }
106
  }
107
 
108
- /**
109
- * Registers a definition in the container with its instanceof-conditionals.
110
- *
111
- * @param string $id The ID of the definition.
112
- * @param \Symfony\Component\DependencyInjection\Definition $definition The definition.
113
- *
114
- * @throws InvalidArgumentException If invalid arguments were supplied.
115
- *
116
- * @return void
117
- */
118
- protected function setDefinition( $id, Definition $definition ) {
119
- $this->container->removeBindings( $id );
120
-
121
- // @codingStandardsIgnoreLine WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar This is from an inherited class not abiding by that standard.
122
- if ( $this->isLoadingInstanceof ) {
123
- if ( ! $definition instanceof ChildDefinition ) {
124
- throw new InvalidArgumentException( \sprintf( 'Invalid type definition "%s": ChildDefinition expected, "%s" given.', $id, \get_class( $definition ) ) );
125
- }
126
- $this->instanceof[ $id ] = $definition;
127
- }
128
- else {
129
- $this->container->setDefinition( $id, ( $definition instanceof ChildDefinition ) ? $definition : $definition->setInstanceofConditionals( $this->instanceof ) );
130
- }
131
- }
132
-
133
  /**
134
  * Finds classes based on a given pattern and exclude pattern.
135
  *
105
  }
106
  }
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  /**
109
  * Finds classes based on a given pattern and exclude pattern.
110
  *
config/dependency-injection/loader-pass.php CHANGED
@@ -10,11 +10,11 @@ namespace Yoast\WP\SEO\Dependency_Injection;
10
  use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
12
  use Symfony\Component\DependencyInjection\Definition;
13
- use Symfony\Component\DependencyInjection\Reference;
14
- use Yoast\WP\SEO\Conditionals\Conditional;
 
15
  use Yoast\WP\SEO\Loader;
16
- use Yoast\WP\SEO\WordPress\Initializer;
17
- use Yoast\WP\SEO\WordPress\Integration;
18
 
19
  /**
20
  * A pass is a step in the compilation process of the container.
@@ -36,9 +36,6 @@ class Loader_Pass implements CompilerPassInterface {
36
  }
37
 
38
  $loader_definition = $container->getDefinition( Loader::class );
39
- $loader_definition->setArgument( 0, new Reference( 'service_container' ) );
40
- $loader_definition->setPublic( true );
41
-
42
  $definitions = $container->getDefinitions();
43
 
44
  foreach ( $definitions as $definition ) {
@@ -55,18 +52,20 @@ class Loader_Pass implements CompilerPassInterface {
55
  private function process_definition( Definition $definition, Definition $loader_definition ) {
56
  $class = $definition->getClass();
57
 
58
- if ( \is_subclass_of( $class, Initializer::class ) ) {
59
  $loader_definition->addMethodCall( 'register_initializer', [ $class ] );
60
- $definition->setPublic( true );
61
  }
62
 
63
- if ( \is_subclass_of( $class, Integration::class ) ) {
64
  $loader_definition->addMethodCall( 'register_integration', [ $class ] );
65
- $definition->setPublic( true );
66
  }
67
 
68
- if ( \is_subclass_of( $class, Conditional::class ) ) {
69
- $definition->setPublic( true );
 
 
 
 
70
  }
71
  }
72
  }
10
  use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
11
  use Symfony\Component\DependencyInjection\ContainerBuilder;
12
  use Symfony\Component\DependencyInjection\Definition;
13
+ use Yoast\WP\SEO\Commands\Command_Interface;
14
+ use Yoast\WP\SEO\Initializers\Initializer_Interface;
15
+ use Yoast\WP\SEO\Integrations\Integration_Interface;
16
  use Yoast\WP\SEO\Loader;
17
+ use Yoast\WP\SEO\Routes\Route_Interface;
 
18
 
19
  /**
20
  * A pass is a step in the compilation process of the container.
36
  }
37
 
38
  $loader_definition = $container->getDefinition( Loader::class );
 
 
 
39
  $definitions = $container->getDefinitions();
40
 
41
  foreach ( $definitions as $definition ) {
52
  private function process_definition( Definition $definition, Definition $loader_definition ) {
53
  $class = $definition->getClass();
54
 
55
+ if ( \is_subclass_of( $class, Initializer_Interface::class ) ) {
56
  $loader_definition->addMethodCall( 'register_initializer', [ $class ] );
 
57
  }
58
 
59
+ if ( \is_subclass_of( $class, Integration_Interface::class ) ) {
60
  $loader_definition->addMethodCall( 'register_integration', [ $class ] );
 
61
  }
62
 
63
+ if ( \is_subclass_of( $class, Route_Interface::class ) ) {
64
+ $loader_definition->addMethodCall( 'register_route', [ $class ] );
65
+ }
66
+
67
+ if ( \is_subclass_of( $class, Command_Interface::class ) ) {
68
+ $loader_definition->addMethodCall( 'register_command', [ $class ] );
69
  }
70
  }
71
  }
config/dependency-injection/services.php CHANGED
@@ -8,23 +8,28 @@
8
  namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Definition;
11
- use Yoast\WP\SEO\Repositories\Indexable_Repository;
12
- use Yoast\WP\SEO\Repositories\Primary_Term_Repository;
13
- use Yoast\WP\SEO\Repositories\SEO_Links_Repository;
14
- use Yoast\WP\SEO\Repositories\SEO_Meta_Repository;
15
  use Yoast\WP\SEO\WordPress\Wrapper;
 
16
 
17
  /* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
18
 
19
  // WordPress factory functions.
20
  $container->register( 'wpdb', 'wpdb' )->setFactory( [ Wrapper::class, 'get_wpdb' ] );
21
- $container->register( 'wp_query', 'WP_Query' )->setFactory( [ Wrapper::class, 'get_wp_query' ] );
22
 
23
- // Model repository factory functions.
24
- $container->register( Indexable_Repository::class, Indexable_Repository::class )->setFactory( [ Indexable_Repository::class, 'get_instance' ] )->setAutowired( true );
25
- $container->register( Primary_Term_Repository::class, Primary_Term_Repository::class )->setFactory( [ Primary_Term_Repository::class, 'get_instance' ] )->setAutowired( true );
26
- $container->register( SEO_Meta_Repository::class, SEO_Meta_Repository::class )->setFactory( [ SEO_Meta_Repository::class, 'get_instance' ] )->setAutowired( true );
27
- $container->register( SEO_Links_Repository::class, SEO_Links_Repository::class )->setFactory( [ SEO_Links_Repository::class, 'get_instance' ] )->setAutowired( true );
 
 
 
 
 
28
 
29
  $excluded_files = [
30
  'main.php',
@@ -36,6 +41,9 @@ $excluded_directories = [
36
  'wordpress',
37
  'generated',
38
  'orm',
 
 
 
39
  ];
40
 
41
  $excluded = \implode( ',', \array_merge( $excluded_directories, $excluded_files ) );
@@ -45,7 +53,7 @@ $base_definition = new Definition();
45
  $base_definition
46
  ->setAutowired( true )
47
  ->setAutoconfigured( true )
48
- ->setPublic( false );
49
 
50
  /* @var $loader \Yoast\WP\SEO\Dependency_Injection\Custom_Loader */
51
  $loader->registerClasses( $base_definition, 'Yoast\\WP\\SEO\\', 'src/*', 'src/{' . $excluded . '}' );
8
  namespace Yoast\WP\SEO\Dependency_Injection;
9
 
10
  use Symfony\Component\DependencyInjection\Definition;
11
+ use WPSEO_Admin_Asset_Manager;
12
+ use WPSEO_Breadcrumbs;
13
+ use WPSEO_Frontend;
14
+ use WPSEO_Replace_Vars;
15
  use Yoast\WP\SEO\WordPress\Wrapper;
16
+ use YoastSEO_Vendor\Symfony\Component\DependencyInjection\ContainerInterface;
17
 
18
  /* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
19
 
20
  // WordPress factory functions.
21
  $container->register( 'wpdb', 'wpdb' )->setFactory( [ Wrapper::class, 'get_wpdb' ] );
 
22
 
23
+ // Legacy classes.
24
+ $container->register( WPSEO_Replace_Vars::class, WPSEO_Replace_Vars::class )->setFactory( [ Wrapper::class, 'get_replace_vars' ] )->setPublic( true );
25
+ $container->register( WPSEO_Admin_Asset_Manager::class, WPSEO_Admin_Asset_Manager::class )->setFactory( [ Wrapper::class, 'get_admin_asset_manager' ] )->setPublic( true );
26
+
27
+ // Backwards-compatibility classes in the global namespace.
28
+ $container->register( WPSEO_Breadcrumbs::class, WPSEO_Breadcrumbs::class )->setAutowired( true )->setPublic( true );
29
+ $container->register( WPSEO_Frontend::class, WPSEO_Frontend::class )->setAutowired( true )->setPublic( true );
30
+
31
+ // The container itself.
32
+ $container->setAlias( ContainerInterface::class, 'service_container' );
33
 
34
  $excluded_files = [
35
  'main.php',
41
  'wordpress',
42
  'generated',
43
  'orm',
44
+ 'backwards-compatibility',
45
+ 'surfaces/values',
46
+ 'presenters',
47
  ];
48
 
49
  $excluded = \implode( ',', \array_merge( $excluded_directories, $excluded_files ) );
53
  $base_definition
54
  ->setAutowired( true )
55
  ->setAutoconfigured( true )
56
+ ->setPublic( true );
57
 
58
  /* @var $loader \Yoast\WP\SEO\Dependency_Injection\Custom_Loader */
59
  $loader->registerClasses( $base_definition, 'Yoast\\WP\\SEO\\', 'src/*', 'src/{' . $excluded . '}' );
css/dist/{admin-global-1350-rtl.css → admin-global-1400-rtl.css} RENAMED
File without changes
css/dist/{admin-global-1350.css → admin-global-1400.css} RENAMED
File without changes
css/dist/{adminbar-1350-rtl.css → adminbar-1400-rtl.css} RENAMED
File without changes
css/dist/{adminbar-1350.css → adminbar-1400.css} RENAMED
File without changes
css/dist/{alerts-1350-rtl.css → alerts-1400-rtl.css} RENAMED
File without changes
css/dist/{alerts-1350.css → alerts-1400.css} RENAMED
File without changes
css/dist/{dashboard-1350-rtl.css → dashboard-1400-rtl.css} RENAMED
File without changes
css/dist/{dashboard-1350.css → dashboard-1400.css} RENAMED
File without changes
css/dist/{edit-page-1350-rtl.css → edit-page-1400-rtl.css} RENAMED
File without changes
css/dist/{edit-page-1350.css → edit-page-1400.css} RENAMED
File without changes
css/dist/{featured-image-1350-rtl.css → featured-image-1400-rtl.css} RENAMED
File without changes
css/dist/{featured-image-1350.css → featured-image-1400.css} RENAMED
File without changes
css/dist/{filter-explanation-1350-rtl.css → filter-explanation-1400-rtl.css} RENAMED
File without changes
css/dist/{filter-explanation-1350.css → filter-explanation-1400.css} RENAMED
File without changes
css/dist/{inside-editor-1350-rtl.css → inside-editor-1400-rtl.css} RENAMED
File without changes
css/dist/{inside-editor-1350.css → inside-editor-1400.css} RENAMED
File without changes
css/dist/{metabox-1350-rtl.css → metabox-1400-rtl.css} RENAMED
File without changes
css/dist/{metabox-1350.css → metabox-1400.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1350-rtl.css → metabox-primary-category-1400-rtl.css} RENAMED
File without changes
css/dist/{metabox-primary-category-1350.css → metabox-primary-category-1400.css} RENAMED
File without changes
css/dist/monorepo-1400-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .yoast .yoast-button{display:inline-block;position:relative;padding:10px 16px 12px;text-decoration:none;border-radius:4px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 -2px 0 rgba(0,0,0,.3);transition:background-color .15s ease-out 0s;line-height:1.2;font-size:14px;cursor:pointer}.yoast .yoast-button:active{box-shadow:none;padding-bottom:12px;top:2px}.yoast .yoast-button--primary{color:var(--color-white);background-color:var(--color-primary);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:visited{color:var(--color-white);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:active,.yoast .yoast-button--primary:hover{color:var(--color-white);background-color:var(--color-primary-darker);border:1px solid rgba(0,0,0,.2)}.yoast-close{display:flex;justify-content:center;align-items:center;border:none;background:none;height:44px;width:44px;cursor:pointer;box-shadow:none;padding:0}.yoast-close svg{fill:var(--color-default);width:14px}@media screen and (max-width:782px){.yoast-close svg{width:10px}}.yoast-data-model{padding:0;list-style:none;width:275px}.yoast-data-model li{line-height:1.4;padding:0 8px;position:relative;z-index:2;font-weight:var(--font-weight-bold)}.yoast-data-model span{float:left;font-weight:var(--font-weight-default)}.yoast-data-model li+li{margin-top:9px}.yoast-data-model li:after{position:absolute;right:0;height:20px;background:#f5d6e6;content:"";width:var(--width);z-index:-1}.yoast-field-group,.yoast fieldset{position:relative;border:none;padding:0;margin:0 0 24px}.yoast-field-group__title{display:flex;align-items:center;font-weight:var(--font-weight-bold);margin:0 0 8px;color:var(--color-label);line-height:1.2;float:right;padding:0}.yoast-field-group__help{border-radius:50%;padding:4px;width:12px;height:12px;display:block;float:right;margin-top:-5px}.yoast-field-group__help+*{clear:both}.yoast-field-group__help-icon svg{width:12px;height:12px;fill:var(--color-label-help);transition:var(--transition-default)}.yoast-field-group__help:hover svg{fill:var(--color-link)}.yoast-field-group .description{margin:0}:root{--color-placeholder:#707070}.yoast-field-group__inputfield,.yoast-field-group__textarea,.yoast input,.yoast textarea{width:100%;font-size:var(--font-size-default);padding:8px;background:#fff;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);box-sizing:border-box}.yoast-field-group__inputfield,.yoast input{height:40px}.yoast-field-group__textarea,.yoast textarea{min-height:200px}.yoast-field-group .description+.yoast-field-group__inputfield,.yoast-field-group .description+input,.yoast-field-group__inputfield+.description,.yoast input+.description{margin-top:8px;margin-bottom:24px}::-ms-input-placeholder,::-webkit-input-placeholder,::placeholder{color:var(--color-placeholder)}.yoast-field-group__radiobutton{display:flex;align-items:center}.yoast-field-group__radiobutton--vertical:not(:last-of-type){margin-bottom:8px}.yoast-field-group__radiobutton label{cursor:pointer;margin-left:16px}.yoast-field-group__radiobutton input[type=radio],.yoast input[type=radio]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:0 0 0 8px;border-radius:50%;transition:all .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden;cursor:pointer}.yoast-field-group__radiobutton input[type=radio]:checked,.yoast input[type=radio]:checked{border-color:var(--color-primary)}.yoast-field-group__radiobutton input[type=radio]:checked:after,.yoast input[type=radio]:checked:after{width:10px;height:10px;background:var(--color-primary);position:absolute;right:3px;top:3px;content:"";display:block;border-radius:50%}.yoast-field-group__select{display:flex;cursor:pointer;align-items:center}.select2-container--default,.yoast-field-group__select select,.yoast select{-webkit-appearance:none;-moz-appearance:none;width:100%;font-size:var(--font-size-default);padding:10px 8px 11px;background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path d="M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z"/></svg>');background-position:left 15px center;background-repeat:no-repeat;background-size:10px auto;border-radius:0;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;max-width:300px;display:block}.select2-container--default{background-image:none;padding:8px 8px 3px}.select2-container--default.select2-container--focus .select2-selection--multiple{outline:inherit;border:0}.select2-container--default .yoast-multiselect{border:0;min-height:0}.select2-container--default .yoast-multiselect ul{display:flex;margin:0;padding:0;list-style:none}.select2-container--default .yoast-multiselect .select2-selection__choice{background-color:var(--color-primary);border:0;border-radius:12px;color:var(--color-white);padding-top:0;padding-right:10px;padding-left:10px;margin-top:0;margin-left:8px;line-height:1.7;font-weight:500}.select2-container--default .yoast-multiselect .select2-selection__choice__remove{margin-left:8px;color:var(--color-white)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--color-white)}.select2-dropdown{border-color:var(--color-border--default);border-radius:0}.select2-container--open .select2-dropdown{top:-2px;right:-1px}.select2-results__option{padding:8px;border-top:var(--border-default)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--color-primary-lighter);color:var(--color-font-default)}.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--color-primary);color:var(--color-white)}.yoast-field-group__toggle{display:flex;align-items:center;width:600px;justify-content:space-between}.yoast-field-group__toggle input{position:absolute;right:0;opacity:0}.yoast-field-group__toggle label{position:relative;z-index:2;cursor:pointer}.yoast-field-group__toggle input:checked+label{color:var(--color-toggle-on)}.yoast-field-group__toggle input:not(:checked)+label{color:var(--color-toggle-off)}.yoast-field-group__toggle a{display:inline-block;width:34px;height:14px;border-radius:5px;background:#b6cf94;position:relative;margin:0 9px}.yoast-field-group__toggle input:first-of-type:checked~a{background:#9e9e9e}.yoast-field-group__toggle a:after{content:"";display:block;height:20px;width:20px;position:absolute;left:-2px;background:#6ea029;border-radius:50%;top:-3px;transition:all .1s ease-out}.yoast-field-group__toggle input:first-of-type:checked~a:after{left:calc(100% - 18px);background:#f1f1f1;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.2),0 2px 1px -1px rgba(0,0,0,.12)}.yoast-field-group__checkbox{display:flex;cursor:pointer;align-items:center}.yoast-field-group__checkbox:not(.yoast-field-group__checkbox--horizontal)+.yoast-field-group__checkbox{margin-top:4px}.yoast-field-group__checkbox input[type=checkbox],.yoast input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:2px 0 0 8px;border-radius:2px;transition:background-color .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden}.yoast label+input[type=checkbox]{margin-right:16px}.yoast-field-group__checkbox input[type=checkbox]:checked,.yoast input[type=checkbox]:checked{background:var(--checkmark--white) var(--color-primary) no-repeat 50%/13px;border:1px solid var(--color-primary);box-shadow:none}.yoast-modal__screen-overlay{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(164,40,106,.6);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.yoast-modal{background:#fff;display:flex;flex-direction:column;overflow:hidden;position:fixed;height:calc(100% - 96px);top:48px;bottom:48px;right:calc(50% - 440px);max-width:880px;width:100%}.yoast-tabs .yoast-modal__content{display:grid;grid-template-areas:"heading heading" "menu content" "menu footer";grid-template-rows:72px 1fr 89px;grid-template-columns:280px 1fr}.yoast-modal__heading{padding:13px 24px 14px;display:flex;align-items:center;border-bottom:var(--border-default);grid-area:heading;background:var(--color-white);height:72px}.yoast-modal__heading .yoast-close{position:absolute;left:16px}.yoast-modal__heading h1{font-size:20px}.yoast-modal__heading-icon{fill:var(--color-primary);margin-left:16px;width:19px;height:20px;flex-shrink:0}.yoast-modal__menu{grid-area:menu;border-left:var(--border-default);overflow-y:auto}.yoast-modal__menu ul{padding:0;margin:0;list-style:none}.yoast-modal__menu li{padding:12px 16px 11px;border-bottom:var(--border-default);font-size:16px;cursor:pointer;text-decoration:none;color:var(--color-default);display:block}.yoast-modal__menu li:hover{background-color:#edd4e1}.yoast-modal__menu li.yoast-tabs__tab--selected{background-color:var(--color-primary);border-bottom:var(--border-default);color:#fff}.yoast-modal__content,.yoast-modal__section{grid-area:content;overflow-y:auto;flex-grow:1;position:relative;display:flex;flex-direction:column}.yoast-modal__section *{max-width:600px}.yoast-modal__section-header{position:-webkit-sticky;position:sticky;top:0;background:var(--color-white);padding:24px 24px 0;z-index:10}.yoast-modal__section .yoast-h2{border-bottom:var(--border-default);padding-bottom:24px}.yoast-modal__footer{grid-area:footer;padding:24px 0;border-top:var(--border-default);display:flex;align-self:flex-end;align-items:center;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:0;background:var(--color-white);margin:0 24px;z-index:10;height:89px;width:calc(100% - 48px)}.yoast-modal__settings-saved{position:relative;margin-left:16px;display:inline-flex;align-items:center}.yoast-modal__settings-saved:before{content:"";background:var(--checkmark--green) no-repeat 50%;height:13px;width:14px;display:inline-block;margin-left:8px}.yoast-modal__footer .yoast-button{display:block}.yoast-modal__section-content{padding:24px;flex-grow:1}@media screen and (max-width:880px){.yoast-modal{position:fixed;top:0;bottom:0;right:0;left:0}}@media screen and (max-width:782px){.yoast-modal{overflow-y:initial;height:auto;padding-bottom:72px}.yoast-modal__heading{padding:14px 16px 15px;position:fixed;top:0;width:100%;z-index:11;height:auto}.yoast-close svg{width:10px}.yoast-modal__heading-icon{height:15px;margin-left:8px}.yoast .yoast-close{left:3px}.yoast-modal__heading .yoast-h2{font-size:var(--font-size-default)}.yoast-modal__section{overflow:initial;flex-grow:0}.yoast-modal__section-content{padding:24px 0;margin:0 16px}.yoast-modal__section:first-of-type{margin-top:46px}.yoast-modal__section:last-of-type{margin-bottom:72px}.yoast-modal__section-header{top:46px;position:-webkit-sticky;position:sticky;padding:0;margin:0}.yoast-modal__section-open .yoast-modal__section-header{padding-right:0;padding-left:0;margin-right:16px;margin-left:16px}.yoast-modal__section-open{border-bottom:var(--border-default)}.yoast-modal__footer{margin:0;width:100%;position:fixed;z-index:11;height:72px;padding:24px 16px}.yoast-modal-collapsible .yoast-modal__section-content{padding:24px 16px;border-bottom:var(--border-default);margin:0}.yoast-collapsible__hidden{display:none}.yoast-collapsible__trigger{padding:16px;border:none;border-bottom:var(--border-default);cursor:pointer;justify-content:space-between;font-size:var(--font-size-default);width:100%;text-align:right;background:#fff;color:var(--color-primary)}.yoast-collapsible__trigger[aria-expanded=true] .yoast-collapsible__icon{transform:rotate(-180deg)}.yoast-collapsible__trigger[aria-expanded=true]{padding:16px 0;width:calc(100% - 32px);margin:0 16px}.yoast-collapsible__icon{background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23404040'%3E%3Cpath d='M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px auto;width:19px;height:19px;border:none;display:block;float:left}.yoast-collapsible-block{width:100%;margin-top:46px}.yoast-collapsible-block+.yoast-collapsible-block{margin-top:0}}:root{--border-default:1px solid rgba(0,0,0,0.2);--color-default:#404040;--color-primary:#a4286a;--color-secondary:#f7f7f7;--color-white:#fff;--color-green:#6ea029;--color-primary-darker:#7b1e50;--color-primary-lighter:#f5d6e6;--color-secondary-darker:#d9d9d9;--color-button-upsell:#fec228;--color-button-upsell-hover:#f2ae01;--color-dark:#303030;--color-sale:#fec228;--color-label:#303030;--color-label-help:#707070;--color-toggle-on:#303030;--color-toggle-off:#707070;--transition-default:all 150ms ease-out;--color-link:#006dac;--color-border--default:rgba(0,0,0,0.2);--checkmark--white:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--svg-icon-caret-right:url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"/></svg>');--checkmark--green:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236EA029' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--exclamation-mark:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23DC3232' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E")}[class*=yoast-]{box-sizing:border-box}[class*=yoast-]:focus{box-shadow:0 0 0 2px #007fff,0 0 0 5px #bfdfff;border-radius:0;outline:none}:root{--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--font-size-default:14px;--font-weight-default:400;--font-weight-bold:600;--color-font-default:#404040}.yoast-h1,.yoast-h2,.yoast-h3,.yoast h1,.yoast h2,.yoast h3{font-weight:400;color:var(--color-primary);line-height:1.2;margin:0}.yoast-h1 a,.yoast-h2 a,.yoast-h3 a{color:var(--color-primary);text-decoration:none}.yoast-h1,.yoast h1{font-size:24px}.yoast-h2,.yoast h2{font-size:20px}.yoast-h3,.yoast h4{font-size:16px}.yoast-paragraph,.yoast p{font-size:var(--font-size-default);margin-top:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}@media (max-width:782px){.yoast-show-on-mobile{display:initial!important}}@media (min-width:782px){.yoast-hide-on-desktop{display:none}}
css/dist/monorepo-1400.css ADDED
@@ -0,0 +1 @@
 
1
+ .yoast .yoast-button{display:inline-block;position:relative;padding:10px 16px 12px;text-decoration:none;border-radius:4px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 -2px 0 rgba(0,0,0,.3);transition:background-color .15s ease-out 0s;line-height:1.2;font-size:14px;cursor:pointer}.yoast .yoast-button:active{box-shadow:none;padding-bottom:12px;top:2px}.yoast .yoast-button--primary{color:var(--color-white);background-color:var(--color-primary);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:visited{color:var(--color-white);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:active,.yoast .yoast-button--primary:hover{color:var(--color-white);background-color:var(--color-primary-darker);border:1px solid rgba(0,0,0,.2)}.yoast-close{display:flex;justify-content:center;align-items:center;border:none;background:none;height:44px;width:44px;cursor:pointer;box-shadow:none;padding:0}.yoast-close svg{fill:var(--color-default);width:14px}@media screen and (max-width:782px){.yoast-close svg{width:10px}}.yoast-data-model{padding:0;list-style:none;width:275px}.yoast-data-model li{line-height:1.4;padding:0 8px;position:relative;z-index:2;font-weight:var(--font-weight-bold)}.yoast-data-model span{float:right;font-weight:var(--font-weight-default)}.yoast-data-model li+li{margin-top:9px}.yoast-data-model li:after{position:absolute;left:0;height:20px;background:#f5d6e6;content:"";width:var(--width);z-index:-1}.yoast-field-group,.yoast fieldset{position:relative;border:none;padding:0;margin:0 0 24px}.yoast-field-group__title{display:flex;align-items:center;font-weight:var(--font-weight-bold);margin:0 0 8px;color:var(--color-label);line-height:1.2;float:left;padding:0}.yoast-field-group__help{border-radius:50%;padding:4px;width:12px;height:12px;display:block;float:left;margin-top:-5px}.yoast-field-group__help+*{clear:both}.yoast-field-group__help-icon svg{width:12px;height:12px;fill:var(--color-label-help);transition:var(--transition-default)}.yoast-field-group__help:hover svg{fill:var(--color-link)}.yoast-field-group .description{margin:0}:root{--color-placeholder:#707070}.yoast-field-group__inputfield,.yoast-field-group__textarea,.yoast input,.yoast textarea{width:100%;font-size:var(--font-size-default);padding:8px;background:#fff;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);box-sizing:border-box}.yoast-field-group__inputfield,.yoast input{height:40px}.yoast-field-group__textarea,.yoast textarea{min-height:200px}.yoast-field-group .description+.yoast-field-group__inputfield,.yoast-field-group .description+input,.yoast-field-group__inputfield+.description,.yoast input+.description{margin-top:8px;margin-bottom:24px}::-ms-input-placeholder,::-webkit-input-placeholder,::placeholder{color:var(--color-placeholder)}.yoast-field-group__radiobutton{display:flex;align-items:center}.yoast-field-group__radiobutton--vertical:not(:last-of-type){margin-bottom:8px}.yoast-field-group__radiobutton label{cursor:pointer;margin-right:16px}.yoast-field-group__radiobutton input[type=radio],.yoast input[type=radio]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:0 8px 0 0;border-radius:50%;transition:all .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden;cursor:pointer}.yoast-field-group__radiobutton input[type=radio]:checked,.yoast input[type=radio]:checked{border-color:var(--color-primary)}.yoast-field-group__radiobutton input[type=radio]:checked:after,.yoast input[type=radio]:checked:after{width:10px;height:10px;background:var(--color-primary);position:absolute;left:3px;top:3px;content:"";display:block;border-radius:50%}.yoast-field-group__select{display:flex;cursor:pointer;align-items:center}.select2-container--default,.yoast-field-group__select select,.yoast select{-webkit-appearance:none;-moz-appearance:none;width:100%;font-size:var(--font-size-default);padding:10px 8px 11px;background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path d="M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z"/></svg>');background-position:right 15px center;background-repeat:no-repeat;background-size:10px auto;border-radius:0;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;max-width:300px;display:block}.select2-container--default{background-image:none;padding:8px 8px 3px}.select2-container--default.select2-container--focus .select2-selection--multiple{outline:inherit;border:0}.select2-container--default .yoast-multiselect{border:0;min-height:0}.select2-container--default .yoast-multiselect ul{display:flex;margin:0;padding:0;list-style:none}.select2-container--default .yoast-multiselect .select2-selection__choice{background-color:var(--color-primary);border:0;border-radius:12px;color:var(--color-white);padding-top:0;padding-left:10px;padding-right:10px;margin-top:0;margin-right:8px;line-height:1.7;font-weight:500}.select2-container--default .yoast-multiselect .select2-selection__choice__remove{margin-right:8px;color:var(--color-white)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--color-white)}.select2-dropdown{border-color:var(--color-border--default);border-radius:0}.select2-container--open .select2-dropdown{top:-2px;left:-1px}.select2-results__option{padding:8px;border-top:var(--border-default)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--color-primary-lighter);color:var(--color-font-default)}.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--color-primary);color:var(--color-white)}.yoast-field-group__toggle{display:flex;align-items:center;width:600px;justify-content:space-between}.yoast-field-group__toggle input{position:absolute;left:0;opacity:0}.yoast-field-group__toggle label{position:relative;z-index:2;cursor:pointer}.yoast-field-group__toggle input:checked+label{color:var(--color-toggle-on)}.yoast-field-group__toggle input:not(:checked)+label{color:var(--color-toggle-off)}.yoast-field-group__toggle a{display:inline-block;width:34px;height:14px;border-radius:5px;background:#b6cf94;position:relative;margin:0 9px}.yoast-field-group__toggle input:first-of-type:checked~a{background:#9e9e9e}.yoast-field-group__toggle a:after{content:"";display:block;height:20px;width:20px;position:absolute;right:-2px;background:#6ea029;border-radius:50%;top:-3px;transition:all .1s ease-out}.yoast-field-group__toggle input:first-of-type:checked~a:after{right:calc(100% - 18px);background:#f1f1f1;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.2),0 2px 1px -1px rgba(0,0,0,.12)}.yoast-field-group__checkbox{display:flex;cursor:pointer;align-items:center}.yoast-field-group__checkbox:not(.yoast-field-group__checkbox--horizontal)+.yoast-field-group__checkbox{margin-top:4px}.yoast-field-group__checkbox input[type=checkbox],.yoast input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:2px 8px 0 0;border-radius:2px;transition:background-color .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden}.yoast label+input[type=checkbox]{margin-left:16px}.yoast-field-group__checkbox input[type=checkbox]:checked,.yoast input[type=checkbox]:checked{background:var(--checkmark--white) var(--color-primary) no-repeat 50%/13px;border:1px solid var(--color-primary);box-shadow:none}.yoast-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(164,40,106,.6);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.yoast-modal{background:#fff;display:flex;flex-direction:column;overflow:hidden;position:fixed;height:calc(100% - 96px);top:48px;bottom:48px;left:calc(50% - 440px);max-width:880px;width:100%}.yoast-tabs .yoast-modal__content{display:grid;grid-template-areas:"heading heading" "menu content" "menu footer";grid-template-rows:72px 1fr 89px;grid-template-columns:280px 1fr}.yoast-modal__heading{padding:13px 24px 14px;display:flex;align-items:center;border-bottom:var(--border-default);grid-area:heading;background:var(--color-white);height:72px}.yoast-modal__heading .yoast-close{position:absolute;right:16px}.yoast-modal__heading h1{font-size:20px}.yoast-modal__heading-icon{fill:var(--color-primary);margin-right:16px;width:19px;height:20px;flex-shrink:0}.yoast-modal__menu{grid-area:menu;border-right:var(--border-default);overflow-y:auto}.yoast-modal__menu ul{padding:0;margin:0;list-style:none}.yoast-modal__menu li{padding:12px 16px 11px;border-bottom:var(--border-default);font-size:16px;cursor:pointer;text-decoration:none;color:var(--color-default);display:block}.yoast-modal__menu li:hover{background-color:#edd4e1}.yoast-modal__menu li.yoast-tabs__tab--selected{background-color:var(--color-primary);border-bottom:var(--border-default);color:#fff}.yoast-modal__content,.yoast-modal__section{grid-area:content;overflow-y:auto;flex-grow:1;position:relative;display:flex;flex-direction:column}.yoast-modal__section *{max-width:600px}.yoast-modal__section-header{position:-webkit-sticky;position:sticky;top:0;background:var(--color-white);padding:24px 24px 0;z-index:10}.yoast-modal__section .yoast-h2{border-bottom:var(--border-default);padding-bottom:24px}.yoast-modal__footer{grid-area:footer;padding:24px 0;border-top:var(--border-default);display:flex;align-self:flex-end;align-items:center;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:0;background:var(--color-white);margin:0 24px;z-index:10;height:89px;width:calc(100% - 48px)}.yoast-modal__settings-saved{position:relative;margin-right:16px;display:inline-flex;align-items:center}.yoast-modal__settings-saved:before{content:"";background:var(--checkmark--green) no-repeat 50%;height:13px;width:14px;display:inline-block;margin-right:8px}.yoast-modal__footer .yoast-button{display:block}.yoast-modal__section-content{padding:24px;flex-grow:1}@media screen and (max-width:880px){.yoast-modal{position:fixed;top:0;bottom:0;left:0;right:0}}@media screen and (max-width:782px){.yoast-modal{overflow-y:initial;height:auto;padding-bottom:72px}.yoast-modal__heading{padding:14px 16px 15px;position:fixed;top:0;width:100%;z-index:11;height:auto}.yoast-close svg{width:10px}.yoast-modal__heading-icon{height:15px;margin-right:8px}.yoast .yoast-close{right:3px}.yoast-modal__heading .yoast-h2{font-size:var(--font-size-default)}.yoast-modal__section{overflow:initial;flex-grow:0}.yoast-modal__section-content{padding:24px 0;margin:0 16px}.yoast-modal__section:first-of-type{margin-top:46px}.yoast-modal__section:last-of-type{margin-bottom:72px}.yoast-modal__section-header{top:46px;position:-webkit-sticky;position:sticky;padding:0;margin:0}.yoast-modal__section-open .yoast-modal__section-header{padding-left:0;padding-right:0;margin-left:16px;margin-right:16px}.yoast-modal__section-open{border-bottom:var(--border-default)}.yoast-modal__footer{margin:0;width:100%;position:fixed;z-index:11;height:72px;padding:24px 16px}.yoast-modal-collapsible .yoast-modal__section-content{padding:24px 16px;border-bottom:var(--border-default);margin:0}.yoast-collapsible__hidden{display:none}.yoast-collapsible__trigger{padding:16px;border:none;border-bottom:var(--border-default);cursor:pointer;justify-content:space-between;font-size:var(--font-size-default);width:100%;text-align:left;background:#fff;color:var(--color-primary)}.yoast-collapsible__trigger[aria-expanded=true] .yoast-collapsible__icon{transform:rotate(180deg)}.yoast-collapsible__trigger[aria-expanded=true]{padding:16px 0;width:calc(100% - 32px);margin:0 16px}.yoast-collapsible__icon{background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23404040'%3E%3Cpath d='M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px auto;width:19px;height:19px;border:none;display:block;float:right}.yoast-collapsible-block{width:100%;margin-top:46px}.yoast-collapsible-block+.yoast-collapsible-block{margin-top:0}}:root{--border-default:1px solid rgba(0,0,0,0.2);--color-default:#404040;--color-primary:#a4286a;--color-secondary:#f7f7f7;--color-white:#fff;--color-green:#6ea029;--color-primary-darker:#7b1e50;--color-primary-lighter:#f5d6e6;--color-secondary-darker:#d9d9d9;--color-button-upsell:#fec228;--color-button-upsell-hover:#f2ae01;--color-dark:#303030;--color-sale:#fec228;--color-label:#303030;--color-label-help:#707070;--color-toggle-on:#303030;--color-toggle-off:#707070;--transition-default:all 150ms ease-out;--color-link:#006dac;--color-border--default:rgba(0,0,0,0.2);--checkmark--white:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--svg-icon-caret-right:url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"/></svg>');--checkmark--green:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236EA029' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--exclamation-mark:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23DC3232' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E")}[class*=yoast-]{box-sizing:border-box}[class*=yoast-]:focus{box-shadow:0 0 0 2px #007fff,0 0 0 5px #bfdfff;border-radius:0;outline:none}:root{--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--font-size-default:14px;--font-weight-default:400;--font-weight-bold:600;--color-font-default:#404040}.yoast-h1,.yoast-h2,.yoast-h3,.yoast h1,.yoast h2,.yoast h3{font-weight:400;color:var(--color-primary);line-height:1.2;margin:0}.yoast-h1 a,.yoast-h2 a,.yoast-h3 a{color:var(--color-primary);text-decoration:none}.yoast-h1,.yoast h1{font-size:24px}.yoast-h2,.yoast h2{font-size:20px}.yoast-h3,.yoast h4{font-size:16px}.yoast-paragraph,.yoast p{font-size:var(--font-size-default);margin-top:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}@media (max-width:782px){.yoast-show-on-mobile{display:initial!important}}@media (min-width:782px){.yoast-hide-on-desktop{display:none}}
css/dist/{search-appearance-1350-rtl.css → search-appearance-1400-rtl.css} RENAMED
File without changes
css/dist/{search-appearance-1350.css → search-appearance-1400.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1350-rtl.css → structured-data-blocks-1400-rtl.css} RENAMED
File without changes
css/dist/{structured-data-blocks-1350.css → structured-data-blocks-1400.css} RENAMED
File without changes
css/dist/{toggle-switch-1350-rtl.css → toggle-switch-1400-rtl.css} RENAMED
File without changes
css/dist/{toggle-switch-1350.css → toggle-switch-1400.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1350-rtl.css → wpseo-dismissible-1400-rtl.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-1350.css → wpseo-dismissible-1400.css} RENAMED
File without changes
css/dist/{yoast-components-1350-rtl.css → yoast-components-1400-rtl.css} RENAMED
File without changes
css/dist/{yoast-components-1350.css → yoast-components-1400.css} RENAMED
File without changes
css/dist/{yoast-extensions-1350-rtl.css → yoast-extensions-1400-rtl.css} RENAMED
File without changes
css/dist/{yoast-extensions-1350.css → yoast-extensions-1400.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1350-rtl.css → yst_plugin_tools-1400-rtl.css} RENAMED
File without changes
css/dist/{yst_plugin_tools-1350.css → yst_plugin_tools-1400.css} RENAMED
File without changes
css/dist/{yst_seo_score-1350-rtl.css → yst_seo_score-1400-rtl.css} RENAMED
File without changes
css/dist/{yst_seo_score-1350.css → yst_seo_score-1400.css} RENAMED
File without changes
deprecated/frontend/class-handle-404.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Handle_404
10
+ *
11
+ * Handles intercepting requests.
12
+ *
13
+ * @deprecated 14.0
14
+ *
15
+ * @since 9.4
16
+ */
17
+ class WPSEO_Handle_404 implements WPSEO_WordPress_Integration {
18
+
19
+ /**
20
+ * Registers all hooks to WordPress.
21
+ *
22
+ * @codeCoverageIgnore
23
+ * @deprecated 14.0
24
+ *
25
+ * @return void
26
+ */
27
+ public function register_hooks() {
28
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
29
+ }
30
+
31
+ /**
32
+ * Handle the 404 status code.
33
+ *
34
+ * @codeCoverageIgnore
35
+ * @deprecated 14.0
36
+ *
37
+ * @param bool $handled Whether we've handled the request.
38
+ *
39
+ * @return bool True if it's 404.
40
+ */
41
+ public function handle_404( $handled ) {
42
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
43
+
44
+ return $handled;
45
+ }
46
+ }
deprecated/frontend/class-opengraph-image.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ use Yoast\WP\SEO\Values\Open_Graph\Images;
9
+
10
+ _deprecated_file( basename( __FILE__ ), 'WPSEO 14.0' );
11
+
12
+ /**
13
+ * Class WPSEO_OpenGraph_Image.
14
+ *
15
+ * @deprecated 14.0
16
+ */
17
+ class WPSEO_OpenGraph_Image extends Images {
18
+
19
+ /**
20
+ * The image ID used when the image is external.
21
+ *
22
+ * @var string
23
+ */
24
+ const EXTERNAL_IMAGE_ID = '-1';
25
+
26
+ /**
27
+ * Constructor.
28
+ *
29
+ * @deprecated 14.0
30
+ * @codeCoverageIgnore
31
+ *
32
+ * @param null|string $image Optional. The Image to use.
33
+ * @param WPSEO_OpenGraph $opengraph Optional. The OpenGraph object.
34
+ */
35
+ public function __construct( $image = null, WPSEO_OpenGraph $opengraph = null ) {
36
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
37
+ }
38
+ }
deprecated/frontend/class-opengraph-oembed.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_OpenGraph_OEmbed.
10
+ *
11
+ * @deprecated 14.0
12
+ */
13
+ class WPSEO_OpenGraph_OEmbed implements WPSEO_WordPress_Integration {
14
+
15
+ /**
16
+ * @inheritDoc
17
+ *
18
+ * @codeCoverageIgnore
19
+ * @deprecated 14.0
20
+ */
21
+ public function register_hooks() {
22
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
23
+ }
24
+
25
+ /**
26
+ * Callback function to pass to the oEmbed's response data that will enable
27
+ * support for using the image and title set by the WordPress SEO plugin's fields. This
28
+ * address the concern where some social channels/subscribed use oEmebed data over OpenGraph data
29
+ * if both are present.
30
+ *
31
+ * @codeCoverageIgnore
32
+ * @deprecated 14.0
33
+ *
34
+ * @param array $data The oEmbed data.
35
+ * @param WP_Post $post The current Post object.
36
+ *
37
+ * @link https://developer.wordpress.org/reference/hooks/oembed_response_data/ for hook info.
38
+ *
39
+ * @return array An array of oEmbed data with modified values where appropriate.
40
+ */
41
+ public function set_oembed_data( $data, $post ) {
42
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
43
+
44
+ return $data;
45
+ }
46
+ }
deprecated/frontend/class-opengraph.php ADDED
@@ -0,0 +1,314 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * This code adds the OpenGraph output.
10
+ *
11
+ * @deprecated 14.0
12
+ */
13
+ class WPSEO_OpenGraph {
14
+
15
+ /* ********************* DEPRECATED METHODS ********************* */
16
+
17
+ /**
18
+ * Class constructor.
19
+ *
20
+ * @deprecated 14.0
21
+ * @codeCoverageIgnore
22
+ */
23
+ public function __construct() {
24
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
25
+ }
26
+
27
+ /**
28
+ * Main OpenGraph output.
29
+ *
30
+ * @deprecated 14.0
31
+ * @codeCoverageIgnore
32
+ */
33
+ public function opengraph() {
34
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
35
+ }
36
+
37
+ /**
38
+ * Internal function to output FB tags. This also adds an output filter to each bit of output based on the property.
39
+ *
40
+ * @deprecated 14.0
41
+ * @codeCoverageIgnore
42
+ *
43
+ * @param string $property Property attribute value.
44
+ * @param string $content Content attribute value.
45
+ *
46
+ * @return boolean
47
+ */
48
+ public function og_tag( $property, $content ) {
49
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
50
+
51
+ /**
52
+ * Filter: 'wpseo_og_' . $og_property - Allow developers to change the content of specific OG meta tags.
53
+ *
54
+ * @deprecated 14.0
55
+ *
56
+ * @api string $content The content of the property.
57
+ */
58
+ $content = apply_filters_deprecated( 'wpseo_og_' . $og_property, $content, 'WPSEO 14.0');
59
+
60
+ return true;
61
+ }
62
+
63
+ /**
64
+ * Outputs the site owner.
65
+ *
66
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
67
+ *
68
+ * @return void
69
+ *
70
+ * @deprecated 7.1
71
+ * @codeCoverageIgnore
72
+ */
73
+ public function site_owner() {
74
+ // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
75
+ if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
76
+ _deprecated_function( __METHOD__, '7.1', null );
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Fallback method for plugins using image_output.
82
+ *
83
+ * @param string|bool $image Image URL.
84
+ *
85
+ * @deprecated 7.4
86
+ * @codeCoverageIgnore
87
+ */
88
+ public function image_output( $image = false ) {
89
+ _deprecated_function( __METHOD__, '7.4', 'WPSEO_OpenGraph::image' );
90
+ }
91
+
92
+ /**
93
+ * Outputs the canonical URL as OpenGraph URL, which consolidates likes and shares.
94
+ *
95
+ * @deprecated 14.0
96
+ * @codeCoverageIgnore
97
+ *
98
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
99
+ *
100
+ * @return boolean
101
+ */
102
+ public function url() {
103
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
104
+
105
+ return false;
106
+ }
107
+
108
+ /**
109
+ * Outputs the SEO title as OpenGraph title.
110
+ *
111
+ * @deprecated 14.0
112
+ * @codeCoverageIgnore
113
+ *
114
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
115
+ *
116
+ * @param bool $echo Whether or not to echo the output.
117
+ *
118
+ * @return string|boolean
119
+ */
120
+ public function og_title( $echo = true ) {
121
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
122
+
123
+ return false;
124
+ }
125
+
126
+ /**
127
+ * Outputs the OpenGraph description, specific OG description first, if not, grabs the meta description.
128
+ *
129
+ * @deprecated 14.0
130
+ * @codeCoverageIgnore
131
+ *
132
+ * @param bool $echo Whether to echo or return the description.
133
+ *
134
+ * @return string $ogdesc
135
+ */
136
+ public function description( $echo = true ) {
137
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
138
+
139
+ return '';
140
+ }
141
+
142
+ /**
143
+ * Outputs the author's FB page.
144
+ *
145
+ * @deprecated 14.0
146
+ * @codeCoverageIgnore
147
+ *
148
+ * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
149
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
150
+ *
151
+ * @return boolean
152
+ */
153
+ public function article_author_facebook() {
154
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
155
+
156
+ return false;
157
+ }
158
+
159
+ /**
160
+ * Outputs the website's FB page.
161
+ *
162
+ * @deprecated 14.0
163
+ * @codeCoverageIgnore
164
+ *
165
+ * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
166
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
167
+ *
168
+ * @return boolean
169
+ */
170
+ public function website_facebook() {
171
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
172
+
173
+ return false;
174
+ }
175
+
176
+ /**
177
+ * Outputs the OpenGraph type.
178
+ *
179
+ * @deprecated 14.0
180
+ * @codeCoverageIgnore
181
+ *
182
+ * @param boolean $echo Whether to echo or return the type.
183
+ *
184
+ * @return string $type
185
+ */
186
+ public function type( $echo = true ) {
187
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
188
+
189
+ return '';
190
+ }
191
+
192
+ /**
193
+ * Outputs the locale, doing some conversions to make sure the proper Facebook locale is output.
194
+ *
195
+ * Last update/compare with FB list done on 2015-03-16 by Rarst.
196
+ *
197
+ * @deprecated 14.0
198
+ * @codeCoverageIgnore
199
+ *
200
+ * @link http://www.facebook.com/translations/FacebookLocales.xml for the list of supported locales.
201
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
202
+ *
203
+ * @param bool $echo Whether to echo or return the locale.
204
+ *
205
+ * @return string $locale
206
+ */
207
+ public function locale( $echo = true ) {
208
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
209
+
210
+ return '';
211
+ }
212
+
213
+ /**
214
+ * Filters the Facebook plugins metadata.
215
+ *
216
+ * @deprecated 14.0
217
+ * @codeCoverageIgnore
218
+ *
219
+ * @param array $meta_tags The array to fix.
220
+ *
221
+ * @return array $meta_tags
222
+ */
223
+ public function facebook_filter( $meta_tags ) {
224
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
225
+
226
+ return array();
227
+ }
228
+
229
+ /**
230
+ * Outputs the site name straight from the blog info.
231
+ *
232
+ * @deprecated 14.0
233
+ * @codeCoverageIgnore
234
+ *
235
+ * @return void
236
+ */
237
+ public function site_name() {
238
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
239
+ }
240
+
241
+ /**
242
+ * Outputs the article publish and last modification date.
243
+ *
244
+ * @deprecated 14.0
245
+ * @codeCoverageIgnore
246
+ *
247
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
248
+ *
249
+ * @return boolean;
250
+ */
251
+ public function publish_date() {
252
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
253
+
254
+ return true;
255
+ }
256
+
257
+ /**
258
+ * Creates new WPSEO_OpenGraph_Image class and get the images to set the og:image.
259
+ *
260
+ * @deprecated 14.0
261
+ * @codeCoverageIgnore
262
+
263
+ * @param string|bool $image Optional. Image URL.
264
+ *
265
+ * @return void
266
+ */
267
+ public function image( $image = false ) {
268
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
269
+ }
270
+
271
+ /**
272
+ * Outputs the Facebook app_id.
273
+ *
274
+ * @deprecated 14.0
275
+ * @codeCoverageIgnore
276
+ *
277
+ * @return void
278
+ */
279
+ public function app_id() {
280
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
281
+ }
282
+
283
+ /**
284
+ * Outputs the article tags as article:tag tags.
285
+ *
286
+ * @deprecated 14.0
287
+ * @codeCoverageIgnore
288
+ *
289
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
290
+ *
291
+ * @return boolean
292
+ */
293
+ public function tags() {
294
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
295
+
296
+ return false;
297
+ }
298
+
299
+ /**
300
+ * Outputs the article category as an article:section tag.
301
+ *
302
+ * @deprecated 14.0
303
+ * @codeCoverageIgnore
304
+ *
305
+ * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
306
+ *
307
+ * @return boolean;
308
+ */
309
+ public function category() {
310
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
311
+
312
+ return false;
313
+ }
314
+ } /* End of class */
deprecated/frontend/class-primary-category.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * Adds customizations to the front end for the primary category.
10
+ *
11
+ * @deprecated 14.0
12
+ */
13
+ class WPSEO_Frontend_Primary_Category implements WPSEO_WordPress_Integration {
14
+
15
+ /**
16
+ * Registers the hooks necessary for correct primary category behaviour.
17
+ */
18
+ public function register_hooks() {
19
+ add_filter( 'post_link_category', array( $this, 'post_link_category' ), 10, 3 );
20
+ }
21
+
22
+ /**
23
+ * Filters post_link_category to change the category to the chosen category by the user.
24
+ *
25
+ * @param stdClass $category The category that is now used for the post link.
26
+ * @param array $categories This parameter is not used.
27
+ * @param WP_Post $post The post in question.
28
+ *
29
+ * @codeCoverageIgnore
30
+ * @deprecated 14.0
31
+ *
32
+ * @return array|null|object|WP_Error The category we want to use for the post link.
33
+ */
34
+ public function post_link_category( $category, $categories = null, $post = null ) {
35
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
36
+
37
+ return $category;
38
+ }
39
+ }
deprecated/frontend/class-twitter.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend
6
+ */
7
+
8
+ /**
9
+ * This class handles the Twitter card functionality.
10
+ *
11
+ * @deprecated 14.0
12
+ *
13
+ * @link https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards
14
+ */
15
+ class WPSEO_Twitter {
16
+
17
+ /**
18
+ * Instance of this class.
19
+ *
20
+ * @var object
21
+ */
22
+ public static $instance;
23
+
24
+ /**
25
+ * Images.
26
+ *
27
+ * @var array
28
+ */
29
+ public $shown_images = array();
30
+
31
+ /**
32
+ * Class constructor.
33
+ *
34
+ * @deprecated 14.0
35
+ * @codeCoverageIgnore
36
+ */
37
+ public function __construct() {
38
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
39
+ }
40
+
41
+ /**
42
+ * Outputs the Twitter Card code on singular pages.
43
+ *
44
+ * @deprecated 14.0
45
+ * @codeCoverageIgnore
46
+ */
47
+ public function twitter() {
48
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
49
+ }
50
+
51
+ /**
52
+ * Get the singleton instance of this class.
53
+ *
54
+ * @deprecated 14.0
55
+ * @codeCoverageIgnore
56
+ *
57
+ * @return object
58
+ */
59
+ public static function get_instance() {
60
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
61
+
62
+ return null;
63
+ }
64
+ } /* End of class */
deprecated/frontend/schema/class-schema-article.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\Article;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema Article data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 10.2
17
+ */
18
+ class WPSEO_Schema_Article extends Article implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * The date helper.
22
+ *
23
+ * @var WPSEO_Date_Helper
24
+ */
25
+ protected $date;
26
+
27
+ /**
28
+ * WPSEO_Schema_Article constructor.
29
+ *
30
+ * @param array $context The context. No longer used but present for BC.
31
+ *
32
+ * @codeCoverageIgnore
33
+ * @deprecated 14.0
34
+ */
35
+ public function __construct( $context = null ) {
36
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article' );
37
+
38
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
39
+ $this->context = $memoizer->for_current_page();
40
+ $this->helpers = YoastSEO()->helpers;
41
+ $this->date = new WPSEO_Date_Helper();
42
+ }
43
+
44
+ /**
45
+ * Determines whether or not a piece should be added to the graph.
46
+ *
47
+ * @codeCoverageIgnore
48
+ * @deprecated 14.0
49
+ *
50
+ * @return bool
51
+ */
52
+ public function is_needed() {
53
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article::is_needed' );
54
+
55
+ return parent::is_needed();
56
+ }
57
+
58
+ /**
59
+ * Returns Article data.
60
+ *
61
+ * @codeCoverageIgnore
62
+ * @deprecated 14.0
63
+ *
64
+ * @return array $data Article data.
65
+ */
66
+ public function generate() {
67
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article::generate' );
68
+
69
+ return parent::generate();
70
+ }
71
+
72
+ /**
73
+ * Determines whether a given post type should have Article schema.
74
+ *
75
+ * @codeCoverageIgnore
76
+ * @deprecated 14.0
77
+ *
78
+ * @param string $post_type Post type to check.
79
+ *
80
+ * @return bool True if it has article schema, false if not.
81
+ */
82
+ public static function is_article_post_type( $post_type = null ) {
83
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->article->is_article_post_type' );
84
+
85
+ return YoastSEO()->helpers->schema->article->is_article_post_type( $post_type );
86
+ }
87
+ }
deprecated/frontend/schema/class-schema-author.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Config\Schema_IDs;
9
+ use Yoast\WP\SEO\Generators\Schema\Author;
10
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
11
+
12
+ /**
13
+ * Returns schema Person data.
14
+ *
15
+ * @deprecated 14.0
16
+ *
17
+ * @since 10.2
18
+ */
19
+ class WPSEO_Schema_Author extends Author implements WPSEO_Graph_Piece {
20
+
21
+ /**
22
+ * The hash used for images.
23
+ *
24
+ * @var string
25
+ */
26
+ protected $image_hash = Schema_IDs::AUTHOR_LOGO_HASH;
27
+
28
+ /**
29
+ * The Schema type we use for this class.
30
+ *
31
+ * @var string[]
32
+ */
33
+ protected $type = [ 'Person' ];
34
+
35
+ /**
36
+ * WPSEO_Schema_Author constructor.
37
+ *
38
+ * @param null $context The context. No longer used but present for BC.
39
+ *
40
+ * @codeCoverageIgnore
41
+ * @deprecated 14.0
42
+ */
43
+ public function __construct( $context = null ) {
44
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author' );
45
+
46
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
47
+ $this->context = $memoizer->for_current_page();
48
+ $this->helpers = YoastSEO()->helpers;
49
+ }
50
+
51
+ /**
52
+ * Determine whether we should return Person schema.
53
+ *
54
+ * @codeCoverageIgnore
55
+ * @deprecated 14.0
56
+ *
57
+ * @return bool
58
+ */
59
+ public function is_needed() {
60
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::is_needed' );
61
+
62
+ if ( $this->context->indexable->object_type === 'user' ) {
63
+ return true;
64
+ }
65
+
66
+ // This call to `is_post_author` is why this whole block could not be replaced with a `parent::is_needed()` call.
67
+ if ( $this->is_post_author() ) {
68
+ // If the author is the user the site represents, no need for an extra author block.
69
+ if ( parent::is_needed() ) {
70
+ return (int) $this->context->post->post_author !== $this->context->site_user_id;
71
+ }
72
+
73
+ return true;
74
+ }
75
+
76
+ return false;
77
+ }
78
+
79
+ /**
80
+ * Returns Person Schema data.
81
+ *
82
+ * @codeCoverageIgnore
83
+ * @deprecated 14.0
84
+ *
85
+ * @return bool|array Person data on success, false on failure.
86
+ */
87
+ public function generate() {
88
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::generate' );
89
+
90
+ return parent::generate();
91
+ }
92
+
93
+ /**
94
+ * Gets the Schema type we use for this class.
95
+ *
96
+ * @codeCoverageIgnore
97
+ * @deprecated 14.0
98
+ *
99
+ * @return string[] The schema type.
100
+ */
101
+ public static function get_type() {
102
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
103
+
104
+ return [ 'Person' ];
105
+ }
106
+
107
+ /**
108
+ * Determine whether the current URL is worthy of Article schema.
109
+ *
110
+ * @codeCoverageIgnore
111
+ * @deprecated 14.0
112
+ *
113
+ * @return bool
114
+ */
115
+ protected function is_post_author() {
116
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
117
+
118
+ return (
119
+ $this->context->indexable->object_type === 'post' &&
120
+ $this->helpers->schema->article->is_article_post_type( $this->context->indexable->object_sub_type )
121
+ );
122
+ }
123
+
124
+ /**
125
+ * Determines a User ID for the Person data.
126
+ *
127
+ * @codeCoverageIgnore
128
+ * @deprecated 14.0
129
+ *
130
+ * @return bool|int User ID or false upon return.
131
+ */
132
+ protected function determine_user_id() {
133
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::determine_user_id' );
134
+
135
+ return parent::determine_user_id();
136
+ }
137
+ }
deprecated/frontend/schema/class-schema-breadcrumb.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\Breadcrumb;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema Breadcrumb data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 10.2
17
+ */
18
+ class WPSEO_Schema_Breadcrumb extends Breadcrumb implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * WPSEO_Schema_Breadcrumb constructor.
22
+ *
23
+ * @param null $context The context. No longer used but present for BC.
24
+ *
25
+ * @codeCoverageIgnore
26
+ * @deprecated 14.0
27
+ */
28
+ public function __construct( $context = null ) {
29
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Breadcrumb' );
30
+
31
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
32
+ $this->context = $memoizer->for_current_page();
33
+ $this->helpers = YoastSEO()->helpers;
34
+ }
35
+
36
+ /**
37
+ * Determine if we should add a breadcrumb attribute.
38
+ *
39
+ * @codeCoverageIgnore
40
+ * @deprecated 14.0
41
+ *
42
+ * @return bool
43
+ */
44
+ public function is_needed() {
45
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Breadcrumb::is_needed' );
46
+
47
+ return parent::is_needed();
48
+ }
49
+
50
+ /**
51
+ * Returns Schema breadcrumb data to allow recognition of page's position in the site hierarchy.
52
+ *
53
+ * @link https://developers.google.com/search/docs/data-types/breadcrumb
54
+ *
55
+ * @codeCoverageIgnore
56
+ * @deprecated 14.0
57
+ *
58
+ * @return bool|array Array on success, false on failure.
59
+ */
60
+ public function generate() {
61
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Breadcrumb::generate' );
62
+
63
+ return parent::generate();
64
+ }
65
+ }
deprecated/frontend/schema/class-schema-faq-question-list.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ /**
9
+ * Returns a question object for each question in an FAQ block.
10
+ *
11
+ * @since 11.1
12
+ *
13
+ * @deprecated 14.0
14
+ */
15
+ class WPSEO_Schema_FAQ_Question_List {
16
+
17
+ /**
18
+ * WPSEO_Schema_FAQ_Question_List constructor.
19
+ *
20
+ * @codeCoverageIgnore
21
+ * @deprecated 14.0
22
+ *
23
+ * @param WP_Block_Parser_Block[] $blocks An array of the FAQ blocks on this page.
24
+ * @param WPSEO_Schema_Context $context A value object with context variables.
25
+ */
26
+ public function __construct( $blocks, $context ) {
27
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
28
+ }
29
+
30
+ /**
31
+ * Find an image based on its URL and generate a Schema object for it.
32
+ *
33
+ * @codeCoverageIgnore
34
+ * @deprecated 14.0
35
+ *
36
+ * @return array The Schema with a question list added.
37
+ */
38
+ public function generate() {
39
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
40
+
41
+ return [];
42
+ }
43
+ }
deprecated/frontend/schema/class-schema-faq-questions.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ /**
9
+ * Returns a question object for each question in an FAQ block.
10
+ *
11
+ * @deprecated 14.0
12
+ *
13
+ * @since 11.1
14
+ */
15
+ class WPSEO_Schema_FAQ_Questions {
16
+
17
+ /**
18
+ * A value object with context variables.
19
+ * This property is public, because originally it was dynamically declared.
20
+ *
21
+ * @var WPSEO_Schema_Context
22
+ */
23
+ public $context;
24
+
25
+ /**
26
+ * WPSEO_Schema_FAQ_Questions constructor.
27
+ *
28
+ * @codeCoverageIgnore
29
+ * @deprecated 14.0
30
+ *
31
+ * @param array $data Our schema graph.
32
+ * @param WP_Block_Parser_Block $block The FAQ block of this type.
33
+ * @param WPSEO_Schema_Context $context A value object with context variables.
34
+ */
35
+ public function __construct( $data, $block, $context ) {
36
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
37
+ $this->context = $context;
38
+ }
39
+
40
+ /**
41
+ * Find an image based on its URL and generate a Schema object for it.
42
+ *
43
+ * @codeCoverageIgnore
44
+ * @deprecated 14.0
45
+ *
46
+ * @return array The Schema with Questions added.
47
+ */
48
+ public function generate() {
49
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
50
+
51
+ return [];
52
+ }
53
+
54
+ /**
55
+ * Generate a Question piece.
56
+ *
57
+ * @codeCoverageIgnore
58
+ * @deprecated 14.0
59
+ *
60
+ * @param array $question The question to generate schema for.
61
+ *
62
+ * @return array Schema.org Question piece.
63
+ */
64
+ protected function generate_question_block( $question ) {
65
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
66
+
67
+ return [];
68
+ }
69
+ }
{frontend → deprecated/frontend}/schema/class-schema-faq.php RENAMED
@@ -5,65 +5,59 @@
5
  * @package WPSEO\Frontend\Schema
6
  */
7
 
 
 
 
8
  /**
9
  * Returns schema FAQ data.
10
  *
 
 
11
  * @since 11.3
12
  */
13
- class WPSEO_Schema_FAQ implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * Determine whether this graph piece is needed or not.
17
- *
18
- * @var bool
19
- */
20
- private $is_needed = false;
21
-
22
- /**
23
- * The FAQ blocks on the current page.
24
- *
25
- * @var array
26
- */
27
- private $blocks;
28
-
29
- /**
30
- * A value object with context variables.
31
- *
32
- * @var WPSEO_Schema_Context
33
- */
34
- private $context;
35
 
36
  /**
37
  * WPSEO_Schema_FAQ constructor.
38
  *
39
- * @param WPSEO_Schema_Context $context A value object with context variables.
 
 
 
40
  */
41
- public function __construct( WPSEO_Schema_Context $context ) {
42
- $this->context = $context;
43
 
44
- add_action( 'wpseo_pre_schema_block_type_yoast/faq-block', [ $this, 'prepare_schema' ], 10, 1 );
45
- add_filter( 'wpseo_schema_block_yoast/faq-block', [ $this, 'render_schema_questions' ], 10, 3 );
 
46
  }
47
 
48
  /**
49
  * If this fires, we know there's an FAQ block ont he page, so filter the page type.
50
  *
 
 
 
51
  * @param array $blocks The blocks of this type on the current page.
52
  */
53
  public function prepare_schema( $blocks ) {
54
- $this->blocks = $blocks;
55
- $this->is_needed = true;
56
- add_filter( 'wpseo_schema_webpage_type', [ $this, 'change_schema_page_type' ] );
57
  }
58
 
59
  /**
60
  * Change the page type to an array if it isn't one, include FAQPage.
61
  *
 
 
 
62
  * @param array|string $page_type The page type.
63
  *
64
  * @return array $page_type The page type that's now an array.
65
  */
66
  public function change_schema_page_type( $page_type ) {
 
 
67
  if ( ! is_array( $page_type ) ) {
68
  $page_type = [ $page_type ];
69
  }
@@ -75,18 +69,23 @@ class WPSEO_Schema_FAQ implements WPSEO_Graph_Piece {
75
  /**
76
  * Render a list of questions, referencing them by ID.
77
  *
 
 
 
78
  * @return array $data Our Schema graph.
79
  */
80
  public function generate() {
81
- $question_list = new WPSEO_Schema_FAQ_Question_List( $this->blocks, $this->context );
82
- $graph = $question_list->generate();
83
 
84
- return $graph;
85
  }
86
 
87
  /**
88
  * Add the Questions in our FAQ blocks as separate pieces to the graph.
89
  *
 
 
 
90
  * @param array $graph Schema data for the current page.
91
  * @param WP_Block_Parser_Block $block The block data array.
92
  * @param WPSEO_Schema_Context $context A value object with context variables.
@@ -94,18 +93,22 @@ class WPSEO_Schema_FAQ implements WPSEO_Graph_Piece {
94
  * @return array $data Our Schema graph.
95
  */
96
  public function render_schema_questions( $graph, $block, $context ) {
97
- $questions = new WPSEO_Schema_FAQ_Questions( $graph, $block, $context );
98
- $graph = $questions->generate();
99
 
100
- return $graph;
101
  }
102
 
103
  /**
104
  * Determines whether or not a piece should be added to the graph.
105
  *
 
 
 
106
  * @return bool
107
  */
108
  public function is_needed() {
109
- return $this->is_needed;
 
 
110
  }
111
  }
5
  * @package WPSEO\Frontend\Schema
6
  */
7
 
8
+ use Yoast\WP\SEO\Generators\Schema\FAQ;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
  /**
12
  * Returns schema FAQ data.
13
  *
14
+ * @deprecated 14.0
15
+ *
16
  * @since 11.3
17
  */
18
+ class WPSEO_Schema_FAQ extends FAQ implements WPSEO_Graph_Piece {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  /**
21
  * WPSEO_Schema_FAQ constructor.
22
  *
23
+ * @param null $context The context. No longer used but present for BC.
24
+ *
25
+ * @codeCoverageIgnore
26
+ * @deprecated 14.0
27
  */
28
+ public function __construct( $context = null ) {
29
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\FAQ' );
30
 
31
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
32
+ $this->context = $memoizer->for_current_page();
33
+ $this->helpers = YoastSEO()->helpers;
34
  }
35
 
36
  /**
37
  * If this fires, we know there's an FAQ block ont he page, so filter the page type.
38
  *
39
+ * @codeCoverageIgnore
40
+ * @deprecated 14.0
41
+ *
42
  * @param array $blocks The blocks of this type on the current page.
43
  */
44
  public function prepare_schema( $blocks ) {
45
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
 
 
46
  }
47
 
48
  /**
49
  * Change the page type to an array if it isn't one, include FAQPage.
50
  *
51
+ * @codeCoverageIgnore
52
+ * @deprecated 14.0
53
+ *
54
  * @param array|string $page_type The page type.
55
  *
56
  * @return array $page_type The page type that's now an array.
57
  */
58
  public function change_schema_page_type( $page_type ) {
59
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
60
+
61
  if ( ! is_array( $page_type ) ) {
62
  $page_type = [ $page_type ];
63
  }
69
  /**
70
  * Render a list of questions, referencing them by ID.
71
  *
72
+ * @codeCoverageIgnore
73
+ * @deprecated 14.0
74
+ *
75
  * @return array $data Our Schema graph.
76
  */
77
  public function generate() {
78
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\FAQ::generate' );
 
79
 
80
+ return parent::generate();
81
  }
82
 
83
  /**
84
  * Add the Questions in our FAQ blocks as separate pieces to the graph.
85
  *
86
+ * @codeCoverageIgnore
87
+ * @deprecated 14.0
88
+ *
89
  * @param array $graph Schema data for the current page.
90
  * @param WP_Block_Parser_Block $block The block data array.
91
  * @param WPSEO_Schema_Context $context A value object with context variables.
93
  * @return array $data Our Schema graph.
94
  */
95
  public function render_schema_questions( $graph, $block, $context ) {
96
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
 
97
 
98
+ return [];
99
  }
100
 
101
  /**
102
  * Determines whether or not a piece should be added to the graph.
103
  *
104
+ * @codeCoverageIgnore
105
+ * @deprecated 14.0
106
+ *
107
  * @return bool
108
  */
109
  public function is_needed() {
110
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\FAQ::is_needed' );
111
+
112
+ return parent::is_needed();
113
  }
114
  }
deprecated/frontend/schema/class-schema-howto.php ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\HowTo;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema FAQ data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 11.5
17
+ */
18
+ class WPSEO_Schema_HowTo extends HowTo implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * The HowTo blocks count on the current page.
22
+ *
23
+ * @var int
24
+ */
25
+ private $counter = 0;
26
+
27
+ /**
28
+ * WPSEO_Schema_FAQ constructor.
29
+ *
30
+ * @param null $context The context. No longer used but present for BC.
31
+ *
32
+ * @codeCoverageIgnore
33
+ * @deprecated 14.0
34
+ */
35
+ public function __construct( $context = null ) {
36
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\HowTo' );
37
+
38
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
39
+ $this->context = $memoizer->for_current_page();
40
+ $this->helpers = YoastSEO()->helpers;
41
+ }
42
+
43
+ /**
44
+ * Renders a list of questions, referencing them by ID.
45
+ *
46
+ * @codeCoverageIgnore
47
+ * @deprecated 14.0
48
+ *
49
+ * @return array $data Our Schema graph.
50
+ */
51
+ public function generate() {
52
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\HowTo::generate' );
53
+
54
+ return parent::generate();
55
+ }
56
+
57
+ /**
58
+ * Renders the How-To block into our graph.
59
+ *
60
+ * @codeCoverageIgnore
61
+ * @deprecated 14.0
62
+ *
63
+ * @param array $graph Our Schema data.
64
+ * @param array $block The How-To block content.
65
+ *
66
+ * @return mixed
67
+ */
68
+ public function render( $graph, $block ) {
69
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\HowTo::add_how_to' );
70
+
71
+ $this->counter++;
72
+ $this->add_how_to( $graph, $block, $this->counter );
73
+
74
+ return $graph;
75
+ }
76
+
77
+ /**
78
+ * Determines whether or not a piece should be added to the graph.
79
+ *
80
+ * @codeCoverageIgnore
81
+ * @deprecated 14.0
82
+ *
83
+ * @return bool
84
+ */
85
+ public function is_needed() {
86
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\HowTo::is_needed' );
87
+
88
+ return parent::is_needed();
89
+ }
90
+
91
+ /**
92
+ * Determines whether we're part of an article or a webpage.
93
+ *
94
+ * @codeCoverageIgnore
95
+ * @deprecated 14.0
96
+ *
97
+ * @return string A reference URL.
98
+ */
99
+ protected function get_main_schema_id() {
100
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
101
+
102
+ return $this->context->main_schema_id;
103
+ }
104
+
105
+ /**
106
+ * Generates the image schema from the attachment $url.
107
+ *
108
+ * @codeCoverageIgnore
109
+ * @deprecated 14.0
110
+ *
111
+ * @param string $url Attachment url.
112
+ *
113
+ * @return array Image schema.
114
+ *
115
+ * @codeCoverageIgnore
116
+ */
117
+ protected function get_image_schema( $url ) {
118
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\HowTo::get_image_schema' );
119
+
120
+ return parent::get_image_schema( $url );
121
+ }
122
+ }
{frontend → deprecated/frontend}/schema/class-schema-ids.php RENAMED
@@ -8,6 +8,8 @@
8
  /**
9
  * Constants used for @id variables.
10
  *
 
 
11
  * @since 10.2
12
  */
13
  class WPSEO_Schema_IDs {
8
  /**
9
  * Constants used for @id variables.
10
  *
11
+ * @deprecated 14.0
12
+ *
13
  * @since 10.2
14
  */
15
  class WPSEO_Schema_IDs {
deprecated/frontend/schema/class-schema-image.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ /**
9
+ * Returns schema image data.
10
+ *
11
+ * @since 11.1
12
+ *
13
+ * @deprecated 14.0
14
+ *
15
+ * @property string $schema_id The `@id` to use for the returned image.
16
+ * @property array $data The ImageObject Schema array.
17
+ * @property int $attachment_id The ID of the attachment used to generate the object.
18
+ */
19
+ class WPSEO_Schema_Image {
20
+
21
+ /**
22
+ * Value to use as the image id.
23
+ *
24
+ * @var string
25
+ */
26
+ private $schema_id;
27
+
28
+ /**
29
+ * WPSEO_Schema_Image constructor.
30
+ *
31
+ * @codeCoverageIgnore
32
+ * @deprecated 14.0
33
+ *
34
+ * @param string $schema_id The string to use in an image's `@id`.
35
+ */
36
+ public function __construct( $schema_id ) {
37
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image' );
38
+ $this->schema_id = $schema_id;
39
+ }
40
+
41
+ /**
42
+ * Find an image based on its URL and generate a Schema object for it.
43
+ *
44
+ * @codeCoverageIgnore
45
+ * @deprecated 14.0
46
+ *
47
+ * @param string $url The image URL to base our object on.
48
+ * @param string $caption An optional caption.
49
+ *
50
+ * @return array Schema ImageObject array.
51
+ */
52
+ public function generate_from_url( $url, $caption = '' ) {
53
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image->generate_from_url' );
54
+ return YoastSEO()->helpers->schema->image->generate_from_url( $this->schema_id, $url, $caption );
55
+ }
56
+
57
+ /**
58
+ * Retrieve data about an image from the database and use it to generate a Schema object.
59
+ *
60
+ * @codeCoverageIgnore
61
+ * @deprecated 14.0
62
+ *
63
+ * @param int $attachment_id The attachment to retrieve data from.
64
+ * @param string $caption The caption string, if there is one.
65
+ *
66
+ * @return array Schema ImageObject array.
67
+ */
68
+ public function generate_from_attachment_id( $attachment_id, $caption = '' ) {
69
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image->generate_from_attachment_id' );
70
+ return YoastSEO()->helpers->schema->image->generate_from_attachment_id( $this->schema_id, $attachment_id, $caption );
71
+ }
72
+
73
+ /**
74
+ * If we can't find $url in our database, we output a simple ImageObject.
75
+ *
76
+ * @codeCoverageIgnore
77
+ * @deprecated 14.0
78
+ *
79
+ * @param string $url The image URL.
80
+ * @param string $caption A caption, if set.
81
+ *
82
+ * @return array $data Schema ImageObject array.
83
+ */
84
+ public function simple_image_object( $url, $caption = '' ) {
85
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image->simple_image_object' );
86
+ return YoastSEO()->helpers->schema->image->simple_image_object( $this->schema_id, $url, $caption );
87
+ }
88
+ }
deprecated/frontend/schema/class-schema-main-image.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\Main_Image;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns ImageObject schema data.
13
+ *
14
+ * @codeCoverageIgnore
15
+ * @deprecated 14.0
16
+ *
17
+ * @since 11.5
18
+ */
19
+ class WPSEO_Schema_MainImage extends Main_Image implements WPSEO_Graph_Piece {
20
+
21
+ /**
22
+ * WPSEO_Schema_WebPage constructor.
23
+ *
24
+ * @param null $context The context. No longer used but present for BC.
25
+ *
26
+ * @codeCoverageIgnore
27
+ * @deprecated 14.0
28
+ */
29
+ public function __construct( $context = null ) {
30
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Main_Image' );
31
+
32
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
33
+ $this->context = $memoizer->for_current_page();
34
+ $this->helpers = YoastSEO()->helpers;
35
+ }
36
+
37
+ /**
38
+ * Determines whether or not a piece should be added to the graph.
39
+ *
40
+ * @codeCoverageIgnore
41
+ * @deprecated 14.0
42
+ *
43
+ * @return bool
44
+ */
45
+ public function is_needed() {
46
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Main_Image::is_needed' );
47
+
48
+ return parent::is_needed();
49
+ }
50
+
51
+ /**
52
+ * Adds a main image for the current URL to the schema if there is one.
53
+ *
54
+ * This can be either the featured image, or fall back to the first image in the content of the page.
55
+ *
56
+ * @codeCoverageIgnore
57
+ * @deprecated 14.0
58
+ *
59
+ * @return false|array $data Image Schema.
60
+ */
61
+ public function generate() {
62
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Main_Image::generate' );
63
+
64
+ return parent::generate();
65
+ }
66
+
67
+ /**
68
+ * Gets the post's first usable content image. Null if none is available.
69
+ *
70
+ * @codeCoverageIgnore
71
+ * @deprecated 14.0
72
+ *
73
+ * @param int $post_id The post id.
74
+ *
75
+ * @return string|null The image URL or null if there is no image.
76
+ */
77
+ protected function get_first_usable_content_image_for_post( $post_id ) {
78
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
79
+
80
+ return WPSEO_Image_Utils::get_first_usable_content_image_for_post( $post_id );
81
+ }
82
+
83
+ /**
84
+ * Generates image schema from the attachment id.
85
+ *
86
+ * @codeCoverageIgnore
87
+ * @deprecated 14.0
88
+ *
89
+ * @param string $image_id The image schema id.
90
+ *
91
+ * @return array Schema ImageObject array.
92
+ */
93
+ protected function generate_image_schema_from_attachment_id( $image_id ) {
94
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image->generate_from_attachment_id' );
95
+
96
+ return $this->helpers->schema->image->generate_from_attachment_id( $image_id, \get_post_thumbnail_id() );
97
+ }
98
+
99
+ /**
100
+ * Generates image schema from the url.
101
+ *
102
+ * @codeCoverageIgnore
103
+ * @deprecated 14.0
104
+ *
105
+ * @param string $image_id The image schema id.
106
+ * @param string $image_url The image URL.
107
+ *
108
+ * @return array Schema ImageObject array.
109
+ */
110
+ protected function generate_image_schema_from_url( $image_id, $image_url ) {
111
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->image->generate_from_url' );
112
+
113
+ return $this->helpers->schema->image->generate_from_url( $image_id, $image_url );
114
+ }
115
+ }
deprecated/frontend/schema/class-schema-organization.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\Organization;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema Organization data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 10.2
17
+ */
18
+ class WPSEO_Schema_Organization extends Organization implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * WPSEO_Schema_Organization constructor.
22
+ *
23
+ * @param null $context The context. No longer used but present for BC.
24
+ *
25
+ * @codeCoverageIgnore
26
+ * @deprecated 14.0
27
+ */
28
+ public function __construct( $context = null ) {
29
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Organization' );
30
+
31
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
32
+ $this->context = $memoizer->for_current_page();
33
+ $this->helpers = YoastSEO()->helpers;
34
+ }
35
+
36
+ /**
37
+ * Determines whether an Organization graph piece should be added.
38
+ *
39
+ * @codeCoverageIgnore
40
+ * @deprecated 14.0
41
+ *
42
+ * @return bool
43
+ */
44
+ public function is_needed() {
45
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Organization::is_needed' );
46
+
47
+ return parent::is_needed();
48
+ }
49
+
50
+ /**
51
+ * Returns the Organization Schema data.
52
+ *
53
+ * @codeCoverageIgnore
54
+ * @deprecated 14.0
55
+ *
56
+ * @return array $data The Organization schema.
57
+ */
58
+ public function generate() {
59
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Organization::generate' );
60
+
61
+ return parent::generate();
62
+ }
63
+ }
deprecated/frontend/schema/class-schema-person.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Config\Schema_IDs;
9
+ use Yoast\WP\SEO\Generators\Schema\Person;
10
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
11
+
12
+ /**
13
+ * Returns schema Person data.
14
+ *
15
+ * @deprecated 14.0
16
+ *
17
+ * @since 10.2
18
+ */
19
+ class WPSEO_Schema_Person extends Person implements WPSEO_Graph_Piece {
20
+
21
+ /**
22
+ * The hash used for images.
23
+ *
24
+ * @var string
25
+ */
26
+ protected $image_hash = Schema_IDs::PERSON_LOGO_HASH;
27
+
28
+ /**
29
+ * WPSEO_Schema_Person constructor.
30
+ *
31
+ * @param null $context The context. No longer used but present for BC.
32
+ *
33
+ * @codeCoverageIgnore
34
+ * @deprecated 14.0
35
+ */
36
+ public function __construct( $context = null ) {
37
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person' );
38
+
39
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
40
+ $this->context = $memoizer->for_current_page();
41
+ $this->helpers = YoastSEO()->helpers;
42
+ }
43
+
44
+ /**
45
+ * Determine whether we should return Person schema.
46
+ *
47
+ * @codeCoverageIgnore
48
+ * @deprecated 14.0
49
+ *
50
+ * @return bool
51
+ */
52
+ public function is_needed() {
53
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::is_needed' );
54
+
55
+ return parent::is_needed();
56
+ }
57
+
58
+ /**
59
+ * Returns Person Schema data.
60
+ *
61
+ * @codeCoverageIgnore
62
+ * @deprecated 14.0
63
+ *
64
+ * @return bool|array Person data on success, false on failure.
65
+ */
66
+ public function generate() {
67
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::generate' );
68
+
69
+ return parent::generate();
70
+ }
71
+
72
+ /**
73
+ * Determines a User ID for the Person data.
74
+ *
75
+ * @codeCoverageIgnore
76
+ * @deprecated 14.0
77
+ *
78
+ * @return bool|int User ID or false upon return.
79
+ */
80
+ protected function determine_user_id() {
81
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::determine_user_id' );
82
+
83
+ return parent::determine_user_id();
84
+ }
85
+
86
+ /**
87
+ * Retrieve a list of social profile URLs for Person.
88
+ *
89
+ * @codeCoverageIgnore
90
+ * @deprecated 14.0
91
+ *
92
+ * @param int $user_id User ID.
93
+ *
94
+ * @return string[] $output A list of social profiles.
95
+ */
96
+ protected function get_social_profiles( $user_id ) {
97
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::get_social_profiles' );
98
+
99
+ return parent::get_social_profiles( $user_id );
100
+ }
101
+
102
+ /**
103
+ * Builds our array of Schema Person data for a given user ID.
104
+ *
105
+ * @codeCoverageIgnore
106
+ * @deprecated 14.0
107
+ *
108
+ * @param int $user_id The user ID to use.
109
+ *
110
+ * @return array An array of Schema Person data.
111
+ */
112
+ protected function build_person_data( $user_id ) {
113
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::build_person_data' );
114
+
115
+ return parent::build_person_data( $user_id );
116
+ }
117
+
118
+ /**
119
+ * Returns an ImageObject for the persons avatar.
120
+ *
121
+ * @codeCoverageIgnore
122
+ * @deprecated 14.0
123
+ *
124
+ * @param array $data The Person schema.
125
+ * @param \WP_User $user_data User data.
126
+ *
127
+ * @return array $data The Person schema.
128
+ */
129
+ protected function add_image( $data, $user_data ) {
130
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::add_image' );
131
+
132
+ return parent::add_image( $data, $user_data );
133
+ }
134
+
135
+ /**
136
+ * Returns an author's social site URL.
137
+ *
138
+ * @codeCoverageIgnore
139
+ * @deprecated 14.0
140
+ *
141
+ * @param string $social_site The social site to retrieve the URL for.
142
+ * @param mixed $user_id The user ID to use function outside of the loop.
143
+ *
144
+ * @return string
145
+ */
146
+ protected function url_social_site( $social_site, $user_id = false ) {
147
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Person::url_social_site' );
148
+
149
+ return parent::url_social_site( $social_site, $user_id );
150
+ }
151
+ }
{frontend → deprecated/frontend}/schema/class-schema-utils.php RENAMED
@@ -8,6 +8,8 @@
8
  /**
9
  * Schema utility functions.
10
  *
 
 
11
  * @since 11.6
12
  */
13
  class WPSEO_Schema_Utils {
@@ -15,32 +17,32 @@ class WPSEO_Schema_Utils {
15
  /**
16
  * Retrieves a user's Schema ID.
17
  *
 
 
 
18
  * @param int $user_id The ID of the User you need a Schema ID for.
19
  * @param WPSEO_Schema_Context $context A value object with context variables.
20
  *
21
  * @return string The user's schema ID.
22
  */
23
  public static function get_user_schema_id( $user_id, $context ) {
24
- $user = get_userdata( $user_id );
25
-
26
- if ( is_object( $user ) && isset( $user->user_login ) ) {
27
- return $context->site_url . WPSEO_Schema_IDs::PERSON_HASH . wp_hash( $user->user_login . $user_id );
28
- }
29
- return $context->site_url . WPSEO_Schema_IDs::PERSON_HASH;
30
  }
31
 
32
  /**
33
  * Retrieves the post title with fallback to `No title`.
34
  *
 
 
 
35
  * @param int $post_id Optional. Post ID.
36
  *
37
  * @return string The post title with fallback to `No title`.
38
  */
39
  public static function get_post_title_with_fallback( $post_id = 0 ) {
40
- $post_title = get_the_title( $post_id );
41
- $title = ( $post_title ) ? $post_title : __( 'No title', 'wordpress-seo' );
42
-
43
- return $title;
44
  }
45
 
46
  /**
@@ -50,18 +52,15 @@ class WPSEO_Schema_Utils {
50
  * language tag syntax is made of one or more subtags separated by a hyphen
51
  * e.g. "en", "en-US", "zh-Hant-CN".
52
  *
 
 
 
53
  * @param array $data The Schema piece data.
54
  *
55
- * @return string The Schema piece language.
56
  */
57
  public static function add_piece_language( $data ) {
58
- /**
59
- * Filter: 'wpseo_schema_piece_language' - Allow changing the Schema piece language.
60
- *
61
- * @api string $type The Schema piece language.
62
- */
63
- $data['inLanguage'] = apply_filters( 'wpseo_schema_piece_language', get_bloginfo( 'language' ), $data );
64
-
65
- return $data;
66
  }
67
  }
8
  /**
9
  * Schema utility functions.
10
  *
11
+ * @deprecated 14.0
12
+ *
13
  * @since 11.6
14
  */
15
  class WPSEO_Schema_Utils {
17
  /**
18
  * Retrieves a user's Schema ID.
19
  *
20
+ * @codeCoverageIgnore
21
+ * @deprecated 14.0
22
+ *
23
  * @param int $user_id The ID of the User you need a Schema ID for.
24
  * @param WPSEO_Schema_Context $context A value object with context variables.
25
  *
26
  * @return string The user's schema ID.
27
  */
28
  public static function get_user_schema_id( $user_id, $context ) {
29
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->id->get_user_schema_id' );
30
+ return YoastSEO()->helpers->schema->id->get_user_schema_id( $user_id, $context );
 
 
 
 
31
  }
32
 
33
  /**
34
  * Retrieves the post title with fallback to `No title`.
35
  *
36
+ * @codeCoverageIgnore
37
+ * @deprecated 14.0
38
+ *
39
  * @param int $post_id Optional. Post ID.
40
  *
41
  * @return string The post title with fallback to `No title`.
42
  */
43
  public static function get_post_title_with_fallback( $post_id = 0 ) {
44
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', ' YoastSEO()->helpers->post->get_post_title_with_fallback' );
45
+ return YoastSEO()->helpers->post->get_post_title_with_fallback( $post_id );
 
 
46
  }
47
 
48
  /**
52
  * language tag syntax is made of one or more subtags separated by a hyphen
53
  * e.g. "en", "en-US", "zh-Hant-CN".
54
  *
55
+ * @codeCoverageIgnore
56
+ * @deprecated 14.0
57
+ *
58
  * @param array $data The Schema piece data.
59
  *
60
+ * @return array The Schema piece data with added language property.
61
  */
62
  public static function add_piece_language( $data ) {
63
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->language->add_piece_language' );
64
+ return YoastSEO()->helpers->schema->language->add_piece_language( $data );
 
 
 
 
 
 
65
  }
66
  }
deprecated/frontend/schema/class-schema-webpage.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\WebPage;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema WebPage data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 10.2
17
+ */
18
+ class WPSEO_Schema_WebPage extends WebPage implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * The date helper.
22
+ *
23
+ * @var WPSEO_Date_Helper
24
+ */
25
+ protected $date;
26
+
27
+ /**
28
+ * WPSEO_Schema_WebPage constructor.
29
+ *
30
+ * @param null $context The context. No longer used but present for BC.
31
+ *
32
+ * @codeCoverageIgnore
33
+ * @deprecated 14.0
34
+ */
35
+ public function __construct( $context = null ) {
36
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\WebPage' );
37
+
38
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
39
+ $this->context = $memoizer->for_current_page();
40
+ $this->helpers = YoastSEO()->helpers;
41
+ $this->date = new WPSEO_Date_Helper();
42
+ }
43
+
44
+ /**
45
+ * Determines whether or not a piece should be added to the graph.
46
+ *
47
+ * @codeCoverageIgnore
48
+ * @deprecated 14.0
49
+ *
50
+ * @return bool
51
+ */
52
+ public function is_needed() {
53
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\WebPage::is_needed' );
54
+
55
+ return parent::is_needed();
56
+ }
57
+
58
+ /**
59
+ * Returns WebPage schema data.
60
+ *
61
+ * @codeCoverageIgnore
62
+ * @deprecated 14.0
63
+ *
64
+ * @return array WebPage schema data.
65
+ */
66
+ public function generate() {
67
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\WebPage::generate' );
68
+
69
+ return parent::generate();
70
+ }
71
+
72
+ /**
73
+ * Adds an author property to the $data if the WebPage is not represented.
74
+ *
75
+ * @codeCoverageIgnore
76
+ * @deprecated 14.0
77
+ *
78
+ * @param array $data The WebPage schema.
79
+ * @param WP_Post $post The post the context is representing.
80
+ *
81
+ * @return array The WebPage schema.
82
+ */
83
+ public function add_author( $data, $post ) {
84
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\WebPage::add_author' );
85
+
86
+ return parent::add_author( $data, $post );
87
+ }
88
+
89
+ /**
90
+ * If we have an image, make it the primary image of the page.
91
+ *
92
+ * @codeCoverageIgnore
93
+ * @deprecated 14.0
94
+ *
95
+ * @param array $data WebPage schema data.
96
+ */
97
+ public function add_image( &$data ) {
98
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\WebPage::add_image' );
99
+
100
+ parent::add_image( $data );
101
+ }
102
+ }
deprecated/frontend/schema/class-schema-website.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ use Yoast\WP\SEO\Generators\Schema\Website;
9
+ use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
10
+
11
+ /**
12
+ * Returns schema Website data.
13
+ *
14
+ * @deprecated 14.0
15
+ *
16
+ * @since 10.2
17
+ */
18
+ class WPSEO_Schema_Website extends Website implements WPSEO_Graph_Piece {
19
+
20
+ /**
21
+ * WPSEO_Schema_Website constructor.
22
+ *
23
+ * @param null $context The context. No longer used but present for BC.
24
+ *
25
+ * @codeCoverageIgnore
26
+ * @deprecated 14.0
27
+ */
28
+ public function __construct( $context = null ) {
29
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Website' );
30
+
31
+ $memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
32
+ $this->context = $memoizer->for_current_page();
33
+ $this->helpers = YoastSEO()->helpers;
34
+ }
35
+
36
+ /**
37
+ * Determines whether or not a piece should be added to the graph.
38
+ *
39
+ * @codeCoverageIgnore
40
+ * @deprecated 14.0
41
+ *
42
+ * @return bool
43
+ */
44
+ public function is_needed() {
45
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Website::is_needed' );
46
+
47
+ return parent::is_needed();
48
+ }
49
+
50
+ /**
51
+ * Outputs code to allow recognition of the internal search engine.
52
+ *
53
+ * @codeCoverageIgnore
54
+ * @deprecated 14.0
55
+ *
56
+ * @since 1.5.7
57
+ *
58
+ * @link https://developers.google.com/structured-data/site-name
59
+ *
60
+ * @return array Website data blob.
61
+ */
62
+ public function generate() {
63
+ _deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Website::generate' );
64
+
65
+ return parent::generate();
66
+ }
67
+ }
deprecated/frontend/schema/class-schema.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Frontend\Schema
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Schema
10
+ *
11
+ * Outputs schema code specific for Google's JSON LD stuff.
12
+ *
13
+ * @deprecated 14.0
14
+ *
15
+ * @since 1.8
16
+ */
17
+ class WPSEO_Schema implements WPSEO_WordPress_Integration {
18
+
19
+ /**
20
+ * Registers the hooks.
21
+ *
22
+ * @codeCoverageIgnore
23
+ * @deprecated 14.0
24
+ */
25
+ public function register_hooks() {
26
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
27
+ }
28
+
29
+ /**
30
+ * JSON LD output function that the functions for specific code can hook into.
31
+ *
32
+ * @codeCoverageIgnore
33
+ * @deprecated 14.0
34
+ *
35
+ * @since 1.8
36
+ */
37
+ public function json_ld() {
38
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
39
+ }
40
+
41
+ /**
42
+ * Outputs the JSON LD code in a valid JSON+LD wrapper.
43
+ *
44
+ * @codeCoverageIgnore
45
+ * @deprecated 14.0
46
+ *
47
+ * @since 10.2
48
+ *
49
+ * @return void
50
+ */
51
+ public function generate() {
52
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
53
+ }
54
+ }
{frontend → deprecated/frontend}/schema/interface-wpseo-graph-piece.php RENAMED
@@ -9,6 +9,8 @@ if ( ! interface_exists( 'WPSEO_Graph_Piece' ) ) {
9
  /**
10
  * An interface for registering Schema Graph Pieces.
11
  *
 
 
12
  * @since 10.2
13
  */
14
  interface WPSEO_Graph_Piece {
9
  /**
10
  * An interface for registering Schema Graph Pieces.
11
  *
12
+ * @deprecated 14.0
13
+ *
14
  * @since 10.2
15
  */
16
  interface WPSEO_Graph_Piece {
frontend/class-breadcrumbs.php DELETED
@@ -1,1050 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * This class handles the Breadcrumbs generation and display.
10
- */
11
- class WPSEO_Breadcrumbs {
12
-
13
- /**
14
- * Instance of this class.
15
- *
16
- * @var object
17
- */
18
- public static $instance;
19
-
20
- /**
21
- * Last used 'before' string.
22
- *
23
- * @var string
24
- */
25
- public static $before = '';
26
-
27
- /**
28
- * Last used 'after' string.
29
- *
30
- * @var string
31
- */
32
- public static $after = '';
33
-
34
- /**
35
- * The date helper.
36
- *
37
- * @var WPSEO_Date_Helper
38
- */
39
- protected $date;
40
-
41
- /**
42
- * Blog's show on front setting, 'page' or 'posts'.
43
- *
44
- * @var string
45
- */
46
- private $show_on_front;
47
-
48
- /**
49
- * Blog's page for posts setting, page id or false.
50
- *
51
- * @var mixed
52
- */
53
- private $page_for_posts;
54
-
55
- /**
56
- * Current post object.
57
- *
58
- * @var mixed
59
- */
60
- private $post;
61
-
62
- /**
63
- * HTML wrapper element for a single breadcrumb element.
64
- *
65
- * @var string
66
- */
67
- private $element = 'span';
68
-
69
- /**
70
- * Yoast SEO breadcrumb separator.
71
- *
72
- * @var string
73
- */
74
- private $separator = '';
75
-
76
- /**
77
- * HTML wrapper element for the Yoast SEO breadcrumbs output.
78
- *
79
- * @var string
80
- */
81
- private $wrapper = 'span';
82
-
83
- /**
84
- * Array of crumbs.
85
- *
86
- * Each element of the crumbs array can either have one of these keys:
87
- * "id" for post types;
88
- * "ptarchive" for a post type archive;
89
- * "term" for a taxonomy term.
90
- * OR it consists of a predefined set of 'text', 'url' and 'allow_html'.
91
- *
92
- * @var array
93
- */
94
- private $crumbs = [];
95
-
96
- /**
97
- * Count of the elements in the $crumbs property.
98
- *
99
- * @var int
100
- */
101
- private $crumb_count = 0;
102
-
103
- /**
104
- * Array of individual (linked) html strings created from crumbs.
105
- *
106
- * @var array
107
- */
108
- private $links = [];
109
-
110
- /**
111
- * Breadcrumb html string.
112
- *
113
- * @var string
114
- */
115
- private $output;
116
-
117
- /**
118
- * Holds the WooCommerce shop page instance.
119
- *
120
- * @var WPSEO_WooCommerce_Shop_Page
121
- */
122
- private $woocommerce_shop_page;
123
-
124
- /**
125
- * Create the breadcrumb.
126
- */
127
- protected function __construct() {
128
- $this->post = ( isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null );
129
- $this->show_on_front = get_option( 'show_on_front' );
130
- $this->page_for_posts = get_option( 'page_for_posts' );
131
- $this->woocommerce_shop_page = new WPSEO_WooCommerce_Shop_Page();
132
- $this->date = new WPSEO_Date_Helper();
133
-
134
- $this->filter_element();
135
- $this->filter_separator();
136
- $this->filter_wrapper();
137
-
138
- $this->set_crumbs();
139
- $this->prepare_links();
140
- $this->links_to_string();
141
- $this->wrap_breadcrumb();
142
- }
143
-
144
- /**
145
- * Get breadcrumb string using the singleton instance of this class.
146
- *
147
- * @param string $before Optional string to prepend.
148
- * @param string $after Optional string to append.
149
- * @param bool $display Echo or return flag.
150
- *
151
- * @return string Returns the breadcrumbs as a string.
152
- */
153
- public static function breadcrumb( $before = '', $after = '', $display = true ) {
154
- // Remember the last used before/after for use in case the object goes __toString().
155
- self::$before = $before;
156
- self::$after = $after;
157
-
158
- $instance = self::get_instance();
159
- $output = $before . $instance->output . $after;
160
-
161
- if ( $display === true ) {
162
- echo $output;
163
-
164
- return '';
165
- }
166
-
167
- return $output;
168
- }
169
-
170
- /**
171
- * Magic method to use in case the class would be send to string.
172
- *
173
- * @return string
174
- */
175
- public function __toString() {
176
- return self::$before . $this->output . self::$after;
177
- }
178
-
179
- /**
180
- * Retrieves an instance of the class.
181
- *
182
- * @return WPSEO_Breadcrumbs The instance.
183
- */
184
- public static function get_instance() {
185
- if ( ! ( self::$instance instanceof self ) ) {
186
- self::$instance = new self();
187
- }
188
-
189
- return self::$instance;
190
- }
191
-
192
- /**
193
- * Returns the collected links for the breadcrumbs.
194
- *
195
- * @return array The collected links.
196
- */
197
- public function get_links() {
198
- return $this->links;
199
- }
200
-
201
- /**
202
- * Returns the link url for a single id.
203
- *
204
- * When the target is private and the user isn't allowed to access it, just return an empty string.
205
- *
206
- * @param int $id The target id.
207
- *
208
- * @return string Empty string when post isn't accessible. An URL if accessible.
209
- */
210
- protected function get_link_url_for_id( $id ) {
211
- $post_status = get_post_status( $id );
212
- $post_type = get_post_type_object( get_post_type( $id ) );
213
-
214
- // Don't link if item is private and user does't have capability to read it.
215
- if ( $post_status === 'private' && $post_type !== null && ! current_user_can( $post_type->cap->read_private_posts ) ) {
216
- return '';
217
- }
218
-
219
- $url = get_permalink( $id );
220
- if ( $url === false ) {
221
- return '';
222
- }
223
-
224
- return $url;
225
- }
226
-
227
- /**
228
- * Filter: 'wpseo_breadcrumb_single_link_wrapper' - Allows developer to change or wrap each breadcrumb element.
229
- *
230
- * @api string $element
231
- */
232
- private function filter_element() {
233
- $this->element = esc_attr( apply_filters( 'wpseo_breadcrumb_single_link_wrapper', $this->element ) );
234
- }
235
-
236
- /**
237
- * Filter: 'wpseo_breadcrumb_separator' - Allow (theme) developer to change the Yoast SEO breadcrumb separator.
238
- *
239
- * @api string $breadcrumbs_sep Breadcrumbs separator.
240
- */
241
- private function filter_separator() {
242
- $separator = apply_filters( 'wpseo_breadcrumb_separator', WPSEO_Options::get( 'breadcrumbs-sep' ) );
243
- $this->separator = ' ' . $separator . ' ';
244
- }
245
-
246
- /**
247
- * Filter: 'wpseo_breadcrumb_output_wrapper' - Allow changing the HTML wrapper element for the Yoast SEO breadcrumbs output.
248
- *
249
- * @api string $wrapper The wrapper element.
250
- */
251
- private function filter_wrapper() {
252
- $wrapper = apply_filters( 'wpseo_breadcrumb_output_wrapper', $this->wrapper );
253
- $wrapper = tag_escape( $wrapper );
254
- if ( is_string( $wrapper ) && '' !== $wrapper ) {
255
- $this->wrapper = $wrapper;
256
- }
257
- }
258
-
259
- /**
260
- * Get a term's parents.
261
- *
262
- * @param object $term Term to get the parents for.
263
- *
264
- * @return array
265
- */
266
- private function get_term_parents( $term ) {
267
- $tax = $term->taxonomy;
268
- $parents = [];
269
- while ( $term->parent !== 0 ) {
270
- $term = get_term( $term->parent, $tax );
271
- $parents[] = $term;
272
- }
273
-
274
- return array_reverse( $parents );
275
- }
276
-
277
- /**
278
- * Find the deepest term in an array of term objects.
279
- *
280
- * @param array $terms Terms set.
281
- *
282
- * @return object
283
- */
284
- private function find_deepest_term( $terms ) {
285
- /*
286
- * Let's find the deepest term in this array, by looping through and then
287
- * unsetting every term that is used as a parent by another one in the array.
288
- */
289
- $terms_by_id = [];
290
- foreach ( $terms as $term ) {
291
- $terms_by_id[ $term->term_id ] = $term;
292
- }
293
- foreach ( $terms as $term ) {
294
- unset( $terms_by_id[ $term->parent ] );
295
- }
296
- unset( $term );
297
-
298
- /*
299
- * As we could still have two subcategories, from different parent categories,
300
- * let's pick the one with the lowest ordered ancestor.
301
- */
302
- $parents_count = 0;
303
- $term_order = 9999; // Because ASC.
304
- reset( $terms_by_id );
305
- $deepest_term = current( $terms_by_id );
306
- foreach ( $terms_by_id as $term ) {
307
- $parents = $this->get_term_parents( $term );
308
-
309
- if ( count( $parents ) >= $parents_count ) {
310
-
311
- $parents_count = count( $parents );
312
-
313
- $parent_order = 9999; // Set default order.
314
- foreach ( $parents as $parent ) {
315
- if ( $parent->parent === 0 && isset( $parent->term_order ) ) {
316
- $parent_order = $parent->term_order;
317
- }
318
- }
319
- unset( $parent );
320
-
321
- // Check if parent has lowest order.
322
- if ( $parent_order < $term_order ) {
323
- $term_order = $parent_order;
324
- $deepest_term = $term;
325
- }
326
- }
327
- }
328
-
329
- return $deepest_term;
330
- }
331
-
332
- /**
333
- * Retrieve the hierachical ancestors for the current 'post'.
334
- *
335
- * @return array
336
- */
337
- private function get_post_ancestors() {
338
- $ancestors = [];
339
-
340
- if ( isset( $this->post->ancestors ) ) {
341
- if ( is_array( $this->post->ancestors ) ) {
342
- $ancestors = array_values( $this->post->ancestors );
343
- }
344
- else {
345
- $ancestors = [ $this->post->ancestors ];
346
- }
347
- }
348
- elseif ( isset( $this->post->post_parent ) ) {
349
- $ancestors = [ $this->post->post_parent ];
350
- }
351
-
352
- /**
353
- * Filter: Allow changing the ancestors for the Yoast SEO breadcrumbs output.
354
- *
355
- * @api array $ancestors Ancestors.
356
- */
357
- $ancestors = apply_filters( 'wp_seo_get_bc_ancestors', $ancestors );
358
-
359
- if ( ! is_array( $ancestors ) ) {
360
- trigger_error( 'The return value for the "wp_seo_get_bc_ancestors" filter should be an array.', E_USER_WARNING );
361
- $ancestors = (array) $ancestors;
362
- }
363
-
364
- // Reverse the order so it's oldest to newest.
365
- $ancestors = array_reverse( $ancestors );
366
-
367
- return $ancestors;
368
- }
369
-
370
- /**
371
- * Determine the crumbs which should form the breadcrumb.
372
- */
373
- private function set_crumbs() {
374
- global $wp_query;
375
-
376
- $this->maybe_add_home_crumb();
377
- $this->maybe_add_blog_crumb();
378
-
379
- // Ignore coding standards for empty if statement.
380
- // @codingStandardsIgnoreStart
381
- if ( $this->is_front_page() ) {
382
- // Do nothing.
383
- // @codingStandardsIgnoreEnd
384
- }
385
- elseif ( $this->show_on_front === 'page' && is_home() ) {
386
- $this->add_blog_crumb();
387
- }
388
- elseif ( is_singular() ) {
389
- $this->maybe_add_pt_archive_crumb_for_post();
390
-
391
- if ( isset( $this->post->post_parent ) && 0 === $this->post->post_parent ) {
392
- $this->maybe_add_taxonomy_crumbs_for_post();
393
- }
394
-
395
- if ( isset( $this->post->post_parent ) && $this->post->post_parent !== 0 ) {
396
- $this->add_post_ancestor_crumbs();
397
- }
398
-
399
- if ( isset( $this->post->ID ) ) {
400
- $this->add_single_post_crumb( $this->post->ID );
401
- }
402
- }
403
- elseif ( is_post_type_archive() ) {
404
- if ( $this->woocommerce_shop_page->is_shop_page() &&
405
- $this->woocommerce_shop_page->get_shop_page_id() !== -1
406
- ) {
407
- $this->add_single_post_crumb( $this->woocommerce_shop_page->get_shop_page_id() );
408
- }
409
- else {
410
- $post_type = $wp_query->get( 'post_type' );
411
-
412
- if ( $post_type && is_string( $post_type ) ) {
413
- $this->add_ptarchive_crumb( $post_type );
414
- }
415
- }
416
- }
417
- elseif ( is_tax() || is_tag() || is_category() ) {
418
- $this->add_crumbs_for_taxonomy();
419
- }
420
- elseif ( is_date() ) {
421
- if ( is_day() ) {
422
- $this->add_linked_month_year_crumb();
423
- $this->add_date_crumb();
424
- }
425
- elseif ( is_month() ) {
426
- $this->add_month_crumb();
427
- }
428
- elseif ( is_year() ) {
429
- $this->add_year_crumb();
430
- }
431
- }
432
- elseif ( is_author() ) {
433
- $user = $wp_query->get_queried_object();
434
- $display_name = get_the_author_meta( 'display_name', $user->ID );
435
- $this->add_predefined_crumb(
436
- WPSEO_Options::get( 'breadcrumbs-archiveprefix' ) . ' ' . $display_name,
437
- null,
438
- true
439
- );
440
- }
441
- elseif ( is_search() ) {
442
- $this->add_predefined_crumb(
443
- WPSEO_Options::get( 'breadcrumbs-searchprefix' ) . ' “' . esc_html( get_search_query() ) . '”',
444
- null,
445
- true
446
- );
447
- }
448
- elseif ( is_404() ) {
449
- $this->add_predefined_crumb(
450
- WPSEO_Options::get( 'breadcrumbs-404crumb' ),
451
- null,
452
- true
453
- );
454
- }
455
-
456
- $this->maybe_add_page_crumb();
457
-
458
- /**
459
- * Filter: 'wpseo_breadcrumb_links' - Allow the developer to filter the Yoast SEO breadcrumb links, add to them, change order, etc.
460
- *
461
- * @api array $crumbs The crumbs array.
462
- */
463
- $this->crumbs = apply_filters( 'wpseo_breadcrumb_links', $this->crumbs );
464
-
465
- $this->crumb_count = count( $this->crumbs );
466
- }
467
-
468
- /**
469
- * Determine whether we are on the front page of the site.
470
- *
471
- * @return bool
472
- */
473
- private function is_front_page() {
474
- if ( $this->show_on_front === 'page' && is_front_page() ) {
475
- return true;
476
- }
477
-
478
- if ( $this->show_on_front === 'posts' && is_home() ) {
479
- return true;
480
- }
481
-
482
- return false;
483
- }
484
-
485
- /**
486
- * Add a single id based crumb to the crumbs property.
487
- *
488
- * @param int $id Post ID.
489
- */
490
- private function add_single_post_crumb( $id ) {
491
- $this->crumbs[] = [
492
- 'id' => $id,
493
- ];
494
- }
495
-
496
- /**
497
- * Add a term based crumb to the crumbs property.
498
- *
499
- * @param object $term Term data object.
500
- */
501
- private function add_term_crumb( $term ) {
502
- $this->crumbs[] = [
503
- 'term' => $term,
504
- ];
505
- }
506
-
507
- /**
508
- * Add a ptarchive based crumb to the crumbs property.
509
- *
510
- * @param string $pt Post type.
511
- */
512
- private function add_ptarchive_crumb( $pt ) {
513
- $this->crumbs[] = [
514
- 'ptarchive' => $pt,
515
- ];
516
- }
517
-
518
- /**
519
- * Add a predefined crumb to the crumbs property.
520
- *
521
- * @param string $text Text string.
522
- * @param string $url URL string.
523
- * @param bool $allow_html Flag to allow HTML.
524
- */
525
- private function add_predefined_crumb( $text, $url = '', $allow_html = false ) {
526
- $this->crumbs[] = [
527
- 'text' => $text,
528
- 'url' => $url,
529
- 'allow_html' => $allow_html,
530
- ];
531
- }
532
-
533
- /**
534
- * Add Homepage crumb to the crumbs property.
535
- */
536
- private function maybe_add_home_crumb() {
537
- if ( WPSEO_Options::get( 'breadcrumbs-home' ) !== '' ) {
538
- $this->add_predefined_crumb(
539
- WPSEO_Options::get( 'breadcrumbs-home' ),
540
- WPSEO_Utils::home_url(),
541
- true
542
- );
543
- }
544
- }
545
-
546
- /**
547
- * Add Blog crumb to the crumbs property.
548
- */
549
- private function add_blog_crumb() {
550
- $this->add_single_post_crumb( $this->page_for_posts );
551
- }
552
-
553
- /**
554
- * Add Blog crumb to the crumbs property for single posts where Home != blogpage.
555
- *
556
- * @return void
557
- */
558
- private function maybe_add_blog_crumb() {
559
- // When the show blog page is not enabled.
560
- if ( WPSEO_Options::get( 'breadcrumbs-display-blog-page' ) !== true ) {
561
- return;
562
- }
563
-
564
- // When there is no page configured as blog page.
565
- if ( 'page' !== $this->show_on_front || ! $this->page_for_posts ) {
566
- return;
567
- }
568
-
569
- // When the current page is the home page, searchpage or isn't a singular post.
570
- if ( is_home() || is_search() || ! is_singular( 'post' ) ) {
571
- return;
572
- }
573
-
574
- $this->add_blog_crumb();
575
- }
576
-
577
- /**
578
- * Add ptarchive crumb to the crumbs property if it can be linked to, for a single post.
579
- */
580
- private function maybe_add_pt_archive_crumb_for_post() {
581
- // Never do this for the Post type archive for posts, as that would break `maybe_add_blog_crumb`.
582
- if ( $this->post->post_type === 'post' ) {
583
- return;
584
- }
585
-
586
- if ( isset( $this->post->post_type ) && get_post_type_archive_link( $this->post->post_type ) ) {
587
- $this->add_ptarchive_crumb( $this->post->post_type );
588
- }
589
- }
590
-
591
- /**
592
- * Add taxonomy crumbs to the crumbs property for a single post.
593
- */
594
- private function maybe_add_taxonomy_crumbs_for_post() {
595
- if ( WPSEO_Options::get( 'post_types-' . $this->post->post_type . '-maintax' ) && (string) WPSEO_Options::get( 'post_types-' . $this->post->post_type . '-maintax' ) !== '0' ) {
596
- $main_tax = WPSEO_Options::get( 'post_types-' . $this->post->post_type . '-maintax' );
597
- if ( isset( $this->post->ID ) ) {
598
- $terms = get_the_terms( $this->post, $main_tax );
599
-
600
- if ( is_array( $terms ) && $terms !== [] ) {
601
-
602
- $primary_term = new WPSEO_Primary_Term( $main_tax, $this->post->ID );
603
- if ( $primary_term->get_primary_term() ) {
604
- $breadcrumb_term = get_term( $primary_term->get_primary_term(), $main_tax );
605
- }
606
- else {
607
- $breadcrumb_term = $this->find_deepest_term( $terms );
608
- }
609
-
610
- if ( is_taxonomy_hierarchical( $main_tax ) && $breadcrumb_term->parent !== 0 ) {
611
- $parent_terms = $this->get_term_parents( $breadcrumb_term );
612
- foreach ( $parent_terms as $parent_term ) {
613
- $this->add_term_crumb( $parent_term );
614
- }
615
- }
616
-
617
- $this->add_term_crumb( $breadcrumb_term );
618
- }
619
- }
620
- }
621
- }
622
-
623
- /**
624
- * Add hierarchical ancestor crumbs to the crumbs property for a single post.
625
- */
626
- private function add_post_ancestor_crumbs() {
627
- $ancestors = $this->get_post_ancestors();
628
- if ( is_array( $ancestors ) && $ancestors !== [] ) {
629
- foreach ( $ancestors as $ancestor ) {
630
- $this->add_single_post_crumb( $ancestor );
631
- }
632
- }
633
- }
634
-
635
- /**
636
- * Add taxonomy parent crumbs to the crumbs property for a taxonomy.
637
- */
638
- private function add_crumbs_for_taxonomy() {
639
- $term = $GLOBALS['wp_query']->get_queried_object();
640
-
641
- // @todo adjust function name.
642
- $this->maybe_add_preferred_term_parent_crumb( $term );
643
-
644
- $this->maybe_add_term_parent_crumbs( $term );
645
-
646
- $this->add_term_crumb( $term );
647
- }
648
-
649
- /**
650
- * Adds a page crumb to the visible breadcrumbs.
651
- *
652
- * @return void
653
- */
654
- private function maybe_add_page_crumb() {
655
- if ( ! is_paged() ) {
656
- return;
657
- }
658
-
659
- $current_page = get_query_var( 'paged', 1 );
660
- if ( $current_page <= 1 ) {
661
- return;
662
- }
663
-
664
- $this->crumbs[] = [
665
- 'text' => sprintf(
666
- /* translators: %s expands to the current page number */
667
- __( 'Page %s', 'wordpress-seo' ),
668
- $current_page
669
- ),
670
- 'url' => '',
671
- 'hide_in_schema' => true,
672
- ];
673
- }
674
-
675
- /**
676
- * Add parent taxonomy crumb based on user defined preference.
677
- *
678
- * @param object $term Term data object.
679
- */
680
- private function maybe_add_preferred_term_parent_crumb( $term ) {
681
- if ( WPSEO_Options::get( 'taxonomy-' . $term->taxonomy . '-ptparent' ) && (string) WPSEO_Options::get( 'taxonomy-' . $term->taxonomy . '-ptparent' ) !== '0' ) {
682
- if ( 'post' === WPSEO_Options::get( 'taxonomy-' . $term->taxonomy . '-ptparent' ) && $this->show_on_front === 'page' ) {
683
- if ( $this->page_for_posts ) {
684
- $this->add_blog_crumb();
685
- }
686
- return;
687
- }
688
- $this->add_ptarchive_crumb( WPSEO_Options::get( 'taxonomy-' . $term->taxonomy . '-ptparent' ) );
689
- }
690
- }
691
-
692
- /**
693
- * Add parent taxonomy crumbs to the crumb property for hierachical taxonomy.
694
- *
695
- * @param object $term Term data object.
696
- */
697
- private function maybe_add_term_parent_crumbs( $term ) {
698
- if ( is_taxonomy_hierarchical( $term->taxonomy ) && $term->parent !== 0 ) {
699
- foreach ( $this->get_term_parents( $term ) as $parent_term ) {
700
- $this->add_term_crumb( $parent_term );
701
- }
702
- }
703
- }
704
-
705
- /**
706
- * Add month-year crumb to crumbs property.
707
- */
708
- private function add_linked_month_year_crumb() {
709
- $this->add_predefined_crumb(
710
- $GLOBALS['wp_locale']->get_month( get_query_var( 'monthnum' ) ) . ' ' . get_query_var( 'year' ),
711
- get_month_link( get_query_var( 'year' ), get_query_var( 'monthnum' ) )
712
- );
713
- }
714
-
715
- /**
716
- * Add (non-link) month crumb to crumbs property.
717
- */
718
- private function add_month_crumb() {
719
- $this->add_predefined_crumb(
720
- WPSEO_Options::get( 'breadcrumbs-archiveprefix' ) . ' ' . esc_html( single_month_title( ' ', false ) ),
721
- null,
722
- true
723
- );
724
- }
725
-
726
- /**
727
- * Add (non-link) year crumb to crumbs property.
728
- */
729
- private function add_year_crumb() {
730
- $this->add_predefined_crumb(
731
- WPSEO_Options::get( 'breadcrumbs-archiveprefix' ) . ' ' . esc_html( get_query_var( 'year' ) ),
732
- null,
733
- true
734
- );
735
- }
736
-
737
- /**
738
- * Add (non-link) date crumb to crumbs property.
739
- */
740
- private function add_date_crumb() {
741
- $date = get_the_date();
742
-
743
- $this->add_predefined_crumb(
744
- WPSEO_Options::get( 'breadcrumbs-archiveprefix' ) . ' ' . esc_html( $date ),
745
- null,
746
- true
747
- );
748
- }
749
-
750
- /**
751
- * Take the crumbs array and convert each crumb to a single breadcrumb string.
752
- *
753
- * @link http://support.google.com/webmasters/bin/answer.py?hl=en&answer=185417 Google documentation on RDFA
754
- */
755
- private function prepare_links() {
756
- if ( ! is_array( $this->crumbs ) || $this->crumbs === [] ) {
757
- return;
758
- }
759
-
760
- foreach ( $this->crumbs as $index => $crumb ) {
761
- $link_info = $crumb; // Keep pre-set url/text combis.
762
-
763
- if ( isset( $crumb['id'] ) ) {
764
- $link_info = $this->get_link_info_for_id( $crumb['id'] );
765
- }
766
- if ( isset( $crumb['term'] ) ) {
767
- $link_info = $this->get_link_info_for_term( $crumb['term'] );
768
- }
769
- if ( isset( $crumb['ptarchive'] ) ) {
770
- $link_info = $this->get_link_info_for_ptarchive( $crumb['ptarchive'] );
771
- }
772
-
773
- /**
774
- * Filter: 'wpseo_breadcrumb_single_link_info' - Allow developers to filter the Yoast SEO Breadcrumb link information.
775
- *
776
- * @api array $link_info The breadcrumb link information.
777
- *
778
- * @param int $index The index of the breadcrumb in the list.
779
- * @param array $crumbs The complete list of breadcrumbs.
780
- */
781
- $link_info = apply_filters( 'wpseo_breadcrumb_single_link_info', $link_info, $index, $this->crumbs );
782
-
783
- $this->links[ $index ] = $link_info;
784
- }
785
- }
786
-
787
- /**
788
- * Retrieve link url and text based on post id.
789
- *
790
- * @param int $id Post ID.
791
- *
792
- * @return array Array of link text and url.
793
- */
794
- private function get_link_info_for_id( $id ) {
795
- $link = [];
796
- $link['url'] = $this->get_link_url_for_id( $id );
797
- $link['text'] = WPSEO_Meta::get_value( 'bctitle', $id );
798
-
799
- if ( $link['text'] === '' ) {
800
- $link['text'] = wp_strip_all_tags( get_the_title( $id ), true );
801
- }
802
-
803
- return $link;
804
- }
805
-
806
- /**
807
- * Retrieve link url and text based on term object.
808
- *
809
- * @param object $term Term object.
810
- *
811
- * @return array Array of link text and url.
812
- */
813
- private function get_link_info_for_term( $term ) {
814
- $link = [];
815
-
816
- $bctitle = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'bctitle' );
817
- if ( ! is_string( $bctitle ) || $bctitle === '' ) {
818
- $bctitle = $term->name;
819
- }
820
-
821
- $link['url'] = get_term_link( $term );
822
- $link['text'] = $bctitle;
823
-
824
- return $link;
825
- }
826
-
827
- /**
828
- * Retrieve link url and text based on post type.
829
- *
830
- * @param string $pt Post type.
831
- *
832
- * @return array Array of link text and url.
833
- */
834
- private function get_link_info_for_ptarchive( $pt ) {
835
- $link = [];
836
- $archive_title = $this->get_archive_title( $pt );
837
-
838
- $link['url'] = get_post_type_archive_link( $pt );
839
- $link['text'] = $archive_title;
840
-
841
- return $link;
842
- }
843
-
844
- /**
845
- * Gets the custom set breadcrumb title for the passed post type.
846
- *
847
- * @param string $post_type The post type to check.
848
- *
849
- * @return string the breadcrumb title.
850
- */
851
- private function get_post_type_archive_breadcrumb( $post_type ) {
852
- return WPSEO_Options::get( 'bctitle-ptarchive-' . $post_type, '' );
853
- }
854
-
855
- /**
856
- * Gets the breadcrumb for the passed post type if it's a WooCommerce product and has a breadcrumb title set.
857
- *
858
- * @param string $post_type The post type to check.
859
- *
860
- * @return string The breadcrumb title.
861
- */
862
- private function get_woocommerce_breadcrumb( $post_type ) {
863
- if ( $post_type !== 'product' || ! WPSEO_Utils::is_woocommerce_active() ) {
864
- return '';
865
- }
866
-
867
- $shop_page_id = $this->woocommerce_shop_page->get_shop_page_id();
868
-
869
- if ( $shop_page_id === -1 ) {
870
- return '';
871
- }
872
-
873
- return WPSEO_Meta::get_value( 'bctitle', $shop_page_id );
874
- }
875
-
876
- /**
877
- * Determines the archive title based on the passed post type.
878
- *
879
- * @param string $post_type The post type to determine the title for.
880
- *
881
- * @return string The archive title.
882
- */
883
- private function get_archive_title( $post_type ) {
884
- $woocommerce_breadcrumb = $this->get_woocommerce_breadcrumb( $post_type );
885
-
886
- if ( $woocommerce_breadcrumb !== '' ) {
887
- return $woocommerce_breadcrumb;
888
- }
889
-
890
- $post_type_archive_breadcrumb = $this->get_post_type_archive_breadcrumb( $post_type );
891
-
892
- if ( $post_type_archive_breadcrumb !== '' ) {
893
- return $post_type_archive_breadcrumb;
894
- }
895
-
896
- $post_type_obj = get_post_type_object( $post_type );
897
-
898
- if ( ! is_object( $post_type_obj ) ) {
899
- return '';
900
- }
901
-
902
- if ( isset( $post_type_obj->label ) && $post_type_obj->label !== '' ) {
903
- return $post_type_obj->label;
904
- }
905
-
906
- if ( isset( $post_type_obj->labels->menu_name ) && $post_type_obj->labels->menu_name !== '' ) {
907
- return $post_type_obj->labels->menu_name;
908
- }
909
-
910
- return $post_type_obj->name;
911
- }
912
-
913
- /**
914
- * Create a breadcrumb element string.
915
- *
916
- * @todo The `$paged` variable only works for archives, not for paged articles, so this does not work
917
- * for paged article at this moment.
918
- *
919
- * @param array $link Link info array containing the keys:
920
- * 'text' => (string) link text.
921
- * 'url' => (string) link url.
922
- * (optional) 'title' => (string) link title attribute text.
923
- * (optional) 'allow_html' => (bool) whether to (not) escape html in the link text.
924
- * This prevents html stripping from the text strings set in the
925
- * WPSEO -> Internal Links options page.
926
- * @param int $i Index for the current breadcrumb.
927
- *
928
- * @return string
929
- */
930
- private function crumb_to_link( $link, $i ) {
931
- $link_output = '';
932
-
933
- if ( isset( $link['text'] ) && ( is_string( $link['text'] ) && $link['text'] !== '' ) ) {
934
-
935
- $link['text'] = trim( $link['text'] );
936
- if ( ! isset( $link['allow_html'] ) || $link['allow_html'] !== true ) {
937
- $link['text'] = esc_html( $link['text'] );
938
- }
939
-
940
- if ( ( $i < ( $this->crumb_count - 1 ) && ( isset( $link['url'] ) && ( is_string( $link['url'] ) && $link['url'] !== '' ) ) )
941
- ) {
942
- $link_output .= '<' . $this->element . '>';
943
- $title_attr = isset( $link['title'] ) ? ' title="' . esc_attr( $link['title'] ) . '"' : '';
944
- $link_output .= '<a href="' . esc_url( $link['url'] ) . '" ' . $title_attr . '>' . $link['text'] . '</a>';
945
- }
946
- else {
947
- $inner_elm = 'span';
948
- if ( $i === ( $this->crumb_count - 1 ) && WPSEO_Options::get( 'breadcrumbs-boldlast' ) === true ) {
949
- $inner_elm = 'strong';
950
- }
951
-
952
- $link_output .= '<' . $inner_elm . ' class="breadcrumb_last" aria-current="page">' . $link['text'] . '</' . $inner_elm . '>';
953
- // This is the last element, now close all previous elements.
954
- while ( $i > 0 ) {
955
- $link_output .= '</' . $this->element . '>';
956
- $i--;
957
- }
958
- }
959
- }
960
-
961
- /**
962
- * Filter: 'wpseo_breadcrumb_single_link' - Allow changing of each link being put out by the Yoast SEO breadcrumbs class.
963
- *
964
- * @api string $link_output The output string.
965
- *
966
- * @param array $link The link array.
967
- */
968
-
969
- return apply_filters( 'wpseo_breadcrumb_single_link', $link_output, $link );
970
- }
971
-
972
- /**
973
- * Create a complete breadcrumb string from an array of breadcrumb element strings.
974
- */
975
- private function links_to_string() {
976
- if ( is_array( $this->links ) && $this->links !== [] ) {
977
- // Converts info to an effective link.
978
- $links = $this->links;
979
- foreach ( $links as $key => $link ) {
980
- $links[ $key ] = $this->crumb_to_link( $link, $key );
981
- }
982
-
983
- // Removes any effectively empty links.
984
- $links = array_map( 'trim', $links );
985
- $links = array_filter( $links );
986
-
987
- $this->output = implode( $this->separator, $links );
988
- }
989
- }
990
-
991
- /**
992
- * Wrap a complete breadcrumb string in a wrapper.
993
- */
994
- private function wrap_breadcrumb() {
995
- if ( is_string( $this->output ) && $this->output !== '' ) {
996
- $output = '<' . $this->wrapper . $this->get_output_id() . $this->get_output_class() . '>' . $this->output . '</' . $this->wrapper . '>';
997
-
998
- /**
999
- * Filter: 'wpseo_breadcrumb_output' - Allow changing the HTML output of the Yoast SEO breadcrumbs class.
1000
- *
1001
- * @api string $unsigned HTML output.
1002
- */
1003
- $output = apply_filters( 'wpseo_breadcrumb_output', $output );
1004
-
1005
- if ( WPSEO_Options::get( 'breadcrumbs-prefix' ) !== '' ) {
1006
- $output = "\t" . WPSEO_Options::get( 'breadcrumbs-prefix' ) . "\n" . $output;
1007
- }
1008
-
1009
- $this->output = $output;
1010
- }
1011
- }
1012
-
1013
- /**
1014
- * Retrieves HTML ID attribute.
1015
- *
1016
- * @return string
1017
- */
1018
- private function get_output_id() {
1019
- /**
1020
- * Filter: 'wpseo_breadcrumb_output_id' - Allow changing the HTML ID on the Yoast SEO breadcrumbs wrapper element.
1021
- *
1022
- * @api string $unsigned ID to add to the wrapper element.
1023
- */
1024
- $id = apply_filters( 'wpseo_breadcrumb_output_id', '' );
1025
- if ( is_string( $id ) && '' !== $id ) {
1026
- $id = ' id="' . esc_attr( $id ) . '"';
1027
- }
1028
-
1029
- return $id;
1030
- }
1031
-
1032
- /**
1033
- * Retrieves HTML Class attribute.
1034
- *
1035
- * @return string
1036
- */
1037
- private function get_output_class() {
1038
- /**
1039
- * Filter: 'wpseo_breadcrumb_output_class' - Allow changing the HTML class on the Yoast SEO breadcrumbs wrapper element.
1040
- *
1041
- * @api string $unsigned Class to add to the wrapper element.
1042
- */
1043
- $class = apply_filters( 'wpseo_breadcrumb_output_class', '' );
1044
- if ( is_string( $class ) && '' !== $class ) {
1045
- $class = ' class="' . esc_attr( $class ) . '"';
1046
- }
1047
-
1048
- return $class;
1049
- }
1050
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-frontend.php DELETED
@@ -1,1960 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- use Yoast\WP\SEO\Helpers\Author_Archive_Helper;
9
-
10
- /**
11
- * Main frontend class for Yoast SEO, responsible for the SEO output as well as removing
12
- * default WordPress output.
13
- */
14
- class WPSEO_Frontend {
15
-
16
- /**
17
- * Instance of this class.
18
- *
19
- * @var object
20
- */
21
- public static $instance;
22
-
23
- /**
24
- * Toggle indicating whether output buffering has been started.
25
- *
26
- * @var bool
27
- */
28
- private $ob_started = false;
29
-
30
- /**
31
- * Holds the canonical URL for the current page.
32
- *
33
- * @var string
34
- */
35
- private $canonical = null;
36
-
37
- /**
38
- * Holds the canonical URL for the current page that cannot be overriden by a manual canonical input.
39
- *
40
- * @var string
41
- */
42
- private $canonical_no_override = null;
43
-
44
- /**
45
- * Holds the canonical URL for the current page without pagination.
46
- *
47
- * @var string
48
- */
49
- private $canonical_unpaged = null;
50
-
51
- /**
52
- * Holds the pages meta description.
53
- *
54
- * @var string
55
- */
56
- private $metadesc = null;
57
-
58
- /**
59
- * Holds the generated title for the page.
60
- *
61
- * @var string
62
- */
63
- private $title = null;
64
-
65
- /**
66
- * An instance of the WPSEO_Frontend_Page_Type class.
67
- *
68
- * @var WPSEO_Frontend_Page_Type
69
- */
70
- protected $frontend_page_type;
71
-
72
- /**
73
- * An instance of the WPSEO_WooCommerce_Shop_Page class.
74
- *
75
- * @var WPSEO_WooCommerce_Shop_Page
76
- */
77
- protected $woocommerce_shop_page;
78
-
79
- /**
80
- * Default title with replace-vars.
81
- *
82
- * @var string
83
- */
84
- public static $default_title = '%%title%% %%sep%% %%sitename%%';
85
-
86
- /**
87
- * Class constructor.
88
- *
89
- * Adds and removes a lot of filters.
90
- */
91
- protected function __construct() {
92
-
93
- add_action( 'wp_head', [ $this, 'front_page_specific_init' ], 0 );
94
- add_action( 'wp_head', [ $this, 'head' ], 1 );
95
-
96
- // The head function here calls action wpseo_head, to which we hook all our functionality.
97
- add_action( 'wpseo_head', [ $this, 'debug_mark' ], 2 );
98
- add_action( 'wpseo_head', [ $this, 'metadesc' ], 6 );
99
- add_action( 'wpseo_head', [ $this, 'robots' ], 10 );
100
- add_action( 'wpseo_head', [ $this, 'canonical' ], 20 );
101
- add_action( 'wpseo_head', [ $this, 'adjacent_rel_links' ], 21 );
102
-
103
- // Remove actions that we will handle through our wpseo_head call, and probably change the output of.
104
- remove_action( 'wp_head', 'rel_canonical' );
105
- remove_action( 'wp_head', 'index_rel_link' );
106
- remove_action( 'wp_head', 'start_post_rel_link' );
107
- remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
108
- remove_action( 'wp_head', 'noindex', 1 );
109
-
110
- // When using WP 4.4, just use the new hook.
111
- add_filter( 'pre_get_document_title', [ $this, 'title' ], 15 );
112
- add_filter( 'wp_title', [ $this, 'title' ], 15, 3 );
113
-
114
- add_filter( 'thematic_doctitle', [ $this, 'title' ], 15 );
115
-
116
- add_action( 'wp', [ $this, 'page_redirect' ], 99 );
117
-
118
- add_action( 'template_redirect', [ $this, 'noindex_robots' ] );
119
-
120
- add_filter( 'loginout', [ $this, 'nofollow_link' ] );
121
- add_filter( 'register', [ $this, 'nofollow_link' ] );
122
-
123
- // Add support for shortcodes to category descriptions.
124
- add_filter( 'category_description', [ $this, 'custom_category_descriptions_add_shortcode_support' ] );
125
-
126
- // Fix the WooThemes woo_title() output.
127
- add_filter( 'woo_title', [ $this, 'fix_woo_title' ], 99 );
128
-
129
- if ( WPSEO_Options::get( 'disable-date', false )
130
- || WPSEO_Options::get( 'disable-author', false )
131
- || WPSEO_Options::get( 'disable-post_format', false )
132
- ) {
133
- add_action( 'wp', [ $this, 'archive_redirect' ] );
134
- }
135
- add_action( 'template_redirect', [ $this, 'attachment_redirect' ], 1 );
136
-
137
- add_filter( 'the_content_feed', [ $this, 'embed_rssfooter' ] );
138
- add_filter( 'the_excerpt_rss', [ $this, 'embed_rssfooter_excerpt' ] );
139
-
140
- // For WordPress functions below 4.4.
141
- if ( WPSEO_Options::get( 'forcerewritetitle', false ) && ! current_theme_supports( 'title-tag' ) ) {
142
- add_action( 'template_redirect', [ $this, 'force_rewrite_output_buffer' ], 99999 );
143
- add_action( 'wp_footer', [ $this, 'flush_cache' ], - 1 );
144
- }
145
-
146
- if ( WPSEO_Options::get( 'title_test', 0 ) > 0 ) {
147
- add_filter( 'wpseo_title', [ $this, 'title_test_helper' ] );
148
- }
149
-
150
- $this->woocommerce_shop_page = new WPSEO_WooCommerce_Shop_Page();
151
-
152
- $integrations = [
153
- new WPSEO_Frontend_Primary_Category(),
154
- new WPSEO_Schema(),
155
- new WPSEO_Handle_404(),
156
- new WPSEO_Remove_Reply_To_Com(),
157
- new WPSEO_OpenGraph_OEmbed(),
158
- $this->woocommerce_shop_page,
159
- ];
160
-
161
- foreach ( $integrations as $integration ) {
162
- $integration->register_hooks();
163
- }
164
- }
165
-
166
- /**
167
- * Initialize the functions that only need to run on the frontpage.
168
- */
169
- public function front_page_specific_init() {
170
- if ( ! is_front_page() ) {
171
- return;
172
- }
173
-
174
- add_action( 'wpseo_head', [ $this, 'webmaster_tools_authentication' ], 90 );
175
- }
176
-
177
- /**
178
- * Resets the entire class so canonicals, titles etc can be regenerated.
179
- */
180
- public function reset() {
181
- self::$instance = null;
182
- foreach ( get_class_vars( __CLASS__ ) as $name => $default ) {
183
- switch ( $name ) {
184
- // Clear the class instance to be re-initialized.
185
- case 'instance':
186
- self::$instance = null;
187
- break;
188
-
189
- // Exclude these properties from being reset.
190
- case 'woocommerce_shop_page':
191
- case 'default_title':
192
- break;
193
-
194
- // Reset property to the class default.
195
- default:
196
- $this->$name = $default;
197
- break;
198
- }
199
- }
200
- WPSEO_Options::ensure_options_exist();
201
- }
202
-
203
- /**
204
- * Get the singleton instance of this class.
205
- *
206
- * @return WPSEO_Frontend
207
- */
208
- public static function get_instance() {
209
- if ( ! ( self::$instance instanceof self ) ) {
210
- self::$instance = new self();
211
- }
212
-
213
- return self::$instance;
214
- }
215
-
216
- /**
217
- * Override Woo's title with our own.
218
- *
219
- * @param string $title Title string.
220
- *
221
- * @return string
222
- */
223
- public function fix_woo_title( $title ) {
224
- return $this->title( $title );
225
- }
226
-
227
- /**
228
- * Used for static home and posts pages as well as singular titles.
229
- *
230
- * @param object|null $object If filled, object to get the title for.
231
- *
232
- * @return string
233
- */
234
- public function get_content_title( $object = null ) {
235
- if ( $object === null ) {
236
- $object = $GLOBALS['wp_query']->get_queried_object();
237
- }
238
-
239
- $title = $this->get_seo_title( $object );
240
- if ( $title !== '' ) {
241
- return $title;
242
- }
243
-
244
- $post_type = ( isset( $object->post_type ) ? $object->post_type : $object->query_var );
245
-
246
- return $this->get_title_from_options( 'title-' . $post_type, $object );
247
- }
248
-
249
- /**
250
- * Retrieves the SEO title set in the SEO widget.
251
- *
252
- * @param null $object Object to retrieve the title from.
253
- *
254
- * @return string The SEO title for the specified object, or queried object if not supplied.
255
- */
256
- public function get_seo_title( $object = null ) {
257
- if ( $object === null ) {
258
- $object = $GLOBALS['wp_query']->get_queried_object();
259
- }
260
-
261
- if ( ! is_object( $object ) ) {
262
- return $this->get_title_from_options( 'title-404-wpseo' );
263
- }
264
-
265
- $title = $this->get_seo_meta_value( 'title', $object->ID );
266
-
267
- if ( $title !== '' ) {
268
- return $this->replace_vars( $title, $object );
269
- }
270
-
271
- return $title;
272
- }
273
-
274
- /**
275
- * Used for category, tag, and tax titles.
276
- *
277
- * @return string
278
- */
279
- public function get_taxonomy_title() {
280
- $object = $GLOBALS['wp_query']->get_queried_object();
281
-
282
- $title = WPSEO_Taxonomy_Meta::get_term_meta( $object, $object->taxonomy, 'title' );
283
-
284
- if ( is_string( $title ) && $title !== '' ) {
285
- return $this->replace_vars( $title, $object );
286
- }
287
-
288
- return $this->get_title_from_options( 'title-tax-' . $object->taxonomy, $object );
289
- }
290
-
291
- /**
292
- * Used for author titles.
293
- *
294
- * @return string
295
- */
296
- public function get_author_title() {
297
- $author_id = get_query_var( 'author' );
298
- $title = trim( get_the_author_meta( 'wpseo_title', $author_id ) );
299
-
300
- if ( $title !== '' ) {
301
- return $this->replace_vars( $title, [] );
302
- }
303
-
304
- return $this->get_title_from_options( 'title-author-wpseo' );
305
- }
306
-
307
- /**
308
- * Simple function to use to pull data from $options.
309
- *
310
- * All titles pulled from options will be run through the $this->replace_vars function.
311
- *
312
- * @param string $index Name of the page to get the title from the settings for.
313
- * @param object|array $var_source Possible object to pull variables from.
314
- *
315
- * @return string
316
- */
317
- public function get_title_from_options( $index, $var_source = [] ) {
318
- $template = WPSEO_Options::get( $index, '' );
319
- if ( $template === '' ) {
320
- if ( is_singular() ) {
321
- return $this->replace_vars( self::$default_title, $var_source );
322
- }
323
-
324
- return '';
325
- }
326
-
327
- return $this->replace_vars( $template, $var_source );
328
- }
329
-
330
- /**
331
- * Get the default title for the current page.
332
- *
333
- * This is the fallback title generator used when a title hasn't been set for the specific content, taxonomy, author
334
- * details, or in the options. It scrubs off any present prefix before or after the title (based on $seplocation) in
335
- * order to prevent duplicate seperations from appearing in the title (this happens when a prefix is supplied to the
336
- * wp_title call on singular pages).
337
- *
338
- * @param string $sep The separator used between variables.
339
- * @param string $seplocation Whether the separator should be left or right.
340
- * @param string $title Possible title that's already set.
341
- *
342
- * @return string
343
- */
344
- public function get_default_title( $sep, $seplocation, $title = '' ) {
345
- if ( 'right' === $seplocation ) {
346
- $regex = '`\s*' . preg_quote( trim( $sep ), '`' ) . '\s*`u';
347
- }
348
- else {
349
- $regex = '`^\s*' . preg_quote( trim( $sep ), '`' ) . '\s*`u';
350
- }
351
- $title = preg_replace( $regex, '', $title );
352
-
353
- if ( ! is_string( $title ) || ( is_string( $title ) && $title === '' ) ) {
354
- $title = WPSEO_Utils::get_site_name();
355
- $title = $this->add_paging_to_title( $sep, $seplocation, $title );
356
- $title = $this->add_to_title( $sep, $seplocation, $title, wp_strip_all_tags( get_bloginfo( 'description' ), true ) );
357
-
358
- return $title;
359
- }
360
-
361
- $title = $this->add_paging_to_title( $sep, $seplocation, $title );
362
- $title = $this->add_to_title( $sep, $seplocation, $title, wp_strip_all_tags( get_bloginfo( 'name' ), true ) );
363
-
364
- return $title;
365
- }
366
-
367
- /**
368
- * This function adds paging details to the title.
369
- *
370
- * @param string $sep Separator used in the title.
371
- * @param string $seplocation Whether the separator should be left or right.
372
- * @param string $title The title to append the paging info to.
373
- *
374
- * @return string
375
- */
376
- public function add_paging_to_title( $sep, $seplocation, $title ) {
377
- global $wp_query;
378
-
379
- if ( ! empty( $wp_query->query_vars['paged'] ) && $wp_query->query_vars['paged'] > 1 ) {
380
- return $this->add_to_title( $sep, $seplocation, $title, $wp_query->query_vars['paged'] . '/' . $wp_query->max_num_pages );
381
- }
382
-
383
- return $title;
384
- }
385
-
386
- /**
387
- * Add part to title, while ensuring that the $seplocation variable is respected.
388
- *
389
- * @param string $sep Separator used in the title.
390
- * @param string $seplocation Whether the separator should be left or right.
391
- * @param string $title The title to append the title_part to.
392
- * @param string $title_part The part to append to the title.
393
- *
394
- * @return string
395
- */
396
- public function add_to_title( $sep, $seplocation, $title, $title_part ) {
397
- if ( 'right' === $seplocation ) {
398
- return $title . $sep . $title_part;
399
- }
400
-
401
- return $title_part . $sep . $title;
402
- }
403
-
404
- /**
405
- * Main title function.
406
- *
407
- * @param string $title Title that might have already been set.
408
- * @param string $separator Separator determined in theme (unused).
409
- * @param string $separator_location Whether the separator should be left or right.
410
- *
411
- * @return string
412
- */
413
- public function title( $title, $separator = '', $separator_location = '' ) {
414
- if ( is_null( $this->title ) ) {
415
- $this->title = $this->generate_title( $title, $separator_location );
416
- }
417
-
418
- return $this->title;
419
- }
420
-
421
- /**
422
- * Main title generation function.
423
- *
424
- * @param string $title Title that might have already been set.
425
- * @param string $separator_location Whether the separator should be left or right.
426
- *
427
- * @return string
428
- */
429
- private function generate_title( $title, $separator_location ) {
430
-
431
- if ( is_feed() ) {
432
- return $title;
433
- }
434
-
435
- $separator = $this->replace_vars( '%%sep%%', [] );
436
- $separator = ' ' . trim( $separator ) . ' ';
437
-
438
- if ( '' === trim( $separator_location ) ) {
439
- $separator_location = ( is_rtl() ) ? 'left' : 'right';
440
- }
441
-
442
- // This needs to be kept track of in order to generate
443
- // default titles for singular pages.
444
- $original_title = $title;
445
-
446
- // This flag is used to determine if any additional
447
- // processing should be done to the title after the
448
- // main section of title generation completes.
449
- $modified_title = true;
450
-
451
- // This variable holds the page-specific title part
452
- // that is used to generate default titles.
453
- $title_part = '';
454
-
455
- if ( WPSEO_Frontend_Page_Type::is_home_static_page() ) {
456
- $title = $this->get_content_title();
457
- }
458
- elseif ( WPSEO_Frontend_Page_Type::is_home_posts_page() ) {
459
- $title = $this->get_title_from_options( 'title-home-wpseo' );
460
- }
461
- elseif ( $this->woocommerce_shop_page->is_shop_page() ) {
462
- $title = $this->get_woocommerce_title();
463
-
464
- if ( ! is_string( $title ) || $title === '' ) {
465
- $title = $this->get_post_type_archive_title( $separator, $separator_location );
466
- }
467
- }
468
- elseif ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
469
- $post = get_post( WPSEO_Frontend_Page_Type::get_simple_page_id() );
470
- $title = $this->get_content_title( $post );
471
-
472
- if ( ! is_string( $title ) || '' === $title ) {
473
- $title_part = $original_title;
474
- }
475
- }
476
- elseif ( is_search() ) {
477
- $title = $this->get_title_from_options( 'title-search-wpseo' );
478
-
479
- if ( ! is_string( $title ) || '' === $title ) {
480
- /* translators: %s expands to the search phrase. */
481
- $title_part = sprintf( __( 'Search for "%s"', 'wordpress-seo' ), esc_html( get_search_query() ) );
482
- }
483
- }
484
- elseif ( is_category() || is_tag() || is_tax() ) {
485
- $title = $this->get_taxonomy_title();
486
-
487
- if ( ! is_string( $title ) || '' === $title ) {
488
- if ( is_category() ) {
489
- $title_part = single_cat_title( '', false );
490
- }
491
- elseif ( is_tag() ) {
492
- $title_part = single_tag_title( '', false );
493
- }
494
- else {
495
- $title_part = single_term_title( '', false );
496
- if ( $title_part === '' ) {
497
- $term = $GLOBALS['wp_query']->get_queried_object();
498
- $title_part = $term->name;
499
- }
500
- }
501
- }
502
- }
503
- elseif ( is_author() ) {
504
- $title = $this->get_author_title();
505
-
506
- if ( ! is_string( $title ) || '' === $title ) {
507
- $title_part = get_the_author_meta( 'display_name', get_query_var( 'author' ) );
508
- }
509
- }
510
- elseif ( is_post_type_archive() ) {
511
- $title = $this->get_post_type_archive_title( $separator, $separator_location );
512
- }
513
- elseif ( is_archive() ) {
514
- $title = $this->get_title_from_options( 'title-archive-wpseo' );
515
-
516
- // @todo [JRF => Yoast] Should these not use the archive default if no title found ?
517
- // WPSEO_Options::get_default( 'wpseo_titles', 'title-archive-wpseo' )
518
- // Replacement would be needed!
519
- if ( empty( $title ) ) {
520
- if ( is_month() ) {
521
- /* translators: %s expands to a time period, i.e. month name, year or specific date. */
522
- $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), single_month_title( ' ', false ) );
523
- }
524
- elseif ( is_year() ) {
525
- /* translators: %s expands to a time period, i.e. month name, year or specific date. */
526
- $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), get_query_var( 'year' ) );
527
- }
528
- elseif ( is_day() ) {
529
- /* translators: %s expands to a time period, i.e. month name, year or specific date. */
530
- $title_part = sprintf( __( '%s Archives', 'wordpress-seo' ), get_the_date() );
531
- }
532
- else {
533
- $title_part = __( 'Archives', 'wordpress-seo' );
534
- }
535
- }
536
- }
537
- elseif ( is_404() ) {
538
-
539
- $title = $this->get_title_from_options( 'title-404-wpseo' );
540
-
541
- // @todo [JRF => Yoast] Should these not use the 404 default if no title found ?
542
- // WPSEO_Options::get_default( 'wpseo_titles', 'title-404-wpseo' )
543
- // Replacement would be needed!
544
- if ( empty( $title ) ) {
545
- $title_part = __( 'Page not found', 'wordpress-seo' );
546
- }
547
- }
548
- else {
549
- // In case the page type is unknown, leave the title alone.
550
- $modified_title = false;
551
-
552
- // If you would like to generate a default title instead,
553
- // the following code could be used
554
- // $title_part = $title;
555
- // instead of the line above.
556
- }
557
-
558
- if ( ( $modified_title && empty( $title ) ) || ! empty( $title_part ) ) {
559
- $title = $this->get_default_title( $separator, $separator_location, $title_part );
560
- }
561
-
562
- if ( defined( 'ICL_LANGUAGE_CODE' ) && false !== strpos( $title, ICL_LANGUAGE_CODE ) ) {
563
- $title = str_replace( ' @' . ICL_LANGUAGE_CODE, '', $title );
564
- }
565
-
566
- /**
567
- * Filter: 'wpseo_title' - Allow changing the Yoast SEO <title> output.
568
- *
569
- * @api string $title The page title being put out.
570
- */
571
-
572
- return esc_html( wp_strip_all_tags( stripslashes( apply_filters( 'wpseo_title', $title ) ), true ) );
573
- }
574
-
575
- /**
576
- * Function used when title needs to be force overridden.
577
- *
578
- * @return string
579
- */
580
- public function force_wp_title() {
581
- global $wp_query;
582
- $old_wp_query = null;
583
-
584
- if ( ! $wp_query->is_main_query() ) {
585
- $old_wp_query = $wp_query;
586
- wp_reset_query();
587
- }
588
-
589
- $title = $this->title( '' );
590
-
591
- if ( ! empty( $old_wp_query ) ) {
592
- $GLOBALS['wp_query'] = $old_wp_query;
593
- unset( $old_wp_query );
594
- }
595
-
596
- return $title;
597
- }
598
-
599
- /**
600
- * Outputs or returns the debug marker, which is also used for title replacement when force rewrite is active.
601
- *
602
- * @return string The marker that will be echoed.
603
- */
604
- public function debug_mark() {
605
- $marker = $this->get_debug_mark();
606
-
607
- echo "\n${marker}\n";
608
-
609
- return '';
610
- }
611
-
612
- /**
613
- * Returns the debug marker, which is also used for title replacement when force rewrite is active.
614
- *
615
- * @return string The generated marker.
616
- */
617
- public function get_debug_mark() {
618
- return sprintf(
619
- '<!-- This site is optimized with the %1$s %2$s - https://yoast.com/wordpress/plugins/seo/ -->',
620
- esc_html( $this->head_product_name() ),
621
- /**
622
- * Filter: 'wpseo_hide_version' - can be used to hide the Yoast SEO version in the debug marker (only available in Yoast SEO Premium).
623
- *
624
- * @api bool
625
- */
626
- ( ( apply_filters( 'wpseo_hide_version', false ) && $this->is_premium() ) ? '' : 'v' . WPSEO_VERSION )
627
- );
628
- }
629
-
630
- /**
631
- * Output Webmaster Tools authentication strings.
632
- */
633
- public function webmaster_tools_authentication() {
634
- // Baidu.
635
- $this->webmaster_tools_helper( 'baiduverify', 'baidu-site-verification' );
636
-
637
- // Bing.
638
- $this->webmaster_tools_helper( 'msverify', 'msvalidate.01' );
639
-
640
- // Google.
641
- $this->webmaster_tools_helper( 'googleverify', 'google-site-verification' );
642
-
643
- // Pinterest.
644
- $this->webmaster_tools_helper( 'pinterestverify', 'p:domain_verify' );
645
-
646
- // Yandex.
647
- $this->webmaster_tools_helper( 'yandexverify', 'yandex-verification' );
648
- }
649
-
650
- /**
651
- * Helper function for authentication.
652
- *
653
- * @param string $option_key Option key.
654
- * @param string $tag_name The tag name.
655
- *
656
- * @return void
657
- */
658
- private function webmaster_tools_helper( $option_key, $tag_name ) {
659
- $auth = WPSEO_Options::get( $option_key, '' );
660
- if ( $auth !== '' ) {
661
- printf( '<meta name="%1$s" content="%2$s" />' . "\n", $tag_name, $auth );
662
- }
663
- }
664
-
665
- /**
666
- * Main wrapper function attached to wp_head. This combines all the output on the frontend of the Yoast SEO plugin.
667
- */
668
- public function head() {
669
- global $wp_query;
670
-
671
- $old_wp_query = null;
672
-
673
- if ( ! $wp_query->is_main_query() ) {
674
- $old_wp_query = $wp_query;
675
- wp_reset_query();
676
- }
677
-
678
- /**
679
- * Action: 'wpseo_head' - Allow other plugins to output inside the Yoast SEO section of the head section.
680
- */
681
- do_action( 'wpseo_head' );
682
-
683
- echo $this->show_closing_debug_mark();
684
-
685
- if ( ! empty( $old_wp_query ) ) {
686
- $GLOBALS['wp_query'] = $old_wp_query;
687
- unset( $old_wp_query );
688
- }
689
- }
690
-
691
- /**
692
- * Retrieves the meta robots value.
693
- *
694
- * @return string
695
- */
696
- public function get_robots() {
697
- global $wp_query, $post;
698
-
699
- $robots = [];
700
- $robots['index'] = 'index';
701
- $robots['follow'] = 'follow';
702
- $robots['other'] = [];
703
-
704
- if ( is_object( $post ) && WPSEO_Frontend_Page_Type::is_simple_page() ) {
705
- $private = 'private' === $post->post_status;
706
- $noindex = ! WPSEO_Post_Type::is_post_type_indexable( $post->post_type );
707
-
708
- if ( $noindex || $private ) {
709
- $robots['index'] = 'noindex';
710
- }
711
-
712
- $robots = $this->robots_for_single_post( $robots, WPSEO_Frontend_Page_Type::get_simple_page_id() );
713
- }
714
- else {
715
- if ( is_search() || is_404() ) {
716
- $robots['index'] = 'noindex';
717
- }
718
- elseif ( is_tax() || is_tag() || is_category() ) {
719
- $term = $wp_query->get_queried_object();
720
- if ( is_object( $term ) && ( WPSEO_Options::get( 'noindex-tax-' . $term->taxonomy, false ) ) ) {
721
- $robots['index'] = 'noindex';
722
- }
723
-
724
- // Three possible values, index, noindex and default, do nothing for default.
725
- $term_meta = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'noindex' );
726
- if ( is_string( $term_meta ) && 'default' !== $term_meta ) {
727
- $robots['index'] = $term_meta;
728
- }
729
-
730
- if ( $this->is_multiple_terms_query() ) {
731
- $robots['index'] = 'noindex';
732
- }
733
- }
734
- elseif ( is_author() ) {
735
- if ( WPSEO_Options::get( 'noindex-author-wpseo', false ) ) {
736
- $robots['index'] = 'noindex';
737
- }
738
- $curauth = $wp_query->get_queried_object();
739
- $author_archive = new Author_Archive_Helper();
740
- $user_has_posts = ( (int) count_user_posts( $curauth->ID, $author_archive->get_author_archive_post_types(), true ) ) > 0;
741
- if ( WPSEO_Options::get( 'noindex-author-noposts-wpseo', false ) && ! $user_has_posts ) {
742
- $robots['index'] = 'noindex';
743
- }
744
- if ( get_user_meta( $curauth->ID, 'wpseo_noindex_author', true ) === 'on' ) {
745
- $robots['index'] = 'noindex';
746
- }
747
- }
748
- elseif ( is_date() && WPSEO_Options::get( 'noindex-archive-wpseo', false ) ) {
749
- $robots['index'] = 'noindex';
750
- }
751
- elseif ( is_home() ) {
752
- $page_for_posts = get_option( 'page_for_posts' );
753
- if ( $page_for_posts ) {
754
- $robots = $this->robots_for_single_post( $robots, $page_for_posts );
755
- }
756
- unset( $page_for_posts );
757
- }
758
- elseif ( is_post_type_archive() ) {
759
- $post_type = $this->get_queried_post_type();
760
-
761
- if ( WPSEO_Options::get( 'noindex-ptarchive-' . $post_type, false ) ) {
762
- $robots['index'] = 'noindex';
763
- }
764
- }
765
-
766
- unset( $robot );
767
- }
768
-
769
- // Force override to respect the WP settings.
770
- if ( '0' === (string) get_option( 'blog_public' ) || isset( $_GET['replytocom'] ) ) {
771
- $robots['index'] = 'noindex';
772
- }
773
-
774
- $robotsstr = $robots['index'] . ',' . $robots['follow'];
775
-
776
- if ( $robots['other'] !== [] ) {
777
- $robots['other'] = array_unique( $robots['other'] ); // @todo Most likely no longer needed, needs testing.
778
- $robotsstr .= ',' . implode( ',', $robots['other'] );
779
- }
780
-
781
- $robotsstr = preg_replace( '`^index,follow,?`', '', $robotsstr );
782
- $robotsstr = str_replace( [ 'noodp,', 'noodp' ], '', $robotsstr );
783
-
784
- if ( strpos( $robotsstr, 'noindex' ) === false && strpos( $robotsstr, 'nosnippet' ) === false ) {
785
- if ( $robotsstr !== '' ) {
786
- $robotsstr .= ', ';
787
- }
788
- $robotsstr .= 'max-snippet:-1, max-image-preview:large, max-video-preview:-1';
789
- }
790
-
791
- /**
792
- * Filter: 'wpseo_robots' - Allows filtering of the meta robots output of Yoast SEO.
793
- *
794
- * @api string $robotsstr The meta robots directives to be echoed.
795
- */
796
- $robotsstr = apply_filters( 'wpseo_robots', $robotsstr );
797
-
798
- return $robotsstr;
799
- }
800
-
801
- /**
802
- * Outputs the meta robots value.
803
- *
804
- * @return string
805
- */
806
- public function robots() {
807
- $robotsstr = $this->get_robots();
808
-
809
- if ( is_string( $robotsstr ) && $robotsstr !== '' ) {
810
- echo '<meta name="robots" content="', esc_attr( $robotsstr ), '"/>', "\n";
811
- }
812
-
813
- // If a page has a noindex, it should _not_ have a canonical, as these are opposing indexing directives.
814
- if ( strpos( $robotsstr, 'noindex' ) !== false ) {
815
- remove_action( 'wpseo_head', [ $this, 'canonical' ], 20 );
816
- }
817
-
818
- return $robotsstr;
819
- }
820
-
821
- /**
822
- * Determine $robots values for a single post.
823
- *
824
- * @param array $robots Robots data array.
825
- * @param int $post_id The post ID for which to determine the $robots values, defaults to current post.
826
- *
827
- * @return array
828
- */
829
- public function robots_for_single_post( $robots, $post_id = 0 ) {
830
- $noindex = $this->get_seo_meta_value( 'meta-robots-noindex', $post_id );
831
- if ( $noindex === '1' ) {
832
- $robots['index'] = 'noindex';
833
- }
834
- elseif ( $noindex === '2' ) {
835
- $robots['index'] = 'index';
836
- }
837
-
838
- if ( $this->get_seo_meta_value( 'meta-robots-nofollow', $post_id ) === '1' ) {
839
- $robots['follow'] = 'nofollow';
840
- }
841
-
842
- $meta_robots_adv = $this->get_seo_meta_value( 'meta-robots-adv', $post_id );
843
-
844
- if ( $meta_robots_adv !== '' && ( $meta_robots_adv !== '-' && $meta_robots_adv !== 'none' ) ) {
845
- $meta_robots_adv = explode( ',', $meta_robots_adv );
846
- foreach ( $meta_robots_adv as $robot ) {
847
- $robots['other'][] = $robot;
848
- }
849
- unset( $robot );
850
- }
851
- unset( $meta_robots_adv );
852
-
853
- return $robots;
854
- }
855
-
856
- /**
857
- * This function normally outputs the canonical but is also used in other places to retrieve
858
- * the canonical URL for the current page.
859
- *
860
- * @param bool $echo Whether or not to output the canonical element.
861
- * @param bool $un_paged Whether or not to return the canonical with or without pagination added to the URL.
862
- * @param bool $no_override Whether or not to return a manually overridden canonical.
863
- *
864
- * @return string $canonical
865
- */
866
- public function canonical( $echo = true, $un_paged = false, $no_override = false ) {
867
- if ( is_null( $this->canonical ) ) {
868
- $this->generate_canonical();
869
- }
870
-
871
- $canonical = $this->canonical;
872
-
873
- if ( $un_paged ) {
874
- $canonical = $this->canonical_unpaged;
875
- }
876
- elseif ( $no_override ) {
877
- $canonical = $this->canonical_no_override;
878
- }
879
-
880
- if ( $echo === false ) {
881
- return $canonical;
882
- }
883
-
884
- if ( is_string( $canonical ) && '' !== $canonical ) {
885
- echo '<link rel="canonical" href="' . esc_url( urldecode( $canonical ), null, 'other' ) . '" />' . "\n";
886
- }
887
- }
888
-
889
- /**
890
- * This function normally outputs the canonical but is also used in other places to retrieve
891
- * the canonical URL for the current page.
892
- *
893
- * @return void
894
- */
895
- private function generate_canonical() {
896
- $canonical = false;
897
- $canonical_override = false;
898
-
899
- // Set decent canonicals for homepage, singulars and taxonomy pages.
900
- if ( is_singular() ) {
901
- $obj = get_queried_object();
902
- $canonical = get_permalink( $obj->ID );
903
-
904
- $this->canonical_unpaged = $canonical;
905
-
906
- $canonical_override = $this->get_seo_meta_value( 'canonical' );
907
-
908
- // Fix paginated pages canonical, but only if the page is truly paginated.
909
- if ( get_query_var( 'page' ) > 1 ) {
910
- $num_pages = ( substr_count( $obj->post_content, '<!--nextpage-->' ) + 1 );
911
- if ( $num_pages && get_query_var( 'page' ) <= $num_pages ) {
912
- if ( ! $GLOBALS['wp_rewrite']->using_permalinks() ) {
913
- $canonical = add_query_arg( 'page', get_query_var( 'page' ), $canonical );
914
- }
915
- else {
916
- $canonical = user_trailingslashit( trailingslashit( $canonical ) . get_query_var( 'page' ) );
917
- }
918
- }
919
- }
920
- }
921
- else {
922
- if ( is_search() ) {
923
- $search_query = get_search_query();
924
-
925
- // Regex catches case when /search/page/N without search term is itself mistaken for search term. R.
926
- if ( ! empty( $search_query ) && ! preg_match( '|^page/\d+$|', $search_query ) ) {
927
- $canonical = get_search_link();
928
- }
929
- }
930
- elseif ( is_front_page() ) {
931
- $canonical = WPSEO_Utils::home_url();
932
- }
933
- elseif ( WPSEO_Frontend_Page_Type::is_posts_page() ) {
934
-
935
- $posts_page_id = get_option( 'page_for_posts' );
936
- $canonical = $this->get_seo_meta_value( 'canonical', $posts_page_id );
937
-
938
- if ( empty( $canonical ) ) {
939
- $canonical = get_permalink( $posts_page_id );
940
- }
941
- }
942
- elseif ( is_tax() || is_tag() || is_category() ) {
943
-
944
- $term = get_queried_object();
945
-
946
- if ( ! empty( $term ) && ! $this->is_multiple_terms_query() ) {
947
-
948
- $canonical_override = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'canonical' );
949
- $term_link = get_term_link( $term, $term->taxonomy );
950
-
951
- if ( ! is_wp_error( $term_link ) ) {
952
- $canonical = $term_link;
953
- }
954
- }
955
- }
956
- elseif ( is_post_type_archive() ) {
957
- $post_type = $this->get_queried_post_type();
958
- $canonical = get_post_type_archive_link( $post_type );
959
- }
960
- elseif ( is_author() ) {
961
- $canonical = get_author_posts_url( get_query_var( 'author' ), get_query_var( 'author_name' ) );
962
- }
963
- elseif ( is_archive() ) {
964
- if ( is_date() ) {
965
- if ( is_day() ) {
966
- $canonical = get_day_link( get_query_var( 'year' ), get_query_var( 'monthnum' ), get_query_var( 'day' ) );
967
- }
968
- elseif ( is_month() ) {
969
- $canonical = get_month_link( get_query_var( 'year' ), get_query_var( 'monthnum' ) );
970
- }
971
- elseif ( is_year() ) {
972
- $canonical = get_year_link( get_query_var( 'year' ) );
973
- }
974
- }
975
- }
976
-
977
- $this->canonical_unpaged = $canonical;
978
-
979
- if ( $canonical && get_query_var( 'paged' ) > 1 ) {
980
- global $wp_rewrite;
981
- if ( ! $wp_rewrite->using_permalinks() ) {
982
- if ( is_front_page() ) {
983
- $canonical = trailingslashit( $canonical );
984
- }
985
- $canonical = add_query_arg( 'paged', get_query_var( 'paged' ), $canonical );
986
- }
987
- else {
988
- if ( is_front_page() ) {
989
- $canonical = WPSEO_Sitemaps_Router::get_base_url( '' );
990
- }
991
- $canonical = user_trailingslashit( trailingslashit( $canonical ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var( 'paged' ) );
992
- }
993
- }
994
- }
995
-
996
- $this->canonical_no_override = $canonical;
997
-
998
- if ( is_string( $canonical ) && $canonical !== '' ) {
999
- // Force canonical links to be absolute, relative is NOT an option.
1000
- if ( WPSEO_Utils::is_url_relative( $canonical ) === true ) {
1001
- $canonical = $this->base_url( $canonical );
1002
- }
1003
- }
1004
-
1005
- if ( is_string( $canonical_override ) && $canonical_override !== '' ) {
1006
- $canonical = $canonical_override;
1007
- }
1008
-
1009
- /**
1010
- * Filter: 'wpseo_canonical' - Allow filtering of the canonical URL put out by Yoast SEO.
1011
- *
1012
- * @api string $canonical The canonical URL.
1013
- */
1014
- $this->canonical = apply_filters( 'wpseo_canonical', $canonical );
1015
- }
1016
-
1017
- /**
1018
- * Parse the home URL setting to find the base URL for relative URLs.
1019
- *
1020
- * @param string $path Optional path string.
1021
- *
1022
- * @return string
1023
- */
1024
- private function base_url( $path = null ) {
1025
- $url = get_option( 'home' );
1026
-
1027
- $parts = wp_parse_url( $url );
1028
-
1029
- $base_url = trailingslashit( $parts['scheme'] . '://' . $parts['host'] );
1030
-
1031
- if ( ! is_null( $path ) ) {
1032
- $base_url .= ltrim( $path, '/' );
1033
- }
1034
-
1035
- return $base_url;
1036
- }
1037
-
1038
- /**
1039
- * Adds 'prev' and 'next' links to archives.
1040
- *
1041
- * @link http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
1042
- * @since 1.0.3
1043
- */
1044
- public function adjacent_rel_links() {
1045
- /**
1046
- * Filter: 'wpseo_disable_adjacent_rel_links' - Allows disabling of Yoast adjacent links if this is being handled by other code.
1047
- *
1048
- * @api bool $links_generated Indicates if other code has handled adjacent links.
1049
- */
1050
- if ( true === apply_filters( 'wpseo_disable_adjacent_rel_links', false ) ) {
1051
- return;
1052
- }
1053
-
1054
- if ( is_singular() ) {
1055
- $this->rel_links_single();
1056
- return;
1057
- }
1058
-
1059
- $this->rel_links_archive();
1060
- }
1061
-
1062
- /**
1063
- * Output the rel next/prev links for a single post / page.
1064
- *
1065
- * @return void
1066
- */
1067
- protected function rel_links_single() {
1068
- $num_pages = 1;
1069
-
1070
- $queried_object = get_queried_object();
1071
- if ( ! empty( $queried_object ) ) {
1072
- $num_pages = ( substr_count( $queried_object->post_content, '<!--nextpage-->' ) + 1 );
1073
- }
1074
-
1075
- if ( $num_pages === 1 ) {
1076
- return;
1077
- }
1078
-
1079
- $page = max( 1, (int) get_query_var( 'page' ) );
1080
- $url = get_permalink( get_queried_object_id() );
1081
-
1082
- if ( $page > 1 ) {
1083
- $this->adjacent_rel_link( 'prev', $url, ( $page - 1 ), 'page' );
1084
- }
1085
-
1086
- if ( $page < $num_pages ) {
1087
- $this->adjacent_rel_link( 'next', $url, ( $page + 1 ), 'page' );
1088
- }
1089
- }
1090
-
1091
- /**
1092
- * Output the rel next/prev links for an archive page.
1093
- */
1094
- protected function rel_links_archive() {
1095
- $url = $this->canonical( false, true, true );
1096
-
1097
- if ( ! is_string( $url ) || $url === '' ) {
1098
- return;
1099
- }
1100
-
1101
- $paged = max( 1, (int) get_query_var( 'paged' ) );
1102
-
1103
- if ( $paged === 2 ) {
1104
- $this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ) );
1105
- }
1106
-
1107
- // Make sure to use index.php when needed, done after paged == 2 check so the prev links to homepage will not have index.php erroneously.
1108
- if ( is_front_page() ) {
1109
- $url = WPSEO_Sitemaps_Router::get_base_url( '' );
1110
- }
1111
-
1112
- if ( $paged > 2 ) {
1113
- $this->adjacent_rel_link( 'prev', $url, ( $paged - 1 ) );
1114
- }
1115
-
1116
- if ( $paged < $GLOBALS['wp_query']->max_num_pages ) {
1117
- $this->adjacent_rel_link( 'next', $url, ( $paged + 1 ) );
1118
- }
1119
- }
1120
-
1121
- /**
1122
- * Get adjacent pages link for archives.
1123
- *
1124
- * @since 1.0.2
1125
- * @since 7.1 Added $query_arg parameter for single post/page pagination.
1126
- *
1127
- * @param string $rel Link relationship, prev or next.
1128
- * @param string $url The un-paginated URL of the current archive.
1129
- * @param string $page The page number to add on to $url for the $link tag.
1130
- * @param string $query_arg Optional. The argument to use to set for the page to load.
1131
- *
1132
- * @return void
1133
- */
1134
- private function adjacent_rel_link( $rel, $url, $page, $query_arg = 'paged' ) {
1135
- global $wp_rewrite;
1136
- if ( ! $wp_rewrite->using_permalinks() ) {
1137
- if ( $page > 1 ) {
1138
- $url = add_query_arg( $query_arg, $page, $url );
1139
- }
1140
- }
1141
- else {
1142
- if ( $page > 1 ) {
1143
- $url = user_trailingslashit( trailingslashit( $url ) . $this->get_pagination_base() . $page );
1144
- }
1145
- }
1146
-
1147
- /**
1148
- * Filter: 'wpseo_adjacent_rel_url' - Allow changing the URL for rel output by Yoast SEO.
1149
- *
1150
- * @api string $url The URL that's going to be output for $rel.
1151
- *
1152
- * @param string $rel Link relationship, prev or next.
1153
- */
1154
- $url = apply_filters( 'wpseo_adjacent_rel_url', $url, $rel );
1155
-
1156
- /**
1157
- * Filter: 'wpseo_' . $rel . '_rel_link' - Allow changing link rel output by Yoast SEO.
1158
- *
1159
- * @api string $unsigned The full `<link` element.
1160
- */
1161
- $link = apply_filters( 'wpseo_' . $rel . '_rel_link', '<link rel="' . esc_attr( $rel ) . '" href="' . esc_url( $url ) . "\" />\n" );
1162
-
1163
- if ( is_string( $link ) && $link !== '' ) {
1164
- echo $link;
1165
- }
1166
- }
1167
-
1168
- /**
1169
- * Return the base for pagination.
1170
- *
1171
- * @return string The pagination base.
1172
- */
1173
- private function get_pagination_base() {
1174
- // If the current page is the frontpage, pagination should use /base/.
1175
- $base = '';
1176
- if ( ! is_singular() || WPSEO_Frontend_Page_Type::is_home_static_page() ) {
1177
- $base = trailingslashit( $GLOBALS['wp_rewrite']->pagination_base );
1178
- }
1179
- return $base;
1180
- }
1181
-
1182
- /**
1183
- * Outputs the meta description element or returns the description text.
1184
- *
1185
- * @param bool $echo Echo or return output flag.
1186
- *
1187
- * @return string
1188
- */
1189
- public function metadesc( $echo = true ) {
1190
- if ( is_null( $this->metadesc ) ) {
1191
- $this->generate_metadesc();
1192
- }
1193
-
1194
- if ( $echo === false ) {
1195
- return $this->metadesc;
1196
- }
1197
-
1198
- if ( is_string( $this->metadesc ) && $this->metadesc !== '' ) {
1199
- echo '<meta name="description" content="', esc_attr( wp_strip_all_tags( stripslashes( $this->metadesc ) ) ), '"/>', "\n";
1200
- return '';
1201
- }
1202
-
1203
- if ( current_user_can( 'wpseo_manage_options' ) && is_singular() ) {
1204
- echo '<!-- ';
1205
- printf(
1206
- /* Translators: %1$s resolves to the SEO menu item, %2$s resolves to the Search Appearance submenu item. */
1207
- esc_html__( 'Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [%1$s - %2$s] menu and set up a template.', 'wordpress-seo' ),
1208
- esc_html__( 'SEO', 'wordpress-seo' ),
1209
- esc_html__( 'Search Appearance', 'wordpress-seo' )
1210
- );
1211
- echo ' -->' . "\n";
1212
- }
1213
- }
1214
-
1215
- /**
1216
- * Generates the meta description text.
1217
- */
1218
- private function generate_metadesc() {
1219
- global $post, $wp_query;
1220
-
1221
- $metadesc = '';
1222
- $metadesc_override = false;
1223
- $post_type = '';
1224
- $template = '';
1225
-
1226
- if ( is_object( $post ) && ( isset( $post->post_type ) && $post->post_type !== '' ) ) {
1227
- $post_type = $post->post_type;
1228
- }
1229
-
1230
- if ( $this->woocommerce_shop_page->is_shop_page() ) {
1231
- $post = get_post( $this->woocommerce_shop_page->get_shop_page_id() );
1232
- $post_type = $this->get_queried_post_type();
1233
-
1234
- if ( ( $metadesc === '' && $post_type !== '' ) && WPSEO_Options::get( 'metadesc-ptarchive-' . $post_type, '' ) !== '' ) {
1235
- $template = WPSEO_Options::get( 'metadesc-ptarchive-' . $post_type );
1236
- $term = $post;
1237
- }
1238
- $metadesc_override = $this->get_seo_meta_value( 'metadesc', $post->ID );
1239
- }
1240
- elseif ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
1241
- $post = get_post( WPSEO_Frontend_Page_Type::get_simple_page_id() );
1242
- $post_type = isset( $post->post_type ) ? $post->post_type : '';
1243
-
1244
- if ( ( $metadesc === '' && $post_type !== '' ) && WPSEO_Options::get( 'metadesc-' . $post_type, '' ) !== '' ) {
1245
- $template = WPSEO_Options::get( 'metadesc-' . $post_type );
1246
- $term = $post;
1247
- }
1248
-
1249
- if ( is_object( $post ) ) {
1250
- $metadesc_override = $this->get_seo_meta_value( 'metadesc', $post->ID );
1251
- }
1252
- }
1253
- else {
1254
- if ( is_search() ) {
1255
- $metadesc = '';
1256
- }
1257
- elseif ( WPSEO_Frontend_Page_Type::is_home_posts_page() ) {
1258
- $template = WPSEO_Options::get( 'metadesc-home-wpseo' );
1259
- $term = [];
1260
-
1261
- if ( empty( $template ) ) {
1262
- $template = get_bloginfo( 'description' );
1263
- }
1264
- }
1265
- elseif ( WPSEO_Frontend_Page_Type::is_home_static_page() ) {
1266
- $metadesc = $this->get_seo_meta_value( 'metadesc' );
1267
- if ( ( $metadesc === '' && $post_type !== '' ) && WPSEO_Options::get( 'metadesc-' . $post_type, '' ) !== '' ) {
1268
- $template = WPSEO_Options::get( 'metadesc-' . $post_type );
1269
- }
1270
- }
1271
- elseif ( is_category() || is_tag() || is_tax() ) {
1272
- $term = $wp_query->get_queried_object();
1273
- $metadesc_override = WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, 'desc' );
1274
- if ( is_object( $term ) && isset( $term->taxonomy ) && WPSEO_Options::get( 'metadesc-tax-' . $term->taxonomy, '' ) !== '' ) {
1275
- $template = WPSEO_Options::get( 'metadesc-tax-' . $term->taxonomy );
1276
- }
1277
- }
1278
- elseif ( is_author() ) {
1279
- $author_id = get_query_var( 'author' );
1280
- $metadesc = get_the_author_meta( 'wpseo_metadesc', $author_id );
1281
- if ( ( ! is_string( $metadesc ) || $metadesc === '' ) && WPSEO_Options::get( 'metadesc-author-wpseo', '' ) !== '' ) {
1282
- $template = WPSEO_Options::get( 'metadesc-author-wpseo' );
1283
- }
1284
- }
1285
- elseif ( is_post_type_archive() ) {
1286
- $post_type = $this->get_queried_post_type();
1287
- if ( WPSEO_Options::get( 'metadesc-ptarchive-' . $post_type, '' ) !== '' ) {
1288
- $template = WPSEO_Options::get( 'metadesc-ptarchive-' . $post_type );
1289
- }
1290
- }
1291
- elseif ( is_archive() ) {
1292
- $template = WPSEO_Options::get( 'metadesc-archive-wpseo' );
1293
- }
1294
-
1295
- // If we're on a paginated page, and the template doesn't change for paginated pages, bail.
1296
- if ( ( ! is_string( $metadesc ) || $metadesc === '' ) && get_query_var( 'paged' ) && get_query_var( 'paged' ) > 1 && $template !== '' ) {
1297
- if ( strpos( $template, '%%page' ) === false ) {
1298
- $metadesc = '';
1299
- }
1300
- }
1301
- }
1302
-
1303
- $post_data = $post;
1304
-
1305
- if ( is_string( $metadesc_override ) && '' !== $metadesc_override ) {
1306
- $metadesc = $metadesc_override;
1307
- if ( isset( $term ) ) {
1308
- $post_data = $term;
1309
- }
1310
- }
1311
- elseif ( ( ! is_string( $metadesc ) || '' === $metadesc ) && '' !== $template ) {
1312
- if ( ! isset( $term ) ) {
1313
- $term = $wp_query->get_queried_object();
1314
- }
1315
-
1316
- $metadesc = $template;
1317
- $post_data = $term;
1318
- }
1319
-
1320
- $metadesc = $this->replace_vars( $metadesc, $post_data );
1321
-
1322
- /**
1323
- * Filter: 'wpseo_metadesc' - Allow changing the Yoast SEO meta description sentence.
1324
- *
1325
- * @api string $metadesc The description sentence.
1326
- */
1327
- $this->metadesc = apply_filters( 'wpseo_metadesc', trim( $metadesc ) );
1328
- }
1329
-
1330
- /**
1331
- * Based on the redirect meta value, this function determines whether it should redirect the current post / page.
1332
- *
1333
- * @return boolean
1334
- */
1335
- public function page_redirect() {
1336
- if ( is_singular() ) {
1337
- global $post;
1338
- if ( ! isset( $post ) || ! is_object( $post ) ) {
1339
- return false;
1340
- }
1341
-
1342
- $redir = $this->get_seo_meta_value( 'redirect', $post->ID );
1343
- if ( $redir !== '' ) {
1344
- wp_redirect( $redir, 301, 'Yoast SEO' );
1345
- exit;
1346
- }
1347
- }
1348
-
1349
- return false;
1350
- }
1351
-
1352
- /**
1353
- * Outputs noindex values for the current page.
1354
- */
1355
- public function noindex_page() {
1356
- remove_action( 'wpseo_head', [ $this, 'canonical' ], 20 );
1357
- echo '<meta name="robots" content="noindex" />', "\n";
1358
- }
1359
-
1360
- /**
1361
- * Send a Robots HTTP header preventing URL from being indexed in the search results while allowing search engines
1362
- * to follow the links in the object at the URL.
1363
- *
1364
- * @since 1.1.7
1365
- * @return boolean Boolean indicating whether the noindex header was sent.
1366
- */
1367
- public function noindex_robots() {
1368
-
1369
- if ( ( is_robots() ) && headers_sent() === false ) {
1370
- header( 'X-Robots-Tag: noindex, follow', true );
1371
-
1372
- return true;
1373
- }
1374
-
1375
- return false;
1376
- }
1377
-
1378
- /**
1379
- * Adds rel="nofollow" to a link, only used for login / registration links.
1380
- *
1381
- * @param string $input The link element as a string.
1382
- *
1383
- * @return string
1384
- */
1385
- public function nofollow_link( $input ) {
1386
- return str_replace( '<a ', '<a rel="nofollow" ', $input );
1387
- }
1388
-
1389
- /**
1390
- * When certain archives are disabled, this redirects those to the homepage.
1391
- *
1392
- * @return boolean False when no redirect was triggered.
1393
- */
1394
- public function archive_redirect() {
1395
- global $wp_query;
1396
-
1397
- if (
1398
- ( WPSEO_Options::get( 'disable-date', false ) && $wp_query->is_date ) ||
1399
- ( WPSEO_Options::get( 'disable-author', false ) && $wp_query->is_author ) ||
1400
- ( WPSEO_Options::get( 'disable-post_format', false ) && $wp_query->is_tax( 'post_format' ) )
1401
- ) {
1402
- $this->redirect( get_bloginfo( 'url' ), 301 );
1403
-
1404
- return true;
1405
- }
1406
-
1407
- return false;
1408
- }
1409
-
1410
- /**
1411
- * If the option to disable attachment URLs is checked, this performs the redirect to the attachment.
1412
- *
1413
- * @return bool Returns succes status.
1414
- */
1415
- public function attachment_redirect() {
1416
- if ( WPSEO_Options::get( 'disable-attachment', false ) === false ) {
1417
- return false;
1418
- }
1419
- if ( ! is_attachment() ) {
1420
- return false;
1421
- }
1422
-
1423
- /**
1424
- * Allow the developer to change the target redirection URL for attachments.
1425
- *
1426
- * @api string $attachment_url The attachment URL for the queried object.
1427
- * @api object $queried_object The queried object.
1428
- *
1429
- * @since 7.5.3
1430
- */
1431
- $url = apply_filters( 'wpseo_attachment_redirect_url', wp_get_attachment_url( get_queried_object_id() ), get_queried_object() );
1432
-
1433
-
1434
- if ( ! empty( $url ) ) {
1435
- $this->do_attachment_redirect( $url );
1436
-
1437
- return true;
1438
- }
1439
-
1440
- return false;
1441
- }
1442
-
1443
- /**
1444
- * Performs the redirect from the attachment page to the image file itself.
1445
- *
1446
- * @param string $attachment_url The attachment image url.
1447
- *
1448
- * @return void
1449
- */
1450
- public function do_attachment_redirect( $attachment_url ) {
1451
- wp_redirect( $attachment_url, 301, 'Yoast SEO' );
1452
- exit;
1453
- }
1454
-
1455
- /**
1456
- * Replaces the possible RSS variables with their actual values.
1457
- *
1458
- * @param string $content The RSS content that should have the variables replaced.
1459
- *
1460
- * @return string
1461
- */
1462
- public function rss_replace_vars( $content ) {
1463
- global $post;
1464
-
1465
- /**
1466
- * Allow the developer to determine whether or not to follow the links
1467
- * in the bits Yoast SEO adds to the RSS feed, defaults to true.
1468
- *
1469
- * @api bool $unsigned Whether or not to follow the links in RSS feed, defaults to true.
1470
- *
1471
- * @since 1.4.20
1472
- */
1473
- $no_follow = apply_filters( 'nofollow_rss_links', true );
1474
- $no_follow_attr = '';
1475
- if ( $no_follow === true ) {
1476
- $no_follow_attr = 'rel="nofollow" ';
1477
- }
1478
-
1479
- $author_link = '';
1480
- if ( is_object( $post ) ) {
1481
- $author_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_author_posts_url( $post->post_author ) ) . '">' . esc_html( get_the_author() ) . '</a>';
1482
- }
1483
-
1484
- $post_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_permalink() ) . '">' . esc_html( get_the_title() ) . '</a>';
1485
- $blog_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_bloginfo( 'url' ) ) . '">' . esc_html( get_bloginfo( 'name' ) ) . '</a>';
1486
- $blog_desc_link = '<a ' . $no_follow_attr . 'href="' . esc_url( get_bloginfo( 'url' ) ) . '">' . esc_html( get_bloginfo( 'name' ) ) . ' - ' . esc_html( get_bloginfo( 'description' ) ) . '</a>';
1487
-
1488
- $content = stripslashes( trim( $content ) );
1489
- $content = str_replace( '%%AUTHORLINK%%', $author_link, $content );
1490
- $content = str_replace( '%%POSTLINK%%', $post_link, $content );
1491
- $content = str_replace( '%%BLOGLINK%%', $blog_link, $content );
1492
- $content = str_replace( '%%BLOGDESCLINK%%', $blog_desc_link, $content );
1493
-
1494
- return $content;
1495
- }
1496
-
1497
- /**
1498
- * Adds the RSS footer (or header) to the full RSS feed item.
1499
- *
1500
- * @param string $content Feed item content.
1501
- *
1502
- * @return string
1503
- */
1504
- public function embed_rssfooter( $content ) {
1505
- return $this->embed_rss( $content, 'full' );
1506
- }
1507
-
1508
- /**
1509
- * Adds the RSS footer (or header) to the excerpt RSS feed item.
1510
- *
1511
- * @param string $content Feed item excerpt.
1512
- *
1513
- * @return string
1514
- */
1515
- public function embed_rssfooter_excerpt( $content ) {
1516
- return $this->embed_rss( $content, 'excerpt' );
1517
- }
1518
-
1519
- /**
1520
- * Adds the RSS footer and/or header to an RSS feed item.
1521
- *
1522
- * @since 1.4.14
1523
- *
1524
- * @param string $content Feed item content.
1525
- * @param string $context Feed item context, either 'excerpt' or 'full'.
1526
- *
1527
- * @return string
1528
- */
1529
- public function embed_rss( $content, $context = 'full' ) {
1530
-
1531
- /**
1532
- * Filter: 'wpseo_include_rss_footer' - Allow the RSS footer to be dynamically shown/hidden.
1533
- *
1534
- * @api boolean $show_embed Indicates if the RSS footer should be shown or not.
1535
- *
1536
- * @param string $context The context of the RSS content - 'full' or 'excerpt'.
1537
- */
1538
- if ( ! apply_filters( 'wpseo_include_rss_footer', true, $context ) ) {
1539
- return $content;
1540
- }
1541
-
1542
- if ( is_feed() ) {
1543
- $before = '';
1544
- $after = '';
1545
-
1546
- if ( WPSEO_Options::get( 'rssbefore', '' ) !== '' ) {
1547
- $before = wpautop( $this->rss_replace_vars( WPSEO_Options::get( 'rssbefore' ) ) );
1548
- }
1549
- if ( WPSEO_Options::get( 'rssafter', '' ) !== '' ) {
1550
- $after = wpautop( $this->rss_replace_vars( WPSEO_Options::get( 'rssafter' ) ) );
1551
- }
1552
- if ( $before !== '' || $after !== '' ) {
1553
- if ( ( isset( $context ) && $context === 'excerpt' ) && trim( $content ) !== '' ) {
1554
- $content = wpautop( $content );
1555
- }
1556
- $content = $before . $content . $after;
1557
- }
1558
- }
1559
-
1560
- return $content;
1561
- }
1562
-
1563
- /**
1564
- * Used in the force rewrite functionality this retrieves the output, replaces the title with the proper SEO
1565
- * title and then flushes the output.
1566
- */
1567
- public function flush_cache() {
1568
-
1569
- global $wp_query;
1570
-
1571
- if ( $this->ob_started !== true ) {
1572
- return false;
1573
- }
1574
-
1575
- $content = ob_get_clean();
1576
- $head_end = stripos( $content, '/head>' );
1577
-
1578
- $old_wp_query = $wp_query;
1579
-
1580
- wp_reset_query();
1581
-
1582
- // Only replace the debug marker when it is hooked.
1583
- if ( $head_end && $this->show_debug_marker() ) {
1584
- $title = $this->title( '' );
1585
- $debug_mark = $this->get_debug_mark();
1586
-
1587
- /*
1588
- * Find all titles in the head, strip them out and add the new one in within the debug marker,
1589
- * so it's easily identified whether a site uses force rewrite.
1590
- */
1591
- $head = preg_replace( '/<title.*?\/title>/si', '', substr( $content, 0, $head_end ) );
1592
- $head = str_replace( $debug_mark, $debug_mark . PHP_EOL . '<title>' . esc_html( $title ) . '</title>', $head );
1593
-
1594
- $content = $head . substr( $content, $head_end );
1595
- }
1596
-
1597
- $GLOBALS['wp_query'] = $old_wp_query;
1598
-
1599
- echo $content;
1600
-
1601
- return true;
1602
- }
1603
-
1604
- /**
1605
- * Starts the output buffer so it can later be fixed by flush_cache().
1606
- */
1607
- public function force_rewrite_output_buffer() {
1608
- $this->ob_started = true;
1609
- ob_start();
1610
- }
1611
-
1612
- /**
1613
- * Get the product name in the head section.
1614
- *
1615
- * @return string
1616
- */
1617
- private function head_product_name() {
1618
- if ( $this->is_premium() ) {
1619
- return 'Yoast SEO Premium plugin';
1620
- }
1621
-
1622
- return 'Yoast SEO plugin';
1623
- }
1624
-
1625
- /**
1626
- * Check if this plugin is the premium version of WPSEO.
1627
- *
1628
- * @return bool
1629
- */
1630
- protected function is_premium() {
1631
- return WPSEO_Utils::is_yoast_seo_premium();
1632
- }
1633
-
1634
- /**
1635
- * Check if term archive query is for multiple terms (/term-1,term2/ or /term-1+term-2/).
1636
- *
1637
- * @return bool
1638
- */
1639
- protected function is_multiple_terms_query() {
1640
-
1641
- global $wp_query;
1642
-
1643
- if ( ! is_tax() && ! is_tag() && ! is_category() ) {
1644
- return false;
1645
- }
1646
-
1647
- $term = get_queried_object();
1648
- $queried_terms = $wp_query->tax_query->queried_terms;
1649
-
1650
- if ( empty( $queried_terms[ $term->taxonomy ]['terms'] ) ) {
1651
- return false;
1652
- }
1653
-
1654
- return count( $queried_terms[ $term->taxonomy ]['terms'] ) > 1;
1655
- }
1656
-
1657
- /**
1658
- * Wraps wp_safe_redirect to allow testing for redirects.
1659
- *
1660
- * @param string $location The path to redirect to.
1661
- * @param int $status Status code to use.
1662
- */
1663
- public function redirect( $location, $status = 302 ) {
1664
- wp_safe_redirect( $location, $status, 'Yoast SEO' );
1665
- exit;
1666
- }
1667
-
1668
- /**
1669
- * Checks if the debug mark action has been added.
1670
- *
1671
- * @return bool True when the action exists.
1672
- */
1673
- protected function show_debug_marker() {
1674
- return has_action( 'wpseo_head', [ $this, 'debug_mark' ] ) !== false;
1675
- }
1676
-
1677
- /**
1678
- * Shows the closing debug mark.
1679
- *
1680
- * @return string The closing debug mark comment.
1681
- */
1682
- protected function show_closing_debug_mark() {
1683
- if ( ! $this->show_debug_marker() ) {
1684
- return '';
1685
- }
1686
-
1687
- return sprintf(
1688
- "<!-- / %s. -->\n\n",
1689
- esc_html( $this->head_product_name() )
1690
- );
1691
- }
1692
-
1693
- /**
1694
- * Builds the title for a post type archive.
1695
- *
1696
- * @param string $separator The title separator.
1697
- * @param string $separator_location The location of the title separator.
1698
- *
1699
- * @return string The title to use on a post type archive.
1700
- */
1701
- protected function get_post_type_archive_title( $separator, $separator_location ) {
1702
- $post_type = $this->get_queried_post_type();
1703
-
1704
- $title = $this->get_title_from_options( 'title-ptarchive-' . $post_type );
1705
-
1706
- if ( ! is_string( $title ) || '' === $title ) {
1707
- $post_type_obj = get_post_type_object( $post_type );
1708
- $title_part = '';
1709
-
1710
- if ( isset( $post_type_obj->labels->menu_name ) ) {
1711
- $title_part = $post_type_obj->labels->menu_name;
1712
- }
1713
- elseif ( isset( $post_type_obj->name ) ) {
1714
- $title_part = $post_type_obj->name;
1715
- }
1716
-
1717
- $title = $this->get_default_title( $separator, $separator_location, $title_part );
1718
- }
1719
-
1720
- return $title;
1721
- }
1722
-
1723
- /**
1724
- * Retrieves the WooCommerce title.
1725
- *
1726
- * @return string The WooCommerce title.
1727
- */
1728
- protected function get_woocommerce_title() {
1729
- $shop_page_id = $this->woocommerce_shop_page->get_shop_page_id();
1730
- $post = get_post( $shop_page_id );
1731
- $title = $this->get_seo_title( $post );
1732
-
1733
- if ( is_string( $title ) && $title !== '' ) {
1734
- return $title;
1735
- }
1736
-
1737
- if ( $shop_page_id !== -1 && is_archive() ) {
1738
- $title = $this->get_template( 'title-' . $post->post_type );
1739
- $title = $this->replace_vars( $title, $post );
1740
- }
1741
-
1742
- return $title;
1743
- }
1744
-
1745
- /**
1746
- * Retrieves a template from the options.
1747
- *
1748
- * @param string $template The template to retrieve.
1749
- *
1750
- * @return string The set template.
1751
- */
1752
- protected function get_template( $template ) {
1753
- return WPSEO_Options::get( $template );
1754
- }
1755
-
1756
- /**
1757
- * Retrieves the queried post type.
1758
- *
1759
- * @return string The queried post type.
1760
- */
1761
- protected function get_queried_post_type() {
1762
- $post_type = get_query_var( 'post_type' );
1763
- if ( is_array( $post_type ) ) {
1764
- $post_type = reset( $post_type );
1765
- }
1766
-
1767
- return $post_type;
1768
- }
1769
-
1770
- /**
1771
- * Retrieves the SEO Meta value for the supplied key and optional post.
1772
- *
1773
- * @param string $key The key to retrieve.
1774
- * @param int $post_id Optional. The post to retrieve the key for.
1775
- *
1776
- * @return string Meta value.
1777
- */
1778
- protected function get_seo_meta_value( $key, $post_id = 0 ) {
1779
- return WPSEO_Meta::get_value( $key, $post_id );
1780
- }
1781
-
1782
- /**
1783
- * Replaces the dynamic variables in a string.
1784
- *
1785
- * @param string $string The string to replace the variables in.
1786
- * @param array $args The object some of the replacement values might come from,
1787
- * could be a post, taxonomy or term.
1788
- * @param array $omit Variables that should not be replaced by this function.
1789
- *
1790
- * @return string The replaced string.
1791
- */
1792
- protected function replace_vars( $string, $args, $omit = [] ) {
1793
- $replacer = new WPSEO_Replace_Vars();
1794
-
1795
- return $replacer->replace( $string, $args, $omit );
1796
- }
1797
-
1798
- /**
1799
- * Adds shortcode support to category descriptions.
1800
- *
1801
- * @param string $desc String to add shortcodes in.
1802
- *
1803
- * @return string Content with shortcodes filtered out.
1804
- */
1805
- public function custom_category_descriptions_add_shortcode_support( $desc ) {
1806
- // Wrap in output buffering to prevent shortcodes that echo stuff instead of return from breaking things.
1807
- ob_start();
1808
- $desc = do_shortcode( $desc );
1809
- ob_end_clean();
1810
- return $desc;
1811
- }
1812
-
1813
- /* ********************* DEPRECATED METHODS ********************* */
1814
-
1815
- /**
1816
- * Outputs the meta keywords element.
1817
- *
1818
- * @deprecated 6.3
1819
- * @codeCoverageIgnore
1820
- *
1821
- * @return void
1822
- */
1823
- public function metakeywords() {
1824
- if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
1825
- _deprecated_function( 'WPSEO_Frontend::metakeywords', '6.3' );
1826
- }
1827
- }
1828
-
1829
- /**
1830
- * Removes unneeded query variables from the URL.
1831
- *
1832
- * @deprecated 7.0
1833
- * @codeCoverageIgnore
1834
- *
1835
- * @return void
1836
- */
1837
- public function clean_permalink() {
1838
- // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
1839
- if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
1840
- _deprecated_function( 'WPSEO_Frontend::clean_permalink', '7.0' );
1841
- }
1842
- }
1843
-
1844
- /**
1845
- * Trailing slashes for everything except is_single().
1846
- *
1847
- * @deprecated 7.0
1848
- * @codeCoverageIgnore
1849
- */
1850
- public function add_trailingslash() {
1851
- // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
1852
- if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
1853
- _deprecated_function( 'WPSEO_Frontend::add_trailingslash', '7.0', null );
1854
- }
1855
- }
1856
-
1857
- /**
1858
- * Removes the ?replytocom variable from the link, replacing it with a #comment-<number> anchor.
1859
- *
1860
- * @deprecated 7.0
1861
- * @codeCoverageIgnore
1862
- *
1863
- * @param string $link The comment link as a string.
1864
- *
1865
- * @return string The modified link.
1866
- */
1867
- public function remove_reply_to_com( $link ) {
1868
- _deprecated_function( 'WPSEO_Frontend::remove_reply_to_com', '7.0', 'WPSEO_Remove_Reply_To_Com::remove_reply_to_com' );
1869
-
1870
- $remove_replytocom = new WPSEO_Remove_Reply_To_Com();
1871
- return $remove_replytocom->remove_reply_to_com( $link );
1872
- }
1873
-
1874
- /**
1875
- * Redirects out the ?replytocom variables.
1876
- *
1877
- * @deprecated 7.0
1878
- * @codeCoverageIgnore
1879
- *
1880
- * @return boolean True when redirect has been done.
1881
- */
1882
- public function replytocom_redirect() {
1883
- _deprecated_function( 'WPSEO_Frontend::replytocom_redirect', '7.0', 'WPSEO_Remove_Reply_To_Com::replytocom_redirect' );
1884
-
1885
- $remove_replytocom = new WPSEO_Remove_Reply_To_Com();
1886
- return $remove_replytocom->replytocom_redirect();
1887
- }
1888
-
1889
- /**
1890
- * Determine whether this is the homepage and shows posts.
1891
- *
1892
- * @deprecated 7.7
1893
- * @codeCoverageIgnore
1894
- *
1895
- * @return bool Whether or not the current page is the homepage that displays posts.
1896
- */
1897
- public function is_home_posts_page() {
1898
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_posts_page' );
1899
-
1900
- return WPSEO_Frontend_Page_Type::is_home_posts_page();
1901
- }
1902
-
1903
- /**
1904
- * Determine whether the this is the static frontpage.
1905
- *
1906
- * @deprecated 7.7
1907
- * @codeCoverageIgnore
1908
- *
1909
- * @return bool Whether or not the current page is a static frontpage.
1910
- */
1911
- public function is_home_static_page() {
1912
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_static_page' );
1913
-
1914
- return WPSEO_Frontend_Page_Type::is_home_static_page();
1915
- }
1916
-
1917
- /**
1918
- * Determine whether this is the posts page, when it's not the frontpage.
1919
- *
1920
- * @deprecated 7.7
1921
- * @codeCoverageIgnore
1922
- *
1923
- * @return bool Whether or not it's a non-frontpage, posts page.
1924
- */
1925
- public function is_posts_page() {
1926
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_posts_page' );
1927
-
1928
- return WPSEO_Frontend_Page_Type::is_posts_page();
1929
- }
1930
-
1931
- /**
1932
- * Function used in testing whether the title should be force rewritten or not.
1933
- *
1934
- * @deprecated 9.6
1935
- * @codeCoverageIgnore
1936
- *
1937
- * @param string $title Title string.
1938
- *
1939
- * @return string
1940
- */
1941
- public function title_test_helper( $title ) {
1942
- _deprecated_function( __METHOD__, 'WPSEO 9.6' );
1943
-
1944
- return $title;
1945
- }
1946
-
1947
- /**
1948
- * Output the rel=publisher code on every page of the site.
1949
- *
1950
- * @deprecated 10.1.3
1951
- * @codeCoverageIgnore
1952
- *
1953
- * @return boolean Boolean indicating whether the publisher link was printed.
1954
- */
1955
- public function publisher() {
1956
- _deprecated_function( __METHOD__, 'WPSEO 10.1.3' );
1957
-
1958
- return false;
1959
- }
1960
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-handle-404.php DELETED
@@ -1,92 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * Class WPSEO_Handle_404
10
- *
11
- * Handles intercepting requests.
12
- *
13
- * @since 9.4
14
- */
15
- class WPSEO_Handle_404 implements WPSEO_WordPress_Integration {
16
-
17
- /**
18
- * Registers all hooks to WordPress.
19
- *
20
- * @return void
21
- */
22
- public function register_hooks() {
23
- add_filter( 'pre_handle_404', [ $this, 'handle_404' ] );
24
- }
25
-
26
- /**
27
- * Handle the 404 status code.
28
- *
29
- * @param bool $handled Whether we've handled the request.
30
- *
31
- * @return bool True if it's 404.
32
- */
33
- public function handle_404( $handled ) {
34
-
35
- if ( is_feed() ) {
36
- return $this->is_feed_404( $handled );
37
- }
38
-
39
- return $handled;
40
- }
41
-
42
- /**
43
- * If there are no posts in a feed, make it 404 instead of sending an empty RSS feed.
44
- *
45
- * @global WP_Query $wp_query
46
- *
47
- * @param bool $handled Whether we've handled the request.
48
- *
49
- * @return bool True if it's 404.
50
- */
51
- protected function is_feed_404( $handled ) {
52
- global $wp_query;
53
-
54
- // Don't 404 if the query contains post(s) or an object.
55
- if ( $wp_query->posts || $wp_query->get_queried_object() ) {
56
- return $handled;
57
- }
58
-
59
- // Don't 404 if it isn't archive or singular.
60
- if ( ! $wp_query->is_archive() && ! $wp_query->is_singular() ) {
61
- return $handled;
62
- }
63
-
64
- $wp_query->is_feed = false;
65
- $this->set_404();
66
-
67
- add_filter( 'old_slug_redirect_url', '__return_false' );
68
- add_filter( 'redirect_canonical', '__return_false' );
69
-
70
- return true;
71
- }
72
-
73
- /**
74
- * Sets the 404 status code.
75
- *
76
- * @global WP_Query $wp_query
77
- *
78
- * @return void
79
- */
80
- private function set_404() {
81
- global $wp_query;
82
-
83
- // Overwrite Content-Type header.
84
- if ( ! headers_sent() ) {
85
- header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
86
- }
87
-
88
- $wp_query->set_404();
89
- status_header( 404 );
90
- nocache_headers();
91
- }
92
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-opengraph-image.php DELETED
@@ -1,674 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * Class WPSEO_OpenGraph_Image.
10
- */
11
- class WPSEO_OpenGraph_Image {
12
-
13
- /**
14
- * The image ID used when the image is external.
15
- *
16
- * @var string
17
- */
18
- const EXTERNAL_IMAGE_ID = '-1';
19
-
20
- /**
21
- * Holds the images that have been put out as OG image.
22
- *
23
- * @var array
24
- */
25
- protected $images = [];
26
-
27
- /**
28
- * Holds the WPSEO_OpenGraph instance, so we can call og_tag.
29
- *
30
- * @var WPSEO_OpenGraph
31
- */
32
- private $opengraph;
33
-
34
- /**
35
- * Image tags that we output for each image.
36
- *
37
- * @var array
38
- */
39
- private $image_tags = [
40
- 'width' => 'width',
41
- 'height' => 'height',
42
- 'mime-type' => 'type',
43
- ];
44
-
45
- /**
46
- * The parameters we have for Facebook images.
47
- *
48
- * @var array
49
- */
50
- private $image_params = [
51
- 'min_width' => 200,
52
- 'max_width' => 2000,
53
- 'min_height' => 200,
54
- 'max_height' => 2000,
55
- ];
56
-
57
- /**
58
- * Image types that are supported by OpenGraph.
59
- *
60
- * @var array
61
- */
62
- private $valid_image_types = [ 'image/jpeg', 'image/gif', 'image/png' ];
63
-
64
- /**
65
- * Image extensions that are supported by OpenGraph.
66
- *
67
- * @var array
68
- */
69
- private $valid_image_extensions = [ 'jpeg', 'jpg', 'gif', 'png' ];
70
-
71
- /**
72
- * Constructor.
73
- *
74
- * @param null|string $image Optional. The Image to use.
75
- * @param WPSEO_OpenGraph $opengraph Optional. The OpenGraph object.
76
- */
77
- public function __construct( $image = null, WPSEO_OpenGraph $opengraph = null ) {
78
- if ( $opengraph === null ) {
79
- global $wpseo_og;
80
-
81
- // Use the global if available.
82
- if ( empty( $wpseo_og ) ) {
83
- $wpseo_og = new WPSEO_OpenGraph();
84
- }
85
-
86
- $opengraph = $wpseo_og;
87
- }
88
-
89
- $this->opengraph = $opengraph;
90
-
91
- if ( ! empty( $image ) && is_string( $image ) ) {
92
- $this->add_image_by_url( $image );
93
- }
94
-
95
- if ( ! post_password_required() ) {
96
- $this->set_images();
97
- }
98
- }
99
-
100
- /**
101
- * Outputs the images.
102
- *
103
- * @return void
104
- */
105
- public function show() {
106
- foreach ( $this->get_images() as $image => $image_meta ) {
107
- $this->og_image_tag( $image );
108
- $this->show_image_meta( $image_meta );
109
- }
110
- }
111
-
112
- /**
113
- * Output the image metadata.
114
- *
115
- * @param array $image_meta Image meta data to output.
116
- *
117
- * @return void
118
- */
119
- private function show_image_meta( $image_meta ) {
120
- foreach ( $this->image_tags as $key => $value ) {
121
- if ( ! empty( $image_meta[ $key ] ) ) {
122
- $this->opengraph->og_tag( 'og:image:' . $key, $image_meta[ $key ] );
123
- }
124
- }
125
- }
126
-
127
- /**
128
- * Outputs an image tag based on whether it's https or not.
129
- *
130
- * @param string $image_url The image URL.
131
- *
132
- * @return void
133
- */
134
- private function og_image_tag( $image_url ) {
135
- $this->opengraph->og_tag( 'og:image', esc_url( $image_url ) );
136
-
137
- // Add secure URL if detected. Not all services implement this, so the regular one also needs to be rendered.
138
- if ( strpos( $image_url, 'https://' ) === 0 ) {
139
- $this->opengraph->og_tag( 'og:image:secure_url', esc_url( $image_url ) );
140
- }
141
- }
142
-
143
- /**
144
- * Return the images array.
145
- *
146
- * @return array The images.
147
- */
148
- public function get_images() {
149
- return $this->images;
150
- }
151
-
152
- /**
153
- * Check whether we have images or not.
154
- *
155
- * @return bool True if we have images, false if we don't.
156
- */
157
- public function has_images() {
158
- return ! empty( $this->images );
159
- }
160
-
161
- /**
162
- * Display an OpenGraph image tag.
163
- *
164
- * @param string|array $attachment Attachment array.
165
- *
166
- * @return void
167
- */
168
- public function add_image( $attachment ) {
169
- // In the past `add_image` accepted an image url, so leave this for backwards compatibility.
170
- if ( is_string( $attachment ) ) {
171
- $attachment = [ 'url' => $attachment ];
172
- }
173
-
174
- if ( ! is_array( $attachment ) || empty( $attachment['url'] ) ) {
175
- return;
176
- }
177
-
178
- // If the URL ends in `.svg`, we need to return.
179
- if ( ! $this->is_valid_image_url( $attachment['url'] ) ) {
180
- return;
181
- }
182
-
183
- /**
184
- * Filter: 'wpseo_opengraph_image' - Allow changing the OpenGraph image.
185
- *
186
- * @api string - The URL of the OpenGraph image.
187
- */
188
- $image_url = trim( apply_filters( 'wpseo_opengraph_image', $attachment['url'] ) );
189
- if ( empty( $image_url ) ) {
190
- return;
191
- }
192
-
193
- if ( WPSEO_Utils::is_url_relative( $image_url ) === true ) {
194
- $image_url = WPSEO_Image_Utils::get_relative_path( $image_url );
195
- }
196
-
197
- if ( array_key_exists( $image_url, $this->images ) ) {
198
- return;
199
- }
200
-
201
- $this->images[ $image_url ] = $attachment;
202
- }
203
-
204
- /**
205
- * Adds an image by ID if possible and by URL if the ID isn't present.
206
- *
207
- * @param string $image_id The image ID as set in the database.
208
- * @param string $image_url The saved URL for the image.
209
- * @param callable $on_save_id Function to call to save the ID if it needs to be saved.
210
- *
211
- * @return void
212
- */
213
- private function add_image_by_id_or_url( $image_id, $image_url, $on_save_id ) {
214
- switch ( $image_id ) {
215
- case self::EXTERNAL_IMAGE_ID:
216
- // Add image by URL, but skip attachment_to_id call. We already know this is an external image.
217
- $this->add_image( [ 'url' => $image_url ] );
218
- break;
219
-
220
- case '':
221
- // Add image by URL, try to save the ID afterwards. So we can use the ID the next time.
222
- $attachment_id = $this->add_image_by_url( $image_url );
223
-
224
- if ( $attachment_id !== null ) {
225
- call_user_func( $on_save_id, $attachment_id );
226
- }
227
- break;
228
-
229
- default:
230
- // Add the image by ID. This is our ideal scenario.
231
- $this->add_image_by_id( $image_id );
232
- break;
233
- }
234
- }
235
-
236
- /**
237
- * Saves the ID to the frontpage Open Graph image ID.
238
- *
239
- * @param string $attachment_id The ID to save.
240
- *
241
- * @return void
242
- */
243
- private function save_frontpage_image_id( $attachment_id ) {
244
- WPSEO_Options::set( 'og_frontpage_image_id', $attachment_id );
245
- }
246
-
247
- /**
248
- * If the frontpage image exists, call add_image.
249
- *
250
- * @return void
251
- */
252
- private function set_front_page_image() {
253
- if ( get_option( 'show_on_front' ) === 'page' ) {
254
- $this->set_user_defined_image();
255
-
256
- // Don't fall back to the frontpage image below, as that's not set for this situation, so we should fall back to the default image.
257
- return;
258
- }
259
-
260
-
261
- $frontpage_image_url = WPSEO_Options::get( 'og_frontpage_image' );
262
- $frontpage_image_id = WPSEO_Options::get( 'og_frontpage_image_id' );
263
-
264
- $this->add_image_by_id_or_url( $frontpage_image_id, $frontpage_image_url, [ $this, 'save_frontpage_image_id' ] );
265
- }
266
-
267
- /**
268
- * Get the images of the posts page.
269
- *
270
- * @return void
271
- */
272
- private function set_posts_page_image() {
273
- $post_id = get_option( 'page_for_posts' );
274
-
275
- $this->set_image_post_meta( $post_id );
276
-
277
- if ( $this->has_images() ) {
278
- return;
279
- }
280
-
281
- $this->set_featured_image( $post_id );
282
- }
283
-
284
- /**
285
- * Get the images of the singular post.
286
- *
287
- * @param null|int $post_id The post id to get the images for.
288
- *
289
- * @return void
290
- */
291
- private function set_singular_image( $post_id = null ) {
292
- if ( $post_id === null ) {
293
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
294
- }
295
-
296
- $this->set_user_defined_image( $post_id );
297
-
298
- if ( $this->has_images() ) {
299
- return;
300
- }
301
-
302
- $this->add_first_usable_content_image( $post_id );
303
- }
304
-
305
- /**
306
- * Gets the user-defined image of the post.
307
- *
308
- * @param null|int $post_id The post id to get the images for.
309
- *
310
- * @return void
311
- */
312
- private function set_user_defined_image( $post_id = null ) {
313
- if ( $post_id === null ) {
314
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
315
- }
316
-
317
- $this->set_image_post_meta( $post_id );
318
-
319
- if ( $this->has_images() ) {
320
- return;
321
- }
322
-
323
- $this->set_featured_image( $post_id );
324
- }
325
-
326
- /**
327
- * Saves the default image ID for Open Graph images to the database.
328
- *
329
- * @param string $attachment_id The ID to save.
330
- *
331
- * @return void
332
- */
333
- private function save_default_image_id( $attachment_id ) {
334
- WPSEO_Options::set( 'og_default_image_id', $attachment_id );
335
- }
336
-
337
- /**
338
- * Get default image and call add_image.
339
- *
340
- * @return void
341
- */
342
- private function maybe_set_default_image() {
343
- if ( $this->has_images() ) {
344
- return;
345
- }
346
-
347
- $default_image_url = WPSEO_Options::get( 'og_default_image', '' );
348
- $default_image_id = WPSEO_Options::get( 'og_default_image_id', '' );
349
-
350
- if ( $default_image_url === '' && $default_image_id === '' ) {
351
- return;
352
- }
353
-
354
- $this->add_image_by_id_or_url( $default_image_id, $default_image_url, [ $this, 'save_default_image_id' ] );
355
- }
356
-
357
- /**
358
- * Saves the Open Graph image meta to the database for the current post.
359
- *
360
- * @param string $attachment_id The ID to save.
361
- *
362
- * @return void
363
- */
364
- private function save_opengraph_image_id_meta( $attachment_id ) {
365
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
366
-
367
- WPSEO_Meta::set_value( 'opengraph-image-id', (string) $attachment_id, $post_id );
368
- }
369
-
370
- /**
371
- * If opengraph-image is set, call add_image and return true.
372
- *
373
- * @param int $post_id Optional post ID to use.
374
- *
375
- * @return void
376
- */
377
- private function set_image_post_meta( $post_id = 0 ) {
378
- $image_id = WPSEO_Meta::get_value( 'opengraph-image-id', $post_id );
379
- $image_url = WPSEO_Meta::get_value( 'opengraph-image', $post_id );
380
-
381
- $this->add_image_by_id_or_url( $image_id, $image_url, [ $this, 'save_opengraph_image_id_meta' ] );
382
- }
383
-
384
- /**
385
- * Check if taxonomy has an image and add this image.
386
- *
387
- * @return void
388
- */
389
- private function set_taxonomy_image() {
390
- $image_url = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-image' );
391
- $this->add_image_by_url( $image_url );
392
- }
393
-
394
- /**
395
- * If there is a featured image, check image size. If image size is correct, call add_image and return true.
396
- *
397
- * @param int $post_id The post ID.
398
- *
399
- * @return void
400
- */
401
- private function set_featured_image( $post_id ) {
402
- if ( has_post_thumbnail( $post_id ) ) {
403
- $attachment_id = get_post_thumbnail_id( $post_id );
404
- $this->add_image_by_id( $attachment_id );
405
- }
406
- }
407
-
408
- /**
409
- * If this is an attachment page, call add_image with the attachment.
410
- *
411
- * @return void
412
- */
413
- private function set_attachment_page_image() {
414
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
415
- if ( wp_attachment_is_image( $post_id ) ) {
416
- $this->add_image_by_id( $post_id );
417
- }
418
- }
419
-
420
- /**
421
- * Adds an image based on a given URL, and attempts to be smart about it.
422
- *
423
- * @param string $url The given URL.
424
- *
425
- * @return null|number Returns the found attachment ID if it exists. Otherwise -1.
426
- * If the URL is empty we return null.
427
- */
428
- public function add_image_by_url( $url ) {
429
- if ( empty( $url ) ) {
430
- return null;
431
- }
432
-
433
- $attachment_id = WPSEO_Image_Utils::get_attachment_by_url( $url );
434
-
435
- if ( $attachment_id > 0 ) {
436
- $this->add_image_by_id( $attachment_id );
437
- return $attachment_id;
438
- }
439
-
440
- $this->add_image( [ 'url' => $url ] );
441
-
442
- return -1;
443
- }
444
-
445
- /**
446
- * Returns the overridden image size if it has been overridden.
447
- *
448
- * @return null|string The overridden image size or null.
449
- */
450
- protected function get_overridden_image_size() {
451
- /**
452
- * Filter: 'wpseo_opengraph_image_size' - Allow overriding the image size used
453
- * for OpenGraph sharing. If this filter is used, the defined size will always be
454
- * used for the og:image. The image will still be rejected if it is too small.
455
- *
456
- * Only use this filter if you manually want to determine the best image size
457
- * for the `og:image` tag.
458
- *
459
- * Use the `wpseo_image_sizes` filter if you want to use our logic. That filter
460
- * can be used to add an image size that needs to be taken into consideration
461
- * within our own logic.
462
- *
463
- * @api string $size Size string.
464
- */
465
- return apply_filters( 'wpseo_opengraph_image_size', null );
466
- }
467
-
468
- /**
469
- * Determines if the OpenGraph image size should overridden.
470
- *
471
- * @return bool Whether the size should be overridden.
472
- */
473
- protected function is_size_overridden() {
474
- return $this->get_overridden_image_size() !== null;
475
- }
476
-
477
- /**
478
- * Adds the possibility to short-circuit all the optimal variation logic with
479
- * your own size.
480
- *
481
- * @param int $attachment_id The attachment ID that is used.
482
- *
483
- * @return void
484
- */
485
- protected function get_overridden_image( $attachment_id ) {
486
- $attachment = WPSEO_Image_Utils::get_image( $attachment_id, $this->get_overridden_image_size() );
487
-
488
- if ( $attachment ) {
489
- $this->add_image( $attachment );
490
- }
491
- }
492
-
493
- /**
494
- * Adds an image to the list by attachment ID.
495
- *
496
- * @param int $attachment_id The attachment ID to add.
497
- *
498
- * @return void
499
- */
500
- public function add_image_by_id( $attachment_id ) {
501
- if ( ! $this->is_valid_attachment( $attachment_id ) ) {
502
- return;
503
- }
504
-
505
- if ( $this->is_size_overridden() ) {
506
- $this->get_overridden_image( $attachment_id );
507
- return;
508
- }
509
-
510
- $variations = WPSEO_Image_Utils::get_variations( $attachment_id );
511
- $variations = WPSEO_Image_Utils::filter_usable_dimensions( $this->image_params, $variations );
512
- $variations = WPSEO_Image_Utils::filter_usable_file_size( $variations );
513
-
514
- // If we are left without variations, there is no valid variation for this attachment.
515
- if ( empty( $variations ) ) {
516
- return;
517
- }
518
-
519
- // The variations are ordered so the first variations is by definition the best one.
520
- $attachment = $variations[0];
521
-
522
- if ( $attachment ) {
523
- $this->add_image( $attachment );
524
- }
525
- }
526
-
527
- /**
528
- * Sets the images based on the page type.
529
- *
530
- * @return void
531
- */
532
- protected function set_images() {
533
- /**
534
- * Filter: wpseo_add_opengraph_images - Allow developers to add images to the OpenGraph tags.
535
- *
536
- * @api WPSEO_OpenGraph_Image The current object.
537
- */
538
- do_action( 'wpseo_add_opengraph_images', $this );
539
-
540
- switch ( true ) {
541
- case is_front_page():
542
- $this->set_front_page_image();
543
- break;
544
- case is_home():
545
- $this->set_posts_page_image();
546
- break;
547
- case is_attachment():
548
- $this->set_attachment_page_image();
549
- break;
550
- case WPSEO_Frontend_Page_Type::is_simple_page():
551
- $this->set_singular_image();
552
- break;
553
- case is_category():
554
- case is_tag():
555
- case is_tax():
556
- $this->set_taxonomy_image();
557
- }
558
-
559
- /**
560
- * Filter: wpseo_add_opengraph_additional_images - Allows to add additional images to the OpenGraph tags.
561
- *
562
- * @api WPSEO_OpenGraph_Image The current object.
563
- */
564
- do_action( 'wpseo_add_opengraph_additional_images', $this );
565
-
566
- $this->maybe_set_default_image();
567
- }
568
-
569
- /**
570
- * Determines whether or not the wanted attachment is considered valid.
571
- *
572
- * @param int $attachment_id The attachment ID to get the attachment by.
573
- *
574
- * @return bool Whether or not the attachment is valid.
575
- */
576
- protected function is_valid_attachment( $attachment_id ) {
577
- $attachment = get_post_mime_type( $attachment_id );
578
-
579
- if ( $attachment === false ) {
580
- return false;
581
- }
582
-
583
- return $this->is_valid_image_type( $attachment );
584
- }
585
-
586
- /**
587
- * Determines whether the passed mime type is a valid image type.
588
- *
589
- * @param string $mime_type The detected mime type.
590
- *
591
- * @return bool Whether or not the attachment is a valid image type.
592
- */
593
- protected function is_valid_image_type( $mime_type ) {
594
- return in_array( $mime_type, $this->valid_image_types, true );
595
- }
596
-
597
- /**
598
- * Determines whether the passed URL is considered valid.
599
- *
600
- * @param string $url The URL to check.
601
- *
602
- * @return bool Whether or not the URL is a valid image.
603
- */
604
- protected function is_valid_image_url( $url ) {
605
- if ( ! is_string( $url ) ) {
606
- return false;
607
- }
608
-
609
- $image_extension = $this->get_extension_from_url( $url );
610
-
611
- $is_valid = in_array( $image_extension, $this->valid_image_extensions, true );
612
-
613
- /**
614
- * Filter: 'wpseo_opengraph_is_valid_image_url' - Allows extra validation for an image url.
615
- *
616
- * @api bool - Current validation result.
617
- *
618
- * @param string $url The image url to validate.
619
- */
620
- return apply_filters( 'wpseo_opengraph_is_valid_image_url', $is_valid, $url );
621
- }
622
-
623
- /**
624
- * Gets the image path from the passed URL.
625
- *
626
- * @param string $url The URL to get the path from.
627
- *
628
- * @return string The path of the image URL. Returns an empty string if URL parsing fails.
629
- */
630
- protected function get_image_url_path( $url ) {
631
- return (string) wp_parse_url( $url, PHP_URL_PATH );
632
- }
633
-
634
- /**
635
- * Determines the file extension of the passed URL.
636
- *
637
- * @param string $url The URL.
638
- *
639
- * @return string The extension.
640
- */
641
- protected function get_extension_from_url( $url ) {
642
- $extension = '';
643
- $path = $this->get_image_url_path( $url );
644
-
645
- if ( $path === '' ) {
646
- return $extension;
647
- }
648
-
649
- $parts = explode( '.', $path );
650
-
651
- if ( ! empty( $parts ) ) {
652
- $extension = end( $parts );
653
- }
654
-
655
- return $extension;
656
- }
657
-
658
- /**
659
- * Adds the first usable attachment image from the post content.
660
- *
661
- * @param int $post_id The post id.
662
- *
663
- * @return void
664
- */
665
- private function add_first_usable_content_image( $post_id ) {
666
- $image_url = WPSEO_Image_Utils::get_first_usable_content_image_for_post( $post_id );
667
-
668
- if ( $image_url === null || empty( $image_url ) ) {
669
- return;
670
- }
671
-
672
- $this->add_image( [ 'url' => $image_url ] );
673
- }
674
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-opengraph-oembed.php DELETED
@@ -1,72 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * Class WPSEO_OpenGraph_OEmbed.
10
- */
11
- class WPSEO_OpenGraph_OEmbed implements WPSEO_WordPress_Integration {
12
-
13
- /**
14
- * Registers the hooks.
15
- */
16
- public function register_hooks() {
17
- // Check to make sure opengraph is enabled before adding filter.
18
- if ( WPSEO_Options::get( 'opengraph' ) ) {
19
- add_filter( 'oembed_response_data', [ $this, 'set_oembed_data' ], 10, 2 );
20
- }
21
- }
22
-
23
- /**
24
- * Callback function to pass to the oEmbed's response data that will enable
25
- * support for using the image and title set by the WordPress SEO plugin's fields. This
26
- * address the concern where some social channels/subscribed use oEmebed data over OpenGraph data
27
- * if both are present.
28
- *
29
- * @param array $data The oEmbed data.
30
- * @param WP_Post $post The current Post object.
31
- *
32
- * @link https://developer.wordpress.org/reference/hooks/oembed_response_data/ for hook info.
33
- *
34
- * @return array $filter_data - An array of oEmbed data with modified values where appropriate.
35
- */
36
- public function set_oembed_data( $data, $post ) {
37
- // Data to be returned.
38
- $filter_data = $data;
39
-
40
- // Look for the Yoast meta values (image and title)...
41
- $opengraph_title = WPSEO_Meta::get_value( 'opengraph-title', $post->ID );
42
- $opengraph_image = WPSEO_Meta::get_value( 'opengraph-image', $post->ID );
43
-
44
- // If yoast has a title set, update oEmbed with Yoast's title.
45
- if ( ! empty( $opengraph_title ) ) {
46
- $filter_data['title'] = $opengraph_title;
47
- }
48
-
49
- // If WPSEO Image was _not_ set, return the `$filter_data` as it currently is.
50
- if ( empty( $opengraph_image ) ) {
51
- return $filter_data;
52
- }
53
-
54
- // Since the a WPSEO Image was set, update the oEmbed data with the Yoast Image's info.
55
- // Get the image's ID from a URL.
56
- $image_id = WPSEO_Image_Utils::get_attachment_by_url( $opengraph_image );
57
-
58
- // Get the image's info from it's ID.
59
- $image_info = wp_get_attachment_metadata( $image_id );
60
-
61
- // Update the oEmbed data.
62
- $filter_data['thumbnail_url'] = $opengraph_image;
63
- if ( ! empty( $image_info['height'] ) ) {
64
- $filter_data['thumbnail_height'] = $image_info['height'];
65
- }
66
- if ( ! empty( $image_info['width'] ) ) {
67
- $filter_data['thumbnail_width'] = $image_info['width'];
68
- }
69
-
70
- return $filter_data;
71
- }
72
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-opengraph.php DELETED
@@ -1,771 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * This code adds the OpenGraph output.
10
- */
11
- class WPSEO_OpenGraph {
12
-
13
- /**
14
- * The date helper.
15
- *
16
- * @var WPSEO_Date_Helper
17
- */
18
- protected $date;
19
-
20
- /**
21
- * Class constructor.
22
- */
23
- public function __construct() {
24
- $this->date = new WPSEO_Date_Helper();
25
-
26
- if ( isset( $GLOBALS['fb_ver'] ) || class_exists( 'Facebook_Loader', false ) ) {
27
- add_filter( 'fb_meta_tags', [ $this, 'facebook_filter' ], 10, 1 );
28
- }
29
- else {
30
- add_action( 'wpseo_opengraph', [ $this, 'locale' ], 1 );
31
- add_action( 'wpseo_opengraph', [ $this, 'type' ], 5 );
32
- add_action( 'wpseo_opengraph', [ $this, 'og_title' ], 10 );
33
- add_action( 'wpseo_opengraph', [ $this, 'app_id' ], 20 );
34
- add_action( 'wpseo_opengraph', [ $this, 'description' ], 11 );
35
- add_action( 'wpseo_opengraph', [ $this, 'url' ], 12 );
36
- add_action( 'wpseo_opengraph', [ $this, 'site_name' ], 13 );
37
- add_action( 'wpseo_opengraph', [ $this, 'website_facebook' ], 14 );
38
- if ( is_singular() && ! is_front_page() ) {
39
- add_action( 'wpseo_opengraph', [ $this, 'article_author_facebook' ], 15 );
40
- add_action( 'wpseo_opengraph', [ $this, 'tags' ], 16 );
41
- add_action( 'wpseo_opengraph', [ $this, 'category' ], 17 );
42
- add_action( 'wpseo_opengraph', [ $this, 'publish_date' ], 19 );
43
- }
44
-
45
- add_action( 'wpseo_opengraph', [ $this, 'image' ], 30 );
46
- }
47
- add_filter( 'jetpack_enable_open_graph', '__return_false' );
48
- add_action( 'wpseo_head', [ $this, 'opengraph' ], 30 );
49
- }
50
-
51
- /**
52
- * Main OpenGraph output.
53
- */
54
- public function opengraph() {
55
- wp_reset_query();
56
- /**
57
- * Action: 'wpseo_opengraph' - Hook to add all Facebook OpenGraph output to so they're close together.
58
- */
59
- do_action( 'wpseo_opengraph' );
60
- }
61
-
62
- /**
63
- * Internal function to output FB tags. This also adds an output filter to each bit of output based on the property.
64
- *
65
- * @param string $property Property attribute value.
66
- * @param string $content Content attribute value.
67
- *
68
- * @return boolean
69
- */
70
- public function og_tag( $property, $content ) {
71
- $og_property = str_replace( ':', '_', $property );
72
- /**
73
- * Filter: 'wpseo_og_' . $og_property - Allow developers to change the content of specific OG meta tags.
74
- *
75
- * @api string $content The content of the property.
76
- */
77
- $content = apply_filters( 'wpseo_og_' . $og_property, $content );
78
- if ( empty( $content ) ) {
79
- return false;
80
- }
81
-
82
- echo '<meta property="', esc_attr( $property ), '" content="', esc_attr( $content ), '" />', "\n";
83
-
84
- return true;
85
- }
86
-
87
- /**
88
- * Filter the Facebook plugins metadata.
89
- *
90
- * @param array $meta_tags The array to fix.
91
- *
92
- * @return array $meta_tags
93
- */
94
- public function facebook_filter( $meta_tags ) {
95
- $meta_tags['http://ogp.me/ns#type'] = $this->type( false );
96
- $meta_tags['http://ogp.me/ns#title'] = $this->og_title( false );
97
-
98
- // Filter the locale too because the Facebook plugin locale code is not as good as ours.
99
- $meta_tags['http://ogp.me/ns#locale'] = $this->locale( false );
100
-
101
- $ogdesc = $this->description( false );
102
- if ( ! empty( $ogdesc ) ) {
103
- $meta_tags['http://ogp.me/ns#description'] = $ogdesc;
104
- }
105
-
106
- return $meta_tags;
107
- }
108
-
109
- /**
110
- * Outputs the authors FB page.
111
- *
112
- * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
113
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
114
- *
115
- * @return boolean
116
- */
117
- public function article_author_facebook() {
118
- if ( ! is_singular() ) {
119
- return false;
120
- }
121
-
122
- /**
123
- * Filter: 'wpseo_opengraph_author_facebook' - Allow developers to filter the Yoast SEO post authors facebook profile URL.
124
- *
125
- * @api bool|string $unsigned The Facebook author URL, return false to disable.
126
- */
127
- $facebook = apply_filters( 'wpseo_opengraph_author_facebook', get_the_author_meta( 'facebook', $GLOBALS['post']->post_author ) );
128
-
129
- if ( $facebook && ( is_string( $facebook ) && $facebook !== '' ) ) {
130
- $this->og_tag( 'article:author', $facebook );
131
-
132
- return true;
133
- }
134
-
135
- return false;
136
- }
137
-
138
- /**
139
- * Outputs the websites FB page.
140
- *
141
- * @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
142
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
143
- *
144
- * @return boolean
145
- */
146
- public function website_facebook() {
147
-
148
- if ( 'article' === $this->type( false ) && WPSEO_Options::get( 'facebook_site', '' ) !== '' ) {
149
- $this->og_tag( 'article:publisher', WPSEO_Options::get( 'facebook_site' ) );
150
-
151
- return true;
152
- }
153
-
154
- return false;
155
- }
156
-
157
- /**
158
- * Outputs the SEO title as OpenGraph title.
159
- *
160
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
161
- *
162
- * @param bool $echo Whether or not to echo the output.
163
- *
164
- * @return string|boolean
165
- */
166
- public function og_title( $echo = true ) {
167
-
168
- $frontend = WPSEO_Frontend::get_instance();
169
-
170
- if ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
171
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
172
- $post = get_post( $post_id );
173
- $title = WPSEO_Meta::get_value( 'opengraph-title', $post_id );
174
-
175
- if ( $title === '' ) {
176
- $title = $frontend->title( '' );
177
- }
178
- else {
179
- // Replace Yoast SEO Variables.
180
- $title = wpseo_replace_vars( $title, $post );
181
- }
182
- }
183
- elseif ( is_front_page() ) {
184
- $title = ( WPSEO_Options::get( 'og_frontpage_title', '' ) !== '' ) ? WPSEO_Options::get( 'og_frontpage_title' ) : $frontend->title( '' );
185
- }
186
- elseif ( is_category() || is_tax() || is_tag() ) {
187
- $title = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-title' );
188
- if ( $title === '' ) {
189
- $title = $frontend->title( '' );
190
- }
191
- else {
192
- // Replace Yoast SEO Variables.
193
- $title = wpseo_replace_vars( $title, $GLOBALS['wp_query']->get_queried_object() );
194
- }
195
- }
196
- else {
197
- $title = $frontend->title( '' );
198
- }
199
-
200
- /**
201
- * Filter: 'wpseo_opengraph_title' - Allow changing the title specifically for OpenGraph.
202
- *
203
- * @api string $unsigned The title string.
204
- */
205
- $title = trim( apply_filters( 'wpseo_opengraph_title', $title ) );
206
-
207
- if ( is_string( $title ) && $title !== '' ) {
208
- if ( $echo !== false ) {
209
- $this->og_tag( 'og:title', $title );
210
-
211
- return true;
212
- }
213
- }
214
-
215
- if ( $echo === false ) {
216
- return $title;
217
- }
218
-
219
- return false;
220
- }
221
-
222
- /**
223
- * Outputs the canonical URL as OpenGraph URL, which consolidates likes and shares.
224
- *
225
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
226
- *
227
- * @return boolean
228
- */
229
- public function url() {
230
- $url = WPSEO_Frontend::get_instance()->canonical( false, false );
231
- $unpaged_url = WPSEO_Frontend::get_instance()->canonical( false, true );
232
-
233
- /*
234
- * If the unpaged URL is the same as the normal URL but just with pagination added, use that.
235
- * This makes sure we always use the unpaged URL when we can, but doesn't break for overridden canonicals.
236
- */
237
- if ( ! empty( $unpaged_url ) && is_string( $unpaged_url ) && strpos( $url, $unpaged_url ) === 0 ) {
238
- $url = $unpaged_url;
239
- }
240
-
241
- /**
242
- * Filter: 'wpseo_opengraph_url' - Allow changing the OpenGraph URL.
243
- *
244
- * @api string $unsigned Canonical URL.
245
- */
246
- $url = urldecode( apply_filters( 'wpseo_opengraph_url', $url ) );
247
-
248
- if ( is_string( $url ) && $url !== '' ) {
249
- $this->og_tag( 'og:url', esc_url( $url ) );
250
-
251
- return true;
252
- }
253
-
254
- return false;
255
- }
256
-
257
- /**
258
- * Output the locale, doing some conversions to make sure the proper Facebook locale is outputted.
259
- *
260
- * Last update/compare with FB list done on 2015-03-16 by Rarst.
261
- *
262
- * @link http://www.facebook.com/translations/FacebookLocales.xml for the list of supported locales.
263
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
264
- *
265
- * @param bool $echo Whether to echo or return the locale.
266
- *
267
- * @return string $locale
268
- */
269
- public function locale( $echo = true ) {
270
- /**
271
- * Filter: 'wpseo_locale' - Allow changing the locale output.
272
- *
273
- * @api string $unsigned Locale string.
274
- */
275
- $locale = apply_filters( 'wpseo_locale', get_locale() );
276
-
277
- // Catch some weird locales served out by WP that are not easily doubled up.
278
- $fix_locales = [
279
- 'ca' => 'ca_ES',
280
- 'en' => 'en_US',
281
- 'el' => 'el_GR',
282
- 'et' => 'et_EE',
283
- 'ja' => 'ja_JP',
284
- 'sq' => 'sq_AL',
285
- 'uk' => 'uk_UA',
286
- 'vi' => 'vi_VN',
287
- 'zh' => 'zh_CN',
288
- ];
289
-
290
- if ( isset( $fix_locales[ $locale ] ) ) {
291
- $locale = $fix_locales[ $locale ];
292
- }
293
-
294
- // Convert locales like "es" to "es_ES", in case that works for the given locale (sometimes it does).
295
- if ( strlen( $locale ) === 2 ) {
296
- $locale = strtolower( $locale ) . '_' . strtoupper( $locale );
297
- }
298
-
299
- // These are the locales FB supports.
300
- $fb_valid_fb_locales = [
301
- 'af_ZA', // Afrikaans.
302
- 'ak_GH', // Akan.
303
- 'am_ET', // Amharic.
304
- 'ar_AR', // Arabic.
305
- 'as_IN', // Assamese.
306
- 'ay_BO', // Aymara.
307
- 'az_AZ', // Azerbaijani.
308
- 'be_BY', // Belarusian.
309
- 'bg_BG', // Bulgarian.
310
- 'bp_IN', // Bhojpuri.
311
- 'bn_IN', // Bengali.
312
- 'br_FR', // Breton.
313
- 'bs_BA', // Bosnian.
314
- 'ca_ES', // Catalan.
315
- 'cb_IQ', // Sorani Kurdish.
316
- 'ck_US', // Cherokee.
317
- 'co_FR', // Corsican.
318
- 'cs_CZ', // Czech.
319
- 'cx_PH', // Cebuano.
320
- 'cy_GB', // Welsh.
321
- 'da_DK', // Danish.
322
- 'de_DE', // German.
323
- 'el_GR', // Greek.
324
- 'en_GB', // English (UK).
325
- 'en_PI', // English (Pirate).
326
- 'en_UD', // English (Upside Down).
327
- 'en_US', // English (US).
328
- 'em_ZM',
329
- 'eo_EO', // Esperanto.
330
- 'es_ES', // Spanish (Spain).
331
- 'es_LA', // Spanish.
332
- 'es_MX', // Spanish (Mexico).
333
- 'et_EE', // Estonian.
334
- 'eu_ES', // Basque.
335
- 'fa_IR', // Persian.
336
- 'fb_LT', // Leet Speak.
337
- 'ff_NG', // Fulah.
338
- 'fi_FI', // Finnish.
339
- 'fo_FO', // Faroese.
340
- 'fr_CA', // French (Canada).
341
- 'fr_FR', // French (France).
342
- 'fy_NL', // Frisian.
343
- 'ga_IE', // Irish.
344
- 'gl_ES', // Galician.
345
- 'gn_PY', // Guarani.
346
- 'gu_IN', // Gujarati.
347
- 'gx_GR', // Classical Greek.
348
- 'ha_NG', // Hausa.
349
- 'he_IL', // Hebrew.
350
- 'hi_IN', // Hindi.
351
- 'hr_HR', // Croatian.
352
- 'hu_HU', // Hungarian.
353
- 'ht_HT', // Haitian Creole.
354
- 'hy_AM', // Armenian.
355
- 'id_ID', // Indonesian.
356
- 'ig_NG', // Igbo.
357
- 'is_IS', // Icelandic.
358
- 'it_IT', // Italian.
359
- 'ik_US',
360
- 'iu_CA',
361
- 'ja_JP', // Japanese.
362
- 'ja_KS', // Japanese (Kansai).
363
- 'jv_ID', // Javanese.
364
- 'ka_GE', // Georgian.
365
- 'kk_KZ', // Kazakh.
366
- 'km_KH', // Khmer.
367
- 'kn_IN', // Kannada.
368
- 'ko_KR', // Korean.
369
- 'ks_IN', // Kashmiri.
370
- 'ku_TR', // Kurdish (Kurmanji).
371
- 'ky_KG', // Kyrgyz.
372
- 'la_VA', // Latin.
373
- 'lg_UG', // Ganda.
374
- 'li_NL', // Limburgish.
375
- 'ln_CD', // Lingala.
376
- 'lo_LA', // Lao.
377
- 'lt_LT', // Lithuanian.
378
- 'lv_LV', // Latvian.
379
- 'mg_MG', // Malagasy.
380
- 'mi_NZ', // Maori.
381
- 'mk_MK', // Macedonian.
382
- 'ml_IN', // Malayalam.
383
- 'mn_MN', // Mongolian.
384
- 'mr_IN', // Marathi.
385
- 'ms_MY', // Malay.
386
- 'mt_MT', // Maltese.
387
- 'my_MM', // Burmese.
388
- 'nb_NO', // Norwegian (bokmal).
389
- 'nd_ZW', // Ndebele.
390
- 'ne_NP', // Nepali.
391
- 'nl_BE', // Dutch (Belgie).
392
- 'nl_NL', // Dutch.
393
- 'nn_NO', // Norwegian (nynorsk).
394
- 'nr_ZA', // Southern Ndebele.
395
- 'ns_ZA', // Northern Sotho.
396
- 'ny_MW', // Chewa.
397
- 'om_ET', // Oromo.
398
- 'or_IN', // Oriya.
399
- 'pa_IN', // Punjabi.
400
- 'pl_PL', // Polish.
401
- 'ps_AF', // Pashto.
402
- 'pt_BR', // Portuguese (Brazil).
403
- 'pt_PT', // Portuguese (Portugal).
404
- 'qc_GT', // Quiché.
405
- 'qu_PE', // Quechua.
406
- 'qr_GR',
407
- 'qz_MM', // Burmese (Zawgyi).
408
- 'rm_CH', // Romansh.
409
- 'ro_RO', // Romanian.
410
- 'ru_RU', // Russian.
411
- 'rw_RW', // Kinyarwanda.
412
- 'sa_IN', // Sanskrit.
413
- 'sc_IT', // Sardinian.
414
- 'se_NO', // Northern Sami.
415
- 'si_LK', // Sinhala.
416
- 'su_ID', // Sundanese.
417
- 'sk_SK', // Slovak.
418
- 'sl_SI', // Slovenian.
419
- 'sn_ZW', // Shona.
420
- 'so_SO', // Somali.
421
- 'sq_AL', // Albanian.
422
- 'sr_RS', // Serbian.
423
- 'ss_SZ', // Swazi.
424
- 'st_ZA', // Southern Sotho.
425
- 'sv_SE', // Swedish.
426
- 'sw_KE', // Swahili.
427
- 'sy_SY', // Syriac.
428
- 'sz_PL', // Silesian.
429
- 'ta_IN', // Tamil.
430
- 'te_IN', // Telugu.
431
- 'tg_TJ', // Tajik.
432
- 'th_TH', // Thai.
433
- 'tk_TM', // Turkmen.
434
- 'tl_PH', // Filipino.
435
- 'tl_ST', // Klingon.
436
- 'tn_BW', // Tswana.
437
- 'tr_TR', // Turkish.
438
- 'ts_ZA', // Tsonga.
439
- 'tt_RU', // Tatar.
440
- 'tz_MA', // Tamazight.
441
- 'uk_UA', // Ukrainian.
442
- 'ur_PK', // Urdu.
443
- 'uz_UZ', // Uzbek.
444
- 've_ZA', // Venda.
445
- 'vi_VN', // Vietnamese.
446
- 'wo_SN', // Wolof.
447
- 'xh_ZA', // Xhosa.
448
- 'yi_DE', // Yiddish.
449
- 'yo_NG', // Yoruba.
450
- 'zh_CN', // Simplified Chinese (China).
451
- 'zh_HK', // Traditional Chinese (Hong Kong).
452
- 'zh_TW', // Traditional Chinese (Taiwan).
453
- 'zu_ZA', // Zulu.
454
- 'zz_TR', // Zazaki.
455
- ];
456
-
457
- // Check to see if the locale is a valid FB one, if not, use en_US as a fallback.
458
- if ( ! in_array( $locale, $fb_valid_fb_locales, true ) ) {
459
- $locale = strtolower( substr( $locale, 0, 2 ) ) . '_' . strtoupper( substr( $locale, 0, 2 ) );
460
- if ( ! in_array( $locale, $fb_valid_fb_locales, true ) ) {
461
- $locale = 'en_US';
462
- }
463
- }
464
-
465
- if ( $echo !== false ) {
466
- $this->og_tag( 'og:locale', $locale );
467
- }
468
-
469
- return $locale;
470
- }
471
-
472
- /**
473
- * Output the OpenGraph type.
474
- *
475
- * @param boolean $echo Whether to echo or return the type.
476
- *
477
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/object/
478
- *
479
- * @return string $type
480
- */
481
- public function type( $echo = true ) {
482
-
483
- if ( is_front_page() || is_home() ) {
484
- $type = 'website';
485
- }
486
- elseif ( is_singular() ) {
487
-
488
- // This'll usually only be changed by plugins right now.
489
- $type = WPSEO_Meta::get_value( 'og_type' );
490
-
491
- if ( $type === '' ) {
492
- $type = 'article';
493
- }
494
- }
495
- else {
496
- // We use "object" for archives etc. as article doesn't apply there.
497
- $type = 'object';
498
- }
499
-
500
- /**
501
- * Filter: 'wpseo_opengraph_type' - Allow changing the OpenGraph type of the page.
502
- *
503
- * @api string $type The OpenGraph type string.
504
- */
505
- $type = apply_filters( 'wpseo_opengraph_type', $type );
506
-
507
- if ( is_string( $type ) && $type !== '' ) {
508
- if ( $echo !== false ) {
509
- $this->og_tag( 'og:type', $type );
510
- }
511
- else {
512
- return $type;
513
- }
514
- }
515
-
516
- return '';
517
- }
518
-
519
- /**
520
- * Create new WPSEO_OpenGraph_Image class and get the images to set the og:image.
521
- *
522
- * @param string|bool $image Optional. Image URL.
523
- *
524
- * @return void
525
- */
526
- public function image( $image = false ) {
527
- $opengraph_image = new WPSEO_OpenGraph_Image( $image, $this );
528
- $opengraph_image->show();
529
- }
530
-
531
- /**
532
- * Output the OpenGraph description, specific OG description first, if not, grab the meta description.
533
- *
534
- * @param bool $echo Whether to echo or return the description.
535
- *
536
- * @return string $ogdesc
537
- */
538
- public function description( $echo = true ) {
539
- $ogdesc = '';
540
- $frontend = WPSEO_Frontend::get_instance();
541
-
542
- if ( is_front_page() ) {
543
- if ( WPSEO_Options::get( 'og_frontpage_desc', '' ) !== '' ) {
544
- $ogdesc = wpseo_replace_vars( WPSEO_Options::get( 'og_frontpage_desc' ), null );
545
- }
546
- else {
547
- $ogdesc = $frontend->metadesc( false );
548
- }
549
- }
550
-
551
- if ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
552
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
553
- $post = get_post( $post_id );
554
- $ogdesc = WPSEO_Meta::get_value( 'opengraph-description', $post_id );
555
-
556
- // Replace Yoast SEO Variables.
557
- $ogdesc = wpseo_replace_vars( $ogdesc, $post );
558
-
559
- // Use metadesc if $ogdesc is empty.
560
- if ( $ogdesc === '' ) {
561
- $ogdesc = $frontend->metadesc( false );
562
- }
563
-
564
- // Tag og:description is still blank so grab it from get_the_excerpt().
565
- if ( ! is_string( $ogdesc ) || ( is_string( $ogdesc ) && $ogdesc === '' ) ) {
566
- $ogdesc = str_replace( '[&hellip;]', '&hellip;', wp_strip_all_tags( get_the_excerpt() ) );
567
- }
568
- }
569
-
570
- if ( is_author() ) {
571
- $ogdesc = $frontend->metadesc( false );
572
- }
573
-
574
- if ( is_category() || is_tag() || is_tax() ) {
575
- $ogdesc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'opengraph-description' );
576
- if ( $ogdesc === '' ) {
577
- $ogdesc = $frontend->metadesc( false );
578
- }
579
-
580
- if ( $ogdesc === '' ) {
581
- $ogdesc = wp_strip_all_tags( term_description() );
582
- }
583
-
584
- if ( $ogdesc === '' ) {
585
- $ogdesc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'desc' );
586
- }
587
- $ogdesc = wpseo_replace_vars( $ogdesc, get_queried_object() );
588
- }
589
-
590
- // Strip shortcodes if any.
591
- $ogdesc = strip_shortcodes( $ogdesc );
592
-
593
- /**
594
- * Filter: 'wpseo_opengraph_desc' - Allow changing the OpenGraph description.
595
- *
596
- * @api string $ogdesc The description string.
597
- */
598
- $ogdesc = trim( apply_filters( 'wpseo_opengraph_desc', $ogdesc ) );
599
-
600
- if ( is_string( $ogdesc ) && $ogdesc !== '' ) {
601
- if ( $echo !== false ) {
602
- $this->og_tag( 'og:description', $ogdesc );
603
- }
604
- }
605
-
606
- return $ogdesc;
607
- }
608
-
609
- /**
610
- * Output the site name straight from the blog info.
611
- */
612
- public function site_name() {
613
- /**
614
- * Filter: 'wpseo_opengraph_site_name' - Allow changing the OpenGraph site name.
615
- *
616
- * @api string $unsigned Blog name string.
617
- */
618
- $name = apply_filters( 'wpseo_opengraph_site_name', get_bloginfo( 'name' ) );
619
- if ( is_string( $name ) && $name !== '' ) {
620
- $this->og_tag( 'og:site_name', $name );
621
- }
622
- }
623
-
624
- /**
625
- * Output the article tags as article:tag tags.
626
- *
627
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
628
- *
629
- * @return boolean
630
- */
631
- public function tags() {
632
- if ( ! is_singular() ) {
633
- return false;
634
- }
635
-
636
- $tags = get_the_tags();
637
- if ( ! is_wp_error( $tags ) && ( is_array( $tags ) && $tags !== [] ) ) {
638
-
639
- foreach ( $tags as $tag ) {
640
- $this->og_tag( 'article:tag', $tag->name );
641
- }
642
-
643
- return true;
644
- }
645
-
646
- return false;
647
- }
648
-
649
- /**
650
- * Output the article category as an article:section tag.
651
- *
652
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
653
- *
654
- * @return boolean;
655
- */
656
- public function category() {
657
-
658
- if ( ! is_singular() ) {
659
- return false;
660
- }
661
-
662
- $post = get_post();
663
- if ( ! $post ) {
664
- return false;
665
- }
666
-
667
- $primary_term = new WPSEO_Primary_Term( 'category', $post->ID );
668
- $primary_category = $primary_term->get_primary_term();
669
-
670
- if ( $primary_category ) {
671
- // We can only show one section here, so we take the first one.
672
- $this->og_tag( 'article:section', get_cat_name( $primary_category ) );
673
-
674
- return true;
675
- }
676
-
677
- $terms = get_the_category();
678
-
679
- if ( ! is_wp_error( $terms ) && is_array( $terms ) && ! empty( $terms ) ) {
680
- // We can only show one section here, so we take the first one.
681
- $term = reset( $terms );
682
- $this->og_tag( 'article:section', $term->name );
683
- return true;
684
- }
685
-
686
- return false;
687
- }
688
-
689
- /**
690
- * Output the article publish and last modification date.
691
- *
692
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
693
- *
694
- * @return boolean;
695
- */
696
- public function publish_date() {
697
-
698
- if ( ! is_singular( 'post' ) ) {
699
- /**
700
- * Filter: 'wpseo_opengraph_show_publish_date' - Allow showing publication date for other post types.
701
- *
702
- * @api bool $unsigned Whether or not to show publish date.
703
- *
704
- * @param string $post_type The current URL's post type.
705
- */
706
- if ( false === apply_filters( 'wpseo_opengraph_show_publish_date', false, get_post_type() ) ) {
707
- return false;
708
- }
709
- }
710
-
711
- $post = get_post();
712
-
713
- $pub = $this->date->format( $post->post_date_gmt );
714
- $this->og_tag( 'article:published_time', $pub );
715
-
716
- $mod = $this->date->format( $post->post_modified_gmt );
717
- if ( $mod !== $pub ) {
718
- $this->og_tag( 'article:modified_time', $mod );
719
- $this->og_tag( 'og:updated_time', $mod );
720
- }
721
-
722
- return true;
723
- }
724
-
725
- /**
726
- * Outputs the Facebook app_id.
727
- *
728
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
729
- *
730
- * @return void
731
- */
732
- public function app_id() {
733
- $app_id = WPSEO_Options::get( 'fbadminapp', '' );
734
- if ( $app_id !== '' ) {
735
- $this->og_tag( 'fb:app_id', $app_id );
736
- }
737
- }
738
-
739
- /* ********************* DEPRECATED METHODS ********************* */
740
-
741
- /**
742
- * Outputs the site owner.
743
- *
744
- * @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
745
- *
746
- * @return void
747
- *
748
- * @deprecated 7.1
749
- * @codeCoverageIgnore
750
- */
751
- public function site_owner() {
752
- // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
753
- if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
754
- _deprecated_function( 'WPSEO_OpenGraph::site_owner', '7.1', null );
755
- }
756
- }
757
-
758
- /**
759
- * Fallback method for plugins using image_output.
760
- *
761
- * @param string|bool $image Image URL.
762
- *
763
- * @deprecated 7.4
764
- * @codeCoverageIgnore
765
- */
766
- public function image_output( $image = false ) {
767
- _deprecated_function( 'WPSEO_OpenGraph::image_output', '7.4', 'WPSEO_OpenGraph::image' );
768
-
769
- $this->image( $image );
770
- }
771
- } /* End of class */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-primary-category.php DELETED
@@ -1,71 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * Adds customizations to the front end for the primary category.
10
- */
11
- class WPSEO_Frontend_Primary_Category implements WPSEO_WordPress_Integration {
12
-
13
- /**
14
- * Registers the hooks necessary for correct primary category behaviour.
15
- */
16
- public function register_hooks() {
17
- add_filter( 'post_link_category', [ $this, 'post_link_category' ], 10, 3 );
18
- }
19
-
20
- /**
21
- * Filters post_link_category to change the category to the chosen category by the user.
22
- *
23
- * @param stdClass $category The category that is now used for the post link.
24
- * @param array $categories This parameter is not used.
25
- * @param WP_Post $post The post in question.
26
- *
27
- * @return array|null|object|WP_Error The category we want to use for the post link.
28
- */
29
- public function post_link_category( $category, $categories = null, $post = null ) {
30
- $post = get_post( $post );
31
- $primary_category = $this->get_primary_category( $post );
32
-
33
- if ( false !== $primary_category && $primary_category !== $category->cat_ID ) {
34
- $category = $this->get_category( $primary_category );
35
- }
36
-
37
- return $category;
38
- }
39
-
40
- /**
41
- * Get the id of the primary category.
42
- *
43
- * @param WP_Post $post The post in question.
44
- *
45
- * @return int Primary category id.
46
- */
47
- protected function get_primary_category( $post = null ) {
48
- $post = get_post( $post );
49
-
50
- if ( $post === null ) {
51
- return false;
52
- }
53
-
54
- $primary_term = new WPSEO_Primary_Term( 'category', $post->ID );
55
-
56
- return $primary_term->get_primary_term();
57
- }
58
-
59
- /**
60
- * Wrapper for get category to make mocking easier.
61
- *
62
- * @param int $primary_category ID of primary category.
63
- *
64
- * @return array|null|object|WP_Error
65
- */
66
- protected function get_category( $primary_category ) {
67
- $category = get_category( $primary_category );
68
-
69
- return $category;
70
- }
71
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-remove-reply-to-com.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * Class WPSEO_Remove_Reply_To_Com.
10
- *
11
- * @since 7.0
12
- */
13
- class WPSEO_Remove_Reply_To_Com implements WPSEO_WordPress_Integration {
14
-
15
- /**
16
- * Registers the hooks necessary to handle removing ?replytocom.
17
- *
18
- * @since 7.0
19
- *
20
- * @return void
21
- */
22
- public function register_hooks() {
23
- if ( $this->clean_reply_to_com() ) {
24
- add_filter( 'comment_reply_link', [ $this, 'remove_reply_to_com' ] );
25
- add_action( 'template_redirect', [ $this, 'replytocom_redirect' ], 1 );
26
- }
27
- }
28
-
29
- /**
30
- * Removes the ?replytocom variable from the link, replacing it with a #comment-<number> anchor.
31
- *
32
- * @todo Should this function also allow for relative urls ?
33
- *
34
- * @param string $link The comment link as a string.
35
- *
36
- * @return string The modified link.
37
- */
38
- public function remove_reply_to_com( $link ) {
39
- return preg_replace( '`href=(["\'])(?:.*(?:\?|&|&#038;)replytocom=(\d+)#respond)`', 'href=$1#comment-$2', $link );
40
- }
41
-
42
- /**
43
- * Redirects out the ?replytocom variables.
44
- *
45
- * @since 1.4.13
46
- * @return boolean True when redirect has been done.
47
- */
48
- public function replytocom_redirect() {
49
- if ( isset( $_GET['replytocom'] ) && is_singular() ) {
50
- $url = get_permalink( $GLOBALS['post']->ID );
51
- $hash = sanitize_text_field( wp_unslash( $_GET['replytocom'] ) );
52
- $query_string = '';
53
- if ( isset( $_SERVER['QUERY_STRING'] ) ) {
54
- $query_string = remove_query_arg( 'replytocom', sanitize_text_field( wp_unslash( $_SERVER['QUERY_STRING'] ) ) );
55
- }
56
- if ( ! empty( $query_string ) ) {
57
- $url .= '?' . $query_string;
58
- }
59
- $url .= '#comment-' . $hash;
60
-
61
- $front = WPSEO_Frontend::get_instance();
62
- $front->redirect( $url, 301 );
63
-
64
- return true;
65
- }
66
-
67
- return false;
68
- }
69
-
70
- /**
71
- * Checks whether we can allow the feature that removes ?replytocom query parameters.
72
- *
73
- * @return bool True to remove, false not to remove.
74
- */
75
- private function clean_reply_to_com() {
76
- /**
77
- * Filter: 'wpseo_remove_reply_to_com' - Allow disabling the feature that removes ?replytocom query parameters.
78
- *
79
- * @param bool $return True to remove, false not to remove.
80
- */
81
- return (bool) apply_filters( 'wpseo_remove_reply_to_com', true );
82
- }
83
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-twitter.php DELETED
@@ -1,676 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend
6
- */
7
-
8
- /**
9
- * This class handles the Twitter card functionality.
10
- *
11
- * @link https://dev.twitter.com/docs/cards
12
- */
13
- class WPSEO_Twitter {
14
-
15
- /**
16
- * Instance of this class.
17
- *
18
- * @var object
19
- */
20
- public static $instance;
21
-
22
- /**
23
- * Images.
24
- *
25
- * @var array
26
- */
27
- private $images = [];
28
-
29
- /**
30
- * Images.
31
- *
32
- * @var array
33
- */
34
- public $shown_images = [];
35
-
36
- /**
37
- * Will hold the Twitter card type being created.
38
- *
39
- * @var string
40
- */
41
- private $type;
42
-
43
- /**
44
- * Card types currently allowed by Twitter.
45
- *
46
- * @link https://dev.twitter.com/cards/types
47
- *
48
- * @var array
49
- */
50
- private $valid_types = [
51
- 'summary',
52
- 'summary_large_image',
53
- 'app',
54
- 'player',
55
- ];
56
-
57
- /**
58
- * Class constructor.
59
- */
60
- public function __construct() {
61
- $this->twitter();
62
- }
63
-
64
- /**
65
- * Outputs the Twitter Card code on singular pages.
66
- */
67
- public function twitter() {
68
-
69
- /**
70
- * Filter: 'wpseo_output_twitter_card' - Allow disabling of the Twitter card.
71
- *
72
- * @api bool $enabled Enabled/disabled flag
73
- */
74
- if ( false === apply_filters( 'wpseo_output_twitter_card', true ) ) {
75
- return;
76
- }
77
-
78
- wp_reset_query();
79
-
80
- $this->type();
81
- $this->description();
82
- $this->title();
83
- $this->site_twitter();
84
-
85
- if ( ! post_password_required() ) {
86
- $this->image();
87
- }
88
-
89
- if ( is_singular() ) {
90
- $this->author();
91
- }
92
-
93
- /**
94
- * Action: 'wpseo_twitter' - Hook to add all Yoast SEO Twitter output to so they're close together.
95
- */
96
- do_action( 'wpseo_twitter' );
97
- }
98
-
99
- /**
100
- * Display the Twitter card type.
101
- *
102
- * This defaults to summary but can be filtered using the <code>wpseo_twitter_card_type</code> filter.
103
- *
104
- * @link https://dev.twitter.com/docs/cards
105
- */
106
- protected function type() {
107
- $this->determine_card_type();
108
- $this->sanitize_card_type();
109
-
110
- $this->output_metatag( 'card', $this->type );
111
- }
112
-
113
- /**
114
- * Determines the twitter card type for the current page.
115
- */
116
- private function determine_card_type() {
117
- $this->type = WPSEO_Options::get( 'twitter_card_type' );
118
-
119
- // @todo This should be reworked to use summary_large_image for any fitting image R.
120
- if ( is_singular() && has_shortcode( $GLOBALS['post']->post_content, 'gallery' ) ) {
121
-
122
- $this->images = get_post_gallery_images();
123
-
124
- if ( count( $this->images ) > 0 ) {
125
- $this->type = 'summary_large_image';
126
- }
127
- }
128
-
129
- /**
130
- * Filter: 'wpseo_twitter_card_type' - Allow changing the Twitter Card type as output in the Twitter card by Yoast SEO.
131
- *
132
- * @api string $unsigned The type string.
133
- */
134
- $this->type = apply_filters( 'wpseo_twitter_card_type', $this->type );
135
- }
136
-
137
- /**
138
- * Determines whether the card type is of a type currently allowed by Twitter.
139
- *
140
- * @link https://dev.twitter.com/cards/types
141
- */
142
- private function sanitize_card_type() {
143
- if ( ! in_array( $this->type, $this->valid_types, true ) ) {
144
- $this->type = 'summary';
145
- }
146
- }
147
-
148
- /**
149
- * Output the metatag.
150
- *
151
- * @param string $name Tag name string.
152
- * @param string $value Tag value string.
153
- * @param bool $escaped Force escape flag.
154
- */
155
- private function output_metatag( $name, $value, $escaped = false ) {
156
-
157
- // Escape the value if not escaped.
158
- if ( false === $escaped ) {
159
- $value = esc_attr( $value );
160
- }
161
-
162
- /**
163
- * Filter: 'wpseo_twitter_metatag_key' - Make the Twitter metatag key filterable.
164
- *
165
- * @api string $key The Twitter metatag key.
166
- */
167
- $metatag_key = apply_filters( 'wpseo_twitter_metatag_key', 'name' );
168
-
169
- // Output meta.
170
- echo '<meta ', esc_attr( $metatag_key ), '="twitter:', esc_attr( $name ), '" content="', $value, '" />', "\n";
171
- }
172
-
173
- /**
174
- * Displays the description for Twitter.
175
- *
176
- * Only used when OpenGraph is inactive.
177
- */
178
- protected function description() {
179
- if ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
180
- $meta_desc = $this->single_description( WPSEO_Frontend_Page_Type::get_simple_page_id() );
181
- }
182
- elseif ( is_category() || is_tax() || is_tag() ) {
183
- $meta_desc = $this->taxonomy_description();
184
- }
185
- else {
186
- $meta_desc = $this->fallback_description();
187
- }
188
-
189
- $meta_desc = wpseo_replace_vars( $meta_desc, get_queried_object() );
190
-
191
- /**
192
- * Filter: 'wpseo_twitter_description' - Allow changing the Twitter description as output in the Twitter card by Yoast SEO.
193
- *
194
- * @api string $twitter The description string.
195
- */
196
- $meta_desc = apply_filters( 'wpseo_twitter_description', $meta_desc );
197
- if ( is_string( $meta_desc ) && $meta_desc !== '' ) {
198
- $this->output_metatag( 'description', $meta_desc );
199
- }
200
- }
201
-
202
- /**
203
- * Returns the description for a singular page.
204
- *
205
- * @param int $post_id Post ID.
206
- *
207
- * @return string
208
- */
209
- private function single_description( $post_id = 0 ) {
210
- $meta_desc = trim( WPSEO_Meta::get_value( 'twitter-description', $post_id ) );
211
-
212
- if ( is_string( $meta_desc ) && '' !== $meta_desc ) {
213
- return $meta_desc;
214
- }
215
-
216
- $meta_desc = $this->fallback_description();
217
- if ( is_string( $meta_desc ) && '' !== $meta_desc ) {
218
- return $meta_desc;
219
- }
220
-
221
- return wp_strip_all_tags( get_the_excerpt() );
222
- }
223
-
224
- /**
225
- * Getting the description for the taxonomy.
226
- *
227
- * @return bool|mixed|string
228
- */
229
- private function taxonomy_description() {
230
- $meta_desc = WPSEO_Taxonomy_Meta::get_meta_without_term( 'twitter-description' );
231
-
232
- if ( ! is_string( $meta_desc ) || $meta_desc === '' ) {
233
- $meta_desc = $this->fallback_description();
234
- }
235
-
236
- if ( is_string( $meta_desc ) && $meta_desc !== '' ) {
237
- return $meta_desc;
238
- }
239
-
240
- return wp_strip_all_tags( term_description() );
241
- }
242
-
243
- /**
244
- * Returns a fallback description.
245
- *
246
- * @return string
247
- */
248
- private function fallback_description() {
249
- return trim( WPSEO_Frontend::get_instance()->metadesc( false ) );
250
- }
251
-
252
- /**
253
- * Displays the title for Twitter.
254
- *
255
- * Only used when OpenGraph is inactive.
256
- */
257
- protected function title() {
258
- if ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
259
- $title = $this->single_title( WPSEO_Frontend_Page_Type::get_simple_page_id() );
260
- }
261
- elseif ( is_category() || is_tax() || is_tag() ) {
262
- $title = $this->taxonomy_title();
263
- }
264
- else {
265
- $title = $this->fallback_title();
266
- }
267
-
268
- $title = wpseo_replace_vars( $title, get_queried_object() );
269
-
270
- /**
271
- * Filter: 'wpseo_twitter_title' - Allow changing the Twitter title as output in the Twitter card by Yoast SEO.
272
- *
273
- * @api string $twitter The title string.
274
- */
275
- $title = apply_filters( 'wpseo_twitter_title', $title );
276
- if ( is_string( $title ) && $title !== '' ) {
277
- $this->output_metatag( 'title', $title );
278
- }
279
- }
280
-
281
- /**
282
- * Returns the Twitter title for a single post.
283
- *
284
- * @param int $post_id Post ID.
285
- *
286
- * @return string
287
- */
288
- private function single_title( $post_id = 0 ) {
289
- $title = WPSEO_Meta::get_value( 'twitter-title', $post_id );
290
- if ( ! is_string( $title ) || $title === '' ) {
291
- return $this->fallback_title();
292
- }
293
-
294
- return $title;
295
- }
296
-
297
- /**
298
- * Getting the title for the taxonomy.
299
- *
300
- * @return bool|mixed|string
301
- */
302
- private function taxonomy_title() {
303
- $title = WPSEO_Taxonomy_Meta::get_meta_without_term( 'twitter-title' );
304
-
305
- if ( ! is_string( $title ) || $title === '' ) {
306
- return $this->fallback_title();
307
- }
308
-
309
- return $title;
310
- }
311
-
312
- /**
313
- * Returns the Twitter title for any page.
314
- *
315
- * @return string
316
- */
317
- private function fallback_title() {
318
- return WPSEO_Frontend::get_instance()->title( '' );
319
- }
320
-
321
- /**
322
- * Displays the Twitter account for the site.
323
- */
324
- protected function site_twitter() {
325
- switch ( WPSEO_Options::get( 'company_or_person', '' ) ) {
326
- case 'person':
327
- $user_id = (int) WPSEO_Options::get( 'company_or_person_user_id', false );
328
- $twitter = get_the_author_meta( 'twitter', $user_id );
329
- // For backwards compat reasons, if there is no twitter ID for person, we fall back to site.
330
- if ( empty( $twitter ) ) {
331
- $twitter = WPSEO_Options::get( 'twitter_site' );
332
- }
333
- break;
334
- case 'company':
335
- default:
336
- $twitter = WPSEO_Options::get( 'twitter_site' );
337
- break;
338
- }
339
-
340
- /**
341
- * Filter: 'wpseo_twitter_site' - Allow changing the Twitter site account as output in the Twitter card by Yoast SEO.
342
- *
343
- * @api string $unsigned Twitter site account string.
344
- */
345
- $site = apply_filters( 'wpseo_twitter_site', $twitter );
346
- $site = $this->get_twitter_id( $site );
347
-
348
- if ( is_string( $site ) && $site !== '' ) {
349
- $this->output_metatag( 'site', '@' . $site );
350
- }
351
- }
352
-
353
- /**
354
- * Checks if the given id is actually an id or a url and if url, distills the id from it.
355
- *
356
- * Solves issues with filters returning urls and theme's/other plugins also adding a user meta
357
- * twitter field which expects url rather than an id (which is what we expect).
358
- *
359
- * @param string $id Twitter ID or url.
360
- *
361
- * @return string|bool Twitter ID or false if it failed to get a valid Twitter ID.
362
- */
363
- private function get_twitter_id( $id ) {
364
- if ( preg_match( '`([A-Za-z0-9_]{1,25})$`', $id, $match ) ) {
365
- return $match[1];
366
- }
367
-
368
- return false;
369
- }
370
-
371
- /**
372
- * Displays the image for Twitter.
373
- *
374
- * Only used when OpenGraph is inactive or Summary Large Image card is chosen.
375
- */
376
- protected function image() {
377
- if ( is_category() || is_tax() || is_tag() ) {
378
- $this->taxonomy_image_output();
379
- }
380
- else {
381
- $this->single_image_output();
382
- }
383
-
384
- if ( count( $this->shown_images ) === 0 && WPSEO_Options::get( 'og_default_image', '' ) !== '' ) {
385
- $this->image_output( WPSEO_Options::get( 'og_default_image' ) );
386
- }
387
- }
388
-
389
- /**
390
- * Outputs the first image of a gallery.
391
- */
392
- private function gallery_images_output() {
393
-
394
- $this->image_output( reset( $this->images ) );
395
- }
396
-
397
- /**
398
- * Outputs the Twitter image. Using the Facebook image as fallback.
399
- *
400
- * @return bool
401
- */
402
- private function taxonomy_image_output() {
403
- foreach ( [ 'twitter-image', 'opengraph-image' ] as $tag ) {
404
- $img = WPSEO_Taxonomy_Meta::get_meta_without_term( $tag );
405
- if ( is_string( $img ) && $img !== '' ) {
406
- $this->image_output( $img );
407
-
408
- return true;
409
- }
410
- }
411
-
412
- /**
413
- * Filter: wpseo_twitter_taxonomy_image - Allow developers to set a custom Twitter image for taxonomies.
414
- *
415
- * @api bool|string $unsigned Return string to supply image to use, false to use no image.
416
- */
417
- $img = apply_filters( 'wpseo_twitter_taxonomy_image', false );
418
- if ( is_string( $img ) && $img !== '' ) {
419
- $this->image_output( $img );
420
-
421
- return true;
422
- }
423
-
424
- return false;
425
- }
426
-
427
- /**
428
- * Takes care of image output when we only need to display a single image.
429
- *
430
- * @return void
431
- */
432
- private function single_image_output() {
433
- if ( $this->homepage_image_output() ) {
434
- return;
435
- }
436
-
437
- // Posts page, which won't be caught by is_singular() below.
438
- if ( $this->posts_page_image_output() ) {
439
- return;
440
- }
441
-
442
- if ( WPSEO_Frontend_Page_Type::is_simple_page() ) {
443
- $post_id = WPSEO_Frontend_Page_Type::get_simple_page_id();
444
-
445
- if ( $this->image_from_meta_values_output( $post_id ) ) {
446
- return;
447
- }
448
-
449
- if ( $this->image_of_attachment_page_output( $post_id ) ) {
450
- return;
451
- }
452
-
453
- if ( $this->image_thumbnail_output( $post_id ) ) {
454
- return;
455
- }
456
-
457
- if ( count( $this->images ) > 0 ) {
458
- $this->gallery_images_output();
459
- return;
460
- }
461
-
462
- if ( $this->image_from_content_output( $post_id ) ) {
463
- return;
464
- }
465
- }
466
- }
467
-
468
- /**
469
- * Show the front page image.
470
- *
471
- * @return bool
472
- */
473
- private function homepage_image_output() {
474
- if ( is_front_page() ) {
475
- if ( WPSEO_Options::get( 'og_frontpage_image', '' ) !== '' ) {
476
- $this->image_output( WPSEO_Options::get( 'og_frontpage_image' ) );
477
-
478
- return true;
479
- }
480
- }
481
-
482
- return false;
483
- }
484
-
485
- /**
486
- * Show the posts page image.
487
- *
488
- * @return bool
489
- */
490
- private function posts_page_image_output() {
491
-
492
- if ( is_front_page() || ! is_home() ) {
493
- return false;
494
- }
495
-
496
- $post_id = get_option( 'page_for_posts' );
497
-
498
- if ( $this->image_from_meta_values_output( $post_id ) ) {
499
- return true;
500
- }
501
-
502
- if ( $this->image_thumbnail_output( $post_id ) ) {
503
- return true;
504
- }
505
-
506
- return false;
507
- }
508
-
509
- /**
510
- * Outputs a Twitter image tag for a given image.
511
- *
512
- * @param string $img The source URL to the image.
513
- *
514
- * @return bool
515
- */
516
- protected function image_output( $img ) {
517
-
518
- /**
519
- * Filter: 'wpseo_twitter_image' - Allow changing the Twitter Card image.
520
- *
521
- * @api string $img Image URL string.
522
- */
523
- $img = apply_filters( 'wpseo_twitter_image', $img );
524
-
525
- if ( WPSEO_Utils::is_url_relative( $img ) === true && $img[0] === '/' ) {
526
- $parsed_url = wp_parse_url( home_url() );
527
- $img = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $img;
528
- }
529
-
530
- $escaped_img = esc_url( $img );
531
-
532
- if ( in_array( $escaped_img, $this->shown_images, true ) ) {
533
- return false;
534
- }
535
-
536
- if ( is_string( $escaped_img ) && $escaped_img !== '' ) {
537
- $this->output_metatag( 'image', $escaped_img, true );
538
- array_push( $this->shown_images, $escaped_img );
539
-
540
- return true;
541
- }
542
-
543
- return false;
544
- }
545
-
546
- /**
547
- * Retrieve images from the post meta values.
548
- *
549
- * @param int $post_id Optional post ID to use.
550
- *
551
- * @return bool
552
- */
553
- private function image_from_meta_values_output( $post_id = 0 ) {
554
- foreach ( [ 'twitter-image', 'opengraph-image' ] as $tag ) {
555
- $img = WPSEO_Meta::get_value( $tag, $post_id );
556
- if ( $img !== '' ) {
557
- $this->image_output( $img );
558
-
559
- return true;
560
- }
561
- }
562
-
563
- return false;
564
- }
565
-
566
- /**
567
- * Retrieve an attachment page's attachment.
568
- *
569
- * @param string $attachment_id The ID of the attachment for which to retrieve the image.
570
- *
571
- * @return bool
572
- */
573
- private function image_of_attachment_page_output( $attachment_id ) {
574
- if ( get_post_type( $attachment_id ) === 'attachment' ) {
575
- $mime_type = get_post_mime_type( $attachment_id );
576
- switch ( $mime_type ) {
577
- case 'image/jpeg':
578
- case 'image/png':
579
- case 'image/gif':
580
- $this->image_output( wp_get_attachment_url( $attachment_id ) );
581
- return true;
582
- }
583
- }
584
-
585
- return false;
586
- }
587
-
588
- /**
589
- * Retrieve the featured image.
590
- *
591
- * @param int $post_id Optional post ID to use.
592
- *
593
- * @return bool
594
- */
595
- private function image_thumbnail_output( $post_id = 0 ) {
596
-
597
- if ( empty( $post_id ) ) {
598
- $post_id = get_the_ID();
599
- }
600
-
601
- if ( function_exists( 'has_post_thumbnail' ) && has_post_thumbnail( $post_id ) ) {
602
- /**
603
- * Filter: 'wpseo_twitter_image_size' - Allow changing the Twitter Card image size.
604
- *
605
- * @api string $featured_img Image size string.
606
- */
607
- $featured_img = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), apply_filters( 'wpseo_twitter_image_size', 'full' ) );
608
-
609
- if ( $featured_img ) {
610
- $this->image_output( $featured_img[0] );
611
-
612
- return true;
613
- }
614
- }
615
-
616
- return false;
617
- }
618
-
619
- /**
620
- * Retrieve the image from the content.
621
- *
622
- * @param int $post_id The post id to extract the images from.
623
- *
624
- * @return bool True when images output succeeded.
625
- */
626
- private function image_from_content_output( $post_id ) {
627
- $image_url = WPSEO_Image_Utils::get_first_usable_content_image_for_post( $post_id );
628
-
629
- if ( $image_url === null || empty( $image_url ) ) {
630
- return false;
631
- }
632
-
633
- $this->image_output( $image_url );
634
-
635
- return true;
636
- }
637
-
638
- /**
639
- * Displays the authors Twitter account.
640
- */
641
- protected function author() {
642
- $post = get_post();
643
-
644
- $twitter = null;
645
- if ( is_object( $post ) ) {
646
- $twitter = ltrim( trim( get_the_author_meta( 'twitter', $post->post_author ) ), '@' );
647
- }
648
- /**
649
- * Filter: 'wpseo_twitter_creator_account' - Allow changing the Twitter account as output in the Twitter card by Yoast SEO.
650
- *
651
- * @api string $twitter The twitter account name string.
652
- */
653
- $twitter = apply_filters( 'wpseo_twitter_creator_account', $twitter );
654
- $twitter = $this->get_twitter_id( $twitter );
655
-
656
- if ( is_string( $twitter ) && $twitter !== '' ) {
657
- $this->output_metatag( 'creator', '@' . $twitter );
658
- }
659
- elseif ( WPSEO_Options::get( 'twitter_site', '' ) !== '' && is_string( WPSEO_Options::get( 'twitter_site' ) ) ) {
660
- $this->output_metatag( 'creator', '@' . WPSEO_Options::get( 'twitter_site' ) );
661
- }
662
- }
663
-
664
- /**
665
- * Get the singleton instance of this class.
666
- *
667
- * @return object
668
- */
669
- public static function get_instance() {
670
- if ( ! ( self::$instance instanceof self ) ) {
671
- self::$instance = new self();
672
- }
673
-
674
- return self::$instance;
675
- }
676
- } /* End of class */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/class-woocommerce-shop-page.php CHANGED
@@ -8,7 +8,7 @@
8
  /**
9
  * Represents the logic to determine if the current page is a WooCommerce shop page.
10
  */
11
- class WPSEO_WooCommerce_Shop_Page implements WPSEO_WordPress_Integration {
12
 
13
  /**
14
  * Holds the shop page id.
@@ -24,19 +24,6 @@ class WPSEO_WooCommerce_Shop_Page implements WPSEO_WordPress_Integration {
24
  */
25
  protected static $is_shop_page;
26
 
27
- /**
28
- * Registers the hooks.
29
- *
30
- * @return void
31
- */
32
- public function register_hooks() {
33
- if ( ! $this->is_woocommerce_active() ) {
34
- return;
35
- }
36
-
37
- add_filter( 'wpseo_frontend_page_type_simple_page_id', [ $this, 'get_page_id' ] );
38
- }
39
-
40
  /**
41
  * Determines whether or not WooCommerce is active.
42
  *
@@ -46,21 +33,6 @@ class WPSEO_WooCommerce_Shop_Page implements WPSEO_WordPress_Integration {
46
  return WPSEO_Utils::is_woocommerce_active();
47
  }
48
 
49
- /**
50
- * Returns the ID of the WooCommerce shop page when the currently opened page is the shop page.
51
- *
52
- * @param int $page_id The page id.
53
- *
54
- * @return int The Page ID of the shop.
55
- */
56
- public function get_page_id( $page_id ) {
57
- if ( ! $this->is_shop_page() ) {
58
- return $page_id;
59
- }
60
-
61
- return $this->get_shop_page_id();
62
- }
63
-
64
  /**
65
  * Checks if the current page is the shop page.
66
  *
@@ -93,4 +65,22 @@ class WPSEO_WooCommerce_Shop_Page implements WPSEO_WordPress_Integration {
93
 
94
  return self::$shop_page_id;
95
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  }
8
  /**
9
  * Represents the logic to determine if the current page is a WooCommerce shop page.
10
  */
11
+ class WPSEO_WooCommerce_Shop_Page {
12
 
13
  /**
14
  * Holds the shop page id.
24
  */
25
  protected static $is_shop_page;
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  /**
28
  * Determines whether or not WooCommerce is active.
29
  *
33
  return WPSEO_Utils::is_woocommerce_active();
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  /**
37
  * Checks if the current page is the shop page.
38
  *
65
 
66
  return self::$shop_page_id;
67
  }
68
+
69
+ /* ********************* DEPRECATED METHODS ********************* */
70
+
71
+ /**
72
+ * Returns the ID of the WooCommerce shop page when the currently opened page is the shop page.
73
+ *
74
+ * @codeCoverageIgnore
75
+ * @deprecated 14.0
76
+ *
77
+ * @param int $page_id The page id.
78
+ *
79
+ * @return int The Page ID of the shop.
80
+ */
81
+ public function get_page_id( $page_id ) {
82
+ _deprecated_function( __METHOD__, 'WPSEO 14.0' );
83
+
84
+ return $page_id;
85
+ }
86
  }
frontend/schema/class-schema-article.php DELETED
@@ -1,216 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema Article data.
10
- *
11
- * @since 10.2
12
- */
13
- class WPSEO_Schema_Article implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * The date helper.
17
- *
18
- * @var WPSEO_Date_Helper
19
- */
20
- protected $date;
21
-
22
- /**
23
- * A value object with context variables.
24
- *
25
- * @var WPSEO_Schema_Context
26
- */
27
- private $context;
28
-
29
- /**
30
- * WPSEO_Schema_Article constructor.
31
- *
32
- * @param WPSEO_Schema_Context $context A value object with context variables.
33
- */
34
- public function __construct( WPSEO_Schema_Context $context ) {
35
- $this->context = $context;
36
- $this->date = new WPSEO_Date_Helper();
37
- }
38
-
39
- /**
40
- * Determines whether or not a piece should be added to the graph.
41
- *
42
- * @return bool
43
- */
44
- public function is_needed() {
45
- if ( ! is_singular() ) {
46
- return false;
47
- }
48
-
49
- if ( $this->context->site_represents === false ) {
50
- return false;
51
- }
52
-
53
- return self::is_article_post_type( get_post_type() );
54
- }
55
-
56
- /**
57
- * Returns Article data.
58
- *
59
- * @return array $data Article data.
60
- */
61
- public function generate() {
62
- $post = get_post( $this->context->id );
63
- $comment_count = get_comment_count( $this->context->id );
64
- $data = [
65
- '@type' => 'Article',
66
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::ARTICLE_HASH,
67
- 'isPartOf' => [ '@id' => $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH ],
68
- 'author' => [ '@id' => WPSEO_Schema_Utils::get_user_schema_id( $post->post_author, $this->context ) ],
69
- 'headline' => WPSEO_Schema_Utils::get_post_title_with_fallback( $this->context->id ),
70
- 'datePublished' => $this->date->format( $post->post_date_gmt ),
71
- 'dateModified' => $this->date->format( $post->post_modified_gmt ),
72
- 'commentCount' => $comment_count['approved'],
73
- 'mainEntityOfPage' => [ '@id' => $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH ],
74
- ];
75
-
76
- if ( $this->context->site_represents_reference ) {
77
- $data['publisher'] = $this->context->site_represents_reference;
78
- }
79
-
80
- $data = $this->add_image( $data );
81
- $data = $this->add_keywords( $data );
82
- $data = $this->add_sections( $data );
83
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
84
-
85
- if ( post_type_supports( $post->post_type, 'comments' ) && $post->comment_status === 'open' ) {
86
- $data = $this->add_potential_action( $data );
87
- }
88
-
89
- return $data;
90
- }
91
-
92
- /**
93
- * Determines whether a given post type should have Article schema.
94
- *
95
- * @param string $post_type Post type to check.
96
- *
97
- * @return bool True if it has article schema, false if not.
98
- */
99
- public static function is_article_post_type( $post_type = null ) {
100
- if ( is_null( $post_type ) ) {
101
- $post_type = get_post_type();
102
- }
103
-
104
- /**
105
- * Filter: 'wpseo_schema_article_post_types' - Allow changing for which post types we output Article schema.
106
- *
107
- * @api string[] $post_types The post types for which we output Article.
108
- */
109
- $post_types = apply_filters( 'wpseo_schema_article_post_types', [ 'post' ] );
110
-
111
- return in_array( $post_type, $post_types, true );
112
- }
113
-
114
- /**
115
- * Adds tags as keywords, if tags are assigned.
116
- *
117
- * @param array $data Article data.
118
- *
119
- * @return array $data Article data.
120
- */
121
- private function add_keywords( $data ) {
122
- /**
123
- * Filter: 'wpseo_schema_article_keywords_taxonomy' - Allow changing the taxonomy used to assign keywords to a post type Article data.
124
- *
125
- * @api string $taxonomy The chosen taxonomy.
126
- */
127
- $taxonomy = apply_filters( 'wpseo_schema_article_keywords_taxonomy', 'post_tag' );
128
-
129
- return $this->add_terms( $data, 'keywords', $taxonomy );
130
- }
131
-
132
- /**
133
- * Adds categories as sections, if categories are assigned.
134
- *
135
- * @param array $data Article data.
136
- *
137
- * @return array $data Article data.
138
- */
139
- private function add_sections( $data ) {
140
- /**
141
- * Filter: 'wpseo_schema_article_sections_taxonomy' - Allow changing the taxonomy used to assign keywords to a post type Article data.
142
- *
143
- * @api string $taxonomy The chosen taxonomy.
144
- */
145
- $taxonomy = apply_filters( 'wpseo_schema_article_sections_taxonomy', 'category' );
146
-
147
- return $this->add_terms( $data, 'articleSection', $taxonomy );
148
- }
149
-
150
- /**
151
- * Adds a term or multiple terms, comma separated, to a field.
152
- *
153
- * @param array $data Article data.
154
- * @param string $key The key in data to save the terms in.
155
- * @param string $taxonomy The taxonomy to retrieve the terms from.
156
- *
157
- * @return mixed array $data Article data.
158
- */
159
- private function add_terms( $data, $key, $taxonomy ) {
160
- $terms = get_the_terms( $this->context->id, $taxonomy );
161
- if ( is_array( $terms ) ) {
162
- $keywords = [];
163
- foreach ( $terms as $term ) {
164
- // We are checking against the WordPress internal translation.
165
- // @codingStandardsIgnoreLine
166
- if ( $term->name !== __( 'Uncategorized', 'default' ) ) {
167
- $keywords[] = $term->name;
168
- }
169
- }
170
- $data[ $key ] = implode( ',', $keywords );
171
- }
172
-
173
- return $data;
174
- }
175
-
176
- /**
177
- * Adds an image node if the post has a featured image.
178
- *
179
- * @param array $data The Article data.
180
- *
181
- * @return array $data The Article data.
182
- */
183
- private function add_image( $data ) {
184
- if ( $this->context->has_image ) {
185
- $data['image'] = [
186
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::PRIMARY_IMAGE_HASH,
187
- ];
188
- }
189
-
190
- return $data;
191
- }
192
-
193
- /**
194
- * Adds the potential action JSON LD code to an Article Schema piece.
195
- *
196
- * @param array $data The Article data array.
197
- *
198
- * @return array $data
199
- */
200
- private function add_potential_action( $data ) {
201
- /**
202
- * Filter: 'wpseo_schema_article_potential_action_target' - Allows filtering of the schema Article potentialAction target.
203
- *
204
- * @api array $targets The URLs for the Article potentialAction target.
205
- */
206
- $targets = apply_filters( 'wpseo_schema_article_potential_action_target', [ $this->context->canonical . '#respond' ] );
207
-
208
- $data['potentialAction'][] = [
209
- '@type' => 'CommentAction',
210
- 'name' => 'Comment',
211
- 'target' => $targets,
212
- ];
213
-
214
- return $data;
215
- }
216
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-author.php DELETED
@@ -1,145 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema Person data.
10
- *
11
- * @since 10.2
12
- *
13
- * @property WPSEO_Schema_Context $context A value object with context variables.
14
- */
15
- class WPSEO_Schema_Author extends WPSEO_Schema_Person implements WPSEO_Graph_Piece {
16
-
17
- /**
18
- * A value object with context variables.
19
- *
20
- * @var WPSEO_Schema_Context
21
- */
22
- private $context;
23
-
24
- /**
25
- * The Schema type we use for this class.
26
- *
27
- * @var string[]
28
- */
29
- protected $type = [ 'Person' ];
30
-
31
- /**
32
- * WPSEO_Schema_Author constructor.
33
- *
34
- * @param WPSEO_Schema_Context $context A value object with context variables.
35
- */
36
- public function __construct( WPSEO_Schema_Context $context ) {
37
- parent::__construct( $context );
38
- $this->context = $context;
39
- $this->image_hash = WPSEO_Schema_IDs::AUTHOR_LOGO_HASH;
40
- }
41
-
42
- /**
43
- * Determine whether we should return Person schema.
44
- *
45
- * @return bool
46
- */
47
- public function is_needed() {
48
- if ( is_author() ) {
49
- return true;
50
- }
51
-
52
- if ( $this->is_post_author() ) {
53
- $post = get_post( $this->context->id );
54
- // If the author is the user the site represents, no need for an extra author block.
55
- if ( (int) $post->post_author === $this->context->site_user_id ) {
56
- return false;
57
- }
58
-
59
- return true;
60
- }
61
-
62
- return false;
63
- }
64
-
65
- /**
66
- * Returns Person Schema data.
67
- *
68
- * @return bool|array Person data on success, false on failure.
69
- */
70
- public function generate() {
71
- $user_id = $this->determine_user_id();
72
- if ( ! $user_id ) {
73
- return false;
74
- }
75
-
76
- $data = $this->build_person_data( $user_id );
77
-
78
- // If this is an author page, the Person object is the main object, so we set it as such here.
79
- if ( is_author() ) {
80
- $data['mainEntityOfPage'] = [
81
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH,
82
- ];
83
- }
84
-
85
- return $data;
86
- }
87
-
88
- /**
89
- * Determine whether the current URL is worthy of Article schema.
90
- *
91
- * @return bool
92
- */
93
- protected function is_post_author() {
94
- if ( is_singular() && WPSEO_Schema_Article::is_article_post_type() ) {
95
- return true;
96
- }
97
-
98
- return false;
99
- }
100
-
101
- /**
102
- * Determines a User ID for the Person data.
103
- *
104
- * @return bool|int User ID or false upon return.
105
- */
106
- protected function determine_user_id() {
107
- switch ( true ) {
108
- case is_author():
109
- $user_id = get_queried_object_id();
110
- break;
111
- default:
112
- $post = get_post( $this->context->id );
113
- $user_id = (int) $post->post_author;
114
- break;
115
- }
116
-
117
- /**
118
- * Filter: 'wpseo_schema_person_user_id' - Allows filtering of user ID used for person output.
119
- *
120
- * @api int|bool $user_id The user ID currently determined.
121
- */
122
- return apply_filters( 'wpseo_schema_person_user_id', $user_id );
123
- }
124
-
125
- /**
126
- * An author should not have an image from options, this only applies to persons.
127
- *
128
- * @param array $data The Person schema.
129
- * @param string $schema_id The string used in the `@id` for the schema.
130
- *
131
- * @return array The Person schema.
132
- */
133
- private function set_image_from_options( $data, $schema_id ) {
134
- return $data;
135
- }
136
-
137
- /**
138
- * Gets the Schema type we use for this class.
139
- *
140
- * @return string[] The schema type.
141
- */
142
- public static function get_type() {
143
- return self::$type;
144
- }
145
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-breadcrumb.php DELETED
@@ -1,153 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema Breadcrumb data.
10
- *
11
- * @since 10.2
12
- */
13
- class WPSEO_Schema_Breadcrumb implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * A value object with context variables.
17
- *
18
- * @var WPSEO_Schema_Context
19
- */
20
- private $context;
21
-
22
- /**
23
- * Current position in the List.
24
- *
25
- * @var int
26
- */
27
- private $index;
28
-
29
- /**
30
- * WPSEO_Schema_Breadcrumb constructor.
31
- *
32
- * @param WPSEO_Schema_Context $context A value object with context variables.
33
- */
34
- public function __construct( WPSEO_Schema_Context $context ) {
35
- $this->context = $context;
36
- }
37
-
38
- /**
39
- * Determine if we should add a breadcrumb attribute.
40
- *
41
- * @return bool
42
- */
43
- public function is_needed() {
44
- if ( is_404() ) {
45
- return false;
46
- }
47
-
48
- if ( is_front_page() ) {
49
- return false;
50
- }
51
-
52
- if ( $this->context->breadcrumbs_enabled ) {
53
- return true;
54
- }
55
-
56
- return false;
57
- }
58
-
59
- /**
60
- * Returns Schema breadcrumb data to allow recognition of page's position in the site hierarchy.
61
- *
62
- * @link https://developers.google.com/search/docs/data-types/breadcrumb
63
- *
64
- * @return bool|array Array on success, false on failure.
65
- */
66
- public function generate() {
67
- $breadcrumbs_instance = WPSEO_Breadcrumbs::get_instance();
68
- $breadcrumbs = $breadcrumbs_instance->get_links();
69
- $broken = false;
70
- $list_elements = [];
71
-
72
- foreach ( $breadcrumbs as $index => $breadcrumb ) {
73
- if ( ! empty( $breadcrumb['hide_in_schema'] ) ) {
74
- continue;
75
- }
76
-
77
- if ( ! array_key_exists( 'url', $breadcrumb ) || ! array_key_exists( 'text', $breadcrumb ) ) {
78
- $broken = true;
79
- break;
80
- }
81
- $list_elements[] = $this->add_breadcrumb( $index, $breadcrumb );
82
- $this->index = $index;
83
- }
84
-
85
- if ( is_paged() ) {
86
- $list_elements[] = $this->add_paginated_state();
87
- }
88
-
89
- $data = [
90
- '@type' => 'BreadcrumbList',
91
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::BREADCRUMB_HASH,
92
- 'itemListElement' => $list_elements,
93
- ];
94
-
95
- // Only output if JSON is correctly formatted.
96
- if ( ! $broken ) {
97
- return $data;
98
- }
99
-
100
- return false;
101
- }
102
-
103
- /**
104
- * Returns a breadcrumb array.
105
- *
106
- * @param int $index The position in the list.
107
- * @param array $breadcrumb The breadcrumb array.
108
- *
109
- * @return array A breadcrumb listItem.
110
- */
111
- private function add_breadcrumb( $index, $breadcrumb ) {
112
- if ( empty( $breadcrumb['url'] ) ) {
113
- if ( is_paged() ) {
114
- // Retrieve the un-paginated state of the current page.
115
- $breadcrumb['url'] = WPSEO_Frontend::get_instance()->canonical( false, true );
116
- }
117
- else {
118
- $breadcrumb['url'] = $this->context->canonical;
119
- }
120
- }
121
-
122
- if ( empty( $breadcrumb['text'] ) ) {
123
- $breadcrumb['text'] = $this->context->title;
124
- }
125
-
126
- return [
127
- '@type' => 'ListItem',
128
- 'position' => ( $index + 1 ),
129
- 'item' => [
130
- '@type' => 'WebPage',
131
- '@id' => $breadcrumb['url'],
132
- 'url' => $breadcrumb['url'], // For future proofing, we're trying to change the standard for this.
133
- 'name' => $breadcrumb['text'],
134
- ],
135
- ];
136
- }
137
-
138
- /**
139
- * Adds the paginated state to the breadcrumb array.
140
- *
141
- * @return array A breadcrumb listItem.
142
- */
143
- private function add_paginated_state() {
144
- $this->index++;
145
- return $this->add_breadcrumb(
146
- $this->index,
147
- [
148
- 'url' => $this->context->canonical,
149
- 'text' => $this->context->title,
150
- ]
151
- );
152
- }
153
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-context.php DELETED
@@ -1,243 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Context variables for Schema generation.
10
- *
11
- * @property string $canonical The current page's canonical.
12
- * @property string $company_name Holds the company name, if the site represents a company.
13
- * @property int $company_logo_id Holds the company logo's ID, if the site represents a company.
14
- * @property int $id The post ID, if there is one.
15
- * @property string $site_name The site's name.
16
- * @property string $site_description The site's tagline.
17
- * @property string $site_represents Whether this site represents a `company` or a `person`.
18
- * @property string $site_url The site's URL.
19
- * @property int $site_user_id The site's user ID if a site represents a `person`.
20
- * @property string $title Page title.
21
- * @property string $description Page description.
22
- * @property bool $breadcrumbs_enabled Whether or not this site has breadcrumbs enabled.
23
- * @property array $site_represents_reference A schema @id reference to the piece the site represents.
24
- * @property bool $has_image A boolean that determines whether the current URL has a primary image.
25
- *
26
- * @since 10.2
27
- */
28
- class WPSEO_Schema_Context {
29
-
30
- /**
31
- * The current page's canonical.
32
- *
33
- * @var string
34
- */
35
- public $canonical;
36
-
37
- /**
38
- * Holds the company name, if the site represents a company.
39
- *
40
- * @var string
41
- */
42
- public $company_name;
43
-
44
- /**
45
- * Holds the company logo's ID, if the site represents a company.
46
- *
47
- * @var int
48
- */
49
- public $company_logo_id;
50
-
51
- /**
52
- * The queried object ID, if there is one.
53
- *
54
- * @var int
55
- */
56
- public $id;
57
-
58
- /**
59
- * Whether this site represents a `company` or a `person`.
60
- *
61
- * @var string
62
- */
63
- public $site_represents;
64
-
65
- /**
66
- * The site's Name.
67
- *
68
- * @var string
69
- */
70
- public $site_name;
71
-
72
- /**
73
- * The site's tagline.
74
- *
75
- * @var string
76
- */
77
- public $site_description;
78
-
79
- /**
80
- * The site's URL.
81
- *
82
- * @var string
83
- */
84
- public $site_url;
85
-
86
- /**
87
- * Page title.
88
- *
89
- * @var string
90
- */
91
- public $title;
92
-
93
- /**
94
- * User ID when the site represents a Person.
95
- *
96
- * @var int
97
- */
98
- public $site_user_id;
99
-
100
- /**
101
- * Page description.
102
- *
103
- * @var string
104
- */
105
- public $description;
106
-
107
- /**
108
- * Whether or not this site has breadcrumbs enabled.
109
- *
110
- * @var bool
111
- */
112
- public $breadcrumbs_enabled;
113
-
114
- /**
115
- * A schema @id reference to the piece the site represents.
116
- *
117
- * @var array
118
- */
119
- public $site_represents_reference;
120
-
121
- /**
122
- * A boolean that determines whether the current URL has a primary image.
123
- *
124
- * @var bool
125
- */
126
- public $has_image = false;
127
-
128
- /**
129
- * WPSEO_Schema_Context constructor.
130
- */
131
- public function __construct() {
132
- $this->build_data();
133
- }
134
-
135
- /**
136
- * Builds all the required data for the context object.
137
- */
138
- private function build_data() {
139
- // Page level variables.
140
- $front = WPSEO_Frontend::get_instance();
141
- $this->canonical = $front->canonical( false, false, true );
142
- $this->title = $front->title( '' );
143
- $this->description = $front->metadesc( false );
144
- $this->id = get_queried_object_id();
145
-
146
- // Site level variables.
147
- $this->site_name = $this->set_site_name();
148
- $this->site_description = get_bloginfo( 'description' );
149
- $this->site_url = trailingslashit( WPSEO_Utils::home_url() );
150
-
151
- $this->set_breadcrumbs_variables();
152
- $this->set_site_represents_variables();
153
- $this->set_site_represents_reference();
154
- }
155
-
156
- /**
157
- * Retrieves the site's name from settings.
158
- *
159
- * @return string
160
- */
161
- private function set_site_name() {
162
- if ( WPSEO_Options::get( 'website_name', '' ) !== '' ) {
163
- return WPSEO_Options::get( 'website_name' );
164
- }
165
-
166
- return get_bloginfo( 'name' );
167
- }
168
-
169
- /**
170
- * Sets our site represents reference for easy use.
171
- */
172
- private function set_site_represents_reference() {
173
- $this->site_represents_reference = false;
174
-
175
- if ( $this->site_represents === 'person' ) {
176
- $this->site_represents_reference = [ '@id' => WPSEO_Schema_Utils::get_user_schema_id( $this->site_user_id, $this ) ];
177
- }
178
-
179
- if ( $this->site_represents === 'company' ) {
180
- $this->site_represents_reference = [ '@id' => $this->site_url . WPSEO_Schema_IDs::ORGANIZATION_HASH ];
181
- }
182
- }
183
-
184
- /**
185
- * Determines what our site represents, and grabs their values.
186
- */
187
- private function set_site_represents_variables() {
188
- $this->site_represents = WPSEO_Options::get( 'company_or_person', false );
189
-
190
- switch ( $this->site_represents ) {
191
- case 'company':
192
- $company_name = WPSEO_Options::get( 'company_name' );
193
-
194
- /**
195
- * Filter: 'wpseo_schema_company_name' - Allows filtering company name
196
- *
197
- * @api string $company_name.
198
- */
199
- $this->company_name = apply_filters( 'wpseo_schema_company_name', $company_name );
200
-
201
- // Do not use a non-named company.
202
- if ( empty( $this->company_name ) ) {
203
- $this->site_represents = false;
204
- break;
205
- }
206
-
207
- $company_logo_id = WPSEO_Image_Utils::get_attachment_id_from_settings( 'company_logo' );
208
-
209
- /**
210
- * Filter: 'wpseo_schema_company_logo_id' - Allows filtering company logo id
211
- *
212
- * @api integer $company_logo_id.
213
- */
214
- $this->company_logo_id = apply_filters( 'wpseo_schema_company_logo_id', $company_logo_id );
215
-
216
- /*
217
- * Do not use a company without a logo.
218
- * This is not a false check due to how `get_attachment_id_from_settings` works.
219
- */
220
- if ( $this->company_logo_id < 1 ) {
221
- $this->site_represents = false;
222
- }
223
- break;
224
- case 'person':
225
- $this->site_user_id = WPSEO_Options::get( 'company_or_person_user_id', false );
226
- // Do not use a non-existing user.
227
- if ( $this->site_user_id !== false && get_user_by( 'id', $this->site_user_id ) === false ) {
228
- $this->site_represents = false;
229
- }
230
- break;
231
- }
232
- }
233
-
234
- /**
235
- * Determines whether the site uses Yoast SEO breadcrumbs.
236
- */
237
- private function set_breadcrumbs_variables() {
238
- $this->breadcrumbs_enabled = current_theme_supports( 'yoast-seo-breadcrumbs' );
239
- if ( ! $this->breadcrumbs_enabled ) {
240
- $this->breadcrumbs_enabled = WPSEO_Options::get( 'breadcrumbs-enable', false );
241
- }
242
- }
243
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-faq-question-list.php DELETED
@@ -1,115 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns a question object for each question in an FAQ block.
10
- *
11
- * @since 11.1
12
- *
13
- * @property array $data The Schema array.
14
- * @property WP_Block_Parser_Block[] $blocks The block we're taking the questions out of.
15
- * @property WPSEO_Schema_Context context A value object with context variables.
16
- * @property array ids
17
- * @property int count
18
- */
19
- class WPSEO_Schema_FAQ_Question_List {
20
-
21
- /**
22
- * The Schema array.
23
- *
24
- * @var array
25
- */
26
- private $data = [];
27
-
28
- /**
29
- * All the blocks of this block-type.
30
- *
31
- * @var WP_Block_Parser_Block
32
- */
33
- private $blocks;
34
-
35
- /**
36
- * Number of questions on the page.
37
- *
38
- * @var int
39
- */
40
- private $count;
41
-
42
- /**
43
- * IDs of the questions on the page.
44
- *
45
- * @var array
46
- */
47
- private $ids;
48
-
49
- /**
50
- * WPSEO_Schema_FAQ_Question_List constructor.
51
- *
52
- * @param WP_Block_Parser_Block[] $blocks An array of the FAQ blocks on this page.
53
- * @param WPSEO_Schema_Context $context A value object with context variables.
54
- */
55
- public function __construct( $blocks, $context ) {
56
- $this->blocks = $blocks;
57
- $this->context = $context;
58
- $this->count = 1;
59
- }
60
-
61
- /**
62
- * Find an image based on its URL and generate a Schema object for it.
63
- *
64
- * @return array The Schema with a question list added.
65
- */
66
- public function generate() {
67
- $this->prepare_blocks();
68
-
69
- $this->data[] = [
70
- '@type' => 'ItemList',
71
- 'mainEntityOfPage' => [ '@id' => $this->get_schema_id() ],
72
- 'numberOfItems' => $this->count,
73
- 'itemListElement' => $this->ids,
74
- ];
75
-
76
- return $this->data;
77
- }
78
-
79
- /**
80
- * Determine whether we're part of an article or a webpage.
81
- *
82
- * @return string A reference URL.
83
- */
84
- private function get_schema_id() {
85
- if ( $this->context->site_represents !== false && WPSEO_Schema_Article::is_article_post_type() ) {
86
- return $this->context->canonical . WPSEO_Schema_IDs::ARTICLE_HASH;
87
- }
88
-
89
- return $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH;
90
- }
91
-
92
- /**
93
- * Loop through the blocks of our type.
94
- */
95
- private function prepare_blocks() {
96
- foreach ( $this->blocks as $block ) {
97
- $this->prepare_questions( $block );
98
- }
99
- }
100
-
101
- /**
102
- * Prepare our data.
103
- *
104
- * @param WP_Block_Parser_Block[] $block The block to prepare the questions for.
105
- */
106
- private function prepare_questions( $block ) {
107
- foreach ( $block['attrs']['questions'] as $question ) {
108
- if ( ! isset( $question['jsonAnswer'] ) || empty( $question['jsonAnswer'] ) ) {
109
- continue;
110
- }
111
- $this->count ++;
112
- $this->ids[] = [ '@id' => $this->context->canonical . '#' . esc_attr( $question['id'] ) ];
113
- }
114
- }
115
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-faq-questions.php DELETED
@@ -1,112 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns a question object for each question in an FAQ block.
10
- *
11
- * @since 11.1
12
- *
13
- * @property array $data The Schema array.
14
- * @property WP_Block_Parser_Block $block The block we're taking the questions out of.
15
- * @property WPSEO_Schema_Context $context A value object with context variables.
16
- * @property int $position The position in the list.
17
- */
18
- class WPSEO_Schema_FAQ_Questions {
19
-
20
- /**
21
- * The Schema array.
22
- *
23
- * @var array
24
- */
25
- private $data;
26
-
27
- /**
28
- * All the blocks of this block-type.
29
- *
30
- * @var WP_Block_Parser_Block
31
- */
32
- private $block;
33
-
34
- /**
35
- * Position in the list.
36
- *
37
- * @var int
38
- */
39
- private $position;
40
-
41
- /**
42
- * WPSEO_Schema_FAQ_Questions constructor.
43
- *
44
- * @param array $data Our schema graph.
45
- * @param WP_Block_Parser_Block $block The FAQ block of this type.
46
- * @param WPSEO_Schema_Context $context A value object with context variables.
47
- */
48
- public function __construct( $data, $block, $context ) {
49
- $this->data = $data;
50
- $this->block = $block;
51
- $this->context = $context;
52
- $this->position = 0;
53
- }
54
-
55
- /**
56
- * Returns the Question and Answers schema data.
57
- *
58
- * @return array The Schema with Questions and Answers added.
59
- */
60
- public function generate() {
61
- foreach ( $this->block['attrs']['questions'] as $question ) {
62
- if ( ! isset( $question['jsonAnswer'] ) || empty( $question['jsonAnswer'] ) ) {
63
- continue;
64
- }
65
- $this->data[] = $this->generate_question_block( $question );
66
- }
67
- return $this->data;
68
- }
69
-
70
- /**
71
- * Generates a Question and Answer piece.
72
- *
73
- * @param array $question The question to generate schema for.
74
- *
75
- * @return array Schema.org Question piece.
76
- */
77
- protected function generate_question_block( $question ) {
78
- $url = $this->context->canonical . '#' . esc_attr( $question['id'] );
79
-
80
- $data = [
81
- '@type' => 'Question',
82
- '@id' => $url,
83
- 'position' => $this->position ++,
84
- 'url' => $url,
85
- 'name' => wp_strip_all_tags( $question['jsonQuestion'] ),
86
- 'answerCount' => 1,
87
- 'acceptedAnswer' => $this->add_accepted_answer_property( $question ),
88
- ];
89
-
90
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
91
-
92
- return $data;
93
- }
94
-
95
- /**
96
- * Adds the Questions `acceptedAnswer` property.
97
- *
98
- * @param array $question The question to add the acceptedAnswer to.
99
- *
100
- * @return array Schema.org Question piece.
101
- */
102
- protected function add_accepted_answer_property( $question ) {
103
- $data = [
104
- '@type' => 'Answer',
105
- 'text' => strip_tags( $question['jsonAnswer'], '<h1><h2><h3><h4><h5><h6><br><ol><ul><li><a><p><b><strong><i><em>' ),
106
- ];
107
-
108
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
109
-
110
- return $data;
111
- }
112
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-howto.php DELETED
@@ -1,244 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema HowTo data.
10
- *
11
- * @since 11.5
12
- */
13
- class WPSEO_Schema_HowTo implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * Determine whether this graph piece is needed or not.
17
- *
18
- * Always false, because this graph piece adds itself using the filter API.
19
- *
20
- * @var bool
21
- */
22
- private $is_needed = false;
23
-
24
- /**
25
- * The HowTo blocks count on the current page.
26
- *
27
- * @var int
28
- */
29
- private $counter;
30
-
31
- /**
32
- * A value object with context variables.
33
- *
34
- * @var WPSEO_Schema_Context
35
- */
36
- private $context;
37
-
38
- /**
39
- * Holds the allowed HTML tags for the jsonText.
40
- *
41
- * @var string
42
- */
43
- private $allowed_json_text_tags = '<h1><h2><h3><h4><h5><h6><br><ol><ul><li><a><p><b><strong><i><em>';
44
-
45
- /**
46
- * WPSEO_Schema_HowTo constructor.
47
- *
48
- * @param WPSEO_Schema_Context $context A value object with context variables.
49
- *
50
- * @codeCoverageIgnore
51
- */
52
- public function __construct( WPSEO_Schema_Context $context ) {
53
- $this->counter = 0;
54
- $this->context = $context;
55
-
56
- add_filter( 'wpseo_schema_block_yoast/how-to-block', [ $this, 'render' ], 10, 2 );
57
- }
58
-
59
- /**
60
- * Renders a list of questions, referencing them by ID.
61
- *
62
- * @return array $data Our Schema graph.
63
- */
64
- public function generate() {
65
- return [];
66
- }
67
-
68
- /**
69
- * Renders the How-To block into our graph.
70
- *
71
- * @param array $graph Our Schema data.
72
- * @param array $block The How-To block content.
73
- *
74
- * @return mixed
75
- */
76
- public function render( $graph, $block ) {
77
- $this->counter++;
78
- $data = [
79
- '@type' => 'HowTo',
80
- '@id' => $this->context->canonical . '#howto-' . $this->counter,
81
- 'name' => WPSEO_Schema_Utils::get_post_title_with_fallback( $this->context->id ),
82
- 'mainEntityOfPage' => [ '@id' => $this->get_main_schema_id() ],
83
- 'description' => '',
84
- ];
85
-
86
- $json_description = strip_tags( $block['attrs']['jsonDescription'], '<h1><h2><h3><h4><h5><h6><br><ol><ul><li><a><p><b><strong><i><em>' );
87
-
88
- if ( isset( $json_description ) ) {
89
- $data['description'] = $json_description;
90
- }
91
-
92
- $this->add_duration( $data, $block['attrs'] );
93
- $this->add_steps( $data, $block['attrs']['steps'] );
94
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
95
-
96
- $graph[] = $data;
97
-
98
- return $graph;
99
- }
100
-
101
- /**
102
- * Adds the duration of the task to the Schema.
103
- *
104
- * @param array $data Our How-To schema data.
105
- * @param array $attributes The block data attributes.
106
- *
107
- * @return array $data Our schema data.
108
- */
109
- private function add_duration( &$data, $attributes ) {
110
- if ( ! empty( $attributes['hasDuration'] ) && $attributes['hasDuration'] ) {
111
- $days = empty( $attributes['days'] ) ? 0 : $attributes['days'];
112
- $hours = empty( $attributes['hours'] ) ? 0 : $attributes['hours'];
113
- $minutes = empty( $attributes['minutes'] ) ? 0 : $attributes['minutes'];
114
-
115
- if ( ( $days + $hours + $minutes ) > 0 ) {
116
- $data['totalTime'] = esc_attr( 'P' . $days . 'DT' . $hours . 'H' . $minutes . 'M' );
117
- }
118
- }
119
-
120
- return $data;
121
- }
122
-
123
- /**
124
- * Determines whether we're part of an article or a webpage.
125
- *
126
- * @return string A reference URL.
127
- */
128
- protected function get_main_schema_id() {
129
- if ( $this->context->site_represents !== false && WPSEO_Schema_Article::is_article_post_type() ) {
130
- return $this->context->canonical . WPSEO_Schema_IDs::ARTICLE_HASH;
131
- }
132
-
133
- return $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH;
134
- }
135
-
136
- /**
137
- * Determines whether or not a piece should be added to the graph.
138
- *
139
- * @return bool
140
- */
141
- public function is_needed() {
142
- return $this->is_needed;
143
- }
144
-
145
- /**
146
- * Adds the steps to our How-To output.
147
- *
148
- * @param array $data Our How-To schema data.
149
- * @param array $steps Our How-To block's steps.
150
- */
151
- private function add_steps( &$data, $steps ) {
152
- foreach ( $steps as $step ) {
153
- $schema_id = $this->context->canonical . '#' . esc_attr( $step['id'] );
154
- $schema_step = [
155
- '@type' => 'HowToStep',
156
- 'url' => $schema_id,
157
- ];
158
-
159
- $json_text = strip_tags( $step['jsonText'], $this->allowed_json_text_tags );
160
- $json_name = wp_strip_all_tags( $step['jsonName'] );
161
-
162
- if ( empty( $json_name ) ) {
163
- if ( empty( $step['text'] ) ) {
164
- continue;
165
- }
166
-
167
- $schema_step['text'] = '';
168
-
169
- $this->add_step_image( $schema_step, $step );
170
-
171
- // If there is no text and no image, don't output the step.
172
- if ( empty( $json_text ) && empty( $schema_step['image'] ) ) {
173
- continue;
174
- }
175
-
176
- if ( ! empty( $json_text ) ) {
177
- $schema_step['text'] = $json_text;
178
- }
179
- }
180
-
181
- elseif ( empty( $json_text ) ) {
182
- $schema_step['text'] = $json_name;
183
- }
184
- else {
185
- $schema_step['name'] = $json_name;
186
-
187
- $this->add_step_description( $schema_step, $step );
188
- $this->add_step_image( $schema_step, $step );
189
- }
190
-
191
- $data['step'][] = $schema_step;
192
- }
193
- }
194
-
195
- /**
196
- * Checks if we have a step description, if we do, add it.
197
- *
198
- * @param array $schema_step Our Schema output for the Step.
199
- * @param array $step The step block data.
200
- */
201
- private function add_step_description( &$schema_step, $step ) {
202
- $json_text = strip_tags( $step['jsonText'], $this->allowed_json_text_tags );
203
-
204
- if ( empty( $json_text ) ) {
205
- return;
206
- }
207
-
208
- $schema_step['itemListElement'] = [];
209
-
210
- $schema_step['itemListElement'][] = [
211
- '@type' => 'HowToDirection',
212
- 'text' => $json_text,
213
- ];
214
- }
215
-
216
- /**
217
- * Checks if we have a step image, if we do, add it.
218
- *
219
- * @param array $schema_step Our Schema output for the Step.
220
- * @param array $step The step block data.
221
- */
222
- private function add_step_image( &$schema_step, $step ) {
223
- foreach ( $step['text'] as $line ) {
224
- if ( is_array( $line ) && isset( $line['type'] ) && $line['type'] === 'img' ) {
225
- $schema_step['image'] = $this->get_image_schema( esc_url( $line['props']['src'] ) );
226
- }
227
- }
228
- }
229
-
230
- /**
231
- * Generates the image schema from the attachment $url.
232
- *
233
- * @param string $url Attachment url.
234
- *
235
- * @return array Image schema.
236
- *
237
- * @codeCoverageIgnore
238
- */
239
- protected function get_image_schema( $url ) {
240
- $image = new WPSEO_Schema_Image( $this->context->canonical . '#schema-image-' . md5( $url ) );
241
-
242
- return $image->generate_from_url( $url );
243
- }
244
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-image.php DELETED
@@ -1,156 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema image data.
10
- *
11
- * @since 11.1
12
- *
13
- * @property string $schema_id The `@id` to use for the returned image.
14
- * @property array $data The ImageObject Schema array.
15
- * @property int $attachment_id The ID of the attachment used to generate the object.
16
- */
17
- class WPSEO_Schema_Image {
18
-
19
- /**
20
- * The `@id` to use for the returned image.
21
- *
22
- * @var string
23
- */
24
- private $schema_id;
25
-
26
- /**
27
- * The ImageObject Schema array.
28
- *
29
- * @var array
30
- */
31
- private $data;
32
-
33
- /**
34
- * The ID of the attachment used to generate the object.
35
- *
36
- * @var int
37
- */
38
- private $attachment_id;
39
-
40
- /**
41
- * WPSEO_Schema_Image constructor.
42
- *
43
- * @param string $schema_id The string to use in an image's `@id`.
44
- */
45
- public function __construct( $schema_id ) {
46
- $this->schema_id = $schema_id;
47
- $this->generate_object();
48
- }
49
-
50
- /**
51
- * Find an image based on its URL and generate a Schema object for it.
52
- *
53
- * @param string $url The image URL to base our object on.
54
- * @param string $caption An optional caption.
55
- *
56
- * @return array Schema ImageObject array.
57
- */
58
- public function generate_from_url( $url, $caption = '' ) {
59
- $attachment_id = WPSEO_Image_Utils::get_attachment_by_url( $url );
60
- if ( $attachment_id > 0 ) {
61
- return $this->generate_from_attachment_id( $attachment_id, $caption );
62
- }
63
-
64
- return $this->simple_image_object( $url, $caption );
65
- }
66
-
67
- /**
68
- * Retrieve data about an image from the database and use it to generate a Schema object.
69
- *
70
- * @param int $attachment_id The attachment to retrieve data from.
71
- * @param string $caption The caption string, if there is one.
72
- *
73
- * @return array Schema ImageObject array.
74
- */
75
- public function generate_from_attachment_id( $attachment_id, $caption = '' ) {
76
- $this->attachment_id = $attachment_id;
77
- $this->data['url'] = wp_get_attachment_image_url( $this->attachment_id, 'full' );
78
- $this->add_image_size();
79
- $this->add_caption( $caption );
80
-
81
- return $this->data;
82
- }
83
-
84
- /**
85
- * If we can't find $url in our database, we output a simple ImageObject.
86
- *
87
- * @param string $url The image URL.
88
- * @param string $caption A caption, if set.
89
- *
90
- * @return array $data Schema ImageObject array.
91
- */
92
- public function simple_image_object( $url, $caption = '' ) {
93
- $this->data['url'] = $url;
94
-
95
- if ( ! empty( $caption ) ) {
96
- $this->data['caption'] = $caption;
97
- }
98
-
99
- return $this->data;
100
- }
101
-
102
- /**
103
- * Retrieves an image's caption if set, or uses the alt tag if that's set.
104
- *
105
- * @param string $caption The caption string, if there is one.
106
- *
107
- * @return void
108
- */
109
- private function add_caption( $caption = '' ) {
110
- if ( ! empty( $caption ) ) {
111
- $this->data['caption'] = $caption;
112
-
113
- return;
114
- }
115
-
116
- $caption = wp_get_attachment_caption();
117
- if ( ! empty( $caption ) ) {
118
- $this->data['caption'] = $caption;
119
-
120
- return;
121
- }
122
-
123
- $caption = get_post_meta( $this->attachment_id, '_wp_attachment_image_alt', true );
124
- if ( ! empty( $caption ) ) {
125
- $this->data['caption'] = $caption;
126
- }
127
- }
128
-
129
- /**
130
- * Generates our bare bone ImageObject.
131
- *
132
- * @return void
133
- */
134
- private function generate_object() {
135
- $this->data = [
136
- '@type' => 'ImageObject',
137
- '@id' => $this->schema_id,
138
- ];
139
-
140
- $this->data = WPSEO_Schema_Utils::add_piece_language( $this->data );
141
- }
142
-
143
- /**
144
- * Adds image's width and height.
145
- *
146
- * @return void
147
- */
148
- private function add_image_size() {
149
- $image_meta = wp_get_attachment_metadata( $this->attachment_id );
150
- if ( empty( $image_meta['width'] ) || empty( $image_meta['height'] ) ) {
151
- return;
152
- }
153
- $this->data['width'] = $image_meta['width'];
154
- $this->data['height'] = $image_meta['height'];
155
- }
156
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-main-image.php DELETED
@@ -1,146 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns ImageObject schema data.
10
- *
11
- * @since 11.5
12
- */
13
- class WPSEO_Schema_MainImage implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * A value object with context variables.
17
- *
18
- * @var WPSEO_Schema_Context
19
- */
20
- private $context;
21
-
22
- /**
23
- * WPSEO_Schema_WebPage constructor.
24
- *
25
- * @codeCoverageIgnore
26
- *
27
- * @param WPSEO_Schema_Context $context A value object with context variables.
28
- */
29
- public function __construct( WPSEO_Schema_Context $context ) {
30
- $this->context = $context;
31
- }
32
-
33
- /**
34
- * Determines whether or not a piece should be added to the graph.
35
- *
36
- * @return bool
37
- */
38
- public function is_needed() {
39
- if ( is_singular() ) {
40
- return true;
41
- }
42
-
43
- return false;
44
- }
45
-
46
- /**
47
- * Adds a main image for the current URL to the schema if there is one.
48
- *
49
- * This can be either the featured image, or fall back to the first image in the content of the page.
50
- *
51
- * @return false|array $data Image Schema.
52
- */
53
- public function generate() {
54
- $image_id = $this->context->canonical . WPSEO_Schema_IDs::PRIMARY_IMAGE_HASH;
55
-
56
- $image_schema = $this->get_featured_image( $this->context->id, $image_id );
57
-
58
- if ( $image_schema === null ) {
59
- $image_schema = $this->get_first_content_image( $this->context->id, $image_id );
60
- }
61
-
62
- if ( $image_schema === null ) {
63
- return false;
64
- }
65
-
66
- $this->context->has_image = true;
67
-
68
- return $image_schema;
69
- }
70
-
71
- /**
72
- * Gets the image schema for the web page based on the featured image.
73
- *
74
- * @param int $post_id The post id.
75
- * @param string $image_id The image schema id.
76
- *
77
- * @return array|null The image schema object or null if there is no featured image.
78
- */
79
- private function get_featured_image( $post_id, $image_id ) {
80
- if ( ! has_post_thumbnail( $post_id ) ) {
81
- return null;
82
- }
83
-
84
- return $this->generate_image_schema_from_attachment_id( $image_id );
85
- }
86
-
87
- /**
88
- * Gets the image schema for the web page based on the first content image image.
89
- *
90
- * @param int $post_id The post id.
91
- * @param string $image_id The image schema id.
92
- *
93
- * @return array|null The image schema object or null if there is no image in the content.
94
- */
95
- private function get_first_content_image( $post_id, $image_id ) {
96
- $image_url = $this->get_first_usable_content_image_for_post( $post_id );
97
-
98
- if ( $image_url === null ) {
99
- return null;
100
- }
101
-
102
- return $this->generate_image_schema_from_url( $image_id, $image_url );
103
- }
104
-
105
- /**
106
- * Gets the post's first usable content image. Null if none is available.
107
- *
108
- * @codeCoverageIgnore
109
- *
110
- * @param int $post_id The post id.
111
- *
112
- * @return string|null The image URL or null if there is no image.
113
- */
114
- protected function get_first_usable_content_image_for_post( $post_id ) {
115
- return WPSEO_Image_Utils::get_first_usable_content_image_for_post( $post_id );
116
- }
117
-
118
- /**
119
- * Generates image schema from the attachment id.
120
- *
121
- * @codeCoverageIgnore
122
- *
123
- * @param string $image_id The image schema id.
124
- *
125
- * @return array Schema ImageObject array.
126
- */
127
- protected function generate_image_schema_from_attachment_id( $image_id ) {
128
- $schema_image = new WPSEO_Schema_Image( $image_id );
129
- return $schema_image->generate_from_attachment_id( get_post_thumbnail_id() );
130
- }
131
-
132
- /**
133
- * Generates image schema from the url.
134
- *
135
- * @codeCoverageIgnore
136
- *
137
- * @param string $image_id The image schema id.
138
- * @param string $image_url The image URL.
139
- *
140
- * @return array Schema ImageObject array.
141
- */
142
- protected function generate_image_schema_from_url( $image_id, $image_url ) {
143
- $schema_image = new WPSEO_Schema_Image( $image_id );
144
- return $schema_image->generate_from_url( $image_url );
145
- }
146
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-organization.php DELETED
@@ -1,114 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema Organization data.
10
- *
11
- * @since 10.2
12
- */
13
- class WPSEO_Schema_Organization implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * A value object with context variables.
17
- *
18
- * @var WPSEO_Schema_Context
19
- */
20
- private $context;
21
-
22
- /**
23
- * WPSEO_Schema_Organization constructor.
24
- *
25
- * @param WPSEO_Schema_Context $context A value object with context variables.
26
- */
27
- public function __construct( WPSEO_Schema_Context $context ) {
28
- $this->context = $context;
29
- }
30
-
31
- /**
32
- * Determines whether an Organization graph piece should be added.
33
- *
34
- * @return bool
35
- */
36
- public function is_needed() {
37
- return ( $this->context->site_represents === 'company' );
38
- }
39
-
40
- /**
41
- * Returns the Organization Schema data.
42
- *
43
- * @return array $data The Organization schema.
44
- */
45
- public function generate() {
46
- $data = [
47
- '@type' => 'Organization',
48
- '@id' => $this->context->site_url . WPSEO_Schema_IDs::ORGANIZATION_HASH,
49
- 'name' => $this->context->company_name,
50
- 'url' => $this->context->site_url,
51
- 'sameAs' => $this->fetch_social_profiles(),
52
- ];
53
- $data = $this->add_logo( $data );
54
-
55
- return $data;
56
- }
57
-
58
- /**
59
- * Adds a site's logo.
60
- *
61
- * @param array $data The Organization schema.
62
- *
63
- * @return array $data The Organization schema.
64
- */
65
- private function add_logo( $data ) {
66
- $schema_id = $this->context->site_url . WPSEO_Schema_IDs::ORGANIZATION_LOGO_HASH;
67
- $schema_image = new WPSEO_Schema_Image( $schema_id );
68
- $data['logo'] = $schema_image->generate_from_attachment_id( $this->context->company_logo_id, $this->context->company_name );
69
- $data['image'] = [ '@id' => $schema_id ];
70
-
71
- return $data;
72
- }
73
-
74
- /**
75
- * Retrieve the social profiles to display in the organization schema.
76
- *
77
- * @since 1.8
78
- *
79
- * @link https://developers.google.com/webmasters/structured-data/customize/social-profiles
80
- *
81
- * @return array $profiles An array of social profiles.
82
- */
83
- private function fetch_social_profiles() {
84
- $profiles = [];
85
- $social_profiles = [
86
- 'facebook_site',
87
- 'instagram_url',
88
- 'linkedin_url',
89
- 'myspace_url',
90
- 'youtube_url',
91
- 'pinterest_url',
92
- 'wikipedia_url',
93
- ];
94
- foreach ( $social_profiles as $profile ) {
95
- if ( WPSEO_Options::get( $profile, '' ) !== '' ) {
96
- $profiles[] = urldecode( WPSEO_Options::get( $profile ) );
97
- }
98
- }
99
-
100
- if ( WPSEO_Options::get( 'twitter_site', '' ) !== '' ) {
101
- $profiles[] = 'https://twitter.com/' . WPSEO_Options::get( 'twitter_site' );
102
- }
103
-
104
- /**
105
- * Filter: 'wpseo_schema_organization_social_profiles' - Allows filtering social profiles for the
106
- * represented organization.
107
- *
108
- * @api string[] $profiles
109
- */
110
- $profiles = apply_filters( 'wpseo_schema_organization_social_profiles', $profiles );
111
-
112
- return $profiles;
113
- }
114
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-webpage.php DELETED
@@ -1,202 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema WebPage data.
10
- *
11
- * @since 10.2
12
- */
13
- class WPSEO_Schema_WebPage implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * The date helper.
17
- *
18
- * @var WPSEO_Date_Helper
19
- */
20
- protected $date;
21
-
22
- /**
23
- * A value object with context variables.
24
- *
25
- * @var WPSEO_Schema_Context
26
- */
27
- private $context;
28
-
29
- /**
30
- * WPSEO_Schema_WebPage constructor.
31
- *
32
- * @param WPSEO_Schema_Context $context A value object with context variables.
33
- */
34
- public function __construct( WPSEO_Schema_Context $context ) {
35
- $this->context = $context;
36
- $this->date = new WPSEO_Date_Helper();
37
- }
38
-
39
- /**
40
- * Determines whether or not a piece should be added to the graph.
41
- *
42
- * @return bool
43
- */
44
- public function is_needed() {
45
- if ( is_404() ) {
46
- return false;
47
- }
48
-
49
- return true;
50
- }
51
-
52
- /**
53
- * Returns WebPage schema data.
54
- *
55
- * @return array WebPage schema data.
56
- */
57
- public function generate() {
58
- $data = [
59
- '@type' => $this->determine_page_type(),
60
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::WEBPAGE_HASH,
61
- 'url' => $this->context->canonical,
62
- 'name' => $this->context->title,
63
- 'isPartOf' => [
64
- '@id' => $this->context->site_url . WPSEO_Schema_IDs::WEBSITE_HASH,
65
- ],
66
- ];
67
-
68
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
69
-
70
- if ( is_front_page() ) {
71
- if ( $this->context->site_represents_reference ) {
72
- $data['about'] = $this->context->site_represents_reference;
73
- }
74
- }
75
-
76
- if ( is_singular() ) {
77
- $this->add_image( $data );
78
-
79
- $post = get_post( $this->context->id );
80
- $data['datePublished'] = $this->date->format( $post->post_date_gmt );
81
- $data['dateModified'] = $this->date->format( $post->post_modified_gmt );
82
-
83
- if ( get_post_type( $post ) === 'post' ) {
84
- $data = $this->add_author( $data, $post );
85
- }
86
- }
87
-
88
- if ( ! empty( $this->context->description ) ) {
89
- $data['description'] = strip_tags( $this->context->description, '<h1><h2><h3><h4><h5><h6><br><ol><ul><li><a><p><b><strong><i><em>' );
90
- }
91
-
92
- if ( $this->add_breadcrumbs() ) {
93
- $data['breadcrumb'] = [
94
- '@id' => $this->context->canonical . WPSEO_Schema_IDs::BREADCRUMB_HASH,
95
- ];
96
- }
97
-
98
- $data = $this->add_potential_action( $data );
99
-
100
- return $data;
101
- }
102
-
103
- /**
104
- * Adds an author property to the $data if the WebPage is not represented.
105
- *
106
- * @param array $data The WebPage schema.
107
- * @param WP_Post $post The post the context is representing.
108
- *
109
- * @return array The WebPage schema.
110
- */
111
- public function add_author( $data, $post ) {
112
- if ( $this->context->site_represents === false ) {
113
- $data['author'] = [ '@id' => WPSEO_Schema_Utils::get_user_schema_id( $post->post_author, $this->context ) ];
114
- }
115
- return $data;
116
- }
117
-
118
- /**
119
- * If we have an image, make it the primary image of the page.
120
- *
121
- * @param array $data WebPage schema data.
122
- */
123
- public function add_image( &$data ) {
124
- if ( $this->context->has_image ) {
125
- $data['primaryImageOfPage'] = [ '@id' => $this->context->canonical . WPSEO_Schema_IDs::PRIMARY_IMAGE_HASH ];
126
- }
127
- }
128
-
129
- /**
130
- * Determine if we should add a breadcrumb attribute.
131
- *
132
- * @return bool
133
- */
134
- private function add_breadcrumbs() {
135
- if ( is_front_page() ) {
136
- return false;
137
- }
138
-
139
- if ( $this->context->breadcrumbs_enabled ) {
140
- return true;
141
- }
142
-
143
- return false;
144
- }
145
-
146
- /**
147
- * Determine the page type for the current page.
148
- *
149
- * @return string
150
- */
151
- private function determine_page_type() {
152
- switch ( true ) {
153
- case is_search():
154
- $type = 'SearchResultsPage';
155
- break;
156
- case is_author():
157
- $type = 'ProfilePage';
158
- break;
159
- case WPSEO_Frontend_Page_Type::is_posts_page():
160
- case WPSEO_Frontend_Page_Type::is_home_posts_page():
161
- case is_archive():
162
- $type = 'CollectionPage';
163
- break;
164
- default:
165
- $type = 'WebPage';
166
- }
167
-
168
- /**
169
- * Filter: 'wpseo_schema_webpage_type' - Allow changing the WebPage type.
170
- *
171
- * @api string $type The WebPage type.
172
- */
173
- return apply_filters( 'wpseo_schema_webpage_type', $type );
174
- }
175
-
176
- /**
177
- * Adds the potential action JSON LD code to a WebPage Schema piece.
178
- *
179
- * @param array $data The WebPage data array.
180
- *
181
- * @return array $data
182
- */
183
- private function add_potential_action( $data ) {
184
- if ( $this->determine_page_type() !== 'WebPage' ) {
185
- return $data;
186
- }
187
-
188
- /**
189
- * Filter: 'wpseo_schema_webpage_potential_action_target' - Allows filtering of the schema WebPage potentialAction target.
190
- *
191
- * @api array $targets The URLs for the WebPage potentialAction target.
192
- */
193
- $targets = apply_filters( 'wpseo_schema_webpage_potential_action_target', [ $this->context->canonical ] );
194
-
195
- $data['potentialAction'][] = [
196
- '@type' => 'ReadAction',
197
- 'target' => $targets,
198
- ];
199
-
200
- return $data;
201
- }
202
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema-website.php DELETED
@@ -1,120 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Returns schema Website data.
10
- *
11
- * @since 10.2
12
- */
13
- class WPSEO_Schema_Website implements WPSEO_Graph_Piece {
14
-
15
- /**
16
- * A value object with context variables.
17
- *
18
- * @var WPSEO_Schema_Context
19
- */
20
- private $context;
21
-
22
- /**
23
- * WPSEO_Schema_Website constructor.
24
- *
25
- * @param WPSEO_Schema_Context $context A value object with context variables.
26
- */
27
- public function __construct( WPSEO_Schema_Context $context ) {
28
- $this->context = $context;
29
- }
30
-
31
- /**
32
- * Determines whether or not a piece should be added to the graph.
33
- *
34
- * @return bool
35
- */
36
- public function is_needed() {
37
- return true;
38
- }
39
-
40
- /**
41
- * Outputs code to allow recognition of the internal search engine.
42
- *
43
- * @since 1.5.7
44
- *
45
- * @link https://developers.google.com/structured-data/site-name
46
- *
47
- * @return array Website data blob.
48
- */
49
- public function generate() {
50
- $data = [
51
- '@type' => 'WebSite',
52
- '@id' => $this->context->site_url . WPSEO_Schema_IDs::WEBSITE_HASH,
53
- 'url' => $this->context->site_url,
54
- 'name' => $this->context->site_name,
55
- ];
56
-
57
- $data = WPSEO_Schema_Utils::add_piece_language( $data );
58
-
59
- if ( $this->context->site_description ) {
60
- $data['description'] = $this->context->site_description;
61
- }
62
-
63
- if ( $this->context->site_represents_reference ) {
64
- $data['publisher'] = $this->context->site_represents_reference;
65
- }
66
-
67
- $data = $this->add_alternate_name( $data );
68
- $data = $this->internal_search_section( $data );
69
-
70
- return $data;
71
- }
72
-
73
- /**
74
- * Returns an alternate name if one was specified in the Yoast SEO settings.
75
- *
76
- * @param array $data The website data array.
77
- *
78
- * @return array $data
79
- */
80
- private function add_alternate_name( $data ) {
81
- if ( WPSEO_Options::get( 'alternate_website_name', '' ) !== '' ) {
82
- $data['alternateName'] = WPSEO_Options::get( 'alternate_website_name' );
83
- }
84
-
85
- return $data;
86
- }
87
-
88
- /**
89
- * Adds the internal search JSON LD code to the homepage if it's not disabled.
90
- *
91
- * @link https://developers.google.com/structured-data/slsb-overview
92
- *
93
- * @param array $data The website data array.
94
- *
95
- * @return array $data
96
- */
97
- private function internal_search_section( $data ) {
98
- /**
99
- * Filter: 'disable_wpseo_json_ld_search' - Allow disabling of the json+ld output.
100
- *
101
- * @api bool $display_search Whether or not to display json+ld search on the frontend.
102
- */
103
- if ( ! apply_filters( 'disable_wpseo_json_ld_search', false ) ) {
104
- /**
105
- * Filter: 'wpseo_json_ld_search_url' - Allows filtering of the search URL for Yoast SEO.
106
- *
107
- * @api string $search_url The search URL for this site with a `{search_term_string}` variable.
108
- */
109
- $search_url = apply_filters( 'wpseo_json_ld_search_url', $this->context->site_url . '?s={search_term_string}' );
110
-
111
- $data['potentialAction'][] = [
112
- '@type' => 'SearchAction',
113
- 'target' => $search_url,
114
- 'query-input' => 'required name=search_term_string',
115
- ];
116
- }
117
-
118
- return $data;
119
- }
120
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
frontend/schema/class-schema.php DELETED
@@ -1,198 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Frontend\Schema
6
- */
7
-
8
- /**
9
- * Class WPSEO_Schema
10
- *
11
- * Outputs schema code specific for Google's JSON LD stuff.
12
- *
13
- * @since 1.8
14
- */
15
- class WPSEO_Schema implements WPSEO_WordPress_Integration {
16
-
17
- /**
18
- * Holds the parsed blocks for the current page.
19
- *
20
- * @var array
21
- */
22
- private $parsed_blocks = [];
23
-
24
- /**
25
- * Holds context variables about the current page and site.
26
- *
27
- * @var WPSEO_Schema_Context
28
- */
29
- private $context;
30
-
31
- /**
32
- * Registers the hooks.
33
- */
34
- public function register_hooks() {
35
- add_action( 'wpseo_head', [ $this, 'json_ld' ], 91 );
36
- add_action( 'wpseo_json_ld', [ $this, 'generate' ], 1 );
37
-
38
- // This AMP hook is only used in Reader (formerly Classic) mode.
39
- add_action( 'amp_post_template_head', [ $this, 'json_ld' ], 9 );
40
- }
41
-
42
- /**
43
- * JSON LD output function that the functions for specific code can hook into.
44
- *
45
- * @since 1.8
46
- */
47
- public function json_ld() {
48
- $deprecated_data = [
49
- '_deprecated' => 'Please use the "wpseo_schema_*" filters to extend the Yoast SEO schema data - see the WPSEO_Schema class.',
50
- ];
51
-
52
- /**
53
- * Filter: 'wpseo_json_ld_output' - Allows disabling Yoast's schema output entirely.
54
- *
55
- * @api mixed If false or an empty array is returned, disable our output.
56
- */
57
- $return = apply_filters( 'wpseo_json_ld_output', $deprecated_data, '' );
58
- if ( $return === [] || $return === false ) {
59
- return;
60
- }
61
-
62
- // Remove the AMP hook that also outputs Schema metadata on AMP pages.
63
- remove_action( 'amp_post_template_head', 'amp_print_schemaorg_metadata' );
64
- do_action( 'wpseo_json_ld' );
65
- }
66
-
67
- /**
68
- * Outputs the JSON LD code in a valid JSON+LD wrapper.
69
- *
70
- * @since 10.2
71
- *
72
- * @return void
73
- */
74
- public function generate() {
75
- $graph = [];
76
-
77
- $this->context = new WPSEO_Schema_Context();
78
- $pieces = $this->get_graph_pieces();
79
-
80
- // Parse the Gutenberg blocks so we know whether to show pieces for those.
81
- $this->parse_blocks();
82
-
83
- foreach ( $pieces as $piece ) {
84
- $identifier = str_replace( 'wpseo_schema_', '', strtolower( get_class( $piece ) ) );
85
- if ( property_exists( $piece, 'identifier' ) ) {
86
- $identifier = $piece->identifier;
87
- }
88
-
89
- /**
90
- * Filter: 'wpseo_schema_needs_<identifier>' - Allows changing which graph pieces we output.
91
- *
92
- * @api bool $is_needed Whether or not to show a graph piece.
93
- */
94
- $is_needed = apply_filters( 'wpseo_schema_needs_' . $identifier, $piece->is_needed() );
95
- if ( ! $is_needed ) {
96
- continue;
97
- }
98
-
99
- $graph_piece = $piece->generate();
100
-
101
- /**
102
- * Filter: 'wpseo_schema_<identifier>' - Allows changing graph piece output.
103
- *
104
- * @api array $graph_piece The graph piece to filter.
105
- */
106
- $graph_piece = apply_filters( 'wpseo_schema_' . $identifier, $graph_piece );
107
- if ( is_array( $graph_piece ) ) {
108
- $graph[] = $graph_piece;
109
- }
110
- }
111
-
112
- foreach ( $this->parsed_blocks as $block_type => $blocks ) {
113
- foreach ( $blocks as $block ) {
114
- /**
115
- * Filter: 'wpseo_schema_block_<block-type>' - Allows filtering graph output per block.
116
- *
117
- * @param WP_Block_Parser_Block $block The block.
118
- * @param WPSEO_Schema_Context $context A value object with context variables.
119
- *
120
- * @api array $graph Our Schema output.
121
- */
122
- $block_type = strtolower( $block['blockName'] );
123
- $graph = apply_filters( 'wpseo_schema_block_' . $block_type, $graph, $block, $this->context );
124
- }
125
- }
126
-
127
- WPSEO_Utils::schema_output( $graph, 'yoast-schema-graph yoast-schema-graph--main' );
128
- }
129
-
130
- /**
131
- * Gets all the graph pieces we need.
132
- *
133
- * @return array A filtered array of graph pieces.
134
- */
135
- private function get_graph_pieces() {
136
- $pieces = [
137
- new WPSEO_Schema_Organization( $this->context ),
138
- new WPSEO_Schema_Person( $this->context ),
139
- new WPSEO_Schema_Website( $this->context ),
140
- new WPSEO_Schema_MainImage( $this->context ),
141
- new WPSEO_Schema_WebPage( $this->context ),
142
- new WPSEO_Schema_Breadcrumb( $this->context ),
143
- new WPSEO_Schema_Article( $this->context ),
144
- new WPSEO_Schema_Author( $this->context ),
145
- new WPSEO_Schema_FAQ( $this->context ),
146
- new WPSEO_Schema_HowTo( $this->context ),
147
- ];
148
-
149
- /**
150
- * Filter: 'wpseo_schema_graph_pieces' - Allows adding pieces to the graph.
151
- *
152
- * @param WPSEO_Schema_Context $context An object with context variables.
153
- *
154
- * @api array $pieces The schema pieces.
155
- */
156
- return apply_filters( 'wpseo_schema_graph_pieces', $pieces, $this->context );
157
- }
158
-
159
- /**
160
- * Parse the blocks and pass them on to our head.
161
- */
162
- private function parse_blocks() {
163
- if ( ! function_exists( 'parse_blocks' ) ) {
164
- return;
165
- }
166
-
167
- if ( ! is_singular() ) {
168
- return;
169
- }
170
-
171
- $this->get_parsed_blocks();
172
- foreach ( array_keys( $this->parsed_blocks ) as $block_type ) {
173
- /**
174
- * Filter: 'wpseo_pre_schema_block_type_<block-type>' - Allows hooking things to change graph output based on the blocks on the page.
175
- *
176
- * @param string $block_type The block type.
177
- * @param array $blocks All the blocks of this block type.
178
- * @param WPSEO_Schema_Context $context A value object with context variables.
179
- */
180
- do_action( 'wpseo_pre_schema_block_type_' . $block_type, $this->parsed_blocks[ $block_type ], $this->context );
181
- }
182
- }
183
-
184
- /**
185
- * Parse the blocks and loop through them.
186
- */
187
- private function get_parsed_blocks() {
188
- $post = get_post();
189
- $parsed_blocks = parse_blocks( $post->post_content );
190
-
191
- foreach ( $parsed_blocks as $block ) {
192
- if ( ! isset( $this->parsed_blocks[ $block['blockName'] ] ) || ! is_array( $this->parsed_blocks[ $block['blockName'] ] ) ) {
193
- $this->parsed_blocks[ $block['blockName'] ] = [];
194
- }
195
- $this->parsed_blocks[ $block['blockName'] ][] = $block;
196
- }
197
- }
198
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/class-wpseo-admin-bar-menu.php CHANGED
@@ -280,7 +280,13 @@ class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
280
  * @return void
281
  */
282
  protected function add_analysis_submenu( WP_Admin_Bar $wp_admin_bar ) {
283
- $url = WPSEO_Frontend::get_instance()->canonical( false );
 
 
 
 
 
 
284
  $focus_keyword = '';
285
 
286
  if ( ! $url ) {
280
  * @return void
281
  */
282
  protected function add_analysis_submenu( WP_Admin_Bar $wp_admin_bar ) {
283
+ try {
284
+ $url = YoastSEO()->meta->for_current_page()->canonical;
285
+ } catch ( Exception $e ) {
286
+ // This is not the type of error we can handle here.
287
+ return;
288
+ }
289
+
290
  $focus_keyword = '';
291
 
292
  if ( ! $url ) {
inc/class-wpseo-custom-fields.php CHANGED
@@ -43,11 +43,9 @@ class WPSEO_Custom_Fields {
43
  $limit = apply_filters( 'postmeta_form_limit', 30 );
44
  $sql = "SELECT DISTINCT meta_key
45
  FROM $wpdb->postmeta
46
- WHERE meta_key NOT BETWEEN '_' AND '_z'
47
- HAVING meta_key NOT LIKE %s
48
- ORDER BY meta_key
49
  LIMIT %d";
50
- $fields = $wpdb->get_col( $wpdb->prepare( $sql, $wpdb->esc_like( '_' ) . '%', $limit ) );
51
 
52
  if ( is_array( $fields ) ) {
53
  self::$custom_fields = array_map( [ 'WPSEO_Custom_Fields', 'add_custom_field_prefix' ], $fields );
43
  $limit = apply_filters( 'postmeta_form_limit', 30 );
44
  $sql = "SELECT DISTINCT meta_key
45
  FROM $wpdb->postmeta
46
+ WHERE meta_key NOT BETWEEN '_' AND '_z' AND SUBSTRING(meta_key, 1, 1) != '_'
 
 
47
  LIMIT %d";
48
+ $fields = $wpdb->get_col( $wpdb->prepare( $sql, $limit ) );
49
 
50
  if ( is_array( $fields ) ) {
51
  self::$custom_fields = array_map( [ 'WPSEO_Custom_Fields', 'add_custom_field_prefix' ], $fields );
inc/class-wpseo-replace-vars.php CHANGED
@@ -1193,76 +1193,6 @@ class WPSEO_Replace_Vars {
1193
  ];
1194
  }
1195
 
1196
- /**
1197
- * Retrieves the custom field names as an array.
1198
- *
1199
- * @link WordPress core: wp-admin/includes/template.php. Reused query from it.
1200
- *
1201
- * @return array The custom fields.
1202
- */
1203
- private function get_custom_fields() {
1204
- global $wpdb;
1205
-
1206
- /**
1207
- * Filters the number of custom fields to retrieve for the drop-down
1208
- * in the Custom Fields meta box.
1209
- *
1210
- * @since 2.1.0
1211
- *
1212
- * @param int $limit Number of custom fields to retrieve. Default 30.
1213
- */
1214
- $limit = apply_filters( 'postmeta_form_limit', 30 );
1215
- $sql = "SELECT DISTINCT meta_key
1216
- FROM $wpdb->postmeta
1217
- WHERE meta_key NOT BETWEEN '_' AND '_z'
1218
- HAVING meta_key NOT LIKE %s
1219
- ORDER BY meta_key
1220
- LIMIT %d";
1221
- $fields = $wpdb->get_col( $wpdb->prepare( $sql, $wpdb->esc_like( '_' ) . '%', $limit ) );
1222
-
1223
- if ( is_array( $fields ) ) {
1224
- return array_map( [ $this, 'add_custom_field_prefix' ], $fields );
1225
- }
1226
-
1227
- return [];
1228
- }
1229
-
1230
- /**
1231
- * Adds the cf_ prefix to a field.
1232
- *
1233
- * @param string $field The field to prefix.
1234
- *
1235
- * @return string The prefixed field.
1236
- */
1237
- private function add_custom_field_prefix( $field ) {
1238
- return 'cf_' . $field;
1239
- }
1240
-
1241
- /**
1242
- * Gets the names of the custom taxonomies, prepends 'ct_' and 'ct_desc', and returns them in an array.
1243
- *
1244
- * @return array The custom taxonomy prefixed names.
1245
- */
1246
- private function get_custom_taxonomies() {
1247
- $args = [
1248
- 'public' => true,
1249
- '_builtin' => false,
1250
- ];
1251
- $output = 'names';
1252
- $operator = 'and';
1253
- $custom_taxonomies = get_taxonomies( $args, $output, $operator );
1254
-
1255
- if ( is_array( $custom_taxonomies ) ) {
1256
- $ct_replace_vars = [];
1257
- foreach ( $custom_taxonomies as $custom_taxonomy ) {
1258
- array_push( $ct_replace_vars, 'ct_' . $custom_taxonomy, 'ct_desc_' . $custom_taxonomy );
1259
- }
1260
- return $ct_replace_vars;
1261
- }
1262
-
1263
- return [];
1264
- }
1265
-
1266
  /**
1267
  * Set/translate the help texts for the WPSEO standard basic variables.
1268
  */
@@ -1292,6 +1222,7 @@ class WPSEO_Replace_Vars {
1292
  new WPSEO_Replacement_Variable( 'term_description', __( 'Term description', 'wordpress-seo' ), __( 'Replaced with the term description', 'wordpress-seo' ) ),
1293
  new WPSEO_Replacement_Variable( 'term_title', __( 'Term title', 'wordpress-seo' ), __( 'Replaced with the term name', 'wordpress-seo' ) ),
1294
  new WPSEO_Replacement_Variable( 'searchphrase', __( 'Search phrase', 'wordpress-seo' ), __( 'Replaced with the current search phrase', 'wordpress-seo' ) ),
 
1295
  new WPSEO_Replacement_Variable( 'sep', __( 'Separator', 'wordpress-seo' ), $separator_description ),
1296
  ];
1297
 
@@ -1395,4 +1326,48 @@ class WPSEO_Replace_Vars {
1395
  */
1396
  return apply_filters( 'wpseo_terms', $output, $taxonomy );
1397
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1398
  } /* End of class WPSEO_Replace_Vars */
1193
  ];
1194
  }
1195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1196
  /**
1197
  * Set/translate the help texts for the WPSEO standard basic variables.
1198
  */
1222
  new WPSEO_Replacement_Variable( 'term_description', __( 'Term description', 'wordpress-seo' ), __( 'Replaced with the term description', 'wordpress-seo' ) ),
1223
  new WPSEO_Replacement_Variable( 'term_title', __( 'Term title', 'wordpress-seo' ), __( 'Replaced with the term name', 'wordpress-seo' ) ),
1224
  new WPSEO_Replacement_Variable( 'searchphrase', __( 'Search phrase', 'wordpress-seo' ), __( 'Replaced with the current search phrase', 'wordpress-seo' ) ),
1225
+ new WPSEO_Replacement_Variable( 'term_hierarchy', __( 'Term hierarchy', 'wordpress-seo' ), __( 'Replaced with the term ancestors hierarchy', 'wordpress-seo' ) ),
1226
  new WPSEO_Replacement_Variable( 'sep', __( 'Separator', 'wordpress-seo' ), $separator_description ),
1227
  ];
1228
 
1326
  */
1327
  return apply_filters( 'wpseo_terms', $output, $taxonomy );
1328
  }
1329
+
1330
+ /**
1331
+ * Gets a taxonomy term hierarchy including the term to get the parents for.
1332
+ *
1333
+ * @return string
1334
+ */
1335
+ private function get_term_hierarchy() {
1336
+ if ( ! is_taxonomy_hierarchical( $this->args->taxonomy ) ) {
1337
+ return '';
1338
+ }
1339
+
1340
+ $separator = ' ' . $this->retrieve_sep() . ' ';
1341
+
1342
+ $args = [
1343
+ 'format' => 'name',
1344
+ 'separator' => $separator,
1345
+ 'link' => false,
1346
+ 'inclusive' => true,
1347
+ ];
1348
+
1349
+ return rtrim(
1350
+ get_term_parents_list( $this->args->term_id, $this->args->taxonomy, $args ),
1351
+ $separator
1352
+ );
1353
+ }
1354
+
1355
+ /**
1356
+ * Retrieves the term ancestors hierarchy.
1357
+ *
1358
+ * @return string|null The term ancestors hierarchy.
1359
+ */
1360
+ private function retrieve_term_hierarchy() {
1361
+ $replacement = null;
1362
+
1363
+ if ( ! isset( $replacement ) && isset( $this->args->term_id ) && ! empty( $this->args->taxonomy ) ) {
1364
+ $hierarchy = $this->get_term_hierarchy();
1365
+
1366
+ if ( $hierarchy !== '' ) {
1367
+ $replacement = esc_html( $hierarchy );
1368
+ }
1369
+ }
1370
+
1371
+ return $replacement;
1372
+ }
1373
  } /* End of class WPSEO_Replace_Vars */
inc/class-wpseo-utils.php CHANGED
@@ -902,7 +902,10 @@ class WPSEO_Utils {
902
  public static function is_development_mode() {
903
  $development_mode = false;
904
 
905
- if ( defined( 'WPSEO_DEBUG' ) ) {
 
 
 
906
  $development_mode = WPSEO_DEBUG;
907
  }
908
  elseif ( site_url() && strpos( site_url(), '.' ) === false ) {
@@ -1168,44 +1171,37 @@ SVG;
1168
  }
1169
 
1170
  /**
1171
- * Returns the home url with the following modifications:
1172
  *
 
1173
  * In case of a multisite setup we return the network_home_url.
1174
- * In case of no multisite setup we return the home_url while overriding the WPML filter.
1175
- *
1176
- * @codeCoverageIgnore
1177
  *
1178
  * @return string The home url.
1179
  */
1180
- public static function get_home_url() {
1181
- // Add a new filter to undo WPML's changing of home url.
1182
- add_filter( 'wpml_get_home_url', [ 'WPSEO_Utils', 'wpml_get_home_url' ], 10, 2 );
1183
-
1184
- $url = home_url();
1185
-
1186
- // If the plugin is network activated, use the network home URL.
1187
- if ( self::is_plugin_network_active() ) {
1188
- $url = network_home_url();
1189
- }
1190
-
1191
- remove_filter( 'wpml_get_home_url', [ 'WPSEO_Utils', 'wpml_get_home_url' ], 10 );
1192
-
1193
- return $url;
1194
- }
1195
 
1196
  /**
1197
- * Returns the original URL instead of the language-enriched URL.
1198
- * This method gets automatically triggered by the wpml_get_home_url filter.
1199
  *
1200
- * @codeCoverageIgnore
 
1201
  *
1202
- * @param string $home_url The url altered by WPML. Unused.
1203
- * @param string $url The url that isn't altered by WPML.
1204
  *
1205
- * @return string The original url.
1206
  */
1207
- public static function wpml_get_home_url( $home_url, $url ) {
1208
- return $url;
 
 
 
 
 
 
 
 
 
 
 
1209
  }
1210
 
1211
  /**
902
  public static function is_development_mode() {
903
  $development_mode = false;
904
 
905
+ if ( defined( 'YOAST_ENVIRONMENT' ) && YOAST_ENVIRONMENT === 'development' ) {
906
+ $development_mode = true;
907
+ }
908
+ elseif ( defined( 'WPSEO_DEBUG' ) ) {
909
  $development_mode = WPSEO_DEBUG;
910
  }
911
  elseif ( site_url() && strpos( site_url(), '.' ) === false ) {
1171
  }
1172
 
1173
  /**
1174
+ * Returns the unfiltered home URL.
1175
  *
1176
+ * In case WPML is installed, returns the original home_url and not the WPML version.
1177
  * In case of a multisite setup we return the network_home_url.
 
 
 
1178
  *
1179
  * @return string The home url.
1180
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1181
 
1182
  /**
1183
+ * Returns the unfiltered home URL.
 
1184
  *
1185
+ * In case WPML is installed, returns the original home_url and not the WPML version.
1186
+ * In case of a multisite setup we return the network_home_url.
1187
  *
1188
+ * @return string The home url.
 
1189
  *
1190
+ * @codeCoverageIgnore
1191
  */
1192
+ public static function get_home_url() {
1193
+
1194
+ /**
1195
+ * Action: 'wpseo_home_url' - Allows overriding of the home URL.
1196
+ */
1197
+ do_action( 'wpseo_home_url' );
1198
+
1199
+ // If the plugin is network-activated, use the network home URL.
1200
+ if ( WPSEO_Utils::is_plugin_network_active() ) {
1201
+ return network_home_url();
1202
+ }
1203
+
1204
+ return home_url();
1205
  }
1206
 
1207
  /**
inc/options/class-wpseo-option-ms.php CHANGED
@@ -83,16 +83,17 @@ class WPSEO_Option_MS extends WPSEO_Option {
83
  public function __construct() {
84
  $allow_prefix = self::ALLOW_KEY_PREFIX;
85
  $this->defaults = [
86
- 'access' => 'admin',
87
- 'defaultblog' => '', // Numeric blog ID or empty.
88
- "{$allow_prefix}disableadvanced_meta" => true,
89
- "{$allow_prefix}ryte_indexability" => true,
90
- "{$allow_prefix}content_analysis_active" => true,
91
- "{$allow_prefix}keyword_analysis_active" => true,
92
- "{$allow_prefix}enable_admin_bar_menu" => true,
93
- "{$allow_prefix}enable_cornerstone_content" => true,
94
- "{$allow_prefix}enable_xml_sitemap" => true,
95
- "{$allow_prefix}enable_text_link_counter" => true,
 
96
  ];
97
 
98
  if ( is_multisite() ) {
83
  public function __construct() {
84
  $allow_prefix = self::ALLOW_KEY_PREFIX;
85
  $this->defaults = [
86
+ 'access' => 'admin',
87
+ 'defaultblog' => '', // Numeric blog ID or empty.
88
+ "{$allow_prefix}disableadvanced_meta" => true,
89
+ "{$allow_prefix}ryte_indexability" => true,
90
+ "{$allow_prefix}content_analysis_active" => true,
91
+ "{$allow_prefix}keyword_analysis_active" => true,
92
+ "{$allow_prefix}enable_admin_bar_menu" => true,
93
+ "{$allow_prefix}enable_cornerstone_content" => true,
94
+ "{$allow_prefix}enable_xml_sitemap" => true,
95
+ "{$allow_prefix}enable_text_link_counter" => true,
96
+ "{$allow_prefix}enable_headless_rest_endpoints" => true,
97
  ];
98
 
99
  if ( is_multisite() ) {
inc/options/class-wpseo-option-titles.php CHANGED
@@ -27,8 +27,6 @@ class WPSEO_Option_Titles extends WPSEO_Option {
27
  * @var array
28
  */
29
  protected $defaults = [
30
- // Non-form fields, set via (ajax) function.
31
- 'title_test' => 0,
32
  // Form fields.
33
  'forcerewritetitle' => false,
34
  'separator' => 'sc-dash',
@@ -126,8 +124,6 @@ class WPSEO_Option_Titles extends WPSEO_Option {
126
  * @var array
127
  */
128
  public $ms_exclude = [
129
- /* Theme dependent. */
130
- 'title_test',
131
  'forcerewritetitle',
132
  ];
133
 
@@ -489,7 +485,6 @@ class WPSEO_Option_Titles extends WPSEO_Option {
489
  case 'company_or_person_user_id':
490
  case 'company_logo_id':
491
  case 'person_logo_id':
492
- case 'title_test': /* Integer field - not in form. */
493
  if ( isset( $dirty[ $key ] ) ) {
494
  $int = WPSEO_Utils::validate_int( $dirty[ $key ] );
495
  if ( $int !== false && $int >= 0 ) {
27
  * @var array
28
  */
29
  protected $defaults = [
 
 
30
  // Form fields.
31
  'forcerewritetitle' => false,
32
  'separator' => 'sc-dash',
124
  * @var array
125
  */
126
  public $ms_exclude = [
 
 
127
  'forcerewritetitle',
128
  ];
129
 
485
  case 'company_or_person_user_id':
486
  case 'company_logo_id':
487
  case 'person_logo_id':
 
488
  if ( isset( $dirty[ $key ] ) ) {
489
  $int = WPSEO_Utils::validate_int( $dirty[ $key ] );
490
  if ( $int !== false && $int >= 0 ) {
inc/options/class-wpseo-option-wpseo.php CHANGED
@@ -27,11 +27,13 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
27
  protected $defaults = [
28
  // Non-form fields, set via (ajax) function.
29
  'ms_defaults_set' => false,
 
30
  // Non-form field, should only be set via validation routine.
31
  'version' => '', // Leave default as empty to ensure activation/upgrade works.
32
 
33
  // Form fields.
34
  'disableadvanced_meta' => true,
 
35
  'ryte_indexability' => true,
36
  'baiduverify' => '', // Text field.
37
  'googleverify' => '', // Text field.
@@ -304,6 +306,7 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
304
  /*
305
  * Covers:
306
  * 'disableadvanced_meta'
 
307
  * 'yoast_tracking'
308
  */
309
  default:
@@ -329,14 +332,15 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
329
 
330
  // For the feature variables, set their values to off in case they are disabled.
331
  $feature_vars = [
332
- 'disableadvanced_meta' => false,
333
- 'ryte_indexability' => false,
334
- 'content_analysis_active' => false,
335
- 'keyword_analysis_active' => false,
336
- 'enable_admin_bar_menu' => false,
337
- 'enable_cornerstone_content' => false,
338
- 'enable_xml_sitemap' => false,
339
- 'enable_text_link_counter' => false,
 
340
  ];
341
 
342
  // We can reuse this logic from the base class with the above defaults to parse with the correct feature values.
27
  protected $defaults = [
28
  // Non-form fields, set via (ajax) function.
29
  'ms_defaults_set' => false,
30
+ 'ignore_indexation_warning' => false,
31
  // Non-form field, should only be set via validation routine.
32
  'version' => '', // Leave default as empty to ensure activation/upgrade works.
33
 
34
  // Form fields.
35
  'disableadvanced_meta' => true,
36
+ 'enable_headless_rest_endpoints' => true,
37
  'ryte_indexability' => true,
38
  'baiduverify' => '', // Text field.
39
  'googleverify' => '', // Text field.
306
  /*
307
  * Covers:
308
  * 'disableadvanced_meta'
309
+ * 'enable_headless_rest_endpoints'
310
  * 'yoast_tracking'
311
  */
312
  default:
332
 
333
  // For the feature variables, set their values to off in case they are disabled.
334
  $feature_vars = [
335
+ 'disableadvanced_meta' => false,
336
+ 'ryte_indexability' => false,
337
+ 'content_analysis_active' => false,
338
+ 'keyword_analysis_active' => false,
339
+ 'enable_admin_bar_menu' => false,
340
+ 'enable_cornerstone_content' => false,
341
+ 'enable_xml_sitemap' => false,
342
+ 'enable_text_link_counter' => false,
343
+ 'enable_headless_rest_endpoints' => false,
344
  ];
345
 
346
  // We can reuse this logic from the base class with the above defaults to parse with the correct feature values.
inc/sitemaps/class-sitemaps-renderer.php CHANGED
@@ -158,7 +158,6 @@ class WPSEO_Sitemaps_Renderer {
158
 
159
  $output .= $sitemap;
160
  $output .= "\n<!-- XML Sitemap generated by Yoast SEO -->";
161
- $output .= $this->get_debug( $transient );
162
 
163
  return $output;
164
  }
@@ -349,30 +348,4 @@ class WPSEO_Sitemaps_Renderer {
349
 
350
  return plugin_dir_url( WPSEO_FILE ) . 'css/main-sitemap.xsl';
351
  }
352
-
353
- /**
354
- * Adds debugging information to the output.
355
- *
356
- * @param bool $transient Transient cache was used or not.
357
- *
358
- * @return string Information about the functionality used to build the sitemap.
359
- */
360
- protected function get_debug( $transient ) {
361
- $debug = defined( 'YOAST_SEO_DEBUG_SITEMAPS' ) && YOAST_SEO_DEBUG_SITEMAPS === true;
362
- if ( ! $debug ) {
363
- return '';
364
- }
365
-
366
- $memory_used = number_format( ( memory_get_peak_usage() / 1048576 ), 2 );
367
- $queries_run = ( $transient ) ? 'Served from transient cache' : 'Queries executed ' . absint( $GLOBALS['wpdb']->num_queries );
368
-
369
- $output = "\n<!-- {$memory_used}MB | {$queries_run} -->";
370
-
371
- if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES ) {
372
- $queries = print_r( $GLOBALS['wpdb']->queries, true );
373
- $output .= "\n<!-- {$queries} -->";
374
- }
375
-
376
- return $output;
377
- }
378
  }
158
 
159
  $output .= $sitemap;
160
  $output .= "\n<!-- XML Sitemap generated by Yoast SEO -->";
 
161
 
162
  return $output;
163
  }
348
 
349
  return plugin_dir_url( WPSEO_FILE ) . 'css/main-sitemap.xsl';
350
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  }
inc/wpseo-functions-deprecated.php CHANGED
@@ -34,3 +34,15 @@ function wpseo_add_template_variables_helpcenter() {
34
 
35
  return '';
36
  }
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  return '';
36
  }
37
+
38
+ if ( ! function_exists( 'initialize_wpseo_front' ) ) {
39
+ /**
40
+ * Wraps frontend class.
41
+ *
42
+ * @deprecated 14.0
43
+ * @codeCoverageIgnore
44
+ */
45
+ function initialize_wpseo_front() {
46
+ _deprecated_function( __FUNCTION__, 'WPSEO 14.0' );
47
+ }
48
+ }
inc/wpseo-functions.php CHANGED
@@ -11,15 +11,6 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
11
  exit();
12
  }
13
 
14
- if ( ! function_exists( 'initialize_wpseo_front' ) ) {
15
- /**
16
- * Wraps frontend class.
17
- */
18
- function initialize_wpseo_front() {
19
- WPSEO_Frontend::get_instance();
20
- }
21
- }
22
-
23
  if ( ! function_exists( 'yoast_breadcrumb' ) ) {
24
  /**
25
  * Template tag for breadcrumbs.
@@ -195,13 +186,16 @@ add_filter( 'icl_wpml_config_array', 'wpseo_wpml_config' );
195
  * Yoast SEO breadcrumb shortcode.
196
  * [wpseo_breadcrumb]
197
  *
 
 
 
198
  * @return string
199
  */
200
  function wpseo_shortcode_yoast_breadcrumb() {
201
- return yoast_breadcrumb( '', '', false );
202
- }
203
 
204
- add_shortcode( 'wpseo_breadcrumb', 'wpseo_shortcode_yoast_breadcrumb' );
 
205
 
206
  if ( ! extension_loaded( 'ctype' ) || ! function_exists( 'ctype_digit' ) ) {
207
  /**
11
  exit();
12
  }
13
 
 
 
 
 
 
 
 
 
 
14
  if ( ! function_exists( 'yoast_breadcrumb' ) ) {
15
  /**
16
  * Template tag for breadcrumbs.
186
  * Yoast SEO breadcrumb shortcode.
187
  * [wpseo_breadcrumb]
188
  *
189
+ * @deprecated 14.0
190
+ * @codeCoverageIgnore
191
+ *
192
  * @return string
193
  */
194
  function wpseo_shortcode_yoast_breadcrumb() {
195
+ _deprecated_function( __FUNCTION__, 'WPSEO 14.0' );
 
196
 
197
+ return '';
198
+ }
199
 
200
  if ( ! extension_loaded( 'ctype' ) || ! function_exists( 'ctype_digit' ) ) {
201
  /**
js/dist/{analysis-1350.js → analysis-1400.js} RENAMED
File without changes
js/dist/{babel-polyfill-1350.js → babel-polyfill-1400.js} RENAMED
File without changes
js/dist/{commons-1350.js → commons-1400.js} RENAMED
File without changes
js/dist/{components-1350.js → components-1400.js} RENAMED
@@ -1,9 +1,9 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=387)}([function(e,t){e.exports=React},function(e,t){e.exports=window.yoast.styledComponents},function(e,t,n){e.exports=n(427)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgba=t.breakpoints=t.colors=void 0;var r=a(n(388)),o=a(n(389)),i=n(390);function a(e){return e&&e.__esModule?e:{default:e}}t.colors=r.default,t.breakpoints=o.default,t.rgba=i.rgba},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:H(e)}function r(e){return s(e)?e:V(e)}function o(e){return u(e)?e:G(e)}function i(e){return a(e)&&!l(e)?e:Y(e)}function a(e){return!(!e||!e[f])}function s(e){return!(!e||!e[d])}function u(e){return!(!e||!e[p])}function l(e){return s(e)||u(e)}function c(e){return!(!e||!e[h])}t(r,n),t(o,n),t(i,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=l,n.isOrdered=c,n.Keyed=r,n.Indexed=o,n.Set=i;var f="@@__IMMUTABLE_ITERABLE__@@",d="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",h="@@__IMMUTABLE_ORDERED__@@",g=5,y=1<<g,m=y-1,v={},b={value:!1},_={value:!1};function x(e){return e.value=!1,e}function w(e){e&&(e.value=!0)}function S(){}function C(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),o=0;o<n;o++)r[o]=e[o+t];return r}function k(e){return void 0===e.size&&(e.size=e.__iterate(E)),e.size}function O(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?k(e)+t:t}function E(){return!0}function T(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function M(e,t){return j(e,t,0)}function P(e,t){return j(e,t,t)}function j(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var A=0,I=1,R=2,D="function"==typeof Symbol&&Symbol.iterator,N="@@iterator",B=D||N;function L(e){this.next=e}function F(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function z(){return{value:void 0,done:!0}}function q(e){return!!U(e)}function K(e){return e&&"function"==typeof e.next}function W(e){var t=U(e);return t&&t.call(e)}function U(e){var t=e&&(D&&e[D]||e[N]);if("function"==typeof t)return t}function $(e){return e&&"number"==typeof e.length}function H(e){return null===e||void 0===e?ie():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function V(e){return null===e||void 0===e?ie().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function G(e){return null===e||void 0===e?ie():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function Y(e){return(null===e||void 0===e?ie():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}L.prototype.toString=function(){return"[Iterator]"},L.KEYS=A,L.VALUES=I,L.ENTRIES=R,L.prototype.inspect=L.prototype.toSource=function(){return this.toString()},L.prototype[B]=function(){return this},t(H,n),H.of=function(){return H(arguments)},H.prototype.toSeq=function(){return this},H.prototype.toString=function(){return this.__toString("Seq {","}")},H.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},H.prototype.__iterate=function(e,t){return le(this,e,t,!0)},H.prototype.__iterator=function(e,t){return ce(this,e,t,!0)},t(V,H),V.prototype.toKeyedSeq=function(){return this},t(G,H),G.of=function(){return G(arguments)},G.prototype.toIndexedSeq=function(){return this},G.prototype.toString=function(){return this.__toString("Seq [","]")},G.prototype.__iterate=function(e,t){return le(this,e,t,!1)},G.prototype.__iterator=function(e,t){return ce(this,e,t,!1)},t(Y,H),Y.of=function(){return Y(arguments)},Y.prototype.toSetSeq=function(){return this},H.isSeq=oe,H.Keyed=V,H.Set=Y,H.Indexed=G;var X,J,Z,Q="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function oe(e){return!(!e||!e[Q])}function ie(){return X||(X=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():K(e)?new re(e).fromEntrySeq():q(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return $(e)?new ee(e):K(e)?new re(e):q(e)?new ne(e):void 0}function le(e,t,n,r){var o=e._cache;if(o){for(var i=o.length-1,a=0;a<=i;a++){var s=o[n?i-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function ce(e,t,n,r){var o=e._cache;if(o){var i=o.length-1,a=0;return new L(function(){var e=o[n?i-a:a];return a++>i?{value:void 0,done:!0}:F(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function fe(e,t){return t?function e(t,n,r,o){return Array.isArray(n)?t.call(o,r,G(n).map(function(r,o){return e(t,r,o,n)})):pe(n)?t.call(o,r,V(n).map(function(r,o){return e(t,r,o,n)})):n}(t,e,"",{"":e}):de(e)}function de(e){return Array.isArray(e)?G(e).map(de).toList():pe(e)?V(e).map(de).toMap():e}function pe(e){return e&&(e.constructor===Object||void 0===e.constructor)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function ge(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||c(e)!==c(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!l(e);if(c(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&he(o[1],e)&&(n||he(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var i=e;e=t,t=i}var f=!0,d=t.__iterate(function(t,r){if(n?!e.has(t):o?!he(t,e.get(r,v)):!he(e.get(r,v),t))return f=!1,!1});return f&&e.size===d}function ye(e,t){if(!(this instanceof ye))return new ye(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(J)return J;J=this}}function me(e,t){if(!e)throw new Error(t)}function ve(e,t,n){if(!(this instanceof ve))return new ve(e,t,n);if(me(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(Z)return Z;Z=this}}function be(){throw TypeError("Abstract")}function _e(){}function xe(){}function we(){}H.prototype[Q]=!0,t(ee,G),ee.prototype.get=function(e,t){return this.has(e)?this._array[O(this,e)]:t},ee.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,o=0;o<=r;o++)if(!1===e(n[t?r-o:o],o,this))return o+1;return o},ee.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,o=0;return new L(function(){return o>r?{value:void 0,done:!0}:F(e,o,n[t?r-o++:o++])})},t(te,V),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,i=0;i<=o;i++){var a=r[t?o-i:i];if(!1===e(n[a],a,this))return i+1}return i},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,i=0;return new L(function(){var a=r[t?o-i:i];return i++>o?{value:void 0,done:!0}:F(e,a,n[a])})},te.prototype[h]=!0,t(ne,G),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=W(n),o=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,o++,this););return o},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=W(n);if(!K(r))return new L(z);var o=0;return new L(function(){var t=r.next();return t.done?t:F(e,o++,t.value)})},t(re,G),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,o=this._iteratorCache,i=0;i<o.length;)if(!1===e(o[i],i++,this))return i;for(;!(n=r.next()).done;){var a=n.value;if(o[i]=a,!1===e(a,i++,this))break}return i},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,o=0;return new L(function(){if(o>=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return F(e,o,r[o++])})},t(ye,G),ye.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ye.prototype.get=function(e,t){return this.has(e)?this._value:t},ye.prototype.includes=function(e){return he(this._value,e)},ye.prototype.slice=function(e,t){var n=this.size;return T(e,t,n)?this:new ye(this._value,P(t,n)-M(e,n))},ye.prototype.reverse=function(){return this},ye.prototype.indexOf=function(e){return he(this._value,e)?0:-1},ye.prototype.lastIndexOf=function(e){return he(this._value,e)?this.size:-1},ye.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ye.prototype.__iterator=function(e,t){var n=this,r=0;return new L(function(){return r<n.size?F(e,r++,n._value):{value:void 0,done:!0}})},ye.prototype.equals=function(e){return e instanceof ye?he(this._value,e._value):ge(e)},t(ve,G),ve.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(this._step>1?" by "+this._step:"")+" ]"},ve.prototype.get=function(e,t){return this.has(e)?this._start+O(this,e)*this._step:t},ve.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},ve.prototype.slice=function(e,t){return T(e,t,this.size)?this:(e=M(e,this.size),(t=P(t,this.size))<=e?new ve(0,0):new ve(this.get(e,this._end),this.get(t,this._end),this._step))},ve.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},ve.prototype.lastIndexOf=function(e){return this.indexOf(e)},ve.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;i<=n;i++){if(!1===e(o,i,this))return i+1;o+=t?-r:r}return i},ve.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;return new L(function(){var a=o;return o+=t?-r:r,i>n?{value:void 0,done:!0}:F(e,i++,a)})},ve.prototype.equals=function(e){return e instanceof ve?this._start===e._start&&this._end===e._end&&this._step===e._step:ge(this,e)},t(be,n),t(_e,be),t(xe,be),t(we,be),be.Keyed=_e,be.Indexed=xe,be.Set=we;var Se="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function Ce(e){return e>>>1&1073741824|3221225471&e}function ke(e){if(!1===e||null===e||void 0===e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return Ce(n)}if("string"===t)return e.length>Ie?function(e){var t=Ne[e];return void 0===t&&(t=Oe(e),De===Re&&(De=0,Ne={}),De++,Ne[e]=t),t}(e):Oe(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(Pe&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!Me){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++je,1073741824&je&&(je=0),Pe)Ee.set(e,t);else{if(void 0!==Te&&!1===Te(e))throw new Error("Non-extensible objects are not allowed as keys.");if(Me)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(e);if("function"==typeof e.toString)return Oe(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function Oe(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Ce(t)}var Ee,Te=Object.isExtensible,Me=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),Pe="function"==typeof WeakMap;Pe&&(Ee=new WeakMap);var je=0,Ae="__immutablehash__";"function"==typeof Symbol&&(Ae=Symbol(Ae));var Ie=16,Re=255,De=0,Ne={};function Be(e){me(e!==1/0,"Cannot perform this action with an infinite size.")}function Le(e){return null===e||void 0===e?Ze():Fe(e)&&!c(e)?e:Ze().withMutations(function(t){var n=r(e);Be(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Fe(e){return!(!e||!e[qe])}t(Le,_e),Le.prototype.toString=function(){return this.__toString("Map {","}")},Le.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Le.prototype.set=function(e,t){return Qe(this,e,t)},Le.prototype.setIn=function(e,t){return this.updateIn(e,v,function(){return t})},Le.prototype.remove=function(e){return Qe(this,e,v)},Le.prototype.deleteIn=function(e){return this.updateIn(e,function(){return v})},Le.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Le.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,o){var i=t===v,a=n.next();if(a.done){var s=i?r:t,u=o(s);return u===s?t:u}me(i||t&&t.set,"invalid keyPath");var l=a.value,c=i?v:t.get(l,v),f=e(c,n,r,o);return f===c?t:f===v?t.remove(l):(i?Ze():t).set(l,f)}(this,nn(e),t,n);return r===v?void 0:r},Le.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Ze()},Le.prototype.merge=function(){return rt(this,void 0,arguments)},Le.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Le.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Ze(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Le.prototype.mergeDeep=function(){return rt(this,ot,arguments)},Le.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,it(t),n)},Le.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Ze(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Le.prototype.sort=function(e){return Mt($t(this,e))},Le.prototype.sortBy=function(e,t){return Mt($t(this,t,e))},Le.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Le.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new S)},Le.prototype.asImmutable=function(){return this.__ensureOwner()},Le.prototype.wasAltered=function(){return this.__altered},Le.prototype.__iterator=function(e,t){return new Ge(this,e,t)},Le.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Le.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Je(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Le.isMap=Fe;var ze,qe="@@__IMMUTABLE_MAP__@@",Ke=Le.prototype;function We(e,t){this.ownerID=e,this.entries=t}function Ue(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function $e(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function He(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function Ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function Ge(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Xe(e._root)}function Ye(e,t){return F(e,t[0],t[1])}function Xe(e,t){return{node:e,index:0,__prev:t}}function Je(e,t,n,r){var o=Object.create(Ke);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Ze(){return ze||(ze=Je(0))}function Qe(e,t,n){var r,o;if(e._root){var i=x(b),a=x(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,i,a),!a.value)return e;o=e.size+(i.value?n===v?-1:1:0)}else{if(n===v)return e;o=1,r=new We(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Je(o,r):Ze()}function et(e,t,n,r,o,i,a,s){return e?e.update(t,n,r,o,i,a,s):i===v?e:(w(s),w(a),new Ve(t,r,[o,i]))}function tt(e){return e.constructor===Ve||e.constructor===He}function nt(e,t,n,r,o){if(e.keyHash===r)return new He(t,r,[e.entry,o]);var i,a=(0===n?e.keyHash:e.keyHash>>>n)&m,s=(0===n?r:r>>>n)&m,u=a===s?[nt(e,t,n+g,r,o)]:(i=new Ve(t,r,o),a<s?[e,i]:[i,e]);return new Ue(t,1<<a|1<<s,u)}function rt(e,t,n){for(var o=[],i=0;i<n.length;i++){var s=n[i],u=r(s);a(s)||(u=u.map(function(e){return fe(e)})),o.push(u)}return at(e,t,o)}function ot(e,t,n){return e&&e.mergeDeep&&a(t)?e.mergeDeep(t):he(e,t)?e:t}function it(e){return function(t,n,r){if(t&&t.mergeDeepWith&&a(n))return t.mergeDeepWith(e,n);var o=e(t,n,r);return he(t,o)?t:o}}function at(e,t,n){return 0===(n=n.filter(function(e){return 0!==e.size})).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,v,function(e){return e===v?n:t(e,n,r)})}:function(t,n){e.set(n,t)},o=0;o<n.length;o++)n[o].forEach(r)}):e.constructor(n[0])}function st(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var o=r?e:C(e);return o[t]=n,o}Ke[qe]=!0,Ke.delete=Ke.remove,Ke.removeIn=Ke.deleteIn,We.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(he(n,o[i][0]))return o[i][1];return r},We.prototype.update=function(e,t,n,r,o,i,a){for(var s=o===v,u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===o:s)return this;if(w(a),(s||!f)&&w(i),!s||1!==u.length){if(!f&&!s&&u.length>=lt)return function(e,t,n,r){e||(e=new S);for(var o=new Ve(e,ke(n),[n,r]),i=0;i<t.length;i++){var a=t[i];o=o.update(e,0,void 0,a[0],a[1])}return o}(e,u,r,o);var d=e&&e===this.ownerID,p=d?u:C(u);return f?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,o]:p.push([r,o]),d?(this.entries=p,this):new We(e,p)}},Ue.prototype.get=function(e,t,n,r){void 0===t&&(t=ke(n));var o=1<<((0===e?t:t>>>e)&m),i=this.bitmap;return 0==(i&o)?r:this.nodes[st(i&o-1)].get(e+g,t,n,r)},Ue.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=(0===t?n:n>>>t)&m,u=1<<s,l=this.bitmap,c=0!=(l&u);if(!c&&o===v)return this;var f=st(l&u-1),d=this.nodes,p=c?d[f]:void 0,h=et(p,e,t+g,n,r,o,i,a);if(h===p)return this;if(!c&&h&&d.length>=ct)return function(e,t,n,r,o){for(var i=0,a=new Array(y),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[i++]:void 0;return a[r]=o,new $e(e,i+1,a)}(e,d,l,s,h);if(c&&!h&&2===d.length&&tt(d[1^f]))return d[1^f];if(c&&h&&1===d.length&&tt(h))return h;var b=e&&e===this.ownerID,_=c?h?l:l^u:l|u,x=c?h?ut(d,f,h,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var o=new Array(r),i=0,a=0;a<r;a++)a===t&&(i=1),o[a]=e[a+i];return o}(d,f,b):function(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var i=new Array(o),a=0,s=0;s<o;s++)s===t?(i[s]=n,a=-1):i[s]=e[s+a];return i}(d,f,h,b);return b?(this.bitmap=_,this.nodes=x,this):new Ue(e,_,x)},$e.prototype.get=function(e,t,n,r){void 0===t&&(t=ke(n));var o=(0===e?t:t>>>e)&m,i=this.nodes[o];return i?i.get(e+g,t,n,r):r},$e.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=(0===t?n:n>>>t)&m,u=o===v,l=this.nodes,c=l[s];if(u&&!c)return this;var f=et(c,e,t+g,n,r,o,i,a);if(f===c)return this;var d=this.count;if(c){if(!f&&--d<ft)return function(e,t,n,r){for(var o=0,i=0,a=new Array(n),s=0,u=1,l=t.length;s<l;s++,u<<=1){var c=t[s];void 0!==c&&s!==r&&(o|=u,a[i++]=c)}return new Ue(e,o,a)}(e,l,d,s)}else d++;var p=e&&e===this.ownerID,h=ut(l,s,f,p);return p?(this.count=d,this.nodes=h,this):new $e(e,d,h)},He.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(he(n,o[i][0]))return o[i][1];return r},He.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=o===v;if(n!==this.keyHash)return s?this:(w(a),w(i),nt(this,e,t,n,[r,o]));for(var u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===o:s)return this;if(w(a),(s||!f)&&w(i),s&&2===c)return new Ve(e,this.keyHash,u[1^l]);var d=e&&e===this.ownerID,p=d?u:C(u);return f?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,o]:p.push([r,o]),d?(this.entries=p,this):new He(e,this.keyHash,p)},Ve.prototype.get=function(e,t,n,r){return he(n,this.entry[0])?this.entry[1]:r},Ve.prototype.update=function(e,t,n,r,o,i,a){var s=o===v,u=he(r,this.entry[0]);return(u?o===this.entry[1]:s)?this:(w(a),s?void w(i):u?e&&e===this.ownerID?(this.entry[1]=o,this):new Ve(e,this.keyHash,[r,o]):(w(i),nt(this,e,t,ke(r),[r,o])))},We.prototype.iterate=He.prototype.iterate=function(e,t){for(var n=this.entries,r=0,o=n.length-1;r<=o;r++)if(!1===e(n[t?o-r:r]))return!1},Ue.prototype.iterate=$e.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,o=n.length-1;r<=o;r++){var i=n[t?o-r:r];if(i&&!1===i.iterate(e,t))return!1}},Ve.prototype.iterate=function(e,t){return e(this.entry)},t(Ge,L),Ge.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,o=t.index++;if(r.entry){if(0===o)return Ye(e,r.entry)}else if(r.entries){if(n=r.entries.length-1,o<=n)return Ye(e,r.entries[this._reverse?n-o:o])}else if(n=r.nodes.length-1,o<=n){var i=r.nodes[this._reverse?n-o:o];if(i){if(i.entry)return Ye(e,i.entry);t=this._stack=Xe(i,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var lt=y/4,ct=y/2,ft=y/4;function dt(e){var t=wt();if(null===e||void 0===e)return t;if(pt(e))return e;var n=o(e),r=n.size;return 0===r?t:(Be(r),r>0&&r<y?xt(0,r,g,null,new yt(n.toArray())):t.withMutations(function(e){e.setSize(r),n.forEach(function(t,n){return e.set(n,t)})}))}function pt(e){return!(!e||!e[ht])}t(dt,xe),dt.of=function(){return this(arguments)},dt.prototype.toString=function(){return this.__toString("List [","]")},dt.prototype.get=function(e,t){if((e=O(this,e))>=0&&e<this.size){var n=kt(this,e+=this._origin);return n&&n.array[e&m]}return t},dt.prototype.set=function(e,t){return function(e,t,n){if((t=O(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?Ot(e,t).set(0,n):Ot(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,i=x(_);return t>=Tt(e._capacity)?r=St(r,e.__ownerID,0,t,n,i):o=St(o,e.__ownerID,e._level,t,n,i),i.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):xt(e._origin,e._capacity,e._level,o,r):e}(this,e,t)},dt.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},dt.prototype.insert=function(e,t){return this.splice(e,0,t)},dt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=g,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):wt()},dt.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){Ot(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},dt.prototype.pop=function(){return Ot(this,0,-1)},dt.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){Ot(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},dt.prototype.shift=function(){return Ot(this,1)},dt.prototype.merge=function(){return Et(this,void 0,arguments)},dt.prototype.mergeWith=function(t){var n=e.call(arguments,1);return Et(this,t,n)},dt.prototype.mergeDeep=function(){return Et(this,ot,arguments)},dt.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Et(this,it(t),n)},dt.prototype.setSize=function(e){return Ot(this,0,e)},dt.prototype.slice=function(e,t){var n=this.size;return T(e,t,n)?this:Ot(this,M(e,n),P(t,n))},dt.prototype.__iterator=function(e,t){var n=0,r=_t(this,t);return new L(function(){var t=r();return t===bt?{value:void 0,done:!0}:F(e,n++,t)})},dt.prototype.__iterate=function(e,t){for(var n,r=0,o=_t(this,t);(n=o())!==bt&&!1!==e(n,r++,this););return r},dt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?xt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},dt.isList=pt;var ht="@@__IMMUTABLE_LIST__@@",gt=dt.prototype;function yt(e,t){this.array=e,this.ownerID=t}gt[ht]=!0,gt.delete=gt.remove,gt.setIn=Ke.setIn,gt.deleteIn=gt.removeIn=Ke.removeIn,gt.update=Ke.update,gt.updateIn=Ke.updateIn,gt.mergeIn=Ke.mergeIn,gt.mergeDeepIn=Ke.mergeDeepIn,gt.withMutations=Ke.withMutations,gt.asMutable=Ke.asMutable,gt.asImmutable=Ke.asImmutable,gt.wasAltered=Ke.wasAltered,yt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&m;if(r>=this.array.length)return new yt([],e);var o,i=0===r;if(t>0){var a=this.array[r];if((o=a&&a.removeBefore(e,t-g,n))===a&&i)return this}if(i&&!o)return this;var s=Ct(this,e);if(!i)for(var u=0;u<r;u++)s.array[u]=void 0;return o&&(s.array[r]=o),s},yt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,o=n-1>>>t&m;if(o>=this.array.length)return this;if(t>0){var i=this.array[o];if((r=i&&i.removeAfter(e,t-g,n))===i&&o===this.array.length-1)return this}var a=Ct(this,e);return a.array.splice(o+1),r&&(a.array[o]=r),a};var mt,vt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,o=Tt(r),i=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===o?i&&i.array:e&&e.array,u=a>n?0:n-a,l=r-a;return l>y&&(l=y),function(){if(u===l)return bt;var e=t?--l:u++;return s&&s[e]}}(e,u):function(e,o,i){var s,u=e&&e.array,l=i>n?0:n-i>>o,c=1+(r-i>>o);return c>y&&(c=y),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(l===c)return bt;var n=t?--c:l++;s=a(u&&u[n],o-g,i+(n<<o))}}}(e,s,u)}}function xt(e,t,n,r,o,i,a){var s=Object.create(gt);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=o,s.__ownerID=i,s.__hash=a,s.__altered=!1,s}function wt(){return mt||(mt=xt(0,0,g))}function St(e,t,n,r,o,i){var a,s=r>>>n&m,u=e&&s<e.array.length;if(!u&&void 0===o)return e;if(n>0){var l=e&&e.array[s],c=St(l,t,n-g,r,o,i);return c===l?e:((a=Ct(e,t)).array[s]=c,a)}return u&&e.array[s]===o?e:(w(i),a=Ct(e,t),void 0===o&&s===a.array.length-1?a.array.pop():a.array[s]=o,a)}function Ct(e,t){return t&&e&&t===e.ownerID?e:new yt(e?e.array.slice():[],t)}function kt(e,t){if(t>=Tt(e._capacity))return e._tail;if(t<1<<e._level+g){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&m],r-=g;return n}}function Ot(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new S,o=e._origin,i=e._capacity,a=o+t,s=void 0===n?i:n<0?i+n:o+n;if(a===o&&s===i)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new yt(l&&l.array.length?[void 0,l]:[],r),c+=1<<(u+=g);c&&(a+=c,o+=c,s+=c,i+=c);for(var f=Tt(i),d=Tt(s);d>=1<<u+g;)l=new yt(l&&l.array.length?[l]:[],r),u+=g;var p=e._tail,h=d<f?kt(e,s-1):d>f?new yt([],r):p;if(p&&d>f&&a<i&&p.array.length){for(var y=l=Ct(l,r),v=u;v>g;v-=g){var b=f>>>v&m;y=y.array[b]=Ct(y.array[b],r)}y.array[f>>>g&m]=p}if(s<i&&(h=h&&h.removeAfter(r,0,s)),a>=d)a-=d,s-=d,u=g,l=null,h=h&&h.removeBefore(r,0,a);else if(a>o||d<f){for(c=0;l;){var _=a>>>u&m;if(_!==d>>>u&m)break;_&&(c+=(1<<u)*_),u-=g,l=l.array[_]}l&&a>o&&(l=l.removeBefore(r,u,a-c)),l&&d<f&&(l=l.removeAfter(r,u,d-c)),c&&(a-=c,s-=c)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=l,e._tail=h,e.__hash=void 0,e.__altered=!0,e):xt(a,s,u,l,h)}function Et(e,t,n){for(var r=[],i=0,s=0;s<n.length;s++){var u=n[s],l=o(u);l.size>i&&(i=l.size),a(u)||(l=l.map(function(e){return fe(e)})),r.push(l)}return i>e.size&&(e=e.setSize(i)),at(e,t,r)}function Tt(e){return e<y?0:e-1>>>g<<g}function Mt(e){return null===e||void 0===e?At():Pt(e)?e:At().withMutations(function(t){var n=r(e);Be(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Pt(e){return Fe(e)&&c(e)}function jt(e,t,n,r){var o=Object.create(Mt.prototype);return o.size=e?e.size:0,o._map=e,o._list=t,o.__ownerID=n,o.__hash=r,o}function At(){return vt||(vt=jt(Ze(),wt()))}function It(e,t,n){var r,o,i=e._map,a=e._list,s=i.get(t),u=void 0!==s;if(n===v){if(!u)return e;a.size>=y&&a.size>=2*i.size?(o=a.filter(function(e,t){return void 0!==e&&s!==t}),r=o.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=i.remove(t),o=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=i,o=a.set(s,[t,n])}else r=i.set(t,a.size),o=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):jt(r,o)}function Rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Dt(e){this._iter=e,this.size=e.size}function Nt(e){this._iter=e,this.size=e.size}function Bt(e){this._iter=e,this.size=e.size}function Lt(e){var t=Qt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=en,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===R){var r=e.__iterator(t,n);return new L(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===I?A:I,n)},t}function Ft(e,t,n){var r=Qt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var i=e.get(r,v);return i===v?o:t.call(n,i,r,e)},r.__iterateUncached=function(r,o){var i=this;return e.__iterate(function(e,o,a){return!1!==r(t.call(n,e,o,a),o,i)},o)},r.__iteratorUncached=function(r,o){var i=e.__iterator(R,o);return new L(function(){var o=i.next();if(o.done)return o;var a=o.value,s=a[0];return F(r,s,t.call(n,a[1],s,e),o)})},r}function zt(e,t){var n=Qt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Lt(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=en,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function qt(e,t,n,r){var o=Qt(e);return r&&(o.has=function(r){var o=e.get(r,v);return o!==v&&!!t.call(n,o,r,e)},o.get=function(r,o){var i=e.get(r,v);return i!==v&&t.call(n,i,r,e)?i:o}),o.__iterateUncached=function(o,i){var a=this,s=0;return e.__iterate(function(e,i,u){if(t.call(n,e,i,u))return s++,o(e,r?i:s-1,a)},i),s},o.__iteratorUncached=function(o,i){var a=e.__iterator(R,i),s=0;return new L(function(){for(;;){var i=a.next();if(i.done)return i;var u=i.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return F(o,r?l:s++,c,i)}})},o}function Kt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n|=0),T(t,n,o))return e;var i=M(t,o),a=P(n,o);if(i!=i||a!=a)return Kt(e.toSeq().cacheResult(),t,n,r);var s,u=a-i;u==u&&(s=u<0?0:u);var l=Qt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&oe(e)&&s>=0&&(l.get=function(t,n){return(t=O(this,t))>=0&&t<s?e.get(t+i,n):n}),l.__iterateUncached=function(t,n){var o=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,l=0;return e.__iterate(function(e,n){if(!u||!(u=a++<i))return l++,!1!==t(e,r?n:l-1,o)&&l!==s}),l},l.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var o=0!==s&&e.__iterator(t,n),a=0,u=0;return new L(function(){for(;a++<i;)o.next();if(++u>s)return{value:void 0,done:!0};var e=o.next();return r||t===I?e:F(t,u-1,t===A?void 0:e.value[1],e)})},l}function Wt(e,t,n,r){var o=Qt(e);return o.__iterateUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterate(o,i);var s=!0,u=0;return e.__iterate(function(e,i,l){if(!s||!(s=t.call(n,e,i,l)))return u++,o(e,r?i:u-1,a)}),u},o.__iteratorUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterator(o,i);var s=e.__iterator(R,i),u=!0,l=0;return new L(function(){var e,i,c;do{if((e=s.next()).done)return r||o===I?e:F(o,l++,o===A?void 0:e.value[1],e);var f=e.value;i=f[0],c=f[1],u&&(u=t.call(n,c,i,a))}while(u);return o===R?e:F(o,i,c,e)})},o}function Ut(e,t,n){var r=Qt(e);return r.__iterateUncached=function(r,o){var i=0,s=!1;return function e(u,l){var c=this;u.__iterate(function(o,u){return(!t||l<t)&&a(o)?e(o,l+1):!1===r(o,n?u:i++,c)&&(s=!0),!s},o)}(e,0),i},r.__iteratorUncached=function(r,o){var i=e.__iterator(r,o),s=[],u=0;return new L(function(){for(;i;){var e=i.next();if(!1===e.done){var l=e.value;if(r===R&&(l=l[1]),t&&!(s.length<t)||!a(l))return n?e:F(r,u++,l,e);s.push(i),i=l.__iterator(r,o)}else i=s.pop()}return{value:void 0,done:!0}})},r}function $t(e,t,n){t||(t=tn);var r=s(e),o=0,i=e.toSeq().map(function(t,r){return[r,t,o++,n?n(t,r,e):t]}).toArray();return i.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){i[t].length=2}:function(e,t){i[t]=e[1]}),r?V(i):u(e)?G(i):Y(i)}function Ht(e,t,n){if(t||(t=tn),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return Vt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return Vt(t,e,n)?n:e})}function Vt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(void 0===n||null===n||n!=n)||r>0}function Gt(e,t,r){var o=Qt(e);return o.size=new ee(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(I,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var i=r.map(function(e){return e=n(e),W(o?e.reverse():e)}),a=0,s=!1;return new L(function(){var n;return s||(n=i.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:F(e,a++,t.apply(null,n.map(function(e){return e.value})))})},o}function Yt(e,t){return oe(e)?t:e.constructor(t)}function Xt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Jt(e){return Be(e.size),k(e)}function Zt(e){return s(e)?r:u(e)?o:i}function Qt(e){return Object.create((s(e)?V:u(e)?G:Y).prototype)}function en(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):H.prototype.cacheResult.call(this)}function tn(e,t){return e>t?1:e<t?-1:0}function nn(e){var t=W(e);if(!t){if(!$(e))throw new TypeError("Expected iterable or array-like: "+e);t=W(n(e))}return t}function rn(e,t){var n,r=function(i){if(i instanceof r)return i;if(!(this instanceof r))return new r(i);if(!n){n=!0;var a=Object.keys(e);!function(e,t){try{t.forEach(function(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){me(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}.bind(void 0,e))}catch(e){}}(o,a),o.size=a.length,o._name=t,o._keys=a,o._defaultValues=e}this._map=Le(i)},o=r.prototype=Object.create(on);return o.constructor=r,r}t(Mt,Le),Mt.of=function(){return this(arguments)},Mt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Mt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Mt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):At()},Mt.prototype.set=function(e,t){return It(this,e,t)},Mt.prototype.remove=function(e){return It(this,e,v)},Mt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Mt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Mt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Mt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?jt(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Mt.isOrderedMap=Pt,Mt.prototype[h]=!0,Mt.prototype.delete=Mt.prototype.remove,t(Rt,V),Rt.prototype.get=function(e,t){return this._iter.get(e,t)},Rt.prototype.has=function(e){return this._iter.has(e)},Rt.prototype.valueSeq=function(){return this._iter.valueSeq()},Rt.prototype.reverse=function(){var e=this,t=zt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},Rt.prototype.map=function(e,t){var n=this,r=Ft(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},Rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Jt(this):0,function(o){return e(o,t?--n:n++,r)}),t)},Rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(I,t),r=t?Jt(this):0;return new L(function(){var o=n.next();return o.done?o:F(e,t?--r:r++,o.value,o)})},Rt.prototype[h]=!0,t(Dt,G),Dt.prototype.includes=function(e){return this._iter.includes(e)},Dt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},Dt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t),r=0;return new L(function(){var t=n.next();return t.done?t:F(e,r++,t.value,t)})},t(Nt,Y),Nt.prototype.has=function(e){return this._iter.includes(e)},Nt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},Nt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t);return new L(function(){var t=n.next();return t.done?t:F(e,t.value,t.value,t)})},t(Bt,V),Bt.prototype.entrySeq=function(){return this._iter.toSeq()},Bt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){Xt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},Bt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t);return new L(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Xt(r);var o=a(r);return F(e,o?r.get(0):r[0],o?r.get(1):r[1],t)}}})},Dt.prototype.cacheResult=Rt.prototype.cacheResult=Nt.prototype.cacheResult=Bt.prototype.cacheResult=en,t(rn,_e),rn.prototype.toString=function(){return this.__toString(sn(this)+" {","}")},rn.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},rn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},rn.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=an(this,Ze()))},rn.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+sn(this));var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:an(this,n)},rn.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:an(this,t)},rn.prototype.wasAltered=function(){return this._map.wasAltered()},rn.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterator(e,t)},rn.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterate(e,t)},rn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?an(this,t,e):(this.__ownerID=e,this._map=t,this)};var on=rn.prototype;function an(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function sn(e){return e._name||e.constructor.name||"Record"}function un(e){return null===e||void 0===e?gn():ln(e)&&!c(e)?e:gn().withMutations(function(t){var n=i(e);Be(n.size),n.forEach(function(e){return t.add(e)})})}function ln(e){return!(!e||!e[fn])}on.delete=on.remove,on.deleteIn=on.removeIn=Ke.removeIn,on.merge=Ke.merge,on.mergeWith=Ke.mergeWith,on.mergeIn=Ke.mergeIn,on.mergeDeep=Ke.mergeDeep,on.mergeDeepWith=Ke.mergeDeepWith,on.mergeDeepIn=Ke.mergeDeepIn,on.setIn=Ke.setIn,on.update=Ke.update,on.updateIn=Ke.updateIn,on.withMutations=Ke.withMutations,on.asMutable=Ke.asMutable,on.asImmutable=Ke.asImmutable,t(un,we),un.of=function(){return this(arguments)},un.fromKeys=function(e){return this(r(e).keySeq())},un.prototype.toString=function(){return this.__toString("Set {","}")},un.prototype.has=function(e){return this._map.has(e)},un.prototype.add=function(e){return pn(this,this._map.set(e,!0))},un.prototype.remove=function(e){return pn(this,this._map.remove(e))},un.prototype.clear=function(){return pn(this,this._map.clear())},un.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)i(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},un.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.every(function(e){return e.includes(n)})||e.remove(n)})})},un.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.some(function(e){return e.includes(n)})&&e.remove(n)})})},un.prototype.merge=function(){return this.union.apply(this,arguments)},un.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},un.prototype.sort=function(e){return yn($t(this,e))},un.prototype.sortBy=function(e,t){return yn($t(this,t,e))},un.prototype.wasAltered=function(){return this._map.wasAltered()},un.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},un.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},un.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},un.isSet=ln;var cn,fn="@@__IMMUTABLE_SET__@@",dn=un.prototype;function pn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function hn(e,t){var n=Object.create(dn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function gn(){return cn||(cn=hn(Ze()))}function yn(e){return null===e||void 0===e?xn():mn(e)?e:xn().withMutations(function(t){var n=i(e);Be(n.size),n.forEach(function(e){return t.add(e)})})}function mn(e){return ln(e)&&c(e)}dn[fn]=!0,dn.delete=dn.remove,dn.mergeDeep=dn.merge,dn.mergeDeepWith=dn.mergeWith,dn.withMutations=Ke.withMutations,dn.asMutable=Ke.asMutable,dn.asImmutable=Ke.asImmutable,dn.__empty=gn,dn.__make=hn,t(yn,un),yn.of=function(){return this(arguments)},yn.fromKeys=function(e){return this(r(e).keySeq())},yn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},yn.isOrderedSet=mn;var vn,bn=yn.prototype;function _n(e,t){var n=Object.create(bn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function xn(){return vn||(vn=_n(At()))}function wn(e){return null===e||void 0===e?Tn():Sn(e)?e:Tn().unshiftAll(e)}function Sn(e){return!(!e||!e[kn])}bn[h]=!0,bn.__empty=xn,bn.__make=_n,t(wn,xe),wn.of=function(){return this(arguments)},wn.prototype.toString=function(){return this.__toString("Stack [","]")},wn.prototype.get=function(e,t){var n=this._head;for(e=O(this,e);n&&e--;)n=n.next;return n?n.value:t},wn.prototype.peek=function(){return this._head&&this._head.value},wn.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):En(e,t)},wn.prototype.pushAll=function(e){if(0===(e=o(e)).size)return this;Be(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):En(t,n)},wn.prototype.pop=function(){return this.slice(1)},wn.prototype.unshift=function(){return this.push.apply(this,arguments)},wn.prototype.unshiftAll=function(e){return this.pushAll(e)},wn.prototype.shift=function(){return this.pop.apply(this,arguments)},wn.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Tn()},wn.prototype.slice=function(e,t){if(T(e,t,this.size))return this;var n=M(e,this.size),r=P(t,this.size);if(r!==this.size)return xe.prototype.slice.call(this,e,t);for(var o=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=o,this._head=i,this.__hash=void 0,this.__altered=!0,this):En(o,i)},wn.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?En(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},wn.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},wn.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new L(function(){if(r){var t=r.value;return r=r.next,F(e,n++,t)}return{value:void 0,done:!0}})},wn.isStack=Sn;var Cn,kn="@@__IMMUTABLE_STACK__@@",On=wn.prototype;function En(e,t,n,r){var o=Object.create(On);return o.size=e,o._head=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Tn(){return Cn||(Cn=En(0))}function Mn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}On[kn]=!0,On.withMutations=Ke.withMutations,On.asMutable=Ke.asMutable,On.asImmutable=Ke.asImmutable,On.wasAltered=Ke.wasAltered,n.Iterator=L,Mn(n,{toArray:function(){Be(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Dt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new Rt(this,!0)},toMap:function(){return Le(this.toKeyedSeq())},toObject:function(){Be(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Mt(this.toKeyedSeq())},toOrderedSet:function(){return yn(s(this)?this.valueSeq():this)},toSet:function(){return un(s(this)?this.valueSeq():this)},toSetSeq:function(){return new Nt(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return wn(s(this)?this.valueSeq():this)},toList:function(){return dt(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return Yt(this,function(e,t){var n=s(e),o=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var i=o[0];if(i===e||n&&s(i)||u(e)&&u(i))return i}var l=new ee(o);return n?l=l.toKeyedSeq():u(e)||(l=l.toSetSeq()),(l=l.flatten(!0)).size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}(this,t))},includes:function(e){return this.some(function(t){return he(t,e)})},entries:function(){return this.__iterator(R)},every:function(e,t){Be(this.size);var n=!0;return this.__iterate(function(r,o,i){if(!e.call(t,r,o,i))return n=!1,!1}),n},filter:function(e,t){return Yt(this,qt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},findEntry:function(e,t){var n;return this.__iterate(function(r,o,i){if(e.call(t,r,o,i))return n=[o,r],!1}),n},findLastEntry:function(e,t){return this.toSeq().reverse().findEntry(e,t)},forEach:function(e,t){return Be(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Be(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():""}),t},keys:function(){return this.__iterator(A)},map:function(e,t){return Yt(this,Ft(this,e,t))},reduce:function(e,t,n){var r,o;return Be(this.size),arguments.length<2?o=!0:r=t,this.__iterate(function(t,i,a){o?(o=!1,r=t):r=e.call(n,r,t,i,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Yt(this,zt(this,!0))},slice:function(e,t){return Yt(this,Kt(this,e,t,!0))},some:function(e,t){return!this.every(Rn(e),t)},sort:function(e){return Yt(this,$t(this,e))},values:function(){return this.__iterator(I)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return k(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Le().asMutable();return e.__iterate(function(o,i){r.update(t.call(n,o,i,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return ge(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map(In).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Rn(e),t)},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},first:function(){return this.find(E)},flatMap:function(e,t){return Yt(this,function(e,t,n){var r=Zt(e);return e.toSeq().map(function(o,i){return r(t.call(n,o,i,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return Yt(this,Ut(this,e,!0))},fromEntrySeq:function(){return new Bt(this)},get:function(e,t){return this.find(function(t,n){return he(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=nn(e);!(n=o.next()).done;){var i=n.value;if((r=r&&r.get?r.get(i,v):v)===v)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),o=(c(e)?Mt():Le()).asMutable();e.__iterate(function(i,a){o.update(t.call(n,i,a,e),function(e){return(e=e||[]).push(r?[a,i]:i),e})});var i=Zt(e);return o.map(function(t){return Yt(e,i(t))})}(this,e,t)},has:function(e){return this.get(e,v)!==v},hasIn:function(e){return this.getIn(e,v)!==v},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keySeq:function(){return this.toSeq().map(An).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},max:function(e){return Ht(this,e)},maxBy:function(e,t){return Ht(this,t,e)},min:function(e){return Ht(this,e?Dn(e):Ln)},minBy:function(e,t){return Ht(this,t?Dn(t):Ln,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Yt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Yt(this,Wt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Rn(e),t)},sortBy:function(e,t){return Yt(this,$t(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Yt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Yt(this,function(e,t,n){var r=Qt(e);return r.__iterateUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterate(r,o);var a=0;return e.__iterate(function(e,o,s){return t.call(n,e,o,s)&&++a&&r(e,o,i)}),a},r.__iteratorUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterator(r,o);var a=e.__iterator(R,o),s=!0;return new L(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var o=e.value,u=o[0],l=o[1];return t.call(n,l,u,i)?r===R?e:F(r,u,l,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Rn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=c(e),n=s(e),r=t?1:0;return function(e,t){return t=Se(t,3432918353),t=Se(t<<15|t>>>-15,461845907),t=Se(t<<13|t>>>-13,5),t=Se((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=Ce((t=Se(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Fn(ke(e),ke(t))|0}:function(e,t){r=r+Fn(ke(e),ke(t))|0}:t?function(e){r=31*r+ke(e)|0}:function(e){r=r+ke(e)|0}),r)}(this))}});var Pn=n.prototype;Pn[f]=!0,Pn[B]=Pn.values,Pn.__toJS=Pn.toArray,Pn.__toStringMapper=Nn,Pn.inspect=Pn.toSource=function(){return this.toString()},Pn.chain=Pn.flatMap,Pn.contains=Pn.includes,function(){try{Object.defineProperty(Pn,"length",{get:function(){if(!n.noLengthWarning){var e;try{throw new Error}catch(t){e=t.stack}if(-1===e.indexOf("_wrapObject"))return console&&console.warn&&console.warn("iterable.length has been deprecated, use iterable.size or iterable.count(). This warning will become a silent error in a future version. "+e),this.size}}})}catch(e){}}(),Mn(r,{flip:function(){return Yt(this,Lt(this))},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLastKey:function(e,t){return this.toSeq().reverse().findKey(e,t)},keyOf:function(e){return this.findKey(function(t){return he(t,e)})},lastKeyOf:function(e){return this.findLastKey(function(t){return he(t,e)})},mapEntries:function(e,t){var n=this,r=0;return Yt(this,this.toSeq().map(function(o,i){return e.call(t,[i,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Yt(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var jn=r.prototype;function An(e,t){return t}function In(e,t){return[t,e]}function Rn(e){return function(){return!e.apply(this,arguments)}}function Dn(e){return function(){return-e.apply(this,arguments)}}function Nn(e){return"string"==typeof e?JSON.stringify(e):e}function Bn(){return C(arguments)}function Ln(e,t){return e<t?1:e>t?-1:0}function Fn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return jn[d]=!0,jn[B]=Pn.entries,jn.__toJS=Pn.toObject,jn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+Nn(e)},Mn(o,{toKeyedSeq:function(){return new Rt(this,!1)},filter:function(e,t){return Yt(this,qt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.toKeyedSeq().keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.toKeyedSeq().reverse().keyOf(e);return void 0===t?-1:t},reverse:function(){return Yt(this,zt(this,!1))},slice:function(e,t){return Yt(this,Kt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=M(e,e<0?this.count():this.size);var r=this.slice(0,e);return Yt(this,1===n?r:r.concat(C(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.toKeyedSeq().findLastKey(e,t);return void 0===n?-1:n},first:function(){return this.get(0)},flatten:function(e){return Yt(this,Ut(this,e,!1))},get:function(e,t){return(e=O(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=O(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Yt(this,function(e,t){var n=Qt(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var o=this,i=0;return e.__iterate(function(e,r){return(!i||!1!==n(t,i++,o))&&!1!==n(e,i++,o)},r),i},n.__iteratorUncached=function(n,r){var o,i=e.__iterator(I,r),a=0;return new L(function(){return(!o||a%2)&&(o=i.next()).done?o:a%2?F(n,a++,t):F(n,a++,o.value,o)})},n}(this,e))},interleave:function(){var e=[this].concat(C(arguments)),t=Gt(this.toSeq(),G.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Yt(this,n)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Yt(this,Wt(this,e,t,!1))},zip:function(){return Yt(this,Gt(this,Bn,[this].concat(C(arguments))))},zipWith:function(e){var t=C(arguments);return t[0]=this,Yt(this,Gt(this,e,t))}}),o.prototype[p]=!0,o.prototype[h]=!0,Mn(i,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),i.prototype.has=Pn.includes,Mn(V,r.prototype),Mn(G,o.prototype),Mn(Y,i.prototype),Mn(_e,r.prototype),Mn(xe,o.prototype),Mn(we,i.prototype),{Iterable:n,Seq:H,Collection:be,Map:Le,OrderedMap:Mt,List:dt,Stack:wn,Set:un,OrderedSet:yn,Record:rn,Range:ve,Repeat:ye,is:he,fromJS:fe}}()},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,a,s,u],f=0;(l=new Error(t.replace(/%s/g,function(){return c[f++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var o=n(317),i=n(184),a=n(758),s=n(4),u=n(71),l=s.OrderedSet,c=s.Record,f=s.Stack,d=c({allowUndo:!0,currentContent:null,decorator:null,directionMap:null,forceSelection:!1,inCompositionMode:!1,inlineStyleOverride:null,lastChangeType:null,nativelyRenderedContent:null,redoStack:f(),selection:null,treeMap:null,undoStack:f()}),p=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._immutable=t}return e.createEmpty=function(t){return e.createWithContent(i.createFromText(""),t)},e.createWithContent=function(t,n){var r=t.getBlockMap().first().getKey();return e.create({currentContent:t,undoStack:f(),redoStack:f(),decorator:n||null,selection:u.createEmpty(r)})},e.create=function(t){var n=t.currentContent,o=t.decorator,i=r({},t,{treeMap:g(n,o),directionMap:a.getDirectionMap(n)});return new e(new d(i))},e.set=function(t,n){return new e(t.getImmutable().withMutations(function(e){var r=e.get("decorator"),i=r;null===n.decorator?i=null:n.decorator&&(i=n.decorator);var a=n.currentContent||t.getCurrentContent();if(i!==r){var s,u=e.get("treeMap");return s=i&&r?function(e,t,n,r,i){return n.merge(t.toSeq().filter(function(t){return r.getDecorations(t,e)!==i.getDecorations(t,e)}).map(function(t){return o.generate(e,t,r)}))}(a,a.getBlockMap(),u,i,r):g(a,i),void e.merge({decorator:i,treeMap:s,nativelyRenderedContent:null})}a!==t.getCurrentContent()&&e.set("treeMap",function(e,t,n,r){var i=e.getCurrentContent().set("entityMap",n),a=i.getBlockMap();return e.getImmutable().get("treeMap").merge(t.toSeq().filter(function(e,t){return e!==a.get(t)}).map(function(e){return o.generate(i,e,r)}))}(t,a.getBlockMap(),a.getEntityMap(),i)),e.merge(n)}))},e.prototype.toJS=function(){return this.getImmutable().toJS()},e.prototype.getAllowUndo=function(){return this.getImmutable().get("allowUndo")},e.prototype.getCurrentContent=function(){return this.getImmutable().get("currentContent")},e.prototype.getUndoStack=function(){return this.getImmutable().get("undoStack")},e.prototype.getRedoStack=function(){return this.getImmutable().get("redoStack")},e.prototype.getSelection=function(){return this.getImmutable().get("selection")},e.prototype.getDecorator=function(){return this.getImmutable().get("decorator")},e.prototype.isInCompositionMode=function(){return this.getImmutable().get("inCompositionMode")},e.prototype.mustForceSelection=function(){return this.getImmutable().get("forceSelection")},e.prototype.getNativelyRenderedContent=function(){return this.getImmutable().get("nativelyRenderedContent")},e.prototype.getLastChangeType=function(){return this.getImmutable().get("lastChangeType")},e.prototype.getInlineStyleOverride=function(){return this.getImmutable().get("inlineStyleOverride")},e.setInlineStyleOverride=function(t,n){return e.set(t,{inlineStyleOverride:n})},e.prototype.getCurrentInlineStyle=function(){var e=this.getInlineStyleOverride();if(null!=e)return e;var t=this.getCurrentContent(),n=this.getSelection();return n.isCollapsed()?function(e,t){var n=t.getStartKey(),r=t.getStartOffset(),o=e.getBlockForKey(n);if(r>0)return o.getInlineStyleAt(r-1);if(o.getLength())return o.getInlineStyleAt(0);return y(e,n)}(t,n):function(e,t){var n=t.getStartKey(),r=t.getStartOffset(),o=e.getBlockForKey(n);if(r<o.getLength())return o.getInlineStyleAt(r);if(r>0)return o.getInlineStyleAt(r-1);return y(e,n)}(t,n)},e.prototype.getBlockTree=function(e){return this.getImmutable().getIn(["treeMap",e])},e.prototype.isSelectionAtStartOfContent=function(){var e=this.getCurrentContent().getBlockMap().first().getKey();return this.getSelection().hasEdgeWithin(e,0,0)},e.prototype.isSelectionAtEndOfContent=function(){var e=this.getCurrentContent().getBlockMap().last(),t=e.getLength();return this.getSelection().hasEdgeWithin(e.getKey(),t,t)},e.prototype.getDirectionMap=function(){return this.getImmutable().get("directionMap")},e.acceptSelection=function(e,t){return h(e,t,!1)},e.forceSelection=function(e,t){return t.getHasFocus()||(t=t.set("hasFocus",!0)),h(e,t,!0)},e.moveSelectionToEnd=function(t){var n=t.getCurrentContent().getLastBlock(),r=n.getKey(),o=n.getLength();return e.acceptSelection(t,new u({anchorKey:r,anchorOffset:o,focusKey:r,focusOffset:o,isBackward:!1}))},e.moveFocusToEnd=function(t){var n=e.moveSelectionToEnd(t);return e.forceSelection(n,n.getSelection())},e.push=function(t,n,r){if(t.getCurrentContent()===n)return t;var o="insert-characters"!==r,i=a.getDirectionMap(n,t.getDirectionMap());if(!t.getAllowUndo())return e.set(t,{currentContent:n,directionMap:i,lastChangeType:r,selection:n.getSelectionAfter(),forceSelection:o,inlineStyleOverride:null});var s=t.getSelection(),u=t.getCurrentContent(),l=t.getUndoStack(),c=n;s!==u.getSelectionAfter()||function(e,t){var n=e.getLastChangeType();return t!==n||"insert-characters"!==t&&"backspace-character"!==t&&"delete-character"!==t}(t,r)?(l=l.push(u),c=c.set("selectionBefore",s)):"insert-characters"!==r&&"backspace-character"!==r&&"delete-character"!==r||(c=c.set("selectionBefore",u.getSelectionBefore()));var d=t.getInlineStyleOverride();-1===["adjust-depth","change-block-type","split-block"].indexOf(r)&&(d=null);var p={currentContent:c,directionMap:i,undoStack:l,redoStack:f(),lastChangeType:r,selection:n.getSelectionAfter(),forceSelection:o,inlineStyleOverride:d};return e.set(t,p)},e.undo=function(t){if(!t.getAllowUndo())return t;var n=t.getUndoStack(),r=n.peek();if(!r)return t;var o=t.getCurrentContent(),i=a.getDirectionMap(r,t.getDirectionMap());return e.set(t,{currentContent:r,directionMap:i,undoStack:n.shift(),redoStack:t.getRedoStack().push(o),forceSelection:!0,inlineStyleOverride:null,lastChangeType:"undo",nativelyRenderedContent:null,selection:o.getSelectionBefore()})},e.redo=function(t){if(!t.getAllowUndo())return t;var n=t.getRedoStack(),r=n.peek();if(!r)return t;var o=t.getCurrentContent(),i=a.getDirectionMap(r,t.getDirectionMap());return e.set(t,{currentContent:r,directionMap:i,undoStack:t.getUndoStack().push(o),redoStack:n.shift(),forceSelection:!0,inlineStyleOverride:null,lastChangeType:"redo",nativelyRenderedContent:null,selection:r.getSelectionAfter()})},e.prototype.getImmutable=function(){return this._immutable},e}();function h(e,t,n){return p.set(e,{selection:t,forceSelection:n,nativelyRenderedContent:null,inlineStyleOverride:null})}function g(e,t){return e.getBlockMap().map(function(n){return o.generate(e,n,t)}).toOrderedMap()}function y(e,t){var n=e.getBlockMap().reverse().skipUntil(function(e,n){return n===t}).skip(1).skipUntil(function(e,t){return e.getLength()}).first();return n?n.getInlineStyleAt(n.getLength()-1):l()}e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeOutboundLink=t.getFeed=t.getCourseFeed=t.getPostFeed=t.decodeHTML=t.sendRequest=t.getDirectionalStyle=t.createSvgIconComponent=void 0;var r=n(391);Object.defineProperty(t,"makeOutboundLink",{enumerable:!0,get:function(){return r.makeOutboundLink}});var o=n(395),i=f(n(396)),a=f(n(398)),s=f(n(130)),u=f(n(400)),l=f(n(223)),c=f(n(401));function f(e){return e&&e.__esModule?e:{default:e}}t.createSvgIconComponent=c.default,t.getDirectionalStyle=o.getDirectionalStyle,t.sendRequest=i.default,t.decodeHTML=a.default,t.getPostFeed=l.default,t.getCourseFeed=u.default,t.getFeed=s.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenReaderShortcut=t.ScreenReaderText=t.Row=t.ZebrafiedListTable=t.ListTable=t.Checkbox=t.WordOccurrences=t.WordList=t.YouTubeVideo=t.Warning=t.Tabs=t.YoastSeoIcon=t.Modal=t.Logo=t.YoastLinkButton=t.InputField=t.YoastButton=t.UpsellLinkButton=t.UpsellButton=t.Toggle=t.Textfield=t.Textarea=t.SynonymsInput=t.icons=t.SvgIcon=t.StackedProgressBar=t.ScoreAssessments=t.SectionTitle=t.Section=t.ProgressBar=t.Paper=t.Notification=t.MultiStepProgress=t.Loader=t.languageNoticePropType=t.LanguageNotice=t.Label=t.KeywordSuggestions=t.Input=t.IFrame=t.IconButtonToggle=t.Icon=t.HelpText=t.Heading=t.ErrorBoundary=t.IconsButton=t.IconButton=t.IconLabeledButton=t.CourseDetails=t.CardBanner=t.FullHeightCard=t.Card=t.ArticleList=t.Alert=t.wrapInHeading=t.StyledContainerTopLevel=t.StyledContainer=t.StyledIconsButton=t.CollapsibleStateless=t.Collapsible=t.addButtonStyles=t.addBaseStyle=t.addFocusStyle=t.addActiveStyle=t.addHoverStyle=t.BaseButton=t.Button=t.LinkButton=t.StyledHeading=t.StyledSectionBase=t.StyledSection=void 0;var r=n(60);Object.defineProperty(t,"Button",{enumerable:!0,get:function(){return oe(r).default}}),Object.defineProperty(t,"BaseButton",{enumerable:!0,get:function(){return r.BaseButton}}),Object.defineProperty(t,"addHoverStyle",{enumerable:!0,get:function(){return r.addHoverStyle}}),Object.defineProperty(t,"addActiveStyle",{enumerable:!0,get:function(){return r.addActiveStyle}}),Object.defineProperty(t,"addFocusStyle",{enumerable:!0,get:function(){return r.addFocusStyle}}),Object.defineProperty(t,"addBaseStyle",{enumerable:!0,get:function(){return r.addBaseStyle}}),Object.defineProperty(t,"addButtonStyles",{enumerable:!0,get:function(){return r.addButtonStyles}});var o=n(429);Object.defineProperty(t,"Collapsible",{enumerable:!0,get:function(){return oe(o).default}}),Object.defineProperty(t,"CollapsibleStateless",{enumerable:!0,get:function(){return o.CollapsibleStateless}}),Object.defineProperty(t,"StyledIconsButton",{enumerable:!0,get:function(){return o.StyledIconsButton}}),Object.defineProperty(t,"StyledContainer",{enumerable:!0,get:function(){return o.StyledContainer}}),Object.defineProperty(t,"StyledContainerTopLevel",{enumerable:!0,get:function(){return o.StyledContainerTopLevel}}),Object.defineProperty(t,"wrapInHeading",{enumerable:!0,get:function(){return o.wrapInHeading}});var i=n(497);Object.defineProperty(t,"Alert",{enumerable:!0,get:function(){return oe(i).default}});var a=n(498);Object.defineProperty(t,"ArticleList",{enumerable:!0,get:function(){return oe(a).default}});var s=n(499);Object.defineProperty(t,"Card",{enumerable:!0,get:function(){return oe(s).default}}),Object.defineProperty(t,"FullHeightCard",{enumerable:!0,get:function(){return s.FullHeightCard}});var u=n(254);Object.defineProperty(t,"CardBanner",{enumerable:!0,get:function(){return oe(u).default}});var l=n(500);Object.defineProperty(t,"CourseDetails",{enumerable:!0,get:function(){return oe(l).default}});var c=n(501);Object.defineProperty(t,"IconLabeledButton",{enumerable:!0,get:function(){return oe(c).default}});var f=n(502);Object.defineProperty(t,"IconButton",{enumerable:!0,get:function(){return oe(f).default}});var d=n(253);Object.defineProperty(t,"IconsButton",{enumerable:!0,get:function(){return oe(d).default}});var p=n(503);Object.defineProperty(t,"ErrorBoundary",{enumerable:!0,get:function(){return oe(p).default}});var h=n(152);Object.defineProperty(t,"Heading",{enumerable:!0,get:function(){return oe(h).default}});var g=n(522);Object.defineProperty(t,"HelpText",{enumerable:!0,get:function(){return oe(g).default}});var y=n(523);Object.defineProperty(t,"Icon",{enumerable:!0,get:function(){return oe(y).default}});var m=n(524);Object.defineProperty(t,"IconButtonToggle",{enumerable:!0,get:function(){return oe(m).default}});var v=n(258);Object.defineProperty(t,"IFrame",{enumerable:!0,get:function(){return oe(v).default}});var b=n(259);Object.defineProperty(t,"Input",{enumerable:!0,get:function(){return oe(b).default}});var _=n(525);Object.defineProperty(t,"KeywordSuggestions",{enumerable:!0,get:function(){return oe(_).default}});var x=n(263);Object.defineProperty(t,"Label",{enumerable:!0,get:function(){return oe(x).default}});var w=n(531);Object.defineProperty(t,"LanguageNotice",{enumerable:!0,get:function(){return oe(w).default}}),Object.defineProperty(t,"languageNoticePropType",{enumerable:!0,get:function(){return w.languageNoticePropType}});var S=n(532);Object.defineProperty(t,"Loader",{enumerable:!0,get:function(){return oe(S).default}});var C=n(533);Object.defineProperty(t,"MultiStepProgress",{enumerable:!0,get:function(){return oe(C).default}});var k=n(534);Object.defineProperty(t,"Notification",{enumerable:!0,get:function(){return oe(k).default}});var O=n(264);Object.defineProperty(t,"Paper",{enumerable:!0,get:function(){return oe(O).default}});var E=n(535);Object.defineProperty(t,"ProgressBar",{enumerable:!0,get:function(){return oe(E).default}});var T=n(265);Object.defineProperty(t,"Section",{enumerable:!0,get:function(){return oe(T).default}});var M=n(250);Object.defineProperty(t,"SectionTitle",{enumerable:!0,get:function(){return M.SectionTitle}});var P=n(536);Object.defineProperty(t,"ScoreAssessments",{enumerable:!0,get:function(){return oe(P).default}});var j=n(537);Object.defineProperty(t,"StackedProgressBar",{enumerable:!0,get:function(){return oe(j).default}});var A=n(39);Object.defineProperty(t,"SvgIcon",{enumerable:!0,get:function(){return oe(A).default}}),Object.defineProperty(t,"icons",{enumerable:!0,get:function(){return A.icons}});var I=n(538);Object.defineProperty(t,"SynonymsInput",{enumerable:!0,get:function(){return oe(I).default}});var R=n(267);Object.defineProperty(t,"Textarea",{enumerable:!0,get:function(){return oe(R).default}});var D=n(541);Object.defineProperty(t,"Textfield",{enumerable:!0,get:function(){return oe(D).default}});var N=n(542);Object.defineProperty(t,"Toggle",{enumerable:!0,get:function(){return oe(N).default}});var B=n(543);Object.defineProperty(t,"UpsellButton",{enumerable:!0,get:function(){return B.UpsellButton}});var L=n(544);Object.defineProperty(t,"UpsellLinkButton",{enumerable:!0,get:function(){return L.UpsellLinkButton}});var F=n(153);Object.defineProperty(t,"YoastButton",{enumerable:!0,get:function(){return F.YoastButton}});var z=n(266);Object.defineProperty(t,"InputField",{enumerable:!0,get:function(){return z.InputField}});var q=n(545);Object.defineProperty(t,"YoastLinkButton",{enumerable:!0,get:function(){return q.YoastLinkButton}});var K=n(546);Object.defineProperty(t,"Logo",{enumerable:!0,get:function(){return oe(K).default}});var W=n(547);Object.defineProperty(t,"Modal",{enumerable:!0,get:function(){return oe(W).default}});var U=n(559);Object.defineProperty(t,"YoastSeoIcon",{enumerable:!0,get:function(){return oe(U).default}});var $=n(560);Object.defineProperty(t,"Tabs",{enumerable:!0,get:function(){return oe($).default}});var H=n(563);Object.defineProperty(t,"Warning",{enumerable:!0,get:function(){return oe(H).default}});var V=n(565);Object.defineProperty(t,"YouTubeVideo",{enumerable:!0,get:function(){return oe(V).default}});var G=n(261);Object.defineProperty(t,"WordList",{enumerable:!0,get:function(){return oe(G).default}});var Y=n(262);Object.defineProperty(t,"WordOccurrences",{enumerable:!0,get:function(){return oe(Y).default}});var X=n(566);Object.defineProperty(t,"Checkbox",{enumerable:!0,get:function(){return oe(X).default}});var J=n(567);Object.defineProperty(t,"ListTable",{enumerable:!0,get:function(){return J.ListTable}}),Object.defineProperty(t,"ZebrafiedListTable",{enumerable:!0,get:function(){return J.ZebrafiedListTable}});var Z=n(568);Object.defineProperty(t,"Row",{enumerable:!0,get:function(){return Z.Row}});var Q=n(251);Object.defineProperty(t,"ScreenReaderText",{enumerable:!0,get:function(){return oe(Q).default}});var ee=n(569);Object.defineProperty(t,"ScreenReaderShortcut",{enumerable:!0,get:function(){return oe(ee).default}});var te=n(570),ne=oe(te),re=n(571);function oe(e){return e&&e.__esModule?e:{default:e}}t.StyledSection=ne.default,t.StyledSectionBase=te.StyledSectionBase,t.StyledHeading=te.StyledHeading,t.LinkButton=re.LinkButton},function(e,t,n){e.exports=n(550)()},function(e,t){e.exports=window.wp.i18n},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){e.exports={default:n(589),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(591));t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),(0,r.default)(e,o.key,o)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(167));t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,r.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(613)),o=a(n(617)),i=a(n(167));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,i.default)(t)));e.prototype=(0,o.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t){e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){e.exports=n(708)()},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(582));t.default=r.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";var r=n(25),o=n(747),i=n(46),a=n(4),s=n(748),u=n(750),l=n(109),c=n(753),f=n(754),d=n(5),p=n(755),h=n(314),g=n(756),y=n(757),m=a.OrderedSet,v={replaceText:function(e,t,n,o,i){var a=h(e,t),s=g(a,t),u=r.create({style:o||m(),entity:i||null});return f(s,s.getSelectionAfter(),n,u)},insertText:function(e,t,n,r,o){return t.isCollapsed()||d(!1),v.replaceText(e,t,n,r,o)},moveText:function(e,t,n){var r=l(e,t),o=v.removeRange(e,t,"backward");return v.replaceWithFragment(o,n,r)},replaceWithFragment:function(e,t,n){var r=h(e,t),o=g(r,t);return c(o,o.getSelectionAfter(),n)},removeRange:function(e,t,n){var r,o,a=void 0,s=void 0;t.getIsBackward()&&(t=t.merge({anchorKey:t.getFocusKey(),anchorOffset:t.getFocusOffset(),focusKey:t.getAnchorKey(),focusOffset:t.getAnchorOffset(),isBackward:!1})),r=t.getAnchorKey(),o=t.getFocusKey(),a=e.getBlockForKey(r),s=e.getBlockForKey(o);var l=t.getStartOffset(),c=t.getEndOffset(),f=a.getEntityAt(l),d=s.getEntityAt(c-1);if(r===o&&f&&f===d){var p=u(e.getEntityMap(),a,s,t,n);return g(e,p)}var y=t;i.draft_segmented_entities_behavior&&(y=u(e.getEntityMap(),a,s,t,n));var m=h(e,y);return g(m,y)},splitBlock:function(e,t){var n=h(e,t),r=g(n,t);return y(r,r.getSelectionAfter())},applyInlineStyle:function(e,t,n){return o.add(e,t,n)},removeInlineStyle:function(e,t,n){return o.remove(e,t,n)},setBlockType:function(e,t,n){return p(e,t,function(e){return e.merge({type:n,depth:0})})},setBlockData:function(e,t,n){return p(e,t,function(e){return e.merge({data:n})})},mergeBlockData:function(e,t,n){return p(e,t,function(e){return e.merge({data:e.getData().merge(n)})})},applyEntity:function(e,t,n){var r=h(e,t);return s(r,t,n)}};e.exports=v},function(e,t){e.exports=ReactDOM},function(e,t,n){"use strict";var r=n(745),o=n(84),i=n(25),a=n(761),s=n(56),u=n(184),l=n(187),c=n(320),f=n(762),d=n(322),p=n(110),h=n(22),g=n(318),y=n(6),m=n(194),v=n(336),b=n(71),_=n(825),x={Editor:f,EditorBlock:d,EditorState:y,CompositeDecorator:a,Entity:p,EntityInstance:g,BlockMapBuilder:o,CharacterMetadata:i,ContentBlock:s,ContentState:u,SelectionState:b,AtomicBlockUtils:r,KeyBindingUtil:m,Modifier:h,RichUtils:v,DefaultDraftBlockRenderMap:l,DefaultDraftInlineStyle:c,convertFromHTML:n(334),convertFromRaw:n(828),convertToRaw:_,genKey:n(40),getDefaultKeyBinding:n(337),getVisibleSelectionRect:n(833)};e.exports=x},function(e,t,n){"use strict";var r=n(4),o=r.Map,i=r.OrderedSet,a=r.Record,s=i(),u={style:s,entity:null},l=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getStyle=function(){return this.get("style")},t.prototype.getEntity=function(){return this.get("entity")},t.prototype.hasStyle=function(e){return this.getStyle().includes(e)},t.applyStyle=function(e,n){var r=e.set("style",e.getStyle().add(n));return t.create(r)},t.removeStyle=function(e,n){var r=e.set("style",e.getStyle().remove(n));return t.create(r)},t.applyEntity=function(e,n){var r=e.getEntity()===n?e:e.set("entity",n);return t.create(r)},t.create=function(e){if(!e)return c;var n=o({style:s,entity:null}).merge(e),r=f.get(n);if(r)return r;var i=new t(n);return f=f.set(n,i),i},t}(a(u)),c=new l,f=o([[o(u),c]]);l.EMPTY=c,e.exports=l},function(e,t,n){"use strict";
2
  /*
3
  object-assign
4
  (c) Sindre Sorhus
5
  @license MIT
6
- */var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))o.call(n,l)&&(s[l]=n[l]);if(r){a=r(n);for(var c=0;c<a.length;c++)i.call(n,a[c])&&(s[a[c]]=n[a[c]])}}return s}},function(e,t,n){"use strict";var r=n(25),o=n(4),i=n(85),a=o.List,s=o.Map,u=o.OrderedSet,l=o.Record,c=o.Repeat,f=u(),d={parent:null,characterList:a(),data:s(),depth:0,key:"",text:"",type:"unstyled",children:a(),prevSibling:null,nextSibling:null},p=function(e,t){return e.getStyle()===t.getStyle()},h=function(e,t){return e.getEntity()===t.getEntity()},g=function(e){if(!e)return e;var t=e.characterList,n=e.text;return n&&!t&&(e.characterList=a(c(r.EMPTY,n.length))),e},y=function(e){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,g(n)))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getKey=function(){return this.get("key")},t.prototype.getType=function(){return this.get("type")},t.prototype.getText=function(){return this.get("text")},t.prototype.getCharacterList=function(){return this.get("characterList")},t.prototype.getLength=function(){return this.getText().length},t.prototype.getDepth=function(){return this.get("depth")},t.prototype.getData=function(){return this.get("data")},t.prototype.getInlineStyleAt=function(e){var t=this.getCharacterList().get(e);return t?t.getStyle():f},t.prototype.getEntityAt=function(e){var t=this.getCharacterList().get(e);return t?t.getEntity():null},t.prototype.getChildKeys=function(){return this.get("children")},t.prototype.getParentKey=function(){return this.get("parent")},t.prototype.getPrevSiblingKey=function(){return this.get("prevSibling")},t.prototype.getNextSiblingKey=function(){return this.get("nextSibling")},t.prototype.findStyleRanges=function(e,t){i(this.getCharacterList(),p,e,t)},t.prototype.findEntityRanges=function(e,t){i(this.getCharacterList(),h,e,t)},t}(l(d));e.exports=y},function(e,t,n){var r=n(164)("wks"),o=n(102),i=n(44).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={easeOutFunction:"cubic-bezier(0.23, 1, 0.32, 1)",easeInOutFunction:"cubic-bezier(0.445, 0.05, 0.55, 0.95)",easeOut:function(e,t,n,r){if(r=r||this.easeOutFunction,t&&"[object Array]"===Object.prototype.toString.call(t)){for(var o="",i=0;i<t.length;i++)o&&(o+=","),o+=this.create(e,t[i],n,r);return o}return this.create(e,t,n,r)},create:function(e,t,n,r){return e=e||"450ms",t=t||"all",n=n||"0ms",t+" "+e+" "+(r=r||"linear")+" "+n}}},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";e.exports=function(e){if(null!=e)return e;throw new Error("Got unexpected null or undefined")}},function(e,t,n){var r=n(226),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],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}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(301),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){"use strict";var r=n(768),o=n(771),i=n(772),a=n(773);function s(e,t,n,r){if(e===n)return!0;if(!n.startsWith(e))return!1;var i=n.slice(e.length);return!!t&&(i=r?r(i):i,o.contains(i,t))}function u(e){return"Windows"===r.platformName?e.replace(/^\s*NT/,""):e}var l={isBrowser:function(e){return s(r.browserName,r.browserFullVersion,e)},isBrowserArchitecture:function(e){return s(r.browserArchitecture,null,e)},isDevice:function(e){return s(r.deviceName,null,e)},isEngine:function(e){return s(r.engineName,r.engineVersion,e)},isPlatform:function(e){return s(r.platformName,r.platformFullVersion,e,u)},isPlatformArchitecture:function(e){return s(r.platformArchitecture,null,e)}};e.exports=i(l,a)},function(e,t,n){var r=n(365),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.icons=void 0;var r=a(n(0)),o=a(n(1)),i=n(7);function a(e){return e&&e.__esModule?e:{default:e}}const s=o.default.svg.withConfig({displayName:"SvgIcon__StyledSvgSpinner",componentId:"w0wn5g-0"})(["width:",";height:",";flex:none;animation:loadingSpinnerRotator 1.4s linear infinite;& .path{stroke:",";stroke-dasharray:187;stroke-dashoffset:0;transform-origin:center;animation:loadingSpinnerDash 1.4s ease-in-out infinite;}@keyframes loadingSpinnerRotator{0%{transform:rotate( 0deg );}100%{transform:rotate( 270deg );}}@keyframes loadingSpinnerDash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:47;transform:rotate( 135deg );}100%{stroke-dashoffset:187;transform:rotate( 450deg );}}"],e=>e.size,e=>e.size,e=>e.fill),u=t.icons={"chevron-down":{viewbox:"0 0 24 24",width:"24px",path:[r.default.createElement("g",{key:"1"},r.default.createElement("path",{fill:"none",d:"M0,0h24v24H0V0z"})),r.default.createElement("g",{key:"2"},r.default.createElement("path",{d:"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"}))]},"chevron-up":{viewbox:"0 0 24 24",width:"24px",path:[r.default.createElement("g",{key:"1"},r.default.createElement("path",{fill:"none",d:"M0,0h24v24H0V0z"})),r.default.createElement("g",{key:"2"},r.default.createElement("path",{d:"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z"}))]},clipboard:{viewbox:"0 0 1792 1792",path:"M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z"},check:{viewbox:"0 0 1792 1792",path:"M249.2,431.2c-23,0-45.6,9.4-61.8,25.6L25.6,618.6C9.4,634.8,0,657.4,0,680.4c0,23,9.4,45.6,25.6,61.8 l593.1,593.1c16.2,16.2,38.8,25.6,61.8,25.6c23,0,45.6-9.4,61.8-25.6L1766.4,311c16.2-16.2,25.6-38.8,25.6-61.8 s-9.4-45.6-25.6-61.8L1604.5,25.6C1588.3,9.4,1565.8,0,1542.8,0c-23,0-45.6,9.4-61.8,25.6L680.4,827L311,456.3 C294.8,440.5,272.3,431.2,249.2,431.2z"},"angle-down":{viewbox:"0 0 1792 1792",path:"M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"},"angle-left":{viewbox:"0 0 1792 1792",path:"M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"},"angle-right":{viewbox:"0 0 1792 1792",path:"M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"},"angle-up":{viewbox:"0 0 1792 1792",path:"M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"},"arrow-down":{viewbox:"0 0 1792 1792",path:"M896 1791L120.91 448.5L1671.09 448.5z"},"arrow-left":{viewbox:"0 0 1792 1792",path:"M1343.5 1671.09L1 896L1343.5 120.91z"},"arrow-right":{viewbox:"0 0 1792 1792",path:"M1791 896L448.5 1671.09L448.5 120.91z"},"arrow-up":{viewbox:"0 0 1792 1792",path:"M1671.09 1343.5L120.91 1343.5L896 1z"},"caret-right":{viewbox:"0 0 192 512",path:"M 0 384.662 V 127.338 c 0 -17.818 21.543 -26.741 34.142 -14.142 l 128.662 128.662 c 7.81 7.81 7.81 20.474 0 28.284 L 34.142 398.804 C 21.543 411.404 0 402.48 0 384.662 Z"},circle:{viewbox:"0 0 1792 1792",path:"M1664 896q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},desktop:{viewbox:"0 0 1792 1792",path:"M1728 992v-832q0-13-9.5-22.5t-22.5-9.5h-1600q-13 0-22.5 9.5t-9.5 22.5v832q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5zm128-832v1088q0 66-47 113t-113 47h-544q0 37 16 77.5t32 71 16 43.5q0 26-19 45t-45 19h-512q-26 0-45-19t-19-45q0-14 16-44t32-70 16-78h-544q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1600q66 0 113 47t47 113z"},edit:{viewbox:"0 0 1792 1792",path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"},eye:{viewbox:"0 0 1792 1792",path:"M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"},"exclamation-triangle":{viewbox:"0 0 1792 1792",path:"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"},"file-text":{viewbox:"0 0 1792 1792",path:"M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280zm-1024-864q0-14 9-23t23-9h704q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64zm736 224q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h704zm0 256q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h704z"},gear:{viewbox:"0 0 1792 1792",path:"M1800 800h-218q-26 -107 -81 -193l154 -154l-210 -210l-154 154q-88 -55 -191 -79v-218h-300v218q-103 24 -191 79l-154 -154l-212 212l154 154q-55 88 -79 191h-218v297h217q23 101 80 194l-154 154l210 210l154 -154q85 54 193 81v218h300v-218q103 -24 191 -79 l154 154l212 -212l-154 -154q57 -93 80 -194h217v-297zM950 650q124 0 212 88t88 212t-88 212t-212 88t-212 -88t-88 -212t88 -212t212 -88z"},key:{viewbox:"0 0 1792 1792",path:"M832 512q0-80-56-136t-136-56-136 56-56 136q0 42 19 83-41-19-83-19-80 0-136 56t-56 136 56 136 136 56 136-56 56-136q0-42-19-83 41 19 83 19 80 0 136-56t56-136zm851 704q0 17-49 66t-66 49q-9 0-28.5-16t-36.5-33-38.5-40-24.5-26l-96 96 220 220q28 28 28 68 0 42-39 81t-81 39q-40 0-68-28l-671-671q-176 131-365 131-163 0-265.5-102.5t-102.5-265.5q0-160 95-313t248-248 313-95q163 0 265.5 102.5t102.5 265.5q0 189-131 365l355 355 96-96q-3-3-26-24.5t-40-38.5-33-36.5-16-28.5q0-17 49-66t66-49q13 0 23 10 6 6 46 44.5t82 79.5 86.5 86 73 78 28.5 41z"},list:{viewbox:"0 0 1792 1792",path:"M384 1408q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm0-512q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm-1408-928q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z"},"loading-spinner":{viewbox:"0 0 66 66",CustomComponent:s,path:[r.default.createElement("circle",{key:"5",className:"path",fill:"none",strokeWidth:"6",strokeLinecap:"round",cx:"33",cy:"33",r:"30"})]},mobile:{viewbox:"0 0 1792 1792",path:"M976 1408q0-33-23.5-56.5t-56.5-23.5-56.5 23.5-23.5 56.5 23.5 56.5 56.5 23.5 56.5-23.5 23.5-56.5zm208-160v-704q0-13-9.5-22.5t-22.5-9.5h-512q-13 0-22.5 9.5t-9.5 22.5v704q0 13 9.5 22.5t22.5 9.5h512q13 0 22.5-9.5t9.5-22.5zm-192-848q0-16-16-16h-160q-16 0-16 16t16 16h160q16 0 16-16zm288-16v1024q0 52-38 90t-90 38h-512q-52 0-90-38t-38-90v-1024q0-52 38-90t90-38h512q52 0 90 38t38 90z"},"pencil-square":{viewbox:"0 0 1792 1792",path:"M888 1184l116-116-152-152-116 116v56h96v96h56zm440-720q-16-16-33 1l-350 350q-17 17-1 33t33-1l350-350q17-17 1-33zm80 594v190q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-14 14-32 8-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-126q0-13 9-22l64-64q15-15 35-7t20 29zm-96-738l288 288-672 672h-288v-288zm444 132l-92 92-288-288 92-92q28-28 68-28t68 28l152 152q28 28 28 68t-28 68z"},plus:{viewbox:"0 0 1792 1792",path:"M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"},"plus-circle":{viewbox:"0 0 1792 1792",path:"M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},"question-circle":{viewbox:"0 0 1792 1792",path:"M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},search:{viewbox:"0 0 1792 1792",path:"M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"},"seo-score-bad":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z M328 176c17.7 0 32 14.3 32 32 s-14.3 32-32 32s-32-14.3-32-32S310.3 176 328 176z M168 176c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32S150.3 176 168 176 z M338.2 394.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320 s86.3 19.6 114.7 53.8C376.3 390 351.7 410.5 338.2 394.2L338.2 394.2z"},"seo-score-good":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z M328 176c17.7 0 32 14.3 32 32 s-14.3 32-32 32s-32-14.3-32-32S310.3 176 328 176z M168 176c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32S150.3 176 168 176 z M362.8 346.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5c22.4 26.9 55.2 42.2 90.2 42.2 s67.8-15.4 90.2-42.2C351.6 309.5 376.3 329.9 362.8 346.2L362.8 346.2z"},"seo-score-none":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z"},"seo-score-ok":{viewbox:"0 0 496 512",path:[r.default.createElement("path",{key:"1",fill:"#000000",d:"M344 336c21.2 0 21.2 32 0 32H152c-21.2 0-21.2-32 0-32H344z"}),r.default.createElement("circle",{key:"2",fill:"#000000",cx:"328",cy:"208",r:"32"}),r.default.createElement("circle",{key:"3",fill:"#000000",cx:"168",cy:"208",r:"32"}),r.default.createElement("path",{key:"4",d:"M248 8c137 0 248 111 248 248S385 504 248 504S0 393 0 256S111 8 248 8z M360 208c0-17.7-14.3-32-32-32 s-32 14.3-32 32s14.3 32 32 32S360 225.7 360 208z M344 368c21.2 0 21.2-32 0-32H152c-21.2 0-21.2 32 0 32H344z M200 208 c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32S200 225.7 200 208z"})]},times:{viewbox:"0 0 1792 1792",path:"M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"},"times-circle":{viewbox:"0 0 20 20",path:"M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z"},"alert-info":{viewbox:"0 0 512 512",path:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},"alert-error":{viewbox:"0 0 512 512",path:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"},"alert-success":{viewbox:"0 0 512 512",path:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"},"alert-warning":{viewbox:"0 0 576 512",path:"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}};t.default=(0,i.createSvgIconComponent)(u)},function(e,t,n){"use strict";var r={},o=Math.pow(2,24);e.exports=function(){for(var e=void 0;void 0===e||r.hasOwnProperty(e)||!isNaN(+e);)e=Math.floor(Math.random()*o).toString(32);return r[e]=!0,e}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){e.exports=n(573)()},function(e,t,n){var r=n(44),o=n(21),i=n(158),a=n(64),s=n(53),u=function(e,t,n){var l,c,f,d=e&u.F,p=e&u.G,h=e&u.S,g=e&u.P,y=e&u.B,m=e&u.W,v=p?o:o[t]||(o[t]={}),b=v.prototype,_=p?r:h?r[t]:(r[t]||{}).prototype;for(l in p&&(n=t),n)(c=!d&&_&&void 0!==_[l])&&s(v,l)||(f=c?_[l]:n[l],v[l]=p&&"function"!=typeof _[l]?n[l]:y&&c?i(f,r):m&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):g&&"function"==typeof f?i(Function.call,f):f,g&&((v.virtual||(v.virtual={}))[l]=f,e&u.R&&b&&!b[l]&&a(b,l,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(51),o=n(273),i=n(159),a=Object.defineProperty;t.f=n(52)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";var r=n(746);e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r;
7
  /*!
8
  Copyright (c) 2017 Jed Watson.
9
  Licensed under the MIT License (MIT), see
@@ -14,7 +14,7 @@ object-assign
14
  Licensed under the MIT License (MIT), see
15
  http://jedwatson.github.io/classnames
16
  */
17
- !function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===i)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}void 0!==e&&e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){var r=n(415),o=n(418);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(65);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(66)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(107),o=n(711),i=n(712),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){"use strict";var r=n(25),o=n(4),i=n(85),a=o.List,s=o.Map,u=o.OrderedSet,l=o.Record,c=o.Repeat,f=u(),d=function(e){if(!e)return e;var t=e.characterList,n=e.text;return n&&!t&&(e.characterList=a(c(r.EMPTY,n.length))),e},p=function(e){function t(n){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,d(n)))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getKey=function(){return this.get("key")},t.prototype.getType=function(){return this.get("type")},t.prototype.getText=function(){return this.get("text")},t.prototype.getCharacterList=function(){return this.get("characterList")},t.prototype.getLength=function(){return this.getText().length},t.prototype.getDepth=function(){return this.get("depth")},t.prototype.getData=function(){return this.get("data")},t.prototype.getInlineStyleAt=function(e){var t=this.getCharacterList().get(e);return t?t.getStyle():f},t.prototype.getEntityAt=function(e){var t=this.getCharacterList().get(e);return t?t.getEntity():null},t.prototype.findStyleRanges=function(e,t){i(this.getCharacterList(),h,e,t)},t.prototype.findEntityRanges=function(e,t){i(this.getCharacterList(),g,e,t)},t}(l({key:"",type:"unstyled",text:"",characterList:a(),depth:0,data:s()}));function h(e,t){return e.getStyle()===t.getStyle()}function g(e,t){return e.getEntity()===t.getEntity()}e.exports=p},function(e,t,n){"use strict";var r=n(5),o=55296,i=56319,a=56320,s=57343,u=/[\uD800-\uDFFF]/;function l(e){return o<=e&&e<=s}function c(e){return u.test(e)}function f(e,t){return 1+l(e.charCodeAt(t))}function d(e,t,n){if(t=t||0,n=void 0===n?1/0:n||0,!c(e))return e.substr(t,n);var r=e.length;if(r<=0||t>r||n<=0)return"";var o=0;if(t>0){for(;t>0&&o<r;t--)o+=f(e,o);if(o>=r)return""}else if(t<0){for(o=r;t<0&&0<o;t++)o-=f(e,o-1);o<0&&(o=0)}var i=r;if(n<r)for(i=o;n>0&&i<r;n--)i+=f(e,i);return e.substring(o,i)}var p={getCodePoints:function(e){for(var t=[],n=0;n<e.length;n+=f(e,n))t.push(e.codePointAt(n));return t},getUTF16Length:f,hasSurrogateUnit:c,isCodeUnitInSurrogateRange:l,isSurrogatePair:function(e,t){if(0<=t&&t<e.length||r(!1),t+1===e.length)return!1;var n=e.charCodeAt(t),u=e.charCodeAt(t+1);return o<=n&&n<=i&&a<=u&&u<=s},strlen:function(e){if(!c(e))return e.length;for(var t=0,n=0;n<e.length;n+=f(e,n))t++;return t},substring:function(e,t,n){t=t||0,n=void 0===n?1/0:n||0,t<0&&(t=0),n<0&&(n=0);var r=Math.abs(n-t);return d(e,t=t<n?t:n,r)},substr:d};e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.recommendedReplacementVariablesShape=t.replacementVariablesShape=t.lengthProgressShape=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(17));t.lengthProgressShape=r.default.shape({max:r.default.number,actual:r.default.number,score:r.default.number}),t.replacementVariablesShape=r.default.arrayOf(r.default.shape({name:r.default.string.isRequired,value:r.default.string.isRequired,label:r.default.string,description:r.default.string})),t.recommendedReplacementVariablesShape=r.default.arrayOf(r.default.string)},function(e,t,n){var r=n(976),o=n(981);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseButton=t.addButtonStyles=void 0,t.addBaseStyle=f,t.addFocusStyle=d,t.addHoverStyle=p,t.addActiveStyle=h;var r=u(n(1)),o=u(n(224)),i=u(n(2)),a=n(3),s=n(7);function u(e){return e&&e.__esModule?e:{default:e}}const l={minHeight:32,verticalPadding:4,borderWidth:1},c=l.minHeight-2*l.verticalPadding-2*l.borderWidth;function f(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-0"})(["display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-width:",";border-style:solid;margin:0;padding:"," 10px;border-radius:3px;cursor:pointer;box-sizing:border-box;font-size:inherit;font-family:inherit;font-weight:inherit;text-align:",";overflow:visible;min-height:",';svg{align-self:center;}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){::after{display:inline-block;content:"";min-height:',";}}"],`${l.borderWidth}px`,`${l.verticalPadding}px`,(0,s.getDirectionalStyle)("left","right"),`${l.minHeight}px`,`${c}px`)}function d(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-1"})(["&::-moz-focus-inner{border-width:0;}&:focus{outline:none;border-color:",";color:",";background-color:",";box-shadow:0 0 3px ",";}"],e=>e.focusBorderColor,e=>e.focusColor,e=>e.focusBackgroundColor,(0,a.rgba)(a.colors.$color_blue_dark,.8))}function p(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-2"})(["&:hover{color:",";background-color:",";border-color:",";}"],e=>e.hoverColor,e=>e.hoverBackgroundColor,e=>e.hoverBorderColor)}function h(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-3"})(["&:active{color:",";background-color:",";border-color:",";box-shadow:inset 0 2px 5px -3px ",";}"],e=>e.activeColor,e=>e.activeBackgroundColor,e=>e.activeBorderColor,(0,a.rgba)(a.colors.$color_button_border_active,.5))}const g=t.addButtonStyles=(0,o.default)([h,d,p,f]),y=t.BaseButton=g(r.default.button.withConfig({displayName:"Button__BaseButton",componentId:"grb41s-4"})(["color:",";border-color:",";background:",";box-shadow:0 1px 0 ",";"],e=>e.textColor,e=>e.borderColor,e=>e.backgroundColor,e=>(0,a.rgba)(e.boxShadowColor,1)));y.propTypes={type:i.default.string,backgroundColor:i.default.string,textColor:i.default.string,borderColor:i.default.string,boxShadowColor:i.default.string,hoverColor:i.default.string,hoverBackgroundColor:i.default.string,hoverBorderColor:i.default.string,activeColor:i.default.string,activeBackgroundColor:i.default.string,activeBorderColor:i.default.string,focusColor:i.default.string,focusBackgroundColor:i.default.string,focusBorderColor:i.default.string},y.defaultProps={type:"button",backgroundColor:a.colors.$color_button,textColor:a.colors.$color_button_text,borderColor:a.colors.$color_button_border,boxShadowColor:a.colors.$color_button_border,hoverColor:a.colors.$color_button_text_hover,hoverBackgroundColor:a.colors.$color_button_hover,hoverBorderColor:a.colors.$color_button_border_hover,activeColor:a.colors.$color_button_text_hover,activeBackgroundColor:a.colors.$color_button,activeBorderColor:a.colors.$color_button_border_hover,focusColor:a.colors.$color_button_text_hover,focusBackgroundColor:a.colors.$color_white,focusBorderColor:a.colors.$color_blue},t.default=y},function(e,t,n){var r=n(78),o=n(408),i=n(409),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=s(n(0)),i=s(n(526)),a=s(n(529));function s(e){return e&&e.__esModule?e:{default:e}}var u=void 0;function l(e,t){var n,a,s,c,f,d,p,h,g=[],y={};for(d=0;d<e.length;d++)if("string"!==(f=e[d]).type){if(!t.hasOwnProperty(f.value)||void 0===t[f.value])throw new Error("Invalid interpolation, missing component node: `"+f.value+"`");if("object"!==r(t[f.value]))throw new Error("Invalid interpolation, component node must be a ReactElement or null: `"+f.value+"`","\n> "+u);if("componentClose"===f.type)throw new Error("Missing opening component token: `"+f.value+"`");if("componentOpen"===f.type){n=t[f.value],s=d;break}g.push(t[f.value])}else g.push(f.value);return n&&(c=function(e,t){var n,r,o=t[e],i=0;for(r=e+1;r<t.length;r++)if((n=t[r]).value===o.value){if("componentOpen"===n.type){i++;continue}if("componentClose"===n.type){if(0===i)return r;i--}}throw new Error("Missing closing component token `"+o.value+"`")}(s,e),p=l(e.slice(s+1,c),t),a=o.default.cloneElement(n,{},p),g.push(a),c<e.length-1&&(h=l(e.slice(c+1),t),g=g.concat(h))),1===g.length?g[0]:(g.forEach(function(e,t){e&&(y["interpolation-child-"+t]=e)}),(0,i.default)(y))}t.default=function(e){var t=e.mixedString,n=e.components,o=e.throwErrors;if(u=t,!n)return t;if("object"!==(void 0===n?"undefined":r(n))){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because components is not an object");return t}var i=(0,a.default)(t);try{return l(i,n)}catch(e){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because of error `"+e.message+"`");return t}}},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){var r=n(45),o=n(81);e.exports=n(52)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(276),o=n(161);e.exports=function(e){return r(o(e))}},function(e,t){e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(n)return[e,t];return e},e.exports=t.default},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";var r=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.serialize=function(){return"Anchor: "+this.getAnchorKey()+":"+this.getAnchorOffset()+", Focus: "+this.getFocusKey()+":"+this.getFocusOffset()+", Is Backward: "+String(this.getIsBackward())+", Has Focus: "+String(this.getHasFocus())},t.prototype.getAnchorKey=function(){return this.get("anchorKey")},t.prototype.getAnchorOffset=function(){return this.get("anchorOffset")},t.prototype.getFocusKey=function(){return this.get("focusKey")},t.prototype.getFocusOffset=function(){return this.get("focusOffset")},t.prototype.getIsBackward=function(){return this.get("isBackward")},t.prototype.getHasFocus=function(){return this.get("hasFocus")},t.prototype.hasEdgeWithin=function(e,t,n){var r=this.getAnchorKey(),o=this.getFocusKey();if(r===o&&r===e){var i=this.getStartOffset();return t<=this.getEndOffset()&&i<=n}if(e!==r&&e!==o)return!1;var a=e===r?this.getAnchorOffset():this.getFocusOffset();return t<=a&&n>=a},t.prototype.isCollapsed=function(){return this.getAnchorKey()===this.getFocusKey()&&this.getAnchorOffset()===this.getFocusOffset()},t.prototype.getStartKey=function(){return this.getIsBackward()?this.getFocusKey():this.getAnchorKey()},t.prototype.getStartOffset=function(){return this.getIsBackward()?this.getFocusOffset():this.getAnchorOffset()},t.prototype.getEndKey=function(){return this.getIsBackward()?this.getAnchorKey():this.getFocusKey()},t.prototype.getEndOffset=function(){return this.getIsBackward()?this.getAnchorOffset():this.getFocusOffset()},t.createEmpty=function(e){return new t({anchorKey:e,anchorOffset:0,focusKey:e,focusOffset:0,isBackward:!1,hasFocus:!1})},t}((0,n(4).Record)({anchorKey:"",anchorOffset:0,focusKey:"",focusOffset:0,isBackward:!1,hasFocus:!1}));e.exports=r},function(e,t,n){"use strict";function r(e){return e.replace(/\//g,"-")}e.exports=function(e){return"object"==typeof e?Object.keys(e).filter(function(t){return e[t]}).map(r).join(" "):Array.prototype.map.call(arguments,r).join(" ")}},function(e,t,n){var r=n(872),o=n(875);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(75),o=n(977),i=n(978),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){var r=n(37).Symbol;e.exports=r},function(e,t,n){var r=n(204),o=n(362);e.exports=function(e,t,n,i){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=i?i(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?o(n,l,c):r(n,l,c)}return n}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(32).Symbol;e.exports=r},function(e,t,n){var r=n(237),o=n(238);e.exports=function(e,t,n,i){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=i?i(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?o(n,l,c):r(n,l,c)}return n}},function(e,t,n){e.exports=n(561)()},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(275),o=n(165);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(161);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(4).OrderedMap,o={createFromArray:function(e){return r(e.map(function(e){return[e.getKey(),e]}))}};e.exports=o},function(e,t,n){"use strict";e.exports=function(e,t,n,r){if(e.size){var o=0;e.reduce(function(e,i,a){return t(e,i)||(n(e)&&r(o,a),o=a),i}),n(e.last())&&r(o,e.count())}}},function(e,t,n){"use strict";e.exports=function(e){return"handled"===e||!0===e}},function(e,t,n){"use strict";var r=n(22);e.exports=function(e,t,n){var o=e.getSelection(),i=e.getCurrentContent(),a=o;if(o.isCollapsed()){if("forward"===n){if(e.isSelectionAtEndOfContent())return i}else if(e.isSelectionAtStartOfContent())return i;if((a=t(e))===o)return i}return r.removeRange(i,a,n)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SiteSEOReport=t.renderRatingToColor=t.AnalysisList=t.AnalysisResult=t.ContentAnalysis=void 0;var r=n(360),o=u(r),i=u(n(965)),a=u(n(361)),s=u(n(966));function u(e){return e&&e.__esModule?e:{default:e}}t.ContentAnalysis=i.default,t.AnalysisResult=a.default,t.AnalysisList=o.default,t.renderRatingToColor=r.renderRatingToColor,t.SiteSEOReport=s.default},function(e,t,n){var r=n(369),o=n(993),i=n(121);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){var r=n(129),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){e.exports=n(1091)()},function(e,t,n){var r=n(234),o=n(430),i=n(484),a=n(146),s=n(79),u=n(495),l=n(225),c=n(248),f=l(function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,function(t){return t=a(t,e),l||(l=t.length>1),t}),s(e,c(e),n),l&&(n=o(n,7,u));for(var f=t.length;f--;)i(n,t[f]);return n});e.exports=f},function(e,t,n){var r=n(432),o=n(433),i=n(434),a=n(435),s=n(436);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(235);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(50)(Object,"create");e.exports=r},function(e,t,n){var r=n(450);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(469),o=n(137),i=n(470),a=n(471),s=n(231),u=n(61),l=n(229),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(581));t.default=r.default},function(e,t){e.exports=!0},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r=n(596)(!0);n(280)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={set:function(e,t,n){e[t]=n}}},function(e,t,n){var r=n(54),o=n(55),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(35).Symbol;e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TriggerReplacementVariableSuggestionsButton=t.SimulatedLabel=t.StyledEditor=t.FormSection=t.DescriptionInputContainer=t.TitleInputContainer=t.withCaretStyles=t.InputContainer=t.angleLeft=t.angleRight=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1)),o=n(8),i=n(3),a=n(7);const s=t.angleRight=(e=>"data:image/svg+xml;charset=utf8,"+encodeURIComponent('<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path fill="'+e+'" d="M1152 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z" /></svg>')),u=t.angleLeft=(e=>"data:image/svg+xml;charset=utf8,"+encodeURIComponent('<svg width="1792" height="1792" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path fill="'+e+'" d="M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"/></svg>'));function l(e){switch(!0){case e.isActive:return i.colors.$color_snippet_focus;case e.isHovered:return i.colors.$color_snippet_hover;default:return"transparent"}}const c=t.InputContainer=r.default.div.attrs({}).withConfig({displayName:"shared__InputContainer",componentId:"sc-1qsmlb9-0"})(["flex:0 1 100%;border:1px solid ",";padding:3px 5px;box-sizing:border-box;box-shadow:",";background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out;position:relative;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;font-size:14px;cursor:text;"],e=>e.isActive?"#5b9dd9":"#ddd",e=>e.isActive?"0 0 2px rgba(30,140,190,.8);":"inset 0 1px 2px rgba(0,0,0,.07)");function f(e){return(0,a.getDirectionalStyle)(s(l(e)),u(l(e)))(e)}t.withCaretStyles=(e=>(0,r.default)(e).withConfig({displayName:"shared",componentId:"sc-1qsmlb9-1"})(["&::before{display:block;position:absolute;top:-1px;",":-25px;width:24px;height:24px;background-image:url( ",' );background-size:25px;content:"";}'],(0,a.getDirectionalStyle)("left","right"),f)),t.TitleInputContainer=(0,r.default)(c).withConfig({displayName:"shared__TitleInputContainer",componentId:"sc-1qsmlb9-2"})([".public-DraftStyleDefault-block{line-height:24px;}"]),t.DescriptionInputContainer=(0,r.default)(c).withConfig({displayName:"shared__DescriptionInputContainer",componentId:"sc-1qsmlb9-3"})(["min-height:72px;padding:2px 6px;line-height:24px;.public-DraftEditorPlaceholder-root{color:",";}.public-DraftEditorPlaceholder-hasFocus{color:",";}"],i.colors.$color_grey_text,i.colors.$color_grey_text),t.FormSection=r.default.div.withConfig({displayName:"shared__FormSection",componentId:"sc-1qsmlb9-4"})(["display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:24px 0 0 0;"]),t.StyledEditor=r.default.section.withConfig({displayName:"shared__StyledEditor",componentId:"sc-1qsmlb9-5"})(["padding:",";"],e=>e.padding?e.padding:"0 20px"),t.SimulatedLabel=r.default.div.withConfig({displayName:"shared__SimulatedLabel",componentId:"sc-1qsmlb9-6"})(["flex:1 1 200px;min-width:200px;cursor:pointer;font-size:16px;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;margin:4px 0;"]),t.TriggerReplacementVariableSuggestionsButton=(0,r.default)(o.Button).withConfig({displayName:"shared__TriggerReplacementVariableSuggestionsButton",componentId:"sc-1qsmlb9-7"})(["box-shadow:none;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;padding-left:8px;height:33px;border:1px solid #dbdbdb;font-size:13px;& svg{",":7px;fill:",";}"],(0,a.getDirectionalStyle)("margin-right","margin-left"),i.colors.$color_grey_dark)},function(e,t,n){"use strict";var r=n(313),o=n(314);e.exports=function(e,t){var n=t.getStartKey(),i=t.getStartOffset(),a=t.getEndKey(),s=t.getEndOffset(),u=o(e,t).getBlockMap(),l=u.keySeq(),c=l.indexOf(n),f=l.indexOf(a)+1;return r(u.slice(c,f).map(function(e,t){var r=e.getText(),o=e.getCharacterList();return n===a?e.merge({text:r.slice(i,s),characterList:o.slice(i,s)}):t===n?e.merge({text:r.slice(i),characterList:o.slice(i)}):t===a?e.merge({text:r.slice(0,s),characterList:o.slice(0,s)}):e}))}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(318),i=n(4),a=n(5),s=(0,i.Map)(),u=0;function l(e,t){console.warn("WARNING: "+e+' will be deprecated soon!\nPlease use "'+t+'" instead.')}var c={getLastCreatedEntityKey:function(){return l("DraftEntity.getLastCreatedEntityKey","contentState.getLastCreatedEntityKey"),c.__getLastCreatedEntityKey()},create:function(e,t,n){return l("DraftEntity.create","contentState.createEntity"),c.__create(e,t,n)},add:function(e){return l("DraftEntity.add","contentState.addEntity"),c.__add(e)},get:function(e){return l("DraftEntity.get","contentState.getEntity"),c.__get(e)},mergeData:function(e,t){return l("DraftEntity.mergeData","contentState.mergeEntityData"),c.__mergeData(e,t)},replaceData:function(e,t){return l("DraftEntity.replaceData","contentState.replaceEntityData"),c.__replaceData(e,t)},__getLastCreatedEntityKey:function(){return""+u},__create:function(e,t,n){return c.__add(new o({type:e,mutability:t,data:n||{}}))},__add:function(e){var t=""+ ++u;return s=s.set(t,e),t},__get:function(e){var t=s.get(e);return t||a(!1),t},__mergeData:function(e,t){var n=c.__get(e),o=r({},n.getData(),t),i=n.set("data",o);return s=s.set(e,i),i},__replaceData:function(e,t){var n=c.__get(e).set("data",t);return s=s.set(e,n),n}};e.exports=c},function(e,t,n){"use strict";var r={encode:function(e,t,n){return e+"-"+t+"-"+n},decode:function(e){var t=e.split("-"),n=t[0],r=t[1],o=t[2];return{blockKey:n,decoratorKey:parseInt(r,10),leafKey:parseInt(o,10)}}};e.exports=r},function(e,t,n){var r=n(347),o=n(198);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(888),o=n(344),i=n(112);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){var r=n(894),o=n(895),i=n(896),a=n(897),s=n(898);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(352);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(73)(Object,"create");e.exports=r},function(e,t,n){var r=n(912);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(106),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){e.exports=n(962)()},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(364),o=n(206);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(1001),o=n(1002),i=n(1003),a=n(1004),s=n(1005);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(120);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(59)(Object,"create");e.exports=r},function(e,t,n){var r=n(1019);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(1034),o=n(214),i=n(1035),a=n(1036),s=n(1037),u=n(74),l=n(366),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t,n){var r=n(38),o=n(219),i=n(1041),a=n(1044);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){var r=n(74),o=n(48),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getXPathText=i,t.parseFeed=s,t.default=function(e,t=0,n=o.parseFeedItem){return fetch(e).then(function(e){return e.text()}).then(function(e){return s(e,t,n)})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(399)),o=n(223);function i(e,t,n=null,r=null){if(0===t.evaluate("count("+e+")",n||t,r,XPathResult.ANY_TYPE,null).numberValue)return;const o=t.evaluate(e,n||t,r,XPathResult.STRING_TYPE,null);return o.stringValue?o.stringValue:null}function a(e,t,n,r){const o=function(e,t,n=null,r=null){return t.evaluate(e,n||t,r,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)}("/rss/channel/item",e);let i=o.snapshotLength;const a=[];0!==n&&(i=Math.min(i,n));for(let n=0;n<i;n++){const i=o.snapshotItem(n);a.push(r(e,i,t))}return a}function s(e,t=0,n){return new Promise(function(o,s){try{"evaluate"in document==!1&&r.default.install();const u=(new DOMParser).parseFromString(e,"application/xml"),l=u.createNSResolver(u.documentElement),c=function(e){const t={};return t.title=i("/rss/channel/title",e),t.description=i("/rss/channel/description",e),t.link=i("/rss/channel/link",e),t}(u);c.items=a(u,l,t,n),o(c)}catch(e){s(e)}})}},function(e,t,n){var r=n(132),o=n(133);function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}i.prototype=r(o.prototype),i.prototype.constructor=i,e.exports=i},function(e,t,n){var r=n(77),o=Object.create,i=function(){function e(){}return function(t){if(!r(t))return{};if(o)return o(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=i},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},function(e,t,n){var r=n(407),o=n(41),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){var r=n(132),o=n(133),i=4294967295;function a(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=i,this.__views__=[]}a.prototype=r(o.prototype),a.prototype.constructor=a,e.exports=a},function(e,t,n){var r=n(50)(n(32),"Map");e.exports=r},function(e,t,n){var r=n(239),o=n(242),i=n(142);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){(function(e){var r=n(32),o=n(457),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(226),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t,n){var r=n(228),o=n(241);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(466),o=n(245),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return i.call(e,t)}))}:o;e.exports=s},function(e,t,n){var r=n(243)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(474);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){var r=n(33),o=n(485),i=n(486),a=n(489);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){var r=n(61),o=n(41),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.speak=t.setup=void 0;var r=s(n(504)),o=s(n(505)),i=s(n(506)),a=s(n(507));function s(e){return e&&e.__esModule?e:{default:e}}var u=t.setup=function(){var e=document.getElementById("a11y-speak-polite"),t=document.getElementById("a11y-speak-assertive");null===e&&(e=(0,r.default)("polite")),null===t&&(t=(0,r.default)("assertive"))};(0,i.default)(u);t.speak=function(e,t){(0,o.default)(),e=(0,a.default)(e);var n=document.getElementById("a11y-speak-polite"),r=document.getElementById("a11y-speak-assertive");r&&"assertive"===t?r.textContent=e:n&&(n.textContent=e)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(151)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(2));function i(e){return e&&e.__esModule?e:{default:e}}const a=e=>{const t=`h${e.level}`;return r.default.createElement(t,{className:e.className},e.children)};a.propTypes={level:o.default.number,className:o.default.string,children:o.default.any},a.defaultProps={level:1},t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YoastButton=t.YoastButtonBase=void 0,t.addButtonStyles=c;var r=s(n(0)),o=s(n(2)),i=s(n(1)),a=n(3);function s(e){return e&&e.__esModule?e:{default:e}}const u={minHeight:48,verticalPadding:0,borderWidth:0},l=u.minHeight-2*u.verticalPadding-2*u.borderWidth;function c(e){return(0,i.default)(e).withConfig({displayName:"YoastButton",componentId:"v1c803-0"})(["display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:",";margin:0;padding:0 16px;padding:",' 16px;border:0;border-radius:4px;box-sizing:border-box;font:400 14px/24px "Open Sans",sans-serif;text-transform:uppercase;box-shadow:0 2px 8px 0 ',";transition:box-shadow 150ms ease-out;&:hover,&:focus,&:active{box-shadow:0 4px 10px 0 ",",inset 0 0 0 100px ",";color:",';}&:active{transform:translateY( 1px );box-shadow:none;}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){::after{display:inline-block;content:"";min-height:',";}}"],`${u.minHeight}px`,`${u.verticalPadding}px`,(0,a.rgba)(a.colors.$color_black,.3),(0,a.rgba)(a.colors.$color_black,.2),(0,a.rgba)(a.colors.$color_black,.1),e=>e.textColor,`${l}px`)}const f=t.YoastButtonBase=(({className:e,onClick:t,type:n,children:o,isExpanded:i})=>r.default.createElement("button",{className:e,onClick:t,type:n,"aria-expanded":i},r.default.createElement("span",null,o)));f.propTypes={className:o.default.string,onClick:o.default.func,type:o.default.string,isExpanded:o.default.bool,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node,o.default.string])},f.defaultProps={type:"button"};const d=t.YoastButton=c((0,i.default)(f).withConfig({displayName:"YoastButton",componentId:"v1c803-1"})(["color:",";background:",";min-width:152px;",";overflow:visible;cursor:pointer;&::-moz-focus-inner{border-width:0;}span{display:inherit;align-items:inherit;justify-content:inherit;width:100%;}"],e=>e.textColor,e=>e.backgroundColor,e=>e.withTextShadow?`text-shadow: 0 0 2px ${a.colors.$color_black}`:""));d.propTypes={backgroundColor:o.default.string,textColor:o.default.string,withTextShadow:o.default.bool},d.defaultProps={backgroundColor:a.colors.$color_green_medium_light,textColor:a.colors.$color_white,withTextShadow:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(557)).default,o=r.canUseDOM?window.HTMLElement:{};t.canUseDOM=r.canUseDOM;t.default=o},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}.bind(this))}function i(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==s){var u=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==s?"\n "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=i;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return a}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},function(e,t,n){"use strict";t.__esModule=!0;var r=i(n(577)),o=i(n(157));i(n(271)),i(n(272));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){return(0,r.default)(function(e,t){return!(0,o.default)(e,t)})(e)}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(580));t.default=r.default},function(e,t,n){var r=n(585);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(65);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(164)("keys"),o=n(102);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(21),o=n(44),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(101)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(594)),o=a(n(603)),i="function"==typeof o.default&&"symbol"==typeof r.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};function a(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof o.default&&"symbol"===i(r.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":i(e)}},function(e,t,n){var r=n(51),o=n(598),i=n(165),a=n(163)("IE_PROTO"),s=function(){},u=function(){var e,t=n(274)("iframe"),r=i.length;for(t.style.display="none",n(599).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(45).f,o=n(53),i=n(28)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){n(600);for(var r=n(44),o=n(64),i=n(68),a=n(28)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var l=s[u],c=r[l],f=c&&c.prototype;f&&!f[a]&&o(f,a,l),i[l]=i.Array}},function(e,t,n){t.f=n(28)},function(e,t,n){var r=n(44),o=n(21),i=n(101),a=n(171),s=n(45).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.red50="#ffebee",t.red100="#ffcdd2",t.red200="#ef9a9a",t.red300="#e57373",t.red400="#ef5350",t.red500="#f44336",t.red600="#e53935",t.red700="#d32f2f",t.red800="#c62828",t.red900="#b71c1c",t.redA100="#ff8a80",t.redA200="#ff5252",t.redA400="#ff1744",t.redA700="#d50000",t.pink50="#fce4ec",t.pink100="#f8bbd0",t.pink200="#f48fb1",t.pink300="#f06292",t.pink400="#ec407a",t.pink500="#e91e63",t.pink600="#d81b60",t.pink700="#c2185b",t.pink800="#ad1457",t.pink900="#880e4f",t.pinkA100="#ff80ab",t.pinkA200="#ff4081",t.pinkA400="#f50057",t.pinkA700="#c51162",t.purple50="#f3e5f5",t.purple100="#e1bee7",t.purple200="#ce93d8",t.purple300="#ba68c8",t.purple400="#ab47bc",t.purple500="#9c27b0",t.purple600="#8e24aa",t.purple700="#7b1fa2",t.purple800="#6a1b9a",t.purple900="#4a148c",t.purpleA100="#ea80fc",t.purpleA200="#e040fb",t.purpleA400="#d500f9",t.purpleA700="#aa00ff",t.deepPurple50="#ede7f6",t.deepPurple100="#d1c4e9",t.deepPurple200="#b39ddb",t.deepPurple300="#9575cd",t.deepPurple400="#7e57c2",t.deepPurple500="#673ab7",t.deepPurple600="#5e35b1",t.deepPurple700="#512da8",t.deepPurple800="#4527a0",t.deepPurple900="#311b92",t.deepPurpleA100="#b388ff",t.deepPurpleA200="#7c4dff",t.deepPurpleA400="#651fff",t.deepPurpleA700="#6200ea",t.indigo50="#e8eaf6",t.indigo100="#c5cae9",t.indigo200="#9fa8da",t.indigo300="#7986cb",t.indigo400="#5c6bc0",t.indigo500="#3f51b5",t.indigo600="#3949ab",t.indigo700="#303f9f",t.indigo800="#283593",t.indigo900="#1a237e",t.indigoA100="#8c9eff",t.indigoA200="#536dfe",t.indigoA400="#3d5afe",t.indigoA700="#304ffe",t.blue50="#e3f2fd",t.blue100="#bbdefb",t.blue200="#90caf9",t.blue300="#64b5f6",t.blue400="#42a5f5",t.blue500="#2196f3",t.blue600="#1e88e5",t.blue700="#1976d2",t.blue800="#1565c0",t.blue900="#0d47a1",t.blueA100="#82b1ff",t.blueA200="#448aff",t.blueA400="#2979ff",t.blueA700="#2962ff",t.lightBlue50="#e1f5fe",t.lightBlue100="#b3e5fc",t.lightBlue200="#81d4fa",t.lightBlue300="#4fc3f7",t.lightBlue400="#29b6f6",t.lightBlue500="#03a9f4",t.lightBlue600="#039be5",t.lightBlue700="#0288d1",t.lightBlue800="#0277bd",t.lightBlue900="#01579b",t.lightBlueA100="#80d8ff",t.lightBlueA200="#40c4ff",t.lightBlueA400="#00b0ff",t.lightBlueA700="#0091ea",t.cyan50="#e0f7fa",t.cyan100="#b2ebf2",t.cyan200="#80deea",t.cyan300="#4dd0e1",t.cyan400="#26c6da",t.cyan500="#00bcd4",t.cyan600="#00acc1",t.cyan700="#0097a7",t.cyan800="#00838f",t.cyan900="#006064",t.cyanA100="#84ffff",t.cyanA200="#18ffff",t.cyanA400="#00e5ff",t.cyanA700="#00b8d4",t.teal50="#e0f2f1",t.teal100="#b2dfdb",t.teal200="#80cbc4",t.teal300="#4db6ac",t.teal400="#26a69a",t.teal500="#009688",t.teal600="#00897b",t.teal700="#00796b",t.teal800="#00695c",t.teal900="#004d40",t.tealA100="#a7ffeb",t.tealA200="#64ffda",t.tealA400="#1de9b6",t.tealA700="#00bfa5",t.green50="#e8f5e9",t.green100="#c8e6c9",t.green200="#a5d6a7",t.green300="#81c784",t.green400="#66bb6a",t.green500="#4caf50",t.green600="#43a047",t.green700="#388e3c",t.green800="#2e7d32",t.green900="#1b5e20",t.greenA100="#b9f6ca",t.greenA200="#69f0ae",t.greenA400="#00e676",t.greenA700="#00c853",t.lightGreen50="#f1f8e9",t.lightGreen100="#dcedc8",t.lightGreen200="#c5e1a5",t.lightGreen300="#aed581",t.lightGreen400="#9ccc65",t.lightGreen500="#8bc34a",t.lightGreen600="#7cb342",t.lightGreen700="#689f38",t.lightGreen800="#558b2f",t.lightGreen900="#33691e",t.lightGreenA100="#ccff90",t.lightGreenA200="#b2ff59",t.lightGreenA400="#76ff03",t.lightGreenA700="#64dd17",t.lime50="#f9fbe7",t.lime100="#f0f4c3",t.lime200="#e6ee9c",t.lime300="#dce775",t.lime400="#d4e157",t.lime500="#cddc39",t.lime600="#c0ca33",t.lime700="#afb42b",t.lime800="#9e9d24",t.lime900="#827717",t.limeA100="#f4ff81",t.limeA200="#eeff41",t.limeA400="#c6ff00",t.limeA700="#aeea00",t.yellow50="#fffde7",t.yellow100="#fff9c4",t.yellow200="#fff59d",t.yellow300="#fff176",t.yellow400="#ffee58",t.yellow500="#ffeb3b",t.yellow600="#fdd835",t.yellow700="#fbc02d",t.yellow800="#f9a825",t.yellow900="#f57f17",t.yellowA100="#ffff8d",t.yellowA200="#ffff00",t.yellowA400="#ffea00",t.yellowA700="#ffd600",t.amber50="#fff8e1",t.amber100="#ffecb3",t.amber200="#ffe082",t.amber300="#ffd54f",t.amber400="#ffca28",t.amber500="#ffc107",t.amber600="#ffb300",t.amber700="#ffa000",t.amber800="#ff8f00",t.amber900="#ff6f00",t.amberA100="#ffe57f",t.amberA200="#ffd740",t.amberA400="#ffc400",t.amberA700="#ffab00",t.orange50="#fff3e0",t.orange100="#ffe0b2",t.orange200="#ffcc80",t.orange300="#ffb74d",t.orange400="#ffa726",t.orange500="#ff9800",t.orange600="#fb8c00",t.orange700="#f57c00",t.orange800="#ef6c00",t.orange900="#e65100",t.orangeA100="#ffd180",t.orangeA200="#ffab40",t.orangeA400="#ff9100",t.orangeA700="#ff6d00",t.deepOrange50="#fbe9e7",t.deepOrange100="#ffccbc",t.deepOrange200="#ffab91",t.deepOrange300="#ff8a65",t.deepOrange400="#ff7043",t.deepOrange500="#ff5722",t.deepOrange600="#f4511e",t.deepOrange700="#e64a19",t.deepOrange800="#d84315",t.deepOrange900="#bf360c",t.deepOrangeA100="#ff9e80",t.deepOrangeA200="#ff6e40",t.deepOrangeA400="#ff3d00",t.deepOrangeA700="#dd2c00",t.brown50="#efebe9",t.brown100="#d7ccc8",t.brown200="#bcaaa4",t.brown300="#a1887f",t.brown400="#8d6e63",t.brown500="#795548",t.brown600="#6d4c41",t.brown700="#5d4037",t.brown800="#4e342e",t.brown900="#3e2723",t.blueGrey50="#eceff1",t.blueGrey100="#cfd8dc",t.blueGrey200="#b0bec5",t.blueGrey300="#90a4ae",t.blueGrey400="#78909c",t.blueGrey500="#607d8b",t.blueGrey600="#546e7a",t.blueGrey700="#455a64",t.blueGrey800="#37474f",t.blueGrey900="#263238",t.grey50="#fafafa",t.grey100="#f5f5f5",t.grey200="#eeeeee",t.grey300="#e0e0e0",t.grey400="#bdbdbd",t.grey500="#9e9e9e",t.grey600="#757575",t.grey700="#616161",t.grey800="#424242",t.grey900="#212121",t.black="#000000",t.white="#ffffff",t.transparent="rgba(0, 0, 0, 0)",t.fullBlack="rgba(0, 0, 0, 1)",t.darkBlack="rgba(0, 0, 0, 0.87)",t.lightBlack="rgba(0, 0, 0, 0.54)",t.minBlack="rgba(0, 0, 0, 0.26)",t.faintBlack="rgba(0, 0, 0, 0.12)",t.fullWhite="rgba(255, 255, 255, 1)",t.darkWhite="rgba(255, 255, 255, 0.87)",t.lightWhite="rgba(255, 255, 255, 0.54)"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&r.test(e)};var r=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(673)),i=u(n(0)),a=u(n(9)),s=(u(n(63)),n(674));function u(e){return e&&e.__esModule?e:{default:e}}a.default.any,a.default.func,a.default.node;var l=function(e){function t(n,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n,o));return i.performAppear=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillAppear?t.componentWillAppear(i._handleDoneAppearing.bind(i,e,t)):i._handleDoneAppearing(e,t)},i._handleDoneAppearing=function(e,t){t.componentDidAppear&&t.componentDidAppear(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e,t)},i.performEnter=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillEnter?t.componentWillEnter(i._handleDoneEntering.bind(i,e,t)):i._handleDoneEntering(e,t)},i._handleDoneEntering=function(e,t){t.componentDidEnter&&t.componentDidEnter(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e,t)},i.performLeave=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillLeave?t.componentWillLeave(i._handleDoneLeaving.bind(i,e,t)):i._handleDoneLeaving(e,t)},i._handleDoneLeaving=function(e,t){t.componentDidLeave&&t.componentDidLeave(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)?i.keysToEnter.push(e):i.setState(function(t){var n=r({},t.children);return delete n[e],{children:n}})},i.childRefs=Object.create(null),i.state={children:(0,s.getChildMapping)(n.children)},i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.componentWillMount=function(){this.currentlyTransitioningKeys={},this.keysToEnter=[],this.keysToLeave=[]},t.prototype.componentDidMount=function(){var e=this.state.children;for(var t in e)e[t]&&this.performAppear(t,this.childRefs[t])},t.prototype.componentWillReceiveProps=function(e){var t=(0,s.getChildMapping)(e.children),n=this.state.children;for(var r in this.setState({children:(0,s.mergeChildMappings)(n,t)}),t){var o=n&&n.hasOwnProperty(r);!t[r]||o||this.currentlyTransitioningKeys[r]||this.keysToEnter.push(r)}for(var i in n){var a=t&&t.hasOwnProperty(i);!n[i]||a||this.currentlyTransitioningKeys[i]||this.keysToLeave.push(i)}},t.prototype.componentDidUpdate=function(){var e=this,t=this.keysToEnter;this.keysToEnter=[],t.forEach(function(t){return e.performEnter(t,e.childRefs[t])});var n=this.keysToLeave;this.keysToLeave=[],n.forEach(function(t){return e.performLeave(t,e.childRefs[t])})},t.prototype.render=function(){var e=this,t=[],n=function(n){var r=e.state.children[n];if(r){var a="string"!=typeof r.ref,s=e.props.childFactory(r),u=function(t){e.childRefs[n]=t};s===r&&a&&(u=(0,o.default)(r.ref,u)),t.push(i.default.cloneElement(s,{key:n,ref:u}))}};for(var a in this.state.children)n(a);var s=r({},this.props);return delete s.transitionLeave,delete s.transitionName,delete s.transitionAppear,delete s.transitionEnter,delete s.childFactory,delete s.transitionLeaveTimeout,delete s.transitionEnterTimeout,delete s.transitionAppearTimeout,delete s.component,i.default.createElement(this.props.component,s,t)},t}(i.default.Component);l.displayName="TransitionGroup",l.propTypes={},l.defaultProps={component:"span",childFactory:function(e){return e}},t.default=l,e.exports=t.default},function(e,t,n){var r=n(178),o=0;e.exports=function(e){var t=++o;return r(e)+t}},function(e,t,n){var r=n(303);e.exports=function(e){return null==e?"":r(e)}},function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t){e.exports=window.yoast.analysis},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=t.MODE_MOBILE="mobile",o=t.MODE_DESKTOP="desktop",i=t.MODES=[o,r],a=t.DEFAULT_MODE=r;t.default={MODE_MOBILE:r,MODE_DESKTOP:o,MODES:i,DEFAULT_MODE:a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(0)),o=f(n(17)),i=f(n(177)),a=n(10),s=n(8),u=f(n(742)),l=n(108),c=n(58);function f(e){return e&&e.__esModule?e:{default:e}}class d extends r.default.Component{constructor(e){switch(super(e),this.uniqueId=(0,i.default)(),e.type){case"description":this.InputContainer=l.DescriptionInputContainer;break;case"title":this.InputContainer=l.TitleInputContainer;break;default:this.InputContainer=l.TitleInputContainer}e.withCaret&&(this.InputContainer=(0,l.withCaretStyles)(this.InputContainer)),this.triggerReplacementVariableSuggestions=this.triggerReplacementVariableSuggestions.bind(this)}triggerReplacementVariableSuggestions(){this.ref.triggerReplacementVariableSuggestions()}render(){var e=this.props;const t=e.label,n=e.onChange,o=e.content,i=e.onFocus,c=e.onBlur,f=e.isActive,d=e.isHovered,p=e.replacementVariables,h=e.recommendedReplacementVariables,g=e.editorRef,y=e.placeholder,m=e.fieldId,v=this.InputContainer,b=r.default.createElement(l.TriggerReplacementVariableSuggestionsButton,{onClick:()=>this.triggerReplacementVariableSuggestions()},r.default.createElement(s.SvgIcon,{icon:"plus-circle"}),(0,a.__)("Insert snippet variable","yoast-components"));return r.default.createElement(r.default.Fragment,null,r.default.createElement(l.SimulatedLabel,{id:this.uniqueId,onClick:i},t),b,r.default.createElement(v,{onClick:i,isActive:f,isHovered:d},r.default.createElement(u.default,{fieldId:m,placeholder:y,content:o,onChange:n,onFocus:i,onBlur:c,replacementVariables:p,recommendedReplacementVariables:h,ref:e=>{this.ref=e,g(e)},ariaLabelledBy:this.uniqueId})))}}d.propTypes={editorRef:o.default.func,content:o.default.string.isRequired,onChange:o.default.func.isRequired,onBlur:o.default.func,replacementVariables:c.replacementVariablesShape,recommendedReplacementVariables:c.recommendedReplacementVariablesShape,isActive:o.default.bool,isHovered:o.default.bool,withCaret:o.default.bool,onFocus:o.default.func,label:o.default.string,placeholder:o.default.string,type:o.default.oneOf(["title","description"]),fieldId:o.default.string},d.defaultProps={replacementVariables:[]},t.default=d},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=n(84),o=n(25),i=n(56),a=n(27),s=n(110),u=n(46),l=n(4),c=n(71),f=n(40),d=n(185),p=l.List,h=l.Record,g=l.Repeat,y=u.draft_tree_data_support?a:i,m=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getEntityMap=function(){return s},t.prototype.getBlockMap=function(){return this.get("blockMap")},t.prototype.getSelectionBefore=function(){return this.get("selectionBefore")},t.prototype.getSelectionAfter=function(){return this.get("selectionAfter")},t.prototype.getBlockForKey=function(e){return this.getBlockMap().get(e)},t.prototype.getKeyBefore=function(e){return this.getBlockMap().reverse().keySeq().skipUntil(function(t){return t===e}).skip(1).first()},t.prototype.getKeyAfter=function(e){return this.getBlockMap().keySeq().skipUntil(function(t){return t===e}).skip(1).first()},t.prototype.getBlockAfter=function(e){return this.getBlockMap().skipUntil(function(t,n){return n===e}).skip(1).first()},t.prototype.getBlockBefore=function(e){return this.getBlockMap().reverse().skipUntil(function(t,n){return n===e}).skip(1).first()},t.prototype.getBlocksAsArray=function(){return this.getBlockMap().toArray()},t.prototype.getFirstBlock=function(){return this.getBlockMap().first()},t.prototype.getLastBlock=function(){return this.getBlockMap().last()},t.prototype.getPlainText=function(e){return this.getBlockMap().map(function(e){return e?e.getText():""}).join(e||"\n")},t.prototype.getLastCreatedEntityKey=function(){return s.__getLastCreatedEntityKey()},t.prototype.hasText=function(){var e=this.getBlockMap();return e.size>1||e.first().getLength()>0},t.prototype.createEntity=function(e,t,n){return s.__create(e,t,n),this},t.prototype.mergeEntityData=function(e,t){return s.__mergeData(e,t),this},t.prototype.replaceEntityData=function(e,t){return s.__replaceData(e,t),this},t.prototype.addEntity=function(e){return s.__add(e),this},t.prototype.getEntity=function(e){return s.__get(e)},t.createFromBlockArray=function(e,n){var o=Array.isArray(e)?e:e.contentBlocks,i=r.createFromArray(o),a=i.isEmpty()?new c:c.createEmpty(i.first().getKey());return new t({blockMap:i,entityMap:n||s,selectionBefore:a,selectionAfter:a})},t.createFromText=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\r\n?|\n/g,r=e.split(n).map(function(e){return e=d(e),new y({key:f(),text:e,type:"unstyled",characterList:p(g(o.EMPTY,e.length))})});return t.createFromBlockArray(r)},t}(h({entityMap:null,blockMap:null,selectionBefore:null,selectionAfter:null}));e.exports=m},function(e,t,n){"use strict";var r=new RegExp("\r","g");e.exports=function(e){return e.replace(r,"")}},function(e,t,n){"use strict";var r=n(5),o="LTR",i="RTL",a=null;function s(e){return e===o||e===i}function u(e){return s(e)||r(!1),e===o?"ltr":"rtl"}function l(e){a=e}var c={NEUTRAL:"NEUTRAL",LTR:o,RTL:i,isStrong:s,getHTMLDir:u,getHTMLDirIfDifferent:function(e,t){return s(e)||r(!1),s(t)||r(!1),e===t?null:u(e)},setGlobalDir:l,initGlobalDir:function(){l(o)},getGlobalDir:function(){return a||this.initGlobalDir(),a||r(!1),a}};e.exports=c},function(e,t,n){"use strict";var r=n(4).Map,o=n(0),i=n(72),a=r({"header-one":{element:"h1"},"header-two":{element:"h2"},"header-three":{element:"h3"},"header-four":{element:"h4"},"header-five":{element:"h5"},"header-six":{element:"h6"},"unordered-list-item":{element:"li",wrapper:o.createElement("ul",{className:i("public/DraftStyleDefault/ul")})},"ordered-list-item":{element:"li",wrapper:o.createElement("ol",{className:i("public/DraftStyleDefault/ol")})},blockquote:{element:"blockquote"},atomic:{element:"figure"},"code-block":{element:"pre",wrapper:o.createElement("pre",{className:i("public/DraftStyleDefault/pre")})},unstyled:{element:"div",aliasedElements:["p"]}});e.exports=a},function(e,t,n){"use strict";e.exports={BACKSPACE:8,TAB:9,RETURN:13,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188,PERIOD:190,A:65,Z:90,ZERO:48,NUMPAD_0:96,NUMPAD_9:105}},function(e,t,n){"use strict";function r(e,t){return t&&"MUTABLE"===e.__get(t).getMutability()?t:null}e.exports=function(e,t){var n;if(t.isCollapsed()){var o=t.getAnchorKey(),i=t.getAnchorOffset();return i>0?(n=e.getBlockForKey(o).getEntityAt(i-1))!==e.getBlockForKey(o).getEntityAt(i)?null:r(e.getEntityMap(),n):null}var a=t.getStartKey(),s=t.getStartOffset(),u=e.getBlockForKey(a);return n=s===u.getLength()?null:u.getEntityAt(s),r(e.getEntityMap(),n)}},function(e,t,n){"use strict";var r=n(776);e.exports=function e(t,n){return!(!t||!n)&&(t===n||!r(t)&&(r(n)?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}},function(e,t,n){"use strict";function r(e,t){var n=o.get(e,t);return"auto"===n||"scroll"===n}var o={get:n(778),getScrollParent:function(e){if(!e)return null;for(var t=e.ownerDocument;e&&e!==t.body;){if(r(e,"overflow")||r(e,"overflowY")||r(e,"overflowX"))return e;e=e.parentNode}return t.defaultView||t.parentWindow}};e.exports=o},function(e,t,n){"use strict";var r=n(783),o=n(784);e.exports=function(e){var t=r(e.ownerDocument||e.document);e.Window&&e instanceof e.Window&&(e=t);var n=o(e),i=e===t?e.ownerDocument.documentElement:e,a=e.scrollWidth-i.clientWidth,s=e.scrollHeight-i.clientHeight;return n.x=Math.max(0,Math.min(n.x,a)),n.y=Math.max(0,Math.min(n.y,s)),n}},function(e,t,n){"use strict";var r=n(326);e.exports=function(e){for(var t=e;t&&t!==document.documentElement;){var n=r(t);if(null!=n)return n;t=t.parentNode}return null}},function(e,t,n){"use strict";var r=n(36).isPlatform("Mac OS X"),o={isCtrlKeyCommand:function(e){return!!e.ctrlKey&&!e.altKey},isOptionKeyCommand:function(e){return r&&e.altKey},hasCommandModifier:function(e){return r?!!e.metaKey&&!e.altKey:o.isCtrlKeyCommand(e)}};e.exports=o},function(e,t,n){"use strict";e.exports=function(e,t){var n=e.getSelection(),r=e.getCurrentContent(),o=n.getStartKey(),i=n.getStartOffset(),a=o,s=0;if(t>i){var u=r.getKeyBefore(o);null==u?a=o:(a=u,s=r.getBlockForKey(u).getText().length)}else s=i-t;return n.merge({focusKey:a,focusOffset:s,isBackward:!0})}},function(e,t,n){var r=n(73)(n(35),"Map");e.exports=r},function(e,t,n){var r=n(879),o=n(55),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t,n){(function(e){var r=n(35),o=n(880),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t,n){var r=n(881),o=n(309),i=n(310),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(904),o=n(911),i=n(913),a=n(914),s=n(915);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(30),o=n(106),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||a.test(e)||!i.test(e)||null!=t&&e in Object(t)}},function(e,t){e.exports=window.lodash},function(e,t,n){var r=n(362),o=n(120),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];i.call(e,t)&&o(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t){e.exports=function(e){return e}},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){var r=n(990),o=n(48),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){(function(e){var r=n(37),o=n(991),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(365),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setSeoResultsForKeyword=function(e,t){return{type:i,keyword:e,results:t}},t.setSeoResults=function(e){return{type:o,resultsPerKeyword:e}},t.updateSeoResult=function(e,t){return{type:a,keyword:e,result:t}},t.removeKeyword=function(e){return{type:s,keyword:e}},t.setReadabilityResults=function(e){return{type:u,results:e}},t.updateReadabilityResult=function(e){return{type:l,result:e}},t.setOverallReadabilityScore=function(e){return{type:c,overallScore:e}},t.setOverallSeoScore=function(e,t){return{type:f,keyword:t,overallScore:e}};const r="CONTENT_ANALYSIS_",o=t.SET_SEO_RESULTS=`${r}SET_SEO_RESULTS`,i=t.SET_SEO_RESULTS_FOR_KEYWORD=`${r}SET_SEO_RESULTS_FOR_KEYWORD`,a=t.UPDATE_SEO_RESULT=`${r}UPDATE_SEO_RESULT`,s=t.REMOVE_KEYWORD=`${r}REMOVE_KEYWORD`,u=t.SET_READABILITY_RESULTS=`${r}SET_READABILITY_RESULTS`,l=t.UPDATE_READABILITY_RESULT=`${r}UPDATE_READABILITY_RESULT`,c=t.SET_OVERALL_READABILITY_SCORE=`${r}SET_OVERALL_READABILITY_SCORE`,f=t.SET_OVERALL_SEO_SCORE=`${r}SET_OVERALL_SEO_SCORE`},function(e,t,n){var r=n(123),o=n(1006),i=n(1007),a=n(1008),s=n(1009),u=n(1010);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t,n){var r=n(59)(n(37),"Map");e.exports=r},function(e,t,n){var r=n(1011),o=n(1018),i=n(1020),a=n(1021),s=n(1022);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},function(e,t,n){var r=n(1033),o=n(378),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return i.call(e,t)}))}:o;e.exports=s},function(e,t,n){var r=n(128),o=n(90);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t,n){var r=n(38),o=n(129),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||a.test(e)||!i.test(e)||null!=t&&e in Object(t)}},function(e,t,n){var r=n(371)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(375);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){e.exports=n(392)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseFeedItem=i,t.default=function(e,t){return(0,o.default)(e,t,i)};var r=n(130),o=function(e){return e&&e.__esModule?e:{default:e}}(r);function i(e,t,n){const o={};return o.title=(0,r.getXPathText)("child::title",e,t),o.link=(0,r.getXPathText)("child::link",e,t),o.content=(0,r.getXPathText)("child::content:encoded",e,t,n),o.description=(0,r.getXPathText)("child::description",e,t),o.creator=(0,r.getXPathText)("child::dc:creator",e,t,n),o.date=(0,r.getXPathText)("child::pubDate",e,t),o}},function(e,t,n){var r=n(403)();e.exports=r},function(e,t,n){var r=n(404),o=n(410),i=n(412);e.exports=function(e){return i(o(e,void 0,r),e+"")}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t,n){var r=n(50),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,t,n){var r=n(61),o=n(77),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(421),o=n(422),i=r?function(e){return r.get(e)}:o;e.exports=i},function(e,t,n){var r=n(50)(n(32),"WeakMap");e.exports=r},function(e,t,n){var r=n(423),o=Object.prototype.hasOwnProperty;e.exports=function(e){for(var t=e.name+"",n=r[t],i=o.call(r,t)?n.length:0;i--;){var a=n[i],s=a.func;if(null==s||s==e)return a.name}return t}},function(e,t){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(442),o=n(449),i=n(451),a=n(452),s=n(453);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(238),o=n(235),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];i.call(e,t)&&o(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(227);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(456),o=n(135),i=n(33),a=n(139),s=n(458),u=n(240),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),c=!n&&o(e),f=!n&&!c&&a(e),d=!n&&!c&&!f&&u(e),p=n||c||f||d,h=p?r(e.length,String):[],g=h.length;for(var y in e)!t&&!l.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}},function(e,t,n){var r=n(459),o=n(140),i=n(141),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(97),o=n(460),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(239),o=n(462),i=n(142);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(134),o=n(144),i=n(143),a=n(245),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=o(e);return t}:a;e.exports=s},function(e,t,n){var r=n(134),o=n(33);e.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}},function(e,t,n){var r=n(247),o=n(246),i=n(244);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(147),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SectionTitle=t.StyledSubTitle=t.StyledTitle=t.StyledTitleContainer=void 0;var r=u(n(0)),o=u(n(2)),i=u(n(1)),a=n(3),s=u(n(251));function u(e){return e&&e.__esModule?e:{default:e}}const l=t.StyledTitleContainer=i.default.span.withConfig({displayName:"SectionTitle__StyledTitleContainer",componentId:"nlobus-0"})(["flex-grow:1;overflow-x:hidden;line-height:normal;"]),c=t.StyledTitle=i.default.span.withConfig({displayName:"SectionTitle__StyledTitle",componentId:"nlobus-1"})(["display:block;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;color:",";"],a.colors.$color_headings),f=t.StyledSubTitle=i.default.span.withConfig({displayName:"SectionTitle__StyledSubTitle",componentId:"nlobus-2"})(["display:block;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;font-size:0.8125rem;margin-top:2px;"]);(t.SectionTitle=(e=>r.default.createElement(l,null,r.default.createElement(c,null,e.title,e.titleScreenReaderText&&r.default.createElement(s.default,null," "+e.titleScreenReaderText)),e.subTitle&&r.default.createElement(f,null,e.subTitle)))).propTypes={title:o.default.string.isRequired,titleScreenReaderText:o.default.string,subTitle:o.default.string}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(252));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>r.default.createElement("span",{className:"screen-reader-text",style:i.default.ScreenReaderText.default},e.children);s.propTypes={children:o.default.string.isRequired},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={ScreenReaderText:{default:{clip:"rect(1px, 1px, 1px, 1px)",position:"absolute",height:"1px",width:"1px",overflow:"hidden"},focused:{clip:"auto",display:"block",left:"5px",top:"5px",height:"auto",width:"auto",zIndex:"100000",position:"absolute",backgroundColor:"#eeeeee ",padding:"10px"}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(0)),i=u(n(2)),a=u(n(60)),s=n(8);function u(e){return e&&e.__esModule?e:{default:e}}const l=e=>{const t=e.children,n=e.className,i=e.prefixIcon,u=e.suffixIcon,l=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["children","className","prefixIcon","suffixIcon"]);return o.default.createElement(a.default,r({className:n},l),i&&i.icon&&o.default.createElement(s.SvgIcon,{icon:i.icon,color:i.color,size:i.size}),t,u&&u.icon&&o.default.createElement(s.SvgIcon,{icon:u.icon,color:u.color,size:u.size}))};l.propTypes={className:i.default.string,prefixIcon:i.default.shape({icon:i.default.string,color:i.default.string,size:i.default.string}),suffixIcon:i.default.shape({icon:i.default.string,color:i.default.string,size:i.default.string}),children:i.default.oneOfType([i.default.arrayOf(i.default.node),i.default.node,i.default.string])},t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=f;var r=n(0),o=u(r),i=u(n(2)),a=u(n(1)),s=n(3);function u(e){return e&&e.__esModule?e:{default:e}}const l=a.default.span.withConfig({displayName:"CardBanner__BannerContents",componentId:"oi8gid-0"})(["position:absolute;top:8px;left:-8px;font-weight:500;color:",";line-height:16px;background-color:",";padding:8px 16px;box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);"],e=>e.textColor,e=>e.backgroundColor),c=a.default.span.withConfig({displayName:"CardBanner__BannerTriangle",componentId:"oi8gid-1"})(["position:absolute;top:40px;left:-8px;border-top:8px solid ",";border-left:8px solid transparent;"],s.colors.$color_purple_dark);function f(e){return o.default.createElement(r.Fragment,null,o.default.createElement(l,{backgroundColor:e.backgroundColor,textColor:e.textColor},e.children),o.default.createElement(c,null))}f.propTypes={backgroundColor:i.default.string,textColor:i.default.string,children:i.default.any},f.defaultProps={backgroundColor:s.colors.$color_pink_dark,textColor:s.colors.$color_white,children:null}},function(e,t,n){var r=n(510),o=n(515);e.exports=n(150)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=s;var o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return o.default.createElement("iframe",r({title:e.title},e))}s.propTypes={title:i.default.string.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default.Component{componentDidUpdate(){this.props.hasFocus&&this.ref.focus()}setReference(e){this.ref=e}render(){return o.default.createElement("input",r({ref:this.setReference.bind(this),type:this.props.type,name:this.props.name,defaultValue:this.props.value,onChange:this.props.onChange,autoComplete:this.props.autoComplete,className:this.props.className},this.props.optionalAttributes))}}s.propTypes={name:i.default.string.isRequired,type:i.default.oneOf(["button","checkbox","number","password","progress","radio","submit","text"]).isRequired,value:i.default.any,onChange:i.default.func,optionalAttributes:i.default.object,hasFocus:i.default.bool,autoComplete:i.default.string,className:i.default.string},s.defaultProps={name:"input",type:"text",value:"",hasFocus:!1,className:""},t.default=s},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(2));function i(e){return e&&e.__esModule?e:{default:e}}const a=e=>{const t=e.title,n=e.classNamePrefix,o=e.words,i=e.header,a=e.footer,s=r.default.createElement("ol",{className:n+"__list"},o.map(e=>r.default.createElement("li",{key:e,className:n+"__item"},e)));return r.default.createElement("div",{className:n},r.default.createElement("p",null,r.default.createElement("strong",null,t)),i,s,a)};a.propTypes={words:o.default.array.isRequired,title:o.default.string.isRequired,header:o.default.string,footer:o.default.string,classNamePrefix:o.default.string},a.defaultProps={classNamePrefix:"",header:"",footer:""},t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(0)),o=s(n(2)),i=s(n(1)),a=n(10);function s(e){return e&&e.__esModule?e:{default:e}}const u=i.default.span.withConfig({displayName:"WordOccurrences__ProminentWordOccurrence",componentId:"v5jj49-0"})(["display:inline-block;margin:2px 8px;"]),l=(0,i.default)(u).withConfig({displayName:"WordOccurrences__ProminentWord",componentId:"v5jj49-1"})(["font-weight:bold;overflow:hidden;text-overflow:ellipsis;"]),c=i.default.ol.withConfig({displayName:"WordOccurrences__WordOccurrencesList",componentId:"v5jj49-2"})(["list-style:none;padding:0;width:100%;margin:0;"]),f=i.default.li.withConfig({displayName:"WordOccurrences__WordBarContainer",componentId:"v5jj49-3"})(["margin:8px 0;height:calc( 1.375em + 4px );display:flex;max-width:600px;justify-content:space-between;background:linear-gradient( to right,rgba(164,40,106,0.2) ",",",",transparent );"],e=>e.barWidth,e=>e.barWidth),d=({word:e,occurrence:t,width:n})=>r.default.createElement(f,{barWidth:n},r.default.createElement(l,null,e),r.default.createElement(u,null,r.default.createElement("span",{"aria-hidden":!0},t),r.default.createElement("span",{className:"screen-reader-text"},(0,a.sprintf)((0,a.__)("%d occurrences","yoast-components"),t))));d.propTypes={word:o.default.string.isRequired,occurrence:o.default.number.isRequired,width:o.default.string.isRequired};class p extends r.default.Component{constructor(e){super(e),this.state={words:[...e.words]||[],occurrences:{min:0,max:0}}}static getDerivedStateFromProps(e){const t=[...e.words];t.sort((e,t)=>t.getOccurrences()-e.getOccurrences());const n=t.map(e=>e.getOccurrences());return{occurrences:{min:Math.min(...n),max:Math.max(...n)},words:t}}render(){return r.default.createElement(r.default.Fragment,null,this.props.header,r.default.createElement(c,{"aria-label":(0,a.__)("Prominent words","yoast-components")},this.state.words.map(e=>{const t=e.getWord(),n=e.getOccurrences(),o=`${n/this.state.occurrences.max*100}%`;return r.default.createElement(d,{key:`wordbar-${t}`,word:t,width:o,occurrence:n})})),this.props.footer)}}p.propTypes={words:o.default.array.isRequired,header:o.default.element,footer:o.default.element},p.defaultProps={header:null,footer:null},t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>o.default.createElement("label",r({htmlFor:e.for,className:e.className},e.optionalAttributes),e.children);s.propTypes={for:i.default.string.isRequired,optionalAttributes:i.default.shape({"aria-label":i.default.string,onClick:i.default.func,className:i.default.string}),children:i.default.any.isRequired,className:i.default.string},s.defaultProps={className:"",optionalAttributes:{}},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(2)),o=a(n(1)),i=n(3);function a(e){return e&&e.__esModule?e:{default:e}}const s=o.default.div.withConfig({displayName:"Paper",componentId:"sc-1fchzjl-0"})(["box-shadow:0 1px 2px rgba(0,0,0,0.2);background-color:",";min-height:",";"],e=>e.backgroundColor,e=>e.minHeight);s.propTypes={backgroundColor:r.default.string,minHeight:r.default.string},s.defaultProps={backgroundColor:i.colors.$color_white,minHeight:"0"},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(152));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>r.default.createElement("section",{className:e.className},e.headingText&&r.default.createElement(i.default,{level:e.headingLevel,className:e.headingClassName},e.headingText),e.children);s.propTypes={className:o.default.string,headingText:o.default.string,headingLevel:o.default.number,headingClassName:o.default.string,children:o.default.any},s.defaultProps={headingLevel:1},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputField=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1)),o=n(3);t.InputField=r.default.input.withConfig({displayName:"InputField",componentId:"sc-12z9z15-0"})(["&&&{padding:0 8px;min-height:34px;font-size:1em;box-shadow:inset 0 1px 2px ",";border:1px solid ",";border-radius:0;&:focus{border-color:#5b9dd9;box-shadow:0 0 2px ",";}}"],(0,o.rgba)(o.colors.$color_black,.07),o.colors.$color_input_border,(0,o.rgba)(o.colors.$color_snippet_focus,.8))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default.Component{render(){return o.default.createElement("textarea",r({ref:this.setReference.bind(this),name:this.props.name,value:this.props.value,onChange:this.props.onChange},this.props.optionalAttributes))}setReference(e){this.ref=e}componentDidUpdate(){this.props.hasFocus&&this.ref.focus()}}s.propTypes={name:i.default.string.isRequired,value:i.default.string,onChange:i.default.func,optionalAttributes:i.default.object,hasFocus:i.default.bool},s.defaultProps={name:"textarea",value:"",hasFocus:!1},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(a)};
18
  /*!
19
  * Adapted from jQuery UI core
20
  *
@@ -26,7 +26,7 @@ object-assign
26
  *
27
  * http://api.jqueryui.com/category/ui-core/
28
  */
29
- var r=/input|select|textarea|button|object/;function o(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow"):"none"==n.getPropertyValue("display")}function i(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||"a"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(o(t))return!1;t=t.parentNode}return!0}(e)}function a(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&i(e,!n)}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=a,t.setElement=function(e){var t=e;if("string"==typeof t&&o.canUseDOM){var n=document.querySelectorAll(t);a(n,t),t="length"in n?n[0]:n}return i=t||i},t.validateElement=s,t.hide=function(e){s(e)&&(e||i).setAttribute("aria-hidden","true")},t.show=function(e){s(e)&&(e||i).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){i=null},t.resetForTesting=function(){i=null};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(63)),o=n(154);var i=null;function a(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function s(e){return!(!e&&!i)||((0,r.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoadingIndicator=t.MessageBox=void 0;var r=a(n(572)),o=a(n(575)),i=a(n(297));function a(e){return e&&e.__esModule?e:{default:e}}t.MessageBox=r.default,t.LoadingIndicator=i.default,t.default=o.default},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(578));t.default=function(e){return(0,r.default)("displayName",e)}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(579));t.default=function(e,t){return t+"("+(0,r.default)(e)+")"}},function(e,t,n){e.exports=!n(52)&&!n(66)(function(){return 7!=Object.defineProperty(n(274)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(65),o=n(44).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(53),o=n(67),i=n(587)(!1),a=n(163)("IE_PROTO");e.exports=function(e,t){var n,s=o(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~i(l,n)||l.push(n));return l}},function(e,t,n){var r=n(160);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(162),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(53),o=n(83),i=n(163)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(43),o=n(21),i=n(66);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(e,t,n){"use strict";var r=n(101),o=n(43),i=n(281),a=n(64),s=n(68),u=n(597),l=n(169),c=n(278),f=n(28)("iterator"),d=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,h,g,y,m){u(n,t,h);var v,b,_,x=function(e){if(!d&&e in k)return k[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",S="values"==g,C=!1,k=e.prototype,O=k[f]||k["@@iterator"]||g&&k[g],E=O||x(g),T=g?S?x("entries"):E:void 0,M="Array"==t&&k.entries||O;if(M&&(_=c(M.call(new e)))!==Object.prototype&&_.next&&(l(_,w,!0),r||"function"==typeof _[f]||a(_,f,p)),S&&O&&"values"!==O.name&&(C=!0,E=function(){return O.call(this)}),r&&!m||!d&&!C&&k[f]||a(k,f,E),s[t]=E,s[w]=p,g)if(v={values:S?E:x("values"),keys:y?E:x("keys"),entries:T},m)for(b in v)b in k||i(k,b,v[b]);else o(o.P+o.F*(d||C),t,v);return v}},function(e,t,n){e.exports=n(64)},function(e,t,n){var r=n(275),o=n(165).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(103),o=n(81),i=n(67),a=n(159),s=n(53),u=n(273),l=Object.getOwnPropertyDescriptor;t.f=n(52)?l:function(e,t){if(e=i(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=h(n(285));t.default=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),h=1;h<t;h++)n[h-1]=arguments[h];var g=e=o.default.apply(void 0,[{zIndex:s.default,isRtl:!1,userAgent:void 0},a.default,e].concat(n)),y=g.spacing,m=g.fontFamily,v=g.palette,b={spacing:y,fontFamily:m,palette:v};e=(0,o.default)({appBar:{color:v.primary1Color,textColor:v.alternateTextColor,height:y.desktopKeylineIncrement,titleFontWeight:d.default.fontWeightNormal,padding:y.desktopGutter},avatar:{color:v.canvasColor,backgroundColor:(0,i.emphasize)(v.canvasColor,.26)},badge:{color:v.alternateTextColor,textColor:v.textColor,primaryColor:v.primary1Color,primaryTextColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryTextColor:v.alternateTextColor,fontWeight:d.default.fontWeightMedium},bottomNavigation:{backgroundColor:v.canvasColor,unselectedColor:(0,i.fade)(v.textColor,.54),selectedColor:v.primary1Color,height:56,unselectedFontSize:12,selectedFontSize:14},button:{height:36,minWidth:88,iconButtonSize:2*y.iconSize},card:{titleColor:(0,i.fade)(v.textColor,.87),subtitleColor:(0,i.fade)(v.textColor,.54),fontWeight:d.default.fontWeightMedium},cardMedia:{color:p.darkWhite,overlayContentBackground:p.lightBlack,titleColor:p.darkWhite,subtitleColor:p.lightWhite},cardText:{textColor:v.textColor},checkbox:{boxColor:v.textColor,checkedColor:v.primary1Color,requiredColor:v.primary1Color,disabledColor:v.disabledColor,labelColor:v.textColor,labelDisabledColor:v.disabledColor},chip:{backgroundColor:(0,i.emphasize)(v.canvasColor,.12),deleteIconColor:(0,i.fade)(v.textColor,.26),textColor:(0,i.fade)(v.textColor,.87),fontSize:14,fontWeight:d.default.fontWeightNormal,shadow:"0 1px 6px "+(0,i.fade)(v.shadowColor,.12)+",\n 0 1px 4px "+(0,i.fade)(v.shadowColor,.12)},datePicker:{color:v.primary1Color,textColor:v.alternateTextColor,calendarTextColor:v.textColor,selectColor:v.primary2Color,selectTextColor:v.alternateTextColor,calendarYearBackgroundColor:v.canvasColor,headerColor:v.pickerHeaderColor||v.primary1Color},dialog:{titleFontSize:22,bodyFontSize:16,bodyColor:(0,i.fade)(v.textColor,.6)},dropDownMenu:{accentColor:v.borderColor},enhancedButton:{tapHighlightColor:p.transparent},flatButton:{color:p.transparent,buttonFilterColor:"#999999",disabledTextColor:(0,i.fade)(v.textColor,.3),textColor:v.textColor,primaryTextColor:v.primary1Color,secondaryTextColor:v.accent1Color,fontSize:d.default.fontStyleButtonFontSize,fontWeight:d.default.fontWeightMedium},floatingActionButton:{buttonSize:56,miniSize:40,color:v.primary1Color,iconColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryIconColor:v.alternateTextColor,disabledTextColor:v.disabledColor,disabledColor:(0,i.emphasize)(v.canvasColor,.12)},gridTile:{textColor:p.white},icon:{color:v.canvasColor,backgroundColor:v.primary1Color},inkBar:{backgroundColor:v.accent1Color},drawer:{width:4*y.desktopKeylineIncrement,color:v.canvasColor},listItem:{nestedLevelDepth:18,secondaryTextColor:v.secondaryTextColor,leftIconColor:p.grey600,rightIconColor:p.grey600},menu:{backgroundColor:v.canvasColor,containerBackgroundColor:v.canvasColor},menuItem:{dataHeight:32,height:48,hoverColor:(0,i.fade)(v.textColor,.1),padding:y.desktopGutter,selectedTextColor:v.accent1Color,rightIconDesktopFill:p.grey600},menuSubheader:{padding:y.desktopGutter,borderColor:v.borderColor,textColor:v.primary1Color},overlay:{backgroundColor:p.lightBlack},paper:{color:v.textColor,backgroundColor:v.canvasColor,zDepthShadows:[[1,6,.12,1,4,.12],[3,10,.16,3,10,.23],[10,30,.19,6,10,.23],[14,45,.25,10,18,.22],[19,60,.3,15,20,.22]].map(function(e){return"0 "+e[0]+"px "+e[1]+"px "+(0,i.fade)(v.shadowColor,e[2])+",\n 0 "+e[3]+"px "+e[4]+"px "+(0,i.fade)(v.shadowColor,e[5])})},radioButton:{borderColor:v.textColor,backgroundColor:v.alternateTextColor,checkedColor:v.primary1Color,requiredColor:v.primary1Color,disabledColor:v.disabledColor,size:24,labelColor:v.textColor,labelDisabledColor:v.disabledColor},raisedButton:{color:v.alternateTextColor,textColor:v.textColor,primaryColor:v.primary1Color,primaryTextColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryTextColor:v.alternateTextColor,disabledColor:(0,i.darken)(v.alternateTextColor,.1),disabledTextColor:(0,i.fade)(v.textColor,.3),fontSize:d.default.fontStyleButtonFontSize,fontWeight:d.default.fontWeightMedium},refreshIndicator:{strokeColor:v.borderColor,loadingStrokeColor:v.primary1Color},ripple:{color:(0,i.fade)(v.textColor,.87)},slider:{trackSize:2,trackColor:v.primary3Color,trackColorSelected:v.accent3Color,handleSize:12,handleSizeDisabled:8,handleSizeActive:18,handleColorZero:v.primary3Color,handleFillColor:v.alternateTextColor,selectionColor:v.primary1Color,rippleColor:v.primary1Color},snackbar:{textColor:v.alternateTextColor,backgroundColor:v.textColor,actionColor:v.accent1Color},subheader:{color:(0,i.fade)(v.textColor,.54),fontWeight:d.default.fontWeightMedium},stepper:{backgroundColor:"transparent",hoverBackgroundColor:(0,i.fade)(p.black,.06),iconColor:v.primary1Color,hoveredIconColor:p.grey700,inactiveIconColor:p.grey500,textColor:(0,i.fade)(p.black,.87),disabledTextColor:(0,i.fade)(p.black,.26),connectorLineColor:p.grey400},svgIcon:{color:v.textColor},table:{backgroundColor:v.canvasColor},tableFooter:{borderColor:v.borderColor,textColor:v.accent3Color},tableHeader:{borderColor:v.borderColor},tableHeaderColumn:{textColor:v.accent3Color,height:56,spacing:24},tableRow:{hoverColor:v.accent2Color,stripeColor:(0,i.fade)((0,i.lighten)(v.primary1Color,.5),.4),selectedColor:v.borderColor,textColor:v.textColor,borderColor:v.borderColor,height:48},tableRowColumn:{height:48,spacing:24},tabs:{backgroundColor:v.primary1Color,textColor:(0,i.fade)(v.alternateTextColor,.7),selectedTextColor:v.alternateTextColor},textField:{textColor:v.textColor,hintColor:v.disabledColor,floatingLabelColor:v.disabledColor,disabledTextColor:v.disabledColor,errorColor:p.red500,focusColor:v.primary1Color,backgroundColor:"transparent",borderColor:v.borderColor},timePicker:{color:v.alternateTextColor,textColor:v.alternateTextColor,accentColor:v.primary1Color,clockColor:v.textColor,clockCircleColor:v.clockCircleColor,headerColor:v.pickerHeaderColor||v.primary1Color,selectColor:v.primary2Color,selectTextColor:v.alternateTextColor},toggle:{thumbOnColor:v.primary1Color,thumbOffColor:v.accent2Color,thumbDisabledColor:v.borderColor,thumbRequiredColor:v.primary1Color,trackOnColor:(0,i.fade)(v.primary1Color,.5),trackOffColor:v.primary3Color,trackDisabledColor:v.primary3Color,labelColor:v.textColor,labelDisabledColor:v.disabledColor,trackRequiredColor:(0,i.fade)(v.primary1Color,.5)},toolbar:{color:(0,i.fade)(v.textColor,.54),hoverColor:(0,i.fade)(v.textColor,.87),backgroundColor:(0,i.darken)(v.accent2Color,.05),height:56,titleFontSize:20,iconColor:(0,i.fade)(v.textColor,.4),separatorColor:(0,i.fade)(v.textColor,.175),menuHoverColor:(0,i.fade)(v.textColor,.1)},tooltip:{color:p.white,rippleBackgroundColor:p.grey700,opacity:.9}},e,{baseTheme:b,rawTheme:b});var _=[u.default,c.default,l.default].map(function(t){return t(e)}).filter(function(e){return e});return e.prepareStyles=f.default.apply(void 0,(0,r.default)(_)),e};var o=h(n(628)),i=n(289),a=h(n(629)),s=h(n(631)),u=h(n(632)),l=h(n(657)),c=h(n(658)),f=h(n(662)),d=h(n(663)),p=n(173);function h(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(286));t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,r.default)(e)}},function(e,t,n){e.exports={default:n(622),__esModule:!0}},function(e,t,n){var r=n(288),o=n(28)("iterator"),i=n(68);e.exports=n(21).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t,n){var r=n(160),o=n(28)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertColorToString=o,t.convertHexToRGB=i,t.decomposeColor=a,t.getContrastRatio=function(e,t){var n=s(e),r=s(t),o=(Math.max(n,r)+.05)/(Math.min(n,r)+.05);return Number(o.toFixed(2))},t.getLuminance=s,t.emphasize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return s(e)>.5?u(e,t):l(e,t)},t.fade=function(e,t){e=a(e),t=r(t,0,1),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a");return e.values[3]=t,o(e)},t.darken=u,t.lighten=l;!function(e){e&&e.__esModule}(n(63));function r(e,t,n){return e<t?t:e>n?n:e}function o(e){var t=e.type,n=e.values;if(t.indexOf("rgb")>-1)for(var r=0;r<3;r++)n[r]=parseInt(n[r]);var o=void 0;return o=t.indexOf("hsl")>-1?e.type+"("+n[0]+", "+n[1]+"%, "+n[2]+"%":e.type+"("+n[0]+", "+n[1]+", "+n[2],4===n.length?o+=", "+e.values[3]+")":o+=")",o}function i(e){if(4===e.length){for(var t="#",n=1;n<e.length;n++)t+=e.charAt(n)+e.charAt(n);e=t}return"rgb("+parseInt(e.substr(1,2),16)+", "+parseInt(e.substr(3,2),16)+", "+parseInt(e.substr(5,2),16)+")"}function a(e){if("#"===e.charAt(0))return a(i(e));var t=e.indexOf("("),n=e.substring(0,t),r=e.substring(t+1,e.length-1).split(",");return{type:n,values:r=r.map(function(e){return parseFloat(e)})}}function s(e){if((e=a(e)).type.indexOf("rgb")>-1){var t=e.values.map(function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}if(e.type.indexOf("hsl")>-1)return e.values[2]/100}function u(e,t){if(e=a(e),t=r(t,0,1),e.type.indexOf("hsl")>-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")>-1)for(var n=0;n<3;n++)e.values[n]*=1-t;return o(e)}function l(e,t){if(e=a(e),t=r(t,0,1),e.type.indexOf("hsl")>-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")>-1)for(var n=0;n<3;n++)e.values[n]+=(255-e.values[n])*t;return o(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r,o){for(var i=0,a=e.length;i<a;++i){var s=e[i](t,n,r,o);if(s)return s}},e.exports=t.default},function(e,t,n){"use strict";function r(e,t){-1===e.indexOf(t)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(t))for(var n=0,o=t.length;n<o;++n)r(e,t[n]);else r(e,t)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Object&&!Array.isArray(e)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(648));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=v(n(19)),o=v(n(20)),i=v(n(12)),a=v(n(11)),s=v(n(13)),u=v(n(14)),l=v(n(15)),c=v(n(16)),f=n(0),d=v(f),p=v(n(9)),h=v(n(669)),g=v(n(670)),y=v(n(671)),m=v(n(676));function v(e){return e&&e.__esModule?e:{default:e}}var b=!1,_=!1,x=!1;var w=function(e){function t(){var e,n,r,o;(0,a.default)(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=(0,u.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(l))),r.state={isKeyboardFocused:!1},r.handleKeyDown=function(e){r.props.disabled||r.props.disableKeyboardFocus||("enter"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.handleClick(e),"esc"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.removeKeyboardFocus(e)),r.props.onKeyDown(e)},r.handleKeyUp=function(e){r.props.disabled||r.props.disableKeyboardFocus||"space"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.handleClick(e),r.props.onKeyUp(e)},r.handleBlur=function(e){r.cancelFocusTimeout(),r.removeKeyboardFocus(e),r.props.onBlur(e)},r.handleFocus=function(e){e&&e.persist(),r.props.disabled||r.props.disableKeyboardFocus||(r.focusTimeout=setTimeout(function(){x&&(r.setKeyboardFocus(e),x=!1)},150),r.props.onFocus(e))},r.handleClick=function(e){r.cancelFocusTimeout(),r.props.disabled||(x=!1,r.removeKeyboardFocus(e),r.props.onClick(e))},o=n,(0,u.default)(r,o)}return(0,l.default)(t,e),(0,s.default)(t,[{key:"componentWillMount",value:function(){var e=this.props,t=e.disabled,n=e.disableKeyboardFocus,r=e.keyboardFocused;t||!r||n||this.setState({isKeyboardFocused:!0})}},{key:"componentDidMount",value:function(){!function(){if(!b){var e=document.createElement("style");e.innerHTML="\n button::-moz-focus-inner,\n input::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n ",document.body.appendChild(e),b=!0}}(),_||(h.default.on(window,"keydown",function(e){x="tab"===(0,g.default)(e)}),_=!0),this.state.isKeyboardFocused&&(this.button.focus(),this.props.onKeyboardFocus(null,!0))}},{key:"componentWillReceiveProps",value:function(e){(e.disabled||e.disableKeyboardFocus)&&this.state.isKeyboardFocused&&(this.setState({isKeyboardFocused:!1}),e.onKeyboardFocus&&e.onKeyboardFocus(null,!1))}},{key:"componentWillUnmount",value:function(){this.focusTimeout&&clearTimeout(this.focusTimeout)}},{key:"isKeyboardFocused",value:function(){return this.state.isKeyboardFocused}},{key:"removeKeyboardFocus",value:function(e){this.state.isKeyboardFocused&&(this.setState({isKeyboardFocused:!1}),this.props.onKeyboardFocus(e,!1))}},{key:"setKeyboardFocus",value:function(e){this.state.isKeyboardFocused||(this.setState({isKeyboardFocused:!0}),this.props.onKeyboardFocus(e,!0))}},{key:"cancelFocusTimeout",value:function(){this.focusTimeout&&(clearTimeout(this.focusTimeout),this.focusTimeout=null)}},{key:"createButtonChildren",value:function(){var e=this.props,t=e.centerRipple,n=e.children,r=e.disabled,o=e.disableFocusRipple,i=e.disableKeyboardFocus,a=e.disableTouchRipple,s=e.focusRippleColor,u=e.focusRippleOpacity,l=e.touchRippleColor,c=e.touchRippleOpacity,f=this.state.isKeyboardFocused,p=!f||r||o||i?void 0:d.default.createElement(y.default,{color:s,opacity:u,show:f,style:{overflow:"hidden"},key:"focusRipple"}),h=r||a?void 0:d.default.createElement(m.default,{centerRipple:t,color:l,opacity:c,key:"touchRipple"},n);return[p,h,h?void 0:n]}},{key:"render",value:function(){var e=this,t=this.props,n=(t.centerRipple,t.children),i=t.containerElement,a=t.disabled,s=(t.disableFocusRipple,t.disableKeyboardFocus),u=(t.disableTouchRipple,t.focusRippleColor,t.focusRippleOpacity,t.href),l=(t.keyboardFocused,t.touchRippleColor,t.touchRippleOpacity,t.onBlur,t.onClick,t.onFocus,t.onKeyUp,t.onKeyDown,t.onKeyboardFocus,t.style),f=t.tabIndex,p=t.type,h=(0,o.default)(t,["centerRipple","children","containerElement","disabled","disableFocusRipple","disableKeyboardFocus","disableTouchRipple","focusRippleColor","focusRippleOpacity","href","keyboardFocused","touchRippleColor","touchRippleOpacity","onBlur","onClick","onFocus","onKeyUp","onKeyDown","onKeyboardFocus","style","tabIndex","type"]),g=this.context.muiTheme,y=g.prepareStyles,m=g.enhancedButton,v=(0,c.default)({border:10,boxSizing:"border-box",display:"inline-block",fontFamily:this.context.muiTheme.baseTheme.fontFamily,WebkitTapHighlightColor:m.tapHighlightColor,cursor:a?"default":"pointer",textDecoration:"none",margin:0,padding:0,outline:"none",fontSize:"inherit",fontWeight:"inherit",position:"relative",verticalAlign:u?"middle":null},l);if(v.backgroundColor||v.background||(v.background="none"),a&&u)return d.default.createElement("span",(0,r.default)({},h,{style:v}),n);var b=(0,r.default)({},h,{style:y(v),ref:function(t){return e.button=t},disabled:a,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,onClick:this.handleClick,tabIndex:a||s?-1:f});u&&(b.href=u);var _=this.createButtonChildren();return d.default.isValidElement(i)?d.default.cloneElement(i,b,_):(u||"button"!==i||(b.type=p),d.default.createElement(u?"a":i,b,_))}}]),t}(f.Component);w.defaultProps={containerElement:"button",onBlur:function(){},onClick:function(){},onFocus:function(){},onKeyDown:function(){},onKeyUp:function(){},onKeyboardFocus:function(){},tabIndex:0,type:"button"},w.contextTypes={muiTheme:p.default.object.isRequired},w.propTypes={},t.default=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(19)),o=f(n(20)),i=f(n(167)),a=f(n(16)),s=f(n(0)),u=f(n(9)),l=f(n(680)),c=f(n(100));function f(e){return e&&e.__esModule?e:{default:e}}var d=function(e,t){e.active;var n=e.children,u=e.completed,f=e.icon,d=e.iconContainerStyle,p=(e.last,e.style),h=(0,o.default)(e,["active","children","completed","icon","iconContainerStyle","last","style"]),g=t.muiTheme.prepareStyles,y=function(e,t){var n=e.active,r=e.completed,o=e.disabled,i=t.muiTheme,a=t.stepper,s=i.stepper,u=s.textColor,l=s.disabledTextColor,c=s.iconColor,f=s.inactiveIconColor,d=i.baseTheme,p={root:{height:"horizontal"===a.orientation?72:64,color:u,display:"flex",alignItems:"center",fontFamily:d.fontFamily,fontSize:14,paddingLeft:14,paddingRight:14},icon:{color:c,display:"block",fontSize:24,width:24,height:24},iconContainer:{paddingRight:8}};return n&&(p.root.fontWeight=500),r||n||(p.icon.color=f),o&&(p.icon.color=f,p.root.color=l,p.root.cursor="default"),p}(e,t),m=function(e,t,n){var r=void 0===t?"undefined":(0,i.default)(t);return"number"===r||"string"===r?e?s.default.createElement(l.default,{color:n.icon.color,style:n.icon}):s.default.createElement(c.default,{color:n.icon.color,style:n.icon},s.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),s.default.createElement("text",{x:"12",y:"16",textAnchor:"middle",fontSize:"12",fill:"#fff"},t)):t}(u,f,y);return s.default.createElement("span",(0,r.default)({style:g((0,a.default)(y.root,p))},h),m&&s.default.createElement("span",{style:g((0,a.default)(y.iconContainer,d))},m),n)};d.muiName="StepLabel",d.propTypes={},d.contextTypes={muiTheme:u.default.object.isRequired,stepper:u.default.object},t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(9));var o=r.default.oneOf(["left","middle","right"]),i=r.default.oneOf(["top","center","bottom"]);t.default={corners:r.default.oneOf(["bottom-left","bottom-right","top-left","top-right"]),horizontal:o,vertical:i,origin:r.default.shape({horizontal:o,vertical:i}),cornersAndCenter:r.default.oneOf(["bottom-center","bottom-left","bottom-right","top-center","top-left","top-right"]),stringOrNumber:r.default.oneOfType([r.default.string,r.default.number]),zDepth:r.default.oneOf([0,1,2,3,4,5])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(693));function i(e){return e&&e.__esModule?e:{default:e}}const a={refresh:{display:"inline-block",position:"relative"}};t.default=(()=>r.default.createElement("div",{className:"yoast-wizard-overlay-loader"},r.default.createElement(o.default,{size:40,left:10,top:100,status:"loading",style:a.refresh})))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(299);Object.defineProperty(t,"FixedWidthContainer",{enumerable:!0,get:function(){return c(r).default}});var o=n(713);Object.defineProperty(t,"HelpTextWrapper",{enumerable:!0,get:function(){return c(o).default}});var i=n(308);Object.defineProperty(t,"SnippetPreview",{enumerable:!0,get:function(){return c(i).default}});var a=n(182);Object.defineProperty(t,"ReplacementVariableEditor",{enumerable:!0,get:function(){return c(a).default}});var s=n(956);Object.defineProperty(t,"SettingsSnippetEditor",{enumerable:!0,get:function(){return c(s).default}});var u=n(958);Object.defineProperty(t,"SnippetEditor",{enumerable:!0,get:function(){return c(u).default}});var l=n(58);function c(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"lengthProgressShape",{enumerable:!0,get:function(){return l.lengthProgressShape}}),Object.defineProperty(t,"recommendedReplacementVariablesShape",{enumerable:!0,get:function(){return l.recommendedReplacementVariablesShape}}),Object.defineProperty(t,"replacementVariablesShape",{enumerable:!0,get:function(){return l.replacementVariablesShape}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=l(r),i=l(n(1)),a=l(n(17)),s=l(n(300)),u=n(10);function l(e){return e&&e.__esModule?e:{default:e}}const c=i.default.div.withConfig({displayName:"FixedWidthContainer__FixedWidth",componentId:"sc-12v6gqu-0"})(["overflow:auto;width:","px;padding:0 ","px;max-width:100%;box-sizing:border-box;"],e=>e.widthValue,e=>e.paddingValue),f=i.default.div.withConfig({displayName:"FixedWidthContainer__Inner",componentId:"sc-12v6gqu-1"})(["width:","px;"],e=>e.widthValue),d=i.default.div.withConfig({displayName:"FixedWidthContainer__ScrollHintContainer",componentId:"sc-12v6gqu-2"})(["text-align:center;margin:1em 0 5px;"]),p=i.default.div.withConfig({displayName:"FixedWidthContainer__ScrollHint",componentId:"sc-12v6gqu-3"})(['display:inline-block;box-sizing:border-box;&:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\\21c4";box-sizing:border-box;}']);class h extends r.Component{constructor(e){super(e),this.state={showScrollHint:!1},this.setContainerRef=this.setContainerRef.bind(this),this.determineSize=(0,s.default)(this.determineSize.bind(this),100)}setContainerRef(e){if(!e)return null;this._container=e,this.determineSize(),window.addEventListener("resize",this.determineSize)}determineSize(){const e=this._container.offsetWidth;this.setState({showScrollHint:e<this.props.width})}componentWillUnmount(){window.removeEventListener("resize",this.determineSize)}render(){var e=this.props;const t=e.width,n=e.padding,r=e.children,i=e.className,a=e.id,s=t-2*n;return o.default.createElement(o.default.Fragment,null,o.default.createElement(c,{id:a,className:i,widthValue:t,paddingValue:n,ref:this.setContainerRef},o.default.createElement(f,{widthValue:s},r)),this.state.showScrollHint&&o.default.createElement(d,null,o.default.createElement(p,null,(0,u.__)("Scroll to see the preview content.","yoast-components"))))}}t.default=h,h.propTypes={id:a.default.string,width:a.default.number.isRequired,padding:a.default.number,children:a.default.node.isRequired,className:a.default.string},h.defaultProps={id:"",padding:0,className:""}},function(e,t,n){var r=n(70),o=n(710),i=n(302),a="Expected a function",s=Math.max,u=Math.min;e.exports=function(e,t,n){var l,c,f,d,p,h,g=0,y=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError(a);function b(t){var n=l,r=c;return l=c=void 0,g=t,d=e.apply(r,n)}function _(e){var n=e-h;return void 0===h||n>=t||n<0||m&&e-g>=f}function x(){var e=o();if(_(e))return w(e);p=setTimeout(x,function(e){var n=t-(e-h);return m?u(n,f-(e-g)):n}(e))}function w(e){return p=void 0,v&&l?b(e):(l=c=void 0,d)}function S(){var e=o(),n=_(e);if(l=arguments,c=this,h=e,n){if(void 0===p)return function(e){return g=e,p=setTimeout(x,t),y?b(e):d}(h);if(m)return p=setTimeout(x,t),b(h)}return void 0===p&&(p=setTimeout(x,t)),d}return t=i(t)||0,r(n)&&(y=!!n.leading,f=(m="maxWait"in n)?s(i(n.maxWait)||0,t):f,v="trailing"in n?!!n.trailing:v),S.cancel=function(){void 0!==p&&clearTimeout(p),g=0,l=h=c=p=void 0},S.flush=function(){return void 0===p?d:w(o())},S}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t,n){var r=n(70),o=n(106),i=NaN,a=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return i;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=u.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):s.test(e)?i:+e}},function(e,t,n){var r=n(107),o=n(304),i=n(30),a=n(106),s=1/0,u=r?r.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t,n){"use strict";t.__esModule=!0,t.default=t.EXITING=t.ENTERED=t.ENTERING=t.EXITED=t.UNMOUNTED=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(17)),o=s(n(0)),i=s(n(23)),a=n(155);n(306);function s(e){return e&&e.__esModule?e:{default:e}}var u="unmounted";t.UNMOUNTED=u;var l="exited";t.EXITED=l;var c="entering";t.ENTERING=c;var f="entered";t.ENTERED=f;t.EXITING="exiting";var d=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var o,i=n.transitionGroup,a=i&&!i.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(o=l,r.appearStatus=c):o=f:o=t.unmountOnExit||t.mountOnEnter?u:l,r.state={status:o},r.nextCallback=null,r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:null}},t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===u?{status:l}:null},n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==c&&n!==f&&(t=c):n!==c&&n!==f||(t="exiting")}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t){this.cancelNextCallback();var n=i.default.findDOMNode(this);t===c?this.performEnter(n,e):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===l&&this.setState({status:u})},n.performEnter=function(e,t){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:t,i=this.getTimeouts(),a=o?i.appear:i.enter;t||r?(this.props.onEnter(e,o),this.safeSetState({status:c},function(){n.props.onEntering(e,o),n.onTransitionEnd(e,a,function(){n.safeSetState({status:f},function(){n.props.onEntered(e,o)})})})):this.safeSetState({status:f},function(){n.props.onEntered(e)})},n.performExit=function(e){var t=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(e),this.safeSetState({status:"exiting"},function(){t.props.onExiting(e),t.onTransitionEnd(e,r.exit,function(){t.safeSetState({status:l},function(){t.props.onExited(e)})})})):this.safeSetState({status:l},function(){t.props.onExited(e)})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t,n){this.setNextCallback(n);var r=null==t&&!this.props.addEndListener;e&&!r?(this.props.addEndListener&&this.props.addEndListener(e,this.nextCallback),null!=t&&setTimeout(this.nextCallback,t)):setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===u)return null;var t=this.props,n=t.children,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"==typeof n)return n(e,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},t}(o.default.Component);function p(){}d.contextTypes={transitionGroup:r.object},d.childContextTypes={transitionGroup:function(){}},d.propTypes={},d.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:p,onEntering:p,onEntered:p,onExit:p,onExiting:p,onExited:p},d.UNMOUNTED=0,d.EXITED=1,d.ENTERING=2,d.ENTERED=3,d.EXITING=4;var h=(0,a.polyfill)(d);t.default=h},function(e,t,n){"use strict";t.__esModule=!0,t.classNamesShape=t.timeoutsShape=void 0;!function(e){e&&e.__esModule}(n(17));t.timeoutsShape=null;t.classNamesShape=null},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=s(n(17)),o=s(n(0)),i=n(155),a=n(722);function s(e){return e&&e.__esModule?e:{default:e}}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},f=function(e){function t(t,n){var r,o=(r=e.call(this,t,n)||this).handleExited.bind(l(l(r)));return r.state={handleExited:o,firstRender:!0},r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:{isMounting:!this.appeared}}},n.componentDidMount=function(){this.appeared=!0,this.mounted=!0},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n=t.children,r=t.handleExited;return{children:t.firstRender?(0,a.getInitialChildMapping)(e,r):(0,a.getNextChildMapping)(e,n,r),firstRender:!1}},n.handleExited=function(e,t){var n=(0,a.getChildMapping)(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState(function(t){var n=u({},t.children);return delete n[e.key],{children:n}}))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["component","childFactory"]),i=c(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?i:o.default.createElement(t,r,i)},t}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(e){return e}};var d=(0,i.polyfill)(f);t.default=d,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(0),i=b(o),a=b(n(1)),s=b(n(62)),u=b(n(17)),l=b(n(724)),c=n(736),f=n(10),d=n(3),p=n(180),h=n(7),g=n(8),y=b(n(299)),m=n(181),v=n(108);function b(e){return e&&e.__esModule?e:{default:e}}const _=p.string.transliterate,x=p.string.createRegexFromArray,w=p.string.replaceDiacritics,S=600,C=20,k=156,O=(0,a.default)(y.default).withConfig({displayName:"SnippetPreview__DesktopContainer",componentId:"waz8ku-0"})(["background-color:#fff;font-family:arial,sans-serif;box-sizing:border-box;"]),E=a.default.div.withConfig({displayName:"SnippetPreview__MobileContainer",componentId:"waz8ku-1"})(["border-bottom:1px hidden #fff;border-radius:8px;box-shadow:0 1px 6px rgba(32,33,36,0.28);font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;max-width:","px;box-sizing:border-box;font-size:14px;"],400),T=a.default.div.withConfig({displayName:"SnippetPreview__BaseTitle",componentId:"waz8ku-2"})(["cursor:pointer;position:relative;"]);function M(e,t,n){return(0,a.default)(e).withConfig({displayName:"SnippetPreview",componentId:"waz8ku-3"})(["&::before{display:block;position:absolute;top:0;",":",";width:22px;height:22px;background-image:url( ",' );background-size:24px;background-repeat:no-repeat;background-position:center;content:"";}'],(0,h.getDirectionalStyle)("left","right"),()=>n===m.MODE_DESKTOP?"-22px":"-40px",(0,h.getDirectionalStyle)((0,v.angleRight)(t),(0,v.angleLeft)(t)))}const P=a.default.div.withConfig({displayName:"SnippetPreview__Title",componentId:"waz8ku-4"})(["color:",";text-decoration:none;font-size:",";line-height:",";font-weight:normal;margin:0;display:inline-block;overflow:hidden;max-width:","px;vertical-align:top;text-overflow:ellipsis;"],e=>e.screenMode===m.MODE_DESKTOP?"#1a0dab":"#1967d2",e=>e.screenMode===m.MODE_DESKTOP?"20px":"16px",e=>e.screenMode===m.MODE_DESKTOP?"1.3":"20px",S),j=(0,a.default)(P).withConfig({displayName:"SnippetPreview__TitleBounded",componentId:"waz8ku-5"})(["max-width:","px;vertical-align:top;text-overflow:ellipsis;"],S),A=a.default.span.withConfig({displayName:"SnippetPreview__TitleUnboundedDesktop",componentId:"waz8ku-6"})(["white-space:nowrap;"]),I=a.default.span.withConfig({displayName:"SnippetPreview__TitleUnboundedMobile",componentId:"waz8ku-7"})(["display:inline-block;max-height:40px;padding-top:1px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;"]),R=a.default.div.withConfig({displayName:"SnippetPreview__BaseUrl",componentId:"waz8ku-8"})(["display:inline-block;cursor:pointer;position:relative;max-width:90%;white-space:nowrap;font-size:14px;vertical-align:top;"]),D=(0,a.default)(R).withConfig({displayName:"SnippetPreview__BaseUrlOverflowContainer",componentId:"waz8ku-9"})(["overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-bottom:",";padding-top:1px;line-height:",";vertical-align:",";"],e=>e.screenMode===m.MODE_DESKTOP?"0":"12px",e=>e.screenMode===m.MODE_DESKTOP?"1.5":"20px",e=>e.screenMode===m.MODE_DESKTOP?"baseline":"top"),N=a.default.span.withConfig({displayName:"SnippetPreview__UrlContentContainer",componentId:"waz8ku-10"})(["font-size:",";color:",";"],e=>e.screenMode===m.MODE_DESKTOP?"16px":"12px",e=>e.screenMode===m.MODE_DESKTOP?"#006621":"#3c4043");D.displayName="SnippetPreview__BaseUrlOverflowContainer";const B=a.default.div.withConfig({displayName:"SnippetPreview__DesktopDescription",componentId:"waz8ku-11"})(["color:",";cursor:pointer;position:relative;max-width:","px;padding-top:",";font-size:14px;line-height:1.57;"],e=>e.isDescriptionPlaceholder?"#767676":"#545454",S,e=>e.screenMode===m.MODE_DESKTOP?"0":"1px"),L=a.default.div.withConfig({displayName:"SnippetPreview__MobileDescription",componentId:"waz8ku-12"})(["color:",";font-size:14px;line-height:20px;cursor:pointer;position:relative;max-width:",'px;&:after{display:table;content:"";clear:both;}'],"#3c4043",S),F=a.default.div.withConfig({displayName:"SnippetPreview__MobileDescriptionImageContainer",componentId:"waz8ku-13"})(["float:right;width:104px;height:104px;margin:4px 0 4px 16px;border-radius:8px;overflow:hidden;"]),z=a.default.img.withConfig({displayName:"SnippetPreview__MobileDescriptionImage",componentId:"waz8ku-14"})(["&&&{display:block;width:104px;height:104px;object-fit:cover;}"]),q=a.default.div.withConfig({displayName:"SnippetPreview__MobilePartContainer",componentId:"waz8ku-15"})(["padding:12px 16px;&:first-child{margin-bottom:-16px;}"]),K=a.default.div.withConfig({displayName:"SnippetPreview__DesktopPartContainer",componentId:"waz8ku-16"})([""]),W=a.default.div.withConfig({displayName:"SnippetPreview__UrlDownArrow",componentId:"waz8ku-17"})(["display:inline-block;margin-top:9px;margin-left:6px;border-top:5px solid #006621;border-right:4px solid transparent;border-left:4px solid transparent;vertical-align:top;"]),U=a.default.span.withConfig({displayName:"SnippetPreview__DatePreview",componentId:"waz8ku-18"})(["color:",";"],e=>e.screenMode===m.MODE_DESKTOP?"#777":"#70757a"),$="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVR4AWL4//8/RRjO8Iucx+noO0MWUDo16FYABMGP6ZfUcRnWtm27jVPbtm3bttuH2t3eFPcY9pLz7NxiLjCyVd87pKnHyqXyxtCs8APd0rnyxiu4qSeA3QEDrAwBDrT1s1Rc/OrjLZwqVmOSu6+Lamcpp2KKMA9PH1BYXMe1mUP5qotvXTywsOEEYHXxrY+3cqk6TMkYpNr2FeoY3KIr0RPtn9wQ2unlA+GMkRw6+9TFw4YTwDUzx/JVvARj9KaedXRO8P5B1Du2S32smzqUrcKGEyA+uAgQjKX7zf0boWHGfn71jIKj2689gxp7OAGShNcBUmLMPVjZuiKcA2vuWHHDCQxMCz629kXAIU4ApY15QwggAFbfOP9DhgBJ+nWVJ1AZAfICAj1pAlY6hCADZnveQf7bQIwzVONGJonhLIlS9gr5mFg44Xd+4S3XHoGNPdJl1INIwKyEgHckEhgTe1bGiFY9GSFBYUwLh1IkiJUbY407E7syBSFxKTszEoiE/YdrgCEayDmtaJwCI9uu8TKMuZSVfSa4BpGgzvomBR/INhLGzrqDotp01ZR8pn/1L0JN9d9XNyx0AAAAAElFTkSuQmCC",H=a.default.img.withConfig({displayName:"SnippetPreview__Favicon",componentId:"waz8ku-19"})(["width:16px;height:16px;margin-right:12px;vertical-align:middle;"]),V=a.default.div.withConfig({displayName:"SnippetPreview__Amp",componentId:"waz8ku-20"})(["background-size:100% 100%;display:inline-block;height:12px;width:12px;margin-bottom:-1px;opacity:0.46;margin-right:6px;background-image:url( "," )"],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAABr0lEQVR4AbWWJYCUURhFD04Zi7hrLzgFd4nzV9x6wKHinmYb7g4zq71gIw2LWBnZ3Q8df/fh96Tn/t2HVIw4CVKk+fSFNCkSxInxW1pFkhLmoMRjVvFLmkEX5ocuZuBVPw5jv8hh+iEU5QEmuMK+prz7RN3dPMMEGQYzxpH/lGjzou5jgl7mAvOdZfcbF+jbm3MAbFZ7VX9SJnlL1D8UMyjLe+BrAYDb+jJUr59JrlNWRtcqX9GkrPCR4QBAf4qYJAkQoyQrbKKs8RiaEjEI0GvvQ1mLMC9xaBFFBaZS1TbMSwJSomg39erDF+TxpCCNOXjGQJTCvG6qn4ZPzkcxA61Tjhaf4KMj+6Q3XvW6Lopraa8IozRQxIi0a7NXorULc5JyHX/3F3q+0PsFYytVTaGgjz/AvCyiegE69IUsPxHNBMpa738i6tGWlzkAABjKe/+j9YeRHGVd9oWRnwe2ewDASp/L/UqoPQ5AmFeYZMavBP8dAJz0GWWDHQlzXApMdz4KYUfKICcxkKeOfGmQyrIPcgE9m+g/+kT812/Nr3+0kqzitxQjoKXh6xfor99nlEdFjyvH15gAAAAASUVORK5CYII=");function G(e,t,n,r){if(0===t.length)return n;let o=r||n;const a=[];t.forEach(function(t){t=r?w(t):t,a.push(t);const n=_(t,e);n!==t&&a.push(n)});const u=x(a,!1,"",!1);return o=o.replace(u,function(e){return`{{strong}}${e}{{/strong}}`}),(0,s.default)({mixedString:o,components:{strong:i.default.createElement("strong",null)}})}class Y extends o.PureComponent{constructor(e){super(e),this.state={title:e.title,description:e.description,isDescriptionPlaceholder:!0},this.setTitleRef=this.setTitleRef.bind(this),this.setDescriptionRef=this.setDescriptionRef.bind(this)}setTitleRef(e){this._titleElement=e}setDescriptionRef(e){this._descriptionElement=e}hasOverflowedContent(e){return Math.abs(e.clientHeight-e.scrollHeight)>=2}fitTitle(){const e=this._titleElement;if(this.hasOverflowedContent(e)){let t=this.state.title;const n=e.clientWidth/3;t.length>n&&(t=t.substring(0,n));const r=this.dropLastWord(t);this.setState({title:r})}}dropLastWord(e){const t=e.split(" ");return t.pop(),t.join(" ")}getTitle(){return this.props.title!==this.state.title?this.state.title+" ...":this.props.title}getDescription(){return this.props.description?(0,l.default)(this.props.description,{length:k,separator:" ",omission:" ..."}):(0,f.__)("Please provide a meta description by editing the snippet below. If you don’t, Google will try to find a relevant part of your post to show in the search results.","yoast-components")}renderDate(){const e=this.props.mode===m.MODE_DESKTOP?"-":"⋅";return this.props.date&&i.default.createElement(U,{screenMode:this.props.mode},this.props.date," ",e," ")}addCaretStyles(e,t){var n=this.props;const r=n.mode,o=n.hoveredField;return n.activeField===e?M(t,d.colors.$color_snippet_active,r):o===e?M(t,d.colors.$color_snippet_hover,r):t}getBreadcrumbs(e){const t=this.props.breadcrumbs,n=encodeURI(e.replace(/\?|#/g,""));var r=(0,c.parse)(n);const o=r.protocol,i=r.hostname,a=r.pathname,s=["https:"===o?o+"//"+i:i,...t||a.split("/")].filter(e=>!!e).join(" › ");return decodeURI(s)}renderUrl(){var e=this.props;const t=e.url,n=e.onMouseUp,r=e.onMouseEnter,o=e.onMouseLeave,a=e.mode,s=e.faviconSrc,u=a===m.MODE_MOBILE;let l=w(t);u?l=this.getBreadcrumbs(l):function(e){return e.lastIndexOf("/")===e.length-1}(l)||(l+="/");const c=this.addCaretStyles("url",R);return i.default.createElement(i.default.Fragment,null,i.default.createElement(g.ScreenReaderText,null,(0,f.__)("Url preview","yoast-components")+":"),i.default.createElement(c,null,i.default.createElement(D,{onMouseUp:n.bind(null,"url"),onMouseEnter:r.bind(null,"url"),onMouseLeave:o.bind(null),screenMode:a},u&&i.default.createElement(H,{src:s||$,alt:""}),i.default.createElement(N,{screenMode:a},l))))}componentWillReceiveProps(e){const t={};this.props.title!==e.title&&(t.title=e.title),this.props.description!==e.description&&(t.description=e.description),this.setState(t)}componentDidUpdate(){this.setState({isDescriptionPlaceholder:!this.props.description}),this.props.mode===m.MODE_MOBILE&&(clearTimeout(this.fitTitleTimeout),this.fitTitleTimeout=setTimeout(()=>{this.fitTitle()},10))}componentDidMount(){this.setState({isDescriptionPlaceholder:!this.props.description})}renderDescription(){var e=this.props;const t=e.wordsToHighlight,n=e.locale,o=e.onMouseUp,a=e.onMouseLeave,s=e.onMouseEnter,u=e.mode,l=e.mobileImageSrc,c=this.renderDate(),f={isDescriptionPlaceholder:this.state.isDescriptionPlaceholder,onMouseUp:o.bind(null,"description"),onMouseEnter:s.bind(null,"description"),onMouseLeave:a.bind(null)};if(u===m.MODE_DESKTOP){const e=this.addCaretStyles("description",B);return i.default.createElement(e,r({},f,{ref:this.setDescriptionRef}),c,G(n,t,this.getDescription()))}if(u===m.MODE_MOBILE){const e=this.addCaretStyles("description",L);return i.default.createElement(e,f,i.default.createElement(L,{isDescriptionPlaceholder:this.state.isDescriptionPlaceholder,ref:this.setDescriptionRef},l&&i.default.createElement(F,null,i.default.createElement(z,{src:l,alt:""})),c,G(n,t,this.getDescription())))}return null}render(){var e=this.props;const t=e.onMouseUp,n=e.onMouseLeave,r=e.onMouseEnter,o=e.mode,a=e.isAmp;var s=this.getPreparedComponents(o);const u=s.PartContainer,l=s.Container,c=s.TitleUnbounded,d=s.SnippetTitle,p=o===m.MODE_DESKTOP,h=p?i.default.createElement(W,null):null,y=p||!a?null:i.default.createElement(V,null);return i.default.createElement("section",null,i.default.createElement(l,{id:"yoast-snippet-preview-container",onMouseLeave:this.onMouseLeave,width:p?S+2*C:null,padding:C},i.default.createElement(u,null,!p&&this.renderUrl(),i.default.createElement(g.ScreenReaderText,null,(0,f.__)("SEO title preview","yoast-components")+":"),i.default.createElement(d,{onMouseUp:t.bind(null,"title"),onMouseEnter:r.bind(null,"title"),onMouseLeave:n.bind(null)},i.default.createElement(j,{screenMode:o},i.default.createElement(c,{ref:this.setTitleRef},this.getTitle()))),y,p&&this.renderUrl(),h),i.default.createElement(u,null,i.default.createElement(g.ScreenReaderText,null,(0,f.__)("Meta description preview","yoast-components")+":"),this.renderDescription())))}getPreparedComponents(e){return{PartContainer:e===m.MODE_DESKTOP?K:q,Container:e===m.MODE_DESKTOP?O:E,TitleUnbounded:e===m.MODE_DESKTOP?A:I,SnippetTitle:this.addCaretStyles("title",T)}}}t.default=Y,Y.propTypes={title:u.default.string.isRequired,url:u.default.string.isRequired,description:u.default.string.isRequired,date:u.default.string,breadcrumbs:u.default.array,hoveredField:u.default.string,activeField:u.default.string,keyword:u.default.string,wordsToHighlight:u.default.array,locale:u.default.string,mode:u.default.oneOf(m.MODES),isAmp:u.default.bool,faviconSrc:u.default.string,mobileImageSrc:u.default.string,onMouseUp:u.default.func.isRequired,onHover:u.default.func,onMouseEnter:u.default.func,onMouseLeave:u.default.func},Y.defaultProps={date:"",keyword:"",wordsToHighlight:[],breadcrumbs:null,locale:"en",hoveredField:"",activeField:"",mode:m.DEFAULT_MODE,isAmp:!1,faviconSrc:"",mobileImageSrc:"",onHover:()=>{},onMouseEnter:()=>{},onMouseLeave:()=>{}}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(301),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(735);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){"use strict";var r=n(27),o=n(4),i=n(40),a=o.OrderedMap;e.exports=function(e){return e.first()instanceof r?function(e){var t={},n=void 0;return a(e.withMutations(function(e){e.forEach(function(r,o){var a=r.getKey(),s=r.getNextSiblingKey(),u=r.getPrevSiblingKey(),l=r.getChildKeys(),c=r.getParentKey(),f=i();if(t[a]=f,s&&(e.get(s)?e.setIn([s,"prevSibling"],f):e.setIn([a,"nextSibling"],null)),u&&(e.get(u)?e.setIn([u,"nextSibling"],f):e.setIn([a,"prevSibling"],null)),c&&e.get(c)){var d=e.get(c).getChildKeys();e.setIn([c,"children"],d.set(d.indexOf(r.getKey()),f))}else e.setIn([a,"parent"],null),n&&(e.setIn([n.getKey(),"nextSibling"],f),e.setIn([a,"prevSibling"],t[n.getKey()])),n=e.get(a);l.forEach(function(t){e.get(t)?e.setIn([t,"parent"],f):e.setIn([a,"children"],r.getChildKeys().filter(function(e){return e!==t}))})})}).toArray().map(function(e){return[t[e.getKey()],e.set("key",t[e.getKey()])]}))}(e):function(e){return a(e.toArray().map(function(e){var t=i();return[t,e.set("key",t)]}))}(e)}},function(e,t,n){"use strict";var r=n(25),o=n(85),i=n(5);function a(e,t,n){var a=t.getCharacterList(),s=n>0?a.get(n-1):void 0,u=n<a.count()?a.get(n):void 0,l=s?s.getEntity():void 0,c=u?u.getEntity():void 0;if(c&&c===l&&"MUTABLE"!==e.__get(c).getMutability()){for(var f,d=function(e,t,n){var r;return o(e,function(e,t){return e.getEntity()===t.getEntity()},function(e){return e.getEntity()===t},function(e,t){e<=n&&t>=n&&(r={start:e,end:t})}),"object"!=typeof r&&i(!1),r}(a,c,n),p=d.start,h=d.end;p<h;)f=a.get(p),a=a.set(p,r.applyEntity(f,null)),p++;return t.set("characterList",a)}return t}e.exports=function(e,t){var n=e.getBlockMap(),r=e.getEntityMap(),o={},i=t.getStartKey(),s=t.getStartOffset(),u=n.get(i),l=a(r,u,s);l!==u&&(o[i]=l);var c=t.getEndKey(),f=t.getEndOffset(),d=n.get(c);i===c&&(d=l);var p=a(r,d,f);return p!==d&&(o[c]=p),Object.keys(o).length?e.merge({blockMap:n.merge(o),selectionAfter:t}):e.set("selectionAfter",t)}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(n===e.count())t.forEach(function(t){e=e.push(t)});else if(0===n)t.reverse().forEach(function(t){e=e.unshift(t)});else{var r=e.slice(0,n),o=e.slice(n);e=r.concat(t,o).toList()}return e}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e,t){if(!(e instanceof r))return null;var n=e.getNextSiblingKey();if(n)return n;var o=e.getParentKey();if(!o)return null;for(var i=t.get(o);i&&!i.getNextSiblingKey();){var a=i.getParentKey();i=a?t.get(a):null}return i?i.getNextSiblingKey():null}},function(e,t,n){"use strict";var r=n(4),o=n(183),i=n(85),a=r.List,s=r.Repeat,u=r.Record,l=o.thatReturnsTrue,c=u({start:null,end:null}),f=u({start:null,end:null,decoratorKey:null,leaves:null}),d={generate:function(e,t,n){var r=t.getLength();if(!r)return a.of(new f({start:0,end:0,decoratorKey:null,leaves:a.of(new c({start:0,end:0}))}));var o=[],u=n?n.getDecorations(t,e):a(s(null,r)),d=t.getCharacterList();return i(u,p,l,function(e,t){o.push(new f({start:e,end:t,decoratorKey:u.get(e),leaves:function(e,t){var n=[],r=e.map(function(e){return e.getStyle()}).toList();return i(r,p,l,function(e,r){n.push(new c({start:e+t,end:r+t}))}),a(n)}(d.slice(e,t).toList(),e)}))}),a(o)},getFingerprint:function(e){return e.map(function(e){var t=e.get("decoratorKey");return(null!==t?t+"."+(e.get("end")-e.get("start")):"")+"."+e.get("leaves").size}).join("-")}};function p(e,t){return e===t}e.exports=d},function(e,t,n){"use strict";var r=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getType=function(){return this.get("type")},t.prototype.getMutability=function(){return this.get("mutability")},t.prototype.getData=function(){return this.get("data")},t}((0,n(4).Record)({type:"TOKEN",mutability:"IMMUTABLE",data:Object}));e.exports=r},function(e,t,n){"use strict";var r=n(186),o=n(5),i="֐־׀׃׆׈-׏א-ת׫-ׯװ-ײ׳-״׵-׿߀-߉ߊ-ߪߴ-ߵߺ߻-߿ࠀ-ࠕࠚࠤࠨ࠮-࠯࠰-࠾࠿ࡀ-ࡘ࡜-࡝࡞࡟-࢟‏יִײַ-ﬨשׁ-זּ﬷טּ-לּ﬽מּ﬿נּ-סּ﭂ףּ-פּ﭅צּ-ﭏ",a="؈؋؍؛؜؝؞-؟ؠ-ؿـف-ي٭ٮ-ٯٱ-ۓ۔ەۥ-ۦۮ-ۯۺ-ۼ۽-۾ۿ܀-܍܎܏ܐܒ-ܯ݋-݌ݍ-ޥޱ޲-޿ࢠ-ࢲࢳ-ࣣﭐ-ﮱ﮲-﯁﯂-﯒ﯓ-ﴽ﵀-﵏ﵐ-ﶏ﶐-﶑ﶒ-ﷇ﷈-﷏ﷰ-ﷻ﷼﷾-﷿ﹰ-ﹴ﹵ﹶ-ﻼ﻽-﻾",s=new RegExp("["+"A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-ƿǀ-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҂Ҋ-ԯԱ-Ֆՙ՚-՟ա-և։ःऄ-हऻऽा-ीॉ-ौॎ-ॏॐक़-ॡ।-॥०-९॰ॱॲ-ঀং-ঃঅ-ঌএ-ঐও-নপ-রলশ-হঽা-ীে-ৈো-ৌৎৗড়-ঢ়য়-ৡ০-৯ৰ-ৱ৴-৹৺ਃਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽા-ીૉો-ૌૐૠ-ૡ૦-૯૰ଂ-ଃଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽାୀେ-ୈୋ-ୌୗଡ଼-ଢ଼ୟ-ୡ୦-୯୰ୱ୲-୷ஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹா-ிு-ூெ-ைொ-ௌௐௗ௦-௯௰-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౙౠ-ౡ౦-౯౿ಂ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽಾಿೀ-ೄೆೇ-ೈೊ-ೋೕ-ೖೞೠ-ೡ೦-೯ೱ-ೲം-ഃഅ-ഌഎ-ഐഒ-ഺഽാ-ീെ-ൈൊ-ൌൎൗൠ-ൡ൦-൯൰-൵൹ൺ-ൿං-ඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-ෳ෴ก-ะา-ำเ-ๅๆ๏๐-๙๚-๛ກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆ໐-໙ໜ-ໟༀ༁-༃༄-༒༓༔༕-༗༚-༟༠-༩༪-༳༴༶༸༾-༿ཀ-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿏࿐-࿔࿕-࿘࿙-࿚က-ဪါ-ာေးျ-ြဿ၀-၉၊-၏ၐ-ၕၖ-ၗၚ-ၝၡၢ-ၤၥ-ၦၧ-ၭၮ-ၰၵ-ႁႃ-ႄႇ-ႌႎႏ႐-႙ႚ-ႜ႞-႟Ⴀ-ჅჇჍა-ჺ჻ჼჽ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፨፩-፼ᎀ-ᎏᎠ-Ᏼᐁ-ᙬ᙭-᙮ᙯ-ᙿᚁ-ᚚᚠ-ᛪ᛫-᛭ᛮ-ᛰᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵-᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះ-ៈ។-៖ៗ៘-៚ៜ០-៩᠐-᠙ᠠ-ᡂᡃᡄ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰ-ᤱᤳ-ᤸ᥆-᥏ᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧀᧁ-ᧇᧈ-ᧉ᧐-᧙᧚ᨀ-ᨖᨙ-ᨚ᨞-᨟ᨠ-ᩔᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪦ᪧ᪨-᪭ᬄᬅ-ᬳᬵᬻᬽ-ᭁᭃ-᭄ᭅ-ᭋ᭐-᭙᭚-᭠᭡-᭪᭴-᭼ᮂᮃ-ᮠᮡᮦ-ᮧ᮪ᮮ-ᮯ᮰-᮹ᮺ-ᯥᯧᯪ-ᯬᯮ᯲-᯳᯼-᯿ᰀ-ᰣᰤ-ᰫᰴ-ᰵ᰻-᰿᱀-᱉ᱍ-ᱏ᱐-᱙ᱚ-ᱷᱸ-ᱽ᱾-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳱᳲ-ᳳᳵ-ᳶᴀ-ᴫᴬ-ᵪᵫ-ᵷᵸᵹ-ᶚᶛ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℵ-ℸℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↂↃ-ↄↅ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⱻⱼ-ⱽⱾ-ⳤⳫ-ⳮⳲ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々〆〇〡-〩〮-〯〱-〵〸-〺〻〼ぁ-ゖゝ-ゞゟァ-ヺー-ヾヿㄅ-ㄭㄱ-ㆎ㆐-㆑㆒-㆕㆖-㆟ㆠ-ㆺㇰ-ㇿ㈀-㈜㈠-㈩㈪-㉇㉈-㉏㉠-㉻㉿㊀-㊉㊊-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿌ꀀ-ꀔꀕꀖ-ꒌꓐ-ꓷꓸ-ꓽ꓾-꓿ꔀ-ꘋꘌꘐ-ꘟ꘠-꘩ꘪ-ꘫꙀ-ꙭꙮꚀ-ꚛꚜ-ꚝꚠ-ꛥꛦ-ꛯ꛲-꛷Ꜣ-ꝯꝰꝱ-ꞇ꞉-꞊Ꞌ-ꞎꞐ-ꞭꞰ-Ʇꟷꟸ-ꟹꟺꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꠣ-ꠤꠧ꠰-꠵꠶-꠷ꡀ-ꡳꢀ-ꢁꢂ-ꢳꢴ-ꣃ꣎-꣏꣐-꣙ꣲ-ꣷ꣸-꣺ꣻ꤀-꤉ꤊ-ꤥ꤮-꤯ꤰ-ꥆꥒ-꥓꥟ꥠ-ꥼꦃꦄ-ꦲꦴ-ꦵꦺ-ꦻꦽ-꧀꧁-꧍ꧏ꧐-꧙꧞-꧟ꧠ-ꧤꧦꧧ-ꧯ꧰-꧹ꧺ-ꧾꨀ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-꩟ꩠ-ꩯꩰꩱ-ꩶ꩷-꩹ꩺꩻꩽꩾ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂꫛ-ꫜꫝ꫞-꫟ꫠ-ꫪꫫꫮ-ꫯ꫰-꫱ꫲꫳ-ꫴꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚ꭛ꭜ-ꭟꭤ-ꭥꯀ-ꯢꯣ-ꯤꯦ-ꯧꯩ-ꯪ꯫꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-豈-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-ッーア-ン゙-゚ᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"+i+a+"]"),u=new RegExp("["+i+a+"]");function l(e){var t=s.exec(e);return null==t?null:t[0]}function c(e){var t=l(e);return null==t?r.NEUTRAL:u.exec(t)?r.RTL:r.LTR}function f(e,t){if(t=t||r.NEUTRAL,!e.length)return t;var n=c(e);return n===r.NEUTRAL?t:n}function d(e,t){return t||(t=r.getGlobalDir()),r.isStrong(t)||o(!1),f(e,t)}var p={firstStrongChar:l,firstStrongCharDir:c,resolveBlockDir:f,getDirection:d,isDirectionLTR:function(e,t){return d(e,t)===r.LTR},isDirectionRTL:function(e,t){return d(e,t)===r.RTL}};e.exports=p},function(e,t,n){"use strict";e.exports={BOLD:{fontWeight:"bold"},CODE:{fontFamily:"monospace",wordWrap:"break-word"},ITALIC:{fontStyle:"italic"},STRIKETHROUGH:{textDecoration:"line-through"},UNDERLINE:{textDecoration:"underline"}}},function(e,t,n){"use strict";e.exports=function(e){var t=e.getSelection(),n=t.getAnchorKey(),r=e.getBlockTree(n),o=t.getStartOffset(),i=!1;return r.some(function(e){return o===e.get("start")?(i=!0,!0):o<e.get("end")&&e.get("leaves").some(function(e){var t=e.get("start");return o===t&&(i=!0,!0)})}),i}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var o=n(766),i=n(111),a=n(0),s=n(23),u=n(324),l=n(191),c=n(319),f=n(186),d=n(72),p=n(781),h=n(192),g=n(785),y=n(5),m=n(31),v=function(e,t){return e.getAnchorKey()===t||e.getFocusKey()===t},b=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return this.props.block!==e.block||this.props.tree!==e.tree||this.props.direction!==e.direction||v(e.selection,e.block.getKey())&&e.forceSelection},t.prototype.componentDidMount=function(){var e=this.props.selection,t=e.getEndKey();if(e.getHasFocus()&&t===this.props.block.getKey()){var n=s.findDOMNode(this),r=l.getScrollParent(n),o=h(r),i=void 0;if(r===window){var a=p(n);(i=a.y+a.height-g().height)>0&&window.scrollTo(o.x,o.y+i+10)}else{n instanceof HTMLElement||y(!1),(i=n.offsetHeight+n.offsetTop-(r.offsetHeight+o.y))>0&&u.setTop(r,u.getTop(r)+i+10)}}},t.prototype._renderChildren=function(){var e=this,t=this.props.block,n=t.getKey(),s=t.getText(),u=this.props.tree.size-1,l=v(this.props.selection,n);return this.props.tree.map(function(d,p){var h=d.get("leaves"),g=h.size-1,y=h.map(function(r,c){var f=i.encode(n,p,c),d=r.get("start"),h=r.get("end");return a.createElement(o,{key:f,offsetKey:f,block:t,start:d,selection:l?e.props.selection:null,forceSelection:e.props.forceSelection,text:s.slice(d,h),styleSet:t.getInlineStyleAt(d),customStyleMap:e.props.customStyleMap,customStyleFn:e.props.customStyleFn,isLast:p===u&&c===g})}).toArray(),v=d.get("decoratorKey");if(null==v)return y;if(!e.props.decorator)return y;var b=m(e.props.decorator),_=b.getComponentForKey(v);if(!_)return y;var x=b.getPropsForKey(v),w=i.encode(n,p,0),S=s.slice(h.first().get("start"),h.last().get("end")),C=f.getHTMLDirIfDifferent(c.getDirection(S),e.props.direction);return a.createElement(_,r({},x,{contentState:e.props.contentState,decoratedText:S,dir:C,key:w,entityKey:t.getEntityAt(d.get("start")),offsetKey:w}),y)}).toArray()},t.prototype.render=function(){var e=this.props,t=e.direction,n=e.offsetKey,r=d({"public/DraftStyleDefault/block":!0,"public/DraftStyleDefault/ltr":"LTR"===t,"public/DraftStyleDefault/rtl":"RTL"===t});return a.createElement("div",{"data-offset-key":n,className:r},this._renderChildren())},t}(a.Component);e.exports=b},function(e,t,n){"use strict";e.exports=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){"use strict";function r(e,t){return!!t&&(e===t.documentElement||e===t.body)}var o={getTop:function(e){var t=e.ownerDocument;return r(e,t)?t.body.scrollTop||t.documentElement.scrollTop:e.scrollTop},setTop:function(e,t){var n=e.ownerDocument;r(e,n)?n.body.scrollTop=n.documentElement.scrollTop=t:e.scrollTop=t},getLeft:function(e){var t=e.ownerDocument;return r(e,t)?t.body.scrollLeft||t.documentElement.scrollLeft:e.scrollLeft},setLeft:function(e,t){var n=e.ownerDocument;r(e,n)?n.body.scrollLeft=n.documentElement.scrollLeft=t:e.scrollLeft=t}};e.exports=o},function(e,t,n){"use strict";var r=n(788),o=n(789),i=n(183),a=new RegExp("\r\n","g"),s={"text/rtf":1,"text/html":1};function u(e){if("file"==e.kind)return e.getAsFile()}var l=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.data=t,this.types=t.types?o(t.types):[]}return e.prototype.isRichText=function(){return!(!this.getHTML()||!this.getText())||!this.isImage()&&this.types.some(function(e){return s[e]})},e.prototype.getText=function(){var e;return this.data.getData&&(this.types.length?-1!=this.types.indexOf("text/plain")&&(e=this.data.getData("text/plain")):e=this.data.getData("Text")),e?e.replace(a,"\n"):null},e.prototype.getHTML=function(){if(this.data.getData){if(!this.types.length)return this.data.getData("Text");if(-1!=this.types.indexOf("text/html"))return this.data.getData("text/html")}},e.prototype.isLink=function(){return this.types.some(function(e){return-1!=e.indexOf("Url")||-1!=e.indexOf("text/uri-list")||e.indexOf("text/x-moz-url")})},e.prototype.getLink=function(){return this.data.getData?-1!=this.types.indexOf("text/x-moz-url")?this.data.getData("text/x-moz-url").split("\n")[0]:-1!=this.types.indexOf("text/uri-list")?this.data.getData("text/uri-list"):this.data.getData("url"):null},e.prototype.isImage=function(){var e=this.types.some(function(e){return-1!=e.indexOf("application/x-moz-file")});if(e)return!0;for(var t=this.getFiles(),n=0;n<t.length;n++){var o=t[n].type;if(!r.isImage(o))return!1}return!0},e.prototype.getCount=function(){return this.data.hasOwnProperty("items")?this.data.items.length:this.data.hasOwnProperty("mozItemCount")?this.data.mozItemCount:this.data.files?this.data.files.length:null},e.prototype.getFiles=function(){return this.data.items?Array.prototype.slice.call(this.data.items).map(u).filter(i.thatReturnsArgument):this.data.files?Array.prototype.slice.call(this.data.files):[]},e.prototype.hasFiles=function(){return this.getFiles().length>0},e}();e.exports=l},function(e,t,n){"use strict";e.exports=function e(t){if(t instanceof Element){var n=t.getAttribute("data-offset-key");if(n)return n;for(var r=0;r<t.childNodes.length;r++){var o=e(t.childNodes[r]);if(o)return o}}return null}},function(e,t,n){"use strict";(function(t){var r=n(5),o=/\.textClipping$/,i={"text/plain":!0,"text/html":!0,"text/rtf":!0},a=5e3;e.exports=function(e,n){var s=0,u=[];e.forEach(function(l){!function(e,n){if(t.FileReader&&(!e.type||e.type in i)){if(""===e.type){var a="";return o.test(e.name)&&(a=e.name.replace(o,"")),void n(a)}var s=new FileReader;s.onload=function(){var e=s.result;"string"!=typeof e&&r(!1),n(e)},s.onerror=function(){n("")},s.readAsText(e)}else n("")}(l,function(t){s++,t&&u.push(t.slice(0,a)),s==e.length&&n(u.join("\r"))})})}}).call(this,n(18))},function(e,t,n){"use strict";var r=n(111),o=n(31);e.exports=function(e,t,n,i,a){var s=o(e.getSelection()),u=r.decode(t),l=u.blockKey,c=e.getBlockTree(l).getIn([u.decoratorKey,"leaves",u.leafKey]),f=r.decode(i),d=f.blockKey,p=e.getBlockTree(d).getIn([f.decoratorKey,"leaves",f.leafKey]),h=c.get("start"),g=p.get("start"),y=c?h+n:null,m=p?g+a:null;if(s.getAnchorKey()===l&&s.getAnchorOffset()===y&&s.getFocusKey()===d&&s.getFocusOffset()===m)return s;var v=!1;if(l===d){var b=c.get("end"),_=p.get("end");v=g===h&&_===b?a<n:g<h}else v=e.getCurrentContent().getBlockMap().keySeq().skipUntil(function(e){return e===l||e===d}).first()===d;return s.merge({anchorKey:l,anchorOffset:y,focusKey:d,focusOffset:m,isBackward:v})}},function(e,t,n){"use strict";var r=n(109);e.exports=function(e){var t=e.getSelection();return t.isCollapsed()?null:r(e.getCurrentContent(),t)}},function(e,t,n){"use strict";var r=n(36),o=n(5);var i=r.isBrowser("Chrome")?function(e){for(var t=e.cloneRange(),n=[],r=e.endContainer;null!=r;r=r.parentNode){var i=r===e.commonAncestorContainer;i?t.setStart(e.startContainer,e.startOffset):t.setStart(t.endContainer,0);var a,s=Array.from(t.getClientRects());if(n.push(s),i)return n.reverse(),(a=[]).concat.apply(a,n);t.setEndBefore(r)}o(!1)}:function(e){return Array.from(e.getClientRects())};e.exports=i},function(e,t,n){"use strict";var r=n(193),o=n(326),i=n(328),a=n(5),s=n(31);function u(e,t,n){var i=t,u=r(i);if(null!=u||e&&(e===i||e.firstChild===i)||a(!1),e===i&&((i=i.firstChild)instanceof Element&&"true"===i.getAttribute("data-contents")||a(!1),n>0&&(n=i.childNodes.length)),0===n){var c=null;if(null!=u)c=u;else{var f=function(e){for(;e.firstChild&&(e.firstChild instanceof Element&&"true"===e.firstChild.getAttribute("data-blocks")||o(e.firstChild));)e=e.firstChild;return e}(i);c=s(o(f))}return{key:c,offset:0}}var d=i.childNodes[n-1],p=null,h=null;if(o(d)){var g=function(e){for(;e.lastChild&&(e.lastChild instanceof Element&&"true"===e.lastChild.getAttribute("data-blocks")||o(e.lastChild));)e=e.lastChild;return e}(d);p=s(o(g)),h=l(g)}else p=s(u),h=l(d);return{key:p,offset:h}}function l(e){var t=e.textContent;return"\n"===t?0:t.length}e.exports=function(e,t,n,o,a,l){var c=n.nodeType===Node.TEXT_NODE,f=a.nodeType===Node.TEXT_NODE;if(c&&f)return{selectionState:i(e,s(r(n)),o,s(r(a)),l),needsRecovery:!1};var d=null,p=null,h=!0;return c?(d={key:s(r(n)),offset:o},p=u(t,a,l)):f?(p={key:s(r(a)),offset:l},d=u(t,n,o)):(d=u(t,n,o),p=u(t,a,l),n===a&&o===l&&(h=!!n.firstChild&&"BR"!==n.firstChild.nodeName)),{selectionState:i(e,d.key,d.offset,p.key,p.offset),needsRecovery:h}}},function(e,t,n){"use strict";var r="\\s|(?![_])"+n(808).getPunctuation(),o=new RegExp("^(?:"+r+")*(?:['‘’]|(?!"+r+").)*(?:(?!"+r+").)"),i=new RegExp("(?:(?!"+r+").)(?:['‘’]|(?!"+r+").)*(?:"+r+")*$");function a(e,t){var n=t?i.exec(e):o.exec(e);return n?n[0]:e}var s={getBackward:function(e){return a(e,!0)},getForward:function(e){return a(e,!1)}};e.exports=s},function(e,t,n){"use strict";e.exports=function(e,t){var n,r=e.getSelection(),o=r.getStartKey(),i=r.getStartOffset(),a=e.getCurrentContent(),s=o;return t>a.getBlockForKey(o).getText().length-i?(s=a.getKeyAfter(o),n=0):n=i+t,r.merge({focusKey:s,focusOffset:n})}},function(e,t,n){"use strict";var r,o=i||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(26);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=n(25),u=n(56),l=n(27),c=n(187),f=n(110),d=n(46),p=n(4),h=n(4).Set,g=n(819),y=n(72),m=n(40),v=n(335),b=n(5),_=n(185),x=d.draft_tree_data_support,w=p.List,S=p.OrderedSet,C=new RegExp("\r","g"),k=new RegExp("\n","g"),O=new RegExp("&nbsp;","g"),E=new RegExp("&#13;?","g"),T=new RegExp("&#8203;?","g"),M=["bold","bolder","500","600","700","800","900"],P=["light","lighter","100","200","300","400"],j={b:"BOLD",code:"CODE",del:"STRIKETHROUGH",em:"ITALIC",i:"ITALIC",s:"STRIKETHROUGH",strike:"STRIKETHROUGH",strong:"BOLD",u:"UNDERLINE"},A=(a(r={},y("public/DraftStyleDefault/depth0"),0),a(r,y("public/DraftStyleDefault/depth1"),1),a(r,y("public/DraftStyleDefault/depth2"),2),a(r,y("public/DraftStyleDefault/depth3"),3),a(r,y("public/DraftStyleDefault/depth4"),4),r),I=["className","href","rel","target","title"],R=["alt","className","height","src","width"],D=void 0,N={text:"",inlines:[],entities:[],blocks:[]},B={children:w(),depth:0,key:"",type:""},L=function(e,t){return"li"===e?"ol"===t?"ordered-list-item":"unordered-list-item":null},F=function(e,t,n){var r=n.filter(function(t){return t.element===e||t.wrapper===e||t.aliasedElements&&t.aliasedElements.some(function(t){return t===e})}).keySeq().toSet().toArray().sort();switch(r.length){case 0:return"unstyled";case 1:return r[0];default:return function(e,t,n){for(var r=0;r<n.length;r++){var o=n[r](e,t);if(o)return o}return null}(e,t,[L])||"unstyled"}},z=function(e,t,n){var r=e.text.slice(-1),o=t.text.slice(0,1);if("\r"!==r||"\r"!==o||n||(e.text=e.text.slice(0,-1),e.inlines.pop(),e.entities.pop(),e.blocks.pop()),"\r"===r){if(" "===t.text||"\n"===t.text)return e;" "!==o&&"\n"!==o||(t.text=t.text.slice(1),t.inlines.shift(),t.entities.shift())}return{text:e.text+t.text,inlines:e.inlines.concat(t.inlines),entities:e.entities.concat(t.entities),blocks:e.blocks.concat(t.blocks)}},q=function(e){e instanceof HTMLAnchorElement||b(!1);var t=e.protocol;return"http:"===t||"https:"===t||"mailto:"===t},K=function(){return o({},N,{text:"\n",inlines:[S()],entities:new Array(1)})},W=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{text:"\r",inlines:[S()],entities:new Array(1),blocks:[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o({},B,e)}({parent:n,key:m(),type:e,depth:Math.max(0,Math.min(4,t))})]}},U=function e(t,n,r,i,a,s,u,l,c,d){var p=D,h=n.nodeName.toLowerCase(),y=t,m="unstyled",v=!1,b=a&&F(a,i,l),_=o({},N),w=void 0;if("#text"===h){var C=n.textContent,O=C.trim();if(i&&""===O&&n.parentElement){var E=n.parentElement.nodeName.toLowerCase();if("ol"===E||"ul"===E)return{chunk:o({},N),entityMap:t}}return""===O&&"pre"!==a?{chunk:function(e){var t=new Array(1);return e&&(t[0]=e),o({},N,{text:" ",inlines:[S()],entities:t})}(c),entityMap:t}:("pre"!==a&&(C=C.replace(k," ")),D=h,{chunk:{text:C,inlines:Array(C.length).fill(r),entities:Array(C.length).fill(c),blocks:[]},entityMap:t})}if(D=h,"br"===h)return"br"!==p||a&&"unstyled"!==b?{chunk:K(),entityMap:t}:{chunk:W("unstyled",u,d),entityMap:t};if("img"===h&&n instanceof HTMLImageElement&&n.attributes.getNamedItem("src")&&n.attributes.getNamedItem("src").value){var T=n,B={};R.forEach(function(e){var t=T.getAttribute(e);t&&(B[e]=t)}),n.textContent="📷",c=f.__create("IMAGE","MUTABLE",B||{})}r=function(e,t,n){var r=j[e];if(r)n=n.add(r).toOrderedSet();else if(t instanceof HTMLElement){var o=t;n=n.withMutations(function(e){var t=o.style.fontWeight,n=o.style.fontStyle,r=o.style.textDecoration;M.indexOf(t)>=0?e.add("BOLD"):P.indexOf(t)>=0&&e.remove("BOLD"),"italic"===n?e.add("ITALIC"):"normal"===n&&e.remove("ITALIC"),"underline"===r&&e.add("UNDERLINE"),"line-through"===r&&e.add("STRIKETHROUGH"),"none"===r&&(e.remove("UNDERLINE"),e.remove("STRIKETHROUGH"))}).toOrderedSet()}return n}(h,n,r),"ul"!==h&&"ol"!==h||(i&&(u+=1),i=h),!x&&"li"===h&&n instanceof HTMLElement&&(u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Object.keys(A).some(function(n){e.classList.contains(n)&&(t=A[n])}),t}(n,u));var L=F(h,i,l),U=i&&"li"===a&&"li"===h,$=(!a||x)&&-1!==s.indexOf(h);(U||$)&&(w=(_=W(L,u,d)).blocks[0].key,a=h,v=!x),U&&(m="ul"===i?"unordered-list-item":"ordered-list-item");var H=n.firstChild;null!=H&&(h=H.nodeName.toLowerCase());for(var V=null;H;){H instanceof HTMLAnchorElement&&H.href&&q(H)?function(){var e=H,t={};I.forEach(function(n){var r=e.getAttribute(n);r&&(t[n]=r)}),t.url=new g(e.href).toString(),V=f.__create("LINK","MUTABLE",t||{})}():V=void 0;var G=e(y,H,r,i,a,s,u,l,V||c,x?w:null),Y=G.chunk;y=G.entityMap,_=z(_,Y,x);var X=H.nextSibling;!d&&X&&s.indexOf(h)>=0&&a&&(_=z(_,K())),X&&(h=X.nodeName.toLowerCase()),H=X}return v&&(_=z(_,W(m,u,d))),{chunk:_,entityMap:y}},$=function(e,t,n,r){e=e.trim().replace(C,"").replace(O," ").replace(E,"").replace(T,"");var i=function(e){var t=e.get("unstyled").element,n=h([]);return e.forEach(function(e){e.aliasedElements&&e.aliasedElements.forEach(function(e){n=n.add(e)}),n=n.add(e.element)}),n.filter(function(e){return e&&e!==t}).toArray().sort()}(n),a=t(e);if(!a)return null;D=null;var s=function(e,t){return t.some(function(t){return-1!==e.indexOf("<"+t)})}(e,i)?i:["div"],u=U(r,a,S(),"ul",null,s,-1,n),l=u.chunk,c=u.entityMap;return 0===l.text.indexOf("\r")&&(l={text:l.text.slice(1),inlines:l.inlines.slice(1),entities:l.entities.slice(1),blocks:l.blocks}),"\r"===l.text.slice(-1)&&(l.text=l.text.slice(0,-1),l.inlines=l.inlines.slice(0,-1),l.entities=l.entities.slice(0,-1),l.blocks.pop()),0===l.blocks.length&&l.blocks.push(o({},N,{type:"unstyled",depth:0})),l.text.split("\r").length===l.blocks.length+1&&l.blocks.unshift({type:"unstyled",depth:0}),{chunk:l,entityMap:c}};e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c,r=$(e,t,n,f);if(null==r)return null;var o=r.chunk,i=r.entityMap;return{contentBlocks:function(e){if(!e||!e.text||!Array.isArray(e.blocks))return null;var t=0,n=e.blocks,r=e.inlines,o=e.entities,i=x?l:u;return e.text.split("\r").reduce(function(e,a,u){a=_(a);var c=n[u],f=t+a.length,d=r.slice(t,f),p=o.slice(t,f),h=w(d.map(function(e,t){var n={style:e,entity:null};return p[t]&&(n.entity=p[t]),s.create(n)}));t=f+1;var g=c.depth,y=c.type,v=c.parent,b=c.key||m(),x=null;if(v){var S=e.cacheRef[v],C=e.contentBlocks[S];if(C.getChildKeys().isEmpty()&&C.getText()){var k=C.getCharacterList(),O=C.getText();x=m();var E=new l({key:x,text:O,characterList:k,parent:v,nextSibling:b});e.contentBlocks.push(E),C=C.withMutations(function(e){e.set("characterList",w()).set("text","").set("children",C.children.push(E.getKey()))})}e.contentBlocks[S]=C.set("children",C.children.push(b))}var T=new i({key:b,parent:v,type:y,depth:g,text:a,characterList:h,prevSibling:x||(0===u||n[u-1].parent!==v?null:n[u-1].key),nextSibling:u===n.length-1||n[u+1].parent!==v?null:n[u+1].key});return e.contentBlocks.push(T),e.cacheRef[T.key]=u,e},{cacheRef:{},contentBlocks:[]}).contentBlocks}(o),entityMap:i}}},function(e,t,n){"use strict";var r=n(36),o=n(5),i=r.isBrowser("IE <= 9");e.exports=function(e){var t,n=null;return!i&&document.implementation&&document.implementation.createHTMLDocument&&((t=document.implementation.createHTMLDocument("foo")).documentElement||o(!1),t.documentElement.innerHTML=e,n=t.getElementsByTagName("body")[0]),n}},function(e,t,n){"use strict";var r=n(22),o=n(6),i=(n(71),n(820)),a=n(31),s={currentBlockContainsLink:function(e){var t=e.getSelection(),n=e.getCurrentContent(),r=n.getEntityMap();return n.getBlockForKey(t.getAnchorKey()).getCharacterList().slice(t.getStartOffset(),t.getEndOffset()).some(function(e){var t=e.getEntity();return!!t&&"LINK"===r.__get(t).getType()})},getCurrentBlockType:function(e){var t=e.getSelection();return e.getCurrentContent().getBlockForKey(t.getStartKey()).getType()},getDataObjectForLinkURL:function(e){return{url:e.toString()}},handleKeyCommand:function(e,t){switch(t){case"bold":return s.toggleInlineStyle(e,"BOLD");case"italic":return s.toggleInlineStyle(e,"ITALIC");case"underline":return s.toggleInlineStyle(e,"UNDERLINE");case"code":return s.toggleCode(e);case"backspace":case"backspace-word":case"backspace-to-start-of-line":return s.onBackspace(e);case"delete":case"delete-word":case"delete-to-end-of-block":return s.onDelete(e);default:return null}},insertSoftNewline:function(e){var t=r.insertText(e.getCurrentContent(),e.getSelection(),"\n",e.getCurrentInlineStyle(),null),n=o.push(e,t,"insert-characters");return o.forceSelection(n,t.getSelectionAfter())},onBackspace:function(e){var t=e.getSelection();if(!t.isCollapsed()||t.getAnchorOffset()||t.getFocusOffset())return null;var n=e.getCurrentContent(),r=t.getStartKey(),i=n.getBlockBefore(r);if(i&&"atomic"===i.getType()){var a=n.getBlockMap().delete(i.getKey()),u=n.merge({blockMap:a,selectionAfter:t});if(u!==n)return o.push(e,u,"remove-range")}var l=s.tryToRemoveBlockStyle(e);return l?o.push(e,l,"change-block-type"):null},onDelete:function(e){var t=e.getSelection();if(!t.isCollapsed())return null;var n=e.getCurrentContent(),i=t.getStartKey(),a=n.getBlockForKey(i).getLength();if(t.getStartOffset()<a)return null;var s=n.getBlockAfter(i);if(!s||"atomic"!==s.getType())return null;var u=t.merge({focusKey:s.getKey(),focusOffset:s.getLength()}),l=r.removeRange(n,u,"forward");return l!==n?o.push(e,l,"remove-range"):null},onTab:function(e,t,n){var r=t.getSelection(),a=r.getAnchorKey();if(a!==r.getFocusKey())return t;var s=t.getCurrentContent(),u=s.getBlockForKey(a),l=u.getType();if("unordered-list-item"!==l&&"ordered-list-item"!==l)return t;e.preventDefault();var c=s.getBlockBefore(a);if(!c)return t;var f=c.getType();if("unordered-list-item"!==f&&"ordered-list-item"!==f)return t;var d=u.getDepth();if(!e.shiftKey&&d===n)return t;n=Math.min(c.getDepth()+1,n);var p=i(s,r,e.shiftKey?-1:1,n);return o.push(t,p,"adjust-depth")},toggleBlockType:function(e,t){var n=e.getSelection(),i=n.getStartKey(),s=n.getEndKey(),u=e.getCurrentContent(),l=n;if(i!==s&&0===n.getEndOffset()){var c=a(u.getBlockBefore(s));s=c.getKey(),l=l.merge({anchorKey:i,anchorOffset:n.getStartOffset(),focusKey:s,focusOffset:c.getLength(),isBackward:!1})}if(u.getBlockMap().skipWhile(function(e,t){return t!==i}).reverse().skipWhile(function(e,t){return t!==s}).some(function(e){return"atomic"===e.getType()}))return e;var f=u.getBlockForKey(i).getType()===t?"unstyled":t;return o.push(e,r.setBlockType(u,l,f),"change-block-type")},toggleCode:function(e){var t=e.getSelection(),n=t.getAnchorKey(),r=t.getFocusKey();return t.isCollapsed()||n!==r?s.toggleBlockType(e,"code-block"):s.toggleInlineStyle(e,"CODE")},toggleInlineStyle:function(e,t){var n=e.getSelection(),i=e.getCurrentInlineStyle();if(n.isCollapsed())return o.setInlineStyleOverride(e,i.has(t)?i.remove(t):i.add(t));var a,s=e.getCurrentContent();return a=i.has(t)?r.removeInlineStyle(s,n,t):r.applyInlineStyle(s,n,t),o.push(e,a,"change-inline-style")},toggleLink:function(e,t,n){var i=r.applyEntity(e.getCurrentContent(),t,n);return o.push(e,i,"apply-entity")},tryToRemoveBlockStyle:function(e){var t=e.getSelection(),n=t.getAnchorOffset();if(t.isCollapsed()&&0===n){var o=t.getAnchorKey(),i=e.getCurrentContent(),a=i.getBlockForKey(o),s=i.getFirstBlock();if(a.getLength()>0&&a!==s)return null;var u=a.getType(),l=i.getBlockBefore(o);if("code-block"===u&&l&&"code-block"===l.getType()&&0!==l.getLength())return null;if("unstyled"!==u)return r.setBlockType(i,t,"unstyled")}return null}};e.exports=s},function(e,t,n){"use strict";var r=n(194),o=n(188),i=n(36),a=i.isPlatform("Mac OS X"),s=i.isPlatform("Windows"),u=a&&i.isBrowser("Firefox < 29"),l=r.hasCommandModifier,c=r.isCtrlKeyCommand;function f(e){return a&&e.altKey||c(e)}e.exports=function(e){switch(e.keyCode){case 66:return l(e)?"bold":null;case 68:return c(e)?"delete":null;case 72:return c(e)?"backspace":null;case 73:return l(e)?"italic":null;case 74:return l(e)?"code":null;case 75:return!s&&c(e)?"secondary-cut":null;case 77:case 79:return c(e)?"split-block":null;case 84:return a&&c(e)?"transpose-characters":null;case 85:return l(e)?"underline":null;case 87:return a&&c(e)?"backspace-word":null;case 89:return c(e)?s?"redo":"secondary-paste":null;case 90:return function(e){return l(e)?e.shiftKey?"redo":"undo":null}(e)||null;case o.RETURN:return"split-block";case o.DELETE:return function(e){return s&&e.shiftKey?null:f(e)?"delete-word":"delete"}(e);case o.BACKSPACE:return function(e){return l(e)&&a?"backspace-to-start-of-line":f(e)?"backspace-word":"backspace"}(e);case o.LEFT:return u&&l(e)?"move-selection-to-start-of-block":null;case o.RIGHT:return u&&l(e)?"move-selection-to-end-of-block":null;default:return null}}},function(e,t,n){"use strict";var r={stringify:function(e){return"_"+String(e)},unstringify:function(e){return e.slice(1)}};e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),a=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(e,t){var n,s;return s=n=function(n){function s(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(s.__proto__||Object.getPrototypeOf(s)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(s,i.Component),o(s,[{key:"render",value:function(){return a.default.createElement(e,r({},this.props,t))}}]),s}(),n.displayName="Decorated("+function(e){return e.displayName||e.name||"Component"}(e)+")",s}},function(e,t,n){e.exports=n(849)()},function(e,t,n){(function(t){var n=1/0,r="[object Symbol]",o=/[\\^$.*+?()[\]{}|]/g,i=RegExp(o.source),a="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,u=a||s||Function("return this")(),l=Object.prototype.toString,c=u.Symbol,f=c?c.prototype:void 0,d=f?f.toString:void 0;function p(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&l.call(e)==r}(e))return d?d.call(e):"";var t=e+"";return"0"==t&&1/e==-n?"-0":t}e.exports=function(e){return(e=function(e){return null==e?"":p(e)}(e))&&i.test(e)?e.replace(o,"\\$&"):e}}).call(this,n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(853));t.default=function(e,t,n){var o=t.getAnchorKey(),i=t.getAnchorOffset()-n.length,a=e.getCurrentContent().getBlockForKey(o).getText();return(0,r.default)(a,i)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"@"===e?"mention":e+"mention"}},function(e,t,n){var r=n(345),o=n(869),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(871),o=n(196),i=n(876),a=n(877),s=n(878),u=n(54),l=n(348),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t,n){var r=n(54),o=n(70),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){var r=n(114),o=n(899),i=n(900),a=n(901),s=n(902),u=n(903);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(916),o=n(55);e.exports=function e(t,n,i,a,s){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,a,e,s))}},function(e,t,n){var r=n(917),o=n(920),i=n(921),a=1,s=2;e.exports=function(e,t,n,u,l,c){var f=n&a,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,y=!0,m=n&s?new r:void 0;for(c.set(e,t),c.set(t,e);++g<d;){var v=e[g],b=t[g];if(u)var _=f?u(b,v,g,t,e,c):u(v,b,g,e,t,c);if(void 0!==_){if(_)continue;y=!1;break}if(m){if(!o(t,function(e,t){if(!i(m,t)&&(v===e||l(v,e,n,u,c)))return m.push(t)})){y=!1;break}}else if(v!==b&&!l(v,b,n,u,c)){y=!1;break}}return c.delete(e),c.delete(t),y}},function(e,t,n){var r=n(70);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},function(e,t,n){var r=n(358);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){var r=n(359),o=n(118);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t,n){var r=n(30),o=n(202),i=n(934),a=n(178);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderRatingToColor=d,t.default=p;var r=n(10),o=c(n(0)),i=c(n(1)),a=c(n(119)),s=c(n(964)),u=n(3),l=c(n(361));function c(e){return e&&e.__esModule?e:{default:e}}const f=i.default.ul.withConfig({displayName:"AnalysisList__AnalysisListBase",componentId:"sc-1ozeatw-0"})(["margin:8px 0;padding:0;list-style:none;"]);function d(e){switch(e){case"good":return u.colors.$color_good;case"OK":return u.colors.$color_ok;case"bad":return u.colors.$color_bad;default:return u.colors.$color_score_icon}}function p({results:e,marksButtonActivatedResult:t,marksButtonStatus:n,marksButtonClassName:i,onMarksButtonClick:a}){return o.default.createElement(f,{role:"list"},e.map(e=>{const s=d(e.rating),u=e.markerId===t;let c="";return c="disabled"===n?(0,r.__)("Marks are disabled in current view","yoast-components"):u?(0,r.__)("Remove highlight from the text","yoast-components"):(0,r.__)("Highlight this result in the text","yoast-components"),o.default.createElement(l.default,{key:e.id,text:e.text,bulletColor:s,hasMarksButton:e.hasMarks,ariaLabel:c,pressed:u,buttonId:e.id,onButtonClick:()=>a(e.id,e.marker),marksButtonClassName:i,marksButtonStatus:n})}))}p.propTypes={results:a.default.array.isRequired,marksButtonActivatedResult:a.default.string,marksButtonStatus:a.default.string,marksButtonClassName:a.default.string,onMarksButtonClick:a.default.func},p.defaultProps={marksButtonActivatedResult:"",marksButtonStatus:"enabled",marksButtonClassName:"",onMarksButtonClick:s.default}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisResult=void 0;var r=s(n(0)),o=s(n(119)),i=s(n(1)),a=n(8);function s(e){return e&&e.__esModule?e:{default:e}}const u=i.default.li.withConfig({displayName:"AnalysisResult__AnalysisResultBase",componentId:"pf0ln6-0"})(["min-height:24px;padding:0;display:flex;align-items:flex-start;"]),l=(0,i.default)(a.SvgIcon).withConfig({displayName:"AnalysisResult__ScoreIcon",componentId:"pf0ln6-1"})(["margin:3px 11px 0 0;"]),c=i.default.p.withConfig({displayName:"AnalysisResult__AnalysisResultText",componentId:"pf0ln6-2"})(["margin:0 16px 0 0;flex:1 1 auto;"]),f=t.AnalysisResult=(e=>r.default.createElement(u,null,r.default.createElement(l,{icon:"circle",color:e.bulletColor,size:"13px"}),r.default.createElement(c,{dangerouslySetInnerHTML:{__html:e.text}}),e.hasMarksButton&&!function(e){return"hidden"===e.marksButtonStatus}(e)&&r.default.createElement(a.IconButtonToggle,{marksButtonStatus:e.marksButtonStatus,className:e.marksButtonClassName,onClick:e.onButtonClick,id:e.buttonId,icon:"eye",pressed:e.pressed,ariaLabel:e.ariaLabel})));f.propTypes={text:o.default.string.isRequired,bulletColor:o.default.string.isRequired,hasMarksButton:o.default.bool.isRequired,buttonId:o.default.string.isRequired,pressed:o.default.bool.isRequired,ariaLabel:o.default.string.isRequired,onButtonClick:o.default.func.isRequired,marksButtonStatus:o.default.string,marksButtonClassName:o.default.string},f.defaultProps={marksButtonStatus:"enabled",marksButtonClassName:""},t.default=f},function(e,t,n){var r=n(363);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(59),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,t,n){var r=n(74),o=n(47),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(984),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=o(i.length-t,0),u=Array(s);++a<s;)u[a]=i[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=i[a];return l[t]=n(u),r(e,this,l)}}},function(e,t,n){var r=n(985),o=n(987)(r);e.exports=o},function(e,t,n){var r=n(989),o=n(208),i=n(38),a=n(209),s=n(207),u=n(370),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),c=!n&&o(e),f=!n&&!c&&a(e),d=!n&&!c&&!f&&u(e),p=n||c||f||d,h=p?r(e.length,String):[],g=h.length;for(var y in e)!t&&!l.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}},function(e,t,n){var r=n(992),o=n(210),i=n(211),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(997),o=n(998),i=n(1052),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var u=null==n?0:i(n);return u<0&&(u=a(s+u,0)),r(e,o(t,3),u)}},function(e,t,n){var r=n(1023),o=n(48);e.exports=function e(t,n,i,a,s){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,a,e,s))}},function(e,t,n){var r=n(1024),o=n(1027),i=n(1028),a=1,s=2;e.exports=function(e,t,n,u,l,c){var f=n&a,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,y=!0,m=n&s?new r:void 0;for(c.set(e,t),c.set(t,e);++g<d;){var v=e[g],b=t[g];if(u)var _=f?u(b,v,g,t,e,c):u(v,b,g,e,t,c);if(void 0!==_){if(_)continue;y=!1;break}if(m){if(!o(t,function(e,t){if(!i(m,t)&&(v===e||l(v,e,n,u,c)))return m.push(t)})){y=!1;break}}else if(v!==b&&!l(v,b,n,u,c)){y=!1;break}}return c.delete(e),c.delete(t),y}},function(e,t,n){var r=n(37).Uint8Array;e.exports=r},function(e,t,n){var r=n(377),o=n(217),i=n(89);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(216),o=n(38);e.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(47);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t,n){var r=n(369),o=n(1062),i=n(121);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,t,n){var r=n(216),o=n(220),i=n(217),a=n(378),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=o(e);return t}:a;e.exports=s},function(e,t,n){var r=n(377),o=n(383),i=n(382);e.exports=function(e){return r(e,i,o)}},function(e,t){e.exports=window.yoast.redux},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setProminentWords=function(e){return{type:r,prominentWords:e}};const r=t.SET_PROMINENT_WORDS="INSIGHTS_SET_PROMINENT_WORDS"},function(e,t,n){"use strict";window.yoast=window.yoast||{},window.yoast.styleGuide=n(3),window.yoast.helpers=n(7),window.yoast.componentsNew=n(8),window.yoast.configurationWizard=n(270),window.yoast.searchMetadataPreviews=n(298),window.yoast.analysisReport=n(88),window.yoast.components=n(967)},function(e){e.exports={$palette_white:"#fff",$palette_grey_ultra_light:"#f7f7f7",$palette_grey_light:"#f1f1f1",$palette_grey_medium_light:"#e2e4e7",$palette_grey:"#ddd",$palette_grey_medium:"#ccc",$palette_grey_disabled:"#a0a5aa",$palette_grey_medium_dark:"#888",$palette_grey_text_light:"#767676",$palette_grey_text:"#616161",$palette_grey_dark:"#555",$palette_black:"#000",$palette_purple:"#5d237a",$palette_purple_dark:"#6c2548",$palette_pink:"#d73763",$palette_pink_light:"#e1bee7",$palette_pink_dark:"#a4286a",$palette_blue:"#0066cd",$palette_blue_light:"#a9a9ce",$palette_blue_medium:"#1e8cbe",$palette_blue_link:"#0073aa",$palette_blue_focus:"#5b9dd9",$palette_yoast_focus:"#007fff",$palette_blue_dark:"#084a67",$palette_green:"#77b227",$palette_green_light:"#7ad03a",$palette_green_medium_light:"#64a60a",$palette_green_medium:"#008a00",$palette_green_blue:"#009288",$palette_orange:"#dc5c04",$palette_orange_light:"#ee7c1b",$palette_red:"#dc3232",$palette_red_light:"#f9bdbd",$palette_yellow:"#ffeb3b",$palette_yellow_score:"#f5c819",$palette_button_upsell:"#fec228",$palette_button_upsell_hover:"#f2ae01",$palette_link_text:"#004973",$palette_error_background:"#f9dcdc",$palette_error_text:"#8f1919",$palette_error_emphasis:"#dc3232",$palette_info_background:"#cce5ff",$palette_info_text:"#00468f",$palette_info_emphasis:"#007dff",$palette_success_background:"#e2f2cc",$palette_success_text:"#395315",$palette_success_emphasis:"#6ea029",$palette_warning_background:"#fff3cd",$palette_warning_text:"#674e00",$palette_warning_emphasis:"#ffc201",$color_bad:"#dc3232",$color_ok:"#ee7c1b",$color_good:"#7ad03a",$color_noindex:"#1e8cbe",$color_score_icon:"#888",$color_white:"#fff",$color_black:"#000",$color_green:"#77b227",$color_green_medium:"#008a00",$color_green_blue:"#009288",$color_grey:"#ddd",$color_grey_dark:"#555",$color_purple:"#5d237a",$color_purple_dark:"#6c2548",$color_pink:"#d73763",$color_pink_light:"#e1bee7",$color_pink_dark:"#a4286a",$color_blue:"#0066cd",$color_blue_light:"#a9a9ce",$color_blue_dark:"#084a67",$color_red:"#dc3232",$color_border_light:"#f7f7f7",$color_border_gutenberg:"#e2e4e7",$color_border:"#ccc",$color_input_border:"#ddd",$color_help_text:"#767676",$color_upsell_text:"#767676",$color_background_light:"#f7f7f7",$color_button:"#f7f7f7",$color_button_text:"#555",$color_button_border:"#ccc",$color_button_hover:"#fff",$color_button_border_hover:"#888",$color_button_text_hover:"#000",$color_button_border_active:"#000",$color_button_upsell:"#fec228",$color_button_upsell_hover:"#f2ae01",$color_headings:"#555",$color_marker_inactive:"#555",$color_marker_active:"#fff",$color_marker_disabled:"#a0a5aa",$color_error:"#dc3232",$color_orange:"#dc5c04",$color_orange_hover:"#c35204",$color_grey_hover:"#cecece",$color_pink_hover:"#cc2956",$color_grey_cta:"#ddd",$color_grey_line:"#ddd",$color_grey_quote:"#616161",$color_grey_text:"#616161",$color_grey_text_light:"#767676",$color_snippet_focus:"#1e8cbe",$color_snippet_hover:"#ccc",$color_snippet_active:"#555",$color_blue_link:"#0073aa",$color_blue_focus:"#5b9dd9",$color_blue_focus_shadow:"#1e8cbe",$color_yoast_focus:"#007fff",$color_yoast_focus_outer:"rgba(0,127,255,0.25)",$color_grey_medium_dark:"#888",$color_green_medium_light:"#64a60a",$color_grey_disabled:"#a0a5aa",$color_grey_medium:"#ccc",$color_grey_light:"#f1f1f1",$color_yellow:"#ffeb3b",$color_yellow_score:"#f5c819",$color_error_message:"#f9bdbd",$color_alert_link_text:"#004973",$color_alert_error_text:"#8f1919",$color_alert_error_background:"#f9dcdc",$color_alert_info_text:"#00468f",$color_alert_info_background:"#cce5ff",$color_alert_success_text:"#395315",$color_alert_success_background:"#e2f2cc",$color_alert_warning_text:"#674e00",$color_alert_warning_background:"#fff3cd"}},function(e){e.exports={mobile:"768px",tablet:"1224px"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgba=function(e,t){return"rgba( "+function(e){if("string"!=typeof e)throw new Error("Please pass a string representation of a color in hex notation.");if(e.match(/^#[a-fA-F0-9]{6}$/))return parseInt(`${e[1]}${e[2]}`,16)+", "+parseInt(`${e[3]}${e[4]}`,16)+", "+parseInt(`${e[5]}${e[6]}`,16);if(e.match(/^#[a-fA-F0-9]{3}$/))return parseInt(`${e[1]}${e[1]}`,16)+", "+parseInt(`${e[2]}${e[2]}`,16)+", "+parseInt(` ${e[3]}${e[3]}`,16);throw new Error("Couldn't parse the color string. Please provide the color as a string in hex notation.")}(e)+", "+t+" )"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeOutboundLink=void 0;var r=s(n(0)),o=s(n(222)),i=n(10),a=n(394);function s(e){return e&&e.__esModule?e:{default:e}}t.makeOutboundLink=((e="a")=>{class t extends r.default.Component{constructor(e){super(e),this.isYoastLink=this.isYoastLink.bind(this)}isYoastLink(e){return/yoast\.com|yoast\.test|yoa\.st/.test(e)}render(){if(!this.props.href)return null;const t=this.isYoastLink(this.props.href),n=Object.assign({},this.props,{target:"_blank",rel:t?this.props.rel:"noopener"});return r.default.createElement(e,n,this.props.children,r.default.createElement(a.A11yNotice,null,(0,i.__)("(Opens in a new browser tab)","yoast-components")))}}return t.propTypes={children:o.default.oneOfType([o.default.node]),href:o.default.string,rel:o.default.string},t.defaultProps={children:null,href:null,rel:null},t})},function(e,t,n){"use strict";var r=n(393);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.A11yNotice=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.A11yNotice=r.default.span.withConfig({displayName:"A11yNotice",componentId:"u1v0gg-0"})(["border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important;transform:translateY(1em);"])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDirectionalStyle=function(e,t){return n=>n.theme.isRtl?t:e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(397);const r=(e,t)=>{const n=((e,t)=>{for(const n in t)t.hasOwnProperty(n)&&(void 0!==e[n]&&""!==e[n]||(e[n]=t[n]));return e})(e,{dataType:"json",method:"POST",contentType:"application/json"});return void 0===n.headers&&""===n.headers||((e,t)=>{"jquery"===e&&Object.assign(t,{beforeSend:e=>{jQuery.each(t.headers,(t,n)=>{e.setRequestHeader(t,n)})}}),"fetch"===e&&"json"===t.dataType&&Object.assign(t.headers,{Accepts:"application/json","Content-Type":"application/json"})})(t,n),"json"===n.dataType&&(n.data=JSON.stringify(n.data)),"fetch"===t&&Object.assign(n,{body:n.data}),n};t.default=((e,t)=>{if("undefined"==typeof jQuery||!jQuery||!jQuery.ajax)return((e,t)=>{const n=fetch(e,t);return new Promise((e,t)=>{n.then(n=>200===n.status?e(n.json()):t("Response status is not 200")).catch(()=>t("Wrong request"))})})(e,r(t,"fetch"));return((e,t)=>(Object.assign(t,{url:e}),new Promise((e,n)=>{jQuery.ajax(t).done(t=>{e(t)}).fail(()=>{n("Wrong request")})})))(e,r(t,"jquery"))})},function(e,t){!function(e){"use strict";if(!e.fetch){var t={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(t.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=function(e){return e&&DataView.prototype.isPrototypeOf(e)},o=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};c.prototype.append=function(e,t){e=s(e),t=u(t);var n=this.map[e];n||(n=[],this.map[e]=n),n.push(t)},c.prototype.delete=function(e){delete this.map[s(e)]},c.prototype.get=function(e){var t=this.map[s(e)];return t?t[0]:null},c.prototype.getAll=function(e){return this.map[s(e)]||[]},c.prototype.has=function(e){return this.map.hasOwnProperty(s(e))},c.prototype.set=function(e,t){this.map[s(e)]=[u(t)]},c.prototype.forEach=function(e,t){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){e.call(t,r,n,this)},this)},this)},c.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),l(e)},c.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),l(e)},c.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),l(e)},t.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},g.call(y.prototype),g.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:""});return e.type="error",e};var a=[301,302,303,307,308];v.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError("Invalid status code");return new v(null,{status:t,headers:{location:e}})},e.Headers=c,e.Request=y,e.Response=v,e.fetch=function(e,n){return new Promise(function(r,o){var i=new y(e,n),a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:function(e){var t=new c;return e.split("\r\n").forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}(a.getAllResponseHeaders()||"")};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var t="response"in a?a.response:a.responseText;r(new v(t,e))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials&&(a.withCredentials=!0),"responseType"in a&&t.blob&&(a.responseType="blob"),i.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}function s(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function l(e){var n={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(n[Symbol.iterator]=function(){return n}),n}function c(e){this.map={},e instanceof c?e.forEach(function(e,t){this.append(t,e)},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function d(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function p(e){var t=new FileReader,n=d(t);return t.readAsArrayBuffer(e),n}function h(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(t.arrayBuffer&&t.blob&&r(e))this._bodyArrayBuffer=h(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!t.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!o(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=h(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(p)}),this.text=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,n=d(t);return t.readAsText(e),n}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},t.formData&&(this.formData=function(){return this.text().then(m)}),this.json=function(){return this.text().then(JSON.parse)},this}function y(e,t){var n=(t=t||{}).body;if("string"==typeof e)this.url=e;else{if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=function(e){var t=e.toUpperCase();return i.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function v(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=(e=>{var t=document.createElement("textarea");return t.innerHTML=e,t.value})},function(e,t,n){(function(t){(function(){"use strict";var t=this;function n(e){return"string"==typeof e}function r(e,t,n){return e.call.apply(e.bind,arguments)}function o(e,t,n){if(!e)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,r),e.apply(t,n)}}return function(){return e.apply(t,arguments)}}function i(e,t,n){return(i=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?r:o).apply(null,arguments)}function a(e){var t=te;function n(){}n.prototype=t.prototype,e.G=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.F=function(e,n,r){for(var o=Array(arguments.length-2),i=2;i<arguments.length;i++)o[i-2]=arguments[i];return t.prototype[n].apply(e,o)}}var s=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function u(e,t){return-1!=e.indexOf(t)}function l(e,t){return e<t?-1:e>t?1:0}var c,f=Array.prototype.indexOf?function(e,t,n){return Array.prototype.indexOf.call(e,t,n)}:function(e,t,r){if(r=null==r?0:0>r?Math.max(0,e.length+r):r,n(e))return n(t)&&1==t.length?e.indexOf(t,r):-1;for(;r<e.length;r++)if(r in e&&e[r]===t)return r;return-1},d=Array.prototype.forEach?function(e,t,n){Array.prototype.forEach.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=n(e)?e.split(""):e,a=0;a<o;a++)a in i&&t.call(r,i[a],a,e)},p=Array.prototype.filter?function(e,t,n){return Array.prototype.filter.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=[],a=0,s=n(e)?e.split(""):e,u=0;u<o;u++)if(u in s){var l=s[u];t.call(r,l,u,e)&&(i[a++]=l)}return i},h=Array.prototype.reduce?function(e,t,n,r){return r&&(t=i(t,r)),Array.prototype.reduce.call(e,t,n)}:function(e,t,n,r){var o=n;return d(e,function(n,i){o=t.call(r,o,n,i,e)}),o},g=Array.prototype.some?function(e,t,n){return Array.prototype.some.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=n(e)?e.split(""):e,a=0;a<o;a++)if(a in i&&t.call(r,i[a],a,e))return!0;return!1};e:{var y=t.navigator;if(y){var m=y.userAgent;if(m){c=m;break e}}c=""}var v,b=u(c,"Opera")||u(c,"OPR"),_=u(c,"Trident")||u(c,"MSIE"),x=u(c,"Edge"),w=u(c,"Gecko")&&!(u(c.toLowerCase(),"webkit")&&!u(c,"Edge"))&&!(u(c,"Trident")||u(c,"MSIE"))&&!u(c,"Edge"),S=u(c.toLowerCase(),"webkit")&&!u(c,"Edge");function C(){var e=t.document;return e?e.documentMode:void 0}e:{var k="",O=function(){var e=c;return w?/rv\:([^\);]+)(\)|;)/.exec(e):x?/Edge\/([\d\.]+)/.exec(e):_?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(e):S?/WebKit\/(\S+)/.exec(e):b?/(?:Version)[ \/]?(\S+)/.exec(e):void 0}();if(O&&(k=O?O[1]:""),_){var E=C();if(null!=E&&E>parseFloat(k)){v=String(E);break e}}v=k}var T={};function M(e){if(!T[e]){for(var t=0,n=s(String(v)).split("."),r=s(String(e)).split("."),o=Math.max(n.length,r.length),i=0;0==t&&i<o;i++){var a=n[i]||"",u=r[i]||"",c=/(\d*)(\D*)/g,f=/(\d*)(\D*)/g;do{var d=c.exec(a)||["","",""],p=f.exec(u)||["","",""];if(0==d[0].length&&0==p[0].length)break;t=l(0==d[1].length?0:parseInt(d[1],10),0==p[1].length?0:parseInt(p[1],10))||l(0==d[2].length,0==p[2].length)||l(d[2],p[2])}while(0==t)}T[e]=0<=t}}var P=t.document,j=P&&_?C()||("CSS1Compat"==P.compatMode?parseInt(v,10):5):void 0,A=_&&!(9<=Number(j)),I=_&&!(8<=Number(j));function R(e,t,n,r){this.a=e,this.nodeName=n,this.nodeValue=r,this.nodeType=2,this.parentNode=this.ownerElement=t}function D(e,t){var n=I&&"href"==t.nodeName?e.getAttribute(t.nodeName,2):t.nodeValue;return new R(t,e,t.nodeName,n)}function N(e){var t=null;if(1==(n=e.nodeType)&&(t=void 0==(t=void 0==(t=e.textContent)||null==t?e.innerText:t)||null==t?"":t),"string"!=typeof t)if(A&&"title"==e.nodeName.toLowerCase()&&1==n)t=e.text;else if(9==n||1==n){e=9==n?e.documentElement:e.firstChild;var n=0,r=[];for(t="";e;){do{1!=e.nodeType&&(t+=e.nodeValue),A&&"title"==e.nodeName.toLowerCase()&&(t+=e.text),r[n++]=e}while(e=e.firstChild);for(;n&&!(e=r[--n].nextSibling););}}else t=e.nodeValue;return""+t}function B(e,t,n){if(null===t)return!0;try{if(!e.getAttribute)return!1}catch(e){return!1}return I&&"class"==t&&(t="className"),null==n?!!e.getAttribute(t):e.getAttribute(t,2)==n}function L(e,t,r,o,i){return(A?function(e,t,n,r,o){if(e instanceof Te||8==e.b||n&&null===e.b){var i=t.all;if(!i)return o;if("*"!=(e=q(e))&&!(i=t.getElementsByTagName(e)))return o;if(n){for(var a=[],s=0;t=i[s++];)B(t,n,r)&&a.push(t);i=a}for(s=0;t=i[s++];)"*"==e&&"!"==t.tagName||X(o,t);return o}return z(e,t,n,r,o),o}:function(e,t,n,r,o){return t.getElementsByName&&r&&"name"==n&&!_?(t=t.getElementsByName(r),d(t,function(t){e.a(t)&&X(o,t)})):t.getElementsByClassName&&r&&"class"==n?(t=t.getElementsByClassName(r),d(t,function(t){t.className==r&&e.a(t)&&X(o,t)})):e instanceof _e?z(e,t,n,r,o):t.getElementsByTagName&&(t=t.getElementsByTagName(e.f()),d(t,function(e){B(e,n,r)&&X(o,e)})),o}).call(null,e,t,n(r)?r:null,n(o)?o:null,i||new H)}function F(e,t,n,r,o){for(t=t.firstChild;t;t=t.nextSibling)B(t,n,r)&&e.a(t)&&X(o,t);return o}function z(e,t,n,r,o){for(t=t.firstChild;t;t=t.nextSibling)B(t,n,r)&&e.a(t)&&X(o,t),z(e,t,n,r,o)}function q(e){if(e instanceof _e){if(8==e.b)return"!";if(null===e.b)return"*"}return e.f()}function K(e,t){if(!e||!t)return!1;if(e.contains&&1==t.nodeType)return e==t||e.contains(t);if(void 0!==e.compareDocumentPosition)return e==t||!!(16&e.compareDocumentPosition(t));for(;t&&e!=t;)t=t.parentNode;return t==e}function W(e,n){if(e==n)return 0;if(e.compareDocumentPosition)return 2&e.compareDocumentPosition(n)?1:-1;if(_&&!(9<=Number(j))){if(9==e.nodeType)return-1;if(9==n.nodeType)return 1}if("sourceIndex"in e||e.parentNode&&"sourceIndex"in e.parentNode){var r=1==e.nodeType,o=1==n.nodeType;if(r&&o)return e.sourceIndex-n.sourceIndex;var i=e.parentNode,a=n.parentNode;return i==a?$(e,n):!r&&K(i,n)?-1*U(e,n):!o&&K(a,e)?U(n,e):(r?e.sourceIndex:i.sourceIndex)-(o?n.sourceIndex:a.sourceIndex)}return(r=(o=9==e.nodeType?e:e.ownerDocument||e.document).createRange()).selectNode(e),r.collapse(!0),(o=o.createRange()).selectNode(n),o.collapse(!0),r.compareBoundaryPoints(t.Range.START_TO_END,o)}function U(e,t){var n=e.parentNode;if(n==t)return-1;for(var r=t;r.parentNode!=n;)r=r.parentNode;return $(r,e)}function $(e,t){for(var n=t;n=n.previousSibling;)if(n==e)return-1;return 1}function H(){this.b=this.a=null,this.l=0}function V(e){this.node=e,this.a=this.b=null}function G(e,t){if(!e.a)return t;if(!t.a)return e;for(var n=e.a,r=t.a,o=null,i=null,a=0;n&&r;){i=n.node;var s=r.node;i==s||i instanceof R&&s instanceof R&&i.a==s.a?(i=n,n=n.a,r=r.a):0<W(n.node,r.node)?(i=r,r=r.a):(i=n,n=n.a),(i.b=o)?o.a=i:e.a=i,o=i,a++}for(i=n||r;i;)i.b=o,o=o.a=i,a++,i=i.a;return e.b=o,e.l=a,e}function Y(e,t){var n=new V(t);n.a=e.a,e.b?e.a.b=n:e.a=e.b=n,e.a=n,e.l++}function X(e,t){var n=new V(t);n.b=e.b,e.a?e.b.a=n:e.a=e.b=n,e.b=n,e.l++}function J(e){return(e=e.a)?e.node:null}function Z(e){return(e=J(e))?N(e):""}function Q(e,t){return new function(e,t){this.f=e,this.b=(this.c=t)?e.b:e.a,this.a=null}(e,!!t)}function ee(e){var t=e.b;if(null==t)return null;var n=e.a=t;return e.b=e.c?t.b:t.a,n.node}function te(e){this.i=e,this.b=this.g=!1,this.f=null}function ne(e){return"\n "+e.toString().split("\n").join("\n ")}function re(e,t){e.g=t}function oe(e,t){e.b=t}function ie(e,t){var n=e.a(t);return n instanceof H?+Z(n):+n}function ae(e,t){var n=e.a(t);return n instanceof H?Z(n):""+n}function se(e,t){var n=e.a(t);return n instanceof H?!!n.l:!!n}function ue(e,t,n){te.call(this,e.i),this.c=e,this.h=t,this.o=n,this.g=t.g||n.g,this.b=t.b||n.b,this.c==pe&&(n.b||n.g||4==n.i||0==n.i||!t.f?t.b||t.g||4==t.i||0==t.i||!n.f||(this.f={name:n.f.name,s:t}):this.f={name:t.f.name,s:n})}function le(e,t,n,r,o){var i;if(t=t.a(r),n=n.a(r),t instanceof H&&n instanceof H){for(r=ee(t=Q(t));r;r=ee(t))for(i=ee(o=Q(n));i;i=ee(o))if(e(N(r),N(i)))return!0;return!1}if(t instanceof H||n instanceof H){t instanceof H?(o=t,r=n):(o=n,r=t);for(var a=typeof r,s=ee(i=Q(o));s;s=ee(i)){switch(a){case"number":s=+N(s);break;case"boolean":s=!!N(s);break;case"string":s=N(s);break;default:throw Error("Illegal primitive type for comparison.")}if(o==t&&e(s,r)||o==n&&e(r,s))return!0}return!1}return o?"boolean"==typeof t||"boolean"==typeof n?e(!!t,!!n):"number"==typeof t||"number"==typeof n?e(+t,+n):e(t,n):e(+t,+n)}function ce(e,t,n,r){this.a=e,this.w=t,this.i=n,this.m=r}!w&&!_||_&&9<=Number(j)||w&&M("1.9.1"),_&&M("9"),a(ue),ue.prototype.a=function(e){return this.c.m(this.h,this.o,e)},ue.prototype.toString=function(){return"Binary Expression: "+this.c+ne(this.h)+ne(this.o)},ce.prototype.toString=function(){return this.a};var fe={};function de(e,t,n,r){if(fe.hasOwnProperty(e))throw Error("Binary operator already created: "+e);return e=new ce(e,t,n,r),fe[e.toString()]=e}de("div",6,1,function(e,t,n){return ie(e,n)/ie(t,n)}),de("mod",6,1,function(e,t,n){return ie(e,n)%ie(t,n)}),de("*",6,1,function(e,t,n){return ie(e,n)*ie(t,n)}),de("+",5,1,function(e,t,n){return ie(e,n)+ie(t,n)}),de("-",5,1,function(e,t,n){return ie(e,n)-ie(t,n)}),de("<",4,2,function(e,t,n){return le(function(e,t){return e<t},e,t,n)}),de(">",4,2,function(e,t,n){return le(function(e,t){return e>t},e,t,n)}),de("<=",4,2,function(e,t,n){return le(function(e,t){return e<=t},e,t,n)}),de(">=",4,2,function(e,t,n){return le(function(e,t){return e>=t},e,t,n)});var pe=de("=",3,2,function(e,t,n){return le(function(e,t){return e==t},e,t,n,!0)});function he(e,t,n){this.a=e,this.b=t||1,this.f=n||1}function ge(e,t){if(t.a.length&&4!=e.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");te.call(this,e.i),this.c=e,this.h=t,this.g=e.g,this.b=e.b}function ye(e,t){if(t.length<e.A)throw Error("Function "+e.j+" expects at least"+e.A+" arguments, "+t.length+" given");if(null!==e.v&&t.length>e.v)throw Error("Function "+e.j+" expects at most "+e.v+" arguments, "+t.length+" given");e.B&&d(t,function(t,n){if(4!=t.i)throw Error("Argument "+n+" to function "+e.j+" is not of type Nodeset: "+t)}),te.call(this,e.i),this.h=e,this.c=t,re(this,e.g||g(t,function(e){return e.g})),oe(this,e.D&&!t.length||e.C&&!!t.length||g(t,function(e){return e.b}))}function me(e,t,n,r,o,i,a,s,u){this.j=e,this.i=t,this.g=n,this.D=r,this.C=o,this.m=i,this.A=a,this.v=void 0!==s?s:a,this.B=!!u}de("!=",3,2,function(e,t,n){return le(function(e,t){return e!=t},e,t,n,!0)}),de("and",2,2,function(e,t,n){return se(e,n)&&se(t,n)}),de("or",1,2,function(e,t,n){return se(e,n)||se(t,n)}),a(ge),ge.prototype.a=function(e){return e=this.c.a(e),De(this.h,e)},ge.prototype.toString=function(){return"Filter:"+ne(this.c)+ne(this.h)},a(ye),ye.prototype.a=function(e){return this.h.m.apply(null,function(e){return Array.prototype.concat.apply(Array.prototype,arguments)}(e,this.c))},ye.prototype.toString=function(){var e="Function: "+this.h;if(this.c.length)e=e+ne(h(this.c,function(e,t){return e+ne(t)},"Arguments:"));return e},me.prototype.toString=function(){return this.j};var ve={};function be(e,t,n,r,o,i,a,s){if(ve.hasOwnProperty(e))throw Error("Function already created: "+e+".");ve[e]=new me(e,t,n,r,!1,o,i,a,s)}function _e(e,t){switch(this.h=e,this.c=void 0!==t?t:null,this.b=null,e){case"comment":this.b=8;break;case"text":this.b=3;break;case"processing-instruction":this.b=7;break;case"node":break;default:throw Error("Unexpected argument")}}function xe(e){return"comment"==e||"text"==e||"processing-instruction"==e||"node"==e}be("boolean",2,!1,!1,function(e,t){return se(t,e)},1),be("ceiling",1,!1,!1,function(e,t){return Math.ceil(ie(t,e))},1),be("concat",3,!1,!1,function(e,t){return h(function(e,t,n){return 2>=arguments.length?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}(arguments,1),function(t,n){return t+ae(n,e)},"")},2,null),be("contains",2,!1,!1,function(e,t,n){return u(ae(t,e),ae(n,e))},2),be("count",1,!1,!1,function(e,t){return t.a(e).l},1,1,!0),be("false",2,!1,!1,function(){return!1},0),be("floor",1,!1,!1,function(e,t){return Math.floor(ie(t,e))},1),be("id",4,!1,!1,function(e,t){function r(e){if(A){var t=o.all[e];if(t){if(t.nodeType&&e==t.id)return t;if(t.length)return function(e,t){var r;e:{r=e.length;for(var o=n(e)?e.split(""):e,i=0;i<r;i++)if(i in o&&t.call(void 0,o[i],i,e)){r=i;break e}r=-1}return 0>r?null:n(e)?e.charAt(r):e[r]}(t,function(t){return e==t.id})}return null}return o.getElementById(e)}var o=9==(i=e.a).nodeType?i:i.ownerDocument,i=ae(t,e).split(/\s+/),a=[];d(i,function(e){!(e=r(e))||0<=f(a,e)||a.push(e)}),a.sort(W);var s=new H;return d(a,function(e){X(s,e)}),s},1),be("lang",2,!1,!1,function(){return!1},1),be("last",1,!0,!1,function(e){if(1!=arguments.length)throw Error("Function last expects ()");return e.f},0),be("local-name",3,!1,!0,function(e,t){var n=t?J(t.a(e)):e.a;return n?n.localName||n.nodeName.toLowerCase():""},0,1,!0),be("name",3,!1,!0,function(e,t){var n=t?J(t.a(e)):e.a;return n?n.nodeName.toLowerCase():""},0,1,!0),be("namespace-uri",3,!0,!1,function(){return""},0,1,!0),be("normalize-space",3,!1,!0,function(e,t){return(t?ae(t,e):N(e.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1),be("not",2,!1,!1,function(e,t){return!se(t,e)},1),be("number",1,!1,!0,function(e,t){return t?ie(t,e):+N(e.a)},0,1),be("position",1,!0,!1,function(e){return e.b},0),be("round",1,!1,!1,function(e,t){return Math.round(ie(t,e))},1),be("starts-with",2,!1,!1,function(e,t,n){return t=ae(t,e),e=ae(n,e),0==t.lastIndexOf(e,0)},2),be("string",3,!1,!0,function(e,t){return t?ae(t,e):N(e.a)},0,1),be("string-length",1,!1,!0,function(e,t){return(t?ae(t,e):N(e.a)).length},0,1),be("substring",3,!1,!1,function(e,t,n,r){if(n=ie(n,e),isNaN(n)||1/0==n||-1/0==n)return"";if(r=r?ie(r,e):1/0,isNaN(r)||-1/0===r)return"";n=Math.round(n)-1;var o=Math.max(n,0);return e=ae(t,e),1/0==r?e.substring(o):e.substring(o,n+Math.round(r))},2,3),be("substring-after",3,!1,!1,function(e,t,n){return t=ae(t,e),e=ae(n,e),-1==(n=t.indexOf(e))?"":t.substring(n+e.length)},2),be("substring-before",3,!1,!1,function(e,t,n){return t=ae(t,e),e=ae(n,e),-1==(e=t.indexOf(e))?"":t.substring(0,e)},2),be("sum",1,!1,!1,function(e,t){for(var n=Q(t.a(e)),r=0,o=ee(n);o;o=ee(n))r+=+N(o);return r},1,1,!0),be("translate",3,!1,!1,function(e,t,n,r){t=ae(t,e),n=ae(n,e);var o=ae(r,e);for(e={},r=0;r<n.length;r++){var i=n.charAt(r);i in e||(e[i]=o.charAt(r))}for(n="",r=0;r<t.length;r++)n+=(i=t.charAt(r))in e?e[i]:i;return n},3),be("true",2,!1,!1,function(){return!0},0),_e.prototype.a=function(e){return null===this.b||this.b==e.nodeType},_e.prototype.f=function(){return this.h},_e.prototype.toString=function(){var e="Kind Test: "+this.h;return null===this.c||(e+=ne(this.c)),e};var we=/\$?(?:(?![0-9-\.])(?:\*|[\w-\.]+):)?(?![0-9-\.])(?:\*|[\w-\.]+)|\/\/|\.\.|::|\d+(?:\.\d*)?|\.\d+|"[^"]*"|'[^']*'|[!<>]=|\s+|./g,Se=/^\s/;function Ce(e,t){return e.b[e.a+(t||0)]}function ke(e){return e.b[e.a++]}function Oe(e){return e.b.length<=e.a}function Ee(e){te.call(this,3),this.c=e.substring(1,e.length-1)}function Te(e,t){var n;this.j=e.toLowerCase(),n="*"==this.j?"*":"http://www.w3.org/1999/xhtml",this.c=t?t.toLowerCase():n}function Me(e,t){if(te.call(this,e.i),this.h=e,this.c=t,this.g=e.g,this.b=e.b,1==this.c.length){var n=this.c[0];n.u||n.c!=ze||"*"!=(n=n.o).f()&&(this.f={name:n.f(),s:null})}}function Pe(){te.call(this,4)}function je(){te.call(this,4)}function Ae(e){return"/"==e||"//"==e}function Ie(e){te.call(this,4),this.c=e,re(this,g(this.c,function(e){return e.g})),oe(this,g(this.c,function(e){return e.b}))}function Re(e,t){this.a=e,this.b=!!t}function De(e,t,n){for(n=n||0;n<e.a.length;n++)for(var r,o=e.a[n],i=Q(t),a=t.l,s=0;r=ee(i);s++){var u=e.b?a-s:s+1;if("number"==typeof(r=o.a(new he(r,u,a))))u=u==r;else if("string"==typeof r||"boolean"==typeof r)u=!!r;else{if(!(r instanceof H))throw Error("Predicate.evaluate returned an unexpected type.");u=0<r.l}if(!u){if(r=(u=i).f,!(c=u.a))throw Error("Next must be called at least once before remove.");var l=c.b,c=c.a;l?l.a=c:r.a=c,c?c.b=l:r.b=l,r.l--,u.a=null}}return t}function Ne(e,t,n,r){te.call(this,4),this.c=e,this.o=t,this.h=n||new Re([]),this.u=!!r,t=0<(t=this.h).a.length?t.a[0].f:null,e.b&&t&&(e=t.name,e=A?e.toLowerCase():e,this.f={name:e,s:t.s});e:{for(e=this.h,t=0;t<e.a.length;t++)if((n=e.a[t]).g||1==n.i||0==n.i){e=!0;break e}e=!1}this.g=e}function Be(e,t,n,r){this.j=e,this.f=t,this.a=n,this.b=r}a(Ee),Ee.prototype.a=function(){return this.c},Ee.prototype.toString=function(){return"Literal: "+this.c},Te.prototype.a=function(e){var t=e.nodeType;return(1==t||2==t)&&(t=void 0!==e.localName?e.localName:e.nodeName,("*"==this.j||this.j==t.toLowerCase())&&("*"==this.c||this.c==(e.namespaceURI?e.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")))},Te.prototype.f=function(){return this.j},Te.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j},a(Me),a(Pe),Pe.prototype.a=function(e){var t=new H;return 9==(e=e.a).nodeType?X(t,e):X(t,e.ownerDocument),t},Pe.prototype.toString=function(){return"Root Helper Expression"},a(je),je.prototype.a=function(e){var t=new H;return X(t,e.a),t},je.prototype.toString=function(){return"Context Helper Expression"},Me.prototype.a=function(e){var t=this.h.a(e);if(!(t instanceof H))throw Error("Filter expression must evaluate to nodeset.");for(var n=0,r=(e=this.c).length;n<r&&t.l;n++){var o,i=e[n],a=Q(t,i.c.a);if(i.g||i.c!=We)if(i.g||i.c!=$e)for(o=ee(a),t=i.a(new he(o));null!=(o=ee(a));)t=G(t,o=i.a(new he(o)));else o=ee(a),t=i.a(new he(o));else{for(o=ee(a);(t=ee(a))&&(!o.contains||o.contains(t))&&8&t.compareDocumentPosition(o);o=t);t=i.a(new he(o))}}return t},Me.prototype.toString=function(){var e;(e="Path Expression:"+ne(this.h),this.c.length)&&(e+=ne(h(this.c,function(e,t){return e+ne(t)},"Steps:")));return e},a(Ie),Ie.prototype.a=function(e){var t=new H;return d(this.c,function(n){if(!((n=n.a(e))instanceof H))throw Error("Path expression must evaluate to NodeSet.");t=G(t,n)}),t},Ie.prototype.toString=function(){return h(this.c,function(e,t){return e+ne(t)},"Union Expression:")},Re.prototype.toString=function(){return h(this.a,function(e,t){return e+ne(t)},"Predicates:")},a(Ne),Ne.prototype.a=function(e){var t=e.a,n=null,r=null,o=null,i=0;if((n=this.f)&&(r=n.name,o=n.s?ae(n.s,e):null,i=1),this.u)if(this.g||this.c!=qe)if(t=ee(e=Q(new Ne(Ke,new _e("node")).a(e))))for(n=this.m(t,r,o,i);null!=(t=ee(e));)n=G(n,this.m(t,r,o,i));else n=new H;else n=L(this.o,t,r,o),n=De(this.h,n,i);else n=this.m(e.a,r,o,i);return n},Ne.prototype.m=function(e,t,n,r){return e=this.c.f(this.o,e,t,n),De(this.h,e,r)},Ne.prototype.toString=function(){var e;(e="Step:"+ne("Operator: "+(this.u?"//":"/")),this.c.j&&(e+=ne("Axis: "+this.c)),e+=ne(this.o),this.h.a.length)&&(e+=ne(h(this.h.a,function(e,t){return e+ne(t)},"Predicates:")));return e},Be.prototype.toString=function(){return this.j};var Le={};function Fe(e,t,n,r){if(Le.hasOwnProperty(e))throw Error("Axis already created: "+e);return t=new Be(e,t,n,!!r),Le[e]=t}Fe("ancestor",function(e,t){for(var n=new H,r=t;r=r.parentNode;)e.a(r)&&Y(n,r);return n},!0),Fe("ancestor-or-self",function(e,t){var n=new H,r=t;do{e.a(r)&&Y(n,r)}while(r=r.parentNode);return n},!0);var ze=Fe("attribute",function(e,t){var n=new H;if("style"==(i=e.f())&&A&&t.style)return X(n,new R(t.style,t,"style",t.style.cssText)),n;var r=t.attributes;if(r)if(e instanceof _e&&null===e.b||"*"==i)for(var o,i=0;o=r[i];i++)A?o.nodeValue&&X(n,D(t,o)):X(n,o);else(o=r.getNamedItem(i))&&(A?o.nodeValue&&X(n,D(t,o)):X(n,o));return n},!1),qe=Fe("child",function(e,t,r,o,i){return(A?function(e,t,n,r,o){var i;if((e instanceof Te||8==e.b||n&&null===e.b)&&(i=t.childNodes)){var a=q(e);return"*"==a||(i=p(i,function(e){return e.tagName&&e.tagName.toLowerCase()==a}))?(n&&(i=p(i,function(e){return B(e,n,r)})),d(i,function(e){"*"==a&&("!"==e.tagName||"*"==a&&1!=e.nodeType)||X(o,e)}),o):o}return F(e,t,n,r,o)}:F).call(null,e,t,n(r)?r:null,n(o)?o:null,i||new H)},!1,!0);Fe("descendant",L,!1,!0);var Ke=Fe("descendant-or-self",function(e,t,n,r){var o=new H;return B(t,n,r)&&e.a(t)&&X(o,t),L(e,t,n,r,o)},!1,!0),We=Fe("following",function(e,t,n,r){var o=new H;do{for(var i=t;i=i.nextSibling;)B(i,n,r)&&e.a(i)&&X(o,i),o=L(e,i,n,r,o)}while(t=t.parentNode);return o},!1,!0);Fe("following-sibling",function(e,t){for(var n=new H,r=t;r=r.nextSibling;)e.a(r)&&X(n,r);return n},!1),Fe("namespace",function(){return new H},!1);var Ue=Fe("parent",function(e,t){var n=new H;if(9==t.nodeType)return n;if(2==t.nodeType)return X(n,t.ownerElement),n;var r=t.parentNode;return e.a(r)&&X(n,r),n},!1),$e=Fe("preceding",function(e,t,n,r){var o=new H,i=[];do{i.unshift(t)}while(t=t.parentNode);for(var a=1,s=i.length;a<s;a++){var u=[];for(t=i[a];t=t.previousSibling;)u.unshift(t);for(var l=0,c=u.length;l<c;l++)B(t=u[l],n,r)&&e.a(t)&&X(o,t),o=L(e,t,n,r,o)}return o},!0,!0);Fe("preceding-sibling",function(e,t){for(var n=new H,r=t;r=r.previousSibling;)e.a(r)&&Y(n,r);return n},!0);var He=Fe("self",function(e,t){var n=new H;return e.a(t)&&X(n,t),n},!1);function Ve(e){te.call(this,1),this.c=e,this.g=e.g,this.b=e.b}function Ge(e){te.call(this,1),this.c=e}function Ye(e){for(var t,n=[];;){Xe(e,"Missing right hand side of binary expression."),t=rt(e);var r=ke(e.a);if(!r)break;var o=(r=fe[r]||null)&&r.w;if(!o){e.a.a--;break}for(;n.length&&o<=n[n.length-1].w;)t=new ue(n.pop(),n.pop(),t);n.push(t,r)}for(;n.length;)t=new ue(n.pop(),n.pop(),t);return t}function Xe(e,t){if(Oe(e.a))throw Error(t)}function Je(e,t){var n=ke(e.a);if(n!=t)throw Error("Bad token, expected: "+t+" got: "+n)}function Ze(e){if(")"!=(e=ke(e.a)))throw Error("Bad token: "+e)}function Qe(e){if(2>(e=ke(e.a)).length)throw Error("Unclosed literal string");return new Ee(e)}function et(e){var t,n,r=[];if(Ae(Ce(e.a))){if(t=ke(e.a),n=Ce(e.a),"/"==t&&(Oe(e.a)||"."!=n&&".."!=n&&"@"!=n&&"*"!=n&&!/(?![0-9])[\w]/.test(n)))return new Pe;n=new Pe,Xe(e,"Missing next location step."),t=tt(e,t),r.push(t)}else{e:{switch(n=(t=Ce(e.a)).charAt(0)){case"$":throw Error("Variable reference not allowed in HTML XPath");case"(":ke(e.a),t=Ye(e),Xe(e,'unclosed "("'),Je(e,")");break;case'"':case"'":t=Qe(e);break;default:if(isNaN(+t)){if(xe(t)||!/(?![0-9])[\w]/.test(n)||"("!=Ce(e.a,1)){t=null;break e}for(t=ke(e.a),t=ve[t]||null,ke(e.a),n=[];")"!=Ce(e.a)&&(Xe(e,"Missing function argument list."),n.push(Ye(e)),","==Ce(e.a));)ke(e.a);Xe(e,"Unclosed function argument list."),Ze(e),t=new ye(t,n)}else t=new Ge(+ke(e.a))}"["==Ce(e.a)&&(t=new ge(t,n=new Re(nt(e))))}if(t){if(!Ae(Ce(e.a)))return t;n=t}else t=tt(e,"/"),n=new je,r.push(t)}for(;Ae(Ce(e.a));)t=ke(e.a),Xe(e,"Missing next location step."),t=tt(e,t),r.push(t);return new Me(n,r)}function tt(e,t){var n,r,o,i;if("/"!=t&&"//"!=t)throw Error('Step op should be "/" or "//"');if("."==Ce(e.a))return r=new Ne(He,new _e("node")),ke(e.a),r;if(".."==Ce(e.a))return r=new Ne(Ue,new _e("node")),ke(e.a),r;if("@"==Ce(e.a))i=ze,ke(e.a),Xe(e,"Missing attribute name");else if("::"==Ce(e.a,1)){if(!/(?![0-9])[\w]/.test(Ce(e.a).charAt(0)))throw Error("Bad token: "+ke(e.a));if(n=ke(e.a),!(i=Le[n]||null))throw Error("No axis with name: "+n);ke(e.a),Xe(e,"Missing node name")}else i=qe;if(n=Ce(e.a),!/(?![0-9])[\w\*]/.test(n.charAt(0)))throw Error("Bad token: "+ke(e.a));if("("==Ce(e.a,1)){if(!xe(n))throw Error("Invalid node type: "+n);if(!xe(n=ke(e.a)))throw Error("Invalid type name: "+n);Je(e,"("),Xe(e,"Bad nodetype");var a=null;'"'!=(o=Ce(e.a).charAt(0))&&"'"!=o||(a=Qe(e)),Xe(e,"Bad nodetype"),Ze(e),n=new _e(n,a)}else if(-1==(o=(n=ke(e.a)).indexOf(":")))n=new Te(n);else{var s;if("*"==(a=n.substring(0,o)))s="*";else if(!(s=e.b(a)))throw Error("Namespace prefix not declared: "+a);n=new Te(n=n.substr(o+1),s)}return o=new Re(nt(e),i.a),r||new Ne(i,n,o,"//"==t)}function nt(e){for(var t=[];"["==Ce(e.a);){ke(e.a),Xe(e,"Missing predicate expression.");var n=Ye(e);t.push(n),Xe(e,"Unclosed predicate expression."),Je(e,"]")}return t}function rt(e){if("-"==Ce(e.a))return ke(e.a),new Ve(rt(e));var t=et(e);if("|"!=Ce(e.a))e=t;else{for(t=[t];"|"==ke(e.a);)Xe(e,"Missing next union location path."),t.push(et(e));e.a.a--,e=new Ie(t)}return e}function ot(e){switch(e.nodeType){case 1:return function(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}(at,e);case 9:return ot(e.documentElement);case 11:case 10:case 6:case 12:return it;default:return e.parentNode?ot(e.parentNode):it}}function it(){return null}function at(e,t){if(e.prefix==t)return e.namespaceURI||"http://www.w3.org/1999/xhtml";var n=e.getAttributeNode("xmlns:"+t);return n&&n.specified?n.value||null:e.parentNode&&9!=e.parentNode.nodeType?at(e.parentNode,t):null}function st(e,t){if(!e.length)throw Error("Empty XPath expression.");var n=function(e){e=e.match(we);for(var t=0;t<e.length;t++)Se.test(e[t])&&e.splice(t,1);return new function(e){this.b=e,this.a=0}(e)}(e);if(Oe(n))throw Error("Invalid XPath expression.");t?"function"==function(e){var t=typeof e;if("object"==t){if(!e)return"null";if(e instanceof Array)return"array";if(e instanceof Object)return t;var n=Object.prototype.toString.call(e);if("[object Window]"==n)return"object";if("[object Array]"==n||"number"==typeof e.length&&void 0!==e.splice&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("splice"))return"array";if("[object Function]"==n||void 0!==e.call&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("call"))return"function"}else if("function"==t&&void 0===e.call)return"object";return t}(t)||(t=i(t.lookupNamespaceURI,t)):t=function(){return null};var r=Ye(new function(e,t){this.a=e,this.b=t}(n,t));if(!Oe(n))throw Error("Bad token: "+ke(n));this.evaluate=function(e,t){return new ut(r.a(new he(e)),t)}}function ut(e,t){if(0==t)if(e instanceof H)t=4;else if("string"==typeof e)t=2;else if("number"==typeof e)t=1;else{if("boolean"!=typeof e)throw Error("Unexpected evaluation result.");t=3}if(2!=t&&1!=t&&3!=t&&!(e instanceof H))throw Error("value could not be converted to the specified type");var n;switch(this.resultType=t,t){case 2:this.stringValue=e instanceof H?Z(e):""+e;break;case 1:this.numberValue=e instanceof H?+Z(e):+e;break;case 3:this.booleanValue=e instanceof H?0<e.l:!!e;break;case 4:case 5:case 6:case 7:var r=Q(e);n=[];for(var o=ee(r);o;o=ee(r))n.push(o instanceof R?o.a:o);this.snapshotLength=e.l,this.invalidIteratorState=!1;break;case 8:case 9:r=J(e),this.singleNodeValue=r instanceof R?r.a:r;break;default:throw Error("Unknown XPathResult type.")}var i=0;this.iterateNext=function(){if(4!=t&&5!=t)throw Error("iterateNext called with wrong result type");return i>=n.length?null:n[i++]},this.snapshotItem=function(e){if(6!=t&&7!=t)throw Error("snapshotItem called with wrong result type");return e>=n.length||0>e?null:n[e]}}function lt(e,n){var r=e||t,o=r.Document&&r.Document.prototype||r.document;o.evaluate&&!n||(r.XPathResult=ut,o.evaluate=function(e,t,n,r){return new st(e,n).evaluate(t,r)},o.createExpression=function(e,t){return new st(e,t)},o.createNSResolver=function(e){return new function(e){this.lookupNamespaceURI=ot(e)}(e)})}a(Ve),Ve.prototype.a=function(e){return-ie(this.c,e)},Ve.prototype.toString=function(){return"Unary Expression: -"+ne(this.c)},a(Ge),Ge.prototype.a=function(){return this.c},Ge.prototype.toString=function(){return"Number: "+this.c},ut.ANY_TYPE=0,ut.NUMBER_TYPE=1,ut.STRING_TYPE=2,ut.BOOLEAN_TYPE=3,ut.UNORDERED_NODE_ITERATOR_TYPE=4,ut.ORDERED_NODE_ITERATOR_TYPE=5,ut.UNORDERED_NODE_SNAPSHOT_TYPE=6,ut.ORDERED_NODE_SNAPSHOT_TYPE=7,ut.ANY_UNORDERED_NODE_TYPE=8,ut.FIRST_ORDERED_NODE_TYPE=9;var ct,ft=["wgxpath","install"],dt=t;ft[0]in dt||!dt.execScript||dt.execScript("var "+ft[0]);for(;ft.length&&(ct=ft.shift());)ft.length||void 0===lt?dt=dt[ct]?dt[ct]:dt[ct]={}:dt[ct]=lt;e.exports.install=lt,e.exports.XPathResultType={ANY_TYPE:0,NUMBER_TYPE:1,STRING_TYPE:2,BOOLEAN_TYPE:3,UNORDERED_NODE_ITERATOR_TYPE:4,ORDERED_NODE_ITERATOR_TYPE:5,UNORDERED_NODE_SNAPSHOT_TYPE:6,ORDERED_NODE_SNAPSHOT_TYPE:7,ANY_UNORDERED_NODE_TYPE:8,FIRST_ORDERED_NODE_TYPE:9}}).call(t)}).call(this,n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return(0,o.default)(e,t,i)};var r=n(130),o=function(e){return e&&e.__esModule?e:{default:e}}(r);function i(e,t,n){const o={};return o.id=(0,r.getXPathText)("child::content:slug",e,t,n),o.title=(0,r.getXPathText)("child::title",e,t),o.link=(0,r.getXPathText)("child::link",e,t),o.content=(0,r.getXPathText)("child::content:encoded",e,t,n),o.image=(0,r.getXPathText)("child::content:image",e,t,n),o.ctaButtonCopy=(0,r.getXPathText)("child::content:cta_button_copy",e,t,n),o.ctaButtonType=(0,r.getXPathText)("child::content:cta_button_type",e,t,n),o.ctaButtonUrl=(0,r.getXPathText)("child::content:cta_button_url",e,t,n),o.readMoreLinkText=(0,r.getXPathText)("child::content:read_more_link_text",e,t,n),o.isFree=(0,r.getXPathText)("child::content:is_free",e,t,n),o.isBundle=(0,r.getXPathText)("child::content:is_bundle",e,t,n),o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StyledSvg=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(222)),i=u(n(0)),a=u(n(1)),s=u(n(402));function u(e){return e&&e.__esModule?e:{default:e}}const l=t.StyledSvg=a.default.svg.withConfig({displayName:"createSvgIconComponent__StyledSvg",componentId:"f1towz-0"})(["width:",";height:",";flex:none;"],e=>e.size,e=>e.size);class c extends i.default.Component{render(){var e=this.props;const t=e.iconSet,n=e.icon,r=e.className,o=e.color,a=e.size,u=t[n];if(!u)return console.warn(`Invalid icon name ("${n}") passed to the SvgIcon component.`),null;const c=u.path,f=u.viewbox,d=["yoast-svg-icon","yoast-svg-icon-"+n,r].filter(Boolean).join(" "),p=u.CustomComponent?u.CustomComponent:l;return i.default.createElement(p,{"aria-hidden":!0,role:"img",focusable:"false",size:a,className:d,xmlns:"http://www.w3.org/2000/svg",viewBox:f,fill:o},(0,s.default)(c)?c:i.default.createElement("path",{d:c}))}}c.propTypes={icon:o.default.string.isRequired,iconSet:o.default.object.isRequired,color:o.default.string,size:o.default.string,className:o.default.string},c.defaultProps={size:"16px",color:"currentColor",className:""},t.default=(e=>{const t=t=>i.default.createElement(c,r({},t,{iconSet:e}));return t.propTypes={icon:o.default.string.isRequired,color:o.default.string,size:o.default.string,className:o.default.string},t.defaultProps={size:"16px",color:"currentColor",className:""},t})},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(131),o=n(225),i=n(230),a=n(232),s=n(33),u=n(424),l="Expected a function",c=8,f=32,d=128,p=256;e.exports=function(e){return o(function(t){var n=t.length,o=n,h=r.prototype.thru;for(e&&t.reverse();o--;){var g=t[o];if("function"!=typeof g)throw new TypeError(l);if(h&&!y&&"wrapper"==a(g))var y=new r([],!0)}for(o=y?o:n;++o<n;){g=t[o];var m=a(g),v="wrapper"==m?i(g):void 0;y=v&&u(v[0])&&v[1]==(d|c|f|p)&&!v[4].length&&1==v[9]?y[a(v[0])].apply(y,v[3]):1==g.length&&u(g)?y[m]():y.thru(g)}return function(){var e=arguments,r=e[0];if(y&&1==e.length&&s(r))return y.plant(r).value();for(var o=0,i=n?t[o].apply(this,e):r;++o<n;)i=t[o].call(this,i);return i}})}},function(e,t,n){var r=n(405);e.exports=function(e){return null!=e&&e.length?r(e,1):[]}},function(e,t,n){var r=n(134),o=n(406);e.exports=function e(t,n,i,a,s){var u=-1,l=t.length;for(i||(i=o),s||(s=[]);++u<l;){var c=t[u];n>0&&i(c)?n>1?e(c,n-1,i,a,s):r(s,c):a||(s[s.length]=c)}return s}},function(e,t,n){var r=n(78),o=n(135),i=n(33),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||o(e)||!!(a&&e&&e[a])}},function(e,t,n){var r=n(61),o=n(41),i="[object Arguments]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t,n){var r=n(78),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[s]=n:delete e[s]),o}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(411),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=o(i.length-t,0),u=Array(s);++a<s;)u[a]=i[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=i[a];return l[t]=n(u),r(e,this,l)}}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(413),o=n(420)(r);e.exports=o},function(e,t,n){var r=n(414),o=n(227),i=n(419),a=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:i;e.exports=a},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t,n){var r=n(228),o=n(416),i=n(77),a=n(229),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,f=l.hasOwnProperty,d=RegExp("^"+c.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?d:s).test(a(e))}},function(e,t,n){var r=n(417),o=function(){var e=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(32)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t){e.exports=function(e){return e}},function(e,t){var n=800,r=16,o=Date.now;e.exports=function(e){var t=0,i=0;return function(){var a=o(),s=r-(a-i);if(i=a,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(231),o=r&&new r;e.exports=o},function(e,t){e.exports=function(){}},function(e,t){e.exports={}},function(e,t,n){var r=n(136),o=n(230),i=n(232),a=n(425);e.exports=function(e){var t=i(e),n=a[t];if("function"!=typeof n||!(t in r.prototype))return!1;if(e===n)return!0;var s=o(n);return!!s&&e===s[0]}},function(e,t,n){var r=n(136),o=n(131),i=n(133),a=n(33),s=n(41),u=n(426),l=Object.prototype.hasOwnProperty;function c(e){if(s(e)&&!a(e)&&!(e instanceof r)){if(e instanceof o)return e;if(l.call(e,"__wrapped__"))return u(e)}return new o(e)}c.prototype=i.prototype,c.prototype.constructor=c,e.exports=c},function(e,t,n){var r=n(136),o=n(131),i=n(233);e.exports=function(e){if(e instanceof r)return e.clone();var t=new o(e.__wrapped__,e.__chain__);return t.__actions__=i(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}},function(e,t,n){"use strict";var r=n(428);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Collapsible=t.CollapsibleStateless=t.StyledIconsButton=t.StyledContainerTopLevel=t.StyledContainer=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.wrapInHeading=m;var o=d(n(2)),i=d(n(0)),a=d(n(1)),s=d(n(92)),u=n(3),l=n(7),c=n(250),f=d(n(253));function d(e){return e&&e.__esModule?e:{default:e}}const p=a.default.div.withConfig({displayName:"Collapsible__Content",componentId:"sc-13a0b13-0"})(["padding:0 16px;margin-bottom:16px;"]),h=t.StyledContainer=a.default.div.withConfig({displayName:"Collapsible__StyledContainer",componentId:"sc-13a0b13-1"})(["background-color:",";"],u.colors.$color_white),g=t.StyledContainerTopLevel=(0,a.default)(h).withConfig({displayName:"Collapsible__StyledContainerTopLevel",componentId:"sc-13a0b13-2"})(["border-top:1px solid ",";border-bottom:1px solid ",";margin-top:-1px;"],u.colors.$color_border_gutenberg,u.colors.$color_border_gutenberg),y=t.StyledIconsButton=(0,a.default)(f.default).withConfig({displayName:"Collapsible__StyledIconsButton",componentId:"sc-13a0b13-3"})(["width:100%;background-color:",";padding:16px;justify-content:flex-start;border-color:transparent;border:none;border-radius:0;box-shadow:none;font-weight:normal;:focus{outline:1px solid ",";outline-offset:-1px;}:active{box-shadow:none;background-color:",";}svg{"," &:first-child{",";}&:last-child{",";}}"],u.colors.$color_white,u.colors.$color_blue,u.colors.$color_white,e=>e.hasSubTitle?"align-self: flex-start;":"",(0,l.getDirectionalStyle)("margin-right: 8px","margin-left: 8px"),(0,l.getDirectionalStyle)("margin-left: 8px","margin-right: 8px"));function m(e,t){const n=`h${t.level}`,r=(0,a.default)(n).withConfig({displayName:"Collapsible__StyledHeadingLevel",componentId:"sc-13a0b13-4"})(["margin:0 !important;padding:0 !important;font-size:"," !important;font-weight:"," !important;"],t.fontSize,t.fontWeight);return function(t){return i.default.createElement(r,null,i.default.createElement(e,t))}}const v=m(y,{level:2,fontSize:"1rem",fontWeight:"normal"}),b=t.CollapsibleStateless=(e=>{let t=null;e.isOpen&&(t=e.hasPadding?i.default.createElement(p,null,e.children):e.children);const n=e.hasSeparator?g:h;return i.default.createElement(n,{className:e.className},i.default.createElement(e.Heading,{id:e.id,"aria-expanded":e.isOpen,onClick:e.onToggle,prefixIcon:e.isOpen?e.prefixIcon:e.prefixIconCollapsed,suffixIcon:e.isOpen?e.suffixIcon:e.suffixIconCollapsed,hasSubTitle:!!e.subTitle},i.default.createElement(c.SectionTitle,{title:e.title,titleScreenReaderText:e.titleScreenReaderText,subTitle:e.subTitle})),t)});b.propTypes={children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]),className:o.default.string,Heading:o.default.func,isOpen:o.default.bool.isRequired,hasSeparator:o.default.bool,hasPadding:o.default.bool,initialIsOpen:o.default.bool,onToggle:o.default.func.isRequired,prefixIcon:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),prefixIconCollapsed:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),subTitle:o.default.string,suffixIcon:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),suffixIconCollapsed:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),title:o.default.string.isRequired,titleScreenReaderText:o.default.string,id:o.default.string},b.defaultProps={Heading:v,id:null,children:null,className:null,subTitle:null,titleScreenReaderText:null,hasSeparator:!1,hasPadding:!1,initialIsOpen:!1,prefixIcon:null,prefixIconCollapsed:null,suffixIcon:null,suffixIconCollapsed:null,headingProps:null};class _ extends i.default.Component{constructor(e){super(e),this.state={isOpen:e.initialIsOpen},this.Heading=_.getHeading(e),this.toggleCollapse=this.toggleCollapse.bind(this)}componentWillReceiveProps(e){const t=this.props.headingProps.level;e.headingProps.level!==t&&(this.Heading=_.getHeading(e))}toggleCollapse(){const e=this.state.isOpen;this.setState({isOpen:!e})}static getHeading(e){return m(y,e.headingProps)}render(){const e=this.state.isOpen,t=this.props.children,n=(0,s.default)(this.props,["children"]);return i.default.createElement(b,r({Heading:this.Heading,isOpen:e,onToggle:this.toggleCollapse},n),e&&t)}}t.Collapsible=_,_.propTypes={children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node]),className:o.default.string,initialIsOpen:o.default.bool,hasSeparator:o.default.bool,hasPadding:o.default.bool,prefixIcon:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),prefixIconCollapsed:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),suffixIcon:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),suffixIconCollapsed:o.default.shape({icon:o.default.string,color:o.default.string,size:o.default.string}),title:o.default.string.isRequired,titleScreenReaderText:o.default.string,subTitle:o.default.string,headingProps:o.default.shape({level:o.default.number,fontSize:o.default.string,fontWeight:o.default.string})},_.defaultProps={hasSeparator:!1,hasPadding:!1,initialIsOpen:!1,subTitle:null,titleScreenReaderText:null,children:null,className:null,prefixIcon:null,prefixIconCollapsed:null,suffixIcon:{icon:"chevron-up",color:u.colors.$black,size:"24px"},suffixIconCollapsed:{icon:"chevron-down",color:u.colors.$black,size:"24px"},headingProps:{level:2,fontSize:"1rem",fontWeight:"normal"}},t.default=_},function(e,t,n){var r=n(431),o=n(454),i=n(237),a=n(455),s=n(461),u=n(464),l=n(233),c=n(465),f=n(467),d=n(468),p=n(248),h=n(98),g=n(472),y=n(473),m=n(479),v=n(33),b=n(139),_=n(480),x=n(77),w=n(482),S=n(138),C=1,k=2,O=4,E="[object Arguments]",T="[object Function]",M="[object GeneratorFunction]",P="[object Object]",j={};j[E]=j["[object Array]"]=j["[object ArrayBuffer]"]=j["[object DataView]"]=j["[object Boolean]"]=j["[object Date]"]=j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Map]"]=j["[object Number]"]=j[P]=j["[object RegExp]"]=j["[object Set]"]=j["[object String]"]=j["[object Symbol]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j["[object Error]"]=j[T]=j["[object WeakMap]"]=!1,e.exports=function e(t,n,A,I,R,D){var N,B=n&C,L=n&k,F=n&O;if(A&&(N=R?A(t,I,R,D):A(t)),void 0!==N)return N;if(!x(t))return t;var z=v(t);if(z){if(N=g(t),!B)return l(t,N)}else{var q=h(t),K=q==T||q==M;if(b(t))return u(t,B);if(q==P||q==E||K&&!R){if(N=L||K?{}:m(t),!B)return L?f(t,s(N,t)):c(t,a(N,t))}else{if(!j[q])return R?t:{};N=y(t,q,B)}}D||(D=new r);var W=D.get(t);if(W)return W;if(D.set(t,N),w(t))return t.forEach(function(r){N.add(e(r,n,A,r,t,D))}),N;if(_(t))return t.forEach(function(r,o){N.set(o,e(r,n,A,o,t,D))}),N;var U=F?L?p:d:L?keysIn:S,$=z?void 0:U(t);return o($||t,function(r,o){$&&(r=t[o=r]),i(N,o,e(r,n,A,o,t,D))}),N}},function(e,t,n){var r=n(93),o=n(437),i=n(438),a=n(439),s=n(440),u=n(441);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(94),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():o.call(t,n,1),--this.size,0))}},function(e,t,n){var r=n(94);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(94);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(94);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(93);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(93),o=n(137),i=n(236),a=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!o||s.length<a-1)return s.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(s)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(443),o=n(93),i=n(137);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(e,t,n){var r=n(444),o=n(445),i=n(446),a=n(447),s=n(448);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(95);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(95),o="__lodash_hash_undefined__",i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return n===o?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(95),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:o.call(t,e)}},function(e,t,n){var r=n(95),o="__lodash_hash_undefined__";e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?o:t,this}},function(e,t,n){var r=n(96);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(96);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(96);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(96);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t,n){var r=n(79),o=n(138);e.exports=function(e,t){return e&&r(t,o(t),e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t){e.exports=function(){return!1}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){var r=n(61),o=n(241),i=n(41),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&o(e.length)&&!!a[r(e)]}},function(e,t,n){var r=n(243)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(79),o=n(244);e.exports=function(e,t){return e&&r(t,o(t),e)}},function(e,t,n){var r=n(77),o=n(97),i=n(463),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=o(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){(function(e){var r=n(32),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(34)(e))},function(e,t,n){var r=n(79),o=n(143);e.exports=function(e,t){return r(e,o(e),t)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}},function(e,t,n){var r=n(79),o=n(246);e.exports=function(e,t){return r(e,o(e),t)}},function(e,t,n){var r=n(247),o=n(143),i=n(138);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(50)(n(32),"DataView");e.exports=r},function(e,t,n){var r=n(50)(n(32),"Promise");e.exports=r},function(e,t,n){var r=n(50)(n(32),"Set");e.exports=r},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){var r=n(145),o=n(475),i=n(476),a=n(477),s=n(478),u="[object Boolean]",l="[object Date]",c="[object Map]",f="[object Number]",d="[object RegExp]",p="[object Set]",h="[object String]",g="[object Symbol]",y="[object ArrayBuffer]",m="[object DataView]",v="[object Float32Array]",b="[object Float64Array]",_="[object Int8Array]",x="[object Int16Array]",w="[object Int32Array]",S="[object Uint8Array]",C="[object Uint8ClampedArray]",k="[object Uint16Array]",O="[object Uint32Array]";e.exports=function(e,t,n){var E=e.constructor;switch(t){case y:return r(e);case u:case l:return new E(+e);case m:return o(e,n);case v:case b:case _:case x:case w:case S:case C:case k:case O:return s(e,n);case c:return new E;case f:case h:return new E(e);case d:return i(e);case p:return new E;case g:return a(e)}}},function(e,t,n){var r=n(32).Uint8Array;e.exports=r},function(e,t,n){var r=n(145);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t){var n=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){var r=n(78),o=r?r.prototype:void 0,i=o?o.valueOf:void 0;e.exports=function(e){return i?Object(i.call(e)):{}}},function(e,t,n){var r=n(145);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(132),o=n(144),i=n(97);e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:r(o(e))}},function(e,t,n){var r=n(481),o=n(140),i=n(141),a=i&&i.isMap,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(98),o=n(41),i="[object Map]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t,n){var r=n(483),o=n(140),i=n(141),a=i&&i.isSet,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(98),o=n(41),i="[object Set]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,t,n){var r=n(146),o=n(491),i=n(492),a=n(249);e.exports=function(e,t){return t=r(t,e),null==(e=i(e,t))||delete e[a(o(t))]}},function(e,t,n){var r=n(33),o=n(147),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||a.test(e)||!i.test(e)||null!=t&&e in Object(t)}},function(e,t,n){var r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=n(487)(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)}),t});e.exports=i},function(e,t,n){var r=n(488),o=500;e.exports=function(e){var t=r(e,function(e){return n.size===o&&n.clear(),e}),n=t.cache;return t}},function(e,t,n){var r=n(236),o="Expected a function";function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(o);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(490);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(78),o=n(234),i=n(33),a=n(147),s=1/0,u=r?r.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(493),o=n(494);e.exports=function(e,t){return t.length<2?e:r(e,o(t,0,-1))}},function(e,t,n){var r=n(146),o=n(249);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t){e.exports=function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r<o;)i[r]=e[r+t];return i}},function(e,t,n){var r=n(496);e.exports=function(e){return r(e)?void 0:e}},function(e,t,n){var r=n(61),o=n(144),i=n(41),a="[object Object]",s=Function.prototype,u=Object.prototype,l=s.toString,c=u.hasOwnProperty,f=l.call(Object);e.exports=function(e){if(!i(e)||r(e)!=a)return!1;var t=o(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==f}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(2)),o=f(n(0)),i=f(n(1)),a=n(10),s=n(7),u=n(3),l=f(n(60)),c=f(n(39));function f(e){return e&&e.__esModule?e:{default:e}}const d=i.default.div.withConfig({displayName:"Alert__AlertContainer",componentId:"sc-6o5k96-0"})(["display:flex;align-items:flex-start;font-size:14px;line-height:1.5;border:1px solid rgba(0,0,0,0.2);padding:16px;color:",";background:",";margin-bottom:20px;"],e=>e.alertColor,e=>e.alertBackground),p=i.default.div.withConfig({displayName:"Alert__AlertContent",componentId:"sc-6o5k96-1"})(["flex-grow:1;a{color:",";}"],u.colors.$color_alert_link_text),h=(0,i.default)(c.default).withConfig({displayName:"Alert__AlertIcon",componentId:"sc-6o5k96-2"})(["margin-top:0.125rem;",";"],(0,s.getDirectionalStyle)("margin-right: 8px","margin-left: 8px")),g=(0,i.default)(l.default).withConfig({displayName:"Alert__AlertDismiss",componentId:"sc-6o5k96-3"})(["",";font-size:24px;line-height:1.4;color:",";flex-shrink:0;min-width:36px;height:36px;padding:0;&,&:hover,&:active{border:2px solid transparent;background:transparent;box-shadow:none;color:",";}&:focus{background:transparent;color:",";border-color:",";box-shadow:0px 0px 0px 3px ",";}"],(0,s.getDirectionalStyle)("margin: -8px -12px -8px 8px","margin: -8px 8px -12px -8px"),e=>e.alertDismissColor,e=>e.alertDismissColor,e=>e.alertDismissColor,u.colors.$color_yoast_focus,u.colors.$color_yoast_focus_outer);class y extends o.default.Component{getTypeDisplayOptions(e){switch(e){case"error":return{color:u.colors.$color_alert_error_text,background:u.colors.$color_alert_error_background,icon:"alert-error"};case"info":return{color:u.colors.$color_alert_info_text,background:u.colors.$color_alert_info_background,icon:"alert-info"};case"success":return{color:u.colors.$color_alert_success_text,background:u.colors.$color_alert_success_background,icon:"alert-success"};case"warning":return{color:u.colors.$color_alert_warning_text,background:u.colors.$color_alert_warning_background,icon:"alert-warning"}}}render(){const e=this.getTypeDisplayOptions(this.props.type),t=this.props.dismissAriaLabel||(0,a.__)("Dismiss this alert","yoast-components");return o.default.createElement(d,{alertColor:e.color,alertBackground:e.background,className:this.props.className},o.default.createElement(h,{icon:e.icon,color:e.color}),o.default.createElement(p,null,this.props.children),"function"==typeof this.props.onDismissed?o.default.createElement(g,{alertDismissColor:e.color,onClick:this.props.onDismissed,"aria-label":t},"×"):null)}}y.propTypes={children:r.default.any.isRequired,type:r.default.oneOf(["error","info","success","warning"]).isRequired,onDismissed:r.default.func,dismissAriaLabel:r.default.string,className:r.default.string},y.defaultProps={onDismissed:null,dismissAriaLabel:"",className:""},t.default=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(0)),o=s(n(2)),i=s(n(1)),a=n(7);function s(e){return e&&e.__esModule?e:{default:e}}const u=i.default.div.withConfig({displayName:"ArticleList__ArticleListContainer",componentId:"w5i6df-0"})(["box-sizing:border-box;p{margin:0;font-size:14px;}"]),l=i.default.h3.withConfig({displayName:"ArticleList__ArticleListHeader",componentId:"w5i6df-1"})(["margin:8px 0;font-size:1em;"]),c=i.default.ul.withConfig({displayName:"ArticleList__FeedList",componentId:"w5i6df-2"})(["margin:0;list-style:none;padding:0;"]),f=(0,a.makeOutboundLink)(i.default.a.withConfig({displayName:"ArticleList__ArticleListLink",componentId:"w5i6df-3"})(["display:inline-block;margin-bottom:4px;font-size:14px;"])),d=i.default.li.withConfig({displayName:"ArticleList__ArticleListItemContainer",componentId:"w5i6df-4"})(["margin:8px 0;"]),p=i.default.div.withConfig({displayName:"ArticleList__ArticleListFooter",componentId:"w5i6df-5"})(["a{margin:8px 0 0;}"]),h=e=>r.default.createElement(d,{className:e.className},r.default.createElement(f,{className:`${e.className}-link`,href:e.link},e.title),r.default.createElement("p",{className:`${e.className}-description`},e.description));h.propTypes={className:o.default.string.isRequired,title:o.default.string.isRequired,link:o.default.string.isRequired,description:o.default.string.isRequired};const g=e=>r.default.createElement(u,{className:e.className},r.default.createElement(l,{className:`${e.className}__header`},e.title?e.title:e.feed.title),r.default.createElement(c,{className:`${e.className}__posts`,role:"list"},e.feed.items.map(t=>r.default.createElement(h,{className:`${e.className}__post`,key:t.link,title:t.title,link:t.link,description:t.description}))),e.footerLinkText&&r.default.createElement(p,{className:`${e.className}__footer`},r.default.createElement(f,{className:`${e.className}__footer-link`,href:e.feedLink?e.feedLink:e.feed.link},e.footerLinkText)));g.propTypes={className:o.default.string,feed:o.default.object.isRequired,title:o.default.string,footerLinkText:o.default.string,feedLink:o.default.string},g.defaultProps={className:"articlelist-feed"},t.default=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FullHeightCard=void 0;var r=n(0),o=c(r),i=c(n(2)),a=c(n(1)),s=n(3),u=n(7),l=c(n(254));function c(e){return e&&e.__esModule?e:{default:e}}const f=a.default.div.withConfig({displayName:"Card__Container",componentId:"ha1cvx-0"})(["position:relative;display:flex;flex-direction:column;background-color:",";width:100%;box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);"],s.colors.$color_white),d=a.default.img.withConfig({displayName:"Card__HeaderImage",componentId:"ha1cvx-1"})(["width:100%;vertical-align:bottom;"]),p=a.default.div.withConfig({displayName:"Card__Content",componentId:"ha1cvx-2"})(["padding:12px 16px;display:flex;flex-direction:column;flex-grow:1;"]),h=a.default.a.withConfig({displayName:"Card__HeaderLink",componentId:"ha1cvx-3"})(["text-decoration:none;color:",";overflow:hidden;&:hover,&:focus,&:active{text-decoration:underline;color:",";}&:focus,&:active{box-shadow:none;}"],s.colors.$color_pink_dark,s.colors.$color_pink_dark),g=a.default.h2.withConfig({displayName:"Card__HeaderTitle",componentId:"ha1cvx-4"})(["margin:16px 16px 0 16px;font-weight:400;font-size:1.5em;line-height:1.2;color:currentColor;"]),y=(0,u.makeOutboundLink)(h);class m extends o.default.Component{getHeader(){return this.props.header?this.props.header.link?o.default.createElement(y,{href:this.props.header.link},o.default.createElement(d,{src:this.props.header.image,alt:""}),o.default.createElement(g,null,this.props.header.title)):o.default.createElement(r.Fragment,null,o.default.createElement(d,{src:this.props.header.image,alt:""}),";",o.default.createElement(g,null,this.props.header.title)):null}getBanner(){return this.props.banner?o.default.createElement(l.default,this.props.banner,this.props.banner.text):null}render(){return o.default.createElement(f,{className:this.props.className,id:this.props.id},this.getHeader(),this.getBanner(),o.default.createElement(p,null,this.props.children))}}t.default=m;t.FullHeightCard=(0,a.default)(m).withConfig({displayName:"Card__FullHeightCard",componentId:"ha1cvx-5"})(["height:100%;"]);m.propTypes={className:i.default.string,id:i.default.string,header:i.default.shape({title:i.default.string,image:i.default.string.isRequired,link:i.default.string}),banner:i.default.shape({text:i.default.string.isRequired,textColor:i.default.string,backgroundColor:i.default.string}),children:i.default.any},m.defaultProps={className:"",id:"",header:null,banner:null,children:null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=l(r),i=l(n(2)),a=l(n(1)),s=n(3),u=n(7);function l(e){return e&&e.__esModule?e:{default:e}}const c=a.default.a.withConfig({displayName:"CourseDetails__CardRegularButton",componentId:"sc-9ma0lz-0"})(["color:",";white-space:nowrap;display:block;border-radius:4px;background-color:",";padding:12px 16px;box-shadow:inset 0 -4px 0 rgba(0,0,0,0.2);border:none;text-decoration:none;font-weight:bold;font-size:inherit;margin-bottom:8px;&:hover,&:focus,&:active{color:",";background-color:",";}&:active{background-color:",";transform:translateY( 1px );box-shadow:none;filter:none;}"],s.colors.$color_black,s.colors.$color_grey_cta,s.colors.$color_black,s.colors.$color_grey_hover,s.colors.$color_grey_hover),f=a.default.a.withConfig({displayName:"CourseDetails__CardUpsellButton",componentId:"sc-9ma0lz-1"})(["cursor:pointer;color:",";white-space:nowrap;display:block;border-radius:4px;background-color:",";padding:12px 16px;box-shadow:inset 0 -4px 0 rgba(0,0,0,0.2);border:none;text-decoration:none;font-weight:bold;font-size:inherit;margin-top:0;margin-bottom:8px;&:hover,&:focus,&:active{color:",";background:",";}&:active{background-color:",";transform:translateY( 1px );box-shadow:none;filter:none;}"],s.colors.$color_black,s.colors.$color_button_upsell,s.colors.$color_black,s.colors.$color_button_upsell_hover,s.colors.$color_button_hover_upsell),d=a.default.a.withConfig({displayName:"CourseDetails__CardInfoLink",componentId:"sc-9ma0lz-2"})(["font-weight:bold;"]),p=(0,u.makeOutboundLink)(d),h=a.default.div.withConfig({displayName:"CourseDetails__ActionBlock",componentId:"sc-9ma0lz-3"})(["text-align:center;"]),g=a.default.div.withConfig({displayName:"CourseDetails__CourseFeatureList",componentId:"sc-9ma0lz-4"})(["ul{list-style-type:none;margin:0;padding:0;}li{position:relative;",':16px;&:before{content:"✓";color:',";position:absolute;font-weight:bold;display:inline-block;",":-16px;}}"],(0,u.getDirectionalStyle)("margin-left","margin-right"),s.colors.$color_green,(0,u.getDirectionalStyle)("left","right")),y=a.default.div.withConfig({displayName:"CourseDetails__Details",componentId:"sc-9ma0lz-5"})(["margin-bottom:12px;border-bottom:1px "," solid;flex-grow:1;"],s.colors.$color_grey);class m extends o.default.Component{getActionBlock(e,t){const n=(0,u.makeOutboundLink)(e);return"true"===t?o.default.createElement(h,null,o.default.createElement(n,{href:this.props.courseUrl},this.props.ctaButtonData.ctaButtonCopy)):o.default.createElement(h,null,o.default.createElement(n,{href:this.props.ctaButtonData.ctaButtonUrl},this.props.ctaButtonData.ctaButtonCopy),o.default.createElement(p,{href:this.props.courseUrl},this.props.readMoreLinkText))}render(){const e="regular"===this.props.ctaButtonData.ctaButtonType?c:f;return o.default.createElement(r.Fragment,null,o.default.createElement(y,null,o.default.createElement(g,{dangerouslySetInnerHTML:{__html:this.props.description}})),this.getActionBlock(e,this.props.isBundle))}}t.default=m,m.propTypes={description:i.default.string,courseUrl:i.default.string,ctaButtonData:i.default.object,readMoreLinkText:i.default.string,isBundle:i.default.string},m.defaultProps={description:"",courseUrl:"",ctaButtonData:{},readMoreLinkText:"",isBundle:""}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(0)),o=f(n(1)),i=f(n(2)),a=f(n(224)),s=f(n(92)),u=n(3),l=n(8),c=n(60);function f(e){return e&&e.__esModule?e:{default:e}}const d=(0,a.default)([c.addActiveStyle,c.addFocusStyle,c.addHoverStyle])(o.default.button.withConfig({displayName:"IconLabeledButton__IconLabelledBaseButton",componentId:"sc-1esdi7s-0"})(["display:inline-flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;box-sizing:border-box;border:1px solid transparent;margin:0;padding:8px;overflow:visible;font-family:inherit;font-weight:inherit;color:",";background:",";font-size:",";svg{margin:0 0 8px;flex-shrink:0;fill:currentColor;align-self:center;}&:active{box-shadow:none;}"],e=>e.textColor,e=>e.backgroundColor,e=>e.textFontSize)),p=e=>{const t=e.children,n=e.icon,o=e.textColor,i=(0,s.default)(e,"icon");return r.default.createElement(d,i,r.default.createElement(l.SvgIcon,{icon:n,color:o}),t)};p.propTypes={type:i.default.string,icon:i.default.string.isRequired,textColor:i.default.string,textFontSize:i.default.string,backgroundColor:i.default.string,borderColor:i.default.string,hoverColor:i.default.string,hoverBackgroundColor:i.default.string,hoverBorderColor:i.default.string,activeColor:i.default.string,activeBackgroundColor:i.default.string,activeBorderColor:i.default.string,focusColor:i.default.string,focusBackgroundColor:i.default.string,focusBorderColor:i.default.string,children:i.default.oneOfType([i.default.arrayOf(i.default.node),i.default.node,i.default.string]).isRequired},p.defaultProps={type:"button",textColor:u.colors.$color_blue,textFontSize:"inherit",backgroundColor:"transparent",borderColor:"transparent",hoverColor:u.colors.$color_white,hoverBackgroundColor:u.colors.$color_blue,hoverBorderColor:null,activeColor:u.colors.$color_white,activeBackgroundColor:u.colors.$color_blue,activeBorderColor:null,focusColor:u.colors.$color_white,focusBackgroundColor:u.colors.$color_blue,focusBorderColor:u.colors.$color_blue},t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(0)),o=c(n(2)),i=c(n(1)),a=c(n(92)),s=n(7),u=c(n(60)),l=n(8);function c(e){return e&&e.__esModule?e:{default:e}}const f=e=>{const t=e.children,n=e.icon,o=e.iconColor;let c=l.SvgIcon;t&&(c=function(e){return(0,i.default)(e).withConfig({displayName:"IconButton",componentId:"sc-1sqtgwg-0"})(["margin:",";flex-shrink:0;"],(0,s.getDirectionalStyle)("0 8px 0 0","0 0 0 8px"))}(c));const f=(0,a.default)(e,"icon");return r.default.createElement(u.default,f,r.default.createElement(c,{icon:n,color:o}),t)};f.propTypes={icon:o.default.string.isRequired,iconColor:o.default.string,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node,o.default.string])},f.defaultProps={iconColor:"#000"},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=l(n(0)),o=l(n(2)),i=l(n(1)),a=n(10),s=n(148),u=n(3);function l(e){return e&&e.__esModule?e:{default:e}}const c=i.default.p.withConfig({displayName:"ErrorBoundary__ErrorContainer",componentId:"kuut53-0"})(["text-align:center;margin:0 0 16px;padding:16px 16px 8px 16px;border-bottom:4px solid ",";background:",";"],u.colors.$color_bad,u.colors.$color_white);class f extends r.default.Component{constructor(e){super(e),this.state={hasError:!1}}componentDidCatch(){this.setState({hasError:!0})}render(){if(this.state.hasError){const e=(0,a.__)("Something went wrong. Please reload the page.","yoast-components");return(0,s.speak)(e,"assertive"),r.default.createElement(c,null,e)}return this.props.children}}t.default=f,f.propTypes={children:o.default.any}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){e=e||"polite";var t=document.createElement("div");return t.id="a11y-speak-"+e,t.className="a11y-speak-region",t.setAttribute("style","position: absolute;margin: -1px;padding: 0;height: 1px;width: 1px;overflow: hidden;clip: rect(1px, 1px, 1px, 1px);-webkit-clip-path: inset(50%);clip-path: inset(50%);border: 0;word-wrap: normal !important;"),t.setAttribute("aria-live",e),t.setAttribute("aria-relevant","additions text"),t.setAttribute("aria-atomic","true"),document.querySelector("body").appendChild(t),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){for(var e=document.querySelectorAll(".a11y-speak-region"),t=0;t<e.length;t++)e[t].textContent=""}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){if("complete"===document.readyState||"interactive"===document.readyState)return e();document.addEventListener("DOMContentLoaded",e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(508);var r="";t.default=function(e){return e=e.replace(/<[^<>]+>/g," "),r===e&&(e+=" "),r=e,e}},function(e,t,n){n(509)("replace",2,function(e,t,n){return[function(r,o){"use strict";var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(e,t,n){"use strict";var r=n(255),o=n(516),i=n(151),a=n(518),s=n(519);e.exports=function(e,t,n){var u=s(e),l=n(a,u,""[e]),c=l[0],f=l[1];i(function(){var t={};return t[u]=function(){return 7},7!=""[e](t)})&&(o(String.prototype,e,c),r(RegExp.prototype,u,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)}))}},function(e,t,n){var r=n(511),o=n(512),i=n(514),a=Object.defineProperty;t.f=n(150)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(149);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(150)&&!n(151)(function(){return 7!=Object.defineProperty(n(513)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(149),o=n(99).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(149);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(99),o=n(255),i=n(517),a=n(256)("src"),s=Function.toString,u=(""+s).split("toString");n(257).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var l="function"==typeof n;l&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(l&&(i(n,a)||o(n,a,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(520)("wks"),o=n(256),i=n(99).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){var r=n(257),o=n(99),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(521)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports=!1},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.helpTextPropType=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(0),i=l(o),a=l(n(2)),s=l(n(1)),u=n(3);function l(e){return e&&e.__esModule?e:{default:e}}const c=s.default.p.withConfig({displayName:"HelpText__YoastHelpText",componentId:"sc-1ci0249-0"})(["color:",";font-size:",";margin-top:0;"],e=>e.textColor,e=>e.textFontSize);class f extends o.PureComponent{render(){var e=this.props;const t=e.children,n=e.textColor,r=e.textFontSize;return i.default.createElement(c,{textColor:n,textFontSize:r},t)}}t.default=f;const d=t.helpTextPropType={children:a.default.oneOfType([a.default.string,a.default.array]),textColor:a.default.string,textFontSize:a.default.string};f.propTypes=r({},d,{children:d.children.isRequired}),f.defaultProps={textColor:u.colors.$color_help_text}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(0)),i=u(n(2)),a=u(n(1)),s=u(n(92));function u(e){return e&&e.__esModule?e:{default:e}}const l=e=>{const t=(0,a.default)(e.icon).withConfig({displayName:"Icon__IconComponent",componentId:"ddktqk-0"})(["width:",";height:",";"," flex:0 0 auto;"],e.width,e.height,e.color?`fill: ${e.color};`:""),n=(0,s.default)(e,["icon","width","height","color"]);return o.default.createElement(t,r({role:"img","aria-hidden":"true",focusable:"false"},n))};l.propTypes={icon:i.default.func.isRequired,width:i.default.string,height:i.default.string,color:i.default.string},l.defaultProps={width:"16px",height:"16px"},t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(0)),o=u(n(1)),i=u(n(2)),a=n(3),s=u(n(39));function u(e){return e&&e.__esModule?e:{default:e}}const l=o.default.button.withConfig({displayName:"IconButtonToggle__IconButtonBase",componentId:"v67d93-0"})(["box-sizing:border-box;min-width:32px;display:inline-block;border:1px solid ",";background-color:",";box-shadow:",";border-radius:3px;cursor:pointer;padding:0;height:",";&:hover{border-color:",";}&:disabled{background-color:",";box-shadow:none;border:none;cursor:default;}"],a.colors.$color_button_border,e=>e.pressed?e.pressedBackground:e.unpressedBackground,e=>e.pressed?`inset 0 2px 0 ${(0,a.rgba)(e.pressedBoxShadowColor,.7)}`:`0 1px 0 ${(0,a.rgba)(e.unpressedBoxShadowColor,.7)}`,e=>e.pressed?"23px":"24px",e=>e.hoverBorderColor,e=>e.unpressedBackground),c=function(e){return"disabled"===e.marksButtonStatus},f=e=>r.default.createElement(l,{disabled:c(e),type:"button",onClick:e.onClick,pressed:e.pressed,unpressedBoxShadowColor:e.unpressedBoxShadowColor,pressedBoxShadowColor:e.pressedBoxShadowColor,pressedBackground:e.pressedBackground,unpressedBackground:e.unpressedBackground,id:e.id,"aria-label":e.ariaLabel,"aria-pressed":e.pressed,unpressedIconColor:c(e)?e.disabledIconColor:e.unpressedIconColor,pressedIconColor:e.pressedIconColor,hoverBorderColor:e.hoverBorderColor,className:e.className},c(e)&&r.default.createElement(s.default,{icon:e.icon,color:e.disabledIconColor,size:"18px"}),!e.pressed&&!c(e)&&r.default.createElement(s.default,{icon:e.icon,color:e.unpressedIconColor,size:"18px"}),e.pressed&&!c(e)&&r.default.createElement(s.default,{icon:e.icon,color:e.pressedIconColor,size:"18px"}));f.propTypes={id:i.default.string.isRequired,ariaLabel:i.default.string.isRequired,onClick:i.default.func.isRequired,boxShadowColor:i.default.string,unpressedBoxShadowColor:i.default.string,pressedBoxShadowColor:i.default.string,pressedBackground:i.default.string,unpressedBackground:i.default.string,pressedIconColor:i.default.string,unpressedIconColor:i.default.string,icon:i.default.string.isRequired,pressed:i.default.bool.isRequired,hoverBorderColor:i.default.string,marksButtonStatus:i.default.string,disabledIconColor:i.default.string,className:i.default.string},f.defaultProps={unpressedBoxShadowColor:a.colors.$color_button_border,pressedBoxShadowColor:a.colors.$color_purple,pressedBackground:a.colors.$color_pink_dark,unpressedBackground:a.colors.$color_button,pressedIconColor:a.colors.$color_white,unpressedIconColor:a.colors.$color_button_text,hoverBorderColor:a.colors.$color_white,marksButtonStatus:"enabled",disabledIconColor:a.colors.$color_grey},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(0)),o=c(n(2)),i=c(n(62)),a=n(10),s=n(530),u=c(n(261)),l=c(n(262));function c(e){return e&&e.__esModule?e:{default:e}}const f=({relevantWords:e,keywordLimit:t})=>{const n=r.default.createElement("p",null,(e=>(0,s.isFeatureEnabled)("improvedInternalLinking")?0===e.length?(0,a.__)("Once you add a bit more copy, we'll give you a list of words that occur the most in the content. These give an indication of what your content focuses on.","yoast-components"):(0,a.__)("The following words occur the most in the content. These give an indication of what your content focuses on. If the words differ a lot from your topic, you might want to rewrite your content accordingly. ","yoast-components"):0===e.length?(0,a.__)("Once you add a bit more copy, we'll give you a list of words and word combinations that occur the most in the content. These give an indication of what your content focuses on.","yoast-components"):(0,a.__)("The following words and word combinations occur the most in the content. These give an indication of what your content focuses on. If the words differ a lot from your topic, you might want to rewrite your content accordingly. ","yoast-components"))(e)),o=r.default.createElement("p",null,(()=>{const e=(0,a.sprintf)((0,a.__)("Read our %1$sultimate guide to keyword research%2$s to learn more about keyword research and keyword strategy.","yoast-components"),"{{a}}","{{/a}}");return(0,i.default)({mixedString:e,components:{a:r.default.createElement("a",{href:"https://yoa.st/keyword-research-metabox"})}})})());if((0,s.isFeatureEnabled)("improvedInternalLinking"))return r.default.createElement(l.default,{words:e,header:n,footer:o});const c=e.slice(0,t).map(e=>e.getCombination());return r.default.createElement(u.default,{title:(0,a.__)("Prominent words","yoast-components"),words:c,classNamePrefix:"yoast-keyword-suggestions",header:n,footer:o})};f.propTypes={relevantWords:o.default.arrayOf(o.default.object).isRequired,keywordLimit:o.default.number},f.defaultProps={keywordLimit:5},t.default=f},function(e,t,n){"use strict";var r=n(0),o="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,i=n(260),a=n(527),s=n(528),u=".",l=":",c="function"==typeof Symbol&&Symbol.iterator,f="@@iterator";function d(e,t){return e&&"object"==typeof e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function p(e,t,n,r){var i,s=typeof e;if("undefined"!==s&&"boolean"!==s||(e=null),null===e||"string"===s||"number"===s||"object"===s&&e.$$typeof===o)return n(r,e,""===t?u+d(e,0):t),1;var h=0,g=""===t?u:t+l;if(Array.isArray(e))for(var y=0;y<e.length;y++)h+=p(i=e[y],g+d(i,y),n,r);else{var m=function(e){var t=e&&(c&&e[c]||e[f]);if("function"==typeof t)return t}(e);if(m){0;for(var v,b=m.call(e),_=0;!(v=b.next()).done;)h+=p(i=v.value,g+d(i,_++),n,r)}else if("object"===s){0;var x=""+e;a(!1,"Objects are not valid as a React child (found: %s).%s","[object Object]"===x?"object with keys {"+Object.keys(e).join(", ")+"}":x,"")}}return h}var h=/\/+/g;function g(e){return(""+e).replace(h,"$&/")}var y=m,m=function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)},v=function(e){a(e instanceof this,"Trying to release an instance into a pool of a different type."),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)};function b(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function _(e,t,n){var o=e.result,a=e.keyPrefix,s=e.func,u=e.context,l=s.call(u,t,e.count++);Array.isArray(l)?x(l,o,n,i.thatReturnsArgument):null!=l&&(r.isValidElement(l)&&(l=function(e,t){return r.cloneElement(e,{key:t},void 0!==e.props?e.props.children:void 0)}(l,a+(!l.key||t&&t.key===l.key?"":g(l.key)+"/")+n)),o.push(l))}function x(e,t,n,r,o){var i="";null!=n&&(i=g(n)+"/");var a=b.getPooled(t,i,r,o);!function(e,t,n){null==e||p(e,"",t,n)}(e,_,a),b.release(a)}b.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},function(e,t){var n=e;n.instancePool=[],n.getPooled=t||y,n.poolSize||(n.poolSize=10),n.release=v}(b,function(e,t,n,r){if(this.instancePool.length){var o=this.instancePool.pop();return this.call(o,e,t,n,r),o}return new this(e,t,n,r)});e.exports=function(e){if("object"!=typeof e||!e||Array.isArray(e))return s(!1,"React.addons.createFragment only accepts a single object. Got: %s",e),e;if(r.isValidElement(e))return s(!1,"React.addons.createFragment does not accept a ReactElement without a wrapper object."),e;a(1!==e.nodeType,"React.addons.createFragment(...): Encountered an invalid child; DOM elements are not valid children of React components.");var t=[];for(var n in e)x(e[n],t,n,i.thatReturnsArgument);return t}},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,a,s,u],f=0;(l=new Error(t.replace(/%s/g,function(){return c[f++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";var r=n(260);e.exports=r},function(e,t,n){"use strict";function r(e){return e.match(/^\{\{\//)?{type:"componentClose",value:e.replace(/\W/g,"")}:e.match(/\/\}\}$/)?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.match(/^\{\{/)?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}e.exports=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(r)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.isFeatureEnabled=function(e){return!!self.wpseoFeatureFlags&&self.wpseoFeatureFlags.includes(e)},t.enableFeatures=function(e){self.wpseoFeatureFlags||(self.wpseoFeatureFlags=[]),e.forEach(function(e){self.wpseoFeatureFlags.includes(e)||self.wpseoFeatureFlags.push(e)})},t.enabledFeatures=function(){return self.wpseoFeatureFlags||[]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.languageNoticePropType=void 0;var r=n(0),o=c(r),i=c(n(2)),a=c(n(1)),s=n(10),u=c(n(62)),l=n(7);function c(e){return e&&e.__esModule?e:{default:e}}const f=a.default.p.withConfig({displayName:"LanguageNotice__YoastLanguageNotice",componentId:"rqos7w-0"})(["margin:1em 0;"]),d=(0,l.makeOutboundLink)(a.default.a.withConfig({displayName:"LanguageNotice__ChangeLanguageLink",componentId:"rqos7w-1"})(["margin-left:4px;"]));class p extends r.PureComponent{render(){var e=this.props;const t=e.changeLanguageLink,n=e.canChangeLanguage,r=e.language;if(!e.showLanguageNotice)return null;let i=(0,s.__)("Your site language is set to %s. ","yoast-components");return n||(i=(0,s.__)("Your site language is set to %s. If this is not correct, contact your site administrator.","yoast-components")),i=(0,s.sprintf)(i,`{{strong}}${r}{{/strong}}`),i=(0,u.default)({mixedString:i,components:{strong:o.default.createElement("strong",null)}}),o.default.createElement(f,null,i,n&&o.default.createElement(d,{href:t},(0,s.__)("Change language","yoast-components")))}}t.default=p;const h=t.languageNoticePropType={changeLanguageLink:i.default.string.isRequired,canChangeLanguage:i.default.bool,language:i.default.string.isRequired,showLanguageNotice:i.default.bool};p.propTypes=h,p.defaultProps={canChangeLanguage:!1,showLanguageNotice:!1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(0)),o=s(n(2)),i=n(1),a=s(i);function s(e){return e&&e.__esModule?e:{default:e}}const u=({className:e})=>(""!==e&&(e+=" "),e+="yoast-loader",r.default.createElement("svg",{version:"1.1",id:"Y__x2B__bg",x:"0px",y:"0px",viewBox:"0 0 500 500",className:e},r.default.createElement("g",null,r.default.createElement("g",null,r.default.createElement("linearGradient",{id:"SVGID_1_",gradientUnits:"userSpaceOnUse",x1:"250",y1:"428.6121",x2:"250",y2:"77.122"},r.default.createElement("stop",{offset:"0",style:{stopColor:"#570732"}}),r.default.createElement("stop",{offset:"2.377558e-02",style:{stopColor:"#5D0936"}}),r.default.createElement("stop",{offset:"0.1559",style:{stopColor:"#771549"}}),r.default.createElement("stop",{offset:"0.3019",style:{stopColor:"#8B1D58"}}),r.default.createElement("stop",{offset:"0.4669",style:{stopColor:"#992362"}}),r.default.createElement("stop",{offset:"0.6671",style:{stopColor:"#A12768"}}),r.default.createElement("stop",{offset:"1",style:{stopColor:"#A4286A"}})),r.default.createElement("path",{fill:"url(#SVGID_1_)",d:"M454.7,428.6H118.4c-40.2,0-73.2-32.9-73.2-73.2V150.3c0-40.2,32.9-73.2,73.2-73.2h263.1 c40.2,0,73.2,32.9,73.2,73.2V428.6z"})),r.default.createElement("g",null,r.default.createElement("g",null,r.default.createElement("g",null,r.default.createElement("g",null,r.default.createElement("path",{fill:"#A4286A",d:"M357.1,102.4l-43.8,9.4L239.9,277l-47.2-147.8h-70.2l78.6,201.9c6.7,17.2,6.7,36.3,0,53.5 c-6.7,17.2,45.1-84.1,24.7-75.7c0,0,34.9,97.6,36.4,94.5c7-14.3,13.7-30.3,20.2-48.5L387.4,72 C387.4,72,358.4,102.4,357.1,102.4z"}))))),r.default.createElement("g",null,r.default.createElement("linearGradient",{id:"SVGID_2_",gradientUnits:"userSpaceOnUse",x1:"266.5665",y1:"-6.9686",x2:"266.5665",y2:"378.4586"},r.default.createElement("stop",{offset:"0",style:{stopColor:"#77B227"}}),r.default.createElement("stop",{offset:"0.4669",style:{stopColor:"#75B027"}}),r.default.createElement("stop",{offset:"0.635",style:{stopColor:"#6EAB27"}}),r.default.createElement("stop",{offset:"0.7549",style:{stopColor:"#63A027"}}),r.default.createElement("stop",{offset:"0.8518",style:{stopColor:"#529228"}}),r.default.createElement("stop",{offset:"0.9339",style:{stopColor:"#3C7F28"}}),r.default.createElement("stop",{offset:"1",style:{stopColor:"#246B29"}})),r.default.createElement("path",{fill:"url(#SVGID_2_)",d:"M337,6.1l-98.6,273.8l-47.2-147.8H121L199.6,334c6.7,17.2,6.7,36.3,0,53.5 c-8.8,22.5-23.4,41.8-59,46.6v59.9c69.4,0,106.9-42.6,140.3-136.1L412.1,6.1H337z"}),r.default.createElement("path",{fill:"#FFFFFF",d:"M140.6,500h-6.1v-71.4l5.3-0.7c34.8-4.7,46.9-24.2,54.1-42.7c6.2-15.8,6.2-33.2,0-49l-81.9-210.3h83.7 l43.1,134.9L332.7,0h88.3L286.7,359.9c-17.9,50-36.4,83.4-58.1,105.3C205,488.9,177,500,140.6,500z M146.7,439.2v48.3 c29.9-1.2,53.3-11.1,73.1-31.1c20.4-20.5,38-52.6,55.3-100.9L403.2,12.3h-61.9L238.1,299l-51.3-160.8H130l75.3,193.5 c7.3,18.7,7.3,39.2,0,57.9C197.7,409.3,184.1,432.4,146.7,439.2z"})))));u.propTypes={className:o.default.string},u.defaultProps={className:""};const l=(0,i.keyframes)(["0%{transform:scale( 0.70 );opacity:0.4;}80%{opacity:1}100%{transform:scale( 0.95 );opacity:1}"]);t.default=(0,a.default)(u).withConfig({displayName:"Loader",componentId:"s6p3fr-0"})(["animation:"," 1.15s infinite;animation-direction:alternate;animation-timing-function:cubic-bezier(0.96,0.02,0.63,0.86);"],l)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(0)),o=u(n(2)),i=u(n(1)),a=n(3),s=u(n(39));function u(e){return e&&e.__esModule?e:{default:e}}const l=i.default.div.withConfig({displayName:"MultiStepProgress__MultiStepProgressContainer",componentId:"sc-116lfxz-0"})(["padding:8px;"]),c=i.default.ol.withConfig({displayName:"MultiStepProgress__MultiStepProgressList",componentId:"sc-116lfxz-1"})(["padding:0;margin:0;list-style:none;counter-reset:multi-step-progress-counter;li{counter-increment:multi-step-progress-counter;}"]),f=i.default.li.withConfig({displayName:"MultiStepProgress__MultiStepProgressListItem",componentId:"sc-116lfxz-2"})(["display:flex;align-items:baseline;margin:8px 0;:first-child{margin-top:0;}:last-child{margin-bottom:0;}span{margin:0 8px;}svg{position:relative;top:2px;}::before{content:counter( multi-step-progress-counter );font-size:12px;background:",";border-radius:50%;min-width:16px;height:16px;padding:4px;color:",";text-align:center;}"],a.colors.$color_pink_dark,a.colors.$color_white),d=(0,i.default)(f).withConfig({displayName:"MultiStepProgress__MultiStepProgressPendingStatus",componentId:"sc-116lfxz-3"})(["span{color:",";}::before{background-color:",";}"],a.colors.$palette_grey_text_light,a.colors.$palette_grey_medium_dark),p=(0,i.default)(f).withConfig({displayName:"MultiStepProgress__MultiStepProgressRunningStatus",componentId:"sc-116lfxz-4"})(["::before{background-color:",";}"],a.colors.$palette_grey_medium_dark);class h extends r.default.Component{render(){return r.default.createElement(l,{role:"status","aria-live":"polite","aria-relevant":"additions text","aria-atomic":!0},r.default.createElement(c,null,this.props.steps.map(e=>{switch(e.status){case"running":return this.renderRunningState(e);case"failed":return this.renderFailedState(e);case"finished":return this.renderFinishedState(e);case"pending":default:return this.renderPendingState(e)}})))}renderPendingState(e){return r.default.createElement(d,{key:e.id},r.default.createElement("span",null,e.text))}renderRunningState(e){return r.default.createElement(p,{key:e.id},r.default.createElement("span",null,e.text),r.default.createElement(s.default,{icon:"loading-spinner"}))}renderFinishedState(e){return r.default.createElement(f,{key:e.id},r.default.createElement("span",null,e.text),r.default.createElement(s.default,{icon:"check",color:a.colors.$color_green_medium_light}))}renderFailedState(e){return r.default.createElement(f,{key:e.id},r.default.createElement("span",null,e.text),r.default.createElement(s.default,{icon:"times",color:a.colors.$color_red}))}}h.defaultProps={steps:[]},h.propTypes={steps:o.default.arrayOf(o.default.shape({status:o.default.oneOf(["pending","running","finished","failed"]).isRequired,text:o.default.string.isRequired,id:o.default.string.isRequired}))},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(0)),o=c(n(2)),i=c(n(1)),a=n(10),s=n(3),u=c(n(264)),l=c(n(39));function c(e){return e&&e.__esModule?e:{default:e}}const f=i.default.div.withConfig({displayName:"Notification__NotificationContainer",componentId:"sc-13u3ytb-0"})(["display:flex;align-items:center;padding:24px;h1,h2,h3,h4,h5,h6{font-size:1.4em;line-height:1;margin:0 0 4px 0;@media screen and ( max-width:"," ){","}}p:last-child{margin:0;}@media screen and ( max-width:"," ){display:block;position:relative;padding:16px;}"],s.breakpoints.mobile,e=>e.isDismissable?"margin-right: 30px;":"",s.breakpoints.mobile),d=i.default.img.withConfig({displayName:"Notification__NotificationImage",componentId:"sc-13u3ytb-1"})(["flex:0 0 ",";height:",";margin-right:24px;@media screen and ( max-width:"," ){display:none;}"],e=>e.imageWidth?e.imageWidth:"auto",e=>e.imageHeight?e.imageHeight:"auto",s.breakpoints.mobile),p=i.default.div.withConfig({displayName:"Notification__NotificationContent",componentId:"sc-13u3ytb-2"})(["flex:1 1 auto;"]),h=i.default.button.withConfig({displayName:"Notification__DismissButton",componentId:"sc-13u3ytb-3"})(["flex:0 0 40px;height:40px;border:0;margin:0 0 0 10px;padding:0;background:transparent;cursor:pointer;@media screen and ( max-width:"," ){width:40px;position:absolute;top:5px;right:5px;margin:0;}"],s.breakpoints.mobile),g=(0,i.default)(l.default).withConfig({displayName:"Notification__StyledIcon",componentId:"sc-13u3ytb-4"})(["vertical-align:middle;"]);function y(e){const t=`${e.headingLevel}`;return r.default.createElement(u.default,null,r.default.createElement(f,{isDismissable:e.isDismissable},e.imageSrc&&r.default.createElement(d,{src:e.imageSrc,imageWidth:e.imageWidth,imageHeight:e.imageHeight,alt:""}),r.default.createElement(p,null,r.default.createElement(t,null,e.title),r.default.createElement("p",{className:"prova",dangerouslySetInnerHTML:{__html:e.html}})),e.isDismissable&&r.default.createElement(h,{onClick:e.onClick,type:"button","aria-label":(0,a.__)("Dismiss this notice","yoast-components")},r.default.createElement(g,{icon:"times",color:s.colors.$color_grey_text,size:"24px"}))))}y.propTypes={imageSrc:o.default.string,imageWidth:o.default.string,imageHeight:o.default.string,title:o.default.string,html:o.default.string,isDismissable:o.default.bool,onClick:o.default.func,headingLevel:o.default.string},y.defaultProps={isDismissable:!1,headingLevel:"h3"},t.default=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(2)),o=a(n(1)),i=n(3);function a(e){return e&&e.__esModule?e:{default:e}}const s=o.default.progress.withConfig({displayName:"ProgressBar",componentId:"sc-26so1b-0"})(["box-sizing:border-box;width:100%;height:8px;display:block;margin-top:8px;appearance:none;background-color:",";border:1px solid ",";::-webkit-progress-bar{background-color:",";}::-webkit-progress-value{background-color:",";transition:width 250ms;}::-moz-progress-bar{background-color:",";}::-ms-fill{background-color:",";border:0;}"],e=>e.backgroundColor,e=>e.borderColor,e=>e.backgroundColor,e=>e.progressColor,e=>e.progressColor,e=>e.progressColor);s.defaultProps={max:1,value:0,progressColor:i.colors.$color_good,backgroundColor:i.colors.$color_background_light,borderColor:i.colors.$color_input_border,"aria-hidden":"true"},s.propTypes={max:r.default.number,value:r.default.number,progressColor:r.default.string,backgroundColor:r.default.string,borderColor:r.default.string,"aria-hidden":r.default.string},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(1));function a(e){return e&&e.__esModule?e:{default:e}}const s=i.default.li.withConfig({displayName:"ScoreAssessments__ScoreAssessmentItem",componentId:"io0gsa-0"})(["display:table-row;font-size:14px;"]),u=i.default.span.withConfig({displayName:"ScoreAssessments__ScoreAssessmentPart",componentId:"io0gsa-1"})(["display:table-cell;padding:2px;"]),l=(0,i.default)(u).withConfig({displayName:"ScoreAssessments__ScoreAssessmentBullet",componentId:"io0gsa-2"})(["position:relative;top:1px;display:inline-block;height:8px;width:8px;border-radius:50%;background-color:",";"],e=>e.scoreColor);l.propTypes={scoreColor:o.default.string.isRequired};const c=(0,i.default)(u).withConfig({displayName:"ScoreAssessments__ScoreAssessmentText",componentId:"io0gsa-3"})(["padding-left:8px;width:100%;"]),f=(0,i.default)(u).withConfig({displayName:"ScoreAssessments__ScoreAssessmentScore",componentId:"io0gsa-4"})(["font-weight:600;text-align:right;padding-left:16px;"]),d=e=>r.default.createElement(s,{className:`${e.className}`},r.default.createElement(l,{className:`${e.className}-bullet`,scoreColor:e.scoreColor}),r.default.createElement(c,{className:`${e.className}-text`,dangerouslySetInnerHTML:{__html:e.html}}),e.value&&r.default.createElement(f,{className:`${e.className}-score`},e.value));d.propTypes={className:o.default.string.isRequired,scoreColor:o.default.string.isRequired,html:o.default.string.isRequired,value:o.default.number};const p=i.default.ul.withConfig({displayName:"ScoreAssessments__ScoreAssessmentList",componentId:"io0gsa-5"})(["display:table;box-sizing:border-box;list-style:none;max-width:100%;min-width:200px;margin:8px 0;padding:0 8px;"]),h=e=>r.default.createElement(p,{className:e.className,role:"list"},e.items.map((t,n)=>r.default.createElement(d,{className:`${e.className}__item`,key:n,scoreColor:t.color,html:t.html,value:t.value})));h.propTypes={className:o.default.string,items:o.default.arrayOf(o.default.shape({color:o.default.string.isRequired,html:o.default.string.isRequired,value:o.default.number}))},h.defaultProps={className:"score-assessments"},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(1));function a(e){return e&&e.__esModule?e:{default:e}}const s=i.default.div.withConfig({displayName:"StackedProgressBar__StackedProgressBarContainer",componentId:"sc-11fbrwm-0"})(["margin:8px 0;height:",";overflow:hidden;"],e=>e.barHeight),u=i.default.span.withConfig({displayName:"StackedProgressBar__StackedProgressBarProgress",componentId:"sc-11fbrwm-1"})(["display:inline-block;vertical-align:top;width:",";background-color:",";height:100%;"],e=>`${e.progressWidth}%`,e=>e.progressColor);u.propTypes={progressWidth:o.default.number.isRequired,progressColor:o.default.string.isRequired};const l=e=>{let t=0;for(let n=0;n<e.items.length;n++)e.items[n].value=Math.max(e.items[n].value,0),t+=e.items[n].value;return t<=0?null:r.default.createElement(s,{className:e.className,barHeight:e.barHeight},e.items.map((n,o)=>r.default.createElement(u,{className:`${e.className}__part`,key:o,progressColor:n.color,progressWidth:n.value/t*100})))};l.propTypes={className:o.default.string,items:o.default.arrayOf(o.default.shape({value:o.default.number.isRequired,color:o.default.string.isRequired})),barHeight:o.default.string},l.defaultProps={className:"stacked-progress-bar",barHeight:"24px"},t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=f(n(0)),i=f(n(2)),a=f(n(1)),s=n(539),u=n(266),l=n(540),c=n(7);function f(e){return e&&e.__esModule?e:{default:e}}const d=a.default.span.withConfig({displayName:"SynonymsInput__SynonymsFieldLabelContainer",componentId:"yfp2mx-0"})(["margin-bottom:0.5em;"]),p=(0,a.default)(l.InputLabel).withConfig({displayName:"SynonymsInput__StyledYoastInputLabel",componentId:"yfp2mx-1"})(["display:inline-block;margin-bottom:0;",";"],(0,c.getDirectionalStyle)("margin-right: 4px","margin-left: 4px")),h=e=>{const t=e.label,n=e.helpLink,i=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["label","helpLink"]);return o.default.createElement(s.InputContainer,null,o.default.createElement(d,null,o.default.createElement(p,{htmlFor:i.id},t),n),o.default.createElement(u.InputField,r({},i,{autoComplete:"off"})))};h.propTypes={type:i.default.string,id:i.default.string.isRequired,label:i.default.string,helpLink:i.default.node},h.defaultProps={type:"text",label:"",helpLink:null},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputContainer=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.InputContainer=r.default.div.withConfig({displayName:"InputContainer",componentId:"fmvk3g-0"})(["display:flex;flex-direction:column;margin:1em 0;"])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputLabel=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.InputLabel=r.default.label.withConfig({displayName:"InputLabel",componentId:"sc-16a9tjj-0"})(["font-size:1em;font-weight:bold;margin-bottom:0.5em;display:block;"])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(0)),o=u(n(2)),i=u(n(263)),a=u(n(259)),s=u(n(267));function u(e){return e&&e.__esModule?e:{default:e}}class l extends r.default.Component{constructor(e){super(e),this.optionalAttributes=this.parseOptionalAttributes()}render(){return this.optionalAttributes=this.parseOptionalAttributes(),this.props.class&&(this.optionalAttributes.container.className=this.props.class),r.default.createElement("div",this.optionalAttributes.container,r.default.createElement(i.default,{for:this.props.name,optionalAttributes:this.optionalAttributes.label},this.props.label),this.getTextField())}getTextField(){return!0===this.props.multiline?r.default.createElement("div",null,r.default.createElement(s.default,{name:this.props.name,id:this.props.name,onChange:this.props.onChange,optionalAttributes:this.optionalAttributes.field,hasFocus:this.props.hasFocus,value:this.props.value}),this.props.explanation&&r.default.createElement("p",null,this.props.explanation)):r.default.createElement("div",null,r.default.createElement(a.default,{name:this.props.name,id:this.props.name,type:"text",onChange:this.props.onChange,value:this.props.value,hasFocus:this.props.hasFocus,autoComplete:this.props.autoComplete,optionalAttributes:this.optionalAttributes.field}),this.props.explanation&&r.default.createElement("p",null,this.props.explanation))}parseOptionalAttributes(){const e={},t={},n={id:this.props.name};return Object.keys(this.props).forEach(function(r){r.startsWith("label-")&&(t[r.split("-").pop()]=this.props[r]),r.startsWith("field-")&&(n[r.split("-").pop()]=this.props[r]),r.startsWith("container-")&&(e[r.split("-").pop()]=this.props[r])}.bind(this)),{label:t,field:n,container:e}}}l.propTypes={label:o.default.string.isRequired,name:o.default.string.isRequired,onChange:o.default.func.isRequired,value:o.default.string,optionalAttributes:o.default.object,multiline:o.default.bool,hasFocus:o.default.bool,class:o.default.string,explanation:o.default.string,autoComplete:o.default.string},l.defaultProps={optionalAttributes:{},multiline:!1,hasFocus:!1},t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=l(n(2)),o=l(n(0)),i=l(n(1)),a=n(10),s=n(7),u=n(3);function l(e){return e&&e.__esModule?e:{default:e}}const c=i.default.div.withConfig({displayName:"Toggle__ToggleDiv",componentId:"sc-1o41823-0"})(["display:flex;width:100%;justify-content:space-between;align-items:center;"]),f=i.default.span.withConfig({displayName:"Toggle__ToggleLabel",componentId:"sc-1o41823-1"})(["",":16px;flex:1;cursor:pointer;"],(0,s.getDirectionalStyle)("margin-right","margin-left")),d=i.default.div.withConfig({displayName:"Toggle__ToggleBar",componentId:"sc-1o41823-2"})(["background-color:",";border-radius:7px;height:14px;width:30px;cursor:pointer;margin:0;outline:0;&:focus > span{box-shadow:inset 0 0 0 1px ",",0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);}"],e=>e.isEnabled?"#a5d6a7":u.colors.$color_button_border,u.colors.$color_white),p=i.default.span.withConfig({displayName:"Toggle__ToggleBullet",componentId:"sc-1o41823-3"})(["background-color:",";",";box-shadow:0 2px 2px 2px rgba(0,0,0,0.1);border-radius:100%;height:20px;width:20px;position:absolute;margin-top:-3px;"],e=>e.isEnabled?u.colors.$color_green_medium_light:u.colors.$color_grey_medium_dark,e=>e.isEnabled?(0,s.getDirectionalStyle)("margin-left: 12px;","margin-right: 12px;"):(0,s.getDirectionalStyle)("margin-left: -2px;","margin-right: -2px;")),h=i.default.span.withConfig({displayName:"Toggle__ToggleVisualLabel",componentId:"sc-1o41823-4"})(["font-size:14px;line-height:20px;",":8px;font-style:italic;"],(0,s.getDirectionalStyle)("margin-left","margin-right"));class g extends o.default.Component{constructor(e){super(e),this.onClick=this.props.onToggleDisabled,this.onKeyUp=this.props.onToggleDisabled,this.setToggleState=this.setToggleState.bind(this),this.handleOnKeyDown=this.handleOnKeyDown.bind(this),!0!==e.disable&&(this.onClick=this.setToggleState.bind(this),this.onKeyUp=this.setToggleState.bind(this))}setToggleState(e){"keyup"===e.type&&32!==e.keyCode||this.props.onSetToggleState(!this.props.isEnabled)}handleOnKeyDown(e){32===e.keyCode&&e.preventDefault()}render(){return o.default.createElement(c,null,o.default.createElement(f,{id:this.props.id,onClick:this.onClick},this.props.labelText),o.default.createElement(d,{isEnabled:this.props.isEnabled,onKeyDown:this.handleOnKeyDown,onClick:this.onClick,onKeyUp:this.onKeyUp,tabIndex:"0",role:"checkbox","aria-labelledby":this.props.id,"aria-checked":this.props.isEnabled,"aria-disabled":this.props.disable},o.default.createElement(p,{isEnabled:this.props.isEnabled})),o.default.createElement(h,{"aria-hidden":"true"},this.props.isEnabled?(0,a.__)("On","yoast-components"):(0,a.__)("Off","yoast-components")))}}g.propTypes={isEnabled:r.default.bool,onSetToggleState:r.default.func,disable:r.default.bool,onToggleDisabled:r.default.func,id:r.default.string.isRequired,labelText:r.default.string.isRequired},g.defaultProps={isEnabled:!1,onSetToggleState:()=>{},labelText:"",disable:!1,onToggleDisabled:()=>{}},t.default=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UpsellButton=t.UpsellButtonBase=void 0,t.addButtonStyles=p;var r=l(n(0)),o=l(n(2)),i=l(n(1)),a=n(3),s=l(n(39)),u=n(153);function l(e){return e&&e.__esModule?e:{default:e}}const c={minHeight:48,verticalPadding:8,borderWidth:0},f=c.minHeight-2*c.verticalPadding-2*c.borderWidth,d=(0,i.default)(s.default).withConfig({displayName:"UpsellButton__IconComponent",componentId:"eukx08-0"})(["margin:2px 4px 0 4px;flex-shrink:0;"]);function p(e){return(0,i.default)(e).withConfig({displayName:"UpsellButton",componentId:"eukx08-1"})(["display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:",";margin:0;overflow:auto;min-width:152px;padding:0 16px;padding:"," 8px ",' 16px;border:0;border-radius:4px;box-sizing:border-box;font:400 16px/24px "Open Sans",sans-serif;box-shadow:inset 0 -4px 0 rgba(0,0,0,0.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));transition:box-shadow 150ms ease-out;&:hover,&:focus,&:active{background:',';}&:active{transform:translateY( 1px );box-shadow:none;filter:none;}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){::after{display:inline-block;content:"";min-height:',";}}"],`${c.minHeight}px`,`${c.verticalPadding}px`,`${c.verticalPadding}px`,a.colors.$color_button_upsell_hover,`${f}px`)}const h=t.UpsellButtonBase=p((0,i.default)(u.YoastButtonBase).withConfig({displayName:"UpsellButton__UpsellButtonBase",componentId:"eukx08-2"})(["color:",";background:",";overflow:visible;cursor:pointer;&::-moz-focus-inner{border-width:0;}span{display:inherit;align-items:inherit;justify-content:inherit;width:100%;}"],e=>e.textColor,e=>e.backgroundColor));h.propTypes={backgroundColor:o.default.string,hoverColor:o.default.string,textColor:o.default.string},h.defaultProps={backgroundColor:a.colors.$color_button_upsell,hoverColor:a.colors.$color_button_hover_upsell,textColor:a.colors.$color_black},(t.UpsellButton=(e=>{const t=e.children;return r.default.createElement(h,e,t,r.default.createElement(d,{icon:"caret-right",color:a.colors.$color_black,size:"16px"}))})).propTypes={backgroundColor:o.default.string,hoverColor:o.default.string,textColor:o.default.string,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UpsellLinkButton=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1)),o=n(3);t.UpsellLinkButton=r.default.a.withConfig({displayName:"UpsellLinkButton",componentId:"sc-1velt6w-0"})(["align-items:center;justify-content:center;vertical-align:middle;color:",";white-space:nowrap;display:inline-flex;border-radius:4px;background-color:",";padding:4px 8px 8px;box-shadow:inset 0 -4px 0 rgba(0,0,0,0.2);border:none;text-decoration:none;font-size:inherit;&:hover,&:focus,&:active{color:",";background:",";}&:active{background-color:",";transform:translateY( 1px );box-shadow:none;filter:none;}"],o.colors.$color_black,o.colors.$color_button_upsell,o.colors.$color_black,o.colors.$color_button_upsell_hover,o.colors.$color_button_hover_upsell)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YoastLinkButton=void 0;var r=s(n(2)),o=s(n(1)),i=n(3),a=n(153);function s(e){return e&&e.__esModule?e:{default:e}}const u=t.YoastLinkButton=(0,a.addButtonStyles)(o.default.a.withConfig({displayName:"YoastLinkButton",componentId:"sc-58aowg-0"})(["text-decoration:none;color:",";background:",";min-width:152px;",";"],e=>e.textColor,e=>e.backgroundColor,e=>e.withTextShadow?`text-shadow: 0 0 2px ${i.colors.$color_black}`:""));u.propTypes={backgroundColor:r.default.string,textColor:r.default.string,withTextShadow:r.default.bool},u.defaultProps={backgroundColor:i.colors.$color_green_medium_light,textColor:i.colors.$color_white,withTextShadow:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(e){return e&&e.__esModule?e:{default:e}}(n(0));t.default=(e=>o.default.createElement("svg",r({},e,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 520 240"}),o.default.createElement("linearGradient",{id:"a",gradientUnits:"userSpaceOnUse",x1:"476.05",y1:"194.48",x2:"476.05",y2:"36.513"},o.default.createElement("stop",{offset:"0",style:{stopColor:"#570732"}}),o.default.createElement("stop",{offset:".038",style:{stopColor:"#610b39"}}),o.default.createElement("stop",{offset:".155",style:{stopColor:"#79164b"}}),o.default.createElement("stop",{offset:".287",style:{stopColor:"#8c1e59"}}),o.default.createElement("stop",{offset:".44",style:{stopColor:"#9a2463"}}),o.default.createElement("stop",{offset:".633",style:{stopColor:"#a22768"}}),o.default.createElement("stop",{offset:"1",style:{stopColor:"#a4286a"}})),o.default.createElement("path",{fill:"url(#a)",d:"M488.7 146.1v-56h20V65.9h-20V36.5h-30.9v29.3h-15.7v24.3h15.7v52.8c0 30 20.9 47.8 43 51.5l9.2-24.8c-12.9-1.6-21.2-11.2-21.3-23.5z"}),o.default.createElement("linearGradient",{id:"b",gradientUnits:"userSpaceOnUse",x1:"287.149",y1:"172.553",x2:"287.149",y2:"61.835"},o.default.createElement("stop",{offset:"0",style:{stopColor:"#570732"}}),o.default.createElement("stop",{offset:".038",style:{stopColor:"#610b39"}}),o.default.createElement("stop",{offset:".155",style:{stopColor:"#79164b"}}),o.default.createElement("stop",{offset:".287",style:{stopColor:"#8c1e59"}}),o.default.createElement("stop",{offset:".44",style:{stopColor:"#9a2463"}}),o.default.createElement("stop",{offset:".633",style:{stopColor:"#a22768"}}),o.default.createElement("stop",{offset:"1",style:{stopColor:"#a4286a"}})),o.default.createElement("path",{fill:"url(#b)",d:"M332.8 137.3V95.2c0-1.5-.1-3-.2-4.4-2.7-34-51-33.9-88.3-20.9L255 91.7c24.3-11.6 38.9-8.6 44-2.9l.4.4v.1c2.6 3.5 2 9 2 13.4-31.8 0-65.7 4.2-65.7 39.1 0 26.5 33.2 43.6 68 18.3l5.2 12.4h29.8c-2.8-14.5-5.9-27-5.9-35.2zm-31.2-.3c-24.5 27.4-46.9 1.6-23.9-9.6 6.8-2.3 15.9-2.4 23.9-2.4v12z"}),o.default.createElement("linearGradient",{id:"c",gradientUnits:"userSpaceOnUse",x1:"390.54",y1:"172.989",x2:"390.54",y2:"61.266"},o.default.createElement("stop",{offset:"0",style:{stopColor:"#570732"}}),o.default.createElement("stop",{offset:".038",style:{stopColor:"#610b39"}}),o.default.createElement("stop",{offset:".155",style:{stopColor:"#79164b"}}),o.default.createElement("stop",{offset:".287",style:{stopColor:"#8c1e59"}}),o.default.createElement("stop",{offset:".44",style:{stopColor:"#9a2463"}}),o.default.createElement("stop",{offset:".633",style:{stopColor:"#a22768"}}),o.default.createElement("stop",{offset:"1",style:{stopColor:"#a4286a"}})),o.default.createElement("path",{fill:"url(#c)",d:"M380.3 92.9c0-10.4 16.6-15.2 42.8-3.3l9.1-22C397 57 348.9 56 348.6 92.8c-.1 17.7 11.2 27.2 27.5 33.2 11.3 4.2 27.6 6.4 27.6 15.4-.1 11.8-25.3 13.6-48.4-2.3l-9.3 23.8c31.4 15.6 89.7 16.1 89.4-23.1-.4-38.5-55.1-31.9-55.1-46.9z"}),o.default.createElement("linearGradient",{id:"d",gradientUnits:"userSpaceOnUse",x1:"76.149",y1:"3.197",x2:"76.149",y2:"178.39"},o.default.createElement("stop",{offset:"0",style:{stopColor:"#77b227"}}),o.default.createElement("stop",{offset:".467",style:{stopColor:"#75b027"}}),o.default.createElement("stop",{offset:".635",style:{stopColor:"#6eab27"}}),o.default.createElement("stop",{offset:".755",style:{stopColor:"#63a027"}}),o.default.createElement("stop",{offset:".852",style:{stopColor:"#529228"}}),o.default.createElement("stop",{offset:".934",style:{stopColor:"#3c7f28"}}),o.default.createElement("stop",{offset:"1",style:{stopColor:"#246b29"}})),o.default.createElement("path",{fill:"url(#d)",d:"M108.2 9.2L63.4 133.6 41.9 66.4H10l35.7 91.8c3 7.8 3 16.5 0 24.3-4 10.2-10.6 19-26.8 21.2v27.2c31.5 0 48.6-19.4 63.8-61.9L142.3 9.2h-34.1z"}),o.default.createElement("linearGradient",{id:"e",gradientUnits:"userSpaceOnUse",x1:"175.228",y1:"172.923",x2:"175.228",y2:"62.17"},o.default.createElement("stop",{offset:"0",style:{stopColor:"#570732"}}),o.default.createElement("stop",{offset:".038",style:{stopColor:"#610b39"}}),o.default.createElement("stop",{offset:".155",style:{stopColor:"#79164b"}}),o.default.createElement("stop",{offset:".287",style:{stopColor:"#8c1e59"}}),o.default.createElement("stop",{offset:".44",style:{stopColor:"#9a2463"}}),o.default.createElement("stop",{offset:".633",style:{stopColor:"#a22768"}}),o.default.createElement("stop",{offset:"1",style:{stopColor:"#a4286a"}})),o.default.createElement("path",{fill:"url(#e)",d:"M175.2 62.2c-38.6 0-54 27.3-54 56.2 0 30 15.1 54.6 54 54.6 38.7 0 54.1-27.6 54-54.6-.1-33-16.8-56.2-54-56.2zm0 87.1c-15.7 0-23.4-11.7-23.4-30.9s8.3-32.9 23.4-32.9c15 0 23.2 13.7 23.2 32.9s-7.5 30.9-23.2 30.9z"})))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=l(n(0)),o=l(n(2)),i=l(n(548)),a=l(n(1)),s=n(3),u=l(n(39));function l(e){return e&&e.__esModule?e:{default:e}}const c=a.default.h1.withConfig({displayName:"Modal__StyledHeading",componentId:"sc-1ozx3rc-0"})(["float:left;margin:-4px 0 2rem;font-size:1rem;"]),f=a.default.button.withConfig({displayName:"Modal__StyledCloseIconButton",componentId:"sc-1ozx3rc-1"})(["float:right;width:44px;height:44px;background:transparent;border:0;margin:-16px -16px 0 0;padding:0;cursor:pointer;"]);class d extends r.default.Component{constructor(e){super(e)}render(){return r.default.createElement(i.default,{isOpen:this.props.isOpen,onRequestClose:this.props.onClose,role:"dialog",contentLabel:this.props.modalAriaLabel,overlayClassName:`yoast-modal__overlay ${this.props.className}`,className:`yoast-modal__content ${this.props.className}`,appElement:this.props.appElement,bodyOpenClassName:"yoast-modal_is-open"},this.props.heading&&r.default.createElement(c,{className:"yoast-modal__title"},this.props.heading),this.props.closeIconButton&&r.default.createElement(f,{type:"button",onClick:this.props.onClose,className:`yoast-modal__button-close-icon ${this.props.closeIconButtonClassName}`,"aria-label":this.props.closeIconButton},r.default.createElement(u.default,{icon:"times",color:s.colors.$color_grey_text})),r.default.createElement("div",{className:"yoast-modal__inside"},this.props.children),this.props.closeButton&&r.default.createElement("div",{className:"yoast-modal__actions"},r.default.createElement("button",{type:"button",onClick:this.props.onClose,className:`yoast-modal__button-close ${this.props.closeButtonClassName}`},this.props.closeButton)))}}d.propTypes={children:o.default.any,className:o.default.string,isOpen:o.default.bool,onClose:o.default.func.isRequired,modalAriaLabel:o.default.string.isRequired,appElement:o.default.object.isRequired,heading:o.default.string,closeIconButton:o.default.string,closeIconButtonClassName:o.default.string,closeButton:o.default.string,closeButtonClassName:o.default.string},d.defaultProps={children:null,className:"",heading:"",closeIconButton:"",closeIconButtonClassName:"",closeButton:"",closeButtonClassName:"",isOpen:!1};const p=(0,a.default)(d).withConfig({displayName:"Modal",componentId:"sc-1ozx3rc-2"})(["&.yoast-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.6);transition:background 100ms ease-out;z-index:999999;}&.yoast-modal__content{position:absolute;top:50%;left:50%;right:auto;bottom:auto;width:auto;max-width:90%;max-height:90%;border:0;border-radius:0;margin-right:-50%;padding:24px;transform:translate(-50%,-50%);background-color:#fff;outline:none;@media screen and ( max-width:500px ){overflow-y:auto;}@media screen and ( max-height:640px ){overflow-y:auto;}}.yoast-modal__inside{clear:both;}.yoast-modal__actions{text-align:right;}.yoast-modal__actions button{margin:24px 0 0 8px;}"]);t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(549));t.default=r.default,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),a=h(i),s=h(n(23)),u=h(n(9)),l=h(n(554)),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(269)),f=n(154),d=h(f),p=n(155);function h(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var y=t.portalClassName="ReactModalPortal",m=t.bodyOpenClassName="ReactModal__Body--open",v=void 0!==s.default.createPortal,b=function(){return v?s.default.createPortal:s.default.unstable_renderSubtreeIntoContainer};function _(e){return e()}var x=function(e){function t(){var e,n,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,u=Array(i),c=0;c<i;c++)u[c]=arguments[c];return n=o=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),o.removePortal=function(){!v&&s.default.unmountComponentAtNode(o.node),_(o.props.parentSelector).removeChild(o.node)},o.portalRef=function(e){o.portal=e},o.renderPortal=function(e){var n=b()(o,a.default.createElement(l.default,r({defaultStyles:t.defaultStyles},e)),o.node);o.portalRef(n)},g(o,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.Component),o(t,[{key:"componentDidMount",value:function(){f.canUseDOM&&(v||(this.node=document.createElement("div")),this.node.className=this.props.portalClassName,_(this.props.parentSelector).appendChild(this.node),!v&&this.renderPortal(this.props))}},{key:"getSnapshotBeforeUpdate",value:function(e){return{prevParent:_(e.parentSelector),nextParent:_(this.props.parentSelector)}}},{key:"componentDidUpdate",value:function(e,t,n){if(f.canUseDOM){var r=this.props,o=r.isOpen,i=r.portalClassName;e.portalClassName!==i&&(this.node.className=i);var a=n.prevParent,s=n.nextParent;s!==a&&(a.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||o)&&!v&&this.renderPortal(this.props)}}},{key:"componentWillUnmount",value:function(){if(f.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:"render",value:function(){return f.canUseDOM&&v?(!this.node&&v&&(this.node=document.createElement("div")),b()(a.default.createElement(l.default,r({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){c.setElement(e)}}]),t}();x.propTypes={isOpen:u.default.bool.isRequired,style:u.default.shape({content:u.default.object,overlay:u.default.object}),portalClassName:u.default.string,bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,className:u.default.oneOfType([u.default.string,u.default.shape({base:u.default.string.isRequired,afterOpen:u.default.string.isRequired,beforeClose:u.default.string.isRequired})]),overlayClassName:u.default.oneOfType([u.default.string,u.default.shape({base:u.default.string.isRequired,afterOpen:u.default.string.isRequired,beforeClose:u.default.string.isRequired})]),appElement:u.default.instanceOf(d.default),onAfterOpen:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,ariaHideApp:u.default.bool,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,parentSelector:u.default.func,aria:u.default.object,data:u.default.object,role:u.default.string,contentLabel:u.default.string,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func},x.defaultProps={isOpen:!1,portalClassName:y,bodyOpenClassName:m,role:"dialog",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,parentSelector:function(){return document.body}},x.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},(0,p.polyfill)(x),t.default=x},function(e,t,n){"use strict";var r=n(551),o=n(552),i=n(553);e.exports=function(){function e(e,t,n,r,a,s){s!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,a,s,u],f=0;(l=new Error(t.replace(/%s/g,function(){return c[f++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),s=g(a),u=g(n(9)),l=h(n(555)),c=g(n(556)),f=h(n(269)),d=h(n(558)),p=g(n(154));function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function g(e){return e&&e.__esModule?e:{default:e}}var y={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},m=9,v=27,b=0,_=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,r=e.ariaHideApp,o=e.htmlOpenClassName,i=e.bodyOpenClassName;i&&d.remove(document.body,i),o&&d.remove(document.getElementsByTagName("html")[0],o),r&&b>0&&0===(b-=1)&&f.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(l.returnFocus(),l.teardownScopedFocus()):l.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose()},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(l.setupScopedFocus(n.node),l.markForFocusLater()),n.setState({isOpen:!0},function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen()}))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())})},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){e.keyCode===m&&(0,c.default)(n.content,e),n.props.shouldCloseOnEsc&&e.keyCode===v&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r="object"===(void 0===t?"undefined":o(t))?t:{base:y[e],afterOpen:y[e]+"--after-open",beforeClose:y[e]+"--before-close"},i=r.base;return n.state.afterOpen&&(i=i+" "+r.afterOpen),n.state.beforeClose&&(i=i+" "+r.beforeClose),"string"==typeof t&&t?i+" "+t:i},n.attributesFromObject=function(e,t){return Object.keys(t).reduce(function(n,r){return n[e+"-"+r]=t[r],n},{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,a.Component),i(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&d.add(document.body,o),r&&d.add(document.getElementsByTagName("html")[0],r),n&&(b+=1,f.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,o=e.defaultStyles,i=t?{}:o.content,a=n?{}:o.overlay;return this.shouldBeClosed()?null:s.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:r({},a,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},s.default.createElement("div",r({ref:this.setContentRef,style:r({},i,this.props.style.content),className:this.buildClassName("content",t),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),t}();_.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},_.propTypes={isOpen:u.default.bool.isRequired,defaultStyles:u.default.shape({content:u.default.object,overlay:u.default.object}),style:u.default.shape({content:u.default.object,overlay:u.default.object}),className:u.default.oneOfType([u.default.string,u.default.object]),overlayClassName:u.default.oneOfType([u.default.string,u.default.object]),bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,ariaHideApp:u.default.bool,appElement:u.default.instanceOf(p.default),onAfterOpen:u.default.func,onAfterClose:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,role:u.default.string,contentLabel:u.default.string,aria:u.default.object,data:u.default.object,children:u.default.node,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func,testId:u.default.string},t.default=_,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBlur=s,t.handleFocus=u,t.markForFocusLater=function(){o.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==o.length&&(e=o.pop()).focus())}catch(t){console.warn(["You tried to return focus to",e,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){o.length>0&&o.pop()},t.setupScopedFocus=function(e){i=e,window.addEventListener?(window.addEventListener("blur",s,!1),document.addEventListener("focus",u,!0)):(window.attachEvent("onBlur",s),document.attachEvent("onFocus",u))},t.teardownScopedFocus=function(){i=null,window.addEventListener?(window.removeEventListener("blur",s),document.removeEventListener("focus",u)):(window.detachEvent("onBlur",s),document.detachEvent("onFocus",u))};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(268));var o=[],i=null,a=!1;function s(){a=!0}function u(){if(a){if(a=!1,!i)return;setTimeout(function(){i.contains(document.activeElement)||((0,r.default)(i)[0]||i).focus()},0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,r.default)(e);if(!n.length)return void t.preventDefault();var o,i=t.shiftKey,a=n[0],s=n[n.length-1];if(e===document.activeElement){if(!i)return;o=s}s!==document.activeElement||i||(o=a);a===document.activeElement&&i&&(o=s);if(o)return t.preventDefault(),void o.focus();var u=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==u||"Chrome"==u[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var l=n.indexOf(document.activeElement);l>-1&&(l+=i?-1:1);if(void 0===n[l])return t.preventDefault(),void(o=i?s:a).focus();t.preventDefault(),n[l].focus()};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(268));e.exports=t.default},function(e,t,n){var r;
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=387)}([function(e,t){e.exports=React},function(e,t){e.exports=window.yoast.styledComponents},function(e,t,n){e.exports=n(445)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgba=t.breakpoints=t.colors=void 0;var r=a(n(388)),o=a(n(389)),i=n(390);function a(e){return e&&e.__esModule?e:{default:e}}t.colors=r.default,t.breakpoints=o.default,t.rgba=i.rgba},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:H(e)}function r(e){return s(e)?e:V(e)}function o(e){return u(e)?e:G(e)}function i(e){return a(e)&&!l(e)?e:Y(e)}function a(e){return!(!e||!e[f])}function s(e){return!(!e||!e[d])}function u(e){return!(!e||!e[p])}function l(e){return s(e)||u(e)}function c(e){return!(!e||!e[h])}t(r,n),t(o,n),t(i,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=l,n.isOrdered=c,n.Keyed=r,n.Indexed=o,n.Set=i;var f="@@__IMMUTABLE_ITERABLE__@@",d="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",h="@@__IMMUTABLE_ORDERED__@@",g=5,y=1<<g,m=y-1,v={},b={value:!1},_={value:!1};function x(e){return e.value=!1,e}function w(e){e&&(e.value=!0)}function S(){}function C(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),o=0;o<n;o++)r[o]=e[o+t];return r}function k(e){return void 0===e.size&&(e.size=e.__iterate(E)),e.size}function O(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?k(e)+t:t}function E(){return!0}function T(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function M(e,t){return j(e,t,0)}function P(e,t){return j(e,t,t)}function j(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var A=0,I=1,R=2,D="function"==typeof Symbol&&Symbol.iterator,N="@@iterator",B=D||N;function L(e){this.next=e}function F(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function z(){return{value:void 0,done:!0}}function q(e){return!!U(e)}function K(e){return e&&"function"==typeof e.next}function W(e){var t=U(e);return t&&t.call(e)}function U(e){var t=e&&(D&&e[D]||e[N]);if("function"==typeof t)return t}function $(e){return e&&"number"==typeof e.length}function H(e){return null===e||void 0===e?ie():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function V(e){return null===e||void 0===e?ie().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function G(e){return null===e||void 0===e?ie():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function Y(e){return(null===e||void 0===e?ie():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}L.prototype.toString=function(){return"[Iterator]"},L.KEYS=A,L.VALUES=I,L.ENTRIES=R,L.prototype.inspect=L.prototype.toSource=function(){return this.toString()},L.prototype[B]=function(){return this},t(H,n),H.of=function(){return H(arguments)},H.prototype.toSeq=function(){return this},H.prototype.toString=function(){return this.__toString("Seq {","}")},H.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},H.prototype.__iterate=function(e,t){return le(this,e,t,!0)},H.prototype.__iterator=function(e,t){return ce(this,e,t,!0)},t(V,H),V.prototype.toKeyedSeq=function(){return this},t(G,H),G.of=function(){return G(arguments)},G.prototype.toIndexedSeq=function(){return this},G.prototype.toString=function(){return this.__toString("Seq [","]")},G.prototype.__iterate=function(e,t){return le(this,e,t,!1)},G.prototype.__iterator=function(e,t){return ce(this,e,t,!1)},t(Y,H),Y.of=function(){return Y(arguments)},Y.prototype.toSetSeq=function(){return this},H.isSeq=oe,H.Keyed=V,H.Set=Y,H.Indexed=G;var X,J,Z,Q="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function oe(e){return!(!e||!e[Q])}function ie(){return X||(X=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():K(e)?new re(e).fromEntrySeq():q(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return $(e)?new ee(e):K(e)?new re(e):q(e)?new ne(e):void 0}function le(e,t,n,r){var o=e._cache;if(o){for(var i=o.length-1,a=0;a<=i;a++){var s=o[n?i-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function ce(e,t,n,r){var o=e._cache;if(o){var i=o.length-1,a=0;return new L(function(){var e=o[n?i-a:a];return a++>i?{value:void 0,done:!0}:F(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function fe(e,t){return t?function e(t,n,r,o){return Array.isArray(n)?t.call(o,r,G(n).map(function(r,o){return e(t,r,o,n)})):pe(n)?t.call(o,r,V(n).map(function(r,o){return e(t,r,o,n)})):n}(t,e,"",{"":e}):de(e)}function de(e){return Array.isArray(e)?G(e).map(de).toList():pe(e)?V(e).map(de).toMap():e}function pe(e){return e&&(e.constructor===Object||void 0===e.constructor)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function ge(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||c(e)!==c(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!l(e);if(c(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&he(o[1],e)&&(n||he(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var i=e;e=t,t=i}var f=!0,d=t.__iterate(function(t,r){if(n?!e.has(t):o?!he(t,e.get(r,v)):!he(e.get(r,v),t))return f=!1,!1});return f&&e.size===d}function ye(e,t){if(!(this instanceof ye))return new ye(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(J)return J;J=this}}function me(e,t){if(!e)throw new Error(t)}function ve(e,t,n){if(!(this instanceof ve))return new ve(e,t,n);if(me(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if(Z)return Z;Z=this}}function be(){throw TypeError("Abstract")}function _e(){}function xe(){}function we(){}H.prototype[Q]=!0,t(ee,G),ee.prototype.get=function(e,t){return this.has(e)?this._array[O(this,e)]:t},ee.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,o=0;o<=r;o++)if(!1===e(n[t?r-o:o],o,this))return o+1;return o},ee.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,o=0;return new L(function(){return o>r?{value:void 0,done:!0}:F(e,o,n[t?r-o++:o++])})},t(te,V),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,i=0;i<=o;i++){var a=r[t?o-i:i];if(!1===e(n[a],a,this))return i+1}return i},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,i=0;return new L(function(){var a=r[t?o-i:i];return i++>o?{value:void 0,done:!0}:F(e,a,n[a])})},te.prototype[h]=!0,t(ne,G),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=W(n),o=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,o++,this););return o},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=W(n);if(!K(r))return new L(z);var o=0;return new L(function(){var t=r.next();return t.done?t:F(e,o++,t.value)})},t(re,G),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,o=this._iteratorCache,i=0;i<o.length;)if(!1===e(o[i],i++,this))return i;for(;!(n=r.next()).done;){var a=n.value;if(o[i]=a,!1===e(a,i++,this))break}return i},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,o=0;return new L(function(){if(o>=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return F(e,o,r[o++])})},t(ye,G),ye.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ye.prototype.get=function(e,t){return this.has(e)?this._value:t},ye.prototype.includes=function(e){return he(this._value,e)},ye.prototype.slice=function(e,t){var n=this.size;return T(e,t,n)?this:new ye(this._value,P(t,n)-M(e,n))},ye.prototype.reverse=function(){return this},ye.prototype.indexOf=function(e){return he(this._value,e)?0:-1},ye.prototype.lastIndexOf=function(e){return he(this._value,e)?this.size:-1},ye.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ye.prototype.__iterator=function(e,t){var n=this,r=0;return new L(function(){return r<n.size?F(e,r++,n._value):{value:void 0,done:!0}})},ye.prototype.equals=function(e){return e instanceof ye?he(this._value,e._value):ge(e)},t(ve,G),ve.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(this._step>1?" by "+this._step:"")+" ]"},ve.prototype.get=function(e,t){return this.has(e)?this._start+O(this,e)*this._step:t},ve.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},ve.prototype.slice=function(e,t){return T(e,t,this.size)?this:(e=M(e,this.size),(t=P(t,this.size))<=e?new ve(0,0):new ve(this.get(e,this._end),this.get(t,this._end),this._step))},ve.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},ve.prototype.lastIndexOf=function(e){return this.indexOf(e)},ve.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;i<=n;i++){if(!1===e(o,i,this))return i+1;o+=t?-r:r}return i},ve.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,o=t?this._start+n*r:this._start,i=0;return new L(function(){var a=o;return o+=t?-r:r,i>n?{value:void 0,done:!0}:F(e,i++,a)})},ve.prototype.equals=function(e){return e instanceof ve?this._start===e._start&&this._end===e._end&&this._step===e._step:ge(this,e)},t(be,n),t(_e,be),t(xe,be),t(we,be),be.Keyed=_e,be.Indexed=xe,be.Set=we;var Se="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function Ce(e){return e>>>1&1073741824|3221225471&e}function ke(e){if(!1===e||null===e||void 0===e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return Ce(n)}if("string"===t)return e.length>Ie?function(e){var t=Ne[e];return void 0===t&&(t=Oe(e),De===Re&&(De=0,Ne={}),De++,Ne[e]=t),t}(e):Oe(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(Pe&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!Me){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++je,1073741824&je&&(je=0),Pe)Ee.set(e,t);else{if(void 0!==Te&&!1===Te(e))throw new Error("Non-extensible objects are not allowed as keys.");if(Me)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(e);if("function"==typeof e.toString)return Oe(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function Oe(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Ce(t)}var Ee,Te=Object.isExtensible,Me=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),Pe="function"==typeof WeakMap;Pe&&(Ee=new WeakMap);var je=0,Ae="__immutablehash__";"function"==typeof Symbol&&(Ae=Symbol(Ae));var Ie=16,Re=255,De=0,Ne={};function Be(e){me(e!==1/0,"Cannot perform this action with an infinite size.")}function Le(e){return null===e||void 0===e?Ze():Fe(e)&&!c(e)?e:Ze().withMutations(function(t){var n=r(e);Be(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Fe(e){return!(!e||!e[qe])}t(Le,_e),Le.prototype.toString=function(){return this.__toString("Map {","}")},Le.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Le.prototype.set=function(e,t){return Qe(this,e,t)},Le.prototype.setIn=function(e,t){return this.updateIn(e,v,function(){return t})},Le.prototype.remove=function(e){return Qe(this,e,v)},Le.prototype.deleteIn=function(e){return this.updateIn(e,function(){return v})},Le.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Le.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,o){var i=t===v,a=n.next();if(a.done){var s=i?r:t,u=o(s);return u===s?t:u}me(i||t&&t.set,"invalid keyPath");var l=a.value,c=i?v:t.get(l,v),f=e(c,n,r,o);return f===c?t:f===v?t.remove(l):(i?Ze():t).set(l,f)}(this,nn(e),t,n);return r===v?void 0:r},Le.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Ze()},Le.prototype.merge=function(){return rt(this,void 0,arguments)},Le.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Le.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Ze(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Le.prototype.mergeDeep=function(){return rt(this,ot,arguments)},Le.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,it(t),n)},Le.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Ze(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Le.prototype.sort=function(e){return Mt($t(this,e))},Le.prototype.sortBy=function(e,t){return Mt($t(this,t,e))},Le.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Le.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new S)},Le.prototype.asImmutable=function(){return this.__ensureOwner()},Le.prototype.wasAltered=function(){return this.__altered},Le.prototype.__iterator=function(e,t){return new Ge(this,e,t)},Le.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Le.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Je(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Le.isMap=Fe;var ze,qe="@@__IMMUTABLE_MAP__@@",Ke=Le.prototype;function We(e,t){this.ownerID=e,this.entries=t}function Ue(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function $e(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function He(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function Ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function Ge(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Xe(e._root)}function Ye(e,t){return F(e,t[0],t[1])}function Xe(e,t){return{node:e,index:0,__prev:t}}function Je(e,t,n,r){var o=Object.create(Ke);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Ze(){return ze||(ze=Je(0))}function Qe(e,t,n){var r,o;if(e._root){var i=x(b),a=x(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,i,a),!a.value)return e;o=e.size+(i.value?n===v?-1:1:0)}else{if(n===v)return e;o=1,r=new We(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Je(o,r):Ze()}function et(e,t,n,r,o,i,a,s){return e?e.update(t,n,r,o,i,a,s):i===v?e:(w(s),w(a),new Ve(t,r,[o,i]))}function tt(e){return e.constructor===Ve||e.constructor===He}function nt(e,t,n,r,o){if(e.keyHash===r)return new He(t,r,[e.entry,o]);var i,a=(0===n?e.keyHash:e.keyHash>>>n)&m,s=(0===n?r:r>>>n)&m,u=a===s?[nt(e,t,n+g,r,o)]:(i=new Ve(t,r,o),a<s?[e,i]:[i,e]);return new Ue(t,1<<a|1<<s,u)}function rt(e,t,n){for(var o=[],i=0;i<n.length;i++){var s=n[i],u=r(s);a(s)||(u=u.map(function(e){return fe(e)})),o.push(u)}return at(e,t,o)}function ot(e,t,n){return e&&e.mergeDeep&&a(t)?e.mergeDeep(t):he(e,t)?e:t}function it(e){return function(t,n,r){if(t&&t.mergeDeepWith&&a(n))return t.mergeDeepWith(e,n);var o=e(t,n,r);return he(t,o)?t:o}}function at(e,t,n){return 0===(n=n.filter(function(e){return 0!==e.size})).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations(function(e){for(var r=t?function(n,r){e.update(r,v,function(e){return e===v?n:t(e,n,r)})}:function(t,n){e.set(n,t)},o=0;o<n.length;o++)n[o].forEach(r)}):e.constructor(n[0])}function st(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var o=r?e:C(e);return o[t]=n,o}Ke[qe]=!0,Ke.delete=Ke.remove,Ke.removeIn=Ke.deleteIn,We.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(he(n,o[i][0]))return o[i][1];return r},We.prototype.update=function(e,t,n,r,o,i,a){for(var s=o===v,u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===o:s)return this;if(w(a),(s||!f)&&w(i),!s||1!==u.length){if(!f&&!s&&u.length>=lt)return function(e,t,n,r){e||(e=new S);for(var o=new Ve(e,ke(n),[n,r]),i=0;i<t.length;i++){var a=t[i];o=o.update(e,0,void 0,a[0],a[1])}return o}(e,u,r,o);var d=e&&e===this.ownerID,p=d?u:C(u);return f?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,o]:p.push([r,o]),d?(this.entries=p,this):new We(e,p)}},Ue.prototype.get=function(e,t,n,r){void 0===t&&(t=ke(n));var o=1<<((0===e?t:t>>>e)&m),i=this.bitmap;return 0==(i&o)?r:this.nodes[st(i&o-1)].get(e+g,t,n,r)},Ue.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=(0===t?n:n>>>t)&m,u=1<<s,l=this.bitmap,c=0!=(l&u);if(!c&&o===v)return this;var f=st(l&u-1),d=this.nodes,p=c?d[f]:void 0,h=et(p,e,t+g,n,r,o,i,a);if(h===p)return this;if(!c&&h&&d.length>=ct)return function(e,t,n,r,o){for(var i=0,a=new Array(y),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[i++]:void 0;return a[r]=o,new $e(e,i+1,a)}(e,d,l,s,h);if(c&&!h&&2===d.length&&tt(d[1^f]))return d[1^f];if(c&&h&&1===d.length&&tt(h))return h;var b=e&&e===this.ownerID,_=c?h?l:l^u:l|u,x=c?h?ut(d,f,h,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var o=new Array(r),i=0,a=0;a<r;a++)a===t&&(i=1),o[a]=e[a+i];return o}(d,f,b):function(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var i=new Array(o),a=0,s=0;s<o;s++)s===t?(i[s]=n,a=-1):i[s]=e[s+a];return i}(d,f,h,b);return b?(this.bitmap=_,this.nodes=x,this):new Ue(e,_,x)},$e.prototype.get=function(e,t,n,r){void 0===t&&(t=ke(n));var o=(0===e?t:t>>>e)&m,i=this.nodes[o];return i?i.get(e+g,t,n,r):r},$e.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=(0===t?n:n>>>t)&m,u=o===v,l=this.nodes,c=l[s];if(u&&!c)return this;var f=et(c,e,t+g,n,r,o,i,a);if(f===c)return this;var d=this.count;if(c){if(!f&&--d<ft)return function(e,t,n,r){for(var o=0,i=0,a=new Array(n),s=0,u=1,l=t.length;s<l;s++,u<<=1){var c=t[s];void 0!==c&&s!==r&&(o|=u,a[i++]=c)}return new Ue(e,o,a)}(e,l,d,s)}else d++;var p=e&&e===this.ownerID,h=ut(l,s,f,p);return p?(this.count=d,this.nodes=h,this):new $e(e,d,h)},He.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i<a;i++)if(he(n,o[i][0]))return o[i][1];return r},He.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=ke(r));var s=o===v;if(n!==this.keyHash)return s?this:(w(a),w(i),nt(this,e,t,n,[r,o]));for(var u=this.entries,l=0,c=u.length;l<c&&!he(r,u[l][0]);l++);var f=l<c;if(f?u[l][1]===o:s)return this;if(w(a),(s||!f)&&w(i),s&&2===c)return new Ve(e,this.keyHash,u[1^l]);var d=e&&e===this.ownerID,p=d?u:C(u);return f?s?l===c-1?p.pop():p[l]=p.pop():p[l]=[r,o]:p.push([r,o]),d?(this.entries=p,this):new He(e,this.keyHash,p)},Ve.prototype.get=function(e,t,n,r){return he(n,this.entry[0])?this.entry[1]:r},Ve.prototype.update=function(e,t,n,r,o,i,a){var s=o===v,u=he(r,this.entry[0]);return(u?o===this.entry[1]:s)?this:(w(a),s?void w(i):u?e&&e===this.ownerID?(this.entry[1]=o,this):new Ve(e,this.keyHash,[r,o]):(w(i),nt(this,e,t,ke(r),[r,o])))},We.prototype.iterate=He.prototype.iterate=function(e,t){for(var n=this.entries,r=0,o=n.length-1;r<=o;r++)if(!1===e(n[t?o-r:r]))return!1},Ue.prototype.iterate=$e.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,o=n.length-1;r<=o;r++){var i=n[t?o-r:r];if(i&&!1===i.iterate(e,t))return!1}},Ve.prototype.iterate=function(e,t){return e(this.entry)},t(Ge,L),Ge.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,o=t.index++;if(r.entry){if(0===o)return Ye(e,r.entry)}else if(r.entries){if(n=r.entries.length-1,o<=n)return Ye(e,r.entries[this._reverse?n-o:o])}else if(n=r.nodes.length-1,o<=n){var i=r.nodes[this._reverse?n-o:o];if(i){if(i.entry)return Ye(e,i.entry);t=this._stack=Xe(i,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var lt=y/4,ct=y/2,ft=y/4;function dt(e){var t=wt();if(null===e||void 0===e)return t;if(pt(e))return e;var n=o(e),r=n.size;return 0===r?t:(Be(r),r>0&&r<y?xt(0,r,g,null,new yt(n.toArray())):t.withMutations(function(e){e.setSize(r),n.forEach(function(t,n){return e.set(n,t)})}))}function pt(e){return!(!e||!e[ht])}t(dt,xe),dt.of=function(){return this(arguments)},dt.prototype.toString=function(){return this.__toString("List [","]")},dt.prototype.get=function(e,t){if((e=O(this,e))>=0&&e<this.size){var n=kt(this,e+=this._origin);return n&&n.array[e&m]}return t},dt.prototype.set=function(e,t){return function(e,t,n){if((t=O(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations(function(e){t<0?Ot(e,t).set(0,n):Ot(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,i=x(_);return t>=Tt(e._capacity)?r=St(r,e.__ownerID,0,t,n,i):o=St(o,e.__ownerID,e._level,t,n,i),i.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):xt(e._origin,e._capacity,e._level,o,r):e}(this,e,t)},dt.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},dt.prototype.insert=function(e,t){return this.splice(e,0,t)},dt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=g,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):wt()},dt.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){Ot(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])})},dt.prototype.pop=function(){return Ot(this,0,-1)},dt.prototype.unshift=function(){var e=arguments;return this.withMutations(function(t){Ot(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])})},dt.prototype.shift=function(){return Ot(this,1)},dt.prototype.merge=function(){return Et(this,void 0,arguments)},dt.prototype.mergeWith=function(t){var n=e.call(arguments,1);return Et(this,t,n)},dt.prototype.mergeDeep=function(){return Et(this,ot,arguments)},dt.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Et(this,it(t),n)},dt.prototype.setSize=function(e){return Ot(this,0,e)},dt.prototype.slice=function(e,t){var n=this.size;return T(e,t,n)?this:Ot(this,M(e,n),P(t,n))},dt.prototype.__iterator=function(e,t){var n=0,r=_t(this,t);return new L(function(){var t=r();return t===bt?{value:void 0,done:!0}:F(e,n++,t)})},dt.prototype.__iterate=function(e,t){for(var n,r=0,o=_t(this,t);(n=o())!==bt&&!1!==e(n,r++,this););return r},dt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?xt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},dt.isList=pt;var ht="@@__IMMUTABLE_LIST__@@",gt=dt.prototype;function yt(e,t){this.array=e,this.ownerID=t}gt[ht]=!0,gt.delete=gt.remove,gt.setIn=Ke.setIn,gt.deleteIn=gt.removeIn=Ke.removeIn,gt.update=Ke.update,gt.updateIn=Ke.updateIn,gt.mergeIn=Ke.mergeIn,gt.mergeDeepIn=Ke.mergeDeepIn,gt.withMutations=Ke.withMutations,gt.asMutable=Ke.asMutable,gt.asImmutable=Ke.asImmutable,gt.wasAltered=Ke.wasAltered,yt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&m;if(r>=this.array.length)return new yt([],e);var o,i=0===r;if(t>0){var a=this.array[r];if((o=a&&a.removeBefore(e,t-g,n))===a&&i)return this}if(i&&!o)return this;var s=Ct(this,e);if(!i)for(var u=0;u<r;u++)s.array[u]=void 0;return o&&(s.array[r]=o),s},yt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,o=n-1>>>t&m;if(o>=this.array.length)return this;if(t>0){var i=this.array[o];if((r=i&&i.removeAfter(e,t-g,n))===i&&o===this.array.length-1)return this}var a=Ct(this,e);return a.array.splice(o+1),r&&(a.array[o]=r),a};var mt,vt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,o=Tt(r),i=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===o?i&&i.array:e&&e.array,u=a>n?0:n-a,l=r-a;return l>y&&(l=y),function(){if(u===l)return bt;var e=t?--l:u++;return s&&s[e]}}(e,u):function(e,o,i){var s,u=e&&e.array,l=i>n?0:n-i>>o,c=1+(r-i>>o);return c>y&&(c=y),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(l===c)return bt;var n=t?--c:l++;s=a(u&&u[n],o-g,i+(n<<o))}}}(e,s,u)}}function xt(e,t,n,r,o,i,a){var s=Object.create(gt);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=o,s.__ownerID=i,s.__hash=a,s.__altered=!1,s}function wt(){return mt||(mt=xt(0,0,g))}function St(e,t,n,r,o,i){var a,s=r>>>n&m,u=e&&s<e.array.length;if(!u&&void 0===o)return e;if(n>0){var l=e&&e.array[s],c=St(l,t,n-g,r,o,i);return c===l?e:((a=Ct(e,t)).array[s]=c,a)}return u&&e.array[s]===o?e:(w(i),a=Ct(e,t),void 0===o&&s===a.array.length-1?a.array.pop():a.array[s]=o,a)}function Ct(e,t){return t&&e&&t===e.ownerID?e:new yt(e?e.array.slice():[],t)}function kt(e,t){if(t>=Tt(e._capacity))return e._tail;if(t<1<<e._level+g){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&m],r-=g;return n}}function Ot(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new S,o=e._origin,i=e._capacity,a=o+t,s=void 0===n?i:n<0?i+n:o+n;if(a===o&&s===i)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new yt(l&&l.array.length?[void 0,l]:[],r),c+=1<<(u+=g);c&&(a+=c,o+=c,s+=c,i+=c);for(var f=Tt(i),d=Tt(s);d>=1<<u+g;)l=new yt(l&&l.array.length?[l]:[],r),u+=g;var p=e._tail,h=d<f?kt(e,s-1):d>f?new yt([],r):p;if(p&&d>f&&a<i&&p.array.length){for(var y=l=Ct(l,r),v=u;v>g;v-=g){var b=f>>>v&m;y=y.array[b]=Ct(y.array[b],r)}y.array[f>>>g&m]=p}if(s<i&&(h=h&&h.removeAfter(r,0,s)),a>=d)a-=d,s-=d,u=g,l=null,h=h&&h.removeBefore(r,0,a);else if(a>o||d<f){for(c=0;l;){var _=a>>>u&m;if(_!==d>>>u&m)break;_&&(c+=(1<<u)*_),u-=g,l=l.array[_]}l&&a>o&&(l=l.removeBefore(r,u,a-c)),l&&d<f&&(l=l.removeAfter(r,u,d-c)),c&&(a-=c,s-=c)}return e.__ownerID?(e.size=s-a,e._origin=a,e._capacity=s,e._level=u,e._root=l,e._tail=h,e.__hash=void 0,e.__altered=!0,e):xt(a,s,u,l,h)}function Et(e,t,n){for(var r=[],i=0,s=0;s<n.length;s++){var u=n[s],l=o(u);l.size>i&&(i=l.size),a(u)||(l=l.map(function(e){return fe(e)})),r.push(l)}return i>e.size&&(e=e.setSize(i)),at(e,t,r)}function Tt(e){return e<y?0:e-1>>>g<<g}function Mt(e){return null===e||void 0===e?At():Pt(e)?e:At().withMutations(function(t){var n=r(e);Be(n.size),n.forEach(function(e,n){return t.set(n,e)})})}function Pt(e){return Fe(e)&&c(e)}function jt(e,t,n,r){var o=Object.create(Mt.prototype);return o.size=e?e.size:0,o._map=e,o._list=t,o.__ownerID=n,o.__hash=r,o}function At(){return vt||(vt=jt(Ze(),wt()))}function It(e,t,n){var r,o,i=e._map,a=e._list,s=i.get(t),u=void 0!==s;if(n===v){if(!u)return e;a.size>=y&&a.size>=2*i.size?(o=a.filter(function(e,t){return void 0!==e&&s!==t}),r=o.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=i.remove(t),o=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=i,o=a.set(s,[t,n])}else r=i.set(t,a.size),o=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):jt(r,o)}function Rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Dt(e){this._iter=e,this.size=e.size}function Nt(e){this._iter=e,this.size=e.size}function Bt(e){this._iter=e,this.size=e.size}function Lt(e){var t=Qt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=en,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===R){var r=e.__iterator(t,n);return new L(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===I?A:I,n)},t}function Ft(e,t,n){var r=Qt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var i=e.get(r,v);return i===v?o:t.call(n,i,r,e)},r.__iterateUncached=function(r,o){var i=this;return e.__iterate(function(e,o,a){return!1!==r(t.call(n,e,o,a),o,i)},o)},r.__iteratorUncached=function(r,o){var i=e.__iterator(R,o);return new L(function(){var o=i.next();if(o.done)return o;var a=o.value,s=a[0];return F(r,s,t.call(n,a[1],s,e),o)})},r}function zt(e,t){var n=Qt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Lt(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=en,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function qt(e,t,n,r){var o=Qt(e);return r&&(o.has=function(r){var o=e.get(r,v);return o!==v&&!!t.call(n,o,r,e)},o.get=function(r,o){var i=e.get(r,v);return i!==v&&t.call(n,i,r,e)?i:o}),o.__iterateUncached=function(o,i){var a=this,s=0;return e.__iterate(function(e,i,u){if(t.call(n,e,i,u))return s++,o(e,r?i:s-1,a)},i),s},o.__iteratorUncached=function(o,i){var a=e.__iterator(R,i),s=0;return new L(function(){for(;;){var i=a.next();if(i.done)return i;var u=i.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return F(o,r?l:s++,c,i)}})},o}function Kt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n|=0),T(t,n,o))return e;var i=M(t,o),a=P(n,o);if(i!=i||a!=a)return Kt(e.toSeq().cacheResult(),t,n,r);var s,u=a-i;u==u&&(s=u<0?0:u);var l=Qt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&oe(e)&&s>=0&&(l.get=function(t,n){return(t=O(this,t))>=0&&t<s?e.get(t+i,n):n}),l.__iterateUncached=function(t,n){var o=this;if(0===s)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,u=!0,l=0;return e.__iterate(function(e,n){if(!u||!(u=a++<i))return l++,!1!==t(e,r?n:l-1,o)&&l!==s}),l},l.__iteratorUncached=function(t,n){if(0!==s&&n)return this.cacheResult().__iterator(t,n);var o=0!==s&&e.__iterator(t,n),a=0,u=0;return new L(function(){for(;a++<i;)o.next();if(++u>s)return{value:void 0,done:!0};var e=o.next();return r||t===I?e:F(t,u-1,t===A?void 0:e.value[1],e)})},l}function Wt(e,t,n,r){var o=Qt(e);return o.__iterateUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterate(o,i);var s=!0,u=0;return e.__iterate(function(e,i,l){if(!s||!(s=t.call(n,e,i,l)))return u++,o(e,r?i:u-1,a)}),u},o.__iteratorUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterator(o,i);var s=e.__iterator(R,i),u=!0,l=0;return new L(function(){var e,i,c;do{if((e=s.next()).done)return r||o===I?e:F(o,l++,o===A?void 0:e.value[1],e);var f=e.value;i=f[0],c=f[1],u&&(u=t.call(n,c,i,a))}while(u);return o===R?e:F(o,i,c,e)})},o}function Ut(e,t,n){var r=Qt(e);return r.__iterateUncached=function(r,o){var i=0,s=!1;return function e(u,l){var c=this;u.__iterate(function(o,u){return(!t||l<t)&&a(o)?e(o,l+1):!1===r(o,n?u:i++,c)&&(s=!0),!s},o)}(e,0),i},r.__iteratorUncached=function(r,o){var i=e.__iterator(r,o),s=[],u=0;return new L(function(){for(;i;){var e=i.next();if(!1===e.done){var l=e.value;if(r===R&&(l=l[1]),t&&!(s.length<t)||!a(l))return n?e:F(r,u++,l,e);s.push(i),i=l.__iterator(r,o)}else i=s.pop()}return{value:void 0,done:!0}})},r}function $t(e,t,n){t||(t=tn);var r=s(e),o=0,i=e.toSeq().map(function(t,r){return[r,t,o++,n?n(t,r,e):t]}).toArray();return i.sort(function(e,n){return t(e[3],n[3])||e[2]-n[2]}).forEach(r?function(e,t){i[t].length=2}:function(e,t){i[t]=e[1]}),r?V(i):u(e)?G(i):Y(i)}function Ht(e,t,n){if(t||(t=tn),n){var r=e.toSeq().map(function(t,r){return[t,n(t,r,e)]}).reduce(function(e,n){return Vt(t,e[1],n[1])?n:e});return r&&r[0]}return e.reduce(function(e,n){return Vt(t,e,n)?n:e})}function Vt(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(void 0===n||null===n||n!=n)||r>0}function Gt(e,t,r){var o=Qt(e);return o.size=new ee(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(I,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var i=r.map(function(e){return e=n(e),W(o?e.reverse():e)}),a=0,s=!1;return new L(function(){var n;return s||(n=i.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:F(e,a++,t.apply(null,n.map(function(e){return e.value})))})},o}function Yt(e,t){return oe(e)?t:e.constructor(t)}function Xt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Jt(e){return Be(e.size),k(e)}function Zt(e){return s(e)?r:u(e)?o:i}function Qt(e){return Object.create((s(e)?V:u(e)?G:Y).prototype)}function en(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):H.prototype.cacheResult.call(this)}function tn(e,t){return e>t?1:e<t?-1:0}function nn(e){var t=W(e);if(!t){if(!$(e))throw new TypeError("Expected iterable or array-like: "+e);t=W(n(e))}return t}function rn(e,t){var n,r=function(i){if(i instanceof r)return i;if(!(this instanceof r))return new r(i);if(!n){n=!0;var a=Object.keys(e);!function(e,t){try{t.forEach(function(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){me(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}.bind(void 0,e))}catch(e){}}(o,a),o.size=a.length,o._name=t,o._keys=a,o._defaultValues=e}this._map=Le(i)},o=r.prototype=Object.create(on);return o.constructor=r,r}t(Mt,Le),Mt.of=function(){return this(arguments)},Mt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Mt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Mt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):At()},Mt.prototype.set=function(e,t){return It(this,e,t)},Mt.prototype.remove=function(e){return It(this,e,v)},Mt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Mt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Mt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Mt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?jt(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Mt.isOrderedMap=Pt,Mt.prototype[h]=!0,Mt.prototype.delete=Mt.prototype.remove,t(Rt,V),Rt.prototype.get=function(e,t){return this._iter.get(e,t)},Rt.prototype.has=function(e){return this._iter.has(e)},Rt.prototype.valueSeq=function(){return this._iter.valueSeq()},Rt.prototype.reverse=function(){var e=this,t=zt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},Rt.prototype.map=function(e,t){var n=this,r=Ft(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},Rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Jt(this):0,function(o){return e(o,t?--n:n++,r)}),t)},Rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(I,t),r=t?Jt(this):0;return new L(function(){var o=n.next();return o.done?o:F(e,t?--r:r++,o.value,o)})},Rt.prototype[h]=!0,t(Dt,G),Dt.prototype.includes=function(e){return this._iter.includes(e)},Dt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},Dt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t),r=0;return new L(function(){var t=n.next();return t.done?t:F(e,r++,t.value,t)})},t(Nt,Y),Nt.prototype.has=function(e){return this._iter.includes(e)},Nt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},Nt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t);return new L(function(){var t=n.next();return t.done?t:F(e,t.value,t.value,t)})},t(Bt,V),Bt.prototype.entrySeq=function(){return this._iter.toSeq()},Bt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){Xt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},Bt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(I,t);return new L(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Xt(r);var o=a(r);return F(e,o?r.get(0):r[0],o?r.get(1):r[1],t)}}})},Dt.prototype.cacheResult=Rt.prototype.cacheResult=Nt.prototype.cacheResult=Bt.prototype.cacheResult=en,t(rn,_e),rn.prototype.toString=function(){return this.__toString(sn(this)+" {","}")},rn.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},rn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},rn.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=an(this,Ze()))},rn.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+sn(this));var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:an(this,n)},rn.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:an(this,t)},rn.prototype.wasAltered=function(){return this._map.wasAltered()},rn.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterator(e,t)},rn.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map(function(e,t){return n.get(t)}).__iterate(e,t)},rn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?an(this,t,e):(this.__ownerID=e,this._map=t,this)};var on=rn.prototype;function an(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function sn(e){return e._name||e.constructor.name||"Record"}function un(e){return null===e||void 0===e?gn():ln(e)&&!c(e)?e:gn().withMutations(function(t){var n=i(e);Be(n.size),n.forEach(function(e){return t.add(e)})})}function ln(e){return!(!e||!e[fn])}on.delete=on.remove,on.deleteIn=on.removeIn=Ke.removeIn,on.merge=Ke.merge,on.mergeWith=Ke.mergeWith,on.mergeIn=Ke.mergeIn,on.mergeDeep=Ke.mergeDeep,on.mergeDeepWith=Ke.mergeDeepWith,on.mergeDeepIn=Ke.mergeDeepIn,on.setIn=Ke.setIn,on.update=Ke.update,on.updateIn=Ke.updateIn,on.withMutations=Ke.withMutations,on.asMutable=Ke.asMutable,on.asImmutable=Ke.asImmutable,t(un,we),un.of=function(){return this(arguments)},un.fromKeys=function(e){return this(r(e).keySeq())},un.prototype.toString=function(){return this.__toString("Set {","}")},un.prototype.has=function(e){return this._map.has(e)},un.prototype.add=function(e){return pn(this,this._map.set(e,!0))},un.prototype.remove=function(e){return pn(this,this._map.remove(e))},un.prototype.clear=function(){return pn(this,this._map.clear())},un.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter(function(e){return 0!==e.size})).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n<t.length;n++)i(t[n]).forEach(function(t){return e.add(t)})}):this.constructor(t[0])},un.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.every(function(e){return e.includes(n)})||e.remove(n)})})},un.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map(function(e){return i(e)});var n=this;return this.withMutations(function(e){n.forEach(function(n){t.some(function(e){return e.includes(n)})&&e.remove(n)})})},un.prototype.merge=function(){return this.union.apply(this,arguments)},un.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},un.prototype.sort=function(e){return yn($t(this,e))},un.prototype.sortBy=function(e,t){return yn($t(this,t,e))},un.prototype.wasAltered=function(){return this._map.wasAltered()},un.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate(function(t,r){return e(r,r,n)},t)},un.prototype.__iterator=function(e,t){return this._map.map(function(e,t){return t}).__iterator(e,t)},un.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},un.isSet=ln;var cn,fn="@@__IMMUTABLE_SET__@@",dn=un.prototype;function pn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function hn(e,t){var n=Object.create(dn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function gn(){return cn||(cn=hn(Ze()))}function yn(e){return null===e||void 0===e?xn():mn(e)?e:xn().withMutations(function(t){var n=i(e);Be(n.size),n.forEach(function(e){return t.add(e)})})}function mn(e){return ln(e)&&c(e)}dn[fn]=!0,dn.delete=dn.remove,dn.mergeDeep=dn.merge,dn.mergeDeepWith=dn.mergeWith,dn.withMutations=Ke.withMutations,dn.asMutable=Ke.asMutable,dn.asImmutable=Ke.asImmutable,dn.__empty=gn,dn.__make=hn,t(yn,un),yn.of=function(){return this(arguments)},yn.fromKeys=function(e){return this(r(e).keySeq())},yn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},yn.isOrderedSet=mn;var vn,bn=yn.prototype;function _n(e,t){var n=Object.create(bn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function xn(){return vn||(vn=_n(At()))}function wn(e){return null===e||void 0===e?Tn():Sn(e)?e:Tn().unshiftAll(e)}function Sn(e){return!(!e||!e[kn])}bn[h]=!0,bn.__empty=xn,bn.__make=_n,t(wn,xe),wn.of=function(){return this(arguments)},wn.prototype.toString=function(){return this.__toString("Stack [","]")},wn.prototype.get=function(e,t){var n=this._head;for(e=O(this,e);n&&e--;)n=n.next;return n?n.value:t},wn.prototype.peek=function(){return this._head&&this._head.value},wn.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):En(e,t)},wn.prototype.pushAll=function(e){if(0===(e=o(e)).size)return this;Be(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):En(t,n)},wn.prototype.pop=function(){return this.slice(1)},wn.prototype.unshift=function(){return this.push.apply(this,arguments)},wn.prototype.unshiftAll=function(e){return this.pushAll(e)},wn.prototype.shift=function(){return this.pop.apply(this,arguments)},wn.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Tn()},wn.prototype.slice=function(e,t){if(T(e,t,this.size))return this;var n=M(e,this.size),r=P(t,this.size);if(r!==this.size)return xe.prototype.slice.call(this,e,t);for(var o=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=o,this._head=i,this.__hash=void 0,this.__altered=!0,this):En(o,i)},wn.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?En(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},wn.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},wn.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new L(function(){if(r){var t=r.value;return r=r.next,F(e,n++,t)}return{value:void 0,done:!0}})},wn.isStack=Sn;var Cn,kn="@@__IMMUTABLE_STACK__@@",On=wn.prototype;function En(e,t,n,r){var o=Object.create(On);return o.size=e,o._head=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Tn(){return Cn||(Cn=En(0))}function Mn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}On[kn]=!0,On.withMutations=Ke.withMutations,On.asMutable=Ke.asMutable,On.asImmutable=Ke.asImmutable,On.wasAltered=Ke.wasAltered,n.Iterator=L,Mn(n,{toArray:function(){Be(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Dt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new Rt(this,!0)},toMap:function(){return Le(this.toKeyedSeq())},toObject:function(){Be(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Mt(this.toKeyedSeq())},toOrderedSet:function(){return yn(s(this)?this.valueSeq():this)},toSet:function(){return un(s(this)?this.valueSeq():this)},toSetSeq:function(){return new Nt(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return wn(s(this)?this.valueSeq():this)},toList:function(){return dt(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return Yt(this,function(e,t){var n=s(e),o=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var i=o[0];if(i===e||n&&s(i)||u(e)&&u(i))return i}var l=new ee(o);return n?l=l.toKeyedSeq():u(e)||(l=l.toSetSeq()),(l=l.flatten(!0)).size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}(this,t))},includes:function(e){return this.some(function(t){return he(t,e)})},entries:function(){return this.__iterator(R)},every:function(e,t){Be(this.size);var n=!0;return this.__iterate(function(r,o,i){if(!e.call(t,r,o,i))return n=!1,!1}),n},filter:function(e,t){return Yt(this,qt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},findEntry:function(e,t){var n;return this.__iterate(function(r,o,i){if(e.call(t,r,o,i))return n=[o,r],!1}),n},findLastEntry:function(e,t){return this.toSeq().reverse().findEntry(e,t)},forEach:function(e,t){return Be(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Be(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():""}),t},keys:function(){return this.__iterator(A)},map:function(e,t){return Yt(this,Ft(this,e,t))},reduce:function(e,t,n){var r,o;return Be(this.size),arguments.length<2?o=!0:r=t,this.__iterate(function(t,i,a){o?(o=!1,r=t):r=e.call(n,r,t,i,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Yt(this,zt(this,!0))},slice:function(e,t){return Yt(this,Kt(this,e,t,!0))},some:function(e,t){return!this.every(Rn(e),t)},sort:function(e){return Yt(this,$t(this,e))},values:function(){return this.__iterator(I)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return k(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Le().asMutable();return e.__iterate(function(o,i){r.update(t.call(n,o,i,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return ge(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map(In).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Rn(e),t)},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},first:function(){return this.find(E)},flatMap:function(e,t){return Yt(this,function(e,t,n){var r=Zt(e);return e.toSeq().map(function(o,i){return r(t.call(n,o,i,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return Yt(this,Ut(this,e,!0))},fromEntrySeq:function(){return new Bt(this)},get:function(e,t){return this.find(function(t,n){return he(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=nn(e);!(n=o.next()).done;){var i=n.value;if((r=r&&r.get?r.get(i,v):v)===v)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),o=(c(e)?Mt():Le()).asMutable();e.__iterate(function(i,a){o.update(t.call(n,i,a,e),function(e){return(e=e||[]).push(r?[a,i]:i),e})});var i=Zt(e);return o.map(function(t){return Yt(e,i(t))})}(this,e,t)},has:function(e){return this.get(e,v)!==v},hasIn:function(e){return this.getIn(e,v)!==v},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keySeq:function(){return this.toSeq().map(An).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},max:function(e){return Ht(this,e)},maxBy:function(e,t){return Ht(this,t,e)},min:function(e){return Ht(this,e?Dn(e):Ln)},minBy:function(e,t){return Ht(this,t?Dn(t):Ln,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return Yt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return Yt(this,Wt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Rn(e),t)},sortBy:function(e,t){return Yt(this,$t(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return Yt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return Yt(this,function(e,t,n){var r=Qt(e);return r.__iterateUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterate(r,o);var a=0;return e.__iterate(function(e,o,s){return t.call(n,e,o,s)&&++a&&r(e,o,i)}),a},r.__iteratorUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterator(r,o);var a=e.__iterator(R,o),s=!0;return new L(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var o=e.value,u=o[0],l=o[1];return t.call(n,l,u,i)?r===R?e:F(r,u,l,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Rn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=c(e),n=s(e),r=t?1:0;return function(e,t){return t=Se(t,3432918353),t=Se(t<<15|t>>>-15,461845907),t=Se(t<<13|t>>>-13,5),t=Se((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=Ce((t=Se(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Fn(ke(e),ke(t))|0}:function(e,t){r=r+Fn(ke(e),ke(t))|0}:t?function(e){r=31*r+ke(e)|0}:function(e){r=r+ke(e)|0}),r)}(this))}});var Pn=n.prototype;Pn[f]=!0,Pn[B]=Pn.values,Pn.__toJS=Pn.toArray,Pn.__toStringMapper=Nn,Pn.inspect=Pn.toSource=function(){return this.toString()},Pn.chain=Pn.flatMap,Pn.contains=Pn.includes,function(){try{Object.defineProperty(Pn,"length",{get:function(){if(!n.noLengthWarning){var e;try{throw new Error}catch(t){e=t.stack}if(-1===e.indexOf("_wrapObject"))return console&&console.warn&&console.warn("iterable.length has been deprecated, use iterable.size or iterable.count(). This warning will become a silent error in a future version. "+e),this.size}}})}catch(e){}}(),Mn(r,{flip:function(){return Yt(this,Lt(this))},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLastKey:function(e,t){return this.toSeq().reverse().findKey(e,t)},keyOf:function(e){return this.findKey(function(t){return he(t,e)})},lastKeyOf:function(e){return this.findLastKey(function(t){return he(t,e)})},mapEntries:function(e,t){var n=this,r=0;return Yt(this,this.toSeq().map(function(o,i){return e.call(t,[i,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Yt(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var jn=r.prototype;function An(e,t){return t}function In(e,t){return[t,e]}function Rn(e){return function(){return!e.apply(this,arguments)}}function Dn(e){return function(){return-e.apply(this,arguments)}}function Nn(e){return"string"==typeof e?JSON.stringify(e):e}function Bn(){return C(arguments)}function Ln(e,t){return e<t?1:e>t?-1:0}function Fn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return jn[d]=!0,jn[B]=Pn.entries,jn.__toJS=Pn.toObject,jn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+Nn(e)},Mn(o,{toKeyedSeq:function(){return new Rt(this,!1)},filter:function(e,t){return Yt(this,qt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.toKeyedSeq().keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.toKeyedSeq().reverse().keyOf(e);return void 0===t?-1:t},reverse:function(){return Yt(this,zt(this,!1))},slice:function(e,t){return Yt(this,Kt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=M(e,e<0?this.count():this.size);var r=this.slice(0,e);return Yt(this,1===n?r:r.concat(C(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.toKeyedSeq().findLastKey(e,t);return void 0===n?-1:n},first:function(){return this.get(0)},flatten:function(e){return Yt(this,Ut(this,e,!1))},get:function(e,t){return(e=O(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=O(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Yt(this,function(e,t){var n=Qt(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var o=this,i=0;return e.__iterate(function(e,r){return(!i||!1!==n(t,i++,o))&&!1!==n(e,i++,o)},r),i},n.__iteratorUncached=function(n,r){var o,i=e.__iterator(I,r),a=0;return new L(function(){return(!o||a%2)&&(o=i.next()).done?o:a%2?F(n,a++,t):F(n,a++,o.value,o)})},n}(this,e))},interleave:function(){var e=[this].concat(C(arguments)),t=Gt(this.toSeq(),G.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Yt(this,n)},last:function(){return this.get(-1)},skipWhile:function(e,t){return Yt(this,Wt(this,e,t,!1))},zip:function(){return Yt(this,Gt(this,Bn,[this].concat(C(arguments))))},zipWith:function(e){var t=C(arguments);return t[0]=this,Yt(this,Gt(this,e,t))}}),o.prototype[p]=!0,o.prototype[h]=!0,Mn(i,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),i.prototype.has=Pn.includes,Mn(V,r.prototype),Mn(G,o.prototype),Mn(Y,i.prototype),Mn(_e,r.prototype),Mn(xe,o.prototype),Mn(we,i.prototype),{Iterable:n,Seq:H,Collection:be,Map:Le,OrderedMap:Mt,List:dt,Stack:wn,Set:un,OrderedSet:yn,Record:rn,Range:ve,Repeat:ye,is:he,fromJS:fe}}()},function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,a,s,u],f=0;(l=new Error(t.replace(/%s/g,function(){return c[f++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var o=n(317),i=n(184),a=n(783),s=n(4),u=n(71),l=s.OrderedSet,c=s.Record,f=s.Stack,d=c({allowUndo:!0,currentContent:null,decorator:null,directionMap:null,forceSelection:!1,inCompositionMode:!1,inlineStyleOverride:null,lastChangeType:null,nativelyRenderedContent:null,redoStack:f(),selection:null,treeMap:null,undoStack:f()}),p=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._immutable=t}return e.createEmpty=function(t){return e.createWithContent(i.createFromText(""),t)},e.createWithContent=function(t,n){var r=t.getBlockMap().first().getKey();return e.create({currentContent:t,undoStack:f(),redoStack:f(),decorator:n||null,selection:u.createEmpty(r)})},e.create=function(t){var n=t.currentContent,o=t.decorator,i=r({},t,{treeMap:g(n,o),directionMap:a.getDirectionMap(n)});return new e(new d(i))},e.set=function(t,n){return new e(t.getImmutable().withMutations(function(e){var r=e.get("decorator"),i=r;null===n.decorator?i=null:n.decorator&&(i=n.decorator);var a=n.currentContent||t.getCurrentContent();if(i!==r){var s,u=e.get("treeMap");return s=i&&r?function(e,t,n,r,i){return n.merge(t.toSeq().filter(function(t){return r.getDecorations(t,e)!==i.getDecorations(t,e)}).map(function(t){return o.generate(e,t,r)}))}(a,a.getBlockMap(),u,i,r):g(a,i),void e.merge({decorator:i,treeMap:s,nativelyRenderedContent:null})}a!==t.getCurrentContent()&&e.set("treeMap",function(e,t,n,r){var i=e.getCurrentContent().set("entityMap",n),a=i.getBlockMap();return e.getImmutable().get("treeMap").merge(t.toSeq().filter(function(e,t){return e!==a.get(t)}).map(function(e){return o.generate(i,e,r)}))}(t,a.getBlockMap(),a.getEntityMap(),i)),e.merge(n)}))},e.prototype.toJS=function(){return this.getImmutable().toJS()},e.prototype.getAllowUndo=function(){return this.getImmutable().get("allowUndo")},e.prototype.getCurrentContent=function(){return this.getImmutable().get("currentContent")},e.prototype.getUndoStack=function(){return this.getImmutable().get("undoStack")},e.prototype.getRedoStack=function(){return this.getImmutable().get("redoStack")},e.prototype.getSelection=function(){return this.getImmutable().get("selection")},e.prototype.getDecorator=function(){return this.getImmutable().get("decorator")},e.prototype.isInCompositionMode=function(){return this.getImmutable().get("inCompositionMode")},e.prototype.mustForceSelection=function(){return this.getImmutable().get("forceSelection")},e.prototype.getNativelyRenderedContent=function(){return this.getImmutable().get("nativelyRenderedContent")},e.prototype.getLastChangeType=function(){return this.getImmutable().get("lastChangeType")},e.prototype.getInlineStyleOverride=function(){return this.getImmutable().get("inlineStyleOverride")},e.setInlineStyleOverride=function(t,n){return e.set(t,{inlineStyleOverride:n})},e.prototype.getCurrentInlineStyle=function(){var e=this.getInlineStyleOverride();if(null!=e)return e;var t=this.getCurrentContent(),n=this.getSelection();return n.isCollapsed()?function(e,t){var n=t.getStartKey(),r=t.getStartOffset(),o=e.getBlockForKey(n);if(r>0)return o.getInlineStyleAt(r-1);if(o.getLength())return o.getInlineStyleAt(0);return y(e,n)}(t,n):function(e,t){var n=t.getStartKey(),r=t.getStartOffset(),o=e.getBlockForKey(n);if(r<o.getLength())return o.getInlineStyleAt(r);if(r>0)return o.getInlineStyleAt(r-1);return y(e,n)}(t,n)},e.prototype.getBlockTree=function(e){return this.getImmutable().getIn(["treeMap",e])},e.prototype.isSelectionAtStartOfContent=function(){var e=this.getCurrentContent().getBlockMap().first().getKey();return this.getSelection().hasEdgeWithin(e,0,0)},e.prototype.isSelectionAtEndOfContent=function(){var e=this.getCurrentContent().getBlockMap().last(),t=e.getLength();return this.getSelection().hasEdgeWithin(e.getKey(),t,t)},e.prototype.getDirectionMap=function(){return this.getImmutable().get("directionMap")},e.acceptSelection=function(e,t){return h(e,t,!1)},e.forceSelection=function(e,t){return t.getHasFocus()||(t=t.set("hasFocus",!0)),h(e,t,!0)},e.moveSelectionToEnd=function(t){var n=t.getCurrentContent().getLastBlock(),r=n.getKey(),o=n.getLength();return e.acceptSelection(t,new u({anchorKey:r,anchorOffset:o,focusKey:r,focusOffset:o,isBackward:!1}))},e.moveFocusToEnd=function(t){var n=e.moveSelectionToEnd(t);return e.forceSelection(n,n.getSelection())},e.push=function(t,n,r){if(t.getCurrentContent()===n)return t;var o="insert-characters"!==r,i=a.getDirectionMap(n,t.getDirectionMap());if(!t.getAllowUndo())return e.set(t,{currentContent:n,directionMap:i,lastChangeType:r,selection:n.getSelectionAfter(),forceSelection:o,inlineStyleOverride:null});var s=t.getSelection(),u=t.getCurrentContent(),l=t.getUndoStack(),c=n;s!==u.getSelectionAfter()||function(e,t){var n=e.getLastChangeType();return t!==n||"insert-characters"!==t&&"backspace-character"!==t&&"delete-character"!==t}(t,r)?(l=l.push(u),c=c.set("selectionBefore",s)):"insert-characters"!==r&&"backspace-character"!==r&&"delete-character"!==r||(c=c.set("selectionBefore",u.getSelectionBefore()));var d=t.getInlineStyleOverride();-1===["adjust-depth","change-block-type","split-block"].indexOf(r)&&(d=null);var p={currentContent:c,directionMap:i,undoStack:l,redoStack:f(),lastChangeType:r,selection:n.getSelectionAfter(),forceSelection:o,inlineStyleOverride:d};return e.set(t,p)},e.undo=function(t){if(!t.getAllowUndo())return t;var n=t.getUndoStack(),r=n.peek();if(!r)return t;var o=t.getCurrentContent(),i=a.getDirectionMap(r,t.getDirectionMap());return e.set(t,{currentContent:r,directionMap:i,undoStack:n.shift(),redoStack:t.getRedoStack().push(o),forceSelection:!0,inlineStyleOverride:null,lastChangeType:"undo",nativelyRenderedContent:null,selection:o.getSelectionBefore()})},e.redo=function(t){if(!t.getAllowUndo())return t;var n=t.getRedoStack(),r=n.peek();if(!r)return t;var o=t.getCurrentContent(),i=a.getDirectionMap(r,t.getDirectionMap());return e.set(t,{currentContent:r,directionMap:i,undoStack:t.getUndoStack().push(o),redoStack:n.shift(),forceSelection:!0,inlineStyleOverride:null,lastChangeType:"redo",nativelyRenderedContent:null,selection:r.getSelectionAfter()})},e.prototype.getImmutable=function(){return this._immutable},e}();function h(e,t,n){return p.set(e,{selection:t,forceSelection:n,nativelyRenderedContent:null,inlineStyleOverride:null})}function g(e,t){return e.getBlockMap().map(function(n){return o.generate(e,n,t)}).toOrderedMap()}function y(e,t){var n=e.getBlockMap().reverse().skipUntil(function(e,n){return n===t}).skip(1).skipUntil(function(e,t){return e.getLength()}).first();return n?n.getInlineStyleAt(n.getLength()-1):l()}e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeOutboundLink=t.getFeed=t.getCourseFeed=t.getPostFeed=t.decodeHTML=t.sendRequest=t.getDirectionalStyle=t.createSvgIconComponent=void 0;var r=n(391);Object.defineProperty(t,"makeOutboundLink",{enumerable:!0,get:function(){return r.makeOutboundLink}});var o=n(395),i=f(n(396)),a=f(n(398)),s=f(n(130)),u=f(n(400)),l=f(n(223)),c=f(n(401));function f(e){return e&&e.__esModule?e:{default:e}}t.createSvgIconComponent=c.default,t.getDirectionalStyle=o.getDirectionalStyle,t.sendRequest=i.default,t.decodeHTML=a.default,t.getPostFeed=l.default,t.getCourseFeed=u.default,t.getFeed=s.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenReaderShortcut=t.ScreenReaderText=t.Row=t.ZebrafiedListTable=t.ListTable=t.Checkbox=t.WordOccurrences=t.WordList=t.YouTubeVideo=t.Warning=t.Tabs=t.YoastSeoIcon=t.Modal=t.Logo=t.YoastLinkButton=t.InputField=t.YoastButton=t.UpsellLinkButton=t.UpsellButton=t.Toggle=t.Textfield=t.Textarea=t.SynonymsInput=t.icons=t.SvgIcon=t.StackedProgressBar=t.ScoreAssessments=t.SectionTitle=t.Section=t.ProgressBar=t.Paper=t.Notification=t.MultiStepProgress=t.Loader=t.languageNoticePropType=t.LanguageNotice=t.Label=t.KeywordSuggestions=t.Input=t.IFrame=t.IconButtonToggle=t.Icon=t.HelpText=t.Heading=t.ErrorBoundary=t.IconsButton=t.IconButton=t.IconLabeledButton=t.CourseDetails=t.CardBanner=t.FullHeightCard=t.Card=t.ArticleList=t.Alert=t.wrapInHeading=t.StyledContainerTopLevel=t.StyledContainer=t.StyledIconsButton=t.CollapsibleStateless=t.Collapsible=t.addButtonStyles=t.addBaseStyle=t.addFocusStyle=t.addActiveStyle=t.addHoverStyle=t.BaseButton=t.Button=t.LinkButton=t.StyledHeading=t.StyledSectionBase=t.StyledSection=void 0;var r=n(403);Object.keys(r).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})});var o=n(405);Object.keys(o).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}})});var i=n(407);Object.keys(i).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}})});var a=n(409);Object.keys(a).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}})});var s=n(411);Object.keys(s).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}})});var u=n(413);Object.keys(u).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}})});var l=n(415);Object.keys(l).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}})});var c=n(417);Object.keys(c).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}})});var f=n(419);Object.keys(f).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}})});var d=n(60);Object.defineProperty(t,"Button",{enumerable:!0,get:function(){return pe(d).default}}),Object.defineProperty(t,"BaseButton",{enumerable:!0,get:function(){return d.BaseButton}}),Object.defineProperty(t,"addHoverStyle",{enumerable:!0,get:function(){return d.addHoverStyle}}),Object.defineProperty(t,"addActiveStyle",{enumerable:!0,get:function(){return d.addActiveStyle}}),Object.defineProperty(t,"addFocusStyle",{enumerable:!0,get:function(){return d.addFocusStyle}}),Object.defineProperty(t,"addBaseStyle",{enumerable:!0,get:function(){return d.addBaseStyle}}),Object.defineProperty(t,"addButtonStyles",{enumerable:!0,get:function(){return d.addButtonStyles}});var p=n(447);Object.defineProperty(t,"Collapsible",{enumerable:!0,get:function(){return pe(p).default}}),Object.defineProperty(t,"CollapsibleStateless",{enumerable:!0,get:function(){return p.CollapsibleStateless}}),Object.defineProperty(t,"StyledIconsButton",{enumerable:!0,get:function(){return p.StyledIconsButton}}),Object.defineProperty(t,"StyledContainer",{enumerable:!0,get:function(){return p.StyledContainer}}),Object.defineProperty(t,"StyledContainerTopLevel",{enumerable:!0,get:function(){return p.StyledContainerTopLevel}}),Object.defineProperty(t,"wrapInHeading",{enumerable:!0,get:function(){return p.wrapInHeading}});var h=n(515);Object.defineProperty(t,"Alert",{enumerable:!0,get:function(){return pe(h).default}});var g=n(516);Object.defineProperty(t,"ArticleList",{enumerable:!0,get:function(){return pe(g).default}});var y=n(517);Object.defineProperty(t,"Card",{enumerable:!0,get:function(){return pe(y).default}}),Object.defineProperty(t,"FullHeightCard",{enumerable:!0,get:function(){return y.FullHeightCard}});var m=n(254);Object.defineProperty(t,"CardBanner",{enumerable:!0,get:function(){return pe(m).default}});var v=n(518);Object.defineProperty(t,"CourseDetails",{enumerable:!0,get:function(){return pe(v).default}});var b=n(519);Object.defineProperty(t,"IconLabeledButton",{enumerable:!0,get:function(){return pe(b).default}});var _=n(520);Object.defineProperty(t,"IconButton",{enumerable:!0,get:function(){return pe(_).default}});var x=n(253);Object.defineProperty(t,"IconsButton",{enumerable:!0,get:function(){return pe(x).default}});var w=n(521);Object.defineProperty(t,"ErrorBoundary",{enumerable:!0,get:function(){return pe(w).default}});var S=n(152);Object.defineProperty(t,"Heading",{enumerable:!0,get:function(){return pe(S).default}});var C=n(540);Object.defineProperty(t,"HelpText",{enumerable:!0,get:function(){return pe(C).default}});var k=n(541);Object.defineProperty(t,"Icon",{enumerable:!0,get:function(){return pe(k).default}});var O=n(542);Object.defineProperty(t,"IconButtonToggle",{enumerable:!0,get:function(){return pe(O).default}});var E=n(258);Object.defineProperty(t,"IFrame",{enumerable:!0,get:function(){return pe(E).default}});var T=n(259);Object.defineProperty(t,"Input",{enumerable:!0,get:function(){return pe(T).default}});var M=n(543);Object.defineProperty(t,"KeywordSuggestions",{enumerable:!0,get:function(){return pe(M).default}});var P=n(263);Object.defineProperty(t,"Label",{enumerable:!0,get:function(){return pe(P).default}});var j=n(549);Object.defineProperty(t,"LanguageNotice",{enumerable:!0,get:function(){return pe(j).default}}),Object.defineProperty(t,"languageNoticePropType",{enumerable:!0,get:function(){return j.languageNoticePropType}});var A=n(550);Object.defineProperty(t,"Loader",{enumerable:!0,get:function(){return pe(A).default}});var I=n(551);Object.defineProperty(t,"MultiStepProgress",{enumerable:!0,get:function(){return pe(I).default}});var R=n(552);Object.defineProperty(t,"Notification",{enumerable:!0,get:function(){return pe(R).default}});var D=n(264);Object.defineProperty(t,"Paper",{enumerable:!0,get:function(){return pe(D).default}});var N=n(553);Object.defineProperty(t,"ProgressBar",{enumerable:!0,get:function(){return pe(N).default}});var B=n(265);Object.defineProperty(t,"Section",{enumerable:!0,get:function(){return pe(B).default}});var L=n(250);Object.defineProperty(t,"SectionTitle",{enumerable:!0,get:function(){return L.SectionTitle}});var F=n(554);Object.defineProperty(t,"ScoreAssessments",{enumerable:!0,get:function(){return pe(F).default}});var z=n(555);Object.defineProperty(t,"StackedProgressBar",{enumerable:!0,get:function(){return pe(z).default}});var q=n(39);Object.defineProperty(t,"SvgIcon",{enumerable:!0,get:function(){return pe(q).default}}),Object.defineProperty(t,"icons",{enumerable:!0,get:function(){return q.icons}});var K=n(556);Object.defineProperty(t,"SynonymsInput",{enumerable:!0,get:function(){return pe(K).default}});var W=n(267);Object.defineProperty(t,"Textarea",{enumerable:!0,get:function(){return pe(W).default}});var U=n(559);Object.defineProperty(t,"Textfield",{enumerable:!0,get:function(){return pe(U).default}});var $=n(560);Object.defineProperty(t,"Toggle",{enumerable:!0,get:function(){return pe($).default}});var H=n(561);Object.defineProperty(t,"UpsellButton",{enumerable:!0,get:function(){return H.UpsellButton}});var V=n(562);Object.defineProperty(t,"UpsellLinkButton",{enumerable:!0,get:function(){return V.UpsellLinkButton}});var G=n(153);Object.defineProperty(t,"YoastButton",{enumerable:!0,get:function(){return G.YoastButton}});var Y=n(266);Object.defineProperty(t,"InputField",{enumerable:!0,get:function(){return Y.InputField}});var X=n(563);Object.defineProperty(t,"YoastLinkButton",{enumerable:!0,get:function(){return X.YoastLinkButton}});var J=n(564);Object.defineProperty(t,"Logo",{enumerable:!0,get:function(){return pe(J).default}});var Z=n(565);Object.defineProperty(t,"Modal",{enumerable:!0,get:function(){return pe(Z).default}});var Q=n(577);Object.defineProperty(t,"YoastSeoIcon",{enumerable:!0,get:function(){return pe(Q).default}});var ee=n(578);Object.defineProperty(t,"Tabs",{enumerable:!0,get:function(){return pe(ee).default}});var te=n(581);Object.defineProperty(t,"Warning",{enumerable:!0,get:function(){return pe(te).default}});var ne=n(583);Object.defineProperty(t,"YouTubeVideo",{enumerable:!0,get:function(){return pe(ne).default}});var re=n(261);Object.defineProperty(t,"WordList",{enumerable:!0,get:function(){return pe(re).default}});var oe=n(262);Object.defineProperty(t,"WordOccurrences",{enumerable:!0,get:function(){return pe(oe).default}});var ie=n(584);Object.defineProperty(t,"Checkbox",{enumerable:!0,get:function(){return pe(ie).default}});var ae=n(585);Object.defineProperty(t,"ListTable",{enumerable:!0,get:function(){return ae.ListTable}}),Object.defineProperty(t,"ZebrafiedListTable",{enumerable:!0,get:function(){return ae.ZebrafiedListTable}});var se=n(586);Object.defineProperty(t,"Row",{enumerable:!0,get:function(){return se.Row}});var ue=n(251);Object.defineProperty(t,"ScreenReaderText",{enumerable:!0,get:function(){return pe(ue).default}});var le=n(587);Object.defineProperty(t,"ScreenReaderShortcut",{enumerable:!0,get:function(){return pe(le).default}}),n(588);var ce=n(595),fe=pe(ce),de=n(596);function pe(e){return e&&e.__esModule?e:{default:e}}t.StyledSection=fe.default,t.StyledSectionBase=ce.StyledSectionBase,t.StyledHeading=ce.StyledHeading,t.LinkButton=de.LinkButton},function(e,t,n){e.exports=n(568)()},function(e,t){e.exports=window.wp.i18n},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){e.exports={default:n(614),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(616));t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),(0,r.default)(e,o.key,o)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(167));t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,r.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(638)),o=a(n(642)),i=a(n(167));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,i.default)(t)));e.prototype=(0,o.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t){e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){e.exports=n(733)()},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(607));t.default=r.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";var r=n(25),o=n(772),i=n(46),a=n(4),s=n(773),u=n(775),l=n(109),c=n(778),f=n(779),d=n(5),p=n(780),h=n(314),g=n(781),y=n(782),m=a.OrderedSet,v={replaceText:function(e,t,n,o,i){var a=h(e,t),s=g(a,t),u=r.create({style:o||m(),entity:i||null});return f(s,s.getSelectionAfter(),n,u)},insertText:function(e,t,n,r,o){return t.isCollapsed()||d(!1),v.replaceText(e,t,n,r,o)},moveText:function(e,t,n){var r=l(e,t),o=v.removeRange(e,t,"backward");return v.replaceWithFragment(o,n,r)},replaceWithFragment:function(e,t,n){var r=h(e,t),o=g(r,t);return c(o,o.getSelectionAfter(),n)},removeRange:function(e,t,n){var r,o,a=void 0,s=void 0;t.getIsBackward()&&(t=t.merge({anchorKey:t.getFocusKey(),anchorOffset:t.getFocusOffset(),focusKey:t.getAnchorKey(),focusOffset:t.getAnchorOffset(),isBackward:!1})),r=t.getAnchorKey(),o=t.getFocusKey(),a=e.getBlockForKey(r),s=e.getBlockForKey(o);var l=t.getStartOffset(),c=t.getEndOffset(),f=a.getEntityAt(l),d=s.getEntityAt(c-1);if(r===o&&f&&f===d){var p=u(e.getEntityMap(),a,s,t,n);return g(e,p)}var y=t;i.draft_segmented_entities_behavior&&(y=u(e.getEntityMap(),a,s,t,n));var m=h(e,y);return g(m,y)},splitBlock:function(e,t){var n=h(e,t),r=g(n,t);return y(r,r.getSelectionAfter())},applyInlineStyle:function(e,t,n){return o.add(e,t,n)},removeInlineStyle:function(e,t,n){return o.remove(e,t,n)},setBlockType:function(e,t,n){return p(e,t,function(e){return e.merge({type:n,depth:0})})},setBlockData:function(e,t,n){return p(e,t,function(e){return e.merge({data:n})})},mergeBlockData:function(e,t,n){return p(e,t,function(e){return e.merge({data:e.getData().merge(n)})})},applyEntity:function(e,t,n){var r=h(e,t);return s(r,t,n)}};e.exports=v},function(e,t){e.exports=ReactDOM},function(e,t,n){"use strict";var r=n(770),o=n(84),i=n(25),a=n(786),s=n(56),u=n(184),l=n(187),c=n(320),f=n(787),d=n(322),p=n(110),h=n(22),g=n(318),y=n(6),m=n(194),v=n(336),b=n(71),_=n(850),x={Editor:f,EditorBlock:d,EditorState:y,CompositeDecorator:a,Entity:p,EntityInstance:g,BlockMapBuilder:o,CharacterMetadata:i,ContentBlock:s,ContentState:u,SelectionState:b,AtomicBlockUtils:r,KeyBindingUtil:m,Modifier:h,RichUtils:v,DefaultDraftBlockRenderMap:l,DefaultDraftInlineStyle:c,convertFromHTML:n(334),convertFromRaw:n(853),convertToRaw:_,genKey:n(40),getDefaultKeyBinding:n(337),getVisibleSelectionRect:n(858)};e.exports=x},function(e,t,n){"use strict";var r=n(4),o=r.Map,i=r.OrderedSet,a=r.Record,s=i(),u={style:s,entity:null},l=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getStyle=function(){return this.get("style")},t.prototype.getEntity=function(){return this.get("entity")},t.prototype.hasStyle=function(e){return this.getStyle().includes(e)},t.applyStyle=function(e,n){var r=e.set("style",e.getStyle().add(n));return t.create(r)},t.removeStyle=function(e,n){var r=e.set("style",e.getStyle().remove(n));return t.create(r)},t.applyEntity=function(e,n){var r=e.getEntity()===n?e:e.set("entity",n);return t.create(r)},t.create=function(e){if(!e)return c;var n=o({style:s,entity:null}).merge(e),r=f.get(n);if(r)return r;var i=new t(n);return f=f.set(n,i),i},t}(a(u)),c=new l,f=o([[o(u),c]]);l.EMPTY=c,e.exports=l},function(e,t,n){"use strict";
2
  /*
3
  object-assign
4
  (c) Sindre Sorhus
5
  @license MIT
6
+ */var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))o.call(n,l)&&(s[l]=n[l]);if(r){a=r(n);for(var c=0;c<a.length;c++)i.call(n,a[c])&&(s[a[c]]=n[a[c]])}}return s}},function(e,t,n){"use strict";var r=n(25),o=n(4),i=n(85),a=o.List,s=o.Map,u=o.OrderedSet,l=o.Record,c=o.Repeat,f=u(),d={parent:null,characterList:a(),data:s(),depth:0,key:"",text:"",type:"unstyled",children:a(),prevSibling:null,nextSibling:null},p=function(e,t){return e.getStyle()===t.getStyle()},h=function(e,t){return e.getEntity()===t.getEntity()},g=function(e){if(!e)return e;var t=e.characterList,n=e.text;return n&&!t&&(e.characterList=a(c(r.EMPTY,n.length))),e},y=function(e){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,g(n)))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getKey=function(){return this.get("key")},t.prototype.getType=function(){return this.get("type")},t.prototype.getText=function(){return this.get("text")},t.prototype.getCharacterList=function(){return this.get("characterList")},t.prototype.getLength=function(){return this.getText().length},t.prototype.getDepth=function(){return this.get("depth")},t.prototype.getData=function(){return this.get("data")},t.prototype.getInlineStyleAt=function(e){var t=this.getCharacterList().get(e);return t?t.getStyle():f},t.prototype.getEntityAt=function(e){var t=this.getCharacterList().get(e);return t?t.getEntity():null},t.prototype.getChildKeys=function(){return this.get("children")},t.prototype.getParentKey=function(){return this.get("parent")},t.prototype.getPrevSiblingKey=function(){return this.get("prevSibling")},t.prototype.getNextSiblingKey=function(){return this.get("nextSibling")},t.prototype.findStyleRanges=function(e,t){i(this.getCharacterList(),p,e,t)},t.prototype.findEntityRanges=function(e,t){i(this.getCharacterList(),h,e,t)},t}(l(d));e.exports=y},function(e,t,n){var r=n(164)("wks"),o=n(102),i=n(44).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={easeOutFunction:"cubic-bezier(0.23, 1, 0.32, 1)",easeInOutFunction:"cubic-bezier(0.445, 0.05, 0.55, 0.95)",easeOut:function(e,t,n,r){if(r=r||this.easeOutFunction,t&&"[object Array]"===Object.prototype.toString.call(t)){for(var o="",i=0;i<t.length;i++)o&&(o+=","),o+=this.create(e,t[i],n,r);return o}return this.create(e,t,n,r)},create:function(e,t,n,r){return e=e||"450ms",t=t||"all",n=n||"0ms",t+" "+e+" "+(r=r||"linear")+" "+n}}},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";e.exports=function(e){if(null!=e)return e;throw new Error("Got unexpected null or undefined")}},function(e,t,n){var r=n(226),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],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}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(301),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){"use strict";var r=n(793),o=n(796),i=n(797),a=n(798);function s(e,t,n,r){if(e===n)return!0;if(!n.startsWith(e))return!1;var i=n.slice(e.length);return!!t&&(i=r?r(i):i,o.contains(i,t))}function u(e){return"Windows"===r.platformName?e.replace(/^\s*NT/,""):e}var l={isBrowser:function(e){return s(r.browserName,r.browserFullVersion,e)},isBrowserArchitecture:function(e){return s(r.browserArchitecture,null,e)},isDevice:function(e){return s(r.deviceName,null,e)},isEngine:function(e){return s(r.engineName,r.engineVersion,e)},isPlatform:function(e){return s(r.platformName,r.platformFullVersion,e,u)},isPlatformArchitecture:function(e){return s(r.platformArchitecture,null,e)}};e.exports=i(l,a)},function(e,t,n){var r=n(365),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.icons=void 0;var r=a(n(0)),o=a(n(1)),i=n(7);function a(e){return e&&e.__esModule?e:{default:e}}const s=o.default.svg.withConfig({displayName:"SvgIcon__StyledSvgSpinner",componentId:"w0wn5g-0"})(["width:",";height:",";flex:none;animation:loadingSpinnerRotator 1.4s linear infinite;& .path{stroke:",";stroke-dasharray:187;stroke-dashoffset:0;transform-origin:center;animation:loadingSpinnerDash 1.4s ease-in-out infinite;}@keyframes loadingSpinnerRotator{0%{transform:rotate( 0deg );}100%{transform:rotate( 270deg );}}@keyframes loadingSpinnerDash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:47;transform:rotate( 135deg );}100%{stroke-dashoffset:187;transform:rotate( 450deg );}}"],e=>e.size,e=>e.size,e=>e.fill),u=t.icons={"chevron-down":{viewbox:"0 0 24 24",width:"24px",path:[r.default.createElement("g",{key:"1"},r.default.createElement("path",{fill:"none",d:"M0,0h24v24H0V0z"})),r.default.createElement("g",{key:"2"},r.default.createElement("path",{d:"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"}))]},"chevron-up":{viewbox:"0 0 24 24",width:"24px",path:[r.default.createElement("g",{key:"1"},r.default.createElement("path",{fill:"none",d:"M0,0h24v24H0V0z"})),r.default.createElement("g",{key:"2"},r.default.createElement("path",{d:"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z"}))]},clipboard:{viewbox:"0 0 1792 1792",path:"M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z"},check:{viewbox:"0 0 1792 1792",path:"M249.2,431.2c-23,0-45.6,9.4-61.8,25.6L25.6,618.6C9.4,634.8,0,657.4,0,680.4c0,23,9.4,45.6,25.6,61.8 l593.1,593.1c16.2,16.2,38.8,25.6,61.8,25.6c23,0,45.6-9.4,61.8-25.6L1766.4,311c16.2-16.2,25.6-38.8,25.6-61.8 s-9.4-45.6-25.6-61.8L1604.5,25.6C1588.3,9.4,1565.8,0,1542.8,0c-23,0-45.6,9.4-61.8,25.6L680.4,827L311,456.3 C294.8,440.5,272.3,431.2,249.2,431.2z"},"angle-down":{viewbox:"0 0 1792 1792",path:"M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"},"angle-left":{viewbox:"0 0 1792 1792",path:"M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"},"angle-right":{viewbox:"0 0 1792 1792",path:"M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"},"angle-up":{viewbox:"0 0 1792 1792",path:"M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"},"arrow-down":{viewbox:"0 0 1792 1792",path:"M896 1791L120.91 448.5L1671.09 448.5z"},"arrow-left":{viewbox:"0 0 1792 1792",path:"M1343.5 1671.09L1 896L1343.5 120.91z"},"arrow-right":{viewbox:"0 0 1792 1792",path:"M1791 896L448.5 1671.09L448.5 120.91z"},"arrow-up":{viewbox:"0 0 1792 1792",path:"M1671.09 1343.5L120.91 1343.5L896 1z"},"caret-right":{viewbox:"0 0 192 512",path:"M 0 384.662 V 127.338 c 0 -17.818 21.543 -26.741 34.142 -14.142 l 128.662 128.662 c 7.81 7.81 7.81 20.474 0 28.284 L 34.142 398.804 C 21.543 411.404 0 402.48 0 384.662 Z"},circle:{viewbox:"0 0 1792 1792",path:"M1664 896q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},desktop:{viewbox:"0 0 1792 1792",path:"M1728 992v-832q0-13-9.5-22.5t-22.5-9.5h-1600q-13 0-22.5 9.5t-9.5 22.5v832q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5zm128-832v1088q0 66-47 113t-113 47h-544q0 37 16 77.5t32 71 16 43.5q0 26-19 45t-45 19h-512q-26 0-45-19t-19-45q0-14 16-44t32-70 16-78h-544q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1600q66 0 113 47t47 113z"},edit:{viewbox:"0 0 1792 1792",path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"},eye:{viewbox:"0 0 1792 1792",path:"M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"},"exclamation-triangle":{viewbox:"0 0 1792 1792",path:"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"},"file-text":{viewbox:"0 0 1792 1792",path:"M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280zm-1024-864q0-14 9-23t23-9h704q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64zm736 224q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h704zm0 256q14 0 23 9t9 23v64q0 14-9 23t-23 9h-704q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h704z"},gear:{viewbox:"0 0 1792 1792",path:"M1800 800h-218q-26 -107 -81 -193l154 -154l-210 -210l-154 154q-88 -55 -191 -79v-218h-300v218q-103 24 -191 79l-154 -154l-212 212l154 154q-55 88 -79 191h-218v297h217q23 101 80 194l-154 154l210 210l154 -154q85 54 193 81v218h300v-218q103 -24 191 -79 l154 154l212 -212l-154 -154q57 -93 80 -194h217v-297zM950 650q124 0 212 88t88 212t-88 212t-212 88t-212 -88t-88 -212t88 -212t212 -88z"},key:{viewbox:"0 0 1792 1792",path:"M832 512q0-80-56-136t-136-56-136 56-56 136q0 42 19 83-41-19-83-19-80 0-136 56t-56 136 56 136 136 56 136-56 56-136q0-42-19-83 41 19 83 19 80 0 136-56t56-136zm851 704q0 17-49 66t-66 49q-9 0-28.5-16t-36.5-33-38.5-40-24.5-26l-96 96 220 220q28 28 28 68 0 42-39 81t-81 39q-40 0-68-28l-671-671q-176 131-365 131-163 0-265.5-102.5t-102.5-265.5q0-160 95-313t248-248 313-95q163 0 265.5 102.5t102.5 265.5q0 189-131 365l355 355 96-96q-3-3-26-24.5t-40-38.5-33-36.5-16-28.5q0-17 49-66t66-49q13 0 23 10 6 6 46 44.5t82 79.5 86.5 86 73 78 28.5 41z"},list:{viewbox:"0 0 1792 1792",path:"M384 1408q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm0-512q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm-1408-928q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z"},"loading-spinner":{viewbox:"0 0 66 66",CustomComponent:s,path:[r.default.createElement("circle",{key:"5",className:"path",fill:"none",strokeWidth:"6",strokeLinecap:"round",cx:"33",cy:"33",r:"30"})]},mobile:{viewbox:"0 0 1792 1792",path:"M976 1408q0-33-23.5-56.5t-56.5-23.5-56.5 23.5-23.5 56.5 23.5 56.5 56.5 23.5 56.5-23.5 23.5-56.5zm208-160v-704q0-13-9.5-22.5t-22.5-9.5h-512q-13 0-22.5 9.5t-9.5 22.5v704q0 13 9.5 22.5t22.5 9.5h512q13 0 22.5-9.5t9.5-22.5zm-192-848q0-16-16-16h-160q-16 0-16 16t16 16h160q16 0 16-16zm288-16v1024q0 52-38 90t-90 38h-512q-52 0-90-38t-38-90v-1024q0-52 38-90t90-38h512q52 0 90 38t38 90z"},"pencil-square":{viewbox:"0 0 1792 1792",path:"M888 1184l116-116-152-152-116 116v56h96v96h56zm440-720q-16-16-33 1l-350 350q-17 17-1 33t33-1l350-350q17-17 1-33zm80 594v190q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-14 14-32 8-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-126q0-13 9-22l64-64q15-15 35-7t20 29zm-96-738l288 288-672 672h-288v-288zm444 132l-92 92-288-288 92-92q28-28 68-28t68 28l152 152q28 28 28 68t-28 68z"},plus:{viewbox:"0 0 1792 1792",path:"M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"},"plus-circle":{viewbox:"0 0 1792 1792",path:"M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},"question-circle":{viewbox:"0 0 1792 1792",path:"M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"},search:{viewbox:"0 0 1792 1792",path:"M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"},"seo-score-bad":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z M328 176c17.7 0 32 14.3 32 32 s-14.3 32-32 32s-32-14.3-32-32S310.3 176 328 176z M168 176c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32S150.3 176 168 176 z M338.2 394.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320 s86.3 19.6 114.7 53.8C376.3 390 351.7 410.5 338.2 394.2L338.2 394.2z"},"seo-score-good":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z M328 176c17.7 0 32 14.3 32 32 s-14.3 32-32 32s-32-14.3-32-32S310.3 176 328 176z M168 176c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32S150.3 176 168 176 z M362.8 346.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5c22.4 26.9 55.2 42.2 90.2 42.2 s67.8-15.4 90.2-42.2C351.6 309.5 376.3 329.9 362.8 346.2L362.8 346.2z"},"seo-score-none":{viewbox:"0 0 496 512",path:"M248 8C111 8 0 119 0 256s111 248 248 248s248-111 248-248S385 8 248 8z"},"seo-score-ok":{viewbox:"0 0 496 512",path:[r.default.createElement("path",{key:"1",fill:"#000000",d:"M344 336c21.2 0 21.2 32 0 32H152c-21.2 0-21.2-32 0-32H344z"}),r.default.createElement("circle",{key:"2",fill:"#000000",cx:"328",cy:"208",r:"32"}),r.default.createElement("circle",{key:"3",fill:"#000000",cx:"168",cy:"208",r:"32"}),r.default.createElement("path",{key:"4",d:"M248 8c137 0 248 111 248 248S385 504 248 504S0 393 0 256S111 8 248 8z M360 208c0-17.7-14.3-32-32-32 s-32 14.3-32 32s14.3 32 32 32S360 225.7 360 208z M344 368c21.2 0 21.2-32 0-32H152c-21.2 0-21.2 32 0 32H344z M200 208 c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32S200 225.7 200 208z"})]},times:{viewbox:"0 0 1792 1792",path:"M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"},"times-circle":{viewbox:"0 0 20 20",path:"M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z"},"alert-info":{viewbox:"0 0 512 512",path:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},"alert-error":{viewbox:"0 0 512 512",path:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"},"alert-success":{viewbox:"0 0 512 512",path:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"},"alert-warning":{viewbox:"0 0 576 512",path:"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"}};t.default=(0,i.createSvgIconComponent)(u)},function(e,t,n){"use strict";var r={},o=Math.pow(2,24);e.exports=function(){for(var e=void 0;void 0===e||r.hasOwnProperty(e)||!isNaN(+e);)e=Math.floor(Math.random()*o).toString(32);return r[e]=!0,e}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){e.exports=n(598)()},function(e,t,n){var r=n(44),o=n(21),i=n(158),a=n(64),s=n(53),u=function(e,t,n){var l,c,f,d=e&u.F,p=e&u.G,h=e&u.S,g=e&u.P,y=e&u.B,m=e&u.W,v=p?o:o[t]||(o[t]={}),b=v.prototype,_=p?r:h?r[t]:(r[t]||{}).prototype;for(l in p&&(n=t),n)(c=!d&&_&&void 0!==_[l])&&s(v,l)||(f=c?_[l]:n[l],v[l]=p&&"function"!=typeof _[l]?n[l]:y&&c?i(f,r):m&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):g&&"function"==typeof f?i(Function.call,f):f,g&&((v.virtual||(v.virtual={}))[l]=f,e&u.R&&b&&!b[l]&&a(b,l,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(51),o=n(273),i=n(159),a=Object.defineProperty;t.f=n(52)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";var r=n(771);e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r;
7
  /*!
8
  Copyright (c) 2017 Jed Watson.
9
  Licensed under the MIT License (MIT), see
14
  Licensed under the MIT License (MIT), see
15
  http://jedwatson.github.io/classnames
16
  */
17
+ !function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===i)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}void 0!==e&&e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){var r=n(433),o=n(436);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(65);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(66)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(107),o=n(736),i=n(737),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){"use strict";var r=n(25),o=n(4),i=n(85),a=o.List,s=o.Map,u=o.OrderedSet,l=o.Record,c=o.Repeat,f=u(),d=function(e){if(!e)return e;var t=e.characterList,n=e.text;return n&&!t&&(e.characterList=a(c(r.EMPTY,n.length))),e},p=function(e){function t(n){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,d(n)))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getKey=function(){return this.get("key")},t.prototype.getType=function(){return this.get("type")},t.prototype.getText=function(){return this.get("text")},t.prototype.getCharacterList=function(){return this.get("characterList")},t.prototype.getLength=function(){return this.getText().length},t.prototype.getDepth=function(){return this.get("depth")},t.prototype.getData=function(){return this.get("data")},t.prototype.getInlineStyleAt=function(e){var t=this.getCharacterList().get(e);return t?t.getStyle():f},t.prototype.getEntityAt=function(e){var t=this.getCharacterList().get(e);return t?t.getEntity():null},t.prototype.findStyleRanges=function(e,t){i(this.getCharacterList(),h,e,t)},t.prototype.findEntityRanges=function(e,t){i(this.getCharacterList(),g,e,t)},t}(l({key:"",type:"unstyled",text:"",characterList:a(),depth:0,data:s()}));function h(e,t){return e.getStyle()===t.getStyle()}function g(e,t){return e.getEntity()===t.getEntity()}e.exports=p},function(e,t,n){"use strict";var r=n(5),o=55296,i=56319,a=56320,s=57343,u=/[\uD800-\uDFFF]/;function l(e){return o<=e&&e<=s}function c(e){return u.test(e)}function f(e,t){return 1+l(e.charCodeAt(t))}function d(e,t,n){if(t=t||0,n=void 0===n?1/0:n||0,!c(e))return e.substr(t,n);var r=e.length;if(r<=0||t>r||n<=0)return"";var o=0;if(t>0){for(;t>0&&o<r;t--)o+=f(e,o);if(o>=r)return""}else if(t<0){for(o=r;t<0&&0<o;t++)o-=f(e,o-1);o<0&&(o=0)}var i=r;if(n<r)for(i=o;n>0&&i<r;n--)i+=f(e,i);return e.substring(o,i)}var p={getCodePoints:function(e){for(var t=[],n=0;n<e.length;n+=f(e,n))t.push(e.codePointAt(n));return t},getUTF16Length:f,hasSurrogateUnit:c,isCodeUnitInSurrogateRange:l,isSurrogatePair:function(e,t){if(0<=t&&t<e.length||r(!1),t+1===e.length)return!1;var n=e.charCodeAt(t),u=e.charCodeAt(t+1);return o<=n&&n<=i&&a<=u&&u<=s},strlen:function(e){if(!c(e))return e.length;for(var t=0,n=0;n<e.length;n+=f(e,n))t++;return t},substring:function(e,t,n){t=t||0,n=void 0===n?1/0:n||0,t<0&&(t=0),n<0&&(n=0);var r=Math.abs(n-t);return d(e,t=t<n?t:n,r)},substr:d};e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.recommendedReplacementVariablesShape=t.replacementVariablesShape=t.lengthProgressShape=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(17));t.lengthProgressShape=r.default.shape({max:r.default.number,actual:r.default.number,score:r.default.number}),t.replacementVariablesShape=r.default.arrayOf(r.default.shape({name:r.default.string.isRequired,value:r.default.string.isRequired,label:r.default.string,description:r.default.string})),t.recommendedReplacementVariablesShape=r.default.arrayOf(r.default.string)},function(e,t,n){var r=n(1001),o=n(1006);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseButton=t.addButtonStyles=void 0,t.addBaseStyle=f,t.addFocusStyle=d,t.addHoverStyle=p,t.addActiveStyle=h;var r=u(n(1)),o=u(n(224)),i=u(n(2)),a=n(3),s=n(7);function u(e){return e&&e.__esModule?e:{default:e}}const l={minHeight:32,verticalPadding:4,borderWidth:1},c=l.minHeight-2*l.verticalPadding-2*l.borderWidth;function f(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-0"})(["display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-width:",";border-style:solid;margin:0;padding:"," 10px;border-radius:3px;cursor:pointer;box-sizing:border-box;font-size:inherit;font-family:inherit;font-weight:inherit;text-align:",";overflow:visible;min-height:",';svg{align-self:center;}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){::after{display:inline-block;content:"";min-height:',";}}"],`${l.borderWidth}px`,`${l.verticalPadding}px`,(0,s.getDirectionalStyle)("left","right"),`${l.minHeight}px`,`${c}px`)}function d(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-1"})(["&::-moz-focus-inner{border-width:0;}&:focus{outline:none;border-color:",";color:",";background-color:",";box-shadow:0 0 3px ",";}"],e=>e.focusBorderColor,e=>e.focusColor,e=>e.focusBackgroundColor,(0,a.rgba)(a.colors.$color_blue_dark,.8))}function p(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-2"})(["&:hover{color:",";background-color:",";border-color:",";}"],e=>e.hoverColor,e=>e.hoverBackgroundColor,e=>e.hoverBorderColor)}function h(e){return(0,r.default)(e).withConfig({displayName:"Button",componentId:"grb41s-3"})(["&:active{color:",";background-color:",";border-color:",";box-shadow:inset 0 2px 5px -3px ",";}"],e=>e.activeColor,e=>e.activeBackgroundColor,e=>e.activeBorderColor,(0,a.rgba)(a.colors.$color_button_border_active,.5))}const g=t.addButtonStyles=(0,o.default)([h,d,p,f]),y=t.BaseButton=g(r.default.button.withConfig({displayName:"Button__BaseButton",componentId:"grb41s-4"})(["color:",";border-color:",";background:",";box-shadow:0 1px 0 ",";"],e=>e.textColor,e=>e.borderColor,e=>e.backgroundColor,e=>(0,a.rgba)(e.boxShadowColor,1)));y.propTypes={type:i.default.string,backgroundColor:i.default.string,textColor:i.default.string,borderColor:i.default.string,boxShadowColor:i.default.string,hoverColor:i.default.string,hoverBackgroundColor:i.default.string,hoverBorderColor:i.default.string,activeColor:i.default.string,activeBackgroundColor:i.default.string,activeBorderColor:i.default.string,focusColor:i.default.string,focusBackgroundColor:i.default.string,focusBorderColor:i.default.string},y.defaultProps={type:"button",backgroundColor:a.colors.$color_button,textColor:a.colors.$color_button_text,borderColor:a.colors.$color_button_border,boxShadowColor:a.colors.$color_button_border,hoverColor:a.colors.$color_button_text_hover,hoverBackgroundColor:a.colors.$color_button_hover,hoverBorderColor:a.colors.$color_button_border_hover,activeColor:a.colors.$color_button_text_hover,activeBackgroundColor:a.colors.$color_button,activeBorderColor:a.colors.$color_button_border_hover,focusColor:a.colors.$color_button_text_hover,focusBackgroundColor:a.colors.$color_white,focusBorderColor:a.colors.$color_blue},t.default=y},function(e,t,n){var r=n(78),o=n(426),i=n(427),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=s(n(0)),i=s(n(544)),a=s(n(547));function s(e){return e&&e.__esModule?e:{default:e}}var u=void 0;function l(e,t){var n,a,s,c,f,d,p,h,g=[],y={};for(d=0;d<e.length;d++)if("string"!==(f=e[d]).type){if(!t.hasOwnProperty(f.value)||void 0===t[f.value])throw new Error("Invalid interpolation, missing component node: `"+f.value+"`");if("object"!==r(t[f.value]))throw new Error("Invalid interpolation, component node must be a ReactElement or null: `"+f.value+"`","\n> "+u);if("componentClose"===f.type)throw new Error("Missing opening component token: `"+f.value+"`");if("componentOpen"===f.type){n=t[f.value],s=d;break}g.push(t[f.value])}else g.push(f.value);return n&&(c=function(e,t){var n,r,o=t[e],i=0;for(r=e+1;r<t.length;r++)if((n=t[r]).value===o.value){if("componentOpen"===n.type){i++;continue}if("componentClose"===n.type){if(0===i)return r;i--}}throw new Error("Missing closing component token `"+o.value+"`")}(s,e),p=l(e.slice(s+1,c),t),a=o.default.cloneElement(n,{},p),g.push(a),c<e.length-1&&(h=l(e.slice(c+1),t),g=g.concat(h))),1===g.length?g[0]:(g.forEach(function(e,t){e&&(y["interpolation-child-"+t]=e)}),(0,i.default)(y))}t.default=function(e){var t=e.mixedString,n=e.components,o=e.throwErrors;if(u=t,!n)return t;if("object"!==(void 0===n?"undefined":r(n))){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because components is not an object");return t}var i=(0,a.default)(t);try{return l(i,n)}catch(e){if(o)throw new Error("Interpolation Error: unable to process `"+t+"` because of error `"+e.message+"`");return t}}},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){var r=n(45),o=n(81);e.exports=n(52)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(276),o=n(161);e.exports=function(e){return r(o(e))}},function(e,t){e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(n)return[e,t];return e},e.exports=t.default},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";var r=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.serialize=function(){return"Anchor: "+this.getAnchorKey()+":"+this.getAnchorOffset()+", Focus: "+this.getFocusKey()+":"+this.getFocusOffset()+", Is Backward: "+String(this.getIsBackward())+", Has Focus: "+String(this.getHasFocus())},t.prototype.getAnchorKey=function(){return this.get("anchorKey")},t.prototype.getAnchorOffset=function(){return this.get("anchorOffset")},t.prototype.getFocusKey=function(){return this.get("focusKey")},t.prototype.getFocusOffset=function(){return this.get("focusOffset")},t.prototype.getIsBackward=function(){return this.get("isBackward")},t.prototype.getHasFocus=function(){return this.get("hasFocus")},t.prototype.hasEdgeWithin=function(e,t,n){var r=this.getAnchorKey(),o=this.getFocusKey();if(r===o&&r===e){var i=this.getStartOffset();return t<=this.getEndOffset()&&i<=n}if(e!==r&&e!==o)return!1;var a=e===r?this.getAnchorOffset():this.getFocusOffset();return t<=a&&n>=a},t.prototype.isCollapsed=function(){return this.getAnchorKey()===this.getFocusKey()&&this.getAnchorOffset()===this.getFocusOffset()},t.prototype.getStartKey=function(){return this.getIsBackward()?this.getFocusKey():this.getAnchorKey()},t.prototype.getStartOffset=function(){return this.getIsBackward()?this.getFocusOffset():this.getAnchorOffset()},t.prototype.getEndKey=function(){return this.getIsBackward()?this.getAnchorKey():this.getFocusKey()},t.prototype.getEndOffset=function(){return this.getIsBackward()?this.getAnchorOffset():this.getFocusOffset()},t.createEmpty=function(e){return new t({anchorKey:e,anchorOffset:0,focusKey:e,focusOffset:0,isBackward:!1,hasFocus:!1})},t}((0,n(4).Record)({anchorKey:"",anchorOffset:0,focusKey:"",focusOffset:0,isBackward:!1,hasFocus:!1}));e.exports=r},function(e,t,n){"use strict";function r(e){return e.replace(/\//g,"-")}e.exports=function(e){return"object"==typeof e?Object.keys(e).filter(function(t){return e[t]}).map(r).join(" "):Array.prototype.map.call(arguments,r).join(" ")}},function(e,t,n){var r=n(897),o=n(900);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(75),o=n(1002),i=n(1003),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){var r=n(37).Symbol;e.exports=r},function(e,t,n){var r=n(204),o=n(362);e.exports=function(e,t,n,i){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=i?i(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?o(n,l,c):r(n,l,c)}return n}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(32).Symbol;e.exports=r},function(e,t,n){var r=n(237),o=n(238);e.exports=function(e,t,n,i){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=i?i(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?o(n,l,c):r(n,l,c)}return n}},function(e,t,n){e.exports=n(579)()},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(275),o=n(165);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(161);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(4).OrderedMap,o={createFromArray:function(e){return r(e.map(function(e){return[e.getKey(),e]}))}};e.exports=o},function(e,t,n){"use strict";e.exports=function(e,t,n,r){if(e.size){var o=0;e.reduce(function(e,i,a){return t(e,i)||(n(e)&&r(o,a),o=a),i}),n(e.last())&&r(o,e.count())}}},function(e,t,n){"use strict";e.exports=function(e){return"handled"===e||!0===e}},function(e,t,n){"use strict";var r=n(22);e.exports=function(e,t,n){var o=e.getSelection(),i=e.getCurrentContent(),a=o;if(o.isCollapsed()){if("forward"===n){if(e.isSelectionAtEndOfContent())return i}else if(e.isSelectionAtStartOfContent())return i;if((a=t(e))===o)return i}return r.removeRange(i,a,n)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SiteSEOReport=t.renderRatingToColor=t.AnalysisList=t.AnalysisResult=t.ContentAnalysis=void 0;var r=n(360),o=u(r),i=u(n(990)),a=u(n(361)),s=u(n(991));function u(e){return e&&e.__esModule?e:{default:e}}t.ContentAnalysis=i.default,t.AnalysisResult=a.default,t.AnalysisList=o.default,t.renderRatingToColor=r.renderRatingToColor,t.SiteSEOReport=s.default},function(e,t,n){var r=n(369),o=n(1018),i=n(121);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){var r=n(129),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){e.exports=n(1116)()},function(e,t,n){var r=n(234),o=n(448),i=n(502),a=n(146),s=n(79),u=n(513),l=n(225),c=n(248),f=l(function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,function(t){return t=a(t,e),l||(l=t.length>1),t}),s(e,c(e),n),l&&(n=o(n,7,u));for(var f=t.length;f--;)i(n,t[f]);return n});e.exports=f},function(e,t,n){var r=n(450),o=n(451),i=n(452),a=n(453),s=n(454);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(235);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(50)(Object,"create");e.exports=r},function(e,t,n){var r=n(468);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(487),o=n(137),i=n(488),a=n(489),s=n(231),u=n(61),l=n(229),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(606));t.default=r.default},function(e,t){e.exports=!0},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r=n(621)(!0);n(280)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={set:function(e,t,n){e[t]=n}}},function(e,t,n){var r=n(54),o=n(55),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){var r=n(35).Symbol;e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TriggerReplacementVariableSuggestionsButton=t.SimulatedLabel=t.StyledEditor=t.FormSection=t.DescriptionInputContainer=t.TitleInputContainer=t.withCaretStyles=t.InputContainer=t.angleLeft=t.angleRight=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1)),o=n(8),i=n(3),a=n(7);const s=t.angleRight=(e=>"data:image/svg+xml;charset=utf8,"+encodeURIComponent('<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path fill="'+e+'" d="M1152 896q0 26-19 45l-448 448q-19 19-45 19t-45-19-19-45v-896q0-26 19-45t45-19 45 19l448 448q19 19 19 45z" /></svg>')),u=t.angleLeft=(e=>"data:image/svg+xml;charset=utf8,"+encodeURIComponent('<svg width="1792" height="1792" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path fill="'+e+'" d="M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"/></svg>'));function l(e){switch(!0){case e.isActive:return i.colors.$color_snippet_focus;case e.isHovered:return i.colors.$color_snippet_hover;default:return"transparent"}}const c=t.InputContainer=r.default.div.attrs({}).withConfig({displayName:"shared__InputContainer",componentId:"sc-1qsmlb9-0"})(["flex:0 1 100%;border:1px solid ",";padding:3px 5px;box-sizing:border-box;box-shadow:",";background-color:#fff;color:#32373c;outline:0;transition:50ms border-color ease-in-out;position:relative;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;font-size:14px;cursor:text;"],e=>e.isActive?"#5b9dd9":"#ddd",e=>e.isActive?"0 0 2px rgba(30,140,190,.8);":"inset 0 1px 2px rgba(0,0,0,.07)");function f(e){return(0,a.getDirectionalStyle)(s(l(e)),u(l(e)))(e)}t.withCaretStyles=(e=>(0,r.default)(e).withConfig({displayName:"shared",componentId:"sc-1qsmlb9-1"})(["&::before{display:block;position:absolute;top:-1px;",":-25px;width:24px;height:24px;background-image:url( ",' );background-size:25px;content:"";}'],(0,a.getDirectionalStyle)("left","right"),f)),t.TitleInputContainer=(0,r.default)(c).withConfig({displayName:"shared__TitleInputContainer",componentId:"sc-1qsmlb9-2"})([".public-DraftStyleDefault-block{line-height:24px;}"]),t.DescriptionInputContainer=(0,r.default)(c).withConfig({displayName:"shared__DescriptionInputContainer",componentId:"sc-1qsmlb9-3"})(["min-height:72px;padding:2px 6px;line-height:24px;.public-DraftEditorPlaceholder-root{color:",";}.public-DraftEditorPlaceholder-hasFocus{color:",";}"],i.colors.$color_grey_text,i.colors.$color_grey_text),t.FormSection=r.default.div.withConfig({displayName:"shared__FormSection",componentId:"sc-1qsmlb9-4"})(["display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:24px 0 0 0;"]),t.StyledEditor=r.default.section.withConfig({displayName:"shared__StyledEditor",componentId:"sc-1qsmlb9-5"})(["padding:",";"],e=>e.padding?e.padding:"0 20px"),t.SimulatedLabel=r.default.div.withConfig({displayName:"shared__SimulatedLabel",componentId:"sc-1qsmlb9-6"})(["flex:1 1 200px;min-width:200px;cursor:pointer;font-size:16px;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;margin:4px 0;"]),t.TriggerReplacementVariableSuggestionsButton=(0,r.default)(o.Button).withConfig({displayName:"shared__TriggerReplacementVariableSuggestionsButton",componentId:"sc-1qsmlb9-7"})(["box-shadow:none;font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;padding-left:8px;height:33px;border:1px solid #dbdbdb;font-size:13px;& svg{",":7px;fill:",";}"],(0,a.getDirectionalStyle)("margin-right","margin-left"),i.colors.$color_grey_dark)},function(e,t,n){"use strict";var r=n(313),o=n(314);e.exports=function(e,t){var n=t.getStartKey(),i=t.getStartOffset(),a=t.getEndKey(),s=t.getEndOffset(),u=o(e,t).getBlockMap(),l=u.keySeq(),c=l.indexOf(n),f=l.indexOf(a)+1;return r(u.slice(c,f).map(function(e,t){var r=e.getText(),o=e.getCharacterList();return n===a?e.merge({text:r.slice(i,s),characterList:o.slice(i,s)}):t===n?e.merge({text:r.slice(i),characterList:o.slice(i)}):t===a?e.merge({text:r.slice(0,s),characterList:o.slice(0,s)}):e}))}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(318),i=n(4),a=n(5),s=(0,i.Map)(),u=0;function l(e,t){console.warn("WARNING: "+e+' will be deprecated soon!\nPlease use "'+t+'" instead.')}var c={getLastCreatedEntityKey:function(){return l("DraftEntity.getLastCreatedEntityKey","contentState.getLastCreatedEntityKey"),c.__getLastCreatedEntityKey()},create:function(e,t,n){return l("DraftEntity.create","contentState.createEntity"),c.__create(e,t,n)},add:function(e){return l("DraftEntity.add","contentState.addEntity"),c.__add(e)},get:function(e){return l("DraftEntity.get","contentState.getEntity"),c.__get(e)},mergeData:function(e,t){return l("DraftEntity.mergeData","contentState.mergeEntityData"),c.__mergeData(e,t)},replaceData:function(e,t){return l("DraftEntity.replaceData","contentState.replaceEntityData"),c.__replaceData(e,t)},__getLastCreatedEntityKey:function(){return""+u},__create:function(e,t,n){return c.__add(new o({type:e,mutability:t,data:n||{}}))},__add:function(e){var t=""+ ++u;return s=s.set(t,e),t},__get:function(e){var t=s.get(e);return t||a(!1),t},__mergeData:function(e,t){var n=c.__get(e),o=r({},n.getData(),t),i=n.set("data",o);return s=s.set(e,i),i},__replaceData:function(e,t){var n=c.__get(e).set("data",t);return s=s.set(e,n),n}};e.exports=c},function(e,t,n){"use strict";var r={encode:function(e,t,n){return e+"-"+t+"-"+n},decode:function(e){var t=e.split("-"),n=t[0],r=t[1],o=t[2];return{blockKey:n,decoratorKey:parseInt(r,10),leafKey:parseInt(o,10)}}};e.exports=r},function(e,t,n){var r=n(347),o=n(198);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(913),o=n(344),i=n(112);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){var r=n(919),o=n(920),i=n(921),a=n(922),s=n(923);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(352);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(73)(Object,"create");e.exports=r},function(e,t,n){var r=n(937);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(106),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){e.exports=n(987)()},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(364),o=n(206);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(1026),o=n(1027),i=n(1028),a=n(1029),s=n(1030);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(120);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(59)(Object,"create");e.exports=r},function(e,t,n){var r=n(1044);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(1059),o=n(214),i=n(1060),a=n(1061),s=n(1062),u=n(74),l=n(366),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t,n){var r=n(38),o=n(219),i=n(1066),a=n(1069);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){var r=n(74),o=n(48),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getXPathText=i,t.parseFeed=s,t.default=function(e,t=0,n=o.parseFeedItem){return fetch(e).then(function(e){return e.text()}).then(function(e){return s(e,t,n)})};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(399)),o=n(223);function i(e,t,n=null,r=null){if(0===t.evaluate("count("+e+")",n||t,r,XPathResult.ANY_TYPE,null).numberValue)return;const o=t.evaluate(e,n||t,r,XPathResult.STRING_TYPE,null);return o.stringValue?o.stringValue:null}function a(e,t,n,r){const o=function(e,t,n=null,r=null){return t.evaluate(e,n||t,r,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)}("/rss/channel/item",e);let i=o.snapshotLength;const a=[];0!==n&&(i=Math.min(i,n));for(let n=0;n<i;n++){const i=o.snapshotItem(n);a.push(r(e,i,t))}return a}function s(e,t=0,n){return new Promise(function(o,s){try{"evaluate"in document==!1&&r.default.install();const u=(new DOMParser).parseFromString(e,"application/xml"),l=u.createNSResolver(u.documentElement),c=function(e){const t={};return t.title=i("/rss/channel/title",e),t.description=i("/rss/channel/description",e),t.link=i("/rss/channel/link",e),t}(u);c.items=a(u,l,t,n),o(c)}catch(e){s(e)}})}},function(e,t,n){var r=n(132),o=n(133);function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}i.prototype=r(o.prototype),i.prototype.constructor=i,e.exports=i},function(e,t,n){var r=n(77),o=Object.create,i=function(){function e(){}return function(t){if(!r(t))return{};if(o)return o(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=i},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},function(e,t,n){var r=n(425),o=n(41),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){var r=n(132),o=n(133),i=4294967295;function a(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=i,this.__views__=[]}a.prototype=r(o.prototype),a.prototype.constructor=a,e.exports=a},function(e,t,n){var r=n(50)(n(32),"Map");e.exports=r},function(e,t,n){var r=n(239),o=n(242),i=n(142);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){(function(e){var r=n(32),o=n(475),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(226),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t,n){var r=n(228),o=n(241);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(484),o=n(245),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return i.call(e,t)}))}:o;e.exports=s},function(e,t,n){var r=n(243)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(492);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){var r=n(33),o=n(503),i=n(504),a=n(507);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){var r=n(61),o=n(41),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||o(e)&&r(e)==i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.speak=t.setup=void 0;var r=s(n(522)),o=s(n(523)),i=s(n(524)),a=s(n(525));function s(e){return e&&e.__esModule?e:{default:e}}var u=t.setup=function(){var e=document.getElementById("a11y-speak-polite"),t=document.getElementById("a11y-speak-assertive");null===e&&(e=(0,r.default)("polite")),null===t&&(t=(0,r.default)("assertive"))};(0,i.default)(u);t.speak=function(e,t){(0,o.default)(),e=(0,a.default)(e);var n=document.getElementById("a11y-speak-polite"),r=document.getElementById("a11y-speak-assertive");r&&"assertive"===t?r.textContent=e:n&&(n.textContent=e)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(151)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(2));function i(e){return e&&e.__esModule?e:{default:e}}const a=e=>{const t=`h${e.level}`;return r.default.createElement(t,{className:e.className},e.children)};a.propTypes={level:o.default.number,className:o.default.string,children:o.default.any},a.defaultProps={level:1},t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YoastButton=t.YoastButtonBase=void 0,t.addButtonStyles=c;var r=s(n(0)),o=s(n(2)),i=s(n(1)),a=n(3);function s(e){return e&&e.__esModule?e:{default:e}}const u={minHeight:48,verticalPadding:0,borderWidth:0},l=u.minHeight-2*u.verticalPadding-2*u.borderWidth;function c(e){return(0,i.default)(e).withConfig({displayName:"YoastButton",componentId:"v1c803-0"})(["display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:",";margin:0;padding:0 16px;padding:",' 16px;border:0;border-radius:4px;box-sizing:border-box;font:400 14px/24px "Open Sans",sans-serif;text-transform:uppercase;box-shadow:0 2px 8px 0 ',";transition:box-shadow 150ms ease-out;&:hover,&:focus,&:active{box-shadow:0 4px 10px 0 ",",inset 0 0 0 100px ",";color:",';}&:active{transform:translateY( 1px );box-shadow:none;}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){::after{display:inline-block;content:"";min-height:',";}}"],`${u.minHeight}px`,`${u.verticalPadding}px`,(0,a.rgba)(a.colors.$color_black,.3),(0,a.rgba)(a.colors.$color_black,.2),(0,a.rgba)(a.colors.$color_black,.1),e=>e.textColor,`${l}px`)}const f=t.YoastButtonBase=(({className:e,onClick:t,type:n,children:o,isExpanded:i})=>r.default.createElement("button",{className:e,onClick:t,type:n,"aria-expanded":i},r.default.createElement("span",null,o)));f.propTypes={className:o.default.string,onClick:o.default.func,type:o.default.string,isExpanded:o.default.bool,children:o.default.oneOfType([o.default.arrayOf(o.default.node),o.default.node,o.default.string])},f.defaultProps={type:"button"};const d=t.YoastButton=c((0,i.default)(f).withConfig({displayName:"YoastButton",componentId:"v1c803-1"})(["color:",";background:",";min-width:152px;",";overflow:visible;cursor:pointer;&::-moz-focus-inner{border-width:0;}span{display:inherit;align-items:inherit;justify-content:inherit;width:100%;}"],e=>e.textColor,e=>e.backgroundColor,e=>e.withTextShadow?`text-shadow: 0 0 2px ${a.colors.$color_black}`:""));d.propTypes={backgroundColor:o.default.string,textColor:o.default.string,withTextShadow:o.default.bool},d.defaultProps={backgroundColor:a.colors.$color_green_medium_light,textColor:a.colors.$color_white,withTextShadow:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(575)).default,o=r.canUseDOM?window.HTMLElement:{};t.canUseDOM=r.canUseDOM;t.default=o},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}.bind(this))}function i(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==s){var u=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+u+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==s?"\n "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=i;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return a}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},function(e,t,n){"use strict";t.__esModule=!0;var r=i(n(602)),o=i(n(157));i(n(271)),i(n(272));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){return(0,r.default)(function(e,t){return!(0,o.default)(e,t)})(e)}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(605));t.default=r.default},function(e,t,n){var r=n(610);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(65);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(164)("keys"),o=n(102);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(21),o=n(44),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(101)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(619)),o=a(n(628)),i="function"==typeof o.default&&"symbol"==typeof r.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};function a(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof o.default&&"symbol"===i(r.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":i(e)}},function(e,t,n){var r=n(51),o=n(623),i=n(165),a=n(163)("IE_PROTO"),s=function(){},u=function(){var e,t=n(274)("iframe"),r=i.length;for(t.style.display="none",n(624).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),u=e.F;r--;)delete u.prototype[i[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(45).f,o=n(53),i=n(28)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){n(625);for(var r=n(44),o=n(64),i=n(68),a=n(28)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var l=s[u],c=r[l],f=c&&c.prototype;f&&!f[a]&&o(f,a,l),i[l]=i.Array}},function(e,t,n){t.f=n(28)},function(e,t,n){var r=n(44),o=n(21),i=n(101),a=n(171),s=n(45).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.red50="#ffebee",t.red100="#ffcdd2",t.red200="#ef9a9a",t.red300="#e57373",t.red400="#ef5350",t.red500="#f44336",t.red600="#e53935",t.red700="#d32f2f",t.red800="#c62828",t.red900="#b71c1c",t.redA100="#ff8a80",t.redA200="#ff5252",t.redA400="#ff1744",t.redA700="#d50000",t.pink50="#fce4ec",t.pink100="#f8bbd0",t.pink200="#f48fb1",t.pink300="#f06292",t.pink400="#ec407a",t.pink500="#e91e63",t.pink600="#d81b60",t.pink700="#c2185b",t.pink800="#ad1457",t.pink900="#880e4f",t.pinkA100="#ff80ab",t.pinkA200="#ff4081",t.pinkA400="#f50057",t.pinkA700="#c51162",t.purple50="#f3e5f5",t.purple100="#e1bee7",t.purple200="#ce93d8",t.purple300="#ba68c8",t.purple400="#ab47bc",t.purple500="#9c27b0",t.purple600="#8e24aa",t.purple700="#7b1fa2",t.purple800="#6a1b9a",t.purple900="#4a148c",t.purpleA100="#ea80fc",t.purpleA200="#e040fb",t.purpleA400="#d500f9",t.purpleA700="#aa00ff",t.deepPurple50="#ede7f6",t.deepPurple100="#d1c4e9",t.deepPurple200="#b39ddb",t.deepPurple300="#9575cd",t.deepPurple400="#7e57c2",t.deepPurple500="#673ab7",t.deepPurple600="#5e35b1",t.deepPurple700="#512da8",t.deepPurple800="#4527a0",t.deepPurple900="#311b92",t.deepPurpleA100="#b388ff",t.deepPurpleA200="#7c4dff",t.deepPurpleA400="#651fff",t.deepPurpleA700="#6200ea",t.indigo50="#e8eaf6",t.indigo100="#c5cae9",t.indigo200="#9fa8da",t.indigo300="#7986cb",t.indigo400="#5c6bc0",t.indigo500="#3f51b5",t.indigo600="#3949ab",t.indigo700="#303f9f",t.indigo800="#283593",t.indigo900="#1a237e",t.indigoA100="#8c9eff",t.indigoA200="#536dfe",t.indigoA400="#3d5afe",t.indigoA700="#304ffe",t.blue50="#e3f2fd",t.blue100="#bbdefb",t.blue200="#90caf9",t.blue300="#64b5f6",t.blue400="#42a5f5",t.blue500="#2196f3",t.blue600="#1e88e5",t.blue700="#1976d2",t.blue800="#1565c0",t.blue900="#0d47a1",t.blueA100="#82b1ff",t.blueA200="#448aff",t.blueA400="#2979ff",t.blueA700="#2962ff",t.lightBlue50="#e1f5fe",t.lightBlue100="#b3e5fc",t.lightBlue200="#81d4fa",t.lightBlue300="#4fc3f7",t.lightBlue400="#29b6f6",t.lightBlue500="#03a9f4",t.lightBlue600="#039be5",t.lightBlue700="#0288d1",t.lightBlue800="#0277bd",t.lightBlue900="#01579b",t.lightBlueA100="#80d8ff",t.lightBlueA200="#40c4ff",t.lightBlueA400="#00b0ff",t.lightBlueA700="#0091ea",t.cyan50="#e0f7fa",t.cyan100="#b2ebf2",t.cyan200="#80deea",t.cyan300="#4dd0e1",t.cyan400="#26c6da",t.cyan500="#00bcd4",t.cyan600="#00acc1",t.cyan700="#0097a7",t.cyan800="#00838f",t.cyan900="#006064",t.cyanA100="#84ffff",t.cyanA200="#18ffff",t.cyanA400="#00e5ff",t.cyanA700="#00b8d4",t.teal50="#e0f2f1",t.teal100="#b2dfdb",t.teal200="#80cbc4",t.teal300="#4db6ac",t.teal400="#26a69a",t.teal500="#009688",t.teal600="#00897b",t.teal700="#00796b",t.teal800="#00695c",t.teal900="#004d40",t.tealA100="#a7ffeb",t.tealA200="#64ffda",t.tealA400="#1de9b6",t.tealA700="#00bfa5",t.green50="#e8f5e9",t.green100="#c8e6c9",t.green200="#a5d6a7",t.green300="#81c784",t.green400="#66bb6a",t.green500="#4caf50",t.green600="#43a047",t.green700="#388e3c",t.green800="#2e7d32",t.green900="#1b5e20",t.greenA100="#b9f6ca",t.greenA200="#69f0ae",t.greenA400="#00e676",t.greenA700="#00c853",t.lightGreen50="#f1f8e9",t.lightGreen100="#dcedc8",t.lightGreen200="#c5e1a5",t.lightGreen300="#aed581",t.lightGreen400="#9ccc65",t.lightGreen500="#8bc34a",t.lightGreen600="#7cb342",t.lightGreen700="#689f38",t.lightGreen800="#558b2f",t.lightGreen900="#33691e",t.lightGreenA100="#ccff90",t.lightGreenA200="#b2ff59",t.lightGreenA400="#76ff03",t.lightGreenA700="#64dd17",t.lime50="#f9fbe7",t.lime100="#f0f4c3",t.lime200="#e6ee9c",t.lime300="#dce775",t.lime400="#d4e157",t.lime500="#cddc39",t.lime600="#c0ca33",t.lime700="#afb42b",t.lime800="#9e9d24",t.lime900="#827717",t.limeA100="#f4ff81",t.limeA200="#eeff41",t.limeA400="#c6ff00",t.limeA700="#aeea00",t.yellow50="#fffde7",t.yellow100="#fff9c4",t.yellow200="#fff59d",t.yellow300="#fff176",t.yellow400="#ffee58",t.yellow500="#ffeb3b",t.yellow600="#fdd835",t.yellow700="#fbc02d",t.yellow800="#f9a825",t.yellow900="#f57f17",t.yellowA100="#ffff8d",t.yellowA200="#ffff00",t.yellowA400="#ffea00",t.yellowA700="#ffd600",t.amber50="#fff8e1",t.amber100="#ffecb3",t.amber200="#ffe082",t.amber300="#ffd54f",t.amber400="#ffca28",t.amber500="#ffc107",t.amber600="#ffb300",t.amber700="#ffa000",t.amber800="#ff8f00",t.amber900="#ff6f00",t.amberA100="#ffe57f",t.amberA200="#ffd740",t.amberA400="#ffc400",t.amberA700="#ffab00",t.orange50="#fff3e0",t.orange100="#ffe0b2",t.orange200="#ffcc80",t.orange300="#ffb74d",t.orange400="#ffa726",t.orange500="#ff9800",t.orange600="#fb8c00",t.orange700="#f57c00",t.orange800="#ef6c00",t.orange900="#e65100",t.orangeA100="#ffd180",t.orangeA200="#ffab40",t.orangeA400="#ff9100",t.orangeA700="#ff6d00",t.deepOrange50="#fbe9e7",t.deepOrange100="#ffccbc",t.deepOrange200="#ffab91",t.deepOrange300="#ff8a65",t.deepOrange400="#ff7043",t.deepOrange500="#ff5722",t.deepOrange600="#f4511e",t.deepOrange700="#e64a19",t.deepOrange800="#d84315",t.deepOrange900="#bf360c",t.deepOrangeA100="#ff9e80",t.deepOrangeA200="#ff6e40",t.deepOrangeA400="#ff3d00",t.deepOrangeA700="#dd2c00",t.brown50="#efebe9",t.brown100="#d7ccc8",t.brown200="#bcaaa4",t.brown300="#a1887f",t.brown400="#8d6e63",t.brown500="#795548",t.brown600="#6d4c41",t.brown700="#5d4037",t.brown800="#4e342e",t.brown900="#3e2723",t.blueGrey50="#eceff1",t.blueGrey100="#cfd8dc",t.blueGrey200="#b0bec5",t.blueGrey300="#90a4ae",t.blueGrey400="#78909c",t.blueGrey500="#607d8b",t.blueGrey600="#546e7a",t.blueGrey700="#455a64",t.blueGrey800="#37474f",t.blueGrey900="#263238",t.grey50="#fafafa",t.grey100="#f5f5f5",t.grey200="#eeeeee",t.grey300="#e0e0e0",t.grey400="#bdbdbd",t.grey500="#9e9e9e",t.grey600="#757575",t.grey700="#616161",t.grey800="#424242",t.grey900="#212121",t.black="#000000",t.white="#ffffff",t.transparent="rgba(0, 0, 0, 0)",t.fullBlack="rgba(0, 0, 0, 1)",t.darkBlack="rgba(0, 0, 0, 0.87)",t.lightBlack="rgba(0, 0, 0, 0.54)",t.minBlack="rgba(0, 0, 0, 0.26)",t.faintBlack="rgba(0, 0, 0, 0.12)",t.fullWhite="rgba(255, 255, 255, 1)",t.darkWhite="rgba(255, 255, 255, 0.87)",t.lightWhite="rgba(255, 255, 255, 0.54)"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&r.test(e)};var r=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(698)),i=u(n(0)),a=u(n(9)),s=(u(n(63)),n(699));function u(e){return e&&e.__esModule?e:{default:e}}a.default.any,a.default.func,a.default.node;var l=function(e){function t(n,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n,o));return i.performAppear=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillAppear?t.componentWillAppear(i._handleDoneAppearing.bind(i,e,t)):i._handleDoneAppearing(e,t)},i._handleDoneAppearing=function(e,t){t.componentDidAppear&&t.componentDidAppear(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e,t)},i.performEnter=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillEnter?t.componentWillEnter(i._handleDoneEntering.bind(i,e,t)):i._handleDoneEntering(e,t)},i._handleDoneEntering=function(e,t){t.componentDidEnter&&t.componentDidEnter(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)||i.performLeave(e,t)},i.performLeave=function(e,t){i.currentlyTransitioningKeys[e]=!0,t.componentWillLeave?t.componentWillLeave(i._handleDoneLeaving.bind(i,e,t)):i._handleDoneLeaving(e,t)},i._handleDoneLeaving=function(e,t){t.componentDidLeave&&t.componentDidLeave(),delete i.currentlyTransitioningKeys[e];var n=(0,s.getChildMapping)(i.props.children);n&&n.hasOwnProperty(e)?i.keysToEnter.push(e):i.setState(function(t){var n=r({},t.children);return delete n[e],{children:n}})},i.childRefs=Object.create(null),i.state={children:(0,s.getChildMapping)(n.children)},i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.componentWillMount=function(){this.currentlyTransitioningKeys={},this.keysToEnter=[],this.keysToLeave=[]},t.prototype.componentDidMount=function(){var e=this.state.children;for(var t in e)e[t]&&this.performAppear(t,this.childRefs[t])},t.prototype.componentWillReceiveProps=function(e){var t=(0,s.getChildMapping)(e.children),n=this.state.children;for(var r in this.setState({children:(0,s.mergeChildMappings)(n,t)}),t){var o=n&&n.hasOwnProperty(r);!t[r]||o||this.currentlyTransitioningKeys[r]||this.keysToEnter.push(r)}for(var i in n){var a=t&&t.hasOwnProperty(i);!n[i]||a||this.currentlyTransitioningKeys[i]||this.keysToLeave.push(i)}},t.prototype.componentDidUpdate=function(){var e=this,t=this.keysToEnter;this.keysToEnter=[],t.forEach(function(t){return e.performEnter(t,e.childRefs[t])});var n=this.keysToLeave;this.keysToLeave=[],n.forEach(function(t){return e.performLeave(t,e.childRefs[t])})},t.prototype.render=function(){var e=this,t=[],n=function(n){var r=e.state.children[n];if(r){var a="string"!=typeof r.ref,s=e.props.childFactory(r),u=function(t){e.childRefs[n]=t};s===r&&a&&(u=(0,o.default)(r.ref,u)),t.push(i.default.cloneElement(s,{key:n,ref:u}))}};for(var a in this.state.children)n(a);var s=r({},this.props);return delete s.transitionLeave,delete s.transitionName,delete s.transitionAppear,delete s.transitionEnter,delete s.childFactory,delete s.transitionLeaveTimeout,delete s.transitionEnterTimeout,delete s.transitionAppearTimeout,delete s.component,i.default.createElement(this.props.component,s,t)},t}(i.default.Component);l.displayName="TransitionGroup",l.propTypes={},l.defaultProps={component:"span",childFactory:function(e){return e}},t.default=l,e.exports=t.default},function(e,t,n){var r=n(178),o=0;e.exports=function(e){var t=++o;return r(e)+t}},function(e,t,n){var r=n(303);e.exports=function(e){return null==e?"":r(e)}},function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t){e.exports=window.yoast.analysis},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=t.MODE_MOBILE="mobile",o=t.MODE_DESKTOP="desktop",i=t.MODES=[o,r],a=t.DEFAULT_MODE=r;t.default={MODE_MOBILE:r,MODE_DESKTOP:o,MODES:i,DEFAULT_MODE:a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(0)),o=f(n(17)),i=f(n(177)),a=n(10),s=n(8),u=f(n(767)),l=n(108),c=n(58);function f(e){return e&&e.__esModule?e:{default:e}}class d extends r.default.Component{constructor(e){switch(super(e),this.uniqueId=(0,i.default)(),e.type){case"description":this.InputContainer=l.DescriptionInputContainer;break;case"title":this.InputContainer=l.TitleInputContainer;break;default:this.InputContainer=l.TitleInputContainer}e.withCaret&&(this.InputContainer=(0,l.withCaretStyles)(this.InputContainer)),this.triggerReplacementVariableSuggestions=this.triggerReplacementVariableSuggestions.bind(this)}triggerReplacementVariableSuggestions(){this.ref.triggerReplacementVariableSuggestions()}render(){var e=this.props;const t=e.label,n=e.onChange,o=e.content,i=e.onFocus,c=e.onBlur,f=e.isActive,d=e.isHovered,p=e.replacementVariables,h=e.recommendedReplacementVariables,g=e.editorRef,y=e.placeholder,m=e.fieldId,v=this.InputContainer,b=r.default.createElement(l.TriggerReplacementVariableSuggestionsButton,{onClick:()=>this.triggerReplacementVariableSuggestions()},r.default.createElement(s.SvgIcon,{icon:"plus-circle"}),(0,a.__)("Insert snippet variable","yoast-components"));return r.default.createElement(r.default.Fragment,null,r.default.createElement(l.SimulatedLabel,{id:this.uniqueId,onClick:i},t),b,r.default.createElement(v,{onClick:i,isActive:f,isHovered:d},r.default.createElement(u.default,{fieldId:m,placeholder:y,content:o,onChange:n,onFocus:i,onBlur:c,replacementVariables:p,recommendedReplacementVariables:h,ref:e=>{this.ref=e,g(e)},ariaLabelledBy:this.uniqueId})))}}d.propTypes={editorRef:o.default.func,content:o.default.string.isRequired,onChange:o.default.func.isRequired,onBlur:o.default.func,replacementVariables:c.replacementVariablesShape,recommendedReplacementVariables:c.recommendedReplacementVariablesShape,isActive:o.default.bool,isHovered:o.default.bool,withCaret:o.default.bool,onFocus:o.default.func,label:o.default.string,placeholder:o.default.string,type:o.default.oneOf(["title","description"]),fieldId:o.default.string},d.defaultProps={replacementVariables:[]},t.default=d},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=n(84),o=n(25),i=n(56),a=n(27),s=n(110),u=n(46),l=n(4),c=n(71),f=n(40),d=n(185),p=l.List,h=l.Record,g=l.Repeat,y=u.draft_tree_data_support?a:i,m=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getEntityMap=function(){return s},t.prototype.getBlockMap=function(){return this.get("blockMap")},t.prototype.getSelectionBefore=function(){return this.get("selectionBefore")},t.prototype.getSelectionAfter=function(){return this.get("selectionAfter")},t.prototype.getBlockForKey=function(e){return this.getBlockMap().get(e)},t.prototype.getKeyBefore=function(e){return this.getBlockMap().reverse().keySeq().skipUntil(function(t){return t===e}).skip(1).first()},t.prototype.getKeyAfter=function(e){return this.getBlockMap().keySeq().skipUntil(function(t){return t===e}).skip(1).first()},t.prototype.getBlockAfter=function(e){return this.getBlockMap().skipUntil(function(t,n){return n===e}).skip(1).first()},t.prototype.getBlockBefore=function(e){return this.getBlockMap().reverse().skipUntil(function(t,n){return n===e}).skip(1).first()},t.prototype.getBlocksAsArray=function(){return this.getBlockMap().toArray()},t.prototype.getFirstBlock=function(){return this.getBlockMap().first()},t.prototype.getLastBlock=function(){return this.getBlockMap().last()},t.prototype.getPlainText=function(e){return this.getBlockMap().map(function(e){return e?e.getText():""}).join(e||"\n")},t.prototype.getLastCreatedEntityKey=function(){return s.__getLastCreatedEntityKey()},t.prototype.hasText=function(){var e=this.getBlockMap();return e.size>1||e.first().getLength()>0},t.prototype.createEntity=function(e,t,n){return s.__create(e,t,n),this},t.prototype.mergeEntityData=function(e,t){return s.__mergeData(e,t),this},t.prototype.replaceEntityData=function(e,t){return s.__replaceData(e,t),this},t.prototype.addEntity=function(e){return s.__add(e),this},t.prototype.getEntity=function(e){return s.__get(e)},t.createFromBlockArray=function(e,n){var o=Array.isArray(e)?e:e.contentBlocks,i=r.createFromArray(o),a=i.isEmpty()?new c:c.createEmpty(i.first().getKey());return new t({blockMap:i,entityMap:n||s,selectionBefore:a,selectionAfter:a})},t.createFromText=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:/\r\n?|\n/g,r=e.split(n).map(function(e){return e=d(e),new y({key:f(),text:e,type:"unstyled",characterList:p(g(o.EMPTY,e.length))})});return t.createFromBlockArray(r)},t}(h({entityMap:null,blockMap:null,selectionBefore:null,selectionAfter:null}));e.exports=m},function(e,t,n){"use strict";var r=new RegExp("\r","g");e.exports=function(e){return e.replace(r,"")}},function(e,t,n){"use strict";var r=n(5),o="LTR",i="RTL",a=null;function s(e){return e===o||e===i}function u(e){return s(e)||r(!1),e===o?"ltr":"rtl"}function l(e){a=e}var c={NEUTRAL:"NEUTRAL",LTR:o,RTL:i,isStrong:s,getHTMLDir:u,getHTMLDirIfDifferent:function(e,t){return s(e)||r(!1),s(t)||r(!1),e===t?null:u(e)},setGlobalDir:l,initGlobalDir:function(){l(o)},getGlobalDir:function(){return a||this.initGlobalDir(),a||r(!1),a}};e.exports=c},function(e,t,n){"use strict";var r=n(4).Map,o=n(0),i=n(72),a=r({"header-one":{element:"h1"},"header-two":{element:"h2"},"header-three":{element:"h3"},"header-four":{element:"h4"},"header-five":{element:"h5"},"header-six":{element:"h6"},"unordered-list-item":{element:"li",wrapper:o.createElement("ul",{className:i("public/DraftStyleDefault/ul")})},"ordered-list-item":{element:"li",wrapper:o.createElement("ol",{className:i("public/DraftStyleDefault/ol")})},blockquote:{element:"blockquote"},atomic:{element:"figure"},"code-block":{element:"pre",wrapper:o.createElement("pre",{className:i("public/DraftStyleDefault/pre")})},unstyled:{element:"div",aliasedElements:["p"]}});e.exports=a},function(e,t,n){"use strict";e.exports={BACKSPACE:8,TAB:9,RETURN:13,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188,PERIOD:190,A:65,Z:90,ZERO:48,NUMPAD_0:96,NUMPAD_9:105}},function(e,t,n){"use strict";function r(e,t){return t&&"MUTABLE"===e.__get(t).getMutability()?t:null}e.exports=function(e,t){var n;if(t.isCollapsed()){var o=t.getAnchorKey(),i=t.getAnchorOffset();return i>0?(n=e.getBlockForKey(o).getEntityAt(i-1))!==e.getBlockForKey(o).getEntityAt(i)?null:r(e.getEntityMap(),n):null}var a=t.getStartKey(),s=t.getStartOffset(),u=e.getBlockForKey(a);return n=s===u.getLength()?null:u.getEntityAt(s),r(e.getEntityMap(),n)}},function(e,t,n){"use strict";var r=n(801);e.exports=function e(t,n){return!(!t||!n)&&(t===n||!r(t)&&(r(n)?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}},function(e,t,n){"use strict";function r(e,t){var n=o.get(e,t);return"auto"===n||"scroll"===n}var o={get:n(803),getScrollParent:function(e){if(!e)return null;for(var t=e.ownerDocument;e&&e!==t.body;){if(r(e,"overflow")||r(e,"overflowY")||r(e,"overflowX"))return e;e=e.parentNode}return t.defaultView||t.parentWindow}};e.exports=o},function(e,t,n){"use strict";var r=n(808),o=n(809);e.exports=function(e){var t=r(e.ownerDocument||e.document);e.Window&&e instanceof e.Window&&(e=t);var n=o(e),i=e===t?e.ownerDocument.documentElement:e,a=e.scrollWidth-i.clientWidth,s=e.scrollHeight-i.clientHeight;return n.x=Math.max(0,Math.min(n.x,a)),n.y=Math.max(0,Math.min(n.y,s)),n}},function(e,t,n){"use strict";var r=n(326);e.exports=function(e){for(var t=e;t&&t!==document.documentElement;){var n=r(t);if(null!=n)return n;t=t.parentNode}return null}},function(e,t,n){"use strict";var r=n(36).isPlatform("Mac OS X"),o={isCtrlKeyCommand:function(e){return!!e.ctrlKey&&!e.altKey},isOptionKeyCommand:function(e){return r&&e.altKey},hasCommandModifier:function(e){return r?!!e.metaKey&&!e.altKey:o.isCtrlKeyCommand(e)}};e.exports=o},function(e,t,n){"use strict";e.exports=function(e,t){var n=e.getSelection(),r=e.getCurrentContent(),o=n.getStartKey(),i=n.getStartOffset(),a=o,s=0;if(t>i){var u=r.getKeyBefore(o);null==u?a=o:(a=u,s=r.getBlockForKey(u).getText().length)}else s=i-t;return n.merge({focusKey:a,focusOffset:s,isBackward:!0})}},function(e,t,n){var r=n(73)(n(35),"Map");e.exports=r},function(e,t,n){var r=n(904),o=n(55),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t,n){(function(e){var r=n(35),o=n(905),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t,n){var r=n(906),o=n(309),i=n(310),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t,n){var r=n(929),o=n(936),i=n(938),a=n(939),s=n(940);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(30),o=n(106),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||a.test(e)||!i.test(e)||null!=t&&e in Object(t)}},function(e,t){e.exports=window.lodash},function(e,t,n){var r=n(362),o=n(120),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];i.call(e,t)&&o(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t){e.exports=function(e){return e}},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){var r=n(1015),o=n(48),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){(function(e){var r=n(37),o=n(1016),i="object"==typeof t&&t&&!t.nodeType&&t,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=a&&a.exports===i?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||o;e.exports=u}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(365),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setSeoResultsForKeyword=function(e,t){return{type:i,keyword:e,results:t}},t.setSeoResults=function(e){return{type:o,resultsPerKeyword:e}},t.updateSeoResult=function(e,t){return{type:a,keyword:e,result:t}},t.removeKeyword=function(e){return{type:s,keyword:e}},t.setReadabilityResults=function(e){return{type:u,results:e}},t.updateReadabilityResult=function(e){return{type:l,result:e}},t.setOverallReadabilityScore=function(e){return{type:c,overallScore:e}},t.setOverallSeoScore=function(e,t){return{type:f,keyword:t,overallScore:e}};const r="CONTENT_ANALYSIS_",o=t.SET_SEO_RESULTS=`${r}SET_SEO_RESULTS`,i=t.SET_SEO_RESULTS_FOR_KEYWORD=`${r}SET_SEO_RESULTS_FOR_KEYWORD`,a=t.UPDATE_SEO_RESULT=`${r}UPDATE_SEO_RESULT`,s=t.REMOVE_KEYWORD=`${r}REMOVE_KEYWORD`,u=t.SET_READABILITY_RESULTS=`${r}SET_READABILITY_RESULTS`,l=t.UPDATE_READABILITY_RESULT=`${r}UPDATE_READABILITY_RESULT`,c=t.SET_OVERALL_READABILITY_SCORE=`${r}SET_OVERALL_READABILITY_SCORE`,f=t.SET_OVERALL_SEO_SCORE=`${r}SET_OVERALL_SEO_SCORE`},function(e,t,n){var r=n(123),o=n(1031),i=n(1032),a=n(1033),s=n(1034),u=n(1035);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t,n){var r=n(59)(n(37),"Map");e.exports=r},function(e,t,n){var r=n(1036),o=n(1043),i=n(1045),a=n(1046),s=n(1047);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},function(e,t,n){var r=n(1058),o=n(378),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),function(t){return i.call(e,t)}))}:o;e.exports=s},function(e,t,n){var r=n(128),o=n(90);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t,n){var r=n(38),o=n(129),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||a.test(e)||!i.test(e)||null!=t&&e in Object(t)}},function(e,t,n){var r=n(371)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(375);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){e.exports=n(392)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseFeedItem=i,t.default=function(e,t){return(0,o.default)(e,t,i)};var r=n(130),o=function(e){return e&&e.__esModule?e:{default:e}}(r);function i(e,t,n){const o={};return o.title=(0,r.getXPathText)("child::title",e,t),o.link=(0,r.getXPathText)("child::link",e,t),o.content=(0,r.getXPathText)("child::content:encoded",e,t,n),o.description=(0,r.getXPathText)("child::description",e,t),o.creator=(0,r.getXPathText)("child::dc:creator",e,t,n),o.date=(0,r.getXPathText)("child::pubDate",e,t),o}},function(e,t,n){var r=n(421)();e.exports=r},function(e,t,n){var r=n(422),o=n(428),i=n(430);e.exports=function(e){return i(o(e,void 0,r),e+"")}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t,n){var r=n(50),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,t,n){var r=n(61),o=n(77),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(439),o=n(440),i=r?function(e){return r.get(e)}:o;e.exports=i},function(e,t,n){var r=n(50)(n(32),"WeakMap");e.exports=r},function(e,t,n){var r=n(441),o=Object.prototype.hasOwnProperty;e.exports=function(e){for(var t=e.name+"",n=r[t],i=o.call(r,t)?n.length:0;i--;){var a=n[i],s=a.func;if(null==s||s==e)return a.name}return t}},function(e,t){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(460),o=n(467),i=n(469),a=n(470),s=n(471);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=o,u.prototype.get=i,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){var r=n(238),o=n(235),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];i.call(e,t)&&o(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(227);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(474),o=n(135),i=n(33),a=n(139),s=n(476),u=n(240),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),c=!n&&o(e),f=!n&&!c&&a(e),d=!n&&!c&&!f&&u(e),p=n||c||f||d,h=p?r(e.length,String):[],g=h.length;for(var y in e)!t&&!l.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}},function(e,t,n){var r=n(477),o=n(140),i=n(141),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t){var n=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(97),o=n(478),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(239),o=n(480),i=n(142);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(134),o=n(144),i=n(143),a=n(245),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=o(e);return t}:a;e.exports=s},function(e,t,n){var r=n(134),o=n(33);e.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}},function(e,t,n){var r=n(247),o=n(246),i=n(244);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(147),o=1/0;e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SectionTitle=t.StyledSubTitle=t.StyledTitle=t.StyledTitleContainer=void 0;var r=u(n(0)),o=u(n(2)),i=u(n(1)),a=n(3),s=u(n(251));function u(e){return e&&e.__esModule?e:{default:e}}const l=t.StyledTitleContainer=i.default.span.withConfig({displayName:"SectionTitle__StyledTitleContainer",componentId:"nlobus-0"})(["flex-grow:1;overflow-x:hidden;line-height:normal;"]),c=t.StyledTitle=i.default.span.withConfig({displayName:"SectionTitle__StyledTitle",componentId:"nlobus-1"})(["display:block;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;color:",";"],a.colors.$color_headings),f=t.StyledSubTitle=i.default.span.withConfig({displayName:"SectionTitle__StyledSubTitle",componentId:"nlobus-2"})(["display:block;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;font-size:0.8125rem;margin-top:2px;"]);(t.SectionTitle=(e=>r.default.createElement(l,null,r.default.createElement(c,null,e.title,e.titleScreenReaderText&&r.default.createElement(s.default,null," "+e.titleScreenReaderText)),e.subTitle&&r.default.createElement(f,null,e.subTitle)))).propTypes={title:o.default.string.isRequired,titleScreenReaderText:o.default.string,subTitle:o.default.string}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(252));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>r.default.createElement("span",{className:"screen-reader-text",style:i.default.ScreenReaderText.default},e.children);s.propTypes={children:o.default.string.isRequired},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={ScreenReaderText:{default:{clip:"rect(1px, 1px, 1px, 1px)",position:"absolute",height:"1px",width:"1px",overflow:"hidden"},focused:{clip:"auto",display:"block",left:"5px",top:"5px",height:"auto",width:"auto",zIndex:"100000",position:"absolute",backgroundColor:"#eeeeee ",padding:"10px"}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(0)),i=u(n(2)),a=u(n(60)),s=n(8);function u(e){return e&&e.__esModule?e:{default:e}}const l=e=>{const t=e.children,n=e.className,i=e.prefixIcon,u=e.suffixIcon,l=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["children","className","prefixIcon","suffixIcon"]);return o.default.createElement(a.default,r({className:n},l),i&&i.icon&&o.default.createElement(s.SvgIcon,{icon:i.icon,color:i.color,size:i.size}),t,u&&u.icon&&o.default.createElement(s.SvgIcon,{icon:u.icon,color:u.color,size:u.size}))};l.propTypes={className:i.default.string,prefixIcon:i.default.shape({icon:i.default.string,color:i.default.string,size:i.default.string}),suffixIcon:i.default.shape({icon:i.default.string,color:i.default.string,size:i.default.string}),children:i.default.oneOfType([i.default.arrayOf(i.default.node),i.default.node,i.default.string])},t.default=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=f;var r=n(0),o=u(r),i=u(n(2)),a=u(n(1)),s=n(3);function u(e){return e&&e.__esModule?e:{default:e}}const l=a.default.span.withConfig({displayName:"CardBanner__BannerContents",componentId:"oi8gid-0"})(["position:absolute;top:8px;left:-8px;font-weight:500;color:",";line-height:16px;background-color:",";padding:8px 16px;box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);"],e=>e.textColor,e=>e.backgroundColor),c=a.default.span.withConfig({displayName:"CardBanner__BannerTriangle",componentId:"oi8gid-1"})(["position:absolute;top:40px;left:-8px;border-top:8px solid ",";border-left:8px solid transparent;"],s.colors.$color_purple_dark);function f(e){return o.default.createElement(r.Fragment,null,o.default.createElement(l,{backgroundColor:e.backgroundColor,textColor:e.textColor},e.children),o.default.createElement(c,null))}f.propTypes={backgroundColor:i.default.string,textColor:i.default.string,children:i.default.any},f.defaultProps={backgroundColor:s.colors.$color_pink_dark,textColor:s.colors.$color_white,children:null}},function(e,t,n){var r=n(528),o=n(533);e.exports=n(150)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=s;var o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){return o.default.createElement("iframe",r({title:e.title},e))}s.propTypes={title:i.default.string.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default.Component{componentDidUpdate(){this.props.hasFocus&&this.ref.focus()}setReference(e){this.ref=e}render(){return o.default.createElement("input",r({ref:this.setReference.bind(this),type:this.props.type,name:this.props.name,defaultValue:this.props.value,onChange:this.props.onChange,autoComplete:this.props.autoComplete,className:this.props.className},this.props.optionalAttributes))}}s.propTypes={name:i.default.string.isRequired,type:i.default.oneOf(["button","checkbox","number","password","progress","radio","submit","text"]).isRequired,value:i.default.any,onChange:i.default.func,optionalAttributes:i.default.object,hasFocus:i.default.bool,autoComplete:i.default.string,className:i.default.string},s.defaultProps={name:"input",type:"text",value:"",hasFocus:!1,className:""},t.default=s},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(2));function i(e){return e&&e.__esModule?e:{default:e}}const a=e=>{const t=e.title,n=e.classNamePrefix,o=e.words,i=e.header,a=e.footer,s=r.default.createElement("ol",{className:n+"__list"},o.map(e=>r.default.createElement("li",{key:e,className:n+"__item"},e)));return r.default.createElement("div",{className:n},r.default.createElement("p",null,r.default.createElement("strong",null,t)),i,s,a)};a.propTypes={words:o.default.array.isRequired,title:o.default.string.isRequired,header:o.default.string,footer:o.default.string,classNamePrefix:o.default.string},a.defaultProps={classNamePrefix:"",header:"",footer:""},t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(0)),o=s(n(2)),i=s(n(1)),a=n(10);function s(e){return e&&e.__esModule?e:{default:e}}const u=i.default.span.withConfig({displayName:"WordOccurrences__ProminentWordOccurrence",componentId:"v5jj49-0"})(["display:inline-block;margin:2px 8px;"]),l=(0,i.default)(u).withConfig({displayName:"WordOccurrences__ProminentWord",componentId:"v5jj49-1"})(["font-weight:bold;overflow:hidden;text-overflow:ellipsis;"]),c=i.default.ol.withConfig({displayName:"WordOccurrences__WordOccurrencesList",componentId:"v5jj49-2"})(["list-style:none;padding:0;width:100%;margin:0;"]),f=i.default.li.withConfig({displayName:"WordOccurrences__WordBarContainer",componentId:"v5jj49-3"})(["margin:8px 0;height:calc( 1.375em + 4px );display:flex;max-width:600px;justify-content:space-between;background:linear-gradient( to right,rgba(164,40,106,0.2) ",",",",transparent );"],e=>e.barWidth,e=>e.barWidth),d=({word:e,occurrence:t,width:n})=>r.default.createElement(f,{barWidth:n},r.default.createElement(l,null,e),r.default.createElement(u,null,r.default.createElement("span",{"aria-hidden":!0},t),r.default.createElement("span",{className:"screen-reader-text"},(0,a.sprintf)((0,a.__)("%d occurrences","yoast-components"),t))));d.propTypes={word:o.default.string.isRequired,occurrence:o.default.number.isRequired,width:o.default.string.isRequired};class p extends r.default.Component{constructor(e){super(e),this.state={words:[...e.words]||[],occurrences:{min:0,max:0}}}static getDerivedStateFromProps(e){const t=[...e.words];t.sort((e,t)=>t.getOccurrences()-e.getOccurrences());const n=t.map(e=>e.getOccurrences());return{occurrences:{min:Math.min(...n),max:Math.max(...n)},words:t}}render(){return r.default.createElement(r.default.Fragment,null,this.props.header,r.default.createElement(c,{"aria-label":(0,a.__)("Prominent words","yoast-components")},this.state.words.map(e=>{const t=e.getWord(),n=e.getOccurrences(),o=`${n/this.state.occurrences.max*100}%`;return r.default.createElement(d,{key:`wordbar-${t}`,word:t,width:o,occurrence:n})})),this.props.footer)}}p.propTypes={words:o.default.array.isRequired,header:o.default.element,footer:o.default.element},p.defaultProps={header:null,footer:null},t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>o.default.createElement("label",r({htmlFor:e.for,className:e.className},e.optionalAttributes),e.children);s.propTypes={for:i.default.string.isRequired,optionalAttributes:i.default.shape({"aria-label":i.default.string,onClick:i.default.func,className:i.default.string}),children:i.default.any.isRequired,className:i.default.string},s.defaultProps={className:"",optionalAttributes:{}},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(2)),o=a(n(1)),i=n(3);function a(e){return e&&e.__esModule?e:{default:e}}const s=o.default.div.withConfig({displayName:"Paper",componentId:"sc-1fchzjl-0"})(["box-shadow:0 1px 2px rgba(0,0,0,0.2);background-color:",";min-height:",";"],e=>e.backgroundColor,e=>e.minHeight);s.propTypes={backgroundColor:r.default.string,minHeight:r.default.string},s.defaultProps={backgroundColor:i.colors.$color_white,minHeight:"0"},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(0)),o=a(n(2)),i=a(n(152));function a(e){return e&&e.__esModule?e:{default:e}}const s=e=>r.default.createElement("section",{className:e.className},e.headingText&&r.default.createElement(i.default,{level:e.headingLevel,className:e.headingClassName},e.headingText),e.children);s.propTypes={className:o.default.string,headingText:o.default.string,headingLevel:o.default.number,headingClassName:o.default.string,children:o.default.any},s.defaultProps={headingLevel:1},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputField=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1)),o=n(3);t.InputField=r.default.input.withConfig({displayName:"InputField",componentId:"sc-12z9z15-0"})(["&&&{padding:0 8px;min-height:34px;font-size:1em;box-shadow:inset 0 1px 2px ",";border:1px solid ",";border-radius:0;&:focus{border-color:#5b9dd9;box-shadow:0 0 2px ",";}}"],(0,o.rgba)(o.colors.$color_black,.07),o.colors.$color_input_border,(0,o.rgba)(o.colors.$color_snippet_focus,.8))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=a(n(0)),i=a(n(2));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default.Component{render(){return o.default.createElement("textarea",r({ref:this.setReference.bind(this),name:this.props.name,value:this.props.value,onChange:this.props.onChange},this.props.optionalAttributes))}setReference(e){this.ref=e}componentDidUpdate(){this.props.hasFocus&&this.ref.focus()}}s.propTypes={name:i.default.string.isRequired,value:i.default.string,onChange:i.default.func,optionalAttributes:i.default.object,hasFocus:i.default.bool},s.defaultProps={name:"textarea",value:"",hasFocus:!1},t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(a)};
18
  /*!
19
  * Adapted from jQuery UI core
20
  *
26
  *
27
  * http://api.jqueryui.com/category/ui-core/
28
  */
29
+ var r=/input|select|textarea|button|object/;function o(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow"):"none"==n.getPropertyValue("display")}function i(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||"a"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(o(t))return!1;t=t.parentNode}return!0}(e)}function a(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&i(e,!n)}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=a,t.setElement=function(e){var t=e;if("string"==typeof t&&o.canUseDOM){var n=document.querySelectorAll(t);a(n,t),t="length"in n?n[0]:n}return i=t||i},t.validateElement=s,t.hide=function(e){s(e)&&(e||i).setAttribute("aria-hidden","true")},t.show=function(e){s(e)&&(e||i).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){i=null},t.resetForTesting=function(){i=null};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(63)),o=n(154);var i=null;function a(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function s(e){return!(!e&&!i)||((0,r.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoadingIndicator=t.MessageBox=void 0;var r=a(n(597)),o=a(n(600)),i=a(n(297));function a(e){return e&&e.__esModule?e:{default:e}}t.MessageBox=r.default,t.LoadingIndicator=i.default,t.default=o.default},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(603));t.default=function(e){return(0,r.default)("displayName",e)}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(604));t.default=function(e,t){return t+"("+(0,r.default)(e)+")"}},function(e,t,n){e.exports=!n(52)&&!n(66)(function(){return 7!=Object.defineProperty(n(274)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(65),o=n(44).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(53),o=n(67),i=n(612)(!1),a=n(163)("IE_PROTO");e.exports=function(e,t){var n,s=o(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~i(l,n)||l.push(n));return l}},function(e,t,n){var r=n(160);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(162),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(53),o=n(83),i=n(163)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(43),o=n(21),i=n(66);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(e,t,n){"use strict";var r=n(101),o=n(43),i=n(281),a=n(64),s=n(68),u=n(622),l=n(169),c=n(278),f=n(28)("iterator"),d=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,h,g,y,m){u(n,t,h);var v,b,_,x=function(e){if(!d&&e in k)return k[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+" Iterator",S="values"==g,C=!1,k=e.prototype,O=k[f]||k["@@iterator"]||g&&k[g],E=O||x(g),T=g?S?x("entries"):E:void 0,M="Array"==t&&k.entries||O;if(M&&(_=c(M.call(new e)))!==Object.prototype&&_.next&&(l(_,w,!0),r||"function"==typeof _[f]||a(_,f,p)),S&&O&&"values"!==O.name&&(C=!0,E=function(){return O.call(this)}),r&&!m||!d&&!C&&k[f]||a(k,f,E),s[t]=E,s[w]=p,g)if(v={values:S?E:x("values"),keys:y?E:x("keys"),entries:T},m)for(b in v)b in k||i(k,b,v[b]);else o(o.P+o.F*(d||C),t,v);return v}},function(e,t,n){e.exports=n(64)},function(e,t,n){var r=n(275),o=n(165).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(103),o=n(81),i=n(67),a=n(159),s=n(53),u=n(273),l=Object.getOwnPropertyDescriptor;t.f=n(52)?l:function(e,t){if(e=i(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=h(n(285));t.default=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),h=1;h<t;h++)n[h-1]=arguments[h];var g=e=o.default.apply(void 0,[{zIndex:s.default,isRtl:!1,userAgent:void 0},a.default,e].concat(n)),y=g.spacing,m=g.fontFamily,v=g.palette,b={spacing:y,fontFamily:m,palette:v};e=(0,o.default)({appBar:{color:v.primary1Color,textColor:v.alternateTextColor,height:y.desktopKeylineIncrement,titleFontWeight:d.default.fontWeightNormal,padding:y.desktopGutter},avatar:{color:v.canvasColor,backgroundColor:(0,i.emphasize)(v.canvasColor,.26)},badge:{color:v.alternateTextColor,textColor:v.textColor,primaryColor:v.primary1Color,primaryTextColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryTextColor:v.alternateTextColor,fontWeight:d.default.fontWeightMedium},bottomNavigation:{backgroundColor:v.canvasColor,unselectedColor:(0,i.fade)(v.textColor,.54),selectedColor:v.primary1Color,height:56,unselectedFontSize:12,selectedFontSize:14},button:{height:36,minWidth:88,iconButtonSize:2*y.iconSize},card:{titleColor:(0,i.fade)(v.textColor,.87),subtitleColor:(0,i.fade)(v.textColor,.54),fontWeight:d.default.fontWeightMedium},cardMedia:{color:p.darkWhite,overlayContentBackground:p.lightBlack,titleColor:p.darkWhite,subtitleColor:p.lightWhite},cardText:{textColor:v.textColor},checkbox:{boxColor:v.textColor,checkedColor:v.primary1Color,requiredColor:v.primary1Color,disabledColor:v.disabledColor,labelColor:v.textColor,labelDisabledColor:v.disabledColor},chip:{backgroundColor:(0,i.emphasize)(v.canvasColor,.12),deleteIconColor:(0,i.fade)(v.textColor,.26),textColor:(0,i.fade)(v.textColor,.87),fontSize:14,fontWeight:d.default.fontWeightNormal,shadow:"0 1px 6px "+(0,i.fade)(v.shadowColor,.12)+",\n 0 1px 4px "+(0,i.fade)(v.shadowColor,.12)},datePicker:{color:v.primary1Color,textColor:v.alternateTextColor,calendarTextColor:v.textColor,selectColor:v.primary2Color,selectTextColor:v.alternateTextColor,calendarYearBackgroundColor:v.canvasColor,headerColor:v.pickerHeaderColor||v.primary1Color},dialog:{titleFontSize:22,bodyFontSize:16,bodyColor:(0,i.fade)(v.textColor,.6)},dropDownMenu:{accentColor:v.borderColor},enhancedButton:{tapHighlightColor:p.transparent},flatButton:{color:p.transparent,buttonFilterColor:"#999999",disabledTextColor:(0,i.fade)(v.textColor,.3),textColor:v.textColor,primaryTextColor:v.primary1Color,secondaryTextColor:v.accent1Color,fontSize:d.default.fontStyleButtonFontSize,fontWeight:d.default.fontWeightMedium},floatingActionButton:{buttonSize:56,miniSize:40,color:v.primary1Color,iconColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryIconColor:v.alternateTextColor,disabledTextColor:v.disabledColor,disabledColor:(0,i.emphasize)(v.canvasColor,.12)},gridTile:{textColor:p.white},icon:{color:v.canvasColor,backgroundColor:v.primary1Color},inkBar:{backgroundColor:v.accent1Color},drawer:{width:4*y.desktopKeylineIncrement,color:v.canvasColor},listItem:{nestedLevelDepth:18,secondaryTextColor:v.secondaryTextColor,leftIconColor:p.grey600,rightIconColor:p.grey600},menu:{backgroundColor:v.canvasColor,containerBackgroundColor:v.canvasColor},menuItem:{dataHeight:32,height:48,hoverColor:(0,i.fade)(v.textColor,.1),padding:y.desktopGutter,selectedTextColor:v.accent1Color,rightIconDesktopFill:p.grey600},menuSubheader:{padding:y.desktopGutter,borderColor:v.borderColor,textColor:v.primary1Color},overlay:{backgroundColor:p.lightBlack},paper:{color:v.textColor,backgroundColor:v.canvasColor,zDepthShadows:[[1,6,.12,1,4,.12],[3,10,.16,3,10,.23],[10,30,.19,6,10,.23],[14,45,.25,10,18,.22],[19,60,.3,15,20,.22]].map(function(e){return"0 "+e[0]+"px "+e[1]+"px "+(0,i.fade)(v.shadowColor,e[2])+",\n 0 "+e[3]+"px "+e[4]+"px "+(0,i.fade)(v.shadowColor,e[5])})},radioButton:{borderColor:v.textColor,backgroundColor:v.alternateTextColor,checkedColor:v.primary1Color,requiredColor:v.primary1Color,disabledColor:v.disabledColor,size:24,labelColor:v.textColor,labelDisabledColor:v.disabledColor},raisedButton:{color:v.alternateTextColor,textColor:v.textColor,primaryColor:v.primary1Color,primaryTextColor:v.alternateTextColor,secondaryColor:v.accent1Color,secondaryTextColor:v.alternateTextColor,disabledColor:(0,i.darken)(v.alternateTextColor,.1),disabledTextColor:(0,i.fade)(v.textColor,.3),fontSize:d.default.fontStyleButtonFontSize,fontWeight:d.default.fontWeightMedium},refreshIndicator:{strokeColor:v.borderColor,loadingStrokeColor:v.primary1Color},ripple:{color:(0,i.fade)(v.textColor,.87)},slider:{trackSize:2,trackColor:v.primary3Color,trackColorSelected:v.accent3Color,handleSize:12,handleSizeDisabled:8,handleSizeActive:18,handleColorZero:v.primary3Color,handleFillColor:v.alternateTextColor,selectionColor:v.primary1Color,rippleColor:v.primary1Color},snackbar:{textColor:v.alternateTextColor,backgroundColor:v.textColor,actionColor:v.accent1Color},subheader:{color:(0,i.fade)(v.textColor,.54),fontWeight:d.default.fontWeightMedium},stepper:{backgroundColor:"transparent",hoverBackgroundColor:(0,i.fade)(p.black,.06),iconColor:v.primary1Color,hoveredIconColor:p.grey700,inactiveIconColor:p.grey500,textColor:(0,i.fade)(p.black,.87),disabledTextColor:(0,i.fade)(p.black,.26),connectorLineColor:p.grey400},svgIcon:{color:v.textColor},table:{backgroundColor:v.canvasColor},tableFooter:{borderColor:v.borderColor,textColor:v.accent3Color},tableHeader:{borderColor:v.borderColor},tableHeaderColumn:{textColor:v.accent3Color,height:56,spacing:24},tableRow:{hoverColor:v.accent2Color,stripeColor:(0,i.fade)((0,i.lighten)(v.primary1Color,.5),.4),selectedColor:v.borderColor,textColor:v.textColor,borderColor:v.borderColor,height:48},tableRowColumn:{height:48,spacing:24},tabs:{backgroundColor:v.primary1Color,textColor:(0,i.fade)(v.alternateTextColor,.7),selectedTextColor:v.alternateTextColor},textField:{textColor:v.textColor,hintColor:v.disabledColor,floatingLabelColor:v.disabledColor,disabledTextColor:v.disabledColor,errorColor:p.red500,focusColor:v.primary1Color,backgroundColor:"transparent",borderColor:v.borderColor},timePicker:{color:v.alternateTextColor,textColor:v.alternateTextColor,accentColor:v.primary1Color,clockColor:v.textColor,clockCircleColor:v.clockCircleColor,headerColor:v.pickerHeaderColor||v.primary1Color,selectColor:v.primary2Color,selectTextColor:v.alternateTextColor},toggle:{thumbOnColor:v.primary1Color,thumbOffColor:v.accent2Color,thumbDisabledColor:v.borderColor,thumbRequiredColor:v.primary1Color,trackOnColor:(0,i.fade)(v.primary1Color,.5),trackOffColor:v.primary3Color,trackDisabledColor:v.primary3Color,labelColor:v.textColor,labelDisabledColor:v.disabledColor,trackRequiredColor:(0,i.fade)(v.primary1Color,.5)},toolbar:{color:(0,i.fade)(v.textColor,.54),hoverColor:(0,i.fade)(v.textColor,.87),backgroundColor:(0,i.darken)(v.accent2Color,.05),height:56,titleFontSize:20,iconColor:(0,i.fade)(v.textColor,.4),separatorColor:(0,i.fade)(v.textColor,.175),menuHoverColor:(0,i.fade)(v.textColor,.1)},tooltip:{color:p.white,rippleBackgroundColor:p.grey700,opacity:.9}},e,{baseTheme:b,rawTheme:b});var _=[u.default,c.default,l.default].map(function(t){return t(e)}).filter(function(e){return e});return e.prepareStyles=f.default.apply(void 0,(0,r.default)(_)),e};var o=h(n(653)),i=n(289),a=h(n(654)),s=h(n(656)),u=h(n(657)),l=h(n(682)),c=h(n(683)),f=h(n(687)),d=h(n(688)),p=n(173);function h(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";t.__esModule=!0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(286));t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,r.default)(e)}},function(e,t,n){e.exports={default:n(647),__esModule:!0}},function(e,t,n){var r=n(288),o=n(28)("iterator"),i=n(68);e.exports=n(21).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t,n){var r=n(160),o=n(28)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertColorToString=o,t.convertHexToRGB=i,t.decomposeColor=a,t.getContrastRatio=function(e,t){var n=s(e),r=s(t),o=(Math.max(n,r)+.05)/(Math.min(n,r)+.05);return Number(o.toFixed(2))},t.getLuminance=s,t.emphasize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return s(e)>.5?u(e,t):l(e,t)},t.fade=function(e,t){e=a(e),t=r(t,0,1),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a");return e.values[3]=t,o(e)},t.darken=u,t.lighten=l;!function(e){e&&e.__esModule}(n(63));function r(e,t,n){return e<t?t:e>n?n:e}function o(e){var t=e.type,n=e.values;if(t.indexOf("rgb")>-1)for(var r=0;r<3;r++)n[r]=parseInt(n[r]);var o=void 0;return o=t.indexOf("hsl")>-1?e.type+"("+n[0]+", "+n[1]+"%, "+n[2]+"%":e.type+"("+n[0]+", "+n[1]+", "+n[2],4===n.length?o+=", "+e.values[3]+")":o+=")",o}function i(e){if(4===e.length){for(var t="#",n=1;n<e.length;n++)t+=e.charAt(n)+e.charAt(n);e=t}return"rgb("+parseInt(e.substr(1,2),16)+", "+parseInt(e.substr(3,2),16)+", "+parseInt(e.substr(5,2),16)+")"}function a(e){if("#"===e.charAt(0))return a(i(e));var t=e.indexOf("("),n=e.substring(0,t),r=e.substring(t+1,e.length-1).split(",");return{type:n,values:r=r.map(function(e){return parseFloat(e)})}}function s(e){if((e=a(e)).type.indexOf("rgb")>-1){var t=e.values.map(function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}if(e.type.indexOf("hsl")>-1)return e.values[2]/100}function u(e,t){if(e=a(e),t=r(t,0,1),e.type.indexOf("hsl")>-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")>-1)for(var n=0;n<3;n++)e.values[n]*=1-t;return o(e)}function l(e,t){if(e=a(e),t=r(t,0,1),e.type.indexOf("hsl")>-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")>-1)for(var n=0;n<3;n++)e.values[n]+=(255-e.values[n])*t;return o(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r,o){for(var i=0,a=e.length;i<a;++i){var s=e[i](t,n,r,o);if(s)return s}},e.exports=t.default},function(e,t,n){"use strict";function r(e,t){-1===e.indexOf(t)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(t))for(var n=0,o=t.length;n<o;++n)r(e,t[n]);else r(e,t)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Object&&!Array.isArray(e)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(673));e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=v(n(19)),o=v(n(20)),i=v(n(12)),a=v(n(11)),s=v(n(13)),u=v(n(14)),l=v(n(15)),c=v(n(16)),f=n(0),d=v(f),p=v(n(9)),h=v(n(694)),g=v(n(695)),y=v(n(696)),m=v(n(701));function v(e){return e&&e.__esModule?e:{default:e}}var b=!1,_=!1,x=!1;var w=function(e){function t(){var e,n,r,o;(0,a.default)(this,t);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return n=r=(0,u.default)(this,(e=t.__proto__||(0,i.default)(t)).call.apply(e,[this].concat(l))),r.state={isKeyboardFocused:!1},r.handleKeyDown=function(e){r.props.disabled||r.props.disableKeyboardFocus||("enter"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.handleClick(e),"esc"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.removeKeyboardFocus(e)),r.props.onKeyDown(e)},r.handleKeyUp=function(e){r.props.disabled||r.props.disableKeyboardFocus||"space"===(0,g.default)(e)&&r.state.isKeyboardFocused&&r.handleClick(e),r.props.onKeyUp(e)},r.handleBlur=function(e){r.cancelFocusTimeout(),r.removeKeyboardFocus(e),r.props.onBlur(e)},r.handleFocus=function(e){e&&e.persist(),r.props.disabled||r.props.disableKeyboardFocus||(r.focusTimeout=setTimeout(function(){x&&(r.setKeyboardFocus(e),x=!1)},150),r.props.onFocus(e))},r.handleClick=function(e){r.cancelFocusTimeout(),r.props.disabled||(x=!1,r.removeKeyboardFocus(e),r.props.onClick(e))},o=n,(0,u.default)(r,o)}return(0,l.default)(t,e),(0,s.default)(t,[{key:"componentWillMount",value:function(){var e=this.props,t=e.disabled,n=e.disableKeyboardFocus,r=e.keyboardFocused;t||!r||n||this.setState({isKeyboardFocused:!0})}},{key:"componentDidMount",value:function(){!function(){if(!b){var e=document.createElement("style");e.innerHTML="\n button::-moz-focus-inner,\n input::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n ",document.body.appendChild(e),b=!0}}(),_||(h.default.on(window,"keydown",function(e){x="tab"===(0,g.default)(e)}),_=!0),this.state.isKeyboardFocused&&(this.button.focus(),this.props.onKeyboardFocus(null,!0))}},{key:"componentWillReceiveProps",value:function(e){(e.disabled||e.disableKeyboardFocus)&&this.state.isKeyboardFocused&&(this.setState({isKeyboardFocused:!1}),e.onKeyboardFocus&&e.onKeyboardFocus(null,!1))}},{key:"componentWillUnmount",value:function(){this.focusTimeout&&clearTimeout(this.focusTimeout)}},{key:"isKeyboardFocused",value:function(){return this.state.isKeyboardFocused}},{key:"removeKeyboardFocus",value:function(e){this.state.isKeyboardFocused&&(this.setState({isKeyboardFocused:!1}),this.props.onKeyboardFocus(e,!1))}},{key:"setKeyboardFocus",value:function(e){this.state.isKeyboardFocused||(this.setState({isKeyboardFocused:!0}),this.props.onKeyboardFocus(e,!0))}},{key:"cancelFocusTimeout",value:function(){this.focusTimeout&&(clearTimeout(this.focusTimeout),this.focusTimeout=null)}},{key:"createButtonChildren",value:function(){var e=this.props,t=e.centerRipple,n=e.children,r=e.disabled,o=e.disableFocusRipple,i=e.disableKeyboardFocus,a=e.disableTouchRipple,s=e.focusRippleColor,u=e.focusRippleOpacity,l=e.touchRippleColor,c=e.touchRippleOpacity,f=this.state.isKeyboardFocused,p=!f||r||o||i?void 0:d.default.createElement(y.default,{color:s,opacity:u,show:f,style:{overflow:"hidden"},key:"focusRipple"}),h=r||a?void 0:d.default.createElement(m.default,{centerRipple:t,color:l,opacity:c,key:"touchRipple"},n);return[p,h,h?void 0:n]}},{key:"render",value:function(){var e=this,t=this.props,n=(t.centerRipple,t.children),i=t.containerElement,a=t.disabled,s=(t.disableFocusRipple,t.disableKeyboardFocus),u=(t.disableTouchRipple,t.focusRippleColor,t.focusRippleOpacity,t.href),l=(t.keyboardFocused,t.touchRippleColor,t.touchRippleOpacity,t.onBlur,t.onClick,t.onFocus,t.onKeyUp,t.onKeyDown,t.onKeyboardFocus,t.style),f=t.tabIndex,p=t.type,h=(0,o.default)(t,["centerRipple","children","containerElement","disabled","disableFocusRipple","disableKeyboardFocus","disableTouchRipple","focusRippleColor","focusRippleOpacity","href","keyboardFocused","touchRippleColor","touchRippleOpacity","onBlur","onClick","onFocus","onKeyUp","onKeyDown","onKeyboardFocus","style","tabIndex","type"]),g=this.context.muiTheme,y=g.prepareStyles,m=g.enhancedButton,v=(0,c.default)({border:10,boxSizing:"border-box",display:"inline-block",fontFamily:this.context.muiTheme.baseTheme.fontFamily,WebkitTapHighlightColor:m.tapHighlightColor,cursor:a?"default":"pointer",textDecoration:"none",margin:0,padding:0,outline:"none",fontSize:"inherit",fontWeight:"inherit",position:"relative",verticalAlign:u?"middle":null},l);if(v.backgroundColor||v.background||(v.background="none"),a&&u)return d.default.createElement("span",(0,r.default)({},h,{style:v}),n);var b=(0,r.default)({},h,{style:y(v),ref:function(t){return e.button=t},disabled:a,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyUp:this.handleKeyUp,onKeyDown:this.handleKeyDown,onClick:this.handleClick,tabIndex:a||s?-1:f});u&&(b.href=u);var _=this.createButtonChildren();return d.default.isValidElement(i)?d.default.cloneElement(i,b,_):(u||"button"!==i||(b.type=p),d.default.createElement(u?"a":i,b,_))}}]),t}(f.Component);w.defaultProps={containerElement:"button",onBlur:function(){},onClick:function(){},onFocus:function(){},onKeyDown:function(){},onKeyUp:function(){},onKeyboardFocus:function(){},tabIndex:0,type:"button"},w.contextTypes={muiTheme:p.default.object.isRequired},w.propTypes={},t.default=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=f(n(19)),o=f(n(20)),i=f(n(167)),a=f(n(16)),s=f(n(0)),u=f(n(9)),l=f(n(705)),c=f(n(100));function f(e){return e&&e.__esModule?e:{default:e}}var d=function(e,t){e.active;var n=e.children,u=e.completed,f=e.icon,d=e.iconContainerStyle,p=(e.last,e.style),h=(0,o.default)(e,["active","children","completed","icon","iconContainerStyle","last","style"]),g=t.muiTheme.prepareStyles,y=function(e,t){var n=e.active,r=e.completed,o=e.disabled,i=t.muiTheme,a=t.stepper,s=i.stepper,u=s.textColor,l=s.disabledTextColor,c=s.iconColor,f=s.inactiveIconColor,d=i.baseTheme,p={root:{height:"horizontal"===a.orientation?72:64,color:u,display:"flex",alignItems:"center",fontFamily:d.fontFamily,fontSize:14,paddingLeft:14,paddingRight:14},icon:{color:c,display:"block",fontSize:24,width:24,height:24},iconContainer:{paddingRight:8}};return n&&(p.root.fontWeight=500),r||n||(p.icon.color=f),o&&(p.icon.color=f,p.root.color=l,p.root.cursor="default"),p}(e,t),m=function(e,t,n){var r=void 0===t?"undefined":(0,i.default)(t);return"number"===r||"string"===r?e?s.default.createElement(l.default,{color:n.icon.color,style:n.icon}):s.default.createElement(c.default,{color:n.icon.color,style:n.icon},s.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),s.default.createElement("text",{x:"12",y:"16",textAnchor:"middle",fontSize:"12",fill:"#fff"},t)):t}(u,f,y);return s.default.createElement("span",(0,r.default)({style:g((0,a.default)(y.root,p))},h),m&&s.default.createElement("span",{style:g((0,a.default)(y.iconContainer,d))},m),n)};d.muiName="StepLabel",d.propTypes={},d.contextTypes={muiTheme:u.default.object.isRequired,stepper:u.default.object},t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(9));var o=r.default.oneOf(["left","middle","right"]),i=r.default.oneOf(["top","center","bottom"]);t.default={corners:r.default.oneOf(["bottom-left","bottom-right","top-left","top-right"]),horizontal:o,vertical:i,origin:r.default.shape({horizontal:o,vertical:i}),cornersAndCenter:r.default.oneOf(["bottom-center","bottom-left","bottom-right","top-center","top-left","top-right"]),stringOrNumber:r.default.oneOfType([r.default.string,r.default.number]),zDepth:r.default.oneOf([0,1,2,3,4,5])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=i(n(0)),o=i(n(718));function i(e){return e&&e.__esModule?e:{default:e}}const a={refresh:{display:"inline-block",position:"relative"}};t.default=(()=>r.default.createElement("div",{className:"yoast-wizard-overlay-loader"},r.default.createElement(o.default,{size:40,left:10,top:100,status:"loading",style:a.refresh})))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(299);Object.defineProperty(t,"FixedWidthContainer",{enumerable:!0,get:function(){return c(r).default}});var o=n(738);Object.defineProperty(t,"HelpTextWrapper",{enumerable:!0,get:function(){return c(o).default}});var i=n(308);Object.defineProperty(t,"SnippetPreview",{enumerable:!0,get:function(){return c(i).default}});var a=n(182);Object.defineProperty(t,"ReplacementVariableEditor",{enumerable:!0,get:function(){return c(a).default}});var s=n(981);Object.defineProperty(t,"SettingsSnippetEditor",{enumerable:!0,get:function(){return c(s).default}});var u=n(983);Object.defineProperty(t,"SnippetEditor",{enumerable:!0,get:function(){return c(u).default}});var l=n(58);function c(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"lengthProgressShape",{enumerable:!0,get:function(){return l.lengthProgressShape}}),Object.defineProperty(t,"recommendedReplacementVariablesShape",{enumerable:!0,get:function(){return l.recommendedReplacementVariablesShape}}),Object.defineProperty(t,"replacementVariablesShape",{enumerable:!0,get:function(){return l.replacementVariablesShape}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=l(r),i=l(n(1)),a=l(n(17)),s=l(n(300)),u=n(10);function l(e){return e&&e.__esModule?e:{default:e}}const c=i.default.div.withConfig({displayName:"FixedWidthContainer__FixedWidth",componentId:"sc-12v6gqu-0"})(["overflow:auto;width:","px;padding:0 ","px;max-width:100%;box-sizing:border-box;"],e=>e.widthValue,e=>e.paddingValue),f=i.default.div.withConfig({displayName:"FixedWidthContainer__Inner",componentId:"sc-12v6gqu-1"})(["width:","px;"],e=>e.widthValue),d=i.default.div.withConfig({displayName:"FixedWidthContainer__ScrollHintContainer",componentId:"sc-12v6gqu-2"})(["text-align:center;margin:1em 0 5px;"]),p=i.default.div.withConfig({displayName:"FixedWidthContainer__ScrollHint",componentId:"sc-12v6gqu-3"})(['display:inline-block;box-sizing:border-box;&:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\\21c4";box-sizing:border-box;}']);class h extends r.Component{constructor(e){super(e),this.state={showScrollHint:!1},this.setContainerRef=this.setContainerRef.bind(this),this.determineSize=(0,s.default)(this.determineSize.bind(this),100)}setContainerRef(e){if(!e)return null;this._container=e,this.determineSize(),window.addEventListener("resize",this.determineSize)}determineSize(){const e=this._container.offsetWidth;this.setState({showScrollHint:e<this.props.width})}componentWillUnmount(){window.removeEventListener("resize",this.determineSize)}render(){var e=this.props;const t=e.width,n=e.padding,r=e.children,i=e.className,a=e.id,s=t-2*n;return o.default.createElement(o.default.Fragment,null,o.default.createElement(c,{id:a,className:i,widthValue:t,paddingValue:n,ref:this.setContainerRef},o.default.createElement(f,{widthValue:s},r)),this.state.showScrollHint&&o.default.createElement(d,null,o.default.createElement(p,null,(0,u.__)("Scroll to see the preview content.","yoast-components"))))}}t.default=h,h.propTypes={id:a.default.string,width:a.default.number.isRequired,padding:a.default.number,children:a.default.node.isRequired,className:a.default.string},h.defaultProps={id:"",padding:0,className:""}},function(e,t,n){var r=n(70),o=n(735),i=n(302),a="Expected a function",s=Math.max,u=Math.min;e.exports=function(e,t,n){var l,c,f,d,p,h,g=0,y=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError(a);function b(t){var n=l,r=c;return l=c=void 0,g=t,d=e.apply(r,n)}function _(e){var n=e-h;return void 0===h||n>=t||n<0||m&&e-g>=f}function x(){var e=o();if(_(e))return w(e);p=setTimeout(x,function(e){var n=t-(e-h);return m?u(n,f-(e-g)):n}(e))}function w(e){return p=void 0,v&&l?b(e):(l=c=void 0,d)}function S(){var e=o(),n=_(e);if(l=arguments,c=this,h=e,n){if(void 0===p)return function(e){return g=e,p=setTimeout(x,t),y?b(e):d}(h);if(m)return p=setTimeout(x,t),b(h)}return void 0===p&&(p=setTimeout(x,t)),d}return t=i(t)||0,r(n)&&(y=!!n.leading,f=(m="maxWait"in n)?s(i(n.maxWait)||0,t):f,v="trailing"in n?!!n.trailing:v),S.cancel=function(){void 0!==p&&clearTimeout(p),g=0,l=h=c=p=void 0},S.flush=function(){return void 0===p?d:w(o())},S}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t,n){var r=n(70),o=n(106),i=NaN,a=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return i;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=u.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):s.test(e)?i:+e}},function(e,t,n){var r=n(107),o=n(304),i=n(30),a=n(106),s=1/0,u=r?r.prototype:void 0,l=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return o(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t,n){"use strict";t.__esModule=!0,t.default=t.EXITING=t.ENTERED=t.ENTERING=t.EXITED=t.UNMOUNTED=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(17)),o=s(n(0)),i=s(n(23)),a=n(155);n(306);function s(e){return e&&e.__esModule?e:{default:e}}var u="unmounted";t.UNMOUNTED=u;var l="exited";t.EXITED=l;var c="entering";t.ENTERING=c;var f="entered";t.ENTERED=f;t.EXITING="exiting";var d=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var o,i=n.transitionGroup,a=i&&!i.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(o=l,r.appearStatus=c):o=f:o=t.unmountOnExit||t.mountOnEnter?u:l,r.state={status:o},r.nextCallback=null,r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:null}},t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===u?{status:l}:null},n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==c&&n!==f&&(t=c):n!==c&&n!==f||(t="exiting")}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t){this.cancelNextCallback();var n=i.default.findDOMNode(this);t===c?this.performEnter(n,e):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===l&&this.setState({status:u})},n.performEnter=function(e,t){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:t,i=this.getTimeouts(),a=o?i.appear:i.enter;t||r?(this.props.onEnter(e,o),this.safeSetState({status:c},function(){n.props.onEntering(e,o),n.onTransitionEnd(e,a,function(){n.safeSetState({status:f},function(){n.props.onEntered(e,o)})})})):this.safeSetState({status:f},function(){n.props.onEntered(e)})},n.performExit=function(e){var t=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(e),this.safeSetState({status:"exiting"},function(){t.props.onExiting(e),t.onTransitionEnd(e,r.exit,function(){t.safeSetState({status:l},function(){t.props.onExited(e)})})})):this.safeSetState({status:l},function(){t.props.onExited(e)})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t,n){this.setNextCallback(n);var r=null==t&&!this.props.addEndListener;e&&!r?(this.props.addEndListener&&this.props.addEndListener(e,this.nextCallback),null!=t&&setTimeout(this.nextCallback,t)):setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===u)return null;var t=this.props,n=t.children,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"==typeof n)return n(e,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},t}(o.default.Component);function p(){}d.contextTypes={transitionGroup:r.object},d.childContextTypes={transitionGroup:function(){}},d.propTypes={},d.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:p,onEntering:p,onEntered:p,onExit:p,onExiting:p,onExited:p},d.UNMOUNTED=0,d.EXITED=1,d.ENTERING=2,d.ENTERED=3,d.EXITING=4;var h=(0,a.polyfill)(d);t.default=h},function(e,t,n){"use strict";t.__esModule=!0,t.classNamesShape=t.timeoutsShape=void 0;!function(e){e&&e.__esModule}(n(17));t.timeoutsShape=null;t.classNamesShape=null},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=s(n(17)),o=s(n(0)),i=n(155),a=n(747);function s(e){return e&&e.__esModule?e:{default:e}}function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var c=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},f=function(e){function t(t,n){var r,o=(r=e.call(this,t,n)||this).handleExited.bind(l(l(r)));return r.state={handleExited:o,firstRender:!0},r}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}(t,e);var n=t.prototype;return n.getChildContext=function(){return{transitionGroup:{isMounting:!this.appeared}}},n.componentDidMount=function(){this.appeared=!0,this.mounted=!0},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n=t.children,r=t.handleExited;return{children:t.firstRender?(0,a.getInitialChildMapping)(e,r):(0,a.getNextChildMapping)(e,n,r),firstRender:!1}},n.handleExited=function(e,t){var n=(0,a.getChildMapping)(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState(function(t){var n=u({},t.children);return delete n[e.key],{children:n}}))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["component","childFactory"]),i=c(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===t?i:o.default.createElement(t,r,i)},t}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(e){return e}};var d=(0,i.polyfill)(f);t.default=d,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(0),i=b(o),a=b(n(1)),s=b(n(62)),u=b(n(17)),l=b(n(749)),c=n(761),f=n(10),d=n(3),p=n(180),h=n(7),g=n(8),y=b(n(299)),m=n(181),v=n(108);function b(e){return e&&e.__esModule?e:{default:e}}const _=p.string.transliterate,x=p.string.createRegexFromArray,w=p.string.replaceDiacritics,S=600,C=20,k=156,O=(0,a.default)(y.default).withConfig({displayName:"SnippetPreview__DesktopContainer",componentId:"waz8ku-0"})(["background-color:#fff;font-family:arial,sans-serif;box-sizing:border-box;"]),E=a.default.div.withConfig({displayName:"SnippetPreview__MobileContainer",componentId:"waz8ku-1"})(["border-bottom:1px hidden #fff;border-radius:8px;box-shadow:0 1px 6px rgba(32,33,36,0.28);font-family:Arial,Roboto-Regular,HelveticaNeue,sans-serif;max-width:","px;box-sizing:border-box;font-size:14px;"],400),T=a.default.div.withConfig({displayName:"SnippetPreview__BaseTitle",componentId:"waz8ku-2"})(["cursor:pointer;position:relative;"]);function M(e,t,n){return(0,a.default)(e).withConfig({displayName:"SnippetPreview",componentId:"waz8ku-3"})(["&::before{display:block;position:absolute;top:0;",":",";width:22px;height:22px;background-image:url( ",' );background-size:24px;background-repeat:no-repeat;background-position:center;content:"";}'],(0,h.getDirectionalStyle)("left","right"),()=>n===m.MODE_DESKTOP?"-22px":"-40px",(0,h.getDirectionalStyle)((0,v.angleRight)(t),(0,v.angleLeft)(t)))}const P=a.default.div.withConfig({displayName:"SnippetPreview__Title",componentId:"waz8ku-4"})(["color:",";text-decoration:none;font-size:",";line-height:",";font-weight:normal;margin:0;display:inline-block;overflow:hidden;max-width:","px;vertical-align:top;text-overflow:ellipsis;"],e=>e.screenMode===m.MODE_DESKTOP?"#1a0dab":"#1967d2",e=>e.screenMode===m.MODE_DESKTOP?"20px":"16px",e=>e.screenMode===m.MODE_DESKTOP?"1.3":"20px",S),j=(0,a.default)(P).withConfig({displayName:"SnippetPreview__TitleBounded",componentId:"waz8ku-5"})(["max-width:","px;vertical-align:top;text-overflow:ellipsis;"],S),A=a.default.span.withConfig({displayName:"SnippetPreview__TitleUnboundedDesktop",componentId:"waz8ku-6"})(["white-space:nowrap;"]),I=a.default.span.withConfig({displayName:"SnippetPreview__TitleUnboundedMobile",componentId:"waz8ku-7"})(["display:inline-block;max-height:40px;padding-top:1px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;"]),R=a.default.div.withConfig({displayName:"SnippetPreview__BaseUrl",componentId:"waz8ku-8"})(["display:inline-block;cursor:pointer;position:relative;max-width:90%;white-space:nowrap;font-size:14px;vertical-align:top;"]),D=(0,a.default)(R).withConfig({displayName:"SnippetPreview__BaseUrlOverflowContainer",componentId:"waz8ku-9"})(["overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-bottom:",";padding-top:1px;line-height:",";vertical-align:",";"],e=>e.screenMode===m.MODE_DESKTOP?"0":"12px",e=>e.screenMode===m.MODE_DESKTOP?"1.5":"20px",e=>e.screenMode===m.MODE_DESKTOP?"baseline":"top"),N=a.default.span.withConfig({displayName:"SnippetPreview__UrlContentContainer",componentId:"waz8ku-10"})(["font-size:",";color:",";"],e=>e.screenMode===m.MODE_DESKTOP?"16px":"12px",e=>e.screenMode===m.MODE_DESKTOP?"#006621":"#3c4043");D.displayName="SnippetPreview__BaseUrlOverflowContainer";const B=a.default.div.withConfig({displayName:"SnippetPreview__DesktopDescription",componentId:"waz8ku-11"})(["color:",";cursor:pointer;position:relative;max-width:","px;padding-top:",";font-size:14px;line-height:1.57;"],e=>e.isDescriptionPlaceholder?"#767676":"#545454",S,e=>e.screenMode===m.MODE_DESKTOP?"0":"1px"),L=a.default.div.withConfig({displayName:"SnippetPreview__MobileDescription",componentId:"waz8ku-12"})(["color:",";font-size:14px;line-height:20px;cursor:pointer;position:relative;max-width:",'px;&:after{display:table;content:"";clear:both;}'],"#3c4043",S),F=a.default.div.withConfig({displayName:"SnippetPreview__MobileDescriptionImageContainer",componentId:"waz8ku-13"})(["float:right;width:104px;height:104px;margin:4px 0 4px 16px;border-radius:8px;overflow:hidden;"]),z=a.default.img.withConfig({displayName:"SnippetPreview__MobileDescriptionImage",componentId:"waz8ku-14"})(["&&&{display:block;width:104px;height:104px;object-fit:cover;}"]),q=a.default.div.withConfig({displayName:"SnippetPreview__MobilePartContainer",componentId:"waz8ku-15"})(["padding:12px 16px;&:first-child{margin-bottom:-16px;}"]),K=a.default.div.withConfig({displayName:"SnippetPreview__DesktopPartContainer",componentId:"waz8ku-16"})([""]),W=a.default.div.withConfig({displayName:"SnippetPreview__UrlDownArrow",componentId:"waz8ku-17"})(["display:inline-block;margin-top:9px;margin-left:6px;border-top:5px solid #006621;border-right:4px solid transparent;border-left:4px solid transparent;vertical-align:top;"]),U=a.default.span.withConfig({displayName:"SnippetPreview__DatePreview",componentId:"waz8ku-18"})(["color:",";"],e=>e.screenMode===m.MODE_DESKTOP?"#777":"#70757a"),$="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVR4AWL4//8/RRjO8Iucx+noO0MWUDo16FYABMGP6ZfUcRnWtm27jVPbtm3bttuH2t3eFPcY9pLz7NxiLjCyVd87pKnHyqXyxtCs8APd0rnyxiu4qSeA3QEDrAwBDrT1s1Rc/OrjLZwqVmOSu6+Lamcpp2KKMA9PH1BYXMe1mUP5qotvXTywsOEEYHXxrY+3cqk6TMkYpNr2FeoY3KIr0RPtn9wQ2unlA+GMkRw6+9TFw4YTwDUzx/JVvARj9KaedXRO8P5B1Du2S32smzqUrcKGEyA+uAgQjKX7zf0boWHGfn71jIKj2689gxp7OAGShNcBUmLMPVjZuiKcA2vuWHHDCQxMCz629kXAIU4ApY15QwggAFbfOP9DhgBJ+nWVJ1AZAfICAj1pAlY6hCADZnveQf7bQIwzVONGJonhLIlS9gr5mFg44Xd+4S3XHoGNPdJl1INIwKyEgHckEhgTe1bGiFY9GSFBYUwLh1IkiJUbY407E7syBSFxKTszEoiE/YdrgCEayDmtaJwCI9uu8TKMuZSVfSa4BpGgzvomBR/INhLGzrqDotp01ZR8pn/1L0JN9d9XNyx0AAAAAElFTkSuQmCC",H=a.default.img.withConfig({displayName:"SnippetPreview__Favicon",componentId:"waz8ku-19"})(["width:16px;height:16px;margin-right:12px;vertical-align:middle;"]),V=a.default.div.withConfig({displayName:"SnippetPreview__Amp",componentId:"waz8ku-20"})(["background-size:100% 100%;display:inline-block;height:12px;width:12px;margin-bottom:-1px;opacity:0.46;margin-right:6px;background-image:url( "," )"],"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAABr0lEQVR4AbWWJYCUURhFD04Zi7hrLzgFd4nzV9x6wKHinmYb7g4zq71gIw2LWBnZ3Q8df/fh96Tn/t2HVIw4CVKk+fSFNCkSxInxW1pFkhLmoMRjVvFLmkEX5ocuZuBVPw5jv8hh+iEU5QEmuMK+prz7RN3dPMMEGQYzxpH/lGjzou5jgl7mAvOdZfcbF+jbm3MAbFZ7VX9SJnlL1D8UMyjLe+BrAYDb+jJUr59JrlNWRtcqX9GkrPCR4QBAf4qYJAkQoyQrbKKs8RiaEjEI0GvvQ1mLMC9xaBFFBaZS1TbMSwJSomg39erDF+TxpCCNOXjGQJTCvG6qn4ZPzkcxA61Tjhaf4KMj+6Q3XvW6Lopraa8IozRQxIi0a7NXorULc5JyHX/3F3q+0PsFYytVTaGgjz/AvCyiegE69IUsPxHNBMpa738i6tGWlzkAABjKe/+j9YeRHGVd9oWRnwe2ewDASp/L/UqoPQ5AmFeYZMavBP8dAJz0GWWDHQlzXApMdz4KYUfKICcxkKeOfGmQyrIPcgE9m+g/+kT812/Nr3+0kqzitxQjoKXh6xfor99nlEdFjyvH15gAAAAASUVORK5CYII=");function G(e,t,n,r){if(0===t.length)return n;let o=r||n;const a=[];t.forEach(function(t){t=r?w(t):t,a.push(t);const n=_(t,e);n!==t&&a.push(n)});const u=x(a,!1,"",!1);return o=o.replace(u,function(e){return`{{strong}}${e}{{/strong}}`}),(0,s.default)({mixedString:o,components:{strong:i.default.createElement("strong",null)}})}class Y extends o.PureComponent{constructor(e){super(e),this.state={title:e.title,description:e.description,isDescriptionPlaceholder:!0},this.setTitleRef=this.setTitleRef.bind(this),this.setDescriptionRef=this.setDescriptionRef.bind(this)}setTitleRef(e){this._titleElement=e}setDescriptionRef(e){this._descriptionElement=e}hasOverflowedContent(e){return Math.abs(e.clientHeight-e.scrollHeight)>=2}fitTitle(){const e=this._titleElement;if(this.hasOverflowedContent(e)){let t=this.state.title;const n=e.clientWidth/3;t.length>n&&(t=t.substring(0,n));const r=this.dropLastWord(t);this.setState({title:r})}}dropLastWord(e){const t=e.split(" ");return t.pop(),t.join(" ")}getTitle(){return this.props.title!==this.state.title?this.state.title+" ...":this.props.title}getDescription(){return this.props.description?(0,l.default)(this.props.description,{length:k,separator:" ",omission:" ..."}):(0,f.__)("Please provide a meta description by editing the snippet below. If you don’t, Google will try to find a relevant part of your post to show in the search results.","yoast-components")}renderDate(){const e=this.props.mode===m.MODE_DESKTOP?"-":"⋅";return this.props.date&&i.default.createElement(U,{screenMode:this.props.mode},this.props.date," ",e," ")}addCaretStyles(e,t){var n=this.props;const r=n.mode,o=n.hoveredField;return n.activeField===e?M(t,d.colors.$color_snippet_active,r):o===e?M(t,d.colors.$color_snippet_hover,r):t}getBreadcrumbs(e){const t=this.props.breadcrumbs,n=encodeURI(e.replace(/\?|#/g,""));var r=(0,c.parse)(n);const o=r.protocol,i=r.hostname,a=r.pathname,s=["https:"===o?o+"//"+i:i,...t||a.split("/")].filter(e=>!!e).join(" › ");return decodeURI(s)}renderUrl(){var e=this.props;const t=e.url,n=e.onMouseUp,r=e.onMouseEnter,o=e.onMouseLeave,a=e.mode,s=e.faviconSrc,u=a===m.MODE_MOBILE;let l=w(t);u?l=this.getBreadcrumbs(l):function(e){return e.lastIndexOf("/")===e.length-1}(l)||(l+="/");const c=this.addCaretStyles("url",R);return i.default.createElement(i.default.Fragment,null,i.default.createElement(g.ScreenReaderText,null,(0,f.__)("Url preview","yoast-components")+":"),i.default.createElement(c,null,i.default.createElement(D,{onMouseUp:n.bind(null,"url"),onMouseEnter:r.bind(null,"url"),onMouseLeave:o.bind(null),screenMode:a},u&&i.default.createElement(H,{src:s||$,alt:""}),i.default.createElement(N,{screenMode:a},l))))}componentWillReceiveProps(e){const t={};this.props.title!==e.title&&(t.title=e.title),this.props.description!==e.description&&(t.description=e.description),this.setState(t)}componentDidUpdate(){this.setState({isDescriptionPlaceholder:!this.props.description}),this.props.mode===m.MODE_MOBILE&&(clearTimeout(this.fitTitleTimeout),this.fitTitleTimeout=setTimeout(()=>{this.fitTitle()},10))}componentDidMount(){this.setState({isDescriptionPlaceholder:!this.props.description})}renderDescription(){var e=this.props;const t=e.wordsToHighlight,n=e.locale,o=e.onMouseUp,a=e.onMouseLeave,s=e.onMouseEnter,u=e.mode,l=e.mobileImageSrc,c=this.renderDate(),f={isDescriptionPlaceholder:this.state.isDescriptionPlaceholder,onMouseUp:o.bind(null,"description"),onMouseEnter:s.bind(null,"description"),onMouseLeave:a.bind(null)};if(u===m.MODE_DESKTOP){const e=this.addCaretStyles("description",B);return i.default.createElement(e,r({},f,{ref:this.setDescriptionRef}),c,G(n,t,this.getDescription()))}if(u===m.MODE_MOBILE){const e=this.addCaretStyles("description",L);return i.default.createElement(e,f,i.default.createElement(L,{isDescriptionPlaceholder:this.state.isDescriptionPlaceholder,ref:this.setDescriptionRef},l&&i.default.createElement(F,null,i.default.createElement(z,{src:l,alt:""})),c,G(n,t,this.getDescription())))}return null}render(){var e=this.props;const t=e.onMouseUp,n=e.onMouseLeave,r=e.onMouseEnter,o=e.mode,a=e.isAmp;var s=this.getPreparedComponents(o);const u=s.PartContainer,l=s.Container,c=s.TitleUnbounded,d=s.SnippetTitle,p=o===m.MODE_DESKTOP,h=p?i.default.createElement(W,null):null,y=p||!a?null:i.default.createElement(V,null);return i.default.createElement("section",null,i.default.createElement(l,{id:"yoast-snippet-preview-container",onMouseLeave:this.onMouseLeave,width:p?S+2*C:null,padding:C},i.default.createElement(u,null,!p&&this.renderUrl(),i.default.createElement(g.ScreenReaderText,null,(0,f.__)("SEO title preview","yoast-components")+":"),i.default.createElement(d,{onMouseUp:t.bind(null,"title"),onMouseEnter:r.bind(null,"title"),onMouseLeave:n.bind(null)},i.default.createElement(j,{screenMode:o},i.default.createElement(c,{ref:this.setTitleRef},this.getTitle()))),y,p&&this.renderUrl(),h),i.default.createElement(u,null,i.default.createElement(g.ScreenReaderText,null,(0,f.__)("Meta description preview","yoast-components")+":"),this.renderDescription())))}getPreparedComponents(e){return{PartContainer:e===m.MODE_DESKTOP?K:q,Container:e===m.MODE_DESKTOP?O:E,TitleUnbounded:e===m.MODE_DESKTOP?A:I,SnippetTitle:this.addCaretStyles("title",T)}}}t.default=Y,Y.propTypes={title:u.default.string.isRequired,url:u.default.string.isRequired,description:u.default.string.isRequired,date:u.default.string,breadcrumbs:u.default.array,hoveredField:u.default.string,activeField:u.default.string,keyword:u.default.string,wordsToHighlight:u.default.array,locale:u.default.string,mode:u.default.oneOf(m.MODES),isAmp:u.default.bool,faviconSrc:u.default.string,mobileImageSrc:u.default.string,onMouseUp:u.default.func.isRequired,onHover:u.default.func,onMouseEnter:u.default.func,onMouseLeave:u.default.func},Y.defaultProps={date:"",keyword:"",wordsToHighlight:[],breadcrumbs:null,locale:"en",hoveredField:"",activeField:"",mode:m.DEFAULT_MODE,isAmp:!1,faviconSrc:"",mobileImageSrc:"",onHover:()=>{},onMouseEnter:()=>{},onMouseLeave:()=>{}}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(301),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(34)(e))},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(760);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){"use strict";var r=n(27),o=n(4),i=n(40),a=o.OrderedMap;e.exports=function(e){return e.first()instanceof r?function(e){var t={},n=void 0;return a(e.withMutations(function(e){e.forEach(function(r,o){var a=r.getKey(),s=r.getNextSiblingKey(),u=r.getPrevSiblingKey(),l=r.getChildKeys(),c=r.getParentKey(),f=i();if(t[a]=f,s&&(e.get(s)?e.setIn([s,"prevSibling"],f):e.setIn([a,"nextSibling"],null)),u&&(e.get(u)?e.setIn([u,"nextSibling"],f):e.setIn([a,"prevSibling"],null)),c&&e.get(c)){var d=e.get(c).getChildKeys();e.setIn([c,"children"],d.set(d.indexOf(r.getKey()),f))}else e.setIn([a,"parent"],null),n&&(e.setIn([n.getKey(),"nextSibling"],f),e.setIn([a,"prevSibling"],t[n.getKey()])),n=e.get(a);l.forEach(function(t){e.get(t)?e.setIn([t,"parent"],f):e.setIn([a,"children"],r.getChildKeys().filter(function(e){return e!==t}))})})}).toArray().map(function(e){return[t[e.getKey()],e.set("key",t[e.getKey()])]}))}(e):function(e){return a(e.toArray().map(function(e){var t=i();return[t,e.set("key",t)]}))}(e)}},function(e,t,n){"use strict";var r=n(25),o=n(85),i=n(5);function a(e,t,n){var a=t.getCharacterList(),s=n>0?a.get(n-1):void 0,u=n<a.count()?a.get(n):void 0,l=s?s.getEntity():void 0,c=u?u.getEntity():void 0;if(c&&c===l&&"MUTABLE"!==e.__get(c).getMutability()){for(var f,d=function(e,t,n){var r;return o(e,function(e,t){return e.getEntity()===t.getEntity()},function(e){return e.getEntity()===t},function(e,t){e<=n&&t>=n&&(r={start:e,end:t})}),"object"!=typeof r&&i(!1),r}(a,c,n),p=d.start,h=d.end;p<h;)f=a.get(p),a=a.set(p,r.applyEntity(f,null)),p++;return t.set("characterList",a)}return t}e.exports=function(e,t){var n=e.getBlockMap(),r=e.getEntityMap(),o={},i=t.getStartKey(),s=t.getStartOffset(),u=n.get(i),l=a(r,u,s);l!==u&&(o[i]=l);var c=t.getEndKey(),f=t.getEndOffset(),d=n.get(c);i===c&&(d=l);var p=a(r,d,f);return p!==d&&(o[c]=p),Object.keys(o).length?e.merge({blockMap:n.merge(o),selectionAfter:t}):e.set("selectionAfter",t)}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(n===e.count())t.forEach(function(t){e=e.push(t)});else if(0===n)t.reverse().forEach(function(t){e=e.unshift(t)});else{var r=e.slice(0,n),o=e.slice(n);e=r.concat(t,o).toList()}return e}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e,t){if(!(e instanceof r))return null;var n=e.getNextSiblingKey();if(n)return n;var o=e.getParentKey();if(!o)return null;for(var i=t.get(o);i&&!i.getNextSiblingKey();){var a=i.getParentKey();i=a?t.get(a):null}return i?i.getNextSiblingKey():null}},function(e,t,n){"use strict";var r=n(4),o=n(183),i=n(85),a=r.List,s=r.Repeat,u=r.Record,l=o.thatReturnsTrue,c=u({start:null,end:null}),f=u({start:null,end:null,decoratorKey:null,leaves:null}),d={generate:function(e,t,n){var r=t.getLength();if(!r)return a.of(new f({start:0,end:0,decoratorKey:null,leaves:a.of(new c({start:0,end:0}))}));var o=[],u=n?n.getDecorations(t,e):a(s(null,r)),d=t.getCharacterList();return i(u,p,l,function(e,t){o.push(new f({start:e,end:t,decoratorKey:u.get(e),leaves:function(e,t){var n=[],r=e.map(function(e){return e.getStyle()}).toList();return i(r,p,l,function(e,r){n.push(new c({start:e+t,end:r+t}))}),a(n)}(d.slice(e,t).toList(),e)}))}),a(o)},getFingerprint:function(e){return e.map(function(e){var t=e.get("decoratorKey");return(null!==t?t+"."+(e.get("end")-e.get("start")):"")+"."+e.get("leaves").size}).join("-")}};function p(e,t){return e===t}e.exports=d},function(e,t,n){"use strict";var r=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getType=function(){return this.get("type")},t.prototype.getMutability=function(){return this.get("mutability")},t.prototype.getData=function(){return this.get("data")},t}((0,n(4).Record)({type:"TOKEN",mutability:"IMMUTABLE",data:Object}));e.exports=r},function(e,t,n){"use strict";var r=n(186),o=n(5),i="֐־׀׃׆׈-׏א-ת׫-ׯװ-ײ׳-״׵-׿߀-߉ߊ-ߪߴ-ߵߺ߻-߿ࠀ-ࠕࠚࠤࠨ࠮-࠯࠰-࠾࠿ࡀ-ࡘ࡜-࡝࡞࡟-࢟‏יִײַ-ﬨשׁ-זּ﬷טּ-לּ﬽מּ﬿נּ-סּ﭂ףּ-פּ﭅צּ-ﭏ",a="؈؋؍؛؜؝؞-؟ؠ-ؿـف-ي٭ٮ-ٯٱ-ۓ۔ەۥ-ۦۮ-ۯۺ-ۼ۽-۾ۿ܀-܍܎܏ܐܒ-ܯ݋-݌ݍ-ޥޱ޲-޿ࢠ-ࢲࢳ-ࣣﭐ-ﮱ﮲-﯁﯂-﯒ﯓ-ﴽ﵀-﵏ﵐ-ﶏ﶐-﶑ﶒ-ﷇ﷈-﷏ﷰ-ﷻ﷼﷾-﷿ﹰ-ﹴ﹵ﹶ-ﻼ﻽-﻾",s=new RegExp("["+"A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-ƿǀ-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҂Ҋ-ԯԱ-Ֆՙ՚-՟ա-և։ःऄ-हऻऽा-ीॉ-ौॎ-ॏॐक़-ॡ।-॥०-९॰ॱॲ-ঀং-ঃঅ-ঌএ-ঐও-নপ-রলশ-হঽা-ীে-ৈো-ৌৎৗড়-ঢ়য়-ৡ০-৯ৰ-ৱ৴-৹৺ਃਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽા-ીૉો-ૌૐૠ-ૡ૦-૯૰ଂ-ଃଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽାୀେ-ୈୋ-ୌୗଡ଼-ଢ଼ୟ-ୡ୦-୯୰ୱ୲-୷ஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹா-ிு-ூெ-ைொ-ௌௐௗ௦-௯௰-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౙౠ-ౡ౦-౯౿ಂ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽಾಿೀ-ೄೆೇ-ೈೊ-ೋೕ-ೖೞೠ-ೡ೦-೯ೱ-ೲം-ഃഅ-ഌഎ-ഐഒ-ഺഽാ-ീെ-ൈൊ-ൌൎൗൠ-ൡ൦-൯൰-൵൹ൺ-ൿං-ඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-ෳ෴ก-ะา-ำเ-ๅๆ๏๐-๙๚-๛ກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆ໐-໙ໜ-ໟༀ༁-༃༄-༒༓༔༕-༗༚-༟༠-༩༪-༳༴༶༸༾-༿ཀ-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿏࿐-࿔࿕-࿘࿙-࿚က-ဪါ-ာေးျ-ြဿ၀-၉၊-၏ၐ-ၕၖ-ၗၚ-ၝၡၢ-ၤၥ-ၦၧ-ၭၮ-ၰၵ-ႁႃ-ႄႇ-ႌႎႏ႐-႙ႚ-ႜ႞-႟Ⴀ-ჅჇჍა-ჺ჻ჼჽ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፨፩-፼ᎀ-ᎏᎠ-Ᏼᐁ-ᙬ᙭-᙮ᙯ-ᙿᚁ-ᚚᚠ-ᛪ᛫-᛭ᛮ-ᛰᛱ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵-᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះ-ៈ។-៖ៗ៘-៚ៜ០-៩᠐-᠙ᠠ-ᡂᡃᡄ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰ-ᤱᤳ-ᤸ᥆-᥏ᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧀᧁ-ᧇᧈ-ᧉ᧐-᧙᧚ᨀ-ᨖᨙ-ᨚ᨞-᨟ᨠ-ᩔᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪦ᪧ᪨-᪭ᬄᬅ-ᬳᬵᬻᬽ-ᭁᭃ-᭄ᭅ-ᭋ᭐-᭙᭚-᭠᭡-᭪᭴-᭼ᮂᮃ-ᮠᮡᮦ-ᮧ᮪ᮮ-ᮯ᮰-᮹ᮺ-ᯥᯧᯪ-ᯬᯮ᯲-᯳᯼-᯿ᰀ-ᰣᰤ-ᰫᰴ-ᰵ᰻-᰿᱀-᱉ᱍ-ᱏ᱐-᱙ᱚ-ᱷᱸ-ᱽ᱾-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳱᳲ-ᳳᳵ-ᳶᴀ-ᴫᴬ-ᵪᵫ-ᵷᵸᵹ-ᶚᶛ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℵ-ℸℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↂↃ-ↄↅ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⱻⱼ-ⱽⱾ-ⳤⳫ-ⳮⳲ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々〆〇〡-〩〮-〯〱-〵〸-〺〻〼ぁ-ゖゝ-ゞゟァ-ヺー-ヾヿㄅ-ㄭㄱ-ㆎ㆐-㆑㆒-㆕㆖-㆟ㆠ-ㆺㇰ-ㇿ㈀-㈜㈠-㈩㈪-㉇㉈-㉏㉠-㉻㉿㊀-㊉㊊-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿌ꀀ-ꀔꀕꀖ-ꒌꓐ-ꓷꓸ-ꓽ꓾-꓿ꔀ-ꘋꘌꘐ-ꘟ꘠-꘩ꘪ-ꘫꙀ-ꙭꙮꚀ-ꚛꚜ-ꚝꚠ-ꛥꛦ-ꛯ꛲-꛷Ꜣ-ꝯꝰꝱ-ꞇ꞉-꞊Ꞌ-ꞎꞐ-ꞭꞰ-Ʇꟷꟸ-ꟹꟺꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꠣ-ꠤꠧ꠰-꠵꠶-꠷ꡀ-ꡳꢀ-ꢁꢂ-ꢳꢴ-ꣃ꣎-꣏꣐-꣙ꣲ-ꣷ꣸-꣺ꣻ꤀-꤉ꤊ-ꤥ꤮-꤯ꤰ-ꥆꥒ-꥓꥟ꥠ-ꥼꦃꦄ-ꦲꦴ-ꦵꦺ-ꦻꦽ-꧀꧁-꧍ꧏ꧐-꧙꧞-꧟ꧠ-ꧤꧦꧧ-ꧯ꧰-꧹ꧺ-ꧾꨀ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-꩟ꩠ-ꩯꩰꩱ-ꩶ꩷-꩹ꩺꩻꩽꩾ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂꫛ-ꫜꫝ꫞-꫟ꫠ-ꫪꫫꫮ-ꫯ꫰-꫱ꫲꫳ-ꫴꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚ꭛ꭜ-ꭟꭤ-ꭥꯀ-ꯢꯣ-ꯤꯦ-ꯧꯩ-ꯪ꯫꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-豈-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-ッーア-ン゙-゚ᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"+i+a+"]"),u=new RegExp("["+i+a+"]");function l(e){var t=s.exec(e);return null==t?null:t[0]}function c(e){var t=l(e);return null==t?r.NEUTRAL:u.exec(t)?r.RTL:r.LTR}function f(e,t){if(t=t||r.NEUTRAL,!e.length)return t;var n=c(e);return n===r.NEUTRAL?t:n}function d(e,t){return t||(t=r.getGlobalDir()),r.isStrong(t)||o(!1),f(e,t)}var p={firstStrongChar:l,firstStrongCharDir:c,resolveBlockDir:f,getDirection:d,isDirectionLTR:function(e,t){return d(e,t)===r.LTR},isDirectionRTL:function(e,t){return d(e,t)===r.RTL}};e.exports=p},function(e,t,n){"use strict";e.exports={BOLD:{fontWeight:"bold"},CODE:{fontFamily:"monospace",wordWrap:"break-word"},ITALIC:{fontStyle:"italic"},STRIKETHROUGH:{textDecoration:"line-through"},UNDERLINE:{textDecoration:"underline"}}},function(e,t,n){"use strict";e.exports=function(e){var t=e.getSelection(),n=t.getAnchorKey(),r=e.getBlockTree(n),o=t.getStartOffset(),i=!1;return r.some(function(e){return o===e.get("start")?(i=!0,!0):o<e.get("end")&&e.get("leaves").some(function(e){var t=e.get("start");return o===t&&(i=!0,!0)})}),i}},function(e,t,n){"use strict";var r=n(26)||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};var o=n(791),i=n(111),a=n(0),s=n(23),u=n(324),l=n(191),c=n(319),f=n(186),d=n(72),p=n(806),h=n(192),g=n(810),y=n(5),m=n(31),v=function(e,t){return e.getAnchorKey()===t||e.getFocusKey()===t},b=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return this.props.block!==e.block||this.props.tree!==e.tree||this.props.direction!==e.direction||v(e.selection,e.block.getKey())&&e.forceSelection},t.prototype.componentDidMount=function(){var e=this.props.selection,t=e.getEndKey();if(e.getHasFocus()&&t===this.props.block.getKey()){var n=s.findDOMNode(this),r=l.getScrollParent(n),o=h(r),i=void 0;if(r===window){var a=p(n);(i=a.y+a.height-g().height)>0&&window.scrollTo(o.x,o.y+i+10)}else{n instanceof HTMLElement||y(!1),(i=n.offsetHeight+n.offsetTop-(r.offsetHeight+o.y))>0&&u.setTop(r,u.getTop(r)+i+10)}}},t.prototype._renderChildren=function(){var e=this,t=this.props.block,n=t.getKey(),s=t.getText(),u=this.props.tree.size-1,l=v(this.props.selection,n);return this.props.tree.map(function(d,p){var h=d.get("leaves"),g=h.size-1,y=h.map(function(r,c){var f=i.encode(n,p,c),d=r.get("start"),h=r.get("end");return a.createElement(o,{key:f,offsetKey:f,block:t,start:d,selection:l?e.props.selection:null,forceSelection:e.props.forceSelection,text:s.slice(d,h),styleSet:t.getInlineStyleAt(d),customStyleMap:e.props.customStyleMap,customStyleFn:e.props.customStyleFn,isLast:p===u&&c===g})}).toArray(),v=d.get("decoratorKey");if(null==v)return y;if(!e.props.decorator)return y;var b=m(e.props.decorator),_=b.getComponentForKey(v);if(!_)return y;var x=b.getPropsForKey(v),w=i.encode(n,p,0),S=s.slice(h.first().get("start"),h.last().get("end")),C=f.getHTMLDirIfDifferent(c.getDirection(S),e.props.direction);return a.createElement(_,r({},x,{contentState:e.props.contentState,decoratedText:S,dir:C,key:w,entityKey:t.getEntityAt(d.get("start")),offsetKey:w}),y)}).toArray()},t.prototype.render=function(){var e=this.props,t=e.direction,n=e.offsetKey,r=d({"public/DraftStyleDefault/block":!0,"public/DraftStyleDefault/ltr":"LTR"===t,"public/DraftStyleDefault/rtl":"RTL"===t});return a.createElement("div",{"data-offset-key":n,className:r},this._renderChildren())},t}(a.Component);e.exports=b},function(e,t,n){"use strict";e.exports=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){"use strict";function r(e,t){return!!t&&(e===t.documentElement||e===t.body)}var o={getTop:function(e){var t=e.ownerDocument;return r(e,t)?t.body.scrollTop||t.documentElement.scrollTop:e.scrollTop},setTop:function(e,t){var n=e.ownerDocument;r(e,n)?n.body.scrollTop=n.documentElement.scrollTop=t:e.scrollTop=t},getLeft:function(e){var t=e.ownerDocument;return r(e,t)?t.body.scrollLeft||t.documentElement.scrollLeft:e.scrollLeft},setLeft:function(e,t){var n=e.ownerDocument;r(e,n)?n.body.scrollLeft=n.documentElement.scrollLeft=t:e.scrollLeft=t}};e.exports=o},function(e,t,n){"use strict";var r=n(813),o=n(814),i=n(183),a=new RegExp("\r\n","g"),s={"text/rtf":1,"text/html":1};function u(e){if("file"==e.kind)return e.getAsFile()}var l=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.data=t,this.types=t.types?o(t.types):[]}return e.prototype.isRichText=function(){return!(!this.getHTML()||!this.getText())||!this.isImage()&&this.types.some(function(e){return s[e]})},e.prototype.getText=function(){var e;return this.data.getData&&(this.types.length?-1!=this.types.indexOf("text/plain")&&(e=this.data.getData("text/plain")):e=this.data.getData("Text")),e?e.replace(a,"\n"):null},e.prototype.getHTML=function(){if(this.data.getData){if(!this.types.length)return this.data.getData("Text");if(-1!=this.types.indexOf("text/html"))return this.data.getData("text/html")}},e.prototype.isLink=function(){return this.types.some(function(e){return-1!=e.indexOf("Url")||-1!=e.indexOf("text/uri-list")||e.indexOf("text/x-moz-url")})},e.prototype.getLink=function(){return this.data.getData?-1!=this.types.indexOf("text/x-moz-url")?this.data.getData("text/x-moz-url").split("\n")[0]:-1!=this.types.indexOf("text/uri-list")?this.data.getData("text/uri-list"):this.data.getData("url"):null},e.prototype.isImage=function(){var e=this.types.some(function(e){return-1!=e.indexOf("application/x-moz-file")});if(e)return!0;for(var t=this.getFiles(),n=0;n<t.length;n++){var o=t[n].type;if(!r.isImage(o))return!1}return!0},e.prototype.getCount=function(){return this.data.hasOwnProperty("items")?this.data.items.length:this.data.hasOwnProperty("mozItemCount")?this.data.mozItemCount:this.data.files?this.data.files.length:null},e.prototype.getFiles=function(){return this.data.items?Array.prototype.slice.call(this.data.items).map(u).filter(i.thatReturnsArgument):this.data.files?Array.prototype.slice.call(this.data.files):[]},e.prototype.hasFiles=function(){return this.getFiles().length>0},e}();e.exports=l},function(e,t,n){"use strict";e.exports=function e(t){if(t instanceof Element){var n=t.getAttribute("data-offset-key");if(n)return n;for(var r=0;r<t.childNodes.length;r++){var o=e(t.childNodes[r]);if(o)return o}}return null}},function(e,t,n){"use strict";(function(t){var r=n(5),o=/\.textClipping$/,i={"text/plain":!0,"text/html":!0,"text/rtf":!0},a=5e3;e.exports=function(e,n){var s=0,u=[];e.forEach(function(l){!function(e,n){if(t.FileReader&&(!e.type||e.type in i)){if(""===e.type){var a="";return o.test(e.name)&&(a=e.name.replace(o,"")),void n(a)}var s=new FileReader;s.onload=function(){var e=s.result;"string"!=typeof e&&r(!1),n(e)},s.onerror=function(){n("")},s.readAsText(e)}else n("")}(l,function(t){s++,t&&u.push(t.slice(0,a)),s==e.length&&n(u.join("\r"))})})}}).call(this,n(18))},function(e,t,n){"use strict";var r=n(111),o=n(31);e.exports=function(e,t,n,i,a){var s=o(e.getSelection()),u=r.decode(t),l=u.blockKey,c=e.getBlockTree(l).getIn([u.decoratorKey,"leaves",u.leafKey]),f=r.decode(i),d=f.blockKey,p=e.getBlockTree(d).getIn([f.decoratorKey,"leaves",f.leafKey]),h=c.get("start"),g=p.get("start"),y=c?h+n:null,m=p?g+a:null;if(s.getAnchorKey()===l&&s.getAnchorOffset()===y&&s.getFocusKey()===d&&s.getFocusOffset()===m)return s;var v=!1;if(l===d){var b=c.get("end"),_=p.get("end");v=g===h&&_===b?a<n:g<h}else v=e.getCurrentContent().getBlockMap().keySeq().skipUntil(function(e){return e===l||e===d}).first()===d;return s.merge({anchorKey:l,anchorOffset:y,focusKey:d,focusOffset:m,isBackward:v})}},function(e,t,n){"use strict";var r=n(109);e.exports=function(e){var t=e.getSelection();return t.isCollapsed()?null:r(e.getCurrentContent(),t)}},function(e,t,n){"use strict";var r=n(36),o=n(5);var i=r.isBrowser("Chrome")?function(e){for(var t=e.cloneRange(),n=[],r=e.endContainer;null!=r;r=r.parentNode){var i=r===e.commonAncestorContainer;i?t.setStart(e.startContainer,e.startOffset):t.setStart(t.endContainer,0);var a,s=Array.from(t.getClientRects());if(n.push(s),i)return n.reverse(),(a=[]).concat.apply(a,n);t.setEndBefore(r)}o(!1)}:function(e){return Array.from(e.getClientRects())};e.exports=i},function(e,t,n){"use strict";var r=n(193),o=n(326),i=n(328),a=n(5),s=n(31);function u(e,t,n){var i=t,u=r(i);if(null!=u||e&&(e===i||e.firstChild===i)||a(!1),e===i&&((i=i.firstChild)instanceof Element&&"true"===i.getAttribute("data-contents")||a(!1),n>0&&(n=i.childNodes.length)),0===n){var c=null;if(null!=u)c=u;else{var f=function(e){for(;e.firstChild&&(e.firstChild instanceof Element&&"true"===e.firstChild.getAttribute("data-blocks")||o(e.firstChild));)e=e.firstChild;return e}(i);c=s(o(f))}return{key:c,offset:0}}var d=i.childNodes[n-1],p=null,h=null;if(o(d)){var g=function(e){for(;e.lastChild&&(e.lastChild instanceof Element&&"true"===e.lastChild.getAttribute("data-blocks")||o(e.lastChild));)e=e.lastChild;return e}(d);p=s(o(g)),h=l(g)}else p=s(u),h=l(d);return{key:p,offset:h}}function l(e){var t=e.textContent;return"\n"===t?0:t.length}e.exports=function(e,t,n,o,a,l){var c=n.nodeType===Node.TEXT_NODE,f=a.nodeType===Node.TEXT_NODE;if(c&&f)return{selectionState:i(e,s(r(n)),o,s(r(a)),l),needsRecovery:!1};var d=null,p=null,h=!0;return c?(d={key:s(r(n)),offset:o},p=u(t,a,l)):f?(p={key:s(r(a)),offset:l},d=u(t,n,o)):(d=u(t,n,o),p=u(t,a,l),n===a&&o===l&&(h=!!n.firstChild&&"BR"!==n.firstChild.nodeName)),{selectionState:i(e,d.key,d.offset,p.key,p.offset),needsRecovery:h}}},function(e,t,n){"use strict";var r="\\s|(?![_])"+n(833).getPunctuation(),o=new RegExp("^(?:"+r+")*(?:['‘’]|(?!"+r+").)*(?:(?!"+r+").)"),i=new RegExp("(?:(?!"+r+").)(?:['‘’]|(?!"+r+").)*(?:"+r+")*$");function a(e,t){var n=t?i.exec(e):o.exec(e);return n?n[0]:e}var s={getBackward:function(e){return a(e,!0)},getForward:function(e){return a(e,!1)}};e.exports=s},function(e,t,n){"use strict";e.exports=function(e,t){var n,r=e.getSelection(),o=r.getStartKey(),i=r.getStartOffset(),a=e.getCurrentContent(),s=o;return t>a.getBlockForKey(o).getText().length-i?(s=a.getKeyAfter(o),n=0):n=i+t,r.merge({focusKey:s,focusOffset:n})}},function(e,t,n){"use strict";var r,o=i||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(26);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=n(25),u=n(56),l=n(27),c=n(187),f=n(110),d=n(46),p=n(4),h=n(4).Set,g=n(844),y=n(72),m=n(40),v=n(335),b=n(5),_=n(185),x=d.draft_tree_data_support,w=p.List,S=p.OrderedSet,C=new RegExp("\r","g"),k=new RegExp("\n","g"),O=new RegExp("&nbsp;","g"),E=new RegExp("&#13;?","g"),T=new RegExp("&#8203;?","g"),M=["bold","bolder","500","600","700","800","900"],P=["light","lighter","100","200","300","400"],j={b:"BOLD",code:"CODE",del:"STRIKETHROUGH",em:"ITALIC",i:"ITALIC",s:"STRIKETHROUGH",strike:"STRIKETHROUGH",strong:"BOLD",u:"UNDERLINE"},A=(a(r={},y("public/DraftStyleDefault/depth0"),0),a(r,y("public/DraftStyleDefault/depth1"),1),a(r,y("public/DraftStyleDefault/depth2"),2),a(r,y("public/DraftStyleDefault/depth3"),3),a(r,y("public/DraftStyleDefault/depth4"),4),r),I=["className","href","rel","target","title"],R=["alt","className","height","src","width"],D=void 0,N={text:"",inlines:[],entities:[],blocks:[]},B={children:w(),depth:0,key:"",type:""},L=function(e,t){return"li"===e?"ol"===t?"ordered-list-item":"unordered-list-item":null},F=function(e,t,n){var r=n.filter(function(t){return t.element===e||t.wrapper===e||t.aliasedElements&&t.aliasedElements.some(function(t){return t===e})}).keySeq().toSet().toArray().sort();switch(r.length){case 0:return"unstyled";case 1:return r[0];default:return function(e,t,n){for(var r=0;r<n.length;r++){var o=n[r](e,t);if(o)return o}return null}(e,t,[L])||"unstyled"}},z=function(e,t,n){var r=e.text.slice(-1),o=t.text.slice(0,1);if("\r"!==r||"\r"!==o||n||(e.text=e.text.slice(0,-1),e.inlines.pop(),e.entities.pop(),e.blocks.pop()),"\r"===r){if(" "===t.text||"\n"===t.text)return e;" "!==o&&"\n"!==o||(t.text=t.text.slice(1),t.inlines.shift(),t.entities.shift())}return{text:e.text+t.text,inlines:e.inlines.concat(t.inlines),entities:e.entities.concat(t.entities),blocks:e.blocks.concat(t.blocks)}},q=function(e){e instanceof HTMLAnchorElement||b(!1);var t=e.protocol;return"http:"===t||"https:"===t||"mailto:"===t},K=function(){return o({},N,{text:"\n",inlines:[S()],entities:new Array(1)})},W=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{text:"\r",inlines:[S()],entities:new Array(1),blocks:[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o({},B,e)}({parent:n,key:m(),type:e,depth:Math.max(0,Math.min(4,t))})]}},U=function e(t,n,r,i,a,s,u,l,c,d){var p=D,h=n.nodeName.toLowerCase(),y=t,m="unstyled",v=!1,b=a&&F(a,i,l),_=o({},N),w=void 0;if("#text"===h){var C=n.textContent,O=C.trim();if(i&&""===O&&n.parentElement){var E=n.parentElement.nodeName.toLowerCase();if("ol"===E||"ul"===E)return{chunk:o({},N),entityMap:t}}return""===O&&"pre"!==a?{chunk:function(e){var t=new Array(1);return e&&(t[0]=e),o({},N,{text:" ",inlines:[S()],entities:t})}(c),entityMap:t}:("pre"!==a&&(C=C.replace(k," ")),D=h,{chunk:{text:C,inlines:Array(C.length).fill(r),entities:Array(C.length).fill(c),blocks:[]},entityMap:t})}if(D=h,"br"===h)return"br"!==p||a&&"unstyled"!==b?{chunk:K(),entityMap:t}:{chunk:W("unstyled",u,d),entityMap:t};if("img"===h&&n instanceof HTMLImageElement&&n.attributes.getNamedItem("src")&&n.attributes.getNamedItem("src").value){var T=n,B={};R.forEach(function(e){var t=T.getAttribute(e);t&&(B[e]=t)}),n.textContent="📷",c=f.__create("IMAGE","MUTABLE",B||{})}r=function(e,t,n){var r=j[e];if(r)n=n.add(r).toOrderedSet();else if(t instanceof HTMLElement){var o=t;n=n.withMutations(function(e){var t=o.style.fontWeight,n=o.style.fontStyle,r=o.style.textDecoration;M.indexOf(t)>=0?e.add("BOLD"):P.indexOf(t)>=0&&e.remove("BOLD"),"italic"===n?e.add("ITALIC"):"normal"===n&&e.remove("ITALIC"),"underline"===r&&e.add("UNDERLINE"),"line-through"===r&&e.add("STRIKETHROUGH"),"none"===r&&(e.remove("UNDERLINE"),e.remove("STRIKETHROUGH"))}).toOrderedSet()}return n}(h,n,r),"ul"!==h&&"ol"!==h||(i&&(u+=1),i=h),!x&&"li"===h&&n instanceof HTMLElement&&(u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Object.keys(A).some(function(n){e.classList.contains(n)&&(t=A[n])}),t}(n,u));var L=F(h,i,l),U=i&&"li"===a&&"li"===h,$=(!a||x)&&-1!==s.indexOf(h);(U||$)&&(w=(_=W(L,u,d)).blocks[0].key,a=h,v=!x),U&&(m="ul"===i?"unordered-list-item":"ordered-list-item");var H=n.firstChild;null!=H&&(h=H.nodeName.toLowerCase());for(var V=null;H;){H instanceof HTMLAnchorElement&&H.href&&q(H)?function(){var e=H,t={};I.forEach(function(n){var r=e.getAttribute(n);r&&(t[n]=r)}),t.url=new g(e.href).toString(),V=f.__create("LINK","MUTABLE",t||{})}():V=void 0;var G=e(y,H,r,i,a,s,u,l,V||c,x?w:null),Y=G.chunk;y=G.entityMap,_=z(_,Y,x);var X=H.nextSibling;!d&&X&&s.indexOf(h)>=0&&a&&(_=z(_,K())),X&&(h=X.nodeName.toLowerCase()),H=X}return v&&(_=z(_,W(m,u,d))),{chunk:_,entityMap:y}},$=function(e,t,n,r){e=e.trim().replace(C,"").replace(O," ").replace(E,"").replace(T,"");var i=function(e){var t=e.get("unstyled").element,n=h([]);return e.forEach(function(e){e.aliasedElements&&e.aliasedElements.forEach(function(e){n=n.add(e)}),n=n.add(e.element)}),n.filter(function(e){return e&&e!==t}).toArray().sort()}(n),a=t(e);if(!a)return null;D=null;var s=function(e,t){return t.some(function(t){return-1!==e.indexOf("<"+t)})}(e,i)?i:["div"],u=U(r,a,S(),"ul",null,s,-1,n),l=u.chunk,c=u.entityMap;return 0===l.text.indexOf("\r")&&(l={text:l.text.slice(1),inlines:l.inlines.slice(1),entities:l.entities.slice(1),blocks:l.blocks}),"\r"===l.text.slice(-1)&&(l.text=l.text.slice(0,-1),l.inlines=l.inlines.slice(0,-1),l.entities=l.entities.slice(0,-1),l.blocks.pop()),0===l.blocks.length&&l.blocks.push(o({},N,{type:"unstyled",depth:0})),l.text.split("\r").length===l.blocks.length+1&&l.blocks.unshift({type:"unstyled",depth:0}),{chunk:l,entityMap:c}};e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c,r=$(e,t,n,f);if(null==r)return null;var o=r.chunk,i=r.entityMap;return{contentBlocks:function(e){if(!e||!e.text||!Array.isArray(e.blocks))return null;var t=0,n=e.blocks,r=e.inlines,o=e.entities,i=x?l:u;return e.text.split("\r").reduce(function(e,a,u){a=_(a);var c=n[u],f=t+a.length,d=r.slice(t,f),p=o.slice(t,f),h=w(d.map(function(e,t){var n={style:e,entity:null};return p[t]&&(n.entity=p[t]),s.create(n)}));t=f+1;var g=c.depth,y=c.type,v=c.parent,b=c.key||m(),x=null;if(v){var S=e.cacheRef[v],C=e.contentBlocks[S];if(C.getChildKeys().isEmpty()&&C.getText()){var k=C.getCharacterList(),O=C.getText();x=m();var E=new l({key:x,text:O,characterList:k,parent:v,nextSibling:b});e.contentBlocks.push(E),C=C.withMutations(function(e){e.set("characterList",w()).set("text","").set("children",C.children.push(E.getKey()))})}e.contentBlocks[S]=C.set("children",C.children.push(b))}var T=new i({key:b,parent:v,type:y,depth:g,text:a,characterList:h,prevSibling:x||(0===u||n[u-1].parent!==v?null:n[u-1].key),nextSibling:u===n.length-1||n[u+1].parent!==v?null:n[u+1].key});return e.contentBlocks.push(T),e.cacheRef[T.key]=u,e},{cacheRef:{},contentBlocks:[]}).contentBlocks}(o),entityMap:i}}},function(e,t,n){"use strict";var r=n(36),o=n(5),i=r.isBrowser("IE <= 9");e.exports=function(e){var t,n=null;return!i&&document.implementation&&document.implementation.createHTMLDocument&&((t=document.implementation.createHTMLDocument("foo")).documentElement||o(!1),t.documentElement.innerHTML=e,n=t.getElementsByTagName("body")[0]),n}},function(e,t,n){"use strict";var r=n(22),o=n(6),i=(n(71),n(845)),a=n(31),s={currentBlockContainsLink:function(e){var t=e.getSelection(),n=e.getCurrentContent(),r=n.getEntityMap();return n.getBlockForKey(t.getAnchorKey()).getCharacterList().slice(t.getStartOffset(),t.getEndOffset()).some(function(e){var t=e.getEntity();return!!t&&"LINK"===r.__get(t).getType()})},getCurrentBlockType:function(e){var t=e.getSelection();return e.getCurrentContent().getBlockForKey(t.getStartKey()).getType()},getDataObjectForLinkURL:function(e){return{url:e.toString()}},handleKeyCommand:function(e,t){switch(t){case"bold":return s.toggleInlineStyle(e,"BOLD");case"italic":return s.toggleInlineStyle(e,"ITALIC");case"underline":return s.toggleInlineStyle(e,"UNDERLINE");case"code":return s.toggleCode(e);case"backspace":case"backspace-word":case"backspace-to-start-of-line":return s.onBackspace(e);case"delete":case"delete-word":case"delete-to-end-of-block":return s.onDelete(e);default:return null}},insertSoftNewline:function(e){var t=r.insertText(e.getCurrentContent(),e.getSelection(),"\n",e.getCurrentInlineStyle(),null),n=o.push(e,t,"insert-characters");return o.forceSelection(n,t.getSelectionAfter())},onBackspace:function(e){var t=e.getSelection();if(!t.isCollapsed()||t.getAnchorOffset()||t.getFocusOffset())return null;var n=e.getCurrentContent(),r=t.getStartKey(),i=n.getBlockBefore(r);if(i&&"atomic"===i.getType()){var a=n.getBlockMap().delete(i.getKey()),u=n.merge({blockMap:a,selectionAfter:t});if(u!==n)return o.push(e,u,"remove-range")}var l=s.tryToRemoveBlockStyle(e);return l?o.push(e,l,"change-block-type"):null},onDelete:function(e){var t=e.getSelection();if(!t.isCollapsed())return null;var n=e.getCurrentContent(),i=t.getStartKey(),a=n.getBlockForKey(i).getLength();if(t.getStartOffset()<a)return null;var s=n.getBlockAfter(i);if(!s||"atomic"!==s.getType())return null;var u=t.merge({focusKey:s.getKey(),focusOffset:s.getLength()}),l=r.removeRange(n,u,"forward");return l!==n?o.push(e,l,"remove-range"):null},onTab:function(e,t,n){var r=t.getSelection(),a=r.getAnchorKey();if(a!==r.getFocusKey())return t;var s=t.getCurrentContent(),u=s.getBlockForKey(a),l=u.getType();if("unordered-list-item"!==l&&"ordered-list-item"!==l)return t;e.preventDefault();var c=s.getBlockBefore(a);if(!c)return t;var f=c.getType();if("unordered-list-item"!==f&&"ordered-list-item"!==f)return t;var d=u.getDepth();if(!e.shiftKey&&d===n)return t;n=Math.min(c.getDepth()+1,n);var p=i(s,r,e.shiftKey?-1:1,n);return o.push(t,p,"adjust-depth")},toggleBlockType:function(e,t){var n=e.getSelection(),i=n.getStartKey(),s=n.getEndKey(),u=e.getCurrentContent(),l=n;if(i!==s&&0===n.getEndOffset()){var c=a(u.getBlockBefore(s));s=c.getKey(),l=l.merge({anchorKey:i,anchorOffset:n.getStartOffset(),focusKey:s,focusOffset:c.getLength(),isBackward:!1})}if(u.getBlockMap().skipWhile(function(e,t){return t!==i}).reverse().skipWhile(function(e,t){return t!==s}).some(function(e){return"atomic"===e.getType()}))return e;var f=u.getBlockForKey(i).getType()===t?"unstyled":t;return o.push(e,r.setBlockType(u,l,f),"change-block-type")},toggleCode:function(e){var t=e.getSelection(),n=t.getAnchorKey(),r=t.getFocusKey();return t.isCollapsed()||n!==r?s.toggleBlockType(e,"code-block"):s.toggleInlineStyle(e,"CODE")},toggleInlineStyle:function(e,t){var n=e.getSelection(),i=e.getCurrentInlineStyle();if(n.isCollapsed())return o.setInlineStyleOverride(e,i.has(t)?i.remove(t):i.add(t));var a,s=e.getCurrentContent();return a=i.has(t)?r.removeInlineStyle(s,n,t):r.applyInlineStyle(s,n,t),o.push(e,a,"change-inline-style")},toggleLink:function(e,t,n){var i=r.applyEntity(e.getCurrentContent(),t,n);return o.push(e,i,"apply-entity")},tryToRemoveBlockStyle:function(e){var t=e.getSelection(),n=t.getAnchorOffset();if(t.isCollapsed()&&0===n){var o=t.getAnchorKey(),i=e.getCurrentContent(),a=i.getBlockForKey(o),s=i.getFirstBlock();if(a.getLength()>0&&a!==s)return null;var u=a.getType(),l=i.getBlockBefore(o);if("code-block"===u&&l&&"code-block"===l.getType()&&0!==l.getLength())return null;if("unstyled"!==u)return r.setBlockType(i,t,"unstyled")}return null}};e.exports=s},function(e,t,n){"use strict";var r=n(194),o=n(188),i=n(36),a=i.isPlatform("Mac OS X"),s=i.isPlatform("Windows"),u=a&&i.isBrowser("Firefox < 29"),l=r.hasCommandModifier,c=r.isCtrlKeyCommand;function f(e){return a&&e.altKey||c(e)}e.exports=function(e){switch(e.keyCode){case 66:return l(e)?"bold":null;case 68:return c(e)?"delete":null;case 72:return c(e)?"backspace":null;case 73:return l(e)?"italic":null;case 74:return l(e)?"code":null;case 75:return!s&&c(e)?"secondary-cut":null;case 77:case 79:return c(e)?"split-block":null;case 84:return a&&c(e)?"transpose-characters":null;case 85:return l(e)?"underline":null;case 87:return a&&c(e)?"backspace-word":null;case 89:return c(e)?s?"redo":"secondary-paste":null;case 90:return function(e){return l(e)?e.shiftKey?"redo":"undo":null}(e)||null;case o.RETURN:return"split-block";case o.DELETE:return function(e){return s&&e.shiftKey?null:f(e)?"delete-word":"delete"}(e);case o.BACKSPACE:return function(e){return l(e)&&a?"backspace-to-start-of-line":f(e)?"backspace-word":"backspace"}(e);case o.LEFT:return u&&l(e)?"move-selection-to-start-of-block":null;case o.RIGHT:return u&&l(e)?"move-selection-to-end-of-block":null;default:return null}}},function(e,t,n){"use strict";var r={stringify:function(e){return"_"+String(e)},unstringify:function(e){return e.slice(1)}};e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),a=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default=function(e,t){var n,s;return s=n=function(n){function s(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(s.__proto__||Object.getPrototypeOf(s)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(s,i.Component),o(s,[{key:"render",value:function(){return a.default.createElement(e,r({},this.props,t))}}]),s}(),n.displayName="Decorated("+function(e){return e.displayName||e.name||"Component"}(e)+")",s}},function(e,t,n){e.exports=n(874)()},function(e,t,n){(function(t){var n=1/0,r="[object Symbol]",o=/[\\^$.*+?()[\]{}|]/g,i=RegExp(o.source),a="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,u=a||s||Function("return this")(),l=Object.prototype.toString,c=u.Symbol,f=c?c.prototype:void 0,d=f?f.toString:void 0;function p(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&l.call(e)==r}(e))return d?d.call(e):"";var t=e+"";return"0"==t&&1/e==-n?"-0":t}e.exports=function(e){return(e=function(e){return null==e?"":p(e)}(e))&&i.test(e)?e.replace(o,"\\$&"):e}}).call(this,n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(878));t.default=function(e,t,n){var o=t.getAnchorKey(),i=t.getAnchorOffset()-n.length,a=e.getCurrentContent().getBlockForKey(o).getText();return(0,r.default)(a,i)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"@"===e?"mention":e+"mention"}},function(e,t,n){var r=n(345),o=n(894),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=[];for(var n in Object(e))i.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(896),o=n(196),i=n(901),a=n(902),s=n(903),u=n(54),l=n(348),c=l(r),f=l(o),d=l(i),p=l(a),h=l(s),g=u;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=g(new o)||i&&"[object Promise]"!=g(i.resolve())||a&&"[object Set]"!=g(new a)||s&&"[object WeakMap]"!=g(new s))&&(g=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?l(n):"";if(r)switch(r){case c:return"[object DataView]";case f:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return t}),e.exports=g},function(e,t,n){var r=n(54),o=n(70),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}},function(e,t){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var o=typeof e;return!!(t=null==t?n:t)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){var r=n(114),o=n(924),i=n(925),a=n(926),s=n(927),u=n(928);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=o,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(941),o=n(55);e.exports=function e(t,n,i,a,s){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,a,e,s))}},function(e,t,n){var r=n(942),o=n(945),i=n(946),a=1,s=2;e.exports=function(e,t,n,u,l,c){var f=n&a,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,y=!0,m=n&s?new r:void 0;for(c.set(e,t),c.set(t,e);++g<d;){var v=e[g],b=t[g];if(u)var _=f?u(b,v,g,t,e,c):u(v,b,g,e,t,c);if(void 0!==_){if(_)continue;y=!1;break}if(m){if(!o(t,function(e,t){if(!i(m,t)&&(v===e||l(v,e,n,u,c)))return m.push(t)})){y=!1;break}}else if(v!==b&&!l(v,b,n,u,c)){y=!1;break}}return c.delete(e),c.delete(t),y}},function(e,t,n){var r=n(70);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},function(e,t,n){var r=n(358);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},function(e,t,n){var r=n(359),o=n(118);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n<i;)e=e[o(t[n++])];return n&&n==i?e:void 0}},function(e,t,n){var r=n(30),o=n(202),i=n(959),a=n(178);e.exports=function(e,t){return r(e)?e:o(e,t)?[e]:i(a(e))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderRatingToColor=d,t.default=p;var r=n(10),o=c(n(0)),i=c(n(1)),a=c(n(119)),s=c(n(989)),u=n(3),l=c(n(361));function c(e){return e&&e.__esModule?e:{default:e}}const f=i.default.ul.withConfig({displayName:"AnalysisList__AnalysisListBase",componentId:"sc-1ozeatw-0"})(["margin:8px 0;padding:0;list-style:none;"]);function d(e){switch(e){case"good":return u.colors.$color_good;case"OK":return u.colors.$color_ok;case"bad":return u.colors.$color_bad;default:return u.colors.$color_score_icon}}function p({results:e,marksButtonActivatedResult:t,marksButtonStatus:n,marksButtonClassName:i,onMarksButtonClick:a}){return o.default.createElement(f,{role:"list"},e.map(e=>{const s=d(e.rating),u=e.markerId===t;let c="";return c="disabled"===n?(0,r.__)("Marks are disabled in current view","yoast-components"):u?(0,r.__)("Remove highlight from the text","yoast-components"):(0,r.__)("Highlight this result in the text","yoast-components"),o.default.createElement(l.default,{key:e.id,text:e.text,bulletColor:s,hasMarksButton:e.hasMarks,ariaLabel:c,pressed:u,buttonId:e.id,onButtonClick:()=>a(e.id,e.marker),marksButtonClassName:i,marksButtonStatus:n})}))}p.propTypes={results:a.default.array.isRequired,marksButtonActivatedResult:a.default.string,marksButtonStatus:a.default.string,marksButtonClassName:a.default.string,onMarksButtonClick:a.default.func},p.defaultProps={marksButtonActivatedResult:"",marksButtonStatus:"enabled",marksButtonClassName:"",onMarksButtonClick:s.default}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisResult=void 0;var r=s(n(0)),o=s(n(119)),i=s(n(1)),a=n(8);function s(e){return e&&e.__esModule?e:{default:e}}const u=i.default.li.withConfig({displayName:"AnalysisResult__AnalysisResultBase",componentId:"pf0ln6-0"})(["min-height:24px;padding:0;display:flex;align-items:flex-start;"]),l=(0,i.default)(a.SvgIcon).withConfig({displayName:"AnalysisResult__ScoreIcon",componentId:"pf0ln6-1"})(["margin:3px 11px 0 0;"]),c=i.default.p.withConfig({displayName:"AnalysisResult__AnalysisResultText",componentId:"pf0ln6-2"})(["margin:0 16px 0 0;flex:1 1 auto;"]),f=t.AnalysisResult=(e=>r.default.createElement(u,null,r.default.createElement(l,{icon:"circle",color:e.bulletColor,size:"13px"}),r.default.createElement(c,{dangerouslySetInnerHTML:{__html:e.text}}),e.hasMarksButton&&!function(e){return"hidden"===e.marksButtonStatus}(e)&&r.default.createElement(a.IconButtonToggle,{marksButtonStatus:e.marksButtonStatus,className:e.marksButtonClassName,onClick:e.onButtonClick,id:e.buttonId,icon:"eye",pressed:e.pressed,ariaLabel:e.ariaLabel})));f.propTypes={text:o.default.string.isRequired,bulletColor:o.default.string.isRequired,hasMarksButton:o.default.bool.isRequired,buttonId:o.default.string.isRequired,pressed:o.default.bool.isRequired,ariaLabel:o.default.string.isRequired,onButtonClick:o.default.func.isRequired,marksButtonStatus:o.default.string,marksButtonClassName:o.default.string},f.defaultProps={marksButtonStatus:"enabled",marksButtonClassName:""},t.default=f},function(e,t,n){var r=n(363);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(59),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,t,n){var r=n(74),o=n(47),i="[object AsyncFunction]",a="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var t=r(e);return t==a||t==s||t==i||t==u}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(18))},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(1009),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=o(i.length-t,0),u=Array(s);++a<s;)u[a]=i[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=i[a];return l[t]=n(u),r(e,this,l)}}},function(e,t,n){var r=n(1010),o=n(1012)(r);e.exports=o},function(e,t,n){var r=n(1014),o=n(208),i=n(38),a=n(209),s=n(207),u=n(370),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=i(e),c=!n&&o(e),f=!n&&!c&&a(e),d=!n&&!c&&!f&&u(e),p=n||c||f||d,h=p?r(e.length,String):[],g=h.length;for(var y in e)!t&&!l.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}},function(e,t,n){var r=n(1017),o=n(210),i=n(211),a=i&&i.isTypedArray,s=a?o(a):r;e.exports=s},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(1022),o=n(1023),i=n(1077),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var u=null==n?0:i(n);return u<0&&(u=a(s+u,0)),r(e,o(t,3),u)}},function(e,t,n){var r=n(1048),o=n(48);e.exports=function e(t,n,i,a,s){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,i,a,e,s))}},function(e,t,n){var r=n(1049),o=n(1052),i=n(1053),a=1,s=2;e.exports=function(e,t,n,u,l,c){var f=n&a,d=e.length,p=t.length;if(d!=p&&!(f&&p>d))return!1;var h=c.get(e);if(h&&c.get(t))return h==t;var g=-1,y=!0,m=n&s?new r:void 0;for(c.set(e,t),c.set(t,e);++g<d;){var v=e[g],b=t[g];if(u)var _=f?u(b,v,g,t,e,c):u(v,b,g,e,t,c);if(void 0!==_){if(_)continue;y=!1;break}if(m){if(!o(t,function(e,t){if(!i(m,t)&&(v===e||l(v,e,n,u,c)))return m.push(t)})){y=!1;break}}else if(v!==b&&!l(v,b,n,u,c)){y=!1;break}}return c.delete(e),c.delete(t),y}},function(e,t,n){var r=n(37).Uint8Array;e.exports=r},function(e,t,n){var r=n(377),o=n(217),i=n(89);e.exports=function(e){return r(e,i,o)}},function(e,t,n){var r=n(216),o=n(38);e.exports=function(e,t,n){var i=t(e);return o(e)?i:r(i,n(e))}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(47);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},function(e,t,n){var r=n(369),o=n(1087),i=n(121);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,t,n){var r=n(216),o=n(220),i=n(217),a=n(378),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=o(e);return t}:a;e.exports=s},function(e,t,n){var r=n(377),o=n(383),i=n(382);e.exports=function(e){return r(e,i,o)}},function(e,t){e.exports=window.yoast.redux},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setProminentWords=function(e){return{type:r,prominentWords:e}};const r=t.SET_PROMINENT_WORDS="INSIGHTS_SET_PROMINENT_WORDS"},function(e,t,n){"use strict";window.yoast=window.yoast||{},window.yoast.styleGuide=n(3),window.yoast.helpers=n(7),window.yoast.componentsNew=n(8),window.yoast.configurationWizard=n(270),window.yoast.searchMetadataPreviews=n(298),window.yoast.analysisReport=n(88),window.yoast.components=n(992)},function(e){e.exports={$palette_white:"#fff",$palette_grey_ultra_light:"#f7f7f7",$palette_grey_light:"#f1f1f1",$palette_grey_medium_light:"#e2e4e7",$palette_grey:"#ddd",$palette_grey_medium:"#ccc",$palette_grey_disabled:"#a0a5aa",$palette_grey_medium_dark:"#888",$palette_grey_text_light:"#767676",$palette_grey_text:"#616161",$palette_grey_dark:"#555",$palette_black:"#000",$palette_purple:"#5d237a",$palette_purple_dark:"#6c2548",$palette_pink:"#d73763",$palette_pink_light:"#e1bee7",$palette_pink_dark:"#a4286a",$palette_blue:"#0066cd",$palette_blue_light:"#a9a9ce",$palette_blue_medium:"#1e8cbe",$palette_blue_link:"#0073aa",$palette_blue_focus:"#5b9dd9",$palette_yoast_focus:"#007fff",$palette_blue_dark:"#084a67",$palette_green:"#77b227",$palette_green_light:"#7ad03a",$palette_green_medium_light:"#64a60a",$palette_green_medium:"#008a00",$palette_green_blue:"#009288",$palette_orange:"#dc5c04",$palette_orange_light:"#ee7c1b",$palette_red:"#dc3232",$palette_red_light:"#f9bdbd",$palette_yellow:"#ffeb3b",$palette_yellow_score:"#f5c819",$palette_button_upsell:"#fec228",$palette_button_upsell_hover:"#f2ae01",$palette_link_text:"#004973",$palette_error_background:"#f9dcdc",$palette_error_text:"#8f1919",$palette_error_emphasis:"#dc3232",$palette_info_background:"#cce5ff",$palette_info_text:"#00468f",$palette_info_emphasis:"#007dff",$palette_success_background:"#e2f2cc",$palette_success_text:"#395315",$palette_success_emphasis:"#6ea029",$palette_warning_background:"#fff3cd",$palette_warning_text:"#674e00",$palette_warning_emphasis:"#ffc201",$color_bad:"#dc3232",$color_ok:"#ee7c1b",$color_good:"#7ad03a",$color_noindex:"#1e8cbe",$color_score_icon:"#888",$color_white:"#fff",$color_black:"#000",$color_green:"#77b227",$color_green_medium:"#008a00",$color_green_blue:"#009288",$color_grey:"#ddd",$color_grey_dark:"#555",$color_purple:"#5d237a",$color_purple_dark:"#6c2548",$color_pink:"#d73763",$color_pink_light:"#e1bee7",$color_pink_dark:"#a4286a",$color_blue:"#0066cd",$color_blue_light:"#a9a9ce",$color_blue_dark:"#084a67",$color_red:"#dc3232",$color_border_light:"#f7f7f7",$color_border_gutenberg:"#e2e4e7",$color_border:"#ccc",$color_input_border:"#ddd",$color_help_text:"#767676",$color_upsell_text:"#767676",$color_background_light:"#f7f7f7",$color_button:"#f7f7f7",$color_button_text:"#555",$color_button_border:"#ccc",$color_button_hover:"#fff",$color_button_border_hover:"#888",$color_button_text_hover:"#000",$color_button_border_active:"#000",$color_button_upsell:"#fec228",$color_button_upsell_hover:"#f2ae01",$color_headings:"#555",$color_marker_inactive:"#555",$color_marker_active:"#fff",$color_marker_disabled:"#a0a5aa",$color_error:"#dc3232",$color_orange:"#dc5c04",$color_orange_hover:"#c35204",$color_grey_hover:"#cecece",$color_pink_hover:"#cc2956",$color_grey_cta:"#ddd",$color_grey_line:"#ddd",$color_grey_quote:"#616161",$color_grey_text:"#616161",$color_grey_text_light:"#767676",$color_snippet_focus:"#1e8cbe",$color_snippet_hover:"#ccc",$color_snippet_active:"#555",$color_blue_link:"#0073aa",$color_blue_focus:"#5b9dd9",$color_blue_focus_shadow:"#1e8cbe",$color_yoast_focus:"#007fff",$color_yoast_focus_outer:"rgba(0,127,255,0.25)",$color_grey_medium_dark:"#888",$color_green_medium_light:"#64a60a",$color_grey_disabled:"#a0a5aa",$color_grey_medium:"#ccc",$color_grey_light:"#f1f1f1",$color_yellow:"#ffeb3b",$color_yellow_score:"#f5c819",$color_error_message:"#f9bdbd",$color_alert_link_text:"#004973",$color_alert_error_text:"#8f1919",$color_alert_error_background:"#f9dcdc",$color_alert_info_text:"#00468f",$color_alert_info_background:"#cce5ff",$color_alert_success_text:"#395315",$color_alert_success_background:"#e2f2cc",$color_alert_warning_text:"#674e00",$color_alert_warning_background:"#fff3cd"}},function(e){e.exports={mobile:"768px",tablet:"1224px"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgba=function(e,t){return"rgba( "+function(e){if("string"!=typeof e)throw new Error("Please pass a string representation of a color in hex notation.");if(e.match(/^#[a-fA-F0-9]{6}$/))return parseInt(`${e[1]}${e[2]}`,16)+", "+parseInt(`${e[3]}${e[4]}`,16)+", "+parseInt(`${e[5]}${e[6]}`,16);if(e.match(/^#[a-fA-F0-9]{3}$/))return parseInt(`${e[1]}${e[1]}`,16)+", "+parseInt(`${e[2]}${e[2]}`,16)+", "+parseInt(` ${e[3]}${e[3]}`,16);throw new Error("Couldn't parse the color string. Please provide the color as a string in hex notation.")}(e)+", "+t+" )"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeOutboundLink=void 0;var r=s(n(0)),o=s(n(222)),i=n(10),a=n(394);function s(e){return e&&e.__esModule?e:{default:e}}t.makeOutboundLink=((e="a")=>{class t extends r.default.Component{constructor(e){super(e),this.isYoastLink=this.isYoastLink.bind(this)}isYoastLink(e){return/yoast\.com|yoast\.test|yoa\.st/.test(e)}render(){if(!this.props.href)return null;const t=this.isYoastLink(this.props.href),n=Object.assign({},this.props,{target:"_blank",rel:t?this.props.rel:"noopener"});return r.default.createElement(e,n,this.props.children,r.default.createElement(a.A11yNotice,null,(0,i.__)("(Opens in a new browser tab)","yoast-components")))}}return t.propTypes={children:o.default.oneOfType([o.default.node]),href:o.default.string,rel:o.default.string},t.defaultProps={children:null,href:null,rel:null},t})},function(e,t,n){"use strict";var r=n(393);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.A11yNotice=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.A11yNotice=r.default.span.withConfig({displayName:"A11yNotice",componentId:"u1v0gg-0"})(["border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important;transform:translateY(1em);"])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDirectionalStyle=function(e,t){return n=>n.theme.isRtl?t:e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(397);const r=(e,t)=>{const n=((e,t)=>{for(const n in t)t.hasOwnProperty(n)&&(void 0!==e[n]&&""!==e[n]||(e[n]=t[n]));return e})(e,{dataType:"json",method:"POST",contentType:"application/json"});return void 0===n.headers&&""===n.headers||((e,t)=>{"jquery"===e&&Object.assign(t,{beforeSend:e=>{jQuery.each(t.headers,(t,n)=>{e.setRequestHeader(t,n)})}}),"fetch"===e&&"json"===t.dataType&&Object.assign(t.headers,{Accepts:"application/json","Content-Type":"application/json"})})(t,n),"json"===n.dataType&&(n.data=JSON.stringify(n.data)),"fetch"===t&&Object.assign(n,{body:n.data}),n};t.default=((e,t)=>{if("undefined"==typeof jQuery||!jQuery||!jQuery.ajax)return((e,t)=>{const n=fetch(e,t);return new Promise((e,t)=>{n.then(n=>200===n.status?e(n.json()):t("Response status is not 200")).catch(()=>t("Wrong request"))})})(e,r(t,"fetch"));return((e,t)=>(Object.assign(t,{url:e}),new Promise((e,n)=>{jQuery.ajax(t).done(t=>{e(t)}).fail(()=>{n("Wrong request")})})))(e,r(t,"jquery"))})},function(e,t){!function(e){"use strict";if(!e.fetch){var t={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(t.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=function(e){return e&&DataView.prototype.isPrototypeOf(e)},o=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};c.prototype.append=function(e,t){e=s(e),t=u(t);var n=this.map[e];n||(n=[],this.map[e]=n),n.push(t)},c.prototype.delete=function(e){delete this.map[s(e)]},c.prototype.get=function(e){var t=this.map[s(e)];return t?t[0]:null},c.prototype.getAll=function(e){return this.map[s(e)]||[]},c.prototype.has=function(e){return this.map.hasOwnProperty(s(e))},c.prototype.set=function(e,t){this.map[s(e)]=[u(t)]},c.prototype.forEach=function(e,t){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){e.call(t,r,n,this)},this)},this)},c.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),l(e)},c.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),l(e)},c.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),l(e)},t.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},g.call(y.prototype),g.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:""});return e.type="error",e};var a=[301,302,303,307,308];v.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError("Invalid status code");return new v(null,{status:t,headers:{location:e}})},e.Headers=c,e.Request=y,e.Response=v,e.fetch=function(e,n){return new Promise(function(r,o){var i=new y(e,n),a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:function(e){var t=new c;return e.split("\r\n").forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}(a.getAllResponseHeaders()||"")};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var t="response"in a?a.response:a.responseText;r(new v(t,e))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials&&(a.withCredentials=!0),"responseType"in a&&t.blob&&(a.responseType="blob"),i.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}function s(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function l(e){var n={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(n[Symbol.iterator]=function(){return n}),n}function c(e){this.map={},e instanceof c?e.forEach(function(e,t){this.append(t,e)},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function f(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function d(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function p(e){var t=new FileReader,n=d(t);return t.readAsArrayBuffer(e),n}function h(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(t.arrayBuffer&&t.blob&&r(e))this._bodyArrayBuffer=h(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!t.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!o(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=h(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(p)}),this.text=function(){var e=f(this);if(e)return e;if(this._bodyBlob)return function(e){var t=new FileReader,n=d(t);return t.readAsText(e),n}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},t.formData&&(this.formData=function(){return this.text().then(m)}),this.json=function(){return this.text().then(JSON.parse)},this}function y(e,t){var n=(t=t||{}).body;if("string"==typeof e)this.url=e;else{if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=function(e){var t=e.toUpperCase();return i.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function v(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=(e=>{var t=document.createElement("textarea");return t.innerHTML=e,t.value})},function(e,t,n){(function(t){(function(){"use strict";var t=this;function n(e){return"string"==typeof e}function r(e,t,n){return e.call.apply(e.bind,arguments)}function o(e,t,n){if(!e)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,r),e.apply(t,n)}}return function(){return e.apply(t,arguments)}}function i(e,t,n){return(i=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?r:o).apply(null,arguments)}function a(e){var t=te;function n(){}n.prototype=t.prototype,e.G=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.F=function(e,n,r){for(var o=Array(arguments.length-2),i=2;i<arguments.length;i++)o[i-2]=arguments[i];return t.prototype[n].apply(e,o)}}var s=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function u(e,t){return-1!=e.indexOf(t)}function l(e,t){return e<t?-1:e>t?1:0}var c,f=Array.prototype.indexOf?function(e,t,n){return Array.prototype.indexOf.call(e,t,n)}:function(e,t,r){if(r=null==r?0:0>r?Math.max(0,e.length+r):r,n(e))return n(t)&&1==t.length?e.indexOf(t,r):-1;for(;r<e.length;r++)if(r in e&&e[r]===t)return r;return-1},d=Array.prototype.forEach?function(e,t,n){Array.prototype.forEach.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=n(e)?e.split(""):e,a=0;a<o;a++)a in i&&t.call(r,i[a],a,e)},p=Array.prototype.filter?function(e,t,n){return Array.prototype.filter.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=[],a=0,s=n(e)?e.split(""):e,u=0;u<o;u++)if(u in s){var l=s[u];t.call(r,l,u,e)&&(i[a++]=l)}return i},h=Array.prototype.reduce?function(e,t,n,r){return r&&(t=i(t,r)),Array.prototype.reduce.call(e,t,n)}:function(e,t,n,r){var o=n;return d(e,function(n,i){o=t.call(r,o,n,i,e)}),o},g=Array.prototype.some?function(e,t,n){return Array.prototype.some.call(e,t,n)}:function(e,t,r){for(var o=e.length,i=n(e)?e.split(""):e,a=0;a<o;a++)if(a in i&&t.call(r,i[a],a,e))return!0;return!1};e:{var y=t.navigator;if(y){var m=y.userAgent;if(m){c=m;break e}}c=""}var v,b=u(c,"Opera")||u(c,"OPR"),_=u(c,"Trident")||u(c,"MSIE"),x=u(c,"Edge"),w=u(c,"Gecko")&&!(u(c.toLowerCase(),"webkit")&&!u(c,"Edge"))&&!(u(c,"Trident")||u(c,"MSIE"))&&!u(c,"Edge"),S=u(c.toLowerCase(),"webkit")&&!u(c,"Edge");function C(){var e=t.document;return e?e.documentMode:void 0}e:{var k="",O=function(){var e=c;return w?/rv\:([^\);]+)(\)|;)/.exec(e):x?/Edge\/([\d\.]+)/.exec(e):_?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(e):S?/WebKit\/(\S+)/.exec(e):b?/(?:Version)[ \/]?(\S+)/.exec(e):void 0}();if(O&&(k=O?O[1]:""),_){var E=C();if(null!=E&&E>parseFloat(k)){v=String(E);break e}}v=k}var T={};function M(e){if(!T[e]){for(var t=0,n=s(String(v)).split("."),r=s(String(e)).split("."),o=Math.max(n.length,r.length),i=0;0==t&&i<o;i++){var a=n[i]||"",u=r[i]||"",c=/(\d*)(\D*)/g,f=/(\d*)(\D*)/g;do{var d=c.exec(a)||["","",""],p=f.exec(u)||["","",""];if(0==d[0].length&&0==p[0].length)break;t=l(0==d[1].length?0:parseInt(d[1],10),0==p[1].length?0:parseInt(p[1],10))||l(0==d[2].length,0==p[2].length)||l(d[2],p[2])}while(0==t)}T[e]=0<=t}}var P=t.document,j=P&&_?C()||("CSS1Compat"==P.compatMode?parseInt(v,10):5):void 0,A=_&&!(9<=Number(j)),I=_&&!(8<=Number(j));function R(e,t,n,r){this.a=e,this.nodeName=n,this.nodeValue=r