Real Media Library: Media Library Folder & File Manager - Version 4.18.25

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon wp plugin Real Media Library: Media Library Folder & File Manager
Version 4.18.25
Comparing to
See all releases

Code changes from version 4.18.24 to 4.18.25

Files changed (93) hide show
  1. CHANGELOG.md +16 -0
  2. README.txt +2 -2
  3. inc/base/others/cachebuster-lib.php +1 -1
  4. inc/base/others/cachebuster.php +1 -1
  5. inc/view/Gutenberg.php +10 -0
  6. index.php +1 -1
  7. public/languages/json/real-media-library-da_DK-164153d8a466523469c70e75e903b00a.json +1 -1
  8. public/languages/json/real-media-library-da_DK-79735bb54a669d95361e4bd368678050.json +1 -1
  9. public/languages/json/real-media-library-de_AT-164153d8a466523469c70e75e903b00a.json +1 -1
  10. public/languages/json/real-media-library-de_AT-79735bb54a669d95361e4bd368678050.json +1 -1
  11. public/languages/json/real-media-library-de_CH-164153d8a466523469c70e75e903b00a.json +1 -1
  12. public/languages/json/real-media-library-de_CH-79735bb54a669d95361e4bd368678050.json +1 -1
  13. public/languages/json/real-media-library-de_CH_informal-164153d8a466523469c70e75e903b00a.json +1 -1
  14. public/languages/json/real-media-library-de_CH_informal-79735bb54a669d95361e4bd368678050.json +1 -1
  15. public/languages/json/real-media-library-de_DE-164153d8a466523469c70e75e903b00a.json +1 -1
  16. public/languages/json/real-media-library-de_DE-79735bb54a669d95361e4bd368678050.json +1 -1
  17. public/languages/json/real-media-library-de_DE_formal-164153d8a466523469c70e75e903b00a.json +1 -1
  18. public/languages/json/real-media-library-de_DE_formal-79735bb54a669d95361e4bd368678050.json +1 -1
  19. public/languages/json/real-media-library-pl_PL-164153d8a466523469c70e75e903b00a.json +1 -1
  20. public/languages/json/real-media-library-pl_PL-79735bb54a669d95361e4bd368678050.json +1 -1
  21. public/languages/json/real-media-library-pt_BR-164153d8a466523469c70e75e903b00a.json +1 -1
  22. public/languages/json/real-media-library-pt_BR-79735bb54a669d95361e4bd368678050.json +1 -1
  23. public/languages/json/real-media-library-pt_PT-164153d8a466523469c70e75e903b00a.json +1 -1
  24. public/languages/json/real-media-library-pt_PT-79735bb54a669d95361e4bd368678050.json +1 -1
  25. public/languages/json/real-media-library-ru_RU-164153d8a466523469c70e75e903b00a.json +1 -1
  26. public/languages/json/real-media-library-ru_RU-79735bb54a669d95361e4bd368678050.json +1 -1
  27. public/languages/json/real-media-library-tr_TR-164153d8a466523469c70e75e903b00a.json +1 -1
  28. public/languages/json/real-media-library-tr_TR-79735bb54a669d95361e4bd368678050.json +1 -1
  29. public/languages/json/real-media-library-zh_CN-164153d8a466523469c70e75e903b00a.json +1 -1
  30. public/languages/json/real-media-library-zh_CN-79735bb54a669d95361e4bd368678050.json +1 -1
  31. vendor/autoload.php +1 -1
  32. vendor/composer/autoload_real.php +7 -7
  33. vendor/composer/autoload_static.php +4 -4
  34. vendor/composer/installed.json +4 -8
  35. vendor/composer/installed.php +1 -1
  36. vendor/devowl-wp/freemium/CHANGELOG.md +8 -0
  37. vendor/devowl-wp/freemium/package.json +12 -12
  38. vendor/devowl-wp/real-product-manager-wp-client/CHANGELOG.md +16 -0
  39. vendor/devowl-wp/real-product-manager-wp-client/dist/index.js +1 -1
  40. vendor/devowl-wp/real-product-manager-wp-client/dist/index.js.map +1 -1
  41. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_AT-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  42. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  43. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH_informal-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  44. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  45. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE_formal-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  46. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-hu_HU-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  47. vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-ru_RU-168726dbe96b3ce427e7fedce31bb0bc.json +1 -1
  48. vendor/devowl-wp/real-product-manager-wp-client/package.json +12 -12
  49. vendor/devowl-wp/real-product-manager-wp-client/src/Assets.php +5 -1
  50. vendor/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php +32 -7
  51. vendor/devowl-wp/real-utils/CHANGELOG.md +8 -0
  52. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-61a60894c517b346c6b99608ccce350d.json +1 -1
  53. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  54. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-b3c66931a03e39a842384fb81443cb05.json +1 -1
  55. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  56. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-61a60894c517b346c6b99608ccce350d.json +1 -1
  57. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  58. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-b3c66931a03e39a842384fb81443cb05.json +1 -1
  59. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  60. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-61a60894c517b346c6b99608ccce350d.json +1 -1
  61. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  62. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-b3c66931a03e39a842384fb81443cb05.json +1 -1
  63. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  64. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-61a60894c517b346c6b99608ccce350d.json +1 -1
  65. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  66. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-b3c66931a03e39a842384fb81443cb05.json +1 -1
  67. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  68. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-61a60894c517b346c6b99608ccce350d.json +1 -1
  69. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  70. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-b3c66931a03e39a842384fb81443cb05.json +1 -1
  71. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  72. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-61a60894c517b346c6b99608ccce350d.json +1 -1
  73. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-74ccc0603b454665ba4060550b4e9aa0.json +1 -1
  74. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-b3c66931a03e39a842384fb81443cb05.json +1 -1
  75. vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-bd8f888d3790e3faf824d6fd69319a28.json +1 -1
  76. vendor/devowl-wp/real-utils/package.json +12 -12
  77. vendor/devowl-wp/utils/CHANGELOG.md +12 -0
  78. vendor/devowl-wp/utils/dist/index.js +1 -1
  79. vendor/devowl-wp/utils/dist/index.js.map +1 -1
  80. vendor/devowl-wp/utils/languages/backend/utils-de_AT.mo +0 -0
  81. vendor/devowl-wp/utils/languages/backend/utils-de_AT.po +11 -3
  82. vendor/devowl-wp/utils/languages/backend/utils-de_CH.mo +0 -0
  83. vendor/devowl-wp/utils/languages/backend/utils-de_CH.po +11 -3
  84. vendor/devowl-wp/utils/languages/backend/utils-de_CH_informal.mo +0 -0
  85. vendor/devowl-wp/utils/languages/backend/utils-de_CH_informal.po +11 -3
  86. vendor/devowl-wp/utils/languages/backend/utils-de_DE.mo +0 -0
  87. vendor/devowl-wp/utils/languages/backend/utils-de_DE.po +11 -3
  88. vendor/devowl-wp/utils/languages/backend/utils-de_DE_formal.mo +0 -0
  89. vendor/devowl-wp/utils/languages/backend/utils-de_DE_formal.po +11 -3
  90. vendor/devowl-wp/utils/languages/backend/utils-ru_RU.po +6 -0
  91. vendor/devowl-wp/utils/languages/backend/utils.pot +4 -0
  92. vendor/devowl-wp/utils/package.json +11 -11
  93. vendor/devowl-wp/utils/src/Service.php +3 -2
CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 4.18.24 (2022-12-02)
7
 
8
  **Note:** This package (@devowl-wp/real-media-library) has been updated because a dependency, which is also shipped with this package, has changed.
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 4.18.25 (2022-12-12)
7
+
8
+
9
+ ### docs
10
+
11
+ * update README contributors
12
+
13
+
14
+ ### fix
15
+
16
+ * gallery not rendered in columns in WP 6.1 (CU-37q3cuq)
17
+
18
+
19
+
20
+
21
+
22
  ## 4.18.24 (2022-12-02)
23
 
24
  **Note:** This package (@devowl-wp/real-media-library) has been updated because a dependency, which is also shipped with this package, has changed.
README.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Real Media Library: Media Library Folder & File Manager ===
2
- Contributors: devowl, mguenter, jankarres, mrguenter, styx
3
  Tags: wordpress media library folders, media library folders, file manager, media folder, media library folder, media library category, media library categories, media category, subfolders, file manager, directories, folder, folders, organize, media library, enhanced Media, enhanced media library, media management, media directory, folder manager, wordpress, media library wizard, folders manager, media library folder, media folders, media directories, media categories, wordpress media library folders, wordpress media folder, wordpress media folders, wordpress media library
4
- Stable tag: 4.18.24
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
1
  === Real Media Library: Media Library Folder & File Manager ===
2
+ Contributors: devowl, mguenter, jankarres, mrguenter
3
  Tags: wordpress media library folders, media library folders, file manager, media folder, media library folder, media library category, media library categories, media category, subfolders, file manager, directories, folder, folders, organize, media library, enhanced Media, enhanced media library, media management, media directory, folder manager, wordpress, media library wizard, folders manager, media library folder, media folders, media directories, media categories, wordpress media library folders, wordpress media folder, wordpress media folders, wordpress media library
4
+ Stable tag: 4.18.25
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Dec 02 2022 12:04:11 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'i18n-react' => '0.7.0',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Mon Dec 12 2022 10:36:53 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'i18n-react' => '0.7.0',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Dec 02 2022 12:04:11 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/rml_gutenberg.lite.js' => 'ec037dfb6f4518134e33bc6a33d2e466',
5
  'src/public/dist/rml_gutenberg.pro.js' => '6a34186dde43c12b236b2fd5c0c947df',
1
  <?php
2
+ /* This file was automatically generated (Mon Dec 12 2022 10:36:53 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/rml_gutenberg.lite.js' => 'ec037dfb6f4518134e33bc6a33d2e466',
5
  'src/public/dist/rml_gutenberg.pro.js' => '6a34186dde43c12b236b2fd5c0c947df',
inc/view/Gutenberg.php CHANGED
@@ -41,6 +41,7 @@ class Gutenberg {
41
  * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/gallery/index.js#L196-L222
42
  */
43
  public function renderGallery($attributes, $content) {
 
44
  if (!isset($attributes['fid']) || empty($attributes['fid'])) {
45
  return '<span></span>';
46
  }
@@ -106,6 +107,15 @@ class Gutenberg {
106
  (empty($caption) ? '' : '<figcaption>' . $caption . '</figcaption>') .
107
  '</figure></li>';
108
  }
 
 
 
 
 
 
 
 
 
109
  return $html . '</ul>';
110
  }
111
  /**
41
  * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-library/src/gallery/index.js#L196-L222
42
  */
43
  public function renderGallery($attributes, $content) {
44
+ global $wp_version;
45
  if (!isset($attributes['fid']) || empty($attributes['fid'])) {
46
  return '<span></span>';
47
  }
107
  (empty($caption) ? '' : '<figcaption>' . $caption . '</figcaption>') .
108
  '</figure></li>';
109
  }
110
+ $cssFile = WPINC . '/blocks/gallery/style.css';
111
+ // Check if CSS file exists (not existing in 5.2: https://github.com/WordPress/WordPress/tree/5.2/wp-includes/blocks)
112
+ if (\file_exists($cssFile) && \function_exists('wp_enqueue_block_style')) {
113
+ wp_enqueue_block_style(self::ID_GALLERY, [
114
+ 'handle' => 'wp-block-gallery',
115
+ 'src' => $cssFile,
116
+ 'ver' => $wp_version
117
+ ]);
118
+ }
119
  return $html . '</ul>';
120
  }
121
  /**
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Organize uploaded media in folders, collections and galleries: A file manager for WordPress. Media management made easy!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 4.18.24
12
  * Text Domain: real-media-library
13
  * Domain Path: /languages
14
  */
8
  * Description: Organize uploaded media in folders, collections and galleries: A file manager for WordPress. Media management made easy!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 4.18.25
12
  * Text Domain: real-media-library
13
  * Domain Path: /languages
14
  */
public/languages/json/real-media-library-da_DK-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"da_DK","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Vedh\u00e6ft filer siden"],"Media File":["Mediefil"],"None":["Ingen"],"Gallery Settings":["Indstillinger for galleri"],"Columns":["Kolonner"],"Crop Images":["Besk\u00e6r billede"],"Caption":["Indfang billede"],"Link To":["Link til"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"da_DK","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Vedh\u00e6ft filer siden"],"Media File":["Mediefil"],"None":["Ingen"],"Gallery Settings":["Indstillinger for galleri"],"Columns":["Kolonner"],"Crop Images":["Besk\u00e6r billede"],"Caption":["Indfang billede"],"Link To":["Link til"]}}}
public/languages/json/real-media-library-da_DK-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"da_DK","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Vedh\u00e6ft filer siden"],"Media File":["Mediefil"],"None":["Ingen"],"Gallery Settings":["Indstillinger for galleri"],"Columns":["Kolonner"],"Crop Images":["Besk\u00e6r billede"],"Caption":["Indfang billede"],"Link To":["Link til"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"da_DK","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Vedh\u00e6ft filer siden"],"Media File":["Mediefil"],"None":["Ingen"],"Gallery Settings":["Indstillinger for galleri"],"Columns":["Kolonner"],"Crop Images":["Besk\u00e6r billede"],"Caption":["Indfang billede"],"Link To":["Link til"]}}}
public/languages/json/real-media-library-de_AT-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_AT-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_CH-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_CH-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_CH_informal-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_CH_informal-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_DE-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_DE-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_DE_formal-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-de_DE_formal-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
1
+ {"translation-revision-date":"2021-09-09 12:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Anhangsseite"],"Media File":["Mediendatei"],"None":["Keine"],"Gallery Settings":["Galerieeinstellungen"],"Columns":["Spalten"],"Crop Images":["Bilder zuschneiden"],"Caption":["Unterschrift"],"Link To":["Link zu"]}}}
public/languages/json/real-media-library-pl_PL-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-03 14:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pl_PL","plural-forms":"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["Strona za\u0142\u0105cznika"],"Media File":["Plik multimedialny"],"None":["Brak"],"Gallery Settings":["Ustawienia galerii"],"Columns":["Kolumny"],"Crop Images":["Kadrowanie Obraz\u00f3w"],"Caption":["Nag\u0142owek"],"Link To":["Odno\u015bnik do"]}}}
1
+ {"translation-revision-date":"2021-11-03 14:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pl_PL","plural-forms":"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["Strona za\u0142\u0105cznika"],"Media File":["Plik multimedialny"],"None":["Brak"],"Gallery Settings":["Ustawienia galerii"],"Columns":["Kolumny"],"Crop Images":["Kadrowanie Obraz\u00f3w"],"Caption":["Nag\u0142owek"],"Link To":["Odno\u015bnik do"]}}}
public/languages/json/real-media-library-pl_PL-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-03 14:01+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pl_PL","plural-forms":"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["Strona za\u0142\u0105cznika"],"Media File":["Plik multimedialny"],"None":["Brak"],"Gallery Settings":["Ustawienia galerii"],"Columns":["Kolumny"],"Crop Images":["Kadrowanie Obraz\u00f3w"],"Caption":["Nag\u0142owek"],"Link To":["Odno\u015bnik do"]}}}
1
+ {"translation-revision-date":"2021-11-03 14:01+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pl_PL","plural-forms":"nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["Strona za\u0142\u0105cznika"],"Media File":["Plik multimedialny"],"None":["Brak"],"Gallery Settings":["Ustawienia galerii"],"Columns":["Kolumny"],"Crop Images":["Kadrowanie Obraz\u00f3w"],"Caption":["Nag\u0142owek"],"Link To":["Odno\u015bnik do"]}}}
public/languages/json/real-media-library-pt_BR-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
public/languages/json/real-media-library-pt_BR-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_BR","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
public/languages/json/real-media-library-pt_PT-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_PT","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_PT","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
public/languages/json/real-media-library-pt_PT-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_PT","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"pt_PT","plural-forms":"nplurals=2; plural=n > 1;"},"Attachment Page":["P\u00e1gina de Anexos"],"Media File":["Arquivo de M\u00eddia"],"None":["Nenhum"],"Gallery Settings":["Configura\u00e7\u00f5es da Galeria"],"Columns":["Colunas"],"Crop Images":["Imagens de culturas"],"Caption":["Legenda"],"Link To":["Link para"]}}}
public/languages/json/real-media-library-ru_RU-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-17 11:42+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f"],"Media File":["\u041c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b"],"None":["\u041d\u0435\u0442"],"Gallery Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0430\u043b\u0435\u0440\u0435\u0438"],"Columns":["\u0421\u0442\u043e\u043b\u0431\u0446\u044b"],"Crop Images":["\u041e\u0431\u0440\u0430\u0437\u0435\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Caption":["\u041f\u043e\u0434\u043f\u0438\u0441\u044c"],"Link To":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430"]}}}
1
+ {"translation-revision-date":"2021-09-17 11:42+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f"],"Media File":["\u041c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b"],"None":["\u041d\u0435\u0442"],"Gallery Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0430\u043b\u0435\u0440\u0435\u0438"],"Columns":["\u0421\u0442\u043e\u043b\u0431\u0446\u044b"],"Crop Images":["\u041e\u0431\u0440\u0430\u0437\u0435\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Caption":["\u041f\u043e\u0434\u043f\u0438\u0441\u044c"],"Link To":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430"]}}}
public/languages/json/real-media-library-ru_RU-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-17 11:42+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f"],"Media File":["\u041c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b"],"None":["\u041d\u0435\u0442"],"Gallery Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0430\u043b\u0435\u0440\u0435\u0438"],"Columns":["\u0421\u0442\u043e\u043b\u0431\u0446\u044b"],"Crop Images":["\u041e\u0431\u0440\u0430\u0437\u0435\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Caption":["\u041f\u043e\u0434\u043f\u0438\u0441\u044c"],"Link To":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430"]}}}
1
+ {"translation-revision-date":"2021-09-17 11:42+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Attachment Page":["\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f"],"Media File":["\u041c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b"],"None":["\u041d\u0435\u0442"],"Gallery Settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0433\u0430\u043b\u0435\u0440\u0435\u0438"],"Columns":["\u0421\u0442\u043e\u043b\u0431\u0446\u044b"],"Crop Images":["\u041e\u0431\u0440\u0430\u0437\u0435\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435"],"Caption":["\u041f\u043e\u0434\u043f\u0438\u0441\u044c"],"Link To":["\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430"]}}}
public/languages/json/real-media-library-tr_TR-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"tr_TR","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Ek Sayfa"],"Media File":["Medya Dosyas\u0131"],"None":["Yok"],"Gallery Settings":["Galeri Ayarlar\u0131"],"Columns":["S\u00fctunlar"],"Crop Images":["G\u00f6r\u00fcnt\u00fcleri K\u0131rp"],"Caption":["Altyaz\u0131"],"Link To":["Link"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"tr_TR","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Ek Sayfa"],"Media File":["Medya Dosyas\u0131"],"None":["Yok"],"Gallery Settings":["Galeri Ayarlar\u0131"],"Columns":["S\u00fctunlar"],"Crop Images":["G\u00f6r\u00fcnt\u00fcleri K\u0131rp"],"Caption":["Altyaz\u0131"],"Link To":["Link"]}}}
public/languages/json/real-media-library-tr_TR-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"tr_TR","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Ek Sayfa"],"Media File":["Medya Dosyas\u0131"],"None":["Yok"],"Gallery Settings":["Galeri Ayarlar\u0131"],"Columns":["S\u00fctunlar"],"Crop Images":["G\u00f6r\u00fcnt\u00fcleri K\u0131rp"],"Caption":["Altyaz\u0131"],"Link To":["Link"]}}}
1
+ {"translation-revision-date":"2021-09-10 08:56+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"tr_TR","plural-forms":"nplurals=2; plural=n != 1;"},"Attachment Page":["Ek Sayfa"],"Media File":["Medya Dosyas\u0131"],"None":["Yok"],"Gallery Settings":["Galeri Ayarlar\u0131"],"Columns":["S\u00fctunlar"],"Crop Images":["G\u00f6r\u00fcnt\u00fcleri K\u0131rp"],"Caption":["Altyaz\u0131"],"Link To":["Link"]}}}
public/languages/json/real-media-library-zh_CN-164153d8a466523469c70e75e903b00a.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-06-08 10:23+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"zh_CN","plural-forms":"nplurals=1; plural=0;"},"Attachment Page":[""],"Media File":["\u5a92\u4f53\u6587\u4ef6"],"None":["\u6ca1\u6709\u4e00\u4e2a"],"Gallery Settings":[""],"Columns":["\u5217"],"Crop Images":[""],"Caption":[""],"Link To":[""]}}}
1
+ {"translation-revision-date":"2022-06-08 10:23+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.pro.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"zh_CN","plural-forms":"nplurals=1; plural=0;"},"Attachment Page":[""],"Media File":["\u5a92\u4f53\u6587\u4ef6"],"None":["\u6ca1\u6709\u4e00\u4e2a"],"Gallery Settings":[""],"Columns":["\u5217"],"Crop Images":[""],"Caption":[""],"Link To":[""]}}}
public/languages/json/real-media-library-zh_CN-79735bb54a669d95361e4bd368678050.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-06-08 10:23+0000","generator":"WP-CLI\/2.7.0","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"zh_CN","plural-forms":"nplurals=1; plural=0;"},"Attachment Page":[""],"Media File":["\u5a92\u4f53\u6587\u4ef6"],"None":["\u6ca1\u6709\u4e00\u4e2a"],"Gallery Settings":[""],"Columns":["\u5217"],"Crop Images":[""],"Caption":[""],"Link To":[""]}}}
1
+ {"translation-revision-date":"2022-06-08 10:23+0000","generator":"WP-CLI\/2.7.1","source":"rml_gutenberg.lite.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"zh_CN","plural-forms":"nplurals=1; plural=0;"},"Attachment Page":[""],"Media File":["\u5a92\u4f53\u6587\u4ef6"],"None":["\u6ca1\u6709\u4e00\u4e2a"],"Gallery Settings":[""],"Columns":["\u5217"],"Crop Images":[""],"Caption":[""],"Link To":[""]}}}
vendor/autoload.php CHANGED
@@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
22
 
23
  require_once __DIR__ . '/composer/autoload_real.php';
24
 
25
- return ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08::getLoader();
22
 
23
  require_once __DIR__ . '/composer/autoload_real.php';
24
 
25
+ return ComposerAutoloaderInit85deab715339adae80fe6eb3fa2e342f::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08
6
  {
7
  private static $loader;
8
 
@@ -22,19 +22,19 @@ class ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
- spl_autoload_unregister(array('ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08', 'loadClassLoader'));
28
 
29
  require __DIR__ . '/autoload_static.php';
30
- call_user_func(\Composer\Autoload\ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08::getInitializer($loader));
31
 
32
  $loader->setClassMapAuthoritative(true);
33
  $loader->register(true);
34
 
35
- $includeFiles = \Composer\Autoload\ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08::$files;
36
  foreach ($includeFiles as $fileIdentifier => $file) {
37
- composerRequire86cc5ed39cede326c4a2386fdbbb4f08($fileIdentifier, $file);
38
  }
39
 
40
  return $loader;
@@ -46,7 +46,7 @@ class ComposerAutoloaderInit86cc5ed39cede326c4a2386fdbbb4f08
46
  * @param string $file
47
  * @return void
48
  */
49
- function composerRequire86cc5ed39cede326c4a2386fdbbb4f08($fileIdentifier, $file)
50
  {
51
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
52
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit85deab715339adae80fe6eb3fa2e342f
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInit85deab715339adae80fe6eb3fa2e342f', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit85deab715339adae80fe6eb3fa2e342f', 'loadClassLoader'));
28
 
29
  require __DIR__ . '/autoload_static.php';
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit85deab715339adae80fe6eb3fa2e342f::getInitializer($loader));
31
 
32
  $loader->setClassMapAuthoritative(true);
33
  $loader->register(true);
34
 
35
+ $includeFiles = \Composer\Autoload\ComposerStaticInit85deab715339adae80fe6eb3fa2e342f::$files;
36
  foreach ($includeFiles as $fileIdentifier => $file) {
37
+ composerRequire85deab715339adae80fe6eb3fa2e342f($fileIdentifier, $file);
38
  }
39
 
40
  return $loader;
46
  * @param string $file
47
  * @return void
48
  */
49
+ function composerRequire85deab715339adae80fe6eb3fa2e342f($fileIdentifier, $file)
50
  {
51
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
52
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08
8
  {
9
  public static $files = array (
10
  'cd48e99dc39649f6529395d65373ee16' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/autoload.php',
@@ -177,9 +177,9 @@ class ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08
177
  public static function getInitializer(ClassLoader $loader)
178
  {
179
  return \Closure::bind(function () use ($loader) {
180
- $loader->prefixLengthsPsr4 = ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08::$prefixLengthsPsr4;
181
- $loader->prefixDirsPsr4 = ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08::$prefixDirsPsr4;
182
- $loader->classMap = ComposerStaticInit86cc5ed39cede326c4a2386fdbbb4f08::$classMap;
183
 
184
  }, null, ClassLoader::class);
185
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit85deab715339adae80fe6eb3fa2e342f
8
  {
9
  public static $files = array (
10
  'cd48e99dc39649f6529395d65373ee16' => __DIR__ . '/..' . '/devowl-wp/real-product-manager-wp-client/src/autoload.php',
177
  public static function getInitializer(ClassLoader $loader)
178
  {
179
  return \Closure::bind(function () use ($loader) {
180
+ $loader->prefixLengthsPsr4 = ComposerStaticInit85deab715339adae80fe6eb3fa2e342f::$prefixLengthsPsr4;
181
+ $loader->prefixDirsPsr4 = ComposerStaticInit85deab715339adae80fe6eb3fa2e342f::$prefixDirsPsr4;
182
+ $loader->classMap = ComposerStaticInit85deab715339adae80fe6eb3fa2e342f::$classMap;
183
 
184
  }, null, ClassLoader::class);
185
  }
vendor/composer/installed.json CHANGED
@@ -7,13 +7,12 @@
7
  "dist": {
8
  "type": "path",
9
  "url": "..\/..\/..\/..\/wordpress-packages\/freemium",
10
- "reference": "a6f7fa5938b077d07d390d5a6729e1b48e0c178b"
11
  },
12
  "require": {
13
  "devowl-wp\/utils": "@dev"
14
  },
15
  "require-dev": {
16
- "dealerdirect\/phpcodesniffer-composer-installer": "^0.7.0",
17
  "devowl-wp\/composer-licenses": "@dev",
18
  "devowl-wp\/phpcs-config": "@dev",
19
  "devowl-wp\/phpunit-config": "@dev",
@@ -98,14 +97,13 @@
98
  "dist": {
99
  "type": "path",
100
  "url": "..\/..\/..\/..\/wordpress-packages\/real-product-manager-wp-client",
101
- "reference": "20cb702cfdf8371d48750463c30f8551c1753410"
102
  },
103
  "require": {
104
  "devowl-wp\/utils": "@dev",
105
  "yahnis-elsts\/plugin-update-checker": "dev-master"
106
  },
107
  "require-dev": {
108
- "dealerdirect\/phpcodesniffer-composer-installer": "^0.7.0",
109
  "devowl-wp\/composer-licenses": "@dev",
110
  "devowl-wp\/phpcs-config": "@dev",
111
  "devowl-wp\/phpunit-config": "@dev",
@@ -191,13 +189,12 @@
191
  "dist": {
192
  "type": "path",
193
  "url": "..\/..\/..\/..\/wordpress-packages\/real-utils",
194
- "reference": "48f380da0e61910f07cecb52dc58cf8e24b8f5e1"
195
  },
196
  "require": {
197
  "devowl-wp\/utils": "@dev"
198
  },
199
  "require-dev": {
200
- "dealerdirect\/phpcodesniffer-composer-installer": "^0.7.0",
201
  "devowl-wp\/composer-licenses": "@dev",
202
  "devowl-wp\/phpcs-config": "@dev",
203
  "devowl-wp\/phpunit-config": "@dev",
@@ -285,10 +282,9 @@
285
  "dist": {
286
  "type": "path",
287
  "url": "..\/..\/..\/..\/wordpress-packages\/utils",
288
- "reference": "4f4a98962be8e2e5a3404e76233f744ca5346477"
289
  },
290
  "require-dev": {
291
- "dealerdirect\/phpcodesniffer-composer-installer": "^0.7.0",
292
  "devowl-wp\/composer-licenses": "@dev",
293
  "devowl-wp\/phpcs-config": "@dev",
294
  "devowl-wp\/phpunit-config": "@dev",
7
  "dist": {
8
  "type": "path",
9
  "url": "..\/..\/..\/..\/wordpress-packages\/freemium",
10
+ "reference": "ba6bb2e4c84f5b020e58df4b51210ab423f141fa"
11
  },
12
  "require": {
13
  "devowl-wp\/utils": "@dev"
14
  },
15
  "require-dev": {
 
16
  "devowl-wp\/composer-licenses": "@dev",
17
  "devowl-wp\/phpcs-config": "@dev",
18
  "devowl-wp\/phpunit-config": "@dev",
97
  "dist": {
98
  "type": "path",
99
  "url": "..\/..\/..\/..\/wordpress-packages\/real-product-manager-wp-client",
100
+ "reference": "a74cc5d362cfb03f5df968c2abdf2b1b6082edfb"
101
  },
102
  "require": {
103
  "devowl-wp\/utils": "@dev",
104
  "yahnis-elsts\/plugin-update-checker": "dev-master"
105
  },
106
  "require-dev": {
 
107
  "devowl-wp\/composer-licenses": "@dev",
108
  "devowl-wp\/phpcs-config": "@dev",
109
  "devowl-wp\/phpunit-config": "@dev",
189
  "dist": {
190
  "type": "path",
191
  "url": "..\/..\/..\/..\/wordpress-packages\/real-utils",
192
+ "reference": "08f725e7a95ac9757263f6edde01df876af2cd12"
193
  },
194
  "require": {
195
  "devowl-wp\/utils": "@dev"
196
  },
197
  "require-dev": {
 
198
  "devowl-wp\/composer-licenses": "@dev",
199
  "devowl-wp\/phpcs-config": "@dev",
200
  "devowl-wp\/phpunit-config": "@dev",
282
  "dist": {
283
  "type": "path",
284
  "url": "..\/..\/..\/..\/wordpress-packages\/utils",
285
+ "reference": "0776e8b14d1be8d13b7ad5e8ac30a975ea0aa118"
286
  },
287
  "require-dev": {
 
288
  "devowl-wp\/composer-licenses": "@dev",
289
  "devowl-wp\/phpcs-config": "@dev",
290
  "devowl-wp\/phpunit-config": "@dev",
vendor/composer/installed.php CHANGED
@@ -2,4 +2,4 @@
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor;
4
 
5
- return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '01a16acaa14db146a9767282bf0ca19ed560e8a2', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '01a16acaa14db146a9767282bf0ca19ed560e8a2', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/freemium' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => 'a6f7fa5938b077d07d390d5a6729e1b48e0c178b', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/freemium', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-product-manager-wp-client' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '20cb702cfdf8371d48750463c30f8551c1753410', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-product-manager-wp-client', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '48f380da0e61910f07cecb52dc58cf8e24b8f5e1', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-utils', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '4f4a98962be8e2e5a3404e76233f744ca5346477', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/utils', 'aliases' => array(), 'dev_requirement' => \false), 'yahnis-elsts/plugin-update-checker' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '56c78cc6da7b071e58ec4a4cc04f2a2dcae05a13', 'type' => 'library', 'install_path' => __DIR__ . '/../yahnis-elsts/plugin-update-checker', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false)));
2
 
3
  namespace MatthiasWeb\RealMediaLibrary\Vendor;
4
 
5
+ return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'c970af3a7be942c85e2ab99f4c448b405ffc1f96', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'c970af3a7be942c85e2ab99f4c448b405ffc1f96', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/freemium' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => 'ba6bb2e4c84f5b020e58df4b51210ab423f141fa', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/freemium', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-product-manager-wp-client' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => 'a74cc5d362cfb03f5df968c2abdf2b1b6082edfb', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-product-manager-wp-client', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/real-utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '08f725e7a95ac9757263f6edde01df876af2cd12', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/real-utils', 'aliases' => array(), 'dev_requirement' => \false), 'devowl-wp/utils' => array('pretty_version' => 'dev-wordpress', 'version' => 'dev-wordpress', 'reference' => '0776e8b14d1be8d13b7ad5e8ac30a975ea0aa118', 'type' => 'library', 'install_path' => __DIR__ . '/../devowl-wp/utils', 'aliases' => array(), 'dev_requirement' => \false), 'yahnis-elsts/plugin-update-checker' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '56c78cc6da7b071e58ec4a4cc04f2a2dcae05a13', 'type' => 'library', 'install_path' => __DIR__ . '/../yahnis-elsts/plugin-update-checker', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false)));
vendor/devowl-wp/freemium/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
6
  ## 1.3.26 (2022-11-18)
7
 
8
  **Note:** This package (@devowl-wp/freemium) has been updated because a dependency, which is also shipped with this package, has changed.
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 1.3.27 (2022-12-12)
7
+
8
+ **Note:** This package (@devowl-wp/freemium) has been updated because a dependency, which is also shipped with this package, has changed.
9
+
10
+
11
+
12
+
13
+
14
  ## 1.3.26 (2022-11-18)
15
 
16
  **Note:** This package (@devowl-wp/freemium) has been updated because a dependency, which is also shipped with this package, has changed.
vendor/devowl-wp/freemium/package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@devowl-wp/freemium",
3
- "version": "1.3.26",
4
  "private": true,
5
  "description": "Make your plugin to a freemium plugin with predefined Envato support",
6
  "homepage": "https://devowl.io",
@@ -91,18 +91,18 @@
91
  "react-test-renderer": "~16.14.0"
92
  },
93
  "devDependencies": {
94
- "@devowl-wp/composer-licenses": "^0.1.7",
95
- "@devowl-wp/continuous-integration": "^0.2.4",
96
- "@devowl-wp/eslint-config": "^0.1.7",
97
- "@devowl-wp/grunt-continuous-localization": "^0.4.7",
98
- "@devowl-wp/grunt-workspaces": "^0.2.4",
99
- "@devowl-wp/node-gitlab-ci": "^0.5.3",
100
- "@devowl-wp/npm-licenses": "^0.1.7",
101
- "@devowl-wp/phpcs-config": "^0.1.4",
102
- "@devowl-wp/phpunit-config": "^0.1.4",
103
  "@devowl-wp/ts-config": "^0.1.6",
104
- "@devowl-wp/utils": "^1.12.24",
105
- "@devowl-wp/webpack-config": "^0.2.5",
106
  "@types/grunt": "~0.4.25",
107
  "@types/jest": "~26.0.23",
108
  "dotenv": "~9.0.2",
1
  {
2
  "name": "@devowl-wp/freemium",
3
+ "version": "1.3.27",
4
  "private": true,
5
  "description": "Make your plugin to a freemium plugin with predefined Envato support",
6
  "homepage": "https://devowl.io",
91
  "react-test-renderer": "~16.14.0"
92
  },
93
  "devDependencies": {
94
+ "@devowl-wp/composer-licenses": "^0.1.8",
95
+ "@devowl-wp/continuous-integration": "^0.2.5",
96
+ "@devowl-wp/eslint-config": "^0.1.8",
97
+ "@devowl-wp/grunt-continuous-localization": "^0.4.8",
98
+ "@devowl-wp/grunt-workspaces": "^0.2.5",
99
+ "@devowl-wp/node-gitlab-ci": "^0.5.4",
100
+ "@devowl-wp/npm-licenses": "^0.1.8",
101
+ "@devowl-wp/phpcs-config": "^0.1.5",
102
+ "@devowl-wp/phpunit-config": "^0.1.5",
103
  "@devowl-wp/ts-config": "^0.1.6",
104
+ "@devowl-wp/utils": "^1.12.25",
105
+ "@devowl-wp/webpack-config": "^0.2.6",
106
  "@types/grunt": "~0.4.25",
107
  "@types/jest": "~26.0.23",
108
  "dotenv": "~9.0.2",
vendor/devowl-wp/real-product-manager-wp-client/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 1.13.18 (2022-12-02)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ # 1.14.0 (2022-12-12)
7
+
8
+
9
+ ### chore
10
+
11
+ * review 1 (CU-aux3m0)
12
+
13
+
14
+ ### feat
15
+
16
+ * allow to deactivate license in deactiation feedback modal dialog (CU-aux3m0)
17
+
18
+
19
+
20
+
21
+
22
  ## 1.13.18 (2022-12-02)
23
 
24
 
vendor/devowl-wp/real-product-manager-wp-client/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var devowlWp_realProductManagerWpClient;(()=>{"use strict";var e,t={1489:(e,t,a)=>{a.r(t),a.d(t,{Avatar:()=>i.C,CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE:()=>Ce,Card:()=>o.Z,FeedbackModal:()=>De,Form:()=>s.Z,HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX:()=>_e,LearnMoreTag:()=>Be,OptionStore:()=>b,PLUGIN_UPDATE_FORM_LAYOUT:()=>Ve,PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM:()=>je,PluginUpdateEmbed:()=>at,PluginUpdateErrorNotice:()=>tt,PluginUpdateForm:()=>He,PluginUpdateLicenseList:()=>et,PluginUpdateLicenseListItem:()=>Qe,PluginUpdateLicenseTelemetryDataModal:()=>Xe,PluginUpdateModal:()=>nt,PluginUpdateStore:()=>pe,PluginUpdateTermFields:()=>We,Provider:()=>ye,RootStore:()=>he,Space:()=>c.Z,listenHashPluginUpdate:()=>ze,listenPluginDeactivation:()=>Fe,listenPluginUpdateLinkClick:()=>Ae,locationRestAnnouncementActive:()=>v,locationRestLicenseDelete:()=>P,locationRestLicenseRetry:()=>Z,locationRestLicenseTelemetryGet:()=>k,locationRestPluginFeedbackPost:()=>Ie,locationRestPluginUpdateGet:()=>oe,locationRestPluginUpdatePatch:()=>f,locationRestPluginUpdateSkipPost:()=>w,useStores:()=>ge});var n=a(1533),l=a(5585),r=a(9464),i=a(5191),o=a(5851),s=a(4549),c=a(8157),u=a(7465),d=a(7821);const m=devowlWp_utils;var p,h,g=a(6921),y=a(9888);let b=(p=class extends m.BaseOptions{constructor(e){super(),(0,g.Z)(this,"others",h,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.rootStore=e,this.pureSlug=m.BaseOptions.getPureSlug("real-product-manager-wp-client"),this.pureSlugCamelCased=m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0),(0,d.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}},h=(0,y.Z)(p.prototype,"others",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p);const v={path:"/announcement/:slug/active",method:m.RouteHttpVerb.POST},f={path:"/plugin-update/:slug",method:m.RouteHttpVerb.PATCH},w={path:"/plugin-update/:slug/skip",method:m.RouteHttpVerb.POST};let E;const R=(...e)=>(E||(E=(0,m.createRequestFactory)(window[m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0)]))).request(...e),Z={path:"/plugin-update/:slug/license/:blogId/retry",method:m.RouteHttpVerb.POST},P={path:"/plugin-update/:slug/license/:blogId",method:m.RouteHttpVerb.DELETE},k={path:"/plugin-update/:slug/telemetry/:blogId",method:m.RouteHttpVerb.GET};var U,S,O,I,T,N,D,F,C,A,_,z,L;let x=(U=class{constructor(e,t){(0,g.Z)(this,"busy",S,this),(0,g.Z)(this,"blog",O,this),(0,g.Z)(this,"host",I,this),(0,g.Z)(this,"programmatically",T,this),(0,g.Z)(this,"blogName",N,this),(0,g.Z)(this,"installationType",D,this),(0,g.Z)(this,"telemetryDataSharingOptIn",F,this),(0,g.Z)(this,"code",C,this),(0,g.Z)(this,"hint",A,this),(0,g.Z)(this,"remote",_,this),(0,g.Z)(this,"noUsage",z,this),(0,g.Z)(this,"telemetryData",L,this),this.store=void 0,this.retry=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:Z,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.deactivate=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:P,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.fetchTelemetryData=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:k,params:{slug:this.store.slug,blogId:this.blog}});this.telemetryData=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,d.runInAction)((()=>(0,d.set)(this,e))),this.store=t}},S=(0,y.Z)(U.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),O=(0,y.Z)(U.prototype,"blog",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,y.Z)(U.prototype,"host",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,y.Z)(U.prototype,"programmatically",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,y.Z)(U.prototype,"blogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,y.Z)(U.prototype,"installationType",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,y.Z)(U.prototype,"telemetryDataSharingOptIn",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,y.Z)(U.prototype,"code",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,y.Z)(U.prototype,"hint",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,y.Z)(U.prototype,"remote",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,y.Z)(U.prototype,"noUsage",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,y.Z)(U.prototype,"telemetryData",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U);var M,X,W,K,q,B,V,j,H,G,J,Y,$,Q,ee,te,ae,ne,le,re;let ie=(M=class{get licensedEntries(){return this.licenses.filter((({code:e})=>e))}get unlicensedEntries(){return this.licenses.filter((({code:e})=>!e))}get noUsageEntries(){return this.unlicensedEntries.filter((({noUsage:e})=>e))}get modifiableEntries(){return this.unlicensedEntries.filter((({programmatically:e})=>!e))}get isLicensed(){return 0===this.unlicensedEntries.length}constructor(e,t){(0,g.Z)(this,"busy",X,this),(0,g.Z)(this,"slug",W,this),(0,g.Z)(this,"licenses",K,this),(0,g.Z)(this,"hasInteractedWithFormOnce",q,this),(0,g.Z)(this,"name",B,this),(0,g.Z)(this,"needsLicenseKeys",V,this),(0,g.Z)(this,"announcementsActive",j,this),(0,g.Z)(this,"allowsAutoUpdates",H,this),(0,g.Z)(this,"allowsTelemetry",G,this),(0,g.Z)(this,"allowsNewsletter",J,this),(0,g.Z)(this,"potentialNewsletterUser",Y,this),(0,g.Z)(this,"privacyProvider",$,this),(0,g.Z)(this,"privacyPolicy",Q,this),(0,g.Z)(this,"accountSiteUrl",ee,this),(0,g.Z)(this,"licenseKeyHelpUrl",te,this),(0,g.Z)(this,"checkUpdateLink",ae,this),(0,g.Z)(this,"invalidKeysError",ne,this),(0,g.Z)(this,"showBlogName",le,this),(0,g.Z)(this,"showNetworkWideUpdateIssueNotice",re,this),this.store=void 0,this.setAnnouncementActive=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:v,params:{slug:this.slug},request:{state:e}});return t.success&&(this.announcementsActive=e),t.success}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.update=(0,d.flow)((function*(e){this.busy=!0,this.invalidKeysError=void 0;try{const t=yield R({location:f,params:{slug:this.slug},request:e});this.fromResponse(t)}catch(e){var t,a;throw console.log(e),null!==(t=e.responseJSON)&&void 0!==t&&null!==(a=t.data)&&void 0!==a&&a.invalidKeys&&(this.invalidKeysError=e.responseJSON.data.invalidKeys),e}finally{this.busy=!1}})),this.skip=(0,d.flow)((function*(){this.busy=!0;try{yield R({location:w,params:{slug:this.slug}})}catch(a){var e,t;throw console.log(a),null!==(e=a.responseJSON)&&void 0!==e&&null!==(t=e.data)&&void 0!==t&&t.invalidKeys&&(this.invalidKeysError=a.responseJSON.data.invalidKeysError),a}finally{this.busy=!1}})),this.fromResponse(e),this.store=t}fromResponse({licenses:e,...t}){(0,d.set)(this,t),this.licenses=[],null==e||e.forEach((e=>{this.licenses.push(new x(e,this))}))}},X=(0,y.Z)(M.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),W=(0,y.Z)(M.prototype,"slug",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,y.Z)(M.prototype,"licenses",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,y.Z)(M.prototype,"hasInteractedWithFormOnce",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,y.Z)(M.prototype,"name",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,y.Z)(M.prototype,"needsLicenseKeys",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,y.Z)(M.prototype,"announcementsActive",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,y.Z)(M.prototype,"allowsAutoUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,y.Z)(M.prototype,"allowsTelemetry",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,y.Z)(M.prototype,"allowsNewsletter",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,y.Z)(M.prototype,"potentialNewsletterUser",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,y.Z)(M.prototype,"privacyProvider",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,y.Z)(M.prototype,"privacyPolicy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,y.Z)(M.prototype,"accountSiteUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,y.Z)(M.prototype,"licenseKeyHelpUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=(0,y.Z)(M.prototype,"checkUpdateLink",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=(0,y.Z)(M.prototype,"invalidKeysError",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),le=(0,y.Z)(M.prototype,"showBlogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),re=(0,y.Z)(M.prototype,"showNetworkWideUpdateIssueNotice",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,y.Z)(M.prototype,"licensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"licensedEntries"),M.prototype),(0,y.Z)(M.prototype,"unlicensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"unlicensedEntries"),M.prototype),(0,y.Z)(M.prototype,"noUsageEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"noUsageEntries"),M.prototype),(0,y.Z)(M.prototype,"modifiableEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"modifiableEntries"),M.prototype),(0,y.Z)(M.prototype,"isLicensed",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"isLicensed"),M.prototype),(0,y.Z)(M.prototype,"fromResponse",[d.action],Object.getOwnPropertyDescriptor(M.prototype,"fromResponse"),M.prototype),M);const oe={path:"/plugin-update/:slug",method:m.RouteHttpVerb.GET};var se,ce,ue,de,me;let pe=(se=class{constructor(e){(0,g.Z)(this,"busy",ce,this),(0,g.Z)(this,"modalPlugin",ue,this),(0,g.Z)(this,"pluginUpdates",de,this),(0,g.Z)(this,"pluginUpdateFetchErrors",me,this),this.rootStore=void 0,this.showInModal=(0,d.flow)((function*(e){this.modalPlugin=e;try{yield this.fetchPluginUpdate(e)}catch(e){throw console.log(e),e}})),this.fetchPluginUpdate=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:oe,params:{slug:e}}),a=new ie(t,this);return this.pluginUpdates.set(e,a),this.pluginUpdateFetchErrors.delete(e),a}catch(t){throw console.log(t),this.pluginUpdateFetchErrors.set(e,t),t}finally{this.busy=!1}})),this.rootStore=e}hideModal(){this.modalPlugin=void 0}},ce=(0,y.Z)(se.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ue=(0,y.Z)(se.prototype,"modalPlugin",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=(0,y.Z)(se.prototype,"pluginUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),me=(0,y.Z)(se.prototype,"pluginUpdateFetchErrors",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,y.Z)(se.prototype,"hideModal",[d.action],Object.getOwnPropertyDescriptor(se.prototype,"hideModal"),se.prototype),se);(0,d.configure)({enforceActions:"always"});class he{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,m.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.pluginUpdateStore=void 0,this.contextMemo=void 0,this.optionStore=new b(this),this.pluginUpdateStore=new pe(this)}static get StoreProvider(){return he.get.context.StoreProvider}static get get(){return he.me?he.me:he.me=new he}}he.me=void 0;const ge=()=>he.get.context.useStores(),ye=({children:e})=>React.createElement(l.ZP,{prefixCls:"rpm-wpc-antd"},React.createElement(he.StoreProvider,null,e));var be=a(7363),ve=a(3557),fe=a(5493),we=a(4648),Ee=a(3685),Re=a(3550),Ze=a(7418);let Pe;function ke(){return Pe||(Pe=(0,m.createLocalizationFactory)("".concat("devowl-wp","-").concat("real-product-manager-wp-client")))}const Ue=(...e)=>ke().__(...e),Se=(...e)=>ke()._i(...e);var Oe=a(8974);const Ie={path:"/feedback/:slug",method:m.RouteHttpVerb.POST},Te={labelCol:{span:24},wrapperCol:{span:24}},Ne={marginBottom:8},De=({initialValues:e={},plugin:t,name:a,privacyPolicy:n,privacyProvider:l,onClose:i,onDeactivate:o})=>{const c=(0,be.useMemo)((()=>({"upgrade-to-pro":Ue("Upgrade to PRO Version"),"not-working":Ue("Plugin does not work"),"missing-features":Ue("Not the features I want"),incompatible:Ue("Incompatible with themes/plugins"),"missing-doc":Ue("Lack of documentation"),"found-better-plugin":Ue("Found a better plugin"),temp:Ue("Temporary deactivation"),other:Ue("Other")})),[]),[d]=s.Z.useForm(),m="license-form-".concat(t),[p,h]=(0,be.useState)(!0),[g,y]=(0,be.useState)(!1),b=(0,be.useCallback)((()=>{window.confirm(Ue("Are you sure you want to leave the feedback form?"))&&h(!1)}),[]),v=(0,be.useCallback)((async e=>{const{reason:a="other",note:n="",email:l="",name:i=""}=e;try{y(!0),await R({location:Ie,params:{slug:t},request:{reason:a,note:n,email:l,name:l?i:""}}),null==o||o()}catch(e){var s,c,u;const{responseJSON:t}=e,a=null==t||null===(s=t.data)||void 0===s||null===(c=s.body)||void 0===c||null===(u=c[0])||void 0===u?void 0:u.code;if(["DeactivationFeedbackAlreadyGiven","DeactivationFeedbackMightBeSpam"].indexOf(a)>-1||!a)return void(null==o||o());var d,m,p;r.ZP.error(null==t||null===(d=t.data)||void 0===d||null===(m=d.body)||void 0===m||null===(p=m[0])||void 0===p?void 0:p.message)}finally{y(!1)}}),[d,t]);return React.createElement(ve.Z,{afterClose:i,onCancel:b,visible:p,footer:[React.createElement(fe.Z,{key:"skip",type:"default",onClick:o,className:"alignleft",disabled:g},React.createElement("b",null,Ue("Skip & Deactivate"))),React.createElement(fe.Z,{key:"submit",type:"primary",htmlType:"submit",form:m,disabled:g},Ue("Deactivate"))],title:React.createElement(React.Fragment,null,React.createElement(Oe.Z,{twoToneColor:"#eb2f96"})," ",Ue("Too bad you are leaving"))},React.createElement(we.Z,{spinning:g},React.createElement(s.Z,(0,u.Z)({name:m,id:m,form:d},Te,{onFinish:v,initialValues:e}),React.createElement(s.Z.Item,{name:"reason",label:React.createElement(React.Fragment,null,Ue("Please give us feedback why you deactivate %s.",a)),style:Ne,required:!0,rules:[{required:!0,message:Ue("Please provide a reason!")}]},React.createElement(Ee.ZP.Group,null,Object.keys(c).map((e=>React.createElement(Ee.ZP,{key:e,value:e,style:{width:"calc(50% - 8px)",float:"left"}},c[e]))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.reason!==t.reason},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ue("What could we do better?"),name:"note",style:Ne},React.createElement(Re.Z.TextArea,{autoSize:{minRows:3}})),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{name:"email",label:Ue("Email for answer/solution"),style:Ne,rules:[{type:"email",required:e("answerTerms"),message:Ue("Please provide a valid e-mail address!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.email!==t.email},(({getFieldValue:e})=>React.createElement(React.Fragment,null,!!e("email")&&React.createElement(s.Z.Item,{name:"name",label:Ue("Name"),required:!0,style:Ne,rules:[{required:!0,message:Ue("Please provide a name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{name:"answerTerms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!!e("email"),transform:e=>e||void 0,message:Ue("Please confirm that you have checked the privacy policy.")}],style:Ne},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.",l),{a:React.createElement("a",{href:n,target:"_blank",rel:"noreferrer"})})))))))))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.note!==t.note||e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>{const t=e("answerTerms")||!1,a=e("note")||"";return t?null:a.split(" ").length>=5?React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ue("Allow us to reply to you by email and we will get back to you as soon as possible!"))):React.createElement("p",{className:"description",style:{marginTop:5}},Se(Ue("Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}."),{a:React.createElement("a",{href:Ue("https://devowl.io/support/"),target:"_blank",rel:"noreferrer"})}))})))))};function Fe(){document.addEventListener("click",(e=>{const{names:t,currentUserFullName:a}=he.get.optionStore.others,l=null==e?void 0:e.target;for(const r in t){const{plugin:i}=t[r];if(l.matches('tr[data-plugin="'.concat(i,'"] a[href*="action=deactivate"]'))){const i=document.createElement("div");document.body.appendChild(i),(0,n.render)(React.createElement(ye,null,React.createElement(De,(0,u.Z)({},t[r],{initialValues:{name:a},plugin:r,onClose:()=>{(0,n.unmountComponentAtNode)(i)},onDeactivate:()=>{window.location.href=l.href}}))),i),e.preventDefault(),e.stopImmediatePropagation();break}}}),!0)}const Ce="data-rpm-wp-client-plugin-update";function Ae(){document.addEventListener("click",(e=>{var t;const a=null===(t=e.target)||void 0===t?void 0:t.getAttribute(Ce);a&&(he.get.pluginUpdateStore.showInModal(a),e.preventDefault())}))}const _e="rpm-wp-client-plugin-update-";function ze(){const{hash:e}=window.location;if(e.startsWith("#".concat(_e))){const t=e.substr(_e.length+1);he.get.pluginUpdateStore.showInModal(t),window.location.hash=""}}var Le=a(3867),xe=a(6519),Me=a(2764);const Xe=(0,Le.Pi)((({license:e,linkWrapper:t,disabled:a,children:n})=>{const{busy:l,telemetryData:r,telemetryDataSharingOptIn:i}=e,[o,s]=(0,be.useState)(!1);return(0,be.useEffect)((()=>{o&&!r&&e.fetchTelemetryData()}),[o,r,e]),React.createElement(React.Fragment,null,React.createElement(ve.Z,{title:Ue("Telemetry data preview"),visible:o&&!a,onCancel:()=>s(!1),cancelText:Ue("Close"),okButtonProps:{style:{display:"none"}}},i&&React.createElement("p",{style:{marginTop:0,marginBottom:10}},Ue("At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.")),React.createElement("p",{style:{marginTop:0}},Ue("The following data (raw) will be sent to our server:")),React.createElement(we.Z,{spinning:l},React.createElement("textarea",{readOnly:!0,style:{width:"100%",height:300},value:r?JSON.stringify(r,null,4):""}))),React.createElement("span",{onClick:()=>!a&&s(!0)},t?React.createElement("a",{style:{textDecoration:"underline",cursor:"pointer"}},n):n))})),We=(0,Le.Pi)((({pluginUpdate:e})=>{const{privacyProvider:t,privacyPolicy:a,allowsTelemetry:n,allowsAutoUpdates:l,allowsNewsletter:r,licenses:[i]}=e;return React.createElement(React.Fragment,null,l&&React.createElement(s.Z.Item,{name:"autoUpdates",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("Updates containing bug fixes and new features will be downloaded and installed automatically."),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{name:"terms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:Ue("Please confirm that you have read the privacy policy!")}],style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),n&&React.createElement(s.Z.Item,{name:"telemetry",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"}),aDataExample:React.createElement(Xe,{license:i,linkWrapper:!0})}))),r&&React.createElement(s.Z.Item,{name:"newsletter",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Se(Ue("I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.newsletter!==t.newsletter},(({getFieldValue:e})=>e("newsletter")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Ue("First name"),name:"firstName",style:je,required:!0,rules:[{required:!0,message:Ue("Please enter your first name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{label:Ue("Email"),name:"email",style:je,required:!0,rules:[{type:"email",required:!0,message:Ue("Please enter your email address!")}]},React.createElement(Re.Z,null)),React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Ue("Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.")))))))}));var Ke=a(8965),qe=a(4759);const Be=({url:e,style:t,label:a=Ue("Learn more")})=>{const n={cursor:"pointer",...t};return React.createElement(Ke.Z,{style:n,onClick:()=>window.open(e,"_blank")},React.createElement(qe.Z,null)," ",a)},Ve={labelCol:{span:24},wrapperCol:{span:24}},je={marginBottom:8},He=(0,Le.Pi)((({onSave:e,onFailure:t,footer:a,pluginUpdate:n})=>{const[l,i]=(0,be.useState)(!1),{busy:o,slug:c,allowsAutoUpdates:d,needsLicenseKeys:m,licenses:p,unlicensedEntries:h,noUsageEntries:g,modifiableEntries:y,invalidKeysError:b,accountSiteUrl:v,licenseKeyHelpUrl:f,name:w,potentialNewsletterUser:{firstName:E,email:R},showBlogName:Z,showNetworkWideUpdateIssueNotice:P}=n,k=p.length>1,U={licenses:p.map((({blog:e,code:t,installationType:a,hint:n,noUsage:l})=>{var r;return{blog:e,code:t||(n?null===(r=n.help.match(/(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})|(\w{32})/))||void 0===r?void 0:r[0]:"")||"",installationType:a||"",noUsage:l}})),autoUpdates:d,terms:!1,telemetry:!1,newsletter:!1,firstName:E,email:R},[S]=s.Z.useForm(),[O,I]=(0,be.useState)(g.length!==h.length),T=(0,be.useCallback)((async a=>{const{licenses:l,...i}=a,o={...i,licenses:JSON.stringify(m?l.filter((({blog:e})=>{const[t]=p.filter((t=>t.blog===e));return h.indexOf(t)>-1})):void 0)};try{await n.update(o),S.setFieldsValue({terms:!1,telemetry:!1,newsletter:!1}),r.ZP.success(Ue("Your license has been activated!")),null==e||e()}catch(e){throw n.invalidKeysError||r.ZP.error(e.responseJSON.message),null==t||t(),e}}),[n,e,p,h,m]),N=(0,be.useCallback)((async e=>{try{await T(e)}catch(e){}finally{i(!1)}}),[S,T,i]),D=(0,be.useCallback)((()=>{i(!0),I(!0)}),[]);return React.createElement(we.Z,{spinning:o},h.length>0&&React.createElement(React.Fragment,null,React.createElement("p",{className:"description",style:{marginBottom:15}},m?Ue("Activate your %s PRO license to receive regular updates and support.",w):Se(Ue("To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).",w),{strong:React.createElement("strong",null)})),P&&React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Ue("You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.",w)),React.createElement("p",null,Ue("Please enable %s network-wide or take care of regular updates manually! ",w))),React.createElement(s.Z,(0,u.Z)({name:"license-form-".concat(c),id:"license-form-".concat(c),form:S},Ve,{initialValues:U,onFinish:N,onFinishFailed:D,onChange:()=>{I(!0)}}),m&&React.createElement(React.Fragment,null,React.createElement(s.Z.List,{name:"licenses"},(e=>e.map(((e,t)=>{const{blog:a}=S.getFieldValue(["licenses",e.name]),[n]=p.filter((e=>e.blog===a));if(-1===h.indexOf(n))return null;const{busy:i,blogName:o,programmatically:c,host:d}=n,m=null==b?void 0:b[a],g=l?{}:m||n.hint,y=!(null==m||!m.debug.errors.LicenseMaxUsagesReached);let w;return"boolean"!=typeof g&&y&&(w=React.createElement("span",null,g.help," ",React.createElement(Be,{url:Ue("https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/")}))),React.createElement(we.Z,{spinning:i,key:e.key},React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(t,a)=>t.licenses[e.key].noUsage!==a.licenses[e.key].noUsage},(({getFieldValue:a})=>{const n=a(["licenses",e.key,"noUsage"]);return React.createElement(s.Z.Item,(0,u.Z)({label:React.createElement("span",null,h.length>1||Z?Se(Ue("Installation type and license key for {{strong}}%s{{/strong}}",o),{strong:React.createElement("strong",null)}):Ue("Installation type and license key")," ",React.createElement(Be,{url:f})),help:w},g,{required:!0,style:je}),!n&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"code"],name:[e.name,"code"],noStyle:!0,rules:[{pattern:/(^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$)|(^\w{32}$)/,required:!0,message:Ue("Please enter a valid license key!")}]},React.createElement(Re.Z,{placeholder:c?c.code:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",disabled:!!c,addonBefore:React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"installationType"],name:[e.name,"installationType"],noStyle:!0,rules:[{required:!0,message:Ue("Please choose an installation type!")}]},React.createElement(Me.Z,{placeholder:Ue("Installation type"),disabled:!!c},React.createElement(Me.Z.Option,{value:"",disabled:!0},c?"development"===c.type?Ue("Development"):Ue("Production"):Ue("Select installation type…")),React.createElement(Me.Z.Option,{value:"production"},Ue("Production")),React.createElement(Me.Z.Option,{value:"development"},Ue("Development"))))})),0===t&&React.createElement("p",{className:"description",style:{marginTop:5}},React.createElement("strong",null,Ue("What is an installation type?"))," ",Ue("You can use each license in both production and development environments.")," ",Se(Ue('Generally speaking, you use "{{strong}}Development{{/strong}}" when your site is not yet live, or it is a staging environment of your site. "{{strong}}Production{{/strong}}" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'),{strong:React.createElement("strong",null)}))),k&&React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"noUsage"],name:[e.name,"noUsage"],valuePropName:"checked",style:{marginTop:n?-25:0===t?-8:0,marginBottom:0}},React.createElement(Ze.Z,null,Ue("I do not want to license and use the plugin for this site within my multisite."))))})),c&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Se(Ue("This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.",d,a),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})," ","•"," ",React.createElement("a",{className:"button-link",onClick:async()=>{try{await n.retry(),n.hint&&r.ZP.error(n.hint.help)}catch(e){r.ZP.error(e.responseJSON.message)}}},Ue("Retry activation")))),y&&React.createElement("a",{href:v,target:"_blank",rel:"noreferrer",className:"button button-primary"},Ue("Manage licenses in the customer center")))})))),React.createElement(xe.Z,{type:"horizontal",style:{margin:"10px 0"}})),y.length>0&&React.createElement(React.Fragment,null,React.createElement("div",{style:{display:O?"block":"none"}},React.createElement(We,{pluginUpdate:n})),a))))}));var Ge=a(5799),Je=a(3897),Ye=a(811),$e=a(7847);const Qe=(0,Le.Pi)((({license:e,onDeactivate:t})=>{const{busy:a,installationType:n,telemetryDataSharingOptIn:l,blogName:i,code:o,remote:s,programmatically:u,host:d,blog:m,store:{needsLicenseKeys:p}}=e;return React.createElement(we.Z,{spinning:a},React.createElement(Ge.ZP.Item,{style:{paddingLeft:0,paddingRight:0},actions:[p&&React.createElement(c.Z,{key:"installationType"},React.createElement(Je.Z,null),"production"===n?Ue("Production"):"development"===n?Ue("Development"):"n/a"),s&&React.createElement(c.Z,{key:"activatedAt"},React.createElement(Ye.Z,null),Ue("Activated %s",new Date(s.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))),React.createElement(Xe,{key:"telemetryModal",license:e,disabled:!l},React.createElement(c.Z,{key:"telemetryDataSharingOptIn",style:{cursor:"pointer"}},React.createElement($e.Z,null),Ue(l?"Telemetry data sharing enabled":"Telemetry data sharing disabled"))),!u&&React.createElement("a",{key:"deactivate",className:"button-link",onClick:async()=>{try{await e.deactivate()}catch(e){r.ZP.error(e.responseJSON.message)}null==t||t(e)}},Ue("Deactivate"))].filter(Boolean)},React.createElement(Ge.ZP.Item.Meta,{title:i,description:p?React.createElement(React.Fragment,null,Ue("Your license key"),": ",React.createElement("code",null,o)):React.createElement(React.Fragment,null,Ue("Your installation is fully activated."),React.createElement("div",{style:{marginTop:15}},React.createElement("a",{rel:"noreferrer",href:Ue("https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/"),className:"button",target:"_blank"},Ue("Enter license key to unlock PRO features"))))}),u&&React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Se(Ue("This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!",d,m),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})))))})),et=(0,Le.Pi)((({onDeactivate:e,pluginUpdate:t})=>{const{licensedEntries:a}=t;return React.createElement(React.Fragment,null,React.createElement(Ge.ZP,{itemLayout:"vertical",size:"small",dataSource:a,renderItem:t=>React.createElement(Qe,{license:t,onDeactivate:e})}),React.createElement("p",{style:{textAlign:"right"}},React.createElement(Ze.Z,{disabled:t.busy,checked:t.announcementsActive,onChange:e=>t.setAnnouncementActive(e.target.checked)},Ue("Show announcements for this plugin"))))})),tt=(0,Le.Pi)((({slug:e})=>{var t;const a=ge().pluginUpdateStore.pluginUpdateFetchErrors.get(e),n=null==a||null===(t=a.responseJSON)||void 0===t?void 0:t.message;return React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"20px 0"}},React.createElement("p",null,Se(Ue("Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.",n?" (".concat(n,")"):""),{a:React.createElement("a",{href:Ue("https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"),target:"_blank",rel:"noreferrer"})})))})),at=(0,Le.Pi)((({formProps:e={},listProps:t={},slug:a})=>{const{pluginUpdateStore:n}=ge(),{busy:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=n,o=r.get(a),s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0;return(0,be.useEffect)((()=>{try{n.fetchPluginUpdate(a)}catch(e){}}),[a]),i.get(a)?React.createElement(tt,{slug:a}):l||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ue("Not yet licensed")),React.createElement(He,(0,u.Z)({},e,{pluginUpdate:o})),s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left"},Ue("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,(0,u.Z)({},t,{pluginUpdate:o})))})),nt=(0,Le.Pi)((()=>{const[e,t]=(0,be.useState)(!1),{pluginUpdateStore:a}=ge(),{busy:n,modalPlugin:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=a,o=l?r.get(l):void 0,s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0,c=(0,be.useCallback)((()=>{if(e){const{checkUpdateLink:e}=o;e?window.location.href=e:window.location.reload()}else a.hideModal()}),[e,a,o]),u=(0,be.useCallback)((()=>t(!0)),[t]),d=i.get(l);return(0,be.useEffect)((()=>{document.body.classList[l?"add":"remove"]("rpm-wpc-antd-modal-open")}),[l]),l?React.createElement(ve.Z,{visible:!0,okButtonProps:{form:"license-form-".concat(null==o?void 0:o.slug),htmlType:"submit",style:{display:0===(null==o?void 0:o.unlicensedEntries.length)||d?"none":void 0}},cancelButtonProps:{style:{display:"none"}},onCancel:c,okText:Ue("Save"),title:o?React.createElement("span",{style:{fontWeight:"normal"}},React.createElement("strong",null,o.name,":")," ",Ue("License settings")):"",width:800},d?React.createElement(tt,{slug:l}):n||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Ue("Not yet licensed")),React.createElement(He,{onSave:u,pluginUpdate:o}),s&&React.createElement(xe.Z,{type:"horizontal",orientation:"left"},Ue("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,{onDeactivate:u,pluginUpdate:o}))):null}));l.ZP.config({prefixCls:"rpm-wpc-antd"}),r.ZP.config({top:50}),Fe(),((e,t="complete")=>{new Promise((a=>{document.readyState===t?(null==e||e(),a()):document.addEventListener("readystatechange",(()=>{document.readyState===t&&(null==e||e(),a())}))}))})((()=>{const e=document.createElement("div");document.body.appendChild(e),(0,n.render)(React.createElement(ye,null,React.createElement(nt,null)),e),Ae(),ze()}))},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},7821:e=>{e.exports=mobx}},a={};function n(e){var l=a[e];if(void 0!==l)return l.exports;var r=a[e]={id:e,loaded:!1,exports:{}};return t[e](r,r.exports,n),r.loaded=!0,r.exports}n.m=t,e=[],n.O=(t,a,l,r)=>{if(!a){var i=1/0;for(u=0;u<e.length;u++){for(var[a,l,r]=e[u],o=!0,s=0;s<a.length;s++)(!1&r||i>=r)&&Object.keys(n.O).every((e=>n.O[e](a[s])))?a.splice(s--,1):(o=!1,r<i&&(i=r));if(o){e.splice(u--,1);var c=l();void 0!==c&&(t=c)}}return t}r=r||0;for(var u=e.length;u>0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[a,l,r]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={826:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var l,r,[i,o,s]=a,c=0;if(i.some((t=>0!==e[t]))){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var u=s(n)}for(t&&t(a);c<i.length;c++)r=i[c],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(u)},a=self.webpackChunkdevowlWp_realProductManagerWpClient=self.webpackChunkdevowlWp_realProductManagerWpClient||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();var l=n.O(void 0,[764],(()=>n(1489)));l=n.O(l),devowlWp_realProductManagerWpClient=l})();
2
  //# sourceMappingURL=index.js.map
1
+ var devowlWp_realProductManagerWpClient;(()=>{"use strict";var e,t={1489:(e,t,a)=>{a.r(t),a.d(t,{Avatar:()=>i.C,CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE:()=>Le,Card:()=>o.Z,FeedbackModal:()=>Ae,Form:()=>s.Z,HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX:()=>_e,LearnMoreTag:()=>Be,OptionStore:()=>b,PLUGIN_UPDATE_FORM_LAYOUT:()=>Ve,PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM:()=>je,PluginUpdateEmbed:()=>at,PluginUpdateErrorNotice:()=>tt,PluginUpdateForm:()=>He,PluginUpdateLicenseList:()=>et,PluginUpdateLicenseListItem:()=>Qe,PluginUpdateLicenseTelemetryDataModal:()=>Xe,PluginUpdateModal:()=>nt,PluginUpdateStore:()=>pe,PluginUpdateTermFields:()=>We,Provider:()=>ye,RootStore:()=>he,Space:()=>c.Z,listenHashPluginUpdate:()=>ze,listenPluginDeactivation:()=>De,listenPluginUpdateLinkClick:()=>Ce,locationRestAnnouncementActive:()=>v,locationRestLicenseDelete:()=>P,locationRestLicenseRetry:()=>Z,locationRestLicenseTelemetryGet:()=>k,locationRestPluginFeedbackPost:()=>Te,locationRestPluginUpdateGet:()=>oe,locationRestPluginUpdatePatch:()=>f,locationRestPluginUpdateSkipPost:()=>w,useStores:()=>ge});var n=a(1533),l=a(5585),r=a(9464),i=a(5191),o=a(5851),s=a(4549),c=a(8157),u=a(7465),d=a(7821);const m=devowlWp_utils;var p,h,g=a(6921),y=a(9888);let b=(p=class extends m.BaseOptions{constructor(e){super(),(0,g.Z)(this,"others",h,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.rootStore=e,this.pureSlug=m.BaseOptions.getPureSlug("real-product-manager-wp-client"),this.pureSlugCamelCased=m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0),(0,d.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}},h=(0,y.Z)(p.prototype,"others",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p);const v={path:"/announcement/:slug/active",method:m.RouteHttpVerb.POST},f={path:"/plugin-update/:slug",method:m.RouteHttpVerb.PATCH},w={path:"/plugin-update/:slug/skip",method:m.RouteHttpVerb.POST};let E;const R=(...e)=>(E||(E=(0,m.createRequestFactory)(window[m.BaseOptions.getPureSlug("real-product-manager-wp-client",!0)]))).request(...e),Z={path:"/plugin-update/:slug/license/:blogId/retry",method:m.RouteHttpVerb.POST},P={path:"/plugin-update/:slug/license/:blogId",method:m.RouteHttpVerb.DELETE},k={path:"/plugin-update/:slug/telemetry/:blogId",method:m.RouteHttpVerb.GET};var U,S,O,I,T,N,F,A,D,L,C,_,z;let x=(U=class{constructor(e,t){(0,g.Z)(this,"busy",S,this),(0,g.Z)(this,"blog",O,this),(0,g.Z)(this,"host",I,this),(0,g.Z)(this,"programmatically",T,this),(0,g.Z)(this,"blogName",N,this),(0,g.Z)(this,"installationType",F,this),(0,g.Z)(this,"telemetryDataSharingOptIn",A,this),(0,g.Z)(this,"code",D,this),(0,g.Z)(this,"hint",L,this),(0,g.Z)(this,"remote",C,this),(0,g.Z)(this,"noUsage",_,this),(0,g.Z)(this,"telemetryData",z,this),this.store=void 0,this.retry=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:Z,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.deactivate=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:P,params:{slug:this.store.slug,blogId:this.blog}});(0,d.set)(this,e)}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.fetchTelemetryData=(0,d.flow)((function*(){this.busy=!0;try{const e=yield R({location:k,params:{slug:this.store.slug,blogId:this.blog}});this.telemetryData=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,d.runInAction)((()=>(0,d.set)(this,e))),this.store=t}},S=(0,y.Z)(U.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),O=(0,y.Z)(U.prototype,"blog",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,y.Z)(U.prototype,"host",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,y.Z)(U.prototype,"programmatically",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,y.Z)(U.prototype,"blogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,y.Z)(U.prototype,"installationType",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,y.Z)(U.prototype,"telemetryDataSharingOptIn",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,y.Z)(U.prototype,"code",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,y.Z)(U.prototype,"hint",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,y.Z)(U.prototype,"remote",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,y.Z)(U.prototype,"noUsage",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,y.Z)(U.prototype,"telemetryData",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U);var M,X,W,K,q,B,V,j,H,G,Y,J,$,Q,ee,te,ae,ne,le,re;let ie=(M=class{get licensedEntries(){return this.licenses.filter((({code:e})=>e))}get unlicensedEntries(){return this.licenses.filter((({code:e})=>!e))}get noUsageEntries(){return this.unlicensedEntries.filter((({noUsage:e})=>e))}get modifiableEntries(){return this.unlicensedEntries.filter((({programmatically:e})=>!e))}get isLicensed(){return 0===this.unlicensedEntries.length}constructor(e,t){(0,g.Z)(this,"busy",X,this),(0,g.Z)(this,"slug",W,this),(0,g.Z)(this,"licenses",K,this),(0,g.Z)(this,"hasInteractedWithFormOnce",q,this),(0,g.Z)(this,"name",B,this),(0,g.Z)(this,"needsLicenseKeys",V,this),(0,g.Z)(this,"announcementsActive",j,this),(0,g.Z)(this,"allowsAutoUpdates",H,this),(0,g.Z)(this,"allowsTelemetry",G,this),(0,g.Z)(this,"allowsNewsletter",Y,this),(0,g.Z)(this,"potentialNewsletterUser",J,this),(0,g.Z)(this,"privacyProvider",$,this),(0,g.Z)(this,"privacyPolicy",Q,this),(0,g.Z)(this,"accountSiteUrl",ee,this),(0,g.Z)(this,"licenseKeyHelpUrl",te,this),(0,g.Z)(this,"checkUpdateLink",ae,this),(0,g.Z)(this,"invalidKeysError",ne,this),(0,g.Z)(this,"showBlogName",le,this),(0,g.Z)(this,"showNetworkWideUpdateIssueNotice",re,this),this.store=void 0,this.setAnnouncementActive=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:v,params:{slug:this.slug},request:{state:e}});return t.success&&(this.announcementsActive=e),t.success}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.update=(0,d.flow)((function*(e){this.busy=!0,this.invalidKeysError=void 0;try{const t=yield R({location:f,params:{slug:this.slug},request:e});this.fromResponse(t)}catch(e){var t,a;throw console.log(e),null!==(t=e.responseJSON)&&void 0!==t&&null!==(a=t.data)&&void 0!==a&&a.invalidKeys&&(this.invalidKeysError=e.responseJSON.data.invalidKeys),e}finally{this.busy=!1}})),this.skip=(0,d.flow)((function*(){this.busy=!0;try{yield R({location:w,params:{slug:this.slug}})}catch(a){var e,t;throw console.log(a),null!==(e=a.responseJSON)&&void 0!==e&&null!==(t=e.data)&&void 0!==t&&t.invalidKeys&&(this.invalidKeysError=a.responseJSON.data.invalidKeysError),a}finally{this.busy=!1}})),this.fromResponse(e),this.store=t}fromResponse({licenses:e,...t}){(0,d.set)(this,t),this.licenses=[],null==e||e.forEach((e=>{this.licenses.push(new x(e,this))}))}},X=(0,y.Z)(M.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),W=(0,y.Z)(M.prototype,"slug",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,y.Z)(M.prototype,"licenses",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,y.Z)(M.prototype,"hasInteractedWithFormOnce",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,y.Z)(M.prototype,"name",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,y.Z)(M.prototype,"needsLicenseKeys",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,y.Z)(M.prototype,"announcementsActive",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,y.Z)(M.prototype,"allowsAutoUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,y.Z)(M.prototype,"allowsTelemetry",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,y.Z)(M.prototype,"allowsNewsletter",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,y.Z)(M.prototype,"potentialNewsletterUser",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,y.Z)(M.prototype,"privacyProvider",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,y.Z)(M.prototype,"privacyPolicy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,y.Z)(M.prototype,"accountSiteUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,y.Z)(M.prototype,"licenseKeyHelpUrl",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=(0,y.Z)(M.prototype,"checkUpdateLink",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=(0,y.Z)(M.prototype,"invalidKeysError",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),le=(0,y.Z)(M.prototype,"showBlogName",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),re=(0,y.Z)(M.prototype,"showNetworkWideUpdateIssueNotice",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,y.Z)(M.prototype,"licensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"licensedEntries"),M.prototype),(0,y.Z)(M.prototype,"unlicensedEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"unlicensedEntries"),M.prototype),(0,y.Z)(M.prototype,"noUsageEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"noUsageEntries"),M.prototype),(0,y.Z)(M.prototype,"modifiableEntries",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"modifiableEntries"),M.prototype),(0,y.Z)(M.prototype,"isLicensed",[d.computed],Object.getOwnPropertyDescriptor(M.prototype,"isLicensed"),M.prototype),(0,y.Z)(M.prototype,"fromResponse",[d.action],Object.getOwnPropertyDescriptor(M.prototype,"fromResponse"),M.prototype),M);const oe={path:"/plugin-update/:slug",method:m.RouteHttpVerb.GET};var se,ce,ue,de,me;let pe=(se=class{constructor(e){(0,g.Z)(this,"busy",ce,this),(0,g.Z)(this,"modalPlugin",ue,this),(0,g.Z)(this,"pluginUpdates",de,this),(0,g.Z)(this,"pluginUpdateFetchErrors",me,this),this.rootStore=void 0,this.showInModal=(0,d.flow)((function*(e){this.modalPlugin=e;try{yield this.fetchPluginUpdate(e)}catch(e){throw console.log(e),e}})),this.fetchPluginUpdate=(0,d.flow)((function*(e){this.busy=!0;try{const t=yield R({location:oe,params:{slug:e}}),a=new ie(t,this);return this.pluginUpdates.set(e,a),this.pluginUpdateFetchErrors.delete(e),a}catch(t){throw console.log(t),this.pluginUpdateFetchErrors.set(e,t),t}finally{this.busy=!1}})),this.rootStore=e}hideModal(){this.modalPlugin=void 0}},ce=(0,y.Z)(se.prototype,"busy",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ue=(0,y.Z)(se.prototype,"modalPlugin",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=(0,y.Z)(se.prototype,"pluginUpdates",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),me=(0,y.Z)(se.prototype,"pluginUpdateFetchErrors",[d.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,y.Z)(se.prototype,"hideModal",[d.action],Object.getOwnPropertyDescriptor(se.prototype,"hideModal"),se.prototype),se);(0,d.configure)({enforceActions:"always"});class he{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,m.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.pluginUpdateStore=void 0,this.contextMemo=void 0,this.optionStore=new b(this),this.pluginUpdateStore=new pe(this)}static get StoreProvider(){return he.get.context.StoreProvider}static get get(){return he.me?he.me:he.me=new he}}he.me=void 0;const ge=()=>he.get.context.useStores(),ye=({children:e})=>React.createElement(l.ZP,{prefixCls:"rpm-wpc-antd"},React.createElement(he.StoreProvider,null,e));var be=a(7363),ve=a(3557),fe=a(5493),we=a(4648),Ee=a(3685),Re=a(3550),Ze=a(7418),Pe=a(6519);let ke;function Ue(){return ke||(ke=(0,m.createLocalizationFactory)("".concat("devowl-wp","-").concat("real-product-manager-wp-client")))}const Se=(...e)=>Ue().__(...e),Oe=(...e)=>Ue()._i(...e);var Ie=a(8974);const Te={path:"/feedback/:slug",method:m.RouteHttpVerb.POST},Ne={labelCol:{span:24},wrapperCol:{span:24}},Fe={marginBottom:8},Ae=({initialValues:e={},plugin:t,name:a,hasAtLeastOneActiveLicense:n,isPluginActiveForNetwork:l,privacyPolicy:i,privacyProvider:o,onClose:c,onDeactivate:d})=>{const m=(0,be.useMemo)((()=>({"upgrade-to-pro":Se("Upgrade to PRO Version"),"not-working":Se("Plugin does not work"),"missing-features":Se("Not the features I want"),incompatible:Se("Incompatible with themes/plugins"),"missing-doc":Se("Lack of documentation"),"found-better-plugin":Se("Found a better plugin"),temp:Se("Temporary deactivation"),other:Se("Other")})),[]),[p]=s.Z.useForm(),h="license-form-".concat(t),[g,y]=(0,be.useState)(!0),[b,v]=(0,be.useState)(!1),f=(0,be.useCallback)((()=>{window.confirm(Se("Are you sure you want to leave the feedback form?"))&&y(!1)}),[]),w=(0,be.useCallback)((async({skip:e=!1,reason:a="other",note:n="",email:l="",name:i="",deactivateLicense:o=!1})=>{try{v(!0),await R({location:Te,params:{slug:t},request:{skip:e,reason:a,note:n,email:l,name:l?i:"",deactivateLicense:o}}),null==d||d()}catch(e){var s,c,u;const{responseJSON:t}=e,a=null==t||null===(s=t.data)||void 0===s||null===(c=s.body)||void 0===c||null===(u=c[0])||void 0===u?void 0:u.code;if(["DeactivationFeedbackAlreadyGiven","DeactivationFeedbackMightBeSpam"].indexOf(a)>-1||!a)return void(null==d||d());var m,p,h;r.ZP.error(null==t||null===(m=t.data)||void 0===m||null===(p=m.body)||void 0===p||null===(h=p[0])||void 0===h?void 0:h.message)}finally{v(!1)}}),[p,t]),E=(0,be.useCallback)((()=>{const e=p.getFieldValue("deactivateLicense");e?w({skip:!0,deactivateLicense:e}):null==d||d()}),[w]);return React.createElement(ve.Z,{afterClose:c,onCancel:f,visible:g,footer:[React.createElement(fe.Z,{key:"skip",type:"default",onClick:E,className:"alignleft",disabled:b},React.createElement("b",null,Se("Skip & Deactivate"))),React.createElement(fe.Z,{key:"submit",type:"primary",htmlType:"submit",form:h,disabled:b},Se("Deactivate"))],title:React.createElement(React.Fragment,null,React.createElement(Ie.Z,{twoToneColor:"#eb2f96"})," ",Se("Too bad you are leaving"))},React.createElement(we.Z,{spinning:b},React.createElement(s.Z,(0,u.Z)({name:h,id:h,form:p},Ne,{onFinish:w,initialValues:e,layout:"vertical"}),React.createElement(s.Z.Item,{name:"reason",label:React.createElement(React.Fragment,null,Se("Please give us feedback why you deactivate %s.",a)),style:Fe,required:!0,rules:[{required:!0,message:Se("Please provide a reason!")}]},React.createElement(Ee.ZP.Group,null,Object.keys(m).map((e=>React.createElement(Ee.ZP,{key:e,value:e,style:{width:"calc(50% - 8px)",float:"left"}},m[e]))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.reason!==t.reason},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Se("What could we do better?"),name:"note",style:Fe},React.createElement(Re.Z.TextArea,{autoSize:{minRows:3}})),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>!!e("reason")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{name:"email",label:Se("Email for answer/solution"),style:Fe,rules:[{type:"email",required:e("answerTerms"),message:Se("Please provide a valid e-mail address!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.email!==t.email},(({getFieldValue:e})=>React.createElement(React.Fragment,null,!!e("email")&&React.createElement(s.Z.Item,{name:"name",label:Se("Name"),required:!0,style:Fe,rules:[{required:!0,message:Se("Please provide a name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{name:"answerTerms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!!e("email"),transform:e=>e||void 0,message:Se("Please confirm that you have checked the privacy policy.")}],style:Fe},React.createElement(Ze.Z,{style:{zoom:.8}},Oe(Se("I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.",o),{a:React.createElement("a",{href:i,target:"_blank",rel:"noreferrer"})})))))))))))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.note!==t.note||e.answerTerms!==t.answerTerms},(({getFieldValue:e})=>{const t=e("answerTerms")||!1,a=e("note")||"";return t?null:a.split(" ").length>=5?React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Se("Allow us to reply to you by email and we will get back to you as soon as possible!"))):React.createElement("p",{className:"description",style:{marginTop:5}},Oe(Se("Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}."),{a:React.createElement("a",{href:Se("https://devowl.io/support/"),target:"_blank",rel:"noreferrer"})}))})),n&&React.createElement(React.Fragment,null,React.createElement(Pe.Z,{style:{margin:"12px 0"}}),React.createElement(s.Z.Item,{style:{marginBottom:0},name:"deactivateLicense",valuePropName:"checked",label:Se("Do you want to deactivate your active license so that you can use it again on another site?")},React.createElement(Ze.Z,null,Se(l?"Yes, deactivate all active licenses for all sites within this multisite":"Yes, deactivate license")))))))};function De(){document.addEventListener("click",(e=>{const{names:t,currentUserFullName:a}=he.get.optionStore.others,l=null==e?void 0:e.target;for(const r in t){const{plugin:i,hasAtLeastOneActiveLicense:o,isPluginActiveForNetwork:s}=t[r];if(l.matches('tr[data-plugin="'.concat(i,'"] a[href*="action=deactivate"]'))){const i=document.createElement("div");document.body.appendChild(i),(0,n.render)(React.createElement(ye,null,React.createElement(Ae,(0,u.Z)({},t[r],{initialValues:{name:a},plugin:r,hasAtLeastOneActiveLicense:o,isPluginActiveForNetwork:s,onClose:()=>{(0,n.unmountComponentAtNode)(i)},onDeactivate:()=>{window.location.href=l.href}}))),i),e.preventDefault(),e.stopImmediatePropagation();break}}}),!0)}const Le="data-rpm-wp-client-plugin-update";function Ce(){document.addEventListener("click",(e=>{var t;const a=null===(t=e.target)||void 0===t?void 0:t.getAttribute(Le);a&&(he.get.pluginUpdateStore.showInModal(a),e.preventDefault())}))}const _e="rpm-wp-client-plugin-update-";function ze(){const{hash:e}=window.location;if(e.startsWith("#".concat(_e))){const t=e.substr(_e.length+1);he.get.pluginUpdateStore.showInModal(t),window.location.hash=""}}var xe=a(3867),Me=a(2764);const Xe=(0,xe.Pi)((({license:e,linkWrapper:t,disabled:a,children:n})=>{const{busy:l,telemetryData:r,telemetryDataSharingOptIn:i}=e,[o,s]=(0,be.useState)(!1);return(0,be.useEffect)((()=>{o&&!r&&e.fetchTelemetryData()}),[o,r,e]),React.createElement(React.Fragment,null,React.createElement(ve.Z,{title:Se("Telemetry data preview"),visible:o&&!a,onCancel:()=>s(!1),cancelText:Se("Close"),okButtonProps:{style:{display:"none"}}},i&&React.createElement("p",{style:{marginTop:0,marginBottom:10}},Se("At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.")),React.createElement("p",{style:{marginTop:0}},Se("The following data (raw) will be sent to our server:")),React.createElement(we.Z,{spinning:l},React.createElement("textarea",{readOnly:!0,style:{width:"100%",height:300},value:r?JSON.stringify(r,null,4):""}))),React.createElement("span",{onClick:()=>!a&&s(!0)},t?React.createElement("a",{style:{textDecoration:"underline",cursor:"pointer"}},n):n))})),We=(0,xe.Pi)((({pluginUpdate:e})=>{const{privacyProvider:t,privacyPolicy:a,allowsTelemetry:n,allowsAutoUpdates:l,allowsNewsletter:r,licenses:[i]}=e;return React.createElement(React.Fragment,null,l&&React.createElement(s.Z.Item,{name:"autoUpdates",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Oe(Se("Updates containing bug fixes and new features will be downloaded and installed automatically."),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{name:"terms",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:e=>e||void 0,message:Se("Please confirm that you have read the privacy policy!")}],style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Oe(Se("I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),n&&React.createElement(s.Z.Item,{name:"telemetry",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Oe(Se("I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"}),aDataExample:React.createElement(Xe,{license:i,linkWrapper:!0})}))),r&&React.createElement(s.Z.Item,{name:"newsletter",valuePropName:"checked",style:je},React.createElement(Ze.Z,{style:{zoom:.8}},Oe(Se("I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.",t),{a:React.createElement("a",{href:a,target:"_blank",rel:"noreferrer"})}))),React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.newsletter!==t.newsletter},(({getFieldValue:e})=>e("newsletter")&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{label:Se("First name"),name:"firstName",style:je,required:!0,rules:[{required:!0,message:Se("Please enter your first name!")}]},React.createElement(Re.Z,null)),React.createElement(s.Z.Item,{label:Se("Email"),name:"email",style:je,required:!0,rules:[{type:"email",required:!0,message:Se("Please enter your email address!")}]},React.createElement(Re.Z,null)),React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,Se("Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.")))))))}));var Ke=a(8965),qe=a(4759);const Be=({url:e,style:t,label:a=Se("Learn more")})=>{const n={cursor:"pointer",...t};return React.createElement(Ke.Z,{style:n,onClick:()=>window.open(e,"_blank")},React.createElement(qe.Z,null)," ",a)},Ve={labelCol:{span:24},wrapperCol:{span:24}},je={marginBottom:8},He=(0,xe.Pi)((({onSave:e,onFailure:t,footer:a,pluginUpdate:n})=>{const[l,i]=(0,be.useState)(!1),{busy:o,slug:c,allowsAutoUpdates:d,needsLicenseKeys:m,licenses:p,unlicensedEntries:h,noUsageEntries:g,modifiableEntries:y,invalidKeysError:b,accountSiteUrl:v,licenseKeyHelpUrl:f,name:w,potentialNewsletterUser:{firstName:E,email:R},showBlogName:Z,showNetworkWideUpdateIssueNotice:P}=n,k=p.length>1,U={licenses:p.map((({blog:e,code:t,installationType:a,hint:n,noUsage:l})=>{var r;return{blog:e,code:t||(n?null===(r=n.help.match(/(\w{8}-\w{4}-\w{4}-\w{4}-\w{12})|(\w{32})/))||void 0===r?void 0:r[0]:"")||"",installationType:a||"",noUsage:l}})),autoUpdates:d,terms:!1,telemetry:!1,newsletter:!1,firstName:E,email:R},[S]=s.Z.useForm(),[O,I]=(0,be.useState)(g.length!==h.length),T=(0,be.useCallback)((async a=>{const{licenses:l,...i}=a,o={...i,licenses:JSON.stringify(m?l.filter((({blog:e})=>{const[t]=p.filter((t=>t.blog===e));return h.indexOf(t)>-1})):void 0)};try{await n.update(o),S.setFieldsValue({terms:!1,telemetry:!1,newsletter:!1}),r.ZP.success(Se("Your license has been activated!")),null==e||e()}catch(e){throw n.invalidKeysError||r.ZP.error(e.responseJSON.message),null==t||t(),e}}),[n,e,p,h,m]),N=(0,be.useCallback)((async e=>{try{await T(e)}catch(e){}finally{i(!1)}}),[S,T,i]),F=(0,be.useCallback)((()=>{i(!0),I(!0)}),[]);return React.createElement(we.Z,{spinning:o},h.length>0&&React.createElement(React.Fragment,null,React.createElement("p",{className:"description",style:{marginBottom:15}},m?Se("Activate your %s PRO license to receive regular updates and support.",w):Oe(Se("To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).",w),{strong:React.createElement("strong",null)})),P&&React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Se("You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.",w)),React.createElement("p",null,Se("Please enable %s network-wide or take care of regular updates manually! ",w))),React.createElement(s.Z,(0,u.Z)({name:"license-form-".concat(c),id:"license-form-".concat(c),form:S},Ve,{initialValues:U,onFinish:N,onFinishFailed:F,onChange:()=>{I(!0)}}),m&&React.createElement(React.Fragment,null,React.createElement(s.Z.List,{name:"licenses"},(e=>e.map(((e,t)=>{const{blog:a}=S.getFieldValue(["licenses",e.name]),[n]=p.filter((e=>e.blog===a));if(-1===h.indexOf(n))return null;const{busy:i,blogName:o,programmatically:c,host:d}=n,m=null==b?void 0:b[a],g=l?{}:m||n.hint,y=!(null==m||!m.debug.errors.LicenseMaxUsagesReached);let w;return"boolean"!=typeof g&&y&&(w=React.createElement("span",null,g.help," ",React.createElement(Be,{url:Se("https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/")}))),React.createElement(we.Z,{spinning:i,key:e.key},React.createElement(s.Z.Item,{noStyle:!0,shouldUpdate:(t,a)=>t.licenses[e.key].noUsage!==a.licenses[e.key].noUsage},(({getFieldValue:a})=>{const n=a(["licenses",e.key,"noUsage"]);return React.createElement(s.Z.Item,(0,u.Z)({label:React.createElement("span",null,h.length>1||Z?Oe(Se("Installation type and license key for {{strong}}%s{{/strong}}",o),{strong:React.createElement("strong",null)}):Se("Installation type and license key")," ",React.createElement(Be,{url:f})),help:w},g,{required:!0,style:je}),!n&&React.createElement(React.Fragment,null,React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"code"],name:[e.name,"code"],noStyle:!0,rules:[{pattern:/(^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$)|(^\w{32}$)/,required:!0,message:Se("Please enter a valid license key!")}]},React.createElement(Re.Z,{placeholder:c?c.code:"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",disabled:!!c,addonBefore:React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"installationType"],name:[e.name,"installationType"],noStyle:!0,rules:[{required:!0,message:Se("Please choose an installation type!")}]},React.createElement(Me.Z,{placeholder:Se("Installation type"),disabled:!!c},React.createElement(Me.Z.Option,{value:"",disabled:!0},c?"development"===c.type?Se("Development"):Se("Production"):Se("Select installation type…")),React.createElement(Me.Z.Option,{value:"production"},Se("Production")),React.createElement(Me.Z.Option,{value:"development"},Se("Development"))))})),0===t&&React.createElement("p",{className:"description",style:{marginTop:5}},React.createElement("strong",null,Se("What is an installation type?"))," ",Se("You can use each license in both production and development environments.")," ",Oe(Se('Generally speaking, you use "{{strong}}Development{{/strong}}" when your site is not yet live, or it is a staging environment of your site. "{{strong}}Production{{/strong}}" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'),{strong:React.createElement("strong",null)}))),k&&React.createElement(s.Z.Item,{fieldKey:[e.fieldKey,"noUsage"],name:[e.name,"noUsage"],valuePropName:"checked",style:{marginTop:n?-25:0===t?-8:0,marginBottom:0}},React.createElement(Ze.Z,null,Se("I do not want to license and use the plugin for this site within my multisite."))))})),c&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Oe(Se("This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.",d,a),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})," ","•"," ",React.createElement("a",{className:"button-link",onClick:async()=>{try{await n.retry(),n.hint&&r.ZP.error(n.hint.help)}catch(e){r.ZP.error(e.responseJSON.message)}}},Se("Retry activation")))),y&&React.createElement("a",{href:v,target:"_blank",rel:"noreferrer",className:"button button-primary"},Se("Manage licenses in the customer center")))})))),React.createElement(Pe.Z,{type:"horizontal",style:{margin:"10px 0"}})),y.length>0&&React.createElement(React.Fragment,null,React.createElement("div",{style:{display:O?"block":"none"}},React.createElement(We,{pluginUpdate:n})),a))))}));var Ge=a(5799),Ye=a(3897),Je=a(811),$e=a(7847);const Qe=(0,xe.Pi)((({license:e,onDeactivate:t})=>{const{busy:a,installationType:n,telemetryDataSharingOptIn:l,blogName:i,code:o,remote:s,programmatically:u,host:d,blog:m,store:{needsLicenseKeys:p}}=e;return React.createElement(we.Z,{spinning:a},React.createElement(Ge.ZP.Item,{style:{paddingLeft:0,paddingRight:0},actions:[p&&React.createElement(c.Z,{key:"installationType"},React.createElement(Ye.Z,null),"production"===n?Se("Production"):"development"===n?Se("Development"):"n/a"),s&&React.createElement(c.Z,{key:"activatedAt"},React.createElement(Je.Z,null),Se("Activated %s",new Date(s.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))),React.createElement(Xe,{key:"telemetryModal",license:e,disabled:!l},React.createElement(c.Z,{key:"telemetryDataSharingOptIn",style:{cursor:"pointer"}},React.createElement($e.Z,null),Se(l?"Telemetry data sharing enabled":"Telemetry data sharing disabled"))),!u&&React.createElement("a",{key:"deactivate",className:"button-link",onClick:async()=>{try{await e.deactivate()}catch(e){r.ZP.error(e.responseJSON.message)}null==t||t(e)}},Se("Deactivate"))].filter(Boolean)},React.createElement(Ge.ZP.Item.Meta,{title:i,description:p?React.createElement(React.Fragment,null,Se("Your license key"),": ",React.createElement("code",null,o)):React.createElement(React.Fragment,null,Se("Your installation is fully activated."),React.createElement("div",{style:{marginTop:15}},React.createElement("a",{rel:"noreferrer",href:Se("https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/"),className:"button",target:"_blank"},Se("Enter license key to unlock PRO features"))))}),u&&React.createElement("div",{className:"notice notice-info inline below-h2 notice-alt",style:{margin:"0 0 10px 0"}},React.createElement("p",null,Oe(Se("This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!",d,m),{code:React.createElement("code",null),a:React.createElement("a",{href:"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html",target:"_blank",rel:"noreferrer"})})))))})),et=(0,xe.Pi)((({onDeactivate:e,pluginUpdate:t})=>{const{licensedEntries:a}=t;return React.createElement(React.Fragment,null,React.createElement(Ge.ZP,{itemLayout:"vertical",size:"small",dataSource:a,renderItem:t=>React.createElement(Qe,{license:t,onDeactivate:e})}),React.createElement("p",{style:{textAlign:"right"}},React.createElement(Ze.Z,{disabled:t.busy,checked:t.announcementsActive,onChange:e=>t.setAnnouncementActive(e.target.checked)},Se("Show announcements for this plugin"))))})),tt=(0,xe.Pi)((({slug:e})=>{var t;const a=ge().pluginUpdateStore.pluginUpdateFetchErrors.get(e),n=null==a||null===(t=a.responseJSON)||void 0===t?void 0:t.message;return React.createElement("div",{className:"notice notice-error inline below-h2 notice-alt",style:{margin:"20px 0"}},React.createElement("p",null,Oe(Se("Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.",n?" (".concat(n,")"):""),{a:React.createElement("a",{href:Se("https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"),target:"_blank",rel:"noreferrer"})})))})),at=(0,xe.Pi)((({formProps:e={},listProps:t={},slug:a})=>{const{pluginUpdateStore:n}=ge(),{busy:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=n,o=r.get(a),s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0;return(0,be.useEffect)((()=>{try{n.fetchPluginUpdate(a)}catch(e){}}),[a]),i.get(a)?React.createElement(tt,{slug:a}):l||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(Pe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Se("Not yet licensed")),React.createElement(He,(0,u.Z)({},e,{pluginUpdate:o})),s&&React.createElement(Pe.Z,{type:"horizontal",orientation:"left"},Se("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,(0,u.Z)({},t,{pluginUpdate:o})))})),nt=(0,xe.Pi)((()=>{const[e,t]=(0,be.useState)(!1),{pluginUpdateStore:a}=ge(),{busy:n,modalPlugin:l,pluginUpdates:r,pluginUpdateFetchErrors:i}=a,o=l?r.get(l):void 0,s=(null==o?void 0:o.unlicensedEntries.length)>0&&(null==o?void 0:o.licensedEntries.length)>0,c=(0,be.useCallback)((()=>{if(e){const{checkUpdateLink:e}=o;e?window.location.href=e:window.location.reload()}else a.hideModal()}),[e,a,o]),u=(0,be.useCallback)((()=>t(!0)),[t]),d=i.get(l);return(0,be.useEffect)((()=>{document.body.classList[l?"add":"remove"]("rpm-wpc-antd-modal-open")}),[l]),l?React.createElement(ve.Z,{visible:!0,okButtonProps:{form:"license-form-".concat(null==o?void 0:o.slug),htmlType:"submit",style:{display:0===(null==o?void 0:o.unlicensedEntries.length)||d?"none":void 0}},cancelButtonProps:{style:{display:"none"}},onCancel:c,okText:Se("Save"),title:o?React.createElement("span",{style:{fontWeight:"normal"}},React.createElement("strong",null,o.name,":")," ",Se("License settings")):"",width:800},d?React.createElement(tt,{slug:l}):n||!o?React.createElement(we.Z,{spinning:!0}):React.createElement("div",null,s&&React.createElement(Pe.Z,{type:"horizontal",orientation:"left",style:{marginTop:0}},Se("Not yet licensed")),React.createElement(He,{onSave:u,pluginUpdate:o}),s&&React.createElement(Pe.Z,{type:"horizontal",orientation:"left"},Se("Already licensed")),o.licensedEntries.length>0&&React.createElement(et,{onDeactivate:u,pluginUpdate:o}))):null}));l.ZP.config({prefixCls:"rpm-wpc-antd"}),r.ZP.config({top:50}),De(),((e,t="complete")=>{new Promise((a=>{document.readyState===t?(null==e||e(),a()):document.addEventListener("readystatechange",(()=>{document.readyState===t&&(null==e||e(),a())}))}))})((()=>{const e=document.createElement("div");document.body.appendChild(e),(0,n.render)(React.createElement(ye,null,React.createElement(nt,null)),e),Ce(),ze()}))},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},7821:e=>{e.exports=mobx}},a={};function n(e){var l=a[e];if(void 0!==l)return l.exports;var r=a[e]={id:e,loaded:!1,exports:{}};return t[e](r,r.exports,n),r.loaded=!0,r.exports}n.m=t,e=[],n.O=(t,a,l,r)=>{if(!a){var i=1/0;for(u=0;u<e.length;u++){for(var[a,l,r]=e[u],o=!0,s=0;s<a.length;s++)(!1&r||i>=r)&&Object.keys(n.O).every((e=>n.O[e](a[s])))?a.splice(s--,1):(o=!1,r<i&&(i=r));if(o){e.splice(u--,1);var c=l();void 0!==c&&(t=c)}}return t}r=r||0;for(var u=e.length;u>0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[a,l,r]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={826:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var l,r,[i,o,s]=a,c=0;if(i.some((t=>0!==e[t]))){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var u=s(n)}for(t&&t(a);c<i.length;c++)r=i[c],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(u)},a=self.webpackChunkdevowlWp_realProductManagerWpClient=self.webpackChunkdevowlWp_realProductManagerWpClient||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})();var l=n.O(void 0,[764],(()=>n(1489)));l=n.O(l),devowlWp_realProductManagerWpClient=l})();
2
  //# sourceMappingURL=index.js.map
vendor/devowl-wp/real-product-manager-wp-client/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///external var \"devowlWp_utils\"","webpack:///./lib/store/option.tsx","webpack:///./lib/wp-api/announcementActive.post.tsx","webpack:///./lib/wp-api/pluginUpdate.patch.tsx","webpack:///./lib/wp-api/pluginUpdateSkip.post.tsx","webpack:///./lib/utils/request.tsx","webpack:///./lib/wp-api/licenseRetry.post.tsx","webpack:///./lib/wp-api/license.delete.tsx","webpack:///./lib/wp-api/licenseTelemetry.get.tsx","webpack:///./lib/models/license.tsx","webpack:///./lib/models/pluginUpdate.tsx","webpack:///./lib/wp-api/pluginUpdate.get.tsx","webpack:///./lib/store/pluginUpdateStore.tsx","webpack:///./lib/store/stores.tsx","webpack:///./lib/components/provider.tsx","webpack:///./lib/utils/i18n.tsx","webpack:///./lib/wp-api/feedback.post.tsx","webpack:///./lib/components/feedback/modal.tsx","webpack:///./lib/others/listenPluginDeactivation.tsx","webpack:///./lib/others/listenPluginUpdateLinkClick.tsx","webpack:///./lib/others/listenHashPluginUpdate.tsx","webpack:///./lib/components/pluginUpdate/licenseTelemetryDataModal.tsx","webpack:///./lib/components/pluginUpdate/form/terms.tsx","webpack:///./lib/components/learnMoreTag.tsx","webpack:///./lib/components/pluginUpdate/form/form.tsx","webpack:///./lib/components/pluginUpdate/licenseListItem.tsx","webpack:///./lib/components/pluginUpdate/licenseList.tsx","webpack:///./lib/components/pluginUpdate/embed.tsx","webpack:///./lib/components/pluginUpdate/modal.tsx","webpack:///./lib/index.tsx","webpack:///./lib/utils/ready.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"mobx\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = devowlWp_utils;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { observable, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"others\", _descriptor, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { OptionStore };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestAnnouncementActive = {\n path: \"/announcement/:slug/active\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdatePatch = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.PATCH\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateSkipPost = {\n path: \"/plugin-update/:slug/skip\",\n method: RouteHttpVerb.POST\n};","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createRequestFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createRequestFactory(window[BaseOptions.getPureSlug(process.env.slug, true)]);\n}\n\nconst urlBuilder = (...args) => get().urlBuilder(...args);\n\nconst request = (...args) => get().request(...args);\n\nexport { urlBuilder, request };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseRetry = {\n path: \"/plugin-update/:slug/license/:blogId/retry\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseDelete = {\n path: \"/plugin-update/:slug/license/:blogId\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseTelemetryGet = {\n path: \"/plugin-update/:slug/telemetry/:blogId\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12;\n\nimport { observable, set, runInAction, flow } from \"mobx\";\nimport { locationRestLicenseDelete, locationRestLicenseRetry, locationRestLicenseTelemetryGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet License = (_class = class License {\n constructor(license, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"blog\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"host\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"programmatically\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"blogName\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"installationType\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"telemetryDataSharingOptIn\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"code\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"hint\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"remote\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"noUsage\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"telemetryData\", _descriptor12, this);\n\n this.store = void 0;\n this.retry = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseRetry,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.deactivate = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseDelete,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fetchTelemetryData = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseTelemetryGet,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n this.telemetryData = result;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => set(this, license));\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"blog\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"host\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"programmatically\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"blogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"installationType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"telemetryDataSharingOptIn\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"code\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"hint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"remote\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"noUsage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"telemetryData\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { License };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nimport { observable, set, flow, computed, action } from \"mobx\";\nimport { locationRestPluginUpdatePatch, locationRestPluginUpdateSkipPost, locationRestAnnouncementActive } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { License } from \".\";\nlet PluginUpdate = (_class = class PluginUpdate {\n get licensedEntries() {\n return this.licenses.filter(({\n code\n }) => code);\n }\n\n get unlicensedEntries() {\n return this.licenses.filter(({\n code\n }) => !code);\n }\n\n get noUsageEntries() {\n return this.unlicensedEntries.filter(({\n noUsage\n }) => noUsage);\n }\n\n get modifiableEntries() {\n return this.unlicensedEntries.filter(({\n programmatically\n }) => !programmatically);\n }\n\n get isLicensed() {\n return this.unlicensedEntries.length === 0;\n }\n\n constructor(pluginUpdate, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"slug\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"licenses\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"hasInteractedWithFormOnce\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"needsLicenseKeys\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"announcementsActive\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allowsAutoUpdates\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allowsTelemetry\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allowsNewsletter\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"potentialNewsletterUser\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"privacyProvider\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"privacyPolicy\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"accountSiteUrl\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"licenseKeyHelpUrl\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"checkUpdateLink\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"invalidKeysError\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"showBlogName\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"showNetworkWideUpdateIssueNotice\", _descriptor19, this);\n\n this.store = void 0;\n this.setAnnouncementActive = flow(function* (state) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestAnnouncementActive,\n params: {\n slug: this.slug\n },\n request: {\n state\n }\n });\n\n if (result.success) {\n this.announcementsActive = state;\n }\n\n return result.success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.update = flow(function* (data) {\n this.busy = true;\n this.invalidKeysError = undefined;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdatePatch,\n params: {\n slug: this.slug\n },\n request: data\n });\n this.fromResponse(result);\n } catch (e) {\n var _e$responseJSON, _e$responseJSON$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON = e.responseJSON) !== null && _e$responseJSON !== void 0 && (_e$responseJSON$data = _e$responseJSON.data) !== null && _e$responseJSON$data !== void 0 && _e$responseJSON$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeys;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.skip = flow(function* () {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestPluginUpdateSkipPost,\n params: {\n slug: this.slug\n }\n });\n } catch (e) {\n var _e$responseJSON2, _e$responseJSON2$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON2 = e.responseJSON) !== null && _e$responseJSON2 !== void 0 && (_e$responseJSON2$data = _e$responseJSON2.data) !== null && _e$responseJSON2$data !== void 0 && _e$responseJSON2$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeysError;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fromResponse(pluginUpdate);\n this.store = store;\n }\n\n fromResponse({\n licenses,\n ...pluginUpdate\n }) {\n set(this, pluginUpdate);\n this.licenses = [];\n licenses === null || licenses === void 0 ? void 0 : licenses.forEach(license => {\n this.licenses.push(new License(license, this));\n });\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"slug\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"licenses\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"hasInteractedWithFormOnce\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"needsLicenseKeys\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"announcementsActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allowsAutoUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allowsTelemetry\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allowsNewsletter\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"potentialNewsletterUser\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"privacyProvider\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"accountSiteUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"licenseKeyHelpUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"checkUpdateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"invalidKeysError\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"showBlogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"showNetworkWideUpdateIssueNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"licensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"licensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"unlicensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"unlicensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"noUsageEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"noUsageEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"modifiableEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"modifiableEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"isLicensed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isLicensed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"fromResponse\"), _class.prototype)), _class);\nexport { PluginUpdate };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateGet = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nimport { observable, flow, action } from \"mobx\";\nimport { PluginUpdate } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestPluginUpdateGet } from \"../wp-api\";\nlet PluginUpdateStore = (_class = class PluginUpdateStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"modalPlugin\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"pluginUpdates\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"pluginUpdateFetchErrors\", _descriptor4, this);\n\n this.rootStore = void 0;\n this.showInModal = flow(function* (slug) {\n this.modalPlugin = slug;\n\n try {\n yield this.fetchPluginUpdate(slug);\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchPluginUpdate = flow(function* (slug) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdateGet,\n params: {\n slug\n }\n });\n const pluginUpdate = new PluginUpdate(result, this);\n this.pluginUpdates.set(slug, pluginUpdate);\n this.pluginUpdateFetchErrors.delete(slug);\n return pluginUpdate;\n } catch (e) {\n console.log(e);\n this.pluginUpdateFetchErrors.set(slug, e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n hideModal() {\n this.modalPlugin = undefined;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modalPlugin\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdateFetchErrors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"hideModal\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"hideModal\"), _class.prototype)), _class);\nexport { PluginUpdateStore };","import { configure } from \"mobx\";\nimport { createContextFactory } from \"@devowl-wp/utils\";\nimport { OptionStore, PluginUpdateStore } from \".\";\nconfigure({\n enforceActions: \"always\"\n});\n/**\n * A collection of all available stores which gets available\n * through the custom hook useStores in your function components.\n *\n * @see https://mobx.js.org/best/store.html#combining-multiple-stores\n */\n\nclass RootStore {\n get context() {\n return this.contextMemo ? this.contextMemo : this.contextMemo = createContextFactory(this);\n }\n\n constructor() {\n this.optionStore = void 0;\n this.pluginUpdateStore = void 0;\n this.contextMemo = void 0;\n this.optionStore = new OptionStore(this);\n this.pluginUpdateStore = new PluginUpdateStore(this);\n }\n\n static get StoreProvider() {\n return RootStore.get.context.StoreProvider;\n }\n\n static get get() {\n return RootStore.me ? RootStore.me : RootStore.me = new RootStore();\n }\n\n}\n\nRootStore.me = void 0;\n\nconst useStores = () => RootStore.get.context.useStores();\n\nexport { RootStore, useStores };","import { ConfigProvider } from \"antd\";\nimport { RootStore } from \"../store\";\n\nconst Provider = ({\n children\n}) => /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX\n}, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, children));\n\nexport { Provider };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createLocalizationFactory } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createLocalizationFactory(\"\".concat(process.env.rootSlug, \"-\").concat(process.env.slug));\n}\n\nconst _n = (...args) => get()._n(...args);\n\nconst _nx = (...args) => get()._nx(...args);\n\nconst _x = (...args) => get()._x(...args);\n\nconst __ = (...args) => get().__(...args);\n\nconst _i = (...args) => get()._i(...args);\n\nexport { _n, _nx, _x, __, _i };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginFeedbackPost = {\n path: \"/feedback/:slug\",\n method: RouteHttpVerb.POST\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState, useMemo } from \"react\";\nimport { Button, Modal, Form, Spin, Input, Checkbox, Radio, message } from \"antd\";\nimport { request, _i, __ } from \"../../utils\";\nimport { HeartTwoTone } from \"@ant-design/icons\";\nimport { locationRestPluginFeedbackPost } from \"../../wp-api\";\nconst FEEDBACK_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\n\nconst FeedbackModal = ({\n initialValues = {},\n plugin,\n name,\n privacyPolicy,\n privacyProvider,\n onClose,\n onDeactivate\n}) => {\n const reasons = useMemo(() => ({\n \"upgrade-to-pro\": __(\"Upgrade to PRO Version\"),\n \"not-working\": __(\"Plugin does not work\"),\n \"missing-features\": __(\"Not the features I want\"),\n incompatible: __(\"Incompatible with themes/plugins\"),\n \"missing-doc\": __(\"Lack of documentation\"),\n \"found-better-plugin\": __(\"Found a better plugin\"),\n temp: __(\"Temporary deactivation\"),\n other: __(\"Other\")\n }), []);\n const [form] = Form.useForm();\n const formName = \"license-form-\".concat(plugin);\n const [visible, setVisible] = useState(true);\n const [busy, setBusy] = useState(false);\n const handleClose = useCallback(() => {\n if (window.confirm(__(\"Are you sure you want to leave the feedback form?\"))) {\n setVisible(false);\n }\n }, []);\n const handleFinish = useCallback(async store => {\n const {\n reason = \"other\",\n note = \"\",\n email = \"\",\n name = \"\"\n } = store;\n\n try {\n setBusy(true);\n await request({\n location: locationRestPluginFeedbackPost,\n params: {\n slug: plugin\n },\n request: {\n reason,\n note,\n email,\n name: email ? name : \"\" // Only send the name when an email got entered, too\n\n }\n });\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n } catch (e) {\n var _responseJSON$data, _responseJSON$data$bo, _responseJSON$data$bo2;\n\n const {\n responseJSON\n } = e;\n const code = responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data = responseJSON.data) === null || _responseJSON$data === void 0 ? void 0 : (_responseJSON$data$bo = _responseJSON$data.body) === null || _responseJSON$data$bo === void 0 ? void 0 : (_responseJSON$data$bo2 = _responseJSON$data$bo[0]) === null || _responseJSON$data$bo2 === void 0 ? void 0 : _responseJSON$data$bo2.code;\n\n if ([\"DeactivationFeedbackAlreadyGiven\", \"DeactivationFeedbackMightBeSpam\"].indexOf(code) > -1 || !code) {\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n return;\n } else {\n var _responseJSON$data2, _responseJSON$data2$b, _responseJSON$data2$b2;\n\n message.error(responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data2 = responseJSON.data) === null || _responseJSON$data2 === void 0 ? void 0 : (_responseJSON$data2$b = _responseJSON$data2.body) === null || _responseJSON$data2$b === void 0 ? void 0 : (_responseJSON$data2$b2 = _responseJSON$data2$b[0]) === null || _responseJSON$data2$b2 === void 0 ? void 0 : _responseJSON$data2$b2.message);\n }\n } finally {\n setBusy(false);\n }\n }, [form, plugin]);\n return /*#__PURE__*/React.createElement(Modal, {\n afterClose: onClose,\n onCancel: handleClose,\n visible: visible,\n footer: [/*#__PURE__*/React.createElement(Button, {\n key: \"skip\",\n type: \"default\",\n onClick: onDeactivate,\n className: \"alignleft\",\n disabled: busy\n }, /*#__PURE__*/React.createElement(\"b\", null, __(\"Skip & Deactivate\"))), /*#__PURE__*/React.createElement(Button, {\n key: \"submit\",\n type: \"primary\",\n htmlType: \"submit\",\n form: formName,\n disabled: busy\n }, __(\"Deactivate\"))],\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeartTwoTone, {\n twoToneColor: \"#eb2f96\"\n }), \" \", __(\"Too bad you are leaving\"))\n }, /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(Form, _extends({\n name: formName,\n id: formName,\n form: form\n }, FEEDBACK_FORM_LAYOUT, {\n onFinish: handleFinish,\n initialValues: initialValues\n }), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"reason\",\n label: /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Please give us feedback why you deactivate %s.\", name)),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please provide a reason!\")\n }]\n }, /*#__PURE__*/React.createElement(Radio.Group, null, Object.keys(reasons).map(choice => /*#__PURE__*/React.createElement(Radio, {\n key: choice,\n value: choice,\n style: {\n width: \"calc(50% - 8px)\",\n float: \"left\"\n }\n }, reasons[choice])))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.reason !== nextValues.reason\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"What could we do better?\"),\n name: \"note\",\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n name: \"email\",\n label: __(\"Email for answer/solution\"),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n type: \"email\",\n required: getFieldValue(\"answerTerms\"),\n message: __(\"Please provide a valid e-mail address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.email !== nextValues.email\n }, ({\n getFieldValue\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, !!getFieldValue(\"email\") && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"name\",\n label: __(\"Name\"),\n required: true,\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"answerTerms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: !!getFieldValue(\"email\"),\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the privacy policy.\")\n }],\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))))))))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.note !== nextValues.note || prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => {\n const answerTerms = getFieldValue(\"answerTerms\") || false;\n const note = getFieldValue(\"note\") || \"\";\n\n if (answerTerms) {\n return null;\n }\n\n return note.split(\" \").length >= 5 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Allow us to reply to you by email and we will get back to you as soon as possible!\"))) : /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, _i(__(\"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }));\n }))));\n};\n\nexport { FeedbackModal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport { FeedbackModal, Provider } from \"../components\";\nimport { RootStore } from \"../store\";\n\nfunction listenPluginDeactivation() {\n document.addEventListener(\"click\", e => {\n const {\n names,\n currentUserFullName\n } = RootStore.get.optionStore.others;\n const link = e === null || e === void 0 ? void 0 : e.target;\n\n for (const slug in names) {\n const {\n plugin\n } = names[slug];\n\n if (link.matches(\"tr[data-plugin=\\\"\".concat(plugin, \"\\\"] a[href*=\\\"action=deactivate\\\"]\"))) {\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(FeedbackModal, _extends({}, names[slug], {\n initialValues: {\n name: currentUserFullName\n },\n plugin: slug,\n onClose: () => {\n unmountComponentAtNode(node);\n },\n onDeactivate: () => {\n window.location.href = link.href;\n }\n }))), node);\n e.preventDefault(); // Stop `real-utils` functionality\n\n e.stopImmediatePropagation();\n break;\n }\n }\n }, true);\n}\n\nexport { listenPluginDeactivation };","import { RootStore } from \"../store\";\nconst CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE = \"data-rpm-wp-client-plugin-update\";\n/**\n * Listen to clicks on `<a data-rpm-wp-client-license=\"\"` links and open the license modal.\n */\n\nfunction listenPluginUpdateLinkClick() {\n document.addEventListener(\"click\", e => {\n var _e$target;\n\n const plugin = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute(CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE);\n\n if (plugin) {\n RootStore.get.pluginUpdateStore.showInModal(plugin);\n e.preventDefault();\n }\n });\n}\n\nexport { listenPluginUpdateLinkClick, CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE };","import { RootStore } from \"../store\";\nconst HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX = \"rpm-wp-client-plugin-update-\";\n/**\n * Listen to window hash links and open the license modal.\n */\n\nfunction listenHashPluginUpdate() {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#\".concat(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX))) {\n const slug = hash.substr(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX.length + 1);\n RootStore.get.pluginUpdateStore.showInModal(slug); // Reset, should not be visible in URL\n\n window.location.hash = \"\";\n }\n}\n\nexport { listenHashPluginUpdate, HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX };","import { useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { Spin, Modal } from \"antd\";\nconst PluginUpdateLicenseTelemetryDataModal = observer(({\n license,\n linkWrapper,\n disabled,\n children\n}) => {\n const {\n busy,\n telemetryData,\n telemetryDataSharingOptIn\n } = license;\n const [isVisible, setVisible] = useState(false);\n useEffect(() => {\n if (isVisible && !telemetryData) {\n license.fetchTelemetryData();\n }\n }, [isVisible, telemetryData, license]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {\n title: __(\"Telemetry data preview\"),\n visible: isVisible && !disabled,\n onCancel: () => setVisible(false),\n cancelText: __(\"Close\"),\n okButtonProps: {\n style: {\n display: \"none\"\n }\n }\n }, telemetryDataSharingOptIn && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0,\n marginBottom: 10\n }\n }, __(\"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.\")), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0\n }\n }, __(\"The following data (raw) will be sent to our server:\")), /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(\"textarea\", {\n readOnly: true,\n style: {\n width: \"100%\",\n height: 300\n },\n value: telemetryData ? JSON.stringify(telemetryData, null, 4) : \"\"\n }))), /*#__PURE__*/React.createElement(\"span\", {\n onClick: () => !disabled && setVisible(true)\n }, linkWrapper ? /*#__PURE__*/React.createElement(\"a\", {\n style: {\n textDecoration: \"underline\",\n cursor: \"pointer\"\n }\n }, children) : children));\n});\nexport { PluginUpdateLicenseTelemetryDataModal };","import { Form, Input, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM } from \".\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \"..\";\nconst PluginUpdateTermFields = observer(({\n pluginUpdate\n}) => {\n const {\n privacyProvider,\n privacyPolicy,\n allowsTelemetry,\n allowsAutoUpdates,\n allowsNewsletter,\n licenses: [firstLicense]\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, allowsAutoUpdates && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"autoUpdates\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"Updates containing bug fixes and new features will be downloaded and installed automatically.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"terms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have read the privacy policy!\")\n }],\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), allowsTelemetry && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"telemetry\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n }),\n aDataExample: /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n license: firstLicense,\n linkWrapper: true\n })\n }))), allowsNewsletter && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"newsletter\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.newsletter !== nextValues.newsletter\n }, ({\n getFieldValue\n }) => getFieldValue(\"newsletter\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"First name\"),\n name: \"firstName\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please enter your first name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"Email\"),\n name: \"email\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n type: \"email\",\n required: true,\n message: __(\"Please enter your email address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.\"))))));\n});\nexport { PluginUpdateTermFields };","import { Tag } from \"antd\";\nimport { QuestionCircleFilled } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\n\nconst LearnMoreTag = ({\n url,\n style = undefined,\n label = __(\"Learn more\")\n}) => {\n const useStyle = {\n cursor: \"pointer\",\n ...style\n };\n return /*#__PURE__*/React.createElement(Tag, {\n style: useStyle,\n onClick: () => window.open(url, \"_blank\")\n }, /*#__PURE__*/React.createElement(QuestionCircleFilled, null), \" \", label);\n};\n\nexport { LearnMoreTag };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState } from \"react\";\nimport { Form, Input, Select, Divider, Spin, message, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PluginUpdateTermFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nconst PLUGIN_UPDATE_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\nconst PluginUpdateForm = observer(({\n onSave,\n onFailure,\n footer,\n pluginUpdate\n}) => {\n const [forceFormValidateStatus, setForceFormValidateStatus] = useState(false);\n const {\n busy,\n slug,\n allowsAutoUpdates,\n needsLicenseKeys,\n licenses,\n unlicensedEntries,\n noUsageEntries,\n modifiableEntries,\n invalidKeysError,\n accountSiteUrl,\n licenseKeyHelpUrl,\n name,\n potentialNewsletterUser: {\n firstName,\n email\n },\n showBlogName,\n showNetworkWideUpdateIssueNotice\n } = pluginUpdate;\n const allowNoUsage = licenses.length > 1; // only allow \"No usage\" within multisite\n\n const initialValues = {\n licenses: licenses.map(({\n blog,\n code,\n installationType,\n hint,\n noUsage\n }) => {\n var _hint$help$match;\n\n return {\n blog,\n code: code || ( // Read a code from the hint\n hint ? (_hint$help$match = hint.help.match(/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})|(\\w{32})/)) === null || _hint$help$match === void 0 ? void 0 : _hint$help$match[0] : \"\") || \"\",\n installationType: installationType || \"\",\n noUsage\n };\n }),\n autoUpdates: allowsAutoUpdates,\n terms: false,\n telemetry: false,\n newsletter: false,\n firstName,\n email\n };\n const [form] = Form.useForm();\n const [showTermFields, setShowTermFields] = useState(noUsageEntries.length !== unlicensedEntries.length);\n const handleSave = useCallback(async values => {\n const {\n licenses: formLicenses,\n ...meta\n } = values;\n const newMeta = { ...meta,\n licenses: JSON.stringify(needsLicenseKeys ? // Remove all entries which are already licensed\n formLicenses.filter(({\n blog\n }) => {\n const [foundLicense] = licenses.filter(k => k.blog === blog);\n return unlicensedEntries.indexOf(foundLicense) > -1;\n }) : // The free version does not show any inputs for license keys and license activation is done by backend\n undefined)\n };\n\n try {\n await pluginUpdate.update(newMeta);\n form.setFieldsValue({\n terms: false,\n telemetry: false,\n newsletter: false\n });\n message.success(__(\"Your license has been activated!\"));\n onSave === null || onSave === void 0 ? void 0 : onSave();\n } catch (e) {\n if (!pluginUpdate.invalidKeysError) {\n message.error(e.responseJSON.message);\n } // No error needed cause it is catch trough `invalidKeysError`\n\n\n onFailure === null || onFailure === void 0 ? void 0 : onFailure();\n throw e;\n }\n }, [pluginUpdate, onSave, licenses, unlicensedEntries, needsLicenseKeys]);\n const onFinish = useCallback(async values => {\n try {\n await handleSave(values);\n } catch (e) {// Silence is golden.\n } finally {\n setForceFormValidateStatus(false);\n }\n }, [form, handleSave, setForceFormValidateStatus]);\n const onFinishFailed = useCallback(() => {\n setForceFormValidateStatus(true);\n setShowTermFields(true);\n }, []);\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, unlicensedEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, needsLicenseKeys ? __(\"Activate your %s PRO license to receive regular updates and support.\", name) : _i(__(\"To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).\", name), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), showNetworkWideUpdateIssueNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.\", name)), /*#__PURE__*/React.createElement(\"p\", null, __(\"Please enable %s network-wide or take care of regular updates manually! \", name))), /*#__PURE__*/React.createElement(Form, _extends({\n name: \"license-form-\".concat(slug),\n id: \"license-form-\".concat(slug),\n form: form\n }, PLUGIN_UPDATE_FORM_LAYOUT, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onChange: () => {\n setShowTermFields(true);\n }\n }), needsLicenseKeys && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.List, {\n name: \"licenses\"\n }, fields => fields.map((field, index) => {\n const {\n blog\n } = form.getFieldValue([\"licenses\", field.name]);\n const [foundLicense] = licenses.filter(k => k.blog === blog); // Already licensed, do not show in form again\n\n if (unlicensedEntries.indexOf(foundLicense) === -1) {\n return null;\n }\n\n const {\n busy: licenseBusy,\n blogName,\n programmatically,\n host\n } = foundLicense;\n const lastBlogPutError = invalidKeysError === null || invalidKeysError === void 0 ? void 0 : invalidKeysError[blog]; // Hints priority: Form handling, POST-Request, Hint coming from license deactivation\n\n const useHint = forceFormValidateStatus ? {} : lastBlogPutError || foundLicense.hint;\n const isLicenseMaxUsagesReached = !!(lastBlogPutError !== null && lastBlogPutError !== void 0 && lastBlogPutError.debug.errors[\"LicenseMaxUsagesReached\"]); // Modify hint for LicenseMaxUsagesReached error and show a \"Learn more tag\"\n\n let customHelp;\n\n if (typeof useHint !== \"boolean\" && isLicenseMaxUsagesReached) {\n customHelp = /*#__PURE__*/React.createElement(\"span\", null, useHint.help, \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/\")\n }));\n }\n\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: licenseBusy,\n key: field.key\n }, /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.licenses[field.key].noUsage !== nextValues.licenses[field.key].noUsage\n }, ({\n getFieldValue\n }) => {\n const noUsage = getFieldValue([\"licenses\", field.key, \"noUsage\"]);\n return /*#__PURE__*/React.createElement(Form.Item, _extends({\n label: /*#__PURE__*/React.createElement(\"span\", null, unlicensedEntries.length > 1 || showBlogName ? _i(__(\"Installation type and license key for {{strong}}%s{{/strong}}\", blogName), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }) : __(\"Installation type and license key\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: licenseKeyHelpUrl\n })),\n help: customHelp\n }, useHint, {\n required: true,\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }), !noUsage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"code\"],\n name: [field.name, \"code\"],\n noStyle: true,\n rules: [{\n // Allow UUID format and additionally a custom 32-length string\n pattern: /(^\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12}$)|(^\\w{32}$)/,\n required: true,\n message: __(\"Please enter a valid license key!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, {\n placeholder: programmatically ? programmatically.code : \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n disabled: !!programmatically,\n addonBefore: /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"installationType\"],\n name: [field.name, \"installationType\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an installation type!\")\n }]\n }, /*#__PURE__*/React.createElement(Select, {\n placeholder: __(\"Installation type\"),\n disabled: !!programmatically\n }, /*#__PURE__*/React.createElement(Select.Option, {\n value: \"\",\n disabled: true\n }, programmatically ? programmatically.type === \"development\" ? __(\"Development\") : __(\"Production\") : __(\"Select installation type…\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"production\"\n }, __(\"Production\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"development\"\n }, __(\"Development\"))))\n })), index === 0 && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, __(\"What is an installation type?\")), \" \", __(\"You can use each license in both production and development environments.\"), \" \", _i(__('Generally speaking, you use \"{{strong}}Development{{/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }))), allowNoUsage && /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"noUsage\"],\n name: [field.name, \"noUsage\"],\n valuePropName: \"checked\",\n style: {\n marginTop: noUsage ? -25 : index === 0 ? -8 : 0,\n marginBottom: 0\n }\n }, /*#__PURE__*/React.createElement(Checkbox, null, __(\"I do not want to license and use the plugin for this site within my multisite.\"))));\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link\",\n onClick: async () => {\n try {\n await foundLicense.retry();\n\n if (foundLicense.hint) {\n message.error(foundLicense.hint.help);\n }\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n }\n }, __(\"Retry activation\")))), isLicenseMaxUsagesReached && /*#__PURE__*/React.createElement(\"a\", {\n href: accountSiteUrl,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button button-primary\"\n }, __(\"Manage licenses in the customer center\")));\n })), /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n style: {\n margin: \"10px 0\"\n }\n })), modifiableEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: showTermFields ? \"block\" : \"none\"\n }\n }, /*#__PURE__*/React.createElement(PluginUpdateTermFields, {\n pluginUpdate: pluginUpdate\n })), footer))));\n});\nexport { PluginUpdateForm, PLUGIN_UPDATE_FORM_LAYOUT, PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { List, Space, Spin, message } from \"antd\";\nimport { ClockCircleOutlined, CloudServerOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \".\";\nconst PluginUpdateLicenseListItem = observer(({\n license,\n onDeactivate\n}) => {\n const {\n busy,\n installationType,\n telemetryDataSharingOptIn,\n blogName,\n code,\n remote,\n programmatically,\n host,\n blog,\n store: {\n needsLicenseKeys\n }\n } = license;\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(List.Item, {\n style: {\n paddingLeft: 0,\n paddingRight: 0\n },\n actions: [needsLicenseKeys && /*#__PURE__*/React.createElement(Space, {\n key: \"installationType\"\n }, /*#__PURE__*/React.createElement(CloudServerOutlined, null), installationType === \"production\" ? __(\"Production\") : installationType === \"development\" ? __(\"Development\") : \"n/a\"), remote && /*#__PURE__*/React.createElement(Space, {\n key: \"activatedAt\"\n }, /*#__PURE__*/React.createElement(ClockCircleOutlined, null), __(\"Activated %s\", new Date(remote.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))), /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n key: \"telemetryModal\",\n license: license,\n disabled: !telemetryDataSharingOptIn\n }, /*#__PURE__*/React.createElement(Space, {\n key: \"telemetryDataSharingOptIn\",\n style: {\n cursor: \"pointer\"\n }\n }, /*#__PURE__*/React.createElement(CloudUploadOutlined, null), telemetryDataSharingOptIn ? __(\"Telemetry data sharing enabled\") : __(\"Telemetry data sharing disabled\"))), !programmatically && /*#__PURE__*/React.createElement(\"a\", {\n key: \"deactivate\",\n className: \"button-link\",\n onClick: async () => {\n try {\n await license.deactivate();\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate(license);\n }\n }, __(\"Deactivate\"))].filter(Boolean)\n }, /*#__PURE__*/React.createElement(List.Item.Meta, {\n title: blogName,\n description: needsLicenseKeys ? /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your license key\"), \": \", /*#__PURE__*/React.createElement(\"code\", null, code)) : /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your installation is fully activated.\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: 15\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n rel: \"noreferrer\",\n href: __(\"https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/\"),\n className: \"button\",\n target: \"_blank\"\n }, __(\"Enter license key to unlock PRO features\"))))\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })))));\n});\nexport { PluginUpdateLicenseListItem };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { List, Checkbox } from \"antd\";\nimport { PluginUpdateLicenseListItem } from \".\";\nconst PluginUpdateLicenseList = observer(({\n onDeactivate,\n pluginUpdate\n}) => {\n const {\n licensedEntries\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(List, {\n itemLayout: \"vertical\",\n size: \"small\",\n dataSource: licensedEntries,\n renderItem: license => /*#__PURE__*/React.createElement(PluginUpdateLicenseListItem, {\n license: license,\n onDeactivate: onDeactivate\n })\n }), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n textAlign: \"right\"\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n disabled: pluginUpdate.busy,\n checked: pluginUpdate.announcementsActive,\n onChange: e => pluginUpdate.setAnnouncementActive(e.target.checked)\n }, __(\"Show announcements for this plugin\"))));\n});\nexport { PluginUpdateLicenseList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Spin } from \"antd\";\nimport { PluginUpdateForm, PluginUpdateLicenseList } from \".\";\nimport { _i, __ } from \"../../utils\";\nconst PluginUpdateErrorNotice = observer(({\n slug\n}) => {\n var _error$responseJSON;\n\n const error = useStores().pluginUpdateStore.pluginUpdateFetchErrors.get(slug);\n const errorMessage = error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.message;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"20px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.\", errorMessage ? \" (\".concat(errorMessage, \")\") : \"\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })));\n});\n/**\n * Embed the license form and list of activated licenses into your app.\n * Please consider, that this embed does not provide any buttons, please provide\n * them yourself with `<button form=\"license-form-$slug\"`>\n */\n\nconst PluginUpdateEmbed = observer(({\n formProps = {},\n listProps = {},\n slug\n}) => {\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = pluginUpdates.get(slug);\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n useEffect(() => {\n try {\n pluginUpdateStore.fetchPluginUpdate(slug);\n } catch (e) {// Silence is golden.\n }\n }, [slug]);\n return pluginUpdateFetchErrors.get(slug) ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: slug\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, _extends({}, formProps, {\n pluginUpdate: pluginUpdate\n })), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, _extends({}, listProps, {\n pluginUpdate: pluginUpdate\n })));\n});\nexport { PluginUpdateErrorNotice, PluginUpdateEmbed };","import { useCallback, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Modal, Spin } from \"antd\";\nimport { __ } from \"../../utils\";\nimport { PluginUpdateForm, PluginUpdateLicenseList, PluginUpdateErrorNotice } from \".\";\nconst PluginUpdateModal = observer(() => {\n const [doReloadAfterClose, setDoReloadAfterClose] = useState(false);\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n modalPlugin,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = modalPlugin ? pluginUpdates.get(modalPlugin) : undefined;\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n const handleCancel = useCallback(() => {\n if (doReloadAfterClose) {\n const {\n checkUpdateLink\n } = pluginUpdate;\n\n if (checkUpdateLink) {\n window.location.href = checkUpdateLink;\n } else {\n window.location.reload();\n }\n } else {\n pluginUpdateStore.hideModal();\n }\n }, [doReloadAfterClose, pluginUpdateStore, pluginUpdate]);\n const handleChange = useCallback(() => setDoReloadAfterClose(true), [setDoReloadAfterClose]);\n const error = pluginUpdateFetchErrors.get(modalPlugin);\n useEffect(() => {\n document.body.classList[modalPlugin ? \"add\" : \"remove\"](\"rpm-wpc-antd-modal-open\");\n }, [modalPlugin]);\n return modalPlugin ? /*#__PURE__*/React.createElement(Modal, {\n visible: true,\n okButtonProps: {\n form: \"license-form-\".concat(pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.slug),\n htmlType: \"submit\",\n style: {\n display: (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) === 0 || error ? \"none\" : undefined\n }\n },\n cancelButtonProps: {\n style: {\n display: \"none\"\n }\n },\n onCancel: handleCancel,\n okText: __(\"Save\"),\n title: pluginUpdate ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: \"normal\"\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, pluginUpdate.name, \":\"), \" \", __(\"License settings\")) : \"\",\n width: 800\n }, error ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: modalPlugin\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, {\n onSave: handleChange,\n pluginUpdate: pluginUpdate\n }), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, {\n onDeactivate: handleChange,\n pluginUpdate: pluginUpdate\n }))) : null;\n});\nexport { PluginUpdateModal };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource.\n */\nimport { render } from \"react-dom\";\nimport { message, ConfigProvider, Avatar, Card, Form, Space } from \"antd\";\nimport \"./style/antd.less\";\nimport { listenHashPluginUpdate, listenPluginDeactivation, listenPluginUpdateLinkClick } from \"./others\";\nimport { PluginUpdateModal, Provider } from \"./components\";\nimport { ready } from \"./utils\"; // Configure prefix for root (https://bit.ly/3wb2pv9)\n\nConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\nmessage.config({\n top: 50\n});\nlistenPluginDeactivation();\nready(() => {\n // Create main component for all available features (e.g. license modal)\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(PluginUpdateModal, null)), node);\n listenPluginUpdateLinkClick();\n listenHashPluginUpdate();\n});\nexport * from \"./others\";\nexport * from \"./components\";\nexport * from \"./wp-api\";\nexport * from \"./store\"; // Provide some UI elements so other plugins can use the same antd class prefix e.g. extending the update modal form\n// Currently only used for Real Media Library as it does not yet use an own class prefix\n\nexport { Avatar, Card, Form, Space };","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n } else {\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n }\n });\n }\n });\n};\n\nexport { ready };","module.exports = React;","module.exports = ReactDOM;","module.exports = mobx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(1489)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","devowlWp_utils","_class","_descriptor","OptionStore","BaseOptions","constructor","rootStore","super","this","pureSlug","pureSlugCamelCased","runInAction","Object","assign","window","prototype","observable","configurable","enumerable","writable","initializer","locationRestAnnouncementActive","path","method","RouteHttpVerb","locationRestPluginUpdatePatch","locationRestPluginUpdateSkipPost","FACTORY_MEMO","request","args","createRequestFactory","locationRestLicenseRetry","locationRestLicenseDelete","locationRestLicenseTelemetryGet","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","License","license","store","retry","flow","busy","result","location","params","slug","blogId","blog","set","e","console","log","deactivate","fetchTelemetryData","telemetryData","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","PluginUpdate","licensedEntries","licenses","filter","code","unlicensedEntries","noUsageEntries","noUsage","modifiableEntries","programmatically","isLicensed","length","pluginUpdate","setAnnouncementActive","state","success","announcementsActive","update","data","invalidKeysError","undefined","fromResponse","_e$responseJSON","_e$responseJSON$data","responseJSON","invalidKeys","skip","_e$responseJSON2","_e$responseJSON2$data","forEach","push","computed","getOwnPropertyDescriptor","action","locationRestPluginUpdateGet","PluginUpdateStore","showInModal","modalPlugin","fetchPluginUpdate","pluginUpdates","pluginUpdateFetchErrors","delete","hideModal","Map","configure","enforceActions","RootStore","context","contextMemo","createContextFactory","optionStore","pluginUpdateStore","StoreProvider","get","me","useStores","Provider","children","React","createElement","prefixCls","createLocalizationFactory","concat","__","_i","locationRestPluginFeedbackPost","FEEDBACK_FORM_LAYOUT","labelCol","span","wrapperCol","FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM","marginBottom","FeedbackModal","initialValues","plugin","name","privacyPolicy","privacyProvider","onClose","onDeactivate","reasons","useMemo","incompatible","temp","other","form","formName","visible","setVisible","useState","setBusy","handleClose","useCallback","confirm","handleFinish","async","reason","note","email","_responseJSON$data","_responseJSON$data$bo","_responseJSON$data$bo2","body","indexOf","_responseJSON$data2","_responseJSON$data2$b","_responseJSON$data2$b2","message","afterClose","onCancel","footer","key","type","onClick","className","disabled","htmlType","title","Fragment","HeartTwoTone","twoToneColor","spinning","id","onFinish","label","style","required","rules","keys","map","choice","value","width","float","noStyle","shouldUpdate","prevValues","nextValues","getFieldValue","autoSize","minRows","answerTerms","valuePropName","transform","zoom","a","href","target","rel","split","margin","marginTop","listenPluginDeactivation","document","addEventListener","names","currentUserFullName","others","link","matches","node","appendChild","render","unmountComponentAtNode","preventDefault","stopImmediatePropagation","CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE","listenPluginUpdateLinkClick","_e$target","getAttribute","HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX","listenHashPluginUpdate","hash","startsWith","substr","PluginUpdateLicenseTelemetryDataModal","linkWrapper","telemetryDataSharingOptIn","isVisible","useEffect","cancelText","okButtonProps","display","readOnly","height","JSON","stringify","textDecoration","cursor","PluginUpdateTermFields","allowsTelemetry","allowsAutoUpdates","allowsNewsletter","firstLicense","PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM","aDataExample","newsletter","LearnMoreTag","url","useStyle","open","QuestionCircleFilled","PLUGIN_UPDATE_FORM_LAYOUT","PluginUpdateForm","onSave","onFailure","forceFormValidateStatus","setForceFormValidateStatus","needsLicenseKeys","accountSiteUrl","licenseKeyHelpUrl","potentialNewsletterUser","firstName","showBlogName","showNetworkWideUpdateIssueNotice","allowNoUsage","installationType","hint","_hint$help$match","help","match","autoUpdates","terms","telemetry","showTermFields","setShowTermFields","handleSave","formLicenses","meta","values","newMeta","foundLicense","k","setFieldsValue","onFinishFailed","strong","onChange","fields","field","index","licenseBusy","blogName","host","lastBlogPutError","useHint","isLicenseMaxUsagesReached","debug","errors","customHelp","fieldKey","pattern","placeholder","addonBefore","PluginUpdateLicenseListItem","remote","paddingLeft","paddingRight","actions","CloudServerOutlined","ClockCircleOutlined","Date","licenseActivation","activatedAt","toLocaleString","documentElement","lang","CloudUploadOutlined","Boolean","description","PluginUpdateLicenseList","itemLayout","size","dataSource","renderItem","textAlign","checked","PluginUpdateErrorNotice","_error$responseJSON","error","errorMessage","PluginUpdateEmbed","formProps","listProps","showHeadline","orientation","PluginUpdateModal","doReloadAfterClose","setDoReloadAfterClose","handleCancel","checkUpdateLink","reload","handleChange","classList","cancelButtonProps","okText","fontWeight","top","fn","Promise","resolve","readyState","ready","module","exports","ReactDOM","mobx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","g","globalThis","Function","obj","prop","hasOwnProperty","call","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///external var \"devowlWp_utils\"","webpack:///./lib/store/option.tsx","webpack:///./lib/wp-api/announcementActive.post.tsx","webpack:///./lib/wp-api/pluginUpdate.patch.tsx","webpack:///./lib/wp-api/pluginUpdateSkip.post.tsx","webpack:///./lib/utils/request.tsx","webpack:///./lib/wp-api/licenseRetry.post.tsx","webpack:///./lib/wp-api/license.delete.tsx","webpack:///./lib/wp-api/licenseTelemetry.get.tsx","webpack:///./lib/models/license.tsx","webpack:///./lib/models/pluginUpdate.tsx","webpack:///./lib/wp-api/pluginUpdate.get.tsx","webpack:///./lib/store/pluginUpdateStore.tsx","webpack:///./lib/store/stores.tsx","webpack:///./lib/components/provider.tsx","webpack:///./lib/utils/i18n.tsx","webpack:///./lib/wp-api/feedback.post.tsx","webpack:///./lib/components/feedback/modal.tsx","webpack:///./lib/others/listenPluginDeactivation.tsx","webpack:///./lib/others/listenPluginUpdateLinkClick.tsx","webpack:///./lib/others/listenHashPluginUpdate.tsx","webpack:///./lib/components/pluginUpdate/licenseTelemetryDataModal.tsx","webpack:///./lib/components/pluginUpdate/form/terms.tsx","webpack:///./lib/components/learnMoreTag.tsx","webpack:///./lib/components/pluginUpdate/form/form.tsx","webpack:///./lib/components/pluginUpdate/licenseListItem.tsx","webpack:///./lib/components/pluginUpdate/licenseList.tsx","webpack:///./lib/components/pluginUpdate/embed.tsx","webpack:///./lib/components/pluginUpdate/modal.tsx","webpack:///./lib/index.tsx","webpack:///./lib/utils/ready.tsx","webpack:///external var \"React\"","webpack:///external var \"ReactDOM\"","webpack:///external var \"mobx\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = devowlWp_utils;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { observable, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nlet OptionStore = (_class = class OptionStore extends BaseOptions {\n constructor(rootStore) {\n super();\n\n _initializerDefineProperty(this, \"others\", _descriptor, this);\n\n this.pureSlug = void 0;\n this.pureSlugCamelCased = void 0;\n this.rootStore = void 0;\n this.rootStore = rootStore;\n this.pureSlug = BaseOptions.getPureSlug(process.env.slug);\n this.pureSlugCamelCased = BaseOptions.getPureSlug(process.env.slug, true); // Use the localized WP object to fill this object values.\n\n runInAction(() => Object.assign(this, window[this.pureSlugCamelCased]));\n }\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"others\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { OptionStore };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestAnnouncementActive = {\n path: \"/announcement/:slug/active\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdatePatch = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.PATCH\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateSkipPost = {\n path: \"/plugin-update/:slug/skip\",\n method: RouteHttpVerb.POST\n};","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createRequestFactory, BaseOptions } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createRequestFactory(window[BaseOptions.getPureSlug(process.env.slug, true)]);\n}\n\nconst urlBuilder = (...args) => get().urlBuilder(...args);\n\nconst request = (...args) => get().request(...args);\n\nexport { urlBuilder, request };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseRetry = {\n path: \"/plugin-update/:slug/license/:blogId/retry\",\n method: RouteHttpVerb.POST\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseDelete = {\n path: \"/plugin-update/:slug/license/:blogId\",\n method: RouteHttpVerb.DELETE\n};","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestLicenseTelemetryGet = {\n path: \"/plugin-update/:slug/telemetry/:blogId\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12;\n\nimport { observable, set, runInAction, flow } from \"mobx\";\nimport { locationRestLicenseDelete, locationRestLicenseRetry, locationRestLicenseTelemetryGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nlet License = (_class = class License {\n constructor(license, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"blog\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"host\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"programmatically\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"blogName\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"installationType\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"telemetryDataSharingOptIn\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"code\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"hint\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"remote\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"noUsage\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"telemetryData\", _descriptor12, this);\n\n this.store = void 0;\n this.retry = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseRetry,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.deactivate = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseDelete,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n set(this, result);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fetchTelemetryData = flow(function* () {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestLicenseTelemetryGet,\n params: {\n slug: this.store.slug,\n blogId: this.blog\n }\n });\n this.telemetryData = result;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n runInAction(() => set(this, license));\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"blog\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"host\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"programmatically\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"blogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"installationType\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"telemetryDataSharingOptIn\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"code\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"hint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"remote\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"noUsage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"telemetryData\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { License };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;\n\nimport { observable, set, flow, computed, action } from \"mobx\";\nimport { locationRestPluginUpdatePatch, locationRestPluginUpdateSkipPost, locationRestAnnouncementActive } from \"../wp-api\";\nimport { request } from \"../utils\";\nimport { License } from \".\";\nlet PluginUpdate = (_class = class PluginUpdate {\n get licensedEntries() {\n return this.licenses.filter(({\n code\n }) => code);\n }\n\n get unlicensedEntries() {\n return this.licenses.filter(({\n code\n }) => !code);\n }\n\n get noUsageEntries() {\n return this.unlicensedEntries.filter(({\n noUsage\n }) => noUsage);\n }\n\n get modifiableEntries() {\n return this.unlicensedEntries.filter(({\n programmatically\n }) => !programmatically);\n }\n\n get isLicensed() {\n return this.unlicensedEntries.length === 0;\n }\n\n constructor(pluginUpdate, store) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"slug\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"licenses\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"hasInteractedWithFormOnce\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"needsLicenseKeys\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"announcementsActive\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"allowsAutoUpdates\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"allowsTelemetry\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"allowsNewsletter\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"potentialNewsletterUser\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"privacyProvider\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"privacyPolicy\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"accountSiteUrl\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"licenseKeyHelpUrl\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"checkUpdateLink\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"invalidKeysError\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"showBlogName\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"showNetworkWideUpdateIssueNotice\", _descriptor19, this);\n\n this.store = void 0;\n this.setAnnouncementActive = flow(function* (state) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestAnnouncementActive,\n params: {\n slug: this.slug\n },\n request: {\n state\n }\n });\n\n if (result.success) {\n this.announcementsActive = state;\n }\n\n return result.success;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.update = flow(function* (data) {\n this.busy = true;\n this.invalidKeysError = undefined;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdatePatch,\n params: {\n slug: this.slug\n },\n request: data\n });\n this.fromResponse(result);\n } catch (e) {\n var _e$responseJSON, _e$responseJSON$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON = e.responseJSON) !== null && _e$responseJSON !== void 0 && (_e$responseJSON$data = _e$responseJSON.data) !== null && _e$responseJSON$data !== void 0 && _e$responseJSON$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeys;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.skip = flow(function* () {\n this.busy = true;\n\n try {\n yield request({\n location: locationRestPluginUpdateSkipPost,\n params: {\n slug: this.slug\n }\n });\n } catch (e) {\n var _e$responseJSON2, _e$responseJSON2$data;\n\n console.log(e); // Parse error for invalid keys\n\n if ((_e$responseJSON2 = e.responseJSON) !== null && _e$responseJSON2 !== void 0 && (_e$responseJSON2$data = _e$responseJSON2.data) !== null && _e$responseJSON2$data !== void 0 && _e$responseJSON2$data.invalidKeys) {\n this.invalidKeysError = e.responseJSON.data.invalidKeysError;\n }\n\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.fromResponse(pluginUpdate);\n this.store = store;\n }\n\n fromResponse({\n licenses,\n ...pluginUpdate\n }) {\n set(this, pluginUpdate);\n this.licenses = [];\n licenses === null || licenses === void 0 ? void 0 : licenses.forEach(license => {\n this.licenses.push(new License(license, this));\n });\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"slug\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"licenses\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"hasInteractedWithFormOnce\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"needsLicenseKeys\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"announcementsActive\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"allowsAutoUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"allowsTelemetry\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"allowsNewsletter\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"potentialNewsletterUser\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"privacyProvider\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"privacyPolicy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"accountSiteUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"licenseKeyHelpUrl\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"checkUpdateLink\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"invalidKeysError\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"showBlogName\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"showNetworkWideUpdateIssueNotice\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"licensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"licensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"unlicensedEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"unlicensedEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"noUsageEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"noUsageEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"modifiableEntries\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"modifiableEntries\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"isLicensed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"isLicensed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"fromResponse\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"fromResponse\"), _class.prototype)), _class);\nexport { PluginUpdate };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginUpdateGet = {\n path: \"/plugin-update/:slug\",\n method: RouteHttpVerb.GET\n};","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;\n\nimport { observable, flow, action } from \"mobx\";\nimport { PluginUpdate } from \"../models\";\nimport { request } from \"../utils\";\nimport { locationRestPluginUpdateGet } from \"../wp-api\";\nlet PluginUpdateStore = (_class = class PluginUpdateStore {\n constructor(rootStore) {\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"modalPlugin\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"pluginUpdates\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"pluginUpdateFetchErrors\", _descriptor4, this);\n\n this.rootStore = void 0;\n this.showInModal = flow(function* (slug) {\n this.modalPlugin = slug;\n\n try {\n yield this.fetchPluginUpdate(slug);\n } catch (e) {\n console.log(e);\n throw e;\n }\n });\n this.fetchPluginUpdate = flow(function* (slug) {\n this.busy = true;\n\n try {\n const result = yield request({\n location: locationRestPluginUpdateGet,\n params: {\n slug\n }\n });\n const pluginUpdate = new PluginUpdate(result, this);\n this.pluginUpdates.set(slug, pluginUpdate);\n this.pluginUpdateFetchErrors.delete(slug);\n return pluginUpdate;\n } catch (e) {\n console.log(e);\n this.pluginUpdateFetchErrors.set(slug, e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.rootStore = rootStore;\n }\n\n hideModal() {\n this.modalPlugin = undefined;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"modalPlugin\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdates\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"pluginUpdateFetchErrors\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"hideModal\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"hideModal\"), _class.prototype)), _class);\nexport { PluginUpdateStore };","import { configure } from \"mobx\";\nimport { createContextFactory } from \"@devowl-wp/utils\";\nimport { OptionStore, PluginUpdateStore } from \".\";\nconfigure({\n enforceActions: \"always\"\n});\n/**\n * A collection of all available stores which gets available\n * through the custom hook useStores in your function components.\n *\n * @see https://mobx.js.org/best/store.html#combining-multiple-stores\n */\n\nclass RootStore {\n get context() {\n return this.contextMemo ? this.contextMemo : this.contextMemo = createContextFactory(this);\n }\n\n constructor() {\n this.optionStore = void 0;\n this.pluginUpdateStore = void 0;\n this.contextMemo = void 0;\n this.optionStore = new OptionStore(this);\n this.pluginUpdateStore = new PluginUpdateStore(this);\n }\n\n static get StoreProvider() {\n return RootStore.get.context.StoreProvider;\n }\n\n static get get() {\n return RootStore.me ? RootStore.me : RootStore.me = new RootStore();\n }\n\n}\n\nRootStore.me = void 0;\n\nconst useStores = () => RootStore.get.context.useStores();\n\nexport { RootStore, useStores };","import { ConfigProvider } from \"antd\";\nimport { RootStore } from \"../store\";\n\nconst Provider = ({\n children\n}) => /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX\n}, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, children));\n\nexport { Provider };","/* istanbul ignore file: this file does not contain any logic, only factory calls */\nimport { createLocalizationFactory } from \"@devowl-wp/utils\"; // Only needed once per `window`\n\nlet FACTORY_MEMO;\n\nfunction get() {\n return FACTORY_MEMO ? FACTORY_MEMO : FACTORY_MEMO = createLocalizationFactory(\"\".concat(process.env.rootSlug, \"-\").concat(process.env.slug));\n}\n\nconst _n = (...args) => get()._n(...args);\n\nconst _nx = (...args) => get()._nx(...args);\n\nconst _x = (...args) => get()._x(...args);\n\nconst __ = (...args) => get().__(...args);\n\nconst _i = (...args) => get()._i(...args);\n\nexport { _n, _nx, _x, __, _i };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestPluginFeedbackPost = {\n path: \"/feedback/:slug\",\n method: RouteHttpVerb.POST\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState, useMemo } from \"react\";\nimport { Button, Modal, Form, Spin, Input, Checkbox, Radio, message, Divider } from \"antd\";\nimport { request, _i, __ } from \"../../utils\";\nimport { HeartTwoTone } from \"@ant-design/icons\";\nimport { locationRestPluginFeedbackPost } from \"../../wp-api\";\nconst FEEDBACK_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\n\nconst FeedbackModal = ({\n initialValues = {},\n plugin,\n name,\n hasAtLeastOneActiveLicense,\n isPluginActiveForNetwork,\n privacyPolicy,\n privacyProvider,\n onClose,\n onDeactivate\n}) => {\n const reasons = useMemo(() => ({\n \"upgrade-to-pro\": __(\"Upgrade to PRO Version\"),\n \"not-working\": __(\"Plugin does not work\"),\n \"missing-features\": __(\"Not the features I want\"),\n incompatible: __(\"Incompatible with themes/plugins\"),\n \"missing-doc\": __(\"Lack of documentation\"),\n \"found-better-plugin\": __(\"Found a better plugin\"),\n temp: __(\"Temporary deactivation\"),\n other: __(\"Other\")\n }), []);\n const [form] = Form.useForm();\n const formName = \"license-form-\".concat(plugin);\n const [visible, setVisible] = useState(true);\n const [busy, setBusy] = useState(false);\n const handleClose = useCallback(() => {\n if (window.confirm(__(\"Are you sure you want to leave the feedback form?\"))) {\n setVisible(false);\n }\n }, []);\n const handleFinish = useCallback(async ({\n skip = false,\n reason = \"other\",\n note = \"\",\n email = \"\",\n name = \"\",\n deactivateLicense = false\n }) => {\n try {\n setBusy(true);\n await request({\n location: locationRestPluginFeedbackPost,\n params: {\n slug: plugin\n },\n request: {\n skip,\n reason,\n note,\n email,\n name: email ? name : \"\",\n // Only send the name when an email got entered, too\n deactivateLicense\n }\n });\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n } catch (e) {\n var _responseJSON$data, _responseJSON$data$bo, _responseJSON$data$bo2;\n\n const {\n responseJSON\n } = e;\n const code = responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data = responseJSON.data) === null || _responseJSON$data === void 0 ? void 0 : (_responseJSON$data$bo = _responseJSON$data.body) === null || _responseJSON$data$bo === void 0 ? void 0 : (_responseJSON$data$bo2 = _responseJSON$data$bo[0]) === null || _responseJSON$data$bo2 === void 0 ? void 0 : _responseJSON$data$bo2.code; // Ignore some errors\n\n if ([\"DeactivationFeedbackAlreadyGiven\", \"DeactivationFeedbackMightBeSpam\"].indexOf(code) > -1 || !code) {\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n return;\n } else {\n var _responseJSON$data2, _responseJSON$data2$b, _responseJSON$data2$b2;\n\n message.error(responseJSON === null || responseJSON === void 0 ? void 0 : (_responseJSON$data2 = responseJSON.data) === null || _responseJSON$data2 === void 0 ? void 0 : (_responseJSON$data2$b = _responseJSON$data2.body) === null || _responseJSON$data2$b === void 0 ? void 0 : (_responseJSON$data2$b2 = _responseJSON$data2$b[0]) === null || _responseJSON$data2$b2 === void 0 ? void 0 : _responseJSON$data2$b2.message);\n }\n } finally {\n setBusy(false);\n }\n }, [form, plugin]);\n const handleSkip = useCallback(() => {\n const deactivateLicense = form.getFieldValue(\"deactivateLicense\");\n\n if (deactivateLicense) {\n handleFinish({\n skip: true,\n deactivateLicense\n });\n } else {\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate();\n }\n }, [handleFinish]);\n return /*#__PURE__*/React.createElement(Modal, {\n afterClose: onClose,\n onCancel: handleClose,\n visible: visible,\n footer: [/*#__PURE__*/React.createElement(Button, {\n key: \"skip\",\n type: \"default\",\n onClick: handleSkip,\n className: \"alignleft\",\n disabled: busy\n }, /*#__PURE__*/React.createElement(\"b\", null, __(\"Skip & Deactivate\"))), /*#__PURE__*/React.createElement(Button, {\n key: \"submit\",\n type: \"primary\",\n htmlType: \"submit\",\n form: formName,\n disabled: busy\n }, __(\"Deactivate\"))],\n title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeartTwoTone, {\n twoToneColor: \"#eb2f96\"\n }), \" \", __(\"Too bad you are leaving\"))\n }, /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(Form, _extends({\n name: formName,\n id: formName,\n form: form\n }, FEEDBACK_FORM_LAYOUT, {\n onFinish: handleFinish,\n initialValues: initialValues,\n layout: \"vertical\"\n }), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"reason\",\n label: /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Please give us feedback why you deactivate %s.\", name)),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please provide a reason!\")\n }]\n }, /*#__PURE__*/React.createElement(Radio.Group, null, Object.keys(reasons).map(choice => /*#__PURE__*/React.createElement(Radio, {\n key: choice,\n value: choice,\n style: {\n width: \"calc(50% - 8px)\",\n float: \"left\"\n }\n }, reasons[choice])))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.reason !== nextValues.reason\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"What could we do better?\"),\n name: \"note\",\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => !!getFieldValue(\"reason\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n name: \"email\",\n label: __(\"Email for answer/solution\"),\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n type: \"email\",\n required: getFieldValue(\"answerTerms\"),\n message: __(\"Please provide a valid e-mail address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.email !== nextValues.email\n }, ({\n getFieldValue\n }) => /*#__PURE__*/React.createElement(React.Fragment, null, !!getFieldValue(\"email\") && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"name\",\n label: __(\"Name\"),\n required: true,\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"answerTerms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: !!getFieldValue(\"email\"),\n transform: value => value || undefined,\n message: __(\"Please confirm that you have checked the privacy policy.\")\n }],\n style: FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{/a}}.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))))))))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.note !== nextValues.note || prevValues.answerTerms !== nextValues.answerTerms\n }, ({\n getFieldValue\n }) => {\n const answerTerms = getFieldValue(\"answerTerms\") || false;\n const note = getFieldValue(\"note\") || \"\";\n\n if (answerTerms) {\n return null;\n }\n\n return note.split(\" \").length >= 5 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Allow us to reply to you by email and we will get back to you as soon as possible!\"))) : /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, _i(__(\"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{/a}}.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }));\n }), hasAtLeastOneActiveLicense && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {\n style: {\n margin: \"12px 0\"\n }\n }), /*#__PURE__*/React.createElement(Form.Item, {\n style: {\n marginBottom: 0\n },\n name: \"deactivateLicense\",\n valuePropName: \"checked\",\n label: __(\"Do you want to deactivate your active license so that you can use it again on another site?\")\n }, /*#__PURE__*/React.createElement(Checkbox, null, isPluginActiveForNetwork ? __(\"Yes, deactivate all active licenses for all sites within this multisite\") : __(\"Yes, deactivate license\")))))));\n};\n\nexport { FeedbackModal };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport { FeedbackModal, Provider } from \"../components\";\nimport { RootStore } from \"../store\";\n\nfunction listenPluginDeactivation() {\n document.addEventListener(\"click\", e => {\n const {\n names,\n currentUserFullName\n } = RootStore.get.optionStore.others;\n const link = e === null || e === void 0 ? void 0 : e.target;\n\n for (const slug in names) {\n const {\n plugin,\n hasAtLeastOneActiveLicense,\n isPluginActiveForNetwork\n } = names[slug];\n\n if (link.matches(\"tr[data-plugin=\\\"\".concat(plugin, \"\\\"] a[href*=\\\"action=deactivate\\\"]\"))) {\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(FeedbackModal, _extends({}, names[slug], {\n initialValues: {\n name: currentUserFullName\n },\n plugin: slug,\n hasAtLeastOneActiveLicense: hasAtLeastOneActiveLicense,\n isPluginActiveForNetwork: isPluginActiveForNetwork,\n onClose: () => {\n unmountComponentAtNode(node);\n },\n onDeactivate: () => {\n window.location.href = link.href;\n }\n }))), node);\n e.preventDefault(); // Stop `real-utils` functionality\n\n e.stopImmediatePropagation();\n break;\n }\n }\n }, true);\n}\n\nexport { listenPluginDeactivation };","import { RootStore } from \"../store\";\nconst CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE = \"data-rpm-wp-client-plugin-update\";\n/**\n * Listen to clicks on `<a data-rpm-wp-client-license=\"\"` links and open the license modal.\n */\n\nfunction listenPluginUpdateLinkClick() {\n document.addEventListener(\"click\", e => {\n var _e$target;\n\n const plugin = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute(CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE);\n\n if (plugin) {\n RootStore.get.pluginUpdateStore.showInModal(plugin);\n e.preventDefault();\n }\n });\n}\n\nexport { listenPluginUpdateLinkClick, CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE };","import { RootStore } from \"../store\";\nconst HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX = \"rpm-wp-client-plugin-update-\";\n/**\n * Listen to window hash links and open the license modal.\n */\n\nfunction listenHashPluginUpdate() {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#\".concat(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX))) {\n const slug = hash.substr(HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX.length + 1);\n RootStore.get.pluginUpdateStore.showInModal(slug); // Reset, should not be visible in URL\n\n window.location.hash = \"\";\n }\n}\n\nexport { listenHashPluginUpdate, HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX };","import { useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { Spin, Modal } from \"antd\";\nconst PluginUpdateLicenseTelemetryDataModal = observer(({\n license,\n linkWrapper,\n disabled,\n children\n}) => {\n const {\n busy,\n telemetryData,\n telemetryDataSharingOptIn\n } = license;\n const [isVisible, setVisible] = useState(false);\n useEffect(() => {\n if (isVisible && !telemetryData) {\n license.fetchTelemetryData();\n }\n }, [isVisible, telemetryData, license]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {\n title: __(\"Telemetry data preview\"),\n visible: isVisible && !disabled,\n onCancel: () => setVisible(false),\n cancelText: __(\"Close\"),\n okButtonProps: {\n style: {\n display: \"none\"\n }\n }\n }, telemetryDataSharingOptIn && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0,\n marginBottom: 10\n }\n }, __(\"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.\")), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n marginTop: 0\n }\n }, __(\"The following data (raw) will be sent to our server:\")), /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(\"textarea\", {\n readOnly: true,\n style: {\n width: \"100%\",\n height: 300\n },\n value: telemetryData ? JSON.stringify(telemetryData, null, 4) : \"\"\n }))), /*#__PURE__*/React.createElement(\"span\", {\n onClick: () => !disabled && setVisible(true)\n }, linkWrapper ? /*#__PURE__*/React.createElement(\"a\", {\n style: {\n textDecoration: \"underline\",\n cursor: \"pointer\"\n }\n }, children) : children));\n});\nexport { PluginUpdateLicenseTelemetryDataModal };","import { Form, Input, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM } from \".\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \"..\";\nconst PluginUpdateTermFields = observer(({\n pluginUpdate\n}) => {\n const {\n privacyProvider,\n privacyPolicy,\n allowsTelemetry,\n allowsAutoUpdates,\n allowsNewsletter,\n licenses: [firstLicense]\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, allowsAutoUpdates && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"autoUpdates\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"Updates containing bug fixes and new features will be downloaded and installed automatically.\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n name: \"terms\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: value => value || undefined,\n message: __(\"Please confirm that you have read the privacy policy!\")\n }],\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{/a}} of %1$s.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), allowsTelemetry && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"telemetry\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n }),\n aDataExample: /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n license: firstLicense,\n linkWrapper: true\n })\n }))), allowsNewsletter && /*#__PURE__*/React.createElement(Form.Item, {\n name: \"newsletter\",\n valuePropName: \"checked\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }, /*#__PURE__*/React.createElement(Checkbox, {\n style: {\n zoom: 0.8\n }\n }, _i(__(\"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{/a}}. I know that I can unsubscribe from the newsletter at any time.\", privacyProvider), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: privacyPolicy,\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.newsletter !== nextValues.newsletter\n }, ({\n getFieldValue\n }) => getFieldValue(\"newsletter\") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"First name\"),\n name: \"firstName\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n required: true,\n message: __(\"Please enter your first name!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {\n label: __(\"Email\"),\n name: \"email\",\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM,\n required: true,\n rules: [{\n type: \"email\",\n required: true,\n message: __(\"Please enter your email address!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.\"))))));\n});\nexport { PluginUpdateTermFields };","import { Tag } from \"antd\";\nimport { QuestionCircleFilled } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\n\nconst LearnMoreTag = ({\n url,\n style = undefined,\n label = __(\"Learn more\")\n}) => {\n const useStyle = {\n cursor: \"pointer\",\n ...style\n };\n return /*#__PURE__*/React.createElement(Tag, {\n style: useStyle,\n onClick: () => window.open(url, \"_blank\")\n }, /*#__PURE__*/React.createElement(QuestionCircleFilled, null), \" \", label);\n};\n\nexport { LearnMoreTag };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, useState } from \"react\";\nimport { Form, Input, Select, Divider, Spin, message, Checkbox } from \"antd\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PluginUpdateTermFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nconst PLUGIN_UPDATE_FORM_LAYOUT = {\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 24\n }\n};\nconst PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM = {\n marginBottom: 8\n};\nconst PluginUpdateForm = observer(({\n onSave,\n onFailure,\n footer,\n pluginUpdate\n}) => {\n const [forceFormValidateStatus, setForceFormValidateStatus] = useState(false);\n const {\n busy,\n slug,\n allowsAutoUpdates,\n needsLicenseKeys,\n licenses,\n unlicensedEntries,\n noUsageEntries,\n modifiableEntries,\n invalidKeysError,\n accountSiteUrl,\n licenseKeyHelpUrl,\n name,\n potentialNewsletterUser: {\n firstName,\n email\n },\n showBlogName,\n showNetworkWideUpdateIssueNotice\n } = pluginUpdate;\n const allowNoUsage = licenses.length > 1; // only allow \"No usage\" within multisite\n\n const initialValues = {\n licenses: licenses.map(({\n blog,\n code,\n installationType,\n hint,\n noUsage\n }) => {\n var _hint$help$match;\n\n return {\n blog,\n code: code || ( // Read a code from the hint\n hint ? (_hint$help$match = hint.help.match(/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})|(\\w{32})/)) === null || _hint$help$match === void 0 ? void 0 : _hint$help$match[0] : \"\") || \"\",\n installationType: installationType || \"\",\n noUsage\n };\n }),\n autoUpdates: allowsAutoUpdates,\n terms: false,\n telemetry: false,\n newsletter: false,\n firstName,\n email\n };\n const [form] = Form.useForm();\n const [showTermFields, setShowTermFields] = useState(noUsageEntries.length !== unlicensedEntries.length);\n const handleSave = useCallback(async values => {\n const {\n licenses: formLicenses,\n ...meta\n } = values;\n const newMeta = { ...meta,\n licenses: JSON.stringify(needsLicenseKeys ? // Remove all entries which are already licensed\n formLicenses.filter(({\n blog\n }) => {\n const [foundLicense] = licenses.filter(k => k.blog === blog);\n return unlicensedEntries.indexOf(foundLicense) > -1;\n }) : // The free version does not show any inputs for license keys and license activation is done by backend\n undefined)\n };\n\n try {\n await pluginUpdate.update(newMeta);\n form.setFieldsValue({\n terms: false,\n telemetry: false,\n newsletter: false\n });\n message.success(__(\"Your license has been activated!\"));\n onSave === null || onSave === void 0 ? void 0 : onSave();\n } catch (e) {\n if (!pluginUpdate.invalidKeysError) {\n message.error(e.responseJSON.message);\n } // No error needed cause it is catch trough `invalidKeysError`\n\n\n onFailure === null || onFailure === void 0 ? void 0 : onFailure();\n throw e;\n }\n }, [pluginUpdate, onSave, licenses, unlicensedEntries, needsLicenseKeys]);\n const onFinish = useCallback(async values => {\n try {\n await handleSave(values);\n } catch (e) {// Silence is golden.\n } finally {\n setForceFormValidateStatus(false);\n }\n }, [form, handleSave, setForceFormValidateStatus]);\n const onFinishFailed = useCallback(() => {\n setForceFormValidateStatus(true);\n setShowTermFields(true);\n }, []);\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, unlicensedEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, needsLicenseKeys ? __(\"Activate your %s PRO license to receive regular updates and support.\", name) : _i(__(\"To use all advantages of %s {{strong}}you need a free license{{/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).\", name), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), showNetworkWideUpdateIssueNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.\", name)), /*#__PURE__*/React.createElement(\"p\", null, __(\"Please enable %s network-wide or take care of regular updates manually! \", name))), /*#__PURE__*/React.createElement(Form, _extends({\n name: \"license-form-\".concat(slug),\n id: \"license-form-\".concat(slug),\n form: form\n }, PLUGIN_UPDATE_FORM_LAYOUT, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onChange: () => {\n setShowTermFields(true);\n }\n }), needsLicenseKeys && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.List, {\n name: \"licenses\"\n }, fields => fields.map((field, index) => {\n const {\n blog\n } = form.getFieldValue([\"licenses\", field.name]);\n const [foundLicense] = licenses.filter(k => k.blog === blog); // Already licensed, do not show in form again\n\n if (unlicensedEntries.indexOf(foundLicense) === -1) {\n return null;\n }\n\n const {\n busy: licenseBusy,\n blogName,\n programmatically,\n host\n } = foundLicense;\n const lastBlogPutError = invalidKeysError === null || invalidKeysError === void 0 ? void 0 : invalidKeysError[blog]; // Hints priority: Form handling, POST-Request, Hint coming from license deactivation\n\n const useHint = forceFormValidateStatus ? {} : lastBlogPutError || foundLicense.hint;\n const isLicenseMaxUsagesReached = !!(lastBlogPutError !== null && lastBlogPutError !== void 0 && lastBlogPutError.debug.errors[\"LicenseMaxUsagesReached\"]); // Modify hint for LicenseMaxUsagesReached error and show a \"Learn more tag\"\n\n let customHelp;\n\n if (typeof useHint !== \"boolean\" && isLicenseMaxUsagesReached) {\n customHelp = /*#__PURE__*/React.createElement(\"span\", null, useHint.help, \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/the-limit-of-activated-clients-for-this-license-has-already-been-reached/\")\n }));\n }\n\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: licenseBusy,\n key: field.key\n }, /*#__PURE__*/React.createElement(Form.Item, {\n noStyle: true,\n shouldUpdate: (prevValues, nextValues) => prevValues.licenses[field.key].noUsage !== nextValues.licenses[field.key].noUsage\n }, ({\n getFieldValue\n }) => {\n const noUsage = getFieldValue([\"licenses\", field.key, \"noUsage\"]);\n return /*#__PURE__*/React.createElement(Form.Item, _extends({\n label: /*#__PURE__*/React.createElement(\"span\", null, unlicensedEntries.length > 1 || showBlogName ? _i(__(\"Installation type and license key for {{strong}}%s{{/strong}}\", blogName), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }) : __(\"Installation type and license key\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: licenseKeyHelpUrl\n })),\n help: customHelp\n }, useHint, {\n required: true,\n style: PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM\n }), !noUsage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"code\"],\n name: [field.name, \"code\"],\n noStyle: true,\n rules: [{\n // Allow UUID format and additionally a custom 32-length string\n pattern: /(^\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12}$)|(^\\w{32}$)/,\n required: true,\n message: __(\"Please enter a valid license key!\")\n }]\n }, /*#__PURE__*/React.createElement(Input, {\n placeholder: programmatically ? programmatically.code : \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n disabled: !!programmatically,\n addonBefore: /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"installationType\"],\n name: [field.name, \"installationType\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose an installation type!\")\n }]\n }, /*#__PURE__*/React.createElement(Select, {\n placeholder: __(\"Installation type\"),\n disabled: !!programmatically\n }, /*#__PURE__*/React.createElement(Select.Option, {\n value: \"\",\n disabled: true\n }, programmatically ? programmatically.type === \"development\" ? __(\"Development\") : __(\"Production\") : __(\"Select installation type…\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"production\"\n }, __(\"Production\")), /*#__PURE__*/React.createElement(Select.Option, {\n value: \"development\"\n }, __(\"Development\"))))\n })), index === 0 && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, __(\"What is an installation type?\")), \" \", __(\"You can use each license in both production and development environments.\"), \" \", _i(__('Generally speaking, you use \"{{strong}}Development{{/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }))), allowNoUsage && /*#__PURE__*/React.createElement(Form.Item, {\n fieldKey: [field.fieldKey, \"noUsage\"],\n name: [field.name, \"noUsage\"],\n valuePropName: \"checked\",\n style: {\n marginTop: noUsage ? -25 : index === 0 ? -8 : 0,\n marginBottom: 0\n }\n }, /*#__PURE__*/React.createElement(Checkbox, null, __(\"I do not want to license and use the plugin for this site within my multisite.\"))));\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link\",\n onClick: async () => {\n try {\n await foundLicense.retry();\n\n if (foundLicense.hint) {\n message.error(foundLicense.hint.help);\n }\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n }\n }, __(\"Retry activation\")))), isLicenseMaxUsagesReached && /*#__PURE__*/React.createElement(\"a\", {\n href: accountSiteUrl,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button button-primary\"\n }, __(\"Manage licenses in the customer center\")));\n })), /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n style: {\n margin: \"10px 0\"\n }\n })), modifiableEntries.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: showTermFields ? \"block\" : \"none\"\n }\n }, /*#__PURE__*/React.createElement(PluginUpdateTermFields, {\n pluginUpdate: pluginUpdate\n })), footer))));\n});\nexport { PluginUpdateForm, PLUGIN_UPDATE_FORM_LAYOUT, PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { List, Space, Spin, message } from \"antd\";\nimport { ClockCircleOutlined, CloudServerOutlined, CloudUploadOutlined } from \"@ant-design/icons\";\nimport { PluginUpdateLicenseTelemetryDataModal } from \".\";\nconst PluginUpdateLicenseListItem = observer(({\n license,\n onDeactivate\n}) => {\n const {\n busy,\n installationType,\n telemetryDataSharingOptIn,\n blogName,\n code,\n remote,\n programmatically,\n host,\n blog,\n store: {\n needsLicenseKeys\n }\n } = license;\n return /*#__PURE__*/React.createElement(Spin, {\n spinning: busy\n }, /*#__PURE__*/React.createElement(List.Item, {\n style: {\n paddingLeft: 0,\n paddingRight: 0\n },\n actions: [needsLicenseKeys && /*#__PURE__*/React.createElement(Space, {\n key: \"installationType\"\n }, /*#__PURE__*/React.createElement(CloudServerOutlined, null), installationType === \"production\" ? __(\"Production\") : installationType === \"development\" ? __(\"Development\") : \"n/a\"), remote && /*#__PURE__*/React.createElement(Space, {\n key: \"activatedAt\"\n }, /*#__PURE__*/React.createElement(ClockCircleOutlined, null), __(\"Activated %s\", new Date(remote.licenseActivation.activatedAt).toLocaleString(document.documentElement.lang))), /*#__PURE__*/React.createElement(PluginUpdateLicenseTelemetryDataModal, {\n key: \"telemetryModal\",\n license: license,\n disabled: !telemetryDataSharingOptIn\n }, /*#__PURE__*/React.createElement(Space, {\n key: \"telemetryDataSharingOptIn\",\n style: {\n cursor: \"pointer\"\n }\n }, /*#__PURE__*/React.createElement(CloudUploadOutlined, null), telemetryDataSharingOptIn ? __(\"Telemetry data sharing enabled\") : __(\"Telemetry data sharing disabled\"))), !programmatically && /*#__PURE__*/React.createElement(\"a\", {\n key: \"deactivate\",\n className: \"button-link\",\n onClick: async () => {\n try {\n await license.deactivate();\n } catch (e) {\n message.error(e.responseJSON.message);\n }\n\n onDeactivate === null || onDeactivate === void 0 ? void 0 : onDeactivate(license);\n }\n }, __(\"Deactivate\"))].filter(Boolean)\n }, /*#__PURE__*/React.createElement(List.Item.Meta, {\n title: blogName,\n description: needsLicenseKeys ? /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your license key\"), \": \", /*#__PURE__*/React.createElement(\"code\", null, code)) : /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Your installation is fully activated.\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: 15\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n rel: \"noreferrer\",\n href: __(\"https://devowl.io/knowledge-base/real-cookie-banner-upgrade-free-to-pro-version/\"),\n className: \"button\",\n target: \"_blank\"\n }, __(\"Enter license key to unlock PRO features\"))))\n }), programmatically && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info inline below-h2 notice-alt\",\n style: {\n margin: \"0 0 10px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{/a}} for host {{code}}%s{{/code}} (Blog ID: %d). Please remove the filter to deactivate the license!\", host, blog), {\n code: /*#__PURE__*/React.createElement(\"code\", null),\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://docs.devowl.io/real-cookie-banner/hooks/DevOwl_RealProductManager_License_Programmatic_$slug.html\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })))));\n});\nexport { PluginUpdateLicenseListItem };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { List, Checkbox } from \"antd\";\nimport { PluginUpdateLicenseListItem } from \".\";\nconst PluginUpdateLicenseList = observer(({\n onDeactivate,\n pluginUpdate\n}) => {\n const {\n licensedEntries\n } = pluginUpdate;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(List, {\n itemLayout: \"vertical\",\n size: \"small\",\n dataSource: licensedEntries,\n renderItem: license => /*#__PURE__*/React.createElement(PluginUpdateLicenseListItem, {\n license: license,\n onDeactivate: onDeactivate\n })\n }), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n textAlign: \"right\"\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n disabled: pluginUpdate.busy,\n checked: pluginUpdate.announcementsActive,\n onChange: e => pluginUpdate.setAnnouncementActive(e.target.checked)\n }, __(\"Show announcements for this plugin\"))));\n});\nexport { PluginUpdateLicenseList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Spin } from \"antd\";\nimport { PluginUpdateForm, PluginUpdateLicenseList } from \".\";\nimport { _i, __ } from \"../../utils\";\nconst PluginUpdateErrorNotice = observer(({\n slug\n}) => {\n var _error$responseJSON;\n\n const error = useStores().pluginUpdateStore.pluginUpdateFetchErrors.get(slug);\n const errorMessage = error === null || error === void 0 ? void 0 : (_error$responseJSON = error.responseJSON) === null || _error$responseJSON === void 0 ? void 0 : _error$responseJSON.message;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-error inline below-h2 notice-alt\",\n style: {\n margin: \"20px 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{/a}}.\", errorMessage ? \" (\".concat(errorMessage, \")\") : \"\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/\"),\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n })));\n});\n/**\n * Embed the license form and list of activated licenses into your app.\n * Please consider, that this embed does not provide any buttons, please provide\n * them yourself with `<button form=\"license-form-$slug\"`>\n */\n\nconst PluginUpdateEmbed = observer(({\n formProps = {},\n listProps = {},\n slug\n}) => {\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = pluginUpdates.get(slug);\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n useEffect(() => {\n try {\n pluginUpdateStore.fetchPluginUpdate(slug);\n } catch (e) {// Silence is golden.\n }\n }, [slug]);\n return pluginUpdateFetchErrors.get(slug) ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: slug\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, _extends({}, formProps, {\n pluginUpdate: pluginUpdate\n })), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, _extends({}, listProps, {\n pluginUpdate: pluginUpdate\n })));\n});\nexport { PluginUpdateErrorNotice, PluginUpdateEmbed };","import { useCallback, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { Divider, Modal, Spin } from \"antd\";\nimport { __ } from \"../../utils\";\nimport { PluginUpdateForm, PluginUpdateLicenseList, PluginUpdateErrorNotice } from \".\";\nconst PluginUpdateModal = observer(() => {\n const [doReloadAfterClose, setDoReloadAfterClose] = useState(false);\n const {\n pluginUpdateStore\n } = useStores();\n const {\n busy,\n modalPlugin,\n pluginUpdates,\n pluginUpdateFetchErrors\n } = pluginUpdateStore;\n const pluginUpdate = modalPlugin ? pluginUpdates.get(modalPlugin) : undefined;\n const showHeadline = (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) > 0 && (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.licensedEntries.length) > 0;\n const handleCancel = useCallback(() => {\n if (doReloadAfterClose) {\n const {\n checkUpdateLink\n } = pluginUpdate;\n\n if (checkUpdateLink) {\n window.location.href = checkUpdateLink;\n } else {\n window.location.reload();\n }\n } else {\n pluginUpdateStore.hideModal();\n }\n }, [doReloadAfterClose, pluginUpdateStore, pluginUpdate]);\n const handleChange = useCallback(() => setDoReloadAfterClose(true), [setDoReloadAfterClose]);\n const error = pluginUpdateFetchErrors.get(modalPlugin);\n useEffect(() => {\n document.body.classList[modalPlugin ? \"add\" : \"remove\"](\"rpm-wpc-antd-modal-open\");\n }, [modalPlugin]);\n return modalPlugin ? /*#__PURE__*/React.createElement(Modal, {\n visible: true,\n okButtonProps: {\n form: \"license-form-\".concat(pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.slug),\n htmlType: \"submit\",\n style: {\n display: (pluginUpdate === null || pluginUpdate === void 0 ? void 0 : pluginUpdate.unlicensedEntries.length) === 0 || error ? \"none\" : undefined\n }\n },\n cancelButtonProps: {\n style: {\n display: \"none\"\n }\n },\n onCancel: handleCancel,\n okText: __(\"Save\"),\n title: pluginUpdate ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: \"normal\"\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, pluginUpdate.name, \":\"), \" \", __(\"License settings\")) : \"\",\n width: 800\n }, error ? /*#__PURE__*/React.createElement(PluginUpdateErrorNotice, {\n slug: modalPlugin\n }) : busy || !pluginUpdate ? /*#__PURE__*/React.createElement(Spin, {\n spinning: true\n }) : /*#__PURE__*/React.createElement(\"div\", null, showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\",\n style: {\n marginTop: 0\n }\n }, __(\"Not yet licensed\")), /*#__PURE__*/React.createElement(PluginUpdateForm, {\n onSave: handleChange,\n pluginUpdate: pluginUpdate\n }), showHeadline && /*#__PURE__*/React.createElement(Divider, {\n type: \"horizontal\",\n orientation: \"left\"\n }, __(\"Already licensed\")), pluginUpdate.licensedEntries.length > 0 && /*#__PURE__*/React.createElement(PluginUpdateLicenseList, {\n onDeactivate: handleChange,\n pluginUpdate: pluginUpdate\n }))) : null;\n});\nexport { PluginUpdateModal };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource.\n */\nimport { render } from \"react-dom\";\nimport { message, ConfigProvider, Avatar, Card, Form, Space } from \"antd\";\nimport \"./style/antd.less\";\nimport { listenHashPluginUpdate, listenPluginDeactivation, listenPluginUpdateLinkClick } from \"./others\";\nimport { PluginUpdateModal, Provider } from \"./components\";\nimport { ready } from \"./utils\"; // Configure prefix for root (https://bit.ly/3wb2pv9)\n\nConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\nmessage.config({\n top: 50\n});\nlistenPluginDeactivation();\nready(() => {\n // Create main component for all available features (e.g. license modal)\n const node = document.createElement(\"div\");\n document.body.appendChild(node);\n render( /*#__PURE__*/React.createElement(Provider, null, /*#__PURE__*/React.createElement(PluginUpdateModal, null)), node);\n listenPluginUpdateLinkClick();\n listenHashPluginUpdate();\n});\nexport * from \"./others\";\nexport * from \"./components\";\nexport * from \"./wp-api\";\nexport * from \"./store\"; // Provide some UI elements so other plugins can use the same antd class prefix e.g. extending the update modal form\n// Currently only used for Real Media Library as it does not yet use an own class prefix\n\nexport { Avatar, Card, Form, Space };","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n } else {\n document.addEventListener(\"readystatechange\", () => {\n if (document.readyState === state) {\n fn === null || fn === void 0 ? void 0 : fn();\n resolve();\n }\n });\n }\n });\n};\n\nexport { ready };","module.exports = React;","module.exports = ReactDOM;","module.exports = mobx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] = self[\"webpackChunkdevowlWp_realProductManagerWpClient\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(1489)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","devowlWp_utils","_class","_descriptor","OptionStore","BaseOptions","constructor","rootStore","super","this","pureSlug","pureSlugCamelCased","runInAction","Object","assign","window","prototype","observable","configurable","enumerable","writable","initializer","locationRestAnnouncementActive","path","method","RouteHttpVerb","locationRestPluginUpdatePatch","locationRestPluginUpdateSkipPost","FACTORY_MEMO","request","args","createRequestFactory","locationRestLicenseRetry","locationRestLicenseDelete","locationRestLicenseTelemetryGet","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","License","license","store","retry","flow","busy","result","location","params","slug","blogId","blog","set","e","console","log","deactivate","fetchTelemetryData","telemetryData","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","PluginUpdate","licensedEntries","licenses","filter","code","unlicensedEntries","noUsageEntries","noUsage","modifiableEntries","programmatically","isLicensed","length","pluginUpdate","setAnnouncementActive","state","success","announcementsActive","update","data","invalidKeysError","undefined","fromResponse","_e$responseJSON","_e$responseJSON$data","responseJSON","invalidKeys","skip","_e$responseJSON2","_e$responseJSON2$data","forEach","push","computed","getOwnPropertyDescriptor","action","locationRestPluginUpdateGet","PluginUpdateStore","showInModal","modalPlugin","fetchPluginUpdate","pluginUpdates","pluginUpdateFetchErrors","delete","hideModal","Map","configure","enforceActions","RootStore","context","contextMemo","createContextFactory","optionStore","pluginUpdateStore","StoreProvider","get","me","useStores","Provider","children","React","createElement","prefixCls","createLocalizationFactory","concat","__","_i","locationRestPluginFeedbackPost","FEEDBACK_FORM_LAYOUT","labelCol","span","wrapperCol","FEEDBACK_FORM_LAYOUT_MARGIN_BOTTOM","marginBottom","FeedbackModal","initialValues","plugin","name","hasAtLeastOneActiveLicense","isPluginActiveForNetwork","privacyPolicy","privacyProvider","onClose","onDeactivate","reasons","useMemo","incompatible","temp","other","form","formName","visible","setVisible","useState","setBusy","handleClose","useCallback","confirm","handleFinish","async","reason","note","email","deactivateLicense","_responseJSON$data","_responseJSON$data$bo","_responseJSON$data$bo2","body","indexOf","_responseJSON$data2","_responseJSON$data2$b","_responseJSON$data2$b2","message","handleSkip","getFieldValue","afterClose","onCancel","footer","key","type","onClick","className","disabled","htmlType","title","Fragment","HeartTwoTone","twoToneColor","spinning","id","onFinish","layout","label","style","required","rules","keys","map","choice","value","width","float","noStyle","shouldUpdate","prevValues","nextValues","autoSize","minRows","answerTerms","valuePropName","transform","zoom","a","href","target","rel","split","margin","marginTop","listenPluginDeactivation","document","addEventListener","names","currentUserFullName","others","link","matches","node","appendChild","render","unmountComponentAtNode","preventDefault","stopImmediatePropagation","CLICK_HANDLER_PLUGIN_UPDATE_MODAL_ATTRIBUTE","listenPluginUpdateLinkClick","_e$target","getAttribute","HASH_HANDLER_PLUGIN_UPDATE_MODAL_PREFIX","listenHashPluginUpdate","hash","startsWith","substr","PluginUpdateLicenseTelemetryDataModal","linkWrapper","telemetryDataSharingOptIn","isVisible","useEffect","cancelText","okButtonProps","display","readOnly","height","JSON","stringify","textDecoration","cursor","PluginUpdateTermFields","allowsTelemetry","allowsAutoUpdates","allowsNewsletter","firstLicense","PLUGIN_UPDATE_FORM_LAYOUT_MARGIN_BOTTOM","aDataExample","newsletter","LearnMoreTag","url","useStyle","open","QuestionCircleFilled","PLUGIN_UPDATE_FORM_LAYOUT","PluginUpdateForm","onSave","onFailure","forceFormValidateStatus","setForceFormValidateStatus","needsLicenseKeys","accountSiteUrl","licenseKeyHelpUrl","potentialNewsletterUser","firstName","showBlogName","showNetworkWideUpdateIssueNotice","allowNoUsage","installationType","hint","_hint$help$match","help","match","autoUpdates","terms","telemetry","showTermFields","setShowTermFields","handleSave","formLicenses","meta","values","newMeta","foundLicense","k","setFieldsValue","onFinishFailed","strong","onChange","fields","field","index","licenseBusy","blogName","host","lastBlogPutError","useHint","isLicenseMaxUsagesReached","debug","errors","customHelp","fieldKey","pattern","placeholder","addonBefore","PluginUpdateLicenseListItem","remote","paddingLeft","paddingRight","actions","CloudServerOutlined","ClockCircleOutlined","Date","licenseActivation","activatedAt","toLocaleString","documentElement","lang","CloudUploadOutlined","Boolean","description","PluginUpdateLicenseList","itemLayout","size","dataSource","renderItem","textAlign","checked","PluginUpdateErrorNotice","_error$responseJSON","error","errorMessage","PluginUpdateEmbed","formProps","listProps","showHeadline","orientation","PluginUpdateModal","doReloadAfterClose","setDoReloadAfterClose","handleCancel","checkUpdateLink","reload","handleChange","classList","cancelButtonProps","okText","fontWeight","top","fn","Promise","resolve","readyState","ready","module","exports","ReactDOM","mobx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","o","defineProperty","g","globalThis","Function","obj","prop","hasOwnProperty","call","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_AT-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-12 09:44+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":["Willst du deine aktive Lizenz deaktivieren, damit du sie auf einer anderen Website wieder verwenden kannst?"],"Yes, deactivate all active licenses for all sites within this multisite":["Ja, deaktiviere alle aktiven Lizenzen f\u00fcr alle Sites innerhalb dieser Multisite"],"Yes, deactivate license":["Ja, Lizenz deaktivieren"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-12 09:44+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":["Willst du deine aktive Lizenz deaktivieren, damit du sie auf einer anderen Website wieder verwenden kannst?"],"Yes, deactivate all active licenses for all sites within this multisite":["Ja, deaktiviere alle aktiven Lizenzen f\u00fcr alle Sites innerhalb dieser Multisite"],"Yes, deactivate license":["Ja, Lizenz deaktivieren"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_CH_informal-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-12 09:44+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":["Willst du deine aktive Lizenz deaktivieren, damit du sie auf einer anderen Website wieder verwenden kannst?"],"Yes, deactivate all active licenses for all sites within this multisite":["Ja, deaktiviere alle aktiven Lizenzen f\u00fcr alle Sites innerhalb dieser Multisite"],"Yes, deactivate license":["Ja, Lizenz deaktivieren"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-12 09:44+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Bist du sicher, dass du das Feedback-Formular verlassen m\u00f6chtest?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate %s.":["Bitte gib uns Feedback, warum du %s deaktivierst."],"Please provide a reason!":["Bitte gib einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte gib eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte gib einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tige, dass du die Datenschutzbestimmungen zur Kenntnis genommen hast."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlaube uns, dir per E-Mail zu antworten und wir werden uns zeitnah bei dir melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir dir im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/de\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":["Willst du deine aktive Lizenz deaktivieren, damit du sie auf einer anderen Website wieder verwenden kannst?"],"Yes, deactivate all active licenses for all sites within this multisite":["Ja, deaktiviere alle aktiven Lizenzen f\u00fcr alle Sites innerhalb dieser Multisite"],"Yes, deactivate license":["Ja, Lizenz deaktivieren"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Bei der Aktivierung der Lizenz hast du zugestimmt, dass wir Telemetriedaten von deiner Installation an unseren Server senden d\u00fcrfen. Du kannst dies jederzeit widerrufen, indem du die Lizenz deaktivierst und erneut aktivierst."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tige, dass du die Datenschutzerkl\u00e4rung gelesen hast!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte gib deinen Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte gib deine E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachte, dass wir dir eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem du auf den Aktivierungslink in der E-Mail geklickt hast, erh\u00e4ltst du den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Deine Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiviere deine %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um alle Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigst du eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erh\u00e4ltst du Antworten auf Supportanfragen und Ank\u00fcndigungen in deinem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Du verwendest eine WordPress-Multisite. Aufgrund von technischen Beschr\u00e4nkungen von WordPress kann %s in WordPress-Multisites nur dann automatische Updates erhalten, wenn das Plugin netzwerkweit aktiviert ist. Du kannst das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktiviere %s netzwerkweit oder f\u00fchre regelm\u00e4\u00dfige Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte gib einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hle einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Du kannst jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwendest Du \"{{strong}}Entwicklung{{\/strong}}\", wenn Deine Seite noch nicht live ist oder es sich um eine Staging-Umgebung deiner Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwendest du, sobald deine Website \u00f6ffentlich ist. Du kannst den Installations-Typen sp\u00e4ter jederzeit \u00e4ndern, indem du die Lizenz deaktivierst und erneut aktivierst."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalte Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Dein Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Deine Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, du hast den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entferne den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass du deine WordPress-Instanz so konfiguriert hast, dass die WordPress REST API blockiert ist. Wie du damit umgehen kannst, erf\u00e4hrst du {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-de_DE_formal-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-12-01 09:30+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Sind Sie sich sicher, dass Sie das Feedback-Formular verlassen m\u00f6chten?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate %s.":["Bitte geben Sie uns Feedback, warum Sie %s deaktivieren."],"Please provide a reason!":["Bitte geben Sie einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte geben Sie eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte geben Sie einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzbestimmungen zur Kenntnis genommen haben."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlauben Sie uns, Ihnen per E-Mail zu antworten und wir werden uns zeitnah bei Ihnen melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir Ihnen im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Zum Zeitpunkt der Aktivierung der Lizenz haben Sie zugestimmt, dass wir Telemetriedaten von Ihrer Installation an unseren Server senden d\u00fcrfen. Sie k\u00f6nnen dies jederzeit widerrufen, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzerkl\u00e4rung gelesen haben!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte geben Sie Ihren Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte geben Sie Ihre E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachten Sie, dass wir Ihnen eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem Sie auf den Aktivierungslink in der E-Mail geklickt haben, erhalten Sie den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Ihre Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktivieren Sie Ihre %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um zahlreiche Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigen Sie eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erhalten Sie Antworten auf Supportanfragen und Ank\u00fcndigungen in Ihrem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Sie verwenden eine WordPress-Multisite. Aufgrund technischer Beschr\u00e4nkungen von WordPress kann %s automatische Updates in WordPress-Multisites nur erhalten, wenn das Plugin netzwerkweit aktiviert ist. Sie k\u00f6nnen das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktivieren Sie %s netzwerkweit oder f\u00fchren Sie die regelm\u00e4\u00dfigen Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte geben Sie einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hlen Sie einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Sie k\u00f6nnen jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwenden Sie \"{{strong}}Entwicklung{{\/strong}}\", wenn Ihre Seite noch nicht live ist oder es sich um eine Staging-Umgebung Ihrer Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwenden Sie, sobald Ihre Website \u00f6ffentlich ist. Sie k\u00f6nnen den Installationstyp sp\u00e4ter jederzeit \u00e4ndern, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalten Sie Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Ihr Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Ihre Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entfernen Sie den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass Sie Ihre WordPress-Instanz so konfiguriert haben, dass Sie die WordPress REST API blockiert haben. Wie Sie damit umgehen k\u00f6nnen, erfahren Sie {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
1
+ {"translation-revision-date":"2022-12-12 09:44+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin does not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with themes\/plugins":["Inkompatibel mit Themes\/Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"Other":["Anderes"],"Are you sure you want to leave the feedback form?":["Sind Sie sich sicher, dass Sie das Feedback-Formular verlassen m\u00f6chten?"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate %s.":["Bitte geben Sie uns Feedback, warum Sie %s deaktivieren."],"Please provide a reason!":["Bitte geben Sie einen Grund an!"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Email for answer\/solution":["E-Mail f\u00fcr Antwort\/L\u00f6sung"],"Please provide a valid e-mail address!":["Bitte geben Sie eine g\u00fcltige E-Mail an!"],"Name":["Name"],"Please provide a name!":["Bitte geben Sie einen Namen an!"],"Please confirm that you have checked the privacy policy.":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzbestimmungen zur Kenntnis genommen haben."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Ich w\u00fcrde gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die %s {{a}}Datenschutzerkl\u00e4rung{{\/a}} gelesen und stimme dieser zu."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Erlauben Sie uns, Ihnen per E-Mail zu antworten und wir werden uns zeitnah bei Ihnen melden!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Gibt es Probleme beim Einrichten oder bei der Benutzung des Plugins? Vielleicht k\u00f6nnen wir Ihnen im Support helfen. {{a}}Kontakt zum Support{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":["M\u00f6chten Sie Ihre aktive Lizenz deaktivieren, damit Sie sie auf einer anderen Website wieder verwenden k\u00f6nnen?"],"Yes, deactivate all active licenses for all sites within this multisite":["Ja, deaktiviere alle aktiven Lizenzen f\u00fcr alle Sites innerhalb dieser Multisite"],"Yes, deactivate license":["Ja, Lizenz deaktivieren"],"Telemetry data preview":["Vorschau der Telemetriedaten"],"Close":["Schlie\u00dfen"],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":["Zum Zeitpunkt der Aktivierung der Lizenz haben Sie zugestimmt, dass wir Telemetriedaten von Ihrer Installation an unseren Server senden d\u00fcrfen. Sie k\u00f6nnen dies jederzeit widerrufen, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"The following data (raw) will be sent to our server:":["Die folgenden Daten (Rohdaten) werden an unseren Server gesendet:"],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["Updates, die Fehlerkorrekturen und neue Funktionen enthalten, werden automatisch heruntergeladen und installiert."],"Please confirm that you have read the privacy policy!":["Bitte best\u00e4tigen Sie, dass Sie die Datenschutzerkl\u00e4rung gelesen haben!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Ich erlaube, technische Daten \u00fcber diese WordPress-Installation auf den Update-Server von %1$s zu \u00fcbertragen und aktuelle Ank\u00fcndigungen zu erhalten. Diese Daten werden f\u00fcr die Lizenzaktivierung und Update-Funktionalit\u00e4t ben\u00f6tigt. Ich habe die {{a}}Datenschutzerkl\u00e4rung{{\/a}} von %1$s gelesen."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Ich erlaube die Erhebung von Telemetrie-Daten \u00fcber die Nutzung dieses WordPress-Plugins in Einklang mit der %1$s {{a}}Datenschutzerkl\u00e4rung{{\/a}}. Diese Daten enthalten keine pers\u00f6nlichen Informationen \u00fcber die Nutzer des Plugins. Die gesammelten Daten ({{aDataExample}}Beispiel f\u00fcr \u00fcbermittelte Daten \u00f6ffnen{{\/aDataExample}}) werden verwendet, um dir den bestm\u00f6glichen Support zu bieten und das Plugin zu verbessern."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Ich m\u00f6chte den %1$s Newsletter mit WordPress News, Angeboten und Produktneuheiten (ca. 1-2 pro Monat) per E-Mail erhalten. Ich habe die %1$s {{a}}Datenschutzerkl\u00e4rung {{\/a}} gelesen. Ich wei\u00df, dass ich den Newsletter jederzeit abbestellen kann."],"First name":["Vorname"],"Please enter your first name!":["Bitte geben Sie Ihren Vornamen ein!"],"Email":["E-Mail"],"Please enter your email address!":["Bitte geben Sie Ihre E-Mail-Adresse ein!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Bitte beachten Sie, dass wir Ihnen eine E-Mail zur Best\u00e4tigung zusenden werden. Erst nachdem Sie auf den Aktivierungslink in der E-Mail geklickt haben, erhalten Sie den Newsletter."],"Learn more":["Mehr erfahren"],"Your license has been activated!":["Ihre Lizenz wurde aktiviert!"],"Activate your %s PRO license to receive regular updates and support.":["Aktivieren Sie Ihre %s PRO Lizenz, um regelm\u00e4\u00dfige Updates und Support zu erhalten."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["Um zahlreiche Vorteile von %s nutzen zu k\u00f6nnen, {{strong}}ben\u00f6tigen Sie eine kostenlose Lizenz{{\/strong}}. Nach der Lizenzaktivierung erhalten Sie Antworten auf Supportanfragen und Ank\u00fcndigungen in Ihrem Plugin (z.B. auch Hinweise auf Rabattaktionen der PRO-Version)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":["Sie verwenden eine WordPress-Multisite. Aufgrund technischer Beschr\u00e4nkungen von WordPress kann %s automatische Updates in WordPress-Multisites nur erhalten, wenn das Plugin netzwerkweit aktiviert ist. Sie k\u00f6nnen das Plugin netzwerkweit aktivieren, es aber trotzdem nur f\u00fcr bestimmte Websites lizenzieren."],"Please enable %s network-wide or take care of regular updates manually! ":["Bitte aktivieren Sie %s netzwerkweit oder f\u00fchren Sie die regelm\u00e4\u00dfigen Updates manuell durch! "],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/das-limit-der-aktivierten-clients-fuer-diese-lizenz-wurde-bereits-erreicht\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["Installationstyp und Lizenzschl\u00fcssel f\u00fcr {{strong}}%s{{\/strong}}"],"Installation type and license key":["Installationstyp und Lizenzschl\u00fcssel"],"Please enter a valid license key!":["Bitte geben Sie einen g\u00fcltigen Lizenzschl\u00fcssel ein!"],"Please choose an installation type!":["Bitte w\u00e4hlen Sie einen Installationstyp!"],"Installation type":["Installationstyp"],"Development":["Entwicklung"],"Production":["Produktion"],"Select installation type\u2026":["Installationstyp ausw\u00e4hlen\u2026"],"What is an installation type?":["Was ist ein Installationstyp?"],"You can use each license in both production and development environments.":["Sie k\u00f6nnen jede Lizenz sowohl in Produktions- als auch in Entwicklungsumgebungen verwenden."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["Allgemein gesprochen verwenden Sie \"{{strong}}Entwicklung{{\/strong}}\", wenn Ihre Seite noch nicht live ist oder es sich um eine Staging-Umgebung Ihrer Website handelt. \"{{strong}}Produktion{{\/strong}}\" verwenden Sie, sobald Ihre Website \u00f6ffentlich ist. Sie k\u00f6nnen den Installationstyp sp\u00e4ter jederzeit \u00e4ndern, indem Sie die Lizenz deaktivieren und erneut aktivieren."],"I do not want to license and use the plugin for this site within my multisite.":["Ich m\u00f6chte das Plugin nicht f\u00fcr diese Website innerhalb meiner Multisite lizenzieren und verwenden."],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Diese Lizenz kann nicht manuell aktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Leider ist bei der Aktivierung der Lizenz etwas schiefgelaufen."],"Retry activation":["Aktivierung wiederholen"],"Manage licenses in the customer center":["Verwalten Sie Lizenzen im Kundencenter"],"Activated %s":["%s aktiviert"],"Telemetry data sharing enabled":["Teilen von Telemetrie-Daten aktiviert"],"Telemetry data sharing disabled":["Teilen von Telemetrie-Daten deaktiviert"],"Your license key":["Ihr Lizenzschl\u00fcssel"],"Your installation is fully activated.":["Ihre Installation ist vollst\u00e4ndig aktiviert."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/real-cookie-banner-upgrade-kostenlose-auf-pro-version\/"],"Enter license key to unlock PRO features":["Lizenzschl\u00fcssel eingeben, um PRO-Funktionen freizuschalten"],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Diese Lizenz kann nicht manuell deaktiviert werden, da sie programmatisch konfiguriert ist. Das hei\u00dft, Sie haben den {{a}}Aktivierungsfilter{{\/a}} f\u00fcr den Host {{code}}%s{{\/code}} (Blog-ID: %d) verwendet. Bitte entfernen Sie den Filter, um die Lizenz zu deaktivieren!"],"Show announcements for this plugin":["Ank\u00fcndigungen f\u00fcr dieses Plugin anzeigen"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":["Etwas ist schiefgelaufen%s. Es k\u00f6nnte sein, dass Sie Ihre WordPress-Instanz so konfiguriert haben, dass Sie die WordPress REST API blockiert haben. Wie Sie damit umgehen k\u00f6nnen, erfahren Sie {{a}}hier{{\/a}}."],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/de\/wissensdatenbank\/wordpress-rest-api-antwortet-nicht\/"],"Not yet licensed":["Noch nicht lizenziert"],"Already licensed":["Bereits lizenziert"],"Save":["Speichern"],"License settings":["Lizenzeinstellungen"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-hu_HU-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-04-04 12:35+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"hu_HU","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Friss\u00edt\u00e9s a PRO verzi\u00f3ra"],"Plugin does not work":["A b\u0151v\u00edtm\u00e9ny nem m\u0171k\u00f6dik"],"Not the features I want":["Nem azokat a funkci\u00f3kat, amelyeket szeretn\u00e9k"],"Incompatible with themes\/plugins":["Nem kompatibilis a t\u00e9m\u00e1kkal\/b\u0151v\u00edtm\u00e9nyekkel"],"Lack of documentation":["A dokument\u00e1ci\u00f3 hi\u00e1nya"],"Found a better plugin":["Tal\u00e1ltam egy jobb b\u0151v\u00edtm\u00e9nyt"],"Temporary deactivation":["Ideiglenes deaktiv\u00e1l\u00e1s"],"Other":["M\u00e1s"],"Are you sure you want to leave the feedback form?":["Biztosan elhagyja a visszajelz\u00e9si \u0171rlapot?"],"Skip & Deactivate":["Kihagy\u00e1s \u00e9s deaktiv\u00e1l\u00e1s"],"Deactivate":["Deaktiv\u00e1l\u00e1s"],"Too bad you are leaving":["K\u00e1r, hogy elmegy"],"Please give us feedback why you deactivate %s.":["K\u00e9rj\u00fck, adjon visszajelz\u00e9st, hogy mi\u00e9rt deaktiv\u00e1lja a %s b\u0151v\u00edtm\u00e9nyt."],"Please provide a reason!":["K\u00e9rj\u00fck, indokolja meg!"],"What could we do better?":["Mit csin\u00e1lhatn\u00e1nk jobban?"],"Email for answer\/solution":["E-mail a v\u00e1lasz\u00e9rt\/megold\u00e1s\u00e9rt"],"Please provide a valid e-mail address!":["K\u00e9rj\u00fck, val\u00f3s email c\u00edmet adjon meg!"],"Name":["N\u00e9v"],"Please provide a name!":["K\u00e9rem adjon meg nevet!"],"Please confirm that you have checked the privacy policy.":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Szeretn\u00e9k v\u00e1laszt kapni k\u00e9r\u00e9semre. E c\u00e9lb\u00f3l hozz\u00e1j\u00e1rulok visszajelz\u00e9sem \u00e9s e-mail c\u00edmem adatkezel\u00e9s\u00e9hez. Elolvastam \u00e9s tudom\u00e1sul vettem a %s {{a}}Adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Engedje meg, hogy e-mailben v\u00e1laszoljunk, \u00e9s a lehet\u0151 leghamarabb felvessz\u00fck \u00d6nnel a kapcsolatot!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Probl\u00e9m\u00e1k vannak a b\u0151v\u00edtm\u00e9ny be\u00e1ll\u00edt\u00e1s\u00e1val vagy haszn\u00e1lat\u00e1val? Tal\u00e1n tudunk seg\u00edteni a t\u00e1mogat\u00e1sban. {{a}}Kapcsolatfelv\u00e9tel az \u00fcgyf\u00e9lszolg\u00e1lattal{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["A hibajav\u00edt\u00e1sokat \u00e9s \u00faj funkci\u00f3kat tartalmaz\u00f3 friss\u00edt\u00e9sek let\u00f6lt\u00e9se \u00e9s telep\u00edt\u00e9se automatikusan megt\u00f6rt\u00e9nik."],"Please confirm that you have read the privacy policy!":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Enged\u00e9lyezem a WordPress telep\u00edt\u00e9s\u00e9vel kapcsolatos m\u0171szaki adatok k\u00fcld\u00e9s\u00e9t a %1$ friss\u00edt\u00e9si szerver\u00e9re, \u00e9s megkapom a leg\u00fajabb \u00e9rtes\u00edt\u00e9seket. Ezek az adatok a licenc aktiv\u00e1l\u00e1s\u00e1hoz \u00e9s a friss\u00edt\u00e9si funkci\u00f3khoz sz\u00fcks\u00e9gesek. Elolvastam \u00e9s tudom\u00e1sul vettem a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Enged\u00e9lyezem a WordPress b\u0151v\u00edtm\u00e9ny haszn\u00e1lat\u00e1val kapcsolatos telemetriai adatok gy\u0171jt\u00e9s\u00e9t a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveinek{{\/a}} megfelel\u0151en. Ezek az adatok nem tartalmaznak semmilyen szem\u00e9lyes inform\u00e1ci\u00f3t a b\u0151v\u00edtm\u00e9ny felhaszn\u00e1l\u00f3ir\u00f3l. Az \u00f6sszegy\u0171jt\u00f6tt adatokat a lehet\u0151 legjobb t\u00e1mogat\u00e1s \u00e9s a b\u0151v\u00edtm\u00e9ny fejleszt\u00e9se \u00e9rdek\u00e9ben haszn\u00e1ljuk fel."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Szeretn\u00e9m megkapni a %1$ h\u00edrlevelet WordPress h\u00edrekkel, \u00e9rt\u00e9kes\u00edt\u00e9ssel \u00e9s term\u00e9kaj\u00e1nlatokkal (kb. 1-2 havonta) e-mailben. Elolvastam a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}, \u00e9s elfogadom azt. Tudom, hogy a h\u00edrlev\u00e9lr\u0151l b\u00e1rmikor leiratkozhatok."],"First name":["Vezet\u00e9kn\u00e9v"],"Please enter your first name!":["K\u00e9rj\u00fck, adja meg a keresztnev\u00e9t!"],"Email":["Email"],"Please enter your email address!":["K\u00e9rj\u00fck, adja meg e-mail c\u00edm\u00e9t!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Felh\u00edvjuk figyelm\u00e9t, hogy visszaigazol\u00f3 e-mailt k\u00fcld\u00fcnk \u00d6nnek. Csak akkor kapja meg a h\u00edrlevelet, ha az e-mailben tal\u00e1lhat\u00f3 aktiv\u00e1l\u00f3 linkre kattintott."],"Learn more":["Tudj meg t\u00f6bbet"],"Your license has been activated!":["A licence aktiv\u00e1lva lett!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiv\u00e1lja % PRO licenc\u00e9t, hogy rendszeres friss\u00edt\u00e9seket \u00e9s t\u00e1mogat\u00e1st kapjon."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["A %s \u00f6sszes el\u0151ny\u00e9nek kihaszn\u00e1l\u00e1s\u00e1hoz {{strong}}ingyenes licenc sz\u00fcks\u00e9ges{{\/strong}}. A licenc aktiv\u00e1l\u00e1sa ut\u00e1n v\u00e1laszokat kap a t\u00e1mogat\u00e1si k\u00e9r\u00e9sekre \u00e9s bejelent\u00e9sekre a b\u0151v\u00edtm\u00e9ny\u00e9ben (p\u00e9ld\u00e1ul \u00e9rtes\u00edt\u00e9seket a PRO verzi\u00f3 kedvezm\u00e9nyes akci\u00f3ir\u00f3l)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["A(z) {{strong}}%s{{\/strong}} telep\u00edt\u00e9si t\u00edpusa \u00e9s licenckulcsa"],"Installation type and license key":["A telep\u00edt\u00e9s t\u00edpusa \u00e9s licenckulcsa"],"Please enter a valid license key!":["K\u00e9r\u00fck adjon meg egy \u00e9rv\u00e9nyes licenckulcsot!"],"Please choose an installation type!":["K\u00e9rj\u00fck, v\u00e1lasszon telep\u00edt\u00e9si m\u00f3dot!"],"Installation type":["Telep\u00edt\u00e9s t\u00edpusa"],"Development":["Fejleszt\u00e9s"],"Production":["Produkci\u00f3"],"Select installation type\u2026":["V\u00e1lassza ki a telep\u00edt\u00e9s t\u00edpus\u00e1t\u2026"],"What is an installation type?":["Mi a telep\u00edt\u00e9s t\u00edpusa?"],"You can use each license in both production and development environments.":["Az egyes licenceket \u00e9les \u00e9s fejleszt\u0151i k\u00f6rnyezetben egyar\u00e1nt haszn\u00e1lhatja."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u00c1ltal\u00e1noss\u00e1gban elmondhat\u00f3, hogy a \u201e{{strong}}Fejleszt\u00e9s{{\/strong}}\u201d kifejez\u00e9st akkor haszn\u00e1lja, ha webhelye m\u00e9g nem \u00e9l, vagy a webhely \u00e1tmeneti k\u00f6rnyezetben \u00fczemel. A \u201e{{strong}}Produkci\u00f3{{\/strong}}\u201d az, amit akkor haszn\u00e1l, ha webhelye akt\u00edv. B\u00e1rmikor megv\u00e1ltoztathatja a telep\u00edt\u00e9s t\u00edpus\u00e1t a licenc deaktiv\u00e1l\u00e1s\u00e1val, majd \u00fajb\u00f3li aktiv\u00e1l\u00e1s\u00e1val."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Ez a licenc nem aktiv\u00e1lhat\u00f3 manu\u00e1lisan, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. Sajnos hiba t\u00f6rt\u00e9nt a licenc aktiv\u00e1l\u00e1sakor."],"Retry activation":["Aktiv\u00e1l\u00e1s \u00fajrapr\u00f3b\u00e1l\u00e1sa"],"Manage licenses in the customer center":["Licencek kezel\u00e9se az \u00fcgyf\u00e9lk\u00f6zpontban"],"Activated %s":["Aktiv\u00e1lva: %s"],"Telemetry data sharing enabled":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Telemetry data sharing disabled":["A telemetriai adatmegoszt\u00e1s letiltva"],"Your license key":["Az \u00d6n licenckulcsa"],"Your installation is fully activated.":["A telep\u00edt\u00e9s sikeresen aktiv\u00e1lva van."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":[""],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Ezt a licencet nem lehet manu\u00e1lisan deaktiv\u00e1lni, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. A licenc inaktiv\u00e1l\u00e1s\u00e1hoz t\u00e1vol\u00edtsa el a sz\u0171r\u0151t!"],"Show announcements for this plugin":["Bejelent\u00e9sek megjelen\u00edt\u00e9se ehhez a b\u0151v\u00edtm\u00e9nyhez"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":[""],"Not yet licensed":[""],"Already licensed":[""],"Save":["Ment\u00e9s"],"License settings":["Licencbe\u00e1ll\u00edt\u00e1sok"]}}}
1
+ {"translation-revision-date":"2022-04-04 12:35+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"hu_HU","plural-forms":"nplurals=2; plural=n != 1;"},"Upgrade to PRO Version":["Friss\u00edt\u00e9s a PRO verzi\u00f3ra"],"Plugin does not work":["A b\u0151v\u00edtm\u00e9ny nem m\u0171k\u00f6dik"],"Not the features I want":["Nem azokat a funkci\u00f3kat, amelyeket szeretn\u00e9k"],"Incompatible with themes\/plugins":["Nem kompatibilis a t\u00e9m\u00e1kkal\/b\u0151v\u00edtm\u00e9nyekkel"],"Lack of documentation":["A dokument\u00e1ci\u00f3 hi\u00e1nya"],"Found a better plugin":["Tal\u00e1ltam egy jobb b\u0151v\u00edtm\u00e9nyt"],"Temporary deactivation":["Ideiglenes deaktiv\u00e1l\u00e1s"],"Other":["M\u00e1s"],"Are you sure you want to leave the feedback form?":["Biztosan elhagyja a visszajelz\u00e9si \u0171rlapot?"],"Skip & Deactivate":["Kihagy\u00e1s \u00e9s deaktiv\u00e1l\u00e1s"],"Deactivate":["Deaktiv\u00e1l\u00e1s"],"Too bad you are leaving":["K\u00e1r, hogy elmegy"],"Please give us feedback why you deactivate %s.":["K\u00e9rj\u00fck, adjon visszajelz\u00e9st, hogy mi\u00e9rt deaktiv\u00e1lja a %s b\u0151v\u00edtm\u00e9nyt."],"Please provide a reason!":["K\u00e9rj\u00fck, indokolja meg!"],"What could we do better?":["Mit csin\u00e1lhatn\u00e1nk jobban?"],"Email for answer\/solution":["E-mail a v\u00e1lasz\u00e9rt\/megold\u00e1s\u00e9rt"],"Please provide a valid e-mail address!":["K\u00e9rj\u00fck, val\u00f3s email c\u00edmet adjon meg!"],"Name":["N\u00e9v"],"Please provide a name!":["K\u00e9rem adjon meg nevet!"],"Please confirm that you have checked the privacy policy.":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["Szeretn\u00e9k v\u00e1laszt kapni k\u00e9r\u00e9semre. E c\u00e9lb\u00f3l hozz\u00e1j\u00e1rulok visszajelz\u00e9sem \u00e9s e-mail c\u00edmem adatkezel\u00e9s\u00e9hez. Elolvastam \u00e9s tudom\u00e1sul vettem a %s {{a}}Adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["Engedje meg, hogy e-mailben v\u00e1laszoljunk, \u00e9s a lehet\u0151 leghamarabb felvessz\u00fck \u00d6nnel a kapcsolatot!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["Probl\u00e9m\u00e1k vannak a b\u0151v\u00edtm\u00e9ny be\u00e1ll\u00edt\u00e1s\u00e1val vagy haszn\u00e1lat\u00e1val? Tal\u00e1n tudunk seg\u00edteni a t\u00e1mogat\u00e1sban. {{a}}Kapcsolatfelv\u00e9tel az \u00fcgyf\u00e9lszolg\u00e1lattal{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":[""],"Yes, deactivate all active licenses for all sites within this multisite":[""],"Yes, deactivate license":[""],"Telemetry data preview":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["A hibajav\u00edt\u00e1sokat \u00e9s \u00faj funkci\u00f3kat tartalmaz\u00f3 friss\u00edt\u00e9sek let\u00f6lt\u00e9se \u00e9s telep\u00edt\u00e9se automatikusan megt\u00f6rt\u00e9nik."],"Please confirm that you have read the privacy policy!":["K\u00e9rj\u00fck, er\u0151s\u00edtse meg, hogy elolvasta az adatv\u00e9delmi szab\u00e1lyzatot!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["Enged\u00e9lyezem a WordPress telep\u00edt\u00e9s\u00e9vel kapcsolatos m\u0171szaki adatok k\u00fcld\u00e9s\u00e9t a %1$ friss\u00edt\u00e9si szerver\u00e9re, \u00e9s megkapom a leg\u00fajabb \u00e9rtes\u00edt\u00e9seket. Ezek az adatok a licenc aktiv\u00e1l\u00e1s\u00e1hoz \u00e9s a friss\u00edt\u00e9si funkci\u00f3khoz sz\u00fcks\u00e9gesek. Elolvastam \u00e9s tudom\u00e1sul vettem a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["Enged\u00e9lyezem a WordPress b\u0151v\u00edtm\u00e9ny haszn\u00e1lat\u00e1val kapcsolatos telemetriai adatok gy\u0171jt\u00e9s\u00e9t a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveinek{{\/a}} megfelel\u0151en. Ezek az adatok nem tartalmaznak semmilyen szem\u00e9lyes inform\u00e1ci\u00f3t a b\u0151v\u00edtm\u00e9ny felhaszn\u00e1l\u00f3ir\u00f3l. Az \u00f6sszegy\u0171jt\u00f6tt adatokat a lehet\u0151 legjobb t\u00e1mogat\u00e1s \u00e9s a b\u0151v\u00edtm\u00e9ny fejleszt\u00e9se \u00e9rdek\u00e9ben haszn\u00e1ljuk fel."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["Szeretn\u00e9m megkapni a %1$ h\u00edrlevelet WordPress h\u00edrekkel, \u00e9rt\u00e9kes\u00edt\u00e9ssel \u00e9s term\u00e9kaj\u00e1nlatokkal (kb. 1-2 havonta) e-mailben. Elolvastam a %1$ {{a}}adatv\u00e9delmi ir\u00e1nyelveit{{\/a}}, \u00e9s elfogadom azt. Tudom, hogy a h\u00edrlev\u00e9lr\u0151l b\u00e1rmikor leiratkozhatok."],"First name":["Vezet\u00e9kn\u00e9v"],"Please enter your first name!":["K\u00e9rj\u00fck, adja meg a keresztnev\u00e9t!"],"Email":["Email"],"Please enter your email address!":["K\u00e9rj\u00fck, adja meg e-mail c\u00edm\u00e9t!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["Felh\u00edvjuk figyelm\u00e9t, hogy visszaigazol\u00f3 e-mailt k\u00fcld\u00fcnk \u00d6nnek. Csak akkor kapja meg a h\u00edrlevelet, ha az e-mailben tal\u00e1lhat\u00f3 aktiv\u00e1l\u00f3 linkre kattintott."],"Learn more":["Tudj meg t\u00f6bbet"],"Your license has been activated!":["A licence aktiv\u00e1lva lett!"],"Activate your %s PRO license to receive regular updates and support.":["Aktiv\u00e1lja % PRO licenc\u00e9t, hogy rendszeres friss\u00edt\u00e9seket \u00e9s t\u00e1mogat\u00e1st kapjon."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["A %s \u00f6sszes el\u0151ny\u00e9nek kihaszn\u00e1l\u00e1s\u00e1hoz {{strong}}ingyenes licenc sz\u00fcks\u00e9ges{{\/strong}}. A licenc aktiv\u00e1l\u00e1sa ut\u00e1n v\u00e1laszokat kap a t\u00e1mogat\u00e1si k\u00e9r\u00e9sekre \u00e9s bejelent\u00e9sekre a b\u0151v\u00edtm\u00e9ny\u00e9ben (p\u00e9ld\u00e1ul \u00e9rtes\u00edt\u00e9seket a PRO verzi\u00f3 kedvezm\u00e9nyes akci\u00f3ir\u00f3l)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["A(z) {{strong}}%s{{\/strong}} telep\u00edt\u00e9si t\u00edpusa \u00e9s licenckulcsa"],"Installation type and license key":["A telep\u00edt\u00e9s t\u00edpusa \u00e9s licenckulcsa"],"Please enter a valid license key!":["K\u00e9r\u00fck adjon meg egy \u00e9rv\u00e9nyes licenckulcsot!"],"Please choose an installation type!":["K\u00e9rj\u00fck, v\u00e1lasszon telep\u00edt\u00e9si m\u00f3dot!"],"Installation type":["Telep\u00edt\u00e9s t\u00edpusa"],"Development":["Fejleszt\u00e9s"],"Production":["Produkci\u00f3"],"Select installation type\u2026":["V\u00e1lassza ki a telep\u00edt\u00e9s t\u00edpus\u00e1t\u2026"],"What is an installation type?":["Mi a telep\u00edt\u00e9s t\u00edpusa?"],"You can use each license in both production and development environments.":["Az egyes licenceket \u00e9les \u00e9s fejleszt\u0151i k\u00f6rnyezetben egyar\u00e1nt haszn\u00e1lhatja."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u00c1ltal\u00e1noss\u00e1gban elmondhat\u00f3, hogy a \u201e{{strong}}Fejleszt\u00e9s{{\/strong}}\u201d kifejez\u00e9st akkor haszn\u00e1lja, ha webhelye m\u00e9g nem \u00e9l, vagy a webhely \u00e1tmeneti k\u00f6rnyezetben \u00fczemel. A \u201e{{strong}}Produkci\u00f3{{\/strong}}\u201d az, amit akkor haszn\u00e1l, ha webhelye akt\u00edv. B\u00e1rmikor megv\u00e1ltoztathatja a telep\u00edt\u00e9s t\u00edpus\u00e1t a licenc deaktiv\u00e1l\u00e1s\u00e1val, majd \u00fajb\u00f3li aktiv\u00e1l\u00e1s\u00e1val."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["Ez a licenc nem aktiv\u00e1lhat\u00f3 manu\u00e1lisan, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. Sajnos hiba t\u00f6rt\u00e9nt a licenc aktiv\u00e1l\u00e1sakor."],"Retry activation":["Aktiv\u00e1l\u00e1s \u00fajrapr\u00f3b\u00e1l\u00e1sa"],"Manage licenses in the customer center":["Licencek kezel\u00e9se az \u00fcgyf\u00e9lk\u00f6zpontban"],"Activated %s":["Aktiv\u00e1lva: %s"],"Telemetry data sharing enabled":["Telemetriai adatmegoszt\u00e1s enged\u00e9lyezve"],"Telemetry data sharing disabled":["A telemetriai adatmegoszt\u00e1s letiltva"],"Your license key":["Az \u00d6n licenckulcsa"],"Your installation is fully activated.":["A telep\u00edt\u00e9s sikeresen aktiv\u00e1lva van."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":[""],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["Ezt a licencet nem lehet manu\u00e1lisan deaktiv\u00e1lni, mert programozottan van konfigur\u00e1lva. Ez azt jelenti, hogy az {{a}}aktiv\u00e1ci\u00f3s sz\u0171r\u0151t{{\/a}} haszn\u00e1lta a(z) {{code}}%s{{\/code}} (Blog ID: %d) hoszthoz. A licenc inaktiv\u00e1l\u00e1s\u00e1hoz t\u00e1vol\u00edtsa el a sz\u0171r\u0151t!"],"Show announcements for this plugin":["Bejelent\u00e9sek megjelen\u00edt\u00e9se ehhez a b\u0151v\u00edtm\u00e9nyhez"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":[""],"Not yet licensed":[""],"Already licensed":[""],"Save":["Ment\u00e9s"],"License settings":["Licencbe\u00e1ll\u00edt\u00e1sok"]}}}
vendor/devowl-wp/real-product-manager-wp-client/languages/frontend/json/real-product-manager-wp-client-ru_RU-168726dbe96b3ce427e7fedce31bb0bc.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2022-07-06 06:05+0000","generator":"WP-CLI\/2.7.0","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin does not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with themes\/plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"Are you sure you want to leave the feedback form?":["\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438?"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate %s.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 %s."],"Please provide a reason!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443!"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Email for answer\/solution":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f"],"Please provide a valid e-mail address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b!"],"Name":["\u0418\u043c\u044f"],"Please provide a name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043c\u044f!"],"Please confirm that you have checked the privacy policy.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u043c\u043e\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043d\u0430\u043c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u0432\u0430\u043c \u043f\u043e email, \u0438 \u043c\u044b \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["\u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430? \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u0448\u0430 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c. {{a}}\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Telemetry data preview":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438."],"Please confirm that you have read the privacy policy!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 WordPress \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 %1$s \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} %1$s."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u0438 (\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430) WordPress \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}}. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0439 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 %1$s \u0441 \u043d\u043e\u0432\u043e\u0441\u0442\u044f\u043c\u0438 WordPress, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1-2 \u0440\u0430\u0437\u0430 \u0432 \u043c\u0435\u0441\u044f\u0446) \u043d\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439. \u042f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043c\u043e\u0433\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f."],"First name":["\u0418\u043c\u044f"],"Please enter your first name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0438\u043c\u044f!"],"Email":["Email"],"Please enter your email address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 email!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0432\u0430\u043c email \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0432 email, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443."],"Learn more":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435"],"Your license has been activated!":["\u0412\u0430\u0448\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430!"],"Activate your %s PRO license to receive regular updates and support.":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e %s PRO, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 %s {{strong}}, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f{{\/strong}}. \u041f\u043e\u0441\u043b\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u043a\u0438\u0434\u043e\u0447\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 PRO-\u0432\u0435\u0440\u0441\u0438\u0438)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f {{strong}}%s{{\/strong}}"],"Installation type and license key":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Please enter a valid license key!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447!"],"Please choose an installation type!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438!"],"Installation type":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"],"Development":["\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430"],"Production":["\u0420\u0430\u0431\u043e\u0447\u0430\u044f"],"Select installation type\u2026":["\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\u2026"],"What is an installation type?":["\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438?"],"You can use each license in both production and development environments.":["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \"{{strong}}Development{{\/strong}}\", \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \"{{strong}}Production{{\/strong}}\" - \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0435 \u0441\u043d\u043e\u0432\u0430."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (Blog ID: %d). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a."],"Retry activation":["\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f"],"Manage licenses in the customer center":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432"],"Activated %s":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e %s"],"Telemetry data sharing enabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Telemetry data sharing disabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Your license key":["\u0412\u0430\u0448 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Your installation is fully activated.":["\u0412\u0430\u0448\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (ID \u0431\u043b\u043e\u0433\u0430: %d). \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438!"],"Show announcements for this plugin":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Not yet licensed":[""],"Already licensed":[""],"Save":["\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"],"License settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438"]}}}
1
+ {"translation-revision-date":"2022-07-06 06:05+0000","generator":"WP-CLI\/2.7.1","source":"index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin does not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with themes\/plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"Are you sure you want to leave the feedback form?":["\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438?"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate %s.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 %s."],"Please provide a reason!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0443!"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Email for answer\/solution":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f"],"Please provide a valid e-mail address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b!"],"Name":["\u0418\u043c\u044f"],"Please provide a name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0438\u043c\u044f!"],"Please confirm that you have checked the privacy policy.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438."],"I would like to receive a response to my request. For this purpose, I agree to the data processing of my feedback and my e-mail address. I have read and acknowledge the %s {{a}}Privacy Policy{{\/a}}.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u043c\u043e\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439."],"Allow us to reply to you by email and we will get back to you as soon as possible!":["\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043d\u0430\u043c \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u0432\u0430\u043c \u043f\u043e email, \u0438 \u043c\u044b \u0441\u0432\u044f\u0436\u0435\u043c\u0441\u044f \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f!"],"Are there any problems with the setup or use of the plugin? Maybe we can help you in the support. {{a}}Contact support{{\/a}}.":["\u0415\u0441\u0442\u044c \u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430? \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u0448\u0430 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c. {{a}}\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438{{\/a}}."],"https:\/\/devowl.io\/support\/":["https:\/\/devowl.io\/support\/"],"Do you want to deactivate your active license so that you can use it again on another site?":[""],"Yes, deactivate all active licenses for all sites within this multisite":[""],"Yes, deactivate license":[""],"Telemetry data preview":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Close":[""],"At the time of activating the license, you agreed that we may send telemetry data from your installation to our server. You can revoke this at any time by deactivating and reactivating the licence.":[""],"The following data (raw) will be sent to our server:":[""],"Updates containing bug fixes and new features will be downloaded and installed automatically.":["\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438."],"Please confirm that you have read the privacy policy!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438!"],"I allow to transfer technical data about this WordPress installation to the update server of %1$s and get latest announcements. This data is required for license activation and update functionality. I have read the {{a}}privacy policy{{\/a}} of %1$s.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 WordPress \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 %1$s \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} %1$s."],"I allow telemetry data about the use of this WordPress plugin to be collected in accordance with the %1$s {{a}}privacy policy{{\/a}}. This data does not include any personal information about users of the plugin. Collected data ({{aDataExample}}open example of transmitted data{{\/aDataExample}}) will be used to provide you with the best possible support and to improve the plugin.":["\u042f \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043b\u0435\u043c\u0435\u0442\u0440\u0438\u0438 (\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430) WordPress \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}}. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0439 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430."],"I would like to receive the %1$s newsletter with WordPress news, sales and product offers (approx. 1-2 per month) by email. I have read the %1$s {{a}}privacy policy{{\/a}}. I know that I can unsubscribe from the newsletter at any time.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 %1$s \u0441 \u043d\u043e\u0432\u043e\u0441\u0442\u044f\u043c\u0438 WordPress, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1-2 \u0440\u0430\u0437\u0430 \u0432 \u043c\u0435\u0441\u044f\u0446) \u043d\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b %1$s {{a}}\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438{{\/a}} \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d \u0441 \u043d\u0435\u0439. \u042f \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u043c\u043e\u0433\u0443 \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f."],"First name":["\u0418\u043c\u044f"],"Please enter your first name!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0435 \u0438\u043c\u044f!"],"Email":["Email"],"Please enter your email address!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 email!"],"Please note that we will send you a confirmation e-mail. Only when you have clicked on the activation link in the email will you receive the newsletter.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0432\u0430\u043c email \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f. \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043d\u0430 \u0441\u0441\u044b\u043b\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0432 email, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0443\u044e \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443."],"Learn more":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435"],"Your license has been activated!":["\u0412\u0430\u0448\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430!"],"Activate your %s PRO license to receive regular updates and support.":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e %s PRO, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443."],"To use all advantages of %s {{strong}}you need a free license{{\/strong}}. After license activation you will receive answers to support requests and announcements in your plugin (e.g. also notices for discount actions of the PRO version).":["\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 %s {{strong}}, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f{{\/strong}}. \u041f\u043e\u0441\u043b\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u0436\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0441\u043a\u0438\u0434\u043e\u0447\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 PRO-\u0432\u0435\u0440\u0441\u0438\u0438)."],"You are using a WordPress mulisite. Due to technical limitations of WordPress core, %s can receive automatic updates in WordPress multisites only if the plugin is enabled network-wide. You can enable the plugin network-wide, but still only license it for specific sites.":[""],"Please enable %s network-wide or take care of regular updates manually! ":[""],"https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/":["https:\/\/devowl.io\/knowledge-base\/the-limit-of-activated-clients-for-this-license-has-already-been-reached\/"],"Installation type and license key for {{strong}}%s{{\/strong}}":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f {{strong}}%s{{\/strong}}"],"Installation type and license key":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Please enter a valid license key!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447!"],"Please choose an installation type!":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438!"],"Installation type":["\u0422\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438"],"Development":["\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430"],"Production":["\u0420\u0430\u0431\u043e\u0447\u0430\u044f"],"Select installation type\u2026":["\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\u2026"],"What is an installation type?":["\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438?"],"You can use each license in both production and development environments.":["\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438."],"Generally speaking, you use \"{{strong}}Development{{\/strong}}\" when your site is not yet live, or it is a staging environment of your site. \"{{strong}}Production{{\/strong}}\" is what you use once your site is live. You can change the installation-type at any time by deactivating the license and activate it again.":["\u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \"{{strong}}Development{{\/strong}}\", \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u0430 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \"{{strong}}Production{{\/strong}}\" - \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u0441\u0430\u0439\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0435 \u0441\u043d\u043e\u0432\u0430."],"I do not want to license and use the plugin for this site within my multisite.":[""],"This license cannot be activated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Unfortunately, there went something wrong while activating the license.":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (Blog ID: %d). \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a."],"Retry activation":["\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f"],"Manage licenses in the customer center":["\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432"],"Activated %s":["\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043e %s"],"Telemetry data sharing enabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Telemetry data sharing disabled":["\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430"],"Your license key":["\u0412\u0430\u0448 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447"],"Your installation is fully activated.":["\u0412\u0430\u0448\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430."],"https:\/\/devowl.io\/knowledge-base\/real-cookie-banner-upgrade-free-to-pro-version\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Enter license key to unlock PRO features":[""],"This license cannot be deactivated manually because it is configured programmatically. That means you have used the {{a}}activation filter{{\/a}} for host {{code}}%s{{\/code}} (Blog ID: %d). Please remove the filter to deactivate the license!":["\u042d\u0442\u0443 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 {{a}}\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438{{\/a}} \u0434\u043b\u044f \u0445\u043e\u0441\u0442\u0430 {{code}}%s{{\/code}} (ID \u0431\u043b\u043e\u0433\u0430: %d). \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438!"],"Show announcements for this plugin":["\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430"],"Something has gone wrong%s. It could be that you have configured your WordPress instance in such a way that you have blocked the WordPress REST API. Find out how to deal with this {{a}}here{{\/a}}.":[""],"https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/":["https:\/\/devowl.io\/knowledge-base\/wordpress-rest-api-does-not-respond\/"],"Not yet licensed":[""],"Already licensed":[""],"Save":["\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"],"License settings":["\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438"]}}}
vendor/devowl-wp/real-product-manager-wp-client/package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@devowl-wp/real-product-manager-wp-client",
3
- "version": "1.13.18",
4
  "private": true,
5
  "description": "A WordPress client for Real Product Manager",
6
  "homepage": "https://devowl.io",
@@ -93,18 +93,18 @@
93
  "react-dom": "~16.14.0"
94
  },
95
  "devDependencies": {
96
- "@devowl-wp/composer-licenses": "^0.1.7",
97
- "@devowl-wp/continuous-integration": "^0.2.4",
98
- "@devowl-wp/eslint-config": "^0.1.7",
99
- "@devowl-wp/grunt-continuous-localization": "^0.4.7",
100
- "@devowl-wp/grunt-workspaces": "^0.2.4",
101
- "@devowl-wp/node-gitlab-ci": "^0.5.3",
102
- "@devowl-wp/npm-licenses": "^0.1.7",
103
- "@devowl-wp/phpcs-config": "^0.1.4",
104
- "@devowl-wp/phpunit-config": "^0.1.4",
105
  "@devowl-wp/ts-config": "^0.1.6",
106
- "@devowl-wp/utils": "^1.12.24",
107
- "@devowl-wp/webpack-config": "^0.2.5",
108
  "@types/grunt": "~0.4.25",
109
  "@types/jest": "~26.0.23",
110
  "@types/react": "~16.14.6",
1
  {
2
  "name": "@devowl-wp/real-product-manager-wp-client",
3
+ "version": "1.14.0",
4
  "private": true,
5
  "description": "A WordPress client for Real Product Manager",
6
  "homepage": "https://devowl.io",
93
  "react-dom": "~16.14.0"
94
  },
95
  "devDependencies": {
96
+ "@devowl-wp/composer-licenses": "^0.1.8",
97
+ "@devowl-wp/continuous-integration": "^0.2.5",
98
+ "@devowl-wp/eslint-config": "^0.1.8",
99
+ "@devowl-wp/grunt-continuous-localization": "^0.4.8",
100
+ "@devowl-wp/grunt-workspaces": "^0.2.5",
101
+ "@devowl-wp/node-gitlab-ci": "^0.5.4",
102
+ "@devowl-wp/npm-licenses": "^0.1.8",
103
+ "@devowl-wp/phpcs-config": "^0.1.5",
104
+ "@devowl-wp/phpunit-config": "^0.1.5",
105
  "@devowl-wp/ts-config": "^0.1.6",
106
+ "@devowl-wp/utils": "^1.12.25",
107
+ "@devowl-wp/webpack-config": "^0.2.6",
108
  "@types/grunt": "~0.4.25",
109
  "@types/jest": "~26.0.23",
110
  "@types/react": "~16.14.6",
vendor/devowl-wp/real-product-manager-wp-client/src/Assets.php CHANGED
@@ -38,7 +38,11 @@ class Assets {
38
  'name' => $initiator->getPluginName(),
39
  'plugin' => plugin_basename($initiator->getPluginFile()),
40
  'privacyProvider' => $initiator->getPrivacyProvider(),
41
- 'privacyPolicy' => $initiator->getPrivacyPolicy()
 
 
 
 
42
  ];
43
  }
44
  // Do not localize too much, instead work with REST queries!
38
  'name' => $initiator->getPluginName(),
39
  'plugin' => plugin_basename($initiator->getPluginFile()),
40
  'privacyProvider' => $initiator->getPrivacyProvider(),
41
+ 'privacyPolicy' => $initiator->getPrivacyPolicy(),
42
+ 'isPluginActiveForNetwork' => is_multisite()
43
+ ? is_plugin_active_for_network(plugin_basename($initiator->getPluginFile()))
44
+ : \false,
45
+ 'hasAtLeastOneActiveLicense' => $initiator->getPluginUpdater()->getFirstFoundLicense() !== \false
46
  ];
47
  }
48
  // Do not localize too much, instead work with REST queries!
vendor/devowl-wp/real-product-manager-wp-client/src/rest/Feedback.php CHANGED
@@ -36,6 +36,7 @@ class Feedback {
36
  'callback' => [$this, 'routePost'],
37
  'permission_callback' => [$this, 'permission_callback'],
38
  'args' => [
 
39
  'reason' => ['type' => 'string', 'required' => \true],
40
  'note' => ['type' => 'string', 'default' => ''],
41
  'email' => [
@@ -45,7 +46,8 @@ class Feedback {
45
  return empty($param) || is_email($param);
46
  }
47
  ],
48
- 'name' => ['type' => 'string', 'default' => '']
 
49
  ]
50
  ]);
51
  }
@@ -63,9 +65,11 @@ class Feedback {
63
  * @apiHeader {string} X-WP-Nonce
64
  * @apiParam {string} slug
65
  * @apiParam {string} reason
 
66
  * @apiParam {string} [note]
67
  * @apiParam {string} [email]
68
  * @apiParam {string} [name]
 
69
  * @apiName Create
70
  * @apiPermission activate_plugins
71
  * @apiGroup Feedback
@@ -79,17 +83,38 @@ class Feedback {
79
  if ($initiator === null) {
80
  return new \WP_Error('rest_not_found', 'Not found', ['status' => 404]);
81
  } else {
 
82
  $reason = $request->get_param('reason');
83
  $note = $request->get_param('note');
84
  $email = $request->get_param('email');
85
  $name = $request->get_param('name');
86
- $result = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\Feedback::instance(
87
- $initiator->getPluginUpdater()
88
- )->post($reason, $note, $email, $name);
89
- if (is_wp_error($result)) {
90
- return $result;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  }
92
- return new \WP_REST_Response(['success' => \true]);
93
  }
94
  }
95
  /**
36
  'callback' => [$this, 'routePost'],
37
  'permission_callback' => [$this, 'permission_callback'],
38
  'args' => [
39
+ 'skip' => ['type' => 'boolean', 'default' => \false],
40
  'reason' => ['type' => 'string', 'required' => \true],
41
  'note' => ['type' => 'string', 'default' => ''],
42
  'email' => [
46
  return empty($param) || is_email($param);
47
  }
48
  ],
49
+ 'name' => ['type' => 'string', 'default' => ''],
50
+ 'deactivateLicense' => ['type' => 'boolean', 'default' => \false]
51
  ]
52
  ]);
53
  }
65
  * @apiHeader {string} X-WP-Nonce
66
  * @apiParam {string} slug
67
  * @apiParam {string} reason
68
+ * @apiParam {boolean} [skip] If `true`, use `other` in `reason` parameter
69
  * @apiParam {string} [note]
70
  * @apiParam {string} [email]
71
  * @apiParam {string} [name]
72
+ * @apiParam {boolean} [deactivateLicense]
73
  * @apiName Create
74
  * @apiPermission activate_plugins
75
  * @apiGroup Feedback
83
  if ($initiator === null) {
84
  return new \WP_Error('rest_not_found', 'Not found', ['status' => 404]);
85
  } else {
86
+ $skip = $request->get_param('skip');
87
  $reason = $request->get_param('reason');
88
  $note = $request->get_param('note');
89
  $email = $request->get_param('email');
90
  $name = $request->get_param('name');
91
+ $deactivateLicense = $request->get_param('deactivateLicense');
92
+ $response = ['sentFeedback' => \false, 'deactivatedLicense' => []];
93
+ if ($deactivateLicense) {
94
+ $licenses = [];
95
+ if (is_multisite() && is_plugin_active_for_network(plugin_basename($initiator->getPluginFile()))) {
96
+ $licenses = $initiator->getPluginUpdater()->getUniqueLicenses(\true);
97
+ } else {
98
+ $licenses[] = $initiator->getPluginUpdater()->getCurrentBlogLicense();
99
+ }
100
+ foreach ($licenses as $license) {
101
+ if (!empty($license->getActivation()->getCode())) {
102
+ $response['deactivatedLicense'][$license->getBlogId()] = $license
103
+ ->getActivation()
104
+ ->deactivate(\true);
105
+ }
106
+ }
107
+ }
108
+ if (!$skip) {
109
+ $result = \MatthiasWeb\RealMediaLibrary\Vendor\DevOwl\RealProductManagerWpClient\client\Feedback::instance(
110
+ $initiator->getPluginUpdater()
111
+ )->post($reason, $note, $email, $name);
112
+ if (is_wp_error($result)) {
113
+ return $result;
114
+ }
115
+ $response['sentFeedback'] = $result;
116
  }
117
+ return new \WP_REST_Response($response);
118
  }
119
  }
120
  /**
vendor/devowl-wp/real-utils/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
6
  ## 1.8.17 (2022-11-18)
7
 
8
  **Note:** This package (@devowl-wp/real-utils) has been updated because a dependency, which is also shipped with this package, has changed.
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 1.8.18 (2022-12-12)
7
+
8
+ **Note:** This package (@devowl-wp/real-utils) has been updated because a dependency, which is also shipped with this package, has changed.
9
+
10
+
11
+
12
+
13
+
14
  ## 1.8.17 (2022-11-18)
15
 
16
  **Note:** This package (@devowl-wp/real-utils) has been updated because a dependency, which is also shipped with this package, has changed.
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_AT-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_AT","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_CH_informal-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_CH_informal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tu uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, du hast gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie dir? Bitte bewerte uns!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass du gehst"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte gib uns Feedback, warum du <strong>%s<\/strong> deaktivierst."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderer Grund"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte gib hier einen Text ein oder markiere die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte gib eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn du von uns kontaktiert werden m\u00f6chtest, akzeptiere bitte die Datenschutzerkl\u00e4rung. Solltest du es vorziehen, nicht kontaktiert zu werden, lasse das E-Mail-Feld leer."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tun Sie uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, Sie haben gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie Ihnen? Bitte bewerten Sie uns!"]}}}
1
+ {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Give it a rating":["Bewertung abgeben"],"Do us a favor!":["Tun Sie uns einen Gefallen!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["Gro\u00dfartig, Sie haben gerade eine Funktionalit\u00e4t von <strong>%s<\/strong> benutzt! Gef\u00e4llt sie Ihnen? Bitte bewerten Sie uns!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte geben Sie uns Feedback, warum Sie <strong>%s<\/strong> deaktivieren."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderes"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte geben Sie hier einen Text ein oder markieren Sie die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn Sie von uns kontaktiert werden m\u00f6chten, akzeptieren Sie bitte die Datenschutzerkl\u00e4rung. Sollten Sie es vorziehen, nicht kontaktiert zu werden, lassen das E-Mail-Feld leer."]}}}
1
+ {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Contact support":["Support kontaktieren"],"Skip & Deactivate":["\u00dcberspringen & Deaktivieren"],"Deactivate":["Deaktivieren"],"Too bad you are leaving":["Schade, dass Sie gehen"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["Bitte geben Sie uns Feedback, warum Sie <strong>%s<\/strong> deaktivieren."],"Upgrade to PRO Version":["Upgrade auf PRO-Version"],"Plugin did not work":["Plugin funktioniert nicht"],"Not the features I want":["Nicht die gew\u00fcnschten Funktionen"],"Incompatible with other themes or plugins":["Inkompatibel mit anderen Themes oder Plugins"],"Lack of documentation":["Fehlende Dokumentation"],"Found a better plugin":["Besseres Plugin gefunden"],"Temporary deactivation":["Tempor\u00e4re Deaktivierung"],"I do not want to give feedback":["Ich m\u00f6chte kein Feedback geben"],"Other":["Anderes"],"What could we do better?":["Was k\u00f6nnten wir besser machen?"],"Please enter a text here or check the box below.":["Bitte geben Sie hier einen Text ein oder markieren Sie die Checkbox unten."],"I don't want to add a comment and hence not help to make %s better.":["Ich m\u00f6chte keinen Kommentar hinzuf\u00fcgen und somit nicht dazu beitragen, %s besser zu machen."],"Email for answer\/solution (optional)?":["E-Mail f\u00fcr Antwort\/L\u00f6sung (optional)?"],"Please provide a valid email.":["Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["Ich m\u00f6chte gerne eine Antwort auf meine Frage erhalten. Zu diesem Zweck stimme ich der Datenverarbeitung meines Feedbacks und meiner E-Mail-Adresse zu. Ich habe die <a href=\"https:\/\/devowl.io\/de\/datenschutzerklaerung\/\" target=\"_blank\">Datenschutzerkl\u00e4rung<\/a> von devowl.io gelesen und stimme ihr zu."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["Wenn Sie von uns kontaktiert werden m\u00f6chten, akzeptieren Sie bitte die Datenschutzerkl\u00e4rung. Sollten Sie es vorziehen, nicht kontaktiert zu werden, lassen das E-Mail-Feld leer."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
1
+ {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Loading\u2026":["Lade\u2026"],"Successfully subscribed!":["Erfolgreich abonniert!"],"Subscribe":["Abonnieren"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-de_DE_formal-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
1
+ {"translation-revision-date":"2021-11-30 16:18+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de_DE_formal","plural-forms":"nplurals=2; plural=n != 1;"},"Not now":["Nicht jetzt"],"Learn more!":["Mehr erfahren!"],"Never show this popup again":["Popup nie wieder anzeigen"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-61a60894c517b346c6b99608ccce350d.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Not now":["\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"],"Give it a rating":["\u041f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043e\u0446\u0435\u043d\u043a\u0443"],"Do us a favor!":["\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043d\u0430\u043c \u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["\u0412\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442, \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <strong>%s<\/strong>! \u0412\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c? \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043d\u0430\u043c \u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0446\u0435\u043d\u0438\u0442\u0435 \u043d\u0430\u0441!"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"helper.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Not now":["\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"],"Give it a rating":["\u041f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043e\u0446\u0435\u043d\u043a\u0443"],"Do us a favor!":["\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043d\u0430\u043c \u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435!"],"Awesome, you have just used a functionality of <strong>%s<\/strong>. Do you like it? Please do us a favor and rate us!":["\u0412\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442, \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <strong>%s<\/strong>! \u0412\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c? \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043d\u0430\u043c \u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0446\u0435\u043d\u0438\u0442\u0435 \u043d\u0430\u0441!"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-74ccc0603b454665ba4060550b4e9aa0.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Contact support":["\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 <strong>%s<\/strong>."],"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin did not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with other themes or plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"I do not want to give feedback":["\u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Please enter a text here or check the box below.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u0438\u0436\u0435."],"I don't want to add a comment and hence not help to make %s better.":["\u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0443 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c %s."],"Email for answer\/solution (optional)?":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f (\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)?"],"Please provide a valid email.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a> \u0438 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044c \u0441 \u043d\u0435\u0439."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0441\u0432\u044f\u0437\u0430\u043b\u0438\u0441\u044c \u0441 \u0432\u0430\u043c\u0438, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 email \u043f\u0443\u0441\u0442\u044b\u043c."]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"feedback.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Contact support":["\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443"],"Skip & Deactivate":["\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Deactivate":["\u0414\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c"],"Too bad you are leaving":["\u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u0442\u044b \u0443\u0435\u0437\u0436\u0430\u0435\u0448\u044c"],"Please give us feedback why you deactivate <strong>%s<\/strong>.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043d\u0430\u043c \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 <strong>%s<\/strong>."],"Upgrade to PRO Version":["\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e PRO \u0432\u0435\u0440\u0441\u0438\u0438"],"Plugin did not work":["\u041f\u043b\u0430\u0433\u0438\u043d \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442"],"Not the features I want":["\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438"],"Incompatible with other themes or plugins":["\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043c\u043e\u0435\u0439 \u0442\u0435\u043c\u043e\u0439 \u0438\u043b\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c"],"Lack of documentation":["\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438"],"Found a better plugin":["\u041d\u0430\u0448\u0435\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u043b\u0443\u0447\u0448\u0435"],"Temporary deactivation":["\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u044e"],"I do not want to give feedback":["\u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c"],"Other":["\u0414\u0440\u0443\u0433\u043e\u0435"],"What could we do better?":["\u0427\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435?"],"Please enter a text here or check the box below.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0437\u0434\u0435\u0441\u044c \u0438\u043b\u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u0438\u0436\u0435."],"I don't want to add a comment and hence not help to make %s better.":["\u042f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0443 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c %s."],"Email for answer\/solution (optional)?":["Email \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430\/\u0440\u0435\u0448\u0435\u043d\u0438\u044f (\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)?"],"Please provide a valid email.":["\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b."],"I would like to receive an answer for my issue. For this purpose I agree to the data processing of my feedback and my email address. I have read the devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">privacy policy<\/a> and agree to it.":["\u042f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u0434\u0430\u044e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435 \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043c\u043e\u0435\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430 \u0438 \u0430\u0434\u0440\u0435\u0441\u0430 email. \u042f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b devowl.io <a href=\"https:\/\/devowl.io\/privacy-policy\/\" target=\"_blank\">\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a> \u0438 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044c \u0441 \u043d\u0435\u0439."],"If you would like to be contacted by us, please accept the privacy policy. If you prefer not to be contacted, leave the email field blank.":["\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0441\u0432\u044f\u0437\u0430\u043b\u0438\u0441\u044c \u0441 \u0432\u0430\u043c\u0438, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 email \u043f\u0443\u0441\u0442\u044b\u043c."]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-b3c66931a03e39a842384fb81443cb05.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Loading\u2026":["\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u2026"],"Successfully subscribed!":["\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c!"],"Subscribe":["\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"welcome.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Loading\u2026":["\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u2026"],"Successfully subscribed!":["\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c!"],"Subscribe":["\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f"]}}}
vendor/devowl-wp/real-utils/languages/frontend/json/real-utils-ru_RU-bd8f888d3790e3faf824d6fd69319a28.json CHANGED
@@ -1 +1 @@
1
- {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.0","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Not now":["\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"],"Learn more!":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435!"],"Never show this popup again":["\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u043a\u043d\u043e"]}}}
1
+ {"translation-revision-date":"2021-09-29 11:49+0000","generator":"WP-CLI\/2.7.1","source":"cross.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ru_RU","plural-forms":"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"},"Not now":["\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"],"Learn more!":["\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435!"],"Never show this popup again":["\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u043a\u043d\u043e"]}}}
vendor/devowl-wp/real-utils/package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@devowl-wp/real-utils",
3
- "version": "1.8.17",
4
  "private": true,
5
  "description": "Create cross-selling ads, about page, rating and newsletter input for WP Real plugins.",
6
  "homepage": "https://devowl.io",
@@ -92,18 +92,18 @@
92
  "react-test-renderer": "~16.14.0"
93
  },
94
  "devDependencies": {
95
- "@devowl-wp/composer-licenses": "^0.1.7",
96
- "@devowl-wp/continuous-integration": "^0.2.4",
97
- "@devowl-wp/eslint-config": "^0.1.7",
98
- "@devowl-wp/grunt-continuous-localization": "^0.4.7",
99
- "@devowl-wp/grunt-workspaces": "^0.2.4",
100
- "@devowl-wp/node-gitlab-ci": "^0.5.3",
101
- "@devowl-wp/npm-licenses": "^0.1.7",
102
- "@devowl-wp/phpcs-config": "^0.1.4",
103
- "@devowl-wp/phpunit-config": "^0.1.4",
104
  "@devowl-wp/ts-config": "^0.1.6",
105
- "@devowl-wp/utils": "^1.12.24",
106
- "@devowl-wp/webpack-config": "^0.2.5",
107
  "@types/grunt": "~0.4.25",
108
  "@types/jest": "~26.0.23",
109
  "@types/jquery": "~3.5.5",
1
  {
2
  "name": "@devowl-wp/real-utils",
3
+ "version": "1.8.18",
4
  "private": true,
5
  "description": "Create cross-selling ads, about page, rating and newsletter input for WP Real plugins.",
6
  "homepage": "https://devowl.io",
92
  "react-test-renderer": "~16.14.0"
93
  },
94
  "devDependencies": {
95
+ "@devowl-wp/composer-licenses": "^0.1.8",
96
+ "@devowl-wp/continuous-integration": "^0.2.5",
97
+ "@devowl-wp/eslint-config": "^0.1.8",
98
+ "@devowl-wp/grunt-continuous-localization": "^0.4.8",
99
+ "@devowl-wp/grunt-workspaces": "^0.2.5",
100
+ "@devowl-wp/node-gitlab-ci": "^0.5.4",
101
+ "@devowl-wp/npm-licenses": "^0.1.8",
102
+ "@devowl-wp/phpcs-config": "^0.1.5",
103
+ "@devowl-wp/phpunit-config": "^0.1.5",
104
  "@devowl-wp/ts-config": "^0.1.6",
105
+ "@devowl-wp/utils": "^1.12.25",
106
+ "@devowl-wp/webpack-config": "^0.2.6",
107
  "@types/grunt": "~0.4.25",
108
  "@types/jest": "~26.0.23",
109
  "@types/jquery": "~3.5.5",
vendor/devowl-wp/utils/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 1.12.24 (2022-11-18)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 1.12.25 (2022-12-12)
7
+
8
+
9
+ ### fix
10
+
11
+ * allow absolute wpApiSettings.root without host (CU-382pbvy)
12
+ * do not show REST API notice when offline, hide when route works again and trace log in textarea (CU-37q9evr)
13
+
14
+
15
+
16
+
17
+
18
  ## 1.12.24 (2022-11-18)
19
 
20
 
vendor/devowl-wp/utils/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var devowlWp_utils;(()=>{"use strict";var t,e={550:(t,e,o)=>{o.r(e),o.d(e,{AbstractCategory:()=>nt,AbstractCategoryCollection:()=>rt,AbstractPost:()=>et,AbstractPostCollection:()=>ot,BaseOptions:()=>n,ClientCollection:()=>J,ClientModel:()=>tt,RouteHttpVerb:()=>i,SuspenseChunkTranslation:()=>at,addCorruptRestApi:()=>C,applyQueryString:()=>y,commonRequest:()=>S,commonUrlBuilder:()=>v,createContextFactory:()=>l,createLocalizationFactory:()=>j,createRequestFactory:()=>N,getWebpackPublicPath:()=>a,handleCorrupRestApi:()=>O,handleCorruptRestApi:()=>T,locationRestPluginGet:()=>U,nonceDeprecationPool:()=>P,parseResult:()=>R,qs:()=>u,sprintf:()=>q,trailingslashit:()=>s,untrailingslashit:()=>r,useChunkTranslation:()=>st});class n{constructor(){this.slug=void 0,this.textDomain=void 0,this.version=void 0,this.restUrl=void 0,this.restNamespace=void 0,this.restRoot=void 0,this.restQuery=void 0,this.restNonce=void 0,this.restRecreateNonceEndpoint=void 0,this.publicUrl=void 0,this.chunkFolder=void 0,this.chunks=void 0}static slugCamelCase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static getPureSlug(t,e=!1){return e?n.slugCamelCase(t):t}}const r=t=>t.endsWith("/")||t.endsWith("\\")?r(t.slice(0,-1)):t,s=t=>"".concat(r(t),"/"),a=t=>{const e=window[t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")};var i,c=o(363);function l(t){const e=(0,c.createContext)(t);return{StoreContext:e,StoreProvider:({children:o})=>React.createElement(e.Provider,{value:t},o),useStores:()=>(0,c.useContext)(e)}}!function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(i||(i={}));var h=o(11),d=o.n(h),u=o(282),p=o(840),f=o.n(p),m=o(25),w=o.n(m);function y(t,e,o){return t.search=u.stringify(o?d().all([u.parse(t.search),...e]):e,!0),t}function v({location:t,params:e={},nonce:o=!0,options:n,cookieValueAsParam:a}){const c=new URL(n.restRoot),l=u.parse(c.search),h=l.rest_route||c.pathname,d=[];let p=t.path.replace(/:([A-Za-z0-9-_]+)/g,((t,o)=>(d.push(o),e[o])));const m={};for(const t of Object.keys(e))-1===d.indexOf(t)&&(m[t]=e[t]);a&&(m._httpCookieInvalidate=w()(JSON.stringify(a.map(f().get))));const{search:v,pathname:b}=new URL(t.path,window.location.href);if(v){const t=u.parse(v);for(const e in t)m[e]=t[e];p=b}c.protocol=window.location.protocol;const g=s(h)+r(t.namespace||n.restNamespace)+p;return l.rest_route?l.rest_route=g:c.pathname=g,o&&n.restNonce&&(l._wpnonce=n.restNonce),y(c,l),["wp-json/","rest_route="].filter((t=>c.toString().indexOf(t)>-1)).length>0&&t.method&&t.method!==i.GET&&y(c,[{_method:t.method}],!0),y(c,[n.restQuery,m],!0),c.toString()}const b={},g={};async function P(t,e){if(void 0!==e){const o=g[t]||new Promise((async(o,n)=>{try{const r=await window.fetch(e,{method:"POST"});if(r.ok){const e=await r.text();t===e?n():(b[t]=e,o(e))}else n()}catch(t){n()}}));return g[t]=o,o}{if(void 0===t)return;await Promise.all(Object.values(g));let e=t;for(;b[e]&&(e=b[e],b[e]!==t););return Promise.resolve(e)}}const E="notice-corrupt-rest-api";async function k(t,e=(async()=>{})){const o=document.getElementById(E);if(o){if(o.querySelector("ul").innerText.indexOf(t)>-1)return;try{await e()}catch(e){o.style.display="block";const n=document.createElement("li");n.innerHTML="<code>".concat(t,"</code>"),o.childNodes[1].appendChild(n),o.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})}}}function C({method:t},e){t===i.GET&&(e?k(e,(()=>{throw new Error})):(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1,window.dispatchEvent(new CustomEvent(E))))}function T(t){window.detectCorruptRestApiFailed=window.detectCorruptRestApiFailed||0,window.addEventListener("pageshow",(({persisted:t})=>{const e=document.getElementById(E);e&&t&&0===window.detectCorruptRestApiFailed&&(e.style.display="none")}));const e=async()=>{if(window.detectCorruptRestApiFailed>0)for(const e of Object.keys(t))k(e,t[e])};let o;const n=()=>{clearTimeout(o),o=setTimeout(e,1e3)};n(),window.addEventListener(E,n)}const O=T;async function R(t,e,o){if(204===e.status)return{};const n=e.clone();try{return await e.json()}catch(e){const r=await n.text();if(""===r&&[i.DELETE,i.PUT].indexOf(o)>-1)return;let s;console.warn("The response of ".concat(t," contains unexpected JSON, try to resolve the JSON line by line..."),{body:r});for(const t of r.split("\n"))if(t.startsWith("[")||t.startsWith("{"))try{return JSON.parse(t)}catch(t){s=t}throw s}}var x=o(916),_=o.n(x);async function S({location:t,options:e,request:o,params:n,settings:r={},cookieValueAsParam:s,multipart:a=!1,sendRestNonce:c=!0}){const l=t.namespace||e.restNamespace,h=v({location:t,params:n,nonce:!1,options:e,cookieValueAsParam:s});["wp-json/","rest_route="].filter((t=>h.indexOf(t)>-1)).length>0&&t.method&&t.method!==i.GET?r.method=i.POST:r.method=t.method||i.GET;const u=new URL(h),p=-1===["HEAD","GET"].indexOf(r.method);!p&&o&&y(u,[o],!0);const f=u.toString();let m;p&&(m=a?_()(o,"boolean"==typeof a?{}:a):JSON.stringify(o));const w=await P(e.restNonce),b=void 0!==w,g=d().all([r,{headers:{..."string"==typeof m?{"Content-Type":"application/json;charset=utf-8"}:{},...b&&c?{"X-WP-Nonce":w}:{},Accept:"application/json, */*;q=0.1"}}]);let E;g.body=m;let k=!1;const T=()=>{k=!0};window.addEventListener("pagehide",T),window.addEventListener("beforeunload",T);try{E=await window.fetch(f,g)}catch(t){throw k||C(r,l),console.error(t),t}finally{window.removeEventListener("pagehide",T),window.removeEventListener("beforeunload",T)}if(!E.ok){let s,i=!1;try{if(s=await R(f,E,t.method),"private_site"===s.code&&403===E.status&&b&&!c&&(i=!0),"rest_cookie_invalid_nonce"===s.code&&b){const{restRecreateNonceEndpoint:t}=e;try{await P(w,t),i=!0}catch(t){}}}catch(t){}if(i)return await S({location:t,options:e,multipart:a,params:n,request:o,sendRestNonce:!0,settings:r});C(r);const l=E;throw l.responseJSON=s,l}return R(f,E,t.method)}function N(t){return{urlBuilder:e=>v({...e,options:{restNamespace:t.restNamespace,restNonce:t.restNonce,restQuery:t.restQuery,restRoot:t.restRoot}}),request:e=>S({...e,options:{restNamespace:t.restNamespace,restNonce:t.restNonce,restQuery:t.restQuery,restRoot:t.restRoot,restRecreateNonceEndpoint:t.restRecreateNonceEndpoint}})}}var D=o(449);const F=wp.i18n,A=wp;var L=o.n(A);function q(t,...e){return F.sprintf(t,...e)}function j(t){const{wpi18nLazy:e}=window;if(e&&e[t]&&L()&&L().i18n)for(const o of e[t])L().i18n.setLocaleData(o,t);return{_n:function(e,o,n,...r){return q(F._n(e,o,n,t),...r)},_nx:function(e,o,n,r,...s){return q(F._nx(e,o,r,n,t),...s)},_x:function(e,o,...n){return q(F._x(e,o,t),...n)},__:function(e,...o){return q(F.__(e,t),...o)},_i:function(t,e){return(0,D.Z)({mixedString:t,components:e})}}}const U={path:"/plugin",method:i.GET};var z=o(921),Z=o(888);const G=mobx;var W,I,M,Q,H;let J=(H=Q=class{constructor(){(0,z.Z)(this,"entries",I,this),(0,z.Z)(this,"busy",M,this),this.annotated=void 0,this.get=(0,G.flow)((function*(t){const{request:e,params:o,clear:n=!1}=t||{};this.busy=!0;try{const{path:t,namespace:r}=this.annotated,s=yield this.annotated.request({location:{path:t,method:i.GET,namespace:r},request:e,params:o});n&&this.entries.clear();for(const t of s){const e=this.instance(t),o=this.entries.get(e.key);o?o.data=e.data:this.entries.set(e.key,e)}}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.getSingle=(0,G.flow)((function*(t){if(!this.annotated.singlePath)throw new Error("There is no getSingle method allowed");const{request:e,params:o}=t||{};this.busy=!0;try{const{singlePath:t,namespace:n}=this.annotated,r=yield this.annotated.request({location:{path:t,method:i.GET,namespace:n},request:e,params:o}),s=this.instance(r);this.entries.set(s.key,s)}catch(t){throw console.log(t),t}finally{this.busy=!1}})),setTimeout((()=>{this.annotated||console.error("You have not used the @ClientCollection.annotate annoation together with this class!")}),0)}},Q.annotate=t=>e=>class extends e{constructor(...e){super(...e),this.annotated=t}},W=H,I=(0,Z.Z)(W.prototype,"entries",[G.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),M=(0,Z.Z)(W.prototype,"busy",[G.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),W);var B,V,Y,X,K,$;let tt=($=K=class{get key(){var t;return null===(t=this.data)||void 0===t?void 0:t[this.annotated.keyId]}constructor(t,e={}){(0,z.Z)(this,"data",V,this),(0,z.Z)(this,"collection",Y,this),(0,z.Z)(this,"busy",X,this),this.annotated=void 0,this.persist=(0,G.flow)((function*(t){if(!this.annotated.create)throw new Error("There is no persist method allowed");this.busy=!0;try{const{create:{path:e,method:o},namespace:n}=this.annotated,r=yield this.annotated.request({location:{path:e,method:o||i.POST,namespace:n},request:this.transformDataForPersist(),params:t||{}});this.fromResponse(r),this.collection.entries.set(this.key,this),this.afterPersist()}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.patch=(0,G.flow)((function*(t){if(!this.annotated.patch)throw new Error("There is no patch method allowed");this.busy=!0;try{const{patch:{path:e,method:o},namespace:n}=this.annotated,r=yield this.annotated.request({location:{path:e,method:o||i.PATCH,namespace:n},request:this.transformDataForPatch(),params:{[this.annotated.keyId]:this.key,...t||{}}});this.fromResponse(r),this.afterPatch()}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.delete=(0,G.flow)((function*(t){if(!this.annotated.delete)throw new Error("There is no delete method allowed");this.busy=!0;try{const{delete:{path:e,method:o},namespace:n}=this.annotated,r=yield this.annotated.request({location:{path:e,method:o||i.DELETE,namespace:n},params:{[this.annotated.keyId]:this.key,...t||{}}});return this.collection.entries.delete(this.key),this.afterDelete(),r}catch(t){throw console.log(t),t}finally{this.busy=!1}})),setTimeout((()=>{this.annotated||console.error("You have not used the @ClientModel.annotate annoation together with this class!")}),0),(0,G.runInAction)((()=>{this.collection=t,this.data=e}))}fromResponse(t){return(0,G.set)(this.data,t),this}transformDataForPersist(){return this.data}transformDataForPatch(){throw new Error("If you want to use patch method, you need to implement transformDataForPatch!")}afterPersist(){}afterPatch(){}afterDelete(){}},K.annotate=t=>e=>class extends e{constructor(...e){super(...e),this.annotated=t}},B=$,V=(0,Z.Z)(B.prototype,"data",[G.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),Y=(0,Z.Z)(B.prototype,"collection",[G.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,Z.Z)(B.prototype,"busy",[G.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,Z.Z)(B.prototype,"key",[G.computed],Object.getOwnPropertyDescriptor(B.prototype,"key"),B.prototype),B);class et extends tt{transformDataForPersist(){var t,e;const o={...super.transformDataForPersist()};return o.title=null===(t=o.title)||void 0===t?void 0:t.rendered,o.content=null===(e=o.content)||void 0===e?void 0:e.rendered,delete o._links,delete o.link,o}transformDataForPatch(){return this.transformDataForPersist()}}class ot extends J{}class nt extends tt{transformDataForPersist(){const t={...super.transformDataForPersist()};return delete t._links,delete t.link,t}transformDataForPatch(){return this.transformDataForPersist()}}class rt extends J{}function st(t,{chunks:e,publicUrl:o,textDomain:n,version:r}){const s=e[t.split("?")[0]],a=!!s,[i,l]=(0,c.useState)(!1),h=(0,c.useCallback)((async t=>{const e=window;e.wpi18nLazy=e.wpi18nLazy||{},e.wpi18nLazy.chunkUrls=e.wpi18nLazy.chunkUrls||[];const{chunkUrls:s}=e.wpi18nLazy,i="".concat(o,"languages/json/").concat(n,"-").concat(t,".json");if(a&&-1===s.indexOf(i)){s.push(i);try{const t=await window.fetch("".concat(i,"?ver=").concat(r)),{locale_data:{messages:e}}=await t.json();L().i18n.setLocaleData(e,n)}catch{}}}),[o,n]);return(0,c.useEffect)((()=>{a?Promise.all(s.map(h)).then((()=>{l(!0)})):l(!0)}),[a,h]),i}const at=({children:t,chunkFile:e,fallback:o,options:n})=>{const r=st(e,n());return React.createElement(React.Fragment,null,r?t:o)}},363:t=>{t.exports=React}},o={};function n(t){var r=o[t];if(void 0!==r)return r.exports;var s=o[t]={exports:{}};return e[t].call(s.exports,s,s.exports,n),s.exports}n.m=e,t=[],n.O=(e,o,r,s)=>{if(!o){var a=1/0;for(h=0;h<t.length;h++){for(var[o,r,s]=t[h],i=!0,c=0;c<o.length;c++)(!1&s||a>=s)&&Object.keys(n.O).every((t=>n.O[t](o[c])))?o.splice(c--,1):(i=!1,s<a&&(a=s));if(i){t.splice(h--,1);var l=r();void 0!==l&&(e=l)}}return e}s=s||0;for(var h=t.length;h>0&&t[h-1][2]>s;h--)t[h]=t[h-1];t[h]=[o,r,s]},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={826:0};n.O.j=e=>0===t[e];var e=(e,o)=>{var r,s,[a,i,c]=o,l=0;if(a.some((e=>0!==t[e]))){for(r in i)n.o(i,r)&&(n.m[r]=i[r]);if(c)var h=c(n)}for(e&&e(o);l<a.length;l++)s=a[l],n.o(t,s)&&t[s]&&t[s][0](),t[s]=0;return n.O(h)},o=self.webpackChunkdevowlWp_utils=self.webpackChunkdevowlWp_utils||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})();var r=n.O(void 0,[764],(()=>n(550)));r=n.O(r),devowlWp_utils=r})();
2
  //# sourceMappingURL=index.js.map
1
+ var devowlWp_utils;(()=>{"use strict";var t,e={550:(t,e,o)=>{o.r(e),o.d(e,{AbstractCategory:()=>at,AbstractCategoryCollection:()=>it,AbstractPost:()=>st,AbstractPostCollection:()=>rt,BaseOptions:()=>n,ClientCollection:()=>Y,ClientModel:()=>nt,RouteHttpVerb:()=>i,SuspenseChunkTranslation:()=>lt,addCorruptRestApi:()=>R,addCorruptRestApiLog:()=>O,applyQueryString:()=>y,commonRequest:()=>A,commonUrlBuilder:()=>v,createContextFactory:()=>l,createLocalizationFactory:()=>Z,createRequestFactory:()=>F,getWebpackPublicPath:()=>a,handleCorrupRestApi:()=>S,handleCorruptRestApi:()=>x,locationRestPluginGet:()=>G,nonceDeprecationPool:()=>P,parseResult:()=>_,qs:()=>u,removeCorruptRestApi:()=>C,sprintf:()=>z,trailingslashit:()=>r,untrailingslashit:()=>s,useChunkTranslation:()=>ct});class n{constructor(){this.slug=void 0,this.textDomain=void 0,this.version=void 0,this.restUrl=void 0,this.restNamespace=void 0,this.restRoot=void 0,this.restQuery=void 0,this.restNonce=void 0,this.restRecreateNonceEndpoint=void 0,this.publicUrl=void 0,this.chunkFolder=void 0,this.chunks=void 0}static slugCamelCase(t){return t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))}static getPureSlug(t,e=!1){return e?n.slugCamelCase(t):t}}const s=t=>t.endsWith("/")||t.endsWith("\\")?s(t.slice(0,-1)):t,r=t=>"".concat(s(t),"/"),a=t=>{const e=window[t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")};var i,c=o(363);function l(t){const e=(0,c.createContext)(t);return{StoreContext:e,StoreProvider:({children:o})=>React.createElement(e.Provider,{value:t},o),useStores:()=>(0,c.useContext)(e)}}!function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(i||(i={}));var d=o(11),h=o.n(d),u=o(282),p=o(840),f=o.n(p),m=o(25),w=o.n(m);function y(t,e,o){return t.search=u.stringify(o?h().all([u.parse(t.search),...e]):e,!0),t}function v({location:t,params:e={},nonce:o=!0,options:n,cookieValueAsParam:a}){const{href:c}=window.location,l=new URL(n.restRoot,c),d=u.parse(l.search),h=d.rest_route||l.pathname,p=[];let m=t.path.replace(/:([A-Za-z0-9-_]+)/g,((t,o)=>(p.push(o),e[o])));const v={};for(const t of Object.keys(e))-1===p.indexOf(t)&&(v[t]=e[t]);a&&(v._httpCookieInvalidate=w()(JSON.stringify(a.map(f().get))));const{search:b,pathname:g}=new URL(t.path,c);if(b){const t=u.parse(b);for(const e in t)v[e]=t[e];m=g}l.protocol=window.location.protocol;const P=r(h)+s(t.namespace||n.restNamespace)+m;return d.rest_route?d.rest_route=P:l.pathname=P,o&&n.restNonce&&(d._wpnonce=n.restNonce),y(l,d),["wp-json/","rest_route="].filter((t=>l.toString().indexOf(t)>-1)).length>0&&t.method&&t.method!==i.GET&&y(l,[{_method:t.method}],!0),y(l,[n.restQuery,v],!0),l.toString()}const b={},g={};async function P(t,e){if(void 0!==e){const o=g[t]||new Promise((async(o,n)=>{try{const s=await window.fetch(e,{method:"POST"});if(s.ok){const e=await s.text();t===e?n():(b[t]=e,o(e))}else n()}catch(t){n()}}));return g[t]=o,o}{if(void 0===t)return;await Promise.all(Object.values(g));let e=t;for(;b[e]&&(e=b[e],b[e]!==t););return Promise.resolve(e)}}const E="notice-corrupt-rest-api",k="data-namespace";async function T(t,e=(async()=>{})){const o=document.getElementById(E);if(o&&window.navigator.onLine){if(o.querySelector("li[".concat(k,'="').concat(t,'"]')))return;try{await e()}catch(e){o.style.display="block";const n=document.createElement("li");n.setAttribute(k,t),n.innerHTML="<code>".concat(t,"</code>"),o.childNodes[1].appendChild(n),o.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})}}}async function C(t){const e=document.getElementById(E);if(e){const o=e.querySelector("li[".concat(k,'="').concat(t,'"]'));if(null==o||o.remove(),!e.childNodes[1].childNodes.length){e.style.display="none";const t=e.querySelector("textarea");t&&(t.value="")}}}function R({method:t},e){t===i.GET&&(e?T(e,(()=>{throw new Error})):(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1,window.dispatchEvent(new CustomEvent(E))))}function O({route:t,method:e,ms:o,response:n}){const s=document.querySelector("#".concat(E," textarea"));if(s){const r=s.value.split("\n").slice(0,9);r.unshift("[".concat((new Date).toLocaleTimeString(),"] [").concat(e||"GET","] [").concat(o,"ms] ").concat(t,"; ").concat(null==n?void 0:n.substr(0,999))),s.value=r.join("\n")}}function x(t){window.detectCorruptRestApiFailed=window.detectCorruptRestApiFailed||0,window.addEventListener("pageshow",(({persisted:t})=>{const e=document.getElementById(E);e&&t&&0===window.detectCorruptRestApiFailed&&(e.style.display="none")}));const e=async()=>{if(window.detectCorruptRestApiFailed>0)for(const e of Object.keys(t))T(e,t[e])};let o;const n=()=>{clearTimeout(o),o=setTimeout(e,1e3)};n(),window.addEventListener(E,n)}const S=x;async function _(t,e,o){if(204===e.status)return{};const n=e.clone();try{return await e.json()}catch(e){const s=await n.text();if(""===s&&[i.DELETE,i.PUT].indexOf(o)>-1)return;let r;console.warn("The response of ".concat(t," contains unexpected JSON, try to resolve the JSON line by line..."),{body:s});for(const t of s.split("\n"))if(t.startsWith("[")||t.startsWith("{"))try{return JSON.parse(t)}catch(t){r=t}throw r}}var N=o(916),D=o.n(N);async function A({location:t,options:e,request:o,params:n,settings:s={},cookieValueAsParam:r,multipart:a=!1,sendRestNonce:c=!0}){const l=t.namespace||e.restNamespace,d=v({location:t,params:n,nonce:!1,options:e,cookieValueAsParam:r});["wp-json/","rest_route="].filter((t=>d.indexOf(t)>-1)).length>0&&t.method&&t.method!==i.GET?s.method=i.POST:s.method=t.method||i.GET;const u=new URL(d,window.location.href),p=-1===["HEAD","GET"].indexOf(s.method);!p&&o&&y(u,[o],!0);const f=u.toString();let m;p&&(m=a?D()(o,"boolean"==typeof a?{}:a):JSON.stringify(o));const w=await P(e.restNonce),b=void 0!==w,g=h().all([s,{headers:{..."string"==typeof m?{"Content-Type":"application/json;charset=utf-8"}:{},...b&&c?{"X-WP-Nonce":w}:{},Accept:"application/json, */*;q=0.1"}}]);let E;g.body=m;let k=!1;const T=()=>{k=!0};window.addEventListener("pagehide",T),window.addEventListener("beforeunload",T);const x=(new Date).getTime();let S;try{E=await window.fetch(f,g),S=(new Date).getTime()-x,C(l)}catch(e){throw S=(new Date).getTime()-x,k||(O({method:t.method,route:u.pathname,ms:S,response:"".concat(e)}),R(s,l)),console.error(e),e}finally{window.removeEventListener("pagehide",T),window.removeEventListener("beforeunload",T)}if(!E.ok){let r,i=!1;try{if(r=await _(f,E,t.method),"private_site"===r.code&&403===E.status&&b&&!c&&(i=!0),"rest_cookie_invalid_nonce"===r.code&&b){const{restRecreateNonceEndpoint:t}=e;try{await P(w,t),i=!0}catch(t){}}}catch(t){}if(i)return await A({location:t,options:e,multipart:a,params:n,request:o,sendRestNonce:!0,settings:s});O({method:t.method,route:u.pathname,ms:S,response:JSON.stringify(r)}),R(s);const l=E;throw l.responseJSON=r,l}return _(f,E,t.method)}function F(t){return{urlBuilder:e=>v({...e,options:{restNamespace:t.restNamespace,restNonce:t.restNonce,restQuery:t.restQuery,restRoot:t.restRoot}}),request:e=>A({...e,options:{restNamespace:t.restNamespace,restNonce:t.restNonce,restQuery:t.restQuery,restRoot:t.restRoot,restRecreateNonceEndpoint:t.restRecreateNonceEndpoint}})}}var L=o(449);const q=wp.i18n,j=wp;var U=o.n(j);function z(t,...e){return q.sprintf(t,...e)}function Z(t){const{wpi18nLazy:e}=window;if(e&&e[t]&&U()&&U().i18n)for(const o of e[t])U().i18n.setLocaleData(o,t);return{_n:function(e,o,n,...s){return z(q._n(e,o,n,t),...s)},_nx:function(e,o,n,s,...r){return z(q._nx(e,o,s,n,t),...r)},_x:function(e,o,...n){return z(q._x(e,o,t),...n)},__:function(e,...o){return z(q.__(e,t),...o)},_i:function(t,e){return(0,L.Z)({mixedString:t,components:e})}}}const G={path:"/plugin",method:i.GET};var I=o(921),W=o(888);const J=mobx;var M,Q,B,H,V;let Y=(V=H=class{constructor(){(0,I.Z)(this,"entries",Q,this),(0,I.Z)(this,"busy",B,this),this.annotated=void 0,this.get=(0,J.flow)((function*(t){const{request:e,params:o,clear:n=!1}=t||{};this.busy=!0;try{const{path:t,namespace:s}=this.annotated,r=yield this.annotated.request({location:{path:t,method:i.GET,namespace:s},request:e,params:o});n&&this.entries.clear();for(const t of r){const e=this.instance(t),o=this.entries.get(e.key);o?o.data=e.data:this.entries.set(e.key,e)}}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.getSingle=(0,J.flow)((function*(t){if(!this.annotated.singlePath)throw new Error("There is no getSingle method allowed");const{request:e,params:o}=t||{};this.busy=!0;try{const{singlePath:t,namespace:n}=this.annotated,s=yield this.annotated.request({location:{path:t,method:i.GET,namespace:n},request:e,params:o}),r=this.instance(s);this.entries.set(r.key,r)}catch(t){throw console.log(t),t}finally{this.busy=!1}})),setTimeout((()=>{this.annotated||console.error("You have not used the @ClientCollection.annotate annoation together with this class!")}),0)}},H.annotate=t=>e=>class extends e{constructor(...e){super(...e),this.annotated=t}},M=V,Q=(0,W.Z)(M.prototype,"entries",[J.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),B=(0,W.Z)(M.prototype,"busy",[J.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M);var X,K,$,tt,et,ot;let nt=(ot=et=class{get key(){var t;return null===(t=this.data)||void 0===t?void 0:t[this.annotated.keyId]}constructor(t,e={}){(0,I.Z)(this,"data",K,this),(0,I.Z)(this,"collection",$,this),(0,I.Z)(this,"busy",tt,this),this.annotated=void 0,this.persist=(0,J.flow)((function*(t){if(!this.annotated.create)throw new Error("There is no persist method allowed");this.busy=!0;try{const{create:{path:e,method:o},namespace:n}=this.annotated,s=yield this.annotated.request({location:{path:e,method:o||i.POST,namespace:n},request:this.transformDataForPersist(),params:t||{}});this.fromResponse(s),this.collection.entries.set(this.key,this),this.afterPersist()}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.patch=(0,J.flow)((function*(t){if(!this.annotated.patch)throw new Error("There is no patch method allowed");this.busy=!0;try{const{patch:{path:e,method:o},namespace:n}=this.annotated,s=yield this.annotated.request({location:{path:e,method:o||i.PATCH,namespace:n},request:this.transformDataForPatch(),params:{[this.annotated.keyId]:this.key,...t||{}}});this.fromResponse(s),this.afterPatch()}catch(t){throw console.log(t),t}finally{this.busy=!1}})),this.delete=(0,J.flow)((function*(t){if(!this.annotated.delete)throw new Error("There is no delete method allowed");this.busy=!0;try{const{delete:{path:e,method:o},namespace:n}=this.annotated,s=yield this.annotated.request({location:{path:e,method:o||i.DELETE,namespace:n},params:{[this.annotated.keyId]:this.key,...t||{}}});return this.collection.entries.delete(this.key),this.afterDelete(),s}catch(t){throw console.log(t),t}finally{this.busy=!1}})),setTimeout((()=>{this.annotated||console.error("You have not used the @ClientModel.annotate annoation together with this class!")}),0),(0,J.runInAction)((()=>{this.collection=t,this.data=e}))}fromResponse(t){return(0,J.set)(this.data,t),this}transformDataForPersist(){return this.data}transformDataForPatch(){throw new Error("If you want to use patch method, you need to implement transformDataForPatch!")}afterPersist(){}afterPatch(){}afterDelete(){}},et.annotate=t=>e=>class extends e{constructor(...e){super(...e),this.annotated=t}},X=ot,K=(0,W.Z)(X.prototype,"data",[J.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),$=(0,W.Z)(X.prototype,"collection",[J.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),tt=(0,W.Z)(X.prototype,"busy",[J.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,W.Z)(X.prototype,"key",[J.computed],Object.getOwnPropertyDescriptor(X.prototype,"key"),X.prototype),X);class st extends nt{transformDataForPersist(){var t,e;const o={...super.transformDataForPersist()};return o.title=null===(t=o.title)||void 0===t?void 0:t.rendered,o.content=null===(e=o.content)||void 0===e?void 0:e.rendered,delete o._links,delete o.link,o}transformDataForPatch(){return this.transformDataForPersist()}}class rt extends Y{}class at extends nt{transformDataForPersist(){const t={...super.transformDataForPersist()};return delete t._links,delete t.link,t}transformDataForPatch(){return this.transformDataForPersist()}}class it extends Y{}function ct(t,{chunks:e,publicUrl:o,textDomain:n,version:s}){const r=e[t.split("?")[0]],a=!!r,[i,l]=(0,c.useState)(!1),d=(0,c.useCallback)((async t=>{const e=window;e.wpi18nLazy=e.wpi18nLazy||{},e.wpi18nLazy.chunkUrls=e.wpi18nLazy.chunkUrls||[];const{chunkUrls:r}=e.wpi18nLazy,i="".concat(o,"languages/json/").concat(n,"-").concat(t,".json");if(a&&-1===r.indexOf(i)){r.push(i);try{const t=await window.fetch("".concat(i,"?ver=").concat(s)),{locale_data:{messages:e}}=await t.json();U().i18n.setLocaleData(e,n)}catch{}}}),[o,n]);return(0,c.useEffect)((()=>{a?Promise.all(r.map(d)).then((()=>{l(!0)})):l(!0)}),[a,d]),i}const lt=({children:t,chunkFile:e,fallback:o,options:n})=>{const s=ct(e,n());return React.createElement(React.Fragment,null,s?t:o)}},363:t=>{t.exports=React}},o={};function n(t){var s=o[t];if(void 0!==s)return s.exports;var r=o[t]={exports:{}};return e[t].call(r.exports,r,r.exports,n),r.exports}n.m=e,t=[],n.O=(e,o,s,r)=>{if(!o){var a=1/0;for(d=0;d<t.length;d++){for(var[o,s,r]=t[d],i=!0,c=0;c<o.length;c++)(!1&r||a>=r)&&Object.keys(n.O).every((t=>n.O[t](o[c])))?o.splice(c--,1):(i=!1,r<a&&(a=r));if(i){t.splice(d--,1);var l=s();void 0!==l&&(e=l)}}return e}r=r||0;for(var d=t.length;d>0&&t[d-1][2]>r;d--)t[d]=t[d-1];t[d]=[o,s,r]},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={826:0};n.O.j=e=>0===t[e];var e=(e,o)=>{var s,r,[a,i,c]=o,l=0;if(a.some((e=>0!==t[e]))){for(s in i)n.o(i,s)&&(n.m[s]=i[s]);if(c)var d=c(n)}for(e&&e(o);l<a.length;l++)r=a[l],n.o(t,r)&&t[r]&&t[r][0](),t[r]=0;return n.O(d)},o=self.webpackChunkdevowlWp_utils=self.webpackChunkdevowlWp_utils||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})();var s=n.O(void 0,[764],(()=>n(550)));s=n.O(s),devowlWp_utils=s})();
2
  //# sourceMappingURL=index.js.map
vendor/devowl-wp/utils/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./lib/options.tsx","webpack:///./lib/helpers.tsx","webpack:///./lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///./lib/factory/context.tsx","webpack:///./lib/factory/ajax/commonUrlBuilder.tsx","webpack:///./lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///./lib/factory/ajax/corruptRestApi.tsx","webpack:///./lib/factory/ajax/parseResult.tsx","webpack:///./lib/factory/ajax/commonRequest.tsx","webpack:///./lib/factory/ajax/createRequestFactory.tsx","webpack:///external var \"wp['i18n']\"","webpack:///external var \"wp\"","webpack:///./lib/factory/i18n.tsx","webpack:///./lib/wp-api/rest.plugin.get.tsx","webpack:///external var \"mobx\"","webpack:///./lib/wp-api/objects/clientCollection.tsx","webpack:///./lib/wp-api/objects/clientModel.tsx","webpack:///./lib/wp-api/objects/post/abstractPost.tsx","webpack:///./lib/wp-api/objects/post/abstractPostCollection.tsx","webpack:///./lib/wp-api/objects/post/abstractCategory.tsx","webpack:///./lib/wp-api/objects/post/abstractCategoryCollection.tsx","webpack:///./lib/hooks/useChunkTranslation.tsx","webpack:///./lib/components/suspenseChunkTranslation.tsx","webpack:///external var \"React\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * See PHP file inc/Assets.php.\n */\nclass BaseOptions {\n constructor() {\n this.slug = void 0;\n this.textDomain = void 0;\n this.version = void 0;\n this.restUrl = void 0;\n this.restNamespace = void 0;\n this.restRoot = void 0;\n this.restQuery = void 0;\n this.restNonce = void 0;\n this.restRecreateNonceEndpoint = void 0;\n this.publicUrl = void 0;\n this.chunkFolder = void 0;\n this.chunks = void 0;\n }\n\n /**\n * Convert a slug like \"my-plugin\" to \"myPlugin\". This can\n * be useful for library naming (window[\"\"] is bad because the hyphens).\n */\n static slugCamelCase(slug) {\n return slug.replace(/-([a-z])/g, g => g[1].toUpperCase());\n }\n /**\n * Get the slug from the current process (webpack) instead of the PHP plugin output.\n * For some cases you need to use that.\n */\n\n\n static getPureSlug(slug, camelCase = false) {\n return camelCase ? BaseOptions.slugCamelCase(slug) : slug;\n }\n\n}\n\nexport { BaseOptions };","const untrailingslashit = str => str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n\nconst trailingslashit = str => \"\".concat(untrailingslashit(str), \"/\"); // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env.slug);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nconst getWebpackPublicPath = slug => {\n const options = window[slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","import { createContext, useContext } from \"react\";\n/* istanbul ignore next: no logic in this factory! */\n\n/**\n * Create context relevant objects to use within React.\n *\n * @param object\n * @returns\n */\n\nfunction createContextFactory(object) {\n /**\n * MobX stores collection\n */\n const StoreContext = /*#__PURE__*/createContext(object);\n /**\n * MobX HOC to get the context via hook.\n *\n * @param children\n */\n\n const StoreProvider = ({\n children\n }) => /*#__PURE__*/React.createElement(StoreContext.Provider, {\n value: object\n }, children);\n /**\n * Get all the MobX stores via a single hook.\n */\n\n\n const useStores = () => useContext(StoreContext);\n\n return {\n StoreContext,\n StoreProvider,\n useStores\n };\n}\n\nexport { createContextFactory };","import { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport qs from \"querystringify\";\nimport Cookie from \"js-cookie\";\nimport sha1 from \"sha-1\";\n\nfunction applyQueryString(url, query, merge) {\n url.search = qs.stringify(merge ? deepMerge.all([qs.parse(url.search), ...query]) : query, true);\n return url;\n}\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\n\n\nfunction commonUrlBuilder({\n location,\n params = {},\n nonce = true,\n options,\n cookieValueAsParam\n}) {\n const apiUrl = new URL(options.restRoot);\n const query = qs.parse(apiUrl.search);\n const permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n const foundParams = [];\n let path = location.path.replace(/:([A-Za-z0-9-_]+)/g, (match, group) => {\n foundParams.push(group);\n return params[group];\n });\n const getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (const checkParam of Object.keys(params)) {\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `querystringify` already\n }\n } // Calculate invalidator for cookie values\n\n\n if (cookieValueAsParam) {\n getParams._httpCookieInvalidate = sha1(JSON.stringify(cookieValueAsParam.map(Cookie.get)));\n } // Find parameters from passed location\n\n\n const {\n search: pathSearch,\n pathname: fixedPathName\n } = new URL(location.path, window.location.href);\n\n if (pathSearch) {\n const parsed = qs.parse(pathSearch);\n\n for (const pathSearchEntry in parsed) {\n getParams[pathSearchEntry] = parsed[pathSearchEntry];\n }\n\n path = fixedPathName;\n } // Force protocol from parent location\n\n\n apiUrl.protocol = window.location.protocol; // Set path depending on permalink settings\n\n const usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path;\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.pathname = usePath; // Set path\n } // Append WordPress REST nonce\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n } // Determine if non-GET verbs should always use `POST`\n\n\n applyQueryString(apiUrl, query);\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => apiUrl.toString().indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n applyQueryString(apiUrl, [{\n _method: location.method\n }], true);\n } // Build final search\n\n\n applyQueryString(apiUrl, [options.restQuery, getParams], true);\n return apiUrl.toString();\n}\n\nexport { commonUrlBuilder, applyQueryString, qs };","const pool = {};\nconst recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nasync function nonceDeprecationPool(nonce, restRecreateNonceEndpoint) {\n if (typeof restRecreateNonceEndpoint !== \"undefined\") {\n const resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise( // eslint-disable-next-line no-async-promise-executor\n async (resolve, reject) => {\n try {\n const recreateFetch = await window.fetch(restRecreateNonceEndpoint, {\n method: \"POST\"\n });\n\n if (recreateFetch.ok) {\n const newNonce = await recreateFetch.text();\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n } else {\n reject();\n }\n } catch (e) {\n reject();\n }\n });\n recreateFetchPool[nonce] = resultPromise;\n return resultPromise;\n } else {\n if (typeof nonce === \"undefined\") {\n return undefined;\n } // Wait until all nonces are refreshed\n\n\n await Promise.all(Object.values(recreateFetchPool));\n let returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n\n if (pool[returnNonce] === nonce) {\n break;\n }\n }\n\n return Promise.resolve(returnNonce);\n }\n}\n\nexport { nonceDeprecationPool };","import { RouteHttpVerb } from \".\";\nconst NOTICE_ID = \"notice-corrupt-rest-api\"; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nasync function addToNotice(namespace, onlyWhen = async () => {}) {\n const notice = document.getElementById(NOTICE_ID); // Only in backend and when a corrupt REST API detected\n\n if (notice) {\n // Already shown as \"defect\"?\n if (notice.querySelector(\"ul\").innerText.indexOf(namespace) > -1) {\n return;\n }\n\n try {\n await onlyWhen();\n } catch (e) {\n notice.style.display = \"block\";\n const li = document.createElement(\"li\");\n li.innerHTML = \"<code>\".concat(namespace, \"</code>\");\n notice.childNodes[1].appendChild(li);\n notice.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\"\n });\n }\n }\n}\n/**\n * Set a request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n *\n * Please consider the following:\n *\n * > The fetch() function will automatically throw an error for network errors but not for HTTP errors such as 4xx or 5xx responses.\n *\n * @see https://jasonwatmore.com/post/2021/10/09/fetch-error-handling-for-failed-http-responses-and-network-errors\n */\n\n\nfunction addCorruptRestApi({\n method\n}, addNamespaceImmediate) {\n if (method === RouteHttpVerb.GET) {\n if (addNamespaceImmediate) {\n addToNotice(addNamespaceImmediate, () => {\n throw new Error();\n });\n } else {\n window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1;\n window.dispatchEvent(new CustomEvent(NOTICE_ID));\n }\n }\n}\n/**\n * Register a new endpoint which needs to resolve to a valid JSON result. In this way we\n * can detect a corrupt REST API namespace e. g. it is blocked through a security plugin.\n *\n * This function needs to be called in `document.readyState < completed`!\n */\n\n\nfunction handleCorruptRestApi(resolve) {\n // Initially set\n window.detectCorruptRestApiFailed = window.detectCorruptRestApiFailed || 0; // Hide false-positives of previous failed REST requests which occurred due to page switch and bfcache (see CU-33tce0y)\n\n window.addEventListener(\"pageshow\", ({\n persisted\n }) => {\n const notice = document.getElementById(NOTICE_ID);\n\n if (notice && persisted && window.detectCorruptRestApiFailed === 0) {\n notice.style.display = \"none\";\n }\n });\n\n const fnCheck = async () => {\n // Only in backend and when a corrupt REST API detected\n if (window.detectCorruptRestApiFailed > 0) {\n for (const namespace of Object.keys(resolve)) {\n addToNotice(namespace, resolve[namespace]);\n }\n }\n };\n\n let checkTimeout;\n\n const fnThrottled = () => {\n clearTimeout(checkTimeout);\n checkTimeout = setTimeout(fnCheck, 1000);\n };\n\n fnThrottled();\n window.addEventListener(NOTICE_ID, fnThrottled);\n}\n/**\n * @deprecated For backwards-compatibility.\n */\n\n\nconst handleCorrupRestApi = handleCorruptRestApi;\nexport { addCorruptRestApi, handleCorruptRestApi, handleCorrupRestApi };","import { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nasync function parseResult(url, result, method) {\n // A `204 No content` response has no body, so we do not need to parse anything\n if (result.status === 204) {\n return {};\n }\n\n const cloneForFallback = result.clone();\n\n try {\n return await result.json();\n } catch (e) {\n // Something went wrong, try each line as result of a JSON string\n const body = await cloneForFallback.text(); // Respect empty responses for given verbs (DELETE, PUT)\n\n if (body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1) {\n return undefined;\n }\n\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body\n });\n let lastError;\n\n for (const line of body.split(\"\\n\")) {\n if (line.startsWith(\"[\") || line.startsWith(\"{\")) {\n try {\n return JSON.parse(line);\n } catch (e) {\n lastError = e;\n }\n }\n }\n\n throw lastError;\n }\n}\n\nexport { parseResult };","import { parseResult, nonceDeprecationPool, applyQueryString, commonUrlBuilder, RouteHttpVerb, addCorruptRestApi } from \".\";\nimport deepMerge from \"deepmerge\";\nimport jsonFormData from \"json-form-data\";\nconst CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nasync function commonRequest({\n location,\n options,\n request: routeRequest,\n params,\n settings = {},\n cookieValueAsParam,\n multipart = false,\n sendRestNonce = true\n}) {\n const namespace = location.namespace || options.restNamespace;\n const url = commonUrlBuilder({\n location,\n params,\n nonce: false,\n options,\n cookieValueAsParam\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => url.indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n const apiUrl = new URL(url);\n const allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n applyQueryString(apiUrl, [routeRequest], true);\n }\n\n const apiUrlBuilt = apiUrl.toString(); // Determine body\n\n let body;\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n const restNonce = await nonceDeprecationPool(options.restNonce);\n const hasRestNonce = typeof restNonce !== \"undefined\";\n const init = deepMerge.all([settings, {\n headers: { ...(typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}),\n ...(hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}),\n Accept: \"application/json, */*;q=0.1\"\n }\n }]);\n init.body = body; // Do not make body merge-able\n\n let result; // Detect page hide of browser which can lead to cancelled requests which throw an error.\n // In this case, we should not show the notice (see CU-33tce0y).\n\n let pageUnload = false;\n\n const pageUnloadListener = () => {\n pageUnload = true;\n };\n\n window.addEventListener(\"pagehide\", pageUnloadListener);\n window.addEventListener(\"beforeunload\", pageUnloadListener);\n\n try {\n result = await window.fetch(apiUrlBuilt, init);\n } catch (e) {\n // window.fetch does not throw by default, so there must be an error with the network or Ad-blocker\n if (!pageUnload) {\n addCorruptRestApi(settings, namespace);\n }\n\n console.error(e);\n throw e;\n } finally {\n window.removeEventListener(\"pagehide\", pageUnloadListener);\n window.removeEventListener(\"beforeunload\", pageUnloadListener);\n } // `window.fetch` does not throw an error if the server response an error code.\n\n\n if (!result.ok) {\n let responseJSON = undefined;\n let replay = false;\n\n try {\n responseJSON = await parseResult(apiUrlBuilt, result, location.method); // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce) {\n const {\n restRecreateNonceEndpoint\n } = options;\n\n try {\n await nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n replay = true;\n } catch (e) {// Silence is golden.\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n if (replay) {\n return await commonRequest({\n location,\n options,\n multipart,\n params,\n request: routeRequest,\n sendRestNonce: true,\n settings\n });\n }\n\n addCorruptRestApi(settings);\n const resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n }\n\n return parseResult(apiUrlBuilt, result, location.method);\n}\n\nexport { commonRequest };","import { commonUrlBuilder, commonRequest } from \"./\";\n/**\n * Create a uri builder and request function for your specific plugin depending\n * on the rest root and additional parameters.\n *\n * @param options\n * @see urlBuilder\n * @see request\n */\n\nfunction createRequestFactory(options) {\n const urlBuilder = passOptions => commonUrlBuilder({ ...passOptions,\n options: {\n restNamespace: options.restNamespace,\n restNonce: options.restNonce,\n restQuery: options.restQuery,\n restRoot: options.restRoot\n }\n });\n\n const request = passOptions => commonRequest({ ...passOptions,\n options: {\n restNamespace: options.restNamespace,\n restNonce: options.restNonce,\n restQuery: options.restQuery,\n restRoot: options.restRoot,\n restRecreateNonceEndpoint: options.restRecreateNonceEndpoint\n }\n });\n\n return {\n urlBuilder,\n request\n };\n}\n\nexport { createRequestFactory };","const __WEBPACK_NAMESPACE_OBJECT__ = wp['i18n'];","const __WEBPACK_NAMESPACE_OBJECT__ = wp;","// @see https://github.com/Automattic/wp-calypso/blob/master/packages/i18n-calypso/src/index.js\nimport interpolate from \"interpolate-components\";\nimport * as wpi18n from \"@wordpress/i18n\";\nimport wp from \"wp\";\n\nfunction sprintf(message, ...args) {\n return wpi18n.sprintf(message, ...args);\n}\n/**\n * Create multiple functions for a specific plugin so they can be localized.\n *\n * @param slug The slug which you have registered your i18n assets\n * @returns\n */\n\n\nfunction createLocalizationFactory(slug) {\n const {\n wpi18nLazy\n } = window;\n\n if (wpi18nLazy && wpi18nLazy[slug] && wp && wp.i18n) {\n for (const localeData of wpi18nLazy[slug]) {\n wp.i18n.setLocaleData(localeData, slug);\n }\n }\n /**\n * Translates and retrieves the singular or plural form based on the supplied number.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _n(single, plural, count, ...args) {\n return sprintf(wpi18n._n(single, plural, count, slug), ...args);\n }\n /**\n * Translates and retrieves the singular or plural form based on the supplied number, with gettext context.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _nx(single, plural, context, count, ...args) {\n return sprintf(wpi18n._nx(single, plural, count, context, slug), ...args);\n }\n /**\n * Retrieve translated string with gettext context.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _x(single, context, ...args) {\n return sprintf(wpi18n._x(single, context, slug), ...args);\n }\n /**\n * Retrieve the translation of text.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function __(single, ...args) {\n return sprintf(wpi18n.__(single, slug), ...args);\n }\n /**\n * This function allows you to interpolate react components to your translations.\n * You have to pass an already translated string as argument! For this you can use the other\n * i18n functions like _n() or __().\n *\n * A translation can look like this: \"Hello {{a}}click me{{/a}}.\" and you have to pass\n * a component with key \"a\".\n */\n\n\n function _i(translation, components) {\n return interpolate({\n mixedString: translation,\n components\n });\n }\n\n return {\n _n,\n _nx,\n _x,\n __,\n _i\n };\n}\n\nexport { createLocalizationFactory, sprintf };","import { RouteHttpVerb } from \"../factory\";\nexport const locationRestPluginGet = {\n path: \"/plugin\",\n method: RouteHttpVerb.GET\n};","const __WEBPACK_NAMESPACE_OBJECT__ = mobx;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _class2, _temp;\n\nimport { RouteHttpVerb } from \"../../factory\";\nimport { observable, flow } from \"mobx\";\nlet ClientCollection = (_class = (_temp = _class2 = class ClientCollection {\n constructor() {\n _initializerDefineProperty(this, \"entries\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busy\", _descriptor2, this);\n\n this.annotated = void 0;\n this.get = flow(function* (data) {\n const {\n request,\n params,\n clear = false\n } = data || {};\n this.busy = true;\n\n try {\n const {\n path,\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: RouteHttpVerb.GET,\n namespace\n },\n request,\n params\n }); // Save cookies as models\n\n clear && this.entries.clear();\n\n for (const row of response) {\n const instance = this.instance(row);\n const existing = this.entries.get(instance.key);\n\n if (!existing) {\n this.entries.set(instance.key, instance);\n } else {\n // Update stale data\n existing.data = instance.data;\n }\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.getSingle = flow(function* (data) {\n if (!this.annotated.singlePath) {\n throw new Error(\"There is no getSingle method allowed\");\n }\n\n const {\n request,\n params\n } = data || {};\n this.busy = true;\n\n try {\n const {\n singlePath,\n namespace\n } = this.annotated;\n const row = yield this.annotated.request({\n location: {\n path: singlePath,\n method: RouteHttpVerb.GET,\n namespace\n },\n request,\n params\n }); // Save cookie as model\n\n const instance = this.instance(row);\n this.entries.set(instance.key, instance);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n setTimeout(() => {\n if (!this.annotated) {\n console.error(\"You have not used the @ClientCollection.annotate annoation together with this class!\");\n }\n }, 0);\n }\n\n}, _class2.annotate = annotate => {\n return constructor => {\n return class extends constructor {\n constructor(...args) {\n super(...args);\n this.annotated = annotate;\n }\n\n };\n };\n}, _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"entries\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n})), _class);\nexport { ClientCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _class2, _temp;\n\nimport { RouteHttpVerb } from \"../../factory\";\nimport { observable, computed, set, flow, runInAction } from \"mobx\";\nlet ClientModel = (_class = (_temp = _class2 = class ClientModel {\n get key() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data[this.annotated.keyId];\n }\n\n constructor(collection, data = {}) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"collection\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"busy\", _descriptor3, this);\n\n this.annotated = void 0;\n this.persist = flow(function* (params) {\n if (!this.annotated.create) {\n throw new Error(\"There is no persist method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n create: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.POST,\n namespace\n },\n request: this.transformDataForPersist(),\n params: params || {}\n });\n this.fromResponse(response);\n this.collection.entries.set(this.key, this);\n this.afterPersist();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.patch = flow(function* (params) {\n if (!this.annotated.patch) {\n throw new Error(\"There is no patch method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n patch: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.PATCH,\n namespace\n },\n request: this.transformDataForPatch(),\n params: { ...{\n [this.annotated.keyId]: this.key\n },\n ...(params || {})\n }\n });\n this.fromResponse(response);\n this.afterPatch();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.delete = flow(function* (params) {\n if (!this.annotated.delete) {\n throw new Error(\"There is no delete method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n delete: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.DELETE,\n namespace\n },\n params: { ...{\n [this.annotated.keyId]: this.key\n },\n ...(params || {})\n }\n });\n this.collection.entries.delete(this.key);\n this.afterDelete();\n return response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n setTimeout(() => {\n if (!this.annotated) {\n console.error(\"You have not used the @ClientModel.annotate annoation together with this class!\");\n }\n }, 0);\n runInAction(() => {\n this.collection = collection;\n this.data = data;\n });\n }\n\n fromResponse(response) {\n set(this.data, response);\n return this;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n /**\n * Transform the class-hold data to POSTable data. This can be useful if e. g.\n * one property differs from the response property schema.\n */\n transformDataForPersist() {\n return this.data;\n }\n /**\n * Create your conditionals here and return only changed values.\n */\n\n\n transformDataForPatch() {\n throw new Error(\"If you want to use patch method, you need to implement transformDataForPatch!\");\n }\n\n afterPersist() {// Silence is golden.\n }\n\n afterPatch() {// Silence is golden.\n }\n\n afterDelete() {// Silence is golden.\n }\n\n}, _class2.annotate = annotate => constructor => {\n return class extends constructor {\n constructor(...args) {\n super(...args);\n this.annotated = annotate;\n }\n\n };\n}, _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {};\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"collection\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"key\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"key\"), _class.prototype)), _class);\nexport { ClientModel };","import { ClientModel } from \"..\";\n\nclass AbstractPost extends ClientModel {\n transformDataForPersist() {\n var _data$title, _data$content;\n\n const data = { ...super.transformDataForPersist()\n };\n data.title = (_data$title = data.title) === null || _data$title === void 0 ? void 0 : _data$title.rendered;\n data.content = (_data$content = data.content) === null || _data$content === void 0 ? void 0 : _data$content.rendered;\n delete data._links;\n delete data.link;\n return data;\n }\n\n transformDataForPatch() {\n return this.transformDataForPersist();\n }\n\n}\n\nexport { AbstractPost };","import { ClientCollection } from \"..\";\n\nclass AbstractPostCollection extends ClientCollection {}\n\nexport { AbstractPostCollection };","import { ClientModel } from \"..\";\n\nclass AbstractCategory extends ClientModel {\n transformDataForPersist() {\n const data = { ...super.transformDataForPersist()\n };\n delete data._links;\n delete data.link;\n return data;\n }\n\n transformDataForPatch() {\n return this.transformDataForPersist();\n }\n\n}\n\nexport { AbstractCategory };","import { ClientCollection } from \"..\";\n\nclass AbstractCategoryCollection extends ClientCollection {}\n\nexport { AbstractCategoryCollection };","import { useCallback, useEffect, useState } from \"react\";\nimport wp from \"wp\";\n/**\n * @param chunkFile Use `__webpack_get_script_filename__`\n */\n\nfunction useChunkTranslation(chunkFile, {\n chunks,\n publicUrl,\n textDomain,\n version\n}) {\n const suffixes = chunks[chunkFile.split(\"?\")[0]]; // We need to remove the query argument from `output.chunkFilename`\n\n const exists = !!suffixes;\n const [done, setDone] = useState(false);\n const fetchTranslationBySuffix = useCallback(async suffix => {\n // Do never load twice\n const w = window;\n w.wpi18nLazy = w.wpi18nLazy || {};\n w.wpi18nLazy.chunkUrls = w.wpi18nLazy.chunkUrls || [];\n const {\n chunkUrls\n } = w.wpi18nLazy;\n const urlToJson = \"\".concat(publicUrl, \"languages/json/\").concat(textDomain, \"-\").concat(suffix, \".json\");\n\n if (exists && chunkUrls.indexOf(urlToJson) === -1) {\n chunkUrls.push(urlToJson);\n\n try {\n const response = await window.fetch(\"\".concat(urlToJson, \"?ver=\").concat(version));\n const {\n locale_data: {\n messages\n }\n } = await response.json();\n wp.i18n.setLocaleData(messages, textDomain);\n } catch {// Silence is golden.\n }\n }\n }, [publicUrl, textDomain]);\n useEffect(() => {\n if (exists) {\n Promise.all(suffixes.map(fetchTranslationBySuffix)).then(() => {\n setDone(true);\n });\n } else {\n setDone(true);\n }\n }, [exists, fetchTranslationBySuffix]);\n return done;\n}\n\nexport { useChunkTranslation };","import { useChunkTranslation } from \"../hooks\";\n\nconst SuspenseChunkTranslation = ({\n children,\n chunkFile,\n fallback,\n options\n}) => {\n const done = useChunkTranslation(chunkFile, options());\n return /*#__PURE__*/React.createElement(React.Fragment, null, done ? children : fallback);\n};\n\nexport { SuspenseChunkTranslation };","module.exports = React;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_utils\"] = self[\"webpackChunkdevowlWp_utils\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(550)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","BaseOptions","constructor","this","slug","textDomain","version","restUrl","restNamespace","restRoot","restQuery","restNonce","restRecreateNonceEndpoint","publicUrl","chunkFolder","chunks","static","replace","g","toUpperCase","camelCase","slugCamelCase","untrailingslashit","str","endsWith","slice","trailingslashit","concat","getWebpackPublicPath","options","window","RouteHttpVerb","createContextFactory","object","StoreContext","createContext","StoreProvider","children","React","createElement","Provider","value","useStores","useContext","applyQueryString","url","query","merge","search","commonUrlBuilder","location","params","nonce","cookieValueAsParam","apiUrl","URL","permalinkPath","rest_route","pathname","foundParams","path","match","group","push","getParams","checkParam","Object","keys","indexOf","_httpCookieInvalidate","JSON","stringify","map","pathSearch","fixedPathName","href","parsed","pathSearchEntry","protocol","usePath","namespace","_wpnonce","filter","s","toString","length","method","GET","_method","pool","recreateFetchPool","async","nonceDeprecationPool","resultPromise","Promise","resolve","reject","recreateFetch","fetch","ok","newNonce","text","e","all","values","returnNonce","NOTICE_ID","addToNotice","onlyWhen","notice","document","getElementById","querySelector","innerText","style","display","li","innerHTML","childNodes","appendChild","scrollIntoView","behavior","block","inline","addCorruptRestApi","addNamespaceImmediate","Error","detectCorruptRestApiFailed","dispatchEvent","CustomEvent","handleCorruptRestApi","addEventListener","persisted","fnCheck","checkTimeout","fnThrottled","clearTimeout","setTimeout","handleCorrupRestApi","parseResult","result","status","cloneForFallback","clone","json","body","DELETE","PUT","lastError","console","warn","line","split","startsWith","parse","commonRequest","request","routeRequest","settings","multipart","sendRestNonce","POST","allowBody","apiUrlBuilt","hasRestNonce","init","headers","Accept","pageUnload","pageUnloadListener","error","removeEventListener","responseJSON","replay","code","resultAny","createRequestFactory","urlBuilder","passOptions","wp","sprintf","message","args","createLocalizationFactory","wpi18nLazy","localeData","_n","single","plural","count","_nx","context","_x","__","_i","translation","components","mixedString","locationRestPluginGet","mobx","_class","_descriptor","_descriptor2","_class2","_temp","ClientCollection","annotated","get","flow","data","clear","busy","response","entries","row","instance","existing","key","set","log","getSingle","singlePath","annotate","super","prototype","observable","configurable","enumerable","writable","initializer","Map","_descriptor3","ClientModel","_this$data","keyId","collection","persist","create","transformDataForPersist","fromResponse","afterPersist","patch","PATCH","transformDataForPatch","afterPatch","delete","afterDelete","runInAction","computed","getOwnPropertyDescriptor","AbstractPost","_data$title","_data$content","title","rendered","content","_links","link","AbstractPostCollection","AbstractCategory","AbstractCategoryCollection","useChunkTranslation","chunkFile","suffixes","exists","done","setDone","useState","fetchTranslationBySuffix","useCallback","w","chunkUrls","urlToJson","suffix","locale_data","messages","useEffect","then","SuspenseChunkTranslation","fallback","Fragment","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","obj","prop","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///./lib/options.tsx","webpack:///./lib/helpers.tsx","webpack:///./lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///./lib/factory/context.tsx","webpack:///./lib/factory/ajax/commonUrlBuilder.tsx","webpack:///./lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///./lib/factory/ajax/corruptRestApi.tsx","webpack:///./lib/factory/ajax/parseResult.tsx","webpack:///./lib/factory/ajax/commonRequest.tsx","webpack:///./lib/factory/ajax/createRequestFactory.tsx","webpack:///external var \"wp['i18n']\"","webpack:///external var \"wp\"","webpack:///./lib/factory/i18n.tsx","webpack:///./lib/wp-api/rest.plugin.get.tsx","webpack:///external var \"mobx\"","webpack:///./lib/wp-api/objects/clientCollection.tsx","webpack:///./lib/wp-api/objects/clientModel.tsx","webpack:///./lib/wp-api/objects/post/abstractPost.tsx","webpack:///./lib/wp-api/objects/post/abstractPostCollection.tsx","webpack:///./lib/wp-api/objects/post/abstractCategory.tsx","webpack:///./lib/wp-api/objects/post/abstractCategoryCollection.tsx","webpack:///./lib/hooks/useChunkTranslation.tsx","webpack:///./lib/components/suspenseChunkTranslation.tsx","webpack:///external var \"React\"","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * See PHP file inc/Assets.php.\n */\nclass BaseOptions {\n constructor() {\n this.slug = void 0;\n this.textDomain = void 0;\n this.version = void 0;\n this.restUrl = void 0;\n this.restNamespace = void 0;\n this.restRoot = void 0;\n this.restQuery = void 0;\n this.restNonce = void 0;\n this.restRecreateNonceEndpoint = void 0;\n this.publicUrl = void 0;\n this.chunkFolder = void 0;\n this.chunks = void 0;\n }\n\n /**\n * Convert a slug like \"my-plugin\" to \"myPlugin\". This can\n * be useful for library naming (window[\"\"] is bad because the hyphens).\n */\n static slugCamelCase(slug) {\n return slug.replace(/-([a-z])/g, g => g[1].toUpperCase());\n }\n /**\n * Get the slug from the current process (webpack) instead of the PHP plugin output.\n * For some cases you need to use that.\n */\n\n\n static getPureSlug(slug, camelCase = false) {\n return camelCase ? BaseOptions.slugCamelCase(slug) : slug;\n }\n\n}\n\nexport { BaseOptions };","const untrailingslashit = str => str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n\nconst trailingslashit = str => \"\".concat(untrailingslashit(str), \"/\"); // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env.slug);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nconst getWebpackPublicPath = slug => {\n const options = window[slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","import { createContext, useContext } from \"react\";\n/* istanbul ignore next: no logic in this factory! */\n\n/**\n * Create context relevant objects to use within React.\n *\n * @param object\n * @returns\n */\n\nfunction createContextFactory(object) {\n /**\n * MobX stores collection\n */\n const StoreContext = /*#__PURE__*/createContext(object);\n /**\n * MobX HOC to get the context via hook.\n *\n * @param children\n */\n\n const StoreProvider = ({\n children\n }) => /*#__PURE__*/React.createElement(StoreContext.Provider, {\n value: object\n }, children);\n /**\n * Get all the MobX stores via a single hook.\n */\n\n\n const useStores = () => useContext(StoreContext);\n\n return {\n StoreContext,\n StoreProvider,\n useStores\n };\n}\n\nexport { createContextFactory };","import { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport qs from \"querystringify\";\nimport Cookie from \"js-cookie\";\nimport sha1 from \"sha-1\";\n\nfunction applyQueryString(url, query, merge) {\n url.search = qs.stringify(merge ? deepMerge.all([qs.parse(url.search), ...query]) : query, true);\n return url;\n}\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\n\n\nfunction commonUrlBuilder({\n location,\n params = {},\n nonce = true,\n options,\n cookieValueAsParam\n}) {\n const {\n href\n } = window.location;\n const apiUrl = new URL(options.restRoot, href);\n const query = qs.parse(apiUrl.search);\n const permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n const foundParams = [];\n let path = location.path.replace(/:([A-Za-z0-9-_]+)/g, (match, group) => {\n foundParams.push(group);\n return params[group];\n });\n const getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (const checkParam of Object.keys(params)) {\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `querystringify` already\n }\n } // Calculate invalidator for cookie values\n\n\n if (cookieValueAsParam) {\n getParams._httpCookieInvalidate = sha1(JSON.stringify(cookieValueAsParam.map(Cookie.get)));\n } // Find parameters from passed location\n\n\n const {\n search: pathSearch,\n pathname: fixedPathName\n } = new URL(location.path, href);\n\n if (pathSearch) {\n const parsed = qs.parse(pathSearch);\n\n for (const pathSearchEntry in parsed) {\n getParams[pathSearchEntry] = parsed[pathSearchEntry];\n }\n\n path = fixedPathName;\n } // Force protocol from parent location\n\n\n apiUrl.protocol = window.location.protocol; // Set path depending on permalink settings\n\n const usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path;\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.pathname = usePath; // Set path\n } // Append WordPress REST nonce\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n } // Determine if non-GET verbs should always use `POST`\n\n\n applyQueryString(apiUrl, query);\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => apiUrl.toString().indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n applyQueryString(apiUrl, [{\n _method: location.method\n }], true);\n } // Build final search\n\n\n applyQueryString(apiUrl, [options.restQuery, getParams], true);\n return apiUrl.toString();\n}\n\nexport { commonUrlBuilder, applyQueryString, qs };","const pool = {};\nconst recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nasync function nonceDeprecationPool(nonce, restRecreateNonceEndpoint) {\n if (typeof restRecreateNonceEndpoint !== \"undefined\") {\n const resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise( // eslint-disable-next-line no-async-promise-executor\n async (resolve, reject) => {\n try {\n const recreateFetch = await window.fetch(restRecreateNonceEndpoint, {\n method: \"POST\"\n });\n\n if (recreateFetch.ok) {\n const newNonce = await recreateFetch.text();\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n } else {\n reject();\n }\n } catch (e) {\n reject();\n }\n });\n recreateFetchPool[nonce] = resultPromise;\n return resultPromise;\n } else {\n if (typeof nonce === \"undefined\") {\n return undefined;\n } // Wait until all nonces are refreshed\n\n\n await Promise.all(Object.values(recreateFetchPool));\n let returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n\n if (pool[returnNonce] === nonce) {\n break;\n }\n }\n\n return Promise.resolve(returnNonce);\n }\n}\n\nexport { nonceDeprecationPool };","import { RouteHttpVerb } from \".\";\nconst NOTICE_ID = \"notice-corrupt-rest-api\";\nconst NOTICE_ATTRIBUTE_NAMESPACE = \"data-namespace\"; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nasync function addToNotice(namespace, onlyWhen = async () => {}) {\n const notice = document.getElementById(NOTICE_ID); // Only in backend and when a corrupt REST API detected\n // Completely ignore the offline state of the browser as this could happen when the\n // PC was in energy-save mode and started again\n\n if (notice && window.navigator.onLine) {\n // Already shown as \"defect\"?\n if (notice.querySelector(\"li[\".concat(NOTICE_ATTRIBUTE_NAMESPACE, \"=\\\"\").concat(namespace, \"\\\"]\"))) {\n return;\n }\n\n try {\n await onlyWhen();\n } catch (e) {\n notice.style.display = \"block\";\n const li = document.createElement(\"li\");\n li.setAttribute(NOTICE_ATTRIBUTE_NAMESPACE, namespace);\n li.innerHTML = \"<code>\".concat(namespace, \"</code>\");\n notice.childNodes[1].appendChild(li);\n notice.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n inline: \"nearest\"\n });\n }\n }\n}\n\nasync function removeCorruptRestApi(namespace) {\n const notice = document.getElementById(NOTICE_ID);\n\n if (notice) {\n const namespaceLine = notice.querySelector(\"li[\".concat(NOTICE_ATTRIBUTE_NAMESPACE, \"=\\\"\").concat(namespace, \"\\\"]\"));\n namespaceLine === null || namespaceLine === void 0 ? void 0 : namespaceLine.remove(); // Hide if necessary\n\n if (!notice.childNodes[1].childNodes.length) {\n notice.style.display = \"none\"; // Reset complete log\n\n const textarea = notice.querySelector(\"textarea\");\n\n if (textarea) {\n textarea.value = \"\";\n }\n }\n }\n}\n/**\n * Set a request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n *\n * Please consider the following:\n *\n * > The fetch() function will automatically throw an error for network errors but not for HTTP errors such as 4xx or 5xx responses.\n *\n * @see https://jasonwatmore.com/post/2021/10/09/fetch-error-handling-for-failed-http-responses-and-network-errors\n */\n\n\nfunction addCorruptRestApi({\n method\n}, addNamespaceImmediate) {\n if (method === RouteHttpVerb.GET) {\n if (addNamespaceImmediate) {\n addToNotice(addNamespaceImmediate, () => {\n throw new Error();\n });\n } else {\n window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1;\n window.dispatchEvent(new CustomEvent(NOTICE_ID));\n }\n }\n}\n\nfunction addCorruptRestApiLog({\n route,\n method,\n ms,\n response\n}) {\n const textarea = document.querySelector(\"#\".concat(NOTICE_ID, \" textarea\"));\n\n if (textarea) {\n const currentValue = textarea.value.split(\"\\n\").slice(0, 9);\n currentValue.unshift(\"[\".concat(new Date().toLocaleTimeString(), \"] [\").concat(method || \"GET\", \"] [\").concat(ms, \"ms] \").concat(route, \"; \").concat(response === null || response === void 0 ? void 0 : response.substr(0, 999)));\n textarea.value = currentValue.join(\"\\n\");\n }\n}\n/**\n * Register a new endpoint which needs to resolve to a valid JSON result. In this way we\n * can detect a corrupt REST API namespace e. g. it is blocked through a security plugin.\n *\n * This function needs to be called in `document.readyState < completed`!\n */\n\n\nfunction handleCorruptRestApi(resolve) {\n // Initially set\n window.detectCorruptRestApiFailed = window.detectCorruptRestApiFailed || 0; // Hide false-positives of previous failed REST requests which occurred due to page switch and bfcache (see CU-33tce0y)\n\n window.addEventListener(\"pageshow\", ({\n persisted\n }) => {\n const notice = document.getElementById(NOTICE_ID);\n\n if (notice && persisted && window.detectCorruptRestApiFailed === 0) {\n notice.style.display = \"none\";\n }\n });\n\n const fnCheck = async () => {\n // Only in backend and when a corrupt REST API detected\n if (window.detectCorruptRestApiFailed > 0) {\n for (const namespace of Object.keys(resolve)) {\n addToNotice(namespace, resolve[namespace]);\n }\n }\n };\n\n let checkTimeout;\n\n const fnThrottled = () => {\n clearTimeout(checkTimeout);\n checkTimeout = setTimeout(fnCheck, 1000);\n };\n\n fnThrottled();\n window.addEventListener(NOTICE_ID, fnThrottled);\n}\n/**\n * @deprecated For backwards-compatibility.\n */\n\n\nconst handleCorrupRestApi = handleCorruptRestApi;\nexport { addCorruptRestApi, addCorruptRestApiLog, removeCorruptRestApi, handleCorruptRestApi, handleCorrupRestApi };","import { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nasync function parseResult(url, result, method) {\n // A `204 No content` response has no body, so we do not need to parse anything\n if (result.status === 204) {\n return {};\n }\n\n const cloneForFallback = result.clone();\n\n try {\n return await result.json();\n } catch (e) {\n // Something went wrong, try each line as result of a JSON string\n const body = await cloneForFallback.text(); // Respect empty responses for given verbs (DELETE, PUT)\n\n if (body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1) {\n return undefined;\n }\n\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body\n });\n let lastError;\n\n for (const line of body.split(\"\\n\")) {\n if (line.startsWith(\"[\") || line.startsWith(\"{\")) {\n try {\n return JSON.parse(line);\n } catch (e) {\n lastError = e;\n }\n }\n }\n\n throw lastError;\n }\n}\n\nexport { parseResult };","import { parseResult, nonceDeprecationPool, applyQueryString, commonUrlBuilder, RouteHttpVerb, addCorruptRestApi, addCorruptRestApiLog, removeCorruptRestApi } from \".\";\nimport deepMerge from \"deepmerge\";\nimport jsonFormData from \"json-form-data\";\nconst CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nasync function commonRequest({\n location,\n options,\n request: routeRequest,\n params,\n settings = {},\n cookieValueAsParam,\n multipart = false,\n sendRestNonce = true\n}) {\n const namespace = location.namespace || options.restNamespace;\n const url = commonUrlBuilder({\n location,\n params,\n nonce: false,\n options,\n cookieValueAsParam\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => url.indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n const apiUrl = new URL(url, window.location.href);\n const allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n applyQueryString(apiUrl, [routeRequest], true);\n }\n\n const apiUrlBuilt = apiUrl.toString(); // Determine body\n\n let body;\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n const restNonce = await nonceDeprecationPool(options.restNonce);\n const hasRestNonce = typeof restNonce !== \"undefined\";\n const init = deepMerge.all([settings, {\n headers: { ...(typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}),\n ...(hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}),\n Accept: \"application/json, */*;q=0.1\"\n }\n }]);\n init.body = body; // Do not make body merge-able\n\n let result; // Detect page hide of browser which can lead to cancelled requests which throw an error.\n // In this case, we should not show the notice (see CU-33tce0y).\n\n let pageUnload = false;\n\n const pageUnloadListener = () => {\n pageUnload = true;\n };\n\n window.addEventListener(\"pagehide\", pageUnloadListener);\n window.addEventListener(\"beforeunload\", pageUnloadListener);\n const start = new Date().getTime();\n let ms;\n\n try {\n result = await window.fetch(apiUrlBuilt, init);\n ms = new Date().getTime() - start;\n removeCorruptRestApi(namespace);\n } catch (e) {\n // window.fetch does not throw by default, so there must be an error with the network or Ad-blocker\n ms = new Date().getTime() - start;\n\n if (!pageUnload) {\n addCorruptRestApiLog({\n method: location.method,\n route: apiUrl.pathname,\n ms,\n response: \"\".concat(e)\n });\n addCorruptRestApi(settings, namespace);\n }\n\n console.error(e);\n throw e;\n } finally {\n window.removeEventListener(\"pagehide\", pageUnloadListener);\n window.removeEventListener(\"beforeunload\", pageUnloadListener);\n } // `window.fetch` does not throw an error if the server response an error code.\n\n\n if (!result.ok) {\n let responseJSON = undefined;\n let replay = false;\n\n try {\n responseJSON = await parseResult(apiUrlBuilt, result, location.method); // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce) {\n const {\n restRecreateNonceEndpoint\n } = options;\n\n try {\n await nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n replay = true;\n } catch (e) {// Silence is golden.\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n if (replay) {\n return await commonRequest({\n location,\n options,\n multipart,\n params,\n request: routeRequest,\n sendRestNonce: true,\n settings\n });\n }\n\n addCorruptRestApiLog({\n method: location.method,\n route: apiUrl.pathname,\n ms,\n response: JSON.stringify(responseJSON)\n });\n addCorruptRestApi(settings);\n const resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n }\n\n return parseResult(apiUrlBuilt, result, location.method);\n}\n\nexport { commonRequest };","import { commonUrlBuilder, commonRequest } from \"./\";\n/**\n * Create a uri builder and request function for your specific plugin depending\n * on the rest root and additional parameters.\n *\n * @param options\n * @see urlBuilder\n * @see request\n */\n\nfunction createRequestFactory(options) {\n const urlBuilder = passOptions => commonUrlBuilder({ ...passOptions,\n options: {\n restNamespace: options.restNamespace,\n restNonce: options.restNonce,\n restQuery: options.restQuery,\n restRoot: options.restRoot\n }\n });\n\n const request = passOptions => commonRequest({ ...passOptions,\n options: {\n restNamespace: options.restNamespace,\n restNonce: options.restNonce,\n restQuery: options.restQuery,\n restRoot: options.restRoot,\n restRecreateNonceEndpoint: options.restRecreateNonceEndpoint\n }\n });\n\n return {\n urlBuilder,\n request\n };\n}\n\nexport { createRequestFactory };","const __WEBPACK_NAMESPACE_OBJECT__ = wp['i18n'];","const __WEBPACK_NAMESPACE_OBJECT__ = wp;","// @see https://github.com/Automattic/wp-calypso/blob/master/packages/i18n-calypso/src/index.js\nimport interpolate from \"interpolate-components\";\nimport * as wpi18n from \"@wordpress/i18n\";\nimport wp from \"wp\";\n\nfunction sprintf(message, ...args) {\n return wpi18n.sprintf(message, ...args);\n}\n/**\n * Create multiple functions for a specific plugin so they can be localized.\n *\n * @param slug The slug which you have registered your i18n assets\n * @returns\n */\n\n\nfunction createLocalizationFactory(slug) {\n const {\n wpi18nLazy\n } = window;\n\n if (wpi18nLazy && wpi18nLazy[slug] && wp && wp.i18n) {\n for (const localeData of wpi18nLazy[slug]) {\n wp.i18n.setLocaleData(localeData, slug);\n }\n }\n /**\n * Translates and retrieves the singular or plural form based on the supplied number.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _n(single, plural, count, ...args) {\n return sprintf(wpi18n._n(single, plural, count, slug), ...args);\n }\n /**\n * Translates and retrieves the singular or plural form based on the supplied number, with gettext context.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _nx(single, plural, context, count, ...args) {\n return sprintf(wpi18n._nx(single, plural, count, context, slug), ...args);\n }\n /**\n * Retrieve translated string with gettext context.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function _x(single, context, ...args) {\n return sprintf(wpi18n._x(single, context, slug), ...args);\n }\n /**\n * Retrieve the translation of text.\n * For arguments sprintf is used, see http://www.diveintojavascript.com/projects/javascript-sprintf for\n * specification and usage.\n *\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#_n\n * @see https://github.com/WordPress/gutenberg/tree/master/packages/i18n#sprintf\n */\n\n\n function __(single, ...args) {\n return sprintf(wpi18n.__(single, slug), ...args);\n }\n /**\n * This function allows you to interpolate react components to your translations.\n * You have to pass an already translated string as argument! For this you can use the other\n * i18n functions like _n() or __().\n *\n * A translation can look like this: \"Hello {{a}}click me{{/a}}.\" and you have to pass\n * a component with key \"a\".\n */\n\n\n function _i(translation, components) {\n return interpolate({\n mixedString: translation,\n components\n });\n }\n\n return {\n _n,\n _nx,\n _x,\n __,\n _i\n };\n}\n\nexport { createLocalizationFactory, sprintf };","import { RouteHttpVerb } from \"../factory\";\nexport const locationRestPluginGet = {\n path: \"/plugin\",\n method: RouteHttpVerb.GET\n};","const __WEBPACK_NAMESPACE_OBJECT__ = mobx;","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _class2, _temp;\n\nimport { RouteHttpVerb } from \"../../factory\";\nimport { observable, flow } from \"mobx\";\nlet ClientCollection = (_class = (_temp = _class2 = class ClientCollection {\n constructor() {\n _initializerDefineProperty(this, \"entries\", _descriptor, this);\n\n _initializerDefineProperty(this, \"busy\", _descriptor2, this);\n\n this.annotated = void 0;\n this.get = flow(function* (data) {\n const {\n request,\n params,\n clear = false\n } = data || {};\n this.busy = true;\n\n try {\n const {\n path,\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: RouteHttpVerb.GET,\n namespace\n },\n request,\n params\n }); // Save cookies as models\n\n clear && this.entries.clear();\n\n for (const row of response) {\n const instance = this.instance(row);\n const existing = this.entries.get(instance.key);\n\n if (!existing) {\n this.entries.set(instance.key, instance);\n } else {\n // Update stale data\n existing.data = instance.data;\n }\n }\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.getSingle = flow(function* (data) {\n if (!this.annotated.singlePath) {\n throw new Error(\"There is no getSingle method allowed\");\n }\n\n const {\n request,\n params\n } = data || {};\n this.busy = true;\n\n try {\n const {\n singlePath,\n namespace\n } = this.annotated;\n const row = yield this.annotated.request({\n location: {\n path: singlePath,\n method: RouteHttpVerb.GET,\n namespace\n },\n request,\n params\n }); // Save cookie as model\n\n const instance = this.instance(row);\n this.entries.set(instance.key, instance);\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n setTimeout(() => {\n if (!this.annotated) {\n console.error(\"You have not used the @ClientCollection.annotate annoation together with this class!\");\n }\n }, 0);\n }\n\n}, _class2.annotate = annotate => {\n return constructor => {\n return class extends constructor {\n constructor(...args) {\n super(...args);\n this.annotated = annotate;\n }\n\n };\n };\n}, _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"entries\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return new Map();\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n})), _class);\nexport { ClientCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _class2, _temp;\n\nimport { RouteHttpVerb } from \"../../factory\";\nimport { observable, computed, set, flow, runInAction } from \"mobx\";\nlet ClientModel = (_class = (_temp = _class2 = class ClientModel {\n get key() {\n var _this$data;\n\n return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data[this.annotated.keyId];\n }\n\n constructor(collection, data = {}) {\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"collection\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"busy\", _descriptor3, this);\n\n this.annotated = void 0;\n this.persist = flow(function* (params) {\n if (!this.annotated.create) {\n throw new Error(\"There is no persist method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n create: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.POST,\n namespace\n },\n request: this.transformDataForPersist(),\n params: params || {}\n });\n this.fromResponse(response);\n this.collection.entries.set(this.key, this);\n this.afterPersist();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.patch = flow(function* (params) {\n if (!this.annotated.patch) {\n throw new Error(\"There is no patch method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n patch: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.PATCH,\n namespace\n },\n request: this.transformDataForPatch(),\n params: { ...{\n [this.annotated.keyId]: this.key\n },\n ...(params || {})\n }\n });\n this.fromResponse(response);\n this.afterPatch();\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n this.delete = flow(function* (params) {\n if (!this.annotated.delete) {\n throw new Error(\"There is no delete method allowed\");\n }\n\n this.busy = true;\n\n try {\n const {\n delete: {\n path,\n method\n },\n namespace\n } = this.annotated;\n const response = yield this.annotated.request({\n location: {\n path,\n method: method || RouteHttpVerb.DELETE,\n namespace\n },\n params: { ...{\n [this.annotated.keyId]: this.key\n },\n ...(params || {})\n }\n });\n this.collection.entries.delete(this.key);\n this.afterDelete();\n return response;\n } catch (e) {\n console.log(e);\n throw e;\n } finally {\n this.busy = false;\n }\n });\n setTimeout(() => {\n if (!this.annotated) {\n console.error(\"You have not used the @ClientModel.annotate annoation together with this class!\");\n }\n }, 0);\n runInAction(() => {\n this.collection = collection;\n this.data = data;\n });\n }\n\n fromResponse(response) {\n set(this.data, response);\n return this;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n /**\n * Transform the class-hold data to POSTable data. This can be useful if e. g.\n * one property differs from the response property schema.\n */\n transformDataForPersist() {\n return this.data;\n }\n /**\n * Create your conditionals here and return only changed values.\n */\n\n\n transformDataForPatch() {\n throw new Error(\"If you want to use patch method, you need to implement transformDataForPatch!\");\n }\n\n afterPersist() {// Silence is golden.\n }\n\n afterPatch() {// Silence is golden.\n }\n\n afterDelete() {// Silence is golden.\n }\n\n}, _class2.annotate = annotate => constructor => {\n return class extends constructor {\n constructor(...args) {\n super(...args);\n this.annotated = annotate;\n }\n\n };\n}, _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return {};\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"collection\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function () {\n return false;\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"key\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"key\"), _class.prototype)), _class);\nexport { ClientModel };","import { ClientModel } from \"..\";\n\nclass AbstractPost extends ClientModel {\n transformDataForPersist() {\n var _data$title, _data$content;\n\n const data = { ...super.transformDataForPersist()\n };\n data.title = (_data$title = data.title) === null || _data$title === void 0 ? void 0 : _data$title.rendered;\n data.content = (_data$content = data.content) === null || _data$content === void 0 ? void 0 : _data$content.rendered;\n delete data._links;\n delete data.link;\n return data;\n }\n\n transformDataForPatch() {\n return this.transformDataForPersist();\n }\n\n}\n\nexport { AbstractPost };","import { ClientCollection } from \"..\";\n\nclass AbstractPostCollection extends ClientCollection {}\n\nexport { AbstractPostCollection };","import { ClientModel } from \"..\";\n\nclass AbstractCategory extends ClientModel {\n transformDataForPersist() {\n const data = { ...super.transformDataForPersist()\n };\n delete data._links;\n delete data.link;\n return data;\n }\n\n transformDataForPatch() {\n return this.transformDataForPersist();\n }\n\n}\n\nexport { AbstractCategory };","import { ClientCollection } from \"..\";\n\nclass AbstractCategoryCollection extends ClientCollection {}\n\nexport { AbstractCategoryCollection };","import { useCallback, useEffect, useState } from \"react\";\nimport wp from \"wp\";\n/**\n * @param chunkFile Use `__webpack_get_script_filename__`\n */\n\nfunction useChunkTranslation(chunkFile, {\n chunks,\n publicUrl,\n textDomain,\n version\n}) {\n const suffixes = chunks[chunkFile.split(\"?\")[0]]; // We need to remove the query argument from `output.chunkFilename`\n\n const exists = !!suffixes;\n const [done, setDone] = useState(false);\n const fetchTranslationBySuffix = useCallback(async suffix => {\n // Do never load twice\n const w = window;\n w.wpi18nLazy = w.wpi18nLazy || {};\n w.wpi18nLazy.chunkUrls = w.wpi18nLazy.chunkUrls || [];\n const {\n chunkUrls\n } = w.wpi18nLazy;\n const urlToJson = \"\".concat(publicUrl, \"languages/json/\").concat(textDomain, \"-\").concat(suffix, \".json\");\n\n if (exists && chunkUrls.indexOf(urlToJson) === -1) {\n chunkUrls.push(urlToJson);\n\n try {\n const response = await window.fetch(\"\".concat(urlToJson, \"?ver=\").concat(version));\n const {\n locale_data: {\n messages\n }\n } = await response.json();\n wp.i18n.setLocaleData(messages, textDomain);\n } catch {// Silence is golden.\n }\n }\n }, [publicUrl, textDomain]);\n useEffect(() => {\n if (exists) {\n Promise.all(suffixes.map(fetchTranslationBySuffix)).then(() => {\n setDone(true);\n });\n } else {\n setDone(true);\n }\n }, [exists, fetchTranslationBySuffix]);\n return done;\n}\n\nexport { useChunkTranslation };","import { useChunkTranslation } from \"../hooks\";\n\nconst SuspenseChunkTranslation = ({\n children,\n chunkFile,\n fallback,\n options\n}) => {\n const done = useChunkTranslation(chunkFile, options());\n return /*#__PURE__*/React.createElement(React.Fragment, null, done ? children : fallback);\n};\n\nexport { SuspenseChunkTranslation };","module.exports = React;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t826: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdevowlWp_utils\"] = self[\"webpackChunkdevowlWp_utils\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [764], () => (__webpack_require__(550)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","BaseOptions","constructor","this","slug","textDomain","version","restUrl","restNamespace","restRoot","restQuery","restNonce","restRecreateNonceEndpoint","publicUrl","chunkFolder","chunks","static","replace","g","toUpperCase","camelCase","slugCamelCase","untrailingslashit","str","endsWith","slice","trailingslashit","concat","getWebpackPublicPath","options","window","RouteHttpVerb","createContextFactory","object","StoreContext","createContext","StoreProvider","children","React","createElement","Provider","value","useStores","useContext","applyQueryString","url","query","merge","search","commonUrlBuilder","location","params","nonce","cookieValueAsParam","href","apiUrl","URL","permalinkPath","rest_route","pathname","foundParams","path","match","group","push","getParams","checkParam","Object","keys","indexOf","_httpCookieInvalidate","JSON","stringify","map","pathSearch","fixedPathName","parsed","pathSearchEntry","protocol","usePath","namespace","_wpnonce","filter","s","toString","length","method","GET","_method","pool","recreateFetchPool","async","nonceDeprecationPool","resultPromise","Promise","resolve","reject","recreateFetch","fetch","ok","newNonce","text","e","all","values","returnNonce","NOTICE_ID","NOTICE_ATTRIBUTE_NAMESPACE","addToNotice","onlyWhen","notice","document","getElementById","navigator","onLine","querySelector","style","display","li","setAttribute","innerHTML","childNodes","appendChild","scrollIntoView","behavior","block","inline","removeCorruptRestApi","namespaceLine","remove","textarea","addCorruptRestApi","addNamespaceImmediate","Error","detectCorruptRestApiFailed","dispatchEvent","CustomEvent","addCorruptRestApiLog","route","ms","response","currentValue","split","unshift","Date","toLocaleTimeString","substr","join","handleCorruptRestApi","addEventListener","persisted","fnCheck","checkTimeout","fnThrottled","clearTimeout","setTimeout","handleCorrupRestApi","parseResult","result","status","cloneForFallback","clone","json","body","DELETE","PUT","lastError","console","warn","line","startsWith","parse","commonRequest","request","routeRequest","settings","multipart","sendRestNonce","POST","allowBody","apiUrlBuilt","hasRestNonce","init","headers","Accept","pageUnload","pageUnloadListener","start","getTime","error","removeEventListener","responseJSON","replay","code","resultAny","createRequestFactory","urlBuilder","passOptions","wp","sprintf","message","args","createLocalizationFactory","wpi18nLazy","localeData","_n","single","plural","count","_nx","context","_x","__","_i","translation","components","mixedString","locationRestPluginGet","mobx","_class","_descriptor","_descriptor2","_class2","_temp","ClientCollection","annotated","get","flow","data","clear","busy","entries","row","instance","existing","key","set","log","getSingle","singlePath","annotate","super","prototype","observable","configurable","enumerable","writable","initializer","Map","_descriptor3","ClientModel","_this$data","keyId","collection","persist","create","transformDataForPersist","fromResponse","afterPersist","patch","PATCH","transformDataForPatch","afterPatch","delete","afterDelete","runInAction","computed","getOwnPropertyDescriptor","AbstractPost","_data$title","_data$content","title","rendered","content","_links","link","AbstractPostCollection","AbstractCategory","AbstractCategoryCollection","useChunkTranslation","chunkFile","suffixes","exists","done","setDone","useState","fetchTranslationBySuffix","useCallback","w","chunkUrls","urlToJson","suffix","locale_data","messages","useEffect","then","SuspenseChunkTranslation","fallback","Fragment","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","obj","prop","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""}
vendor/devowl-wp/utils/languages/backend/utils-de_AT.mo CHANGED
Binary file
vendor/devowl-wp/utils/languages/backend/utils-de_AT.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-11-08 07:30+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/devowl-wp-utils-"
8
- "backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -44,3 +44,11 @@ msgstr ""
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-12-12 09:43+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "devowl-wp-utils-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
47
+
48
+ #: Service.php:1
49
+ msgid ""
50
+ "In the text box below you will find a technical listing of the last 10 "
51
+ "failed network requests:"
52
+ msgstr ""
53
+ "In dem Textfeld unten findest du eine technische Auflistung der letzten 10 "
54
+ "fehlgeschlagenen Netzwerkanfragen:"
vendor/devowl-wp/utils/languages/backend/utils-de_CH.mo CHANGED
Binary file
vendor/devowl-wp/utils/languages/backend/utils-de_CH.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-11-08 07:30+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/devowl-wp-utils-"
8
- "backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -44,3 +44,11 @@ msgstr ""
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-12-12 09:43+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "devowl-wp-utils-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
47
+
48
+ #: Service.php:1
49
+ msgid ""
50
+ "In the text box below you will find a technical listing of the last 10 "
51
+ "failed network requests:"
52
+ msgstr ""
53
+ "In dem Textfeld unten findest du eine technische Auflistung der letzten 10 "
54
+ "fehlgeschlagenen Netzwerkanfragen:"
vendor/devowl-wp/utils/languages/backend/utils-de_CH_informal.mo CHANGED
Binary file
vendor/devowl-wp/utils/languages/backend/utils-de_CH_informal.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-11-08 07:30+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/devowl-wp-utils-"
8
- "backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -44,3 +44,11 @@ msgstr ""
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-12-12 09:43+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "devowl-wp-utils-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
47
+
48
+ #: Service.php:1
49
+ msgid ""
50
+ "In the text box below you will find a technical listing of the last 10 "
51
+ "failed network requests:"
52
+ msgstr ""
53
+ "In dem Textfeld unten findest du eine technische Auflistung der letzten 10 "
54
+ "fehlgeschlagenen Netzwerkanfragen:"
vendor/devowl-wp/utils/languages/backend/utils-de_DE.mo CHANGED
Binary file
vendor/devowl-wp/utils/languages/backend/utils-de_DE.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2022-11-08 07:30+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/devowl-wp-utils-"
8
- "backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -44,3 +44,11 @@ msgstr ""
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: \n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2022-12-12 09:43+0000\n"
6
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/"
8
+ "devowl-wp-utils-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
44
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
45
  msgstr ""
46
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
47
+
48
+ #: Service.php:1
49
+ msgid ""
50
+ "In the text box below you will find a technical listing of the last 10 "
51
+ "failed network requests:"
52
+ msgstr ""
53
+ "In dem Textfeld unten findest du eine technische Auflistung der letzten 10 "
54
+ "fehlgeschlagenen Netzwerkanfragen:"
vendor/devowl-wp/utils/languages/backend/utils-de_DE_formal.mo CHANGED
Binary file
vendor/devowl-wp/utils/languages/backend/utils-de_DE_formal.po CHANGED
@@ -3,10 +3,10 @@ msgstr ""
3
  "Project-Id-Version: n/a\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: n/a\n"
6
- "PO-Revision-Date: 2022-11-08 07:30+0000\n"
7
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
8
- "Language-Team: German (formal) <https://translate.devowl.io/projects/devowl-"
9
- "wp-utils-backend-php/develop/de@formal/>\n"
10
  "Language: de_DE_formal\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -45,3 +45,11 @@ msgstr ""
45
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
46
  msgstr ""
47
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
 
 
 
 
 
 
 
 
3
  "Project-Id-Version: n/a\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: n/a\n"
6
+ "PO-Revision-Date: 2022-12-12 09:43+0000\n"
7
  "Last-Translator: Matthias Günter <matthias.guenter@devowl.io>\n"
8
+ "Language-Team: German (formal) <https://translate.devowl.io/projects/"
9
+ "devowl-wp-utils-backend-php/develop/de@formal/>\n"
10
  "Language: de_DE_formal\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
45
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
46
  msgstr ""
47
  "https://devowl.io/de/wissensdatenbank/wordpress-rest-api-antwortet-nicht/"
48
+
49
+ #: Service.php:1
50
+ msgid ""
51
+ "In the text box below you will find a technical listing of the last 10 "
52
+ "failed network requests:"
53
+ msgstr ""
54
+ "In dem Textfeld unten finden Sie eine technische Auflistung der letzten 10 "
55
+ "fehlgeschlagenen Netzwerkanfragen:"
vendor/devowl-wp/utils/languages/backend/utils-ru_RU.po CHANGED
@@ -46,3 +46,9 @@ msgstr "Что такое API REST WordPress и как его включить?
46
  #: Service.php:1
47
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
48
  msgstr "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
 
 
 
 
 
 
46
  #: Service.php:1
47
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
48
  msgstr "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
49
+
50
+ #: Service.php:1
51
+ msgid ""
52
+ "In the text box below you will find a technical listing of the last 10 "
53
+ "failed network requests:"
54
+ msgstr ""
vendor/devowl-wp/utils/languages/backend/utils.pot CHANGED
@@ -24,3 +24,7 @@ msgstr ""
24
  #: Service.php:1
25
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
26
  msgstr ""
 
 
 
 
24
  #: Service.php:1
25
  msgid "https://devowl.io/knowledge-base/wordpress-rest-api-does-not-respond/"
26
  msgstr ""
27
+
28
+ #: Service.php:1
29
+ msgid "In the text box below you will find a technical listing of the last 10 failed network requests:"
30
+ msgstr ""
vendor/devowl-wp/utils/package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@devowl-wp/utils",
3
- "version": "1.12.24",
4
  "private": true,
5
  "description": "Utility functionality for all your WordPress plugins.",
6
  "homepage": "https://devowl.io",
@@ -103,17 +103,17 @@
103
  "sha-1": "~1.0.0"
104
  },
105
  "devDependencies": {
106
- "@devowl-wp/composer-licenses": "^0.1.7",
107
- "@devowl-wp/continuous-integration": "^0.2.4",
108
- "@devowl-wp/eslint-config": "^0.1.7",
109
- "@devowl-wp/grunt-continuous-localization": "^0.4.7",
110
- "@devowl-wp/grunt-workspaces": "^0.2.4",
111
- "@devowl-wp/node-gitlab-ci": "^0.5.3",
112
- "@devowl-wp/npm-licenses": "^0.1.7",
113
- "@devowl-wp/phpcs-config": "^0.1.4",
114
- "@devowl-wp/phpunit-config": "^0.1.4",
115
  "@devowl-wp/ts-config": "^0.1.6",
116
- "@devowl-wp/webpack-config": "^0.2.5",
117
  "@types/concurrently": "~6.0.1",
118
  "@types/cypress-cucumber-preprocessor": "~4.0.0",
119
  "@types/enzyme-adapter-react-16": "~1.0.6",
1
  {
2
  "name": "@devowl-wp/utils",
3
+ "version": "1.12.25",
4
  "private": true,
5
  "description": "Utility functionality for all your WordPress plugins.",
6
  "homepage": "https://devowl.io",
103
  "sha-1": "~1.0.0"
104
  },
105
  "devDependencies": {
106
+ "@devowl-wp/composer-licenses": "^0.1.8",
107
+ "@devowl-wp/continuous-integration": "^0.2.5",
108
+ "@devowl-wp/eslint-config": "^0.1.8",
109
+ "@devowl-wp/grunt-continuous-localization": "^0.4.8",
110
+ "@devowl-wp/grunt-workspaces": "^0.2.5",
111
+ "@devowl-wp/node-gitlab-ci": "^0.5.4",
112
+ "@devowl-wp/npm-licenses": "^0.1.8",
113
+ "@devowl-wp/phpcs-config": "^0.1.5",
114
+ "@devowl-wp/phpunit-config": "^0.1.5",
115
  "@devowl-wp/ts-config": "^0.1.6",
116
+ "@devowl-wp/webpack-config": "^0.2.6",
117
  "@types/concurrently": "~6.0.1",
118
  "@types/cypress-cucumber-preprocessor": "~4.0.0",
119
  "@types/enzyme-adapter-react-16": "~1.0.6",
vendor/devowl-wp/utils/src/Service.php CHANGED
@@ -74,7 +74,7 @@ class Service {
74
  $GLOBALS[self::NOTICE_CORRUPT_REST_API_ID] = \true;
75
  $securityPlugins = $this->getSecurityPlugins();
76
  echo \sprintf(
77
- '<div id="notice-corrupt-rest-api" class="hidden notice notice-warning" style="display:none;"><p>%s</p><ul style="list-style:circle;margin-left:30px;"></ul><p>%s</p></div>',
78
  \sprintf(
79
  // translators:
80
  __(
@@ -95,7 +95,8 @@ class Service {
95
  ) .
96
  '" target="_blank" rel="noreferrer">',
97
  '</a>'
98
- )
 
99
  );
100
  }
101
  }
74
  $GLOBALS[self::NOTICE_CORRUPT_REST_API_ID] = \true;
75
  $securityPlugins = $this->getSecurityPlugins();
76
  echo \sprintf(
77
+ '<div id="notice-corrupt-rest-api" class="hidden notice notice-warning" style="display:none;"><p>%s</p><ul style="list-style:circle;margin-left:30px;"></ul><p>%s</p><p>%s</p><textarea readonly="readonly" style="width:100%%;margin-bottom:5px;" rows="4"></textarea></div>',
78
  \sprintf(
79
  // translators:
80
  __(
95
  ) .
96
  '" target="_blank" rel="noreferrer">',
97
  '</a>'
98
+ ),
99
+ __('In the text box below you will find a technical listing of the last 10 failed network requests:')
100
  );
101
  }
102
  }