languagetool-widget 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CODE_OF_CONDUCT.md +132 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +62 -0
  6. data/Rakefile +8 -0
  7. data/assets/fonts/Roboto-Mono-latin-bold.woff2 +0 -0
  8. data/assets/fonts/Source-Sans-Pro-cycrillic-bold-mac.woff2 +0 -0
  9. data/assets/fonts/Source-Sans-Pro-cycrillic-bold-win.woff2 +0 -0
  10. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-mac.woff2 +0 -0
  11. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-bold-win.woff2 +0 -0
  12. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-mac.woff2 +0 -0
  13. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-mac.woff2 +0 -0
  14. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-semi-bold-win.woff2 +0 -0
  15. data/assets/fonts/Source-Sans-Pro-cycrillic-ext-win.woff2 +0 -0
  16. data/assets/fonts/Source-Sans-Pro-cycrillic-mac.woff2 +0 -0
  17. data/assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-mac.woff2 +0 -0
  18. data/assets/fonts/Source-Sans-Pro-cycrillic-semi-bold-win.woff2 +0 -0
  19. data/assets/fonts/Source-Sans-Pro-cycrillic-win.woff2 +0 -0
  20. data/assets/fonts/Source-Sans-Pro-greek-bold-mac.woff2 +0 -0
  21. data/assets/fonts/Source-Sans-Pro-greek-bold-win.woff2 +0 -0
  22. data/assets/fonts/Source-Sans-Pro-greek-ext-bold-mac.woff2 +0 -0
  23. data/assets/fonts/Source-Sans-Pro-greek-ext-bold-win.woff2 +0 -0
  24. data/assets/fonts/Source-Sans-Pro-greek-ext-mac.woff2 +0 -0
  25. data/assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-mac.woff2 +0 -0
  26. data/assets/fonts/Source-Sans-Pro-greek-ext-semi-bold-win.woff2 +0 -0
  27. data/assets/fonts/Source-Sans-Pro-greek-ext-win.woff2 +0 -0
  28. data/assets/fonts/Source-Sans-Pro-greek-mac.woff2 +0 -0
  29. data/assets/fonts/Source-Sans-Pro-greek-semi-bold-mac.woff2 +0 -0
  30. data/assets/fonts/Source-Sans-Pro-greek-semi-bold-win.woff2 +0 -0
  31. data/assets/fonts/Source-Sans-Pro-greek-win.woff2 +0 -0
  32. data/assets/fonts/Source-Sans-Pro-latin-bold-mac.woff2 +0 -0
  33. data/assets/fonts/Source-Sans-Pro-latin-bold-win.woff2 +0 -0
  34. data/assets/fonts/Source-Sans-Pro-latin-ext-bold-mac.woff2 +0 -0
  35. data/assets/fonts/Source-Sans-Pro-latin-ext-bold-win.woff2 +0 -0
  36. data/assets/fonts/Source-Sans-Pro-latin-ext-mac.woff2 +0 -0
  37. data/assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-mac.woff2 +0 -0
  38. data/assets/fonts/Source-Sans-Pro-latin-ext-semi-bold-win.woff2 +0 -0
  39. data/assets/fonts/Source-Sans-Pro-latin-ext-win.woff2 +0 -0
  40. data/assets/fonts/Source-Sans-Pro-latin-mac.woff2 +0 -0
  41. data/assets/fonts/Source-Sans-Pro-latin-semi-bold-mac.woff2 +0 -0
  42. data/assets/fonts/Source-Sans-Pro-latin-semi-bold-win.woff2 +0 -0
  43. data/assets/fonts/Source-Sans-Pro-latin-win.woff2 +0 -0
  44. data/assets/fonts/Source-Sans-Pro-vietnamese-bold-mac.woff2 +0 -0
  45. data/assets/fonts/Source-Sans-Pro-vietnamese-bold-win.woff2 +0 -0
  46. data/assets/fonts/Source-Sans-Pro-vietnamese-mac.woff2 +0 -0
  47. data/assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-mac.woff2 +0 -0
  48. data/assets/fonts/Source-Sans-Pro-vietnamese-semi-bold-win.woff2 +0 -0
  49. data/assets/fonts/Source-Sans-Pro-vietnamese-win.woff2 +0 -0
  50. data/assets/images/16/black/add_on_icon_16_ai.svg +3 -0
  51. data/assets/images/16/black/add_on_icon_16_black_logo.svg +1 -0
  52. data/assets/images/16/black/add_on_icon_16_missing.svg +3 -0
  53. data/assets/images/16/black/add_on_icon_16_scissors.svg +6 -0
  54. data/assets/images/16/special/add_on_icon_16_ai.svg +3 -0
  55. data/assets/images/16/special/add_on_icon_16_blue_picky.svg +1 -0
  56. data/assets/images/16/special/add_on_icon_16_premium.svg +1 -0
  57. data/assets/images/16/special/add_on_icon_16_special_switch_active.svg +1 -0
  58. data/assets/images/16/special/add_on_icon_16_special_switch_inactive.svg +1 -0
  59. data/assets/images/16/white/add_on_icon_16_white_logo.svg +1 -0
  60. data/assets/images/16/white/add_on_icon_16_white_switch_active.svg +1 -0
  61. data/assets/images/16/white/add_on_icon_16_white_switch_inactive.svg +1 -0
  62. data/assets/images/20/black/add_on_icon_20_black_add.svg +1 -0
  63. data/assets/images/20/black/add_on_icon_20_black_add_circle.svg +1 -0
  64. data/assets/images/20/black/add_on_icon_20_black_basic_error.svg +1 -0
  65. data/assets/images/20/black/add_on_icon_20_black_blocked.svg +1 -0
  66. data/assets/images/20/black/add_on_icon_20_black_bookmark.svg +1 -0
  67. data/assets/images/20/black/add_on_icon_20_black_check.svg +3 -0
  68. data/assets/images/20/black/add_on_icon_20_black_check_circle.svg +1 -0
  69. data/assets/images/20/black/add_on_icon_20_black_chevron_down.svg +1 -0
  70. data/assets/images/20/black/add_on_icon_20_black_chevron_right.svg +1 -0
  71. data/assets/images/20/black/add_on_icon_20_black_chevron_up.svg +1 -0
  72. data/assets/images/20/black/add_on_icon_20_black_close_circle.svg +1 -0
  73. data/assets/images/20/black/add_on_icon_20_black_close_filled.svg +1 -0
  74. data/assets/images/20/black/add_on_icon_20_black_close_small.svg +1 -0
  75. data/assets/images/20/black/add_on_icon_20_black_dictionary.svg +1 -0
  76. data/assets/images/20/black/add_on_icon_20_black_disable.svg +3 -0
  77. data/assets/images/20/black/add_on_icon_20_black_disable_circle.svg +1 -0
  78. data/assets/images/20/black/add_on_icon_20_black_disabled_website.svg +1 -0
  79. data/assets/images/20/black/add_on_icon_20_black_experimental_settings.svg +1 -0
  80. data/assets/images/20/black/add_on_icon_20_black_feedback.svg +1 -0
  81. data/assets/images/20/black/add_on_icon_20_black_gear.svg +1 -0
  82. data/assets/images/20/black/add_on_icon_20_black_glasses.svg +1 -0
  83. data/assets/images/20/black/add_on_icon_20_black_globe.svg +1 -0
  84. data/assets/images/20/black/add_on_icon_20_black_help.svg +1 -0
  85. data/assets/images/20/black/add_on_icon_20_black_info.svg +1 -0
  86. data/assets/images/20/black/add_on_icon_20_black_locked.svg +1 -0
  87. data/assets/images/20/black/add_on_icon_20_black_new_window.svg +1 -0
  88. data/assets/images/20/black/add_on_icon_20_black_pause.svg +1 -0
  89. data/assets/images/20/black/add_on_icon_20_black_privacy.svg +3 -0
  90. data/assets/images/20/black/add_on_icon_20_black_reload.svg +5 -0
  91. data/assets/images/20/black/add_on_icon_20_black_save.svg +1 -0
  92. data/assets/images/20/black/add_on_icon_20_black_synonyms.svg +1 -0
  93. data/assets/images/20/black/add_on_icon_20_black_trash.svg +1 -0
  94. data/assets/images/20/black/add_on_icon_20_black_uppercase_ignore.svg +1 -0
  95. data/assets/images/20/black/add_on_icon_20_black_user_statistics.svg +7 -0
  96. data/assets/images/20/black/add_on_icon_20_black_view_default.svg +1 -0
  97. data/assets/images/20/black/add_on_icon_20_black_view_left.svg +1 -0
  98. data/assets/images/20/black/add_on_icon_20_black_view_right.svg +1 -0
  99. data/assets/images/20/black/add_on_icon_20_black_view_scroll.svg +1 -0
  100. data/assets/images/20/special/add_on_icon_20_blue_arrow_down.svg +1 -0
  101. data/assets/images/20/special/add_on_icon_20_blue_arrow_left.svg +4 -0
  102. data/assets/images/20/special/add_on_icon_20_blue_arrow_right.svg +4 -0
  103. data/assets/images/20/special/add_on_icon_20_blue_check.svg +1 -0
  104. data/assets/images/20/special/add_on_icon_20_blue_chevron_down.svg +1 -0
  105. data/assets/images/20/special/add_on_icon_20_blue_expand.svg +1 -0
  106. data/assets/images/20/special/add_on_icon_20_blue_insert.svg +3 -0
  107. data/assets/images/20/special/add_on_icon_20_blue_narrow_down.svg +1 -0
  108. data/assets/images/20/special/add_on_icon_20_color_logo.svg +1 -0
  109. data/assets/images/20/special/add_on_icon_20_orange_check.svg +1 -0
  110. data/assets/images/20/special/add_on_icon_20_premium.svg +3 -0
  111. data/assets/images/20/white/add_on_icon_20_white_add.svg +1 -0
  112. data/assets/images/20/white/add_on_icon_20_white_add_circle.svg +1 -0
  113. data/assets/images/20/white/add_on_icon_20_white_basic_error.svg +1 -0
  114. data/assets/images/20/white/add_on_icon_20_white_blocked.svg +1 -0
  115. data/assets/images/20/white/add_on_icon_20_white_bookmark.svg +1 -0
  116. data/assets/images/20/white/add_on_icon_20_white_check.svg +3 -0
  117. data/assets/images/20/white/add_on_icon_20_white_check_circle.svg +1 -0
  118. data/assets/images/20/white/add_on_icon_20_white_chevron_down.svg +1 -0
  119. data/assets/images/20/white/add_on_icon_20_white_chevron_up.svg +1 -0
  120. data/assets/images/20/white/add_on_icon_20_white_close_circle.svg +1 -0
  121. data/assets/images/20/white/add_on_icon_20_white_close_filled.svg +1 -0
  122. data/assets/images/20/white/add_on_icon_20_white_close_small.svg +1 -0
  123. data/assets/images/20/white/add_on_icon_20_white_dictionary.svg +1 -0
  124. data/assets/images/20/white/add_on_icon_20_white_disable.svg +3 -0
  125. data/assets/images/20/white/add_on_icon_20_white_disable_circle.svg +1 -0
  126. data/assets/images/20/white/add_on_icon_20_white_disabled_website.svg +1 -0
  127. data/assets/images/20/white/add_on_icon_20_white_expand.svg +1 -0
  128. data/assets/images/20/white/add_on_icon_20_white_experimental_settings.svg +1 -0
  129. data/assets/images/20/white/add_on_icon_20_white_feedback.svg +1 -0
  130. data/assets/images/20/white/add_on_icon_20_white_gear.svg +1 -0
  131. data/assets/images/20/white/add_on_icon_20_white_glasses.svg +1 -0
  132. data/assets/images/20/white/add_on_icon_20_white_globe.svg +1 -0
  133. data/assets/images/20/white/add_on_icon_20_white_help.svg +1 -0
  134. data/assets/images/20/white/add_on_icon_20_white_info.svg +1 -0
  135. data/assets/images/20/white/add_on_icon_20_white_locked.svg +1 -0
  136. data/assets/images/20/white/add_on_icon_20_white_lt.svg +1 -0
  137. data/assets/images/20/white/add_on_icon_20_white_narrow_down.svg +1 -0
  138. data/assets/images/20/white/add_on_icon_20_white_new_window.svg +1 -0
  139. data/assets/images/20/white/add_on_icon_20_white_pause.svg +1 -0
  140. data/assets/images/20/white/add_on_icon_20_white_premium.svg +3 -0
  141. data/assets/images/20/white/add_on_icon_20_white_privacy.svg +3 -0
  142. data/assets/images/20/white/add_on_icon_20_white_reload.svg +5 -0
  143. data/assets/images/20/white/add_on_icon_20_white_rephrasing.svg +3 -0
  144. data/assets/images/20/white/add_on_icon_20_white_save.svg +1 -0
  145. data/assets/images/20/white/add_on_icon_20_white_synonyms.svg +1 -0
  146. data/assets/images/20/white/add_on_icon_20_white_trash.svg +1 -0
  147. data/assets/images/20/white/add_on_icon_20_white_uppercase_ignore.svg +1 -0
  148. data/assets/images/20/white/add_on_icon_20_white_user_statistics.svg +7 -0
  149. data/assets/images/20/white/add_on_icon_20_white_view_default.svg +1 -0
  150. data/assets/images/20/white/add_on_icon_20_white_view_left.svg +1 -0
  151. data/assets/images/20/white/add_on_icon_20_white_view_right.svg +1 -0
  152. data/assets/images/20/white/add_on_icon_20_white_view_scroll-to.svg +1 -0
  153. data/assets/images/20/white/add_on_icon_20_white_view_scroll.svg +1 -0
  154. data/assets/images/backgrounds/background-skeleton-loading-dark-mode.webp +0 -0
  155. data/assets/images/backgrounds/background-skeleton-loading.webp +0 -0
  156. data/assets/images/backgrounds/elements.svg +1 -0
  157. data/assets/images/card-drag-handle.svg +3 -0
  158. data/assets/images/favicon.ico +0 -0
  159. data/assets/images/flags/ar.svg +1 -0
  160. data/assets/images/flags/ast-es.svg +1 -0
  161. data/assets/images/flags/be-by.svg +1 -0
  162. data/assets/images/flags/br-fr.svg +1 -0
  163. data/assets/images/flags/ca-es-valencia.svg +1 -0
  164. data/assets/images/flags/ca-es.svg +1 -0
  165. data/assets/images/flags/da-dk.svg +1 -0
  166. data/assets/images/flags/de-at.svg +1 -0
  167. data/assets/images/flags/de-ch.svg +1 -0
  168. data/assets/images/flags/de-de.svg +1 -0
  169. data/assets/images/flags/el-gr.svg +1 -0
  170. data/assets/images/flags/en-au.svg +1 -0
  171. data/assets/images/flags/en-ca.svg +1 -0
  172. data/assets/images/flags/en-gb.svg +1 -0
  173. data/assets/images/flags/en-nz.svg +1 -0
  174. data/assets/images/flags/en-us.svg +1 -0
  175. data/assets/images/flags/en-za.svg +1 -0
  176. data/assets/images/flags/eo.svg +1 -0
  177. data/assets/images/flags/es.svg +1 -0
  178. data/assets/images/flags/eu.svg +1 -0
  179. data/assets/images/flags/fa.svg +1 -0
  180. data/assets/images/flags/fr.svg +1 -0
  181. data/assets/images/flags/ga-ie.svg +1 -0
  182. data/assets/images/flags/gl-es.svg +1 -0
  183. data/assets/images/flags/globe_dark.svg +1 -0
  184. data/assets/images/flags/globe_white.svg +1 -0
  185. data/assets/images/flags/it.svg +1 -0
  186. data/assets/images/flags/ja-jp.svg +1 -0
  187. data/assets/images/flags/km-kh.svg +1 -0
  188. data/assets/images/flags/nl.svg +1 -0
  189. data/assets/images/flags/no.svg +1 -0
  190. data/assets/images/flags/not_found.svg +1 -0
  191. data/assets/images/flags/oc.svg +1 -0
  192. data/assets/images/flags/pl-pl.svg +1 -0
  193. data/assets/images/flags/pt-ao.svg +1 -0
  194. data/assets/images/flags/pt-br.svg +1 -0
  195. data/assets/images/flags/pt-mz.svg +1 -0
  196. data/assets/images/flags/pt-pt.svg +1 -0
  197. data/assets/images/flags/ro-ro.svg +1 -0
  198. data/assets/images/flags/ru-ru.svg +1 -0
  199. data/assets/images/flags/sk-sk.svg +1 -0
  200. data/assets/images/flags/sl-si.svg +1 -0
  201. data/assets/images/flags/sv.svg +1 -0
  202. data/assets/images/flags/ta-in.svg +1 -0
  203. data/assets/images/flags/tl-ph.svg +1 -0
  204. data/assets/images/flags/uk-ua.svg +1 -0
  205. data/assets/images/flags/zh-cn.svg +1 -0
  206. data/assets/images/hint-arrow.png +0 -0
  207. data/assets/images/icons/icon128.png +0 -0
  208. data/assets/images/icons/icon128_white.png +0 -0
  209. data/assets/images/icons/icon16.png +0 -0
  210. data/assets/images/icons/icon16_white.png +0 -0
  211. data/assets/images/icons/icon32.png +0 -0
  212. data/assets/images/icons/icon32_white.png +0 -0
  213. data/assets/images/icons/icon48.png +0 -0
  214. data/assets/images/icons/icon48_white.png +0 -0
  215. data/assets/images/icons/icon64.png +0 -0
  216. data/assets/images/icons/icon64_white.png +0 -0
  217. data/assets/images/illustrations/color/color_dialog_disabled.svg +1 -0
  218. data/assets/images/illustrations/color/color_dialog_errors.svg +1 -0
  219. data/assets/images/illustrations/color/color_dialog_language_not_supported.svg +1 -0
  220. data/assets/images/illustrations/color/color_dialog_no_errors.svg +1 -0
  221. data/assets/images/illustrations/color/color_dialog_scroll_hint.gif +0 -0
  222. data/assets/images/illustrations/color/color_dialog_text_too_long.svg +1 -0
  223. data/assets/images/illustrations/color/color_dialog_text_too_short.svg +1 -0
  224. data/assets/images/illustrations/color/color_dialog_update.svg +1 -0
  225. data/assets/images/illustrations/color/google_docs_teaser.svg +1 -0
  226. data/assets/images/illustrations/color/google_slides_teaser.svg +1 -0
  227. data/assets/images/illustrations/color/mascot-2x.png +0 -0
  228. data/assets/images/illustrations/color/mascot-error-2x.png +0 -0
  229. data/assets/images/illustrations/color/mascot-error.png +0 -0
  230. data/assets/images/illustrations/color/mascot-happy-2x.png +0 -0
  231. data/assets/images/illustrations/color/mascot-happy.png +0 -0
  232. data/assets/images/illustrations/color/mascot-sad-2x.png +0 -0
  233. data/assets/images/illustrations/color/mascot-sad.png +0 -0
  234. data/assets/images/illustrations/color/mascot-weeping-2x.png +0 -0
  235. data/assets/images/illustrations/color/mascot-weeping.png +0 -0
  236. data/assets/images/illustrations/color/mascot.png +0 -0
  237. data/assets/images/illustrations/color/overleaf_teaser.svg +1 -0
  238. data/assets/images/illustrations/color/rephrasing_illustration-2x.png +0 -0
  239. data/assets/images/illustrations/color/rephrasing_illustration.png +0 -0
  240. data/assets/images/illustrations/color/rephrasing_illustration_de-2x.png +0 -0
  241. data/assets/images/illustrations/color/rephrasing_illustration_de.png +0 -0
  242. data/assets/images/illustrations/color/rephrasing_illustration_es-2x.png +0 -0
  243. data/assets/images/illustrations/color/rephrasing_illustration_es.png +0 -0
  244. data/assets/images/illustrations/color/rephrasing_illustration_fr-2x.png +0 -0
  245. data/assets/images/illustrations/color/rephrasing_illustration_fr.png +0 -0
  246. data/assets/images/illustrations/color/rephrasing_illustration_pt-2x.png +0 -0
  247. data/assets/images/illustrations/color/rephrasing_illustration_pt.png +0 -0
  248. data/assets/images/illustrations/color/undo-button.svg +1 -0
  249. data/assets/images/illustrations/white/white_add.svg +1 -0
  250. data/assets/images/illustrations/white/white_dialog_disabled.svg +1 -0
  251. data/assets/images/illustrations/white/white_dialog_errors.svg +1 -0
  252. data/assets/images/illustrations/white/white_dialog_language_not_supported.svg +1 -0
  253. data/assets/images/illustrations/white/white_dialog_no_errors.svg +1 -0
  254. data/assets/images/illustrations/white/white_dialog_text_too_long.svg +1 -0
  255. data/assets/images/illustrations/white/white_dialog_text_too_short.svg +1 -0
  256. data/assets/images/illustrations/white/white_dialog_update.svg +1 -0
  257. data/assets/images/illustrations/white/white_failure.svg +1 -0
  258. data/assets/images/illustrations/white/white_no_errors.svg +1 -0
  259. data/assets/images/illustrations/white/white_premium.svg +1 -0
  260. data/assets/images/logos/logo_color_circle.svg +1 -0
  261. data/assets/images/logos/logo_color_with_background.svg +1 -0
  262. data/assets/images/lt-favicon-color.png +0 -0
  263. data/assets/images/lt-favicon-color_notification.png +0 -0
  264. data/assets/images/lt-favicon-white.png +0 -0
  265. data/assets/images/lt-favicon-white_notification.png +0 -0
  266. data/assets/images/lt-logo_gdocs_selected.svg +1 -0
  267. data/assets/images/lt-logo_gdocs_unselected.svg +1 -0
  268. data/assets/images/messages/message_turn_on.gif +0 -0
  269. data/assets/images/messages/message_turn_on_safari.gif +0 -0
  270. data/assets/images/ratings/thumpsdown.svg +1 -0
  271. data/assets/images/ratings/thumpsup.svg +1 -0
  272. data/assets/images/stores/chrome_store.svg +1 -0
  273. data/assets/images/stores/edge_store.svg +1 -0
  274. data/assets/images/stores/firefox_store.svg +1 -0
  275. data/assets/images/stores/opera_store.svg +1 -0
  276. data/assets/images/stores/safari_store.svg +1 -0
  277. data/assets/images/toolbarStates/done.svg +1 -0
  278. data/assets/images/toolbarStates/error_counts_white.png +0 -0
  279. data/assets/images/toolbarStates/loading.webp +0 -0
  280. data/assets/images/toolbarStates/progress.gif +0 -0
  281. data/assets/images/toolbarStates/progress_2x.gif +0 -0
  282. data/assets/images/toolbarStates/text_too_long.svg +1 -0
  283. data/assets/images/toolbarStates/toolbar_failed.png +0 -0
  284. data/assets/images/toolbarStates/toolbar_language_not_supported.svg +1 -0
  285. data/assets/images/toolbarStates/toolbar_permission_required.svg +1 -0
  286. data/assets/images/toolbarStates/turnoff.svg +1 -0
  287. data/assets/images/toolbarStates/wave.svg +1 -0
  288. data/assets/javascripts/languagetool.js +132 -0
  289. data/assets/stylesheets/languagetool-fonts.css +366 -0
  290. data/assets/stylesheets/languagetool.css +10540 -0
  291. data/lib/languagetool/widget/version.rb +7 -0
  292. data/lib/languagetool/widget.rb +10 -0
  293. data/sig/languagetool/widget.rbs +6 -0
  294. metadata +336 -0
@@ -0,0 +1,132 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.LTAssistant=t():e.LTAssistant=t()}(self,(()=>(()=>{var e={702:e=>{e.exports&&(e.exports=function(){var e=3,t=4,s=12,a=13,n=16,r=17;function o(e,t){void 0===t&&(t=0);var s=e.charCodeAt(t);if(55296<=s&&s<=56319&&t<e.length-1){var a=s;return 56320<=(n=e.charCodeAt(t+1))&&n<=57343?1024*(a-55296)+(n-56320)+65536:a}if(56320<=s&&s<=57343&&t>=1){var n=s;return 55296<=(a=e.charCodeAt(t-1))&&a<=56319?1024*(a-55296)+(n-56320)+65536:n}return s}function i(o,i,l){var c=[o].concat(i).concat([l]),g=c[c.length-2],u=l,d=c.lastIndexOf(14);if(d>1&&c.slice(1,d).every((function(t){return t==e}))&&-1==[e,a,r].indexOf(o))return 2;var m=c.lastIndexOf(t);if(m>0&&c.slice(1,m).every((function(e){return e==t}))&&-1==[s,t].indexOf(g))return c.filter((function(e){return e==t})).length%2==1?3:4;if(0==g&&1==u)return 0;if(2==g||0==g||1==g)return 14==u&&i.every((function(t){return t==e}))?2:1;if(2==u||0==u||1==u)return 1;if(6==g&&(6==u||7==u||9==u||10==u))return 0;if(!(9!=g&&7!=g||7!=u&&8!=u))return 0;if((10==g||8==g)&&8==u)return 0;if(u==e||15==u)return 0;if(5==u)return 0;if(g==s)return 0;var p=-1!=c.indexOf(e)?c.lastIndexOf(e)-1:c.length-2;return-1!=[a,r].indexOf(c[p])&&c.slice(p+1,-1).every((function(t){return t==e}))&&14==u||15==g&&-1!=[n,r].indexOf(u)?0:-1!=i.indexOf(t)?2:g==t&&u==t?0:1}function l(o){return 1536<=o&&o<=1541||1757==o||1807==o||2274==o||3406==o||69821==o||70082<=o&&o<=70083||72250==o||72326<=o&&o<=72329||73030==o?s:13==o?0:10==o?1:0<=o&&o<=9||11<=o&&o<=12||14<=o&&o<=31||127<=o&&o<=159||173==o||1564==o||6158==o||8203==o||8206<=o&&o<=8207||8232==o||8233==o||8234<=o&&o<=8238||8288<=o&&o<=8292||8293==o||8294<=o&&o<=8303||55296<=o&&o<=57343||65279==o||65520<=o&&o<=65528||65529<=o&&o<=65531||113824<=o&&o<=113827||119155<=o&&o<=119162||917504==o||917505==o||917506<=o&&o<=917535||917632<=o&&o<=917759||918e3<=o&&o<=921599?2:768<=o&&o<=879||1155<=o&&o<=1159||1160<=o&&o<=1161||1425<=o&&o<=1469||1471==o||1473<=o&&o<=1474||1476<=o&&o<=1477||1479==o||1552<=o&&o<=1562||1611<=o&&o<=1631||1648==o||1750<=o&&o<=1756||1759<=o&&o<=1764||1767<=o&&o<=1768||1770<=o&&o<=1773||1809==o||1840<=o&&o<=1866||1958<=o&&o<=1968||2027<=o&&o<=2035||2070<=o&&o<=2073||2075<=o&&o<=2083||2085<=o&&o<=2087||2089<=o&&o<=2093||2137<=o&&o<=2139||2260<=o&&o<=2273||2275<=o&&o<=2306||2362==o||2364==o||2369<=o&&o<=2376||2381==o||2385<=o&&o<=2391||2402<=o&&o<=2403||2433==o||2492==o||2494==o||2497<=o&&o<=2500||2509==o||2519==o||2530<=o&&o<=2531||2561<=o&&o<=2562||2620==o||2625<=o&&o<=2626||2631<=o&&o<=2632||2635<=o&&o<=2637||2641==o||2672<=o&&o<=2673||2677==o||2689<=o&&o<=2690||2748==o||2753<=o&&o<=2757||2759<=o&&o<=2760||2765==o||2786<=o&&o<=2787||2810<=o&&o<=2815||2817==o||2876==o||2878==o||2879==o||2881<=o&&o<=2884||2893==o||2902==o||2903==o||2914<=o&&o<=2915||2946==o||3006==o||3008==o||3021==o||3031==o||3072==o||3134<=o&&o<=3136||3142<=o&&o<=3144||3146<=o&&o<=3149||3157<=o&&o<=3158||3170<=o&&o<=3171||3201==o||3260==o||3263==o||3266==o||3270==o||3276<=o&&o<=3277||3285<=o&&o<=3286||3298<=o&&o<=3299||3328<=o&&o<=3329||3387<=o&&o<=3388||3390==o||3393<=o&&o<=3396||3405==o||3415==o||3426<=o&&o<=3427||3530==o||3535==o||3538<=o&&o<=3540||3542==o||3551==o||3633==o||3636<=o&&o<=3642||3655<=o&&o<=3662||3761==o||3764<=o&&o<=3769||3771<=o&&o<=3772||3784<=o&&o<=3789||3864<=o&&o<=3865||3893==o||3895==o||3897==o||3953<=o&&o<=3966||3968<=o&&o<=3972||3974<=o&&o<=3975||3981<=o&&o<=3991||3993<=o&&o<=4028||4038==o||4141<=o&&o<=4144||4146<=o&&o<=4151||4153<=o&&o<=4154||4157<=o&&o<=4158||4184<=o&&o<=4185||4190<=o&&o<=4192||4209<=o&&o<=4212||4226==o||4229<=o&&o<=4230||4237==o||4253==o||4957<=o&&o<=4959||5906<=o&&o<=5908||5938<=o&&o<=5940||5970<=o&&o<=5971||6002<=o&&o<=6003||6068<=o&&o<=6069||6071<=o&&o<=6077||6086==o||6089<=o&&o<=6099||6109==o||6155<=o&&o<=6157||6277<=o&&o<=6278||6313==o||6432<=o&&o<=6434||6439<=o&&o<=6440||6450==o||6457<=o&&o<=6459||6679<=o&&o<=6680||6683==o||6742==o||6744<=o&&o<=6750||6752==o||6754==o||6757<=o&&o<=6764||6771<=o&&o<=6780||6783==o||6832<=o&&o<=6845||6846==o||6912<=o&&o<=6915||6964==o||6966<=o&&o<=6970||6972==o||6978==o||7019<=o&&o<=7027||7040<=o&&o<=7041||7074<=o&&o<=7077||7080<=o&&o<=7081||7083<=o&&o<=7085||7142==o||7144<=o&&o<=7145||7149==o||7151<=o&&o<=7153||7212<=o&&o<=7219||7222<=o&&o<=7223||7376<=o&&o<=7378||7380<=o&&o<=7392||7394<=o&&o<=7400||7405==o||7412==o||7416<=o&&o<=7417||7616<=o&&o<=7673||7675<=o&&o<=7679||8204==o||8400<=o&&o<=8412||8413<=o&&o<=8416||8417==o||8418<=o&&o<=8420||8421<=o&&o<=8432||11503<=o&&o<=11505||11647==o||11744<=o&&o<=11775||12330<=o&&o<=12333||12334<=o&&o<=12335||12441<=o&&o<=12442||42607==o||42608<=o&&o<=42610||42612<=o&&o<=42621||42654<=o&&o<=42655||42736<=o&&o<=42737||43010==o||43014==o||43019==o||43045<=o&&o<=43046||43204<=o&&o<=43205||43232<=o&&o<=43249||43302<=o&&o<=43309||43335<=o&&o<=43345||43392<=o&&o<=43394||43443==o||43446<=o&&o<=43449||43452==o||43493==o||43561<=o&&o<=43566||43569<=o&&o<=43570||43573<=o&&o<=43574||43587==o||43596==o||43644==o||43696==o||43698<=o&&o<=43700||43703<=o&&o<=43704||43710<=o&&o<=43711||43713==o||43756<=o&&o<=43757||43766==o||44005==o||44008==o||44013==o||64286==o||65024<=o&&o<=65039||65056<=o&&o<=65071||65438<=o&&o<=65439||66045==o||66272==o||66422<=o&&o<=66426||68097<=o&&o<=68099||68101<=o&&o<=68102||68108<=o&&o<=68111||68152<=o&&o<=68154||68159==o||68325<=o&&o<=68326||69633==o||69688<=o&&o<=69702||69759<=o&&o<=69761||69811<=o&&o<=69814||69817<=o&&o<=69818||69888<=o&&o<=69890||69927<=o&&o<=69931||69933<=o&&o<=69940||70003==o||70016<=o&&o<=70017||70070<=o&&o<=70078||70090<=o&&o<=70092||70191<=o&&o<=70193||70196==o||70198<=o&&o<=70199||70206==o||70367==o||70371<=o&&o<=70378||70400<=o&&o<=70401||70460==o||70462==o||70464==o||70487==o||70502<=o&&o<=70508||70512<=o&&o<=70516||70712<=o&&o<=70719||70722<=o&&o<=70724||70726==o||70832==o||70835<=o&&o<=70840||70842==o||70845==o||70847<=o&&o<=70848||70850<=o&&o<=70851||71087==o||71090<=o&&o<=71093||71100<=o&&o<=71101||71103<=o&&o<=71104||71132<=o&&o<=71133||71219<=o&&o<=71226||71229==o||71231<=o&&o<=71232||71339==o||71341==o||71344<=o&&o<=71349||71351==o||71453<=o&&o<=71455||71458<=o&&o<=71461||71463<=o&&o<=71467||72193<=o&&o<=72198||72201<=o&&o<=72202||72243<=o&&o<=72248||72251<=o&&o<=72254||72263==o||72273<=o&&o<=72278||72281<=o&&o<=72283||72330<=o&&o<=72342||72344<=o&&o<=72345||72752<=o&&o<=72758||72760<=o&&o<=72765||72767==o||72850<=o&&o<=72871||72874<=o&&o<=72880||72882<=o&&o<=72883||72885<=o&&o<=72886||73009<=o&&o<=73014||73018==o||73020<=o&&o<=73021||73023<=o&&o<=73029||73031==o||92912<=o&&o<=92916||92976<=o&&o<=92982||94095<=o&&o<=94098||113821<=o&&o<=113822||119141==o||119143<=o&&o<=119145||119150<=o&&o<=119154||119163<=o&&o<=119170||119173<=o&&o<=119179||119210<=o&&o<=119213||119362<=o&&o<=119364||121344<=o&&o<=121398||121403<=o&&o<=121452||121461==o||121476==o||121499<=o&&o<=121503||121505<=o&&o<=121519||122880<=o&&o<=122886||122888<=o&&o<=122904||122907<=o&&o<=122913||122915<=o&&o<=122916||122918<=o&&o<=122922||125136<=o&&o<=125142||125252<=o&&o<=125258||917536<=o&&o<=917631||917760<=o&&o<=917999?e:127462<=o&&o<=127487?t:2307==o||2363==o||2366<=o&&o<=2368||2377<=o&&o<=2380||2382<=o&&o<=2383||2434<=o&&o<=2435||2495<=o&&o<=2496||2503<=o&&o<=2504||2507<=o&&o<=2508||2563==o||2622<=o&&o<=2624||2691==o||2750<=o&&o<=2752||2761==o||2763<=o&&o<=2764||2818<=o&&o<=2819||2880==o||2887<=o&&o<=2888||2891<=o&&o<=2892||3007==o||3009<=o&&o<=3010||3014<=o&&o<=3016||3018<=o&&o<=3020||3073<=o&&o<=3075||3137<=o&&o<=3140||3202<=o&&o<=3203||3262==o||3264<=o&&o<=3265||3267<=o&&o<=3268||3271<=o&&o<=3272||3274<=o&&o<=3275||3330<=o&&o<=3331||3391<=o&&o<=3392||3398<=o&&o<=3400||3402<=o&&o<=3404||3458<=o&&o<=3459||3536<=o&&o<=3537||3544<=o&&o<=3550||3570<=o&&o<=3571||3635==o||3763==o||3902<=o&&o<=3903||3967==o||4145==o||4155<=o&&o<=4156||4182<=o&&o<=4183||4228==o||6070==o||6078<=o&&o<=6085||6087<=o&&o<=6088||6435<=o&&o<=6438||6441<=o&&o<=6443||6448<=o&&o<=6449||6451<=o&&o<=6456||6681<=o&&o<=6682||6741==o||6743==o||6765<=o&&o<=6770||6916==o||6965==o||6971==o||6973<=o&&o<=6977||6979<=o&&o<=6980||7042==o||7073==o||7078<=o&&o<=7079||7082==o||7143==o||7146<=o&&o<=7148||7150==o||7154<=o&&o<=7155||7204<=o&&o<=7211||7220<=o&&o<=7221||7393==o||7410<=o&&o<=7411||7415==o||43043<=o&&o<=43044||43047==o||43136<=o&&o<=43137||43188<=o&&o<=43203||43346<=o&&o<=43347||43395==o||43444<=o&&o<=43445||43450<=o&&o<=43451||43453<=o&&o<=43456||43567<=o&&o<=43568||43571<=o&&o<=43572||43597==o||43755==o||43758<=o&&o<=43759||43765==o||44003<=o&&o<=44004||44006<=o&&o<=44007||44009<=o&&o<=44010||44012==o||69632==o||69634==o||69762==o||69808<=o&&o<=69810||69815<=o&&o<=69816||69932==o||70018==o||70067<=o&&o<=70069||70079<=o&&o<=70080||70188<=o&&o<=70190||70194<=o&&o<=70195||70197==o||70368<=o&&o<=70370||70402<=o&&o<=70403||70463==o||70465<=o&&o<=70468||70471<=o&&o<=70472||70475<=o&&o<=70477||70498<=o&&o<=70499||70709<=o&&o<=70711||70720<=o&&o<=70721||70725==o||70833<=o&&o<=70834||70841==o||70843<=o&&o<=70844||70846==o||70849==o||71088<=o&&o<=71089||71096<=o&&o<=71099||71102==o||71216<=o&&o<=71218||71227<=o&&o<=71228||71230==o||71340==o||71342<=o&&o<=71343||71350==o||71456<=o&&o<=71457||71462==o||72199<=o&&o<=72200||72249==o||72279<=o&&o<=72280||72343==o||72751==o||72766==o||72873==o||72881==o||72884==o||94033<=o&&o<=94078||119142==o||119149==o?5:4352<=o&&o<=4447||43360<=o&&o<=43388?6:4448<=o&&o<=4519||55216<=o&&o<=55238?7:4520<=o&&o<=4607||55243<=o&&o<=55291?8:44032==o||44060==o||44088==o||44116==o||44144==o||44172==o||44200==o||44228==o||44256==o||44284==o||44312==o||44340==o||44368==o||44396==o||44424==o||44452==o||44480==o||44508==o||44536==o||44564==o||44592==o||44620==o||44648==o||44676==o||44704==o||44732==o||44760==o||44788==o||44816==o||44844==o||44872==o||44900==o||44928==o||44956==o||44984==o||45012==o||45040==o||45068==o||45096==o||45124==o||45152==o||45180==o||45208==o||45236==o||45264==o||45292==o||45320==o||45348==o||45376==o||45404==o||45432==o||45460==o||45488==o||45516==o||45544==o||45572==o||45600==o||45628==o||45656==o||45684==o||45712==o||45740==o||45768==o||45796==o||45824==o||45852==o||45880==o||45908==o||45936==o||45964==o||45992==o||46020==o||46048==o||46076==o||46104==o||46132==o||46160==o||46188==o||46216==o||46244==o||46272==o||46300==o||46328==o||46356==o||46384==o||46412==o||46440==o||46468==o||46496==o||46524==o||46552==o||46580==o||46608==o||46636==o||46664==o||46692==o||46720==o||46748==o||46776==o||46804==o||46832==o||46860==o||46888==o||46916==o||46944==o||46972==o||47e3==o||47028==o||47056==o||47084==o||47112==o||47140==o||47168==o||47196==o||47224==o||47252==o||47280==o||47308==o||47336==o||47364==o||47392==o||47420==o||47448==o||47476==o||47504==o||47532==o||47560==o||47588==o||47616==o||47644==o||47672==o||47700==o||47728==o||47756==o||47784==o||47812==o||47840==o||47868==o||47896==o||47924==o||47952==o||47980==o||48008==o||48036==o||48064==o||48092==o||48120==o||48148==o||48176==o||48204==o||48232==o||48260==o||48288==o||48316==o||48344==o||48372==o||48400==o||48428==o||48456==o||48484==o||48512==o||48540==o||48568==o||48596==o||48624==o||48652==o||48680==o||48708==o||48736==o||48764==o||48792==o||48820==o||48848==o||48876==o||48904==o||48932==o||48960==o||48988==o||49016==o||49044==o||49072==o||49100==o||49128==o||49156==o||49184==o||49212==o||49240==o||49268==o||49296==o||49324==o||49352==o||49380==o||49408==o||49436==o||49464==o||49492==o||49520==o||49548==o||49576==o||49604==o||49632==o||49660==o||49688==o||49716==o||49744==o||49772==o||49800==o||49828==o||49856==o||49884==o||49912==o||49940==o||49968==o||49996==o||50024==o||50052==o||50080==o||50108==o||50136==o||50164==o||50192==o||50220==o||50248==o||50276==o||50304==o||50332==o||50360==o||50388==o||50416==o||50444==o||50472==o||50500==o||50528==o||50556==o||50584==o||50612==o||50640==o||50668==o||50696==o||50724==o||50752==o||50780==o||50808==o||50836==o||50864==o||50892==o||50920==o||50948==o||50976==o||51004==o||51032==o||51060==o||51088==o||51116==o||51144==o||51172==o||51200==o||51228==o||51256==o||51284==o||51312==o||51340==o||51368==o||51396==o||51424==o||51452==o||51480==o||51508==o||51536==o||51564==o||51592==o||51620==o||51648==o||51676==o||51704==o||51732==o||51760==o||51788==o||51816==o||51844==o||51872==o||51900==o||51928==o||51956==o||51984==o||52012==o||52040==o||52068==o||52096==o||52124==o||52152==o||52180==o||52208==o||52236==o||52264==o||52292==o||52320==o||52348==o||52376==o||52404==o||52432==o||52460==o||52488==o||52516==o||52544==o||52572==o||52600==o||52628==o||52656==o||52684==o||52712==o||52740==o||52768==o||52796==o||52824==o||52852==o||52880==o||52908==o||52936==o||52964==o||52992==o||53020==o||53048==o||53076==o||53104==o||53132==o||53160==o||53188==o||53216==o||53244==o||53272==o||53300==o||53328==o||53356==o||53384==o||53412==o||53440==o||53468==o||53496==o||53524==o||53552==o||53580==o||53608==o||53636==o||53664==o||53692==o||53720==o||53748==o||53776==o||53804==o||53832==o||53860==o||53888==o||53916==o||53944==o||53972==o||54e3==o||54028==o||54056==o||54084==o||54112==o||54140==o||54168==o||54196==o||54224==o||54252==o||54280==o||54308==o||54336==o||54364==o||54392==o||54420==o||54448==o||54476==o||54504==o||54532==o||54560==o||54588==o||54616==o||54644==o||54672==o||54700==o||54728==o||54756==o||54784==o||54812==o||54840==o||54868==o||54896==o||54924==o||54952==o||54980==o||55008==o||55036==o||55064==o||55092==o||55120==o||55148==o||55176==o?9:44033<=o&&o<=44059||44061<=o&&o<=44087||44089<=o&&o<=44115||44117<=o&&o<=44143||44145<=o&&o<=44171||44173<=o&&o<=44199||44201<=o&&o<=44227||44229<=o&&o<=44255||44257<=o&&o<=44283||44285<=o&&o<=44311||44313<=o&&o<=44339||44341<=o&&o<=44367||44369<=o&&o<=44395||44397<=o&&o<=44423||44425<=o&&o<=44451||44453<=o&&o<=44479||44481<=o&&o<=44507||44509<=o&&o<=44535||44537<=o&&o<=44563||44565<=o&&o<=44591||44593<=o&&o<=44619||44621<=o&&o<=44647||44649<=o&&o<=44675||44677<=o&&o<=44703||44705<=o&&o<=44731||44733<=o&&o<=44759||44761<=o&&o<=44787||44789<=o&&o<=44815||44817<=o&&o<=44843||44845<=o&&o<=44871||44873<=o&&o<=44899||44901<=o&&o<=44927||44929<=o&&o<=44955||44957<=o&&o<=44983||44985<=o&&o<=45011||45013<=o&&o<=45039||45041<=o&&o<=45067||45069<=o&&o<=45095||45097<=o&&o<=45123||45125<=o&&o<=45151||45153<=o&&o<=45179||45181<=o&&o<=45207||45209<=o&&o<=45235||45237<=o&&o<=45263||45265<=o&&o<=45291||45293<=o&&o<=45319||45321<=o&&o<=45347||45349<=o&&o<=45375||45377<=o&&o<=45403||45405<=o&&o<=45431||45433<=o&&o<=45459||45461<=o&&o<=45487||45489<=o&&o<=45515||45517<=o&&o<=45543||45545<=o&&o<=45571||45573<=o&&o<=45599||45601<=o&&o<=45627||45629<=o&&o<=45655||45657<=o&&o<=45683||45685<=o&&o<=45711||45713<=o&&o<=45739||45741<=o&&o<=45767||45769<=o&&o<=45795||45797<=o&&o<=45823||45825<=o&&o<=45851||45853<=o&&o<=45879||45881<=o&&o<=45907||45909<=o&&o<=45935||45937<=o&&o<=45963||45965<=o&&o<=45991||45993<=o&&o<=46019||46021<=o&&o<=46047||46049<=o&&o<=46075||46077<=o&&o<=46103||46105<=o&&o<=46131||46133<=o&&o<=46159||46161<=o&&o<=46187||46189<=o&&o<=46215||46217<=o&&o<=46243||46245<=o&&o<=46271||46273<=o&&o<=46299||46301<=o&&o<=46327||46329<=o&&o<=46355||46357<=o&&o<=46383||46385<=o&&o<=46411||46413<=o&&o<=46439||46441<=o&&o<=46467||46469<=o&&o<=46495||46497<=o&&o<=46523||46525<=o&&o<=46551||46553<=o&&o<=46579||46581<=o&&o<=46607||46609<=o&&o<=46635||46637<=o&&o<=46663||46665<=o&&o<=46691||46693<=o&&o<=46719||46721<=o&&o<=46747||46749<=o&&o<=46775||46777<=o&&o<=46803||46805<=o&&o<=46831||46833<=o&&o<=46859||46861<=o&&o<=46887||46889<=o&&o<=46915||46917<=o&&o<=46943||46945<=o&&o<=46971||46973<=o&&o<=46999||47001<=o&&o<=47027||47029<=o&&o<=47055||47057<=o&&o<=47083||47085<=o&&o<=47111||47113<=o&&o<=47139||47141<=o&&o<=47167||47169<=o&&o<=47195||47197<=o&&o<=47223||47225<=o&&o<=47251||47253<=o&&o<=47279||47281<=o&&o<=47307||47309<=o&&o<=47335||47337<=o&&o<=47363||47365<=o&&o<=47391||47393<=o&&o<=47419||47421<=o&&o<=47447||47449<=o&&o<=47475||47477<=o&&o<=47503||47505<=o&&o<=47531||47533<=o&&o<=47559||47561<=o&&o<=47587||47589<=o&&o<=47615||47617<=o&&o<=47643||47645<=o&&o<=47671||47673<=o&&o<=47699||47701<=o&&o<=47727||47729<=o&&o<=47755||47757<=o&&o<=47783||47785<=o&&o<=47811||47813<=o&&o<=47839||47841<=o&&o<=47867||47869<=o&&o<=47895||47897<=o&&o<=47923||47925<=o&&o<=47951||47953<=o&&o<=47979||47981<=o&&o<=48007||48009<=o&&o<=48035||48037<=o&&o<=48063||48065<=o&&o<=48091||48093<=o&&o<=48119||48121<=o&&o<=48147||48149<=o&&o<=48175||48177<=o&&o<=48203||48205<=o&&o<=48231||48233<=o&&o<=48259||48261<=o&&o<=48287||48289<=o&&o<=48315||48317<=o&&o<=48343||48345<=o&&o<=48371||48373<=o&&o<=48399||48401<=o&&o<=48427||48429<=o&&o<=48455||48457<=o&&o<=48483||48485<=o&&o<=48511||48513<=o&&o<=48539||48541<=o&&o<=48567||48569<=o&&o<=48595||48597<=o&&o<=48623||48625<=o&&o<=48651||48653<=o&&o<=48679||48681<=o&&o<=48707||48709<=o&&o<=48735||48737<=o&&o<=48763||48765<=o&&o<=48791||48793<=o&&o<=48819||48821<=o&&o<=48847||48849<=o&&o<=48875||48877<=o&&o<=48903||48905<=o&&o<=48931||48933<=o&&o<=48959||48961<=o&&o<=48987||48989<=o&&o<=49015||49017<=o&&o<=49043||49045<=o&&o<=49071||49073<=o&&o<=49099||49101<=o&&o<=49127||49129<=o&&o<=49155||49157<=o&&o<=49183||49185<=o&&o<=49211||49213<=o&&o<=49239||49241<=o&&o<=49267||49269<=o&&o<=49295||49297<=o&&o<=49323||49325<=o&&o<=49351||49353<=o&&o<=49379||49381<=o&&o<=49407||49409<=o&&o<=49435||49437<=o&&o<=49463||49465<=o&&o<=49491||49493<=o&&o<=49519||49521<=o&&o<=49547||49549<=o&&o<=49575||49577<=o&&o<=49603||49605<=o&&o<=49631||49633<=o&&o<=49659||49661<=o&&o<=49687||49689<=o&&o<=49715||49717<=o&&o<=49743||49745<=o&&o<=49771||49773<=o&&o<=49799||49801<=o&&o<=49827||49829<=o&&o<=49855||49857<=o&&o<=49883||49885<=o&&o<=49911||49913<=o&&o<=49939||49941<=o&&o<=49967||49969<=o&&o<=49995||49997<=o&&o<=50023||50025<=o&&o<=50051||50053<=o&&o<=50079||50081<=o&&o<=50107||50109<=o&&o<=50135||50137<=o&&o<=50163||50165<=o&&o<=50191||50193<=o&&o<=50219||50221<=o&&o<=50247||50249<=o&&o<=50275||50277<=o&&o<=50303||50305<=o&&o<=50331||50333<=o&&o<=50359||50361<=o&&o<=50387||50389<=o&&o<=50415||50417<=o&&o<=50443||50445<=o&&o<=50471||50473<=o&&o<=50499||50501<=o&&o<=50527||50529<=o&&o<=50555||50557<=o&&o<=50583||50585<=o&&o<=50611||50613<=o&&o<=50639||50641<=o&&o<=50667||50669<=o&&o<=50695||50697<=o&&o<=50723||50725<=o&&o<=50751||50753<=o&&o<=50779||50781<=o&&o<=50807||50809<=o&&o<=50835||50837<=o&&o<=50863||50865<=o&&o<=50891||50893<=o&&o<=50919||50921<=o&&o<=50947||50949<=o&&o<=50975||50977<=o&&o<=51003||51005<=o&&o<=51031||51033<=o&&o<=51059||51061<=o&&o<=51087||51089<=o&&o<=51115||51117<=o&&o<=51143||51145<=o&&o<=51171||51173<=o&&o<=51199||51201<=o&&o<=51227||51229<=o&&o<=51255||51257<=o&&o<=51283||51285<=o&&o<=51311||51313<=o&&o<=51339||51341<=o&&o<=51367||51369<=o&&o<=51395||51397<=o&&o<=51423||51425<=o&&o<=51451||51453<=o&&o<=51479||51481<=o&&o<=51507||51509<=o&&o<=51535||51537<=o&&o<=51563||51565<=o&&o<=51591||51593<=o&&o<=51619||51621<=o&&o<=51647||51649<=o&&o<=51675||51677<=o&&o<=51703||51705<=o&&o<=51731||51733<=o&&o<=51759||51761<=o&&o<=51787||51789<=o&&o<=51815||51817<=o&&o<=51843||51845<=o&&o<=51871||51873<=o&&o<=51899||51901<=o&&o<=51927||51929<=o&&o<=51955||51957<=o&&o<=51983||51985<=o&&o<=52011||52013<=o&&o<=52039||52041<=o&&o<=52067||52069<=o&&o<=52095||52097<=o&&o<=52123||52125<=o&&o<=52151||52153<=o&&o<=52179||52181<=o&&o<=52207||52209<=o&&o<=52235||52237<=o&&o<=52263||52265<=o&&o<=52291||52293<=o&&o<=52319||52321<=o&&o<=52347||52349<=o&&o<=52375||52377<=o&&o<=52403||52405<=o&&o<=52431||52433<=o&&o<=52459||52461<=o&&o<=52487||52489<=o&&o<=52515||52517<=o&&o<=52543||52545<=o&&o<=52571||52573<=o&&o<=52599||52601<=o&&o<=52627||52629<=o&&o<=52655||52657<=o&&o<=52683||52685<=o&&o<=52711||52713<=o&&o<=52739||52741<=o&&o<=52767||52769<=o&&o<=52795||52797<=o&&o<=52823||52825<=o&&o<=52851||52853<=o&&o<=52879||52881<=o&&o<=52907||52909<=o&&o<=52935||52937<=o&&o<=52963||52965<=o&&o<=52991||52993<=o&&o<=53019||53021<=o&&o<=53047||53049<=o&&o<=53075||53077<=o&&o<=53103||53105<=o&&o<=53131||53133<=o&&o<=53159||53161<=o&&o<=53187||53189<=o&&o<=53215||53217<=o&&o<=53243||53245<=o&&o<=53271||53273<=o&&o<=53299||53301<=o&&o<=53327||53329<=o&&o<=53355||53357<=o&&o<=53383||53385<=o&&o<=53411||53413<=o&&o<=53439||53441<=o&&o<=53467||53469<=o&&o<=53495||53497<=o&&o<=53523||53525<=o&&o<=53551||53553<=o&&o<=53579||53581<=o&&o<=53607||53609<=o&&o<=53635||53637<=o&&o<=53663||53665<=o&&o<=53691||53693<=o&&o<=53719||53721<=o&&o<=53747||53749<=o&&o<=53775||53777<=o&&o<=53803||53805<=o&&o<=53831||53833<=o&&o<=53859||53861<=o&&o<=53887||53889<=o&&o<=53915||53917<=o&&o<=53943||53945<=o&&o<=53971||53973<=o&&o<=53999||54001<=o&&o<=54027||54029<=o&&o<=54055||54057<=o&&o<=54083||54085<=o&&o<=54111||54113<=o&&o<=54139||54141<=o&&o<=54167||54169<=o&&o<=54195||54197<=o&&o<=54223||54225<=o&&o<=54251||54253<=o&&o<=54279||54281<=o&&o<=54307||54309<=o&&o<=54335||54337<=o&&o<=54363||54365<=o&&o<=54391||54393<=o&&o<=54419||54421<=o&&o<=54447||54449<=o&&o<=54475||54477<=o&&o<=54503||54505<=o&&o<=54531||54533<=o&&o<=54559||54561<=o&&o<=54587||54589<=o&&o<=54615||54617<=o&&o<=54643||54645<=o&&o<=54671||54673<=o&&o<=54699||54701<=o&&o<=54727||54729<=o&&o<=54755||54757<=o&&o<=54783||54785<=o&&o<=54811||54813<=o&&o<=54839||54841<=o&&o<=54867||54869<=o&&o<=54895||54897<=o&&o<=54923||54925<=o&&o<=54951||54953<=o&&o<=54979||54981<=o&&o<=55007||55009<=o&&o<=55035||55037<=o&&o<=55063||55065<=o&&o<=55091||55093<=o&&o<=55119||55121<=o&&o<=55147||55149<=o&&o<=55175||55177<=o&&o<=55203?10:9757==o||9977==o||9994<=o&&o<=9997||127877==o||127938<=o&&o<=127940||127943==o||127946<=o&&o<=127948||128066<=o&&o<=128067||128070<=o&&o<=128080||128110==o||128112<=o&&o<=128120||128124==o||128129<=o&&o<=128131||128133<=o&&o<=128135||128170==o||128372<=o&&o<=128373||128378==o||128400==o||128405<=o&&o<=128406||128581<=o&&o<=128583||128587<=o&&o<=128591||128675==o||128692<=o&&o<=128694||128704==o||128716==o||129304<=o&&o<=129308||129310<=o&&o<=129311||129318==o||129328<=o&&o<=129337||129341<=o&&o<=129342||129489<=o&&o<=129501?a:127995<=o&&o<=127999?14:8205==o?15:9792==o||9794==o||9877<=o&&o<=9878||9992==o||10084==o||127752==o||127806==o||127859==o||127891==o||127908==o||127912==o||127979==o||127981==o||128139==o||128187<=o&&o<=128188||128295==o||128300==o||128488==o||128640==o||128658==o?n:128102<=o&&o<=128105?r:11}return this.nextBreak=function(e,t){if(void 0===t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(var s,a,n=l(o(e,t)),r=[],c=t+1;c<e.length;c++)if(a=c-1,!(55296<=(s=e).charCodeAt(a)&&s.charCodeAt(a)<=56319&&56320<=s.charCodeAt(a+1)&&s.charCodeAt(a+1)<=57343)){var g=l(o(e,c));if(i(n,r,g))return c;r.push(g)}return e.length},this.splitGraphemes=function(e){for(var t,s=[],a=0;(t=this.nextBreak(e,a))<e.length;)s.push(e.slice(a,t)),a=t;return a<e.length&&s.push(e.slice(a)),s},this.iterateGraphemes=function(e){var t=0,s={next:function(){var s,a;return(a=this.nextBreak(e,t))<e.length?(s=e.slice(t,a),t=a,{value:s,done:!1}):t<e.length?(s=e.slice(t),t=e.length,{value:s,done:!1}):{value:void 0,done:!0}}.bind(this)};return"undefined"!=typeof Symbol&&Symbol.iterator&&(s[Symbol.iterator]=function(){return s}),s},this.countGraphemes=function(e){for(var t,s=0,a=0;(t=this.nextBreak(e,a))<e.length;)a=t,s++;return a<e.length&&s++,s},this})},577:(e,t,s)=>{"use strict";
2
+ /**
3
+ * @license React
4
+ * react-dom.production.min.js
5
+ *
6
+ * Copyright (c) Facebook, Inc. and its affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */var a=s(378),n=s(102);function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,i={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(i[e]=t,e=0;e<t.length;e++)o.add(t[e])}var g=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),u=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},p={};function h(e,t,s,a,n,r,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=n,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=o}var f={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){f[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];f[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){f[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){f[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){f[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){f[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){f[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){f[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){f[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var _=/[\-:]([a-z])/g;function E(e){return e[1].toUpperCase()}function v(e,t,s,a){var n=f.hasOwnProperty(t)?f[t]:null;(null!==n?0!==n.type:a||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,s,a){if(null==t||function(e,t,s,a){if(null!==s&&0===s.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==s?!s.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,s,a))return!0;if(a)return!1;if(null!==s)switch(s.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,s,n,a)&&(s=null),a||null===n?function(e){return!!u.call(p,e)||!u.call(m,e)&&(d.test(e)?p[e]=!0:(m[e]=!0,!1))}(t)&&(null===s?e.removeAttribute(t):e.setAttribute(t,""+s)):n.mustUseProperty?e[n.propertyName]=null===s?3!==n.type&&"":s:(t=n.attributeName,a=n.attributeNamespace,null===s?e.removeAttribute(t):(s=3===(n=n.type)||4===n&&!0===s?"":""+s,a?e.setAttributeNS(a,t,s):e.setAttribute(t,s))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(_,E);f[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(_,E);f[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(_,E);f[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){f[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),f.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){f[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var b=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.element"),y=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),x=Symbol.for("react.provider"),L=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var D=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var R=Symbol.iterator;function M(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=R&&e[R]||e["@@iterator"])?e:null}var O,H=Object.assign;function z(e){if(void 0===O)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);O=t&&t[1]||""}return"\n"+O+e}var B=!1;function U(e,t){if(!e||B)return"";B=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var a=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){a=e}e.call(t.prototype)}else{try{throw Error()}catch(e){a=e}e()}}catch(t){if(t&&a&&"string"==typeof t.stack){for(var n=t.stack.split("\n"),r=a.stack.split("\n"),o=n.length-1,i=r.length-1;1<=o&&0<=i&&n[o]!==r[i];)i--;for(;1<=o&&0<=i;o--,i--)if(n[o]!==r[i]){if(1!==o||1!==i)do{if(o--,0>--i||n[o]!==r[i]){var l="\n"+n[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=o&&0<=i);break}}}finally{B=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?z(e):""}function $(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return e=U(e.type,!1);case 11:return e=U(e.type.render,!1);case 1:return e=U(e.type,!0);default:return""}}function F(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case T:return"Fragment";case y:return"Portal";case k:return"Profiler";case C:return"StrictMode";case P:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case L:return(e.displayName||"Context")+".Consumer";case x:return(e._context.displayName||"Context")+".Provider";case w:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case I:return null!==(t=e.displayName||null)?t:F(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return F(e(t))}catch(e){}}return null}function G(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return F(t);case 8:return t===C?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function W(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function j(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function V(e){e._valueTracker||(e._valueTracker=function(e){var t=j(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==s&&"function"==typeof s.get&&"function"==typeof s.set){var n=s.get,r=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(e){a=""+e,r.call(this,e)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),a="";return e&&(a=j(e)?e.checked?"true":"false":e.value),(e=a)!==s&&(t.setValue(e),!0)}function K(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var s=t.checked;return H({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=s?s:e._wrapperState.initialChecked})}function X(e,t){var s=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;s=W(null!=t.value?t.value:s),e._wrapperState={initialChecked:a,initialValue:s,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Y(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function Q(e,t){Y(e,t);var s=W(t.value),a=t.type;if(null!=s)"number"===a?(0===s&&""===e.value||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,s):t.hasOwnProperty("defaultValue")&&ee(e,t.type,W(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}""!==(s=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==s&&(e.name=s)}function ee(e,t,s){"number"===t&&K(e.ownerDocument)===e||(null==s?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var te=Array.isArray;function se(e,t,s,a){if(e=e.options,t){t={};for(var n=0;n<s.length;n++)t["$"+s[n]]=!0;for(s=0;s<e.length;s++)n=t.hasOwnProperty("$"+e[s].value),e[s].selected!==n&&(e[s].selected=n),n&&a&&(e[s].defaultSelected=!0)}else{for(s=""+W(s),t=null,n=0;n<e.length;n++){if(e[n].value===s)return e[n].selected=!0,void(a&&(e[n].defaultSelected=!0));null!==t||e[n].disabled||(t=e[n])}null!==t&&(t.selected=!0)}}function ae(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(r(91));return H({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ne(e,t){var s=t.value;if(null==s){if(s=t.children,t=t.defaultValue,null!=s){if(null!=t)throw Error(r(92));if(te(s)){if(1<s.length)throw Error(r(93));s=s[0]}t=s}null==t&&(t=""),s=t}e._wrapperState={initialValue:W(s)}}function re(e,t){var s=W(t.value),a=W(t.defaultValue);null!=s&&((s=""+s)!==e.value&&(e.value=s),null==t.defaultValue&&e.defaultValue!==s&&(e.defaultValue=s)),null!=a&&(e.defaultValue=""+a)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ie(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ie(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ge,ue=(ge=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,s,a){MSApp.execUnsafeLocalFunction((function(){return ge(e,t)}))}:ge);function de(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&3===s.nodeType)return void(s.nodeValue=t)}e.textContent=t}var me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pe=["Webkit","ms","Moz","O"];function he(e,t,s){return null==t||"boolean"==typeof t||""===t?"":s||"number"!=typeof t||0===t||me.hasOwnProperty(e)&&me[e]?(""+t).trim():t+"px"}function fe(e,t){for(var s in e=e.style,t)if(t.hasOwnProperty(s)){var a=0===s.indexOf("--"),n=he(s,t[s],a);"float"===s&&(s="cssFloat"),a?e.setProperty(s,n):e[s]=n}}Object.keys(me).forEach((function(e){pe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),me[t]=me[e]}))}));var _e=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(e,t){if(t){if(_e[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(r(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(r(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(r(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(r(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var be=null;function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var ye=null,Te=null,Ce=null;function ke(e){if(e=vn(e)){if("function"!=typeof ye)throw Error(r(280));var t=e.stateNode;t&&(t=Sn(t),ye(e.stateNode,e.type,t))}}function xe(e){Te?Ce?Ce.push(e):Ce=[e]:Te=e}function Le(){if(Te){var e=Te,t=Ce;if(Ce=Te=null,ke(e),t)for(e=0;e<t.length;e++)ke(t[e])}}function we(e,t){return e(t)}function Pe(){}var Ae=!1;function Ie(e,t,s){if(Ae)return e(t,s);Ae=!0;try{return we(e,t,s)}finally{Ae=!1,(null!==Te||null!==Ce)&&(Pe(),Le())}}function Ne(e,t){var s=e.stateNode;if(null===s)return null;var a=Sn(s);if(null===a)return null;s=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(s&&"function"!=typeof s)throw Error(r(231,t,typeof s));return s}var De=!1;if(g)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){De=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(ge){De=!1}function Me(e,t,s,a,n,r,o,i,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(s,c)}catch(e){this.onError(e)}}var Oe=!1,He=null,ze=!1,Be=null,Ue={onError:function(e){Oe=!0,He=e}};function $e(e,t,s,a,n,r,o,i,l){Oe=!1,He=null,Me.apply(Ue,arguments)}function Fe(e){var t=e,s=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(s=t.return),e=t.return}while(e)}return 3===t.tag?s:null}function Ge(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function We(e){if(Fe(e)!==e)throw Error(r(188))}function je(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Fe(e)))throw Error(r(188));return t!==e?null:e}for(var s=e,a=t;;){var n=s.return;if(null===n)break;var o=n.alternate;if(null===o){if(null!==(a=n.return)){s=a;continue}break}if(n.child===o.child){for(o=n.child;o;){if(o===s)return We(n),e;if(o===a)return We(n),t;o=o.sibling}throw Error(r(188))}if(s.return!==a.return)s=n,a=o;else{for(var i=!1,l=n.child;l;){if(l===s){i=!0,s=n,a=o;break}if(l===a){i=!0,a=n,s=o;break}l=l.sibling}if(!i){for(l=o.child;l;){if(l===s){i=!0,s=o,a=n;break}if(l===a){i=!0,a=o,s=n;break}l=l.sibling}if(!i)throw Error(r(189))}}if(s.alternate!==a)throw Error(r(190))}if(3!==s.tag)throw Error(r(188));return s.stateNode.current===s?e:t}(e))?Ve(e):null}function Ve(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ve(e);if(null!==t)return t;e=e.sibling}return null}var qe=n.unstable_scheduleCallback,Ke=n.unstable_cancelCallback,Ze=n.unstable_shouldYield,Xe=n.unstable_requestPaint,Ye=n.unstable_now,Qe=n.unstable_getCurrentPriorityLevel,Je=n.unstable_ImmediatePriority,et=n.unstable_UserBlockingPriority,tt=n.unstable_NormalPriority,st=n.unstable_LowPriority,at=n.unstable_IdlePriority,nt=null,rt=null;var ot=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(it(e)/lt|0)|0},it=Math.log,lt=Math.LN2;var ct=64,gt=4194304;function ut(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function dt(e,t){var s=e.pendingLanes;if(0===s)return 0;var a=0,n=e.suspendedLanes,r=e.pingedLanes,o=268435455&s;if(0!==o){var i=o&~n;0!==i?a=ut(i):0!==(r&=o)&&(a=ut(r))}else 0!==(o=s&~n)?a=ut(o):0!==r&&(a=ut(r));if(0===a)return 0;if(0!==t&&t!==a&&0==(t&n)&&((n=a&-a)>=(r=t&-t)||16===n&&0!=(4194240&r)))return t;if(0!=(4&a)&&(a|=16&s),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0<t;)n=1<<(s=31-ot(t)),a|=e[s],t&=~n;return a}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function pt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ht(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function ft(e){for(var t=[],s=0;31>s;s++)t.push(e);return t}function _t(e,t,s){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=s}function Et(e,t){var s=e.entangledLanes|=t;for(e=e.entanglements;s;){var a=31-ot(s),n=1<<a;n&t|e[a]&t&&(e[a]|=t),s&=~n}}var vt=0;function bt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var St,yt,Tt,Ct,kt,xt=!1,Lt=[],wt=null,Pt=null,At=null,It=new Map,Nt=new Map,Dt=[],Rt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Mt(e,t){switch(e){case"focusin":case"focusout":wt=null;break;case"dragenter":case"dragleave":Pt=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":It.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function Ot(e,t,s,a,n,r){return null===e||e.nativeEvent!==r?(e={blockedOn:t,domEventName:s,eventSystemFlags:a,nativeEvent:r,targetContainers:[n]},null!==t&&(null!==(t=vn(t))&&yt(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,null!==n&&-1===t.indexOf(n)&&t.push(n),e)}function Ht(e){var t=En(e.target);if(null!==t){var s=Fe(t);if(null!==s)if(13===(t=s.tag)){if(null!==(t=Ge(s)))return e.blockedOn=t,void kt(e.priority,(function(){Tt(s)}))}else if(3===t&&s.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===s.tag?s.stateNode.containerInfo:null)}e.blockedOn=null}function zt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var s=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==s)return null!==(t=vn(s))&&yt(t),e.blockedOn=s,!1;var a=new(s=e.nativeEvent).constructor(s.type,s);be=a,s.target.dispatchEvent(a),be=null,t.shift()}return!0}function Bt(e,t,s){zt(e)&&s.delete(t)}function Ut(){xt=!1,null!==wt&&zt(wt)&&(wt=null),null!==Pt&&zt(Pt)&&(Pt=null),null!==At&&zt(At)&&(At=null),It.forEach(Bt),Nt.forEach(Bt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,xt||(xt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,Ut)))}function Ft(e){function t(t){return $t(t,e)}if(0<Lt.length){$t(Lt[0],e);for(var s=1;s<Lt.length;s++){var a=Lt[s];a.blockedOn===e&&(a.blockedOn=null)}}for(null!==wt&&$t(wt,e),null!==Pt&&$t(Pt,e),null!==At&&$t(At,e),It.forEach(t),Nt.forEach(t),s=0;s<Dt.length;s++)(a=Dt[s]).blockedOn===e&&(a.blockedOn=null);for(;0<Dt.length&&null===(s=Dt[0]).blockedOn;)Ht(s),null===s.blockedOn&&Dt.shift()}var Gt=b.ReactCurrentBatchConfig,Wt=!0;function jt(e,t,s,a){var n=vt,r=Gt.transition;Gt.transition=null;try{vt=1,qt(e,t,s,a)}finally{vt=n,Gt.transition=r}}function Vt(e,t,s,a){var n=vt,r=Gt.transition;Gt.transition=null;try{vt=4,qt(e,t,s,a)}finally{vt=n,Gt.transition=r}}function qt(e,t,s,a){if(Wt){var n=Zt(e,t,s,a);if(null===n)Ga(e,t,a,Kt,s),Mt(e,a);else if(function(e,t,s,a,n){switch(t){case"focusin":return wt=Ot(wt,e,t,s,a,n),!0;case"dragenter":return Pt=Ot(Pt,e,t,s,a,n),!0;case"mouseover":return At=Ot(At,e,t,s,a,n),!0;case"pointerover":var r=n.pointerId;return It.set(r,Ot(It.get(r)||null,e,t,s,a,n)),!0;case"gotpointercapture":return r=n.pointerId,Nt.set(r,Ot(Nt.get(r)||null,e,t,s,a,n)),!0}return!1}(n,e,t,s,a))a.stopPropagation();else if(Mt(e,a),4&t&&-1<Rt.indexOf(e)){for(;null!==n;){var r=vn(n);if(null!==r&&St(r),null===(r=Zt(e,t,s,a))&&Ga(e,t,a,Kt,s),r===n)break;n=r}null!==n&&a.stopPropagation()}else Ga(e,t,a,null,s)}}var Kt=null;function Zt(e,t,s,a){if(Kt=null,null!==(e=En(e=Se(a))))if(null===(t=Fe(e)))e=null;else if(13===(s=t.tag)){if(null!==(e=Ge(t)))return e;e=null}else if(3===s){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qe()){case Je:return 1;case et:return 4;case tt:case st:return 16;case at:return 536870912;default:return 16}default:return 16}}var Yt=null,Qt=null,Jt=null;function es(){if(Jt)return Jt;var e,t,s=Qt,a=s.length,n="value"in Yt?Yt.value:Yt.textContent,r=n.length;for(e=0;e<a&&s[e]===n[e];e++);var o=a-e;for(t=1;t<=o&&s[a-t]===n[r-t];t++);return Jt=n.slice(e,1<t?1-t:void 0)}function ts(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ss(){return!0}function as(){return!1}function ns(e){function t(t,s,a,n,r){for(var o in this._reactName=t,this._targetInst=a,this.type=s,this.nativeEvent=n,this.target=r,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(n):n[o]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?ss:as,this.isPropagationStopped=as,this}return H(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ss)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ss)},persist:function(){},isPersistent:ss}),t}var rs,os,is,ls={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cs=ns(ls),gs=H({},ls,{view:0,detail:0}),us=ns(gs),ds=H({},gs,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cs,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==is&&(is&&"mousemove"===e.type?(rs=e.screenX-is.screenX,os=e.screenY-is.screenY):os=rs=0,is=e),rs)},movementY:function(e){return"movementY"in e?e.movementY:os}}),ms=ns(ds),ps=ns(H({},ds,{dataTransfer:0})),hs=ns(H({},gs,{relatedTarget:0})),fs=ns(H({},ls,{animationName:0,elapsedTime:0,pseudoElement:0})),_s=H({},ls,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Es=ns(_s),vs=ns(H({},ls,{data:0})),bs={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ss={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ys={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ts(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=ys[e])&&!!t[e]}function Cs(){return Ts}var ks=H({},gs,{key:function(e){if(e.key){var t=bs[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ts(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Ss[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cs,charCode:function(e){return"keypress"===e.type?ts(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ts(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),xs=ns(ks),Ls=ns(H({},ds,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),ws=ns(H({},gs,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cs})),Ps=ns(H({},ls,{propertyName:0,elapsedTime:0,pseudoElement:0})),As=H({},ds,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Is=ns(As),Ns=[9,13,27,32],Ds=g&&"CompositionEvent"in window,Rs=null;g&&"documentMode"in document&&(Rs=document.documentMode);var Ms=g&&"TextEvent"in window&&!Rs,Os=g&&(!Ds||Rs&&8<Rs&&11>=Rs),Hs=String.fromCharCode(32),zs=!1;function Bs(e,t){switch(e){case"keyup":return-1!==Ns.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Us(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var $s=!1;var Fs={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Fs[e.type]:"textarea"===t}function Ws(e,t,s,a){xe(a),0<(t=ja(t,"onChange")).length&&(s=new cs("onChange","change",null,s,a),e.push({event:s,listeners:t}))}var js=null,Vs=null;function qs(e){Ha(e,0)}function Ks(e){if(q(bn(e)))return e}function Zs(e,t){if("change"===e)return t}var Xs=!1;if(g){var Ys;if(g){var Qs="oninput"in document;if(!Qs){var Js=document.createElement("div");Js.setAttribute("oninput","return;"),Qs="function"==typeof Js.oninput}Ys=Qs}else Ys=!1;Xs=Ys&&(!document.documentMode||9<document.documentMode)}function ea(){js&&(js.detachEvent("onpropertychange",ta),Vs=js=null)}function ta(e){if("value"===e.propertyName&&Ks(Vs)){var t=[];Ws(t,Vs,e,Se(e)),Ie(qs,t)}}function sa(e,t,s){"focusin"===e?(ea(),Vs=s,(js=t).attachEvent("onpropertychange",ta)):"focusout"===e&&ea()}function aa(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Ks(Vs)}function na(e,t){if("click"===e)return Ks(t)}function ra(e,t){if("input"===e||"change"===e)return Ks(t)}var oa="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ia(e,t){if(oa(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var s=Object.keys(e),a=Object.keys(t);if(s.length!==a.length)return!1;for(a=0;a<s.length;a++){var n=s[a];if(!u.call(t,n)||!oa(e[n],t[n]))return!1}return!0}function la(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ca(e,t){var s,a=la(e);for(e=0;a;){if(3===a.nodeType){if(s=e+a.textContent.length,e<=t&&s>=t)return{node:a,offset:t-e};e=s}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=la(a)}}function ga(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?ga(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function ua(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var s="string"==typeof t.contentWindow.location.href}catch(e){s=!1}if(!s)break;t=K((e=t.contentWindow).document)}return t}function da(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ma(e){var t=ua(),s=e.focusedElem,a=e.selectionRange;if(t!==s&&s&&s.ownerDocument&&ga(s.ownerDocument.documentElement,s)){if(null!==a&&da(s))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in s)s.selectionStart=t,s.selectionEnd=Math.min(e,s.value.length);else if((e=(t=s.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var n=s.textContent.length,r=Math.min(a.start,n);a=void 0===a.end?r:Math.min(a.end,n),!e.extend&&r>a&&(n=a,a=r,r=n),n=ca(s,r);var o=ca(s,a);n&&o&&(1!==e.rangeCount||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(n.node,n.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=s;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof s.focus&&s.focus(),s=0;s<t.length;s++)(e=t[s]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var pa=g&&"documentMode"in document&&11>=document.documentMode,ha=null,fa=null,_a=null,Ea=!1;function va(e,t,s){var a=s.window===s?s.document:9===s.nodeType?s:s.ownerDocument;Ea||null==ha||ha!==K(a)||("selectionStart"in(a=ha)&&da(a)?a={start:a.selectionStart,end:a.selectionEnd}:a={anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},_a&&ia(_a,a)||(_a=a,0<(a=ja(fa,"onSelect")).length&&(t=new cs("onSelect","select",null,t,s),e.push({event:t,listeners:a}),t.target=ha)))}function ba(e,t){var s={};return s[e.toLowerCase()]=t.toLowerCase(),s["Webkit"+e]="webkit"+t,s["Moz"+e]="moz"+t,s}var Sa={animationend:ba("Animation","AnimationEnd"),animationiteration:ba("Animation","AnimationIteration"),animationstart:ba("Animation","AnimationStart"),transitionend:ba("Transition","TransitionEnd")},ya={},Ta={};function Ca(e){if(ya[e])return ya[e];if(!Sa[e])return e;var t,s=Sa[e];for(t in s)if(s.hasOwnProperty(t)&&t in Ta)return ya[e]=s[t];return e}g&&(Ta=document.createElement("div").style,"AnimationEvent"in window||(delete Sa.animationend.animation,delete Sa.animationiteration.animation,delete Sa.animationstart.animation),"TransitionEvent"in window||delete Sa.transitionend.transition);var ka=Ca("animationend"),xa=Ca("animationiteration"),La=Ca("animationstart"),wa=Ca("transitionend"),Pa=new Map,Aa="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ia(e,t){Pa.set(e,t),l(t,[e])}for(var Na=0;Na<Aa.length;Na++){var Da=Aa[Na];Ia(Da.toLowerCase(),"on"+(Da[0].toUpperCase()+Da.slice(1)))}Ia(ka,"onAnimationEnd"),Ia(xa,"onAnimationIteration"),Ia(La,"onAnimationStart"),Ia("dblclick","onDoubleClick"),Ia("focusin","onFocus"),Ia("focusout","onBlur"),Ia(wa,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ra="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ma=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ra));function Oa(e,t,s){var a=e.type||"unknown-event";e.currentTarget=s,function(e,t,s,a,n,o,i,l,c){if($e.apply(this,arguments),Oe){if(!Oe)throw Error(r(198));var g=He;Oe=!1,He=null,ze||(ze=!0,Be=g)}}(a,t,void 0,e),e.currentTarget=null}function Ha(e,t){t=0!=(4&t);for(var s=0;s<e.length;s++){var a=e[s],n=a.event;a=a.listeners;e:{var r=void 0;if(t)for(var o=a.length-1;0<=o;o--){var i=a[o],l=i.instance,c=i.currentTarget;if(i=i.listener,l!==r&&n.isPropagationStopped())break e;Oa(n,i,c),r=l}else for(o=0;o<a.length;o++){if(l=(i=a[o]).instance,c=i.currentTarget,i=i.listener,l!==r&&n.isPropagationStopped())break e;Oa(n,i,c),r=l}}}if(ze)throw e=Be,ze=!1,Be=null,e}function za(e,t){var s=t[hn];void 0===s&&(s=t[hn]=new Set);var a=e+"__bubble";s.has(a)||(Fa(t,e,2,!1),s.add(a))}function Ba(e,t,s){var a=0;t&&(a|=4),Fa(s,e,a,t)}var Ua="_reactListening"+Math.random().toString(36).slice(2);function $a(e){if(!e[Ua]){e[Ua]=!0,o.forEach((function(t){"selectionchange"!==t&&(Ma.has(t)||Ba(t,!1,e),Ba(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ua]||(t[Ua]=!0,Ba("selectionchange",!1,t))}}function Fa(e,t,s,a){switch(Xt(t)){case 1:var n=jt;break;case 4:n=Vt;break;default:n=qt}s=n.bind(null,t,s,e),n=void 0,!De||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(n=!0),a?void 0!==n?e.addEventListener(t,s,{capture:!0,passive:n}):e.addEventListener(t,s,!0):void 0!==n?e.addEventListener(t,s,{passive:n}):e.addEventListener(t,s,!1)}function Ga(e,t,s,a,n){var r=a;if(0==(1&t)&&0==(2&t)&&null!==a)e:for(;;){if(null===a)return;var o=a.tag;if(3===o||4===o){var i=a.stateNode.containerInfo;if(i===n||8===i.nodeType&&i.parentNode===n)break;if(4===o)for(o=a.return;null!==o;){var l=o.tag;if((3===l||4===l)&&((l=o.stateNode.containerInfo)===n||8===l.nodeType&&l.parentNode===n))return;o=o.return}for(;null!==i;){if(null===(o=En(i)))return;if(5===(l=o.tag)||6===l){a=r=o;continue e}i=i.parentNode}}a=a.return}Ie((function(){var a=r,n=Se(s),o=[];e:{var i=Pa.get(e);if(void 0!==i){var l=cs,c=e;switch(e){case"keypress":if(0===ts(s))break e;case"keydown":case"keyup":l=xs;break;case"focusin":c="focus",l=hs;break;case"focusout":c="blur",l=hs;break;case"beforeblur":case"afterblur":l=hs;break;case"click":if(2===s.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=ms;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=ps;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=ws;break;case ka:case xa:case La:l=fs;break;case wa:l=Ps;break;case"scroll":l=us;break;case"wheel":l=Is;break;case"copy":case"cut":case"paste":l=Es;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Ls}var g=0!=(4&t),u=!g&&"scroll"===e,d=g?null!==i?i+"Capture":null:i;g=[];for(var m,p=a;null!==p;){var h=(m=p).stateNode;if(5===m.tag&&null!==h&&(m=h,null!==d&&(null!=(h=Ne(p,d))&&g.push(Wa(p,h,m)))),u)break;p=p.return}0<g.length&&(i=new l(i,c,null,s,n),o.push({event:i,listeners:g}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||s===be||!(c=s.relatedTarget||s.fromElement)||!En(c)&&!c[pn])&&(l||i)&&(i=n.window===n?n:(i=n.ownerDocument)?i.defaultView||i.parentWindow:window,l?(l=a,null!==(c=(c=s.relatedTarget||s.toElement)?En(c):null)&&(c!==(u=Fe(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=a),l!==c)){if(g=ms,h="onMouseLeave",d="onMouseEnter",p="mouse","pointerout"!==e&&"pointerover"!==e||(g=Ls,h="onPointerLeave",d="onPointerEnter",p="pointer"),u=null==l?i:bn(l),m=null==c?i:bn(c),(i=new g(h,p+"leave",l,s,n)).target=u,i.relatedTarget=m,h=null,En(n)===a&&((g=new g(d,p+"enter",c,s,n)).target=m,g.relatedTarget=u,h=g),u=h,l&&c)e:{for(d=c,p=0,m=g=l;m;m=Va(m))p++;for(m=0,h=d;h;h=Va(h))m++;for(;0<p-m;)g=Va(g),p--;for(;0<m-p;)d=Va(d),m--;for(;p--;){if(g===d||null!==d&&g===d.alternate)break e;g=Va(g),d=Va(d)}g=null}else g=null;null!==l&&qa(o,i,l,g,!1),null!==c&&null!==u&&qa(o,u,c,g,!0)}if("select"===(l=(i=a?bn(a):window).nodeName&&i.nodeName.toLowerCase())||"input"===l&&"file"===i.type)var f=Zs;else if(Gs(i))if(Xs)f=ra;else{f=aa;var _=sa}else(l=i.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(f=na);switch(f&&(f=f(e,a))?Ws(o,f,s,n):(_&&_(e,i,a),"focusout"===e&&(_=i._wrapperState)&&_.controlled&&"number"===i.type&&ee(i,"number",i.value)),_=a?bn(a):window,e){case"focusin":(Gs(_)||"true"===_.contentEditable)&&(ha=_,fa=a,_a=null);break;case"focusout":_a=fa=ha=null;break;case"mousedown":Ea=!0;break;case"contextmenu":case"mouseup":case"dragend":Ea=!1,va(o,s,n);break;case"selectionchange":if(pa)break;case"keydown":case"keyup":va(o,s,n)}var E;if(Ds)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else $s?Bs(e,s)&&(v="onCompositionEnd"):"keydown"===e&&229===s.keyCode&&(v="onCompositionStart");v&&(Os&&"ko"!==s.locale&&($s||"onCompositionStart"!==v?"onCompositionEnd"===v&&$s&&(E=es()):(Qt="value"in(Yt=n)?Yt.value:Yt.textContent,$s=!0)),0<(_=ja(a,v)).length&&(v=new vs(v,e,null,s,n),o.push({event:v,listeners:_}),E?v.data=E:null!==(E=Us(s))&&(v.data=E))),(E=Ms?function(e,t){switch(e){case"compositionend":return Us(t);case"keypress":return 32!==t.which?null:(zs=!0,Hs);case"textInput":return(e=t.data)===Hs&&zs?null:e;default:return null}}(e,s):function(e,t){if($s)return"compositionend"===e||!Ds&&Bs(e,t)?(e=es(),Jt=Qt=Yt=null,$s=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Os&&"ko"!==t.locale?null:t.data}}(e,s))&&(0<(a=ja(a,"onBeforeInput")).length&&(n=new vs("onBeforeInput","beforeinput",null,s,n),o.push({event:n,listeners:a}),n.data=E))}Ha(o,t)}))}function Wa(e,t,s){return{instance:e,listener:t,currentTarget:s}}function ja(e,t){for(var s=t+"Capture",a=[];null!==e;){var n=e,r=n.stateNode;5===n.tag&&null!==r&&(n=r,null!=(r=Ne(e,s))&&a.unshift(Wa(e,r,n)),null!=(r=Ne(e,t))&&a.push(Wa(e,r,n))),e=e.return}return a}function Va(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qa(e,t,s,a,n){for(var r=t._reactName,o=[];null!==s&&s!==a;){var i=s,l=i.alternate,c=i.stateNode;if(null!==l&&l===a)break;5===i.tag&&null!==c&&(i=c,n?null!=(l=Ne(s,r))&&o.unshift(Wa(s,l,i)):n||null!=(l=Ne(s,r))&&o.push(Wa(s,l,i))),s=s.return}0!==o.length&&e.push({event:t,listeners:o})}var Ka=/\r\n?/g,Za=/\u0000|\uFFFD/g;function Xa(e){return("string"==typeof e?e:""+e).replace(Ka,"\n").replace(Za,"")}function Ya(e,t,s){if(t=Xa(t),Xa(e)!==t&&s)throw Error(r(425))}function Qa(){}var Ja=null,en=null;function tn(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var sn="function"==typeof setTimeout?setTimeout:void 0,an="function"==typeof clearTimeout?clearTimeout:void 0,nn="function"==typeof Promise?Promise:void 0,rn="function"==typeof queueMicrotask?queueMicrotask:void 0!==nn?function(e){return nn.resolve(null).then(e).catch(on)}:sn;function on(e){setTimeout((function(){throw e}))}function ln(e,t){var s=t,a=0;do{var n=s.nextSibling;if(e.removeChild(s),n&&8===n.nodeType)if("/$"===(s=n.data)){if(0===a)return e.removeChild(n),void Ft(t);a--}else"$"!==s&&"$?"!==s&&"$!"!==s||a++;s=n}while(s);Ft(t)}function cn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function gn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var s=e.data;if("$"===s||"$!"===s||"$?"===s){if(0===t)return e;t--}else"/$"===s&&t++}e=e.previousSibling}return null}var un=Math.random().toString(36).slice(2),dn="__reactFiber$"+un,mn="__reactProps$"+un,pn="__reactContainer$"+un,hn="__reactEvents$"+un,fn="__reactListeners$"+un,_n="__reactHandles$"+un;function En(e){var t=e[dn];if(t)return t;for(var s=e.parentNode;s;){if(t=s[pn]||s[dn]){if(s=t.alternate,null!==t.child||null!==s&&null!==s.child)for(e=gn(e);null!==e;){if(s=e[dn])return s;e=gn(e)}return t}s=(e=s).parentNode}return null}function vn(e){return!(e=e[dn]||e[pn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function bn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(r(33))}function Sn(e){return e[mn]||null}var yn=[],Tn=-1;function Cn(e){return{current:e}}function kn(e){0>Tn||(e.current=yn[Tn],yn[Tn]=null,Tn--)}function xn(e,t){Tn++,yn[Tn]=e.current,e.current=t}var Ln={},wn=Cn(Ln),Pn=Cn(!1),An=Ln;function In(e,t){var s=e.type.contextTypes;if(!s)return Ln;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var n,r={};for(n in s)r[n]=t[n];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Nn(e){return null!=(e=e.childContextTypes)}function Dn(){kn(Pn),kn(wn)}function Rn(e,t,s){if(wn.current!==Ln)throw Error(r(168));xn(wn,t),xn(Pn,s)}function Mn(e,t,s){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return s;for(var n in a=a.getChildContext())if(!(n in t))throw Error(r(108,G(e)||"Unknown",n));return H({},s,a)}function On(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ln,An=wn.current,xn(wn,e),xn(Pn,Pn.current),!0}function Hn(e,t,s){var a=e.stateNode;if(!a)throw Error(r(169));s?(e=Mn(e,t,An),a.__reactInternalMemoizedMergedChildContext=e,kn(Pn),kn(wn),xn(wn,e)):kn(Pn),xn(Pn,s)}var zn=null,Bn=!1,Un=!1;function $n(e){null===zn?zn=[e]:zn.push(e)}function Fn(){if(!Un&&null!==zn){Un=!0;var e=0,t=vt;try{var s=zn;for(vt=1;e<s.length;e++){var a=s[e];do{a=a(!0)}while(null!==a)}zn=null,Bn=!1}catch(t){throw null!==zn&&(zn=zn.slice(e+1)),qe(Je,Fn),t}finally{vt=t,Un=!1}}return null}var Gn=[],Wn=0,jn=null,Vn=0,qn=[],Kn=0,Zn=null,Xn=1,Yn="";function Qn(e,t){Gn[Wn++]=Vn,Gn[Wn++]=jn,jn=e,Vn=t}function Jn(e,t,s){qn[Kn++]=Xn,qn[Kn++]=Yn,qn[Kn++]=Zn,Zn=e;var a=Xn;e=Yn;var n=32-ot(a)-1;a&=~(1<<n),s+=1;var r=32-ot(t)+n;if(30<r){var o=n-n%5;r=(a&(1<<o)-1).toString(32),a>>=o,n-=o,Xn=1<<32-ot(t)+n|s<<n|a,Yn=r+e}else Xn=1<<r|s<<n|a,Yn=e}function er(e){null!==e.return&&(Qn(e,1),Jn(e,1,0))}function tr(e){for(;e===jn;)jn=Gn[--Wn],Gn[Wn]=null,Vn=Gn[--Wn],Gn[Wn]=null;for(;e===Zn;)Zn=qn[--Kn],qn[Kn]=null,Yn=qn[--Kn],qn[Kn]=null,Xn=qn[--Kn],qn[Kn]=null}var sr=null,ar=null,nr=!1,rr=null;function or(e,t){var s=Nc(5,null,null,0);s.elementType="DELETED",s.stateNode=t,s.return=e,null===(t=e.deletions)?(e.deletions=[s],e.flags|=16):t.push(s)}function ir(e,t){switch(e.tag){case 5:var s=e.type;return null!==(t=1!==t.nodeType||s.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,sr=e,ar=cn(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,sr=e,ar=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(s=null!==Zn?{id:Xn,overflow:Yn}:null,e.memoizedState={dehydrated:t,treeContext:s,retryLane:1073741824},(s=Nc(18,null,null,0)).stateNode=t,s.return=e,e.child=s,sr=e,ar=null,!0);default:return!1}}function lr(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function cr(e){if(nr){var t=ar;if(t){var s=t;if(!ir(e,t)){if(lr(e))throw Error(r(418));t=cn(s.nextSibling);var a=sr;t&&ir(e,t)?or(a,s):(e.flags=-4097&e.flags|2,nr=!1,sr=e)}}else{if(lr(e))throw Error(r(418));e.flags=-4097&e.flags|2,nr=!1,sr=e}}}function gr(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;sr=e}function ur(e){if(e!==sr)return!1;if(!nr)return gr(e),nr=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!tn(e.type,e.memoizedProps)),t&&(t=ar)){if(lr(e))throw dr(),Error(r(418));for(;t;)or(e,t),t=cn(t.nextSibling)}if(gr(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var s=e.data;if("/$"===s){if(0===t){ar=cn(e.nextSibling);break e}t--}else"$"!==s&&"$!"!==s&&"$?"!==s||t++}e=e.nextSibling}ar=null}}else ar=sr?cn(e.stateNode.nextSibling):null;return!0}function dr(){for(var e=ar;e;)e=cn(e.nextSibling)}function mr(){ar=sr=null,nr=!1}function pr(e){null===rr?rr=[e]:rr.push(e)}var hr=b.ReactCurrentBatchConfig;function fr(e,t){if(e&&e.defaultProps){for(var s in t=H({},t),e=e.defaultProps)void 0===t[s]&&(t[s]=e[s]);return t}return t}var _r=Cn(null),Er=null,vr=null,br=null;function Sr(){br=vr=Er=null}function yr(e){var t=_r.current;kn(_r),e._currentValue=t}function Tr(e,t,s){for(;null!==e;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==a&&(a.childLanes|=t)):null!==a&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===s)break;e=e.return}}function Cr(e,t){Er=e,br=vr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(bi=!0),e.firstContext=null)}function kr(e){var t=e._currentValue;if(br!==e)if(e={context:e,memoizedValue:t,next:null},null===vr){if(null===Er)throw Error(r(308));vr=e,Er.dependencies={lanes:0,firstContext:e}}else vr=vr.next=e;return t}var xr=null;function Lr(e){null===xr?xr=[e]:xr.push(e)}function wr(e,t,s,a){var n=t.interleaved;return null===n?(s.next=s,Lr(t)):(s.next=n.next,n.next=s),t.interleaved=s,Pr(e,a)}function Pr(e,t){e.lanes|=t;var s=e.alternate;for(null!==s&&(s.lanes|=t),s=e,e=e.return;null!==e;)e.childLanes|=t,null!==(s=e.alternate)&&(s.childLanes|=t),s=e,e=e.return;return 3===s.tag?s.stateNode:null}var Ar=!1;function Ir(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Nr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Dr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Rr(e,t,s){var a=e.updateQueue;if(null===a)return null;if(a=a.shared,0!=(2&Pl)){var n=a.pending;return null===n?t.next=t:(t.next=n.next,n.next=t),a.pending=t,Pr(e,s)}return null===(n=a.interleaved)?(t.next=t,Lr(a)):(t.next=n.next,n.next=t),a.interleaved=t,Pr(e,s)}function Mr(e,t,s){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&s))){var a=t.lanes;s|=a&=e.pendingLanes,t.lanes=s,Et(e,s)}}function Or(e,t){var s=e.updateQueue,a=e.alternate;if(null!==a&&s===(a=a.updateQueue)){var n=null,r=null;if(null!==(s=s.firstBaseUpdate)){do{var o={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};null===r?n=r=o:r=r.next=o,s=s.next}while(null!==s);null===r?n=r=t:r=r.next=t}else n=r=t;return s={baseState:a.baseState,firstBaseUpdate:n,lastBaseUpdate:r,shared:a.shared,effects:a.effects},void(e.updateQueue=s)}null===(e=s.lastBaseUpdate)?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function Hr(e,t,s,a){var n=e.updateQueue;Ar=!1;var r=n.firstBaseUpdate,o=n.lastBaseUpdate,i=n.shared.pending;if(null!==i){n.shared.pending=null;var l=i,c=l.next;l.next=null,null===o?r=c:o.next=c,o=l;var g=e.alternate;null!==g&&((i=(g=g.updateQueue).lastBaseUpdate)!==o&&(null===i?g.firstBaseUpdate=c:i.next=c,g.lastBaseUpdate=l))}if(null!==r){var u=n.baseState;for(o=0,g=c=l=null,i=r;;){var d=i.lane,m=i.eventTime;if((a&d)===d){null!==g&&(g=g.next={eventTime:m,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var p=e,h=i;switch(d=t,m=s,h.tag){case 1:if("function"==typeof(p=h.payload)){u=p.call(m,u,d);break e}u=p;break e;case 3:p.flags=-65537&p.flags|128;case 0:if(null==(d="function"==typeof(p=h.payload)?p.call(m,u,d):p))break e;u=H({},u,d);break e;case 2:Ar=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(d=n.effects)?n.effects=[i]:d.push(i))}else m={eventTime:m,lane:d,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===g?(c=g=m,l=u):g=g.next=m,o|=d;if(null===(i=i.next)){if(null===(i=n.shared.pending))break;i=(d=i).next,d.next=null,n.lastBaseUpdate=d,n.shared.pending=null}}if(null===g&&(l=u),n.baseState=l,n.firstBaseUpdate=c,n.lastBaseUpdate=g,null!==(t=n.shared.interleaved)){n=t;do{o|=n.lane,n=n.next}while(n!==t)}else null===r&&(n.shared.lanes=0);Hl|=o,e.lanes=o,e.memoizedState=u}}function zr(e,t,s){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],n=a.callback;if(null!==n){if(a.callback=null,a=s,"function"!=typeof n)throw Error(r(191,n));n.call(a)}}}var Br=(new a.Component).refs;function Ur(e,t,s,a){s=null==(s=s(a,t=e.memoizedState))?t:H({},t,s),e.memoizedState=s,0===e.lanes&&(e.updateQueue.baseState=s)}var $r={isMounted:function(e){return!!(e=e._reactInternals)&&Fe(e)===e},enqueueSetState:function(e,t,s){e=e._reactInternals;var a=tc(),n=sc(e),r=Dr(a,n);r.payload=t,null!=s&&(r.callback=s),null!==(t=Rr(e,r,n))&&(ac(t,e,n,a),Mr(t,e,n))},enqueueReplaceState:function(e,t,s){e=e._reactInternals;var a=tc(),n=sc(e),r=Dr(a,n);r.tag=1,r.payload=t,null!=s&&(r.callback=s),null!==(t=Rr(e,r,n))&&(ac(t,e,n,a),Mr(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var s=tc(),a=sc(e),n=Dr(s,a);n.tag=2,null!=t&&(n.callback=t),null!==(t=Rr(e,n,a))&&(ac(t,e,a,s),Mr(t,e,a))}};function Fr(e,t,s,a,n,r,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(a,r,o):!t.prototype||!t.prototype.isPureReactComponent||(!ia(s,a)||!ia(n,r))}function Gr(e,t,s){var a=!1,n=Ln,r=t.contextType;return"object"==typeof r&&null!==r?r=kr(r):(n=Nn(t)?An:wn.current,r=(a=null!=(a=t.contextTypes))?In(e,n):Ln),t=new t(s,r),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=$r,e.stateNode=t,t._reactInternals=e,a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=r),t}function Wr(e,t,s,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(s,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(s,a),t.state!==e&&$r.enqueueReplaceState(t,t.state,null)}function jr(e,t,s,a){var n=e.stateNode;n.props=s,n.state=e.memoizedState,n.refs=Br,Ir(e);var r=t.contextType;"object"==typeof r&&null!==r?n.context=kr(r):(r=Nn(t)?An:wn.current,n.context=In(e,r)),n.state=e.memoizedState,"function"==typeof(r=t.getDerivedStateFromProps)&&(Ur(e,t,r,s),n.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof n.getSnapshotBeforeUpdate||"function"!=typeof n.UNSAFE_componentWillMount&&"function"!=typeof n.componentWillMount||(t=n.state,"function"==typeof n.componentWillMount&&n.componentWillMount(),"function"==typeof n.UNSAFE_componentWillMount&&n.UNSAFE_componentWillMount(),t!==n.state&&$r.enqueueReplaceState(n,n.state,null),Hr(e,s,n,a),n.state=e.memoizedState),"function"==typeof n.componentDidMount&&(e.flags|=4194308)}function Vr(e,t,s){if(null!==(e=s.ref)&&"function"!=typeof e&&"object"!=typeof e){if(s._owner){if(s=s._owner){if(1!==s.tag)throw Error(r(309));var a=s.stateNode}if(!a)throw Error(r(147,e));var n=a,o=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=n.refs;t===Br&&(t=n.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!=typeof e)throw Error(r(284));if(!s._owner)throw Error(r(290,e))}return e}function qr(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Kr(e){return(0,e._init)(e._payload)}function Zr(e){function t(t,s){if(e){var a=t.deletions;null===a?(t.deletions=[s],t.flags|=16):a.push(s)}}function s(s,a){if(!e)return null;for(;null!==a;)t(s,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function n(e,t){return(e=Rc(e,t)).index=0,e.sibling=null,e}function o(t,s,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<s?(t.flags|=2,s):a:(t.flags|=2,s):(t.flags|=1048576,s)}function i(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,s,a){return null===t||6!==t.tag?((t=zc(s,e.mode,a)).return=e,t):((t=n(t,s)).return=e,t)}function c(e,t,s,a){var r=s.type;return r===T?u(e,t,s.props.children,a,s.key):null!==t&&(t.elementType===r||"object"==typeof r&&null!==r&&r.$$typeof===N&&Kr(r)===t.type)?((a=n(t,s.props)).ref=Vr(e,t,s),a.return=e,a):((a=Mc(s.type,s.key,s.props,null,e.mode,a)).ref=Vr(e,t,s),a.return=e,a)}function g(e,t,s,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==s.containerInfo||t.stateNode.implementation!==s.implementation?((t=Bc(s,e.mode,a)).return=e,t):((t=n(t,s.children||[])).return=e,t)}function u(e,t,s,a,r){return null===t||7!==t.tag?((t=Oc(s,e.mode,a,r)).return=e,t):((t=n(t,s)).return=e,t)}function d(e,t,s){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=zc(""+t,e.mode,s)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case S:return(s=Mc(t.type,t.key,t.props,null,e.mode,s)).ref=Vr(e,null,t),s.return=e,s;case y:return(t=Bc(t,e.mode,s)).return=e,t;case N:return d(e,(0,t._init)(t._payload),s)}if(te(t)||M(t))return(t=Oc(t,e.mode,s,null)).return=e,t;qr(e,t)}return null}function m(e,t,s,a){var n=null!==t?t.key:null;if("string"==typeof s&&""!==s||"number"==typeof s)return null!==n?null:l(e,t,""+s,a);if("object"==typeof s&&null!==s){switch(s.$$typeof){case S:return s.key===n?c(e,t,s,a):null;case y:return s.key===n?g(e,t,s,a):null;case N:return m(e,t,(n=s._init)(s._payload),a)}if(te(s)||M(s))return null!==n?null:u(e,t,s,a,null);qr(e,s)}return null}function p(e,t,s,a,n){if("string"==typeof a&&""!==a||"number"==typeof a)return l(t,e=e.get(s)||null,""+a,n);if("object"==typeof a&&null!==a){switch(a.$$typeof){case S:return c(t,e=e.get(null===a.key?s:a.key)||null,a,n);case y:return g(t,e=e.get(null===a.key?s:a.key)||null,a,n);case N:return p(e,t,s,(0,a._init)(a._payload),n)}if(te(a)||M(a))return u(t,e=e.get(s)||null,a,n,null);qr(t,a)}return null}function h(n,r,i,l){for(var c=null,g=null,u=r,h=r=0,f=null;null!==u&&h<i.length;h++){u.index>h?(f=u,u=null):f=u.sibling;var _=m(n,u,i[h],l);if(null===_){null===u&&(u=f);break}e&&u&&null===_.alternate&&t(n,u),r=o(_,r,h),null===g?c=_:g.sibling=_,g=_,u=f}if(h===i.length)return s(n,u),nr&&Qn(n,h),c;if(null===u){for(;h<i.length;h++)null!==(u=d(n,i[h],l))&&(r=o(u,r,h),null===g?c=u:g.sibling=u,g=u);return nr&&Qn(n,h),c}for(u=a(n,u);h<i.length;h++)null!==(f=p(u,n,h,i[h],l))&&(e&&null!==f.alternate&&u.delete(null===f.key?h:f.key),r=o(f,r,h),null===g?c=f:g.sibling=f,g=f);return e&&u.forEach((function(e){return t(n,e)})),nr&&Qn(n,h),c}function f(n,i,l,c){var g=M(l);if("function"!=typeof g)throw Error(r(150));if(null==(l=g.call(l)))throw Error(r(151));for(var u=g=null,h=i,f=i=0,_=null,E=l.next();null!==h&&!E.done;f++,E=l.next()){h.index>f?(_=h,h=null):_=h.sibling;var v=m(n,h,E.value,c);if(null===v){null===h&&(h=_);break}e&&h&&null===v.alternate&&t(n,h),i=o(v,i,f),null===u?g=v:u.sibling=v,u=v,h=_}if(E.done)return s(n,h),nr&&Qn(n,f),g;if(null===h){for(;!E.done;f++,E=l.next())null!==(E=d(n,E.value,c))&&(i=o(E,i,f),null===u?g=E:u.sibling=E,u=E);return nr&&Qn(n,f),g}for(h=a(n,h);!E.done;f++,E=l.next())null!==(E=p(h,n,f,E.value,c))&&(e&&null!==E.alternate&&h.delete(null===E.key?f:E.key),i=o(E,i,f),null===u?g=E:u.sibling=E,u=E);return e&&h.forEach((function(e){return t(n,e)})),nr&&Qn(n,f),g}return function e(a,r,o,l){if("object"==typeof o&&null!==o&&o.type===T&&null===o.key&&(o=o.props.children),"object"==typeof o&&null!==o){switch(o.$$typeof){case S:e:{for(var c=o.key,g=r;null!==g;){if(g.key===c){if((c=o.type)===T){if(7===g.tag){s(a,g.sibling),(r=n(g,o.props.children)).return=a,a=r;break e}}else if(g.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===N&&Kr(c)===g.type){s(a,g.sibling),(r=n(g,o.props)).ref=Vr(a,g,o),r.return=a,a=r;break e}s(a,g);break}t(a,g),g=g.sibling}o.type===T?((r=Oc(o.props.children,a.mode,l,o.key)).return=a,a=r):((l=Mc(o.type,o.key,o.props,null,a.mode,l)).ref=Vr(a,r,o),l.return=a,a=l)}return i(a);case y:e:{for(g=o.key;null!==r;){if(r.key===g){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){s(a,r.sibling),(r=n(r,o.children||[])).return=a,a=r;break e}s(a,r);break}t(a,r),r=r.sibling}(r=Bc(o,a.mode,l)).return=a,a=r}return i(a);case N:return e(a,r,(g=o._init)(o._payload),l)}if(te(o))return h(a,r,o,l);if(M(o))return f(a,r,o,l);qr(a,o)}return"string"==typeof o&&""!==o||"number"==typeof o?(o=""+o,null!==r&&6===r.tag?(s(a,r.sibling),(r=n(r,o)).return=a,a=r):(s(a,r),(r=zc(o,a.mode,l)).return=a,a=r),i(a)):s(a,r)}}var Xr=Zr(!0),Yr=Zr(!1),Qr={},Jr=Cn(Qr),eo=Cn(Qr),to=Cn(Qr);function so(e){if(e===Qr)throw Error(r(174));return e}function ao(e,t){switch(xn(to,t),xn(eo,e),xn(Jr,Qr),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}kn(Jr),xn(Jr,t)}function no(){kn(Jr),kn(eo),kn(to)}function ro(e){so(to.current);var t=so(Jr.current),s=le(t,e.type);t!==s&&(xn(eo,e),xn(Jr,s))}function oo(e){eo.current===e&&(kn(Jr),kn(eo))}var io=Cn(0);function lo(e){for(var t=e;null!==t;){if(13===t.tag){var s=t.memoizedState;if(null!==s&&(null===(s=s.dehydrated)||"$?"===s.data||"$!"===s.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var co=[];function go(){for(var e=0;e<co.length;e++)co[e]._workInProgressVersionPrimary=null;co.length=0}var uo=b.ReactCurrentDispatcher,mo=b.ReactCurrentBatchConfig,po=0,ho=null,fo=null,_o=null,Eo=!1,vo=!1,bo=0,So=0;function yo(){throw Error(r(321))}function To(e,t){if(null===t)return!1;for(var s=0;s<t.length&&s<e.length;s++)if(!oa(e[s],t[s]))return!1;return!0}function Co(e,t,s,a,n,o){if(po=o,ho=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,uo.current=null===e||null===e.memoizedState?ii:li,e=s(a,n),vo){o=0;do{if(vo=!1,bo=0,25<=o)throw Error(r(301));o+=1,_o=fo=null,t.updateQueue=null,uo.current=ci,e=s(a,n)}while(vo)}if(uo.current=oi,t=null!==fo&&null!==fo.next,po=0,_o=fo=ho=null,Eo=!1,t)throw Error(r(300));return e}function ko(){var e=0!==bo;return bo=0,e}function xo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===_o?ho.memoizedState=_o=e:_o=_o.next=e,_o}function Lo(){if(null===fo){var e=ho.alternate;e=null!==e?e.memoizedState:null}else e=fo.next;var t=null===_o?ho.memoizedState:_o.next;if(null!==t)_o=t,fo=e;else{if(null===e)throw Error(r(310));e={memoizedState:(fo=e).memoizedState,baseState:fo.baseState,baseQueue:fo.baseQueue,queue:fo.queue,next:null},null===_o?ho.memoizedState=_o=e:_o=_o.next=e}return _o}function wo(e,t){return"function"==typeof t?t(e):t}function Po(e){var t=Lo(),s=t.queue;if(null===s)throw Error(r(311));s.lastRenderedReducer=e;var a=fo,n=a.baseQueue,o=s.pending;if(null!==o){if(null!==n){var i=n.next;n.next=o.next,o.next=i}a.baseQueue=n=o,s.pending=null}if(null!==n){o=n.next,a=a.baseState;var l=i=null,c=null,g=o;do{var u=g.lane;if((po&u)===u)null!==c&&(c=c.next={lane:0,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null}),a=g.hasEagerState?g.eagerState:e(a,g.action);else{var d={lane:u,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null};null===c?(l=c=d,i=a):c=c.next=d,ho.lanes|=u,Hl|=u}g=g.next}while(null!==g&&g!==o);null===c?i=a:c.next=l,oa(a,t.memoizedState)||(bi=!0),t.memoizedState=a,t.baseState=i,t.baseQueue=c,s.lastRenderedState=a}if(null!==(e=s.interleaved)){n=e;do{o=n.lane,ho.lanes|=o,Hl|=o,n=n.next}while(n!==e)}else null===n&&(s.lanes=0);return[t.memoizedState,s.dispatch]}function Ao(e){var t=Lo(),s=t.queue;if(null===s)throw Error(r(311));s.lastRenderedReducer=e;var a=s.dispatch,n=s.pending,o=t.memoizedState;if(null!==n){s.pending=null;var i=n=n.next;do{o=e(o,i.action),i=i.next}while(i!==n);oa(o,t.memoizedState)||(bi=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),s.lastRenderedState=o}return[o,a]}function Io(){}function No(e,t){var s=ho,a=Lo(),n=t(),o=!oa(a.memoizedState,n);if(o&&(a.memoizedState=n,bi=!0),a=a.queue,Wo(Mo.bind(null,s,a,e),[e]),a.getSnapshot!==t||o||null!==_o&&1&_o.memoizedState.tag){if(s.flags|=2048,Bo(9,Ro.bind(null,s,a,n,t),void 0,null),null===Al)throw Error(r(349));0!=(30&po)||Do(s,t,n)}return n}function Do(e,t,s){e.flags|=16384,e={getSnapshot:t,value:s},null===(t=ho.updateQueue)?(t={lastEffect:null,stores:null},ho.updateQueue=t,t.stores=[e]):null===(s=t.stores)?t.stores=[e]:s.push(e)}function Ro(e,t,s,a){t.value=s,t.getSnapshot=a,Oo(t)&&Ho(e)}function Mo(e,t,s){return s((function(){Oo(t)&&Ho(e)}))}function Oo(e){var t=e.getSnapshot;e=e.value;try{var s=t();return!oa(e,s)}catch(e){return!0}}function Ho(e){var t=Pr(e,1);null!==t&&ac(t,e,1,-1)}function zo(e){var t=xo();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wo,lastRenderedState:e},t.queue=e,e=e.dispatch=si.bind(null,ho,e),[t.memoizedState,e]}function Bo(e,t,s,a){return e={tag:e,create:t,destroy:s,deps:a,next:null},null===(t=ho.updateQueue)?(t={lastEffect:null,stores:null},ho.updateQueue=t,t.lastEffect=e.next=e):null===(s=t.lastEffect)?t.lastEffect=e.next=e:(a=s.next,s.next=e,e.next=a,t.lastEffect=e),e}function Uo(){return Lo().memoizedState}function $o(e,t,s,a){var n=xo();ho.flags|=e,n.memoizedState=Bo(1|t,s,void 0,void 0===a?null:a)}function Fo(e,t,s,a){var n=Lo();a=void 0===a?null:a;var r=void 0;if(null!==fo){var o=fo.memoizedState;if(r=o.destroy,null!==a&&To(a,o.deps))return void(n.memoizedState=Bo(t,s,r,a))}ho.flags|=e,n.memoizedState=Bo(1|t,s,r,a)}function Go(e,t){return $o(8390656,8,e,t)}function Wo(e,t){return Fo(2048,8,e,t)}function jo(e,t){return Fo(4,2,e,t)}function Vo(e,t){return Fo(4,4,e,t)}function qo(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ko(e,t,s){return s=null!=s?s.concat([e]):null,Fo(4,4,qo.bind(null,t,e),s)}function Zo(){}function Xo(e,t){var s=Lo();t=void 0===t?null:t;var a=s.memoizedState;return null!==a&&null!==t&&To(t,a[1])?a[0]:(s.memoizedState=[e,t],e)}function Yo(e,t){var s=Lo();t=void 0===t?null:t;var a=s.memoizedState;return null!==a&&null!==t&&To(t,a[1])?a[0]:(e=e(),s.memoizedState=[e,t],e)}function Qo(e,t,s){return 0==(21&po)?(e.baseState&&(e.baseState=!1,bi=!0),e.memoizedState=s):(oa(s,t)||(s=ht(),ho.lanes|=s,Hl|=s,e.baseState=!0),t)}function Jo(e,t){var s=vt;vt=0!==s&&4>s?s:4,e(!0);var a=mo.transition;mo.transition={};try{e(!1),t()}finally{vt=s,mo.transition=a}}function ei(){return Lo().memoizedState}function ti(e,t,s){var a=sc(e);if(s={lane:a,action:s,hasEagerState:!1,eagerState:null,next:null},ai(e))ni(t,s);else if(null!==(s=wr(e,t,s,a))){ac(s,e,a,tc()),ri(s,t,a)}}function si(e,t,s){var a=sc(e),n={lane:a,action:s,hasEagerState:!1,eagerState:null,next:null};if(ai(e))ni(t,n);else{var r=e.alternate;if(0===e.lanes&&(null===r||0===r.lanes)&&null!==(r=t.lastRenderedReducer))try{var o=t.lastRenderedState,i=r(o,s);if(n.hasEagerState=!0,n.eagerState=i,oa(i,o)){var l=t.interleaved;return null===l?(n.next=n,Lr(t)):(n.next=l.next,l.next=n),void(t.interleaved=n)}}catch(e){}null!==(s=wr(e,t,n,a))&&(ac(s,e,a,n=tc()),ri(s,t,a))}}function ai(e){var t=e.alternate;return e===ho||null!==t&&t===ho}function ni(e,t){vo=Eo=!0;var s=e.pending;null===s?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function ri(e,t,s){if(0!=(4194240&s)){var a=t.lanes;s|=a&=e.pendingLanes,t.lanes=s,Et(e,s)}}var oi={readContext:kr,useCallback:yo,useContext:yo,useEffect:yo,useImperativeHandle:yo,useInsertionEffect:yo,useLayoutEffect:yo,useMemo:yo,useReducer:yo,useRef:yo,useState:yo,useDebugValue:yo,useDeferredValue:yo,useTransition:yo,useMutableSource:yo,useSyncExternalStore:yo,useId:yo,unstable_isNewReconciler:!1},ii={readContext:kr,useCallback:function(e,t){return xo().memoizedState=[e,void 0===t?null:t],e},useContext:kr,useEffect:Go,useImperativeHandle:function(e,t,s){return s=null!=s?s.concat([e]):null,$o(4194308,4,qo.bind(null,t,e),s)},useLayoutEffect:function(e,t){return $o(4194308,4,e,t)},useInsertionEffect:function(e,t){return $o(4,2,e,t)},useMemo:function(e,t){var s=xo();return t=void 0===t?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var a=xo();return t=void 0!==s?s(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=ti.bind(null,ho,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},xo().memoizedState=e},useState:zo,useDebugValue:Zo,useDeferredValue:function(e){return xo().memoizedState=e},useTransition:function(){var e=zo(!1),t=e[0];return e=Jo.bind(null,e[1]),xo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,s){var a=ho,n=xo();if(nr){if(void 0===s)throw Error(r(407));s=s()}else{if(s=t(),null===Al)throw Error(r(349));0!=(30&po)||Do(a,t,s)}n.memoizedState=s;var o={value:s,getSnapshot:t};return n.queue=o,Go(Mo.bind(null,a,o,e),[e]),a.flags|=2048,Bo(9,Ro.bind(null,a,o,s,t),void 0,null),s},useId:function(){var e=xo(),t=Al.identifierPrefix;if(nr){var s=Yn;t=":"+t+"R"+(s=(Xn&~(1<<32-ot(Xn)-1)).toString(32)+s),0<(s=bo++)&&(t+="H"+s.toString(32)),t+=":"}else t=":"+t+"r"+(s=So++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},li={readContext:kr,useCallback:Xo,useContext:kr,useEffect:Wo,useImperativeHandle:Ko,useInsertionEffect:jo,useLayoutEffect:Vo,useMemo:Yo,useReducer:Po,useRef:Uo,useState:function(){return Po(wo)},useDebugValue:Zo,useDeferredValue:function(e){return Qo(Lo(),fo.memoizedState,e)},useTransition:function(){return[Po(wo)[0],Lo().memoizedState]},useMutableSource:Io,useSyncExternalStore:No,useId:ei,unstable_isNewReconciler:!1},ci={readContext:kr,useCallback:Xo,useContext:kr,useEffect:Wo,useImperativeHandle:Ko,useInsertionEffect:jo,useLayoutEffect:Vo,useMemo:Yo,useReducer:Ao,useRef:Uo,useState:function(){return Ao(wo)},useDebugValue:Zo,useDeferredValue:function(e){var t=Lo();return null===fo?t.memoizedState=e:Qo(t,fo.memoizedState,e)},useTransition:function(){return[Ao(wo)[0],Lo().memoizedState]},useMutableSource:Io,useSyncExternalStore:No,useId:ei,unstable_isNewReconciler:!1};function gi(e,t){try{var s="",a=t;do{s+=$(a),a=a.return}while(a);var n=s}catch(e){n="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:n,digest:null}}function ui(e,t,s){return{value:e,source:null,stack:null!=s?s:null,digest:null!=t?t:null}}function di(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var mi="function"==typeof WeakMap?WeakMap:Map;function pi(e,t,s){(s=Dr(-1,s)).tag=3,s.payload={element:null};var a=t.value;return s.callback=function(){jl||(jl=!0,Vl=a),di(0,t)},s}function hi(e,t,s){(s=Dr(-1,s)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var n=t.value;s.payload=function(){return a(n)},s.callback=function(){di(0,t)}}var r=e.stateNode;return null!==r&&"function"==typeof r.componentDidCatch&&(s.callback=function(){di(0,t),"function"!=typeof a&&(null===ql?ql=new Set([this]):ql.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),s}function fi(e,t,s){var a=e.pingCache;if(null===a){a=e.pingCache=new mi;var n=new Set;a.set(t,n)}else void 0===(n=a.get(t))&&(n=new Set,a.set(t,n));n.has(s)||(n.add(s),e=xc.bind(null,e,t,s),t.then(e,e))}function _i(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Ei(e,t,s,a,n){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,s.flags|=131072,s.flags&=-52805,1===s.tag&&(null===s.alternate?s.tag=17:((t=Dr(-1,1)).tag=2,Rr(s,t,1))),s.lanes|=1),e):(e.flags|=65536,e.lanes=n,e)}var vi=b.ReactCurrentOwner,bi=!1;function Si(e,t,s,a){t.child=null===e?Yr(t,null,s,a):Xr(t,e.child,s,a)}function yi(e,t,s,a,n){s=s.render;var r=t.ref;return Cr(t,n),a=Co(e,t,s,a,r,n),s=ko(),null===e||bi?(nr&&s&&er(t),t.flags|=1,Si(e,t,a,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,ji(e,t,n))}function Ti(e,t,s,a,n){if(null===e){var r=s.type;return"function"!=typeof r||Dc(r)||void 0!==r.defaultProps||null!==s.compare||void 0!==s.defaultProps?((e=Mc(s.type,null,a,t,t.mode,n)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=r,Ci(e,t,r,a,n))}if(r=e.child,0==(e.lanes&n)){var o=r.memoizedProps;if((s=null!==(s=s.compare)?s:ia)(o,a)&&e.ref===t.ref)return ji(e,t,n)}return t.flags|=1,(e=Rc(r,a)).ref=t.ref,e.return=t,t.child=e}function Ci(e,t,s,a,n){if(null!==e){var r=e.memoizedProps;if(ia(r,a)&&e.ref===t.ref){if(bi=!1,t.pendingProps=a=r,0==(e.lanes&n))return t.lanes=e.lanes,ji(e,t,n);0!=(131072&e.flags)&&(bi=!0)}}return Li(e,t,s,a,n)}function ki(e,t,s){var a=t.pendingProps,n=a.children,r=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},xn(Rl,Dl),Dl|=s;else{if(0==(1073741824&s))return e=null!==r?r.baseLanes|s:s,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,xn(Rl,Dl),Dl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==r?r.baseLanes:s,xn(Rl,Dl),Dl|=a}else null!==r?(a=r.baseLanes|s,t.memoizedState=null):a=s,xn(Rl,Dl),Dl|=a;return Si(e,t,n,s),t.child}function xi(e,t){var s=t.ref;(null===e&&null!==s||null!==e&&e.ref!==s)&&(t.flags|=512,t.flags|=2097152)}function Li(e,t,s,a,n){var r=Nn(s)?An:wn.current;return r=In(t,r),Cr(t,n),s=Co(e,t,s,a,r,n),a=ko(),null===e||bi?(nr&&a&&er(t),t.flags|=1,Si(e,t,s,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,ji(e,t,n))}function wi(e,t,s,a,n){if(Nn(s)){var r=!0;On(t)}else r=!1;if(Cr(t,n),null===t.stateNode)Wi(e,t),Gr(t,s,a),jr(t,s,a,n),a=!0;else if(null===e){var o=t.stateNode,i=t.memoizedProps;o.props=i;var l=o.context,c=s.contextType;"object"==typeof c&&null!==c?c=kr(c):c=In(t,c=Nn(s)?An:wn.current);var g=s.getDerivedStateFromProps,u="function"==typeof g||"function"==typeof o.getSnapshotBeforeUpdate;u||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(i!==a||l!==c)&&Wr(t,o,a,c),Ar=!1;var d=t.memoizedState;o.state=d,Hr(t,a,o,n),l=t.memoizedState,i!==a||d!==l||Pn.current||Ar?("function"==typeof g&&(Ur(t,s,g,a),l=t.memoizedState),(i=Ar||Fr(t,s,i,a,d,l,c))?(u||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=l),o.props=a,o.state=l,o.context=c,a=i):("function"==typeof o.componentDidMount&&(t.flags|=4194308),a=!1)}else{o=t.stateNode,Nr(e,t),i=t.memoizedProps,c=t.type===t.elementType?i:fr(t.type,i),o.props=c,u=t.pendingProps,d=o.context,"object"==typeof(l=s.contextType)&&null!==l?l=kr(l):l=In(t,l=Nn(s)?An:wn.current);var m=s.getDerivedStateFromProps;(g="function"==typeof m||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(i!==u||d!==l)&&Wr(t,o,a,l),Ar=!1,d=t.memoizedState,o.state=d,Hr(t,a,o,n);var p=t.memoizedState;i!==u||d!==p||Pn.current||Ar?("function"==typeof m&&(Ur(t,s,m,a),p=t.memoizedState),(c=Ar||Fr(t,s,c,a,d,p,l)||!1)?(g||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(a,p,l),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(a,p,l)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=p),o.props=a,o.state=p,o.context=l,a=c):("function"!=typeof o.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return Pi(e,t,s,a,r,n)}function Pi(e,t,s,a,n,r){xi(e,t);var o=0!=(128&t.flags);if(!a&&!o)return n&&Hn(t,s,!1),ji(e,t,r);a=t.stateNode,vi.current=t;var i=o&&"function"!=typeof s.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&o?(t.child=Xr(t,e.child,null,r),t.child=Xr(t,null,i,r)):Si(e,t,i,r),t.memoizedState=a.state,n&&Hn(t,s,!0),t.child}function Ai(e){var t=e.stateNode;t.pendingContext?Rn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Rn(0,t.context,!1),ao(e,t.containerInfo)}function Ii(e,t,s,a,n){return mr(),pr(n),t.flags|=256,Si(e,t,s,a),t.child}var Ni,Di,Ri,Mi,Oi={dehydrated:null,treeContext:null,retryLane:0};function Hi(e){return{baseLanes:e,cachePool:null,transitions:null}}function zi(e,t,s){var a,n=t.pendingProps,o=io.current,i=!1,l=0!=(128&t.flags);if((a=l)||(a=(null===e||null!==e.memoizedState)&&0!=(2&o)),a?(i=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),xn(io,1&o),null===e)return cr(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=n.children,e=n.fallback,i?(n=t.mode,i=t.child,l={mode:"hidden",children:l},0==(1&n)&&null!==i?(i.childLanes=0,i.pendingProps=l):i=Hc(l,n,0,null),e=Oc(e,n,s,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Hi(s),t.memoizedState=Oi,e):Bi(t,l));if(null!==(o=e.memoizedState)&&null!==(a=o.dehydrated))return function(e,t,s,a,n,o,i){if(s)return 256&t.flags?(t.flags&=-257,Ui(e,t,i,a=ui(Error(r(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=a.fallback,n=t.mode,a=Hc({mode:"visible",children:a.children},n,0,null),(o=Oc(o,n,i,null)).flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,0!=(1&t.mode)&&Xr(t,e.child,null,i),t.child.memoizedState=Hi(i),t.memoizedState=Oi,o);if(0==(1&t.mode))return Ui(e,t,i,null);if("$!"===n.data){if(a=n.nextSibling&&n.nextSibling.dataset)var l=a.dgst;return a=l,Ui(e,t,i,a=ui(o=Error(r(419)),a,void 0))}if(l=0!=(i&e.childLanes),bi||l){if(null!==(a=Al)){switch(i&-i){case 4:n=2;break;case 16:n=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:n=32;break;case 536870912:n=268435456;break;default:n=0}0!==(n=0!=(n&(a.suspendedLanes|i))?0:n)&&n!==o.retryLane&&(o.retryLane=n,Pr(e,n),ac(a,e,n,-1))}return fc(),Ui(e,t,i,a=ui(Error(r(421))))}return"$?"===n.data?(t.flags|=128,t.child=e.child,t=wc.bind(null,e),n._reactRetry=t,null):(e=o.treeContext,ar=cn(n.nextSibling),sr=t,nr=!0,rr=null,null!==e&&(qn[Kn++]=Xn,qn[Kn++]=Yn,qn[Kn++]=Zn,Xn=e.id,Yn=e.overflow,Zn=t),t=Bi(t,a.children),t.flags|=4096,t)}(e,t,l,n,a,o,s);if(i){i=n.fallback,l=t.mode,a=(o=e.child).sibling;var c={mode:"hidden",children:n.children};return 0==(1&l)&&t.child!==o?((n=t.child).childLanes=0,n.pendingProps=c,t.deletions=null):(n=Rc(o,c)).subtreeFlags=14680064&o.subtreeFlags,null!==a?i=Rc(a,i):(i=Oc(i,l,s,null)).flags|=2,i.return=t,n.return=t,n.sibling=i,t.child=n,n=i,i=t.child,l=null===(l=e.child.memoizedState)?Hi(s):{baseLanes:l.baseLanes|s,cachePool:null,transitions:l.transitions},i.memoizedState=l,i.childLanes=e.childLanes&~s,t.memoizedState=Oi,n}return e=(i=e.child).sibling,n=Rc(i,{mode:"visible",children:n.children}),0==(1&t.mode)&&(n.lanes=s),n.return=t,n.sibling=null,null!==e&&(null===(s=t.deletions)?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n}function Bi(e,t){return(t=Hc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ui(e,t,s,a){return null!==a&&pr(a),Xr(t,e.child,null,s),(e=Bi(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function $i(e,t,s){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Tr(e.return,t,s)}function Fi(e,t,s,a,n){var r=e.memoizedState;null===r?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:s,tailMode:n}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=s,r.tailMode=n)}function Gi(e,t,s){var a=t.pendingProps,n=a.revealOrder,r=a.tail;if(Si(e,t,a.children,s),0!=(2&(a=io.current)))a=1&a|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&$i(e,s,t);else if(19===e.tag)$i(e,s,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(xn(io,a),0==(1&t.mode))t.memoizedState=null;else switch(n){case"forwards":for(s=t.child,n=null;null!==s;)null!==(e=s.alternate)&&null===lo(e)&&(n=s),s=s.sibling;null===(s=n)?(n=t.child,t.child=null):(n=s.sibling,s.sibling=null),Fi(t,!1,n,s,r);break;case"backwards":for(s=null,n=t.child,t.child=null;null!==n;){if(null!==(e=n.alternate)&&null===lo(e)){t.child=n;break}e=n.sibling,n.sibling=s,s=n,n=e}Fi(t,!0,s,null,r);break;case"together":Fi(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Wi(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ji(e,t,s){if(null!==e&&(t.dependencies=e.dependencies),Hl|=t.lanes,0==(s&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(r(153));if(null!==t.child){for(s=Rc(e=t.child,e.pendingProps),t.child=s,s.return=t;null!==e.sibling;)e=e.sibling,(s=s.sibling=Rc(e,e.pendingProps)).return=t;s.sibling=null}return t.child}function Vi(e,t){if(!nr)switch(e.tailMode){case"hidden":t=e.tail;for(var s=null;null!==t;)null!==t.alternate&&(s=t),t=t.sibling;null===s?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var a=null;null!==s;)null!==s.alternate&&(a=s),s=s.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function qi(e){var t=null!==e.alternate&&e.alternate.child===e.child,s=0,a=0;if(t)for(var n=e.child;null!==n;)s|=n.lanes|n.childLanes,a|=14680064&n.subtreeFlags,a|=14680064&n.flags,n.return=e,n=n.sibling;else for(n=e.child;null!==n;)s|=n.lanes|n.childLanes,a|=n.subtreeFlags,a|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=a,e.childLanes=s,t}function Ki(e,t,s){var a=t.pendingProps;switch(tr(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qi(t),null;case 1:case 17:return Nn(t.type)&&Dn(),qi(t),null;case 3:return a=t.stateNode,no(),kn(Pn),kn(wn),go(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(ur(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==rr&&(ic(rr),rr=null))),Di(e,t),qi(t),null;case 5:oo(t);var n=so(to.current);if(s=t.type,null!==e&&null!=t.stateNode)Ri(e,t,s,a,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(r(166));return qi(t),null}if(e=so(Jr.current),ur(t)){a=t.stateNode,s=t.type;var o=t.memoizedProps;switch(a[dn]=t,a[mn]=o,e=0!=(1&t.mode),s){case"dialog":za("cancel",a),za("close",a);break;case"iframe":case"object":case"embed":za("load",a);break;case"video":case"audio":for(n=0;n<Ra.length;n++)za(Ra[n],a);break;case"source":za("error",a);break;case"img":case"image":case"link":za("error",a),za("load",a);break;case"details":za("toggle",a);break;case"input":X(a,o),za("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!o.multiple},za("invalid",a);break;case"textarea":ne(a,o),za("invalid",a)}for(var l in Ee(s,o),n=null,o)if(o.hasOwnProperty(l)){var c=o[l];"children"===l?"string"==typeof c?a.textContent!==c&&(!0!==o.suppressHydrationWarning&&Ya(a.textContent,c,e),n=["children",c]):"number"==typeof c&&a.textContent!==""+c&&(!0!==o.suppressHydrationWarning&&Ya(a.textContent,c,e),n=["children",""+c]):i.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&za("scroll",a)}switch(s){case"input":V(a),J(a,o,!0);break;case"textarea":V(a),oe(a);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(a.onclick=Qa)}a=n,t.updateQueue=a,null!==a&&(t.flags|=4)}else{l=9===n.nodeType?n:n.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ie(s)),"http://www.w3.org/1999/xhtml"===e?"script"===s?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=l.createElement(s,{is:a.is}):(e=l.createElement(s),"select"===s&&(l=e,a.multiple?l.multiple=!0:a.size&&(l.size=a.size))):e=l.createElementNS(e,s),e[dn]=t,e[mn]=a,Ni(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(s,a),s){case"dialog":za("cancel",e),za("close",e),n=a;break;case"iframe":case"object":case"embed":za("load",e),n=a;break;case"video":case"audio":for(n=0;n<Ra.length;n++)za(Ra[n],e);n=a;break;case"source":za("error",e),n=a;break;case"img":case"image":case"link":za("error",e),za("load",e),n=a;break;case"details":za("toggle",e),n=a;break;case"input":X(e,a),n=Z(e,a),za("invalid",e);break;case"option":default:n=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},n=H({},a,{value:void 0}),za("invalid",e);break;case"textarea":ne(e,a),n=ae(e,a),za("invalid",e)}for(o in Ee(s,n),c=n)if(c.hasOwnProperty(o)){var g=c[o];"style"===o?fe(e,g):"dangerouslySetInnerHTML"===o?null!=(g=g?g.__html:void 0)&&ue(e,g):"children"===o?"string"==typeof g?("textarea"!==s||""!==g)&&de(e,g):"number"==typeof g&&de(e,""+g):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(i.hasOwnProperty(o)?null!=g&&"onScroll"===o&&za("scroll",e):null!=g&&v(e,o,g,l))}switch(s){case"input":V(e),J(e,a,!1);break;case"textarea":V(e),oe(e);break;case"option":null!=a.value&&e.setAttribute("value",""+W(a.value));break;case"select":e.multiple=!!a.multiple,null!=(o=a.value)?se(e,!!a.multiple,o,!1):null!=a.defaultValue&&se(e,!!a.multiple,a.defaultValue,!0);break;default:"function"==typeof n.onClick&&(e.onclick=Qa)}switch(s){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qi(t),null;case 6:if(e&&null!=t.stateNode)Mi(e,t,e.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(r(166));if(s=so(to.current),so(Jr.current),ur(t)){if(a=t.stateNode,s=t.memoizedProps,a[dn]=t,(o=a.nodeValue!==s)&&null!==(e=sr))switch(e.tag){case 3:Ya(a.nodeValue,s,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Ya(a.nodeValue,s,0!=(1&e.mode))}o&&(t.flags|=4)}else(a=(9===s.nodeType?s:s.ownerDocument).createTextNode(a))[dn]=t,t.stateNode=a}return qi(t),null;case 13:if(kn(io),a=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(nr&&null!==ar&&0!=(1&t.mode)&&0==(128&t.flags))dr(),mr(),t.flags|=98560,o=!1;else if(o=ur(t),null!==a&&null!==a.dehydrated){if(null===e){if(!o)throw Error(r(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(r(317));o[dn]=t}else mr(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qi(t),o=!1}else null!==rr&&(ic(rr),rr=null),o=!0;if(!o)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=s,t):((a=null!==a)!==(null!==e&&null!==e.memoizedState)&&a&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&io.current)?0===Ml&&(Ml=3):fc())),null!==t.updateQueue&&(t.flags|=4),qi(t),null);case 4:return no(),Di(e,t),null===e&&$a(t.stateNode.containerInfo),qi(t),null;case 10:return yr(t.type._context),qi(t),null;case 19:if(kn(io),null===(o=t.memoizedState))return qi(t),null;if(a=0!=(128&t.flags),null===(l=o.rendering))if(a)Vi(o,!1);else{if(0!==Ml||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=lo(e))){for(t.flags|=128,Vi(o,!1),null!==(a=l.updateQueue)&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=s,s=t.child;null!==s;)e=a,(o=s).flags&=14680066,null===(l=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=l.childLanes,o.lanes=l.lanes,o.child=l.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=l.memoizedProps,o.memoizedState=l.memoizedState,o.updateQueue=l.updateQueue,o.type=l.type,e=l.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return xn(io,1&io.current|2),t.child}e=e.sibling}null!==o.tail&&Ye()>Gl&&(t.flags|=128,a=!0,Vi(o,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=lo(l))){if(t.flags|=128,a=!0,null!==(s=e.updateQueue)&&(t.updateQueue=s,t.flags|=4),Vi(o,!0),null===o.tail&&"hidden"===o.tailMode&&!l.alternate&&!nr)return qi(t),null}else 2*Ye()-o.renderingStartTime>Gl&&1073741824!==s&&(t.flags|=128,a=!0,Vi(o,!1),t.lanes=4194304);o.isBackwards?(l.sibling=t.child,t.child=l):(null!==(s=o.last)?s.sibling=l:t.child=l,o.last=l)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Ye(),t.sibling=null,s=io.current,xn(io,a?1&s|2:1&s),t):(qi(t),null);case 22:case 23:return dc(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&0!=(1&t.mode)?0!=(1073741824&Dl)&&(qi(t),6&t.subtreeFlags&&(t.flags|=8192)):qi(t),null;case 24:case 25:return null}throw Error(r(156,t.tag))}function Zi(e,t){switch(tr(t),t.tag){case 1:return Nn(t.type)&&Dn(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return no(),kn(Pn),kn(wn),go(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return oo(t),null;case 13:if(kn(io),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(r(340));mr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return kn(io),null;case 4:return no(),null;case 10:return yr(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Ni=function(e,t){for(var s=t.child;null!==s;){if(5===s.tag||6===s.tag)e.appendChild(s.stateNode);else if(4!==s.tag&&null!==s.child){s.child.return=s,s=s.child;continue}if(s===t)break;for(;null===s.sibling;){if(null===s.return||s.return===t)return;s=s.return}s.sibling.return=s.return,s=s.sibling}},Di=function(){},Ri=function(e,t,s,a){var n=e.memoizedProps;if(n!==a){e=t.stateNode,so(Jr.current);var r,o=null;switch(s){case"input":n=Z(e,n),a=Z(e,a),o=[];break;case"select":n=H({},n,{value:void 0}),a=H({},a,{value:void 0}),o=[];break;case"textarea":n=ae(e,n),a=ae(e,a),o=[];break;default:"function"!=typeof n.onClick&&"function"==typeof a.onClick&&(e.onclick=Qa)}for(g in Ee(s,a),s=null,n)if(!a.hasOwnProperty(g)&&n.hasOwnProperty(g)&&null!=n[g])if("style"===g){var l=n[g];for(r in l)l.hasOwnProperty(r)&&(s||(s={}),s[r]="")}else"dangerouslySetInnerHTML"!==g&&"children"!==g&&"suppressContentEditableWarning"!==g&&"suppressHydrationWarning"!==g&&"autoFocus"!==g&&(i.hasOwnProperty(g)?o||(o=[]):(o=o||[]).push(g,null));for(g in a){var c=a[g];if(l=null!=n?n[g]:void 0,a.hasOwnProperty(g)&&c!==l&&(null!=c||null!=l))if("style"===g)if(l){for(r in l)!l.hasOwnProperty(r)||c&&c.hasOwnProperty(r)||(s||(s={}),s[r]="");for(r in c)c.hasOwnProperty(r)&&l[r]!==c[r]&&(s||(s={}),s[r]=c[r])}else s||(o||(o=[]),o.push(g,s)),s=c;else"dangerouslySetInnerHTML"===g?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(o=o||[]).push(g,c)):"children"===g?"string"!=typeof c&&"number"!=typeof c||(o=o||[]).push(g,""+c):"suppressContentEditableWarning"!==g&&"suppressHydrationWarning"!==g&&(i.hasOwnProperty(g)?(null!=c&&"onScroll"===g&&za("scroll",e),o||l===c||(o=[])):(o=o||[]).push(g,c))}s&&(o=o||[]).push("style",s);var g=o;(t.updateQueue=g)&&(t.flags|=4)}},Mi=function(e,t,s,a){s!==a&&(t.flags|=4)};var Xi=!1,Yi=!1,Qi="function"==typeof WeakSet?WeakSet:Set,Ji=null;function el(e,t){var s=e.ref;if(null!==s)if("function"==typeof s)try{s(null)}catch(s){kc(e,t,s)}else s.current=null}function tl(e,t,s){try{s()}catch(s){kc(e,t,s)}}var sl=!1;function al(e,t,s){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var n=a=a.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&tl(t,s,r)}n=n.next}while(n!==a)}}function nl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var s=t=t.next;do{if((s.tag&e)===e){var a=s.create;s.destroy=a()}s=s.next}while(s!==t)}}function rl(e){var t=e.ref;if(null!==t){var s=e.stateNode;e.tag,e=s,"function"==typeof t?t(e):t.current=e}}function ol(e){var t=e.alternate;null!==t&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[dn],delete t[mn],delete t[hn],delete t[fn],delete t[_n])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function ll(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cl(e,t,s){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===s.nodeType?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(8===s.nodeType?(t=s.parentNode).insertBefore(e,s):(t=s).appendChild(e),null!=(s=s._reactRootContainer)||null!==t.onclick||(t.onclick=Qa));else if(4!==a&&null!==(e=e.child))for(cl(e,t,s),e=e.sibling;null!==e;)cl(e,t,s),e=e.sibling}function gl(e,t,s){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(4!==a&&null!==(e=e.child))for(gl(e,t,s),e=e.sibling;null!==e;)gl(e,t,s),e=e.sibling}var ul=null,dl=!1;function ml(e,t,s){for(s=s.child;null!==s;)pl(e,t,s),s=s.sibling}function pl(e,t,s){if(rt&&"function"==typeof rt.onCommitFiberUnmount)try{rt.onCommitFiberUnmount(nt,s)}catch(e){}switch(s.tag){case 5:Yi||el(s,t);case 6:var a=ul,n=dl;ul=null,ml(e,t,s),dl=n,null!==(ul=a)&&(dl?(e=ul,s=s.stateNode,8===e.nodeType?e.parentNode.removeChild(s):e.removeChild(s)):ul.removeChild(s.stateNode));break;case 18:null!==ul&&(dl?(e=ul,s=s.stateNode,8===e.nodeType?ln(e.parentNode,s):1===e.nodeType&&ln(e,s),Ft(e)):ln(ul,s.stateNode));break;case 4:a=ul,n=dl,ul=s.stateNode.containerInfo,dl=!0,ml(e,t,s),ul=a,dl=n;break;case 0:case 11:case 14:case 15:if(!Yi&&(null!==(a=s.updateQueue)&&null!==(a=a.lastEffect))){n=a=a.next;do{var r=n,o=r.destroy;r=r.tag,void 0!==o&&(0!=(2&r)||0!=(4&r))&&tl(s,t,o),n=n.next}while(n!==a)}ml(e,t,s);break;case 1:if(!Yi&&(el(s,t),"function"==typeof(a=s.stateNode).componentWillUnmount))try{a.props=s.memoizedProps,a.state=s.memoizedState,a.componentWillUnmount()}catch(e){kc(s,t,e)}ml(e,t,s);break;case 21:ml(e,t,s);break;case 22:1&s.mode?(Yi=(a=Yi)||null!==s.memoizedState,ml(e,t,s),Yi=a):ml(e,t,s);break;default:ml(e,t,s)}}function hl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var s=e.stateNode;null===s&&(s=e.stateNode=new Qi),t.forEach((function(t){var a=Pc.bind(null,e,t);s.has(t)||(s.add(t),t.then(a,a))}))}}function fl(e,t){var s=t.deletions;if(null!==s)for(var a=0;a<s.length;a++){var n=s[a];try{var o=e,i=t,l=i;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(r(160));pl(o,i,n),ul=null,dl=!1;var c=n.alternate;null!==c&&(c.return=null),n.return=null}catch(e){kc(n,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)_l(t,e),t=t.sibling}function _l(e,t){var s=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fl(t,e),El(e),4&a){try{al(3,e,e.return),nl(3,e)}catch(t){kc(e,e.return,t)}try{al(5,e,e.return)}catch(t){kc(e,e.return,t)}}break;case 1:fl(t,e),El(e),512&a&&null!==s&&el(s,s.return);break;case 5:if(fl(t,e),El(e),512&a&&null!==s&&el(s,s.return),32&e.flags){var n=e.stateNode;try{de(n,"")}catch(t){kc(e,e.return,t)}}if(4&a&&null!=(n=e.stateNode)){var o=e.memoizedProps,i=null!==s?s.memoizedProps:o,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===o.type&&null!=o.name&&Y(n,o),ve(l,i);var g=ve(l,o);for(i=0;i<c.length;i+=2){var u=c[i],d=c[i+1];"style"===u?fe(n,d):"dangerouslySetInnerHTML"===u?ue(n,d):"children"===u?de(n,d):v(n,u,d,g)}switch(l){case"input":Q(n,o);break;case"textarea":re(n,o);break;case"select":var m=n._wrapperState.wasMultiple;n._wrapperState.wasMultiple=!!o.multiple;var p=o.value;null!=p?se(n,!!o.multiple,p,!1):m!==!!o.multiple&&(null!=o.defaultValue?se(n,!!o.multiple,o.defaultValue,!0):se(n,!!o.multiple,o.multiple?[]:"",!1))}n[mn]=o}catch(t){kc(e,e.return,t)}}break;case 6:if(fl(t,e),El(e),4&a){if(null===e.stateNode)throw Error(r(162));n=e.stateNode,o=e.memoizedProps;try{n.nodeValue=o}catch(t){kc(e,e.return,t)}}break;case 3:if(fl(t,e),El(e),4&a&&null!==s&&s.memoizedState.isDehydrated)try{Ft(t.containerInfo)}catch(t){kc(e,e.return,t)}break;case 4:default:fl(t,e),El(e);break;case 13:fl(t,e),El(e),8192&(n=e.child).flags&&(o=null!==n.memoizedState,n.stateNode.isHidden=o,!o||null!==n.alternate&&null!==n.alternate.memoizedState||(Fl=Ye())),4&a&&hl(e);break;case 22:if(u=null!==s&&null!==s.memoizedState,1&e.mode?(Yi=(g=Yi)||u,fl(t,e),Yi=g):fl(t,e),El(e),8192&a){if(g=null!==e.memoizedState,(e.stateNode.isHidden=g)&&!u&&0!=(1&e.mode))for(Ji=e,u=e.child;null!==u;){for(d=Ji=u;null!==Ji;){switch(p=(m=Ji).child,m.tag){case 0:case 11:case 14:case 15:al(4,m,m.return);break;case 1:el(m,m.return);var h=m.stateNode;if("function"==typeof h.componentWillUnmount){a=m,s=m.return;try{t=a,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){kc(a,s,e)}}break;case 5:el(m,m.return);break;case 22:if(null!==m.memoizedState){yl(d);continue}}null!==p?(p.return=m,Ji=p):yl(d)}u=u.sibling}e:for(u=null,d=e;;){if(5===d.tag){if(null===u){u=d;try{n=d.stateNode,g?"function"==typeof(o=n.style).setProperty?o.setProperty("display","none","important"):o.display="none":(l=d.stateNode,i=null!=(c=d.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=he("display",i))}catch(t){kc(e,e.return,t)}}}else if(6===d.tag){if(null===u)try{d.stateNode.nodeValue=g?"":d.memoizedProps}catch(t){kc(e,e.return,t)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;u===d&&(u=null),d=d.return}u===d&&(u=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:fl(t,e),El(e),4&a&&hl(e);case 21:}}function El(e){var t=e.flags;if(2&t){try{e:{for(var s=e.return;null!==s;){if(il(s)){var a=s;break e}s=s.return}throw Error(r(160))}switch(a.tag){case 5:var n=a.stateNode;32&a.flags&&(de(n,""),a.flags&=-33),gl(e,ll(e),n);break;case 3:case 4:var o=a.stateNode.containerInfo;cl(e,ll(e),o);break;default:throw Error(r(161))}}catch(t){kc(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vl(e,t,s){Ji=e,bl(e,t,s)}function bl(e,t,s){for(var a=0!=(1&e.mode);null!==Ji;){var n=Ji,r=n.child;if(22===n.tag&&a){var o=null!==n.memoizedState||Xi;if(!o){var i=n.alternate,l=null!==i&&null!==i.memoizedState||Yi;i=Xi;var c=Yi;if(Xi=o,(Yi=l)&&!c)for(Ji=n;null!==Ji;)l=(o=Ji).child,22===o.tag&&null!==o.memoizedState?Tl(n):null!==l?(l.return=o,Ji=l):Tl(n);for(;null!==r;)Ji=r,bl(r,t,s),r=r.sibling;Ji=n,Xi=i,Yi=c}Sl(e)}else 0!=(8772&n.subtreeFlags)&&null!==r?(r.return=n,Ji=r):Sl(e)}}function Sl(e){for(;null!==Ji;){var t=Ji;if(0!=(8772&t.flags)){var s=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Yi||nl(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Yi)if(null===s)a.componentDidMount();else{var n=t.elementType===t.type?s.memoizedProps:fr(t.type,s.memoizedProps);a.componentDidUpdate(n,s.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&zr(t,o,a);break;case 3:var i=t.updateQueue;if(null!==i){if(s=null,null!==t.child)switch(t.child.tag){case 5:case 1:s=t.child.stateNode}zr(t,i,s)}break;case 5:var l=t.stateNode;if(null===s&&4&t.flags){s=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&s.focus();break;case"img":c.src&&(s.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var g=t.alternate;if(null!==g){var u=g.memoizedState;if(null!==u){var d=u.dehydrated;null!==d&&Ft(d)}}}break;default:throw Error(r(163))}Yi||512&t.flags&&rl(t)}catch(e){kc(t,t.return,e)}}if(t===e){Ji=null;break}if(null!==(s=t.sibling)){s.return=t.return,Ji=s;break}Ji=t.return}}function yl(e){for(;null!==Ji;){var t=Ji;if(t===e){Ji=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Ji=s;break}Ji=t.return}}function Tl(e){for(;null!==Ji;){var t=Ji;try{switch(t.tag){case 0:case 11:case 15:var s=t.return;try{nl(4,t)}catch(e){kc(t,s,e)}break;case 1:var a=t.stateNode;if("function"==typeof a.componentDidMount){var n=t.return;try{a.componentDidMount()}catch(e){kc(t,n,e)}}var r=t.return;try{rl(t)}catch(e){kc(t,r,e)}break;case 5:var o=t.return;try{rl(t)}catch(e){kc(t,o,e)}}}catch(e){kc(t,t.return,e)}if(t===e){Ji=null;break}var i=t.sibling;if(null!==i){i.return=t.return,Ji=i;break}Ji=t.return}}var Cl,kl=Math.ceil,xl=b.ReactCurrentDispatcher,Ll=b.ReactCurrentOwner,wl=b.ReactCurrentBatchConfig,Pl=0,Al=null,Il=null,Nl=0,Dl=0,Rl=Cn(0),Ml=0,Ol=null,Hl=0,zl=0,Bl=0,Ul=null,$l=null,Fl=0,Gl=1/0,Wl=null,jl=!1,Vl=null,ql=null,Kl=!1,Zl=null,Xl=0,Yl=0,Ql=null,Jl=-1,ec=0;function tc(){return 0!=(6&Pl)?Ye():-1!==Jl?Jl:Jl=Ye()}function sc(e){return 0==(1&e.mode)?1:0!=(2&Pl)&&0!==Nl?Nl&-Nl:null!==hr.transition?(0===ec&&(ec=ht()),ec):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function ac(e,t,s,a){if(50<Yl)throw Yl=0,Ql=null,Error(r(185));_t(e,s,a),0!=(2&Pl)&&e===Al||(e===Al&&(0==(2&Pl)&&(zl|=s),4===Ml&&lc(e,Nl)),nc(e,a),1===s&&0===Pl&&0==(1&t.mode)&&(Gl=Ye()+500,Bn&&Fn()))}function nc(e,t){var s=e.callbackNode;!function(e,t){for(var s=e.suspendedLanes,a=e.pingedLanes,n=e.expirationTimes,r=e.pendingLanes;0<r;){var o=31-ot(r),i=1<<o,l=n[o];-1===l?0!=(i&s)&&0==(i&a)||(n[o]=mt(i,t)):l<=t&&(e.expiredLanes|=i),r&=~i}}(e,t);var a=dt(e,e===Al?Nl:0);if(0===a)null!==s&&Ke(s),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(null!=s&&Ke(s),1===t)0===e.tag?function(e){Bn=!0,$n(e)}(cc.bind(null,e)):$n(cc.bind(null,e)),rn((function(){0==(6&Pl)&&Fn()})),s=null;else{switch(bt(a)){case 1:s=Je;break;case 4:s=et;break;case 16:default:s=tt;break;case 536870912:s=at}s=Ac(s,rc.bind(null,e))}e.callbackPriority=t,e.callbackNode=s}}function rc(e,t){if(Jl=-1,ec=0,0!=(6&Pl))throw Error(r(327));var s=e.callbackNode;if(Tc()&&e.callbackNode!==s)return null;var a=dt(e,e===Al?Nl:0);if(0===a)return null;if(0!=(30&a)||0!=(a&e.expiredLanes)||t)t=_c(e,a);else{t=a;var n=Pl;Pl|=2;var o=hc();for(Al===e&&Nl===t||(Wl=null,Gl=Ye()+500,mc(e,t));;)try{vc();break}catch(t){pc(e,t)}Sr(),xl.current=o,Pl=n,null!==Il?t=0:(Al=null,Nl=0,t=Ml)}if(0!==t){if(2===t&&(0!==(n=pt(e))&&(a=n,t=oc(e,n))),1===t)throw s=Ol,mc(e,0),lc(e,a),nc(e,Ye()),s;if(6===t)lc(e,a);else{if(n=e.current.alternate,0==(30&a)&&!function(e){for(var t=e;;){if(16384&t.flags){var s=t.updateQueue;if(null!==s&&null!==(s=s.stores))for(var a=0;a<s.length;a++){var n=s[a],r=n.getSnapshot;n=n.value;try{if(!oa(r(),n))return!1}catch(e){return!1}}}if(s=t.child,16384&t.subtreeFlags&&null!==s)s.return=t,t=s;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(n)&&(2===(t=_c(e,a))&&(0!==(o=pt(e))&&(a=o,t=oc(e,o))),1===t))throw s=Ol,mc(e,0),lc(e,a),nc(e,Ye()),s;switch(e.finishedWork=n,e.finishedLanes=a,t){case 0:case 1:throw Error(r(345));case 2:case 5:yc(e,$l,Wl);break;case 3:if(lc(e,a),(130023424&a)===a&&10<(t=Fl+500-Ye())){if(0!==dt(e,0))break;if(((n=e.suspendedLanes)&a)!==a){tc(),e.pingedLanes|=e.suspendedLanes&n;break}e.timeoutHandle=sn(yc.bind(null,e,$l,Wl),t);break}yc(e,$l,Wl);break;case 4:if(lc(e,a),(4194240&a)===a)break;for(t=e.eventTimes,n=-1;0<a;){var i=31-ot(a);o=1<<i,(i=t[i])>n&&(n=i),a&=~o}if(a=n,10<(a=(120>(a=Ye()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*kl(a/1960))-a)){e.timeoutHandle=sn(yc.bind(null,e,$l,Wl),a);break}yc(e,$l,Wl);break;default:throw Error(r(329))}}}return nc(e,Ye()),e.callbackNode===s?rc.bind(null,e):null}function oc(e,t){var s=Ul;return e.current.memoizedState.isDehydrated&&(mc(e,t).flags|=256),2!==(e=_c(e,t))&&(t=$l,$l=s,null!==t&&ic(t)),e}function ic(e){null===$l?$l=e:$l.push.apply($l,e)}function lc(e,t){for(t&=~Bl,t&=~zl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var s=31-ot(t),a=1<<s;e[s]=-1,t&=~a}}function cc(e){if(0!=(6&Pl))throw Error(r(327));Tc();var t=dt(e,0);if(0==(1&t))return nc(e,Ye()),null;var s=_c(e,t);if(0!==e.tag&&2===s){var a=pt(e);0!==a&&(t=a,s=oc(e,a))}if(1===s)throw s=Ol,mc(e,0),lc(e,t),nc(e,Ye()),s;if(6===s)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,yc(e,$l,Wl),nc(e,Ye()),null}function gc(e,t){var s=Pl;Pl|=1;try{return e(t)}finally{0===(Pl=s)&&(Gl=Ye()+500,Bn&&Fn())}}function uc(e){null!==Zl&&0===Zl.tag&&0==(6&Pl)&&Tc();var t=Pl;Pl|=1;var s=wl.transition,a=vt;try{if(wl.transition=null,vt=1,e)return e()}finally{vt=a,wl.transition=s,0==(6&(Pl=t))&&Fn()}}function dc(){Dl=Rl.current,kn(Rl)}function mc(e,t){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(-1!==s&&(e.timeoutHandle=-1,an(s)),null!==Il)for(s=Il.return;null!==s;){var a=s;switch(tr(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&Dn();break;case 3:no(),kn(Pn),kn(wn),go();break;case 5:oo(a);break;case 4:no();break;case 13:case 19:kn(io);break;case 10:yr(a.type._context);break;case 22:case 23:dc()}s=s.return}if(Al=e,Il=e=Rc(e.current,null),Nl=Dl=t,Ml=0,Ol=null,Bl=zl=Hl=0,$l=Ul=null,null!==xr){for(t=0;t<xr.length;t++)if(null!==(a=(s=xr[t]).interleaved)){s.interleaved=null;var n=a.next,r=s.pending;if(null!==r){var o=r.next;r.next=n,a.next=o}s.pending=a}xr=null}return e}function pc(e,t){for(;;){var s=Il;try{if(Sr(),uo.current=oi,Eo){for(var a=ho.memoizedState;null!==a;){var n=a.queue;null!==n&&(n.pending=null),a=a.next}Eo=!1}if(po=0,_o=fo=ho=null,vo=!1,bo=0,Ll.current=null,null===s||null===s.return){Ml=1,Ol=t,Il=null;break}e:{var o=e,i=s.return,l=s,c=t;if(t=Nl,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var g=c,u=l,d=u.tag;if(0==(1&u.mode)&&(0===d||11===d||15===d)){var m=u.alternate;m?(u.updateQueue=m.updateQueue,u.memoizedState=m.memoizedState,u.lanes=m.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=_i(i);if(null!==p){p.flags&=-257,Ei(p,i,l,0,t),1&p.mode&&fi(o,g,t),c=g;var h=(t=p).updateQueue;if(null===h){var f=new Set;f.add(c),t.updateQueue=f}else h.add(c);break e}if(0==(1&t)){fi(o,g,t),fc();break e}c=Error(r(426))}else if(nr&&1&l.mode){var _=_i(i);if(null!==_){0==(65536&_.flags)&&(_.flags|=256),Ei(_,i,l,0,t),pr(gi(c,l));break e}}o=c=gi(c,l),4!==Ml&&(Ml=2),null===Ul?Ul=[o]:Ul.push(o),o=i;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Or(o,pi(0,c,t));break e;case 1:l=c;var E=o.type,v=o.stateNode;if(0==(128&o.flags)&&("function"==typeof E.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===ql||!ql.has(v)))){o.flags|=65536,t&=-t,o.lanes|=t,Or(o,hi(o,l,t));break e}}o=o.return}while(null!==o)}Sc(s)}catch(e){t=e,Il===s&&null!==s&&(Il=s=s.return);continue}break}}function hc(){var e=xl.current;return xl.current=oi,null===e?oi:e}function fc(){0!==Ml&&3!==Ml&&2!==Ml||(Ml=4),null===Al||0==(268435455&Hl)&&0==(268435455&zl)||lc(Al,Nl)}function _c(e,t){var s=Pl;Pl|=2;var a=hc();for(Al===e&&Nl===t||(Wl=null,mc(e,t));;)try{Ec();break}catch(t){pc(e,t)}if(Sr(),Pl=s,xl.current=a,null!==Il)throw Error(r(261));return Al=null,Nl=0,Ml}function Ec(){for(;null!==Il;)bc(Il)}function vc(){for(;null!==Il&&!Ze();)bc(Il)}function bc(e){var t=Cl(e.alternate,e,Dl);e.memoizedProps=e.pendingProps,null===t?Sc(e):Il=t,Ll.current=null}function Sc(e){var t=e;do{var s=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(s=Ki(s,t,Dl)))return void(Il=s)}else{if(null!==(s=Zi(s,t)))return s.flags&=32767,void(Il=s);if(null===e)return Ml=6,void(Il=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Il=t);Il=t=e}while(null!==t);0===Ml&&(Ml=5)}function yc(e,t,s){var a=vt,n=wl.transition;try{wl.transition=null,vt=1,function(e,t,s,a){do{Tc()}while(null!==Zl);if(0!=(6&Pl))throw Error(r(327));s=e.finishedWork;var n=e.finishedLanes;if(null===s)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=s.lanes|s.childLanes;if(function(e,t){var s=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<s;){var n=31-ot(s),r=1<<n;t[n]=0,a[n]=-1,e[n]=-1,s&=~r}}(e,o),e===Al&&(Il=Al=null,Nl=0),0==(2064&s.subtreeFlags)&&0==(2064&s.flags)||Kl||(Kl=!0,Ac(tt,(function(){return Tc(),null}))),o=0!=(15990&s.flags),0!=(15990&s.subtreeFlags)||o){o=wl.transition,wl.transition=null;var i=vt;vt=1;var l=Pl;Pl|=4,Ll.current=null,function(e,t){if(Ja=Wt,da(e=ua())){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(s=(s=e.ownerDocument)&&s.defaultView||window).getSelection&&s.getSelection();if(a&&0!==a.rangeCount){s=a.anchorNode;var n=a.anchorOffset,o=a.focusNode;a=a.focusOffset;try{s.nodeType,o.nodeType}catch(e){s=null;break e}var i=0,l=-1,c=-1,g=0,u=0,d=e,m=null;t:for(;;){for(var p;d!==s||0!==n&&3!==d.nodeType||(l=i+n),d!==o||0!==a&&3!==d.nodeType||(c=i+a),3===d.nodeType&&(i+=d.nodeValue.length),null!==(p=d.firstChild);)m=d,d=p;for(;;){if(d===e)break t;if(m===s&&++g===n&&(l=i),m===o&&++u===a&&(c=i),null!==(p=d.nextSibling))break;m=(d=m).parentNode}d=p}s=-1===l||-1===c?null:{start:l,end:c}}else s=null}s=s||{start:0,end:0}}else s=null;for(en={focusedElem:e,selectionRange:s},Wt=!1,Ji=t;null!==Ji;)if(e=(t=Ji).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Ji=e;else for(;null!==Ji;){t=Ji;try{var h=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var f=h.memoizedProps,_=h.memoizedState,E=t.stateNode,v=E.getSnapshotBeforeUpdate(t.elementType===t.type?f:fr(t.type,f),_);E.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(r(163))}}catch(e){kc(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Ji=e;break}Ji=t.return}h=sl,sl=!1}(e,s),_l(s,e),ma(en),Wt=!!Ja,en=Ja=null,e.current=s,vl(s,e,n),Xe(),Pl=l,vt=i,wl.transition=o}else e.current=s;if(Kl&&(Kl=!1,Zl=e,Xl=n),o=e.pendingLanes,0===o&&(ql=null),function(e){if(rt&&"function"==typeof rt.onCommitFiberRoot)try{rt.onCommitFiberRoot(nt,e,void 0,128==(128&e.current.flags))}catch(e){}}(s.stateNode),nc(e,Ye()),null!==t)for(a=e.onRecoverableError,s=0;s<t.length;s++)n=t[s],a(n.value,{componentStack:n.stack,digest:n.digest});if(jl)throw jl=!1,e=Vl,Vl=null,e;0!=(1&Xl)&&0!==e.tag&&Tc(),o=e.pendingLanes,0!=(1&o)?e===Ql?Yl++:(Yl=0,Ql=e):Yl=0,Fn()}(e,t,s,a)}finally{wl.transition=n,vt=a}return null}function Tc(){if(null!==Zl){var e=bt(Xl),t=wl.transition,s=vt;try{if(wl.transition=null,vt=16>e?16:e,null===Zl)var a=!1;else{if(e=Zl,Zl=null,Xl=0,0!=(6&Pl))throw Error(r(331));var n=Pl;for(Pl|=4,Ji=e.current;null!==Ji;){var o=Ji,i=o.child;if(0!=(16&Ji.flags)){var l=o.deletions;if(null!==l){for(var c=0;c<l.length;c++){var g=l[c];for(Ji=g;null!==Ji;){var u=Ji;switch(u.tag){case 0:case 11:case 15:al(8,u,o)}var d=u.child;if(null!==d)d.return=u,Ji=d;else for(;null!==Ji;){var m=(u=Ji).sibling,p=u.return;if(ol(u),u===g){Ji=null;break}if(null!==m){m.return=p,Ji=m;break}Ji=p}}}var h=o.alternate;if(null!==h){var f=h.child;if(null!==f){h.child=null;do{var _=f.sibling;f.sibling=null,f=_}while(null!==f)}}Ji=o}}if(0!=(2064&o.subtreeFlags)&&null!==i)i.return=o,Ji=i;else e:for(;null!==Ji;){if(0!=(2048&(o=Ji).flags))switch(o.tag){case 0:case 11:case 15:al(9,o,o.return)}var E=o.sibling;if(null!==E){E.return=o.return,Ji=E;break e}Ji=o.return}}var v=e.current;for(Ji=v;null!==Ji;){var b=(i=Ji).child;if(0!=(2064&i.subtreeFlags)&&null!==b)b.return=i,Ji=b;else e:for(i=v;null!==Ji;){if(0!=(2048&(l=Ji).flags))try{switch(l.tag){case 0:case 11:case 15:nl(9,l)}}catch(e){kc(l,l.return,e)}if(l===i){Ji=null;break e}var S=l.sibling;if(null!==S){S.return=l.return,Ji=S;break e}Ji=l.return}}if(Pl=n,Fn(),rt&&"function"==typeof rt.onPostCommitFiberRoot)try{rt.onPostCommitFiberRoot(nt,e)}catch(e){}a=!0}return a}finally{vt=s,wl.transition=t}}return!1}function Cc(e,t,s){e=Rr(e,t=pi(0,t=gi(s,t),1),1),t=tc(),null!==e&&(_t(e,1,t),nc(e,t))}function kc(e,t,s){if(3===e.tag)Cc(e,e,s);else for(;null!==t;){if(3===t.tag){Cc(t,e,s);break}if(1===t.tag){var a=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof a.componentDidCatch&&(null===ql||!ql.has(a))){t=Rr(t,e=hi(t,e=gi(s,e),1),1),e=tc(),null!==t&&(_t(t,1,e),nc(t,e));break}}t=t.return}}function xc(e,t,s){var a=e.pingCache;null!==a&&a.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&s,Al===e&&(Nl&s)===s&&(4===Ml||3===Ml&&(130023424&Nl)===Nl&&500>Ye()-Fl?mc(e,0):Bl|=s),nc(e,t)}function Lc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=gt,0==(130023424&(gt<<=1))&&(gt=4194304)));var s=tc();null!==(e=Pr(e,t))&&(_t(e,t,s),nc(e,s))}function wc(e){var t=e.memoizedState,s=0;null!==t&&(s=t.retryLane),Lc(e,s)}function Pc(e,t){var s=0;switch(e.tag){case 13:var a=e.stateNode,n=e.memoizedState;null!==n&&(s=n.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(r(314))}null!==a&&a.delete(t),Lc(e,s)}function Ac(e,t){return qe(e,t)}function Ic(e,t,s,a){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Nc(e,t,s,a){return new Ic(e,t,s,a)}function Dc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rc(e,t){var s=e.alternate;return null===s?((s=Nc(e.tag,t,e.key,e.mode)).elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=14680064&e.flags,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function Mc(e,t,s,a,n,o){var i=2;if(a=e,"function"==typeof e)Dc(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case T:return Oc(s.children,n,o,t);case C:i=8,n|=8;break;case k:return(e=Nc(12,s,t,2|n)).elementType=k,e.lanes=o,e;case P:return(e=Nc(13,s,t,n)).elementType=P,e.lanes=o,e;case A:return(e=Nc(19,s,t,n)).elementType=A,e.lanes=o,e;case D:return Hc(s,n,o,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case x:i=10;break e;case L:i=9;break e;case w:i=11;break e;case I:i=14;break e;case N:i=16,a=null;break e}throw Error(r(130,null==e?e:typeof e,""))}return(t=Nc(i,s,t,n)).elementType=e,t.type=a,t.lanes=o,t}function Oc(e,t,s,a){return(e=Nc(7,e,a,t)).lanes=s,e}function Hc(e,t,s,a){return(e=Nc(22,e,a,t)).elementType=D,e.lanes=s,e.stateNode={isHidden:!1},e}function zc(e,t,s){return(e=Nc(6,e,null,t)).lanes=s,e}function Bc(e,t,s){return(t=Nc(4,null!==e.children?e.children:[],e.key,t)).lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Uc(e,t,s,a,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ft(0),this.expirationTimes=ft(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ft(0),this.identifierPrefix=a,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function $c(e,t,s,a,n,r,o,i,l){return e=new Uc(e,t,s,i,l),1===t?(t=1,!0===r&&(t|=8)):t=0,r=Nc(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ir(r),e}function Fc(e){if(!e)return Ln;e:{if(Fe(e=e._reactInternals)!==e||1!==e.tag)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Nn(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(r(171))}if(1===e.tag){var s=e.type;if(Nn(s))return Mn(e,s,t)}return t}function Gc(e,t,s,a,n,r,o,i,l){return(e=$c(s,a,!0,e,0,r,0,i,l)).context=Fc(null),s=e.current,(r=Dr(a=tc(),n=sc(s))).callback=null!=t?t:null,Rr(s,r,n),e.current.lanes=n,_t(e,n,a),nc(e,a),e}function Wc(e,t,s,a){var n=t.current,r=tc(),o=sc(n);return s=Fc(s),null===t.context?t.context=s:t.pendingContext=s,(t=Dr(r,o)).payload={element:e},null!==(a=void 0===a?null:a)&&(t.callback=a),null!==(e=Rr(n,t,o))&&(ac(e,n,o,r),Mr(e,n,o)),o}function jc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var s=e.retryLane;e.retryLane=0!==s&&s<t?s:t}}function qc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}Cl=function(e,t,s){if(null!==e)if(e.memoizedProps!==t.pendingProps||Pn.current)bi=!0;else{if(0==(e.lanes&s)&&0==(128&t.flags))return bi=!1,function(e,t,s){switch(t.tag){case 3:Ai(t),mr();break;case 5:ro(t);break;case 1:Nn(t.type)&&On(t);break;case 4:ao(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,n=t.memoizedProps.value;xn(_r,a._currentValue),a._currentValue=n;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(xn(io,1&io.current),t.flags|=128,null):0!=(s&t.child.childLanes)?zi(e,t,s):(xn(io,1&io.current),null!==(e=ji(e,t,s))?e.sibling:null);xn(io,1&io.current);break;case 19:if(a=0!=(s&t.childLanes),0!=(128&e.flags)){if(a)return Gi(e,t,s);t.flags|=128}if(null!==(n=t.memoizedState)&&(n.rendering=null,n.tail=null,n.lastEffect=null),xn(io,io.current),a)break;return null;case 22:case 23:return t.lanes=0,ki(e,t,s)}return ji(e,t,s)}(e,t,s);bi=0!=(131072&e.flags)}else bi=!1,nr&&0!=(1048576&t.flags)&&Jn(t,Vn,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Wi(e,t),e=t.pendingProps;var n=In(t,wn.current);Cr(t,s),n=Co(null,t,a,e,n,s);var o=ko();return t.flags|=1,"object"==typeof n&&null!==n&&"function"==typeof n.render&&void 0===n.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Nn(a)?(o=!0,On(t)):o=!1,t.memoizedState=null!==n.state&&void 0!==n.state?n.state:null,Ir(t),n.updater=$r,t.stateNode=n,n._reactInternals=t,jr(t,a,e,s),t=Pi(null,t,a,!0,o,s)):(t.tag=0,nr&&o&&er(t),Si(null,t,n,s),t=t.child),t;case 16:a=t.elementType;e:{switch(Wi(e,t),e=t.pendingProps,a=(n=a._init)(a._payload),t.type=a,n=t.tag=function(e){if("function"==typeof e)return Dc(e)?1:0;if(null!=e){if((e=e.$$typeof)===w)return 11;if(e===I)return 14}return 2}(a),e=fr(a,e),n){case 0:t=Li(null,t,a,e,s);break e;case 1:t=wi(null,t,a,e,s);break e;case 11:t=yi(null,t,a,e,s);break e;case 14:t=Ti(null,t,a,fr(a.type,e),s);break e}throw Error(r(306,a,""))}return t;case 0:return a=t.type,n=t.pendingProps,Li(e,t,a,n=t.elementType===a?n:fr(a,n),s);case 1:return a=t.type,n=t.pendingProps,wi(e,t,a,n=t.elementType===a?n:fr(a,n),s);case 3:e:{if(Ai(t),null===e)throw Error(r(387));a=t.pendingProps,n=(o=t.memoizedState).element,Nr(e,t),Hr(t,a,null,s);var i=t.memoizedState;if(a=i.element,o.isDehydrated){if(o={element:a,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=Ii(e,t,a,s,n=gi(Error(r(423)),t));break e}if(a!==n){t=Ii(e,t,a,s,n=gi(Error(r(424)),t));break e}for(ar=cn(t.stateNode.containerInfo.firstChild),sr=t,nr=!0,rr=null,s=Yr(t,null,a,s),t.child=s;s;)s.flags=-3&s.flags|4096,s=s.sibling}else{if(mr(),a===n){t=ji(e,t,s);break e}Si(e,t,a,s)}t=t.child}return t;case 5:return ro(t),null===e&&cr(t),a=t.type,n=t.pendingProps,o=null!==e?e.memoizedProps:null,i=n.children,tn(a,n)?i=null:null!==o&&tn(a,o)&&(t.flags|=32),xi(e,t),Si(e,t,i,s),t.child;case 6:return null===e&&cr(t),null;case 13:return zi(e,t,s);case 4:return ao(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=Xr(t,null,a,s):Si(e,t,a,s),t.child;case 11:return a=t.type,n=t.pendingProps,yi(e,t,a,n=t.elementType===a?n:fr(a,n),s);case 7:return Si(e,t,t.pendingProps,s),t.child;case 8:case 12:return Si(e,t,t.pendingProps.children,s),t.child;case 10:e:{if(a=t.type._context,n=t.pendingProps,o=t.memoizedProps,i=n.value,xn(_r,a._currentValue),a._currentValue=i,null!==o)if(oa(o.value,i)){if(o.children===n.children&&!Pn.current){t=ji(e,t,s);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var l=o.dependencies;if(null!==l){i=o.child;for(var c=l.firstContext;null!==c;){if(c.context===a){if(1===o.tag){(c=Dr(-1,s&-s)).tag=2;var g=o.updateQueue;if(null!==g){var u=(g=g.shared).pending;null===u?c.next=c:(c.next=u.next,u.next=c),g.pending=c}}o.lanes|=s,null!==(c=o.alternate)&&(c.lanes|=s),Tr(o.return,s,t),l.lanes|=s;break}c=c.next}}else if(10===o.tag)i=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(i=o.return))throw Error(r(341));i.lanes|=s,null!==(l=i.alternate)&&(l.lanes|=s),Tr(i,s,t),i=o.sibling}else i=o.child;if(null!==i)i.return=o;else for(i=o;null!==i;){if(i===t){i=null;break}if(null!==(o=i.sibling)){o.return=i.return,i=o;break}i=i.return}o=i}Si(e,t,n.children,s),t=t.child}return t;case 9:return n=t.type,a=t.pendingProps.children,Cr(t,s),a=a(n=kr(n)),t.flags|=1,Si(e,t,a,s),t.child;case 14:return n=fr(a=t.type,t.pendingProps),Ti(e,t,a,n=fr(a.type,n),s);case 15:return Ci(e,t,t.type,t.pendingProps,s);case 17:return a=t.type,n=t.pendingProps,n=t.elementType===a?n:fr(a,n),Wi(e,t),t.tag=1,Nn(a)?(e=!0,On(t)):e=!1,Cr(t,s),Gr(t,a,n),jr(t,a,n,s),Pi(null,t,a,!0,e,s);case 19:return Gi(e,t,s);case 22:return ki(e,t,s)}throw Error(r(156,t.tag))};var Kc="function"==typeof reportError?reportError:function(e){console.error(e)};function Zc(e){this._internalRoot=e}function Xc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eg(e,t,s,a,n){var r=s._reactRootContainer;if(r){var o=r;if("function"==typeof n){var i=n;n=function(){var e=jc(o);i.call(e)}}Wc(t,o,e,n)}else o=function(e,t,s,a,n){if(n){if("function"==typeof a){var r=a;a=function(){var e=jc(o);r.call(e)}}var o=Gc(t,a,e,0,null,!1,0,"",Jc);return e._reactRootContainer=o,e[pn]=o.current,$a(8===e.nodeType?e.parentNode:e),uc(),o}for(;n=e.lastChild;)e.removeChild(n);if("function"==typeof a){var i=a;a=function(){var e=jc(l);i.call(e)}}var l=$c(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=l,e[pn]=l.current,$a(8===e.nodeType?e.parentNode:e),uc((function(){Wc(t,l,s,a)})),l}(s,t,e,n,a);return jc(o)}Xc.prototype.render=Zc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(r(409));Wc(e,t,null,null)},Xc.prototype.unmount=Zc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Wc(null,e,null,null)})),t[pn]=null}},Xc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ct();e={blockedOn:null,target:e,priority:t};for(var s=0;s<Dt.length&&0!==t&&t<Dt[s].priority;s++);Dt.splice(s,0,e),0===s&&Ht(e)}},St=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var s=ut(t.pendingLanes);0!==s&&(Et(t,1|s),nc(t,Ye()),0==(6&Pl)&&(Gl=Ye()+500,Fn()))}break;case 13:uc((function(){var t=Pr(e,1);if(null!==t){var s=tc();ac(t,e,1,s)}})),qc(e,1)}},yt=function(e){if(13===e.tag){var t=Pr(e,134217728);if(null!==t)ac(t,e,134217728,tc());qc(e,134217728)}},Tt=function(e){if(13===e.tag){var t=sc(e),s=Pr(e,t);if(null!==s)ac(s,e,t,tc());qc(e,t)}},Ct=function(){return vt},kt=function(e,t){var s=vt;try{return vt=e,t()}finally{vt=s}},ye=function(e,t,s){switch(t){case"input":if(Q(e,s),t=s.name,"radio"===s.type&&null!=t){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<s.length;t++){var a=s[t];if(a!==e&&a.form===e.form){var n=Sn(a);if(!n)throw Error(r(90));q(a),Q(a,n)}}}break;case"textarea":re(e,s);break;case"select":null!=(t=s.value)&&se(e,!!s.multiple,t,!1)}},we=gc,Pe=uc;var tg={usingClientEntryPoint:!1,Events:[vn,bn,Sn,xe,Le,gc]},sg={findFiberByHostInstance:En,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ag={bundleType:sg.bundleType,version:sg.version,rendererPackageName:sg.rendererPackageName,rendererConfig:sg.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=je(e))?null:e.stateNode},findFiberByHostInstance:sg.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ng=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ng.isDisabled&&ng.supportsFiber)try{nt=ng.inject(ag),rt=ng}catch(ge){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tg,t.createPortal=function(e,t){var s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(r(200));return function(e,t,s){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:y,key:null==a?null:""+a,children:e,containerInfo:t,implementation:s}}(e,t,null,s)},t.createRoot=function(e,t){if(!Yc(e))throw Error(r(299));var s=!1,a="",n=Kc;return null!=t&&(!0===t.unstable_strictMode&&(s=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(n=t.onRecoverableError)),t=$c(e,1,!1,null,0,s,0,a,n),e[pn]=t.current,$a(8===e.nodeType?e.parentNode:e),new Zc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(r(188));throw e=Object.keys(e).join(","),Error(r(268,e))}return e=null===(e=je(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,s){if(!Qc(t))throw Error(r(200));return eg(null,e,t,!0,s)},t.hydrateRoot=function(e,t,s){if(!Yc(e))throw Error(r(405));var a=null!=s&&s.hydratedSources||null,n=!1,o="",i=Kc;if(null!=s&&(!0===s.unstable_strictMode&&(n=!0),void 0!==s.identifierPrefix&&(o=s.identifierPrefix),void 0!==s.onRecoverableError&&(i=s.onRecoverableError)),t=Gc(t,null,e,1,null!=s?s:null,n,0,o,i),e[pn]=t.current,$a(e),a)for(e=0;e<a.length;e++)n=(n=(s=a[e])._getVersion)(s._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[s,n]:t.mutableSourceEagerHydrationData.push(s,n);return new Xc(t)},t.render=function(e,t,s){if(!Qc(t))throw Error(r(200));return eg(null,e,t,!1,s)},t.unmountComponentAtNode=function(e){if(!Qc(e))throw Error(r(40));return!!e._reactRootContainer&&(uc((function(){eg(null,null,e,!1,(function(){e._reactRootContainer=null,e[pn]=null}))})),!0)},t.unstable_batchedUpdates=gc,t.unstable_renderSubtreeIntoContainer=function(e,t,s,a){if(!Qc(s))throw Error(r(200));if(null==e||void 0===e._reactInternals)throw Error(r(38));return eg(e,t,s,!1,a)},t.version="18.2.0-next-9e3b772b8-20220608"},634:(e,t,s)=>{"use strict";var a=s(542);t.s=a.createRoot,a.hydrateRoot},542:(e,t,s)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=s(577)},426:(e,t,s)=>{"use strict";
11
+ /**
12
+ * @license React
13
+ * react-jsx-runtime.production.min.js
14
+ *
15
+ * Copyright (c) Facebook, Inc. and its affiliates.
16
+ *
17
+ * This source code is licensed under the MIT license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */var a=s(378),n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,i=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,s){var a,r={},c=null,g=null;for(a in void 0!==s&&(c=""+s),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(g=t.ref),t)o.call(t,a)&&!l.hasOwnProperty(a)&&(r[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===r[a]&&(r[a]=t[a]);return{$$typeof:n,type:e,key:c,ref:g,props:r,_owner:i.current}}t.Fragment=r,t.jsx=c,t.jsxs=c},535:(e,t)=>{"use strict";
20
+ /**
21
+ * @license React
22
+ * react.production.min.js
23
+ *
24
+ * Copyright (c) Facebook, Inc. and its affiliates.
25
+ *
26
+ * This source code is licensed under the MIT license found in the
27
+ * LICENSE file in the root directory of this source tree.
28
+ */var s=Symbol.for("react.element"),a=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),m=Symbol.iterator;var p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,f={};function _(e,t,s){this.props=e,this.context=t,this.refs=f,this.updater=s||p}function E(){}function v(e,t,s){this.props=e,this.context=t,this.refs=f,this.updater=s||p}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=_.prototype;var b=v.prototype=new E;b.constructor=v,h(b,_.prototype),b.isPureReactComponent=!0;var S=Array.isArray,y=Object.prototype.hasOwnProperty,T={current:null},C={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,a){var n,r={},o=null,i=null;if(null!=t)for(n in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(o=""+t.key),t)y.call(t,n)&&!C.hasOwnProperty(n)&&(r[n]=t[n]);var l=arguments.length-2;if(1===l)r.children=a;else if(1<l){for(var c=Array(l),g=0;g<l;g++)c[g]=arguments[g+2];r.children=c}if(e&&e.defaultProps)for(n in l=e.defaultProps)void 0===r[n]&&(r[n]=l[n]);return{$$typeof:s,type:e,key:o,ref:i,props:r,_owner:T.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===s}var L=/\/+/g;function w(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function P(e,t,n,r,o){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var l=!1;if(null===e)l=!0;else switch(i){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case s:case a:l=!0}}if(l)return o=o(l=e),e=""===r?"."+w(l,0):r,S(o)?(n="",null!=e&&(n=e.replace(L,"$&/")+"/"),P(o,t,n,"",(function(e){return e}))):null!=o&&(x(o)&&(o=function(e,t){return{$$typeof:s,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,n+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(L,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=""===r?".":r+":",S(e))for(var c=0;c<e.length;c++){var g=r+w(i=e[c],c);l+=P(i,t,n,g,o)}else if(g=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=m&&e[m]||e["@@iterator"])?e:null}(e),"function"==typeof g)for(e=g.call(e),c=0;!(i=e.next()).done;)l+=P(i=i.value,t,n,g=r+w(i,c++),o);else if("object"===i)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function A(e,t,s){if(null==e)return e;var a=[],n=0;return P(e,a,"","",(function(e){return t.call(s,e,n++)})),a}function I(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},D={transition:null},R={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:D,ReactCurrentOwner:T};t.Children={map:A,forEach:function(e,t,s){A(e,(function(){t.apply(this,arguments)}),s)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!x(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=_,t.Fragment=n,t.Profiler=o,t.PureComponent=v,t.StrictMode=r,t.Suspense=g,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R,t.cloneElement=function(e,t,a){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=h({},e.props),r=e.key,o=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,i=T.current),void 0!==t.key&&(r=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)y.call(t,c)&&!C.hasOwnProperty(c)&&(n[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)n.children=a;else if(1<c){l=Array(c);for(var g=0;g<c;g++)l[g]=arguments[g+2];n.children=l}return{$$typeof:s,type:e.type,key:r,ref:o,props:n,_owner:i}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=k,t.createFactory=function(e){var t=k.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=D.transition;D.transition={};try{e()}finally{D.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,s){return N.current.useImperativeHandle(e,t,s)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,s){return N.current.useReducer(e,t,s)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,s){return N.current.useSyncExternalStore(e,t,s)},t.useTransition=function(){return N.current.useTransition()},t.version="18.2.0"},378:(e,t,s)=>{"use strict";e.exports=s(535)},246:(e,t,s)=>{"use strict";e.exports=s(426)},323:(e,t)=>{"use strict";
29
+ /**
30
+ * @license React
31
+ * scheduler.production.min.js
32
+ *
33
+ * Copyright (c) Facebook, Inc. and its affiliates.
34
+ *
35
+ * This source code is licensed under the MIT license found in the
36
+ * LICENSE file in the root directory of this source tree.
37
+ */function s(e,t){var s=e.length;e.push(t);e:for(;0<s;){var a=s-1>>>1,n=e[a];if(!(0<r(n,t)))break e;e[a]=t,e[s]=n,s=a}}function a(e){return 0===e.length?null:e[0]}function n(e){if(0===e.length)return null;var t=e[0],s=e.pop();if(s!==t){e[0]=s;e:for(var a=0,n=e.length,o=n>>>1;a<o;){var i=2*(a+1)-1,l=e[i],c=i+1,g=e[c];if(0>r(l,s))c<n&&0>r(g,l)?(e[a]=g,e[c]=s,a=c):(e[a]=l,e[i]=s,a=i);else{if(!(c<n&&0>r(g,s)))break e;e[a]=g,e[c]=s,a=c}}}return t}function r(e,t){var s=e.sortIndex-t.sortIndex;return 0!==s?s:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var i=Date,l=i.now();t.unstable_now=function(){return i.now()-l}}var c=[],g=[],u=1,d=null,m=3,p=!1,h=!1,f=!1,_="function"==typeof setTimeout?setTimeout:null,E="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var t=a(g);null!==t;){if(null===t.callback)n(g);else{if(!(t.startTime<=e))break;n(g),t.sortIndex=t.expirationTime,s(c,t)}t=a(g)}}function S(e){if(f=!1,b(e),!h)if(null!==a(c))h=!0,D(y);else{var t=a(g);null!==t&&R(S,t.startTime-e)}}function y(e,s){h=!1,f&&(f=!1,E(x),x=-1),p=!0;var r=m;try{for(b(s),d=a(c);null!==d&&(!(d.expirationTime>s)||e&&!P());){var o=d.callback;if("function"==typeof o){d.callback=null,m=d.priorityLevel;var i=o(d.expirationTime<=s);s=t.unstable_now(),"function"==typeof i?d.callback=i:d===a(c)&&n(c),b(s)}else n(c);d=a(c)}if(null!==d)var l=!0;else{var u=a(g);null!==u&&R(S,u.startTime-s),l=!1}return l}finally{d=null,m=r,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var T,C=!1,k=null,x=-1,L=5,w=-1;function P(){return!(t.unstable_now()-w<L)}function A(){if(null!==k){var e=t.unstable_now();w=e;var s=!0;try{s=k(!0,e)}finally{s?T():(C=!1,k=null)}}else C=!1}if("function"==typeof v)T=function(){v(A)};else if("undefined"!=typeof MessageChannel){var I=new MessageChannel,N=I.port2;I.port1.onmessage=A,T=function(){N.postMessage(null)}}else T=function(){_(A,0)};function D(e){k=e,C||(C=!0,T())}function R(e,s){x=_((function(){e(t.unstable_now())}),s)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){h||p||(h=!0,D(y))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return a(c)},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var s=m;m=t;try{return e()}finally{m=s}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var s=m;m=e;try{return t()}finally{m=s}},t.unstable_scheduleCallback=function(e,n,r){var o=t.unstable_now();switch("object"==typeof r&&null!==r?r="number"==typeof(r=r.delay)&&0<r?o+r:o:r=o,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return e={id:u++,callback:n,priorityLevel:e,startTime:r,expirationTime:i=r+i,sortIndex:-1},r>o?(e.sortIndex=r,s(g,e),null===a(c)&&e===a(g)&&(f?(E(x),x=-1):f=!0,R(S,r-o))):(e.sortIndex=i,s(c,e),h||p||(h=!0,D(y))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=m;return function(){var s=m;m=t;try{return e.apply(this,arguments)}finally{m=s}}}},102:(e,t,s)=>{"use strict";e.exports=s(323)},225:()=>{!function(){"use strict";
38
+ /*! *****************************************************************************
39
+ Copyright (c) Microsoft Corporation. All rights reserved.
40
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
41
+ this file except in compliance with the License. You may obtain a copy of the
42
+ License at http://www.apache.org/licenses/LICENSE-2.0
43
+
44
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
45
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
46
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
47
+ MERCHANTABLITY OR NON-INFRINGEMENT.
48
+
49
+ See the Apache Version 2.0 License for specific language governing permissions
50
+ and limitations under the License.
51
+ ***************************************************************************** */var e=function(){return e=Object.assign||function(e){for(var t,s=1,a=arguments.length;s<a;s++)for(var n in t=arguments[s])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},e.apply(this,arguments)};var t,s=function(e){return.5*(1-Math.cos(Math.PI*e))},a=function(){return Date.now()},n=function(e){var t=(a()-e.timeStamp)/(e.duration||500);if(t>1)return e.method(e.targetX,e.targetY),void e.callback();var r=(e.timingFunc||s)(t),o=e.startX+(e.targetX-e.startX)*r,i=e.startY+(e.targetY-e.startY)*r;e.method(o,i),e.rafId=requestAnimationFrame((function(){n(e)}))},r=function(e,s,r){var o=(void 0===t&&(t=Element.prototype.scroll||Element.prototype.scrollTo||function(e,t){this.scrollLeft=e,this.scrollTop=t}),t).bind(e);if(void 0!==s.left||void 0!==s.top){var i=e.scrollLeft,l=e.scrollTop,c=s.left,g=void 0===c?i:c,u=s.top,d=void 0===u?l:u;if("smooth"!==s.behavior)return o(g,d);var m=e.style.scrollBehavior;e.style.scrollBehavior="auto";var p=function(){window.removeEventListener("wheel",f),window.removeEventListener("touchmove",f),e.style.scrollBehavior=m},h={timeStamp:a(),duration:s.duration,startX:i,startY:l,targetX:g,targetY:d,rafId:0,method:o,timingFunc:s.timingFunc,callback:function(){p(),r&&r()}},f=function(){cancelAnimationFrame(h.rafId),p()};window.addEventListener("wheel",f,{passive:!0,once:!0}),window.addEventListener("touchmove",f,{passive:!0,once:!0}),n(h)}},o=function(e,t,s,a){var n=0===t&&s||1===t&&!s?e.inline:e.block;return"center"===n?1:"nearest"===n?0:"start"===n?0===t?a?5:4:2:"end"===n?0===t?a?4:5:3:s?0===t?0:2:0===t?4:0};function i(e,t,s,a,n,r,o,i){return r<e&&o>t||r>e&&o<t?0:r<=e&&i<=s||o>=t&&i>=s?r-e-a:o>t&&i<s||r<e&&i>s?o-t+n:0}var l=function(e){return"visible"!==e&&"clip"!==e},c=function(e){if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){var t=getComputedStyle(e);return l(t.overflowY)||l(t.overflowX)}return!1},g=function(e){var t=e.parentNode;return t&&(t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?t.host:t)},u=function(e){try{const s=e.startContainer.nodeType===Node.TEXT_NODE?e.startContainer.parentElement:e.startContainer,a=(t=s,Array.from(window.top.document.querySelectorAll("iframe, frame")).find((e=>e.contentDocument===t.ownerDocument)));if(!a)return!1;const n=window.top.innerWidth||window.top.document.documentElement.clientWidth,r=window.top.innerHeight||window.top.document.documentElement.clientHeight,o=a.getBoundingClientRect(),i=e.getBoundingClientRect(),l=o.left+i.left,c=o.top+i.top,g=o.left+i.left+i.width,u=o.top+i.top+i.height;return c>=0&&u<=r&&l>=0&&g<=n}catch(e){return!1}var t};window.scrollRangeIntoView=function(t,s,a){for(var n,l,d=document.scrollingElement||document.documentElement,m=[],p=t.startContainer,h=g(p);null!==h;h=g(h)){if(h===d){m.push(h);break}h===document.body&&c(h)&&!c(document.documentElement)||c(h)&&m.push(h)}var f=window.visualViewport?window.visualViewport.width:innerWidth,_=window.visualViewport?window.visualViewport.height:innerHeight,E=window.scrollX||window.pageXOffset,v=window.scrollY||window.pageYOffset,b=t.getBoundingClientRect(),S=b.height,y=b.width,T=b.top,C=b.right,k=b.bottom,x=b.left,L=getComputedStyle(p instanceof HTMLElement?p:p.parentNode),w=L.writingMode||L.webkitWritingMode||L.getPropertyValue("-ms-writing-mode")||"horizontal-tb",P=["horizontal-tb","lr","lr-tb","rl"].some((function(e){return e===w})),A=["vertical-rl","tb-rl"].some((function(e){return e===w})),I=o(s,0,P,A),N=o(s,1,P,A),D=function(){switch(N){case 2:case 0:return T;case 3:return k;default:return T+S/2}}(),R=function(){switch(I){case 1:return x+y/2;case 5:return C;default:return x}}(),M=[],O=function(t){var a=t.getBoundingClientRect(),n=a.height,o=a.width,l=a.top,c=a.right,g=a.bottom,u=a.left,m=getComputedStyle(t),p=parseInt(m.borderLeftWidth,10),h=parseInt(m.borderTopWidth,10),b=parseInt(m.borderRightWidth,10),T=parseInt(m.borderBottomWidth,10),C=0,k=0,x="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-b:0,L="offsetHeight"in t?t.offsetHeight-t.clientHeight-h-T:0;if(d===t){switch(N){case 2:C=D;break;case 3:C=D-_;break;case 1:C=D-_/2;break;case 0:C=i(v,v+_,_,h,T,v+D,v+D+S,S)}switch(I){case 4:k=R;break;case 5:k=R-f;break;case 1:k=R-f/2;break;case 0:k=i(E,E+f,f,p,b,E+R,E+R+y,y)}C=Math.max(0,C+v),k=Math.max(0,k+E)}else{switch(N){case 2:C=D-l-h;break;case 3:C=D-g+T+L;break;case 1:C=D-(l+n/2)+L/2;break;case 0:C=i(l,g,n,h,T+L,D,D+S,S)}switch(I){case 4:k=R-u-p;break;case 5:k=R-c+b+x;break;case 1:k=R-(u+o/2)+x/2;break;case 0:k=i(u,c,o,p,b+x,R,R+y,y)}var w=t.scrollLeft,P=t.scrollTop;C=Math.max(0,Math.min(P+C,t.scrollHeight-n+L)),k=Math.max(0,Math.min(w+k,t.scrollWidth-o+x)),D+=P-C,R+=w-k}M.push((function(a){return r(t,e(e({},s),{top:C,left:k}),a)}))};try{for(var H=function(e){var t="function"==typeof Symbol&&Symbol.iterator,s=t&&e[t],a=0;if(s)return s.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&a>=e.length&&(e=void 0),{value:e&&e[a++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(m),z=H.next();!z.done;z=H.next()){O(z.value)}}catch(e){n={error:e}}finally{try{z&&!z.done&&(l=H.return)&&l.call(H)}finally{if(n)throw n.error}}const B=function(){try{return window.self!==window.top}catch(e){return!0}}();let U=M.length;M.forEach((function(e){return e((function(){0==--U&&(B?setTimeout((()=>{if(u(t))a();else{(t.startContainer.nodeType===Node.TEXT_NODE?t.startContainer.parentElement:t.startContainer).scrollIntoView({behavior:"auto"}),setTimeout(a,0)}})):a())}))}))}}()},887:()=>{}},t={};function s(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,s),r.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{"use strict";s.d(a,{LTAssistant:()=>lo});var e={};s.r(e),s.d(e,{ACCOUNT_STATUS_RECHECK_INTERVAL:()=>c,BASE_REPHRASING_SERVER_URL:()=>C,BASE_SERVER_URL:()=>T,CHECK_DELAY:()=>V,CHECK_MAX_DELAY:()=>q,CHECK_REQUEST_TIMEOUT:()=>_,CHECK_THROTTLING_LIMIT:()=>E,CLIENT_LOGIN_URL:()=>N,COLORS:()=>ee,COLORS_ON_DARK:()=>te,COUNTRY_COUPON_MAPPING:()=>ge,COUPON_INTERVAL:()=>ue,DICTIONARY_SYNC_INTERVAL:()=>p,ERRORS_THAT_CAN_BE_CORRECTED_ALL_AT_ONCE:()=>fe,EXTENSION_HEALTH_RECHECK_INTERVAL:()=>i,EXTERNAL_CONFIG_RELOAD_INTERVAL:()=>g,EXTERNAL_CONFIG_URL:()=>I,FEEDBACK_SERVER_URL:()=>A,FIX_SENTENCE_MIN_ERROR_AMOUNT:()=>le,HOVER_DELAY:()=>Z,HOVER_MAX_DELAY:()=>X,HTTP_ERROR_ABORT:()=>ye,HTTP_ERROR_GENERIC:()=>ke,HTTP_ERROR_PAYLOAD_TOO_LARGE:()=>Te,HTTP_ERROR_TIMEOUT:()=>Ce,IFRAME_INITILIZATION_RECHECK_INTERVAL:()=>m,INSTALL_URL:()=>b,LOCAL_SERVER_URL:()=>P,MAIN_FALLBACK_SERVER_URL:()=>x,MAIN_SERVER_RECHECK_INTERVAL:()=>H,MAIN_SERVER_URL:()=>k,MASCOT_NAME:()=>he,MAX_EXCEPTION_COUNT:()=>ae,MAX_FIXES_COUNT:()=>se,MAX_FREEMIUM_REPHRASINGS_PER_DAY:()=>ve,MAX_TEXT_LENGTH:()=>U,MAX_TEXT_LENGTH_CUSTOM_SERVER:()=>W,MAX_TEXT_LENGTH_PERFORMANCE_DEGRADATION:()=>F,MAX_TEXT_LENGTH_PREMIUM:()=>G,MAX_USAGE_COUNT_ONBOARDING:()=>ne,MIN_TEXT_LENGTH:()=>z,NARROW_WHITESPACE_REGEXP:()=>Se,PACKAGE:()=>de,PARAGRAPH_LEVEL_CHUNK_LENGTH:()=>j,PICKY_RULES_THAT_ARE_CONSIDERED_ANNOYING:()=>me,PING_INTERVAL:()=>u,PING_URL:()=>D,PREMIUM_FALLBACK_SERVER_URL:()=>w,PREMIUM_SERVER_URL:()=>L,RELIABLE_MOTHER_TONGUES:()=>Ee,RENDER_INTERVAL:()=>h,RULES_ALLOWED_TO_BE_SENT_TO_API:()=>pe,SEND_AND_DESTROY_COMPLETED_USER_ACTIVITIES_INTERVAL:()=>J,SHORT_TEXT_MAX_LENGTH:()=>B,SPLIT_SENTENCE_LIMIT:()=>v,STATISTICS_URL:()=>M,STOPPED_TYPING_TIMEOUT:()=>K,SUPPORTED_FIX_COMPLETE_SENTENCE_LANGUAGES:()=>ie,SUPPORTED_REPHRASE_LANGUAGES:()=>re,SUPPORTED_SENTENCE_SPLITTING_LANGUAGES:()=>oe,SUPPORTED_SYNONYM_LANGUAGES:()=>ce,SWITCH_TO_FALLBACK_SERVER_ERRORS:()=>O,SYNC_USER_DATA_INTERVAL:()=>d,TEXT_LEVEL_MAX_LENGTH_PER_REQUEST:()=>$,TOOLBAR_DECREASE_SIZE_INTERVAL:()=>f,TRACK_RULE_EVENT_LANGUAGES:()=>_e,TRAILING_WHITESPACE_REGEXP:()=>be,UI_MODE_RECHECK_INTERVAL:()=>l,UNINSTALL_URL:()=>S,USER_ACTIVITY_DESTRUCTION_DELAY:()=>Q,USER_ACTIVITY_PING_INTERVAL_LENGTH:()=>Y,USER_DATA_URL:()=>y,WEBAPI_URL:()=>R});
52
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
53
+ class t{}const n=class{static init(e){this._instance=e}static isProductionEnvironment(){return this._instance.isProductionEnvironment()}static isRuntimeConnected(){return this._instance.isRuntimeConnected()}static getVersion(){return this._instance.getVersion()}static getTrackingId(){return this._instance.getTrackingId()}static shouldTrack(){return this._instance.shouldTrack()}static getType(){return this._instance.getType()}static getBeforeUnloadEventName(){return this._instance.getBeforeUnloadEventName()}static getURL(e){return this._instance.getURL(e)}static getUILanguageCode(){return this._instance.getUILanguageCode()}static openWindow(e){return this._instance.openWindow(e)}static loadContentScripts(e,t){return this._instance.loadContentScripts(e,t)}static initializeLTAssistant(e,t={}){return this._instance.initializeLTAssistant(e,t)}static getPreferredLanguages(){return this._instance.getPreferredLanguages()}static startDictionarySync(){return this._instance.startDictionarySync()}static addWordToDictionary(e){return this._instance.addWordToDictionary(e)}static addWordsToDictionary(e){return this._instance.addWordsToDictionary(e)}static removeWordFromDictionary(e){return this._instance.removeWordFromDictionary(e)}static clearDictionary(){return this._instance.clearDictionary()}static updateDictionary(){return this._instance.updateDictionary()}static injectExecutor(){return this._instance.injectExecutor()}static destroyExecutor(){return this._instance.destroyExecutor()}static executeScript(e,t){return this._instance.executeScript(e,t)}static linkInputAreaProperties(e){return this._instance.linkInputAreaProperties(e)}static ping(){return this._instance.ping()}static loadSynonyms(e,t,s){return this._instance.loadSynonyms(e,t,s)}static abortSynonymsRequest(){return this._instance.abortSynonymsRequest()}static loadPhrases(e,t,s,a,n){return this._instance.loadPhrases(e,t,s,a,n)}static reportPhrase(e,t){return this._instance.reportPhrase(e,t)}static initializeUserActivity(e){return this._instance.initializeUserActivity(e)}static sendUserActivityPings(e){return this._instance.sendUserActivityPings(e)}static updateUserActivityTextStatistics(e,t){return this._instance.updateUserActivityTextStatistics(e,t)}static updateUserActivityAppliedSuggestions(e,t,s){return this._instance.updateUserActivityAppliedSuggestions(e,t,s)}static updateUserActivityAppliedRewritings(e){return this._instance.updateUserActivityAppliedRewritings(e)}static updateUserActivityMeta(e,t){return this._instance.updateUserActivityMeta(e,t)}static sendUserActivity(e){return this._instance.sendUserActivity(e)}static destroyUserActivity(e){return this._instance.destroyUserActivity(e)}static abortPhraseRequests(e){return this._instance.abortPhraseRequests(e)}static loadSplitSentence(e,t,s,a,n){return this._instance.loadSplitSentence(e,t,s,a,n)}static trackEvent(e,t){return this._instance.trackEvent(e,t)}static trackTextLength(e){return this._instance.trackTextLength(e)}static pageLoaded(e,t,s,a,n,r){return this._instance.pageLoaded(e,t,s,a,n,r)}static ltAssistantStatusChanged(e,t){return"number"==typeof e?this._instance.ltAssistantStatusChanged(e,t):this._instance.ltAssistantStatusChanged(e)}static check(e,t,s,a,n,r,o){return this._instance.check(e,t,s,a,n,r,o)}static isOptionsPageSupported(){return this._instance.isOptionsPageSupported()}static openOptionsPage(e,t){return this._instance.openOptionsPage(e,t)}static isFeedbackFormSupported(){return this._instance.isFeedbackFormSupported()}static openFeedbackForm(e,t,s){return this._instance.openFeedbackForm(e,t,s)}static openPremiumPage(e,t=0,s=0,a=0,n="",r){return this._instance.openPremiumPage(e,t,s,a,n,r)}static checkForPaidSubscription(){return this._instance.checkForPaidSubscription()}};
54
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
55
+ class r{}r.eventNames={localeChanged:"lt-i18nManager.localeChanged"};const o=class{static init(e){this._instance=e}static addEventListener(e,t){this._instance.addEventListener(e,t)}static setLocale(e){this._instance.setLocale(e)}static getMessage(e,t){return this._instance.getMessage(e,t)}},i=3e3,l=6e4,c=36e5,g=144e5,u=864e5,d=864e5,m=1500,p=72e5,h=300,f=900,_=5e4,E=30,v=500,b="https://languagetool.org/webextension/welcome",S="https://languagetool.org/webextension/uninstall",y="https://languagetool.org/webextension/user",T="https://api.languagetool.org",C="https://rewriting.languagetoolplus.com",k=`${T}/v2`,x="https://api-fallback.languagetool.org/v2",L="https://api.languagetoolplus.com/v2",w="https://languagetoolplus.com/api/v2",P="http://localhost:8081/v2",A="https://languagetool.org/send-feedback/",I="https://languagetool.org/webextension_config.json",N="https://languagetool.org/client-login",D="https://languagetool.org/ping",R="https://languagetool.org/webapi",M="https://api.languagetoolplus.com/statistics/api/store",O=[502,503,504],H=18e4,z=4,B=50,U=1e4,$=2e4,F=4e4,G=15e4,W=Number.MAX_SAFE_INTEGER,j=5e3,V=1400,q=3500,K=2250,Z=50,X=200,Y=2e4,Q=3e5,J=6e5,ee={GRAMMAR:{UNDERLINE:"#f2b24c",BACKGROUND:"rgba(242,179,77,0.3)",EMPHASIZE:"rgba(241,179,76,0.1)"},STYLE:{UNDERLINE:"#8F7FFF",BACKGROUND:"rgba(142,128,255,0.2)",EMPHASIZE:"rgba(138,128,255,0.2)",TITLE:"#5C4CFF"},LONG_SENTENCE:{UNDERLINE:"#D2CBFF",BACKGROUND:"rgba(210,203,255,0.2)",EMPHASIZE:"rgba(210,203,255,0.1)"},IGNORED_RANGE:{UNDERLINE:"#00bbe6",BACKGROUND:"rgb(92, 222, 251, 0.2)",EMPHASIZE:"rgb(154, 232, 250, 0.1)"},SPELLING:{UNDERLINE:"#EB5757",BACKGROUND:"rgba(235,88,88,0.2)",EMPHASIZE:"rgba(239,88,88,0.1)"},SYNONYMS:{UNDERLINE:"#0042d7"},NEW_SENTENCE:{BACKGROUND:"rgba(30, 225, 151, 0.2)"},DISABLED:{UNDERLINE:"rgba(0, 0, 0, 0.2)",BACKGROUND:"rgba(0, 0, 0, 0.2)",EMPHASIZE:"rgba(0, 0, 0, 0.2)",TITLE:"rgba(0, 0, 0, 0.2)"}},te={...ee,DISABLED:{UNDERLINE:"rgba(255, 255, 255, 0.3)",BACKGROUND:"rgba(255, 255, 255, 0.3)",EMPHASIZE:"rgba(255, 255, 255, 0.3)",TITLE:"rgba(255, 255, 255, 0.3)"}},se=5,ae=6,ne=5,re=["en","de","fr","nl","es","pt-BR","pt-PT"],oe=["en"],ie=["en"],le=3,ce=["de","de-CH","ru","sv","pt","pt-BR","el","en","eo","it","fr","es","uk","sk","sl","pl","da","ro","nl","ca"],ge={UKRAINE:{countries:["UA","BY"],percent:50},"ITALY-DISCOUNT":{countries:["IT"],percent:20},"SPAIN-DISCOUNT":{countries:["ES"],percent:20},SOUTH_EUROPE:{countries:["RO","AL","GR","ME","EE","LT","LV","BG","CY","MT","SK","SI","RS","HR","XK","HU","MD","TR","PT"],percent:20},AFRICA:{countries:["NG","ET","EG","CD","CG","TZ","KE","UG","DZ","SD","MA","AO","MZ","TN","CI","DJ","SZ","MU","GQ","GA","BW","SO","CD","ER","MG"],percent:50},ASIA:{countries:["ID","PK","BD","VN","MM","PH","UZ","MY","NP","KZ","KH","UZ","TH","YE","SY","JO"],percent:50},LATIN_AMERICA:{countries:["PE","VE","EC","SV","DO","BO","SR","AR","HN","BZ","CR","PA","GT","NI","GY","UY","HT","JM","TT","CU"],percent:50},BRAZIL:{countries:["BR"],percent:50}},ue=7776e6,de={BASIC:"Basic",PREMIUM:"Premium"},me=["EN_QUOTES","PASSIVE_VOICE","DASH_RULE","SENTENCE_FRAGMENT","PONCTUATION_DOUBLE","TOO_LONG_SENTENCE","COMETES_TIPOGRAFIQUES","APOSTROF_TIPOGRAFIC","FALSCHE_VERWENDUNG_DES_BINDESTRICHS","HALBGEVIERTSTRICH","PARAGRAF_LEERZEICHEN","TYPOGRAFISCHE_APOSTROPHE","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_2","PUNCTUATION_PARAGRAPH_END","FINAL_STOPS","FINAL_PUNCTUATION","SMART_QUOTES","PT_SMART_QUOTES","DASH_SPACE_RULES","HIPHEN_SPACE_RULES","BRAK_KROPKI","DYWIZ","CUDZYSLOW_DRUKARSKI","TYPOGRAFISCHE_AANHALINGSTEKENS","TYPOGRAFISCHE_AANHALINGSTEKENS_2","EINDE_ZIN_ONVERWACHT","BACKTICK","GEDACHTESTREEPJE","OPTIONAL_HYPHEN","COMILLAS_TIPOGRAFICAS","COMETES_TIPOGRAFIQUES","GL_SMART_QUOTES"],pe=["OXFORD_SPELLING_Z_NOT_S"],he="jeremy",fe=[{ruleId:"FALSCHES_ANFUEHRUNGSZEICHEN",suggestions:[{match:/[„“]/,message:"Alle <lt-em>“</lt-em>…<lt-em>”</lt-em> zu <lt-em>„</lt-em>…<lt-em>“</lt-em> ändern"}]},{ruleId:"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN",suggestions:[{match:/[„“]/,message:"Alle <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> zu <lt-em>„</lt-em>…<lt-em>“</lt-em> ändern"},{match:/(^»)|(«$)/,message:"Alle <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> zu <lt-em>»</lt-em>…<lt-em>«</lt-em> ändern"}]},{ruleId:"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH",suggestions:[{match:/[„“]/,message:"Alle <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> zu <lt-em>„</lt-em>…<lt-em>“</lt-em> ändern"},{match:/(^«)|(»$)/,message:"Alle <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> zu <lt-em>«</lt-em>…<lt-em>»</lt-em> ändern"}]},{ruleId:"TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_2",suggestions:[{match:/[‚‘]/,message:"Alle <lt-em>'</lt-em>…<lt-em>'</lt-em> zu <lt-em>‚</lt-em>…<lt-em>‘</lt-em> ändern"},{match:/[„“]/,message:"Alle <lt-em>'</lt-em>…<lt-em>'</lt-em> zu <lt-em>„</lt-em>…<lt-em>“</lt-em> ändern"}]},{ruleId:"TYPOGRAFISCHE_APOSTROPHE",suggestions:[{match:/’/,message:"Alle Apostrophe zu <lt-em>’</lt-em> ändern"}]},{ruleId:"EN_QUOTES",suggestions:[{match:/[“”]/,message:"Change all <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> to <lt-em>“</lt-em>…<lt-em>”</lt-em>"}]},{ruleId:"WRONG_APOSTROPHE",suggestions:[{match:/'/,message:"Use <lt-em>'</lt-em> for all bad apostrophes"},{match:/’/,message:"Use <lt-em>’</lt-em> for all bad apostrophes"}]},{ruleId:"PARAGRAF_LEERZEICHEN",suggestions:[{match:/§\u00A0/,message:"Alle Leerzeichen nach <lt-em>§</lt-em> ändern"}]},{ruleId:"CONSISTENCYRULE_JE_F",suggestions:[{match:/[^e]$/,message:"Remplacer tous les <lt-em>je</lt-em> vers le masculin"}]},{ruleId:"CONSISTENCYRULE_JE_M",suggestions:[{match:/e$/,message:"Remplacer tous les <lt-em>je</lt-em> vers le féminin"}]},{ruleId:"COMILLAS_TIPOGRAFICAS",suggestions:[{match:/[“”]/,message:"Cambiar todas las <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> por <lt-em>“</lt-em>…<lt-em>”</lt-em>"},{match:/(^«)|(»$)/,message:"Cambiar todas las <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> por <lt-em>«</lt-em>…<lt-em>»</lt-em>"}]},{ruleId:"COMETES_TIPOGRAFIQUES",suggestions:[{match:/[“”]/,message:"Canvia totes les <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> per <lt-em>“</lt-em>…<lt-em>”</lt-em>"},{match:/(^«)|(»$)/,message:"Canvia totes les <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> per <lt-em>«</lt-em>…<lt-em>»</lt-em>"}]},{ruleId:"TYPOGRAFISCHE_AANHALINGSTEKENS",suggestions:[{match:/[„“]/,message:"Alle <lt-em>&quot;</lt-em>…<lt-em>&quot;</lt-em> veranderen in <lt-em>„</lt-em>…<lt-em>“</lt-em>"}]},{ruleId:"PT_SMART_QUOTES",suggestions:[{match:/[“”]/,message:"Corrigir todas as aspas."}]},{ruleId:"GL_SMART_QUOTES",suggestions:[{match:/[“”]/,message:"Corrixir todas as comiñas."}]}],_e=["en","de","es","ca","fr","nl","pt"],Ee=["de","fr"],ve=3,be=/^[ \u00A0]|[ \u00A0]$/g,Se=/\u202F/g,ye="E_ABORT",Te="E_PAYLOAD_TOO_LARGE",Ce="E_TIMEOUT",ke="E_GENERIC",xe=s(702);function Le(e,t){if("function"==typeof e.matchAll)return Array.from(e.matchAll(t));const s=[];let a=t.exec(e);for(;a;)s.push(a),a=t.exec(e);return s}function we(e){return e.length>0&&" "===e[e.length-1]}const Pe=['"',"„","“","”","«","»"];let Ae;try{Ae=new RegExp("\\p{L}","u")}catch(e){Ae=/[a-zäöüß]/i}function Ie(e){return Ae.test(e)}const Ne=e=>"object"==typeof e&&null!==e,De=e=>void 0===e,Re=e=>"function"==typeof e,Me=e=>"string"==typeof e,Oe=e=>"number"==typeof e,He=e=>Number.isInteger(parseInt(e,10));let ze,Be,Ue,$e,Fe;function Ge(e){return/\s/.test(e)}function We(e){return e.substring(0,1).toUpperCase()+e.substring(1)}!function(){const e="\b\t          ‏ ",t=new RegExp("^["+e+"]$"),s=new RegExp("["+e+"]","g");ze=function(e){return" "===e||" "===e||t.test(e)},Be=function(e){return e.replace(s," ")}}(),function(){const e="​‌‍­⁠‪‫‬‭",t=new RegExp("^["+e+"]$"),s=new RegExp("["+e+"]"),a=new RegExp("["+e+"]","g");Ue=function(e){return t.test(e)},$e=function(e){const t=e.match(s);return t?t.index:-1},Fe=function(e){return e.replace(a,"")}}();const je=function(){const e=/^[A-ZÈÉÊÁÀÂÓÒÔÚÙÛÍÌÎÄÜÖ]+[A-ZÈÉÊÁÀÂÓÒÔÚÙÛÍÌÎÄÜÖ\-!?#@=%().:;<>'’´`"”“*+,\s]+[A-ZÈÉÊÁÀÂÓÒÔÍÌÎÄÜÖ]$/;return function(t){return e.test(t)}}();let Ve,qe;function Ke(e,t){let s=He(e[t]),a=t,n=t;if(s){for(;a>0&&(s=He(e[a]),s);)a--;for(;n<e.length&&(s=He(e[n]),s);)n++}return a===n?null:{start:a,end:n}}function Ze(e,t){if(0===t.length)return{text:e,originalText:e,usedParts:[{start:0,end:e.length,originalStart:0,originalEnd:e.length,posDiff:0,length:e.length,text:e}],ignoredParts:[]};t=function(e,t){const s=[];s.length=t,tt(s,!1);const a=[];a.length=t;const n=[];n.length=t,tt(n,0);for(const t of e)if("replacingText"in t)for(let e=0;e<t.replacingText.length;e++)a[t.offset+e]=t.replacingText[e],n[t.offset+e]=t.offsetShift||0;else tt(s,!0,t.offset,t.offset+t.length);for(let e=0;e<t;e++)s[e]&&(a[e]=void 0,n[e]=0);const r=[];let o=0;for(;o<t;)if(s[o]){let e=o;for(;e<t&&s[e];)e++;r.push({offset:o,length:e-o}),o=e}else o++;for(o=0;o<t;)if(void 0!==a[o]){const e=n[o];let t=o;for(;t<a.length&&n[t]===e&&void 0!==a[t];)t++;const s=a.slice(o,t).join("");r.push({offset:o,length:t-o,replacingText:s,offsetShift:e}),o=t}else o++;return r.sort(((e,t)=>e.offset-t.offset)),r}(t,e.length);const s=[];let a=0,n=0;for(const r of t){if(n<r.offset){const t=r.offset-n;s.push({start:a,end:a+t,originalStart:n,originalEnd:n+t,posDiff:n-a,length:t,text:e.substr(n,t)}),a+=t}if("replacingText"in r){let e=r.offset;e+=r.offsetShift||0,s.push({start:a,end:a+r.length,originalStart:e,originalEnd:e+r.length,posDiff:e-a,length:r.length,text:r.replacingText.padEnd(r.length," ")}),a+=r.length}n=r.offset+r.length}if(n<e.length){const t=e.length-n;s.push({start:a,end:a+t,originalStart:n,originalEnd:n+t,posDiff:n-a,length:t,text:e.substr(n)})}const r=s.map((e=>e.text)).join(""),o=[];for(const e of t)if("replacingText"in e){const t=e.offsetShift||0;0!==t&&o.push({start:e.offset,end:e.offset+t}),e.length!==e.replacingText.length+t&&o.push({start:e.offset+t+e.replacingText.length,end:e.offset+e.length})}else o.push({start:e.offset,end:e.offset+e.length});return{text:r,originalText:e,usedParts:s,ignoredParts:o}}function Xe(e,t){if(e===t)return null;let s=0;const a=Math.max(e.length,t.length);for(s=0;s<a&&e[s]===t[s];s++);let n=0;const r=Math.min(e.length,t.length);for(;s+n<r;){if(e[e.length-n-1]!==t[t.length-n-1])break;n++}return{from:s,oldFragment:e.substring(s,e.length-n),newFragment:t.substring(s,t.length-n)}}function Ye(e,t){const s=[],a=e.split("\n"),n=t.split("\n");let r=0;const o=Math.max(a.length,n.length);for(r=0;r<o&&a[r]===n[r];r++);let i=0;const l=Math.min(a.length,n.length);for(;r+i<l;){if(a[a.length-i-1]!==n[n.length-i-1])break;i++}let c=0;for(let e=0;e<r;e++)c+=a[e].length+1;let g=c;for(let e=r;e<o-i;e++){const t=e<a.length-i?a[e]:null,r=e<n.length-i?n[e]:null;t===r&&c===g||s.push({oldText:t,newText:r,oldOffset:c,newOffset:g,textDiff:Xe(t||"",r||"")}),null!==t&&(c+=t.length+1),null!==r&&(g+=r.length+1)}if(c!==g)for(let e=i-1;e>=0;e--){const t=a[a.length-e-1],r=n[n.length-e-1];s.push({oldText:t,newText:r,oldOffset:c,newOffset:g,textDiff:null}),c+=t.length+1,g+=r.length+1}return s}function Qe(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/`/g,"&#x60;").replace(/\//g,"&#x2F;")}function Je(e,t){let s=0,a=e.length-1;for(;s<=a;){const n=s+Math.ceil((a-s)/2),r=t(e[n]);if(r>0)s=n+1;else{if(!(r<0)){for(let s=n;s>0;s--)if(0!==t(e[s-1]))return e[s];return e[0]}a=n-1}}return null}function et(e){const t=[];return e.forEach((e=>{-1===t.indexOf(e)&&t.push(e)})),t}function tt(e,t,s=0,a=e.length){for(let n=s;n<a;n++)e[n]=t}function st(e,t){return e===t||JSON.stringify(e)===JSON.stringify(t)}function at(e){return null===e||"object"!=typeof e?e:e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e):Array.isArray(e)?Array.from(e):Object.assign({},e)}function nt(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);const t=Array.isArray(e)?[]:{};for(const s in e)t[s]=nt(e[s]);return t}function rt(e){const t=e.toString();return 1===t.length?"0"+t:t}!function(){let e,t;const s=/(?:\S+\s+){0,4}\S+$/,a=/^\S+(?:\s+\S+){0,4}/;try{e=new RegExp("^\\s*(-?\\p{L}+)*-?\\s*$","u"),t=new RegExp("^\\s*\\p{L}+(-\\p{L}+)*\\s*$","u")}catch(s){e=/^\s*(-?[a-zäöüß]+)*-?\s*$/i,t=/^\s*[a-zäöüß]+(-[a-zäöüß]+)*\s*$/i}Ve=(s,a,n=a)=>{const r=s.substring(a,n);if(!e.test(r))return null;let o=0===r.length||Ie(r[0]),i="-"===r[0],l=a;if(o||i)for(;l>0;){const e=s[l-1],t=Ie(e),a="-"===e;if(!t&&!a)break;if(a&&i)return null;l--,o=t,i=a}o=Ie(r[r.length-1]),i=r.endsWith("-");let c=n;if(o||i)for(;c<s.length;){const e=s[c],t=Ie(e),a="-"===e;if(!t&&!a)break;if(a&&i)return null;c++,o=t,i=a}const g=r.match(/\s+$/);g&&(c-=g[0].length);const u=s.substring(l,c);return t.test(u)?{start:l,end:c}:null},qe=(e,t,n=t,r)=>{const o=Ve(e,t,n);if(!o)return null;const i=r?.find((e=>t>=e.start&&n<=e.end));let l="",c="";if(i)l=e.slice(i.start,o.start).trim(),c=e.slice(o.end,i.end).trim();else{const t=s.exec(e.substring(0,o.start).trim());l=t?t[0]:"",l=l.replace(/^.+\n\n/,"");const n=a.exec(e.substring(o.end).trim());c=n?n[0]:"",c=c.replace(/\n\n.+/,"")}return{word:e.substring(o.start,o.end),position:o,beforeText:l,afterText:c}}}();let ot=null,it=null;function lt(e){return Intl.Segmenter?(ot||(ot=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Array.from(ot.segment(e)).map((e=>e.segment))):(it||(it=new xe),it.splitGraphemes(e))}function ct(){if("about:blank"===location.href||"about:srcdoc"===location.href)try{return(self.opener||self.parent).location.href}catch(e){}return location.href}function gt(e,t=e){if(e.startsWith("about:blank"))return"blank";if(e.startsWith("about:srcdoc"))return"srcdoc";if(e.startsWith("file:"))return"file";e&&!/^([a-z\-]+:\/\/)/i.test(e)&&(e="http://"+e);try{return new URL(e).hostname}catch(e){return t}}function ut(){const e=document.location||document.defaultView.location;if(e&&e.hostname)return e.hostname.replace(/^www\./,"");try{if(self.parent!==self)return self.parent.location.hostname.replace(/^www\./,"")}catch(e){}return e.href.startsWith("about:blank")?"blank":e.href.startsWith("about:srcdoc")?"srcdoc":e.href.startsWith("file:")?"file":""}function dt(e,t){return e.toLocaleString(t)}function mt(){let e;return self.parent!==self&&document.referrer&&(e=gt(document.referrer)),e||(e=ut()),e}function pt(e){const t=[e];for(;e.split(".").length>2;){const s=e.indexOf(".");e=e.substr(s+1),t.push(e)}return t}function ht(e){return gt(e).toLowerCase().trim().replace(/^www\./,"")}function ft(e,t){const s=ht(t);return(e||[]).some(((e,t)=>{const a=ht(e);return a===s||s.endsWith("."+a)}))}const _t=e=>e.isSpellingError?"spelling":e.isStyleError?"style":"TYPOGRAPHY"===e.rule.category.id?"typography":e.isPunctuationError?"punctuation":"grammar",Et=function(){const e=/^\w+\.$/;return(t,s)=>{if(!t.isSpellingError)return!1;let a=t.originalPhrase;if(e.test(a)&&(a=a.substring(0,a.length-1)),s.includes(a))return!0;if(function(e){const t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()}(a)){const e=(n=a).charAt(0).toLowerCase()+n.substr(1);if(s.includes(e))return!0}var n;return!1}}();function vt(e,t){const s=e.language.code.split("-")[0];return t.some((t=>!(t.id!==e.rule.id||"*"!==t.language&&t.language!==s)&&(!t.phrase||(!!(t.id.includes("TOO_LONG_SENTENCE")&&function(e,t,s=2,a=!1){a||(e=e.toLowerCase(),t=t.toLowerCase());if(e.length<s||t.length<s)return 0;const n=new Map;for(let t=0;t<e.length-(s-1);t++){const a=e.substr(t,s);n.set(a,n.has(a)?n.get(a)+1:1)}let r=0;for(let e=0;e<t.length-(s-1);e++){const a=t.substr(e,s),o=n.has(a)?n.get(a):0;o>0&&(n.set(a,o-1),r++)}return 2*r/(e.length+t.length-2*(s-1))}(t.phrase,e.originalPhrase)>.75)||t.phrase.toLowerCase()===e.originalPhrase.toLowerCase()))))}const bt=function(){const e=/[\u0300-\u036f]/g,t=/\u0142/g,s=/\u00F8/g;return function(a){return a.normalize("NFD").replace(e,"").replace(t,"l").replace(s,"o")}}();function St(e,t,s,a,n=!1){return n?e<=a&&t>=s:e<a&&t>s}function yt(e,t,s,a=!1){if(a){if(t<=e&&e<s)return 0}else if(t<=e&&e<=s)return 0;return e-t}async function Tt(e,t,s){if(t.signal)throw new Error("cannot fetchWithTimeout if 'signal' is already set");const a=new AbortController;t.signal=a.signal;const n=self.setTimeout((()=>a.abort()),s);return await fetch(e,t).finally((()=>{clearTimeout(n)}))}
56
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
57
+ class Ct{constructor(){this._eventHandlers=new Map}subscribe(e,t){this._eventHandlers.has(e)||this._eventHandlers.set(e,[]),this._eventHandlers.get(e).push(t)}fire(e,t){const s=this._eventHandlers.get(e);s&&s.forEach((e=>{try{e(t)}catch(e){console.error(e)}}))}destroy(){this._eventHandlers.clear()}}
58
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
59
+ class kt{static get LANGUAGES(){return this._languages||(this._languages=[{code:"ar",name:o.getMessage("ar")},{code:"ast-es",name:o.getMessage("ast")},{code:"be-by",name:o.getMessage("be")},{code:"br-fr",name:o.getMessage("br")},{code:"ca-es",name:o.getMessage("ca")},{code:"ca-es-valencia",name:o.getMessage("ca_ES_valencia")},{code:"da-dk",name:o.getMessage("da_DK")},{code:"de-at",name:o.getMessage("de_AT")},{code:"de-ch",name:o.getMessage("de_CH")},{code:"de-de",name:o.getMessage("de_DE")},{code:"el-gr",name:o.getMessage("el")},{code:"en-au",name:o.getMessage("en_AU")},{code:"en-ca",name:o.getMessage("en_CA")},{code:"en-gb",name:o.getMessage("en_GB")},{code:"en-nz",name:o.getMessage("en_NZ")},{code:"en-us",name:o.getMessage("en_US")},{code:"en-za",name:o.getMessage("en_ZA")},{code:"eo",name:o.getMessage("eo")},{code:"es",name:o.getMessage("es")},{code:"fa",name:o.getMessage("fa")},{code:"ga-ie",name:o.getMessage("ga")},{code:"fr",name:o.getMessage("fr")},{code:"gl-es",name:o.getMessage("gl")},{code:"it",name:o.getMessage("it")},{code:"ja-jp",name:o.getMessage("ja")},{code:"km-kh",name:o.getMessage("km")},{code:"nl",name:o.getMessage("nl")},{code:"no",name:o.getMessage("no")},{code:"pl-pl",name:o.getMessage("pl")},{code:"pt-ao",name:o.getMessage("pt_AO")},{code:"pt-br",name:o.getMessage("pt_BR")},{code:"pt-mz",name:o.getMessage("pt_MZ")},{code:"pt-pt",name:o.getMessage("pt_PT")},{code:"ro-ro",name:o.getMessage("ro")},{code:"ru-ru",name:o.getMessage("ru")},{code:"sk-sk",name:o.getMessage("sk")},{code:"sl-si",name:o.getMessage("sl")},{code:"sv",name:o.getMessage("sv")},{code:"ta-in",name:o.getMessage("ta")},{code:"tl-ph",name:o.getMessage("tl")},{code:"uk-ua",name:o.getMessage("uk")},{code:"zh-cn",name:o.getMessage("zh")}],this._languages.sort((function(e,t){return e.name<t.name?-1:e.name>t.name?1:0})),this._isSubscribed||(o.addEventListener(r.eventNames.localeChanged,(()=>this._languages=null)),this._isSubscribed=!0)),this._languages}static isLanguageVariant(e){return e.code.includes("-")}static getPrimaryLanguageCode(e){return e.split("-")[0]}static formatLanguageCode(e){const t=e.split("-");return 1===t.length?t[0]:2===t.length?t[0]+"-"+t[1].toUpperCase():t[0]+"-"+t[1].toUpperCase()+"-"+t[2]}static getUserLanguageCode(){for(const e of navigator.languages){if(e.includes("-")&&e.startsWith(navigator.language))return e}return navigator.language}static getUserLanguageCodes(){const e=Array.from(navigator.languages,(e=>this.getPrimaryLanguageCode(e).toLowerCase()));try{e.push(this.getPrimaryLanguageCode(n.getUILanguageCode()).toLowerCase())}catch(e){}return et(e)}static getPreferredLanguageVariant(e){const t={"en-in":"en-us","en-ie":"en-gb"},s=navigator.languages||[];for(let a of s){a=a.toLowerCase(),a=t[a]||a;for(const t of e){const e=t.toLowerCase();if(a.length>2&&a===e)return t}}return null}static getLanguagesForGeoIPCountry(){return new Promise((function(e,t){let s=!1;const a=self.setTimeout((()=>{s=!0,t(new Error("geoip timeout"))}),15e3);fetch("https://languagetool.org/webextension/init",{method:"GET",mode:"cors"}).then((e=>e.json())).then((t=>{if(!s){const s=(t.geoIpCountry||"").toUpperCase();e({geoIpLanguages:t.geoIpLanguages||[],geoIpCountry:s}),clearTimeout(a)}})).catch((e=>{console.error(e),s||(t(e),clearTimeout(a))}))}))}static getSynonymsRequestLanguage(e){let t=this.getPrimaryLanguageCode(e);return"de-ch"===e.toLowerCase()?t="de-CH":"pt-br"===e.toLowerCase()&&(t="pt-BR"),ce.includes(t)?t:null}}kt._languages=null,kt._isSubscribed=!1,kt.ALL_LANGUAGES=[{code:"af",name:"Afrikaans"},{code:"ak",name:"Akan"},{code:"am",name:"አማርኛ"},{code:"an",name:"aragonés"},{code:"ar",name:"عربي"},{code:"as",name:"অসমীয়া"},{code:"ast",name:"Asturianu"},{code:"be",name:"Беларуская"},{code:"bg",name:"Български"},{code:"bm",name:"Bamanankan"},{code:"bn",name:"বাংলা"},{code:"br",name:"Brezhoneg"},{code:"bs",name:"босански"},{code:"ca",name:"Català"},{code:"cs",name:"čeština"},{code:"cy",name:"Cymraeg"},{code:"da",name:"Dansk"},{code:"de",name:"Deutsch"},{code:"el",name:"Ελληνικά"},{code:"en",name:"English"},{code:"eo",name:"Esperanto"},{code:"es",name:"Español"},{code:"et",name:"Eesti keel"},{code:"eu",name:"Euskara"},{code:"fa",name:"فارسی"},{code:"fi",name:"suomi"},{code:"fj",name:"Vosa vaka-Viti"},{code:"fr",name:"Français"},{code:"ga",name:"Gaeilge"},{code:"gd",name:"Gàidhlig"},{code:"gl",name:"Galego"},{code:"gn",name:"Avañe'ẽ"},{code:"gu",name:"ગુજરાતી"},{code:"ha",name:"هَرْشَن هَوْسَ‎"},{code:"he",name:"עברית"},{code:"hi",name:"हिन्दी"},{code:"hr",name:"hrvatski"},{code:"hu",name:"magyar"},{code:"hy",name:"Հայերեն"},{code:"ia",name:"Interlingua"},{code:"id",name:"Bahasa Indonesia"},{code:"ig",name:"Ásụ̀sụ̀ Ìgbò"},{code:"is",name:"íslenska"},{code:"it",name:"Italiano"},{code:"ja",name:"日本語"},{code:"kk",name:"Қазақ"},{code:"km",name:"ខ្មែរ"},{code:"kn",name:"ಕನ್ನಡ"},{code:"ko",name:"한국어"},{code:"ku",name:"Kurdî"},{code:"ks",name:"كشمیری"},{code:"la",name:"Latina"},{code:"lg",name:"Luganda"},{code:"lo",name:"ພາສາລາວ"},{code:"lt",name:"Lietuvių"},{code:"lv",name:"Latviešu"},{code:"mg",name:"malagasy"},{code:"mi",name:"Māori"},{code:"ml",name:"മലയാളം"},{code:"mk",name:"Македонски"},{code:"mn",name:"Монгол"},{code:"mr",name:"मराठी"},{code:"ms",name:"Melayu"},{code:"my",name:"မြန်မာဘာသာ"},{code:"nb",name:"Norsk bokmål"},{code:"ne",name:"नेपाली"},{code:"nn",name:"Norsk nynorsk"},{code:"no",name:"Norsk"},{code:"nl",name:"Nederlands"},{code:"nr",name:"isiNdebele"},{code:"oc",name:"Occitano"},{code:"or",name:"ଓଡ଼ିଆ"},{code:"pa",name:"ਪੰਜਾਬੀ"},{code:"pl",name:"Polski"},{code:"ps",name:"پښتو"},{code:"pt",name:"Português"},{code:"rm",name:"rumantsch"},{code:"ro",name:"românesc"},{code:"ru",name:"Русский"},{code:"rw",name:"Ikinyarwanda"},{code:"sa",name:"संस्कृत"},{code:"si",name:"සිංහල"},{code:"sk",name:"slovenčina"},{code:"sl",name:"Slovenščina"},{code:"so",name:"Soomaali"},{code:"sr",name:"Српски"},{code:"ss",name:"siSwati"},{code:"st",name:"Sesotho"},{code:"sv",name:"Svenska"},{code:"ta",name:"தமிழ்"},{code:"te",name:"తెలుగు"},{code:"th",name:"ภาษาไทย"},{code:"tl",name:"Tagalog"},{code:"fil",name:"Filipino"},{code:"tr",name:"Türkçe"},{code:"ts",name:"Xitsonga"},{code:"tt",name:"Tatarça"},{code:"uk",name:"Українська"},{code:"ur",name:"اُردو"},{code:"uz",name:"Oʻzbek tili"},{code:"ve",name:"Tshivenḓa"},{code:"vi",name:"Tiếng Việt"},{code:"yo",name:"عِدعِ يوْرُبا"},{code:"zh",name:"中文"},{code:"zu",name:"isiZulu"}],kt.POPULAR_LANGUAGES=["de","en","es","fr","nl","pl","pt","ru","uk","zh","it","hi"];
60
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
61
+ class xt{static get DEFAULT_SETTINGS(){return null===this.DEFAULT_SETTINGS_CACHED&&(this.DEFAULT_SETTINGS_CACHED={apiServerUrl:k,autoCheck:!0,knownEmail:"",username:"",password:"",token:"",userId:null,dpaLevel:0,motherTongue:"",geoIpLanguages:[],geoIpCountry:"",preferredLanguages:[],forcePreferredLanguages:!1,enVariant:kt.getPreferredLanguageVariant(["en-US","en-GB","en-AU","en-CA","en-NZ","en-ZA"])||"en-US",deVariant:kt.getPreferredLanguageVariant(["de-DE","de-AT","de-CH"])||"de-DE",ptVariant:kt.getPreferredLanguageVariant(["pt-PT","pt-BR","pt-MZ","pt-AO"])||"pt-BR",caVariant:"ca-ES",dictionary:[],hasSynonymsEnabled:!1,hasPickyModeEnabledGlobally:!1,openCardHotkey:"",isDictionarySynced:!1,ignoredRules:[],disabledDomains:[],disabledEditorGroups:[],disabledDomainsCapitalization:[],ignoreCheckOnDomains:[],autoCheckOnDomains:[],remainingRephrasingsAmount:null,remainingRephrasingsDate:null,hasRephrasingEnabled:!0,hasStatisticsCollectionEnabled:!0,hasContextMenuOptionEnabled:!0}),this.DEFAULT_SETTINGS_CACHED}static _combineObjects(e,t){const s=nt(e);for(const e in s)t.hasOwnProperty(e)&&(s[e]=t[e]);return s}static _dec2hex(e){return("0"+e.toString(16)).substr(-2)}static _generateUniqueId(){const e=new Uint8Array(8);return crypto.getRandomValues(e),Array.from(e,xt._dec2hex).join("")}static _isListContainsDomain(e,t){return ft(e,t)}static getDefaultSettings(){return nt(xt.DEFAULT_SETTINGS)}static getDefaultPrivacySettings(){return at(xt.DEFAULT_PRIVACY_SETTINGS)}constructor(){this._eventBus=new Ct,this._onReadyCallbacks=[]}addEventListener(e,t){this._eventBus.subscribe(e,t)}disableDomain(e){const t=ht(e),s=this.getSettings(),a="object"==typeof s.disabledDomains?s.disabledDomains:[];return a.push(t),this.updateSettings({disabledDomains:a})}enableDomain(e){const t=ht(e),s=this.getSettings();let a="object"==typeof s.disabledDomains?s.disabledDomains:[];return a=a.filter((e=>{const s=ht(e);return s!==t&&!t.endsWith("."+s)})),this.updateSettings({disabledDomains:a})}disableEditorGroup(e,t){const s=ht(e),a=this.getSettings(),n="object"==typeof a.disabledEditorGroups?a.disabledEditorGroups:[];return n.push({domain:s,editorGroupId:t}),this.updateSettings({disabledEditorGroups:n})}enableEditorGroup(e,t){const s=ht(e),a=this.getSettings();let n="object"==typeof a.disabledEditorGroups?a.disabledEditorGroups:[];const r=n.filter((e=>!(e.domain===s&&e.editorGroupId===t)));return r.length!==n.length?this.updateSettings({disabledEditorGroups:r}):Promise.resolve()}enableDomainAndEditorGroup(e,t){return this.getCheckSettings(e,t).isEditorGroupDisabled&&this.enableEditorGroup(e,t),this.enableDomain(e)}disableCapitalization(e){const t=ht(e),s=this.getSettings(),a="object"==typeof s.disabledDomainsCapitalization?s.disabledDomainsCapitalization:[];return a.push(t),this.updateSettings({disabledDomainsCapitalization:a})}enableCapitalization(e){const t=ht(e),s=this.getSettings();let a="object"==typeof s.disabledDomainsCapitalization?s.disabledDomainsCapitalization:[];return a=a.filter((e=>{const s=ht(e);return s!==t&&!t.endsWith("."+s)})),this.updateSettings({disabledDomainsCapitalization:a})}grantUnlimitedRephrasings(){return this.updateSettings({remainingRephrasingsAmount:null,remainingRephrasingsDate:null})}restrictRephrasings(){const{remainingRephrasingsAmount:e,remainingRephrasingsDate:t}=this.getSettings();return this.updateSettings({remainingRephrasingsAmount:e??ve,remainingRephrasingsDate:t||(new Date).toISOString()})}enablePaidSubscription(){return this.updateUIState({hasPaidSubscription:!0})}disablePaidSubscription(){return this.updateUIState({hasPaidSubscription:!1})}getIgnoredRuleIds(){return this.getManagedSettings().disableIgnoredRules?[]:this.getSettings().ignoredRules.map((e=>e.id))}hasIgnoredRule(e){return this.getIgnoredRuleIds().includes(e)}addIgnoredRule(e){const{ignoredRules:t}=this.getSettings();this.hasIgnoredRule(e.id)||this.updateSettings({ignoredRules:[...t,e]})}async removeIgnoredRule(e){if(this.hasIgnoredRule(e)){const t=this.getSettings().ignoredRules.filter((t=>t.id!==e));await this.updateSettings({ignoredRules:t})}}destroy(){this._eventBus.destroy(),this._onReadyCallbacks=[]}}xt.eventNames={settingsChanged:"lt-storageController.settingsChanged",userCredentialsChanged:"lt-storageController.userCredentialsChanged",configurationChanged:"lt-storageController.configurationChanged",privacySettingsChanged:"lt-storageController.privacySettingsChanged",uiStateChanged:"lt-storageController.uiStateChanged"},xt.DEFAULT_SETTINGS_CACHED=null,xt.DEFAULT_MANAGED_SETTINGS={apiServerUrl:"",loginUrl:"",disablePrivacyConfirmation:!1,disablePersonalDictionary:!1,disableIgnoredRules:!1,disableOpenInEditor:!1,allowedURLs:[]},xt.DEFAULT_CONFIGURATION={unsupportedDomains:[]},xt.DEFAULT_PRIVACY_SETTINGS={allowRemoteCheck:!1,confirmedGPT3:!1},xt.DEFAULT_STATISTICS={usageCount:0,sessionCount:0,appliedSuggestions:0,appliedSynonyms:0,hiddenErrors:[],firstVisit:null,lastActivity:null,ratingValue:null,premiumClicks:0,campaign:null},xt.DEFAULT_UI_STATE={hasSeenPrivacyConfirmationDialog:!1,hasPaidSubscription:!1,hasRated:!1,hasUsedValidator:!1,hasSeenOnboarding:!1,isNewUser:!1,hasSeenNewOverleafTeaser:!1,hasSeenNewGoogleDocsTeaser:!1,hasSeenNewGoogleSlidesTeaser:!1,hasSeenGoogleDocsMenuBarHint:!1,lastChangelogNov2023Seen:null,changelogNov2023CountdownEnd:null,changelogNov2023Coupon:null,showRuleId:!1,dialogPosition:"default",countMode:"characters",hasSeenTurnOnMessagePopup:!1,isDarkModeEnabled:!1},xt.DEFAULT_TEST_FLAGS={testGroups:{}};class Lt{static init(e){this._instanceCtor=e}static create(){return this._instanceCtor()}}
62
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
63
+ class wt{static _contructor(){if(this._isInitialized)return;wt._isChromium=navigator.userAgent.includes("Chrome/")||navigator.userAgent.includes("Chromium/"),wt._isFirefox=navigator.userAgent.includes("Firefox/"),wt._isThunderbird=navigator.userAgent.includes("Thunderbird/"),wt._isOpera=navigator.userAgent.includes("OPR/"),wt._isEdge=navigator.userAgent.includes("Edg/"),wt._isOldEdge=navigator.userAgent.includes("Edge/"),wt._isSafari=(navigator.userAgent.includes("Safari/")||navigator.userAgent.includes("AppleWebKit"))&&!wt._isChromium&&!wt._isEdge&&!wt._isOpera,wt._isYaBrowser=navigator.userAgent.includes("YaBrowser/"),wt._isChrome=wt._isChromium&&!wt._isOpera&&!wt._isEdge&&!wt._isOldEdge&&!wt._isYaBrowser;const e=navigator.userAgent.match(/Chrome\/(\d+)/);e&&(wt._isUnsupportedChrome=parseInt(e[1])<67&&!navigator.userAgent.includes("Edge/"));const t=navigator.userAgent.match(/Firefox\/(\d+)/);t&&(wt._isUnsupportedFirefox=parseInt(t[1])<60),this._isInitialized=!0}static getOS(){return navigator.userAgent.includes("Macintosh")?"Mac":navigator.userAgent.includes("Windows")?"Windows":navigator.userAgent.includes("CrOS")?"CrOS":navigator.userAgent.includes("Linux")?"Linux":"Other"}static isChromium(){return wt._isChromium}static isChrome(){return wt._isChrome}static isThunderbird(){return wt._isThunderbird}static isFirefox(){return wt._isFirefox}static isOpera(){return wt._isOpera}static isEdge(){return wt._isEdge}static isSafari(){return wt._isSafari}static isYaBrowser(){return wt._isYaBrowser}static isUnsupportedChrome(){return wt._isUnsupportedChrome}static isUnsupportedFirefox(){return wt._isUnsupportedFirefox}static isUnsupportedBrowser(){return wt.isUnsupportedChrome()||wt.isUnsupportedFirefox()}static getBrowserName(){return wt.isChrome()?"Chrome":wt.isFirefox()?"Firefox":wt.isOpera()?"Opera":wt.isEdge()?"Edge":wt.isSafari()?"Safari":wt.isYaBrowser()?"Yandex":"Unknown Browser"}static getUserAgentIdentifier(){let e="webextension";return this.isChrome()?e+="-chrome":this.isFirefox()?e+="-firefox":this.isOpera()?e+="-opera":this.isEdge()?e+="-edge":this.isYaBrowser()?e+="-chrome":this.isSafari()?e+="-safari":e+="-unknown",e+"-ng"}static isTouchDevice(){if(!("ontouchstart"in self))return!1;const e=navigator.userAgent.includes("Android");return this.isIOS()||e}static isIOS(){const e=navigator.userAgent.includes("iPhone OS"),t=navigator.userAgent.includes("Macintosh")&&Boolean(navigator.maxTouchPoints&&navigator.maxTouchPoints>2);return e||t}static isIOSTouchDevice(){return"ontouchstart"in self&&this.isIOS()}static isMacApp(){return navigator.userAgent.includes("AppleWebKit/")&&navigator.userAgent.includes("LanguageTool/")&&!navigator.userAgent.includes("Chrome/")&&!navigator.userAgent.includes("Chromium/")}static isWindowsApp(){return navigator.userAgent.includes("LanguageToolWindows/")}}wt._isChromium=!1,wt._isChrome=!1,wt._isFirefox=!1,wt._isThunderbird=!1,wt._isOpera=!1,wt._isOldEdge=!1,wt._isEdge=!1,wt._isSafari=!1,wt._isYaBrowser=!1,wt._isUnsupportedChrome=!1,wt._isUnsupportedFirefox=!1,wt._isInitialized=!1,wt._contructor();
64
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
65
+ class Pt{static init(){if(Pt._isInitialized)return;this.TRACKING_SITE_ID=n.getTrackingId(),this.VERSION=n.getVersion(),this._storageController=Lt.create();const e=n.getURL("/");self.addEventListener("error",(t=>{const s=t.message,a=t.filename,n=t.lineno,r=t.error;if(!a||!a.startsWith(e))return;if("string"!=typeof s)return;if(s.includes("ResizeObserver"))return;const o=r&&function(e){if(!e.stack)return;let t=[];if(e.stack.split(/\n/).forEach((e=>{const s=e.match(/([\w_<>]+)\s+\(.+?([\w_\-]+\.(js|html))/);s&&t.push(`${s[2]}:${s[1]}`)})),!t.length){const s=e.stack.match(/([\w_\-]+\.(js|html))/);s&&t.push(s[1])}return t.join(",").substr(0,140)}(r);o?Pt.trackError("js",s,o):Pt.trackError("js",s,`${a}:${n}`)})),Pt._isInitialized=!0,this.trackActiveAfterOneWeek()}static getCustomDimensions(e){const t=Pt._storageController.getSettings(),s=Pt._storageController.getUIState(),a=Pt._storageController.getTestFlags(),n={dimension2:this.VERSION,dimension3:String(s.hasPaidSubscription),dimension4:String(Boolean(t.username&&(t.password||t.token))),dimension5:t.preferredLanguages.join(","),dimension6:String(t.hasPickyModeEnabledGlobally),dimension7:String(a.testGroups.qb),dimension13:s.showRuleId?"{}":JSON.stringify(a.testGroups)};return e?.writingGoal&&(n.dimension8=e.writingGoal),e?.errorType&&(n.dimension9=e.errorType),n}static _getTrackingUrlForPageView(e,t){return e=(e=e.replace(/^(chrome|moz|safari|edge)-extension:\/\/.+?\//i,"")).replace(/^[a-z0-9]{8}\//i,"/"),e=`${Pt.TRACKING_BASE_PAGE_URL}${e}`,new Promise(((s,a)=>{Pt._storageController.onReady((()=>{const{firstVisit:a,sessionCount:n}=Pt._storageController.getStatistics(),r=Pt._storageController.getUniqueId(),o=new URL(Pt.TRACKING_BASE_URL),i=[self.screen?.width??0,self.screen?.height??0],l={idsite:Pt.TRACKING_SITE_ID,rec:"1",url:e,rand:String(Date.now()),apiv:"1",res:i.join("x"),_id:String(r),_idts:String(a),_idvc:String(n),...this.getCustomDimensions(t)};for(const[e,t]of Object.entries(l))o.searchParams.append(e,t);s(o.toString())}))}))}static _getTrackingUrlForEvent(e,t,s="",a,n){return a=a||Pt.TRACKING_BASE_PAGE_URL,new Promise(((r,o)=>{Pt._storageController.onReady((()=>{const{firstVisit:o,sessionCount:i}=Pt._storageController.getStatistics(),l=Pt._storageController.getUniqueId(),c=new URL(Pt.TRACKING_BASE_URL),g=[self.screen?.width??0,self.screen?.height??0],u={idsite:Pt.TRACKING_SITE_ID,rec:"1",url:a||"",action_name:t,rand:String(Date.now()),apiv:"1",res:g.join("x"),_id:l,_idts:String(o),_idvc:String(i),e_c:e,e_a:t,e_n:s??"",...this.getCustomDimensions(n)};for(const[e,t]of Object.entries(u))c.searchParams.append(e,t);r(c.toString())}))}))}static _sendRequest(e){!n.shouldTrack()||Pt._storageController.hasCustomServer()||navigator.webdriver||Tt(e,{mode:"no-cors",referrerPolicy:"no-referrer",keepalive:"standalone"===n.getType()},1e4).catch((()=>null))}static trackPageView(e,t){e=e||ct(),Pt._getTrackingUrlForPageView(e,t).then((t=>{n.isProductionEnvironment()?Pt._sendRequest(t):console.log("LT Page view tracking disabled in dev mode",{pageUrl:e,trackingUrl:t})})).catch((e=>{console.log("LT could not track because:",e&&e.message)}))}static trackDisabledRule(e,t,s,a){if(!e.match(/^de|en|nl|es|fr|ca|pt/i))return;const r=a?de.PREMIUM:de.BASIC,o=e+":"+t,i=s,l=new URL(Pt.TRACKING_BASE_URL);l.searchParams.append("idsite","18"),l.searchParams.append("rec","1"),l.searchParams.append("url",Pt.TRACKING_BASE_PAGE_URL),l.searchParams.append("action_name",r),l.searchParams.append("rand",String(Date.now())),l.searchParams.append("apiv","1"),l.searchParams.append("_id",this._storageController.getUniqueId()),l.searchParams.append("e_c",r),l.searchParams.append("e_a",o),l.searchParams.append("e_n",s),n.isProductionEnvironment()?this._sendRequest(l.toString()):console.log("LT Event tracking disabled in dev mode",{actionCategory:r,action:o,actionName:i,trackingUrl:l})}static trackDictionaryEvent(e,t,s=!1){if(!e.match(/^de|en|nl|es|fr|it|pt|ru|ca|pl/i))return;const a=s?"TemporaryIgnored":"PersistentlyIgnored",r=`${e}:add_word`,o=t,i=new URL(Pt.TRACKING_BASE_URL);i.searchParams.append("idsite","19"),i.searchParams.append("rec","1"),i.searchParams.append("url",Pt.TRACKING_BASE_PAGE_URL),i.searchParams.append("action_name",a),i.searchParams.append("rand",String(Date.now())),i.searchParams.append("apiv","1"),i.searchParams.append("_id",this._storageController.getUniqueId()),i.searchParams.append("e_c",a),i.searchParams.append("e_a",r),i.searchParams.append("e_n",t),n.isProductionEnvironment()?this._sendRequest(i.toString()):console.log("LT Event tracking disabled in dev mode",{actionCategory:a,action:r,actionName:o,trackingUrl:i})}static trackEvent(e,t,s,a,r){this._getTrackingUrlForEvent(e,t,s,a,r).then((a=>{n.isProductionEnvironment()?this._sendRequest(a):console.log("LT Event tracking disabled in dev mode",{actionCategory:e,action:t,actionName:s,trackingUrl:a})})).catch((e=>{console.log("LT could not track because:",e&&e.message)}))}static trackInstall(){Pt.trackEvent("Action","install",kt.getPrimaryLanguageCode(navigator.language)),this._storageController.updateUIState({isNewUser:!0})}static trackActivity(){this._storageController.onReady((()=>{const e=Date.now(),{sessionCount:t,lastActivity:s}=this._storageController.getStatistics();(!s||e-s>Pt.ACTIVITY_TRACK_INTERVAL)&&this._storageController.updateStatistics({sessionCount:t+1,lastActivity:e}).then((()=>{this.trackUserActivity()}))}))}static trackActiveAfterOneWeek(){this._storageController.onReady((()=>{const e=Date.now(),{firstVisit:t}=this._storageController.getStatistics(),{isNewUser:s}=this._storageController.getUIState();if(s&&t){const s=6048e5,a=e-1e3*t;a>s&&a<8*s&&this._storageController.updateUIState({isNewUser:!1}).then((()=>{this.trackEvent("Action","active_after_one_week",kt.getPrimaryLanguageCode(navigator.language))})).catch((()=>null))}}))}static trackUserActivity(){this._storageController.onReady((()=>{const{username:e}=this._storageController.getSettings();if(!e||this._storageController.hasCustomServer())return;const t=new FormData;t.append("email",e),t.append("useragent",wt.getUserAgentIdentifier()),Tt(D,{method:"POST",mode:"cors",credentials:"omit",body:t},1e4).catch((()=>null))}))}static trackError(e,t,s=""){try{if(wt.isUnsupportedBrowser())return;if(Pt._errorCount++,Pt._errorCount>ae)return;if("string"!=typeof t)return;if(Pt._loggedErrors)if(Pt._loggedErrors.length<Pt.THROTTLE_REQUESTS)Pt._loggedErrors.push(Date.now());else{const e=Date.now();if(!(e-Pt._loggedErrors[0]>=Pt.MAX_TIME))return;Pt._loggedErrors.push(e),Pt._loggedErrors.splice(0,1)}else Pt._loggedErrors=[Date.now()];let a="JS-Error";"message"===e?a="Message-Error":"http"===e?a="HTTP-Error":"other"===e&&(a="Other-Error");let n=ct();n=n.replace(/^moz-extension:\/\/[a-z0-9\-]+\//,"moz-extension://xxxx-xxxx-xxxx-xxxx/"),n.match(/(chrome|moz|safari)\-extension:/)||(n=void 0),this.trackEvent(a,t,s||n,n)}catch(e){console.error("Error while logging error from language tool",e)}}static trackStat(e,t){0===Math.floor(10*Math.random())&&Pt.trackEvent("Stat",e,t)}static trackTextLength(e){if(0===e)return;let t="";t=e<=100?"1-100":e<=1e3?"101-1000":e<=2500?"1001-2500":e<=5e3?"2501-5000":e<=7500?"5001-7500":e<=1e4?"7501-10000":e<=15e3?"10001-15000":e<=2e4?"15001-20000":e<=4e4?"20001-40000":e<=6e4?"40001-60000":e<=8e4?"60001-80000":e<=1e5?"80001-100000":">100000",this.trackStat("text_length",t)}}Pt.TRACKING_BASE_URL="https://analytics.languagetoolplus.com/matomo/piwik.php",Pt.TRACKING_BASE_PAGE_URL="https://fake/",Pt.ACTIVITY_TRACK_INTERVAL=864e5,Pt.MAX_TIME=6e4,Pt.THROTTLE_REQUESTS=10,Pt._isInitialized=!1,Pt._loggedErrors=null,Pt._errorCount=0;class At{static merge(e,t=!1){let{errors:s,pickyErrors:a,premiumErrors:n,premiumPickyErrors:r,sentenceRanges:o=[]}=this.filterAndMigrateErrors(e.existing.errors,e.existing.pickyErrors,e.existing.premiumErrors,e.existing.premiumPickyErrors,e.existing.sentenceRanges,e.existingCheckedText,e.newCheckedText);this.mergeParagraphLevelErrors(s,a,n,r,o,e.new.paragraphLevel.errors,e.new.paragraphLevel.pickyErrors,e.new.paragraphLevel.premiumErrors,e.new.paragraphLevel.premiumPickyErrors,e.new.paragraphLevel.sentenceRanges),this.mergeTextLevelErrors(s,a,n,r,e.new.textLevel.errors,e.new.textLevel.pickyErrors,e.new.textLevel.premiumErrors,e.new.textLevel.premiumPickyErrors);const i=this.getDuplicateErrors(e.existing,e.existingCheckedText,e.newCheckedText);return this.sortErrors(s,a,n,r),this.setIdsOnErrors(s,a,n,r,i),s=this.migrateOffsetsToOriginalText(s,e.newCheckedText.usedParts),a=this.migrateOffsetsToOriginalText(a,e.newCheckedText.usedParts),n=this.migrateOffsetsToOriginalText(n,e.newCheckedText.usedParts),r=this.migrateOffsetsToOriginalText(r,e.newCheckedText.usedParts),o=this.migrateOffsetsToOriginalText(o,e.newCheckedText.usedParts),t&&(a=a.filter((e=>!me.includes(e.rule.id))),a.forEach((e=>{e.rule.id="HIDDEN_RULE",e.fixes=[]})),n=[...n,...r,...a],r=[],a=[],this.sortErrorsByOffset(n)),{errors:s,pickyErrors:a,premiumErrors:n,premiumPickyErrors:r,sentenceRanges:o}}static getDuplicateErrors(e,t,s){let{errors:a,pickyErrors:n,premiumErrors:r,premiumPickyErrors:o}=e;a=this.migrateOffsetsToValuableText(a,t.usedParts),n=this.migrateOffsetsToValuableText(n,t.usedParts),r=this.migrateOffsetsToValuableText(r,t.usedParts),o=this.migrateOffsetsToValuableText(o,t.usedParts);const i=Ye(t.text,s.text),l=e=>{if(!e.isParagraphLevelCheck)return!0;const t=Je(i,(t=>{const s=t.oldOffset;if(null===t.oldText)return e.start>=s?1:-1;const a=t.oldOffset+t.oldText.length+1;return yt(e.start,s,a,!0)}));return!(!t||!t.textDiff)||void 0};return a=a.filter(l),n=n.filter(l),r=r.filter(l),o=o.filter(l),a=this.migrateOffsetsBetweenTexts(a,i),n=this.migrateOffsetsBetweenTexts(n,i),r=this.migrateOffsetsBetweenTexts(r,i),o=this.migrateOffsetsBetweenTexts(o,i),{errors:a,pickyErrors:n,premiumErrors:r,premiumPickyErrors:o}}static migrateOffsetsToValuableText(e,t){const s=[];for(const a of e){const e=Je(t,(e=>yt(a.start,e.originalStart,e.originalEnd,!0))),n=Je(t,(e=>yt(a.end,e.originalStart,e.originalEnd)));if(!e||!n)continue;const r=nt(a);r.start-=e.posDiff,r.end-=n.posDiff,r.length=r.end-r.start,s.push(r)}return s}static migrateOffsetsBetweenTexts(e,t,s,a){let n,r=!1;"string"==typeof t&&"string"==typeof s?(n=Ye(t,s),r="boolean"==typeof a&&a):(n=t,r="boolean"==typeof s&&s);const o=[];for(const t of e){const e=Je(n,(e=>{const s=e.oldOffset;if(null===e.oldText)return t.start>=s?1:-1;const a=e.oldOffset+e.oldText.length+1;return yt(t.start,s,a,!0)})),s=nt(t);if(e){if(e.textDiff){if(r)continue;{const t=e.oldOffset+e.textDiff.from,a=t+e.textDiff.oldFragment.length;if(St(t,a,s.start,s.end,!0))continue;if(s.start>=a){const t=e.textDiff.newFragment.length-e.textDiff.oldFragment.length;s.start+=t,s.end+=t}}}s.start+=e.newOffset-e.oldOffset,s.end=s.start+s.length}o.push(s)}return o}static migrateOffsetsToOriginalText(e,t){const s=[];for(const a of e){const e=Je(t,(e=>yt(a.start,e.start,e.end,!0))),n=Je(t,(e=>yt(a.end,e.start,e.end)));if(!e||!n)continue;const r=nt(a);r.start+=e.posDiff,r.end+=n.posDiff,r.length=r.end-r.start,s.push(r)}return s}static filterAndMigrateErrors(e,t,s,a,n,r,o){e=e.filter((e=>e.isParagraphLevelCheck)),t=t.filter((e=>e.isParagraphLevelCheck)),s=s.filter((e=>e.isParagraphLevelCheck)),a=a.filter((e=>e.isParagraphLevelCheck)),e=this.migrateOffsetsToValuableText(e,r.usedParts),t=this.migrateOffsetsToValuableText(t,r.usedParts),s=this.migrateOffsetsToValuableText(s,r.usedParts),a=this.migrateOffsetsToValuableText(a,r.usedParts),n=this.migrateOffsetsToValuableText(n||[],r.usedParts);const i=Ye(r.text,o.text);return{errors:e=this.migrateOffsetsBetweenTexts(e,i,!0),pickyErrors:t=this.migrateOffsetsBetweenTexts(t,i,!0),premiumErrors:s=this.migrateOffsetsBetweenTexts(s,i,!0),premiumPickyErrors:a=this.migrateOffsetsBetweenTexts(a,i,!0),sentenceRanges:n=this.migrateOffsetsBetweenTexts(n,i,!0)}}static mergeParagraphLevelErrors(e,t,s,a,n,r,o,i,l,c=[]){e.push(...r),t.push(...o),s.push(...i),a.push(...l),n.push(...c)}static mergeTextLevelErrors(e,t,s,a,n,r,o,i){for(const t of n)e.some((e=>e.start===t.start&&e.end===t.end))||e.push(t);for(const e of r)t.some((t=>t.start===e.start&&t.end===e.end))||t.push(e);for(const e of o)s.some((t=>t.start===e.start&&t.end===e.end))||s.push(e);for(const e of i)a.some((t=>t.start===e.start&&t.end===e.end))||a.push(e)}static sortErrors(e,t,s,a){this.sortErrorsByOffset(e),this.sortErrorsByOffset(t),this.sortErrorsByOffset(s),this.sortErrorsByOffset(a)}static sortErrorsByOffset(e){e.sort(((e,t)=>e.start===t.start?e.isParagraphLevelCheck?1:-1:e.start>t.start?1:-1))}static migrateErrorsBetweenSameOriginalTexts(e,t,s){const a=[];for(const n of e){let e=n.start,r=n.end,o=Je(t.usedParts,(t=>yt(e,t.originalStart,t.originalEnd,!0))),i=Je(t.usedParts,(e=>yt(r,e.originalStart,e.originalEnd)));if(!o||!i)continue;if(e-=o.posDiff,r-=i.posDiff,o=Je(s.usedParts,(t=>yt(e,t.start,t.end,!0))),i=Je(s.usedParts,(e=>yt(r,e.start,e.end))),!o||!i)continue;e+=o.posDiff,r+=i.posDiff;const l=nt(n);l.start=e,l.end=r,l.length=r-e,a.push(l)}return a}static setIdsOnErrors(e,t,s,a,n){function r(e,t){if(e.id)return;const s=t.find((t=>{return a=e,(s=t).start===a.start&&s.end===a.end&&s.isParagraphLevelCheck===a.isParagraphLevelCheck;var s,a}));e.id=s?s.id:"error:"+ ++At.INCREMENTAL_ID}e.forEach((e=>r(e,n.errors))),t.forEach((e=>r(e,n.pickyErrors))),s.forEach((e=>r(e,n.premiumErrors))),a.forEach((e=>r(e,n.premiumPickyErrors)))}static sortSentenceRanges(e){e.sort((({start:e},{start:t})=>e-t))}}At.INCREMENTAL_ID=0;
66
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
67
+ class It{constructor(e=document){this._window=e.defaultView,this._document=e,this.clearCache()}_getElementCache(e){let t=this._elementCache.get(e);return t||(t={},this._elementCache.set(e,t)),t}clearCache(){this._documentVisibleBox=null,this._documentGap=null,this._documentScroll=null,this._elementCache=new WeakMap}_contains(e,t){return e&&e!==t&&e.contains(t)}_getComputedStyle(e,t,s){let a,n;return"object"==typeof t?(a=t,n=""):(a=s,n=t),a.computedStyle||(a.computedStyle=new Map),a.computedStyle.has(n)||a.computedStyle.set(n,this._window.getComputedStyle(e,n||null)),a.computedStyle.get(n)}getComputedStyle(e,t=""){return this._getComputedStyle(e,t,this._getElementCache(e))}_getComputedStyleMap(e,t){return e.computedStyleMap?(t.computedStyleMap||(t.computedStyleMap=e.computedStyleMap()),t.computedStyleMap):null}getComputedStyleMap(e){return this._getComputedStyleMap(e,this._getElementCache(e))}getInlineStyle(e,t){return e.style.getPropertyValue(t)}getStyle(e,t,s=""){return this.getStyles(e,[t],s)[t]}getStyles(e,t,s=""){let a=null,n={};const r=this._getElementCache(e);for(const o of t)if(a=a||this._getComputedStyle(e,s,r),"line-height"===o||"lineHeight"===o)n[o]=this.getInlineStyle(e,o)||a[o]||"";else if("font"!==o||a[o])if("transform"===o&&e instanceof SVGGElement&&wt.isSafari()&&e.hasAttribute("transform")){const t=ks(e);n[o]=`matrix(${t.a}, ${t.b}, ${t.c}, ${t.d}, ${t.e}, ${t.f})`}else n[o]="zoom"===o?a[o]||"1":a[o]||"";else{const t=a["font-style"],s=a["font-variant"],r=a["font-weight"],i=a["font-size"],l=this.getInlineStyle(e,"line-height")||a["line-height"]||"",c=a["font-family"];n[o]=`${t} ${s} ${r} ${i} ${l?"/ "+l:""} ${c}`}return n}getExactStyle(e,t){return this.getExactStyles(e,[t])[t]}getExactStyles(e,t){const s=this._getElementCache(e),a=this._getComputedStyleMap(e,s);if(a){const e={};for(const s of t){const t=a.get(s);t?"number"==typeof(n=t).value&&"string"==typeof n.unit?"number"===t.unit?e[s]=t.value.toString():e[s]=t.value+t.unit:e[s]=t.toString():e[s]=""}return e}return this.getStyles(e,t);var n}setStyles(e,t,s=!1){Array.isArray(e)||(e=[e]);for(const a of e)for(const e in t){let n=t[e].trim();const r=s||It.IMPORTANT_REG_EXP.test(n);n=n.replace(It.IMPORTANT_REG_EXP,""),a.style.setProperty(e,n,r?"important":"")}}copyStyles(e,t,s,a=!1){const n=this.getStyles(e,s);this.setStyles(t,n,a)}resetStyles(e,t,s=!1){Array.isArray(e)||(e=[e]);let a="";for(const e in t){let n=t[e].trim();s&&!It.IMPORTANT_REG_EXP.test(n)&&(n+=" !important"),a+=`${e}: ${n};`}for(const t of e)t.style.cssText=a}removeStyle(e,t){Array.isArray(e)||(e=[e]),this.removeStyles(e,[t])}removeStyles(e,t){Array.isArray(e)||(e=[e]);for(const s of e)for(const e of t)s.style.removeProperty(e)}_getBoundingClientRect(e,t){return t.boundingClientRect||(t.boundingClientRect=nt(e.getBoundingClientRect())),t.boundingClientRect}getRelativeClientRect(e,t){const s=this._getBoundingClientRect(e,this._getElementCache(e)),a=this._getBoundingClientRect(t,this._getElementCache(t)),n=s.top-a.top,r=s.left-a.left,o=s.width,i=s.height;return{top:n,right:r+o,bottom:n+i,left:r,width:o,height:i}}_getBorderBox(e,t,s,a){const n="borderBox"+(t?"WithScroll":"")+(s?"WithScale":"");if(!a[n]){const r=this._getBoundingClientRect(e,a);let{top:o,left:i,width:l,height:c}=r;if(s){const t=this.getZoom(e);o*=t,i*=t,l*=t,c*=t}else{const t=this._getScaleFactor(e,a);l/=t.x,c/=t.y}if(t){const t=this.getDocumentScroll();if(o+=t.top,i+=t.left,this._document.body&&this._contains(this._document.body,e)){const e=this.getDocumentGap();o-=e.top,i-=e.left}}a[n]={top:o,right:i+l,bottom:o+c,left:i,width:l,height:c}}return a[n]}getBorderBox(e,t=!0,s=!0){return this._getBorderBox(e,t,s,this._getElementCache(e))}_getPaddingBox(e,t,s,a){const n="paddingBox"+(t?"WithScroll":"")+(s?"WithScale":"");if(!a[n]){let{top:r,left:o,width:i,height:l}=this._getBorderBox(e,t,s,a),c={x:1,y:1};s&&(c=this._getScaleFactor(e,a));const g=s?this._getZoom(e,a):1,u=this._getComputedStyle(e,a),d=(parseFloat(u["border-top-width"])||0)*c.y*g,m=(parseFloat(u["border-right-width"])||0)*c.x*g,p=(parseFloat(u["border-bottom-width"])||0)*c.y*g,h=(parseFloat(u["border-left-width"])||0)*c.x*g;let f=0,_=0;if("BackCompat"!==this._document.compatMode||e!==this._document.body||e!==this._document.scrollingElement){let{width:t,height:s}=this._getClientWidthAndHeight(e,a);t=t*c.x*g,s=s*c.y*g,f=i-h-t-m,_=l-d-s-p,f<1&&(f=0),_<1&&(_=0)}r+=d,o+=h,i=i-h-f-m,l=l-d-_-p,this._isRTL(e,a)&&(o+=f),a[n]={top:r,right:o+i,bottom:r+l,left:o,width:i,height:l,border:{top:d,right:m,bottom:p,left:h}}}return a[n]}getPaddingBox(e,t=!0,s=!0){return this._getPaddingBox(e,t,s,this._getElementCache(e))}_getContentBox(e,t,s,a){const n="contentBox"+(t?"WithScroll":"")+(s?"WithScale":"");if(!a[n]){let{top:r,left:o,width:i,height:l,border:c}=this._getPaddingBox(e,t,s,a),g={x:1,y:1};s&&(g=this._getScaleFactor(e,a));const u=s?this._getZoom(e,a):1,d=this._getComputedStyle(e,a),m=(parseFloat(d["padding-top"])||0)*g.y*u,p=(parseFloat(d["padding-right"])||0)*g.x*u,h=(parseFloat(d["padding-bottom"])||0)*g.y*u,f=(parseFloat(d["padding-left"])||0)*g.x*u;r+=m,o+=f,i=i-f-p,l=l-m-h,a[n]={top:r,right:o+i,bottom:r+l,left:o,width:i,height:l,border:c,padding:{top:m,right:p,bottom:h,left:f}}}return a[n]}getContentBox(e,t=!0,s=!0){return this._getContentBox(e,t,s,this._getElementCache(e))}_getClientWidthAndHeight(e,t){let s=e.clientWidth,a=e.clientHeight;if(0===s&&0===a&&"offsetWidth"in e){const n=this._getComputedStyle(e,t);"inline"===n.display&&(s=e.offsetWidth-parseInt(n["border-left-width"])-parseInt(n["border-right-width"]),a=e.offsetHeight-parseInt(n["border-top-width"])-parseInt(n["border-bottom-width"]))}return{width:s,height:a}}_getScrollDimensions(e,t,s){const a="scrollDimensions"+(t?"WithScale":"");if(!s[a]){let n=e.scrollWidth,r=e.scrollHeight;if(0===n&&(0===r||0===e.clientHeight)){const t=this._getClientWidthAndHeight(e,s);n=t.width,r=t.height}if(t){const t=this._getScaleFactor(e,s),a=this._getZoom(e,s);n=n*t.x*a,r=r*t.y*a}s[a]={width:n,height:r}}return s[a]}getScrollDimensions(e,t=!0){return this._getScrollDimensions(e,t,this._getElementCache(e))}_getScrollPosition(e,t,s,a){const n="scrollPosition"+(t?"WithScale":"")+(s?"WithZoom":"");if(!a[n]){let r={x:1,y:1};t&&(r=this._getScaleFactor(e,a));const o=s?this._getZoom(e,a):1,i=e===this._document.body&&"BackCompat"===this._document.compatMode,l=i?0:e.scrollTop*r.y*o,c=i?0:e.scrollLeft*r.x*o;a[n]={top:l,left:c}}return a[n]}getScrollPosition(e,t=!0,s=t){return this._getScrollPosition(e,t,s,this._getElementCache(e))}getScaleFactor(e){return this._getScaleFactor(e,this._getElementCache(e))}_getScaleFactor(e,t){if(void 0===t.scaleFactor){if(e instanceof SVGElement){if(wt.isFirefox()||wt.isThunderbird())return{x:1,y:1};let t=1;const s=e.getAttribute("transform")||"",a=/scale\((\d+(\.\d+)?)\)/.exec(s);return a&&(t=+a[1]),{x:t,y:t}}{const s=this._getBoundingClientRect(e,t),a=e.offsetWidth,n=e.offsetHeight;t.scaleFactor={x:1,y:1},s.width>0&&a>0&&Math.abs(s.width-a)>1&&(t.scaleFactor.x=s.width/a),s.height>0&&n>0&&Math.abs(s.height-n)>1&&(t.scaleFactor.y=s.height/n)}}return t.scaleFactor}_getZoom(e,t){if(wt.isFirefox()||wt.isThunderbird())return 1;if("number"!=typeof t.zoom){let s=1,a=e;for(;a&&a!==this._document.documentElement;){s*=+this.getStyle(a,"zoom"),a=a.parentElement}t.zoom=s}return t.zoom}getZoom(e){return this._getZoom(e,this._getElementCache(e))}_getStackingContextWithZIndex(e){const t=this.getComputedStyle(e),s=parseInt(t.zIndex||"");if(isNaN(s))return null;if(t.position&&It.NON_STATIC_POSITIONS.indexOf(t.position)>-1)return{zIndex:s};if(e.parentElement){const t=this.getComputedStyle(e.parentElement);if("flex"===t.display||"grid"===t.display)return{zIndex:s}}return null}getZIndex(e,t=this._document.documentElement){let s="auto",a=e;if(!a.ownerDocument)return"auto";const n=a.ownerDocument.defaultView.Element,r=a.ownerDocument.defaultView.ShadowRoot;for(;a&&a!==this._document&&a!==t&&a instanceof n;){const e=this._getStackingContextWithZIndex(a);e&&(s=e.zIndex),a=a.parentNode instanceof r?a.parentNode.host:a.parentElement}return s}_isRTL(e,t){return"boolean"!=typeof t.isRTL&&(t.isRTL="rtl"===this.getStyle(e,"direction")),t.isRTL}isRTL(e){return this._isRTL(e,this._getElementCache(e))}isStackingContext(e){const t=this.getComputedStyle(e);return!!(t.position&&It.NON_STATIC_POSITIONS.indexOf(t.position)>-1)||("none"!==t.transform||"none"!==t.filter||"none"!==t.clipPath||"none"!==t.perspective||Number(t.opacity)<1)}_getTextClientRects(e){const t=this._document.createRange();return t.setStart(e.node,e.start),t.setEnd(e.node,e.end),Array.from(t.getClientRects())}getTextBoundingBoxes(e,t,s=!0){Array.isArray(e)||(e=[e]);let a=[],n=0,r=0;if(s){const e=this.getDocumentScroll();if(n+=e.top,r+=e.left,this._document.body&&this._contains(this._document.body,t)){const e=this.getDocumentGap();n-=e.top,r-=e.left}}for(const t of e)try{const e=this._getTextClientRects(t);for(const t of e){if(t.width<It.MIN_TEXT_BOX_WIDTH)continue;const e=a[a.length-1],s=t.top+n,o=t.right+r,i=t.bottom+n,l=t.left+r,c=t.width,g=t.height;e&&e.right===l&&e.top===s&&e.bottom===i&&e.height===g?(e.right=o,e.width=e.width+c):a.push({top:s,right:o,bottom:i,left:l,width:c,height:g})}}catch(e){}return a}getRelativeTextBoundingBoxes(e,t,s=this.getScrollPosition(t)){Array.isArray(e)||(e=[e]);let a=[];const n=this.getPaddingBox(t,!1,!1),r=n.left-s.left,o=n.top-s.top;for(const t of e)try{const e=this._getTextClientRects(t);for(const t of e){if(t.width<It.MIN_TEXT_BOX_WIDTH)continue;const e=a[a.length-1],s=t.top-o,n=t.right-r,i=t.bottom-o,l=t.left-r,c=t.width,g=t.height;e&&e.right===l&&e.top===s&&e.bottom===i&&e.height===g?(e.right=n,e.width=e.width+c):a.push({top:s,right:n,bottom:i,left:l,width:c,height:g})}}catch(e){console.error("LT range error",e)}const i=this.getScaleFactor(t);for(const e of a)e.top=Math.round(e.top/i.y),e.right=Math.round(e.right/i.x),e.bottom=Math.round(e.bottom/i.y),e.left=Math.round(e.left/i.x),e.width=e.right-e.left,e.height=e.bottom-e.top;return a}getRelativeTextBoundingBox(e,t){const s=this.getRelativeTextBoundingBoxes(e,t),a=Math.min(...s.map((e=>e.top))),n=Math.max(...s.map((e=>e.right))),r=Math.max(...s.map((e=>e.bottom))),o=Math.min(...s.map((e=>e.left)));return{top:a,right:n,bottom:r,left:o,width:n-o,height:r-a}}_hasRelativePosition(e,t){const s=this._getComputedStyle(e,t).position||"static";return It.NON_STATIC_POSITIONS.indexOf(s)>-1}getDocumentGap(){if(!this._documentGap&&(this._documentGap={top:0,left:0},this._document.body&&this._hasRelativePosition(this._document.body,this._getElementCache(this._document.body)))){const e=this.getBorderBox(this._document.documentElement),t=this.getBorderBox(this._document.body);let s=this._document.documentElement.offsetTop,a=this._document.documentElement.offsetLeft;if(wt.isFirefox()||wt.isThunderbird()){let e=null;0===s&&(e=this.getComputedStyle(this._document.documentElement),s=parseInt(e["margin-top"])||0),0===a&&(e=e||this.getComputedStyle(this._document.documentElement),a=parseInt(e["margin-left"])||0)}const n=t.top-e.top+s,r=t.left-e.left+a,o=this.getComputedStyle(this._document.body),i=parseFloat(o["border-top-width"])||0,l=parseFloat(o["border-left-width"])||0;this._documentGap={top:n+i,left:r+l}}return this._documentGap}getDocumentVisibleBox(){if(!this._documentVisibleBox){const e=this.getDocumentScroll();let t=this._document.documentElement.clientHeight,s=this._document.documentElement.clientWidth;wt.isThunderbird()&&(t=self.innerHeight,s=self.innerWidth),this._documentVisibleBox={top:e.top,right:e.left+s,bottom:e.top+t,left:e.left,width:s,height:t}}return this._documentVisibleBox}getDocumentScroll(){if(!this._documentScroll){const e=this._document.documentElement&&this._document.documentElement.scrollTop||this._document.body&&this._document.body.scrollTop||0,t=this._document.documentElement&&this._document.documentElement.scrollLeft||this._document.body&&this._document.body.scrollLeft||0;this._documentScroll={top:e,left:t}}return this._documentScroll}}It.IMPORTANT_REG_EXP=/!important$/,It.TRANSFORM_MATRIX_REG_EXP=/(?:matrix|scale)\(([\d\.]+),/,It.NON_STATIC_POSITIONS=["relative","fixed","absolute","sticky"],It.MIN_TEXT_BOX_WIDTH=.1;var Nt=s(887),Dt=s.n(Nt);function Rt(){return Dt()}
68
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
69
+ function Mt(e=25,t=null){return new Promise((s=>setTimeout((()=>s(t)),e)))}function Ot(e,t){let s=null,a=!1;const n=()=>{s=function(e,t){let s=null,a=!1;const n=self.setTimeout((()=>{a||(s=requestAnimationFrame((()=>e())))}),t);return{destroy:()=>{a=!0,clearTimeout(n),s&&cancelAnimationFrame(s)}}}((()=>{a||(e(),n())}),t)};return n(),{destroy:()=>{a=!0,s&&(s.destroy(),s=null)}}}function Ht(e,t){"string"==typeof e&&(e=document.querySelector(e)),"string"==typeof t&&(t={key:t}),t.isHTML?e.innerHTML=o.getMessage(t.key,t.interpolations):t.attr&&t.attr in e?e[t.attr]=o.getMessage(t.key,t.interpolations):t.attr?e.setAttribute(t.attr,o.getMessage(t.key,t.interpolations)):e.textContent=o.getMessage(t.key,t.interpolations)}function zt(e,t,s=0){return 0===s?e.top===t.top&&e.right===t.right&&e.bottom===t.bottom&&e.left===t.left:Math.abs(e.top-t.top)<=s&&Math.abs(e.right-t.right)<=s&&Math.abs(e.bottom-t.bottom)<=s&&Math.abs(e.left-t.left)<=s}function Bt(e,t){const s=t.left+t.width/2;let a=null,n=Number.MAX_SAFE_INTEGER;for(const t of e){const e=Math.min(Math.abs(s-t.left),Math.abs(s-t.right));e<=n&&(a=t,n=e)}return a}function Ut(e){if(!e.length)return null;const t={left:Math.min(...e.map((e=>e.left))),top:Math.min(...e.map((e=>e.top))),right:Math.max(...e.map((e=>e.right))),bottom:Math.max(...e.map((e=>e.bottom)))};return{...t,width:t.right-t.left,height:t.bottom-t.top}}function $t(e,t){return!(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)}function Ft(e,t,s=0){return"object"==typeof t&&(s=t.y,t=t.x),e.left<=t&&t<=e.right&&e.top<=s&&s<=e.bottom}function Gt(e,t){const s=e.createElement(t);return s.setAttribute("contenteditable","false"),navigator.userAgent.includes("Mac OS")&&s.classList.add("lt--mac-os"),wt.isThunderbird()&&s.classList.add("lt--thunderbird"),s}function Wt(e,t){return"object"==typeof t?e!==t&&e.contains(t):e instanceof Element&&!!e.querySelector(t)}function jt(e,t){if(e.closest)return e.closest(t);{let s=e;for(;s;){if(s.matches(t))return s;s=s.parentElement}}return null}function Vt(e){return e.frameElement}function qt(e){const t=self.getComputedStyle(e);return"auto"===t.overflowY||"scroll"===t.overflowY}function Kt(e){return Boolean(e.ownerDocument&&"on"===e.ownerDocument.designMode&&"read-write"===e.ownerDocument.defaultView.getComputedStyle(e)["-moz-user-modify"])}const Zt=(()=>{const e=(e,t,s,a)=>{const n=e.ownerDocument;let r=n.elementFromPoint(s,a);if(!r)return!1;if(e===r||e.contains(r))return!0;if(!t.length)return!1;return t.find((e=>e.contains(r)))&&(r=n.elementsFromPoint(s,a).find((e=>!1===t.some((t=>t.contains(e)))))||null),Boolean(r&&(e===r||e.contains(r)))};return(t,s,a,n)=>{const r=s.getPaddingBox(t,!1),o=t.ownerDocument.contains(t);if(r.bottom<0||r.top>a||!o)return{top:0,bottom:r.height};let i=[];n&&(i=Array.from(t.ownerDocument.querySelectorAll(n)));let l=r.left+Math.round(r.width/100*33);const c=Math.max(r.top,0);let g=c;for(;;){if(e(t,i,l,g)){if(g===c)break;for(;g--;)if(!e(t,i,l,g)){g++;break}break}if(g===r.bottom)break;g=Math.min(r.bottom,g+6)}const u=Math.min(r.bottom,a);let d=u;for(;;){if(e(t,i,l,d-1)){if(d===u)break;for(;d++<u;)if(!e(t,i,l,d-1)){d--;break}break}if(d===g)break;d=Math.max(g,d-6)}return{top:Math.round(Math.max(0,g-r.top)),bottom:Math.round(Math.max(0,d-r.top))}}})();function Xt(e){return(e.offsetWidth>0||e.offsetHeight>0)&&"hidden"!==new It(document).getStyle(e,"visibility")}function Yt(e,t){if(!e.ownerDocument)return;let s=1;const a=new It(e.ownerDocument),n=Ot((()=>{if(s-=.08,s<=0)return e.remove(),n.destroy(),void(t&&t());a.setStyles(e,{opacity:s+" !important"})}),16)}function Qt(e){let t=20,s=e;for(;--t;){const e=self.getComputedStyle(s);if(e.backgroundImage&&"none"!==e.backgroundImage)return!1;const t=e.backgroundColor;if(t&&"transparent"!==t&&xs(t)>=.25)return Ls(t)<=35;if(!s.parentElement)return!1;s=s.parentElement}return!1}function Jt(...e){return e.map((e=>"string"==typeof e?e.trim():e)).filter(Boolean).filter(((e,t,s)=>s.indexOf(e)===t)).join(" ")}function es(e){if("function"==typeof e.composedPath){const t=e.composedPath();if(t[0])return t[0]}return e.target}function ts(e,t,s={}){const a=new CustomEvent(t,{detail:s,cancelable:!0});return e.dispatchEvent(a)}function ss(e,t,s){let a;wt.isFirefox()||wt.isThunderbird()?a=new ClipboardEvent("paste",{bubbles:!0,cancelable:!0,data:t,dataType:"text/plain"}):(a=new ClipboardEvent("paste",{clipboardData:new DataTransfer,cancelable:!0,bubbles:!0}),a.clipboardData.setData("text/plain",t),s&&a.clipboardData.setData("text/html",s));let n=e.dispatchEvent(a);if(n){const a=new InputEvent("beforeinput",{data:t,inputType:"insertFromPaste",cancelable:!0,bubbles:!0});a.dataTransfer?.setData("text/plain",t),s&&a.dataTransfer?.setData("text/html",s),"insertFromPaste"===a.inputType&&(n=e.dispatchEvent(a))}return n}function as(e,t,s){const a=Es(e)?e:e.ownerDocument,n=t=>{const a=es(t);(vs(a)||bs(a))&&e.contains(a)&&s(t)};return a.defaultView.addEventListener(t,n,!0),{destroy(){a.defaultView.removeEventListener(t,n,!0)}}}const ns=(()=>{let e;const t=[];return(s,a)=>{t.push({element:s,callback:a}),e=e||self.setInterval((()=>{const s=[];t.forEach((e=>{(e.element.readOnly||e.element.disabled||!Xt(e.element))&&(s.push(e),e.callback(e.element))})),s.forEach((e=>{t.splice(t.indexOf(e),1)})),t.length||(clearInterval(e),e=null)}),600)}})(),rs=(()=>{let e;const t=[];return(s,a)=>{t.push({element:s,callback:a}),e||(e=new MutationObserver((s=>{if(!s.some((e=>e.removedNodes.length>0)))return;const a=[];for(const e of t)ds(e.element)||(e.callback(e.element),a.push(e));a.forEach((e=>{t.splice(t.indexOf(e),1)})),t.length||(e.disconnect(),e=null)})),e.observe(document.documentElement,{childList:!0,subtree:!0}))}})();function os(e){const t=document;if(t.caretRangeFromPoint)return t.caretRangeFromPoint(e.x,e.y);if(t.caretPositionFromPoint){const s=t.caretPositionFromPoint(e.x,e.y);if(!s||!s.offsetNode)return null;try{const e=new Range;return e.setStart(s.offsetNode,s.offset),e.setEnd(s.offsetNode,s.offset),e}catch(e){return null}}return null}function is(e,t){return!(!e||!t||e.startContainer!==t.startContainer||e.startOffset!==t.startOffset||e.endOffset!==t.endOffset||e.endContainer!==t.endContainer)}function ls(){const e=self,t=us(),s=t?t.tagName.toLowerCase():null;return"textarea"===s||"input"===s&&/^(?:text|search|password|tel|url)$/i.test(t.type)&&"number"==typeof t.selectionStart?t.value.slice(t.selectionStart,t.selectionEnd):e.getSelection&&e.getSelection()?e.getSelection().toString():""}function cs(e,t,s){const a=/^\s*$/,n=Math.min(s.start,s.end??s.start),r=Math.max(s.start,s.end??s.start),o=t?[...t]:[];At.sortSentenceRanges(o);const i=o.length?o[0].start:0;if(r<i){const t=e.substring(n,i);return a.test(t)}for(let t=0;t<o.length;t++){const s=o[t],i=0==t?-1:o[t-1].end,l=t===o.length-1?e.length+1:o[t+1].start,c=s.start<=n&&n<=s.end||i<n&&n<s.start&&a.test(e.substring(n,s.start))||s.end<n&&n<l&&a.test(e.substring(s.end,n)),g=s.start<=r&&r<=s.end||s.end<r&&r<l&&a.test(e.substring(s.end,r));if(c&&g)return!0}return!1}function gs(e,t,s){const a=/^\s*$/,n=Math.min(s.start,s.end??s.start),r=Math.max(s.start,s.end??s.start),o=t?[...t]:[];At.sortSentenceRanges(o);const i=o.length?o[0].start:0;if(r<i){const t=e.substring(n,i);if(a.test(t))return{start:i,end:i}}for(let t=0;t<o.length;t++){const s=o[t],i=0==t?-1:o[t-1].end,l=t===o.length-1?e.length+1:o[t+1].start,c=i<n&&n<s.start&&a.test(e.substring(n,s.start)),g=s.start<=n&&n<=s.end,u=s.end<n&&n<l&&a.test(e.substring(s.end,n)),d=s.start<=r&&r<=s.end,m=s.end<r&&r<l&&a.test(e.substring(s.end,r));if(c&&d)return{start:s.start,end:r};if(c&&m)return{start:s.start,end:s.end};if(g&&d)return{start:n,end:r};if(g&&m)return{start:n,end:s.end};if(u&&m)return{start:s.end,end:s.end}}return{start:n,end:r}}function us(){let e=document.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function ds(e){if(e.ownerDocument&&e.ownerDocument.contains(e))return!0;let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof DocumentFragment?t.parentNode.host:t.parentNode}return!1}function ms(e){let t=e&&e.parentNode;for(;t;){if("[object ShadowRoot]"===t.toString())return t;t=t.parentNode}return null}function ps(e){let t=e.isCollapsed;return e.anchorNode===e.focusNode&&e.anchorOffset!==e.focusOffset&&(t=!1),e.toString().length>0&&(t=!1),t}function hs(e){return fs(e)||_s(e)}function fs(e){return e instanceof HTMLTextAreaElement}function _s(e){return e instanceof HTMLInputElement&&("text"===e.type||"search"===e.type)}function Es(e){return e.nodeType===Node.DOCUMENT_NODE}function vs(e){return e.nodeType===Node.ELEMENT_NODE}function bs(e){return e.nodeType===Node.TEXT_NODE}function Ss(e){try{return e.document.documentElement.hasAttribute("data-lt-installed")}catch(e){}return!1}function ys(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return!0;const t=e.ownerDocument.createElement("div");t.className="lt-test-element",e.appendChild(t);const s="absolute"===e.ownerDocument.defaultView.getComputedStyle(t).position;return t.remove(),s}function Ts(e){["content/styles/shadow.css"].forEach((t=>{const s=Rt().runtime.getURL(t);if(!e.querySelector(`[href="${s}"]`)){const t=document.createElement("link");t.href=s,t.rel="stylesheet",e.append(t)}}))}function Cs(e,t,s,a=Date.now().toString()){const n=self,r=void 0!==n.screenLeft?n.screenLeft:n.screenX,o=void 0!==n.screenTop?n.screenTop:n.screenY,i=n.innerWidth?n.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width,l=n.innerHeight?n.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height,c=i/n.screen.availWidth,g=(i-t)/2/c+r,u=(l-s)/2/c+o;return n.open(e,a,`\n scrollbars=yes,\n\t resizable=yes,\n width=${t/c},\n height=${s/c},\n top=${u},\n left=${g}\n `)}function ks(e){const t={a:1,b:0,c:0,d:1,e:0,f:0};for(let s=0;s<e.transform.baseVal.length;s++){const a=e.transform.baseVal[s];1===a.type?(t.a=a.matrix.a,t.b=a.matrix.b,t.c=a.matrix.c,t.d=a.matrix.d,t.e=a.matrix.e,t.f=a.matrix.f):2===a.type?(t.e=a.matrix.e,t.f=a.matrix.f):3===a.type?(t.a=a.matrix.a,t.d=a.matrix.d):5===a.type?t.b=a.matrix.b:6===a.type&&(t.c=a.matrix.c)}return t}(function(){let e,t=null;const s=t=>{t.origin.match(/^chrome|moz|safari/)&&e(t.data)}})(),function(){let e,t=null;const s=t=>{e(t.data)}}();let xs,Ls;!function(){const e=/ /g,t=/^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{8})$/i,s=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,a=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,n=/^rgba?\(/i,r=/^rgba?\((\d+),(\d+),(\d+)(?:,(\d*(?:\.\d+)?))?\)/i,o=/^hsla?\(/i,i=/^hsla?\(\d+,\d+%,(\d+)%(?:,(\d*(?:\.\d+)?))?\)/i;function l(e,t,s){const a=Math.max(e,t,s)/255,n=Math.min(e,t,s)/255;return Math.round((a+n)/2*100)}xs=function(l){if("string"!=typeof l)return 3===l.length?1:l[3];if(l=l.replace(e,""),t.test(l)){const e=s.exec(l)||a.exec(l);if(e&&e[4])return parseInt(2===e[4].length?e[4]:e[4]+e[4],16)/255}else if(n.test(l)){const e=r.exec(l);if(e&&e[4])return+e[4]}else if(o.test(l)){const e=i.exec(l);if(e&&e[2])return+e[2]}return 1},Ls=function(c){if("string"!=typeof c)return l(c[0],c[1],c[2]);if(c=c.replace(e,""),t.test(c)){const e=s.exec(c)||a.exec(c);if(e){return l(parseInt(2===e[1].length?e[1]:e[1]+e[1],16),parseInt(2===e[2].length?e[2]:e[2]+e[2],16),parseInt(2===e[3].length?e[3]:e[3]+e[3],16))}}else if(n.test(c)){const e=r.exec(c);if(e){return l(+e[1],+e[2],+e[3])}}else if(o.test(c)){const e=i.exec(c);if(e)return+e[1]}return 100}}();const ws=Array.from({length:16},((e,t)=>t.toString(16)));function Ps(e,t){const s=e.length,a=Math.max(0,t-s);return e+Array.from({length:a},(()=>{const e=Math.floor(Math.random()*ws.length);return ws[e]})).join("")}function As(e){if(e.length>24)throw new Error(`Given unique ID "${e}" exceeds length of 24`);const t=e.slice(0,12),s=e.slice(12,20),a=e.slice(20,24);return[Ps(s,12),Ps(a,4),"4A96","BEA4",Ps(t,12)].join("-")}function Is(e,t){if(!1===Boolean(e))throw new Error(t||`Invalid value ${e}`)}const Ns=/^(https?:\/\/)?localhost(:[0-9]{1,5})?(\/.*)?$/i,Ds=/^(https?:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,15}(:[0-9]{1,5})?(\/.*)?$/i,Rs=/^(?:https?:\/\/)?(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}(?::[0-9]{1,5})?$/;function Ms(e){return Ns.test(e)||Ds.test(e)||Rs.test(e)}function Os(e){return e.filter((e=>Ms(e)))}function Hs(e){return Boolean(e.closest(".DraftEditor-editorContainer"))||/(facebook|messenger)\.com/.test(location.host)&&(e.hasAttribute("aria-describedBy")||["textfield","textbox"].includes(e.getAttribute("role")||""))&&e.hasAttribute("contenteditable")||!!e.querySelector("div[data-contents=true]")&&e.classList.contains("notranslate")}function zs(e){return e.classList.contains("mce-content-body")||e.classList.contains("mceContentBody")}function Bs(e){return e.hasAttribute("data-slate-editor")}function Us(e){return!!e.closest("[data-app-name='io.ox/office/text']")}function $s(e){return e.classList.contains("editor-rich-text__editable")||e.classList.contains("block-editor-writing-flow")||e.classList.contains("block-editor-rich-text__editable")}function Fs(e){return"trix-editor"===e.nodeName.toLowerCase()}function Gs(e){return e.classList.contains("kix-canvas-tile-content")}function Ws(e){return self!==self.parent&&e.ownerDocument&&e===e.ownerDocument.body&&e.ownerDocument.documentElement.isContentEditable&&e.classList.contains("cke_show_borders")}function js(e,t){for(const s of fe){if(s.ruleId!==e.rule.id)continue;const a=s.suggestions.find((e=>e.match.test(t)));if(a)return{suggestion:a,ruleId:e.rule.id}}}function Vs(e,t){return e.some((e=>e.rule.id===t.rule.id&&e.start!==t.start))}function qs(e){return e.displayedErrors.concat(e.displayedPremiumErrors).some((e=>!1===e.isPunctuationError&&!1===e.isSpellingError&&!1===e.isStyleError&&!1===e.isCustomError))}function Ks(e){return e.displayedErrors.concat(e.displayedPremiumErrors).some((e=>e.isSpellingError))}function Zs(e){let t=Qe(e);return["<lt-strong>","</lt-strong>","<lt-em>","</lt-em>"].forEach((e=>{t=t.split(Qe(e)).join(e)})),t}function Xs(e,t){return t.length<5?`<lt-strong>${t}</lt-strong>`:Qs(e,t)||`<lt-strong>${t}</lt-strong>`}const Ys=/^[a-zäöüß][^-]{1,2}-[a-zäöüß0-9]+$/i;function Qs(e,t){if(Ys.test(e)&&Ys.test(t)){const s=e.split("-"),a=t.split("-");if(s[0]!==a[0]&&s[1]===a[1])return`<lt-strong>${a[0]}</lt-strong>-${a[1]}`}if(t.length>2&&t.startsWith(e))return`${e}<lt-strong>${t.substring(e.length)}</lt-strong>`;if(t.length>2&&t.endsWith(e))return`<lt-strong>${t.substring(0,t.lastIndexOf(e))}</lt-strong>${e}`;if(We(e)===t)return`<lt-strong>${t.charAt(0)}</lt-strong>${t.substring(1)}`;if(e+","===t)return e+"<lt-strong>,</lt-strong>";if(", "+e===t)return"<lt-strong>, </lt-strong>"+e;if(t.length>2&&e.length>2)for(let s=0;s<t.length;s++)if(t[s]!==e[s]){if(t.substring(s+1)&&t.substring(s+1)===e.substring(s+1))return`${t.substring(0,s)}<lt-strong>${t[s]}</lt-strong>${t.substring(s+1)}`;if(t[s+1]&&t[s+1]!==e[s+1]&&t.substring(s+2)&&t.substring(s+2)===e.substring(s+2)&&t.length>3)return`${t.substring(0,s)}<lt-strong>${t[s]}${t[s+1]}</lt-strong>${t.substring(s+2)}`;if(t.substring(s+1)&&t.substring(s+1)===e.substring(s))return["-","'","’"].includes(t[s])?`${t.substring(0,s-1)}<lt-strong>${t.substring(s-1,s+2)}</lt-strong>${t.substring(s+2)}`:`${t.substring(0,s)}<lt-strong>${t[s]}</lt-strong>${t.substring(s+1)}`;if(t.substring(s+2)&&t.substring(s+1)===e.substring(s+2)&&t.substring(s)!==e.substring(s+1))return`${t.substring(0,s)}<lt-strong>${t[s]}</lt-strong>${t.substring(s+1)}`;break}if(e.length>=2&&t.length>2&&t.startsWith(e.substring(0,2))){let s=2;for(;s<=t.length&&t[s]===e[s];s++);if(s<t.length)return t.substring(s)===e.substring(s+1)&&t.substring(s).length>2?`${t.substring(0,s-1)}<lt-strong>${t.substring(s-1,s+1)}</lt-strong>${t.substring(s+1)}`:["-","'","’","₂","²","₃","³"].includes(t.substring(s))?`${t.substring(0,s-1)}<lt-strong>${t.substring(s-1)}</lt-strong>`:`${t.substring(0,s)}<lt-strong>${t.substring(s)}</lt-strong>`}return null}const Js=/[ \u00A0]+/;function ea(e,t){const s=e.split(Js),a=t.split(Js);if(s.join(" ")===a.join(" "))return`<lt-em>${t}</lt-em>`;if(!a[0]||!a[a.length-1])return`<lt-em>${t}</lt-em>`;if(1===s.length&&2===a.length&&a[0]===s[0])return`${a[0]} <lt-strong>${a[1]}</lt-strong>`;if(s.length>0&&a.length===s.length+1&&a.slice(1).join(" ")===s.join(" "))return`<lt-strong>${a[0]}</lt-strong> ${a.slice(1).join(" ")}`;if(1===s.length&&2===a.length&&We(a[1])===s[0])return`<lt-strong>${a[0]}</lt-strong> <lt-strong>${a[1].substring(0,1)}</lt-strong>${a[1].substring(1)}`;if(a.length>2&&s.length+1===a.length&&s[0]===a[0]&&s[1]!==a[1]&&s.slice(1).join(" ")===a.slice(2).join(" "))return`${a[0]} ${Xs(s[1],a[1])} ${a.slice(2).join(" ")}`;if(3===a.length&&2===s.length&&s[0]!==a[0]&&s[1]!==a[1]&&s[1]===a[2])return`<lt-strong>${a[0]} ${a[1]}</lt-strong> ${a[2]}`;if(a.length>2&&s.length+1===a.length&&s[0]!==a[0]&&s.join(" ")===a.slice(1).join(" "))return`${Xs(s[0],a[0])} ${a.slice(1).join(" ")}`;if(2===s.length&&a.length>2&&s[0]===a[0]&&s[1]===a[1])return`${a[0]} ${a[1]} <lt-strong>${a.slice(2).join(" ")}</lt-strong>`;if(s.length>=2&&a.length>=2&&s[0]===a[0]&&s[1]!==a[1]&&s.slice(2).join(" ")===a.slice(2).join(" "))return`${a[0]} ${Xs(s[1],a[1])} ${a.slice(2).join(" ")}`.trim();if(2===s.length&&a.length>2&&s[0]===a[0]&&s[1]!==a[1])return`${a[0]} <lt-strong>${a.slice(1).join(" ")}</lt-strong>`;if(s.length===a.length&&a.length>1){let e=0;const t=a.map(((t,a)=>{if(t===s[a])return t;let n=Qs(s[a],t);return n||(e++,n=`<lt-strong>${t}</lt-strong>`),n})).join(" ");return e===a.length?`<lt-em>${a.join(" ")}</lt-em>`:t}return 1===s.length&&1===a.length?Qs(s[0],a[0])||`<lt-em>${a[0]}</lt-em>`:`<lt-em>${t}</lt-em>`}function ta(e,t,s){return Math.min(Math.max(t,e),s)}
70
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
71
+ class sa{static init(){this._isInitialized||(this._storageController=Lt.create(),this._startSync(),this._isInitialized=!0)}static _startSync(){this._storageController.onReady((()=>{if(!this._isSyncCapable())return;const{isDictionarySynced:e}=this._storageController.getSettings();e?this.downloadAll():this.checkForInitialSync()}))}static _isSyncCapable(){if(!this._storageController.isReady())return!1;if("extension"!==n.getType())return!1;if(this._storageController.hasCustomServer())return!1;const{username:e,password:t,token:s}=this._storageController.getSettings();return e&&(t||s)}static disableSync(){return this._storageController.updateSettings({isDictionarySynced:!1})}static checkForInitialSync(){this._storageController.onReady((()=>{const{isDictionarySynced:e,dictionary:t}=this._storageController.getSettings();if(e)return;if(!this._isSyncCapable())return;Pt.trackEvent("Action","dict_sync:started");const s=t.slice(0),a=t.length;this.addBatch(s).then((()=>this.downloadList())).then((e=>{const t=e.filter((e=>s.includes(e))).length,n=t/a;n<.9&&a-t>=10?Pt.trackEvent("Action","dict_sync:failed_comparison",String(n)):this._storageController.updateSettings({isDictionarySynced:!0,dictionary:e}).then((()=>{Pt.trackEvent("Action","dict_sync:succeeded")})).catch((()=>{Pt.trackEvent("Action","dict_sync:failed_storage")}))})).catch((()=>{Pt.trackEvent("Action","dict_sync:failed_sync")}))}))}static addBatch(e){if(this._syncing)return Promise.reject();if(!this._isSyncCapable())return Promise.reject();if(e.length>this.MAX_WORDS)return Pt.trackEvent("Action","too_many_words_for_dictionary_batch_add",String(e.length)),Promise.reject();this._syncing=!0;const t=this._chunkBatches(e);let s=0;return new Promise(((e,a)=>{const n=()=>{const r=t.shift();if(!r?.length&&!t.length)return this._syncing=!1,void e();const o=this._filterValidWords(r);o.length?this.addWord(o).then((()=>Mt(1400))).then(n).catch((e=>++s>4?(this._syncing=!1,void a(e)):n())):n()};n()}))}static _filterValidWords(e){return(Array.isArray(e)?e:[e]).filter((e=>Boolean(e?.trim()&&!e.trim().match(/\s/)&&!e.match(this.EMOJI_REGEXP))))}static _chunkBatches(e){const t=[],s=e.slice(0,this.MAX_WORDS);let a;for(;(a=s.splice(0,this.BATCH_SIZE))&&a.length>0;)t.push(a);return t}static removeBatch(e){return this._deleting?Promise.reject():this._isSyncCapable()?(Pt.trackEvent("Action","dict_batch_delete:started",String(e.length)),e=e.slice(0,this.MAX_WORDS),this._deleting=!0,new Promise(((t,s)=>{const a=()=>{if(void 0===e.shift()&&!e.length)return this._deleting=!1,Pt.trackEvent("Action","dict_batch_delete:succeeded"),void t();const n=this._filterValidWords(e);n.length?this.removeWord(n).then((()=>Mt(1500))).then(a).catch((e=>{this._deleting=!1,Pt.trackEvent("Action","dict_batch_delete:failed",e&&e.message),s(e)})):a()};a()}))):Promise.reject()}static downloadAll(){this._deleting||this._storageController.onReady((()=>{if(!this._isSyncCapable())return;const{isDictionarySynced:e}=this._storageController.getSettings();e&&this.downloadList().then((e=>{this._storageController.updateSettings({dictionary:e})})).catch((()=>null))}))}static _getBaseUrl(){const e=new URL("/enterprise/v1/dictionary/words",L);return e.searchParams.append("type","personal"),e}static _getHeaders(){const{username:e,token:t}=this._storageController.getSettings(),s=new Headers;if(!e||!t)return[s,new Error("User must be authenticated for interacting with the dictionary")];{const a=btoa(`${e}:${t}`);s.append("Authorization",`Basic ${a}`),s.append("Content-Type","application/json")}return[s,null]}static addWord(e,t=!1){const s=this._getBaseUrl(),[a,n]=this._getHeaders(),r=(Array.isArray(e)?e:[e]).map((e=>e.trim()));return n?Promise.reject(n):fetch(s.toString(),{method:"POST",body:JSON.stringify({words:r}),headers:a}).then((e=>e.ok?Promise.resolve():Promise.reject(new Error(`Status: ${e.status}`)))).catch((s=>t?(Pt.trackEvent("Action","dict_sync_add:failed",r.slice(0,3).concat(["…"]).join(",")),Promise.reject(s)):Mt(5e3).then((()=>this.addWord(e,!0)))))}static removeWord(e,t=!1){const s=this._getBaseUrl(),[a,n]=this._getHeaders(),r=(Array.isArray(e)?e:[e]).map((e=>e.trim()));return n?Promise.reject(n):fetch(s.toString(),{method:"DELETE",body:JSON.stringify({words:r}),headers:a}).then((e=>e.ok?Promise.resolve():Promise.reject(new Error(`Status: ${e.status}`)))).catch((s=>t?(Pt.trackEvent("Action","dict_sync_remove:failed",r.slice(0,3).concat(["…"]).join(",")),Promise.reject(s)):Mt(5e3).then((()=>this.removeWord(e,!0)))))}static downloadList(){let e=this._getBaseUrl();const[t,s]=this._getHeaders();return s?Promise.reject(s):(e.searchParams.append("limit",String(2e3)),fetch(e.toString(),{method:"GET",headers:t}).then((e=>e.ok?e.json():Promise.reject(new Error(`[${e.status}] Download request failed`)))).then((e=>Array.isArray(e?.words)?Promise.resolve(e.words.filter((e=>"string"==typeof e))):Promise.reject(new Error("Empty response while loading dictionary")))).catch((e=>(Pt.trackEvent("Action","dict_download:failed",e&&e.message),Promise.reject(e)))))}}sa.MAX_WORDS=5e3,sa.BATCH_SIZE=250,sa._isInitialized=!1,sa._syncing=!1,sa._deleting=!1,sa.EMOJI_REGEXP=/\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]/;const aa={accept:"application/json","content-type":"application/json"};let na="claudia";function ra(e){return"object"==typeof e&&null!==e&&"string"==typeof e.text&&("number"==typeof(t=e.score)||"object"==typeof t&&null!==t&&!1===Object.values(t).some((e=>"number"!=typeof e)))&&"string"==typeof e.label&&"string"==typeof e.origin&&"string"==typeof e.uuid;var t}async function oa(){const t=function(){const t=(typeof e).indexOf("o")>-1;return na=t?he:na,("__"+na+"::"+~~(+new Date/1e3)).substring(2,64)}();return await async function(e){const t=(new TextEncoder).encode(e),s=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(s)).map((e=>e.toString(16).padStart(2,"0"))).join("")}(t)}class ia{static async load(e,t,s,a,n){const r=this._rewriteCache.get(t.trim()),o=this._history.get(t)??null;if(r)return Promise.resolve({rephrases:r,previousSentence:o});const i=(await this._request("rewrite","/rewriting/rewrite",e,t,s,a,n)).filter((e=>ra(e))).map((({text:e,score:t,label:s,origin:a,uuid:n})=>({text:e,score:t,label:s,origin:a,uuid:n}))).filter((({text:e},t,s)=>s.findIndex((({text:t})=>e===t))===t));return i.length>0&&this._rewriteCache.set(t.trim(),i),{rephrases:i,previousSentence:o}}static async report(e,t){this.abort("report"),"string"==typeof t.chosenSentence&&this._history.set(t.chosenSentence,t.originalSentence);const s=new AbortController,a=JSON.stringify({...t,uuid:e}),n=this._abortControllers.get("report")||[];n.push(s),this._abortControllers.set("report",n);try{return await fetch(`${R}/rewriting/report`,{method:"post",signal:s.signal,mode:"cors",headers:aa,body:JSON.stringify({data:a})}),!0}catch{return!1}}static abort(e){const t=void 0===e?["report","rewrite"]:[e];for(const e of t){const t=this._abortControllers.get(e)||[];this._abortCurrentRequests(t),this._abortControllers.set(e,[])}}static async _request(e,t,s,a,n,r,o){this.abort(e);const i=JSON.stringify({text:a,offset:0,length:0,count:"rewrite"===e?5:1,userID:s,language:n.slice(0,2),inhouseOnly:r,email:o?.email,token:o?.token,p:o?.isPremium}),l=new AbortController,c=this._abortControllers.get(e)||[];aa["X-LT-checksum"]=await oa(),o?.isPremium&&(aa["X-LT-p"]="1"),c.push(l),this._abortControllers.set(e,c);const g=await fetch(C+t,{method:"post",signal:l.signal,mode:"cors",headers:aa,body:i});if(!1===g.ok){const e=(()=>{switch(g.status){case 413:return"PayloadTooLarge";case 524:return"ServerTimeout";default:return`ServerFailure (${g.status})`}})();throw new Error(e)}const u=await g.json(),{rewrites:d=[]}=u||{};return d}static async requestSplitSentence(e,t,s,a,n){const r=this._splitSentenceCache.get(t.trim());if(r)return Promise.resolve(r);const[o]=await this._request("sentence-splitting","/rewriting/rewrite/sentence_splitting",e,t,s,a,n);return ra(o)?(this._splitSentenceCache.set(t.trim(),o),o):null}static _abortCurrentRequests(e){for(const t of e)t.abort()}}ia._rewriteCache=new Map,ia._splitSentenceCache=new Map,ia._sentenceFixCache=new Map,ia._history=new Map,ia._abortControllers=new Map([["rewrite",[]],["report",[]],["sentence-splitting",[]]]);
72
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
73
+ class la{static load(e,t,s){return-1===ce.indexOf(t)?Promise.reject(new Error("Sorry, synonyms are not supported in this language.")):this._request(e,t,s)}static async abort(){this._abortCurrentRequest()}static _request(e,t,s){const a=e.word,n=this._prepareWord(e.word),r=this._getFromCache(n,e.beforeText,e.afterText,t,s);if(r)return Promise.resolve(r);this._abortCurrentRequest(),clearTimeout(this._timeout),this._currentRequest=new AbortController;const o={method:"get",mode:"cors",signal:this._currentRequest.signal};this._timeout=self.setTimeout((()=>this._abortCurrentRequest),this.HTTP_TIMEOUT);const i=new URL(`https://synonyms.languagetool.org/synonyms/${t}/${n}`);return i.searchParams.set("before",e.beforeText),i.searchParams.set("after",e.afterText),s&&i.searchParams.set("motherTongue",s),fetch(i.toString(),o).then((e=>e.json())).then((r=>{if(!r||!r.synsets)throw new Error("Error loading synonyms.");const o=this._buildSynonymSets(n,a,r),i={dataSource:r.dataSource,synonymSets:o,genders:r.genders};return this._setInCache(n,e.beforeText,e.afterText,t,s,i),i})).finally((()=>{this._currentRequest=null,clearTimeout(this._timeout)}))}static _prepareWord(e){return e=e.trim(),je(e)?e.charAt(0)+e.substr(1).toLowerCase():e}static _containsSynonymObj(e,t){return e.some((e=>e.word===t.word))}static _buildSynonymSets(e,t,s){const a=[],n=je(t)&&t.length>3;return s.synsets.forEach((s=>{if(!s.terms.length)return;let r="",o="";s.terms[0].term.match(this.IS_ONLY_HINT_REGEXP)?(r=`${t} ${s.terms[0].term}`,o=s.terms[0].term.replace(/[\(\)]/g,""),s.terms.shift()):r=s.terms[0].term;const i=[];if(s.terms.forEach((t=>{let s=Array.from(t.term.match(this.HINT_REGEXP)||[]);if(s=s.map((e=>e.replace(this.TERM_REGEXP,"").trim())),s=s.filter((e=>!e.match(/similar/))),s.indexOf("(antonym)")>-1)return;let a=t.term.replace(this.HINT_REGEXP,"").trim();a.match(/[\!\?\,\:\;]/)||a.toLowerCase()!==e.toLowerCase()&&(n&&(a=a.toUpperCase()),a.trim()&&i.push({word:a,hints:s}))})),!i.length)return;const l=a.find((e=>e.type===o&&e.title===r&&e.synonyms.find((e=>this._containsSynonymObj(i,e)))));if(l)i.forEach((e=>{this._containsSynonymObj(l.synonyms,e)||l.synonyms.push(e)}));else{if(o){if(a.filter((e=>e.type===o)).length>=3)return}a.push({title:r,type:o,synonyms:i})}})),a}static _abortCurrentRequest(){this._currentRequest&&(this._currentRequest.abort(),this._currentRequest=null)}static _getFromCache(e,t,s,a,n){const r=this._cache.find((r=>r.word===e&&r.beforeText===t&&r.afterText===s&&r.language===a&&r.motherTongue===n));if(r)return r.result}static _setInCache(e,t,s,a,n,r){this._cache.unshift({word:e,beforeText:t,afterText:s,language:a,motherTongue:n,result:r}),this._cache.length=Math.min(this._cache.length,100)}}la.HTTP_TIMEOUT=5e3,la._currentRequest=null,la._cache=[],la.IS_ONLY_HINT_REGEXP=/^\s*\([^\)]+\)\s*$/,la.TERM_REGEXP=/\sterm/,la.HINT_REGEXP=/(\s|^)\((.+?)\)/g,la.emptySynonymResult={synonymSets:[],dataSource:{licenseUrl:"",sourceName:"",sourceUrl:""},genders:null};
74
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
75
+ class ca{static getServerBaseUrl(e,t=!1,s=!0){const a=s&&(t?this._useFallbackServerForParagraphLevelRequests:this._useFallbackServerForTextLevelRequests)&&!e.apiServerUrl;return e.apiServerUrl&&!this._isLanguageToolServer(e.apiServerUrl)?e.apiServerUrl:e.isPremium||e.user||e.apiServerUrl===L?a?w:L:a?x:k}static _getServerFullUrl(e,t=!1,s=!1){const a=this.getServerBaseUrl(e,t),n=a.endsWith("/")?"":"/",r=new URL(a+n+"check");return r.searchParams.set("c","1"),t&&!1===e.useParagraphLevelCaching||r.searchParams.set("instanceId",e.instanceId),s&&r.searchParams.set("languageChanged","true"),e.version&&r.searchParams.set("v",e.version),r.toString()}static _abortCheckRequest(e){this._textLevelAbortControllers.has(e)&&(this._textLevelAbortControllers.get(e).abort(),this._textLevelAbortControllers.delete(e))}static _abortParagraphLevelCheckRequest(e){this._paragraphLevelAbortControllers.has(e)&&(this._paragraphLevelAbortControllers.get(e).abort(),this._paragraphLevelAbortControllers.delete(e))}static _abortLanguageDetectionRequest(e){this._languageDetectionAbortControllers.has(e)&&(this._languageDetectionAbortControllers.get(e).abort(),this._languageDetectionAbortControllers.delete(e))}static _prepareText(e){return e.replace(this.ZWNJ_REGEXP,this.ZWS)}static _joinInChunks(e,t=j){const s=[];let a=0,n=[];return e.forEach((e=>{a>t&&(a=0,n=[]),n.push(e),a+=e.text.length,s.includes(n)||s.push(n)})),s}static _getRequestData(e,t,s){const a=new URLSearchParams,n={text:e};s.recipientInfo&&(s.recipientInfo.address||s.recipientInfo.fullName)&&(n.metaData={EmailToAddress:s.recipientInfo.address,FullName:s.recipientInfo.fullName}),a.append("data",JSON.stringify(n));const r=Boolean(s.isPremium||!s.apiServerUrl||s.apiServerUrl&&s.apiServerUrl.startsWith(L)||s.apiServerUrl&&!this._isLanguageToolServer(s.apiServerUrl));if(r&&s.user&&"password"in s.user?(a.append("username",s.user.email),a.append("password",s.user.password)):r&&s.user&&"token"in s.user&&(a.append("username",s.user.email),a.append("tokenV2",s.user.token)),a.append("textSessionId",s.instanceId),s.isPremium||a.append("enableHiddenRules","true"),s.motherTongue&&Ee.includes(s.motherTongue)&&a.append("motherTongue",s.motherTongue),"normal"!==s.checkLevel&&a.append("level",s.checkLevel.replace("hidden-","")),t)a.append("language",t.code);else{a.append("language","auto"),a.append("noopLanguages",s.preferredLanguages.join(","));const e=this._getPreferredVariants(s.languageVariants.en,s.languageVariants.de,s.languageVariants.pt,s.languageVariants.ca);e.length>0&&a.append("preferredVariants",e.toString())}if(s.testGroups){const e=[];for(const[t,a]of Object.entries(s.testGroups))a&&e.push(t);e.length&&a.append("abtest",e.join(","))}if(a.append("preferredLanguages",s.preferredLanguages.join(",")),s.forcePreferredLanguages&&a.append("forcePreferredLanguages","true"),s.writingGoalId){const e=this.HIGH_LEVEL_GOALS.find((e=>e.id===s.writingGoalId));e&&a.append("toneTags",e.tags.join(","))}const o=["WHITESPACE_RULE"].concat(s.disabledRules.filter((e=>pe.includes(e))));return a.append("disabledRules",o.join(",")),s.userAgent&&a.append("useragent",s.userAgent),a}static _getPreferredVariants(e,t,s,a){const n=[];return e&&n.push(e),t&&n.push(t),s&&n.push(s),a&&n.push(a),n}static _getTextLevelRequestData(e,t,s){const a=this._getRequestData(e,t,s);return a.append("mode","textLevelOnly"),a}static _getParagraphLevelCheckRequestData(e,t,s,a){const n=this._getRequestData(e,t,s);return n.append("mode","allButTextLevelOnly"),n.append("allowIncompleteResults",String(a)),n}static async _sendRequest(e,t,s=_){const a=fetch(e,t).catch((t=>{throw"AbortError"===t.name?{reason:"AbortError",status:0,response:t.message||""}:{reason:"ConnectionError",status:0,url:e.replace(/\?.*/,""),response:t.message||""}})).then(this._checkForException).then((e=>e.json())),n=new Promise(((t,a)=>{setTimeout((()=>{a({reason:"TimeoutError",status:0,url:e.replace(/\?.*/,""),response:""})}),s)}));return Promise.race([a,n])}static _isConnectionOrServerIssue(e){return O.includes(e.status)||["ConnectionError","TimeoutError"].includes(e.reason)}static _getGraphemesCount(e,t,s=0){for(let a=s;a<e.length;a++){if(t<=0)return a-s;t-=e[a].length}return e.length-s}static _getCodepointsCount(e,t,s=0){let a=0;for(let n=s;n<Math.min(e.length,s+t);n++)a+=e[n].length;return a}static _correctMatches(e,t,s){if(t!==s){const a=lt(t),n=lt(s);for(const t of e){const e=ca._getGraphemesCount(a,t.offset),s=ca._getGraphemesCount(a,t.length,e);t.offset=ca._getCodepointsCount(n,e),t.length=ca._getCodepointsCount(n,s,e)}}return e}static _getLeftText(e,t,s,a=15){let n=Math.max(t-a,0);if(s){const s=e.lastIndexOf("\n",t);s>=n&&(n=s+1)}let r=e.substring(n,t).replace(this.NON_ALPHANUMERIC_AT_BEGINNING_REGEXP,"");return 0===n||s&&"\n"===e[n-1]||(r="..."+r),r}static _getRightText(e,t,s,a=15){let n=Math.min(t+a,e.length);if(s){const s=e.indexOf("\n",t);-1!==s&&s<=n&&(n=s)}let r=e.substring(t,n).replace(this.NON_ALPHANUMERIC_AT_END_REGEXP,"");return n===e.length||s&&"\n"===e[n]||(r+="..."),r}static _transformMatches(e,t,s,a=!1){return e.map((e=>{const n=e.rule.id.startsWith("DB_"),r=this.SPELLING_RULES_ID.some((t=>e.rule.id.includes(t))),o=this.STYLE_ISSUE_TYPES.some((t=>e.rule.issueType===t)),i="typographical"===e.rule.issueType&&"CASING"!==e.rule.category.id||"PUNCTUATION"===e.rule.category.id||"TYPOGRAPHY"===e.rule.category.id||e.rule.category.id.includes("KOMMA"),l=Boolean(e.rule.tags&&e.rule.tags.includes("picky")),c=t.substr(e.offset,e.length),g=`${ca._getLeftText(t,e.offset,a)}|${c}|${ca._getRightText(t,e.offset+e.length,a)}`,u=ca._getLeftText(t,e.offset,!0,60),d=ca._getRightText(t,e.offset+e.length,!0,60),m=`${Qe(u)}<lt-em>${Qe(c)}</lt-em>${Qe(d)}`;let p="";e.shortMessage&&e.shortMessage.length<60&&e.shortMessage!==e.message&&(p=e.shortMessage.replace(this.PUNCTUATION_AT_END,""));const h=e.replacements.map((e=>({value:e.value,prefix:e.prefix,suffix:e.suffix,type:e.type,shortDescription:e.shortDescription})));return{isParagraphLevelCheck:a,rule:e.rule,isCustomError:n,isSpellingError:r,isStyleError:o,isPunctuationError:i,isPicky:l,contextForSureMatch:e.contextForSureMatch,language:{code:s.code,name:s.name},description:e.message,shortDescription:p,start:e.offset,end:e.offset+e.length,length:e.length,originalPhrase:c,contextPhrase:g,longContextPhrase:m,fixes:h}}))}static _adjustErrors(e,t,s){const a=s.recipientInfo?s.recipientInfo.fullName.split(" ").filter((e=>e)):[];return e.filter((e=>{if(s.ignoreCapitalizationErrors){if(e.fixes.some((t=>t.value.toLowerCase()===e.originalPhrase.toLowerCase())))return!1;if("UPPERCASE_SENTENCE_START"===e.rule.id)return!1}e.fixes=e.fixes.filter((t=>t.value!=="("+e.originalPhrase+")"&&t.value!==e.originalPhrase&&"(suggestion limit reached)"!==t.value&&"(se ha alcanzado el límite de sugerencias)"!==t.value&&"(Vorschlagslimit erreicht)"!==t.value)),e.language.code.startsWith("en")&&je(e.originalPhrase)&&!/[a-z]/i.test(e.contextPhrase)&&e.fixes.forEach((t=>{t.value.toLowerCase()!==e.originalPhrase.toLowerCase()&&(t.value=t.value.toUpperCase())})),"PT_CLICHE_REPLACE"!==e.rule.id&&"PT_WORDINESS_REPLACE"!==e.rule.id||e.fixes.forEach((t=>{(t.value.startsWith("REFORMULAR")||t.value.startsWith("APAGAR")||t.value.startsWith("ESPECIFICAR"))&&(e.description=e.description.replace(/\sÉ preferível dizer.+(REFORMULAR|APAGAR|ESPECIFICAR).+$/,""),t.value="")}));if(this.EMAIL_SIGNATURE_SEPARATOR_REGEXP.test(e.originalPhrase))return!1;if(this.ZWS_REGEXP.test(e.originalPhrase))return!1;if(e.rule.id.endsWith("WORD_REPEAT_BEGINNING_RULE")&&this.ONLY_NUMBERS_REGEXP.test(e.originalPhrase))return!1;if("LEERZEICHEN_HINTER_DOPPELPUNKT"===e.rule.id&&this.COLON_WHITESPACE_REGEXP.test(e.originalPhrase))return!1;const n=t.substring(e.start-25,e.start),r=t.substr(e.end,25);if(s.ignoreCapitalizationErrorsAtLineStart&&"UPPERCASE_SENTENCE_START"===e.rule.id&&this.PREVENT_MID_SENTENCE_CAPITALIZATION.test(n))return!1;if(s.ignoreCapitalizationErrorsAtLineStart&&"PUNCTUATION_PARAGRAPH_END"===e.rule.id&&this.PREVENT_MID_SENTENCE_PUNCTUATION.test(r))return!1;if("DE_CASE"===e.rule.id&&this.BULLET_POINT_REGEXP.test(n))return!1;if("DE_CASE"===e.rule.id&&this.NUMBER_WITH_PARENTHESIS_AT_END_REGEXP.test(n))return!1;if("DE_CASE"===e.rule.id&&this.PIPE_AT_END_REGEXP.test(n))return!1;if("DE_CASE"===e.rule.id&&this.MARKDOWN_HEADLINE_REGEXP.test(n))return!1;if("DE_CASE"===e.rule.id&&this.EMOJI_SENTENCE_START_REGEXP.test(n))return!1;if("LEERZEICHEN_HINTER_DOPPELPUNKT"===e.rule.id&&this.MARKDOWN_INLINE_FORMAT_AT_BEGINNING_REGEXP.test(r))return!1;if("LEERZEICHEN_HINTER_DOPPELPUNKT"===e.rule.id&&this.WIKI_MARKUP_AT_END_REGEXP.test(n))return!1;if(e.rule.id.endsWith("UNPAIRED_BRACKETS")&&("!"===e.originalPhrase||"?"===e.originalPhrase)&&(n.endsWith("!")||n.endsWith("?")))return!1;if(e.rule.id.endsWith("UNPAIRED_BRACKETS")&&this.ONE_LETTER_AT_END_REGEXP.test(n))return!1;if(e.rule.id.endsWith("UNPAIRED_BRACKETS")&&this.NUMBER_WITH_DOT_AT_END_REGEXP.test(n))return!1;if("SENTENCE_WHITESPACE"===e.rule.id&&n.endsWith("{!"))return!1;if("SENTENCE_WHITESPACE"===e.rule.id&&this.SINGLE_UPPERCASE_LETTER_REGEXP.test(e.originalPhrase)&&this.ABBREVIATION_AT_END_REGEXP.test(n))return!1;if("SENTENCE_WHITESPACE"===e.rule.id&&"net"===e.originalPhrase.toLowerCase())return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&this.NET_AT_BEGINNING_REGEXP.test(r))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&e.originalPhrase.endsWith(")")&&n.endsWith(this.ZWS))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&e.originalPhrase.endsWith(".")&&this.FILE_TYPE_AT_BEGINNING_REGEXP.test(r))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&n.endsWith("(")&&(",)"===e.originalPhrase||".)"===e.originalPhrase))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&n.endsWith("\n")&&[")","}","]","."].includes(e.originalPhrase))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&r.startsWith("/"))return!1;if("COMMA_PARENTHESIS_WHITESPACE"===e.rule.id&&e.originalPhrase.includes(this.ZWS))return!1;if("WORT1_BINDESTRICH_SPACE_WORT2"===e.rule.id&&e.originalPhrase.endsWith(this.ZWS))return!1;if("MULTIPLICATION_SIGN"===e.rule.id&&(this.AT_LEAST_TWO_LETTERS_AT_END_REGEXP.test(n)||!r||this.PUNCTUATION_AT_BEGINNING_REGEXP.test(r)))return!1;if("ZBEDNA_SPACJA_PRZED"===e.rule.id&&e.originalPhrase.includes(this.ZWS))return!1;if("UNLIKELY_OPENING_PUNCTUATION"===e.rule.id&&this.PUNCTUATION_SPACE_AT_END_REGEXP.test(n))return!1;if("WORD_CONTAINS_UNDERSCORE"===e.rule.id&&(!this.LOWERCASE_REGEXP.test(e.originalPhrase)||e.originalPhrase.includes("-")||e.originalPhrase.includes("__")||this.SLASH_AT_END_REGEXP.test(n)||this.SLASH_AT_BEGINNING_REGEXP.test(r)))return!1;if("WORD_CONTAINS_UNDERSCORE"===e.rule.id&&n.endsWith("[")&&r.startsWith("]"))return!1;if("WORD_CONTAINS_UNDERSCORE"===e.rule.id&&this.QUOTE_AT_END_REGEXP.test(n)&&this.QUOTE_AT_BEGINNING_REGEXP.test(r))return!1;if("WORD_CONTAINS_UNDERSCORE"===e.rule.id&&(n.endsWith("=")||n.endsWith("&")||n.endsWith("?")))return!1;if(["APOS_INCORRECT","LOOSE_ACCENTS"].includes(e.rule.id)&&"`"===e.originalPhrase)return!1;if(["_2_AANH_B","FALSCHES_ANFUEHRUNGSZEICHEN_2"].includes(e.rule.id)&&"``"===e.originalPhrase)return!1;if("DASH_RULE"===e.rule.id&&r.startsWith(" [")&&(!n||n.endsWith("\n")))return!1;if(e.isSpellingError&&e.originalPhrase.length>6&&e.fixes.length>4&&e.language.code.startsWith("de")&&(e.fixes.length=4),e.isSpellingError||"WORD_CONTAINS_UNDERSCORE"===e.rule.id){const t=e.originalPhrase.charAt(0),o=e.originalPhrase.toLowerCase();if(Et(e,s.dictionary))return!1;if((r.startsWith("_")||n.endsWith("_"))&&!e.language.code.startsWith("de"))return!1;if(e.originalPhrase.startsWith("$")&&r.startsWith("}")&&n.endsWith("{"))return!1;if(e.originalPhrase.startsWith("$")&&e.originalPhrase.endsWith("$"))return!1;if(this.HTML_ENTITIES.includes(e.originalPhrase)&&n.endsWith("&")||this.HTML_ENTITIES_WITH_AND.includes(e.originalPhrase)||this.HTML_ENTITIES_WITH_AND.includes("&"+e.originalPhrase))return!1;if(this.COMMON_TLDS.some(((e,t)=>o.endsWith("."+e)||this.COMMON_TLD_WITH_DOT_REGEXPS[t].test(r))))return!1;if(this.DOT_WITH_PREFIX_REGEXP.test(n)&&this.COMMON_TLDS.includes(o))return!1;if(this.COMMON_FILE_TYPES.some(((e,t)=>o.endsWith("."+e)||this.COMMON_FILE_TYPE_WITH_DOT_REGEXPS[t].test(r))))return!1;if(this.DOT_WITH_PREFIX_REGEXP.test(n)&&this.COMMON_FILE_TYPES.includes(o))return!1;const i="@"===t||this.MENTION_SYMBOL_AT_BEGINNING_REGEXP.test(n),l="#"===t||this.HASH_SYMBOL_AT_BEGINNING_REGEXP.test(n);if(i||l)return!1;if(a.some((t=>t===e.originalPhrase)))return!1;if(this.WAVY_DASH_REGEXP.test(e.originalPhrase))return!1;for(const t of a)if(t.toLowerCase()===e.originalPhrase.toLowerCase()&&!e.fixes.some((e=>e.value===t))){e.fixes.unshift({value:t});break}}return!0}))}static _processResponse(e,t,s,a,n,r=!1){e.matches=this._correctMatches(e.matches,s,a);let o=this._transformMatches(e.matches,a,e.language,r);o=this._adjustErrors(o,a,n);let i=[],l=[],c=[];const g=!n.apiServerUrl||this._isLanguageToolServer(n.apiServerUrl);return t=this._correctMatches(t.filter((({start:e,end:t})=>t-e>-1)).map((({start:e,end:t})=>({offset:e,length:t-e}))),s,a).map((({offset:e,length:t})=>({start:e,end:e+t,length:t}))),!n.isPremium&&g&&e.language&&e.language.code.startsWith("nl")&&(o=o.filter((e=>!this.NL_PREMIUM_RULES.includes(e.rule.id)||(e.rule.id="HIDDEN_RULE",e.fixes=[],i.push(e),!1)))),!n.isPremium&&g&&e.language&&e.language.code.startsWith("pl")&&(o=o.filter((e=>!this.PL_PREMIUM_RULES.includes(e.rule.id)||(e.rule.id="HIDDEN_RULE",e.fixes=[],i.push(e),!1)))),n.isPremium&&o.forEach((e=>{this.NL_PREMIUM_RULES.includes(e.rule.id)&&(e.rule.isPremium=!0),this.PL_PREMIUM_RULES.includes(e.rule.id)&&(e.rule.isPremium=!0)})),n.debug&&o.forEach((e=>{e.description=(e.rule.isPremium?"prem:":"")+e.rule.id+"["+(e.rule.subId||"")+"] "+e.description})),e.hiddenMatches&&(i=i.concat(this._transformMatches(e.hiddenMatches,a,e.language,r))),"hidden-picky"===n.checkLevel&&(o=o.filter((e=>!e.isPicky||(c.push(e),!1))),e.hiddenMatches&&(i=i.filter((e=>!e.isPicky||(l.push(e),!1))))),{errors:o,premiumErrors:i,pickyErrors:c,premiumPickyErrors:l,sentenceRanges:t}}static _getNonAlphaNumericalOffsets(e,t){const s=new RegExp(`^(?:\\p{L}|\\p{N}${t?"|"+t.start:""})$`,"gu"),a=new RegExp(`^(?:\\p{L}|\\p{N}${t?"|"+t.end:""})$`,"gu"),n=e.split("").reverse().join(""),r=Math.floor(e.length/2);let o,i,l=!1,c=!1,g=0,u=0;for(let t=0;t<r;t++){const r=e.charAt(t),d=n.charAt(t);if(!0===o||null!==r.match(s)&&!r.match(/\s/)?o=!0:(l=null!==r.match(this.QUOTE_AT_BEGINNING_REGEXP),g+=1,o=!1),!0===i||null!==d.match(a)&&!d.match(/\s/)?i=!0:(c=null!==d.match(this.QUOTE_AT_END_REGEXP),u+=1,i=!1),o&&i)break}return l&&!c&&(g-=1),c&&!l&&(u-=1),[g,u]}static _trimSentenceRanges(e,t){const s=[];for(const a of e){const{start:e,end:n}=a,r=t.substring(e,n);if(!r.trim())continue;const[o,i]=this._getNonAlphaNumericalOffsets(r,{start:"[¿¡(@]",end:"[?!.)…:;‽]"}),l=e+o,c=l+r.length-o-i,g=c-l;s.push({start:l,end:c,length:g})}return s}static _correctErrorOffsets(e,t){const s=[];let a=0;for(const n of e){const e=n.text.length;for(const r of t)if(r.start>=a&&r.end<=a+e){const e=Object.assign({},r);e.start=e.start-a+n.offset,e.end=e.start+e.length,s.push(e)}a+=e+2}return s}static async checkTextLevel(e,t,s,a=!1){if(!(e=this._prepareText(e)).trim()||/^( *\n)* *$/g.test(e))return{language:t,errors:[],premiumErrors:[],pickyErrors:[],premiumPickyErrors:[]};this._abortCheckRequest(s.instanceId),this._textLevelAbortControllers.set(s.instanceId,new AbortController),this._useFallbackServerForTextLevelRequests&&Date.now()-this._mainServerUnavailabilityTimeStamp>=H&&(this._useFallbackServerForTextLevelRequests=!1);const n=e.normalize(),r=this._getServerFullUrl(s,!1,a),o={method:"post",mode:"cors",credentials:"omit",body:this._getTextLevelRequestData(n,t,s),signal:this._textLevelAbortControllers.get(s.instanceId).signal};return this._sendRequest(r,o).then((t=>{const{errors:a,premiumErrors:r,pickyErrors:o,premiumPickyErrors:i}=this._processResponse(t,[],n,e,s);return{language:{code:t.language.code,name:t.language.name,detectedLanguage:t.language.detectedLanguage},errors:a,premiumErrors:r,pickyErrors:o,premiumPickyErrors:i}})).catch((a=>{if(this._isConnectionOrServerIssue(a)){this._abortCheckRequest(s.instanceId);if(!s.apiServerUrl&&!this._useFallbackServerForTextLevelRequests)return this._useFallbackServerForTextLevelRequests=!0,this._mainServerUnavailabilityTimeStamp=Date.now(),this.checkTextLevel(e,t,s)}throw a}))}static async checkParagraphLevel(e,t,s,a=!1){e.forEach((e=>{e.text=this._prepareText(e.text)}));if(!e.some((e=>!!e.text.trim())))return{language:t,errors:[],premiumErrors:[],pickyErrors:[],premiumPickyErrors:[],isIncompleteResult:!1};this._abortParagraphLevelCheckRequest(s.instanceId),this._paragraphLevelAbortControllers.set(s.instanceId,new AbortController),this._useFallbackServerForParagraphLevelRequests&&Date.now()-this._mainServerUnavailabilityTimeStamp>=H&&(this._useFallbackServerForParagraphLevelRequests=!1);const n=this._getServerFullUrl(s,!0),r=this._joinInChunks(e),o=[];for(const e of r){const r=e.map((e=>e.text)).join("\n\n"),i=r.normalize(),l={method:"post",mode:"cors",credentials:"omit",body:this._getParagraphLevelCheckRequestData(i,t,s,a),signal:this._paragraphLevelAbortControllers.get(s.instanceId).signal},c=this._sendRequest(n,l).then((t=>{const{language:a,warnings:n,sentenceRanges:o}=t,l=(o||[]).map((([e,t])=>({start:e,end:t,length:t-e})));let c=t.ignoreRanges||[];s.debug&&c.length&&(t.matches=this._filterErrorsInIgnoredRanges(t.matches,c),t.hiddenMatches&&(t.hiddenMatches=this._filterErrorsInIgnoredRanges(t.hiddenMatches,c)),this._addIgnoredRangeMatches(i,t.matches,c));const{errors:g,premiumErrors:u,pickyErrors:d,premiumPickyErrors:m,...p}=this._processResponse(t,this._trimSentenceRanges(l,i),i,r,s,!0);let h=p.sentenceRanges;const f=this._correctErrorOffsets(e,g),_=this._correctErrorOffsets(e,u),E=this._correctErrorOffsets(e,d),v=this._correctErrorOffsets(e,m);return h=this._correctErrorOffsets(e,h),{language:{code:a.code,name:a.name},errors:f,premiumErrors:_,pickyErrors:E,premiumPickyErrors:v,isIncompleteResult:!!n&&n.incompleteResults,sentenceRanges:h}}));o.push(c)}return Promise.all(o).then((e=>({language:e[0].language,errors:Array.prototype.concat.apply([],e.map((e=>e.errors))),premiumErrors:Array.prototype.concat.apply([],e.map((e=>e.premiumErrors))),premiumPickyErrors:Array.prototype.concat.apply([],e.map((e=>e.premiumPickyErrors))),pickyErrors:Array.prototype.concat.apply([],e.map((e=>e.pickyErrors))),isIncompleteResult:e.some((e=>e.isIncompleteResult)),sentenceRanges:Array.prototype.concat.apply([],e.filter((e=>Boolean(e.sentenceRanges))).map((e=>e.sentenceRanges)))}))).catch((n=>{if(this._isConnectionOrServerIssue(n)){this._abortParagraphLevelCheckRequest(s.instanceId);if((!s.apiServerUrl||this._isLanguageToolServer(s.apiServerUrl))&&!this._useFallbackServerForParagraphLevelRequests)return this._useFallbackServerForParagraphLevelRequests=!0,this._mainServerUnavailabilityTimeStamp=Date.now(),this.checkParagraphLevel(e,t,s,a)}throw n}))}static _filterErrorsInIgnoredRanges(e,t){return e.filter((e=>{const s=e.offset,a=e.offset+e.length;return!t.some((e=>s>=e.from&&s<=e.to||a>=e.from&&a<=e.to))}))}static _addIgnoredRangeMatches(e,t,s){s.forEach((s=>{let a=s.to-s.from;const n=e.substring(s.from,s.to).match(/\s+$/);n&&(a-=n[0].length);const r={offset:s.from,length:a,rule:{id:"IGNORED_RANGE",category:{id:"IGNORED_RANGE",name:"Ignored Range"},issueType:"ignoredRange",description:"",isPremium:!1},contextForSureMatch:0,message:"This text is in a different language than the rest of the text.",shortMessage:"Different language: "+s.language.code,replacements:[]};t.push(r)}))}static async detectLanguage(e,t,s){if(e=this._prepareText(e),t||!e.trim()||/^( *\n)* *$/g.test(e))return{language:t,errors:[],premiumErrors:[],pickyErrors:[],premiumPickyErrors:[]};this._abortLanguageDetectionRequest(s.instanceId),this._languageDetectionAbortControllers.set(s.instanceId,new AbortController),this._useFallbackServerForLanguageDetection&&Date.now()-this._mainServerUnavailabilityTimeStamp>=H&&(this._useFallbackServerForLanguageDetection=!1);const a=e.substr(0,1e3).normalize(),n=this._getServerFullUrl(s,!1),r={method:"post",mode:"cors",credentials:"omit",body:this._getTextLevelRequestData(a,t,s),signal:this._languageDetectionAbortControllers.get(s.instanceId).signal};return this._sendRequest(n,r).then((e=>({language:{code:e.language.code,name:e.language.name},errors:[],premiumErrors:[],premiumPickyErrors:[],pickyErrors:[]}))).catch((a=>{if(this._isConnectionOrServerIssue(a)){this._abortLanguageDetectionRequest(s.instanceId);if((!s.apiServerUrl||this._isLanguageToolServer(s.apiServerUrl))&&!this._useFallbackServerForLanguageDetection)return this._useFallbackServerForLanguageDetection=!0,this._mainServerUnavailabilityTimeStamp=Date.now(),this.detectLanguage(e,t,s)}throw a}))}static _isLanguageToolServer(e){return!!e&&(e.includes("api.languagetool.org")||e.includes("languagetool.org/api")||e.includes("api.languagetoolplus.com"))}static checkForPaidSubscription(e,t,s,a=L){return new Promise(((n,r)=>{a+=a.endsWith("/")?"check":"/check";const o=new URLSearchParams;o.append("language","en-us"),o.append("data",JSON.stringify({text:"The languagetool testrule 8634756."})),e&&t?(o.append("username",e),o.append("password",t)):e&&s&&(o.append("username",e),o.append("tokenV2",s));const i={method:"post",mode:"cors",credentials:"omit",body:o};this._sendRequest(a,i).then((e=>{const t=e.matches.some((e=>"PREMIUM_FAKE_RULE"===e.rule.id));n(t)})).catch(r)}))}static addWordToDictionary(e,t){const s=this.getServerBaseUrl(t),a=s.endsWith("/")?"":"/",n=new URL(s+a+"words/add");if(t.user&&"token"in t.user)n.searchParams.set("username",t.user.email),n.searchParams.set("tokenV2",t.user.token);else{if(!t.user||!("password"in t.user))return Promise.reject(new Error("Not logged-in for adding words to dictionary"));n.searchParams.set("username",t.user.email),n.searchParams.set("password",t.user.password)}return n.searchParams.set("word",e.trim()),fetch(n.toString(),{method:"POST"}).then((e=>e.ok?Promise.resolve():Promise.reject(new Error(`Status: ${e.status}`))))}}ca.NL_PREMIUM_RULES=["FAAG_VAAG","TOO_LONG_SENTENCE","_2_LEESTEKENS","WEEKEND","CASU_QUO","MOMENTEEL","SLECHTS","LEENWOORDEN","KOMMA_HOOR","RELEVANT","HINTS","CHECKEN","ALLEEN_BE","MACHTE","ECHTER","COMMUNICEREN","DESIGN","SANDAAL_ZANDAAL","N","MIDDELS","INTEGREREN","PRIMAIR","OVERIGENS","BETREFFENDE","AGENDA","ERGO","TEN_BEHOEVE","KOMMA_AANH","TM","IE","TER_ZAKE","SIGNIFICANT","GELIEVE","BEHOREN","NAAR_AANLEIDING_VAN","VAN_PLAN_ZIJN","HEDEN","TEN_DODE","VREEMD_VRZ_HIJ","DES","IMPACT","IMMER","BOVENSTAAND","XXXYJE","DUTCH_WRONG_WORD_IN_CONTEXT","LANCEREN","MET_BEHULP_VAN","PRIORITEIT","UWENTWEGE","CATEGORIE","CRITERIUM","GEMOTIVEERD"],ca.PL_PREMIUM_RULES=["BOWIEM_ZAS","ZE_Z_SPOL","SPACJA_ZNAK_ROWNOSCI","BRAK_PRZECINKA_GDY","PYTANIE_CO","BRAK_PRZECINKA_JESLI","PRZECINEK_ANI","SKROTOWCE_BEZ_DYWIZU","NIEZGODNOSC_PRZYPADKU_PO_LICZEBNIKU","PODMIOT_ORZECZENIE","ROWNIE_JAK","JAK_I","PRZECINEK_POROWNANIE","WOLACZ_BEZ_PRZECINKA","ODNOSNIE_DO","GENERALNIE","BOWIEM_ZAS_PRZECINEK","WYDAWAC_SIE_BYC","POSIADAC_MIEC","PL_GUILLEMET","ITP_ITD","SPACJA_PROCENT","PO","W_TEMACIE","PL_DWA_WYRAZY","W_NAWIAZANIU_DO","WE_W","POKI_CO","VS","DZIEN_DZISIEJSZY","WIELOKROTNE_WYSTPIENIE_TEGO_SAMEGO_WYRAENIA_PRZYIMKOWEGO","I_LUB","PELNIC_ROLE","OKRES_CZASU","UZNAC_JAKO","EFEKT_KONCOWY","DLATEGO_PONIEWAZ","NA_DZIEN_DZISIEJSZY","DODATKOWO_CO_WIECEJ","OWY_W","DZIEN_JUTRZEJSZY","ADRES_ZAMIESZKANIA","W_CHWILI_OBECNEJ","BYC_ZNAJDOWAC_SIE_W_POSIADANIU","DO_TERAZ","PROTOKOL_Z_CZEGO","PO_NAJMNIEJSZEJ_LINII","POTRAFIACY","zarowno_jak_rowniez","GRAC_FAIR_PLAY","DRUGI_NAJWIEKSZY","COFAC_SIE_DO_TYLU","DZIEN_WCZORAJSZY","NA_PRZESTRZENI","IDENTYCZNY_JAK","ZA_WYJATKIEM","MAPA_DROGOWA","W_PRZECIGU_TYGODNIA_W_CIGU","NAPOTKAC_NA","PRZERWA_KAWOWA","WYSOKA_FREKWENCJA","UBRAC_ZALOZYC","PRZY_UDZIALE","W_SLAD_ZA","WYRAZIC_POPARCIE","W_TYM_WZGLEDZIE","PO_PIERWSZE_PRIMO","DOMYSLEC_SIE","WARTY","IDENTYCZNY_DO","W_DRODZE_WYJATKU","PRZEDKLADAC_WNIOSEK","POD_RZAD","PRZYJAZNY_DLA_UZYTKOWNIKA","NA_WSKUTEK","SWIECIC_SUKCESY","W_WEGRZECH","KONDYCJA_FINANSOWA","RULE_NIEMNIEJ","FORMULA_KREMU","PODDAWAC_W_WATPLIWOSC","OPATRZEC_SIE","ODGRYWAC_ZNACZENIE","INFORMACJE_WRAZLIWE","DO_DZIS_DZIEN","CO_I_RAZ","OKRAGLY_ROK","SZERSZE_INFORMACJE","WYSOKA_FORMA","CZEKAC_ZA","BYNAJMNIEJ","WYWIERAC_PIETNO","DOPATRZEC_SIE","ZLA_RENOMA","W_PELNYM_TEGO","W_KAZDYM_BADZ","KOSZTOWAC_TANIEJ","DYGITALNY"],ca.SPELLING_RULES_ID=["SPELLER_RULE","MORFOLOGIK_RULE","HUNSPELL","SPELLING_RULE","ORTHOGRAPHY"],ca.STYLE_ISSUE_TYPES=["style","locale-violation","register"],ca.EMAIL_SIGNATURE_SEPARATOR_REGEXP=/^[\‐|\-]{2,}|[\‐|\-]{2,}$/,ca.ONLY_NUMBERS_REGEXP=/^[0-9]+$/,ca.COLON_WHITESPACE_REGEXP=/^[;:]\s/,ca.ONE_LETTER_AT_END_REGEXP=/(\s|^|\()[a-z]\.?\s?$/i,ca.NUMBER_WITH_DOT_AT_END_REGEXP=/\d\.?\s?$/,ca.NUMBER_WITH_PARENTHESIS_AT_END_REGEXP=/\d\.?\)\s$/,ca.PUNCTUATION_AT_END=/(\.|\!)$/,ca.BULLET_POINT_REGEXP=/(\u25b6\ufe0e|\u25BA|\*|-|–|\u2606|\u2605|\u25cf|\u2022|\u25e6|\u27A4|\u2714)\s+$/,ca.LOWERCASE_REGEXP=/[a-z]/,ca.DOT_WITH_PREFIX_REGEXP=/\w\.$/,ca.SLASH_AT_END_REGEXP=/(\/|\\)$/,ca.AT_LEAST_TWO_LETTERS_AT_END_REGEXP=/[a-z]{2}$/i,ca.SLASH_AT_BEGINNING_REGEXP=/^(\/|\\)/,ca.QUOTE_AT_END_REGEXP=/[\"\“\”\„]$/,ca.QUOTE_AT_BEGINNING_REGEXP=/^[\"\“\”\„]/,ca.PUNCTUATION_AT_BEGINNING_REGEXP=/^\s?[\.\!\?,:…]/,ca.PUNCTUATION_SPACE_AT_END_REGEXP=/[\.…\?\!]\s+/,ca.MARKDOWN_HEADLINE_REGEXP=/^#{1,6}\s/m,ca.MARKDOWN_INLINE_FORMAT_AT_BEGINNING_REGEXP=/^[\*\~\_\^\+\%\@]/m,ca.WIKI_MARKUP_AT_END_REGEXP=/\[\[[a-z]+$/,ca.PIPE_AT_END_REGEXP=/\|\s+$/,ca.MENTION_SYMBOL_AT_BEGINNING_REGEXP=/@[a-z\.\-]*$/i,ca.HASH_SYMBOL_AT_BEGINNING_REGEXP=/#[a-z\.\-]*$/i,ca.EMOJI_SENTENCE_START_REGEXP=/(\.|!|\?|^)\s?(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])\s+/,ca.ABBREVIATION_AT_END_REGEXP=/(\s|\(|^)[A-Z]\.$/,ca.NET_AT_BEGINNING_REGEXP=/^net\b/i,ca.SINGLE_UPPERCASE_LETTER_REGEXP=/^[A-Z]$/,ca.NON_ALPHANUMERIC_AT_BEGINNING_REGEXP=/^[^a-z0-9äöüßáàâéèêíìîóòôúùû\.\?\!,\:\;¿¡]{1,3}/i,ca.NON_ALPHANUMERIC_AT_END_REGEXP=/[^a-z0-9äöüßáàâéèêíìîóòôúùû\.\?\!,\:\;¿¡]{1,3}$/i,ca.HTML_ENTITIES=["amp","nbsp","gt","lt","bull","euro","copy","laquo","raquo","hellip","middot"],ca.HTML_ENTITIES_WITH_AND=ca.HTML_ENTITIES.map((e=>`&${e}`)),ca.WAVY_DASH_REGEXP=/^\u3030+$/,ca.ZWS_REGEXP=/^\uFEFF+$/,ca.ZWNJ_REGEXP=/\u200B|\u200C/g,ca.ZWS="\ufeff",ca.PREVENT_MID_SENTENCE_CAPITALIZATION=/[\wáàâóòìíéèùúâôîêûäöüß,\)][\u0020\u00A0\uFEFF]*\n\n\n?[\u0020\u00A0\uFEFF"„»«“‘]*$/,ca.PREVENT_MID_SENTENCE_PUNCTUATION=/^[\u0020\u00A0\uFEFF]*\n\n\n?[a-záàâóòìíéèùúâôîêûäöüß,\)]/,ca.COMMON_TLDS=["com","co","org","net","de","info","biz","es","fr","be","in","gov","nl","ca","com.br","br","at","us","au","ru","pl","ly","it","cat","edu","jp","ko","cn","se","no","mil","ch","dk","com.mx","mx","eu","co.uk","uk","ir","cz","ua","kr","gr","tw","nz","co.nz","za","ro","vn","io","tr","me","fi","tv","xyz","pt","ie","app"],ca.COMMON_TLD_WITH_DOT_REGEXPS=ca.COMMON_TLDS.map((e=>new RegExp(`^\\.${e.replace(".","\\.")}\\b`,"i"))),ca.COMMON_FILE_TYPES=["jpeg","jpg","gif","png","bmp","indd","stl","svg","ai","sketch","ico","ics","env","amf","ps","psd","tiff","tif","mp3","wav","midi","mid","aif","mpa","ogg","wma","wpl","cda","7z","arj","deb","pkg","plist","rar","rpm","tar.gz","tar","zip","bin","dmg","iso","toast","vcd","csv","dat","db","log","mdb","sav","sql","xml","apk","bat","bin","cgi","com","exe","gadget","jar","py","js","jsx","json","wsf","ts","tsx","fnt","fon","otf","ttf","woff","woff2","rb","java","php","html","asp","aspx","cer","cfm","cgi","pl","css","scss","htm","jsp","part","rss","xhtml","key","odp","pps","ppt","pptx","class","cpp","cs","h","sh","swift","vb","ods","odt","xlr","xls","xlsx","xlt","xltx","bak","cab","cfg","cpl","cur","dll","dmp","msi","ini","tmp","3g2","3gp","avi","flv","h264","m4v","mkv","mov","mp4","mpg","mpeg","rm","swf","vob","wmv","doc","docx","dot","dotx","pdf","rtf","srx","text","tex","wks","wps","wpd","txt","yaml","yml","csl","md","adm"],ca.COMMON_FILE_TYPE_WITH_DOT_REGEXPS=ca.COMMON_FILE_TYPES.map((e=>new RegExp(`^[\\wáàâóòìíéèùúâôîêûäöüß\\-\\.\\(\\)]*?\\.${e}\\b`,"i"))),ca.FILE_TYPE_AT_BEGINNING_REGEXP=new RegExp(`(${ca.COMMON_FILE_TYPES.join("|")})\b`,"i"),ca.HIGH_LEVEL_GOALS=[{id:"professional",tags:["clarity","confident","formal","general","positive","professional"]},{id:"scientific",tags:["academic","clarity","formal","general","objective","povrem","scientific"]},{id:"persuasive",tags:["clarity","confident","general","persuasive","positive"]},{id:"personal",tags:["clarity","general","informal","positive","povadd"]},{id:"creative",tags:["clarity","general"]}],ca._textLevelAbortControllers=new Map,ca._paragraphLevelAbortControllers=new Map,ca._languageDetectionAbortControllers=new Map,ca._useFallbackServerForTextLevelRequests=!1,ca._useFallbackServerForParagraphLevelRequests=!1,ca._useFallbackServerForLanguageDetection=!1,ca._mainServerUnavailabilityTimeStamp=0,ca._checkForException=e=>e.ok?e:e.text().catch((()=>"")).then((t=>{const s=t.toLowerCase();if(s.includes("too many error"))throw{reason:"TooManyErrors",status:e.status,response:t};if(413===e.status||s.includes("text exceeds the limit"))throw{reason:"TextTooLong",status:e.status,response:t};if(t.toLowerCase().includes("checking took longer than"))throw{reason:"TimeoutError",status:e.status,url:e.url?e.url.replace(/\?.*/,"?..."):"unknown",response:t};if(429===e.status)throw{reason:"TooManyRequests",status:e.status,response:t};if(403===e.status){if(s.includes("client request size limit")||s.includes("client request limit")||s.includes("ip request limit")||s.includes("ip request size limit"))throw{reason:"TooManyRequests",status:e.status,response:t};if(s.includes("authexception"))throw{reason:"InvalidCredentials",status:e.status,response:t};throw{reason:"AccessDenied",status:e.status,response:t}}if(s.includes("checking took longer than"))throw{reason:"TimeoutError",status:e.status,url:e.url?e.url.replace(/\?.*/,"?..."):"unknown",response:t};throw{reason:"UnknownError",status:e.status,response:t}}));const ga=()=>({spelling:0,grammar:0,style:0,punctuation:0,typography:0});let ua=(()=>{const e={};return{set:(t,s)=>(e[t]=s,Promise.resolve()),get:t=>Promise.resolve(e[t]),getAll:()=>Promise.resolve(e),delete:t=>(delete e[t],Promise.resolve())}})();async function da(e){if(!await ua.get(e))throw new Error("Failed to destroy activity; no User Activity found for UUID");const t=await ma(e);return await ua.delete(e),t}async function ma(e){const t=await ua.get(e);if(!t)return"unknown_uuid";try{const s={source:t.source,data:{rewritings:t.rewritings,...t.statistics,...t.suggestions,...t.meta}};if(!function({data:e}){const t=["checkLevel","writingGoalId","language"];return Object.entries(e).filter((([e])=>!1===t.includes(e))).some((([,e])=>Boolean(e)))&&Me(e.language)}(s))return"no_update";await async function(e){let t=await ua.get(e);t&&(t={...t,suggestions:ga(),statistics:{words:0,sentences:0,texts:0,hiddenMatches:0,premiumMatches:0,pickyErrors:0},rewritings:0},await ua.set(e,t))}(e);const a={method:"POST",referrerPolicy:"no-referrer",credentials:"omit",mode:"cors",headers:{Authorization:`Basic ${btoa([t.email,t.token].join(":"))}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)};return"standalone"===t.source&&(a.keepalive=!0),await Tt(M,a,3e4),"success"}catch{return"error"}}
76
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
77
+ class pa extends t{constructor(){super(),this._storageController=Lt.create();const e=document.currentScript.src;this._widgetBaseURL=e.trim().replace(/[^/]*\.js(\?.*)?$/i,"")}isProductionEnvironment(){return!0}isRuntimeConnected(){return!0}getVersion(){return"standalone"}getTrackingId(){return"20"}shouldTrack(){return"1"!==navigator.doNotTrack&&/languagetool(plus)?\.(org|com)/.test(location.host)}getType(){return"standalone"}getBeforeUnloadEventName(){return"beforeunload"}getURL(e){return e.startsWith("/")||(e="/"+e),this._widgetBaseURL+e}getUILanguageCode(){return"en-US"}openWindow(e){self.open(e,"_blank")}loadContentScripts(e,t){const s=e.document.head||e.document.documentElement;switch(t){case"js":{const t=[];for(const a of pa.JS_FILE_RELATIVE_PATHS){const n=new Promise(((t,n)=>{const r=e.document.createElement("script");r.onload=t,r.onerror=n,r.setAttribute("src",this.getURL(a)),s.appendChild(r)}));t.push(n)}return Promise.all(t)}case"css":for(const t of pa.CSS_FILE_RELATIVE_PATHS){const a=e.document.createElement("link");a.setAttribute("rel","stylesheet"),a.setAttribute("href",this.getURL(t)),s.appendChild(a)}}return Promise.resolve()}initializeLTAssistant(e,t={}){return"function"==typeof e.LTAssistant&&new e.LTAssistant(t),Promise.resolve()}injectExecutor(){return Promise.resolve()}destroyExecutor(){}executeScript(e,t){try{e.defaultView?.eval(t)}catch(e){}}linkInputAreaProperties(){}ping(){return Promise.resolve()}getPreferredLanguages(e=!1){const t=this._storageController.getSettings();let s=[];return t.motherTongue&&s.push(t.motherTongue),s=s.concat(kt.getUserLanguageCodes()).concat(t.geoIpLanguages),s.push("en"),s=s.map((e=>"nb"===e?"no":"fil"===e?"tl":e)),e||(s=s.map((e=>t[`${e}Variant`]||e))),Promise.resolve(et(s))}startDictionarySync(){return Promise.resolve()}updateDictionary(){return Promise.resolve()}addWordToDictionary(e){return sa.addWord(e),Promise.resolve()}addWordsToDictionary(e){return Promise.resolve()}removeWordFromDictionary(e){return Promise.resolve()}clearDictionary(){return Promise.resolve()}loadSynonyms(e,t,s){return la.load(e,t,s)}abortSynonymsRequest(){return la.abort()}loadPhrases(e,t,s,a,n){return ia.load(e,t,s,a,n)}reportPhrase(e,t){return ia.report(e,t)}abortPhraseRequests(e){return ia.abort(e)}initializeUserActivity(e){return async function(e){return ua.set(e.uuid,{email:e.email,token:e.token,source:e.source,suggestions:ga(),statistics:{words:0,sentences:0,texts:0,hiddenMatches:0,premiumMatches:0,pickyErrors:0},meta:{language:e.language,writingGoalId:e.writingGoalId,checkLevel:e.checkLevel},rewritings:0,lastPing:Date.now()})}(e)}sendUserActivityPings(e){return async function(e){e.forEach((async e=>{const t=await ua.get(e);t&&(t.lastPing=Date.now(),await ua.set(e,t))}))}(e)}updateUserActivityTextStatistics(e,t){return async function(e,t){const s=await ua.get(e);if(!s)return;const a=Object.entries(t).reduce(((e,[t,s])=>(e[t]+=s,e)),s.statistics);await ua.set(e,{...s,statistics:a,lastPing:Date.now()})}(e,t)}updateUserActivityAppliedSuggestions(e,t,s){return async function(e,t,s){if(function(e){return"custom"===e}(t))return;const a=await ua.get(e);if(!a)return;const n=a.statistics.premiumMatches+Number(s);await ua.set(e,{...a,suggestions:{...a.suggestions,[t]:a.suggestions[t]+1},statistics:{...a.statistics,premiumMatches:n},lastPing:Date.now()})}(e,t,s)}updateUserActivityAppliedRewritings(e){return async function(e){const t=await ua.get(e);t&&await ua.set(e,{...t,rewritings:t.rewritings+1,lastPing:Date.now()})}(e)}updateUserActivityMeta(e,t){return async function(e,t){const s=await ua.get(e);s&&await ua.set(e,{...s,meta:t,lastPing:Date.now()})}(e,t)}sendUserActivity(e){return ma(e)}destroyUserActivity(e){return da(e)}loadSplitSentence(e,t,s,a,n){return ia.requestSplitSentence(e,t,s,a,n)}trackEvent(e,t){return Pt.trackEvent("Action",e,t),Promise.resolve()}trackTextLength(e){return Pt.trackTextLength(e),Promise.resolve()}pageLoaded(e,t,s,a,n,r){return Promise.resolve()}ltAssistantStatusChanged(e,t){return Promise.resolve()}async check(e,t,s,a,n,r,o){const i=await this.getPreferredLanguages(!0);e.inputArea instanceof HTMLElement&&e.inputArea.lang&&i.push(kt.getPrimaryLanguageCode(e.inputArea.lang));const l=this._storageController.getStatistics().usageCount+1;this._storageController.updateStatistics({usageCount:l});const c=[],{username:g,password:u,token:d,motherTongue:m,enVariant:p,deVariant:h,ptVariant:f,caVariant:_,dictionary:E,apiServerUrl:v}=this._storageController.getSettings(),{hasPaidSubscription:b,showRuleId:S}=this._storageController.getUIState(),y=gt(a.pageUrl),T=this._storageController.getCheckSettings(y,"unknown");let C=null;g&&d?C={email:g,token:d}:g&&u&&(C={email:g,password:u});const k={instanceId:a.instanceId,user:C,isPremium:b,apiServerUrl:v,languageVariants:{en:p,de:h,pt:f,ca:_},dictionary:E,disabledRules:this._storageController.getIgnoredRuleIds(),preferredLanguages:i,motherTongue:m,writingGoalId:o,checkLevel:a.checkLevel,recipientInfo:a.recipientInfo,ignoreCapitalizationErrors:!T.shouldCapitalizationBeChecked,ignoreCapitalizationErrorsAtLineStart:n.ignoreCapitalizationErrorsAtLineStart,useParagraphLevelCaching:n.useParagraphLevelCaching,debug:S,userAgent:"standalone",version:this.getVersion(),testGroups:n.testGroups};return n.checkTextLevel?c.push(ca.checkTextLevel(t,e.forceLanguage?e.language:null,k,r)):c.push(ca.detectLanguage(t,e.forceLanguage?e.language:null,k)),c.push(ca.checkParagraphLevel(s,e.language,k,!e.forceLanguage)),Promise.all(c).then((([a,n])=>{let r=a.language||e.language;const o=!(!r||r.name!==pa.UNSUPPORTED_LANGUAGE_NAME);o&&(r=null);return{isSuccessful:!0,instanceId:e.id,text:t,changedParagraphs:s,language:r,isUnsupportedLanguage:o,isIncompleteResult:n.isIncompleteResult,textLevelErrors:a.errors,textLevelPremiumErrors:a.premiumErrors,textLevelPremiumPickyErrors:a.premiumPickyErrors,textLevelPickyErrors:a.pickyErrors,paragraphLevelErrors:n.errors,paragraphLevelPremiumErrors:n.premiumErrors,paragraphLevelPremiumPickyErrors:n.premiumPickyErrors,paragraphLevelPickyErrors:n.pickyErrors,paragraphLevelSentenceRanges:n.sentenceRanges}})).catch((t=>{if(t&&"AbortError"===t.reason)return;return{isSuccessful:!1,instanceId:e.id,error:{reason:t.reason,status:t.status,response:t.response,stack:t.stack}}}))}isOptionsPageSupported(){return!1}openOptionsPage(e,t){return console.error("Options page is not supported."),Promise.resolve()}isFeedbackFormSupported(){return!1}openFeedbackForm(e,t,s){return console.error("Feedback form is not supported."),Promise.resolve()}openPremiumPage(e,t=0,s=0,a=0,n="",r){const o=function(e,t=0,s=0,a=0,n="",r){const o=new URL("https://languagetool.org/premium");return o.searchParams.set("utm_campaign",e),r&&o.searchParams.set("textLang",r),n&&o.searchParams.set("historicMatches",n),t&&o.searchParams.set("grammarMatches",String(t)),a&&o.searchParams.set("punctuationMatches",String(a)),s&&o.searchParams.set("styleMatches",String(s)),navigator.webdriver&&o.searchParams.set("disable_test","1"),o.toString()}(e,t,s,a,n,r);return this.openWindow(o),Promise.resolve()}checkForPaidSubscription(){return this._storageController.checkForPaidSubscription().then((e=>({initialCommand:"CHECK_FOR_PAID_SUBSCRIPTION",isSuccessful:!0,hasPaidSubscription:e})),(e=>({initialCommand:"CHECK_FOR_PAID_SUBSCRIPTION",isSuccessful:!1,error:e})))}}pa.JS_FILE_RELATIVE_PATHS=["languagetool.js"],pa.CSS_FILE_RELATIVE_PATHS=["styles/fonts.css","styles/styles.css"],pa.UNSUPPORTED_LANGUAGE_NAME="NoopLanguage";
78
+ /*! (C) Copyright 2021 LanguageTooler GmbH. All rights reserved. */
79
+ const ha={ca:{accessDeniedError2:{message:"El servidor ha enviat un missatge d’accés denegat. Reviseu l’adreça electrònica i la contrasenya en els paràmetres i torneu-ho a provar."},addLanguage:{message:"Afegeix idioma"},addToDictionaryCaption:{message:'Afegeix "$word$" al diccionari personal',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Aplica"},appDesc:{message:"Milloreu els textos a l’instant amb el corrector gramatical i l’eina de reformulació de LanguageTool"},appDescThunderbird:{message:"Reviseu l’ortografia i la gramàtica en els vostres correus"},appName:{message:"Corrector ortogràfic i gramatical - LanguageTool"},ar:{message:"àrab"},ast:{message:"asturià"},attachScreenshot:{message:"Adjunta la captura de pantalla de la pàgina"},autoCheckDesc:{message:"Revisió automàtica en tots els dominis per defecte"},autoCheckOnDomainsDesc:{message:"Revisa el text automàticament en aquests dominis:"},be:{message:"bielorús"},br:{message:"bretó"},ca:{message:"català"},ca_ES_valencia:{message:"català (valencià)"},cardContentShowAll:{message:"Mostra’ls tots"},cardContentShowSubset:{message:"Mostra’n menys"},cardSelectorLabelChecker:{message:"Corrector"},cardSelectorLabelParaphraser:{message:"Reformulació"},changelogDiscountExpires:{message:"L’oferta caduca en"},changelogTitle:{message:"Noves funcions de LanguageTool"},close:{message:"Tanca"},cloudServer:{message:"Servidor en el núvol (languagetool.org)"},confirm:{message:"Entesos, som-hi"},connectionProblem:{message:"No es pot connectar a $serverUrl$. Comproveu la connexió a internet o torneu a intentar-ho d’aquí a una estona.",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Revisa ortografia i gramàtica..."},contextMenuValidateInEditor:{message:"Revisa el text en l’editor"},continue:{message:"Continua"},correctAllQuotes:{message:"Corregeix totes les cometes"},customSuggestionError:{message:"Guia d’estil"},da:{message:"danès"},da_DK:{message:"danès (Dinamarca)"},de:{message:"alemany"},de_AT:{message:"alemany (Àustria)"},de_CH:{message:"alemany (Suïssa)"},de_DE:{message:"alemany (Alemanya)"},de_DE_x_simple_language:{message:"alemany (alemany fàcil)"},defaultServerLink:{message:"Fes servir el servidor per defecte"},deleteWord:{message:"Suprimeix"},desktopAppAction:{message:"Baixa-ho GRATIS"},desktopAppHeadlineMac:{message:"Corregiu textos a les vostres aplicacions preferides"},desktopAppHeadlineWindows:{message:"Corregiu textos a les vostres aplicacions preferides"},desktopAppTextMac:{message:"LanguageTool per a Mac corregeix l'escriptura directament a Apple Mail, Pages, Word, Slack i moltes altres aplicacions."},desktopAppTextWindows:{message:"LanguageTool per a Windows ja està disponible i us corregeix l'escriptura a Outlook, Word i moltes altres aplicacions."},dialogAllLanguages:{message:"Tots els idiomes:"},dialogCounterCharactersOption:{message:"Caràcters"},dialogCounterCharactersPlural:{message:"$number$ caràcters",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 caràcter"},dialogCounterSentencesOption:{message:"Frases"},dialogCounterSentencesPlural:{message:"$number$ frases",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 frase"},dialogCounterWordsOption:{message:"Paraules"},dialogCounterWordsPlural:{message:"$number$ paraula",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 paraula"},dialogDisableMenuDisableChecking:{message:"Desactiva en aquest lloc web"},dialogDisableMenuPauseChecking:{message:"Desactiva sols fins a una altra visita"},dialogEnableInDialogHeadline:{message:"El complement és desactivat"},dialogEnableInDialogText:{message:"Feu clic per a activar la revisió ortogràfica i gramatical"},dialogFailStateHeadline:{message:"Ai..."},dialogFailStateText:{message:"Ha fallat alguna cosa. Torneu a intentar-ho."},dialogMainMenuPickyMode:{message:"Mode perfeccionista"},dialogMainMenuPickyModeInfo:{message:"Activeu el mode perfeccionista per a millorar la vostra escriptura."},dialogMainMenuPremiumMistake:{message:"Suggeriments prèmium"},dialogMainMenuRegularMistake:{message:"Suggeriments"},dialogMainMenuTextScore:{message:"Valoració del text"},dialogNeedsLanguageHintHeadline:{message:"No s’ha pogut detectar l’idioma"},dialogNeedsLanguageHintIgnore:{message:"Ignora-ho de moment"},dialogNeedsLanguageHintText:{message:"No hem pogut detectar l’idioma del text. Establiu-lo manualment o bé continueu provant."},dialogPositionMenuDefault:{message:"per defecte"},dialogPositionMenuLeft:{message:"esquerra"},dialogPositionMenuRight:{message:"dreta"},dialogPremiumButton:{message:"Més informació"},dialogPremiumHeadlinePlural:{message:"$count$ problemes més d’escriptura trobats",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"S’ha trobat un problema més d’escriptura"},dialogPremiumText:{message:"Obteniu encara més suggeriments d’estil, de puntuació i de gramàtica amb LanguageTool Prèmium"},dialogRecommendedLanguages:{message:"Recomanat per a vós:"},dialogScrollHintHeadline:{message:"Suggeriments"},dialogScrollHintText:{message:"Desplaceu-vos pel document per a veure més suggeriments"},dialogScrollToLink:{message:"Mostra-ho en el text"},dialogSelectLanguageLabel:{message:"Selecciona l’idioma"},dialogTextTooLongButton:{message:"Més informació"},dialogTextTooLongHeadline:{message:"Aquest text és una mica llarg"},dialogTextTooLongText:{message:"Actualitzeu a prèmium i obtindreu suggeriments avançats de gramàtica i estil per a texts llargs."},dialogTextTooShortHeadline:{message:"El text és massa curt"},dialogTextTooShortText:{message:"Introduïu com a mínim 5 caràcters per a començar a revisar."},dialogTooltipDisableChecking:{message:"Desactiva la revisió"},dialogTooltipHelp:{message:"Ajuda"},dialogTooltipHelpCenter:{message:"Ves al centre d’ajuda"},dialogTooltipPosition:{message:"Posició del quadre de diàleg"},dialogTooltipSaveText:{message:"Desa el text"},dialogTooltipSendFeedback:{message:"Envieu comentaris"},dialogTooltipSettings:{message:"Configuració"},dialogTooltipUserStatistics:{message:"Estadístiques d’ús"},dialogUnsupportedLanguageHeadline:{message:"No funciona amb aquest idioma"},dialogUnsupportedLanguageLabel:{message:"Idioma no admès"},dialogUnsupportedLanguageText:{message:"LanguageTool admet més de trenta idiomes (per exemple, català, anglès, alemany, espanyol, francès, portuguès, neerlandès o rus)."},dismissSuggestions:{message:"Ignora"},domainsDesc:{message:"Inhabiliteu la comprovació en alguns llocs web"},edgeWebstoreSiteNotSupported:{message:"LanguageTool no funciona en el lloc web d’extensions d’Edge. Funciona en molts altres llocs (p. ex. Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Error següent"},editorCardNextSentence:{message:"Frase següent"},el:{message:"grec"},en:{message:"anglès"},en_AU:{message:"anglès (Austràlia)"},en_CA:{message:"anglès (Canadà)"},en_GB:{message:"anglès (Regne Unit)"},en_NZ:{message:"anglès (Nova Zelanda)"},en_US:{message:"anglès (EUA)"},en_ZA:{message:"anglès (Sud-àfrica)"},enableEverywhereButton:{message:"Activa per a tots els camps de text"},enableHereButton:{message:"Activa només per a aquest camp de text"},enableInDialog:{message:"Feu clic per a habilitar la revisió <br>ortogràfica i gramatical"},enableRuleTooltip:{message:"Feu clic per a habilitar la regla"},eo:{message:"esperanto"},errorCardAllDoneCaption:{message:"Bé! No s’ha trobat cap error!"},errorCardAllDoneDescription:{message:"Molt bona feina."},errorCardHiddenMatchButton:{message:"Desbloca-ho tot"},errorCardHiddenMatchCaption:{message:"Una mostra de la versió Prèmium"},errorCardKeyboardInstructions:{message:"Seleccioneu amb $enter$ o $shiftEnter$ per a saltar al següent",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"S’han trobat $count$ coincidències ocultes més",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"S’ha trobat 1 coincidència oculta més"},errorCardPremiumTeaserCta:{message:"Desbloca totes les coincidències ocultes"},errorCardPremiumTeaserGrammarSuggestions:{message:"Suggeriments de <lt-em>gramàtica</lt-em> ocults"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Suggeriments de <lt-em>puntuació</lt-em> ocults"},errorCardPremiumTeaserReadMore:{message:"Més informació"},errorCardPremiumTeaserStyleSuggestions:{message:"Suggeriments d’<lt-em>estil</lt-em> ocults"},errorCardPremiumTeaserText:{message:"Hi ha més coincidències en aquest text que només pot trobar el LanguageTool Prèmium."},errorCardTurnOffPickyModeButton:{message:"Desactiva-ho aquí"},errorCardTurnOffPickyModeCaption:{message:"Suggeriment perfeccionista"},errorsIgnoredByDictionary:{message:"S’han ignorat $countIgnoredByDictionary$ paraules",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"S’ha ignorat una paraula"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ regles s’han ignorat",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"S’ha ignorat una regla"},es:{message:"espanyol"},eu:{message:"basc"},experimentalLink:{message:"Configuració avançada (sols per a usuaris professionals)"},extensionUpdatedHeadline:{message:"L’extensió s’ha actualitzat."},extensionUpdatedText:{message:"Feu clic en la icona $iconHtml$ en la barra d’eines del vostre navegador o torneu a carregar la pàgina per a habilitar l’ortografia i la verificació gramatical de nou.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"persa"},feedbackButton:{message:"Envia el missatge a LanguageTool"},feedbackDirectMail:{message:"Si voleu enviar-nos captures de pantalla, ho podeu fer amb un correu electrònic a $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"No s’ha pogut enviar el missatge. Intenteu-ho més tard."},feedbackHeadline:{message:"Envieu els vostres comentaris a LanguageTool"},feedbackPrivacyPolicy:{message:"Política de privacitat"},feedbackSenderPlaceholder:{message:"Introduïu la vostra adreça de correu electrònic…"},feedbackSuccess:{message:"Gràcies pels vostres comentaris."},feedbackTextPlaceholder:{message:"Introduïu els vostres comentaris…"},fixSentenceCardHeadlineApply:{message:"Corregeix tota la frase"},fixSentenceCardHeadlineLoading:{message:"S’està cercant una correcció de la frase…"},fixSentenceCardHeadlineMissing:{message:"No s’ha trobat cap correcció"},forcePreferredLanguagesOptionLabel:{message:"Utilitza sempre només aquestes llengües per a la detecció automàtica de llengua"},fr:{message:"francès"},ga:{message:"irlandès"},generalSettingsHeadline:{message:"Configuració general"},gl:{message:"gallec"},googleDocsDisableButton:{message:"Deshabilita LanguageTool en aquest document"},googleDocsEnableButton:{message:"Habilita LanguageTool"},googleDocsEnableHint:{message:"Podeu habilitar de nou aquí el corrector gramatical i d’estil LanguageTool"},googleDocsNewTeaserHeadline:{message:"Ha arribat LanguageTool per a Google Docs!"},googleDocsNewTeaserText:{message:"En el lateral de cada pàgina podeu veure quants problemes detecta LanguageTool."},googleDocsPagelessModeUnsupported:{message:'El nou mode "sense pàgina" de moment no està disponible. Ja hi estem treballant.'},googleSlidesDisableButton:{message:"Desactiva LanguageTool en aquesta presentació."},googleSlidesEnableButton:{message:"Activa LanguageTool"},googleSlidesEnableHint:{message:"Aquí podeu reactivar la revisió gramatical i d’estil de LanguageTool"},googleSlidesNewTeaserHeadline:{message:"Ja és aquí LanguageTool per a Google Slides!"},googleSlidesNewTeaserText:{message:"Al costat de cada diapositiva, ara podeu veure quants problemes ha detectat LanguageTool."},grammarError:{message:"Gramàtica"},haveAccountDesc:{message:"Crea un compte gratuït en"},historicPremiumErrorsButton:{message:"Més informació"},historicPremiumErrorsHeadline:{message:"Ho sabíeu?"},historicPremiumErrorsText:{message:"Podríeu haver evitat <strong>$count$ problemes de gramàtica i d’estil</strong> en els darrers dies amb LanguageTool Prèmium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ problemes de gramàtica i d’estil</strong> podrien haver-se evitat en els darrers dies amb LanguageTool Prèmium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"No facis revisió automàtica en aquests dominis:"},ignoreHere:{message:"Ignora-ho en aquest text"},ignoredRules:{message:"Aquestes regles s’han desactivat. Feu clic en una regla per a activar-la de nou:"},ignoredRulesDesc:{message:"Regles desactivades"},incompleteResult:{message:"Els resultats són incomplets: la revisió del text s’ha aturat perquè hi ha massa errors."},invalidUsernameOrPassword:{message:"Error: Comproveu l’adreça electrònica i la contrasenya en els paràmetres"},is:{message:"islandès"},it:{message:"italià"},ja:{message:"japonès"},km:{message:"khmer"},language:{message:"Idioma:"},languageOptionsLink:{message:"Opcions d’idioma"},languagetoolNotSupported:{message:"L’extensió no funciona en aquest lloc web, perquè el lloc web ofereix la mateixa funcionalitat."},localServer:{message:"Servidor local (localhost): requereix un servidor de LanguageTool que s’executi localment"},localServerDocs:{message:"Documentació"},lt:{message:"lituà"},managedLoginButton1:{message:"Inicia la sessió"},managedLoginButton2:{message:"Inicieu la sessió amb el vostre compte corporatiu"},managedLoginDescription:{message:"Inicieu la sessió amb el vostre compte corporatiu per a utilitzar LanguageTool."},managedLoginHeadline:{message:"Inici de sessió"},messagePopupTurnOnPrimaryButton:{message:"Entesos!"},messagePopupTurnOnSecondaryButton:{message:"Reactiva la revisió de text"},messagePopupTurnOnheadline:{message:"La verificació ortogràfica és desactivada per a aquesta pàgina"},messagePopupTurnOntext:{message:'Per a reactivar-la, feu clic en la icona de LT en la vostra barra d’eines i en el botó "Revisa ortografia i gramàtica".'},ml:{message:"malaiàlam"},moreDetails:{message:"Més informació..."},motherTongueDesc:{message:"Idioma matern"},motherTongueExpl:{message:"Establiu idioma matern si voleu que us advertim sobre falsos amics quan reviseu texts no escrits en el vostre idioma matern."},msOnlineOfficeNotSupported:{message:'Microsoft Word Online no és compatible amb aquesta extensió: només cal que instal·leu <a target="_blank" href="$url$">aquesta extensió</a>.',placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"neerlandès"},no:{message:"noruec"},noErrorsFound2:{message:"Bé! No s’ha trobat cap error!"},noErrorsFoundText:{message:"Molt bona feina."},notificationUndoDescription:{message:"Premeu %{cmd} per a desfer"},notificationUndoLabel:{message:"Reformulació aplicada"},onboardLanguageSelectorCta:{message:"Comenceu a usar LanguageTool"},onboardLanguageSelectorDescription:{message:"Per a oferir els suggeriments més adequats, ens cal saber quins idiomes soleu usar."},onboardLanguageSelectorHeading:{message:"Trieu els idiomes en què soleu escriure"},onboardingHeadline:{message:"Millorarà la vostra escriptura"},onboardingIntro:{message:"Els vostres texts es revisaran en la major part dels camps de text mentre escriviu."},onboardingIntroThunderbird:{message:"El text es revisarà mentre redacteu els correus."},onboardingNote1:{message:"Torneu a carregar <strong>totes les pàgines web obertes</strong> per a activar l’extensió"},onboardingNote2:{message:"Aquesta extensió no funciona amb camps de text en <strong>Chrome Web Store</strong> o en <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Per a desactivar l’extensió en un lloc web, feu clic en la <strong>icona LT de la barra d’eines del navegador</strong>."},onboardingNote4:{message:"Es poden demanar <strong>sinònims</strong> fent doble clic sobre una paraula en un camp de text (p. ex. Gmail, Facebook o Google Docs)."},onboardingNoteThunderbird1:{message:"Comenceu un missatge nou per a activar l’extensió."},onboardingNoteThunderbird2:{message:"Per a desactivar l’extensió, feu clic en la icona de LT dalt a la dreta de la finestra de redacció de correus."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Drecera de teclat"},openCardHotkeyExpl:{message:"Premeu aquesta tecla <strong>dues vegades seguides</strong> quan el cursor de text parpellejant sigui sobre una paraula subratllada. Per descomptat, això també funciona per als sinònims."},openCardHotkeyOff:{message:"Apagat"},openCardHotkeyShift:{message:"Majús"},otherServer:{message:"Un altre servidor: requereix un servidor LanguageTool en execució"},overleafNewTeaserHeadline:{message:"Ja és aquí LanguageTool per a Overleaf!"},overleafNewTeaserText:{message:"Desplaceu-vos pel text per a veure suggeriments d’ortografia, gramàtica i estil."},oxfordSpellingOptionLabel:{message:"Ortografia d’Oxford"},password:{message:"Contrasenya:"},personalDictionaryMultipleWordError:{message:"Les expressions de múltiples paraules són actives sols per a usuaris que tenen un compte de LanguageTool"},phrasesCardCaption:{message:"Reformulacions"},phrasesCardConfirmationButton:{message:"Accepto la política de privacitat"},phrasesCardConfirmationHeading:{message:"Reformuleu les vostres frases amb IA."},phrasesCardConfirmationText:{message:'Necessiteu un text més curt, més fluid o més formal? Tenim la solució. Consulteu la nostra <a target="_blank" href="$privacyUrl$" rel="noopener">política de privacitat</a> sobre el processament de dades.',placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Tots els resultats"},phrasesCardGeneralError:{message:"Hi ha hagut un error carregant les frases"},phrasesCardHeadline:{message:"Alternatives generades amb IA"},phrasesCardLabelFluency:{message:"Fluid"},phrasesCardLabelFormality:{message:"Formal"},phrasesCardLabelGeneral:{message:"Reformulat"},phrasesCardLabelParaphrase:{message:"Fluid"},phrasesCardLabelShortened:{message:"Concís"},phrasesCardLabelSimplicity:{message:"Simple"},phrasesCardNoResult:{message:"Per desgràcia, no hi ha reformulacions disponibles per a aquesta frase."},phrasesCardNoSentence:{message:"No s’ha pogut detectar cap frase."},phrasesCardNotSupportedHeading:{message:"La reformulació de frases no està disponible… de moment"},phrasesCardNotSupportedText:{message:"La reformulació de frases no està disponible per a aquesta llengua, però sí per a l’anglès i el castellà, entre d’altres. <strong>Treballem de valent</strong> perquè estigui disponible per a altres llengües tan aviat com sigui possible."},phrasesCardRephrasingLimitPlural:{message:"Limitat a <strong>$count$</strong> frases més avui",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limitat a <strong>una</strong> frase més avui"},phrasesCardRephrasingLimitUnlock:{message:"Desbloqueu la reformulació sense límits!"},phrasesCardSentencePrefix:{message:"Original"},phrasesCardTimeoutError:{message:"El servidor no ha respost a temps."},pl:{message:"polonès"},popupGeneralSettingsHeadline:{message:"Configuració general"},popupGlobalSettingsHeadline:{message:"Configuració general"},popupGlobalSettingsHeadlineInfo:{message:"Tots els llocs web"},popupOnboardingHeadline:{message:"Benvingut! Ara podeu utilitzar LanguageTool:"},popupOnboardingStep1:{message:"Feu clic en qualsevol camp de text de múltiples línies (p. ex. en Gmail, Facebook…)."},popupOnboardingStep2:{message:"Trobareu una icona com $icon1Html$ o $icon2Html$ a l’extrem inferior dret.",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Escriviu un text. Els problemes d’escriptura seran <u>subratllats</u>."},popupOnboardingStep4:{message:"Feu clic en una paraula subratllada per a obtenir suggeriments."},popupOpenEditorButton:{message:"Obre l’editor"},popupOptionCaseText:{message:"Revisa majúscules i minúscules"},popupOptionCheckText:{message:"Activa LanguageTool"},popupOptionContextMenu:{message:"Mostra en el menú de clic dret"},popupOptionContextMenuDescription:{message:"Només cal que seleccioneu text en qualsevol lloc web, feu clic dret i comproveu si hi ha errors gramaticals."},popupOptionPickyMode:{message:"Mode perfeccionista"},popupOptionPickyModeDescription:{message:"Per a un estil i una tipografia perfectes."},popupOptionRephrasing:{message:"Funcionalitat de reformulació"},popupOptionRephrasingDescription:{message:"Reescriviu frases senceres amb IA. Només cal que situeu el ratolí sobre el símbol de la cantonada inferior dreta d’un camp de text i feu clic en la icona de reformulació per a obtenir suggeriments per a la frase actual."},popupOptionSynonyms:{message:"Activa el doble clic"},popupOptionSynonymsDescription:{message:"Feu doble clic en qualsevol paraula en un camp de text per a veure sinònims."},popupOptionValidate:{message:"Revisa el text seleccionat"},popupOptionValidateInEditor:{message:"Revisa el text seleccionat en l’editor"},popupPremiumHeadline:{message:"Escriviu com un professional"},popupPremiumLink:{message:"Més informació"},popupPremiumText:{message:"Actualitzeu a LanguageTool Prèmium per a trobar no sols més errors de gramàtica i puntuació sinó també d’estil."},popupSettingsHeadline:{message:"Configuració del lloc web"},popupSettingsHeadlineInfo:{message:"Lloc web actual"},popupSettingsHover:{message:"Configuració avançada"},popupUserStatisticsHover:{message:"Mostra les estadístiques d’ús"},poweredBy:{message:"Funciona amb <b>LanguageTool</b>"},premiumErrorsButton:{message:"Més informació"},premiumErrorsTextPlural:{message:"El vostre text conté <strong>$count$ problemes d’escriptura avançats</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"El vostre text conté <strong>un problema d’escriptura avançat</strong>"},privacyHeadline:{message:"Benvingut/da a LanguageTool"},privacyLinkForDefaultServer:{message:'Per a més informació, consulteu <a href="$privacyUrl$" target="_blank">la nostra política de privacitat</a>.',placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"La comprovació es pot <strong>desactivar en qualsevol moment</strong>"},privacyListUnsaved:{message:"<strong>El text no s’emmagatzemarà</strong>"},privacyNoteForDefaultServer:{message:'Aquesta extensió comprovarà el text enviant-lo a <a href="$serverUrl$" target="_blank">$serverHost$</a> amb una connexió xifrada.',placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Aquesta extensió revisarà el vostre text enviant-lo a $serverUrl$. Per a tornar al servidor per defecte, visiteu la pàgina d’opcions de l’extensió.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"El vostre assistent d’escriptura"},privacyPolicy:{message:"Política de privacitat"},pt:{message:"portuguès"},pt_AO:{message:"portuguès (Angola pre-AO)"},pt_BR:{message:"portuguès (Brasil post-AO)"},pt_CV:{message:"portuguès (Cap Verd)"},pt_MZ:{message:"portuguès (Moçambic pre-AO)"},pt_PT:{message:"portuguès (Portugal post-AO)"},pt_PT_post_reform:{message:"portuguès (Portugal, post-AO)"},pt_PT_pre_reform:{message:"portuguès (Portugal, pre-AO)"},punctuationError:{message:"Puntuació"},ratingHeadline:{message:"Us agrada el corrector?"},ratingText:{message:"Doneu-nos la vostra opinió"},ratingThankYou:{message:"Gràcies."},ratingUnhappyQuestion:{message:"Expliqueu-nos per què no esteu satisfet."},removeExtraWhitespace:{message:"Suprimeix espais en blanc sobrants"},rephrasingTeaserCaption:{message:"En necessites més de seguida?"},rephrasingTeaserCountdownSuffix:{message:"$count$ reformulacions",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Obteniu-ne més demà"},rephrasingTeaserCta:{message:"Desbloqueu tots els avantatges prèmium"},rephrasingTeaserDescription:{message:"Beneficieu-vos de reformulacions il·limitades i molt més:"},rephrasingTeaserListItem1:{message:"<strong>Reviseu fins a $count$</strong> caràcters en un sol text",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Suggeriments d’estil avançats</strong> per a uns textos encara millors"},rephrasingTeaserListItem3:{message:"<strong>Reformulacions il·limitades</strong> per a fer que el vostre text sigui més versàtil"},replaceWithWhitespace:{message:"Substitueix per un espai en blanc"},reportAnIssue:{message:"Envieu comentaris"},reviewChromeHeadline:{message:"Ens faríeu una valoració en la botiga de Chrome?"},reviewEdgeHeadline:{message:"Ens donareu una qualificació a la botiga de complements d’Edge?"},reviewFirefoxHeadline:{message:"Ens faríeu una valoració en la botiga de Firefox?"},reviewLink:{message:"Qualifiqueu ara"},reviewOperaHeadline:{message:"Ens faríeu una valoració en la botiga de complements d’Opera?"},reviewSafariHeadline:{message:"Ens donaríeu una qualificació a l’App Store?"},ro:{message:"romanès"},ru:{message:"rus"},save:{message:"Desa"},sendFeedback:{message:"Envia comentaris"},sentenceSplittingCardApplyButtonLabel:{message:"Aplica"},sentenceSplittingCardHeadlineApply:{message:"Suggeriment:"},sentenceSplittingCardHeadlineLoading:{message:"S’està dividint la frase..."},sentenceSplittingCardHeadlineMissing:{message:"No s’ha trobat cap suggeriment"},serverNotAvailable:{message:"El servidor local no està disponible"},serverText:{message:"Servidor de LanguageTool:"},serverUrlIsInvalid:{message:"L’URL no és vàlid"},settingsAccountBulletListEditor:{message:"Useu l’editor com a entorn d’escriptura lliure de distraccions."},settingsAccountBulletListSave:{message:"Deseu els textos per a més tard. "},settingsAccountBulletListSync:{message:"Sincronitzeu la configuració i el diccionari personal en diferents navegadors i dispositius."},settingsAccountDescription:{message:"Inicieu la sessió i obteniu aquests avantatges:"},settingsAccountHeadline:{message:"Compte"},settingsAccountSubheadline:{message:"Inicieu la sessió amb el vostre compte de LanguageTool"},settingsAddAutoCheckDomainHint:{message:"El domini encara no s’ha afegit. Premeu Retorn per a afegir-lo."},settingsAddDomainHint:{message:"El domini encara no s’ha afegit. Premeu RETORN per a afegir-lo."},settingsAddIgnoredDomainHint:{message:"El domini encara no s’ha afegit. Premeu Retorn per a afegir-lo."},settingsAddOrFilterAutoCheckDomains:{message:"Afegiu o cerqueu un domini…"},settingsAddOrFilterDomains:{message:"Afegiu o cerqueu un domini…"},settingsAddOrFilterIgnoredDomains:{message:"Afegiu o cerqueu un domini …"},settingsAddOrFilterWords:{message:"Afegiu o cerqueu una paraula…"},settingsAddWordHint:{message:"Aquesta paraula encara no existeix en el diccionari. Premeu RETORN per a afegir-la."},settingsAreYouSure:{message:"Esteu segur? No es podrà desfer."},settingsCheckForPaidSubscriptionError:{message:"Ha fallat la comprovació de l’estat de la vostra subscripció"},settingsClearAll:{message:"Desmarca-ho tot"},settingsCopyDictionary:{message:"Copia al porta-retalls"},settingsCopyDictionarySuccessful:{message:"S’ha copiat al porta-retalls"},settingsDeleteAutoCheckDomain:{message:"Esborra el domini"},settingsDeleteIgnoredDomain:{message:"Esborra el domini"},settingsDictionaryHeadline:{message:"Diccionari personal"},settingsDomainInvalid:{message:"Introduïu un domini vàlid que encara no s’hagi afegit."},settingsEmptyAutoCheckDomains:{message:"Encara no heu activat la revisió automàtica en cap lloc web"},settingsEmptyDictionary:{message:"El diccionari personal és buit"},settingsEmptyDomainList:{message:"Encara no heu desactivat cap domini"},settingsEmptyIgnoredDomains:{message:"Encara no heu desactivat la revisió automàtica en cap lloc web"},settingsEmptyIgnoredRules:{message:"Encara no heu desactivat cap regla. Podeu desactivar regles quan apareguin en un text."},settingsEnableAllRules:{message:"Activa-ho tot"},settingsEnableDomain:{message:"Habilita el domini"},settingsExperimentalSuccess:{message:"La configuració s’ha desat correctament."},settingsForgotPasswordLink:{message:"Heu oblidat la contrasenya?"},settingsHeadline:{message:"Configuració"},settingsLanguageVariantsDescription:{message:"Per a oferir-vos els suggeriments més adequats, digueu-nos quina varietat de l’idioma useu."},settingsLanguageVariantsHeadline:{message:"Varietats d’idiomes"},settingsLoggedInAs:{message:"Heu iniciat la sessió com a $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Inicia la sessió"},settingsLoginError:{message:"No s’ha pogut iniciar la sessió. Comproveu l’adreça electrònica i la contrasenya."},settingsLoginSuccess:{message:"Heu iniciat la sessió"},settingsLogoutButton:{message:"Tanca la sessió"},settingsLogoutSuccess:{message:"Heu tancat la sessió"},settingsManageAccountButton:{message:"Gestiona el compte"},settingsPasswordPlaceholder:{message:"Contrasenya"},settingsPreferredLanguagesCompleteList:{message:"Tots els idiomes"},settingsPreferredLanguagesDescription:{message:"Establiu els idiomes en què soleu escriure. Això ajuda LanguageTool a detectar automàticament l’idioma correcte."},settingsPreferredLanguagesHeadline:{message:"Idiomes preferits"},settingsPreferredLanguagesPopularList:{message:"Idiomes populars"},settingsPremiumButton:{message:"Descobriu LanguageTool Prèmium"},settingsPremiumFeaturesActivated:{message:"Totes les funcions <strong>prèmium</strong> són activades."},settingsPremiumHeadline:{message:"Milloreu la vostra escriptura"},settingsPremiumText:{message:"Trobeu problemes de gramàtica, d’estil i puntuació avançats o reviseu texts de fins a 150.000 caràcters."},settingsServerUrlDisabled:{message:"Només podreu establir un servidor personalitzat quan tanqueu la sessió del vostre compte de LanguageTool."},settingsUnknownError:{message:"S’ha produït un error inesperat"},siteDisabledPerGroupPolicy:{message:"La correcció està desactivada en aquest lloc segons la política de grup."},siteTemporarilyUnsupported:{message:"Disculpeu, LanguageTool ha desactivat temporalment el suport per a aquest lloc web. Treballem en una solució. Hauria de ser qüestió de dies."},sk:{message:"eslovac"},skip:{message:"Omet"},sl:{message:"eslovè"},spellingError:{message:"Ortografia"},sr:{message:"serbi"},sr_BA:{message:"serbi (Bòsnia)"},sr_HR:{message:"serbi (Croàcia)"},sr_ME:{message:"serbi (Montenegro)"},sr_RS:{message:"serbi (Sèrbia)"},statusIconEnableLT:{message:"Habiliteu LanguageTool: revisió ortogràfica i gramatical"},statusIconError:{message:"Error"},statusIconMoreErrors:{message:"Els resultats són incomplets: la comprovació del text s’ha aturat a causa d’haver-hi massa errors."},statusIconPermissionRequired:{message:"No es pot revisar el text: confirmeu la política de privacitat primer."},statusIconReload:{message:"L’extensió s’ha actualitzat. Torneu a carregar la pàgina per a habilitar la revisió ortogràfica i gramatical."},statusIconToolTip:{message:"LanguageTool: revisió ortogràfica i gramatical"},suggestionError:{message:"Estil"},suggestionOnlyVisibleToPremiumButton:{message:"Obteniu tots els avantatges de prèmium"},suggestionOnlyVisibleToPremiumText:{message:"Això és un suggeriment avançat que sols està disponible en la versió prèmium de LanguageTool. Actualitzeu a prèmium per a obtenir suggeriments com aquest i molts més."},sv:{message:"suec"},switchToAmericanEnglish:{message:"Canvia a anglès americà"},switchToAustralianEnglish:{message:"Canvia a anglès d’Austràlia"},switchToBritishEnglish:{message:"Canvia a anglès britànic"},switchToCanadianEnglish:{message:"Canvia a anglès del Canadà"},switchToNewZealandEnglish:{message:"Canvia a anglès de Nova Zelanda"},switchToSouthAfricanEnglish:{message:"Canvia a anglès de Sud-àfrica"},synonymsCardGeneralError:{message:"Hi ha hagut un error carregant els sinònims"},synonymsCardHeadline:{message:"Sinònims"},synonymsCardLanguageNotSupported:{message:"Encara no hi ha servei per als sinònims d’aquesta llengua."},synonymsCardLess:{message:"menys"},synonymsCardLoadMoreAlternatives:{message:"mostra’n més"},synonymsCardLoading:{message:"Carregant…"},synonymsCardMore:{message:"més"},synonymsCardNoSynonymsAvailable:{message:"No hi ha sinònims disponibles per a aquesta paraula"},synonymsCardProvidedBy:{message:"Proveït per <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Frase"},synonymsCardTabWord:{message:"Paraula"},synonymsCardTooltipReadText:{message:"Pronuncia la paraula"},synonymsTutorialHeadline:{message:"Com podeu obtenir sinònims"},synonymsTutorialText:{message:"Obteniu els sinònims de qualsevol paraula fent-hi doble clic. Funciona en tots els camps de text compatibles amb LanguageTool."},ta:{message:"tàmil"},textTooLong:{message:"Aquest text és massa llarg per a ser revisat."},timeoutError:{message:"Temps d’espera esgotat. Proveu-ho més tard ($serverUrl$).",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"tagàlog"},tooManyErrors:{message:"Fa l’efecte que aquest text conté massa errors. ¿Esteu segur que heu seleccionat l’idioma correcte?"},tooManyRequests:{message:"S’ha superat el límit de sol·licituds. Espereu un minut i LanguageTool estarà disponible de nou."},toolbarDisableMenuDisableChecking:{message:"Desactiva en aquest lloc web"},toolbarDisableMenuPauseChecking:{message:"Desactiva sols fins a una altra visita"},toolbarTooltipDisableChecking:{message:"Desactiva la revisió"},toolbarTooltipRephrasing:{message:"Reformula la frase"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Actualment, la reformulació de frases no està disponible en aquesta llengua."},tr:{message:"turc"},tryAgain:{message:"Intenteu-ho de nou"},turnOffPickyMode:{message:"Desactiva el mode perfeccionista en aquest text"},turnOffRule:{message:"Desactiva la regla a tot arreu"},turnOffRulePicky:{message:"Els suggeriments gramaticals no es poden desactivar en el mode perfeccionista."},turnOnHint:{message:"Podeu tornar a activar l’extensió aquí"},uk:{message:"ucraïnès"},unknownError:{message:"S’ha produït un error en revisar el text. Una manera de resoldre el problema és reinicialitzar el navegador."},upgradeTeaserDiscount:{message:"Estalvieu un $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Oferta per temps limitat"},username:{message:"Adreça electrònica:"},validatorHasMistakesHeadlinePlural:{message:"$count$ errors trobats",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"S’ha trobat un error"},validatorHasMistakesText:{message:"Feu clic en les paraules ressaltades per a corregir-les."},validatorHasPremiumErrorsButton:{message:"Més informació"},validatorHasPremiumErrorsHeadlinePlural:{message:"El text conté $count$ problemes de redacció avançats",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"El text conté un problema de redacció avançat"},validatorHasPremiumErrorsText:{message:"Actualitzeu a LanguageTool Prèmium per a trobar molts més errors de gramàtica, estil i puntuació."},validatorLoadingHint:{message:"Revisant el text…"},validatorNoMistakesHeadline:{message:"Enhorabona, no s’ha trobat cap error!"},validatorNoTextStatus:{message:"Escriviu o enganxeu el text per a revisar-lo"},validatorPlaceholder:{message:"Introduïu o enganxeu el text aquí…"},validatorPremiumButton:{message:"Actualització"},validatorPremiumHeadline:{message:"Trobeu més problemes d’escriptura i esdevindreu un escriptor més bo."},validatorPremiumReason1:{message:"Una revisió més completa de gramàtica, puntuació i estil"},validatorPremiumReason2:{message:"Reviseu texts més llargs (de fins a 150.000 caràcters)"},validatorPremiumReason3:{message:"Detecció automàtica de nombres invàlids (p. ex. IBAN, ISBN…)"},validatorPremiumReason4:{message:"Complement per a Microsoft Office"},validatorTextTooLongStatus:{message:"Aquest text és massa llarg per a ser revisat."},variantCaDesc:{message:"Assumeix aquesta variant de català:"},variantDeDesc:{message:"Assumeix aquesta variant d’alemany:"},variantEnDesc:{message:"Assumeix aquesta variant d’anglès:"},variantPtDesc:{message:"Assumeix aquesta variant de portuguès:"},webstoreSiteNotSupported:{message:"Google Chrome impedeix a les extensions accedir a Chrome Web Store. Funciona en qualsevol altre lloc on escrigueu (p. ex. Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"xinès"}},en:{accessDeniedError2:{message:"The server sent an “Access denied” message—please check your e-mail and password in the settings and try again."},addLanguage:{message:"Add language"},addToDictionaryCaption:{message:"Add “$word$” to personal dictionary",placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Apply"},appDesc:{message:"Instantly Enhance Your Texts with LanguageTool’s Grammar Checker and Paraphrasing Tool"},appDescThunderbird:{message:"Check your e-mails for spelling and grammar issues"},appName:{message:"Grammar Checker & Paraphraser – LanguageTool"},ar:{message:"Arabic"},ast:{message:"Asturian"},attachScreenshot:{message:"Attach screenshot of the page"},autoCheckDesc:{message:"Auto-check on all domains by default"},autoCheckOnDomainsDesc:{message:"Auto-check text on these domains:"},be:{message:"Belarusian"},br:{message:"Breton"},ca:{message:"Catalan"},ca_ES_valencia:{message:"Catalan (Valencian)"},cardContentShowAll:{message:"Show all"},cardContentShowSubset:{message:"Show less"},cardSelectorLabelChecker:{message:"Correct"},cardSelectorLabelParaphraser:{message:"Paraphrase"},changelogDiscountExpires:{message:"Offer expires in"},changelogTitle:{message:"New LanguageTool features"},close:{message:"Close"},cloudServer:{message:"Cloud server (languagetool.org)"},confirm:{message:"Okay, got it"},connectionProblem:{message:"Cannot connect to $serverUrl$—please check your internet connection or try again in a minute",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Check spelling and grammar…"},contextMenuValidateInEditor:{message:"Check text in Editor"},continue:{message:"Continue"},correctAllQuotes:{message:"Correct all quotes"},customSuggestionError:{message:"Style Guide"},da:{message:"Danish"},da_DK:{message:"Danish (Denmark)"},de:{message:"German"},de_AT:{message:"German (Austrian)"},de_CH:{message:"German (Swiss)"},de_DE:{message:"German (Germany)"},de_DE_x_simple_language:{message:"German (Simple Language)"},defaultServerLink:{message:"Use default"},deleteWord:{message:"Delete"},desktopAppAction:{message:"Download for FREE"},desktopAppHeadlineMac:{message:"Check Texts in Your Favorite Apps"},desktopAppHeadlineWindows:{message:"Check Texts in Your Favorite Apps"},desktopAppTextMac:{message:"LanguageTool for Mac corrects your writing directly in Apple Mail, Pages, Word, Slack, and many more applications."},desktopAppTextWindows:{message:"LanguageTool for Windows is now available and corrects your writing directly in Outlook, Word, and many more applications."},dialogAllLanguages:{message:"All languages:"},dialogCounterCharactersOption:{message:"Characters"},dialogCounterCharactersPlural:{message:"$number$ characters",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 character"},dialogCounterSentencesOption:{message:"Sentences"},dialogCounterSentencesPlural:{message:"$number$ sentences",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 sentence"},dialogCounterWordsOption:{message:"Words"},dialogCounterWordsPlural:{message:"$number$ words",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 word"},dialogDisableMenuDisableChecking:{message:"Disable on this website"},dialogDisableMenuPauseChecking:{message:"Only disable until next visit"},dialogEnableInDialogHeadline:{message:"Add-on is disabled"},dialogEnableInDialogText:{message:"Click to enable Spelling and Grammar Check."},dialogFailStateHeadline:{message:"Oops…"},dialogFailStateText:{message:"Something went wrong. Please try again."},dialogMainMenuPickyMode:{message:"Picky mode"},dialogMainMenuPickyModeInfo:{message:"Enable the picky mode to perfect your writing."},dialogMainMenuPremiumMistake:{message:"Premium suggestions"},dialogMainMenuRegularMistake:{message:"Suggestions"},dialogMainMenuTextScore:{message:"Text score"},dialogNeedsLanguageHintHeadline:{message:"Language could not be detected"},dialogNeedsLanguageHintIgnore:{message:"Ignore for now"},dialogNeedsLanguageHintText:{message:"The language of your text could not be detected. Either set it manually or keep on typing."},dialogPositionMenuDefault:{message:"Default"},dialogPositionMenuLeft:{message:"Left"},dialogPositionMenuRight:{message:"Right"},dialogPremiumButton:{message:"Learn more"},dialogPremiumHeadlinePlural:{message:"$count$ more writing issues found",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"1 more writing issue found"},dialogPremiumText:{message:"Get even more style, punctuation, and grammar suggestions by using LanguageTool Premium"},dialogRecommendedLanguages:{message:"Recommended for you:"},dialogScrollHintHeadline:{message:"Suggestions"},dialogScrollHintText:{message:"Scroll through your text to see more suggestions"},dialogScrollToLink:{message:"Show in text"},dialogSelectLanguageLabel:{message:"Select language"},dialogTextTooLongButton:{message:"Learn more"},dialogTextTooLongHeadline:{message:"This text is a little long"},dialogTextTooLongText:{message:"Upgrade to Premium and get advanced grammar as well as style suggestions for long texts."},dialogTextTooShortHeadline:{message:"Text is too short"},dialogTextTooShortText:{message:"Please enter at least 5 characters to start checking for issues"},dialogTooltipDisableChecking:{message:"Disable checking"},dialogTooltipHelp:{message:"Help"},dialogTooltipHelpCenter:{message:"Go to help center"},dialogTooltipPosition:{message:"Dialog position"},dialogTooltipSaveText:{message:"Save text"},dialogTooltipSendFeedback:{message:"Send feedback"},dialogTooltipSettings:{message:"Settings"},dialogTooltipUserStatistics:{message:"Usage statistics"},dialogUnsupportedLanguageHeadline:{message:"This language is not supported"},dialogUnsupportedLanguageLabel:{message:"Unsupported language"},dialogUnsupportedLanguageText:{message:"LanguageTool supports 30+ other languages (e.g., English, German, Spanish, French, Portuguese, Dutch, or Russian)."},dismissSuggestions:{message:"Ignore"},domainsDesc:{message:"Disable checking on some websites"},edgeWebstoreSiteNotSupported:{message:"Sorry, LanguageTool doesn’t work on the website of the Edge Add-on Store. It works anywhere else you write (e.g., Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Next issue"},editorCardNextSentence:{message:"Next sentence"},el:{message:"Greek"},en:{message:"English"},en_AU:{message:"English (Australian)"},en_CA:{message:"English (Canadian)"},en_GB:{message:"English (British)"},en_NZ:{message:"English (New Zealand)"},en_US:{message:"English (American)"},en_ZA:{message:"English (South Africa)"},enableEverywhereButton:{message:"Enable for every text field"},enableHereButton:{message:"Enable only for this text field"},enableInDialog:{message:"Click to enable Spelling<br>and Grammar Check"},enableRuleTooltip:{message:"Click to enable rule"},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Yay, no errors found!"},errorCardAllDoneDescription:{message:"You can be proud of yourself"},errorCardHiddenMatchButton:{message:"Unlock all"},errorCardHiddenMatchCaption:{message:"A taste of Premium"},errorCardKeyboardInstructions:{message:"Select via $enter$ or $shiftEnter$ to jump to next",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ more hidden matches found",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"1 more hidden match found"},errorCardPremiumTeaserCta:{message:"Unlock all hidden matches"},errorCardPremiumTeaserGrammarSuggestions:{message:"Hidden <lt-em>Grammar</lt-em> suggestions"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Hidden <lt-em>Punctuation</lt-em> suggestions"},errorCardPremiumTeaserReadMore:{message:"Read more"},errorCardPremiumTeaserStyleSuggestions:{message:"Hidden <lt-em>Style</lt-em> suggestions"},errorCardPremiumTeaserText:{message:"There are more matches in this text only LanguageTool Premium is able to find."},errorCardTurnOffPickyModeButton:{message:"Disable here"},errorCardTurnOffPickyModeCaption:{message:"Picky Suggestion"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ words have been ignored",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 word has been ignored"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ rules have been ignored",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 rule has been ignored"},es:{message:"Spanish"},eu:{message:"Basque"},experimentalLink:{message:"Advanced settings (only for professional users)"},extensionUpdatedHeadline:{message:"This extension has been updated"},extensionUpdatedText:{message:"Please click on the $iconHtml$ icon in your browser’s toolbar or reload the page to enable spell and grammar checking again.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Persian"},feedbackButton:{message:"Send message to LanguageTool"},feedbackDirectMail:{message:"If you want to send screenshots, you can also e-mail us via $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Sorry. Could not send your message. Please try again later."},feedbackHeadline:{message:"Send your feedback to LanguageTool"},feedbackPrivacyPolicy:{message:"Privacy Policy"},feedbackSenderPlaceholder:{message:"Enter your e-mail address …"},feedbackSuccess:{message:"Thanks for sending us your feedback."},feedbackTextPlaceholder:{message:"Enter your feedback …"},fixSentenceCardHeadlineApply:{message:"Correct complete sentence"},fixSentenceCardHeadlineLoading:{message:"Looking for sentence fix…"},fixSentenceCardHeadlineMissing:{message:"Sorry, found no fix"},forcePreferredLanguagesOptionLabel:{message:"Always only use these languages for automatic language detection"},fr:{message:"French"},ga:{message:"Irish"},generalSettingsHeadline:{message:"General settings"},gl:{message:"Galician"},googleDocsDisableButton:{message:"Disable LanguageTool in this doc"},googleDocsEnableButton:{message:"Enable LanguageTool"},googleDocsEnableHint:{message:"You can re-enable LanguageTool’s grammar and style checker here"},googleDocsNewTeaserHeadline:{message:"LanguageTool for Google Docs is here!"},googleDocsNewTeaserText:{message:"Next to each page you can now see how many issues LanguageTool has detected."},googleDocsPagelessModeUnsupported:{message:"The new “pageless” mode is currently not supported. We are already working on it."},googleSlidesDisableButton:{message:"Disable LanguageTool in this presentation"},googleSlidesEnableButton:{message:"Enable LanguageTool"},googleSlidesEnableHint:{message:"You can re-enable LanguageTool’s grammar and style checker here"},googleSlidesNewTeaserHeadline:{message:"LanguageTool for Google Slides is here!"},googleSlidesNewTeaserText:{message:"Next to each slide, LanguageTool shows you how many issues have been detected."},grammarError:{message:"Grammar"},haveAccountDesc:{message:"Create a free account at"},historicPremiumErrorsButton:{message:"Learn more"},historicPremiumErrorsHeadline:{message:"Did you know?"},historicPremiumErrorsText:{message:"You could have avoided <strong>$count$ grammar & style issues</strong> in the last days with LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ grammar and style issues</strong> could have been avoided in the last days with LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Don’t auto-check on these domains:"},ignoreHere:{message:"Ignore in this text"},ignoredRules:{message:"These rules have been turned off, click a rule to turn it on again:"},ignoredRulesDesc:{message:"Disabled rules"},incompleteResult:{message:"Results are incomplete: Text checking was stopped due to too many errors."},invalidUsernameOrPassword:{message:"Error: Please check your e-mail and password in the settings"},is:{message:"Icelandic"},it:{message:"Italian"},ja:{message:"Japanese"},km:{message:"Khmer"},language:{message:"Language:"},languageOptionsLink:{message:"Language options"},languagetoolNotSupported:{message:"The extension doesn’t work on this website, as the website offers the same functionality"},localServer:{message:"Local server (localhost)—requires LanguageTool server running locally"},localServerDocs:{message:"documentation"},lt:{message:"Lithuanian"},managedLoginButton1:{message:"Log in"},managedLoginButton2:{message:"Log in with your corporate account"},managedLoginDescription:{message:"Please log in with your corporate account in order to use LanguageTool."},managedLoginHeadline:{message:"Log in"},messagePopupTurnOnPrimaryButton:{message:"Got it!"},messagePopupTurnOnSecondaryButton:{message:"Reactivate text checking"},messagePopupTurnOnheadline:{message:"Spell checking is disabled for this page"},messagePopupTurnOntext:{message:"To reactivate it, click on the LanguageTool icon in your toolbar and click on the “Check Grammar and Spelling” toggle button"},ml:{message:"Malayalam"},moreDetails:{message:"More details…"},motherTongueDesc:{message:"Mother tongue"},motherTongueExpl:{message:"Set mother tongue if you want to be warned about false friends when checking texts not written in your mother tongue."},msOnlineOfficeNotSupported:{message:"Sorry, Microsoft Word Online is not supported by this extension—just install <a target='_blank' href='$url$'>this extension</a> instead.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Dutch"},no:{message:"Norwegian"},noErrorsFound2:{message:"Yay, no errors found!"},noErrorsFoundText:{message:"You can be proud of yourself"},notificationUndoDescription:{message:"Press %{cmd} to undo"},notificationUndoLabel:{message:"Paraphrasing applied"},onboardLanguageSelectorCta:{message:"Start using LanguageTool"},onboardLanguageSelectorDescription:{message:"To provide you the best suggestions, we need to know what languages you use most often."},onboardLanguageSelectorHeading:{message:"Select the languages you typically write"},onboardingHeadline:{message:"Your writing will now be improved"},onboardingIntro:{message:"Your text will now be checked in most text fields while you type."},onboardingIntroThunderbird:{message:"Your text will now be checked while you compose your e-mails."},onboardingNote1:{message:"Reload <strong>all open web pages</strong> to activate the extension"},onboardingNote2:{message:"This extension does not work with text fields in the <strong>Chrome Web Store</strong> or on <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"To disable the extension for a website, click the <strong>LT icon in the browser toolbar</strong>"},onboardingNote4:{message:"<strong>Synonyms</strong> can be requested by double-clicking a word in a text field (e.g., on Gmail, Facebook, or Google Docs)"},onboardingNoteThunderbird1:{message:"Start a new email to activate the extension."},onboardingNoteThunderbird2:{message:"To disable the extension, click the LT icon in the top-right of the email composing window."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Keyboard shortcut"},openCardHotkeyExpl:{message:"Press this key <strong>twice quickly</strong> when the blinking text cursor is in an underlined word. Of course, this also works for paraphrasing and synonyms."},openCardHotkeyOff:{message:"Off"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Other server—requires LanguageTool server running there"},overleafNewTeaserHeadline:{message:"LanguageTool for Overleaf is here!"},overleafNewTeaserText:{message:"Scroll through your text to see spelling, grammar, and style suggestions."},oxfordSpellingOptionLabel:{message:"Prefer Oxford spelling"},password:{message:"Password:"},personalDictionaryMultipleWordError:{message:"Multi-word expressions are only supported for users who have a LanguageTool account"},phrasesCardCaption:{message:"Paraphrases"},phrasesCardConfirmationButton:{message:"Accept Privacy Policy"},phrasesCardConfirmationHeading:{message:"Paraphrase your sentences with A.I."},phrasesCardConfirmationText:{message:"You need a shorter, more fluent, or more formal text? We’ve got you covered. Please consult our <a target='_blank' href='$privacyUrl$' rel='noopener'>Privacy Policy</a> regarding data processing.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"All results"},phrasesCardGeneralError:{message:"There was an error loading phrases"},phrasesCardHeadline:{message:"AI-generated alternatives"},phrasesCardLabelFluency:{message:"Fluent"},phrasesCardLabelFormality:{message:"Formal"},phrasesCardLabelGeneral:{message:"Paraphrased"},phrasesCardLabelParaphrase:{message:"Fluent"},phrasesCardLabelShortened:{message:"Concise"},phrasesCardLabelSimplicity:{message:"Simple"},phrasesCardNoResult:{message:"Unfortunately, no paraphrasing option could be generated for this sentence."},phrasesCardNoSentence:{message:"Could not detect sentence."},phrasesCardNotSupportedHeading:{message:"Sentence paraphrasing not available… yet"},phrasesCardNotSupportedText:{message:"Sentence paraphrasing is currently not available for this language (but for English, Spanish, …). We’re <strong>working hard</strong> to make it available for other languages as soon as possible."},phrasesCardRephrasingLimitPlural:{message:"Limited to <strong>$count$</strong> more sentences today",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limited to <strong>one</strong> more sentence today"},phrasesCardRephrasingLimitUnlock:{message:"Unlock unlimited!"},phrasesCardSentencePrefix:{message:"Original"},phrasesCardTimeoutError:{message:"The server did not respond in time."},pl:{message:"Polish"},popupGeneralSettingsHeadline:{message:"General settings"},popupGlobalSettingsHeadline:{message:"Global settings"},popupGlobalSettingsHeadlineInfo:{message:"All websites"},popupOnboardingHeadline:{message:"Welcome! You can now use LanguageTool:"},popupOnboardingStep1:{message:"Click in any multi-line text field (e.g., on Gmail, Facebook, …)"},popupOnboardingStep2:{message:"You will find an icon that looks like $icon1Html$ or $icon2Html$ in the bottom-right corner",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Type some text. Writing issues will be <u>underlined</u>"},popupOnboardingStep4:{message:"Click on an underlined word to get suggestions"},popupOpenEditorButton:{message:"Open Editor"},popupOptionCaseText:{message:"Check upper and lower case"},popupOptionCheckText:{message:"Enable LanguageTool"},popupOptionContextMenu:{message:"Show in right-click menu"},popupOptionContextMenuDescription:{message:"Simply select text on any website, right click, and check it for grammar mistakes."},popupOptionPickyMode:{message:"Picky mode"},popupOptionPickyModeDescription:{message:"For perfect style, tonality, and typography"},popupOptionRephrasing:{message:"Paraphrasing functionality"},popupOptionRephrasingDescription:{message:"Rewrite entire sentences with AI. Simply place your mouse over the symbol located in the bottom-right corner of every text field and click the paraphrasing icon to get suggestions for the current sentence."},popupOptionSynonyms:{message:"Enable double-click"},popupOptionSynonymsDescription:{message:"Double-click on any word in a multiline text field to see synonyms and paraphrased alternatives of full sentences."},popupOptionValidate:{message:"Check selected text"},popupOptionValidateInEditor:{message:"Check selected text in Editor"},popupPremiumHeadline:{message:"Write like a Pro"},popupPremiumLink:{message:"Learn more"},popupPremiumText:{message:"Upgrade to LanguageTool Premium to not only find more grammar and punctuation errors, but also text style issues."},popupSettingsHeadline:{message:"Settings for this website"},popupSettingsHeadlineInfo:{message:"Current website"},popupSettingsHover:{message:"More advanced settings"},popupUserStatisticsHover:{message:"Show usage statistics"},poweredBy:{message:"Powered by <b>LanguageTool</b>"},premiumErrorsButton:{message:"Learn more"},premiumErrorsTextPlural:{message:"Your text contains <strong>$count$ advanced writing issues</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Your text contains <strong>one advanced writing issue</strong>"},privacyHeadline:{message:"Welcome to LanguageTool"},privacyLinkForDefaultServer:{message:"For details, see <a href='$privacyUrl$' target='_blank'>our privacy policy</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Checking can be <strong>disabled at any time</strong>"},privacyListUnsaved:{message:"<strong>Your text will not be stored</strong>"},privacyNoteForDefaultServer:{message:"This extension will check your text by sending it to <a href='$serverUrl$' target='_blank'>$serverHost$</a> over an encrypted connection.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"This extension will check your text by sending it to $serverUrl$. To switch back to the default server, please visit the extension’s options page.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Your writing assistant"},privacyPolicy:{message:"Privacy Policy"},pt:{message:"Portuguese"},pt_AO:{message:"Portuguese (Angola preAO)"},pt_BR:{message:"Portuguese (Brazil posAO)"},pt_CV:{message:"Portuguese (Cape Verde)"},pt_MZ:{message:"Portuguese (Mozambique preAO)"},pt_PT:{message:"Portuguese (Portugal posAO)"},pt_PT_post_reform:{message:"Portuguese (Portugal posAO)"},pt_PT_pre_reform:{message:"Portuguese (Portugal preAO)"},punctuationError:{message:"Punctuation"},ratingHeadline:{message:"How do you like LanguageTool?"},ratingText:{message:"Give us your feedback"},ratingThankYou:{message:"Thank you."},ratingUnhappyQuestion:{message:"Please tell us why you are unhappy"},removeExtraWhitespace:{message:"Remove extra white space"},rephrasingTeaserCaption:{message:"Need more right away?"},rephrasingTeaserCountdownSuffix:{message:"$count$ Paraphrasings",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Get more tomorrow"},rephrasingTeaserCta:{message:"Unlock all Premium benefits"},rephrasingTeaserDescription:{message:"Benefit from unlimited paraphrasing and much more:"},rephrasingTeaserListItem1:{message:"<strong>Check up to $count$</strong> characters in a single text",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Advanced style suggestions</strong> for even better texts"},rephrasingTeaserListItem3:{message:"<strong>Unlimited paraphrasing</strong> to make your text more versatile"},replaceWithWhitespace:{message:"Replace with white space"},reportAnIssue:{message:"Send feedback"},reviewChromeHeadline:{message:"Would you give us a rating in the Chrome Store?"},reviewEdgeHeadline:{message:"Would you give us a rating in the Edge Add-ons Store?"},reviewFirefoxHeadline:{message:"Would you give us a rating in the Firefox Store?"},reviewLink:{message:"Rate now"},reviewOperaHeadline:{message:"Would you give us a rating in the Opera Add-ons Store?"},reviewSafariHeadline:{message:"Would you give us a rating in the App Store?"},ro:{message:"Romanian"},ru:{message:"Russian"},save:{message:"Save"},sendFeedback:{message:"Send feedback"},sentenceSplittingCardApplyButtonLabel:{message:"Apply"},sentenceSplittingCardHeadlineApply:{message:"Suggestion:"},sentenceSplittingCardHeadlineLoading:{message:"Splitting the sentence…"},sentenceSplittingCardHeadlineMissing:{message:"Sorry, no suggestion found"},serverNotAvailable:{message:"Local server not available"},serverText:{message:"LanguageTool server:"},serverUrlIsInvalid:{message:"This URL is not valid"},settingsAccountBulletListEditor:{message:"Use the editor as a distraction-free writing environment"},settingsAccountBulletListSave:{message:"Save texts for later "},settingsAccountBulletListSync:{message:"Synchronize your settings and personal dictionary across multiple browsers and devices"},settingsAccountDescription:{message:"Log in and benefit from the following advantages:"},settingsAccountHeadline:{message:"Account"},settingsAccountSubheadline:{message:"Log in with your LanguageTool account"},settingsAddAutoCheckDomainHint:{message:"This domain hasn’t been added yet. Press RETURN to add it."},settingsAddDomainHint:{message:"This domain hasn’t been added yet. Press RETURN to add it."},settingsAddIgnoredDomainHint:{message:"This domain hasn’t been added yet. Press RETURN to add it."},settingsAddOrFilterAutoCheckDomains:{message:"Add or find domain …"},settingsAddOrFilterDomains:{message:"Add or find domain …"},settingsAddOrFilterIgnoredDomains:{message:"Add or find domain …"},settingsAddOrFilterWords:{message:"Add or find word …"},settingsAddWordHint:{message:"This word doesn’t exist yet in your dictionary. Press RETURN to add it."},settingsAreYouSure:{message:"Are you sure? There’s no undo."},settingsCheckForPaidSubscriptionError:{message:"Checking your subscription status failed"},settingsClearAll:{message:"Clear all"},settingsCopyDictionary:{message:"Copy to clipboard"},settingsCopyDictionarySuccessful:{message:"Copied to clipboard"},settingsDeleteAutoCheckDomain:{message:"Delete domain"},settingsDeleteIgnoredDomain:{message:"Delete domain"},settingsDictionaryHeadline:{message:"Personal dictionary"},settingsDomainInvalid:{message:"Please enter a valid domain that hasn’t been added yet."},settingsEmptyAutoCheckDomains:{message:"You haven’t enabled auto-check on any websites yet"},settingsEmptyDictionary:{message:"Your personal dictionary is currently empty"},settingsEmptyDomainList:{message:"You haven’t disabled any websites yet"},settingsEmptyIgnoredDomains:{message:"You haven’t disabled auto-check on any websites yet"},settingsEmptyIgnoredRules:{message:"You haven’t disabled any rules yet. You can disable rules once they appear in a text."},settingsEnableAllRules:{message:"Enable all"},settingsEnableDomain:{message:"Enable domain"},settingsExperimentalSuccess:{message:"Your settings have been successfully saved."},settingsForgotPasswordLink:{message:"Forgot your password?"},settingsHeadline:{message:"Settings"},settingsLanguageVariantsDescription:{message:"To always provide you with the best suggestions, please let us know which variant of the individual languages you speak."},settingsLanguageVariantsHeadline:{message:"Language variants"},settingsLoggedInAs:{message:"You’re logged in as $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Login"},settingsLoginError:{message:"You couldn’t be logged in. Please check your e-mail and password."},settingsLoginSuccess:{message:"You are now logged in"},settingsLogoutButton:{message:"Logout"},settingsLogoutSuccess:{message:"You have logged out"},settingsManageAccountButton:{message:"Manage account"},settingsPasswordPlaceholder:{message:"Password"},settingsPreferredLanguagesCompleteList:{message:"All languages"},settingsPreferredLanguagesDescription:{message:"Set the languages you usually use to write texts. This helps LanguageTool in automatically detecting the right language."},settingsPreferredLanguagesHeadline:{message:"Preferred languages"},settingsPreferredLanguagesPopularList:{message:"Popular languages"},settingsPremiumButton:{message:"Discover LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"All <strong>premium features</strong> are activated."},settingsPremiumHeadline:{message:"Upgrade your writing game"},settingsPremiumText:{message:"Find advanced grammar, style, and punctuation issues or check texts with up to 150,000 characters."},settingsServerUrlDisabled:{message:"You can only set a custom server when you log out of your LanguageTool account."},settingsUnknownError:{message:"An unexpected error happened"},siteDisabledPerGroupPolicy:{message:"Checking on this site is disabled per Group Policy."},siteTemporarilyUnsupported:{message:"Sorry, LanguageTool has temporarily disabled support for this website. We are currently working on a fix. It should only be a matter of days."},sk:{message:"Slovak"},skip:{message:"Skip"},sl:{message:"Slovenian"},spellingError:{message:"Spelling"},sr:{message:"Serbian"},sr_BA:{message:"Serbian (Bosnia)"},sr_HR:{message:"Serbian (Croatia)"},sr_ME:{message:"Serbian (Montenegro)"},sr_RS:{message:"Serbian (Serbia)"},statusIconEnableLT:{message:"Enable LanguageTool—Spelling and Grammar Check"},statusIconError:{message:"Error"},statusIconMoreErrors:{message:"Results are incomplete: Text checking was stopped due to too many errors."},statusIconPermissionRequired:{message:"Cannot check text—confirm privacy policy first"},statusIconReload:{message:"The extension has been updated. Please reload page to enable spell and grammar checking."},statusIconToolTip:{message:"LanguageTool—Spelling and Grammar Check"},suggestionError:{message:"Style"},suggestionOnlyVisibleToPremiumButton:{message:"Access all benefits of Premium"},suggestionOnlyVisibleToPremiumText:{message:"This is an advanced suggestion that is only available in the Premium version of LanguageTool. Upgrade to Premium to get suggestions like this and many more."},sv:{message:"Swedish"},switchToAmericanEnglish:{message:"Switch to American English"},switchToAustralianEnglish:{message:"Switch to Australian English"},switchToBritishEnglish:{message:"Switch to British English"},switchToCanadianEnglish:{message:"Switch to Canadian English"},switchToNewZealandEnglish:{message:"Switch to New Zealand English"},switchToSouthAfricanEnglish:{message:"Switch to South African English"},synonymsCardGeneralError:{message:"There was an error loading synonyms"},synonymsCardHeadline:{message:"Synonyms"},synonymsCardLanguageNotSupported:{message:"Synonyms for this language aren’t supported yet."},synonymsCardLess:{message:"less"},synonymsCardLoadMoreAlternatives:{message:"load more alternatives"},synonymsCardLoading:{message:"Loading …"},synonymsCardMore:{message:"more"},synonymsCardNoSynonymsAvailable:{message:"No synonyms available for this word"},synonymsCardProvidedBy:{message:"Provided by <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Sentence"},synonymsCardTabWord:{message:"Word"},synonymsCardTooltipReadText:{message:"Pronounce word"},synonymsTutorialHeadline:{message:"How to get synonyms"},synonymsTutorialText:{message:"Get synonyms for any word by double-clicking on it. Works in every text field that LanguageTool supports."},ta:{message:"Tamil"},textTooLong:{message:"Sorry, this text is too long to be checked."},timeoutError:{message:"Timeout from server—please try again later ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tagalog"},tooManyErrors:{message:"This text seems to contain too many issues. Are you sure that the correct language is selected?"},tooManyRequests:{message:"Request limit exceeded—please wait a minute and LanguageTool should be available again."},toolbarDisableMenuDisableChecking:{message:"Disable on this website"},toolbarDisableMenuPauseChecking:{message:"Only disable until next visit"},toolbarTooltipDisableChecking:{message:"Disable checking"},toolbarTooltipRephrasing:{message:"Paraphrase sentence"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Sentence paraphrasing is currently not available in this language."},tr:{message:"Turkish"},tryAgain:{message:"Try again"},turnOffPickyMode:{message:"Turn off picky mode in this text"},turnOffRule:{message:"Turn off rule everywhere"},turnOffRulePicky:{message:"Grammar suggestions cannot be turned off in picky mode"},turnOnHint:{message:"You can enable the extension again here"},uk:{message:"Ukrainian"},unknownError:{message:"Sorry, something went wrong while checking your text. Restarting your browser might solve this."},upgradeTeaserDiscount:{message:"Save $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Limited-Time Offer"},username:{message:"E-Mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ writing issues found",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"One writing issue found"},validatorHasMistakesText:{message:"Click on the highlighted words to correct them."},validatorHasPremiumErrorsButton:{message:"Learn more"},validatorHasPremiumErrorsHeadlinePlural:{message:"Your text contains $count$ advanced writing issues",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Your text contains one advanced writing issue"},validatorHasPremiumErrorsText:{message:"Upgrade to LanguageTool Premium to find many more grammar, style, and punctuation mistakes"},validatorLoadingHint:{message:"Checking text …"},validatorNoMistakesHeadline:{message:"Congrats, no errors found!"},validatorNoTextStatus:{message:"Type or paste your text to check it"},validatorPlaceholder:{message:"Please enter or paste your text here …"},validatorPremiumButton:{message:"Upgrade"},validatorPremiumHeadline:{message:"Find more writing issues and become a better writer"},validatorPremiumReason1:{message:"More sophisticated grammar, punctuation, and style checking"},validatorPremiumReason2:{message:"Check longer texts (up to 150,000 characters)"},validatorPremiumReason3:{message:"Auto-detection for invalid numbers (e.g., IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Add-on for Microsoft Office"},validatorTextTooLongStatus:{message:"Sorry, this text is too long to be checked."},variantCaDesc:{message:"Interpret Catalan as:"},variantDeDesc:{message:"Interpret German as:"},variantEnDesc:{message:"Interpret English as:"},variantPtDesc:{message:"Interpret Portuguese as:"},webstoreSiteNotSupported:{message:"Sorry, LanguageTool doesn’t work on the website of the Chrome Web Store. It works anywhere else you write (e.g., Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Chinese"}},es:{accessDeniedError2:{message:"El servidor envió un mensaje de «Acceso denegado». Por favor, comprueba tu correo electrónico y contraseña en las opciones e inténtalo de nuevo."},addLanguage:{message:"Añadir idioma"},addToDictionaryCaption:{message:"Agregar “$word$” al diccionario personal",placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Aplicar"},appDesc:{message:"Mejora al instante tus textos con el revisor de gramática de LanguageTool y su opción de parafrasear oraciones."},appDescThunderbird:{message:"Revisa la ortografía y la gramática de tus correos"},appName:{message:"Corrector ortográfico y gramatical y parafraseador de textos — LanguageTool"},ar:{message:"árabe"},ast:{message:"asturiano"},attachScreenshot:{message:"Adjuntar la captura de pantalla de la página"},autoCheckDesc:{message:"Revisión automática en todos los dominios por defecto"},autoCheckOnDomainsDesc:{message:"Revisar automáticamente el texto en estos dominios:"},be:{message:"bielorruso"},br:{message:"bretón"},ca:{message:"catalán"},ca_ES_valencia:{message:"catalán (valenciano)"},cardContentShowAll:{message:"Mostrar todos"},cardContentShowSubset:{message:"Mostrar menos"},cardSelectorLabelChecker:{message:"Corregir"},cardSelectorLabelParaphraser:{message:"Parafrasear"},changelogDiscountExpires:{message:"La oferta expira en"},changelogTitle:{message:"Nuevas funciones de LanguageTool"},close:{message:"Cerrar"},cloudServer:{message:"Servidor en la nube (languagetool.org)"},confirm:{message:"De acuerdo, lo tengo"},connectionProblem:{message:"No se ha podido conectar con $serverUrl$; comprueba la conexión de internet o inténtalo de nuevo en un minuto",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Revisar ortografía y gramática…"},contextMenuValidateInEditor:{message:"Revisar el texto en el editor"},continue:{message:"Continuar"},correctAllQuotes:{message:"Corregir todas las comillas"},customSuggestionError:{message:"Guía de estilo"},da:{message:"danés"},da_DK:{message:"danés (Dinamarca)"},de:{message:"alemán"},de_AT:{message:"alemán (austriaco)"},de_CH:{message:"alemán (suizo)"},de_DE:{message:"alemán (Alemania)"},de_DE_x_simple_language:{message:"alemán (alemán sencillo)"},defaultServerLink:{message:"Valor por defecto"},deleteWord:{message:"Eliminar"},desktopAppAction:{message:"Descárgalo GRATIS"},desktopAppHeadlineMac:{message:"Corrige cualquier texto en tus aplicaciones favoritas"},desktopAppHeadlineWindows:{message:"Corrige cualquier texto en tus aplicaciones favoritas"},desktopAppTextMac:{message:"LanguageTool para Mac corrige tu escritura directamente en Apple Mail, Pages, Word, Slack y muchas otras aplicaciones."},desktopAppTextWindows:{message:"LanguageTool para Windows está ahora disponible y corrige tu escritura en Outlook, Word y en muchas otras aplicaciones."},dialogAllLanguages:{message:"Todos los idiomas:"},dialogCounterCharactersOption:{message:"Caracteres"},dialogCounterCharactersPlural:{message:"$number$ caracteres",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 carácter"},dialogCounterSentencesOption:{message:"Frases"},dialogCounterSentencesPlural:{message:"$number$ frases",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 frase"},dialogCounterWordsOption:{message:"Palabras"},dialogCounterWordsPlural:{message:"$number$ palabras",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 palabra"},dialogDisableMenuDisableChecking:{message:"Desactivar en este sitio web"},dialogDisableMenuPauseChecking:{message:"Desactivar solo hasta la próxima visita"},dialogEnableInDialogHeadline:{message:"El complemento está desactivado."},dialogEnableInDialogText:{message:"Haz clic para activar la revisión ortográfica y gramatical"},dialogFailStateHeadline:{message:"Ups…"},dialogFailStateText:{message:"Algo fue mal. Por favor, inténtalo otra vez."},dialogMainMenuPickyMode:{message:"Modo perfeccionista"},dialogMainMenuPickyModeInfo:{message:"Activa el modo perfeccionista para mejorar tu escritura."},dialogMainMenuPremiumMistake:{message:"sugerencias Premium"},dialogMainMenuRegularMistake:{message:"sugerencias"},dialogMainMenuTextScore:{message:"Valoración del texto"},dialogNeedsLanguageHintHeadline:{message:"No se pudo detectar el idioma."},dialogNeedsLanguageHintIgnore:{message:"Ignorar por ahora"},dialogNeedsLanguageHintText:{message:"No pudimos detectar el idioma. Establécelo manualmente o bien sigue probando."},dialogPositionMenuDefault:{message:"por defecto"},dialogPositionMenuLeft:{message:"izquierda"},dialogPositionMenuRight:{message:"derecha"},dialogPremiumButton:{message:"Más información"},dialogPremiumHeadlinePlural:{message:"$count$ problemas más de escritura encontrados",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Se ha encontrado 1 problema más de escritura."},dialogPremiumText:{message:"Obtén aún más sugerencias de estilo, puntuación y gramática con LanguageTool Premium"},dialogRecommendedLanguages:{message:"Recomendado para ti:"},dialogScrollHintHeadline:{message:"Sugerencias"},dialogScrollHintText:{message:"Desplázate por tu documento para ver más sugerencias"},dialogScrollToLink:{message:"Mostrar en el texto"},dialogSelectLanguageLabel:{message:"Seleccionar idioma"},dialogTextTooLongButton:{message:"Más información"},dialogTextTooLongHeadline:{message:"El texto es un poco largo"},dialogTextTooLongText:{message:"Actualiza a Premium y obtén sugerencias avanzadas de gramática y estilo para textos largos."},dialogTextTooShortHeadline:{message:"El texto es demasiado corto"},dialogTextTooShortText:{message:"Introduce al menos 5 caracteres para comenzar a verificar errores."},dialogTooltipDisableChecking:{message:"Deshabilitar la revisión"},dialogTooltipHelp:{message:"Ayuda"},dialogTooltipHelpCenter:{message:"Ir al centro de ayuda"},dialogTooltipPosition:{message:"Posición del cuadro de diálogo"},dialogTooltipSaveText:{message:"Guardar el texto"},dialogTooltipSendFeedback:{message:"Enviar comentarios"},dialogTooltipSettings:{message:"Ajustes"},dialogTooltipUserStatistics:{message:"Estadísticas de uso"},dialogUnsupportedLanguageHeadline:{message:"Este idioma no está soportado"},dialogUnsupportedLanguageLabel:{message:"Lenguaje no soportado"},dialogUnsupportedLanguageText:{message:"LanguageTool soporta más de 30 idiomas diferentes (por ejemplo, inglés, alemán, español, catalán, francés, portugués, neerlandés o ruso)."},dismissSuggestions:{message:"Descartar"},domainsDesc:{message:"Desactivar en estos dominios (un dominio por línea):"},edgeWebstoreSiteNotSupported:{message:"LanguageTool no funciona en el sitio web de extensiones de Edge. Funciona en otros sitios donde puedes escribir (p. ej. Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Siguiente"},editorCardNextSentence:{message:"Próxima oración"},el:{message:"griego"},en:{message:"inglés"},en_AU:{message:"inglés (australiano)"},en_CA:{message:"inglés (canadiense)"},en_GB:{message:"inglés (británico)"},en_NZ:{message:"inglés (Nueva Zelanda)"},en_US:{message:"inglés (americano)"},en_ZA:{message:"inglés (sudafricano)"},enableEverywhereButton:{message:"Habilitar en todos los campos de texto"},enableHereButton:{message:"Habilitar solo para este campo de texto"},enableInDialog:{message:"Haz clic aquí para activar <br>el corrector ortográfico y gramatical"},enableRuleTooltip:{message:"Haz clic para activar la regla"},eo:{message:"esperanto"},errorCardAllDoneCaption:{message:"¡Genial, no se han encontrado errores!"},errorCardAllDoneDescription:{message:"Puedes estar orgulloso de ti mismo"},errorCardHiddenMatchButton:{message:"Desvelar todos"},errorCardHiddenMatchCaption:{message:"Una muestra de la versión Premium"},errorCardKeyboardInstructions:{message:"Seleccionar con $enter$ o $shiftEnter$ para saltar al siguiente",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ errores ocultos más encontrados",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"1 error oculto más encontrado"},errorCardPremiumTeaserCta:{message:"Liberar todos los errores ocultos"},errorCardPremiumTeaserGrammarSuggestions:{message:"Sugerencias <lt-em>de gramática</lt-em> escondidas"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Sugerencias <lt-em>de puntuación</lt-em> escondidas"},errorCardPremiumTeaserReadMore:{message:"Leer más"},errorCardPremiumTeaserStyleSuggestions:{message:"Sugerencias <lt-em>de estilo</lt-em> escondidas"},errorCardPremiumTeaserText:{message:"En este texto, hay más errores que solo la versión Premium de LanguageTool es capaz de encontrar."},errorCardTurnOffPickyModeButton:{message:"Inhabilitar aquí"},errorCardTurnOffPickyModeCaption:{message:"Sugerencia del modo perfeccionista"},errorsIgnoredByDictionary:{message:"Se han ignorado $countIgnoredByDictionary$ palabras",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"Se ha ignorado una palabra"},errorsIgnoredByRules:{message:"Se han ignorado $countIgnoredByRules$ reglas",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"Se ha ignorado una regla"},es:{message:"español"},eu:{message:"vasco"},experimentalLink:{message:"Mostrar ajustes avanzados (solo para usuarios profesionales)"},extensionUpdatedHeadline:{message:"Esta extensión se ha actualizado."},extensionUpdatedText:{message:"Haz clic en el icono $iconHtml$ en la barra de herramientas del navegador o vuelve a cargar la página para habilitar la revisión ortográfica y gramatical de nuevo.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"persa"},feedbackButton:{message:"Enviar el mensaje a LanguageTool"},feedbackDirectMail:{message:"Si deseas enviarnos capturas de pantalla, puedes hacerlo con un correo electrónico a $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"No se pudo enviar el mensaje. Por favor, inténtalo más tarde."},feedbackHeadline:{message:"Envía tus comentarios a LanguageTool"},feedbackPrivacyPolicy:{message:"Política de privacidad"},feedbackSenderPlaceholder:{message:"Introduce tu dirección de correo electrónico…"},feedbackSuccess:{message:"Gracias por enviarnos tu opinión."},feedbackTextPlaceholder:{message:"Introduce tu comentario…"},fixSentenceCardHeadlineApply:{message:"Corregir la oración completa"},fixSentenceCardHeadlineLoading:{message:"Buscando cómo corregir la oración…"},fixSentenceCardHeadlineMissing:{message:"Lo sentimos, no hemos podido encontrar cómo arreglarlo."},forcePreferredLanguagesOptionLabel:{message:"Utiliza siempre únicamente estos idiomas para la detección automática del idioma"},fr:{message:"francés"},ga:{message:"irlandés"},generalSettingsHeadline:{message:"Configuración general"},gl:{message:"gallego"},googleDocsDisableButton:{message:"Desactivar LanguageTool en este documento"},googleDocsEnableButton:{message:"Activar LanguageTool"},googleDocsEnableHint:{message:"Puedes volver a habilitar el verificador de gramática y estilo de LanguageTool aquí"},googleDocsNewTeaserHeadline:{message:"¡LanguageTool para Google Docs está aquí!"},googleDocsNewTeaserText:{message:"Ahora puedes ver cuántos problemas detectó LanguageTool en el lateral de cada página."},googleDocsPagelessModeUnsupported:{message:"De momento el nuevo modo “sin páginas” no está disponible. Ya estamos trabajando en ello."},googleSlidesDisableButton:{message:"Desactiva LanguageTool en esta presentación"},googleSlidesEnableButton:{message:"Activa LanguageTool"},googleSlidesEnableHint:{message:"Puedes reactivar aquí la revisión gramatical y de estilo de LanguageTool"},googleSlidesNewTeaserHeadline:{message:"¡Ya está aquí LanguageTool para Google Slides!"},googleSlidesNewTeaserText:{message:"En el lateral de cada diapositiva, ahora puedes ver cuántos problemas detectó LanguageTool."},grammarError:{message:"Gramática"},haveAccountDesc:{message:"Crear una cuenta gratuita en"},historicPremiumErrorsButton:{message:"Más información"},historicPremiumErrorsHeadline:{message:"¿Lo sabías?"},historicPremiumErrorsText:{message:"Podrías haber evitado <strong>$count$ problemas de estilo y gramática</strong> en los últimos días con LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ problemas de gramática y estilo </strong> podrían haberse evitado en los últimos días con LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"No revisar automáticamente en estos dominios."},ignoreHere:{message:"Ignorar en este texto."},ignoredRules:{message:"Estas reglas se han desactivado, haz clic en una regla para activarla de nuevo:"},ignoredRulesDesc:{message:"Reglas desactivadas"},incompleteResult:{message:"Los resultados son incompletos: la comprobación del texto se ha detenido porque hay demasiados errores."},invalidUsernameOrPassword:{message:"Error: por favor, comprueba tu correo electrónico y contraseña en las opciones"},is:{message:"islandés"},it:{message:"italiano"},ja:{message:"japonés"},km:{message:"jemer"},language:{message:"Idioma:"},languageOptionsLink:{message:"Opciones de idioma"},languagetoolNotSupported:{message:"La extensión no funciona en este sitio web, ya que el sitio web ofrece la misma funcionalidad."},localServer:{message:"Servidor local (localhost) – requiere un servidor de LanguageTool que se ejecute localmente."},localServerDocs:{message:"Documentación"},lt:{message:"lituano"},managedLoginButton1:{message:"Iniciar sesión"},managedLoginButton2:{message:"Inicie sesión con su cuenta corporativa"},managedLoginDescription:{message:"Inicie sesión con su cuenta corporativa para usar LanguageTool."},managedLoginHeadline:{message:"Inicio de sesión"},messagePopupTurnOnPrimaryButton:{message:"¡Entendido!"},messagePopupTurnOnSecondaryButton:{message:"Reactivar revisión de texto"},messagePopupTurnOnheadline:{message:"La revisión ortográfica está desactivada para esta página"},messagePopupTurnOntext:{message:"Para reactivarla, hay que hacer clic en el icono de LanguageTool en tu barra de herramientas y clicar en el botón “Revisar ortografía y gramática”."},ml:{message:"malayo"},moreDetails:{message:"Más detalles…"},motherTongueDesc:{message:"Idioma materno"},motherTongueExpl:{message:"Configura tu idioma nativo si deseas recibir advertencias sobre falsos amigos cuando se revisen textos en un idioma diferente."},msOnlineOfficeNotSupported:{message:"Lo sentimos, esta extensión no funciona con Microsoft Word Online. Instala, en su lugar, <a target='_blank' href='$url$'>esta extensión</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"neerlandés"},no:{message:"noruego"},noErrorsFound2:{message:"¡Genial, no se han encontrado errores!"},noErrorsFoundText:{message:"Puedes estar orgulloso de ti mismo"},notificationUndoDescription:{message:"Presionar %{cmd} para deshacer"},notificationUndoLabel:{message:"Reescritura completada"},onboardLanguageSelectorCta:{message:"Empezar a usar LanguageTool"},onboardLanguageSelectorDescription:{message:"Para ofrecerte las mejores sugerencias, necesitamos saber qué idiomas sueles usar."},onboardLanguageSelectorHeading:{message:"Selecciona los idiomas en los que sueles escribir"},onboardingHeadline:{message:"Tu expresión escrita mejorará."},onboardingIntro:{message:"Ahora, tu texto será corregido en la mayoría de los cuadros de texto en los que escribas."},onboardingIntroThunderbird:{message:"Tu texto se revisará mientras redactas tus correos."},onboardingNote1:{message:"Vuelve a cargar <strong>todas las páginas web abiertas</strong> para activar la extensión."},onboardingNote2:{message:"Esta extensión no funciona en los cuadros de texto de la <strong>Chrome Web Store</strong> ni en <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Para deshabilitar la extensión en un sitio web específico, haz clic en el <strong>icono de LT de la barra de herramientas del navegador</strong>."},onboardingNote4:{message:"Se pueden solicitar <strong>sinónimos</strong> haciendo doble clic en una palabra en un campo de texto (por ejemplo, en Gmail, Facebook o Google Docs)"},onboardingNoteThunderbird1:{message:"Comienza un nuevo correo para activar la extensión."},onboardingNoteThunderbird2:{message:"Para desactivar la extensión, haz clic en el icono de LT en la esquina superior derecha de la ventana de redacción de correo."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Atajo de teclado"},openCardHotkeyExpl:{message:"Pulsa esta tecla <strong>dos veces seguidas</strong> cuando el cursor de texto parpadee sobre una palabra subrayada. Por supuesto, esto también funcionará para los sinónimos."},openCardHotkeyOff:{message:"Apagado"},openCardHotkeyShift:{message:"Mayús"},otherServer:{message:"otro servidor: requiere un servidor LanguageTool que se ejecute allá"},overleafNewTeaserHeadline:{message:"¡Ya está aquí LanguageTool para Overleaf!"},overleafNewTeaserText:{message:"Desplácete por el texto para ver sugerencias de ortografía, gramática y estilo."},oxfordSpellingOptionLabel:{message:"Ortografía de Oxford"},password:{message:"Contraseña:"},personalDictionaryMultipleWordError:{message:"Las expresiones de múltiples palabras solo están activas para usuarios con cuenta LanguageTool"},phrasesCardCaption:{message:"Oraciones parafraseadas"},phrasesCardConfirmationButton:{message:"Aceptar la política de privacidad"},phrasesCardConfirmationHeading:{message:"Parafrasea tus oraciones con IA"},phrasesCardConfirmationText:{message:"¿Necesitas un texto más corto, más idiomático o más formal? Tenemos la solución. Consulta nuestra <a target='_blank' href='$privacyUrl$' rel='noopener'>política de privacidad</a> sobre el procesamiento de datos.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Todos los resultados"},phrasesCardGeneralError:{message:"Hubo un error cargando frases"},phrasesCardHeadline:{message:"Alternativas generadas con IA"},phrasesCardLabelFluency:{message:"Idiomática"},phrasesCardLabelFormality:{message:"Formal"},phrasesCardLabelGeneral:{message:"Parafraseado"},phrasesCardLabelParaphrase:{message:"Idiomática"},phrasesCardLabelShortened:{message:"Concisa"},phrasesCardLabelSimplicity:{message:"Simple"},phrasesCardNoResult:{message:"Por desgracia no hay sugerencias disponibles para esta frase."},phrasesCardNoSentence:{message:"No se detectó ninguna frase."},phrasesCardNotSupportedHeading:{message:"Ahora mismo no es posible parafrasear tus oraciones… Ten paciencia"},phrasesCardNotSupportedText:{message:"En estos momentos solo podemos parafrasear tus textos en inglés. <strong>Trabajamos duro</strong> para que esté disponible para otros idiomas lo antes posible.<br/> ¡Estate al tanto!"},phrasesCardRephrasingLimitPlural:{message:"Limitado a <strong>$count$</strong> frases más hoy",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limitado a <strong>una</strong> frase más hoy"},phrasesCardRephrasingLimitUnlock:{message:"¡Parafrasear sin límites!"},phrasesCardSentencePrefix:{message:"Original"},phrasesCardTimeoutError:{message:"El servidor no respondió a tiempo."},pl:{message:"polaco"},popupGeneralSettingsHeadline:{message:"Ajustes generales"},popupGlobalSettingsHeadline:{message:"Configuración general"},popupGlobalSettingsHeadlineInfo:{message:"Todos los sitios web"},popupOnboardingHeadline:{message:"¡Bienvenido! Ahora puedes utilizar LanguageTool:"},popupOnboardingStep1:{message:"Haz clic en cualquier campo de texto de varias líneas (p. ej. Gmail, Facebook…)"},popupOnboardingStep2:{message:"Encontrarás un icono como $icon1Html$ o $icon2Html$ en el extremo inferior derecho",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Introduce algún texto. Los problemas de escritura se <u>subrayarán</u>"},popupOnboardingStep4:{message:"Haz clic en una palabra subrayada para obtener sugerencias"},popupOpenEditorButton:{message:"Abrir el editor"},popupOptionCaseText:{message:"Revisar mayúsculas y minúsculas"},popupOptionCheckText:{message:"Activar LanguageTool"},popupOptionContextMenu:{message:"Mostrar en el menú al hacer clic derecho"},popupOptionContextMenuDescription:{message:"Simplemente selecciona cualquier texto de una página web y busca si contiene errores gramaticales."},popupOptionPickyMode:{message:"Modo perfeccionista"},popupOptionPickyModeDescription:{message:"Para un estilo y una tipografía perfectos"},popupOptionRephrasing:{message:"Funcionalidad para parafrasear oraciones"},popupOptionRephrasingDescription:{message:"Reescribe oraciones completas con inteligencia artificial. Solo tienes que colocar tu ratón encima del símbolo que se encuentra en la esquina inferior derecha de cada texto y hacer clic en el icono de la opción de parafrasear oraciones para poder obtener sugerencias para esa frase en concreto."},popupOptionSynonyms:{message:"Habilitar el uso del doble clic"},popupOptionSynonymsDescription:{message:"Haz doble clic en cualquier palabra en un campo de texto para ver sinónimos"},popupOptionValidate:{message:"Corregir el texto seleccionado"},popupOptionValidateInEditor:{message:"Revisar el texto seleccionado en el editor"},popupPremiumHeadline:{message:"Escribe como un profesional"},popupPremiumLink:{message:"Más información"},popupPremiumText:{message:"Actualiza a LanguageTool Premium para encontrar errores no solo de gramática y puntuación sino también de estilo."},popupSettingsHeadline:{message:"Configuración de este sitio web"},popupSettingsHeadlineInfo:{message:"Sitio web actual"},popupSettingsHover:{message:"Más ajustes avanzados"},popupUserStatisticsHover:{message:"Mostrar las estadísticas de uso"},poweredBy:{message:"Desarrollado por <b>LanguageTool</b>"},premiumErrorsButton:{message:"Más información"},premiumErrorsTextPlural:{message:"El texto contiene <strong>$count$ problemas de redacción</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"El texto contiene <strong>un problema de redacción</strong>"},privacyHeadline:{message:"Bienvenido/a a LanguageTool"},privacyLinkForDefaultServer:{message:"Para más detalles, consulta nuestra <a href='$privacyUrl$' target='_blank'>política de privacidad</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"La comprobación se puede <strong>desactivar en cualquier momento</strong>"},privacyListUnsaved:{message:"<strong>El texto no se almacenará</strong>"},privacyNoteForDefaultServer:{message:"Esta extensión revisará tu texto enviándolo a <a href='$serverUrl$' target='_blank'>$serverHost$</a> en una conexión cifrada.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Esta extensión comprobará tu texto enviándolo a $serverUrl$. Para cambiar el servidor por defecto, por favor abre la página de opciones de la extensión.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Tu asistente de escritura"},privacyPolicy:{message:"Política de privacidad"},pt:{message:"portugués"},pt_AO:{message:"portugués (Angola pre-AO)"},pt_BR:{message:"portugués (Brasil pos-AO)"},pt_CV:{message:"portugués (Cabo Verde)"},pt_MZ:{message:"portugués (Mozambique pre-AO)"},pt_PT:{message:"portugués (Portugal pos-AO)"},pt_PT_post_reform:{message:"portugués (Portugal, pos-AO)"},pt_PT_pre_reform:{message:"portugués (Portugal, pre-AO)"},punctuationError:{message:"Puntuación"},ratingHeadline:{message:"¿Te gusta nuestro corrector?"},ratingText:{message:"Danos tu opinión"},ratingThankYou:{message:"Gracias."},ratingUnhappyQuestion:{message:"Por favor, dinos por qué estás insatisfecho."},removeExtraWhitespace:{message:"Eliminar espacios dobles"},rephrasingTeaserCaption:{message:"¿Necesita más de inmediato?"},rephrasingTeaserCountdownSuffix:{message:"$count$ reescrituras",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Consigue más mañana"},rephrasingTeaserCta:{message:"Desbloquea todos los beneficios Premium"},rephrasingTeaserDescription:{message:"Benefíciate de oraciones parafraseadas ilimitadas y mucho más:"},rephrasingTeaserListItem1:{message:"<strong>Comprueba hasta $count$</strong> caracteres en un solo texto",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Sugerencias de estilo avanzadas</strong> para textos aún mejores"},rephrasingTeaserListItem3:{message:"<strong>Oraciones parafraseadas ilimitadas</strong> para que tu texto sea más versátil"},replaceWithWhitespace:{message:"Reemplazar con un espacio en blanco"},reportAnIssue:{message:"Enviar comentarios"},reviewChromeHeadline:{message:"¿Nos darías una valoración en la tienda de Chrome?"},reviewEdgeHeadline:{message:"¿Nos darías una calificación en la tienda de complementos de Edge?"},reviewFirefoxHeadline:{message:"¿Nos darías una valoración en la tienda de Firefox?"},reviewLink:{message:"Califica ahora"},reviewOperaHeadline:{message:"¿Nos podrías dar una calificación en la tienda de complementos de Opera?"},reviewSafariHeadline:{message:"¿Nos darías una calificación en la App Store?"},ro:{message:"rumano"},ru:{message:"ruso"},save:{message:"Guardar"},sendFeedback:{message:"Enviar comentarios"},sentenceSplittingCardApplyButtonLabel:{message:"Aplicar"},sentenceSplittingCardHeadlineApply:{message:"Sugerencia:"},sentenceSplittingCardHeadlineLoading:{message:"Dividiendo la frase…"},sentenceSplittingCardHeadlineMissing:{message:"Lo sentimos, no hemos encontrado ninguna sugerencia adecuada."},serverNotAvailable:{message:"El servidor local no está disponible"},serverText:{message:"Servidor de LanguageTool:"},serverUrlIsInvalid:{message:"Esta URL no es válida."},settingsAccountBulletListEditor:{message:"Usa el editor como entorno de escritura libre de distracciones."},settingsAccountBulletListSave:{message:"Guarda textos para más adelante. "},settingsAccountBulletListSync:{message:"Sincroniza tu configuración y tu diccionario personal en varios navegadores y dispositivos."},settingsAccountDescription:{message:"Inicia sesión y benefíciate de estas ventajas:"},settingsAccountHeadline:{message:"Cuenta"},settingsAccountSubheadline:{message:"Inicia sesión con tu cuenta LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Este dominio no se ha añadido. Pulsa ENTRAR para añadirlo."},settingsAddDomainHint:{message:"Este dominio no se ha añadido. Pulsa ENTRAR para añadirlo."},settingsAddIgnoredDomainHint:{message:"Este dominio aún no se ha añadido. Pulsa ENTER para añadirlo."},settingsAddOrFilterAutoCheckDomains:{message:"Añadir o buscar dominio…"},settingsAddOrFilterDomains:{message:"Añadir o buscar un dominio…"},settingsAddOrFilterIgnoredDomains:{message:"Añadir o encontrar dominio…"},settingsAddOrFilterWords:{message:"Añadir o buscar la palabra…"},settingsAddWordHint:{message:"Esta palabra no existe en el diccionario. Pulsa ENTRAR para añadirla."},settingsAreYouSure:{message:"¿Estás seguro? No se podrá deshacer."},settingsCheckForPaidSubscriptionError:{message:"Falló la comprobación del estado de tu suscripción"},settingsClearAll:{message:"Desmarcar todos"},settingsCopyDictionary:{message:"Copiar al portapapeles"},settingsCopyDictionarySuccessful:{message:"Copiado al portapapeles"},settingsDeleteAutoCheckDomain:{message:"Suprimir el dominio"},settingsDeleteIgnoredDomain:{message:"Suprimir el dominio"},settingsDictionaryHeadline:{message:"Diccionario personal"},settingsDomainInvalid:{message:"Introduce un dominio válido que aún no se haya añadido."},settingsEmptyAutoCheckDomains:{message:"Aún no has habilitado la corrección automática en ningún sitio web"},settingsEmptyDictionary:{message:"El diccionario personal está vacío"},settingsEmptyDomainList:{message:"Aún no has inhabilitado ningún dominio"},settingsEmptyIgnoredDomains:{message:"Aún no has deshabilitado la corrección automática en ningún sitio web"},settingsEmptyIgnoredRules:{message:"Aún no has deshabilitado ninguna regla, puedes hacerlo cuando aparezcan en un texto."},settingsEnableAllRules:{message:"Activar todos"},settingsEnableDomain:{message:"Habilitar el dominio"},settingsExperimentalSuccess:{message:"La configuración se ha guardado correctamente."},settingsForgotPasswordLink:{message:"¿Has olvidado la contraseña?"},settingsHeadline:{message:"Configuración"},settingsLanguageVariantsDescription:{message:"Para ofrecerte las mejores sugerencias, dinos qué variedad de los idiomas usas."},settingsLanguageVariantsHeadline:{message:"Variedades de idiomas"},settingsLoggedInAs:{message:"Has iniciado la sesión como $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Iniciar sesión"},settingsLoginError:{message:"No se ha podido iniciar la sesión. Comprueba tu dirección de correo y tu contraseña."},settingsLoginSuccess:{message:"Estás conectado"},settingsLogoutButton:{message:"Cerrar sesión"},settingsLogoutSuccess:{message:"Estás desconectado"},settingsManageAccountButton:{message:"Gestionar la cuenta"},settingsPasswordPlaceholder:{message:"Contraseña"},settingsPreferredLanguagesCompleteList:{message:"Todos los idiomas"},settingsPreferredLanguagesDescription:{message:"Establece los idiomas en los que sueles escribir. Esto ayuda a LanguageTool a detectar automáticamente el idioma correcto."},settingsPreferredLanguagesHeadline:{message:"Idiomas preferidos"},settingsPreferredLanguagesPopularList:{message:"Idiomas populares"},settingsPremiumButton:{message:"Descubre LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Todas las funciones <strong>prémium</strong> están activadas."},settingsPremiumHeadline:{message:"Mejora tu estilo de escritura."},settingsPremiumText:{message:"Encuentra problemas avanzados de gramática, estilo y puntuación o revisa textos con un máximo de 150.000 caracteres."},settingsServerUrlDisabled:{message:"Solo puedes establecer un servidor personalizado cuando cierres la sesión de tu cuenta de LanguageTool."},settingsUnknownError:{message:"Se ha producido un error inesperado"},siteDisabledPerGroupPolicy:{message:"Comprobando si esta página web está desactivada de acuerdo a la Política de grupos."},siteTemporarilyUnsupported:{message:"Lo sentimos, LanguageTool ha deshabilitado temporalmente el soporte para este sitio web. Estamos trabajando en una solución. Debería ser cuestión de días."},sk:{message:"eslovaco"},skip:{message:"Omitir"},sl:{message:"esloveno"},spellingError:{message:"Ortografía"},sr:{message:"Serbio"},sr_BA:{message:"serbio (Bosnia)"},sr_HR:{message:"serbio (Croacia)"},sr_ME:{message:"serbio (Montenegro)"},sr_RS:{message:"serbio (Serbia)"},statusIconEnableLT:{message:"Activar LanguageTool – Revisión ortográfica y gramatical"},statusIconError:{message:"Error"},statusIconMoreErrors:{message:"Los resultados son incompletos: la comprobación de texto se detuvo porque hay demasiados errores."},statusIconPermissionRequired:{message:"No se puede revisar el texto. Confirma la política de privacidad antes."},statusIconReload:{message:"Por favor, vuelva a cargar la página para activar la corrección ortográfica y gramatical"},statusIconToolTip:{message:"LanguageTool – Revisión ortográfica y gramatical"},suggestionError:{message:"Estilo"},suggestionOnlyVisibleToPremiumButton:{message:"Obtener todas las ventajas de Premium"},suggestionOnlyVisibleToPremiumText:{message:"Esta es una sugerencia avanzada que solo está disponible en la versión Premium de LanguageTool. Actualiza a Premium para obtener sugerencias como esta y muchas otras."},sv:{message:"sueco"},switchToAmericanEnglish:{message:"Cambiar a inglés americano"},switchToAustralianEnglish:{message:"Cambiar a inglés de Australia"},switchToBritishEnglish:{message:"Cambiar a inglés británico"},switchToCanadianEnglish:{message:"Cambiar a inglés de Canadá"},switchToNewZealandEnglish:{message:"Cambiar a inglés de Nueva Zelanda"},switchToSouthAfricanEnglish:{message:"Cambiar a inglés de Sudáfrica"},synonymsCardGeneralError:{message:"Se ha producido un error cargando los sinónimos"},synonymsCardHeadline:{message:"Sinónimos"},synonymsCardLanguageNotSupported:{message:"Los sinónimos para este idioma aún no están disponibles."},synonymsCardLess:{message:"Mostrar menos"},synonymsCardLoadMoreAlternatives:{message:"cargar más alternativas"},synonymsCardLoading:{message:"Cargando…"},synonymsCardMore:{message:"más"},synonymsCardNoSynonymsAvailable:{message:"No hay sinónimos disponibles para esta palabra."},synonymsCardProvidedBy:{message:"Proporcionado por <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Frase"},synonymsCardTabWord:{message:"Palabra"},synonymsCardTooltipReadText:{message:"Pronunciar esta palabra"},synonymsTutorialHeadline:{message:"Cómo obtener sinónimos"},synonymsTutorialText:{message:"Después de habilitarlo, puedes obtener sinónimos para cualquier palabra haciendo doble clic en ella. Funciona en todos los campos de texto que LanguageTool admite."},ta:{message:"tamil"},textTooLong:{message:"Lo sentimos. Este texto es demasiado largo para ser revisado."},timeoutError:{message:"Se ha superado el tiempo de espera del servidor. Por favor, inténtalo otra vez más tarde ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"tagalog"},tooManyErrors:{message:"Este texto contiene demasiados errores. ¿Estás seguro de que se ha seleccionado el idioma correcto?"},tooManyRequests:{message:"Límite de solicitudes excedido. Por favor, espera un minuto y LanguageTool debería estar disponible de nuevo."},toolbarDisableMenuDisableChecking:{message:"Deshabilitar en este sitio web"},toolbarDisableMenuPauseChecking:{message:"Deshabilitar solo hasta la próxima visita"},toolbarTooltipDisableChecking:{message:"Deshabilitar la revisión"},toolbarTooltipRephrasing:{message:"Parafrasear la oración"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Actualmente, parafrasear oraciones en este idioma no está disponible."},tr:{message:"turco"},tryAgain:{message:"Inténtalo de nuevo"},turnOffPickyMode:{message:"Desactivar el modo perfeccionista en este texto"},turnOffRule:{message:"Desactivar la regla en todas partes"},turnOffRulePicky:{message:"En el modo perfeccionista no se pueden desactivar las sugerencias gramaticales"},turnOnHint:{message:"Puedes volver a activar la extensión aquí"},uk:{message:"ucraniano"},unknownError:{message:"Lo sentimos, se ha producido un error al revisar tu texto. Puedes reiniciar tu navegador para solventarlo."},upgradeTeaserDiscount:{message:"Ahorra $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Oferta por tiempo limitado"},username:{message:"Correo electrónico"},validatorHasMistakesHeadlinePlural:{message:"$count$ errores encontrados",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Se ha encontrado un error."},validatorHasMistakesText:{message:"Pincha en las palabras resaltadas para corregirlas."},validatorHasPremiumErrorsButton:{message:"Más información"},validatorHasPremiumErrorsHeadlinePlural:{message:"El texto contiene $count$ problemas de redacción",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"El texto contiene un problema de redacción"},validatorHasPremiumErrorsText:{message:"Actualiza a LanguageTool Premium para encontrar muchos más errores de gramática, estilo y puntuación."},validatorLoadingHint:{message:"Revisando el texto…"},validatorNoMistakesHeadline:{message:"Enhorabuena, no se ha encontrado ningún error."},validatorNoTextStatus:{message:"Introduce o pega el texto para revisarlo"},validatorPlaceholder:{message:"Introduce o pega el texto aquí…"},validatorPremiumButton:{message:"Actualizar"},validatorPremiumHeadline:{message:"Encuentra más errores y te convertirás en un mejor escritor."},validatorPremiumReason1:{message:"Revisión más sofisticada de gramática, puntuación y estilo"},validatorPremiumReason2:{message:"Comprueba textos más largos (de hasta 150.000 caracteres)"},validatorPremiumReason3:{message:"Detección automática de números inválidos (p. ej. IBAN, ISBN…)"},validatorPremiumReason4:{message:"Complemento para Microsoft Office"},validatorTextTooLongStatus:{message:"Lo sentimos. Este texto es demasiado largo para ser revisado."},variantCaDesc:{message:"Asumir esta variante del catalán:"},variantDeDesc:{message:"Asumir esta variante del alemán:"},variantEnDesc:{message:"Asumir esta variante del inglés:"},variantPtDesc:{message:"Asumir esta variante del portugués:"},webstoreSiteNotSupported:{message:"Lo sentimos. LanguageTool no funciona en el sitio web de Chrome Web Store. Funciona en cualquier otro sitio donde escribas (por ejemplo, Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"chino"}},it:{accessDeniedError2:{message:"Il server ha inviato un messaggio di 'Accesso negato' – controlla la tua e-mail e password nelle opzioni e riprova."},addLanguage:{message:"Aggiungi lingua"},addToDictionaryCaption:{message:'Aggiungere "$word$" al dizionario personale',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Applica"},appDesc:{message:"Migliora immediatamente i tuoi testi con il correttore grammaticale e lo strumento di riformulazione di LanguageTool"},appDescThunderbird:{message:"Verifica problemi di ortografia e grammatica nelle tue e-mail"},appName:{message:"Correttore grammaticale e strumento di riformulazione – LanguageTool"},ar:{message:"Arabo"},ast:{message:"Asturiano"},attachScreenshot:{message:"Allega screenshot della pagina"},autoCheckDesc:{message:"Controllo automatico su tutti i domini di default"},autoCheckOnDomainsDesc:{message:"Controllo automatico del testo su questi domini:"},be:{message:"Bielorusso"},br:{message:"Bretone"},ca:{message:"Catalano"},ca_ES_valencia:{message:"Catalano (Valenciano)"},cardContentShowAll:{message:"Mostra tutti"},cardContentShowSubset:{message:"Mostra meno"},cardSelectorLabelChecker:{message:"Correggi"},cardSelectorLabelParaphraser:{message:"Riformula"},changelogDiscountExpires:{message:"L'offerta scade tra"},changelogTitle:{message:"Nuove funzionalità di LanguageTool"},close:{message:"Chiudi"},cloudServer:{message:"Server su cloud (languagetool.org)"},confirm:{message:"Ok, ho capito"},connectionProblem:{message:"Impossibile stabilire una connessione con $serverUrl$ – controlla la tua connessione a internet o riprova tra qualche minuto",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Controllo ortografico e grammaticale…"},contextMenuValidateInEditor:{message:"Controlla il testo nell'editor"},continue:{message:"Continua"},correctAllQuotes:{message:"Correggi tutte le virgolette"},customSuggestionError:{message:"Guida per lo stile"},da:{message:"Danese"},da_DK:{message:"Danese (Danimarca)"},de:{message:"Tedesco"},de_AT:{message:"Tedesco (Austriaco)"},de_CH:{message:"Tedesco (Svizzero)"},de_DE:{message:"Tedesco (Germania)"},de_DE_x_simple_language:{message:"Tedesco (lingua semplice)"},defaultServerLink:{message:"Usa il valore di default"},deleteWord:{message:"Cancella"},desktopAppAction:{message:"Scarica GRATIS"},desktopAppHeadlineMac:{message:"Controlla ciò che scrivi sulle tue app preferite"},desktopAppHeadlineWindows:{message:"Controlla ciò che scrivi sulle tue app preferite"},desktopAppTextMac:{message:"LanguageTool per Mac corregge quello che scrivi direttamente su Apple Mail, Pages, Word, Slack e molte altre applicazioni."},desktopAppTextWindows:{message:"LanguageTool per Windows è adesso disponibile: può correggere ciò che scrivi direttamente su Outlook, Word e molte altre applicazioni"},dialogAllLanguages:{message:"Tutte le lingue:"},dialogCounterCharactersOption:{message:"Caratteri"},dialogCounterCharactersPlural:{message:"$number$ caratteri",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 carattere"},dialogCounterSentencesOption:{message:"Frasi"},dialogCounterSentencesPlural:{message:"$number$ frasi",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 frase"},dialogCounterWordsOption:{message:"Parole"},dialogCounterWordsPlural:{message:"$number$ parole",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 parola"},dialogDisableMenuDisableChecking:{message:"Disabilita per questo sito"},dialogDisableMenuPauseChecking:{message:"Disabilita soltanto per questa sessione"},dialogEnableInDialogHeadline:{message:"L'estensione è disabilitata"},dialogEnableInDialogText:{message:"Clicca per abilitare il controllo di ortografia e grammatica."},dialogFailStateHeadline:{message:"Ops..."},dialogFailStateText:{message:"Qualcosa è andato storto. Riprova."},dialogMainMenuPickyMode:{message:"Modalità pignolo"},dialogMainMenuPickyModeInfo:{message:"Abilita la modalità pignolo per perfezionare la tua scrittura."},dialogMainMenuPremiumMistake:{message:"Suggerimenti Premium"},dialogMainMenuRegularMistake:{message:"Suggerimenti"},dialogMainMenuTextScore:{message:"Punteggio del testo"},dialogNeedsLanguageHintHeadline:{message:"Impossibile di rilevare la lingua"},dialogNeedsLanguageHintIgnore:{message:"Sconosciuta al momento"},dialogNeedsLanguageHintText:{message:"Non abbiamo potuto rilevare la lingua del tuo testo. Puoi impostarla manualmente o continuare a scrivere."},dialogPositionMenuDefault:{message:"predefinito"},dialogPositionMenuLeft:{message:"sinistra"},dialogPositionMenuRight:{message:"destra"},dialogPremiumButton:{message:"Scopri di più"},dialogPremiumHeadlinePlural:{message:"sono stati trovati $count$ ulteriori problemi",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"è stato trovato un ulteriore problema"},dialogPremiumText:{message:"Ottieni ancora più suggerimenti di stile, punteggiatura e grammatica usando LanguageTool Premium"},dialogRecommendedLanguages:{message:"Consigliato per te:"},dialogScrollHintHeadline:{message:"Suggerimenti"},dialogScrollHintText:{message:"Scorri il documento per vedere più suggerimenti"},dialogScrollToLink:{message:"Mostra nel testo"},dialogSelectLanguageLabel:{message:"Seleziona la lingua"},dialogTextTooLongButton:{message:"Scopri di più"},dialogTextTooLongHeadline:{message:"Questo testo è un po' lungo"},dialogTextTooLongText:{message:"Fai l'upgrade a Premium e ottieni suggerimenti avanzati di grammatica e stile per testi più lunghi."},dialogTextTooShortHeadline:{message:"Il testo è troppo breve"},dialogTextTooShortText:{message:"Digita almeno 5 caratteri per dare l'avvio al controllo degli errori"},dialogTooltipDisableChecking:{message:"Disabilita la correzione"},dialogTooltipHelp:{message:"Aiuto"},dialogTooltipHelpCenter:{message:"Vai al centro assistenza"},dialogTooltipPosition:{message:"Posizione della finestra di dialogo"},dialogTooltipSaveText:{message:"Salva il testo"},dialogTooltipSendFeedback:{message:"Invia feedback"},dialogTooltipSettings:{message:"Impostazioni"},dialogTooltipUserStatistics:{message:"Statistiche di utilizzo"},dialogUnsupportedLanguageHeadline:{message:"Questa lingua non è supportata"},dialogUnsupportedLanguageLabel:{message:"Lingua non supportata"},dialogUnsupportedLanguageText:{message:"LanguageTool supporta più di 30 lingue (come inglese, tedesco, spagnolo, francese, portoghese, olandese, o russo)."},dismissSuggestions:{message:"Ignora"},domainsDesc:{message:"Disabilita la verifica su alcuni siti web"},edgeWebstoreSiteNotSupported:{message:"Ci dispiace, LanguageTool non funziona sul sito web dello store delle estensioni per Edge. Funziona in qualsiasi altro sito dove puoi scrivere (p.es. Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Prossimo problema"},editorCardNextSentence:{message:"Prossima frase"},el:{message:"Greco"},en:{message:"Inglese"},en_AU:{message:"Inglese (Australiano)"},en_CA:{message:"Inglese (Canadese)"},en_GB:{message:"Inglese (Britannico)"},en_NZ:{message:"Inglese (Nuova Zelanda)"},en_US:{message:"Inglese (Americano)"},en_ZA:{message:"Inglese (Sudafrica)"},enableEverywhereButton:{message:"Abilita per ogni campo di testo"},enableHereButton:{message:"Abilita solo per questo campo di testo"},enableInDialog:{message:"Clicca per attivare il controllo<br>di grammatica e ortografia"},enableRuleTooltip:{message:"Clicca per attivare la regola"},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Nessun errore trovato!"},errorCardAllDoneDescription:{message:"Puoi essere orgoglioso!"},errorCardHiddenMatchButton:{message:"Sblocca tutti"},errorCardHiddenMatchCaption:{message:"Un'anteprima di Premium"},errorCardKeyboardInstructions:{message:"Selezionala con $enter$ or $shiftEnter$ per saltare alla prossima",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"individuate $count$ altre corrispondenze nascoste",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"individuata 1 altra corrispondenza nascosta"},errorCardPremiumTeaserCta:{message:"Sblocca tutte le corrispondenze nascoste"},errorCardPremiumTeaserGrammarSuggestions:{message:"Suggerimenti di <lt-em>Grammatica</lt-em> nascosti"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Suggerimenti di <lt-em>Punteggiatura</lt-em> nascosti"},errorCardPremiumTeaserReadMore:{message:"Scopri di più"},errorCardPremiumTeaserStyleSuggestions:{message:"Suggerimenti di <lt-em>Stile</lt-em> nascosti"},errorCardPremiumTeaserText:{message:"Sono presenti altre corrispondenza che solo LanguageTool Premium è in grado di identificare."},errorCardTurnOffPickyModeButton:{message:"Disattiva qui"},errorCardTurnOffPickyModeCaption:{message:"Suggerimento Pignolo"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ parole sono state ignorate",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 parola è stata ignorata"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ regole sono state ignorate",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 regola è stata ignorata"},es:{message:"Spagnolo"},eu:{message:"Basco"},experimentalLink:{message:"Impostazioni avanzate (solo per utenti esperti)"},extensionUpdatedHeadline:{message:"Questa estensione è stata aggiornata"},extensionUpdatedText:{message:"Per riattivare il controllo ortografico e grammaticale clicca sull'icona $iconHtml$ nella barra degli strumenti del tuo browser o ricarica la pagina.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Persiano"},feedbackButton:{message:"Invia messaggio a LanguageTool"},feedbackDirectMail:{message:"Se vuoi inviarci degli screenshot, puoi anche contattarci alla e-mail $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Ci dispiace, non è stato possibile inviare il tuo messaggio. Riprova più tardi."},feedbackHeadline:{message:"Inviaci il tuo feedback su LanguageTool"},feedbackPrivacyPolicy:{message:"Politica sulla privacy"},feedbackSenderPlaceholder:{message:"Inserisci il tuo indirizzo e-mail…"},feedbackSuccess:{message:"Grazie! Cercheremo di soddisfare la tua richiesta il prima possibile."},feedbackTextPlaceholder:{message:"Inserisci il tuo feedback…"},fixSentenceCardHeadlineApply:{message:"Correggi frase completa"},fixSentenceCardHeadlineLoading:{message:"Sto cercando come perfezionare la frase…"},fixSentenceCardHeadlineMissing:{message:"Mi dispiace, non ho trovato una soluzione"},forcePreferredLanguagesOptionLabel:{message:"Usa sempre solo queste lingue per il rivelamento automatico della lingua"},fr:{message:"Francese"},ga:{message:"Irlandese"},generalSettingsHeadline:{message:"Impostazioni generali"},gl:{message:"Galiziano"},googleDocsDisableButton:{message:"Disattiva LanguageTool in questo documento"},googleDocsEnableButton:{message:"Attiva LanguageTool"},googleDocsEnableHint:{message:"Puoi riattivare il correttore di grammatica e stile LanguageTool qui"},googleDocsNewTeaserHeadline:{message:"LanguageTool per Google Docs è arrivato!"},googleDocsNewTeaserText:{message:"Di fianco a ogni pagina LanguageTool ti mostra quanti problemi sono stati trovati."},googleDocsPagelessModeUnsupported:{message:'La nuova modalità "pageless" non è supportata al momento. Stiamo già lavorando a una soluzione.'},googleSlidesDisableButton:{message:"Disattiva LanguageTool in questa presentazione"},googleSlidesEnableButton:{message:"Attiva LanguageTool"},googleSlidesEnableHint:{message:"Qui puoi riattivare il controllo di ortografia e stile di LanguageTool"},googleSlidesNewTeaserHeadline:{message:"LanguageTool per Google Slides è arrivato!"},googleSlidesNewTeaserText:{message:"Accanto a ogni slide LanguageTool ti mostra quanti problemi sono stati trovati."},grammarError:{message:"Grammatica"},haveAccountDesc:{message:"Crea un account gratis su"},historicPremiumErrorsButton:{message:"Scopri di più"},historicPremiumErrorsHeadline:{message:"Lo sapevi?"},historicPremiumErrorsText:{message:"Avresti potuto evitare <strong>$count$ errori di grammatica e di stile</strong> negli ultimi giorni con LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ errori grammaticali e di stile</strong> sarebbero stati evitati negli ultimi giorni con LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Non controllare automaticamente il testo su questi domini:"},ignoreHere:{message:"Ignora in questo testo"},ignoredRules:{message:"Queste regole sono state disabilitate, fai clic su una regola per riattivarla:"},ignoredRulesDesc:{message:"Regole disattivate"},incompleteResult:{message:"I risultati sono incompleti: il controllo del testo è stato interrotto a causa del numero eccessivo di errori."},invalidUsernameOrPassword:{message:"Errore: controlla la tua e-mail e password nelle opzioni"},is:{message:"Islandese"},it:{message:"Italiano"},ja:{message:"Giapponese"},km:{message:"Khmer"},language:{message:"Lingua:"},languageOptionsLink:{message:"Opzione di lingue"},languagetoolNotSupported:{message:"L'estensione non funziona su questo sito web, in quanto il sito web offre le stesse funzionalità"},localServer:{message:"Server locale (localhost) – richiede che il server di LanguageTool sia in esecuzione sullo stesso dispositivo"},localServerDocs:{message:"documentazione"},lt:{message:"Lituano"},managedLoginButton1:{message:"Accedi"},managedLoginButton2:{message:"Accedi con il tuo account aziendale"},managedLoginDescription:{message:"Accedi con il tuo account aziendale per usare LanguageTool."},managedLoginHeadline:{message:"Accedi"},messagePopupTurnOnPrimaryButton:{message:"Ho capito!"},messagePopupTurnOnSecondaryButton:{message:"Riattiva il controllo del testo"},messagePopupTurnOnheadline:{message:"Il controllo dell'ortografia è disabilitato per questa pagina"},messagePopupTurnOntext:{message:'Per riattivarlo, clicca sull\'icona LT nella tua barra degli strumenti e poi clicca sul bottone "Controlla grammatica e ortografia"'},ml:{message:"Malayalam"},moreDetails:{message:"Ulteriori dettagli..."},motherTongueDesc:{message:"Madrelingua"},motherTongueExpl:{message:"Imposta la tua lingua madre se vuoi essere avvertito della presenza di parole “false amiche” quando controlli testi non scritti nella tua lingua madre."},msOnlineOfficeNotSupported:{message:"Ci dispiace, Microsoft Word Online non è supportato da questa estensione – installa <a target='_blank' href='$url$'>questa</a> al suo posto.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Olandese"},no:{message:"Norvegese"},noErrorsFound2:{message:"Nessun errore trovato!"},noErrorsFoundText:{message:"Puoi essere orgoglioso!"},notificationUndoDescription:{message:"Premi %{cmd} per annullare"},notificationUndoLabel:{message:"Riformulazione applicata"},onboardLanguageSelectorCta:{message:"Inizia ad utilizzare LanguageTool"},onboardLanguageSelectorDescription:{message:"Per offrirti i migliori suggerimenti, abbiamo bisogno di sapere quali lingue utilizzi più frequentemente."},onboardLanguageSelectorHeading:{message:"Seleziona le lingue che utilizzi tipicamente per scrivere"},onboardingHeadline:{message:"Il tuo testo verrà ora migliorato"},onboardingIntro:{message:"Ora, durante la digitazione, il tuo testo verrà controllato nella maggior parte dei campi di testo."},onboardingIntroThunderbird:{message:"Il tuo testo sarà ora controllato mentre scrivi le tue e-mail."},onboardingNote1:{message:"Ricarica <strong>tutte le pagine web aperte</strong> per attivare l'estensione"},onboardingNote2:{message:"Questa estensione non funziona con i campi di testo nel <strong>Web Store di Chrome</strong> o su <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Per disattivare l'estensione per un sito web, fare un clic <strong>sull'icona LT nella barra degli strumenti del browser</strong>"},onboardingNote4:{message:"Puoi richiedere <strong>i sinonimi</strong> di una parola con un doppio click su di essa nel campo di testo (per esempio in Gmail, Facebook o Google Docs)"},onboardingNoteThunderbird1:{message:"Comincia una nuova e-mail per attivare l'estensione."},onboardingNoteThunderbird2:{message:"Per disabilitare l'estensione, fai clic sull'icona LT nell'angolo in alto a destra della finestra di composizione delle e-mail."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Scorciatoie da tastiera"},openCardHotkeyExpl:{message:"Premi questo tasto <strong>rapidamente due volte</strong> quando il cursore di testo lampeggiante si trova su una parola sottolineata. Questa modalità funziona anche per le riformulazioni e i sinonimi."},openCardHotkeyOff:{message:"Disattiva"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Altro server - richiede che il server di LanguageTool sia in esecuzione su quel server"},overleafNewTeaserHeadline:{message:"LanguageTool per Overleaf è arrivato!"},overleafNewTeaserText:{message:"Scorri il testo per vedere suggerimenti di ortografia, grammatica e stile."},oxfordSpellingOptionLabel:{message:"Preferenza per spelling Oxford"},password:{message:"Password:"},personalDictionaryMultipleWordError:{message:"Le espressioni composte da più parole sono supportate solo per utenti con un account Language Tool"},phrasesCardCaption:{message:"Parafrasi"},phrasesCardConfirmationButton:{message:"Accetta Informativa sulla privacy"},phrasesCardConfirmationHeading:{message:"Riformula la tua scrittura con A.I."},phrasesCardConfirmationText:{message:"Hai bisogno di un testo più corto, più fluido o più formale? Abbiamo ciò che fa per te. Consulta la nostra <a target='_blank' href='$privacyUrl$' rel='noopener'>Informativa sulla privacy</a> in merito all'elaborazione dei dati.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Vedi tutti i risultati"},phrasesCardGeneralError:{message:"Si è verificato un errore nel caricamento delle frasi"},phrasesCardHeadline:{message:"Alternative possibili"},phrasesCardLabelFluency:{message:"Fluente"},phrasesCardLabelFormality:{message:"Formale"},phrasesCardLabelGeneral:{message:"Riformulato"},phrasesCardLabelParaphrase:{message:"Fluente"},phrasesCardLabelShortened:{message:"Conciso"},phrasesCardLabelSimplicity:{message:"Semplice"},phrasesCardNoResult:{message:"Purtroppo non ci sono possibilità di riformulare questa frase."},phrasesCardNoSentence:{message:"Non è stata individuata alcuna frase."},phrasesCardNotSupportedHeading:{message:"Riformulazione delle frasi non disponibile… al momento"},phrasesCardNotSupportedText:{message:"La riformulazione delle frasi non è al momento disponibile per questa lingua (è invece disponibile per l'inglese, lo spagnolo…). Stiamo <strong>lavorando sodo</strong> per rendere la funzione disponibile anche nelle altre lingue il prima possibile."},phrasesCardRephrasingLimitPlural:{message:"Limitato a più di <strong>$count$</strong> frasi oggi",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limitato a più di <strong>una</strong> frase oggi"},phrasesCardRephrasingLimitUnlock:{message:"Ottieni riformulazioni illimitate!"},phrasesCardSentencePrefix:{message:"Originale"},phrasesCardTimeoutError:{message:"Il server non ha risposto in tempo."},pl:{message:"Polacco"},popupGeneralSettingsHeadline:{message:"Impostazioni generali"},popupGlobalSettingsHeadline:{message:"Impostazioni globali"},popupGlobalSettingsHeadlineInfo:{message:"Tutti i siti web"},popupOnboardingHeadline:{message:"Benvenuto/a! Ora puoi usare LanguageTool:"},popupOnboardingStep1:{message:"Clicca in qualunque campo di testo multilinea (come Gmail, Facebook, …)"},popupOnboardingStep2:{message:"Nell'angolo in basso a destra troverai un'icona come questa $icon1Html$ o questa $icon2Html$",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Digita del testo. Gli errori di scrittura verranno <u>sottolineati</u>"},popupOnboardingStep4:{message:"Clicca su una parola sottolineata per ottenere suggerimenti"},popupOpenEditorButton:{message:"Apri l'editor"},popupOptionCaseText:{message:"Controlla maiuscole e minuscole"},popupOptionCheckText:{message:"Attiva LanguageTool"},popupOptionContextMenu:{message:"Mostra nel menù del click destro"},popupOptionContextMenuDescription:{message:"Ti basta selezionare un testo su qualsiasi sito, cliccare con il tasto destro e controllare gli errori grammaticali."},popupOptionPickyMode:{message:"Modalità pignolo"},popupOptionPickyModeDescription:{message:"Per uno stile, un tono e un'ortografia perfetti"},popupOptionRephrasing:{message:"Funzione di riformulazione"},popupOptionRephrasingDescription:{message:"Riscrivi intere frasi con l'AI. Passa il cursore sul simbolo nell'angolo in basso a destra di ogni testo e clicca sull'icona della riformulazione per vedere i suggerimenti per la frase in questione."},popupOptionSynonyms:{message:"Attiva il doppio click"},popupOptionSynonymsDescription:{message:"Fai doppio clic su qualsiasi parola in un campo di testo per vedere i sinonimi e le riformulazioni dell'intera frase."},popupOptionValidate:{message:"Controlla il testo selezionato"},popupOptionValidateInEditor:{message:"Controlla il testo selezionato nell'editor"},popupPremiumHeadline:{message:"Scrivi come un professionista"},popupPremiumLink:{message:"Per saperne di più"},popupPremiumText:{message:"Aggiorna a LanguageTool Premium per trovare anche i problemi di stile oltre agli errori di grammatica e punteggiatura."},popupSettingsHeadline:{message:"Impostazioni per questo sito web"},popupSettingsHeadlineInfo:{message:"Sito web corrente"},popupSettingsHover:{message:"Altre impostazioni avanzate"},popupUserStatisticsHover:{message:"Mostra statistiche di utilizzo"},poweredBy:{message:"Offerto da <b>LanguageTool</b>"},premiumErrorsButton:{message:"Scopri di più"},premiumErrorsTextPlural:{message:"Il tuo testo contiene <strong>$count$ problemi di scrittura avanzati</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Il tuo testo contiene <strong>un problema di scrittura avanzato</strong>"},privacyHeadline:{message:"Benvenuto a LanguageTool"},privacyLinkForDefaultServer:{message:"Per i dettagli, vedi <a href='$privacyUrl$' target='_blank'>la nostra politica sulla privacy</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Il controllo può essere <strong>disattivato in ogni momento</strong>"},privacyListUnsaved:{message:"<strong>Il tuo testo non sarà memorizzato</strong>"},privacyNoteForDefaultServer:{message:"Questa estensione controllerà il tuo testo inviandolo a <a href='$serverUrl$' target='_blank'>$serverHost$</a> attraverso una connessione criptata .",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Questa estensione controllerà il tuo testo inviandolo a $serverUrl$. Per ritornare al server di default, controlla le opzioni dell'estensione.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Il tuo assistente di scrittura"},privacyPolicy:{message:"Politica sulla privacy"},pt:{message:"Portoghese"},pt_AO:{message:"Portoghese (Angola preAO)"},pt_BR:{message:"Portoghese (Brasile posAO)"},pt_CV:{message:"Portoghese (Capo Verde)"},pt_MZ:{message:"Portoghese (Mozambico preAO)"},pt_PT:{message:"Portoghese (Portogallo)"},pt_PT_post_reform:{message:"Portoghese (Portogallo posAO)"},pt_PT_pre_reform:{message:"Portoghese (Portogallo preAO)"},punctuationError:{message:"Punteggiatura"},ratingHeadline:{message:"Ti piace LanguageTool?"},ratingText:{message:"Dacci il tuo feedback"},ratingThankYou:{message:"Grazie."},ratingUnhappyQuestion:{message:"Raccontaci perché non sei soddisfatto"},removeExtraWhitespace:{message:"Rimuovi spazi superflui"},rephrasingTeaserCaption:{message:"Hai bisogno di altro?"},rephrasingTeaserCountdownSuffix:{message:"$count$ riformulazioni",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Ricevi altro domani"},rephrasingTeaserCta:{message:"Sblocca tutti i vantaggi Premium"},rephrasingTeaserDescription:{message:"Sfrutta riformulazioni illimitate e molto altro:"},rephrasingTeaserListItem1:{message:"<strong>Controlla fino a $count$</strong> caratteri in un singolo testo",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Suggerimenti di stile avanzati</strong> per testi sempre migliori"},rephrasingTeaserListItem3:{message:"<strong>Infinite riformulazioni</strong> per rendere il tuo testo più versatile"},replaceWithWhitespace:{message:"Sostituisci con uno spazio bianco"},reportAnIssue:{message:"Invia feedback"},reviewChromeHeadline:{message:"Vorresti darci un voto sullo store di Chrome?"},reviewEdgeHeadline:{message:"Ci daresti un voto nello store delle estensioni per Edge?"},reviewFirefoxHeadline:{message:"Vorresti darci un voto sullo store di Firefox?"},reviewLink:{message:"Dai un voto adesso"},reviewOperaHeadline:{message:"Vorresti darci la tua valutazione sullo store delle estensioni di Opera?"},reviewSafariHeadline:{message:"Ti andrebbe di lasciare una valutazione di LanguageTool nell'App Store?"},ro:{message:"Romeno"},ru:{message:"Russo"},save:{message:"Salva"},sendFeedback:{message:"Invia feedback"},sentenceSplittingCardApplyButtonLabel:{message:"Applica suggerimento"},sentenceSplittingCardHeadlineApply:{message:"Suggerimento:"},sentenceSplittingCardHeadlineLoading:{message:"Sto dividendo la frase..."},sentenceSplittingCardHeadlineMissing:{message:"Mi dispiace, non sono stati trovati suggerimenti"},serverNotAvailable:{message:"Server locale non disponibile"},serverText:{message:"Server di LanguageTool:"},serverUrlIsInvalid:{message:"Questa URL non è valida"},settingsAccountBulletListEditor:{message:"Utilizza l'editor come ambiente di scrittura senza distrazioni"},settingsAccountBulletListSave:{message:"Salva testi per dopo "},settingsAccountBulletListSync:{message:"Sincronizza le tue impostazioni e il tuo dizionario personale in vari browser e dispositivi"},settingsAccountDescription:{message:"Accedi e approfitta dei seguenti vantaggi:"},settingsAccountHeadline:{message:"Account"},settingsAccountSubheadline:{message:"Accedi con il tuo account di LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Questo dominio non è ancora stato aggiunto. Premi INVIO per aggiungerlo."},settingsAddDomainHint:{message:"Questo dominio non è ancora stato aggiunto. Premi INVIO per aggiungerlo."},settingsAddIgnoredDomainHint:{message:"Questo dominio non è ancora stato aggiunto. Premi INVIO per aggiungerlo."},settingsAddOrFilterAutoCheckDomains:{message:"Aggiungi o trova dominio…"},settingsAddOrFilterDomains:{message:"Aggiungi o trova un dominio…"},settingsAddOrFilterIgnoredDomains:{message:"Aggiungi o trova dominio…"},settingsAddOrFilterWords:{message:"Aggiungi o trova parola…"},settingsAddWordHint:{message:"Questa parola non esiste ancora nel tuo dizionario personale. Premi INVIO per aggiungerla."},settingsAreYouSure:{message:"Sei sicuro? Non sarà possibile annullare."},settingsCheckForPaidSubscriptionError:{message:"Controllo dello stato della sottoscrizione fallito"},settingsClearAll:{message:"Cancella tutto"},settingsCopyDictionary:{message:"Copia negli appunti"},settingsCopyDictionarySuccessful:{message:"Copiato negli appunti"},settingsDeleteAutoCheckDomain:{message:"Rimuovi il dominio"},settingsDeleteIgnoredDomain:{message:"Rimuovi il dominio"},settingsDictionaryHeadline:{message:"Dizionario personale"},settingsDomainInvalid:{message:"Ti preghiamo di inserire un dominio valido e che non sia ancora stato aggiunto."},settingsEmptyAutoCheckDomains:{message:"Non hai ancora attivato il controllo automatico per alcun sito web"},settingsEmptyDictionary:{message:"Al momento il tuo dizionario personale è vuoto."},settingsEmptyDomainList:{message:"Non hai ancora disattivato alcun sito web"},settingsEmptyIgnoredDomains:{message:"Non hai ancora disabilitato il controllo automatico per alcun dominio"},settingsEmptyIgnoredRules:{message:"Non hai ancora disabilitato alcuna regola. Potrai disabilitare le regole appena appariranno nel testo."},settingsEnableAllRules:{message:"Attiva tutto"},settingsEnableDomain:{message:"Abilita dominio"},settingsExperimentalSuccess:{message:"Le tue impostazioni sono state salvate con successo."},settingsForgotPasswordLink:{message:"Password dimenticata?"},settingsHeadline:{message:"Impostazioni"},settingsLanguageVariantsDescription:{message:"Per offrirti sempre i migliori suggerimenti, ti invitiamo a farci sapere quali varianti alle singole lingue parli."},settingsLanguageVariantsHeadline:{message:"Variazioni linguistiche"},settingsLoggedInAs:{message:"Hai effettuato l'accesso come $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Accedi"},settingsLoginError:{message:"Non è stato possibile effettuare l'accesso. Controlla la tua e-mail e password."},settingsLoginSuccess:{message:"Hai completato il log-in"},settingsLogoutButton:{message:"Esci"},settingsLogoutSuccess:{message:"Hai completato il log-out"},settingsManageAccountButton:{message:"Gestisci account"},settingsPasswordPlaceholder:{message:"Password"},settingsPreferredLanguagesCompleteList:{message:"Tutte le lingue"},settingsPreferredLanguagesDescription:{message:"Seleziona le lingue che usi normalmente per i tuoi testi. Questo aiuta LanguageTool a riconoscere automaticamente la lingua corretta."},settingsPreferredLanguagesHeadline:{message:"Lingue preferite"},settingsPreferredLanguagesPopularList:{message:"Lingue frequenti"},settingsPremiumButton:{message:"Scopri LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Tutte le <strong>funzionalità premium</strong> sono attivate."},settingsPremiumHeadline:{message:"Migliora le tue abilità di scrittura"},settingsPremiumText:{message:"Trova errori avanzati di grammatica, stile e punteggiatura o controlla testi fino a 150.000 caratteri."},settingsServerUrlDisabled:{message:"Puoi impostare un server URL personalizzato solo quando ti disconnetti dal tuo account LanguageTool."},settingsUnknownError:{message:"Si è verificato un errore inatteso"},siteDisabledPerGroupPolicy:{message:"Su questo sito il controllo non è abilitato a causa della Policy di gruppo"},siteTemporarilyUnsupported:{message:"Spiacenti, LanguageTool ha temporariamente disabilitato il supporto por questo sito web. Stiamo lavorando a una soluzione. Dovrebbe essere solo questione di alcuni giorni"},sk:{message:"Slovacco"},skip:{message:"Salta"},sl:{message:"Sloveno"},spellingError:{message:"Ortografia"},sr:{message:"Serbo"},sr_BA:{message:"Serbo (Bosnia)"},sr_HR:{message:"Serbo (Croazia)"},sr_ME:{message:"Serbo (Montenegro)"},sr_RS:{message:"Serbo (Serbia)"},statusIconEnableLT:{message:"Abilita LanguageTool – controllo ortografico e grammaticale"},statusIconError:{message:"Errore"},statusIconMoreErrors:{message:"Risultati incompleti: Il controllo del testo è stato interrotto a causa dell'eccessivo numero di errori."},statusIconPermissionRequired:{message:"Impossibile controllare il testo – conferma prima la politica sulla privacy"},statusIconReload:{message:"L'estensione è stata aggiornata. Per piacere aggiorna la pagina per attivare il controllo di ortografia e grammatica."},statusIconToolTip:{message:"LanguageTool – correttore di grammatica e ortografia"},suggestionError:{message:"Stile"},suggestionOnlyVisibleToPremiumButton:{message:"Accedi ai tutti vantaggi de Premium"},suggestionOnlyVisibleToPremiumText:{message:"Questo suggerimento avanzato è solo disponibili su LanguageTool Premium. Passa a Premium per ricevere suggerimenti come questo e molti altri."},sv:{message:"Svedese"},switchToAmericanEnglish:{message:"Passa all'inglese americano"},switchToAustralianEnglish:{message:"Passa all'inglese australiano"},switchToBritishEnglish:{message:"Passa all'inglese britannico"},switchToCanadianEnglish:{message:"Passa all'inglese canadese"},switchToNewZealandEnglish:{message:"Passa all'inglese neozelandese"},switchToSouthAfricanEnglish:{message:"Passa all'inglese sudafricano"},synonymsCardGeneralError:{message:"C'è stato un errore nel caricamento dei sinonimi"},synonymsCardHeadline:{message:"Sinonimi"},synonymsCardLanguageNotSupported:{message:"I sinonimi non sono ancora supportati in questa lingua."},synonymsCardLess:{message:"vedi meno"},synonymsCardLoadMoreAlternatives:{message:"carica più alternative"},synonymsCardLoading:{message:"Caricamento in corso…"},synonymsCardMore:{message:"successivi"},synonymsCardNoSynonymsAvailable:{message:"Nessun sinonimo disponibile per questa parola"},synonymsCardProvidedBy:{message:"Fornito da <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Frase"},synonymsCardTabWord:{message:"Parola"},synonymsCardTooltipReadText:{message:"Pronuncia parola ad alta voce"},synonymsTutorialHeadline:{message:"Come trovare sinonimi"},synonymsTutorialText:{message:"Ottieni sinonimi per qualsiasi parola facendo doppio clic su di essa. Funziona con tutti i campi di testo supportati da LanguageTool."},ta:{message:"Tamil"},textTooLong:{message:"Ci dispiace, questo testo è troppo lungo per essere controllato."},timeoutError:{message:"Time-out del server – riprova più tardi ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tagalog"},tooManyErrors:{message:"Sembra che questo testo contenga troppi problemi. Sei sicuro di aver selezionato la lingua corretta?"},tooManyRequests:{message:"Il limite di richieste è stato superato - aspetta un minuto e LanguageTool dovrebbe essere nuovamente disponibile."},toolbarDisableMenuDisableChecking:{message:"Disattiva su questo sito"},toolbarDisableMenuPauseChecking:{message:"Disattiva solo fino alla prossima visita"},toolbarTooltipDisableChecking:{message:"Disattiva revisione"},toolbarTooltipRephrasing:{message:"Riformula la frase"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Lo strumento di riformulazione frasi non è disponibile per questa lingua al momento"},tr:{message:"Turco"},tryAgain:{message:"Riprova"},turnOffPickyMode:{message:"Disabilita la modalità pignolo in questo testo"},turnOffRule:{message:"Disabilita questa regola ovunque"},turnOffRulePicky:{message:"Nella modalità pignolo, i suggerimenti grammaticali non possono essere disattivati"},turnOnHint:{message:"Puoi riattivare l'estensione qui"},uk:{message:"Ucraino"},unknownError:{message:"Ci dispiace, qualcosa è andato storto durante la correzione del testo. Riavviare browser potrebbe risolvere questo problema."},upgradeTeaserDiscount:{message:"Risparmia $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Offerta a tempo limitato"},username:{message:"E-mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ problemi di scrittura trovati",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Un problema di scrittura trovato"},validatorHasMistakesText:{message:"Clicca sulle parole evidenziate per correggerle."},validatorHasPremiumErrorsButton:{message:"Scopri di più"},validatorHasPremiumErrorsHeadlinePlural:{message:"Il tuo testo contiene $count$ problemi di scrittura avanzati",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Il tuo testo contiene un problema di scrittura avanzato"},validatorHasPremiumErrorsText:{message:"Fai l'upgrade a LanguageTool Premium per trovare ancora più errori grammaticali, di stile e di punteggiatura"},validatorLoadingHint:{message:"Controllo del testo in corso…"},validatorNoMistakesHeadline:{message:"Congratulazioni, non è stato trovato alcun errore!"},validatorNoTextStatus:{message:"Digita o incolla qui il tuo testo per controllarlo"},validatorPlaceholder:{message:"Inserisci o incolla qui il tuo testo…"},validatorPremiumButton:{message:"Upgrade"},validatorPremiumHeadline:{message:"Trova ulteriori problemi di scrittura e diventa uno scrittore migliore"},validatorPremiumReason1:{message:"Controllo della grammatica, punteggiatura e stile ancora più sofisticato"},validatorPremiumReason2:{message:"Controlla testi più lunghi (fino a 150.000 caratteri)"},validatorPremiumReason3:{message:"Rilevamento automatico di numeri non validi (es. IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Estensione per Microsoft Office"},validatorTextTooLongStatus:{message:"Ci dispiace, questo testo è troppo lungo per essere controllato."},variantCaDesc:{message:"Interpreta il catalano come:"},variantDeDesc:{message:"Interpreta il tedesco come:"},variantEnDesc:{message:"Interpreta l'inglese come:"},variantPtDesc:{message:"Interpreta il portoghese come:"},webstoreSiteNotSupported:{message:"Ci dispiace, LanguageTool non funziona sul sito del Web Store di Chrome. Funziona però in tutti gli altri siti dove puoi scrivere (come Facebook, Gmail, Twitter e LinkedIn)."},zh:{message:"Cinese"}},fr:{accessDeniedError2:{message:"Le serveur a retourné un message « Accès refusé ». Merci de vérifier votre adresse e-mail et votre mot de passe dans les paramètres avant de réessayer."},addLanguage:{message:"Ajouter une langue"},addToDictionaryCaption:{message:"Ajouter « $word$ » au Dictionnaire personnel",placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Accepter"},appDesc:{message:"Corrigez les fautes d’orthographe et de grammaire de vos textes partout sur le web grâce à LanguageTool !"},appDescThunderbird:{message:"Vérifie les fautes d’orthographe et de grammaire dans vos emails"},appName:{message:"Correcteur d’orthographe et de grammaire — LanguageTool"},ar:{message:"Arabe"},ast:{message:"Asturien"},attachScreenshot:{message:"Joindre une copie d’écran de la page"},autoCheckDesc:{message:"Vérification automatique par défaut pour tous les domaines"},autoCheckOnDomainsDesc:{message:"Vérifier automatiquement le texte sur ces domaines :"},be:{message:"Biélorusse"},br:{message:"Breton"},ca:{message:"Catalan"},ca_ES_valencia:{message:"Catalan (Valencien)"},cardContentShowAll:{message:"Voir plus"},cardContentShowSubset:{message:"Voir moins"},cardSelectorLabelChecker:{message:"Correction"},cardSelectorLabelParaphraser:{message:"Reformulation"},changelogDiscountExpires:{message:"Expire dans"},changelogTitle:{message:"Nouvelles fonctionnalités LanguageTool"},close:{message:"Fermer"},cloudServer:{message:"Serveur cloud (languagetool.org)"},confirm:{message:"OK, j’ai compris"},connectionProblem:{message:"Connexion au serveur $serverUrl$ impossible — veuillez vérifier votre connexion internet ou réessayer dans quelques minutes",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Vérification de l’orthographe et de la grammaire…"},contextMenuValidateInEditor:{message:"Vérifier le texte dans l’Éditeur"},continue:{message:"Poursuivre"},correctAllQuotes:{message:"Corriger toutes les citations"},customSuggestionError:{message:"Guide de Style"},da:{message:"Danois"},da_DK:{message:"Danois (Danemark)"},de:{message:"Allemand"},de_AT:{message:"Allemand (Autriche)"},de_CH:{message:"Allemand (Suisse)"},de_DE:{message:"Allemand (Allemagne)"},de_DE_x_simple_language:{message:"Allemand (Allemand facile)"},defaultServerLink:{message:"Utiliser par défaut"},deleteWord:{message:"Supprimer"},desktopAppAction:{message:"Télécharger GRATUITEMENT"},desktopAppHeadlineMac:{message:"Corrigez vos textes dans toutes vos applications préférées"},desktopAppHeadlineWindows:{message:"Corrigez vos textes dans toutes vos applications préférées"},desktopAppTextMac:{message:"LanguageTool pour Mac corrige vos écritures directement sur Apple Mail, Pages, Word, Slack et encore plus d’applications."},desktopAppTextWindows:{message:"LanguageTool pour Windows est maintenant disponible et corrige vos écrits directement sur Outlook, Word et un grand nombre d’applications."},dialogAllLanguages:{message:"Toutes les langues :"},dialogCounterCharactersOption:{message:"Caractères"},dialogCounterCharactersPlural:{message:"$number$ caractères",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 caractère"},dialogCounterSentencesOption:{message:"Phrases"},dialogCounterSentencesPlural:{message:"$number$ phrases",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 phrase"},dialogCounterWordsOption:{message:"Mots"},dialogCounterWordsPlural:{message:"$number$ mots",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 mot"},dialogDisableMenuDisableChecking:{message:"Désactiver sur ce site"},dialogDisableMenuPauseChecking:{message:"Désactiver uniquement jusqu’à la prochaine visite"},dialogEnableInDialogHeadline:{message:"Plug-in désactivé"},dialogEnableInDialogText:{message:"Cliquez pour activer la vérification orthographique et grammaticale."},dialogFailStateHeadline:{message:"Oups …"},dialogFailStateText:{message:"Un problème est survenu. Veuillez réessayer."},dialogMainMenuPickyMode:{message:"Mode Méticuleux"},dialogMainMenuPickyModeInfo:{message:"Activez le mode Méticuleux pour parfaire votre écriture."},dialogMainMenuPremiumMistake:{message:"Suggestions Premium"},dialogMainMenuRegularMistake:{message:"Suggestions"},dialogMainMenuTextScore:{message:"Score du texte"},dialogNeedsLanguageHintHeadline:{message:"La langue n’a pas pu être détectée"},dialogNeedsLanguageHintIgnore:{message:"Ignorer pour l’instant"},dialogNeedsLanguageHintText:{message:"La langue de votre texte n’a pas pu être détectée. Vous pouvez soit la sélectionner manuellement, soit poursuivre l’écriture."},dialogPositionMenuDefault:{message:"Par défaut"},dialogPositionMenuLeft:{message:"Gauche"},dialogPositionMenuRight:{message:"Droite"},dialogPremiumButton:{message:"Plus d’infos"},dialogPremiumHeadlinePlural:{message:"$count$ erreurs de rédaction trouvées",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"1 erreur de rédaction trouvée"},dialogPremiumText:{message:"Obtenez encore plus de suggestions de style, de ponctuation et de grammaire en utilisant LanguageTool Premium"},dialogRecommendedLanguages:{message:"Recommandé pour vous :"},dialogScrollHintHeadline:{message:"Suggestions"},dialogScrollHintText:{message:"Parcourez le document pour voir plus de suggestions"},dialogScrollToLink:{message:"Afficher dans le texte"},dialogSelectLanguageLabel:{message:"Choisissez une langue"},dialogTextTooLongButton:{message:"Plus d’infos"},dialogTextTooLongHeadline:{message:"Ce texte est trop long"},dialogTextTooLongText:{message:"Passez à la version Premium pour bénéficier de suggestions de style et de grammaire en cas de textes particulièrement longs."},dialogTextTooShortHeadline:{message:"Ce texte est trop court"},dialogTextTooShortText:{message:"Entrez au moins 5 caractères pour commencer la vérification"},dialogTooltipDisableChecking:{message:"Désactiver la vérification du texte"},dialogTooltipHelp:{message:"Aide"},dialogTooltipHelpCenter:{message:"Centre d’aide"},dialogTooltipPosition:{message:"Position de la boite de dialogue"},dialogTooltipSaveText:{message:"Sauvegarder le texte"},dialogTooltipSendFeedback:{message:"Envoyer un commentaire"},dialogTooltipSettings:{message:"Paramètres"},dialogTooltipUserStatistics:{message:"Statistiques utilisateur"},dialogUnsupportedLanguageHeadline:{message:"Cette langue est indisponible."},dialogUnsupportedLanguageLabel:{message:"Langue indisponible"},dialogUnsupportedLanguageText:{message:"LanguageTool est disponible dans plus de 30 autres langues (comme le français, l’anglais, l’allemand, l’espagnol, le portugais, le néerlandais ou le russe)."},dismissSuggestions:{message:"Ignorer"},domainsDesc:{message:"Désactiver la vérification sur ces sites :"},edgeWebstoreSiteNotSupported:{message:"Désolé, LanguageTool n’est pas disponible sur le site des modules Edge. Il est cependant disponible sur tous les autres sites (Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Erreur suivante"},editorCardNextSentence:{message:"Phrase suivante"},el:{message:"Grec"},en:{message:"Anglais"},en_AU:{message:"Anglais (Australie)"},en_CA:{message:"Anglais (Canada)"},en_GB:{message:"Anglais (Royaume-Uni)"},en_NZ:{message:"Anglais (Nouvelle-Zélande)"},en_US:{message:"Anglais (États-Unis)"},en_ZA:{message:"Anglais (Afrique du Sud)"},enableEverywhereButton:{message:"Activer pour chaque zone de texte"},enableHereButton:{message:"Activer uniquement pour cette zone de texte"},enableInDialog:{message:"Cliquez pour activer l’option Vérification<br>orthographique et grammaticale"},enableRuleTooltip:{message:"Cliquer pour activer la règle"},eo:{message:"Espéranto"},errorCardAllDoneCaption:{message:"Génial, aucune faute !"},errorCardAllDoneDescription:{message:"Vous pouvez être fier·ère de vous !"},errorCardHiddenMatchButton:{message:"Tout déverrouiller"},errorCardHiddenMatchCaption:{message:"Aperçu de la version Premium"},errorCardKeyboardInstructions:{message:"Taper sur $enter$ ou $shiftEnter$ pour passer à la suivante",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ autres erreurs cachées trouvées",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Une autre erreur cachée trouvée"},errorCardPremiumTeaserCta:{message:"Afficher toutes les erreurs cachées"},errorCardPremiumTeaserGrammarSuggestions:{message:"Erreurs de <lt-em>grammaire<lt-em> cachées"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Suggestions de <lt-em>ponctuation</lt-em> cachées"},errorCardPremiumTeaserReadMore:{message:"En savoir plus"},errorCardPremiumTeaserStyleSuggestions:{message:"Erreurs de <lt-em>style<lt-em> cachées"},errorCardPremiumTeaserText:{message:"Le texte comporte d’autres erreurs que seul LanguageTool Premium peut détecter."},errorCardTurnOffPickyModeButton:{message:"Désactiver ici"},errorCardTurnOffPickyModeCaption:{message:"Suggestions du mode Méticuleux"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ mots ont été ignorés",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 mot a été ignoré"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ règles ont été ignorées",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"Une règle a été ignorée"},es:{message:"Espagnol"},eu:{message:"Basque"},experimentalLink:{message:"Paramètres avancés (uniquement pour les professionnels)"},extensionUpdatedHeadline:{message:"L’extension a été mise à jour"},extensionUpdatedText:{message:"Veuillez cliquer sur l’icône $iconHtml$ dans la barre d’outils de votre navigateur ou recharger la page pour réactiver la vérification grammaticale et orthographique.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Perse"},feedbackButton:{message:"Envoyer le message à LanguageTool"},feedbackDirectMail:{message:"Si vous voulez envoyer des captures d’écran, vous pouvez également nous envoyer un e-mail à $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Désolé. Votre message n’a pas pu être envoyé. Veuillez réessayer plus tard."},feedbackHeadline:{message:"Envoyez vos commentaires à LanguageTool"},feedbackPrivacyPolicy:{message:"Politique de confidentialité"},feedbackSenderPlaceholder:{message:"Entrez votre adresse e-mail…"},feedbackSuccess:{message:"Merci ! Nous essaierons de répondre à votre demande dès que possible."},feedbackTextPlaceholder:{message:"Entrez votre commentaire…"},fixSentenceCardHeadlineApply:{message:"Corriger la phrase complète"},fixSentenceCardHeadlineLoading:{message:"Recherche de correction…"},fixSentenceCardHeadlineMissing:{message:"Pas de correction trouvée"},forcePreferredLanguagesOptionLabel:{message:"Utiliser uniquement ces langues pour la détection automatique de langues"},fr:{message:"Français"},ga:{message:"Irlandais"},generalSettingsHeadline:{message:"Préférences générales"},gl:{message:"Galicien"},googleDocsDisableButton:{message:"Désactiver LanguageTool dans ce doc"},googleDocsEnableButton:{message:"Activer LanguageTool"},googleDocsEnableHint:{message:"Vous pouvez réactiver la vérification de texte de LanguageTool ici"},googleDocsNewTeaserHeadline:{message:"LanguageTool pour Google Docs est arrivé !"},googleDocsNewTeaserText:{message:"Sur le côté de chaque page, vous pouvez maintenant voir le nombre d’erreurs détectées par LanguageTool."},googleDocsPagelessModeUnsupported:{message:'Le nouveau format "Sans pages" est actuellement indisponible. Nous travaillons déjà sur cette amélioration.'},googleSlidesDisableButton:{message:"Désactiver LanguageTool dans cette présentation"},googleSlidesEnableButton:{message:"Activer LanguageTool"},googleSlidesEnableHint:{message:"Vous pouvez réactiver ici le correcteur grammatical et stylistique de LanguageTool"},googleSlidesNewTeaserHeadline:{message:"LanguageTool pour Google Slides est enfin disponible !"},googleSlidesNewTeaserText:{message:"Sur le côté de chaque diapositive, vous pouvez maintenant voir le nombre d’erreurs détectées par LanguageTool."},grammarError:{message:"Grammaire"},haveAccountDesc:{message:"Créer un compte gratuit sur"},historicPremiumErrorsButton:{message:"Plus d’infos"},historicPremiumErrorsHeadline:{message:"Le saviez-vous ?"},historicPremiumErrorsText:{message:"Vous auriez pu éviter <strong>$count$ erreurs de grammaire et de style</strong> dans vos derniers textes en utilisant LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ erreurs de grammaire et de style</strong> auraient pu être évités dans vos derniers textes en utilisant LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Ne pas vérifier automatiquement sur ces domaines :"},ignoreHere:{message:"Ignorer dans ce texte"},ignoredRules:{message:"Ces règles ont été désactivées. Cliquez sur une règle pour la réactiver :"},ignoredRulesDesc:{message:"Règles désactivées"},incompleteResult:{message:"Les résultats sont incomplets : la vérification du texte a été arrêtée, car il y avait trop de fautes."},invalidUsernameOrPassword:{message:"Erreur : Veuillez vérifier votre e-mail et votre mot de passe dans les paramètres."},is:{message:"Islandais"},it:{message:"Italien"},ja:{message:"Japonais"},km:{message:"Khmer"},language:{message:"Langue :"},languageOptionsLink:{message:"Options de langue"},languagetoolNotSupported:{message:"L’extension est indisponible sur ce site, car ce dernier propose la même fonction."},localServer:{message:"Serveur local (localhost) — nécessite que le serveur LanguageTool fonctionne localement"},localServerDocs:{message:"documentation"},lt:{message:"Lituanien"},managedLoginButton1:{message:"S’identifier"},managedLoginButton2:{message:"Identifiez-vous avec votre compte professionnel."},managedLoginDescription:{message:"Merci de vous identifier avec votre compte professionnel pour utiliser LanguageTool."},managedLoginHeadline:{message:"Se connecter"},messagePopupTurnOnPrimaryButton:{message:"J’ai compris !"},messagePopupTurnOnSecondaryButton:{message:"Réactiver la vérification du texte"},messagePopupTurnOnheadline:{message:"La correction d’orthographe a été désactivée sur cette page."},messagePopupTurnOntext:{message:"Pour la réactiver, cliquez sur l’icône LT dans la barre d’outils et cocher la case « Vérifiez la grammaire et l’orthographe »."},ml:{message:"Malayalam"},moreDetails:{message:"Plus de détails…"},motherTongueDesc:{message:"Langue maternelle"},motherTongueExpl:{message:"Indiquez une langue maternelle si vous désirez être avertis des faux-amis lorsque vous vérifiez des textes écrits dans une langue autre que votre langue maternelle."},msOnlineOfficeNotSupported:{message:"L’application n’est malheureusement pas compatible avec Microsoft Word Online — veuillez installer <a target='_blank' href='$url$'>cette extension</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Néerlandais"},no:{message:"Norvégien"},noErrorsFound2:{message:"Génial, aucune faute !"},noErrorsFoundText:{message:"Vous pouvez être fier·ère"},notificationUndoDescription:{message:"Cliquez sur %{cmd} pour annuler"},notificationUndoLabel:{message:"Reformulation appliquée"},onboardLanguageSelectorCta:{message:"Démarrer LanguageTool"},onboardLanguageSelectorDescription:{message:"Afin d’obtenir des suggestions optimales, nous avons besoin de connaître vos langues de préférence."},onboardLanguageSelectorHeading:{message:"Sélectionnez votre langue de préférence"},onboardingHeadline:{message:"Votre texte va maintenant être amélioré"},onboardingIntro:{message:"Votre texte sera maintenant vérifié dans la plupart des zones de texte dès que vous écrivez."},onboardingIntroThunderbird:{message:"Votre texte va désormais être vérifié lors de la rédaction de vos mails."},onboardingNote1:{message:"Rechargez <strong>toutes les pages web ouvertes</strong> pour activer l’extension."},onboardingNote2:{message:"Cette extension est incompatible avec le <strong>Chrome Web Store</strong> et <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Pour désactiver l’extension sur un site web, cliquez sur <strong>l’icône LT dans la barre d’outils de votre navigateur</strong>."},onboardingNote4:{message:"Vous pouvez accéder aux <strong>synonymes</strong> en double-cliquant sur un mot dans une zone de texte (par ex : dans Gmail, Facebook ou Google Docs)."},onboardingNoteThunderbird1:{message:"Commencez à rédiger un nouvel email pour activer l’extension."},onboardingNoteThunderbird2:{message:"Pour désactiver l’extension, cliquez sur l’icône LT située en haut à droite de la fenêtre de rédaction de votre email."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Raccourci clavier"},openCardHotkeyExpl:{message:"<strong>Double-cliquer rapidement</strong> sur cette touche lorsque le curseur est placé sur un mot souligné. Bien sûr, cette fonction est aussi disponible pour les synonymes."},openCardHotkeyOff:{message:"Off"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Autre serveur — le serveur LanguageTool doit fonctionner ici"},overleafNewTeaserHeadline:{message:"LanguageTool pour Overleaf est enfin disponible !"},overleafNewTeaserText:{message:"Parcourez le texte pour voir les suggestions orthographiques, grammaticales et stylistiques."},oxfordSpellingOptionLabel:{message:"Utiliser l’anglais britannique"},password:{message:"Mot de passe :"},personalDictionaryMultipleWordError:{message:"Les expressions composées de plusieurs mots ne sont prises en charge que pour les utilisateurs disposant d’un compte LanguageTool"},phrasesCardCaption:{message:"Reformulations"},phrasesCardConfirmationButton:{message:"Accepter la Politique de confidentialité"},phrasesCardConfirmationHeading:{message:"Reformulez vos phrases avec l’IA"},phrasesCardConfirmationText:{message:"Besoin d’un texte plus court, fluide ou formel ? Nous sommes là pour vous aider ! Veuillez consulter notre <a target='_blank' href='$privacyUrl$' rel='noopener'>Politique de confidentialité</a> concernant le traitement des données.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Supprimer le filtre"},phrasesCardGeneralError:{message:"Une erreur de chargement de la proposition est survenue"},phrasesCardHeadline:{message:"Alternatives générées par l’IA"},phrasesCardLabelFluency:{message:"Idiomatique"},phrasesCardLabelFormality:{message:"Formel"},phrasesCardLabelGeneral:{message:"Alternative"},phrasesCardLabelParaphrase:{message:"Idiomatique"},phrasesCardLabelShortened:{message:"Concis"},phrasesCardLabelSimplicity:{message:"Simple"},phrasesCardNoResult:{message:"Malheureusement, aucune reformulation n’est disponible pour cette phrase."},phrasesCardNoSentence:{message:"Phrase non détectée."},phrasesCardNotSupportedHeading:{message:"Reformulation indisponible pour le moment…"},phrasesCardNotSupportedText:{message:"La reformulation n’est actuellement disponible que dans les langues suivantes : anglais, espagnol et allemand. Nous <strong>travaillons d’arrache-pied</strong> pour intégrer d’autres langues dès que possible."},phrasesCardRephrasingLimitPlural:{message:"Il ne vous reste que <strong>$count$</strong> phrases disponibles pour aujourd’hui.",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Il ne vous reste qu’<strong>une</strong> phrase disponible pour aujourd’hui."},phrasesCardRephrasingLimitUnlock:{message:"Obtenir la fonction de reformulation illimitée"},phrasesCardSentencePrefix:{message:"Phrase initiale"},phrasesCardTimeoutError:{message:"Le serveur n’a pas répondu à temps."},pl:{message:"Polonais"},popupGeneralSettingsHeadline:{message:"Préférences générales"},popupGlobalSettingsHeadline:{message:"Paramètres généraux"},popupGlobalSettingsHeadlineInfo:{message:"Tous les sites"},popupOnboardingHeadline:{message:"Bienvenue ! Vous pouvez maintenant utiliser LanguageTool :"},popupOnboardingStep1:{message:"Cliquez sur n’importe quel champ de texte à plusieurs lignes (par exemple, Gmail, Facebook, etc.)"},popupOnboardingStep2:{message:"Vous verrez une icône qui ressemble à $icon1Html$ ou à $icon2Html$ dans le coin inférieur droit",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Entrez du texte. Les problèmes de rédaction seront <u>soulignés</u>."},popupOnboardingStep4:{message:"Cliquez sur un mot souligné pour voir les suggestions"},popupOpenEditorButton:{message:"Ouvrir l’Éditeur"},popupOptionCaseText:{message:"Vérifier les majuscules et les minuscules"},popupOptionCheckText:{message:"Activer LanguageTool"},popupOptionContextMenu:{message:"Afficher dans le menu lors d’un clic droit"},popupOptionContextMenuDescription:{message:"Sélectionnez tout simplement un texte sur n’importe quel site web et vérifiez s’il contient des fautes de grammaire."},popupOptionPickyMode:{message:"Mode Méticuleux"},popupOptionPickyModeDescription:{message:"Pour une typographie, un registre et un style (plus que) parfaits !"},popupOptionRephrasing:{message:"Fonction de reformulation"},popupOptionRephrasingDescription:{message:"Reformulez des phrases entières grâce à l’intelligence artificielle ! Pour ce faire, placez votre souris sur le symbole situé dans le coin inférieur droit de chaque champ de texte et cliquez sur l’icône de reformulation pour obtenir des suggestions concernant la phrase en cours."},popupOptionSynonyms:{message:"Activer le double-clic"},popupOptionSynonymsDescription:{message:"Double-cliquez sur un mot dans une zone de texte pour voir les synonymes"},popupOptionValidate:{message:"Vérifier le texte sélectionné"},popupOptionValidateInEditor:{message:"Vérifier le texte sélectionné dans l’Éditeur"},popupPremiumHeadline:{message:"Écrivez comme un professionnel"},popupPremiumLink:{message:"Plus d’infos"},popupPremiumText:{message:"Passez à LanguageTool Premium pour non seulement trouver encore plus d’erreurs de grammaire et de ponctuation, mais aussi de style."},popupSettingsHeadline:{message:"Paramètres pour ce site"},popupSettingsHeadlineInfo:{message:"Site actuel"},popupSettingsHover:{message:"Paramètres avancés"},popupUserStatisticsHover:{message:"Afficher les statistiques utilisateur"},poweredBy:{message:"Utilise la technologie <b>LanguageTool</b>"},premiumErrorsButton:{message:"Plus d’infos"},premiumErrorsTextPlural:{message:"Votre texte contient <strong>$count$ erreurs de rédaction avancées</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Votre texte contient <strong>une erreur de rédaction avancée</strong>"},privacyHeadline:{message:"Bienvenue sur LanguageTool"},privacyLinkForDefaultServer:{message:"Pour plus de détails, consultez notre <a href='$privacyUrl$' target='_blank'>politique de confidentialité</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"La vérification peut être <strong>désactivée à tout moment</strong>."},privacyListUnsaved:{message:"<strong>Votre texte ne sera pas sauvegardé</strong>"},privacyNoteForDefaultServer:{message:"Cette extension vérifie vos textes en les envoyant sur le site <a href='$serverUrl$' target='_blank'>$serverHost$</a> grâce à une connexion chiffrée sécurisée.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Cette extension vérifie vos textes en les envoyant à $serverUrl$. Pour basculer vers le serveur par défaut, veuillez passer par la page d’options de l’extension.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Votre assistant d’écriture"},privacyPolicy:{message:"Politique de confidentialité"},pt:{message:"Portugais"},pt_AO:{message:"Portugais (Angola, avant réforme)"},pt_BR:{message:"Portugais (Brésil, après réforme)"},pt_CV:{message:"Portugais (Cap-Vert)"},pt_MZ:{message:"Portugais (Mozambique, avant réforme)"},pt_PT:{message:"Portugais (Portugal, après réforme)"},pt_PT_post_reform:{message:"Portugais (Portugal, après réforme)"},pt_PT_pre_reform:{message:"Portugais (Portugal, avant réforme)"},punctuationError:{message:"Ponctuation"},ratingHeadline:{message:"Aimez-vous notre vérificateur de texte ?"},ratingText:{message:"Faites-nous part de vos commentaires"},ratingThankYou:{message:"Merci."},ratingUnhappyQuestion:{message:"Vous n’êtes pas satisfait ? Dites-nous tout ! "},removeExtraWhitespace:{message:"Supprimer les doubles espaces"},rephrasingTeaserCaption:{message:"Besoin de plus de reformulations ?"},rephrasingTeaserCountdownSuffix:{message:"$count$ de reformulations en plus",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Restez connecté !"},rephrasingTeaserCta:{message:"Je profite des avantages Premium"},rephrasingTeaserDescription:{message:"Profitez dès maintenant de reformulations illimitées et de nombreuses autres fonctionnalités !"},rephrasingTeaserListItem1:{message:"<strong>Vérification jusqu’à $count$</strong> caractères par texte",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Large sélection de suggestions de style</strong> pour des textes irréprochables."},rephrasingTeaserListItem3:{message:"<strong>Reformulations disponibles en illimité</strong> pour personnaliser vos textes… jusqu’au dernier point !"},replaceWithWhitespace:{message:"Remplacer par un espace blanc"},reportAnIssue:{message:"Envoyer un commentaire"},reviewChromeHeadline:{message:"Voulez-vous nous donner une note dans le Store Google Chrome ?"},reviewEdgeHeadline:{message:"Accepteriez-vous de nous donner une note dans l’Edge Store ?"},reviewFirefoxHeadline:{message:"Voulez-vous nous donner une note dans le Store Firefox ?"},reviewLink:{message:"Notez-nous dès maintenant"},reviewOperaHeadline:{message:"Nous donneriez-vous une évaluation dans le store Opera ?"},reviewSafariHeadline:{message:"Accepteriez-vous de nous donner une note dans l’App Store ?"},ro:{message:"Roumain"},ru:{message:"Russe"},save:{message:"Sauvegarder"},sendFeedback:{message:"Envoyer un commentaire"},sentenceSplittingCardApplyButtonLabel:{message:"Accepter"},sentenceSplittingCardHeadlineApply:{message:"Suggestion :"},sentenceSplittingCardHeadlineLoading:{message:"Raccourcissement de la phrase…"},sentenceSplittingCardHeadlineMissing:{message:"Aucune suggestion n’a été trouvée."},serverNotAvailable:{message:"Serveur local non disponible"},serverText:{message:"serveur de LanguageTool :"},serverUrlIsInvalid:{message:"Cette URL n’est pas valide"},settingsAccountBulletListEditor:{message:"Utiliser l’Éditeur comme rédacteur de texte et écrire sans distractions"},settingsAccountBulletListSave:{message:"Enregistrer des textes pour un usage ultérieur "},settingsAccountBulletListSync:{message:"Synchroniser les paramètres et le Dictionnaire personnel sur divers moteurs de recherche et appareils"},settingsAccountDescription:{message:"Se connecter et profiter des avantages suivants :"},settingsAccountHeadline:{message:"Compte"},settingsAccountSubheadline:{message:"Se connecter avec le compte LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Ce domaine n’a pas encore été ajouté. Appuyez sur ENTRÉE pour l’ajouter."},settingsAddDomainHint:{message:"Ce domaine n’a pas encore été désactivé. Appuyez sur Entrée pour l’ajouter."},settingsAddIgnoredDomainHint:{message:"Ce domaine n’a pas encore été ajouté. Appuyez sur ENTRÉE pour l’ajouter."},settingsAddOrFilterAutoCheckDomains:{message:"Ajouter ou trouver un domaine…"},settingsAddOrFilterDomains:{message:"Ajoutez ou trouvez un domaine…"},settingsAddOrFilterIgnoredDomains:{message:"Ajouter ou trouver un domaine…"},settingsAddOrFilterWords:{message:"Ajoutez ou trouvez un mot…"},settingsAddWordHint:{message:"Ce mot n’existe pas encore dans votre dictionnaire. Appuyez sur Entrée pour l’ajouter."},settingsAreYouSure:{message:"Êtes-vous sûr ? Il n’est pas possible d’annuler."},settingsCheckForPaidSubscriptionError:{message:"La vérification du statut de votre abonnement a échoué"},settingsClearAll:{message:"Tout effacer"},settingsCopyDictionary:{message:"Copier dans le presse-papier"},settingsCopyDictionarySuccessful:{message:"Copié vers le presse-papier"},settingsDeleteAutoCheckDomain:{message:"Supprimer un domaine"},settingsDeleteIgnoredDomain:{message:"Supprimer un domaine"},settingsDictionaryHeadline:{message:"Dictionnaire personnel"},settingsDomainInvalid:{message:"Veuillez entrer un domaine valide qui n’a pas déjà été ajouté."},settingsEmptyAutoCheckDomains:{message:"Vous n’avez activé la vérification automatique sur aucun site"},settingsEmptyDictionary:{message:"Votre Dictionnaire personnel est vide."},settingsEmptyDomainList:{message:"Vous n’avez désactivé aucun domaine"},settingsEmptyIgnoredDomains:{message:"Vous n’avez désactivé la vérification automatique sur aucun site"},settingsEmptyIgnoredRules:{message:"Vous n’avez encore désactivé aucune règle. Vous pouvez le faire lorsqu’elles apparaissent dans un texte."},settingsEnableAllRules:{message:"Tout activer"},settingsEnableDomain:{message:"Activer ce domaine"},settingsExperimentalSuccess:{message:"Vos paramètres ont bien été enregistrés."},settingsForgotPasswordLink:{message:"Mot de passe oublié ?"},settingsHeadline:{message:"Paramètres"},settingsLanguageVariantsDescription:{message:"Afin d’obtenir des suggestions optimales, veuillez indiquer votre variante linguistique préférée."},settingsLanguageVariantsHeadline:{message:"Variété linguistique"},settingsLoggedInAs:{message:"Vous êtes connecté en tant que $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Se connecter"},settingsLoginError:{message:"Connexion impossible. Veuillez vérifier votre adresse e-mail et votre mot de passe."},settingsLoginSuccess:{message:"Vous êtes maintenant connecté"},settingsLogoutButton:{message:"Se déconnecter"},settingsLogoutSuccess:{message:"Vous êtes déconnecté"},settingsManageAccountButton:{message:"Gérer votre compte"},settingsPasswordPlaceholder:{message:"Mot de passe"},settingsPreferredLanguagesCompleteList:{message:"Toutes les langues"},settingsPreferredLanguagesDescription:{message:"Sélectionnez vos langues de préférence pour écrire vos textes. Ainsi, LanguageTool détectera automatiquement la langue employée."},settingsPreferredLanguagesHeadline:{message:"Langues de préférence"},settingsPreferredLanguagesPopularList:{message:"Langues populaires"},settingsPremiumButton:{message:"Découvrez LanguageTool Plus"},settingsPremiumFeaturesActivated:{message:"Toutes <strong>les fonctions premium</strong> sont activées."},settingsPremiumHeadline:{message:"Améliorez votre style d’écriture"},settingsPremiumText:{message:"Trouvez des fautes avancées de grammaire, de style et de ponctuation ou vérifiez des textes jusqu’à 150 000 caractères."},settingsServerUrlDisabled:{message:"Vous pouvez configurer l’URL de votre serveur habituel uniquement lorsque vous êtes déconnecté de votre compte LanguageTool."},settingsUnknownError:{message:"Une erreur inattendue s’est produite."},siteDisabledPerGroupPolicy:{message:"La vérification sur ce site est désactivée par la politique du groupe."},siteTemporarilyUnsupported:{message:"Désolé, LanguageTool est temporairement indisponible sur ce site. Nous recherchons l’origine de cette erreur. Elle devrait être résolue dans quelques jours."},sk:{message:"Slovaque"},skip:{message:"Sauter"},sl:{message:"Slovène"},spellingError:{message:"Orthographe"},sr:{message:"Serbe"},sr_BA:{message:"Serbe (Bosnie)"},sr_HR:{message:"Serbe (Croatie)"},sr_ME:{message:"Serbe (Monténégro)"},sr_RS:{message:"Serbe (Serbie)"},statusIconEnableLT:{message:"Activer LanguageTool — Vérification orthographique et grammaticale"},statusIconError:{message:"Erreur"},statusIconMoreErrors:{message:"Les résultats sont incomplets : la vérification du texte a été arrêtée, car il y avait trop de fautes."},statusIconPermissionRequired:{message:"Texte non vérifié — veuillez confirmer la politique de confidentialité"},statusIconReload:{message:"L’extension a été mise à jour. Veuillez actualiser la page afin de lancer la vérification orthographique et grammaticale."},statusIconToolTip:{message:"LanguageTool — Vérification orthographique et grammaticale"},suggestionError:{message:"Style"},suggestionOnlyVisibleToPremiumButton:{message:"Accéder à tous les avantages Premium"},suggestionOnlyVisibleToPremiumText:{message:"Voici une suggestion avancée uniquement disponible dans la version LanguageTool Premium. N’attendez plus et devenez Premium à votre tour pour bénéficier de suggestions similaires ainsi que de nombreuses autres fonctionnalités !"},sv:{message:"Suédois"},switchToAmericanEnglish:{message:"Passer en anglais américain"},switchToAustralianEnglish:{message:"Passer en anglais australien"},switchToBritishEnglish:{message:"Passer en anglais britannique"},switchToCanadianEnglish:{message:"Passer en anglais canadien"},switchToNewZealandEnglish:{message:"Passer en anglais néo-zélandais"},switchToSouthAfricanEnglish:{message:"Passer en anglais sud-africain"},synonymsCardGeneralError:{message:"Une erreur est survenue pendant le chargement des synonymes"},synonymsCardHeadline:{message:"Synonymes"},synonymsCardLanguageNotSupported:{message:"Les synonymes ne sont pas encore disponibles dans cette langue."},synonymsCardLess:{message:"Voir moins"},synonymsCardLoadMoreAlternatives:{message:"afficher plus d’alternatives"},synonymsCardLoading:{message:"Chargement…"},synonymsCardMore:{message:"plus"},synonymsCardNoSynonymsAvailable:{message:"Aucun synonyme disponible pour ce mot"},synonymsCardProvidedBy:{message:"Proposé par <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Phrase"},synonymsCardTabWord:{message:"Mot"},synonymsCardTooltipReadText:{message:"Prononcez ce mot"},synonymsTutorialHeadline:{message:"Comment trouver des synonymes"},synonymsTutorialText:{message:"Obtenez des synonymes pour n’importe quel mot en double-cliquant dessus. Disponible dans toutes les zones de textes compatibles avec LanguageTool."},ta:{message:"Tamoul"},textTooLong:{message:"Désolé, ce texte est trop long pour être vérifié."},timeoutError:{message:"Temps d’attente du serveur dépassé — veuillez réessayer plus tard ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tagalog"},tooManyErrors:{message:"Ce texte contient trop d’erreurs. Êtes-vous sûr d’avoir sélectionné la bonne langue ?"},tooManyRequests:{message:"Dépassement du nombre de demandes — veuillez patienter un instant, LanguageTool devrait être de nouveau disponible."},toolbarDisableMenuDisableChecking:{message:"Désactiver sur le site web"},toolbarDisableMenuPauseChecking:{message:"Désactiver uniquement jusqu’à la prochaine visite"},toolbarTooltipDisableChecking:{message:"Désactiver la correction"},toolbarTooltipRephrasing:{message:"Reformuler la phrase"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"La fonction de reformulation de phrase n’est actuellement pas disponible pour cette langue."},tr:{message:"Turc"},tryAgain:{message:"Réessayer"},turnOffPickyMode:{message:"Désactiver le mode Méticuleux pour ce texte"},turnOffRule:{message:"Désactiver la règle partout"},turnOffRulePicky:{message:"Les suggestions grammaticales ne peuvent pas être désactivées en mode Méticuleux"},turnOnHint:{message:"Vous pouvez réactiver l’extension ici"},uk:{message:"Ukrainien"},unknownError:{message:"Désolé, un problème est survenu lors de la vérification de votre texte. Redémarrer le navigateur pourrait résoudre ce problème."},upgradeTeaserDiscount:{message:"Économisez $percent$ %",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Offre limitée"},username:{message:"Courriel :"},validatorHasMistakesHeadlinePlural:{message:"$count$ problèmes de rédaction ont été trouvés",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Un problème de rédaction trouvé"},validatorHasMistakesText:{message:"Cliquez sur les mots surlignés pour les corriger."},validatorHasPremiumErrorsButton:{message:"Plus d’infos"},validatorHasPremiumErrorsHeadlinePlural:{message:"Votre texte contient $count$ erreurs de rédaction avancées",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Votre texte contient une erreur de rédaction avancée"},validatorHasPremiumErrorsText:{message:"Passez à LanguageTool Premium pour trouver d’autres fautes de grammaire, de style et de ponctuation."},validatorLoadingHint:{message:"Vérification du texte…"},validatorNoMistakesHeadline:{message:"Félicitations : aucune faute n’a été trouvée !"},validatorNoTextStatus:{message:"Tapez ou collez votre texte pour le vérifier"},validatorPlaceholder:{message:"Tapez ou collez votre texte ici…"},validatorPremiumButton:{message:"Passer au premium"},validatorPremiumHeadline:{message:"Trouvez plus de problèmes de rédaction et devenez un meilleur écrivain."},validatorPremiumReason1:{message:"Vérification avancée pour la grammaire, la ponctuation et le style"},validatorPremiumReason2:{message:"Vérifier des textes plus longs (jusqu’à 150 000 caractères)"},validatorPremiumReason3:{message:"Détection automatique des nombres incorrects (par ex. IBAN, ISBN…)"},validatorPremiumReason4:{message:"Module pour Microsoft Office"},validatorTextTooLongStatus:{message:"Désolé, ce texte est trop long pour être vérifié."},variantCaDesc:{message:"Utiliser cette variante du catalan :"},variantDeDesc:{message:"Utiliser cette variante de l’allemand :"},variantEnDesc:{message:"Utiliser cette variante de l’anglais :"},variantPtDesc:{message:"Utiliser cette variante du portugais :"},webstoreSiteNotSupported:{message:"Désolé, LanguageTool n’est pas disponible sur Chrome Web Store. Il est cependant disponible sur tous les autres sites (par ex. Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Chinois"}},pt_BR:{accessDeniedError2:{message:"O servidor enviou uma mensagem de acesso negado — verifique seu e-mail e senha nas configurações e tente novamente."},addLanguage:{message:"Adicionar idioma"},addToDictionaryCaption:{message:'Adicione "$word$" ao dicionário pessoal',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Aplicar"},appDesc:{message:"Aprimore seus textos instantaneamente com o verificador gramatical e a ferramenta de paráfrase do LanguageTool"},appDescThunderbird:{message:"Cheque seus emails por erros de digitação e de gramática"},appName:{message:"Corretor gramatical e ortográfico — LanguageTool"},ar:{message:"Árabe"},ast:{message:"Asturiano"},attachScreenshot:{message:"Anexar a captura de tela da página"},autoCheckDesc:{message:"Verificação automática em todos os domínios por padrão"},autoCheckOnDomainsDesc:{message:"Verificar o texto automaticamente nestes domínios:"},be:{message:"Bielorrusso"},br:{message:"Bretão"},ca:{message:"Catalão"},ca_ES_valencia:{message:"Catalão (Valenciano)"},cardContentShowAll:{message:"Mostrar tudo"},cardContentShowSubset:{message:"Mostrar menos"},cardSelectorLabelChecker:{message:"Corrigir"},cardSelectorLabelParaphraser:{message:"Parafrasear"},changelogDiscountExpires:{message:"Oferta expira em"},changelogTitle:{message:"Novos recursos do LanguageTool"},close:{message:"Fechar"},cloudServer:{message:"Servidor na nuvem (languagetool.org)"},confirm:{message:"Ok, entendi"},connectionProblem:{message:"Não há conexão com o $serverUrl$ — verifique a sua conexão ou tente novamente em um minuto",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Verifique ortografia e gramática"},contextMenuValidateInEditor:{message:"Verifique o texto no Editor"},continue:{message:"Continuar"},correctAllQuotes:{message:"Corrija todas as citações"},customSuggestionError:{message:"Guia de estilo"},da:{message:"Dinamarquês"},da_DK:{message:"Dinamarquês (Dinamarca)"},de:{message:"Alemão"},de_AT:{message:"Alemão (austríaco)"},de_CH:{message:"Alemão (suíço)"},de_DE:{message:"Alemão (Alemanha)"},de_DE_x_simple_language:{message:"Alemão (Alemão Simples)"},defaultServerLink:{message:"Usar padrão"},deleteWord:{message:"Excluir"},desktopAppAction:{message:"Download de graça"},desktopAppHeadlineMac:{message:"Verifique textos em seus aplicativos favoritos"},desktopAppHeadlineWindows:{message:"Verifique textos em seus aplicativos favoritos"},desktopAppTextMac:{message:"O LanguageTool para Mac corrige sua escrita diretamente no Apple Mail, Pages, Word, Slack e muitos outros aplicativos."},desktopAppTextWindows:{message:"O LanguageTool para Windows já está disponível e corrige sua escrita diretamente no Outlook, Word e muitos outros aplicativos."},dialogAllLanguages:{message:"Todas as línguas:"},dialogCounterCharactersOption:{message:"Caracteres"},dialogCounterCharactersPlural:{message:"$number$ caracteres",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 caractere"},dialogCounterSentencesOption:{message:"Frases"},dialogCounterSentencesPlural:{message:"$number$ frases",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 Frase"},dialogCounterWordsOption:{message:"Palavras"},dialogCounterWordsPlural:{message:"$number$ palavras",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 palavra"},dialogDisableMenuDisableChecking:{message:"Desativar para este site"},dialogDisableMenuPauseChecking:{message:"Desativar apenas até a próxima visita"},dialogEnableInDialogHeadline:{message:"Extensão desativada"},dialogEnableInDialogText:{message:"Clique para ativar a verificação de escrita e gramatical."},dialogFailStateHeadline:{message:"Oops..."},dialogFailStateText:{message:"Algo deu errado. Por favor tente novamente."},dialogMainMenuPickyMode:{message:"Modo Exigente"},dialogMainMenuPickyModeInfo:{message:"Ative o Modo Exigente para melhorar a sua escrita."},dialogMainMenuPremiumMistake:{message:"Sugestões Premium"},dialogMainMenuRegularMistake:{message:"Sugestões"},dialogMainMenuTextScore:{message:"Pontuação do texto"},dialogNeedsLanguageHintHeadline:{message:"O idioma não pode ser detectado"},dialogNeedsLanguageHintIgnore:{message:"Ignorar por enquanto"},dialogNeedsLanguageHintText:{message:"O idioma do seu texto não pôde ser detectado. Configure-o manualmente ou continue digitando."},dialogPositionMenuDefault:{message:"Padrão"},dialogPositionMenuLeft:{message:"Esquerda"},dialogPositionMenuRight:{message:"Direita"},dialogPremiumButton:{message:"Saiba mais"},dialogPremiumHeadlinePlural:{message:"$count$ problemas de escrita encontrados",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Mais um problema de escrita encontrado"},dialogPremiumText:{message:"Obtenha mais sugestões de estilo, pontuação e gramática usando o LanguageTool Premium"},dialogRecommendedLanguages:{message:"Recomendado para você:"},dialogScrollHintHeadline:{message:"Sugestões"},dialogScrollHintText:{message:"Navegue através do seu documento para ver mais sugestões"},dialogScrollToLink:{message:"Mostrar no texto"},dialogSelectLanguageLabel:{message:"Selecione a língua"},dialogTextTooLongButton:{message:"Saiba mais"},dialogTextTooLongHeadline:{message:"Este texto é um pouco longo"},dialogTextTooLongText:{message:"Atualize para o Premium e obtenha sugestões de gramática e estilo em textos longos."},dialogTextTooShortHeadline:{message:"O texto está muito curto"},dialogTextTooShortText:{message:"Por favor, introduza pelo menos 5 caracteres para começar a verificar erros"},dialogTooltipDisableChecking:{message:"Desativar verificação"},dialogTooltipHelp:{message:"Ajuda"},dialogTooltipHelpCenter:{message:"Ir ao centro de ajuda"},dialogTooltipPosition:{message:"Posição de diálogo"},dialogTooltipSaveText:{message:"Salvar texto"},dialogTooltipSendFeedback:{message:"Enviar comentários"},dialogTooltipSettings:{message:"Configurações"},dialogTooltipUserStatistics:{message:"Estatistícas"},dialogUnsupportedLanguageHeadline:{message:"Esta língua não é suportada"},dialogUnsupportedLanguageLabel:{message:"Língua não suportada"},dialogUnsupportedLanguageText:{message:"O LanguageTool suporta mais de 30 outras línguas (e.g. inglês, alemão, espanhol, francês, português, holandês ou russo)."},dismissSuggestions:{message:"Ignorar"},domainsDesc:{message:"Desabilitar a verificação em alguns sites"},edgeWebstoreSiteNotSupported:{message:"Desculpe, o LanguageTool não funciona no website da loja de aplicativos do Microsoft Edge. Ele funciona em qualquer outro lugar (como, por exemplo, Facebook, Gmail, Twitter, Linkedin)."},editorCardNextIssue:{message:"Próximo erro"},editorCardNextSentence:{message:"Próxima frase"},el:{message:"Grego"},en:{message:"Inglês"},en_AU:{message:"Inglês (australiano)"},en_CA:{message:"Inglês (canadense)"},en_GB:{message:"Inglês (britânico)"},en_NZ:{message:"Inglês (Nova Zelândia)"},en_US:{message:"Inglês (americano)"},en_ZA:{message:"Inglês (sul-africano)"},enableEverywhereButton:{message:"Ativar para todos os campos de texto"},enableHereButton:{message:"Ativar apenas para este campo de texto"},enableInDialog:{message:"Click para ativar verificações ortográficas <br> e gramaticais"},enableRuleTooltip:{message:"Clique para habilitar a regra."},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Yay, nenhum erro encontrado!"},errorCardAllDoneDescription:{message:"Você pode se orgulhar de você mesmo."},errorCardHiddenMatchButton:{message:"Desbloquear tudo"},errorCardHiddenMatchCaption:{message:"Um gostinho do Premium"},errorCardKeyboardInstructions:{message:"Selecione com $enter$ ou $shiftEnter$ para pular para o próximo",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ correspondências ocultas encontradas",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"mais 1 correspondência oculta encontrada"},errorCardPremiumTeaserCta:{message:"Desbloquear todas as correspondências ocultas"},errorCardPremiumTeaserGrammarSuggestions:{message:"Oculto <lt-em> Gramática</lt-em> sugestões"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Oculto <lt-em> Pontuação</lt-em> sugestões"},errorCardPremiumTeaserReadMore:{message:"Saiba mais"},errorCardPremiumTeaserStyleSuggestions:{message:"Oculto <lt-em> Estilo</lt-em> sugestões"},errorCardPremiumTeaserText:{message:"Existem mais correspondências neste texto que apenas o LanguageTool Premium é capaz de encontrar."},errorCardTurnOffPickyModeButton:{message:"Desativar aqui"},errorCardTurnOffPickyModeCaption:{message:"Modo Exigente"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ palavras foram ignoradas",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 palavra foi ignorada"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ regras foram ignoradas",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 regra foi ignorada"},es:{message:"Espanhol"},eu:{message:"Basco"},experimentalLink:{message:"Configurações experimentais (somente para usuários profissionais)"},extensionUpdatedHeadline:{message:"Esta extensão foi atualizada"},extensionUpdatedText:{message:"Por favor, clique no ícone $iconHtml$ na barra de ferramentas do seu navegador ou recarregue a página para ativar novamente a verificação ortográfica e gramatical.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Persa"},feedbackButton:{message:"Envie sua mensagem para o LanguageTool"},feedbackDirectMail:{message:"Se você quiser enviar uma captura de tela, você pode nos enviar um e-mail para $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Desculpe. Sua mensagem não pôde ser enviada. Tente novamente mais tarde."},feedbackHeadline:{message:"Envie o seu feedback para o LanguageTool"},feedbackPrivacyPolicy:{message:"Política de Privacidade"},feedbackSenderPlaceholder:{message:"Coloque o seu endereço de e-mail…"},feedbackSuccess:{message:"Agradecemos pelo seu feedback!"},feedbackTextPlaceholder:{message:"Coloque o seu feedback…"},fixSentenceCardHeadlineApply:{message:"Corrigir a frase completa"},fixSentenceCardHeadlineLoading:{message:"Procurando uma correção para a frase…"},fixSentenceCardHeadlineMissing:{message:"Desculpe, nenhuma correção encontrada"},forcePreferredLanguagesOptionLabel:{message:"Use sempre apenas esses idiomas para detecção automática de idioma"},fr:{message:"Francês"},ga:{message:"Irlandês"},generalSettingsHeadline:{message:"Configurações gerais"},gl:{message:"Galego"},googleDocsDisableButton:{message:"Desativar o LanguageTool neste documento"},googleDocsEnableButton:{message:"Ativar LanguageTool"},googleDocsEnableHint:{message:"Você pode reativar o verificador de gramática e estilo LanguageTool aqui"},googleDocsNewTeaserHeadline:{message:"LanguageTool para o Google Docs está aqui!"},googleDocsNewTeaserText:{message:"No lado de cada página você pode ver agora quantos erros o LanguageTool detectou."},googleDocsPagelessModeUnsupported:{message:"O novo modo “sem página” ainda não é suportado. Já estamos trabalhando nisso."},googleSlidesDisableButton:{message:"Desabilitar a LanguageTool nesta apresentação"},googleSlidesEnableButton:{message:"Habilitar LanguageTool"},googleSlidesEnableHint:{message:"Você pode reativar o verificador de gramática e estilo LanguageTool aqui"},googleSlidesNewTeaserHeadline:{message:"A LanguageTool para Google Slides está aqui!"},googleSlidesNewTeaserText:{message:"Na lateral de cada slide, você pode agora ver quantos problemas foram detectados pelo LanguageTool."},grammarError:{message:"Gramática"},haveAccountDesc:{message:"Criar uma conta gratuita em"},historicPremiumErrorsButton:{message:"Saiba mais"},historicPremiumErrorsHeadline:{message:"Você sabia?"},historicPremiumErrorsText:{message:"Você poderia ter evitado <strong>$count$ problemas de gramática e estilo </strong> nos últimos dias com o LanguageTool Premium",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ problemas de gramática e estilo</strong> poderiam ter sido evitados nos últimos dias com o LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Não verificar automaticamente nestes domínios:"},ignoreHere:{message:"Ignore neste texto"},ignoredRules:{message:"Essas regras foram desativadas, clique em uma regra para ativa-la novamente:"},ignoredRulesDesc:{message:"Regras desabilitadas."},incompleteResult:{message:"Os resultados são incompletos: A verificação de texto foi interrompida devido a muitos erros."},invalidUsernameOrPassword:{message:"Erro: Por favor verifique o seu e-mail e senha."},is:{message:"Islandês"},it:{message:"Italiano"},ja:{message:"Japonês"},km:{message:"Cambojano"},language:{message:"Idioma:"},languageOptionsLink:{message:"Opções de idioma"},languagetoolNotSupported:{message:"A extensão não funciona neste site, já que o site oferece a mesma funcionalidade"},localServer:{message:"Servidor local (localhost) — requer o servidor LanguageTool funcionando localmente"},localServerDocs:{message:"Documentação"},lt:{message:"Lituano"},managedLoginButton1:{message:"Entrar"},managedLoginButton2:{message:"Entre com sua conta corporativa"},managedLoginDescription:{message:"Por favor, entre com sua conta corporativa para poder usar o LanguageTool."},managedLoginHeadline:{message:"Log in"},messagePopupTurnOnPrimaryButton:{message:"Entendi!"},messagePopupTurnOnSecondaryButton:{message:"Re-ativando a verificação de texto."},messagePopupTurnOnheadline:{message:"Verificação ortográfica está desativada para esta página."},messagePopupTurnOntext:{message:"Para reativá-lo, clique no ícone LT na barra de ferramentas e clique no botão de alternância “Verificar gramática e ortografia”"},ml:{message:"Malaio"},moreDetails:{message:"Mais detalhes..."},motherTongueDesc:{message:"Língua nativa"},motherTongueExpl:{message:"Defina a língua nativa se desejar ser avisado sobre falsos cognatos ao verificar textos escritos em outros idiomas."},msOnlineOfficeNotSupported:{message:"Desculpe, o Microsoft Word Online não é suportado por esta extensão. Instale <a target='_blank' href='$url$'>esta extensão</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Holandês"},no:{message:"Norueguês"},noErrorsFound2:{message:"Yay, nenhum erro encontrado!"},noErrorsFoundText:{message:"Você pode se orgulhar de você mesmo."},notificationUndoDescription:{message:"Pressione %{cmd} para desfazer"},notificationUndoLabel:{message:"Sugestão aplicada"},onboardLanguageSelectorCta:{message:"Começar a usar o LanguageTool"},onboardLanguageSelectorDescription:{message:"Para lhe oferecer as melhores sugestões, precisamos saber quais idiomas você usa com mais frequência."},onboardLanguageSelectorHeading:{message:"Selecione os idiomas em que você normalmente escreve"},onboardingHeadline:{message:"Sua escrita agora será melhorada."},onboardingIntro:{message:"Seu texto será agora checado na maioria dos campos enquanto você digita."},onboardingIntroThunderbird:{message:"Agora seu texto será checado enquanto você escreve seus emails."},onboardingNote1:{message:"Recarregue <strong>todas as páginas abertas</strong> para ativar a extensão."},onboardingNote2:{message:"Esta extensão não funciona com campos de texto na <strong>Chrome Web Store</strong> ou em <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Para desativar a extensão em um website, clique no <strong>ícone LT na barra de ferramentas do navegador</strong>"},onboardingNote4:{message:"Você pode encontrar <strong>Sinônimos</strong> com um duplo-clique em uma palavra no campo de texto (e.g. no Gmail, Facebook ou Google Docs)"},onboardingNoteThunderbird1:{message:"Comece um novo email para ativar a extensão."},onboardingNoteThunderbird2:{message:"Para desativar a extensão, clique no ícone LT no canto superior direito na janela de composição de emails."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Atalho do teclado"},openCardHotkeyExpl:{message:"Pressione rapidamente esta tecla <strong>duas vezes</strong> quando o cursor de texto piscando estiver em uma palavra sublinhada. Naturalmente, isto também funciona para sinônimos."},openCardHotkeyOff:{message:"Desativado"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Outro servidor — requer o servidor do LanguageTool funcionando ali"},overleafNewTeaserHeadline:{message:"A LanguageTool para Overleaf está aqui!"},overleafNewTeaserText:{message:"Percorra seu texto para ver sugestões ortográficas, gramaticais e de estilo."},oxfordSpellingOptionLabel:{message:"Priorizar ortografia de Oxford"},password:{message:"Senha:"},personalDictionaryMultipleWordError:{message:"Expressões com mais de uma palavra são suportadas apenas para usuários com conta LanguageTool"},phrasesCardCaption:{message:"Paráfrases"},phrasesCardConfirmationButton:{message:"Aceitar a política de privacidade"},phrasesCardConfirmationHeading:{message:"Reescreva suas frases com Inteligência Artificial"},phrasesCardConfirmationText:{message:"Você precisa de um texto mais curto, mais fluente ou mais formal? Pode contar conosco. Consulte nossa <a target='_blank' href='$privacyUrl$' rel='noopener'>Política de Privacidade</a> sobre processamento de dados.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Todos os resultados"},phrasesCardGeneralError:{message:"Ocorreu um erro ao carregar as frases"},phrasesCardHeadline:{message:"Alternativas geradas por I.A."},phrasesCardLabelFluency:{message:"Fluente"},phrasesCardLabelFormality:{message:"Formal"},phrasesCardLabelGeneral:{message:"Reescrito"},phrasesCardLabelParaphrase:{message:"Fluente"},phrasesCardLabelShortened:{message:"Curto"},phrasesCardLabelSimplicity:{message:"Simples"},phrasesCardNoResult:{message:"Infelizmente não foi possível uma reformulação para esta frase."},phrasesCardNoSentence:{message:"Não foi possível detectar a sentença."},phrasesCardNotSupportedHeading:{message:"A reformulação da frase não está disponível, por enquanto…"},phrasesCardNotSupportedText:{message:"A reformulação de frases não está disponível para este idioma no momento (apenas para inglês, espanhol, …). Estamos <strong>trabalhando</strong> para disponibilizá-lo em outros idiomas o mais rápido possível."},phrasesCardRephrasingLimitPlural:{message:"Limitado a <strong>$count$</strong> frases adicionais por hoje",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limitado a <strong>uma</strong> frase adicional por hoje"},phrasesCardRephrasingLimitUnlock:{message:"Desbloquear sugestões ilimitadas"},phrasesCardSentencePrefix:{message:"Original"},phrasesCardTimeoutError:{message:"O servidor não respondeu a tempo."},pl:{message:"Polonês"},popupGeneralSettingsHeadline:{message:"Configurações gerais"},popupGlobalSettingsHeadline:{message:"Configurações globais"},popupGlobalSettingsHeadlineInfo:{message:"Todos os websites"},popupOnboardingHeadline:{message:"Bem-vindo! Agora você pode usar o LanguageTool:"},popupOnboardingStep1:{message:"Clique em qualquer texto multilinha (e.g., no Gmail, Facebook, …)"},popupOnboardingStep2:{message:"Você encontrará um ícone parecido com $icon1Html$ ou $icon2Html$ no canto direito inferior.",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Escreva algum texto. Os problemas na escrita serão <u>sublinhados</u>"},popupOnboardingStep4:{message:"Clique na palavra sublinhada para obter sugestões."},popupOpenEditorButton:{message:"Abrir Editor"},popupOptionCaseText:{message:"Verificar maiúsculas e minúsculas."},popupOptionCheckText:{message:"Habilitar LanguageTool"},popupOptionContextMenu:{message:"Mostrar no menu do botão direito"},popupOptionContextMenuDescription:{message:"Basta selecionar o texto em qualquer site, clicar no botão direito, e verificar se existem erros gramaticais."},popupOptionPickyMode:{message:"Modo exigente"},popupOptionPickyModeDescription:{message:"Para um estilo, tonalidade e tipografia perfeitos"},popupOptionRephrasing:{message:"Funcionalidade de paráfrase"},popupOptionRephrasingDescription:{message:"Reescreva frases inteiras com IA. Basta colocar o mouse sobre o símbolo localizado no canto inferior direito de cada campo de texto e clicar no ícone parafrasear para obter sugestões para a frase atual."},popupOptionSynonyms:{message:"Habilitar clique duplo"},popupOptionSynonymsDescription:{message:"Clique duas vezes em qualquer palavra em um campo de texto para ver sinônimos"},popupOptionValidate:{message:"Verifique o texto selecionado"},popupOptionValidateInEditor:{message:"Verifique o texto selecionado no Editor"},popupPremiumHeadline:{message:"Escreva como um profissional"},popupPremiumLink:{message:"Saiba mais."},popupPremiumText:{message:"Atualize para o LanguageTool premium não só para encontrar mais erros de gramática e pontuação nos textos, mas também de estilo."},popupSettingsHeadline:{message:"Configurações para este site"},popupSettingsHeadlineInfo:{message:"Website corrente"},popupSettingsHover:{message:"Configurações mais avançadas"},popupUserStatisticsHover:{message:"Mostrar estatísticas"},poweredBy:{message:"Desenvolvido por <b>LanguageTool</b>"},premiumErrorsButton:{message:"Saiba mais"},premiumErrorsTextPlural:{message:"Seu texto contêm <strong>$count$ problemas avançados de escrita</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Seu texto contêm <strong> um problema avançado de escrita</strong>"},privacyHeadline:{message:"Bem-vindo ao LanguageTool"},privacyLinkForDefaultServer:{message:"Para detalhes, veja <a href='$privacyUrl$' target='_blank'> nossa política de privacidade</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"A verificação pode ser <strong>desativada a qualquer momento</strong>"},privacyListUnsaved:{message:"<strong>Seu texto não será armazenado</strong>"},privacyNoteForDefaultServer:{message:"Essa extensão verificará seu texto enviando-o para <a href='$serverUrl$' target='_blank'>$serverHost$</a> usando uma conexão criptografada.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Essa extensão verificará seu texto enviando-o para $serverUrl$. Para retornar ao servidor padrão, visite a página de configurações da extensão.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Seu assistente de escrita"},privacyPolicy:{message:"Política de privacidade"},pt:{message:"Português"},pt_AO:{message:"Português (Angola pré AO)"},pt_BR:{message:"Português (Brasil pós AO)"},pt_CV:{message:"Português (Cabo Verde)"},pt_MZ:{message:"Português (Moçambique pré AO)"},pt_PT:{message:"Português (Portugal pós AO)"},pt_PT_post_reform:{message:"Português (Portugal, pós-reforma)"},pt_PT_pre_reform:{message:"Português (Portugal, pré-reforma)"},punctuationError:{message:"Pontuação"},ratingHeadline:{message:"Você gostou do nosso verificador?"},ratingText:{message:"Nos dê seu feedback"},ratingThankYou:{message:"Obrigado."},ratingUnhappyQuestion:{message:"Por favor nos diga porquê você não está feliz"},removeExtraWhitespace:{message:"Remover espaço branco adicional"},rephrasingTeaserCaption:{message:"Precisa de mais imediatamente?"},rephrasingTeaserCountdownSuffix:{message:"$count$ Reformulações",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Obtenha mais amanhã"},rephrasingTeaserCta:{message:"Desbloqueie todos os benefícios Premium"},rephrasingTeaserDescription:{message:"Aproveite reformulações ilimitadas e muito mais:"},rephrasingTeaserListItem1:{message:"<strong>Verifique até $count$</strong> caracteres em um único texto",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Sugestões avançadas de estilo</strong> para textos ainda melhores"},rephrasingTeaserListItem3:{message:"<strong>Reformulações ilimitadas</strong> para tornar seu texto mais versátil"},replaceWithWhitespace:{message:"Substituir por espaço em branco"},reportAnIssue:{message:"Enviar um feedback"},reviewChromeHeadline:{message:"Você nos daria uma avaliação na loja do Chrome?"},reviewEdgeHeadline:{message:"Gostaria de nos ranquear na loja de aplicativos do Microsoft Edge?"},reviewFirefoxHeadline:{message:"Você nos daria uma avaliação na loja do Firefox?"},reviewLink:{message:"Avalie agora"},reviewOperaHeadline:{message:"Nós daria uma avaliação na loja de aplicativos do Opera?"},reviewSafariHeadline:{message:"Gostaria de deixar uma classificação para o LanguageTool na loja de aplicativos?"},ro:{message:"Romeno"},ru:{message:"Russo"},save:{message:"Salvar"},sendFeedback:{message:"Enviar feedback"},sentenceSplittingCardApplyButtonLabel:{message:"Aplicar"},sentenceSplittingCardHeadlineApply:{message:"Sugestão:"},sentenceSplittingCardHeadlineLoading:{message:"Separando a sentença..."},sentenceSplittingCardHeadlineMissing:{message:"Desculpe, não encontramos nenhuma sugestão"},serverNotAvailable:{message:"Servidor local não disponível"},serverText:{message:"Servidor do LanguageTool:"},serverUrlIsInvalid:{message:"Esta URL não é válida"},settingsAccountBulletListEditor:{message:"Use o editor como um ambiente de escrita livre de distrações"},settingsAccountBulletListSave:{message:"Salvar os textos para depois"},settingsAccountBulletListSync:{message:"Sincronize suas configurações e dicionários pessoais em múltiplos navegadores e dispositivos"},settingsAccountDescription:{message:"Entrar e ter benefícios das seguintes vantagens:"},settingsAccountHeadline:{message:"Conta"},settingsAccountSubheadline:{message:"Entrar com sua conta do LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Este domínio ainda não foi adicionado. Pressione enter para adicioná-lo."},settingsAddDomainHint:{message:"Este domínio ainda não foi adicionado. Pressione VOLTAR para adicioná-lo"},settingsAddIgnoredDomainHint:{message:"Este domínio ainda não foi adicionado. Pressione Enter para adicioná-lo."},settingsAddOrFilterAutoCheckDomains:{message:"Adicionar ou encontrar um domínio …"},settingsAddOrFilterDomains:{message:"Adicionar ou encontrar domínio…"},settingsAddOrFilterIgnoredDomains:{message:"Adicionar ou encontrar domínio …"},settingsAddOrFilterWords:{message:"Adicionar ou encontra palavra…"},settingsAddWordHint:{message:"Esta palavra não existe ainda no seu dicionário. Pressione ENTER para adicioná-la."},settingsAreYouSure:{message:"Você tem certeza? Não há como desfazer."},settingsCheckForPaidSubscriptionError:{message:"Falha na verificação do estado da sua inscrição"},settingsClearAll:{message:"Limpar tudo"},settingsCopyDictionary:{message:"Copiar para a área de transferência"},settingsCopyDictionarySuccessful:{message:"Copiado para a área de transferência"},settingsDeleteAutoCheckDomain:{message:"Deletar domínio"},settingsDeleteIgnoredDomain:{message:"Deletar domínio"},settingsDictionaryHeadline:{message:"Dicionário pessoal"},settingsDomainInvalid:{message:"Por favor, insira um domínio válido que ainda não foi adicionado."},settingsEmptyAutoCheckDomains:{message:"Você ainda não ativou a verificação automática em nenhum site"},settingsEmptyDictionary:{message:"O seu dicionário pessoal é atualmente vazio"},settingsEmptyDomainList:{message:"Você ainda não desativou nenhum site"},settingsEmptyIgnoredDomains:{message:"Você ainda não desativou a verificação automática em nenhum site"},settingsEmptyIgnoredRules:{message:"Você ainda não desativou nenhuma regra. Você pode desativar as regras assim que elas aparecerem em um texto."},settingsEnableAllRules:{message:"Ativar tudo"},settingsEnableDomain:{message:"Ativar domínio"},settingsExperimentalSuccess:{message:"Suas configurações foram salvas com sucesso."},settingsForgotPasswordLink:{message:"Esqueceu a senha?"},settingsHeadline:{message:"Configurações"},settingsLanguageVariantsDescription:{message:"Para lhe oferecer sempre as melhores sugestões, diga qual variante de cada idioma que você fala."},settingsLanguageVariantsHeadline:{message:"Variantes de idiomas"},settingsLoggedInAs:{message:"Você está logado como $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Entrar"},settingsLoginError:{message:"Não foi possível fazer login. Verifique seu e-mail e senha."},settingsLoginSuccess:{message:"Agora você está conectado"},settingsLogoutButton:{message:"Sair"},settingsLogoutSuccess:{message:"Agora você está desconectado"},settingsManageAccountButton:{message:"Gerenciar conta"},settingsPasswordPlaceholder:{message:"Senha"},settingsPreferredLanguagesCompleteList:{message:"Todos os idiomas"},settingsPreferredLanguagesDescription:{message:"Defina os idiomas que normalmente utiliza para escrever textos. Isto ajuda o LanguageTool a detetar automaticamente o idioma correto."},settingsPreferredLanguagesHeadline:{message:"Idiomas preferidos"},settingsPreferredLanguagesPopularList:{message:"Idiomas populares"},settingsPremiumButton:{message:"Descubra o LanguageTool premium"},settingsPremiumFeaturesActivated:{message:"Todos os <strong>recursos premium</strong> estão ativados."},settingsPremiumHeadline:{message:"Atualize o seu jogo de escrita"},settingsPremiumText:{message:"Encontre problemas avançados de gramática, estilo e pontuação ou verifique textos com até 150 000 caracteres."},settingsServerUrlDisabled:{message:"Você precisa fazer logout da sua conta LanguageTool para definir um servidor customizado."},settingsUnknownError:{message:"Um erro inesperado ocorreu"},siteDisabledPerGroupPolicy:{message:"A verificação neste site está desativada conforme a Política de Grupo."},siteTemporarilyUnsupported:{message:"Desculpe, não temos suporte LanguageTool para este website por enquanto. Estamos trabalhando nisto."},sk:{message:"Eslovaco"},skip:{message:"Pular"},sl:{message:"Esloveno"},spellingError:{message:"Ortografia"},sr:{message:"Sérvio"},sr_BA:{message:"Sérvio (Bósnia)"},sr_HR:{message:"Sérvio (Croácia)"},sr_ME:{message:"Sérvio (Montenegro)"},sr_RS:{message:"Sérvio (Sérvia)"},statusIconEnableLT:{message:"Ativar LanguageTool — Verificações ortográficas e gramaticais"},statusIconError:{message:"Erro"},statusIconMoreErrors:{message:"Os resultados são incompletos: A verificação do texto foi parada devido a muitos erros."},statusIconPermissionRequired:{message:"Não é possível verificar o texto — confirme a política de privacidade primeiro."},statusIconReload:{message:"A extensão foi atualizada. Por favor recarregue a página para ativar a verificação ortográfica e gramatical."},statusIconToolTip:{message:"LanguageTool — Verificação ortográfica e gramatical"},suggestionError:{message:"Estilo"},suggestionOnlyVisibleToPremiumButton:{message:"Acesse todos os benefícios do Premium"},suggestionOnlyVisibleToPremiumText:{message:"Esta é uma sugestão avançada que está disponível apenas na versão Premium do LanguageTool. Atualize para Premium para obter sugestões como esta e muito mais."},sv:{message:"Sueco"},switchToAmericanEnglish:{message:"Mudar para o inglês americano"},switchToAustralianEnglish:{message:"Mudar para o inglês australiano"},switchToBritishEnglish:{message:"Mudar para o inglês britânico"},switchToCanadianEnglish:{message:"Mudar para o inglês canadense"},switchToNewZealandEnglish:{message:"Mudar para o inglês nova-zelandês"},switchToSouthAfricanEnglish:{message:"Mudar para o inglês sul-africano"},synonymsCardGeneralError:{message:"Houve um erro ao carregar os sinônimos"},synonymsCardHeadline:{message:"Sinônimos"},synonymsCardLanguageNotSupported:{message:"Ainda não são suportados sinônimos para este idioma."},synonymsCardLess:{message:"Mostrar menos"},synonymsCardLoadMoreAlternatives:{message:"carregar mais alternativas"},synonymsCardLoading:{message:"Carregando…"},synonymsCardMore:{message:"mais"},synonymsCardNoSynonymsAvailable:{message:"Não há sinônimos para esta palavra"},synonymsCardProvidedBy:{message:"Oferecido por <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Frase"},synonymsCardTabWord:{message:"Palavra"},synonymsCardTooltipReadText:{message:"Pronunciar palavra"},synonymsTutorialHeadline:{message:"Como obter sinônimos"},synonymsTutorialText:{message:"Obtenha sinônimos para qualquer palavra clicando duas vezes nela. Funciona em qualquer campo de texto suportado pelo LanguageTool."},ta:{message:"Tâmil"},textTooLong:{message:"Desculpe, este texto é muito longo para ser verificado"},timeoutError:{message:"Tempo esgotado do servidor - por favor tente novamente mais tarde ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tágalo"},tooManyErrors:{message:"Este texto parece conter muitos erros. Você tem certeza que o idioma correto está selecionado?"},tooManyRequests:{message:"O limite de solicitações foi excedido — aguarde um minuto e o LanguageTool ficará disponível novamente."},toolbarDisableMenuDisableChecking:{message:"Desativar neste site"},toolbarDisableMenuPauseChecking:{message:"Desativar apenas até a próxima visita"},toolbarTooltipDisableChecking:{message:"Desativar verificação"},toolbarTooltipRephrasing:{message:"Reescrever frase"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"A reformulação de frases não está disponível neste idioma no momento."},tr:{message:"Turco"},tryAgain:{message:"Tente de novo"},turnOffPickyMode:{message:"Desligar o modo de escolha neste texto"},turnOffRule:{message:"Desativar regra em qualquer lugar"},turnOffRulePicky:{message:"Sugestões gramaticais não podem ser desabilitadas quando estiver no Modo Exigente."},turnOnHint:{message:"Você pode ativar esta extensão novamente aqui"},uk:{message:"Ucraniano"},unknownError:{message:"Desculpe, alguma coisa deu errado na verificação do seu texto. Reiniciar o seu navegador pode resolver este problema."},upgradeTeaserDiscount:{message:"Economize $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Oferta por tempo limitado"},username:{message:"E-mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ erros de escrita encontrados.",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Um erro de escrita encontrado."},validatorHasMistakesText:{message:"Clique nas palavras destacadas para corrigi-las."},validatorHasPremiumErrorsButton:{message:"Saiba mais"},validatorHasPremiumErrorsHeadlinePlural:{message:"Seu texto contêm $count$ problemas avançados de escrita",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Seu texto contêm um problema avançado de escrita"},validatorHasPremiumErrorsText:{message:"Atualize para o LanguageTool Premium para encontrar muitos outros erros de gramática, estilo e pontuação"},validatorLoadingHint:{message:"Verificando texto…"},validatorNoMistakesHeadline:{message:"Parabéns, nenhum erro encontrado!"},validatorNoTextStatus:{message:"Escreva ou cole o seu texto para checá-lo"},validatorPlaceholder:{message:"Por favor coloque ou cole seu texto aqui…"},validatorPremiumButton:{message:"Atualização"},validatorPremiumHeadline:{message:"Encontre mais erros de escrita e se torne um escritor melhor."},validatorPremiumReason1:{message:"Verificação mais sofisticada de gramática, pontuação e estilo."},validatorPremiumReason2:{message:"Verifique textos mais longos (até 150 000 caracteres)"},validatorPremiumReason3:{message:"Detecção automática para números inválidos (ex: IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Extensão para Microsoft Office."},validatorTextTooLongStatus:{message:"Desculpe, este texto é muito longo para ser verificado."},variantCaDesc:{message:"Interpretar catalão como:"},variantDeDesc:{message:"Interpretar Alemão como:"},variantEnDesc:{message:"Interpretar Inglês como:"},variantPtDesc:{message:"Interpretar português como:"},webstoreSiteNotSupported:{message:"Desculpe, mas o LanguageTool não funciona no site do Chrome Web Store. Ele funciona em qualquer outro em que você escreva (e.g. Facebook, Gmail, Twitter, Linkedin)."},zh:{message:"Chinês"}},pl:{accessDeniedError2:{message:"Serwer wysłał komunikat „Odmowa dostępu” – sprawdź swój adres e-mail i hasło w ustawieniach i spróbuj ponownie."},addLanguage:{message:"Dodaj język"},addToDictionaryCaption:{message:'Dodaj "$word$" do osobistego słownika',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Zastosuj"},appDesc:{message:"Natychmiast sprawdzaj, czy w tekście nie ma literówek lub błędów gramatycznych i interpunkcyjnych"},appDescThunderbird:{message:"Sprawdzaj swoje e-maile pod kątem problemów z pisownią i gramatyką"},appName:{message:"Sprawdzanie ortografii i gramatyki – LanguageTool"},ar:{message:"arabski"},ast:{message:"asturyjski"},attachScreenshot:{message:"Załącz zrzut ekranu strony"},autoCheckDesc:{message:"Domyślne automatyczne sprawdzanie we wszystkich domenach"},autoCheckOnDomainsDesc:{message:"Automatyczne sprawdzaj w tych domenach:"},be:{message:"białoruski"},br:{message:"bretoński"},ca:{message:"kataloński"},ca_ES_valencia:{message:"kataloński (Walencja)"},cardContentShowAll:{message:"Pokaż wszystkie"},cardContentShowSubset:{message:"Pokaż mniej"},cardSelectorLabelChecker:{message:"Popraw"},cardSelectorLabelParaphraser:{message:"Parafrazuj"},changelogDiscountExpires:{message:"Oferta wygaśnie za"},changelogTitle:{message:"Nowe funkcje LanguageTool"},close:{message:"Zamknij"},cloudServer:{message:"Serwer w chmurze (languagetool.org)"},confirm:{message:"Ok, rozumiem"},connectionProblem:{message:"Nie udało się połączyć z $serverUrl$ – sprawdź swoje połączenie z Internetem lub spróbuj ponownie za chwilę",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Sprawdź tekst…"},contextMenuValidateInEditor:{message:"Sprawdź tekst w Edytorze"},continue:{message:"Kontynuuj"},correctAllQuotes:{message:"Popraw wszystkie cytaty"},customSuggestionError:{message:"Wytyczne językowe"},da:{message:"duński"},da_DK:{message:"duński (Dania)"},de:{message:"niemiecki"},de_AT:{message:"niemiecki (Austria)"},de_CH:{message:"niemiecki (Szwajcaria)"},de_DE:{message:"niemiecki (Niemcy)"},de_DE_x_simple_language:{message:"niemiecki (prosty język)"},defaultServerLink:{message:"Użyj domyślny"},deleteWord:{message:"Usuń"},desktopAppAction:{message:"Pobierz ZA DARMO"},desktopAppHeadlineMac:{message:"Sprawdzaj teksty w swoich ulubionych aplikacjach"},desktopAppHeadlineWindows:{message:"Sprawdzaj teksty w swoich ulubionych aplikacjach"},desktopAppTextMac:{message:"LanguageTool dla komputerów Mac poprawia Twoje teksty bezpośrednio w takich aplikacjach jak Apple Mail, Pages, Word, Slack i nie tylko."},desktopAppTextWindows:{message:"LanguageTool dla systemu Windows jest już dostępny. Poprawia Twoje teksty bezpośrednio w Outlooku, Wordzie i wielu innych aplikacjach."},dialogAllLanguages:{message:"Wszystkie języki:"},dialogCounterCharactersOption:{message:"Znaki"},dialogCounterCharactersPlural:{message:"Znaki: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"Znak: 1"},dialogCounterSentencesOption:{message:"Zdania"},dialogCounterSentencesPlural:{message:"Zdania: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"Zdanie: 1"},dialogCounterWordsOption:{message:"Słowa"},dialogCounterWordsPlural:{message:"Słowa: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"Słowa: 1"},dialogDisableMenuDisableChecking:{message:"Wyłącz na tej stronie"},dialogDisableMenuPauseChecking:{message:"Wyłącz tylko do następnej wizyty"},dialogEnableInDialogHeadline:{message:"Dodatek jest wyłączony"},dialogEnableInDialogText:{message:"Kliknij, aby włączyć sprawdzenie pisowni i gramatyki."},dialogFailStateHeadline:{message:"Ups..."},dialogFailStateText:{message:"Coś poszło nie tak. Proszę spróbować ponownie."},dialogMainMenuPickyMode:{message:"Tryb wybredny"},dialogMainMenuPickyModeInfo:{message:"Włącz tryb wybredny, aby udoskonalić swoje pisanie."},dialogMainMenuPremiumMistake:{message:"Sugestie Premium"},dialogMainMenuRegularMistake:{message:"Sugestie"},dialogMainMenuTextScore:{message:"Wynik tekstu"},dialogNeedsLanguageHintHeadline:{message:"Nie udało się wykryć języka"},dialogNeedsLanguageHintIgnore:{message:"Na razie ignoruj"},dialogNeedsLanguageHintText:{message:"Nie udało się wykryć języka dla twojego tekstu. Ustaw go ręcznie lub kontynuuj pisanie."},dialogPositionMenuDefault:{message:"Domyślne"},dialogPositionMenuLeft:{message:"Po lewej"},dialogPositionMenuRight:{message:"Po prawej"},dialogPremiumButton:{message:"Dowiedz się wiecej"},dialogPremiumHeadlinePlural:{message:"Znaleziono jeszcze więcej błędów: $count$",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Znaleziono jeszcze 1 błąd"},dialogPremiumText:{message:"Zyskaj jeszcze więcej porad stylistycznych, interpunkcyjnych i gramatycznych, korzystając z LanguageTool Premium"},dialogRecommendedLanguages:{message:"Zalecane dla Ciebie:"},dialogScrollHintHeadline:{message:"Sugestie"},dialogScrollHintText:{message:"Przewiń swój tekst, by zobaczyć więcej sugestii"},dialogScrollToLink:{message:"Pokaż w tekście"},dialogSelectLanguageLabel:{message:"Wybierz język"},dialogTextTooLongButton:{message:"Dowiedz się więcej"},dialogTextTooLongHeadline:{message:"Ten tekst jest dosyć długi"},dialogTextTooLongText:{message:"Przejdź na wersję Premium i zyskaj zaawansowane porady gramatyczne i stylistyczne w długich tekstach."},dialogTextTooShortHeadline:{message:"Tekst jest za krótki"},dialogTextTooShortText:{message:"Wprowadź co najmniej 5 znaków, aby rozpocząć sprawdzanie pod kątem problemów"},dialogTooltipDisableChecking:{message:"Wyłącz sprawdzanie"},dialogTooltipHelp:{message:"Pomoc"},dialogTooltipHelpCenter:{message:"Przejdź do centrum pomocy"},dialogTooltipPosition:{message:"Pozycja okna dialogowego"},dialogTooltipSaveText:{message:"Zapisz tekst"},dialogTooltipSendFeedback:{message:"Wyślij opinię"},dialogTooltipSettings:{message:"Ustawienia"},dialogTooltipUserStatistics:{message:"Statystyki korzystania"},dialogUnsupportedLanguageHeadline:{message:"Ten język nie jest obsługiwany"},dialogUnsupportedLanguageLabel:{message:"Nieobsługiwany język"},dialogUnsupportedLanguageText:{message:"LanguageTool obsługuje ponad 30 innych języków (np. angielski, niemiecki, hiszpański, francuski, portugalski, holenderski czy rosyjski)."},dismissSuggestions:{message:"Ignoruj"},domainsDesc:{message:"Wyłącza sprawdzanie nie niektórych stronach internetowych"},edgeWebstoreSiteNotSupported:{message:"Przepraszamy, LanguageTool nie działa na stronie sklepu z dodatkami dla Edge. Działa w każdym innym miejscu, w którym piszesz (np. na Facebooku, Twitterze, w Gmail, LinkedIn)."},editorCardNextIssue:{message:"Następny błąd"},editorCardNextSentence:{message:"Następne zdanie"},el:{message:"grecki"},en:{message:"angielski"},en_AU:{message:"angielski (Austraila)"},en_CA:{message:"angielski (Kanada)"},en_GB:{message:"angielski (Wielka Brytania)"},en_NZ:{message:"angielski (Nowa Zelandia)"},en_US:{message:"angielski (USA)"},en_ZA:{message:"angielski (Afryka Południowa)"},enableEverywhereButton:{message:"Aktywacja dla każdego pola tekstowego"},enableHereButton:{message:"Aktywacja tylko dla tego pola tekstowego"},enableInDialog:{message:"Kliknij, aby włączyć Sprawdzanie<br>pisowni i gramatyki"},enableRuleTooltip:{message:"Kliknij, aby włączyć regułę"},eo:{message:"esperanto"},errorCardAllDoneCaption:{message:"Super, nie ma błędów!"},errorCardAllDoneDescription:{message:"Możesz być z siebie dumny/-a"},errorCardHiddenMatchButton:{message:"Odblokuj wszystko"},errorCardHiddenMatchCaption:{message:"Smak premium"},errorCardKeyboardInstructions:{message:"Zaznacz za pomocą $enter$ lub $shiftEnter$, by przejść do następnej",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"Znalezione dodatkowe ukryte dopasowania: $count$",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Znaleziono jeszcze 1 ukryte dopasowanie"},errorCardPremiumTeaserCta:{message:"Odblokuj wszystkie ukryte dopasowania"},errorCardPremiumTeaserGrammarSuggestions:{message:"Ukryte sugestie <lt-em>gramatyczne</lt-em>"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Ukryte sugestie <lt-em>interpunkcyjne</lt-em>"},errorCardPremiumTeaserReadMore:{message:"Czytaj więcej"},errorCardPremiumTeaserStyleSuggestions:{message:"Ukryte sugestie <lt-em>stylistyczne</lt-em>"},errorCardPremiumTeaserText:{message:"W tym tekście jest więcej dopasowań, które może wykryć tylko LanguageTool Premium."},errorCardTurnOffPickyModeButton:{message:"Wyłącz tutaj"},errorCardTurnOffPickyModeCaption:{message:"Wybredne sugestie"},errorsIgnoredByDictionary:{message:"Słowa $countIgnoredByDictionary$ zostały zingorowane",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 słowo zostało zignorowane"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ reguł zostało zignorowanych",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 reguła została zignorowana"},es:{message:"hiszpański"},eu:{message:"baskijski"},experimentalLink:{message:"Ustawienia eksperymentalne (tylko dla użytkowników profesjonalnych)"},extensionUpdatedHeadline:{message:"To rozszerzenie zostało zaktualizowane"},extensionUpdatedText:{message:"Kliknij ikonę $iconHtml$ w pasku narzędzi przeglądarki lub ponownie załaduj stronę, aby ponownie włączyć sprawdzanie pisowni i gramatyki.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"perski"},feedbackButton:{message:"Wyślij wiadomość do LanguageTool"},feedbackDirectMail:{message:"Jeśli chcesz wysłać zrzuty ekranu, możesz również wysłać nam e-mail na adres $email$",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Przepraszamy. Nie mogliśmy wysłać wiadomości. Proszę spróbować ponownie później."},feedbackHeadline:{message:"Wyślij swoje sugestie do LanguageTool"},feedbackPrivacyPolicy:{message:"Polityka prywatności"},feedbackSenderPlaceholder:{message:"Wpisz swój adres e-mail…"},feedbackSuccess:{message:"Dziękujemy za przesłanie Twojej opinii."},feedbackTextPlaceholder:{message:"Wpisz swoją opinię…"},fixSentenceCardHeadlineApply:{message:"Popraw całe zdanie"},fixSentenceCardHeadlineLoading:{message:"Wyszukiwanie poprawy zdania..."},fixSentenceCardHeadlineMissing:{message:"Przepraszamy, nie znaleziono poprawek"},forcePreferredLanguagesOptionLabel:{message:"Zawsze używaj tylko tych języków przy automatycznym wykrywaniu języków"},fr:{message:"francuski"},ga:{message:"Irlandzki"},generalSettingsHeadline:{message:"Ustawienia ogólne"},gl:{message:"galicyjski"},googleDocsDisableButton:{message:"Wyłącz LanguageTool w tym dokumencie"},googleDocsEnableButton:{message:"Włącz LanguageTool"},googleDocsEnableHint:{message:"Możesz ponownie włączyć sprawdzanie gramatyki i stylu przez LanguageTool tutaj"},googleDocsNewTeaserHeadline:{message:"LanguageTool dla Google Docs jest tutaj!"},googleDocsNewTeaserText:{message:"Obok każdej strony możesz teraz zobaczyć, ile problemów wykrył LanguageTool."},googleDocsPagelessModeUnsupported:{message:'Nowy tryb "bez stron" nie jest obecnie obsługiwany. Pracujemy nad tym.'},googleSlidesDisableButton:{message:"Wyłącz LanguageTool w tej prezentacji"},googleSlidesEnableButton:{message:"Włącz LanguageTool"},googleSlidesEnableHint:{message:"Możesz ponownie włączyć sprawdzanie gramatyki i stylu przez LanguageTool tutaj"},googleSlidesNewTeaserHeadline:{message:"LanguageTool dla Google Prezentacje jest tutaj!"},googleSlidesNewTeaserText:{message:"Możesz teraz zobaczyć obok każdego slajdu, ile problemów wykrył LanguageTool."},grammarError:{message:"Gramatyka"},haveAccountDesc:{message:"Utwórz darmowe konto w"},historicPremiumErrorsButton:{message:"Dowiedz się więcej"},historicPremiumErrorsHeadline:{message:"Czy wiesz?"},historicPremiumErrorsText:{message:"Można było uniknąć <strong>$count$ błędów gramatycznych i stylistycznych</strong> na przestrzeni ostatnich kilku dni, dzięki LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"Można było uniknąć <strong>$count$ błędów gramatycznych i stylistycznych</strong> na przestrzeni ostatnich kilku dni, dzięki LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Nie sprawdzaj automatycznie w tych domenach:"},ignoreHere:{message:"Ignoruj w tym tekście"},ignoredRules:{message:"Reguły te zostały wyłączone, należy kliknąć regułę, aby włączyć ją ponownie:"},ignoredRulesDesc:{message:"Wyłączone reguły"},incompleteResult:{message:"Wyniki są niekompletne: Kontrola tekstu została zatrzymana z powodu zbyt wielu błędów."},invalidUsernameOrPassword:{message:"Błąd: Sprawdź swój adres e-mail i hasło w ustawieniach"},is:{message:"islandzki"},it:{message:"włoski"},ja:{message:"japoński"},km:{message:"khmerski"},language:{message:"Język:"},languageOptionsLink:{message:"Opcje językowe"},languagetoolNotSupported:{message:"Rozszerzenie nie działa na tej stronie internetowej, ponieważ strona oferuje taką samą funkcjonalność"},localServer:{message:"Serwer lokalny (localhost) – wymaga serwera LanguageTool działającego lokalnie"},localServerDocs:{message:"dokumentacja"},lt:{message:"litewski"},managedLoginButton1:{message:"Zaloguj się"},managedLoginButton2:{message:"Zaloguj się za pomocą swojego konta firmowego."},managedLoginDescription:{message:"Prosimy i zalogowanie się za pomocą swojego konta firmowego, aby móc korzystać z Language Tool."},managedLoginHeadline:{message:"Zaloguj się"},messagePopupTurnOnPrimaryButton:{message:"Rozumiem!"},messagePopupTurnOnSecondaryButton:{message:"Ponownie aktywuj sprawdzanie tekstu"},messagePopupTurnOnheadline:{message:"Sprawdzanie pisowni jest wyłączone na tej stronie"},messagePopupTurnOntext:{message:"Aby ponownie je aktywować, kliknij ikonę LT na pasku narzędzi i przesuń przełącznik „Sprawdzaj gramatykę i pisownię”"},ml:{message:"malajalam"},moreDetails:{message:"Więcej szczegółów..."},motherTongueDesc:{message:"Język ojczysty"},motherTongueExpl:{message:"Ustaw język ojczysty, aby wykrywać fałszywych przyjaciół tłumacza podczas sprawdzania tekstów niepisanych w języku ojczystym."},msOnlineOfficeNotSupported:{message:"Przepraszamy, Microsoft Word Online nie jest obsługiwany przez to rozszerzenie – zamiast tego zainstaluj po prostu to <a target='_blank' href='$url$'>rozszerzenie</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"holenderski"},no:{message:"Norweski"},noErrorsFound2:{message:"Super, nie ma błędów!"},noErrorsFoundText:{message:"Możesz być z siebie dumny/-a"},notificationUndoDescription:{message:"Wciśnij %{cmd}, by cofnąć"},notificationUndoLabel:{message:"Zastosowano parafrazowanie"},onboardLanguageSelectorCta:{message:"Zacznij używać LanguageTool"},onboardLanguageSelectorDescription:{message:"Aby zapewnić Ci najlepsze sugestie, musimy wiedzieć, jakich języków używasz najczęściej."},onboardLanguageSelectorHeading:{message:"Wybierz język, w którym zwykle piszesz"},onboardingHeadline:{message:"Teraz twój tekst zostanie poprawiony"},onboardingIntro:{message:"Twój tekst będzie teraz sprawdzany w większości pól tekstowych podczas pisania."},onboardingIntroThunderbird:{message:"Twój tekst będzie teraz sprawdzany w trakcie tworzenia maili."},onboardingNote1:{message:"Należy odświeżyć <strong> wszystkie otwarte strony internetowe</strong> , aby aktywować rozszerzenie."},onboardingNote2:{message:"To rozszerzenie nie działa z polami tekstowymi w <strong>Chrome Web Store</strong> lub na <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Aby wyłączyć rozszerzenie dla strony internetowej, należy kliknąć <strong>ikonę LT na pasku narzędzi przeglądarki</strong>"},onboardingNote4:{message:"<strong>Synonimy</strong> można uzyskać po dwukrotnym kliknięciu słowa w polu tekstowym (np. w Gmail, na Facebooku lub w Google Docs)"},onboardingNoteThunderbird1:{message:"Zacznij tworzyć nową wiadomość e-mail, by aktywować rozszerzenie."},onboardingNoteThunderbird2:{message:"Aby wyłączyć rozszerzenie, kliknij ikonkę LT w prawym górnym rogu okna do tworzenia wiadomości e-mail."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Skrót klawiszowy"},openCardHotkeyExpl:{message:"Wciśnij <strong>szybko dwukrotnie</strong> ten klawisz, kiedy migający kursor tekstowy znajdzie się na podkreślonym słowie. Oczywiście działa to również w przypadku synonimów."},openCardHotkeyOff:{message:"Wył."},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Inny serwer — wymaga działającego tam serwera LanguageTool"},overleafNewTeaserHeadline:{message:"LanguageTool dla Overleaf jest tutaj!"},overleafNewTeaserText:{message:"Przewiń swój tekst, aby zobaczyć sugestie dotyczące pisowni, gramatyki i stylu."},oxfordSpellingOptionLabel:{message:"Preferuj pisownię oksfordzką"},password:{message:"Hasło:"},personalDictionaryMultipleWordError:{message:"Wyrażenia wielowyrazowe są obsługiwane tylko u tych użytkowników, którzy posiadają konto LanguageTool"},phrasesCardCaption:{message:"Parafrazy"},phrasesCardConfirmationButton:{message:"Zaakceptuj politykę prywatności"},phrasesCardConfirmationHeading:{message:"Zmień swój tekst za pomocą sztucznej inteligencji"},phrasesCardConfirmationText:{message:"Potrzebujesz krótszego, płynniejszego lub bardziej formalnego tekstu? Pomożemy Ci. Zapoznaj się z naszą <a target='_blank' href='$privacyUrl$' rel='noopener'>Polityką prywatności</a> dotyczącą przetwarzania danych.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Wszystkie wyniki"},phrasesCardGeneralError:{message:"Wystąpił błąd podczas ładowania zwrotów"},phrasesCardHeadline:{message:"Alternatywy wygenerowane przez sztuczną inteligencję"},phrasesCardLabelFluency:{message:"Płynne"},phrasesCardLabelFormality:{message:"Formalne"},phrasesCardLabelGeneral:{message:"Przeredagowane"},phrasesCardLabelParaphrase:{message:"Płynne"},phrasesCardLabelShortened:{message:"Zwięzłe"},phrasesCardLabelSimplicity:{message:"Proste"},phrasesCardNoResult:{message:"Niestety, nie można wygenerować przeredagowania dla tego zdania."},phrasesCardNoSentence:{message:"Nie udało się wykryć zdania."},phrasesCardNotSupportedHeading:{message:"Przeredagowanie zdań nie jest dostępne... jeszcze"},phrasesCardNotSupportedText:{message:"Przeredagowywanie zdań nie jest obecnie dostępne dla tego języka (a jedynie dla angielskiego, hiszpańskiego, ...). <strong>Ciężko pracujemy</strong>, aby było dostępne również dla innych języków tak szybko, jak to możliwe."},phrasesCardRephrasingLimitPlural:{message:"Dzisiejszy limit uwzględnia jeszcze <strong>$count$</strong> zdań ",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Dzisiejszy limit uwzględnia jeszcze <strong>jedno</strong> zdanie"},phrasesCardRephrasingLimitUnlock:{message:"Odblokuj wersję bez limitów!"},phrasesCardSentencePrefix:{message:"Oryginalne"},phrasesCardTimeoutError:{message:"Serwer nie odpowiedział na czas."},pl:{message:"polski"},popupGeneralSettingsHeadline:{message:"Ustawienia ogólne"},popupGlobalSettingsHeadline:{message:"Ustawienia globalne"},popupGlobalSettingsHeadlineInfo:{message:"Wszystkie strony internetowe"},popupOnboardingHeadline:{message:"Witaj! Teraz możesz korzystać z LanguageTool:"},popupOnboardingStep1:{message:"Kliknij dowolne wielowierszowe pole tekstowe (np. w Gmail, na Facebooku, itp.)"},popupOnboardingStep2:{message:"W prawym dolnym rogu znajduje się ikona, która wygląda jak $icon1Html$ lub $icon2Html$",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Wpisz tekst. Błędy będą <u>podkreślone</u>"},popupOnboardingStep4:{message:"Kliknij podkreślone słowo, aby zyskać sugestie poprawek"},popupOpenEditorButton:{message:"Otwórz Edytor"},popupOptionCaseText:{message:"Sprawdzaj wielkie i małe litery"},popupOptionCheckText:{message:"Włącz LanguageTool"},popupOptionContextMenu:{message:"Pokaż w menu kontekstowym"},popupOptionContextMenuDescription:{message:"Po prostu zaznacz tekst na dowolnej stronie internetowej, kliknij prawym przyciskiem myszy i sprawdź go pod kątem błędów gramatycznych."},popupOptionPickyMode:{message:"Tryb wybredny"},popupOptionPickyModeDescription:{message:"Dla doskonałego stylu, tonu i typografii"},popupOptionRephrasing:{message:"Funkcjonalność parafrazowania"},popupOptionRephrasingDescription:{message:"Przepisz całe zdania z pomocą sztucznej inteligencji. Po prostu najedź myszką na symbol zlokalizowany w prawym górnym rogu każdego pola tekstowego i kliknij ikonę parafrazowania, aby uzyskać sugestie dla obecnego zdania."},popupOptionSynonyms:{message:"Włącz dwukrotne kliknięcie"},popupOptionSynonymsDescription:{message:"Kliknij dwukrotnie na dowolne słowo w polu tekstowym, aby zobaczyć synonimy"},popupOptionValidate:{message:"Sprawdź zaznaczony tekst"},popupOptionValidateInEditor:{message:"Sprawdź wybrany tekst w Edytorze"},popupPremiumHeadline:{message:"Pisz jak profesjonalista"},popupPremiumLink:{message:"Dowiedz się więcej"},popupPremiumText:{message:"Zaktualizuj do LanguageTool Premium, aby znaleźć nie tylko więcej błędów gramatycznych i interpunkcyjnych, ale również problemy związane ze stylem."},popupSettingsHeadline:{message:"Ustawienia dla tej strony internetowej"},popupSettingsHeadlineInfo:{message:"Aktualna strona internetowa"},popupSettingsHover:{message:"Więcej zaawansowanych ustawień"},popupUserStatisticsHover:{message:"Pokaż statystyki korzystania"},poweredBy:{message:"Zasilane przez <b>LanguageTool</b>"},premiumErrorsButton:{message:"Dowiedz się wiecej"},premiumErrorsTextPlural:{message:"Twój tekst zawiera <strong>$count$ zaawansowanych błędów pisarskich</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Twój tekst zawiera <strong>jeden zaawansowany błąd pisarski.</strong>"},privacyHeadline:{message:"Witaj w LanguageTool"},privacyLinkForDefaultServer:{message:"Szczegóły znajdują się w <a href='$privacyUrl$' target='_blank'>naszej polityce prywatności</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Sprawdzanie można <strong>wyłączyć w dowolnym momencie</strong>"},privacyListUnsaved:{message:"<strong>Twój tekst nie będzie przechowywany</strong>"},privacyNoteForDefaultServer:{message:"To rozszerzenie sprawdzi Twój tekst, przesyłając go do <a href='$serverUrl$' target='_blank'>$serverHost$</a> za pomocą szyfrowanego połączenia.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"To rozszerzenie sprawdzi Twój tekst, wysyłając go na $serverUrl$. Aby powrócić do domyślnego serwera, odwiedź stronę z opcjami rozszerzenia.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Twój asystent pisania"},privacyPolicy:{message:"Polityka prywatności"},pt:{message:"portugalski"},pt_AO:{message:"portugalski (Angola preAO)"},pt_BR:{message:"portugalski (Brazylia posAO)"},pt_CV:{message:"portugalski (Cape Verde)"},pt_MZ:{message:"portugalski (Mozambik preAO)"},pt_PT:{message:"portugalski (Portugalia preAO)"},pt_PT_post_reform:{message:"portugalski (Portugalia posAO)"},pt_PT_pre_reform:{message:"portugalski (Portugalia preAO)"},punctuationError:{message:"Interpunkcja"},ratingHeadline:{message:"Lubisz nasze narzędzie do sprawdzania tekstu?"},ratingText:{message:"Prześlij nam swoją opinię"},ratingThankYou:{message:"Dziękujemy"},ratingUnhappyQuestion:{message:"Proszę nam powiedzieć, dlaczego jesteś nezadowolony/-a"},removeExtraWhitespace:{message:"Usuń niepotrzebne spacje"},rephrasingTeaserCaption:{message:"Potrzebujesz więcej od razu?"},rephrasingTeaserCountdownSuffix:{message:"$count$ przeredagowań",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Uzyskaj więcej jutro"},rephrasingTeaserCta:{message:"Odblokuj wszystkie korzyści Premium"},rephrasingTeaserDescription:{message:"Skorzystaj z nielimitowanego przeredagowywania i nie tylko:"},rephrasingTeaserListItem1:{message:"<strong>Sprawdzaj do $count$</strong> znaków w pojedynczym tekście",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Zaawansowane sugestie dotyczące stylu</strong> dla jeszcze lepszych tekstów"},rephrasingTeaserListItem3:{message:"<strong>Nielimitowane przeredagowywanie</strong>, by Twój tekst był jeszcze bardziej uniwersalny"},replaceWithWhitespace:{message:"Zastąp białym znakiem"},reportAnIssue:{message:"Prześlij opinię"},reviewChromeHeadline:{message:"Może wystaw nam ocenę w Chrome Store?"},reviewEdgeHeadline:{message:"Czy wystawisz nam ocenę w sklepie z dodatkami do Edge?"},reviewFirefoxHeadline:{message:"Może wystaw nam ocenę w Firefox Store?"},reviewLink:{message:"Oceń teraz"},reviewOperaHeadline:{message:"Czy wystawisz nam ocenę w sklepie z dodatkami do Opery?"},reviewSafariHeadline:{message:"Czy możemy prosić o ocenę w App Store?"},ro:{message:"rumuński"},ru:{message:"rosyjski"},save:{message:"Zapisz"},sendFeedback:{message:"Wyślij opinię"},sentenceSplittingCardApplyButtonLabel:{message:"Zastosuj"},sentenceSplittingCardHeadlineApply:{message:"Sugestia:"},sentenceSplittingCardHeadlineLoading:{message:"Dzielenie zdania..."},sentenceSplittingCardHeadlineMissing:{message:"Przepraszamy, nie znaleziono sugestii"},serverNotAvailable:{message:"Serwer lokalny niedostępny"},serverText:{message:"Serwer LanguageTool:"},serverUrlIsInvalid:{message:"Ten adres URL nie jest prawidłowy"},settingsAccountBulletListEditor:{message:"Używaj edytora jako wolnego od zakłóceń środowiska do pisania"},settingsAccountBulletListSave:{message:"Zapisuj teksty na później "},settingsAccountBulletListSync:{message:"Zsynchronizuj swoje ustawienia i osobiste słowniki na wielu przeglądarkach i urządzeniach"},settingsAccountDescription:{message:"Zaloguj się, by czerpać następujące korzyści:"},settingsAccountHeadline:{message:"Konto"},settingsAccountSubheadline:{message:"Zaloguj się za pomocą swojego konta LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Ta domena nie została jeszcze dodana. Naciśnij klawisz ENTER, aby ją dodać."},settingsAddDomainHint:{message:"Ta domena nie została jeszcze dodana. Naciśnij klawisz ENTER, aby ją dodać."},settingsAddIgnoredDomainHint:{message:"Ta domena nie została jeszcze dodana. Naciśnij klawisz ENTER, aby ją dodać."},settingsAddOrFilterAutoCheckDomains:{message:"Dodaj lub znajdź domenę…"},settingsAddOrFilterDomains:{message:"Dodaj lub znajdź domenę…"},settingsAddOrFilterIgnoredDomains:{message:"Dodaj lub znajdź domenę…"},settingsAddOrFilterWords:{message:"Dodaj lub znajdź słowo…"},settingsAddWordHint:{message:"Tego słowa nie ma jeszcze w Twoim słowniku. Naciśnij klawisz ENTER, aby je dodać."},settingsAreYouSure:{message:"Na pewno? Tego działania nie można cofnąć."},settingsCheckForPaidSubscriptionError:{message:"Sprawdzenia statusu subskrypcji nie powiodło się"},settingsClearAll:{message:"Wyczyść wszystko"},settingsCopyDictionary:{message:"Skopiuj o schowka"},settingsCopyDictionarySuccessful:{message:"Skopiowano do schowka"},settingsDeleteAutoCheckDomain:{message:"Usuń domenę"},settingsDeleteIgnoredDomain:{message:"Usuń domenę"},settingsDictionaryHeadline:{message:"Słownik osobisty"},settingsDomainInvalid:{message:"Wprowadź poprawną domenę, której jeszcze nie dodano."},settingsEmptyAutoCheckDomains:{message:"Nie włączyłeś jeszcze automatycznego sprawdzania na żadnej stronie internetowej"},settingsEmptyDictionary:{message:"Osobisty słownik jest obecnie pusty"},settingsEmptyDomainList:{message:"Nie wyłączyłeś jeszcze żadnych stron internetowych"},settingsEmptyIgnoredDomains:{message:"Nie wyłączyłeś jeszcze automatycznego sprawdzania na żadnej stronie internetowej"},settingsEmptyIgnoredRules:{message:"Nie wyłączyłeś jeszcze żadnych reguł. Reguły można wyłączyć, gdy pojawią się w tekście."},settingsEnableAllRules:{message:"Włącz wszystko"},settingsEnableDomain:{message:"Włącz domenę"},settingsExperimentalSuccess:{message:"Zapisano ustawienia."},settingsForgotPasswordLink:{message:"Zapomniałeś hasło?"},settingsHeadline:{message:"Ustawienia"},settingsLanguageVariantsDescription:{message:"Chcesz dostawać najlepsze wskazówki dla danego języka, daj nam znać jakiego wariantu języka używasz."},settingsLanguageVariantsHeadline:{message:"Warianty języków"},settingsLoggedInAs:{message:"Jesteś zalogowany jako $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Zaloguj"},settingsLoginError:{message:"Nie udało się zalogować. Sprawdź swój adres e-mail i hasło."},settingsLoginSuccess:{message:"Nastąpiło zalogowanie."},settingsLogoutButton:{message:"Wyloguj"},settingsLogoutSuccess:{message:"Nastąpiło wylogowanie."},settingsManageAccountButton:{message:"Zarządzaj kontem"},settingsPasswordPlaceholder:{message:"Hasło"},settingsPreferredLanguagesCompleteList:{message:"Wszystkie języki"},settingsPreferredLanguagesDescription:{message:"Ustaw języki, w których zwykle piszesz teksty. To pomaga LanguageTool na automatyczny wybór odpowiedniego języka."},settingsPreferredLanguagesHeadline:{message:"Preferowane języki"},settingsPreferredLanguagesPopularList:{message:"Popularne języki"},settingsPremiumButton:{message:"Odkryj LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Wszystkie funkcje <strong>premium</strong> są aktywowane."},settingsPremiumHeadline:{message:"Graj w wyższej lidze pisarskiej"},settingsPremiumText:{message:"Wykrywaj skomplikowane problemy z gramatyką, stylem i interpunkcją lub sprawdzaj teksty długości aż 150 000 znaków."},settingsServerUrlDisabled:{message:"Niestandardowy serwer można ustawić dopiero po wylogowaniu się z konta LanguageTool."},settingsUnknownError:{message:"Wystąpił nieoczekiwany błąd"},siteDisabledPerGroupPolicy:{message:"Sprawdzanie na tej stronie jest wyłączone zgodnie z Zasadami grupy"},siteTemporarilyUnsupported:{message:"Przepraszamy, LanguageTool tymczasowo wyłączył obsługę dla tej strony. Obecnie pracujemy nad rozwiązaniem. Powinna być to kwestia dni."},sk:{message:"słowacki"},skip:{message:"Pomiń"},sl:{message:"słoweński"},spellingError:{message:"Ortografia"},sr:{message:"serbski"},sr_BA:{message:"serbski (Bośnia)"},sr_HR:{message:"serbski (Chorwacja)"},sr_ME:{message:"serbski (Czarnogóra)"},sr_RS:{message:"serbski (Serbia)"},statusIconEnableLT:{message:"Włącz LanguageTool – sprawdzanie pisowni i gramatyki"},statusIconError:{message:"Błąd"},statusIconMoreErrors:{message:"Wyniki są niekompletne: Kontrola tekstu została zatrzymana z powodu zbyt wielu błędów."},statusIconPermissionRequired:{message:"Nie można sprawdzić tekstu – zaakceptuj najpierw politykę prywatności"},statusIconReload:{message:"Rozszerzenie zostało zaktualizowane. Proszę przeładować stronę, aby umożliwić sprawdzanie pisowni i gramatyki."},statusIconToolTip:{message:"LanguageTool – Sprawdzanie pisowni i gramatyki"},suggestionError:{message:"Styl"},suggestionOnlyVisibleToPremiumButton:{message:"Zobacz wszystkie sugestie w wersji Premium."},suggestionOnlyVisibleToPremiumText:{message:"To jest zaawansowana sugestia, która jest dostępna tylko w wersji Premium w LanguageTool. Przejdź na Premium, aby otrzymywać takie sugestie i wiele innych."},sv:{message:"szwedzki"},switchToAmericanEnglish:{message:"Zmień na amerykański angielski"},switchToAustralianEnglish:{message:"Zmień na australijski angielski"},switchToBritishEnglish:{message:"Przełącz na brytyjski angielski"},switchToCanadianEnglish:{message:"Zmień na kanadyjski angielski"},switchToNewZealandEnglish:{message:"Zmień na nowozelandzki angielski"},switchToSouthAfricanEnglish:{message:"Zmień na afrykański angielski"},synonymsCardGeneralError:{message:"Wystąpił błąd podczas ładowania synonimów."},synonymsCardHeadline:{message:"Synonimy"},synonymsCardLanguageNotSupported:{message:"Synonimy dla tego języka nie są jeszcze obsługiwane."},synonymsCardLess:{message:"mniej"},synonymsCardLoadMoreAlternatives:{message:"załaduj więcej alternatyw"},synonymsCardLoading:{message:"Ładowanie…"},synonymsCardMore:{message:"więcej"},synonymsCardNoSynonymsAvailable:{message:"Dla tego słowa brak dostępnych synonimów."},synonymsCardProvidedBy:{message:"Dostarczane przez <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Zdanie"},synonymsCardTabWord:{message:"Słowo"},synonymsCardTooltipReadText:{message:"Wymów słowo"},synonymsTutorialHeadline:{message:"Jak uzyskać synonimy"},synonymsTutorialText:{message:"Uzyskaj synonimy dla dowolnego słowa, klikając na nie dwukrotnie. Działa w każdym polu tekstowym obsługiwanym przez LanguageTool."},ta:{message:"tamilski"},textTooLong:{message:"Przepraszamy, ten tekst jest zbyt długi, aby można go było sprawdzić."},timeoutError:{message:"Przekroczenie czasu oczekiwania na odpowiedź serwera – spróbuj ponownie później ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"tagalski"},tooManyErrors:{message:"Ten tekst wydaje się zawierać zbyt wiele błędów. Czy jesteś pewien, że wybrano właściwy język?"},tooManyRequests:{message:"Przekroczony limit zapytań — odczekaj minutę, a LanguageTool powinien być ponownie dostępny."},toolbarDisableMenuDisableChecking:{message:"Wyłącz na tej stronie"},toolbarDisableMenuPauseChecking:{message:"Wyłącz tylko do następnej wizyty"},toolbarTooltipDisableChecking:{message:"Wyłącz sprawdzanie"},toolbarTooltipRephrasing:{message:"Przeredaguj zdanie"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Przeredagowywanie zdań nie jest obecnie dostępne w tym języku."},tr:{message:"Turecki"},tryAgain:{message:"Spróbuj ponownie"},turnOffPickyMode:{message:"Wyłącz tryb wybredny w tym tekście"},turnOffRule:{message:"Wyłącz regułę wszędzie"},turnOffRulePicky:{message:"Nie można wyłączyć sugestii gramatycznych w trybie wybrednym"},turnOnHint:{message:"Możesz ponownie aktywować rozszerzenie tutaj"},uk:{message:"ukraiński"},unknownError:{message:"Przepraszamy, coś poszło nie tak podczas sprawdzania tekstu. Ponowne uruchomienie przeglądarki może rozwiązać ten problem."},upgradeTeaserDiscount:{message:"Oszczędź $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Oferta ograniczona czasowo"},username:{message:"E-mail:"},validatorHasMistakesHeadlinePlural:{message:"Liczba znalezionych błędów: $count$",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Znaleziono jeden błąd."},validatorHasMistakesText:{message:"Kliknij zaznaczone słowa, aby je skorygować."},validatorHasPremiumErrorsButton:{message:"Dowiedz się więcej"},validatorHasPremiumErrorsHeadlinePlural:{message:"Twój tekst zawiera $count$ zaawansowanych błędów pisarskich",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Twój tekst zawiera jeden zaawansowany błąd pisarski"},validatorHasPremiumErrorsText:{message:"Przejdź na LanguageTool Premium, aby wykryć jeszcze więcej błędów gramatycznych, stylistycznych i interpunkcyjnych."},validatorLoadingHint:{message:"Sprawdzam tekst…"},validatorNoMistakesHeadline:{message:"Super, nie ma błędów."},validatorNoTextStatus:{message:"Type or paste your text to check it"},validatorPlaceholder:{message:"Proszę wpisać lub wkleić tekst tutaj …"},validatorPremiumButton:{message:"Ulepsz"},validatorPremiumHeadline:{message:"Znajdź więcej błędów i stań się lepszym pisarzem."},validatorPremiumReason1:{message:"Bardziej zaawansowane sprawdzanie gramatyki, interpunkcji i stylu"},validatorPremiumReason2:{message:"Sprawdzanie dłuższych tekstów (do 150 000 znaków)"},validatorPremiumReason3:{message:"Automatyczne wykrywanie nieprawidłowych numerów (np. IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Dodatek do Microsoft Office"},validatorTextTooLongStatus:{message:"Przepraszamy, ten tekst jest zbyt długi, aby można go było sprawdzić."},variantCaDesc:{message:"Interpretuj język kataloński jako:"},variantDeDesc:{message:"Interpretuj język niemiecki jako:"},variantEnDesc:{message:"Interpretuj język angielski jako:"},variantPtDesc:{message:"Interpretuj język portugalski jako:"},webstoreSiteNotSupported:{message:"Przepraszamy, LanguageTool nie działa na stronie Chrome Web Store. Działa za to w każdym innym miejscu, w którym piszesz (np. na Facebooku i Twitterze, w Gmail, LinkedIn)."},zh:{message:"chiński"}},nl:{accessDeniedError2:{message:"De server geeft de melding 'Toegang geweigerd' — controleer a.u.b. uw e-mailadres en wachtwoord in de instellingen en probeer het nog eens."},addLanguage:{message:"Taal toevoegen"},addToDictionaryCaption:{message:'Voeg "$word$" toe aan het persoonlijke woordenboek',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Toepassen"},appDesc:{message:"Verbeter uw teksten overal op het web met de grammaticacontrole en herschrijvingsfunctie van Languagetool."},appDescThunderbird:{message:"Controleer je e-mails op stijl- en grammaticaproblemen"},appName:{message:"Grammatica- & Spellingscontrole—LanguageTool"},ar:{message:"Arabisch"},ast:{message:"Asturiaans"},attachScreenshot:{message:"Voeg afbeelding van tekstveld toe"},autoCheckDesc:{message:"Controleer standaard alle domeinen"},autoCheckOnDomainsDesc:{message:"Tekst op deze domeinen automatisch controleren:"},be:{message:"Wit-Russisch"},br:{message:"Bretons"},ca:{message:"Catalaans"},ca_ES_valencia:{message:"Catalaans (Valencia)"},cardContentShowAll:{message:"Alles zien"},cardContentShowSubset:{message:"Minder zien"},cardSelectorLabelChecker:{message:"Checker"},cardSelectorLabelParaphraser:{message:"Omschrijving"},changelogDiscountExpires:{message:"Aanbieding vervalt over"},changelogTitle:{message:"Nieuwe functies van LanguageTool"},close:{message:"Sluit"},cloudServer:{message:"Cloudserver (languagetool.org)"},confirm:{message:"Oké, ik snap het"},connectionProblem:{message:"Er is geen verbinding met $serverUrl$. Controleer de internetverbinding of probeer het later nog eens",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Controleer tekst..."},contextMenuValidateInEditor:{message:"Controleer de tekst in Editor"},continue:{message:"Ga verder"},correctAllQuotes:{message:"Corrigeer alle citaten"},customSuggestionError:{message:"Schrijfstijl Gids"},da:{message:"Deens"},da_DK:{message:"Deens (Denemarken)"},de:{message:"Duits"},de_AT:{message:"Duits (Oostenrijk)"},de_CH:{message:"Duits (Zwitserland)"},de_DE:{message:"Duits (Duitsland)"},de_DE_x_simple_language:{message:"Duits (Eenvoudig Duits)"},defaultServerLink:{message:"Gebruik standaard"},deleteWord:{message:"Verwijderen"},desktopAppAction:{message:"GRATIS downloaden"},desktopAppHeadlineMac:{message:"Controleer Teksten in Uw Favoriete Apps"},desktopAppHeadlineWindows:{message:"Controleer Teksten in Uw Favoriete Apps"},desktopAppTextMac:{message:"LanguageTool voor Mac corrigeert uw schrijven direct in Apple Mail, Pages, Word, Slack en nog veel meer applicaties."},desktopAppTextWindows:{message:"LanguageTool voor Windows is nu beschikbaar en corrigeert uw schrijven direct in Outlook, Word en nog veel meer applicaties."},dialogAllLanguages:{message:"Alle talen:"},dialogCounterCharactersOption:{message:"Tekens"},dialogCounterCharactersPlural:{message:"$number$ tekens",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 teken"},dialogCounterSentencesOption:{message:"Zinnen"},dialogCounterSentencesPlural:{message:"$number$ zinnen",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 zin"},dialogCounterWordsOption:{message:"Woorden"},dialogCounterWordsPlural:{message:"$number$ woorden",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 woord"},dialogDisableMenuDisableChecking:{message:"Zet uit voor deze website"},dialogDisableMenuPauseChecking:{message:"Zet uit tot volgende bezoek"},dialogEnableInDialogHeadline:{message:"Extensie is uitgeschakeld"},dialogEnableInDialogText:{message:"Klik hier om spelling- en grammaticacontrole in te schakelen."},dialogFailStateHeadline:{message:"Oeps..."},dialogFailStateText:{message:"Er ging iets mis. Probeer het nog eens."},dialogMainMenuPickyMode:{message:"Puntjes op de i"},dialogMainMenuPickyModeInfo:{message:'Schakel de "Puntjes op de i" in om de tekst te perfectioneren.'},dialogMainMenuPremiumMistake:{message:"Premium-suggesties"},dialogMainMenuRegularMistake:{message:"Suggesties"},dialogMainMenuTextScore:{message:"Tekstscore"},dialogNeedsLanguageHintHeadline:{message:"Taal wordt niet herkend"},dialogNeedsLanguageHintIgnore:{message:"Voor nu negeren"},dialogNeedsLanguageHintText:{message:"De taal van deze tekst wordt niet herkend. Stel deze handmatig in of schrijf verder."},dialogPositionMenuDefault:{message:"Standaard"},dialogPositionMenuLeft:{message:"Links"},dialogPositionMenuRight:{message:"Rechts"},dialogPremiumButton:{message:"Meer informatie"},dialogPremiumHeadlinePlural:{message:"Nog $count$ aandachtspunten gevonden",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Nog 1 aandachtspunt gevonden"},dialogPremiumText:{message:"Ontvang nog meer stijl-, interpunctie- en grammaticasuggesties met LanguageTool Premium"},dialogRecommendedLanguages:{message:"Aanbevolen voor jou:"},dialogScrollHintHeadline:{message:"Suggesties"},dialogScrollHintText:{message:"Scroll door uw tekst om nog meer suggesties te zien"},dialogScrollToLink:{message:"Ga naar"},dialogSelectLanguageLabel:{message:"Kies taal"},dialogTextTooLongButton:{message:"Meer informatie"},dialogTextTooLongHeadline:{message:"Deze tekst is wat lang"},dialogTextTooLongText:{message:"Stap over naar Premium en ontvang geavanceerde grammatica- en stijlsuggesties voor lange teksten."},dialogTextTooShortHeadline:{message:"Tekst is te kort"},dialogTextTooShortText:{message:"Er zijn minimaal 5 letters nodig om te kunnen controleren"},dialogTooltipDisableChecking:{message:"Controle uitschakelen"},dialogTooltipHelp:{message:"Help"},dialogTooltipHelpCenter:{message:"Ga naar het Helpcentrum"},dialogTooltipPosition:{message:"Positie van dialoog"},dialogTooltipSaveText:{message:"Bewaar tekst"},dialogTooltipSendFeedback:{message:"Stuur feedback"},dialogTooltipSettings:{message:"Instellingen"},dialogTooltipUserStatistics:{message:"Gebruiksstatistieken"},dialogUnsupportedLanguageHeadline:{message:"Deze taal wordt niet ondersteund"},dialogUnsupportedLanguageLabel:{message:"Niet-ondersteunde taal"},dialogUnsupportedLanguageText:{message:"LanguageTool ondersteunt meer dan 30 talen (waaronder Engels, Duits, Spaans, Frans, Portugees, Nederlands en Russisch)."},dismissSuggestions:{message:"Negeren"},domainsDesc:{message:"Zet controle uit op bepaalde websites"},edgeWebstoreSiteNotSupported:{message:"Sorry, LanguageTool werkt niet op de website van de Edge Add-on Store. Het werkt verder overal waar u schrijft (bijv. Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Volgend aandachtspunt"},editorCardNextSentence:{message:"Volgende zin"},el:{message:"Grieks"},en:{message:"Engels"},en_AU:{message:"Engels (Australië)"},en_CA:{message:"Engels (Canada)"},en_GB:{message:"Engels (Groot-Brittannië)"},en_NZ:{message:"Engels (Nieuw-Zeeland)"},en_US:{message:"Engels (Amerika)"},en_ZA:{message:"Engels (Zuid-Afrika)"},enableEverywhereButton:{message:"Schakel in voor elk tekstveld."},enableHereButton:{message:"Schakel in voor dit tekstveld."},enableInDialog:{message:"Klik hier om spelling-<br>en grammaticacontrole in te schakelen"},enableRuleTooltip:{message:"Klik om regel in te schakelen"},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Mooi, geen fouten gevonden!"},errorCardAllDoneDescription:{message:"U kunt trots zijn op uzelf."},errorCardHiddenMatchButton:{message:"Alles openen"},errorCardHiddenMatchCaption:{message:"Een voorproefje van Premium"},errorCardKeyboardInstructions:{message:"Druk op $enter$ of $shiftEnter$ om naar de volgende te gaan",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ meer verborgen goede suggesties gevonden",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Nog 1 verborgen goede suggestie gevonden"},errorCardPremiumTeaserCta:{message:"Laat alle verborgen goede suggesties zien"},errorCardPremiumTeaserGrammarSuggestions:{message:"Verborgen <lt-em>Grammaticale </lt-em> suggesties"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Verborgen <lt-em>Interpunctie</lt-em> suggesties"},errorCardPremiumTeaserReadMore:{message:"Meer lezen"},errorCardPremiumTeaserStyleSuggestions:{message:"Verborgen <lt-em>Schrijfstijl</lt-em> suggesties"},errorCardPremiumTeaserText:{message:"Er zijn nog meer goede suggesties, maar deze kunnen alleen door LanguageTool Premium gevonden worden."},errorCardTurnOffPickyModeButton:{message:"Uitschakelen"},errorCardTurnOffPickyModeCaption:{message:"Puntjes op de I suggesties"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ woorden zijn genegeerd",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 woord is genegeerd"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ regels zijn genegeerd",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 regel is genegeerd"},es:{message:"Spaans"},eu:{message:"Baskisch"},experimentalLink:{message:"Geavanceerde instellingen (alleen voor professionele gebruikers)"},extensionUpdatedHeadline:{message:"De extensie is bijgewerkt"},extensionUpdatedText:{message:"Om de spelling- en grammaticacontrole weer in te schakelen dient u op het icoon $iconHtml$ in de werkbalk van de browser te klikken of de pagina opnieuw te laden.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Perzisch"},feedbackButton:{message:"Stuur bericht aan LanguageTool"},feedbackDirectMail:{message:"Als u een schermafdruk wilt sturen, kan dat met een e-mail aan $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Sorry; we konden het bericht niet versturen. Probeer het later nog eens."},feedbackHeadline:{message:"Geef feedback op LanguageTool"},feedbackPrivacyPolicy:{message:"Pirvacybeleid"},feedbackSenderPlaceholder:{message:"Geef uw e-mailadres op …"},feedbackSuccess:{message:"Dank u voor uw feedback."},feedbackTextPlaceholder:{message:"Voer je feedback in …"},fixSentenceCardHeadlineApply:{message:"Volledige zin corrigeren"},fixSentenceCardHeadlineLoading:{message:"Aan het zoeken naar een zinsverbetering …"},fixSentenceCardHeadlineMissing:{message:"Sorry, geen verbetering gevonden"},forcePreferredLanguagesOptionLabel:{message:"Gebruik alleen deze talen voor automatische taaldetectie"},fr:{message:"Frans"},ga:{message:"Iers"},generalSettingsHeadline:{message:"Algemene instellingen"},gl:{message:"Galicisch"},googleDocsDisableButton:{message:"Schakel LanguageTool uit voor dit document"},googleDocsEnableButton:{message:"Schakel LanguageTool in."},googleDocsEnableHint:{message:"Hier kunt u de stijl- en grammaticacontrole van LanguageTool weer inschakelen"},googleDocsNewTeaserHeadline:{message:"LanguageTool voor Google Docs is beschikbaar!"},googleDocsNewTeaserText:{message:"Nu kunt u direct naast iedere pagina het aantal aandachtspunten zien die LanguageTool heeft gevonden."},googleDocsPagelessModeUnsupported:{message:'Deze nieuwe "paginaloze" modus wordt momenteel niet ondersteund. We zijn er druk mee bezig.'},googleSlidesDisableButton:{message:"Schakel LanguageTool uit voor deze presentatie"},googleSlidesEnableButton:{message:"LanguageTool inschakelen"},googleSlidesEnableHint:{message:"Hier kunt u de grammatica- en schrijfstijlcontrole van LanguageTool opnieuw inschakelen"},googleSlidesNewTeaserHeadline:{message:"Nu ook LanguageTool voor Google Presentaties!"},googleSlidesNewTeaserText:{message:"LanguageTool laat naast elke dia zien hoeveel problemen er zijn gevonden."},grammarError:{message:"Grammatica"},haveAccountDesc:{message:"Meld u aan voor een gratis account bij"},historicPremiumErrorsButton:{message:"Meer informatie"},historicPremiumErrorsHeadline:{message:"Wist u dat?"},historicPremiumErrorsText:{message:"Met LanguageTool Premium had u de afgelopen dagen <strong>$count$ grammatica- en stijlfouten</strong> kunnen voorkomen.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ grammatica- en stijlfouten</strong> hadden de afgelopen dagen kunnen worden voorkomen met LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Deze domeinen niet automatisch controleren:"},ignoreHere:{message:"Negeer in deze tekst"},ignoredRules:{message:"Deze regels zijn uitgeschakeld, klik op een regel om deze weer in te schakelen:"},ignoredRulesDesc:{message:"Uitgeschakelde regels"},incompleteResult:{message:"Resultaat is incompleet; controle is gestopt vanwege te veel aandachtspunten."},invalidUsernameOrPassword:{message:"Fout: Controleer a.u.b. uw e-mailadres en wachtwoord in de instellingen"},is:{message:"IJslands"},it:{message:"Italiaans"},ja:{message:"Japans"},km:{message:"Khmer"},language:{message:"Taal:"},languageOptionsLink:{message:"Taalinstellingen"},languagetoolNotSupported:{message:"De extensie werkt niet op deze website omdat de website dezelfde functionaliteit aanbiedt."},localServer:{message:"Lokale server (localhost) - vereist dat de LanguageTool-server op de eigen machine draait"},localServerDocs:{message:"documentatie"},lt:{message:"Litouws"},managedLoginButton1:{message:"Log in"},managedLoginButton2:{message:"Log in met uw bedrijfsaccount"},managedLoginDescription:{message:"Log a.u.b. in met uw bedrijfsaccount om LanguageTool te gebruiken."},managedLoginHeadline:{message:"Log in"},messagePopupTurnOnPrimaryButton:{message:"Begrepen!"},messagePopupTurnOnSecondaryButton:{message:"Schakel tekstcontrole weer in"},messagePopupTurnOnheadline:{message:"Spellingscontrole is uitgeschakeld voor deze pagina"},messagePopupTurnOntext:{message:'Om het weer in te schakelen klikt u op het LT-icoon in de taakbalk en vervolgens op de knop "Controleer grammatica en spelling"'},ml:{message:"Maleis"},moreDetails:{message:"Meer informatie..."},motherTongueDesc:{message:"Moedertaal"},motherTongueExpl:{message:"Stel uw moedertaal in als u gewaarschuwd wilt worden voor “valse vrienden” wanneer u teksten controleert die niet in uw moedertaal zijn geschreven."},msOnlineOfficeNotSupported:{message:"Sorry, Microsoft Word Online wordt niet ondersteund door deze extensie. Installeer in plaats daarvan <a target='_blank' href='$url$'>deze extensie</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Nederlands"},no:{message:"Noors"},noErrorsFound2:{message:"Mooi, geen fouten gevonden!"},noErrorsFoundText:{message:"U kunt trots zijn op uzelf."},notificationUndoDescription:{message:"Druk op %{cmd} om dit ongedaan te maken"},notificationUndoLabel:{message:"Herformulering toegepast"},onboardLanguageSelectorCta:{message:"Beginnen met LanguageTool"},onboardLanguageSelectorDescription:{message:"Om u de beste suggesties te kunnen geven, dienen we te weten welke talen u het meest gebruikt."},onboardLanguageSelectorHeading:{message:"Selecteer de talen die u het meest gebruikt"},onboardingHeadline:{message:"Uw teksten worden vanaf nu nagekeken"},onboardingIntro:{message:"Uw tekst wordt nu al typend nagekeken in de meeste tekstvelden."},onboardingIntroThunderbird:{message:"Uw tekst wordt nu gecontroleerd zodra u uw e-mails begint te schrijven"},onboardingNote1:{message:"Laad <strong> alle geopende webpagina's</strong> opnieuw om de extensie te activeren"},onboardingNote2:{message:"Deze extensie werkt niet met tekstvelden in de <strong> Chrome Web Store </strong> of op <strong> addons.mozilla.org </strong>"},onboardingNote3:{message:"Klik op het <strong> LT-pictogram in de browserwerkbalk </strong> wanneer u de extensie voor een bepaalde website uit wilt schakelen"},onboardingNote4:{message:"<strong>Synoniemen</strong> worden getoond wanneer u dubbelklikt op het woord in een tekstveld (bijv. in Gmail, Facebook of Google Docs)"},onboardingNoteThunderbird1:{message:"Start een nieuwe e-mail om de extensie te activeren."},onboardingNoteThunderbird2:{message:"Om de extensie uit te schakelen, dient u op het LT-pictogram te klikken in de rechterbovenhoek van uw e-mailvenster."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Toetsenbord snelkoppeling"},openCardHotkeyExpl:{message:"Druk <strong>twee keer snel</strong> op deze toets als de knipperende tekstcursor op een onderstreept woord staat. Dit werkt ook zo voor synoniemen."},openCardHotkeyOff:{message:"Uit"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Andere server - LanguageTool moet ergens anders draaien"},overleafNewTeaserHeadline:{message:"Nu ook LanguageTool voor Overleaf!"},overleafNewTeaserText:{message:"Controleer uw tekst op spelfouten en bekijk de grammatica- en stijlsuggesties."},oxfordSpellingOptionLabel:{message:"Voorkeur voor Oxford spelling"},password:{message:"Wachtwoord:"},personalDictionaryMultipleWordError:{message:"Uitdrukkingen met meerdere woorden kunnen alleen in het persoonlijke woordenboek opgeslagen worden wanneer u een account bij LanguageTool heeft."},phrasesCardCaption:{message:"Parafrasen"},phrasesCardConfirmationButton:{message:"Accepteer privacybeleid"},phrasesCardConfirmationHeading:{message:"Herformuleer uw zinnen met A.I."},phrasesCardConfirmationText:{message:"Heeft u een kortere, vlottere of juist meer formele tekst nodig? We zijn er voor u! Raadpleeg onze <a target='_blank' href='$privacyUrl$' rel='noopener'>Privacybeleid</a> met betrekking tot het verwerken van gegevens.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Alle resultaten"},phrasesCardGeneralError:{message:"Er is een fout opgetreden bij het laden van de uitdrukkingen"},phrasesCardHeadline:{message:"Mogelijke alternatieven"},phrasesCardLabelFluency:{message:"Makkelijker leesbaar"},phrasesCardLabelFormality:{message:"Formeel"},phrasesCardLabelGeneral:{message:"Herschreven versie"},phrasesCardLabelParaphrase:{message:"Makkelijker leesbaar"},phrasesCardLabelShortened:{message:"Korter"},phrasesCardLabelSimplicity:{message:"Eenvoudiger"},phrasesCardNoResult:{message:"Helaas is het herschrijven van deze zin niet mogelijk."},phrasesCardNoSentence:{message:"Deze zin werd niet gevonden."},phrasesCardNotSupportedHeading:{message:"Het herschrijven van een zin is (nog) niet mogelijk"},phrasesCardNotSupportedText:{message:"Op dit moment is de Herformuleringsfunctie nog niet beschikbaar voor deze taal. Wel voor Engels, Spaans.... We <strong>werken er hard aan</strong> om deze functie ook zo snel mogelijk voor andere talen beschikbaar te maken."},phrasesCardRephrasingLimitPlural:{message:"U kunt vandaag nog <strong>$count$</strong> zinnen laten herschrijven",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"U heeft nog <strong>één</strong> zin tegoed"},phrasesCardRephrasingLimitUnlock:{message:"Ontgrendel ongelimiteerd!"},phrasesCardSentencePrefix:{message:"Originele zin"},phrasesCardTimeoutError:{message:"De server reageerde niet op tijd."},pl:{message:"Pools"},popupGeneralSettingsHeadline:{message:"Algemene instellingen"},popupGlobalSettingsHeadline:{message:"Globale instellingen"},popupGlobalSettingsHeadlineInfo:{message:"Alle websites"},popupOnboardingHeadline:{message:"Welkom! U kunt nu LanguageTool gebruiken."},popupOnboardingStep1:{message:"Klik in ieder tekstveld met meerdere regels (bijv. in Gmail, Facebook, …)"},popupOnboardingStep2:{message:"In de rechteronderhoek van uw scherm vindt u een icoon dat lijkt op $icon1Html$ of $icon2Html$.",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Typ wat tekst, bevindingen worden <u>onderstreept</u>"},popupOnboardingStep4:{message:"Klik op een onderstreepte tekst om de suggesties te zien."},popupOpenEditorButton:{message:"Start Editor"},popupOptionCaseText:{message:"Controleer hoofd- en kleine letters"},popupOptionCheckText:{message:"LanguageTool inschakelen"},popupOptionContextMenu:{message:"Toon in rechtermuisklik-menu."},popupOptionContextMenuDescription:{message:"Selecteer wat tekst op welke website dan ook, klik erop met de rechtermuisknop en controleer het op grammaticafouten."},popupOptionPickyMode:{message:"Puntjes op de i"},popupOptionPickyModeDescription:{message:"Voor de perfecte schrijfstijl, intonatie en spelling"},popupOptionRephrasing:{message:"Herschrijvingsfunctie"},popupOptionRephrasingDescription:{message:"Herschrijf complete zinnen met behulp van AI. Houd simpelweg uw muis over het symbool in de rechter onderhoek van ieder tekstveld en klik op het herschrijvingsicoon om suggesties voor de huidige zin te krijgen."},popupOptionSynonyms:{message:"Dubbelklik inschakelen"},popupOptionSynonymsDescription:{message:"Dubbelklik op een woord in een tekstveld om synoniemen en herschreven alternatieven van volledige zinnen te zien."},popupOptionValidate:{message:"Controleer de geselecteerde tekst"},popupOptionValidateInEditor:{message:"Controleer de geselecteerde tekst in Editor"},popupPremiumHeadline:{message:"Schrijf als een pro"},popupPremiumLink:{message:"Meer informatie"},popupPremiumText:{message:"Waardeer op naar LanguageTool Premium om meer grammatica-, interpunctie-, maar ook stijlfouten te vinden."},popupSettingsHeadline:{message:"Instellingen voor deze website"},popupSettingsHeadlineInfo:{message:"Huidige website"},popupSettingsHover:{message:"Meer geavanceerde instellingen"},popupUserStatisticsHover:{message:"Toon gebruiksstatistieken"},poweredBy:{message:"Mogelijk gemaakt door <b>LanguageTool</b>"},premiumErrorsButton:{message:"Meer hierover"},premiumErrorsTextPlural:{message:"De tekst bevat <strong>$count$</strong> aandachtpunten die door de Premium-versie worden gezien.",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"De tekst bevat <strong>een</strong> aandachtpunt dat door de Premium-versie wordt gezien."},privacyHeadline:{message:"Welkom bij LanguageTool"},privacyLinkForDefaultServer:{message:"Voor meer informatie, zie <a href='$privacyUrl$' target='_blank'>ons privacybeleid</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"De spellingscontrole kan <strong>op elk moment worden uitgeschakeld </strong>"},privacyListUnsaved:{message:"<strong>De tekst wordt niet opgeslagen</strong>"},privacyNoteForDefaultServer:{message:"Deze extensie controleert je teksten door deze over een beveiligde verbinding naar <a href='$serverHost$' target='_blank'>$serverUrl$</a> te sturen.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Deze extensie controleert je tekst door het te versturen naar $serverUrl$. Wil je weer de standaardserve gebruiken, ga dan naar 'opties' van de extensie.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Uw schrijfassistent"},privacyPolicy:{message:"Privacybeleid"},pt:{message:"Portugees"},pt_AO:{message:"Portugees (Angola, voor herziening)"},pt_BR:{message:"Portugees (Brazilië, na herziening)"},pt_CV:{message:"Portugees (Kaapverdië)"},pt_MZ:{message:"Portugees (Mozambique, voor herziening)"},pt_PT:{message:"Portugees (Portugal, na herziening)"},pt_PT_post_reform:{message:"Portugees (Portugal, na hervorming)"},pt_PT_pre_reform:{message:"Portugees (Portugal, voor hervorming)"},punctuationError:{message:"Interpunctie"},ratingHeadline:{message:"Wat vind je van LanguageTool?"},ratingText:{message:"Geef feedback"},ratingThankYou:{message:"Bedankt."},ratingUnhappyQuestion:{message:"Vertel ons a.u.b. waarom u niet tevreden bent."},removeExtraWhitespace:{message:"Verwijder overbodige spatie"},rephrasingTeaserCaption:{message:"NU meer zinnen nodig?"},rephrasingTeaserCountdownSuffix:{message:"$count$ Herformuleringen",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Ontvang morgen meer"},rephrasingTeaserCta:{message:"Alle Premium-voordelen activeren"},rephrasingTeaserDescription:{message:"Profiteer nu van onbeperkt Herformuleringen en nog veel meer:"},rephrasingTeaserListItem1:{message:"<strong>Controleer lappen tekst tot op maximaal $count$</strong> tekens.",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Geavanceerde stijlsuggesties</strong> om jouw teksten nog beter te maken"},rephrasingTeaserListItem3:{message:"<strong>Onbeperkte herformuleringen</strong> om uw tekst meer diepgang te geven"},replaceWithWhitespace:{message:"Vervangen door witruimte"},reportAnIssue:{message:"Feedback verzenden"},reviewChromeHeadline:{message:"Wilt u ons s.v.p. een waardering geven in de Chrome Store?"},reviewEdgeHeadline:{message:"Wilt u ons een review geven in de Edge Add-ons Store?"},reviewFirefoxHeadline:{message:"Wilt u ons s.v.p. een waardering geven in de Firefox Store?"},reviewLink:{message:"Waardeer nu"},reviewOperaHeadline:{message:"Beoordeel ons s.v.p. als plug-in voor Opera."},reviewSafariHeadline:{message:"Wilt u ons een review geven in de App Store?"},ro:{message:"Roemeens"},ru:{message:"Russisch"},save:{message:"Bewaar"},sendFeedback:{message:"Stuur feedback"},sentenceSplittingCardApplyButtonLabel:{message:"Toepassen"},sentenceSplittingCardHeadlineApply:{message:"Suggestie:"},sentenceSplittingCardHeadlineLoading:{message:"Zin aan het opdelen..."},sentenceSplittingCardHeadlineMissing:{message:"Sorry, geen suggesties gevonden"},serverNotAvailable:{message:"Lokale server is niet beschikbaar"},serverText:{message:"LanguageTool server adres:"},serverUrlIsInvalid:{message:"Deze URL is ongeldig"},settingsAccountBulletListEditor:{message:"Gebruik de Editor wanneer u ongestoord wilt schrijven"},settingsAccountBulletListSave:{message:"Bewaar teksten voor later "},settingsAccountBulletListSync:{message:"Synchroniseer uw instellingen en uw persoonlijke woordenboek over meerdere browsers en apparaten"},settingsAccountDescription:{message:"Log in en ontvang de volgende extra's"},settingsAccountHeadline:{message:"Account"},settingsAccountSubheadline:{message:"Log in met uw LanguageTool-account"},settingsAddAutoCheckDomainHint:{message:"Dit domein is nog niet toegevoegd. Druk op ENTER om het domein alsnog toe te voegen."},settingsAddDomainHint:{message:"Dit domein staat nog niet in de lijst. Voeg het toe met RETURN."},settingsAddIgnoredDomainHint:{message:"Dit domein is nog niet toegevoegd. Druk op ENTER om het domein toe te voegen."},settingsAddOrFilterAutoCheckDomains:{message:"Domein zoeken of toevoegen…"},settingsAddOrFilterDomains:{message:"Zoek domein of voeg het toe…"},settingsAddOrFilterIgnoredDomains:{message:"Domein zoeken of toevoegen…"},settingsAddOrFilterWords:{message:"Zoek woord of voeg het toe …"},settingsAddWordHint:{message:"Dit woord staat nog niet in de woordenlijst. Druk op RETURN om het toe te voegen."},settingsAreYouSure:{message:"Weet je het zeker? Je kunt deze actie niet meer ongedaan maken."},settingsCheckForPaidSubscriptionError:{message:"Het controleren van uw abonnementsstatus is mislukt"},settingsClearAll:{message:"Wis alles"},settingsCopyDictionary:{message:"Kopieer naar prikbord"},settingsCopyDictionarySuccessful:{message:"Naar het prikbord gekopieerd"},settingsDeleteAutoCheckDomain:{message:"Schrap domein"},settingsDeleteIgnoredDomain:{message:"Schrap domein"},settingsDictionaryHeadline:{message:"Persoonlijke woordenlijst"},settingsDomainInvalid:{message:"Voeg een geldig nieuw domein toe."},settingsEmptyAutoCheckDomains:{message:"De automatische controle van websites is nog nergens ingeschakeld."},settingsEmptyDictionary:{message:"Uw persoonlijke woordenlijst is momenteel leeg"},settingsEmptyDomainList:{message:"Er zijn nog geen uitgeschakelde domeinen"},settingsEmptyIgnoredDomains:{message:"Automatische controle is nog voor geen enkele site uitgezet."},settingsEmptyIgnoredRules:{message:"U heeft nog geen regels uitgeschakeld. U kunt regels uitschakelen zodra ze in een tekst verschijnen."},settingsEnableAllRules:{message:"Schakel alles in"},settingsEnableDomain:{message:"Schakel domein in"},settingsExperimentalSuccess:{message:"Je instellingen zijn opgeslagen."},settingsForgotPasswordLink:{message:"Wachtwoord vergeten?"},settingsHeadline:{message:"Instellingen"},settingsLanguageVariantsDescription:{message:"Om u altijd van de beste suggesties te voorzien, verzoeken wij u ons te laten weten welke taalvariant u spreekt."},settingsLanguageVariantsHeadline:{message:"Taalvarianten"},settingsLoggedInAs:{message:"U bent ingelogd als $email$",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Log in"},settingsLoginError:{message:"Het inloggen is mislukt. Controleer uw e-mailadres en wachtwoord."},settingsLoginSuccess:{message:"Je bent nu ingelogd"},settingsLogoutButton:{message:"Log uit"},settingsLogoutSuccess:{message:"Je bent uitgelogd"},settingsManageAccountButton:{message:"Accountbeheer"},settingsPasswordPlaceholder:{message:"Wachtwoord"},settingsPreferredLanguagesCompleteList:{message:"Alle talen"},settingsPreferredLanguagesDescription:{message:"Stel de talen in die u gewoonlijk gebruikt om teksten te schrijven. Dit helpt LanguageTool bij het automatisch detecteren van de juiste taal."},settingsPreferredLanguagesHeadline:{message:"Voorkeurstalen"},settingsPreferredLanguagesPopularList:{message:"Populaire talen"},settingsPremiumButton:{message:"Ontdek LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Alle <strong>functies van premium</strong> zijn geactiveerd."},settingsPremiumHeadline:{message:"Verbeter je schrijfstijl"},settingsPremiumText:{message:"Vind nog meer grammatica- stijl- en interpunctiefouten en controleer teksten tot wel 150.000 tekens."},settingsServerUrlDisabled:{message:"U kunt alleen een aangepaste server-URL instellen wanneer u uitgelogd bent van uw LanguageTool-account."},settingsUnknownError:{message:"Er is een onverwachte fout opgetreden!"},siteDisabledPerGroupPolicy:{message:"Tekstcontrole is uitgeschakeld op deze website door een Group Policy."},siteTemporarilyUnsupported:{message:"Sorry, LanguageTool heeft de ondersteuning voor deze website tijdelijk uitgeschakeld. We werken momenteel hard aan het oplossen van het probleem, en hopen dit binnen enkele dagen voor elkaar te hebben."},sk:{message:"Slowaaks"},skip:{message:"Overslaan"},sl:{message:"Sloveens"},spellingError:{message:"Spelfout"},sr:{message:"Servisch"},sr_BA:{message:"Servisch (Bosnië)"},sr_HR:{message:"Servisch (Kroatië)"},sr_ME:{message:"Servisch (Montenegro)"},sr_RS:{message:"Servisch (Servië)"},statusIconEnableLT:{message:"Schakel LanguageTool in - Spelling- en Grammaticacontrole"},statusIconError:{message:"Fout"},statusIconMoreErrors:{message:"Resultaat is incompleet; controle is gestopt vanwege te veel meldingen."},statusIconPermissionRequired:{message:"Het controleren van deze tekst is (nog) niet mogelijk; ga eerst akkoord met ons privacybeleid"},statusIconReload:{message:"De extensie is geüpdatet. Ververs s.v.p. de pagina om de controles in te schakelen."},statusIconToolTip:{message:"LanguageTool—Spelling- en Grammaticacontrole"},suggestionError:{message:"Stijl"},suggestionOnlyVisibleToPremiumButton:{message:"Toegang tot alle voordelen van Premium"},suggestionOnlyVisibleToPremiumText:{message:"Deze suggestie is alleen zichtbaar voor gebruikers van LanguageTool Premium. Upgrade naar Premium om suggesties zoals deze te ontvangen en meer uit LanguageTool te halen."},sv:{message:"Zweeds"},switchToAmericanEnglish:{message:"Schakel naar Amerikaans-Engels"},switchToAustralianEnglish:{message:"Schakel naar Australisch-Engels"},switchToBritishEnglish:{message:"Schakel naar Brits-Engels"},switchToCanadianEnglish:{message:"Schakel naar Canadees-Engels"},switchToNewZealandEnglish:{message:"Schakel naar Nieuw-Zeelands-Engels"},switchToSouthAfricanEnglish:{message:"Schakel naar Zuid-Afrikaans-Engels"},synonymsCardGeneralError:{message:"Er ging iets fout bij het ophalen van de synoniemen"},synonymsCardHeadline:{message:"Synoniemen"},synonymsCardLanguageNotSupported:{message:"Synoniemen zijn nog niet beschikbaar in deze taal."},synonymsCardLess:{message:"minder zien"},synonymsCardLoadMoreAlternatives:{message:"meer alternatieven laden"},synonymsCardLoading:{message:"Ophalen …"},synonymsCardMore:{message:"meer"},synonymsCardNoSynonymsAvailable:{message:"Geen synoniemen voor dit woord"},synonymsCardProvidedBy:{message:"Geleverd door <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Zin"},synonymsCardTabWord:{message:"Woord"},synonymsCardTooltipReadText:{message:"Spreek woord uit"},synonymsTutorialHeadline:{message:"Hoe kan ik synoniemen bekijken"},synonymsTutorialText:{message:"Haal synoniemen op door op een woord te dubbelklikken. Werkt in elk tekstveld waar LanguageTool actief is."},ta:{message:"Tamil"},textTooLong:{message:"Sorry, deze tekst is te lang om te controleren."},timeoutError:{message:"Time-out van de server – probeer het later nog een keer ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Filipijns"},tooManyErrors:{message:"Deze tekst bevat veel aandachtspunten. Is de goede taal wel gekozen?"},tooManyRequests:{message:"U heeft teveel aanvragen gedaan. LanguageTool zou het over één minuut weer moeten doen, even geduld alstublieft."},toolbarDisableMenuDisableChecking:{message:"Uitschakelen voor deze website"},toolbarDisableMenuPauseChecking:{message:"Tijdelijk uitschakelen"},toolbarTooltipDisableChecking:{message:"Controle uitschakelen"},toolbarTooltipRephrasing:{message:"Toon van de zin veranderen"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Het herformuleren van zinnen is helaas nog niet mogelijk in deze taal."},tr:{message:"Turks"},tryAgain:{message:"Probeer het nog eens"},turnOffPickyMode:{message:"Schakel de 'Puntjes op de i' modus uit voor deze tekst"},turnOffRule:{message:"Schakel regel volledig uit"},turnOffRulePicky:{message:"Grammaticale suggesties kunnen niet worden uitgeschakeld in de 'Puntjes op de I' instelling"},turnOnHint:{message:"Je kunt de extensie hier weer activeren"},uk:{message:"Oekraïens"},unknownError:{message:"Sorry, er ging iets mis bij het controleren van de tekst. Afsluiten en opnieuw starten van uw browser kan helpen."},upgradeTeaserDiscount:{message:"Bespaar $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Tijdelijk aanbod"},username:{message:"E-mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ opmerkingen",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Een opmerking"},validatorHasMistakesText:{message:"Klik op de gemarkeerde woorden om ze te corrigeren."},validatorHasPremiumErrorsButton:{message:"Meer info"},validatorHasPremiumErrorsHeadlinePlural:{message:"De tekst bevat $count$ aandachtspunten die door de Premium-versie worden gevonden",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"De tekst bevat een aandachtspunt dat door de Premium-versie wordt gevonden"},validatorHasPremiumErrorsText:{message:"Kies voor LanguageTool Premium om nog meer grammatica-, interpunctie- en stijlfouten te vinden"},validatorLoadingHint:{message:"Controleert tekst…"},validatorNoMistakesHeadline:{message:"Gefeliciteerd, geen opmerkingen."},validatorNoTextStatus:{message:"Typ of plak hier uw tekst om deze te controleren"},validatorPlaceholder:{message:"Plak of typ hier je tekst …"},validatorPremiumButton:{message:"Waardeer op"},validatorPremiumHeadline:{message:"Vind meer aandachtspunten en schrijf nog beter"},validatorPremiumReason1:{message:"Geavanceerdere controle op grammatica, interpunctie en schrijfstijl"},validatorPremiumReason2:{message:"Controleer meer tekst (tot 150.000 tekens)"},validatorPremiumReason3:{message:"Automatische herkenning van foutief ingevoerde nummers (bijv. IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Plug-in voor Microsoft Office"},validatorTextTooLongStatus:{message:"Sorry, deze tekst is te lang om te controleren."},variantCaDesc:{message:"Ga uit van deze variatie van Catalaans:"},variantDeDesc:{message:"Ga uit van deze variatie van Duits:"},variantEnDesc:{message:"Ga uit van deze variatie van Engels:"},variantPtDesc:{message:"Ga uit van deze variatie van Portugees:"},webstoreSiteNotSupported:{message:"Excuses, LanguageTool werkt niet op de Chrome Web Store. Maar verder werkt het overal (zoals bijv. op Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Chinees"}},de:{accessDeniedError2:{message:"Der Server hat einen „Zugriff-verweigert-Fehler“ gesendet – bitte prüfen Sie Ihre E-Mail und Ihr Passwort in den Einstellungen"},addLanguage:{message:"Sprache hinzufügen"},addToDictionaryCaption:{message:"„$word$“ zum Wörterbuch hinzufügen",placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Annehmen"},appDesc:{message:"Rechtschreibung prüfen oder Texte umformulieren. Ganz einfach und kostenlos. Funktioniert überall im Web."},appDescThunderbird:{message:"E-Mails auf Grammatik- und Rechtschreibfehler prüfen"},appName:{message:"Grammatik- und Rechtschreibprüfung – LanguageTool"},ar:{message:"Arabisch"},ast:{message:"Asturisch"},attachScreenshot:{message:"Bildschirmfoto der aktuellen Seite anhängen (hilft uns, Probleme zu verstehen und zu lösen)"},autoCheckDesc:{message:"Automatische Prüfung für alle Domains aktivieren"},autoCheckOnDomainsDesc:{message:"Auf diesen Domains automatisch prüfen:"},be:{message:"Belarussisch"},br:{message:"Bretonisch"},ca:{message:"Katalanisch"},ca_ES_valencia:{message:"Katalanisch (Valencianisch)"},cardContentShowAll:{message:"Alles anzeigen"},cardContentShowSubset:{message:"Weniger anzeigen"},cardSelectorLabelChecker:{message:"Korrigieren"},cardSelectorLabelParaphraser:{message:"Umformulieren"},changelogDiscountExpires:{message:"Angebot läuft ab in"},changelogTitle:{message:"Neue LanguageTool-Funktionen"},close:{message:"Schließen"},cloudServer:{message:"Cloud-Server (languagetool.org)"},confirm:{message:"Okay, verstanden"},connectionProblem:{message:"Verbindung zu $serverUrl$ fehlgeschlagen – bitte prüfen Sie Ihre Internetverbindung oder versuchen Sie es in einer Minute erneut",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Rechtschreibung und Grammatik prüfen …"},contextMenuValidateInEditor:{message:"Text im Editor prüfen"},continue:{message:"Weiter"},correctAllQuotes:{message:"Alle Anführungszeichen korrigieren"},customSuggestionError:{message:"Styleguide"},da:{message:"Dänisch"},da_DK:{message:"Dänisch (Dänemark)"},de:{message:"Deutsch"},de_AT:{message:"Deutsch (Österreich)"},de_CH:{message:"Deutsch (Schweiz)"},de_DE:{message:"Deutsch (Deutschland)"},de_DE_x_simple_language:{message:"Deutsch (Leichte Sprache)"},defaultServerLink:{message:"auf Standardwert zurücksetzen"},deleteWord:{message:"Entfernen"},desktopAppAction:{message:"Jetzt kostenlos herunterladen"},desktopAppHeadlineMac:{message:"Prüfen Sie Texte in Ihren Lieblings-Apps"},desktopAppHeadlineWindows:{message:"Prüfen Sie Texte in Ihren Lieblings-Apps"},desktopAppTextMac:{message:"LanguageTool für Mac korrigiert Ihre Texte direkt in Apple Mail, Pages, Word, Slack und vielen weiteren Anwendungen."},desktopAppTextWindows:{message:"LanguageTool für Windows korrigiert Ihre Texte direkt in Outlook, Word und vielen weiteren Anwendungen."},dialogAllLanguages:{message:"Alle Sprachen:"},dialogCounterCharactersOption:{message:"Zeichen"},dialogCounterCharactersPlural:{message:"$number$ Zeichen",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 Zeichen"},dialogCounterSentencesOption:{message:"Sätze"},dialogCounterSentencesPlural:{message:"$number$ Sätze",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 Satz"},dialogCounterWordsOption:{message:"Wörter"},dialogCounterWordsPlural:{message:"$number$ Wörter",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 Wort"},dialogDisableMenuDisableChecking:{message:"Auf dieser Website deaktivieren"},dialogDisableMenuPauseChecking:{message:"Nur bis zum nächsten Besuch deaktivieren"},dialogEnableInDialogHeadline:{message:"Add-on ist deaktiviert"},dialogEnableInDialogText:{message:"Hier klicken, um Prüfung zu aktivieren."},dialogFailStateHeadline:{message:"Ups …"},dialogFailStateText:{message:"Irgendwas ist schiefgegangen. Bitte probieren Sie es erneut."},dialogMainMenuPickyMode:{message:"Akribischer Modus"},dialogMainMenuPickyModeInfo:{message:"Aktivieren Sie den akribischen Modus, um Ihren Text zu perfektionieren."},dialogMainMenuPremiumMistake:{message:"Premium-Vorschläge"},dialogMainMenuRegularMistake:{message:"Vorschläge"},dialogMainMenuTextScore:{message:"Punktzahl"},dialogNeedsLanguageHintHeadline:{message:"Die Sprache konnte nicht erkannt werden"},dialogNeedsLanguageHintIgnore:{message:"Ignorieren"},dialogNeedsLanguageHintText:{message:"Die Sprache des Textes konnte nicht ermittelt werden. Helfen Sie LanguageTool, indem Sie die Sprache oben auswählen. Oder schreiben Sie einfach weiter."},dialogPositionMenuDefault:{message:"Normal"},dialogPositionMenuLeft:{message:"Links"},dialogPositionMenuRight:{message:"Rechts"},dialogPremiumButton:{message:"Mehr erfahren"},dialogPremiumHeadlinePlural:{message:"$count$ weitere mögliche Fehler gefunden",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"1 weiterer möglicher Fehler gefunden"},dialogPremiumText:{message:"Mit LanguageTool Premium bekommen Sie erweiterte Verbesserungsvorschläge zu Stil-, Grammatik- und Zeichensetzungsfehlern"},dialogRecommendedLanguages:{message:"Empfohlen für Sie:"},dialogScrollHintHeadline:{message:"Verbesserungsvorschläge"},dialogScrollHintText:{message:"Scrollen Sie durch das Dokument, um mehr Verbesserungsvorschläge zu sehen."},dialogScrollToLink:{message:"Im Text anzeigen"},dialogSelectLanguageLabel:{message:"Sprache wählen"},dialogTextTooLongButton:{message:"Mehr erfahren"},dialogTextTooLongHeadline:{message:"Dieser Text ist etwas zu lang"},dialogTextTooLongText:{message:"Wechseln Sie auf die Premiumversion, um erweiterte Vorschläge und Fehlermeldungen auch für lange Texte zu bekommen."},dialogTextTooShortHeadline:{message:"Text ist zu kurz"},dialogTextTooShortText:{message:"Bitte mindestens 5 Zeichen eingeben, um die Prüfung zu starten"},dialogTooltipDisableChecking:{message:"Prüfung deaktivieren"},dialogTooltipHelp:{message:"Hilfe"},dialogTooltipHelpCenter:{message:"Zum Hilfe-Portal"},dialogTooltipPosition:{message:"Dialog-Position"},dialogTooltipSaveText:{message:"Text speichern"},dialogTooltipSendFeedback:{message:"Feedback senden"},dialogTooltipSettings:{message:"Einstellungen"},dialogTooltipUserStatistics:{message:"Statistiken"},dialogUnsupportedLanguageHeadline:{message:"Diese Sprache wird nicht unterstützt"},dialogUnsupportedLanguageLabel:{message:"Nicht-unterstützte Sprache"},dialogUnsupportedLanguageText:{message:"LanguageTool unterstützt über 30 Sprachen (z. B. Englisch, Deutsch, Spanisch, Französisch, Portugiesisch, Niederländisch und Russisch)"},dismissSuggestions:{message:"Ignorieren"},domainsDesc:{message:"Prüfung auf bestimmten Websites deaktivieren"},edgeWebstoreSiteNotSupported:{message:"Es tut uns leid, aber Edge verhindert, dass Extensions auf der Seite des Edge Add-on Stores funktionieren. Diese Extension funktioniert aber auf fast allen anderen Seiten (z. B. Facebook, Gmail, Twitter, LinkedIn)"},editorCardNextIssue:{message:"Nächster Hinweis"},editorCardNextSentence:{message:"Nächster Satz"},el:{message:"Griechisch"},en:{message:"Englisch"},en_AU:{message:"Englisch (Australien)"},en_CA:{message:"Englisch (Kanada)"},en_GB:{message:"Englisch (Großbritannien)"},en_NZ:{message:"Englisch (Neuseeland)"},en_US:{message:"Englisch (US)"},en_ZA:{message:"Englisch (Südafrika)"},enableEverywhereButton:{message:"Für alle Textfelder aktivieren"},enableHereButton:{message:"Nur für dieses Textfeld aktivieren"},enableInDialog:{message:"Klicken, um Grammatik- und<br>Rechtschreibprüfung zu aktivieren"},enableRuleTooltip:{message:"Klicken, um Regel wieder zu aktivieren"},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Super, keine Fehler gefunden!"},errorCardAllDoneDescription:{message:"Sie können stolz auf sich sein!"},errorCardHiddenMatchButton:{message:"Alles anzeigen"},errorCardHiddenMatchCaption:{message:"Ein Vorgeschmack auf Premium"},errorCardKeyboardInstructions:{message:"Auswählen mit $enter$ oder $shiftEnter$ um weiterzuspringen",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ weitere versteckte Fehler gefunden",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Ein weiterer versteckter Fehler gefunden"},errorCardPremiumTeaserCta:{message:"Alle versteckten Fehler freischalten"},errorCardPremiumTeaserGrammarSuggestions:{message:"Versteckte <lt-em>Grammatik<lt-em>-Fehler"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Versteckte <lt-em>Interpunktions<lt-em>-Fehler"},errorCardPremiumTeaserReadMore:{message:"Mehr erfahren"},errorCardPremiumTeaserStyleSuggestions:{message:"Versteckte <lt-em>Stil<lt-em>-Fehler"},errorCardPremiumTeaserText:{message:"Der Text hat weitere Fehler, die nur LanguageTool Premium finden kann."},errorCardTurnOffPickyModeButton:{message:"Hier ausschalten"},errorCardTurnOffPickyModeCaption:{message:"Vorschläge des akribischen Modus"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ Wörter wurden ignoriert",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"1 Wort wurde ignoriert"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ Regeln wurden ignoriert",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"1 Regel wurde ignoriert"},es:{message:"Spanisch"},eu:{message:"Baskisch"},experimentalLink:{message:"Experimentelle Einstellungen (nur für Profis)"},extensionUpdatedHeadline:{message:"Diese Erweiterung wurde aktualisiert"},extensionUpdatedText:{message:"Bitte klicken Sie auf das Symbol $iconHtml$ in der Browser-Toolbar oder laden Sie die Seite neu, um die Grammatik- und Rechtschreibprüfung wieder zu aktivieren.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Persisch"},feedbackButton:{message:"Feedback an LanguageTool senden"},feedbackDirectMail:{message:"Wenn Sie uns einen Screenshot senden wollen, tun Sie das bitte per E-Mail an $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Leider konnten wir Ihr Feedback nicht senden. Bitte versuchen Sie es später nochmal."},feedbackHeadline:{message:"Senden Sie uns Ihr Feedback"},feedbackPrivacyPolicy:{message:"Datenschutzerklärung"},feedbackSenderPlaceholder:{message:"Geben Sie Ihre E-Mail-Adresse ein"},feedbackSuccess:{message:"Vielen Dank für Ihr Feedback."},feedbackTextPlaceholder:{message:"Ihr Feedback …"},fixSentenceCardHeadlineApply:{message:"Ganzen Satz korrigieren"},fixSentenceCardHeadlineLoading:{message:"Korrekturen werden geladen …"},fixSentenceCardHeadlineMissing:{message:"Es gibt leider keine Vorschläge"},forcePreferredLanguagesOptionLabel:{message:"Immer nur diese Sprachen für die automatische Erkennung verwenden"},fr:{message:"Französisch"},ga:{message:"Irisch"},generalSettingsHeadline:{message:"Allgemeine Einstellungen"},gl:{message:"Galicisch"},googleDocsDisableButton:{message:"LanguageTool in diesem Dokument deaktivieren"},googleDocsEnableButton:{message:"LanguageTool aktivieren"},googleDocsEnableHint:{message:"Sie können die Grammatik- und Stilprüfung von LanguageTool jederzeit hier wieder aktivieren"},googleDocsNewTeaserHeadline:{message:"LanguageTool unterstützt Google Docs"},googleDocsNewTeaserText:{message:"Pro Seite können Sie nun sehen, welche Fehler LanguageTool gefunden hat."},googleDocsPagelessModeUnsupported:{message:"Der neue „seitenlose“ Modus (pageless mode) von Google Docs wird bislang nicht unterstützt. Wir arbeiten aber bereits daran."},googleSlidesDisableButton:{message:"LanguageTool in dieser Präsentation deaktivieren"},googleSlidesEnableButton:{message:"LanguageTool aktivieren"},googleSlidesEnableHint:{message:"Hier können Sie die Grammatik- und Stilprüfung von LanguageTool wieder aktivieren"},googleSlidesNewTeaserHeadline:{message:"LanguageTool unterstützt jetzt Google Slides"},googleSlidesNewTeaserText:{message:"Pro Slide können Sie nun sehen, welche Fehler LanguageTool gefunden hat."},grammarError:{message:"Grammatik"},haveAccountDesc:{message:"Erstellen Sie einen kostenlosen Account auf"},historicPremiumErrorsButton:{message:"Mehr erfahren"},historicPremiumErrorsHeadline:{message:"Wussten Sie schon?"},historicPremiumErrorsText:{message:"Mit LanguageTool Premium hätten Sie in den letzten Tagen <strong>$count$ mögliche Grammatik- & Stilprobleme</strong> vermeiden können.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ Grammatik- und Stilprobleme</strong> hätten Sie in den letzten Tagen vermeiden können mit LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Auf diesen Domains nicht automatisch prüfen:"},ignoreHere:{message:"In diesem Text ignorieren"},ignoredRules:{message:"Diese Regeln wurden deaktiviert und können durch Klick wieder aktiviert werden:"},ignoredRulesDesc:{message:"Deaktivierte Regeln"},incompleteResult:{message:"Ergebnisse sind unvollständig: Die Prüfung wurde wegen zu vieler Fehler abgebrochen."},invalidUsernameOrPassword:{message:"Fehler: Bitte prüfen Sie Ihre E-Mail und Ihr Passwort in den Einstellungen"},is:{message:"Isländisch"},it:{message:"Italienisch"},ja:{message:"Japanisch"},km:{message:"Khmer"},language:{message:"Sprache:"},languageOptionsLink:{message:"Spracheinstellungen"},languagetoolNotSupported:{message:"Die Erweiterung funktioniert auf dieser Website nicht, da die Website die gleiche Funktionalität selber zur Verfügung stellt"},localServer:{message:"Lokaler Server (localhost) – benötigt einen lokalen LanguageTool-Server"},localServerDocs:{message:"Dokumentation"},lt:{message:"Litauisch"},managedLoginButton1:{message:"Einloggen"},managedLoginButton2:{message:"Einloggen mit Ihrem Firmenzugang"},managedLoginDescription:{message:"Bitte loggen Sie sich mit Ihrem Firmenzugang ein, um LanguageTool zu nutzen."},managedLoginHeadline:{message:"Einloggen"},messagePopupTurnOnPrimaryButton:{message:"Okay, verstanden!"},messagePopupTurnOnSecondaryButton:{message:"Prüfung wieder aktivieren"},messagePopupTurnOnheadline:{message:"Rechtschreibprüfung ist auf dieser Seite deaktiviert"},messagePopupTurnOntext:{message:"Klicken Sie auf das »LT«-Symbol in der Browser-Toolbar und dann auf »Grammatik und Rechtschreibung prüfen«, um die Prüfung wieder zu aktivieren."},ml:{message:"Malayalam"},moreDetails:{message:"Mehr Details …"},motherTongueDesc:{message:"Muttersprache"},motherTongueExpl:{message:"Wählen Sie hier Ihre Muttersprache aus, um in fremdsprachigen Texten vor „Falschen Freunden“ gewarnt zu werden."},msOnlineOfficeNotSupported:{message:"Leider unterstützt diese Erweiterung Microsoft Word Online nicht – installieren Sie stattdessen einfach <a target='_blank' href='$url$'>diese Erweiterung</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Niederländisch"},no:{message:"Norwegisch"},noErrorsFound2:{message:"Super, keine Fehler gefunden!"},noErrorsFoundText:{message:"Sie können stolz auf sich sein!"},notificationUndoDescription:{message:"Rückgängig machen mit %{cmd}"},notificationUndoLabel:{message:"Umgeschriebener Satz"},onboardLanguageSelectorCta:{message:"Jetzt LanguageTool benutzen"},onboardLanguageSelectorDescription:{message:"Um Ihnen die besten Vorschläge machen zu können, müssen wir wissen, in welchen Sprachen Sie schreiben."},onboardLanguageSelectorHeading:{message:"Wählen Sie Ihre Sprachen"},onboardingHeadline:{message:"LanguageTool hilft Ihnen jetzt beim Schreiben"},onboardingIntro:{message:"In fast allen Textfeldern wird Ihr Text jetzt beim Tippen von LanguageTool geprüft."},onboardingIntroThunderbird:{message:"Ab jetzt werden Ihre E-Mails geprüft, während Sie schreiben."},onboardingNote1:{message:"Laden Sie <strong>bereits geöffnete Seiten neu</strong>, um LanguageTool dort zu aktivieren"},onboardingNote2:{message:"Diese Erweiterung funktioniert nicht im <strong>Chrome Web Store</strong> und auf <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Um diese Erweiterung für eine Website zu deaktivieren, klicken Sie auf das <strong>LT-Logo in der Toolbar des Browsers</strong>"},onboardingNote4:{message:"<strong>Synonyme von OpenThesaurus</strong> können durch Doppelklick auf ein Wort innerhalb eines Textfeldes (z. B. in Gmail, Facebook oder Google Docs) abgerufen werden"},onboardingNoteThunderbird1:{message:"Erstellen Sie eine neue E-Mail, um die Erweiterung zu aktivieren."},onboardingNoteThunderbird2:{message:"Um die Erweiterung zu deaktivieren, klicken Sie im E-Mail-Fenster auf das LT-Symbol oben rechts."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Strg"},openCardHotkeyDesc:{message:"Tastaturkürzel"},openCardHotkeyExpl:{message:"Drücken Sie diese Taste <strong>zweimal kurz hintereinander</strong>, wenn der blinkende Cursor innerhalb eines unterstrichenen Wortes steht. Das funktioniert übrigens auch, um Umformulierungen zu erhalten, wenn der Cursor in einem beliebigen Wort ist."},openCardHotkeyOff:{message:"Deaktiviert"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Sonstiger Server – benötigt dort einen LanguageTool-Server"},overleafNewTeaserHeadline:{message:"LanguageTool unterstützt Overleaf"},overleafNewTeaserText:{message:"Scrollen Sie durch das Dokument, um alle Rechtschreib-, Grammatik- und Stilfehler zu sehen."},oxfordSpellingOptionLabel:{message:"Oxford-Rechtschreibung bevorzugen"},password:{message:"Passwort:"},personalDictionaryMultipleWordError:{message:"Sie müssen einen LanguageTool-Account haben, um Vorschläge für mehrere Wörter zu erhalten"},phrasesCardCaption:{message:"Variationen"},phrasesCardConfirmationButton:{message:"Akzeptieren"},phrasesCardConfirmationHeading:{message:"Sätze mit künstlicher Intelligenz umformulieren"},phrasesCardConfirmationText:{message:"Brauchen Sie einen kürzeren, flüssigeren oder formaleren Text? LanguageTool kann Ihnen hierbei helfen. Bitte beachten Sie unsere <a target='_blank' href='$privacyUrl$' rel='noopener'>Datenschutzbestimmungen</a>.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Alle Vorschläge"},phrasesCardGeneralError:{message:"Beim Laden der Alternativen ist ein Fehler aufgetreten"},phrasesCardHeadline:{message:"KI-generierte Alternativen"},phrasesCardLabelFluency:{message:"Flüssig"},phrasesCardLabelFormality:{message:"Formell"},phrasesCardLabelGeneral:{message:"Umformuliert"},phrasesCardLabelParaphrase:{message:"Flüssig"},phrasesCardLabelShortened:{message:"Prägnant"},phrasesCardLabelSimplicity:{message:"Einfach"},phrasesCardNoResult:{message:"Leider konnten für den ausgewählten Satz keine Umformulierungen generiert werden."},phrasesCardNoSentence:{message:"Es konnte kein Satz erkannt werden."},phrasesCardNotSupportedHeading:{message:"Aktuell (noch) nicht verfügbar"},phrasesCardNotSupportedText:{message:"Das Umformulieren von Sätzen wird derzeit nur in einigen Sprachen wie Englisch, Deutsch oder Spanisch unterstützt. Wir arbeiten <strong>bereits</strong> daran, es auch für andere Sprachen verfügbar zu machen."},phrasesCardRephrasingLimitPlural:{message:"Heute noch für <strong>$count$</strong> Sätze verfügbar",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Heute noch für <strong>einen</strong> Satz verfügbar"},phrasesCardRephrasingLimitUnlock:{message:"Jetzt upgraden!"},phrasesCardSentencePrefix:{message:"Original"},phrasesCardTimeoutError:{message:"Keine Antwort vom Server."},pl:{message:"Polnisch"},popupGeneralSettingsHeadline:{message:"Allgemeine Einstellungen"},popupGlobalSettingsHeadline:{message:"Globale Einstellungen"},popupGlobalSettingsHeadlineInfo:{message:"Alle Webseiten"},popupOnboardingHeadline:{message:"Willkommen! So können Sie LanguageTool jetzt nutzen:"},popupOnboardingStep1:{message:"Klicken Sie in ein mehrzeiliges Textfeld (z. B. auf Gmail, Facebook …)"},popupOnboardingStep2:{message:"In der unteren rechten Ecke erscheint ein Icon wie $icon1Html$ oder $icon2Html$",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Tippen Sie Ihren Text. Mögliche Fehler werden <u>unterstrichen</u>"},popupOnboardingStep4:{message:"Klicken Sie auf die unterstrichenen Wörter, um Verbesserungsvorschläge zu sehen"},popupOpenEditorButton:{message:"Editor öffnen"},popupOptionCaseText:{message:"Groß- und Kleinschreibung prüfen"},popupOptionCheckText:{message:"LanguageTool aktivieren"},popupOptionContextMenu:{message:"Im Rechtsklick-Menü anzeigen"},popupOptionContextMenuDescription:{message:"Einfach Text auf einer beliebigen Website markieren, dann mit der rechten Maustaste darauf klicken und den Text auf Rechtschreibfehler prüfen."},popupOptionPickyMode:{message:"Akribischer Modus"},popupOptionPickyModeDescription:{message:"Für perfekten Stil und makellose Typografie"},popupOptionRephrasing:{message:"Umformulierungsfunktion"},popupOptionRephrasingDescription:{message:"Schreiben Sie ganze Sätze um, mithilfe von künstlicher Intelligenz. Fahren Sie dazu einfach mit der Maus über das LanguageTool-Symbol rechts unten am Textfeld und klicken auf den Umformulierungsbutton."},popupOptionSynonyms:{message:"Doppelklick aktivieren"},popupOptionSynonymsDescription:{message:"Klicken Sie doppelt auf ein Wort in einem Textfeld, um Synonyme oder ganze Umformulierungen anzuzeigen"},popupOptionValidate:{message:"Markierten Text prüfen"},popupOptionValidateInEditor:{message:"Markierten Text im Editor prüfen"},popupPremiumHeadline:{message:"Ein noch besserer Schreiber werden"},popupPremiumLink:{message:"Mehr erfahren"},popupPremiumText:{message:"Mit der Premium-Version finden Sie nicht nur mehr Grammatik- und Zeichensetzungsfehler, sondern auch viele stilistische Probleme."},popupSettingsHeadline:{message:"Einstellungen für diese Webseite"},popupSettingsHeadlineInfo:{message:"Aktuelle Webseite"},popupSettingsHover:{message:"Erweiterte Einstellungen"},popupUserStatisticsHover:{message:"Individuelle Statistiken anzeigen"},poweredBy:{message:"Powered by <b>LanguageTool</b>"},premiumErrorsButton:{message:"Mehr Informationen"},premiumErrorsTextPlural:{message:"Es gibt <strong>$count$ weitere mögliche Fehler</strong> in Ihrem Text.",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Es gibt <strong>einen weiteren möglichen Fehler</strong> in Ihrem Text."},privacyHeadline:{message:"Willkommen bei LanguageTool"},privacyLinkForDefaultServer:{message:"Mehr Informationen in unseren <a href='$privacyUrl$' target='_blank'>Datenschutzrichtlinien</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Die Prüfung <strong>kann jederzeit abgestellt werden</strong>"},privacyListUnsaved:{message:"<strong>Ihr Text wird nicht gespeichert</strong>"},privacyNoteForDefaultServer:{message:"Diese Erweiterung wird Ihre Texte prüfen, indem sie sie verschlüsselt an <a href='$serverUrl$' target='_blank'>$serverHost$</a> überträgt.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Diese Erweiterung wird Ihre Texte prüfen, indem sie sie an $serverUrl$ überträgt. Um den Standardserver zu benutzen, stellen Sie ihn bitte in der Konfiguration dieser Erweiterung ein.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Ihr Schreibassistent"},privacyPolicy:{message:"Datenschutzerklärung"},pt:{message:"Portugiesisch"},pt_AO:{message:"Portugiesisch (Angola, vor Reform)"},pt_BR:{message:"Portugiesisch (Brasilien, nach Reform)"},pt_CV:{message:"Portugiesisch (Kap Verde)"},pt_MZ:{message:"Portugiesisch (Mosambik, vor Reform)"},pt_PT:{message:"Portugiesisch (Portugal, nach Reform)"},pt_PT_post_reform:{message:"Portugiesisch (Portugal, nach Reform)"},pt_PT_pre_reform:{message:"Portugiesisch (Portugal, vor Reform)"},punctuationError:{message:"Zeichensetzung"},ratingHeadline:{message:"Gefällt Ihnen LanguageTool?"},ratingText:{message:"Geben Sie uns Feedback"},ratingThankYou:{message:"Danke!"},ratingUnhappyQuestion:{message:"Sagen Sie uns, warum Sie unzufrieden sind"},removeExtraWhitespace:{message:"Doppeltes Leerzeichen entfernen"},rephrasingTeaserCaption:{message:"Sie benötigen jetzt mehr Umformulierungen?"},rephrasingTeaserCountdownSuffix:{message:"$count$ weitere Umformulierungen",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Morgen gibt’s mehr"},rephrasingTeaserCta:{message:"Alle Premium-Vorteile freischalten"},rephrasingTeaserDescription:{message:"Profitieren Sie von den Vorteilen unbegrenzter Umformulierungen und weiterer Funktionen:"},rephrasingTeaserListItem1:{message:"<strong>Prüfen von bis zu $count$</strong> Zeichen pro Text",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Erweiterte Stilvorschläge</strong> für überzeugendere und ansprechendere Texte"},rephrasingTeaserListItem3:{message:"<strong>Unbegrenzt verfügbare Umformulierungen</strong>, um Ihre Texte noch individueller zu gestalten"},replaceWithWhitespace:{message:"Mit Leerzeichen ersetzen"},reportAnIssue:{message:"Feedback geben"},reviewChromeHeadline:{message:"Möchten Sie LanguageTool im Google Chrome Store bewerten?"},reviewEdgeHeadline:{message:"Würden Sie uns eine Bewertung im Microsoft Edge Store schreiben?"},reviewFirefoxHeadline:{message:"Möchten Sie LanguageTool bewerten?"},reviewLink:{message:"Bewerten"},reviewOperaHeadline:{message:"Möchten Sie LanguageTool im Opera Add-on Store bewerten?"},reviewSafariHeadline:{message:"Möchten Sie LanguageTool im App Store bewerten?"},ro:{message:"Rumänisch"},ru:{message:"Russisch"},save:{message:"Speichern"},sendFeedback:{message:"Feedback senden"},sentenceSplittingCardApplyButtonLabel:{message:"Annehmen"},sentenceSplittingCardHeadlineApply:{message:"Vorschlag:"},sentenceSplittingCardHeadlineLoading:{message:"Der Satz wird geteilt …"},sentenceSplittingCardHeadlineMissing:{message:"Entschuldigung! Wir konnten keinen Vorschlag machen."},serverNotAvailable:{message:"Lokaler Server nicht verfügbar"},serverText:{message:"LanguageTool-Server:"},serverUrlIsInvalid:{message:"Diese URL ist nicht gültig"},settingsAccountBulletListEditor:{message:"Nutzen Sie den Editor als ablenkungsfreie Schreibumgebung"},settingsAccountBulletListSave:{message:"Speichern Sie Texte für später "},settingsAccountBulletListSync:{message:"Synchronisieren Sie Ihre Einstellungen und Ihr persönliches Wörterbuch über mehrere Browser und Geräte"},settingsAccountDescription:{message:"Melden Sie sich an und profitieren Sie von folgenden Vorteilen:"},settingsAccountHeadline:{message:"Account"},settingsAccountSubheadline:{message:"Melden Sie sich mit Ihrem LanguageTool-Account an"},settingsAddAutoCheckDomainHint:{message:"Diese Domain wurde noch nicht hinzugefügt. Drücken Sie »Zurück«, um sie hinzuzufügen."},settingsAddDomainHint:{message:"Diese Website wurde noch nicht hinzugefügt. Drücken Sie dazu »Enter«."},settingsAddIgnoredDomainHint:{message:"Diese Domain wurde noch nicht hinzugefügt. Drücken Sie »Zurück«, um sie hinzuzufügen."},settingsAddOrFilterAutoCheckDomains:{message:"Domain hinzufügen oder suchen …"},settingsAddOrFilterDomains:{message:"Domain hinzufügen oder suchen …"},settingsAddOrFilterIgnoredDomains:{message:"Domain hinzufügen oder suchen …"},settingsAddOrFilterWords:{message:"Wort hinzufügen oder suchen …"},settingsAddWordHint:{message:"Dieses Wort existiert noch nicht im Wörterbuch. Drücken Sie »Enter«, um es hinzuzufügen."},settingsAreYouSure:{message:"Sind Sie sich sicher?"},settingsCheckForPaidSubscriptionError:{message:"Der Status des Abonnements konnte nicht ermittelt werden."},settingsClearAll:{message:"Alle entfernen"},settingsCopyDictionary:{message:"In die Zwischenablage kopieren"},settingsCopyDictionarySuccessful:{message:"In Zwischenablage kopiert"},settingsDeleteAutoCheckDomain:{message:"Domain löschen"},settingsDeleteIgnoredDomain:{message:"Domain löschen"},settingsDictionaryHeadline:{message:"Persönliches Wörterbuch"},settingsDomainInvalid:{message:"Bitte eine korrekte Domain eingeben, die noch nicht hinzugefügt wurde."},settingsEmptyAutoCheckDomains:{message:"Sie haben noch auf keiner Website die automatische Prüfung aktiviert."},settingsEmptyDictionary:{message:"Ihr persönliches Wörterbuch ist aktuell leer"},settingsEmptyDomainList:{message:"Sie haben noch keine Domains deaktiviert"},settingsEmptyIgnoredDomains:{message:"Sie haben noch auf keiner Website die automatische Prüfung deaktiviert."},settingsEmptyIgnoredRules:{message:"Es sind noch keine Regeln deaktiviert. Sie können Regeln deaktivieren, sobald diese in einem Text auftauchen."},settingsEnableAllRules:{message:"Alle aktivieren"},settingsEnableDomain:{message:"Domain wieder aktivieren"},settingsExperimentalSuccess:{message:"Ihre Einstellungen wurden erfolgreich gespeichert."},settingsForgotPasswordLink:{message:"Passwort vergessen?"},settingsHeadline:{message:"Einstellungen"},settingsLanguageVariantsDescription:{message:"Damit wir Ihnen die besten Verbesserungsvorschläge machen können, wählen Sie bitte die bevorzugte Sprachvariante aus."},settingsLanguageVariantsHeadline:{message:"Sprachvarianten"},settingsLoggedInAs:{message:"Sie sind als $email$ eingeloggt.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Einloggen"},settingsLoginError:{message:"Sie konnten nicht eingeloggt werden. Bitte überprüfen Sie die E-Mail-Adresse und das Passwort."},settingsLoginSuccess:{message:"Sie sind nun eingeloggt"},settingsLogoutButton:{message:"Ausloggen"},settingsLogoutSuccess:{message:"Sie haben sich ausgeloggt"},settingsManageAccountButton:{message:"Account verwalten"},settingsPasswordPlaceholder:{message:"Passwort"},settingsPreferredLanguagesCompleteList:{message:"Alle Sprachen"},settingsPreferredLanguagesDescription:{message:"Wählen Sie die Sprachen, in denen Sie Texte schreiben, um die automatische Erkennung zu verbessern."},settingsPreferredLanguagesHeadline:{message:"Bevorzugte Sprachen"},settingsPreferredLanguagesPopularList:{message:"Verbreitete Sprachen"},settingsPremiumButton:{message:"Mehr über LanguageTool Premium erfahren"},settingsPremiumFeaturesActivated:{message:"Alle <strong>Premium-Funktionen</strong> sind aktiviert."},settingsPremiumHeadline:{message:"Verbessern Sie Ihre Kommunikation"},settingsPremiumText:{message:"Noch mehr peinliche Fehler (Stil, Grammatik, Kommasetzung) vermeiden und lange Texte mit bis zu 150.000 Zeichen überprüfen."},settingsServerUrlDisabled:{message:"Loggen Sie sich oben im Bereich „Account“ aus, um hier einen anderen Server einstellen zu können."},settingsUnknownError:{message:"Ein unerwarteter Fehler ist aufgetreten!"},siteDisabledPerGroupPolicy:{message:"Das Prüfen wurde auf dieser Website per Group-Policy deaktiviert."},siteTemporarilyUnsupported:{message:"LanguageTool wurde für diese Website wegen eines Problems temporär deaktiviert. Wir arbeiten bereits an der Lösung, die in den nächsten Tagen veröffentlicht wird."},sk:{message:"Slowakisch"},skip:{message:"Überspringen"},sl:{message:"Slowenisch"},spellingError:{message:"Rechtschreibung"},sr:{message:"Serbisch"},sr_BA:{message:"Serbisch (Bosnien)"},sr_HR:{message:"Serbisch (Kroatien)"},sr_ME:{message:"Serbisch (Montenegro)"},sr_RS:{message:"Serbisch (Serbien)"},statusIconEnableLT:{message:"LanguageTool – Grammatik- und Rechtschreibprüfung aktivieren"},statusIconError:{message:"Fehler"},statusIconMoreErrors:{message:"Ergebnisse sind unvollständig: Die Prüfung wurde wegen zu vieler Fehler abgebrochen."},statusIconPermissionRequired:{message:"Text kann nur geprüft werden, wenn Sie der Datenschutzerklärung zustimmen"},statusIconReload:{message:"Die Extension wurde gerade aktualisiert. Bitte Seite neu laden, um Grammatik- und Rechtschreibprüfung zu aktivieren."},statusIconToolTip:{message:"LanguageTool – Grammatik- und Rechtschreibprüfung"},suggestionError:{message:"Stil"},suggestionOnlyVisibleToPremiumButton:{message:"Alle Vorteile von Premium nutzen"},suggestionOnlyVisibleToPremiumText:{message:"Dies ist ein erweiterter Vorschlag, der nur in der Premium-Version von LanguageTool enthalten ist. Upgraden Sie auf Premium, um diesen und viele andere Vorschläge zu erhalten."},sv:{message:"Schwedisch"},switchToAmericanEnglish:{message:"Amerikanisches Englisch verwenden"},switchToAustralianEnglish:{message:"Australisches Englisch verwenden"},switchToBritishEnglish:{message:"Britisches Englisch verwenden"},switchToCanadianEnglish:{message:"Kanadisches Englisch verwenden"},switchToNewZealandEnglish:{message:"Neuseeländisches Englisch verwenden"},switchToSouthAfricanEnglish:{message:"Südafrikanisches Englisch verwenden"},synonymsCardGeneralError:{message:"Beim Laden der Synonyme ist ein Fehler aufgetreten"},synonymsCardHeadline:{message:"Synonyme"},synonymsCardLanguageNotSupported:{message:"Synonyme für diese Sprache werden noch nicht unterstützt."},synonymsCardLess:{message:"weniger"},synonymsCardLoadMoreAlternatives:{message:"Mehr Alternativen laden"},synonymsCardLoading:{message:"Lädt …"},synonymsCardMore:{message:"mehr"},synonymsCardNoSynonymsAvailable:{message:"Für dieses Wort sind keine Synonyme verfügbar"},synonymsCardProvidedBy:{message:"Provided by <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Satz"},synonymsCardTabWord:{message:"Wort"},synonymsCardTooltipReadText:{message:"Wort vorlesen"},synonymsTutorialHeadline:{message:"Wie man nach Synonymen sucht"},synonymsTutorialText:{message:"Finden Sie Synonyme für Wörter, auf die Sie doppelklicken. Funktioniert in jedem Textfeld, in dem LanguageTool auch sonst funktioniert."},ta:{message:"Tamil"},textTooLong:{message:"Tut uns leid, dieser Text ist leider etwas zu lang zum Prüfen."},timeoutError:{message:"Zeitüberschreitung – bitte versuchen Sie es später noch einmal ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tagalog"},tooManyErrors:{message:"Der Text scheint zu viele Fehler zu haben. Sind Sie sicher, dass die richtige Sprache ausgewählt ist?"},tooManyRequests:{message:"Das Limit an Anfragen wurde erreicht – bitte warten Sie eine Minute, LanguageTool sollte dann wieder zur Verfügung stehen."},toolbarDisableMenuDisableChecking:{message:"Auf dieser Website deaktivieren"},toolbarDisableMenuPauseChecking:{message:"Nur bis zum nächsten Besuch deaktivieren"},toolbarTooltipDisableChecking:{message:"Prüfung deaktivieren"},toolbarTooltipRephrasing:{message:"Satz umformulieren"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Derzeit sind keine Umformulierungen für diese Sprache verfügbar."},tr:{message:"Türkisch"},tryAgain:{message:"Nochmal versuchen"},turnOffPickyMode:{message:"Akribischen Modus in diesem Text deaktivieren"},turnOffRule:{message:"Diese Regel überall deaktivieren"},turnOffRulePicky:{message:"Im akribischen Modus können Grammatikvorschläge nicht deaktiviert werden"},turnOnHint:{message:"Hier können Sie die Erweiterung wieder aktivieren"},uk:{message:"Ukrainisch"},unknownError:{message:"Tut uns leid, beim Prüfen ist etwas schiefgelaufen. Vielleicht hilft ein Neuladen der Seite oder ein Neustarten des Browsers."},upgradeTeaserDiscount:{message:"$percent$% Rabatt",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Zeitlich begrenztes Angebot"},username:{message:"E-Mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ mögliche Fehler gefunden",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Ein möglicher Fehler gefunden"},validatorHasMistakesText:{message:"Klicken Sie auf die unterstrichenen Wörter, um sie zu korrigieren."},validatorHasPremiumErrorsButton:{message:"Mehr erfahren"},validatorHasPremiumErrorsHeadlinePlural:{message:"Die Premium-Version findet $count$ Fehler in Ihrem Text",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Die Premium-Version findet einen Fehler in Ihrem Text"},validatorHasPremiumErrorsText:{message:"Wechseln Sie auf LanguageTool Premium, um mehr Grammatik-, Stil- und Zeichensetzungsfehler zu finden."},validatorLoadingHint:{message:"Prüfe Text …"},validatorNoMistakesHeadline:{message:"Glückwunsch, es wurden keine Fehler gefunden!"},validatorNoTextStatus:{message:"Bitte Text eintippen oder einfügen"},validatorPlaceholder:{message:"Hier können Sie einen Text eintippen oder reinkopieren …"},validatorPremiumButton:{message:"Upgrade"},validatorPremiumHeadline:{message:"Finden Sie mehr mögliche Fehler und werden Sie zu einem besseren Schreiber"},validatorPremiumReason1:{message:"Erweiterte Prüfung der Grammatik, der Kommasetzung und des Sprachstils"},validatorPremiumReason2:{message:"Prüfen Sie lange Texte bis zu 150.000 Zeichen"},validatorPremiumReason3:{message:"Erkennung ungültiger Zahlen (z. B. IBAN, ISBN …)"},validatorPremiumReason4:{message:"Add-on für Microsoft Office"},validatorTextTooLongStatus:{message:"Tut uns leid, dieser Text ist leider etwas zu lang zum Prüfen."},variantCaDesc:{message:"Katalanisch interpretieren als:"},variantDeDesc:{message:"Deutsch interpretieren als:"},variantEnDesc:{message:"Englisch interpretieren als:"},variantPtDesc:{message:"Portugiesisch interpretieren als:"},webstoreSiteNotSupported:{message:"Es tut uns leid, aber Chrome verhindert, dass Extensions auf der Seite des Chrome-Web-Stores funktionieren. Diese Extension funktioniert aber auf fast allen anderen Seiten (z. B. Facebook, Gmail, Twitter)"},zh:{message:"Chinesisch"}},pt_PT:{accessDeniedError2:{message:"O servidor enviou uma mensagem 'Acesso negado ' — por favor, verifique o seu e-mail e palavra-passe nas configurações e tente de novo."},addLanguage:{message:"Adicionar idioma"},addToDictionaryCaption:{message:'Adicionar "$word$" ao dicionário pessoal',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Aplicar"},appDesc:{message:"Melhore Instantaneamente os Seus Textos com o Verificador Gramatical e com a Ferramenta de Reformulação do LanguageTool"},appDescThunderbird:{message:"Verifique os seus e-mails para problemas ortográficos e gramaticais."},appName:{message:"Corretor Gramatical & Ortográfico — LanguageTool"},ar:{message:"Árabe"},ast:{message:"Asturiano"},attachScreenshot:{message:"Anexar screenshot da página"},autoCheckDesc:{message:"Por padrão faça a verificação automática em todos os domínios"},autoCheckOnDomainsDesc:{message:"Faça a verificação automática de texto nestes domínios:"},be:{message:"Bielorrusso"},br:{message:"Bretão"},ca:{message:"Catalão"},ca_ES_valencia:{message:"Catalão (Valenciano)"},cardContentShowAll:{message:"Mostrar tudo"},cardContentShowSubset:{message:"Mostrar menos"},cardSelectorLabelChecker:{message:"Corrigir"},cardSelectorLabelParaphraser:{message:"Parafrasear"},changelogDiscountExpires:{message:"A oferta expira em"},changelogTitle:{message:"Novas funcionalidades no LanguageTool"},close:{message:"Fechar"},cloudServer:{message:"Servidor na nuvem (languagetool.org)"},confirm:{message:"Ok, entendi"},connectionProblem:{message:"Não conseguimos conectar a $serverUrl$ - por favor, verifique a sua ligação à Internet ou tente novamente num minuto",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Verifique a ortografia e a gramática…"},contextMenuValidateInEditor:{message:"Verificar texto no Editor"},continue:{message:"Continuar"},correctAllQuotes:{message:"Corrigir todas as aspas"},customSuggestionError:{message:"Guia de Estilo"},da:{message:"Dinamarquês"},da_DK:{message:"Danish (Denmark)"},de:{message:"Alemão"},de_AT:{message:"Alemão (Austríaco)"},de_CH:{message:"Alemão (Suíço)"},de_DE:{message:"Alemão (Alemanha)"},de_DE_x_simple_language:{message:"Alemão (Alemão simples)"},defaultServerLink:{message:"Usar predefinido"},deleteWord:{message:"Apagar"},desktopAppAction:{message:"Descarregue GRÁTIS"},desktopAppHeadlineMac:{message:"Verifique textos nas suas Apps favoritas"},desktopAppHeadlineWindows:{message:"Verifique textos nas suas Apps favoritas"},desktopAppTextMac:{message:"LanguageTool para Mac corrige a sua escrita diretamente em Apple Mail, Pages, Word, Slack, e muitas mais aplicações."},desktopAppTextWindows:{message:"LanguageTool para Windows está agora disponível e corrige a sua escrita diretamente no Outlook, Word, e muitas mais aplicações."},dialogAllLanguages:{message:"Todos os idiomas:"},dialogCounterCharactersOption:{message:"Carateres"},dialogCounterCharactersPlural:{message:"$number$ carateres",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"1 caráter"},dialogCounterSentencesOption:{message:"Frases"},dialogCounterSentencesPlural:{message:"$number$ frases",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"1 frase"},dialogCounterWordsOption:{message:"Palavras"},dialogCounterWordsPlural:{message:"$number$ palavras",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"1 palavra"},dialogDisableMenuDisableChecking:{message:"Desativar neste sítio web"},dialogDisableMenuPauseChecking:{message:"Apenas desativar até à próxima visita"},dialogEnableInDialogHeadline:{message:"Extra está desativado"},dialogEnableInDialogText:{message:"Clique para ativar a verificação Ortográfica e Gramatical."},dialogFailStateHeadline:{message:"Oops..."},dialogFailStateText:{message:"Algo correu mal. Por favor, tente novamente."},dialogMainMenuPickyMode:{message:"Modo exigente"},dialogMainMenuPickyModeInfo:{message:"Ative o modo exigente para aperfeiçoar a sua escrita."},dialogMainMenuPremiumMistake:{message:"Sugestões Premium"},dialogMainMenuRegularMistake:{message:"Sugestões"},dialogMainMenuTextScore:{message:"Pontuação do texto"},dialogNeedsLanguageHintHeadline:{message:"O idioma não pôde ser detetado"},dialogNeedsLanguageHintIgnore:{message:"Ignorar por agora"},dialogNeedsLanguageHintText:{message:"O idioma do seu texto não pôde ser detetado. Defina-o manualmente ou continue a escrever."},dialogPositionMenuDefault:{message:"Predefinido"},dialogPositionMenuLeft:{message:"Esquerda"},dialogPositionMenuRight:{message:"Direita"},dialogPremiumButton:{message:"Saiba mais"},dialogPremiumHeadlinePlural:{message:"Foram encontrados mais $count$ problemas de escrita",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Foi encontrado mais um problema de escrita"},dialogPremiumText:{message:"Obtenha ainda mais sugestões de estilo, pontuação e gramática utilizando o LanguageTool Premium"},dialogRecommendedLanguages:{message:"Recomendado para si:"},dialogScrollHintHeadline:{message:"Sugestões"},dialogScrollHintText:{message:"Faça scroll no documento para ver mais sugestões"},dialogScrollToLink:{message:"Mostrar no texto"},dialogSelectLanguageLabel:{message:"Selecione o idioma"},dialogTextTooLongButton:{message:"Saiba mais"},dialogTextTooLongHeadline:{message:"Este texto é um pouco longo"},dialogTextTooLongText:{message:"Atualize para Premium e obtenha sugestões avançadas de estilo e gramática para textos longos."},dialogTextTooShortHeadline:{message:"O texto é demasiado curto"},dialogTextTooShortText:{message:"Por favor, introduza pelo menos 5 carateres para começar a verificar erros"},dialogTooltipDisableChecking:{message:"Desativar verificação"},dialogTooltipHelp:{message:"Ajuda"},dialogTooltipHelpCenter:{message:"Ir para centro de ajuda"},dialogTooltipPosition:{message:"Posição do diálogo"},dialogTooltipSaveText:{message:"Guardar texto"},dialogTooltipSendFeedback:{message:"Enviar feedback"},dialogTooltipSettings:{message:"Definições"},dialogTooltipUserStatistics:{message:"Estatísticas de utilização"},dialogUnsupportedLanguageHeadline:{message:"Este idioma não é suportado"},dialogUnsupportedLanguageLabel:{message:"Idioma não suportado"},dialogUnsupportedLanguageText:{message:"O LanguageTool suporta +30 outros idiomas (p.ex. inglês, alemão, espanhol, francês, português, holandês, ou russo)."},dismissSuggestions:{message:"Ignorar"},domainsDesc:{message:"Desactivar a verificação nestes sítios Web"},edgeWebstoreSiteNotSupported:{message:"Desculpe, o LanguageTool não funciona no website da Loja de Suplementos do Edge. Funciona em qualquer outro sítio que escreva (p.ex. Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Problema seguinte"},editorCardNextSentence:{message:"Frase seguinte"},el:{message:"Grego"},en:{message:"Inglês"},en_AU:{message:"Inglês (Australiano)"},en_CA:{message:"Inglês (Canadiano)"},en_GB:{message:"Inglês (Britânico)"},en_NZ:{message:"Inglês (Neozelandês)"},en_US:{message:"Inglês (Americano)"},en_ZA:{message:"Inglês (Sul-africano)"},enableEverywhereButton:{message:"Ativar em todos os campos de texto"},enableHereButton:{message:"Ativar apenas neste campo de texto"},enableInDialog:{message:"Clique para ativar a verificação ortográfica<br>e gramatical"},enableRuleTooltip:{message:"Clique para ativar a regra"},eo:{message:"Esperanto"},errorCardAllDoneCaption:{message:"Fantástico, não há erros!"},errorCardAllDoneDescription:{message:"Pode estar orgulhoso de si"},errorCardHiddenMatchButton:{message:"Destrancar tudo"},errorCardHiddenMatchCaption:{message:"Um gosto do Premium"},errorCardKeyboardInstructions:{message:"Escolha via $enter$ ou $shiftEnter$ para avançar para a seguinte",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ correspondências ocultas encontradas",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"mais 1 correspondência oculta encontrada"},errorCardPremiumTeaserCta:{message:"Desbloquear todas as correspondências ocultas"},errorCardPremiumTeaserGrammarSuggestions:{message:"Oculto <lt-em>Gramática</lt-em> sugestões"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Oculto <lt-em>Pontuação</lt-em> sugestões"},errorCardPremiumTeaserReadMore:{message:"Ler mais"},errorCardPremiumTeaserStyleSuggestions:{message:"Oculto <lt-em>Estilo</lt-em> sugestões"},errorCardPremiumTeaserText:{message:"Existem mais correspondências neste texto que apenas o LanguageTool Premium é capaz de encontrar."},errorCardTurnOffPickyModeButton:{message:"Desativar aqui"},errorCardTurnOffPickyModeCaption:{message:"Sugestão Exigente"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ palavras foram ignoradas",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"Foi ignorada 1 palavra"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ regras foram ignoradas",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"Foi ignorada 1 regra"},es:{message:"Espanhol"},eu:{message:"Basco"},experimentalLink:{message:"Definições avançadas (apenas para utilizadores profissionais)"},extensionUpdatedHeadline:{message:"Esta extensão foi atualizada"},extensionUpdatedText:{message:"Por favor clique no ícone $iconHtml$ na barra do seu browser e volte a carregar a página para ativar de novo a verificação ortográfica e gramatical.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Persa"},feedbackButton:{message:"Enviar mensagem para LanguageTool"},feedbackDirectMail:{message:"Se quiser enviar screenshots, também nos pode enviar um e-mail para $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Desculpe. Não foi possível enviar a sua mensagem. Por favor, tente novamente mais tarde."},feedbackHeadline:{message:"Envie seus comentários para LanguageTool"},feedbackPrivacyPolicy:{message:"Política de Privacidade"},feedbackSenderPlaceholder:{message:"Insira o seu endereço de e-mail…"},feedbackSuccess:{message:"Obrigado por nos enviar o seu feedback."},feedbackTextPlaceholder:{message:"Digite seu feedback…"},fixSentenceCardHeadlineApply:{message:"Corrigir a frase completa"},fixSentenceCardHeadlineLoading:{message:"A procurar uma correção para a frase…"},fixSentenceCardHeadlineMissing:{message:"Desculpe, nenhuma correção encontrada"},forcePreferredLanguagesOptionLabel:{message:"Utilize sempre apenas estas línguas para a deteção automática de línguas"},fr:{message:"Francês"},ga:{message:"Irlandês"},generalSettingsHeadline:{message:"Definições gerais"},gl:{message:"Galego"},googleDocsDisableButton:{message:"Desativar o LanguageTool neste doc"},googleDocsEnableButton:{message:"Ativar o LanguageTool"},googleDocsEnableHint:{message:"Pode reativar aqui o verificador de gramática e de estilo do LanguageTool"},googleDocsNewTeaserHeadline:{message:"O LanguageTool para Google Docs está aqui!"},googleDocsNewTeaserText:{message:"Ao lado de cada página pode agora ver quantos problemas o LanguageTool detetou."},googleDocsPagelessModeUnsupported:{message:"O novo modo “sem página” não é atualmente suportado. Já estamos a trabalhar nele."},googleSlidesDisableButton:{message:"Desativar o LanguageTool nesta apresentação"},googleSlidesEnableButton:{message:"Ativar o LanguageTool"},googleSlidesEnableHint:{message:"Pode reativar o verificador de gramática e estilo do LanguageTool aqui"},googleSlidesNewTeaserHeadline:{message:"O LanguageTool para Google Slides está aqui!"},googleSlidesNewTeaserText:{message:"Ao lado de cada slide o LanguageTool mostra-lhe agora quantos problemas foram detetados."},grammarError:{message:"Gramática"},haveAccountDesc:{message:"Criar uma conta gratuita em"},historicPremiumErrorsButton:{message:"Saiba mais"},historicPremiumErrorsHeadline:{message:"Sabia?"},historicPremiumErrorsText:{message:"Poderia ter evitado <strong>$count$ problemas de gramática e de estilo</strong> nos últimos dias com o LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ problemas gramaticais e de estilo</strong> poderiam ter sido evitados nos últimos dias com o LanguageTool Premium.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Não faça a verificação automática nestes domínios:"},ignoreHere:{message:"Ignore neste texto"},ignoredRules:{message:"Estas regras foram desactivadas, clique numa regra para activá-la novamente:"},ignoredRulesDesc:{message:"Regras desativadas"},incompleteResult:{message:"Os resultados estão incompletos: a verificação do texto parou devido a demasiados erros."},invalidUsernameOrPassword:{message:"Erro: por favor, verifique o seu email e palavra-passe nas configurações"},is:{message:"Islandês"},it:{message:"Italiano"},ja:{message:"Japonês"},km:{message:"Khmer"},language:{message:"Idioma:"},languageOptionsLink:{message:"Opções de idioma"},languagetoolNotSupported:{message:"Esta extensão não funciona neste website, dado que este oferece a mesma funcionalidade"},localServer:{message:"O servidor local (localhost)—requer o servidor LanguageTool a funcionar localmente"},localServerDocs:{message:"documentação"},lt:{message:"Lituano"},managedLoginButton1:{message:"Login"},managedLoginButton2:{message:"Faça login com a sua conta empresarial"},managedLoginDescription:{message:"Por favor, faça login com a sua conta empresarial para utilizar o LanguageTool."},managedLoginHeadline:{message:"Log in"},messagePopupTurnOnPrimaryButton:{message:"Entendi!"},messagePopupTurnOnSecondaryButton:{message:"Reativar a verificação de texto"},messagePopupTurnOnheadline:{message:"A correção ortográfica está desativada para esta página"},messagePopupTurnOntext:{message:'Para reativá-la, clique no ícone LT na sua barra de ferramentas e clique no botão alternante de "Verificar Gramática e Ortografia"'},ml:{message:"Malaio"},moreDetails:{message:"mais pormenores..."},motherTongueDesc:{message:"Língua mãe"},motherTongueExpl:{message:'Selecione a língua materna se quiser ser avisado sobre "falsos amigos" ao verificar textos não escritos na sua língua materna.'},msOnlineOfficeNotSupported:{message:"Desculpe, o Microsoft Word Online não é suportado para esta extensão - instale em alternativa <a target='_blank' href='$url$'>esta extensão</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Holandês"},no:{message:"Norueguês"},noErrorsFound2:{message:"Fantástico, não há erros!"},noErrorsFoundText:{message:"Pode estar orgulhoso de si"},notificationUndoDescription:{message:"Prima %{cmd} para desfazer"},notificationUndoLabel:{message:"Parafraseamento aplicado"},onboardLanguageSelectorCta:{message:"Começar a usar o LanguageTool"},onboardLanguageSelectorDescription:{message:"Para dar-lhe as melhores sugestões, necessitamos saber quais os idiomas que mais usa."},onboardLanguageSelectorHeading:{message:"Selecione os idiomas em que tipicamente escreve"},onboardingHeadline:{message:"Vamos agora melhorar o seu texto"},onboardingIntro:{message:"Agora o seu texto será verificado na maioria dos campos de texto enquanto você digita."},onboardingIntroThunderbird:{message:"O seu texto será agora verificado enquanto compõe os seus e-mails."},onboardingNote1:{message:"Volte a carregar <strong>todas as páginas web abertas</strong> para ativar a extensão"},onboardingNote2:{message:"Esta extensão não funciona com os campos de texto do <strong>Chrome Web Store</strong> ou em <strong>addons.mozilla.org</strong>"},onboardingNote3:{message:"Para desativar a extensão para um sítio web, clique no <strong>ícone LT na barra do navegador</strong>"},onboardingNote4:{message:"<strong>Sinónimos</strong> podem ser solicitados com um duplo clique numa palavra num campo de texto (p.ex. no Gmail, Facebook, ou Google Docs)"},onboardingNoteThunderbird1:{message:"Comece um e-mail novo para ativar a extensão."},onboardingNoteThunderbird2:{message:"Para desativar a extensão, clique no ícone LT no topo-direito da janela de composição de e-mails."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Atalho do teclado"},openCardHotkeyExpl:{message:"Prima esta tecla <strong>duas vezes rapidamente</strong> quando o cursor de texto a piscar estiver numa palavra sublinhada. Claro, isto também funciona com sinónimos."},openCardHotkeyOff:{message:"Desativado"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Outro servidor — requer o servidor LanguageTool a funcionar ali"},overleafNewTeaserHeadline:{message:"O LanguageTool para Overleaf está aqui!"},overleafNewTeaserText:{message:"Faça scroll através do seu texto para ver sugestões ortográficas, gramaticais e de estilo."},oxfordSpellingOptionLabel:{message:"Priorizar ortografia de Oxford"},password:{message:"Palavra-passe:"},personalDictionaryMultipleWordError:{message:"Expressões multipalavras são apenas suportadas para utilizadores que tenham uma conta LanguageTool"},phrasesCardCaption:{message:"Paráfrases"},phrasesCardConfirmationButton:{message:"Aceitar a política de privacidade"},phrasesCardConfirmationHeading:{message:"Reescreva suas frases com Inteligência Artificial"},phrasesCardConfirmationText:{message:"Precisa de um texto mais curto, mais fluente, ou mais formal? Temos tudo o que precisa. Consulte a nossa <a target='_blank' href='$privacyUrl$' rel='noopener'>Política de Privacidade</a> relativa ao processamento de dados.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Todos os resultados"},phrasesCardGeneralError:{message:"Ocorreu um erro a carregar as frases"},phrasesCardHeadline:{message:"Alternativas geradas por Inteligência Artificial"},phrasesCardLabelFluency:{message:"Fluente"},phrasesCardLabelFormality:{message:"Formal"},phrasesCardLabelGeneral:{message:"Reformulado"},phrasesCardLabelParaphrase:{message:"Fluente"},phrasesCardLabelShortened:{message:"Conciso"},phrasesCardLabelSimplicity:{message:"Simples"},phrasesCardNoResult:{message:"Infelizmente não foi possível uma reformulação para esta frase."},phrasesCardNoSentence:{message:"Não foi possível detetar a frase."},phrasesCardNotSupportedHeading:{message:"A reformulação da frase não está disponível, por enquanto…"},phrasesCardNotSupportedText:{message:"A reformulação de frases não está disponível para este idioma no momento (apenas para inglês, espanhol, …). Estamos <strong>a trabalhar arduamente</strong> para disponibilizá-lo noutros idiomas o mais rápido possível."},phrasesCardRephrasingLimitPlural:{message:"Limitado a mais <strong>$count$</strong> frases hoje",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Limitado a mais <strong>uma</strong> frase hoje"},phrasesCardRephrasingLimitUnlock:{message:"Desbloqueie sugestões ilimitadas!"},phrasesCardSentencePrefix:{message:"Frase original"},phrasesCardTimeoutError:{message:"O servidor não respondeu a tempo."},pl:{message:"Polaco"},popupGeneralSettingsHeadline:{message:"Definições gerais"},popupGlobalSettingsHeadline:{message:"Definições globais"},popupGlobalSettingsHeadlineInfo:{message:"Todos os sítios web"},popupOnboardingHeadline:{message:"Bem-vindos! Agora você pode usar o LanguageTool:"},popupOnboardingStep1:{message:"Clique em qualquer campo de texto de várias linhas (por exemplo no Gmail, Facebook, …)"},popupOnboardingStep2:{message:"Encontrará um ícone parecido com $icon1Html$ ou $icon2Html$ no canto inferior direito",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Escreva algum texto. Os erros de escrita vão aparecer <u>sublinhados</u>"},popupOnboardingStep4:{message:"Clique numa palavra sublinhada para obter sugestões"},popupOpenEditorButton:{message:"Abrir Editor"},popupOptionCaseText:{message:"Verificar maiúsculas e minúsculas"},popupOptionCheckText:{message:"Ativar o LanguageTool"},popupOptionContextMenu:{message:"Mostrar no menu de clique do botão direito"},popupOptionContextMenuDescription:{message:"Basta selecionar o texto em qualquer site, clicar no botão direito, e verificar se existem erros gramaticais."},popupOptionPickyMode:{message:"Modo exigente"},popupOptionPickyModeDescription:{message:"Para estilo, tonalidade e tipografia perfeitas"},popupOptionRephrasing:{message:"Funcionalidade de parafraseamento"},popupOptionRephrasingDescription:{message:"Reescreva frases completas com a IA. Simplesmente coloque o seu rato sobre o símbolo localizado no canto inferior direito de cada campo de texto e clique no ícone de parafraseamento para obter sugestões para a frase atual."},popupOptionSynonyms:{message:"Ativar duplo-clique"},popupOptionSynonymsDescription:{message:"Faça duplo clique em qualquer palavra num campo de texto multilinha para ver sinónimos"},popupOptionValidate:{message:"Verificar o texto selecionado"},popupOptionValidateInEditor:{message:"Verificar texto selecionado no Editor"},popupPremiumHeadline:{message:"Escreva como um profissional"},popupPremiumLink:{message:"Saiba mais"},popupPremiumText:{message:"Faça o upgrade para LanguageTool Premium para encontrar não apenas mais erros gramaticais e de pontuação, mas também problemas de estilo de texto."},popupSettingsHeadline:{message:"Configurações para este site"},popupSettingsHeadlineInfo:{message:"Sítio web atual"},popupSettingsHover:{message:"Mais definições avançadas"},popupUserStatisticsHover:{message:"Mostrar estatísticas de utilização"},poweredBy:{message:"Potenciado por <b>LanguageTool</b>"},premiumErrorsButton:{message:"Saiba mais"},premiumErrorsTextPlural:{message:"O seu texto contém <strong>$count$ problemas avançados de escrita</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"O seu texto contém <strong>um problema avançado de escrita</strong>"},privacyHeadline:{message:"Bem-vindo ao LanguageTool"},privacyLinkForDefaultServer:{message:"Para pormenores, consulte <a href='$privacyUrl$' target='_blank'>a nossa politica de privacidade</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"A verificação poderá <strong>ser desativada a qualquer altura</strong>"},privacyListUnsaved:{message:"<strong>O seu texto não será armazenado</strong>"},privacyNoteForDefaultServer:{message:"Esta extensão verificará o seu texto ao enviá-lo para <a href='$serverUrl$' target='_blank'>$serverHost$</a> através de uma ligação encriptada.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Esta extensão irá verificar o seu texto, enviando-o para $serverUrl$. Para voltar ao servidor predefinido, por favor visite a página de opções da extensão.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"O seu assistente de escrita"},privacyPolicy:{message:"Politica de Privacidade"},pt:{message:"Português"},pt_AO:{message:"Português (Angola pré-AO)"},pt_BR:{message:"Português (Brasil pós-AO)"},pt_CV:{message:"Português (Cabo Verde pós-AO)"},pt_MZ:{message:"Português (Moçambique pré-AO)"},pt_PT:{message:"Português (Portugal pós-AO)"},pt_PT_post_reform:{message:"Português (Portugal, pós-reforma)"},pt_PT_pre_reform:{message:"Português (Portugal, pré-reforma)"},punctuationError:{message:"Pontuação"},ratingHeadline:{message:"Gosta do nosso verificador de texto?"},ratingText:{message:"Dê-nos o seu feedback"},ratingThankYou:{message:"Obrigada."},ratingUnhappyQuestion:{message:"Por favor, diga-nos porque está descontente"},removeExtraWhitespace:{message:"Remover espaço em branco a mais"},rephrasingTeaserCaption:{message:"Precisa de mais agora?"},rephrasingTeaserCountdownSuffix:{message:"$count$ Reformulações",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Obtenha mais amanhã"},rephrasingTeaserCta:{message:"Desbloqueie todos os benefícios Premium"},rephrasingTeaserDescription:{message:"Aproveite reformulações ilimitadas e muito mais:"},rephrasingTeaserListItem1:{message:"<strong>Verifique até $count$</strong> carateres num único texto",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Sugestões avançadas de estilo</strong> para textos melhores"},rephrasingTeaserListItem3:{message:"<strong>Reformulações ilimitadas</strong> para tornar o seu texto mais versátil"},replaceWithWhitespace:{message:"Substituir por espaço em branco"},reportAnIssue:{message:"Dar feedback"},reviewChromeHeadline:{message:"Pode dar-nos uma classificação na Chrome Store?"},reviewEdgeHeadline:{message:"Dar-nos-ia uma classificação na Loja de Complementos do Edge?"},reviewFirefoxHeadline:{message:"Pode dar-nos uma classificação na Firefox Store?"},reviewLink:{message:"Avalie agora"},reviewOperaHeadline:{message:"Dar-nos-ia uma classificação na Loja de Add-ons do Opera?"},reviewSafariHeadline:{message:"Poder-nos-ia avaliar na App Store?"},ro:{message:"Romeno"},ru:{message:"Russo"},save:{message:"Gravar"},sendFeedback:{message:"Envie feedback"},sentenceSplittingCardApplyButtonLabel:{message:"Aplicar"},sentenceSplittingCardHeadlineApply:{message:"Sugestão:"},sentenceSplittingCardHeadlineLoading:{message:"A dividir a frase..."},sentenceSplittingCardHeadlineMissing:{message:"Desculpe, não encontramos nenhuma sugestão"},serverNotAvailable:{message:"Servidor local não disponível"},serverText:{message:"Servidor do LanguageTool:"},serverUrlIsInvalid:{message:"Este URL não é válido."},settingsAccountBulletListEditor:{message:"Utilize o editor como um ambiente de escrita sem distrações"},settingsAccountBulletListSave:{message:"Guarde textos para mais tarde "},settingsAccountBulletListSync:{message:"Sincronize as suas definições e dicionário pessoal entre múltiplos navegadores e dispositivos"},settingsAccountDescription:{message:"Autentifique-se e beneficie das seguintes vantagens:"},settingsAccountHeadline:{message:"Conta"},settingsAccountSubheadline:{message:"Autentifique-se com a sua conta LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Este domínio ainda não foi adicionado. Prima VOLTAR para adicioná-lo."},settingsAddDomainHint:{message:"Este domínio ainda não foi adicionado. Pressione VOLTAR para adicioná-lo."},settingsAddIgnoredDomainHint:{message:"Este domínio ainda não foi adicionado. Prima RETURN para adicioná-lo."},settingsAddOrFilterAutoCheckDomains:{message:"Adicionar ou encontrar domínio…"},settingsAddOrFilterDomains:{message:"Adicionar ou encontrar domínio…"},settingsAddOrFilterIgnoredDomains:{message:"Adicionar ou encontrar domínio…"},settingsAddOrFilterWords:{message:"Adicionar ou encontrar palavra…"},settingsAddWordHint:{message:"Esta palavra ainda não existe no seu dicionário. Pressione RETURN para adicioná-la."},settingsAreYouSure:{message:"Tem a certeza? Não é possível desfazer."},settingsCheckForPaidSubscriptionError:{message:"A verificação do estado da sua subscrição falhou"},settingsClearAll:{message:"Limpar tudo"},settingsCopyDictionary:{message:"Copiar para o clipboard"},settingsCopyDictionarySuccessful:{message:"Copiado para o clipboard"},settingsDeleteAutoCheckDomain:{message:"Eliminar domínio"},settingsDeleteIgnoredDomain:{message:"Eliminar domínio"},settingsDictionaryHeadline:{message:"Dicionário pessoal"},settingsDomainInvalid:{message:"Por favor, introduza um domínio válido que ainda não tenha sido adicionado."},settingsEmptyAutoCheckDomains:{message:"Ainda não ativou a autoverificação em nenhum website"},settingsEmptyDictionary:{message:"O seu dicionário pessoal está atualmente vazio"},settingsEmptyDomainList:{message:"Ainda não desativou nenhum website"},settingsEmptyIgnoredDomains:{message:"Ainda não desativou a autoverificação em nenhum website"},settingsEmptyIgnoredRules:{message:"Ainda não desativou nenhuma regra. Pode desativar regras mal estas apareçam num texto."},settingsEnableAllRules:{message:"Ativar todos"},settingsEnableDomain:{message:"Habilitar domínio"},settingsExperimentalSuccess:{message:"As suas definições foram gravadas com êxito."},settingsForgotPasswordLink:{message:"Esqueceu a palavra-passe?"},settingsHeadline:{message:"Configurações"},settingsLanguageVariantsDescription:{message:"Para dar-lhe sempre as melhores sugestões, por favor deixe-nos saber qual a variante do idioma específico que fala."},settingsLanguageVariantsHeadline:{message:"Variantes de idiomas"},settingsLoggedInAs:{message:"Iniciou a sessão como $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Entrar"},settingsLoginError:{message:"Não foi possível iniciar a sessão. Por favor, verifique o seu e-mail e palavra-passe."},settingsLoginSuccess:{message:"Está agora identificado"},settingsLogoutButton:{message:"Sair"},settingsLogoutSuccess:{message:"Deixou de estar identificado"},settingsManageAccountButton:{message:"Gerir conta"},settingsPasswordPlaceholder:{message:"Palavra-passe"},settingsPreferredLanguagesCompleteList:{message:"Todos os idiomas"},settingsPreferredLanguagesDescription:{message:"Definir os idiomas habitualmente usados para escrever os textos. Isto ajuda o LanguageTool a detetar automaticamente o idioma correto."},settingsPreferredLanguagesHeadline:{message:"Idiomas preferidos"},settingsPreferredLanguagesPopularList:{message:"Idiomas populares"},settingsPremiumButton:{message:"Descubra o LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Todas as <strong>funcionalidades premium</strong> estão ativadas."},settingsPremiumHeadline:{message:"Torne-se um melhor escritor"},settingsPremiumText:{message:"Encontre problemas avançados de gramática, estilo e pontuação ou verifique textos até 150 000 caracteres."},settingsServerUrlDisabled:{message:"Só pode colocar um servidor personalizado quando faz log out da sua conta LanguageTool."},settingsUnknownError:{message:"Ocorreu um erro inesperado"},siteDisabledPerGroupPolicy:{message:"A verificação neste site está desativada por Política de Grupo."},siteTemporarilyUnsupported:{message:"Desculpe, o LanguageTool desativou temporariamente o suporte para este sítio web. Estamos a trabalhar numa correção. Deverá ser apenas uma questão de dias."},sk:{message:"Eslovaco"},skip:{message:"Saltar"},sl:{message:"Esloveno"},spellingError:{message:"Ortografia"},sr:{message:"Sérvio"},sr_BA:{message:"Sérvio (Bósnia)"},sr_HR:{message:"Sérvio (Croácia)"},sr_ME:{message:"Sérvio (Montenegro)"},sr_RS:{message:"Sérvio (Sérvia)"},statusIconEnableLT:{message:"Ative o LanguageTool - Verificação Ortográfica e Gramatical"},statusIconError:{message:"Erro"},statusIconMoreErrors:{message:"Os resultados estão incompletos: a verificação do texto parou devido a demasiados erros."},statusIconPermissionRequired:{message:"Não é possível verificar o texto - confirme primeiro a politica de privacidade"},statusIconReload:{message:"A extensão foi actualizada. por favor volte a carregar a página para ativar a verificação ortográfica e gramatical"},statusIconToolTip:{message:"LanguageTool - Verificação Ortográfica e Gramatical"},suggestionError:{message:"Estilo"},suggestionOnlyVisibleToPremiumButton:{message:"Aceda a todos os benefícios de Premium"},suggestionOnlyVisibleToPremiumText:{message:"Esta é uma sugestão avançada apenas disponível na versão Premium do LanguageTool. Faça upgrade para Premium para obter sugestões como esta e muitas mais."},sv:{message:"Sueco"},switchToAmericanEnglish:{message:"Mudar para inglês americano"},switchToAustralianEnglish:{message:"Mudar para inglês australiano"},switchToBritishEnglish:{message:"Mudar para inglês britânico"},switchToCanadianEnglish:{message:"Mudar para inglês canadiano"},switchToNewZealandEnglish:{message:"Mudar para inglês da Nova Zelândia"},switchToSouthAfricanEnglish:{message:"Mudar para inglês sul-africano"},synonymsCardGeneralError:{message:"Ocorreu um erro a carregar os sinónimos"},synonymsCardHeadline:{message:"Sinónimos"},synonymsCardLanguageNotSupported:{message:"Os sinónimos para este idioma ainda não são suportados."},synonymsCardLess:{message:"menos"},synonymsCardLoadMoreAlternatives:{message:"carregar mais alternativas"},synonymsCardLoading:{message:"A carregar…"},synonymsCardMore:{message:"mais"},synonymsCardNoSynonymsAvailable:{message:"Não há sinónimos para esta palavra"},synonymsCardProvidedBy:{message:"Oferecido por <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Frase"},synonymsCardTabWord:{message:"Palavra"},synonymsCardTooltipReadText:{message:"Pronunciar palavra"},synonymsTutorialHeadline:{message:"Como obter sinónimos"},synonymsTutorialText:{message:"Obtenha sinónimos para qualquer palavra com um duplo-clique nela. Funciona em todos os campos de texto suportados pelo LanguageTool."},ta:{message:"Tamil"},textTooLong:{message:"Desculpe, este texto é demasiado extenso para ser verificado."},timeoutError:{message:"Timeout do servidor - por favor tente novamente mais tarde ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Tagalo"},tooManyErrors:{message:"Este texto contém demasiados erros. Tem a certeza que selecionou o idioma correto?"},tooManyRequests:{message:"O limite de solicitações foi excedido—por favor aguarde um minuto e o LanguageTool deverá estar disponível novamente."},toolbarDisableMenuDisableChecking:{message:"Desativar neste sítio web"},toolbarDisableMenuPauseChecking:{message:"Apenas desativar até à próxima visita"},toolbarTooltipDisableChecking:{message:"Desativar verificação"},toolbarTooltipRephrasing:{message:"Reescrever frase"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"A reformulação de frases não está disponível neste idioma no momento."},tr:{message:"Turco"},tryAgain:{message:"Tente de novo"},turnOffPickyMode:{message:"Desativar o modo exigente neste texto"},turnOffRule:{message:"Desativar regra em qualquer lugar"},turnOffRulePicky:{message:"As sugestões gramaticais não podem ser desativadas no modo exigente"},turnOnHint:{message:"Aqui pode ativar a extensão novamente"},uk:{message:"Ucraniano"},unknownError:{message:"Desculpe, algo correu mal na verificação do seu texto. Reiniciar o seu navegador poderá resolver isto."},upgradeTeaserDiscount:{message:"Poupe $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Oferta por Tempo Limitado"},username:{message:"Endereço eletrónico:"},validatorHasMistakesHeadlinePlural:{message:"Foram encontrados $count$ problemas de escrita",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Foi encontrado um problema de escrita"},validatorHasMistakesText:{message:"Clique nas palavras realçadas para as corrigir."},validatorHasPremiumErrorsButton:{message:"Saiba mais"},validatorHasPremiumErrorsHeadlinePlural:{message:"O texto contém $count$ problemas avançados de escrita",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"O texto contém um problema de escrita"},validatorHasPremiumErrorsText:{message:"Atualize para o LanguageTool Premium e encontre mais erros de gramática, estilo e pontuação"},validatorLoadingHint:{message:"Verificando o texto…"},validatorNoMistakesHeadline:{message:"Parabéns, não encontrámos erros!"},validatorNoTextStatus:{message:"Digite ou cole o texto a ser verificado"},validatorPlaceholder:{message:"Por favor cole ou coloque o texto aqui…"},validatorPremiumButton:{message:"Upgrade"},validatorPremiumHeadline:{message:"Encontre mais problemas de escrita e torne-se um escritor melhor"},validatorPremiumReason1:{message:"Verificação gramatical, de pontuação e de estilo mais sofisticada"},validatorPremiumReason2:{message:"Verifique textos mais longos (até 150 000 caracteres)"},validatorPremiumReason3:{message:"Autodeteção para números inválidos (ex. IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Add-in para Microsoft Office"},validatorTextTooLongStatus:{message:"Desculpe, este texto é demasiado extenso para ser verificado."},variantCaDesc:{message:"Assumir esta variedade de Catalão:"},variantDeDesc:{message:"Assumir esta variedade de Alemão:"},variantEnDesc:{message:"Assumir esta variedade de Inglês:"},variantPtDesc:{message:"Assumir esta variedade de Português:"},webstoreSiteNotSupported:{message:"Desculpe, o LanguageTool não funciona na Loja Web do Chrome. Funciona em todos os outros sítios onde escreva (exemplo: Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Chinês"}},uk:{accessDeniedError2:{message:"Сервер надіслав повідомлення «Доступ заборонено». Перевірте свою електронну адресу та пароль у налаштуваннях і повторіть спробу."},addLanguage:{message:"Додати мову"},addToDictionaryCaption:{message:'додати "$word$" до персонального словника',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Вжити"},appDesc:{message:"Миттєве вдосконалення тексту за допомогою засобу перевірки граматики й функції перефразування LanguageTool"},appDescThunderbird:{message:"Перевірка електронних листів на наявність орфографічних і граматичних помилок."},appName:{message:"Коректор граматики та орфографії – LanguageTool"},ar:{message:"Арабська"},ast:{message:"Астурійська"},attachScreenshot:{message:"Прикріпити скріншот сторінки"},autoCheckDesc:{message:"За замовчуванням перевіряти всі домени автоматично"},autoCheckOnDomainsDesc:{message:"Увімкнути автоперевірку для цих доменів:"},be:{message:"Білоруська"},br:{message:"Бретонська"},ca:{message:"Каталонська"},ca_ES_valencia:{message:"Каталанський (Валенсія)"},cardContentShowAll:{message:"Показати все"},cardContentShowSubset:{message:"Показати менше"},cardSelectorLabelChecker:{message:"Правильно"},cardSelectorLabelParaphraser:{message:"Перефразування"},changelogDiscountExpires:{message:"Пропозиція закінчується"},changelogTitle:{message:"Нові можливості LanguageTool"},close:{message:"Закрити"},cloudServer:{message:"Хмарний сервіс (languagetool.org)"},confirm:{message:"Продовжити і не питати більше"},connectionProblem:{message:"Не вдається з’єднатись із $serverUrl$. Перевірте підключення до Інтернету або повторіть спробу за хвилину",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Check spelling and grammar..."},contextMenuValidateInEditor:{message:"Перевірити текст у редакторі"},continue:{message:"Продовжити"},correctAllQuotes:{message:"Виправте всі цитати"},customSuggestionError:{message:"Посібник зі стилю"},da:{message:"Данська"},da_DK:{message:"Датська (Данія)"},de:{message:"Німецька"},de_AT:{message:"Німецька (Австрія)"},de_CH:{message:"Німецька (Швейцарія)"},de_DE:{message:"Німецька (Німеччина)"},de_DE_x_simple_language:{message:"Німецька (спрощена)"},defaultServerLink:{message:"Використовувати типовий"},deleteWord:{message:"Видалити"},desktopAppAction:{message:"Download for FREE"},desktopAppHeadlineMac:{message:"Check Texts in Your Favorite Apps"},desktopAppHeadlineWindows:{message:"Check Texts in Your Favorite Apps"},desktopAppTextMac:{message:"LanguageTool for Mac corrects your writing directly in Apple Mail, Pages, Word, Slack, and many more applications."},desktopAppTextWindows:{message:"LanguageTool for Windows is now available and corrects your writing directly in Outlook, Word, and many more applications."},dialogAllLanguages:{message:"Усі мови:"},dialogCounterCharactersOption:{message:"Символів"},dialogCounterCharactersPlural:{message:"Символів: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"Символів: 1"},dialogCounterSentencesOption:{message:"Речень"},dialogCounterSentencesPlural:{message:"Речень: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"Речень: 1"},dialogCounterWordsOption:{message:"Слів"},dialogCounterWordsPlural:{message:"Слів: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"Слів: 1"},dialogDisableMenuDisableChecking:{message:"Відключити на цьому вебсайті"},dialogDisableMenuPauseChecking:{message:"Відключити тільки до наступного разу"},dialogEnableInDialogHeadline:{message:"Розширення вимкнено"},dialogEnableInDialogText:{message:"Натисніть, щоб увімкнути перевірку орфографії та граматики."},dialogFailStateHeadline:{message:"Ой..."},dialogFailStateText:{message:"Щось пішло не так. Будь ласка, спробуйте ще раз."},dialogMainMenuPickyMode:{message:"Ретельний режим"},dialogMainMenuPickyModeInfo:{message:"Увімкніть ретельний режим, щоб удосконалити текст."},dialogMainMenuPremiumMistake:{message:"Преміум поради"},dialogMainMenuRegularMistake:{message:"Поради"},dialogMainMenuTextScore:{message:"Бали за текст"},dialogNeedsLanguageHintHeadline:{message:"Не вдалося розпізнати мову"},dialogNeedsLanguageHintIgnore:{message:"Поки ігнорувати"},dialogNeedsLanguageHintText:{message:"Не вдалося розпізнати мову. Встановіть її вручну."},dialogPositionMenuDefault:{message:"Стандартні"},dialogPositionMenuLeft:{message:"Ліворуч"},dialogPositionMenuRight:{message:"Праворуч"},dialogPremiumButton:{message:"Детальніше"},dialogPremiumHeadlinePlural:{message:"Знайдено ще $count$ помилок",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Знайдено ще 1 орфографічну помилку"},dialogPremiumText:{message:"Отримуйте ще більше підказок по стилістиці, пунктуації та граматиці, використовуючи LanguageTool Premium"},dialogRecommendedLanguages:{message:"Рекомендовані:"},dialogScrollHintHeadline:{message:"Поради"},dialogScrollHintText:{message:"Прокрутіть текст, щоб побачити більше порад"},dialogScrollToLink:{message:"Показати в тексті"},dialogSelectLanguageLabel:{message:"Виберіть мову"},dialogTextTooLongButton:{message:"Детальніше"},dialogTextTooLongHeadline:{message:"Цей текст дещо задовгий"},dialogTextTooLongText:{message:"Перейдіть на версію Premium та отримуйте розширені підказки по граматиці та стилістиці для довгих текстів."},dialogTextTooShortHeadline:{message:"Текст занадто короткий"},dialogTextTooShortText:{message:"Будь ласка, введіть принаймні 5 символів, щоб розпочати перевірку помилок"},dialogTooltipDisableChecking:{message:"Вимкнути перевірку"},dialogTooltipHelp:{message:"Довідка"},dialogTooltipHelpCenter:{message:"Перейти до довідкового центру"},dialogTooltipPosition:{message:"Положення діалогу"},dialogTooltipSaveText:{message:"Зберегти текст"},dialogTooltipSendFeedback:{message:"Надіслати відгук"},dialogTooltipSettings:{message:"Налаштування"},dialogTooltipUserStatistics:{message:"Статистика використання"},dialogUnsupportedLanguageHeadline:{message:"Ця мова не підтримується"},dialogUnsupportedLanguageLabel:{message:"Непідтримувана мова"},dialogUnsupportedLanguageText:{message:"LanguageTool підтримує понад 30 інших мов (наприклад, англійську, німецьку, іспанську, французьку, португальську, голландську, українську та російську)."},dismissSuggestions:{message:"Пропустити"},domainsDesc:{message:"Вимкнути перевірку для цих доменів"},edgeWebstoreSiteNotSupported:{message:"На жаль, LanguageTool не працює на вебсайті Edge Add-on Store. Перевірка працює у текстовій програмі (наприклад, Facebook, Gmail, Twitter, LinkedIn)."},editorCardNextIssue:{message:"Наступна помилка"},editorCardNextSentence:{message:"Наступне речення"},el:{message:"Грецька"},en:{message:"Англійська"},en_AU:{message:"Англійська (Австралія)"},en_CA:{message:"Англійська (Канада)"},en_GB:{message:"Англійська (Велика Британія)"},en_NZ:{message:"Англійська (Новозеландія)"},en_US:{message:"Англійська (США)"},en_ZA:{message:"Англійська (Південна Африка)"},enableEverywhereButton:{message:"Увімкнути для всіх текстових полів"},enableHereButton:{message:"Увімкнути лише для цього текстового поля"},enableInDialog:{message:"Натисніть, щоб увімкнути перевірку<br> орфографії та граматики"},enableRuleTooltip:{message:"Активувати правило"},eo:{message:"Есперанто"},errorCardAllDoneCaption:{message:"Ура, не знайдено жодної помилки!"},errorCardAllDoneDescription:{message:"Ми вами пишаємось"},errorCardHiddenMatchButton:{message:"Розблокувати все"},errorCardHiddenMatchCaption:{message:"Смак Premium"},errorCardKeyboardInstructions:{message:"За допомогою $enter$ або $shiftEnter$ перейдіть до наступного",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"Знайдено ще $count$ приховані збіги|$count$ прихованих збігів",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Знайдено ще 1 прихований збіг"},errorCardPremiumTeaserCta:{message:"Розблокуйте всі приховані збіги"},errorCardPremiumTeaserGrammarSuggestions:{message:"Приховані <lt-em>граматичні</lt-em> поради"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Приховані <lt-em>пунктуаційні</lt-em> поради"},errorCardPremiumTeaserReadMore:{message:"Детальніше..."},errorCardPremiumTeaserStyleSuggestions:{message:"Приховані <lt-em>стилістичні</lt-em> поради"},errorCardPremiumTeaserText:{message:"У цьому тексті є більше збігів, які може виявити лише LanguageTool Premium."},errorCardTurnOffPickyModeButton:{message:"Вимкнути"},errorCardTurnOffPickyModeCaption:{message:"Ретельні поради"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ слова не враховувалися",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"Одне слово було проігноровано"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ правил не враховувалися",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"Одне правило було проігноровано"},es:{message:"Іспанська"},eu:{message:"Баскська"},experimentalLink:{message:"Розширені налаштування (лише для досвідчених користувачів)"},extensionUpdatedHeadline:{message:"Це розширення було оновлено"},extensionUpdatedText:{message:"Натисніть на іконку $iconHtml$ на панелі інструментів браузера або перезавантажте сторінку, щоб активувати перевірку орфографії та граматики.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Перська"},feedbackButton:{message:"Надіслати повідомлення до LanguageTool"},feedbackDirectMail:{message:"Якщо ви хочете відправити скриншоти, можете надіслати нам електронного листа на адресу $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Вибачте. Не вдається надіслати ваше повідомлення. Будь ласка, спробуйте пізніше ще раз."},feedbackHeadline:{message:"Надішліть свій відгук на LanguageTool"},feedbackPrivacyPolicy:{message:"Політика конфіденційності"},feedbackSenderPlaceholder:{message:"Введіть адресу вашої електронної пошти …"},feedbackSuccess:{message:"Дякуємо за відгук."},feedbackTextPlaceholder:{message:"Введіть ваше повідомлення …"},fixSentenceCardHeadlineApply:{message:"Виправити повне речення"},fixSentenceCardHeadlineLoading:{message:"Шукаю виправлення речення…"},fixSentenceCardHeadlineMissing:{message:"Виправлення не знайдено"},forcePreferredLanguagesOptionLabel:{message:"Always only use these languages for automatic language detection"},fr:{message:"Французька"},ga:{message:"Ірландська"},generalSettingsHeadline:{message:"Загальні налаштування"},gl:{message:"Галісійська"},googleDocsDisableButton:{message:"Вимкнути LanguageTool в даному документі"},googleDocsEnableButton:{message:"Увімкнути LanguageTool"},googleDocsEnableHint:{message:"Знову включити перевірку граматики та стилістики LanguageTool можна тут"},googleDocsNewTeaserHeadline:{message:"LanguageTool для Google Docs вже тут!"},googleDocsNewTeaserText:{message:"Збоку кожної сторінки тепер можна побачити скільки потенційних помилок виявив LanguageTool."},googleDocsPagelessModeUnsupported:{message:"Новий режим «без сторінок» наразі не підтримується. Ми вже над цим працюємо."},googleSlidesDisableButton:{message:"Вимкнути LanguageTool у цій презентації"},googleSlidesEnableButton:{message:"Увімкнути LanguageTool"},googleSlidesEnableHint:{message:"Увімкніть LanguageTool для перевірки граматики та стилістики тут"},googleSlidesNewTeaserHeadline:{message:"LanguageTool для Google Slides"},googleSlidesNewTeaserText:{message:"Поруч з кожним слайдом LanguageTool показує, скільки помилок було виявлено."},grammarError:{message:"Граматична"},haveAccountDesc:{message:"Створити безплатний обліковий запис на"},historicPremiumErrorsButton:{message:"Детальніше"},historicPremiumErrorsHeadline:{message:"А ви знаєте?"},historicPremiumErrorsText:{message:"З LanguageTool Premium ви могли б уникнути <strong>$count$ граматичних та стилістичних помилок </strong> за останні дні.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ граматичних та стилістичних помилок</strong> можна було б уникнути з LanguageTool Premium за останні дні.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Вимкнути автоперевірку для цих доменів:"},ignoreHere:{message:"Ігнорувати в цьому тексті"},ignoredRules:{message:"Ці правила було вимкнено, натисніть на правило, щоб увімкнути його:"},ignoredRulesDesc:{message:"Правила, які ігноруються"},incompleteResult:{message:"Results are incomplete: Text checking was stopped due to too many errors."},invalidUsernameOrPassword:{message:"Помилка. Перевірте свою електронну адресу та пароль у налаштуваннях"},is:{message:"Ісландська"},it:{message:"Італійська"},ja:{message:"Японська"},km:{message:"Кхмерська"},language:{message:"Мова:"},languageOptionsLink:{message:"Варіанти мови"},languagetoolNotSupported:{message:"Розширення не працює на цьому вебсайті, оскільки він пропонує подібні функції"},localServer:{message:"Локальний сервер (localhost) – необхідно, щоб сервер LanguageTool був запущений локально."},localServerDocs:{message:"документація"},lt:{message:"Литовська"},managedLoginButton1:{message:"Увійти"},managedLoginButton2:{message:"Увійти під вашим корпоративним обліковим записом"},managedLoginDescription:{message:"Будь ласка, увійдіть в систему під своїм корпоративним обліковим записом, щоб використовувати LanguageTool."},managedLoginHeadline:{message:"Увійти"},messagePopupTurnOnPrimaryButton:{message:"Зрозуміло!"},messagePopupTurnOnSecondaryButton:{message:"Увімкнути перевірку тексту"},messagePopupTurnOnheadline:{message:"Перевірка правопису для цієї сторінки вимкнена"},messagePopupTurnOntext:{message:"Щоб її увімкнути, натисніть значок LT на панелі інструментів та кнопку-перемикач «Перевіряти граматику та орфографію»."},ml:{message:"Малаяламська"},moreDetails:{message:"Детальніше..."},motherTongueDesc:{message:"Рідна мова"},motherTongueExpl:{message:"Встановіть рідну мову, якщо хочете отримувати попередження про фальшивих друзів перекладача підчас перевірки тексту на іноземній мові."},msOnlineOfficeNotSupported:{message:"На жаль, Microsoft Word Online не підтримується цим розширенням – встановіть замість нього <a target='_blank' href='$url$'>це розширення</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Голландська"},no:{message:"Норвезька"},noErrorsFound2:{message:"Ура, не знайдено жодної помилки!"},noErrorsFoundText:{message:"Ми вами пишаємось"},notificationUndoDescription:{message:"Натисніть %{cmd}, щоб скасувати"},notificationUndoLabel:{message:"Застосовано перефразування"},onboardLanguageSelectorCta:{message:"Почати використовувати LanguageTool"},onboardLanguageSelectorDescription:{message:"Щоб пропонувати вам найкращі рекомендації, нам потрібно знати, якими мовами ви користуєтесь найчастіше."},onboardLanguageSelectorHeading:{message:"Виберіть мови, якими ви зазвичай пишете."},onboardingHeadline:{message:"Написане тепер буде покращено"},onboardingIntro:{message:"Ваш текст тепер буде перевірятись під час вводу в більшості текстових полях."},onboardingIntroThunderbird:{message:"Тепер текст ваших електронних листів перевірятиметься."},onboardingNote1:{message:"Перезавантажте всі <strong>відкриті вебсторінки</strong>, щоб активувати розширення."},onboardingNote2:{message:"Дане розширення не працює з текстовими полями у <strong>Chrome Web Store</strong> та <strong>addons.mozilla.org</strong>."},onboardingNote3:{message:"Щоб вимкнути розширення для вебсайту, натисніть на <strong>іконку LT на панелі інструментів браузера</strong>"},onboardingNote4:{message:"<strong>Синоніми</strong> можна викликати подвійним натисканням на слово в текстовому полі (наприклад, в Gmail, Facebook та Google Docs)"},onboardingNoteThunderbird1:{message:"Створіть новий лист, щоб активувати розширення."},onboardingNoteThunderbird2:{message:"Щоб вимкнути розширення, клацніть значок LT в правому верхньому куті вікна створення електронного листа."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Комбінація клавіш"},openCardHotkeyExpl:{message:"<strong>Двічі швидко</strong> натисніть цю клавішу, коли миготливий текстовий курсор знаходиться на виділеному слові. Це працює і для синонімів."},openCardHotkeyOff:{message:"Вимкнено"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Зовнішній сервер – необхідно, щоб на ньому був запущений сервер LanguageTool"},overleafNewTeaserHeadline:{message:"LanguageTool для Overleaf"},overleafNewTeaserText:{message:"Прокрутіть текст, щоб побачити поради щодо орфографії, граматики та стилістики."},oxfordSpellingOptionLabel:{message:"Віддавати перевагу оксфордському написанню"},password:{message:"Пароль:"},personalDictionaryMultipleWordError:{message:"Багатослівні вирази підтримуються лише для користувачів, які мають обліковий запис LanguageTool"},phrasesCardCaption:{message:"Перефразування"},phrasesCardConfirmationButton:{message:"Прийняти політику конфіденційності"},phrasesCardConfirmationHeading:{message:"Перефразуйте речення за допомогою ШІ"},phrasesCardConfirmationText:{message:"Потрібен більш лаконічний текст чи треба змінити рівень його формальності? Ми допоможемо. Зверніться до нашої <a target='_blank' href='$privacyUrl$' rel='noopener'>Політики конфіденційності</a> щодо обробки даних.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Всі результати"},phrasesCardGeneralError:{message:"Під час завантаження фраз сталася помилка"},phrasesCardHeadline:{message:"Альтернативи, створені штучним інтелектом"},phrasesCardLabelFluency:{message:"Милозвучно"},phrasesCardLabelFormality:{message:"Офіційно"},phrasesCardLabelGeneral:{message:"Альтернативно"},phrasesCardLabelParaphrase:{message:"Милозвучно"},phrasesCardLabelShortened:{message:"Лаконічно"},phrasesCardLabelSimplicity:{message:"Просто"},phrasesCardNoResult:{message:"На жаль, для цього речення немає перефразування."},phrasesCardNoSentence:{message:"Речення не виявлено."},phrasesCardNotSupportedHeading:{message:"Перефразування речення недоступне… поки що"},phrasesCardNotSupportedText:{message:"Перефразування речень наразі недоступне лише для цієї мови (доступне для англійської, іспанської, ...). Ми <strong>докладаємо всіх зусиль</strong>, щоб якнайшвидше зробити його доступним для інших мов."},phrasesCardRephrasingLimitPlural:{message:"Сьогодні тільки ще <strong>$count$</strong> речення|<strong>$count$</strong> речень",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Сьогодні тільки ще <strong>одне</strong> речення"},phrasesCardRephrasingLimitUnlock:{message:"Необмежені перефразування"},phrasesCardSentencePrefix:{message:"Оригінал"},phrasesCardTimeoutError:{message:"Сервер не відповів вчасно."},pl:{message:"Польська"},popupGeneralSettingsHeadline:{message:"Загальні налаштування"},popupGlobalSettingsHeadline:{message:"Глобальні налаштування"},popupGlobalSettingsHeadlineInfo:{message:"Всі вебсайти"},popupOnboardingHeadline:{message:"Ласкаво просимо! Тепер ви можете використовувати LanguageTool:"},popupOnboardingStep1:{message:"Натисніть на будь-яке багаторядкове текстове поле (наприклад, у Gmail, Facebook, …)"},popupOnboardingStep2:{message:"В правому нижньому кутку ви побачите іконку, яка виглядатиме як $icon1Html$ або $icon2Html$",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Введіть який-небудь текст. Помилки будуть <u>підкреслені</u>"},popupOnboardingStep4:{message:"Натисніть на підкреслене слово, щоб отримати пропозиції щодо виправлення"},popupOpenEditorButton:{message:"Відкрити редактор"},popupOptionCaseText:{message:"Перевіряти верхній та нижній регістри"},popupOptionCheckText:{message:"Увімкніть LanguageTool"},popupOptionContextMenu:{message:"Показати в контекстному меню"},popupOptionContextMenuDescription:{message:"Виділіть текст на будь-якому вебсайті, клацніть правою кнопкою миші та перевірте його на наявність граматичних помилок."},popupOptionPickyMode:{message:"Ретельний режим"},popupOptionPickyModeDescription:{message:"Для бездоганної стилістики, тональності та відповідності друкарським нормам"},popupOptionRephrasing:{message:"Функція перефразування"},popupOptionRephrasingDescription:{message:"Ця функція з підтримкою ШІ дозволяє перефразовувати цілі речення. Щоб нею скористатися, наведіть вказівник миші на значок перефразування, розташований у нижньому правому куті кожного текстового поля."},popupOptionSynonyms:{message:"Увімкнути подвійне клацання"},popupOptionSynonymsDescription:{message:"Двічі клацніть будь-яке слово, щоб побачити синоніми."},popupOptionValidate:{message:"Check selected text"},popupOptionValidateInEditor:{message:"Перевірте виділений текст у редакторі"},popupPremiumHeadline:{message:"Пишіть як Pro"},popupPremiumLink:{message:"Дізнатись більше"},popupPremiumText:{message:"Оновіться до LanguageTool Premium, щоб не тільки знаходити ще більше граматичних та орфографічних помилок, а й стилістичні недоліки."},popupSettingsHeadline:{message:"Налаштування для даного сайту"},popupSettingsHeadlineInfo:{message:"Цей вебсайт"},popupSettingsHover:{message:"Розширені налаштування"},popupUserStatisticsHover:{message:"Показати статистику використання"},poweredBy:{message:"Powered by <b>LanguageTool</b>"},premiumErrorsButton:{message:"Детальніше"},premiumErrorsTextPlural:{message:"Ваш текст містить <strong>$count$ просунутих писемних помилок</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Ваш текст містить <strong>одну просунуту писемну помилку</strong>"},privacyHeadline:{message:"Ласкаво просимо до LanguageTool"},privacyLinkForDefaultServer:{message:"Для додаткової інформації дивіться <a href='$privacyUrl$' target='_blank'> нашу політику конфіденційності</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Перевірку можна <strong>вимкнути в будь-який момент</strong>"},privacyListUnsaved:{message:"<strong>Ваш текст не буде збережено</strong>"},privacyNoteForDefaultServer:{message:"Це розширення перевірить ваш текст, надіславши його на <a href='$serverUrl$' target='_blank'>$serverHost$</a> через зашифроване з'єднання.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Це розширення перевірить ваш текст, надіславши його до $serverUrl$. Щоб повернутися до сервера за умовчанням, відвідайте сторінку параметрів розширення.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Ваш помічник з письмового викладу"},privacyPolicy:{message:"Політика конфіденційності"},pt:{message:"Португальська"},pt_AO:{message:"Португальська (Ангола preAO)"},pt_BR:{message:"Португальська (Бразилія posAO)"},pt_CV:{message:"Португальська (Капе Верде)"},pt_MZ:{message:"Португальська (Мозамбік preAO)"},pt_PT:{message:"Португальська (Португалія posAO)"},pt_PT_post_reform:{message:"Португальська (Португалія, після реформи)"},pt_PT_pre_reform:{message:"Португальська (Португалія, дореформений)"},punctuationError:{message:"Пунктуаційна"},ratingHeadline:{message:"Вам подобається наш коректор тексту?"},ratingText:{message:"Залиште свій відгук"},ratingThankYou:{message:"Дякуємо."},ratingUnhappyQuestion:{message:"Будь ласка, розкажіть нам, чому ви невдовлені розширенням"},removeExtraWhitespace:{message:"Видаліть зайвий пробіл"},rephrasingTeaserCaption:{message:"Потрібно більше відразу?"},rephrasingTeaserCountdownSuffix:{message:"$count$ перефразування|$count$ перефразувань",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Завтра буде більше"},rephrasingTeaserCta:{message:"Розблокуйте всі переваги Premium"},rephrasingTeaserDescription:{message:"Отримайте необмежену кількість перефразувань і багато іншого:"},rephrasingTeaserListItem1:{message:"<strong>Перевірка до $count$</strong> символів в одному тексті",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Просунуті стилістичні підказки</strong> для бездоганних текстів"},rephrasingTeaserListItem3:{message:"<strong>Необмежену кількість перефразувань</strong>, щоб урізноманітнити лексику тексту"},replaceWithWhitespace:{message:"Замінити пробілом"},reportAnIssue:{message:"Надіслати відгук"},reviewChromeHeadline:{message:"Чи не могли б ви оцінити наше розширення в Chrome Store?"},reviewEdgeHeadline:{message:"Чи не могли б ви оцінити наше розширення в Edge Add-on Store?"},reviewFirefoxHeadline:{message:"Чи не могли б ви оцінити наше розширення в Firefox Store?"},reviewLink:{message:"Оцінити"},reviewOperaHeadline:{message:"Чи не могли б ви оцінити наше розширення в Opera Add-on Store?"},reviewSafariHeadline:{message:"Бажаєте дати нам оцінку в App Store?"},ro:{message:"Румунська"},ru:{message:"Російська"},save:{message:"Зберегти"},sendFeedback:{message:"Надіслати відгук"},sentenceSplittingCardApplyButtonLabel:{message:"Вжити"},sentenceSplittingCardHeadlineApply:{message:"Поради:"},sentenceSplittingCardHeadlineLoading:{message:"Розділ речення..."},sentenceSplittingCardHeadlineMissing:{message:"Порад не знайдено"},serverNotAvailable:{message:"Локальний сервер недоступний"},serverText:{message:"Сервер LanguageTool:"},serverUrlIsInvalid:{message:"Недійсний URL"},settingsAccountBulletListEditor:{message:"Ваш ненав'язливий помічник у письмі"},settingsAccountBulletListSave:{message:"Збережіть тексти на потім "},settingsAccountBulletListSync:{message:"Синхронізуйте свої налаштування та особистий словник у кількох браузерах та на різних пристроях."},settingsAccountDescription:{message:"Увійдіть у систему та скористайтеся наступними перевагами:"},settingsAccountHeadline:{message:"Акаунт"},settingsAccountSubheadline:{message:"Увійдіть у свій обліковий запис LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Цей домен ще не додано. Натисніть RETURN, щоб додати його."},settingsAddDomainHint:{message:"Цей домен ще не додано. Натисніть RETURN, щоб додати його."},settingsAddIgnoredDomainHint:{message:"Цей домен ще не додано. Натисніть RETURN, щоб додати його."},settingsAddOrFilterAutoCheckDomains:{message:"Добавити або знайти домен …"},settingsAddOrFilterDomains:{message:"Додати або знайти домен …"},settingsAddOrFilterIgnoredDomains:{message:"Добавити або знайти домен …"},settingsAddOrFilterWords:{message:"Додати або знайти слово …"},settingsAddWordHint:{message:"Цього слова ще немає у вашому словнику. Натисніть RETURN, щоб додати його."},settingsAreYouSure:{message:"Ви впевнені? Цю дію буде неможливо скасувати."},settingsCheckForPaidSubscriptionError:{message:"Не вдалося перевірити ваш статус щодо передплати"},settingsClearAll:{message:"Видалити все"},settingsCopyDictionary:{message:"Скопіювати"},settingsCopyDictionarySuccessful:{message:"Скопійовано в буфер обміну"},settingsDeleteAutoCheckDomain:{message:"Видалити домен"},settingsDeleteIgnoredDomain:{message:"Видалити домен"},settingsDictionaryHeadline:{message:"Персональний словник"},settingsDomainInvalid:{message:"Введіть дійсний домен, який ще не додано."},settingsEmptyAutoCheckDomains:{message:"Автоперевірку вимкнено для всіх сайтів"},settingsEmptyDictionary:{message:"Ваш персональний словник поки порожній"},settingsEmptyDomainList:{message:"Перевірку включено на всіх сайтах"},settingsEmptyIgnoredDomains:{message:"Автоперевірку включено на всіх сайтах"},settingsEmptyIgnoredRules:{message:"Поки що всі правила включені. Правила, що з'являються в тексті, можна відключати."},settingsEnableAllRules:{message:"Активувати все"},settingsEnableDomain:{message:"Активувати домен"},settingsExperimentalSuccess:{message:"Ваші налаштування успішно збережено."},settingsForgotPasswordLink:{message:"Забули пароль?"},settingsHeadline:{message:"Налаштування"},settingsLanguageVariantsDescription:{message:"Оберіть варіанти мови, до яких ви б хотіли отримувати рекомендації."},settingsLanguageVariantsHeadline:{message:"Варіанти мови"},settingsLoggedInAs:{message:"Ви увійшли як $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Увійти"},settingsLoginError:{message:"Помилка авторизації. Перевірте свою електронну адресу та пароль."},settingsLoginSuccess:{message:"Тепер ви авторизовані"},settingsLogoutButton:{message:"Вийти"},settingsLogoutSuccess:{message:"Ви деавторизувались"},settingsManageAccountButton:{message:"Управління обліковим записом"},settingsPasswordPlaceholder:{message:"Пароль"},settingsPreferredLanguagesCompleteList:{message:"Всі мови"},settingsPreferredLanguagesDescription:{message:"Оберіть мови, якими ви зазвичай пишете. Це допоможе LanguageTool автоматично визначати потрібну мову."},settingsPreferredLanguagesHeadline:{message:"Мої мови"},settingsPreferredLanguagesPopularList:{message:"Популярні мови"},settingsPremiumButton:{message:"Відкрийте для себе LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Усі <strong>преміум можливості</strong> активовано."},settingsPremiumHeadline:{message:"Покращіть якість вашого письма"},settingsPremiumText:{message:"Знаходьте просунуті граматичні, стилістичні та пунктуаційні помилки або перевіряйте тексти довжиною понад 150 000 символів."},settingsServerUrlDisabled:{message:"Встановити власний сервер можна лише при виході зі свого облікового запису LanguageTool."},settingsUnknownError:{message:"Сталася неочікувана помилка"},siteDisabledPerGroupPolicy:{message:"Checking on this site is disabled per Group Policy."},siteTemporarilyUnsupported:{message:"На жаль, LanguageTool тимчасово вимкнув підтримку цього вебсайту. Наразі ми працюємо над виправленням."},sk:{message:"Словацька"},skip:{message:"Пропустити"},sl:{message:"Словенська"},spellingError:{message:"Орфографічна"},sr:{message:"Сербська"},sr_BA:{message:"Сербська (Боснія)"},sr_HR:{message:"Сербська (Хорватія)"},sr_ME:{message:"Сербська (Чорногорія)"},sr_RS:{message:"Сербська (Сербія)"},statusIconEnableLT:{message:"Увімкнути LanguageTool – коректор граматики та орфографії"},statusIconError:{message:"Помилка"},statusIconMoreErrors:{message:"Результат перевірки неповний: Перевірка тексту була перервана через велику кількість помилок."},statusIconPermissionRequired:{message:"Перевірка тексту неможлива – спочатку прийміть політику конфіденційності"},statusIconReload:{message:"Розширення було оновлено. Будь ласка, перезавантажте сторінку, щоб активувати перевірку орфографії та граматики."},statusIconToolTip:{message:"LanguageTool – коректор граматики та орфографії"},suggestionError:{message:"Стилістична"},suggestionOnlyVisibleToPremiumButton:{message:"Отримайте доступ до всіх переваг Premium"},suggestionOnlyVisibleToPremiumText:{message:"Ця порада доступна лише в преміальній версії LanguageTool. Перейдіть до Premium, щоб отримувати подібні поради та багато іншого."},sv:{message:"Шведська"},switchToAmericanEnglish:{message:"Переключитися на американську англійську"},switchToAustralianEnglish:{message:"Переключитися на австралійську англійську"},switchToBritishEnglish:{message:"Переключитися на британську англійську"},switchToCanadianEnglish:{message:"Переключитися на канадську англійську"},switchToNewZealandEnglish:{message:"Переключитися на новозеландську англійську"},switchToSouthAfricanEnglish:{message:"Переключитися на південноафриканську англійську"},synonymsCardGeneralError:{message:"При завантаженні синонімів виникла помилка"},synonymsCardHeadline:{message:"Синоніми"},synonymsCardLanguageNotSupported:{message:"Виклик синонімів для цієї мови поки не підтримується."},synonymsCardLess:{message:"менше"},synonymsCardLoadMoreAlternatives:{message:"завантажити більше варіантів"},synonymsCardLoading:{message:"Завантаження …"},synonymsCardMore:{message:"більше"},synonymsCardNoSynonymsAvailable:{message:"Для цього слова немає задовільних синонімів"},synonymsCardProvidedBy:{message:"Надано <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Речення"},synonymsCardTabWord:{message:"Слово"},synonymsCardTooltipReadText:{message:"Вимовте слово"},synonymsTutorialHeadline:{message:"Як побачити синоніми"},synonymsTutorialText:{message:"Отримайте синоніми для будь-якого слова подвійним натисканням! Це працює для будь-якого текстового поля, яке підтримує LanguageTool."},ta:{message:"Тамільська"},textTooLong:{message:"Вибачте, але цей текст занадто довгий для перевірки."},timeoutError:{message:"Тайм-аут від сервера, спробуйте знову пізніше ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Тагальська"},tooManyErrors:{message:"Здається, що в цьому тексті занадто багато помилок. Ви впевнені що обрано вірну мову?"},tooManyRequests:{message:"Перевищено ліміт запитів – зачекайте хвилину, і LanguageTool знову стане доступним."},toolbarDisableMenuDisableChecking:{message:"Відключити на цьому вебсайті"},toolbarDisableMenuPauseChecking:{message:"Відключити тільки до наступного разу"},toolbarTooltipDisableChecking:{message:"Вимкнути перевірку"},toolbarTooltipRephrasing:{message:"Перефразування речень"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Перефразування речень наразі недоступне цією мовою.Перефразування речень наразі недоступне цією мовою."},tr:{message:"Турецька"},tryAgain:{message:"Спробувати ще раз"},turnOffPickyMode:{message:"Вимкнути ретельний режим для цього тексту"},turnOffRule:{message:"Відключити правило всюди"},turnOffRulePicky:{message:"У ретельному режимі граматичні підказки не можна вимкнути"},turnOnHint:{message:"You can enable the extension again here"},uk:{message:"Українська"},unknownError:{message:"Вибачте, але під час перевірки тексту щось пішло не так. Перезапуск браузера можливо зможе виправити цю проблему."},upgradeTeaserDiscount:{message:"Заощадьте $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Обмежена за часом пропозиція"},username:{message:"Електронна пошта:"},validatorHasMistakesHeadlinePlural:{message:"Знайдено $count$ письмових помилок",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Знайдено одну письмову помилку"},validatorHasMistakesText:{message:"Натисніть на підсвічені слова, щоб виправити їх."},validatorHasPremiumErrorsButton:{message:"Детальніше"},validatorHasPremiumErrorsHeadlinePlural:{message:"Ваш текст містить $count$ просунутих писемних помилок",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Ваш текст містить одну просунуту писемну помилку"},validatorHasPremiumErrorsText:{message:"Перейдіть на LanguageTool Premium, щоб знаходити ще більше граматичних, стилістичних та пунктуаційних помилок"},validatorLoadingHint:{message:"Перевіряємо текст…"},validatorNoMistakesHeadline:{message:"Вітаємо, не знайдено жодної помилки!"},validatorNoTextStatus:{message:"Введіть або вставте текст, щоб перевірити його"},validatorPlaceholder:{message:"Будь ласка, введіть або вставте ваш текст тут …"},validatorPremiumButton:{message:"Оновити"},validatorPremiumHeadline:{message:"Знаходьте більше письмових помилок та покращте своє письмо"},validatorPremiumReason1:{message:"Ретельніша перевірка граматики, пунктуації та стилістики"},validatorPremiumReason2:{message:"Перевіряйте великі тексти (до 150 000 символів)"},validatorPremiumReason3:{message:"Автовизначення недійсних номерів (наприклад IBAN, ISBN тощо)"},validatorPremiumReason4:{message:"Розширення для Microsoft Office"},validatorTextTooLongStatus:{message:"Вибачте, але цей текст надто довгий для перевірки."},variantCaDesc:{message:"Вважати для каталонської типовим варіант:"},variantDeDesc:{message:"Вважати для німецької типовим варіант:"},variantEnDesc:{message:"Вважати для англійської типовим варіант:"},variantPtDesc:{message:"Вважати для португальської типовим варіант:"},webstoreSiteNotSupported:{message:"На жаль, LanguageTool не працює на сайті Chrome Web Store. Але наша програма працює на інших сайтах (наприклад Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Китайська"}},ru:{accessDeniedError2:{message:"Сервер отправил сообщение «Доступ запрещен». Проверьте свой адрес электронной почты и пароль в настройках и повторите попытку."},addLanguage:{message:"Добавить язык"},addToDictionaryCaption:{message:'Добавить "$word$" в персональный словарь',placeholders:{word:{content:"$1",example:"foobar"}}},additionalErrorSuggestionApplyButtonLabel:{message:"Применить"},appDesc:{message:"Улучшайте свои тексты с помощью инструмента проверки грамматики и орфографии LanguageTool"},appDescThunderbird:{message:"Проверьте свою переписку через электронную почту на наличие проблем с орфографией и грамматикой"},appName:{message:"LanguageTool – корректор грамматики и орфографии"},ar:{message:"Арабский"},ast:{message:"Астурийский"},attachScreenshot:{message:"Прикрепить скриншот страницы"},autoCheckDesc:{message:"Включить автопроверку для всех доменов по умолчанию"},autoCheckOnDomainsDesc:{message:"Включить автопроверку для этих доменов:"},be:{message:"Белорусский"},br:{message:"Бретонский"},ca:{message:"Каталанский"},ca_ES_valencia:{message:"Каталанский (Валенсия)"},cardContentShowAll:{message:"Развернуть"},cardContentShowSubset:{message:"Свернуть"},cardSelectorLabelChecker:{message:"Корректировка"},cardSelectorLabelParaphraser:{message:"Перефразирование"},changelogDiscountExpires:{message:"Предложение истекает"},changelogTitle:{message:"Новые возможности LanguageTool"},close:{message:"Закрыть"},cloudServer:{message:"Облачный сервер (languagetool.org)"},confirm:{message:"Ок, понятно"},connectionProblem:{message:"Не удаётся соединиться с $serverUrl$ – проверьте соединение с сетью или попробуйте снова через минуту",placeholders:{serverUrl:{content:"$1",example:"https://api.languagetool.org/v2"}}},contextMenuValidate:{message:"Проверить орфографию и грамматику..."},contextMenuValidateInEditor:{message:"Проверить текст в редакторе"},continue:{message:"Продолжить"},correctAllQuotes:{message:"Исправить все кавычки"},customSuggestionError:{message:"Руководство по стилю"},da:{message:"Датский"},da_DK:{message:"Датский (Дания)"},de:{message:"Немецкий"},de_AT:{message:"Немецкий (Австрия)"},de_CH:{message:"Немецкий (Швейцария)"},de_DE:{message:"Немецкий (Германия)"},de_DE_x_simple_language:{message:"Немецкий (Простой немецкий)"},defaultServerLink:{message:"Использовать настройки по умолчанию"},deleteWord:{message:"Удалить"},desktopAppAction:{message:"Download for FREE"},desktopAppHeadlineMac:{message:"Check Texts in Your Favorite Apps"},desktopAppHeadlineWindows:{message:"Check Texts in Your Favorite Apps"},desktopAppTextMac:{message:"LanguageTool for Mac corrects your writing directly in Apple Mail, Pages, Word, Slack, and many more applications."},desktopAppTextWindows:{message:"LanguageTool for Windows is now available and corrects your writing directly in Outlook, Word, and many more applications."},dialogAllLanguages:{message:"Все языки:"},dialogCounterCharactersOption:{message:"Знаков"},dialogCounterCharactersPlural:{message:"Знаков: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterCharactersSingular:{message:"Знаков: 1"},dialogCounterSentencesOption:{message:"Предложений"},dialogCounterSentencesPlural:{message:"Предложений: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterSentencesSingular:{message:"Предложений: 1"},dialogCounterWordsOption:{message:"Слов"},dialogCounterWordsPlural:{message:"Слов: $number$",placeholders:{number:{content:"$1",example:"20"}}},dialogCounterWordsSingular:{message:"Слов: 1"},dialogDisableMenuDisableChecking:{message:"Отключить для этого сайта"},dialogDisableMenuPauseChecking:{message:"Отключить только до следующего сеанса"},dialogEnableInDialogHeadline:{message:"Расширение отключено"},dialogEnableInDialogText:{message:"Нажмите для включения проверки орфографии и грамматики."},dialogFailStateHeadline:{message:"Ой..."},dialogFailStateText:{message:"Что-то пошло не так. Пожалуйста, попробуйте снова."},dialogMainMenuPickyMode:{message:"Придирчивый режим"},dialogMainMenuPickyModeInfo:{message:"Включите придирчивый режим, чтобы улучшить свои тексты."},dialogMainMenuPremiumMistake:{message:"Премиальные предложения"},dialogMainMenuRegularMistake:{message:"Предложения"},dialogMainMenuTextScore:{message:"Оценка текста"},dialogNeedsLanguageHintHeadline:{message:"Язык не может быть определён"},dialogNeedsLanguageHintIgnore:{message:"Игнорировать сейчас"},dialogNeedsLanguageHintText:{message:"Не удалось определить язык вашего текста. Установите его вручную, либо продолжайте печатать."},dialogPositionMenuDefault:{message:"По умолчанию"},dialogPositionMenuLeft:{message:"Налево"},dialogPositionMenuRight:{message:"Направо"},dialogPremiumButton:{message:"Подробнее"},dialogPremiumHeadlinePlural:{message:"Найдено еще $count$ ошибок(-ки)",placeholders:{count:{content:"$1",example:"7"}}},dialogPremiumHeadlineSingular:{message:"Найдена ещё одна ошибка"},dialogPremiumText:{message:"Получайте ещё больше подсказок по стилистике, пунктуации и грамматике, используя LanguageTool Premium"},dialogRecommendedLanguages:{message:"Рекомендованные:"},dialogScrollHintHeadline:{message:"Исправления"},dialogScrollHintText:{message:"Прокрутить текст далее для просмотра полного списка исправлений"},dialogScrollToLink:{message:"Показать в тексте"},dialogSelectLanguageLabel:{message:"Выберите язык"},dialogTextTooLongButton:{message:"Подробнее"},dialogTextTooLongHeadline:{message:"Этот текст слишком длинный"},dialogTextTooLongText:{message:"Перейдите на версию Premium и получайте расширенные подсказки по грамматике и стилистике для длинных текстов."},dialogTextTooShortHeadline:{message:"Текст слишком короткий"},dialogTextTooShortText:{message:"Пожалуйста, введите по меньшей мере 5 символов, чтобы начать проверку ошибок"},dialogTooltipDisableChecking:{message:"Отключить проверку"},dialogTooltipHelp:{message:"Помощь"},dialogTooltipHelpCenter:{message:"Перейти в центр помощи"},dialogTooltipPosition:{message:"Позиция диалога"},dialogTooltipSaveText:{message:"Сохранить текст"},dialogTooltipSendFeedback:{message:"Отправить отзыв"},dialogTooltipSettings:{message:"Настройки"},dialogTooltipUserStatistics:{message:"Статистика использования"},dialogUnsupportedLanguageHeadline:{message:"Этот язык не поддерживается"},dialogUnsupportedLanguageLabel:{message:"Неподдерживаемый язык"},dialogUnsupportedLanguageText:{message:"LanguageTool поддерживает более 30 других языков (например, английский, русский, немецкий, испанский, французский, португальский и нидерландский)."},dismissSuggestions:{message:"Игнорировать"},domainsDesc:{message:"Проверка отключена для некоторых доменов"},edgeWebstoreSiteNotSupported:{message:"К сожалению, LanguageTool не работает на сайте Edge Add-on Store. Но наша программа работает на любом другом сайте (например VK, Facebook, Gmail, Twitter, LinkedIn)"},editorCardNextIssue:{message:"Следующая ошибка"},editorCardNextSentence:{message:"Следующее предложение"},el:{message:"Греческий"},en:{message:"Английский"},en_AU:{message:"Английский (Австралия)"},en_CA:{message:"Английский (Канада)"},en_GB:{message:"Английский (Великобритания)"},en_NZ:{message:"Английский (Новая Зеландия)"},en_US:{message:"Английский (США)"},en_ZA:{message:"Английский (Южная Африка)"},enableEverywhereButton:{message:"Включить для всех текстовых полей"},enableHereButton:{message:"Включить только для этого текстового поля"},enableInDialog:{message:"Кликните, чтобы включить проверку<br>орфографии и грамматики"},enableRuleTooltip:{message:"Активировать правило"},eo:{message:"Эсперанто"},errorCardAllDoneCaption:{message:"Ура, не найдено ни одной ошибки!"},errorCardAllDoneDescription:{message:"Вы можете гордиться собой"},errorCardHiddenMatchButton:{message:"Разблокировать все"},errorCardHiddenMatchCaption:{message:"Premium"},errorCardKeyboardInstructions:{message:"Выберите через $enter$ или $shiftEnter$ для перехода к следующему",placeholders:{enter:{content:"$1",example:"Enter"},shiftEnter:{content:"$2",example:"Shift + Enter"}}},errorCardPremiumTeaserCaptionPlural:{message:"$count$ ещё скрытых ошибок найдено",placeholders:{count:{content:"$1",example:"7"}}},errorCardPremiumTeaserCaptionSingular:{message:"Найдено еще одно скрытое совпадение"},errorCardPremiumTeaserCta:{message:"Разблокировать все скрытые предложения"},errorCardPremiumTeaserGrammarSuggestions:{message:"Скрытые <lt-em>грамматические</lt-em> ошибки"},errorCardPremiumTeaserPunctuationSuggestions:{message:"Скрытые <lt-em>пунктуационные</lt-em> ошибки"},errorCardPremiumTeaserReadMore:{message:"Подробнее"},errorCardPremiumTeaserStyleSuggestions:{message:"Скрытые <lt-em>стилистические</lt-em> ошибки"},errorCardPremiumTeaserText:{message:"В этом тексте есть ещё ошибки, которые сможет найти только LanguageTool Premium."},errorCardTurnOffPickyModeButton:{message:"Выключить"},errorCardTurnOffPickyModeCaption:{message:"Придирчивый режим"},errorsIgnoredByDictionary:{message:"$countIgnoredByDictionary$ слов(а)(о) было игнорировано\n",placeholders:{countIgnoredByDictionary:{content:"$1",example:"1"}}},errorsIgnoredByDictionarySingular:{message:"Одно слово было игнорировано"},errorsIgnoredByRules:{message:"$countIgnoredByRules$ правил(а)(о) было игнорировано\n",placeholders:{countIgnoredByRules:{content:"$1",example:"1"}}},errorsIgnoredByRulesSingular:{message:"Одно правило было игнорировано"},es:{message:"Испанский"},eu:{message:"Баскский"},experimentalLink:{message:"Показать расширенные настройки (только для продвинутых пользователей)"},extensionUpdatedHeadline:{message:"Расширение было обновлено."},extensionUpdatedText:{message:"Нажмите на значок $iconHtml$ на панели инструментов браузера или перезагрузите страницу, чтобы снова включить проверку орфографии и грамматики.",placeholders:{iconHtml:{content:"$1",example:"<span class='lt-placeholder-icon'></span>"}}},fa:{message:"Персидский"},feedbackButton:{message:"Отправить сообщение для LanguageTool"},feedbackDirectMail:{message:"Если вы хотите отправить скриншот, то вы можете отправить нам его в электронном письме на адрес $email$.",placeholders:{email:{content:"$1",example:"feedback@languagetool.org"}}},feedbackError:{message:"Извините. Не получается отправить ваше сообщение. Пожалуйста, попробуйте позже ещё раз."},feedbackHeadline:{message:"Отправьте свой отзыв на LanguageTool"},feedbackPrivacyPolicy:{message:"Политика конфиденциальности"},feedbackSenderPlaceholder:{message:"Введите ваш e-mail…"},feedbackSuccess:{message:"Благодарим, что оставили свой отзыв."},feedbackTextPlaceholder:{message:"Введите ваше сообщение …"},fixSentenceCardHeadlineApply:{message:"Полностью исправленное предложение"},fixSentenceCardHeadlineLoading:{message:"Поиск вариантов исправления..."},fixSentenceCardHeadlineMissing:{message:"Извините, исправления не найдены"},forcePreferredLanguagesOptionLabel:{message:"Always only use these languages for automatic language detection"},fr:{message:"Французский"},ga:{message:"Ирландский"},generalSettingsHeadline:{message:"Общие настройки"},gl:{message:"Галисийский"},googleDocsDisableButton:{message:"Отключить LanguageTool в этом документе"},googleDocsEnableButton:{message:"Включить LanguageTool"},googleDocsEnableHint:{message:"Снова включить проверку грамматики и стилистики LanguageTool можно здесь"},googleDocsNewTeaserHeadline:{message:"LanguageTool для Google Docs уже здесь!"},googleDocsNewTeaserText:{message:"С боковой стороны каждой страницы теперь можно увидеть, сколько проблем обнаружил LanguageTool."},googleDocsPagelessModeUnsupported:{message:"Новый «безстраничный» режим пока не поддерживается. Мы уже работаем над этим."},googleSlidesDisableButton:{message:"Отключить LanguageTool для этой презентации"},googleSlidesEnableButton:{message:"Включить LanguageTool"},googleSlidesEnableHint:{message:"Включить проверку грамматики и стилистики LanguageTool можно здесь"},googleSlidesNewTeaserHeadline:{message:"LanguageTool для Google Slides здесь!"},googleSlidesNewTeaserText:{message:"Сбоку от каждого слайда теперь можно увидеть, сколько проблем в тексте обнаружил LanguageTool."},grammarError:{message:"Грамматическая"},haveAccountDesc:{message:"Создать учётную запись"},historicPremiumErrorsButton:{message:"Подробнее"},historicPremiumErrorsHeadline:{message:"А вы знаете?"},historicPremiumErrorsText:{message:"С LanguageTool Premium вы могли бы избежать <strong>$count$ грамматических и стилистических ошибок</strong> за последние дни.",placeholders:{count:{content:"$1",example:"9"}}},historicPremiumErrorsText2:{message:"<strong>$count$ грамматических и стилистических ошибок</strong> можно было бы избежать с LanguageTool Premium за последние дни.",placeholders:{count:{content:"$1",example:"9"}}},ignoreDomainsCheckDesc:{message:"Отключить автопроверку для этих доменов:"},ignoreHere:{message:"Игнорировать в этом тексте"},ignoredRules:{message:"Эти правила были отключены. Кликните по правилу, чтобы снова включить его:"},ignoredRulesDesc:{message:"Игнорируемые правила"},incompleteResult:{message:"Результат неполный: проверка была остановлена, так как слишком много ошибок найдено."},invalidUsernameOrPassword:{message:"Ошибка: проверьте ваш e-mail и пароль в настройках"},is:{message:"Исландский"},it:{message:"Итальянский"},ja:{message:"Японский"},km:{message:"Кхмерский"},language:{message:"Язык:"},languageOptionsLink:{message:"Настройки языка"},languagetoolNotSupported:{message:"Расширение не работает на данном сайте, так как сайт предлагает схожий функционал"},localServer:{message:"Локальный сервер (localhost) – требуется, чтобы сервер LanguageTool был запущен локально"},localServerDocs:{message:"документация"},lt:{message:"Литовский"},managedLoginButton1:{message:"Войти"},managedLoginButton2:{message:"Войти под вашим корпоративным аккаунтом"},managedLoginDescription:{message:"Пожалуйста, войдите в систему под своим корпоративным аккаунтом, чтобы использовать LanguageTool."},managedLoginHeadline:{message:"Войти"},messagePopupTurnOnPrimaryButton:{message:"Получить!"},messagePopupTurnOnSecondaryButton:{message:"Перезапустить проверку текста"},messagePopupTurnOnheadline:{message:"Проверка орфографии отключена для этой страницы"},messagePopupTurnOntext:{message:"Для включения проверки щёлкните по значку LT на панели инструментов и нажмите на «Проверять грамматику и орфографию»"},ml:{message:"Малайский"},moreDetails:{message:"Подробнее..."},motherTongueDesc:{message:"Родной язык"},motherTongueExpl:{message:"Выберите ваш родной язык для того, чтобы быть предупреждённым о наличии межъязыковых омонимов при проверке текста, написанного не на вашем родном языке."},msOnlineOfficeNotSupported:{message:"К сожалению, Microsoft Word Online не поддерживается этим расширением – попробуйте установить <a target='_blank' href='$url$'>это расширение</a>.",placeholders:{url:{content:"$1",example:"https://appsource.microsoft.com/de-de/product/office/WA104381727"}}},nl:{message:"Нидерландский"},no:{message:"Норвежский"},noErrorsFound2:{message:"Ура, не найдено ни одной ошибки!"},noErrorsFoundText:{message:"Вы можете гордиться собой"},notificationUndoDescription:{message:"Нажмите %{cmd} для отмены"},notificationUndoLabel:{message:"Применено перефразирование"},onboardLanguageSelectorCta:{message:"Начните использовать LanguageTool"},onboardLanguageSelectorDescription:{message:"Чтобы предоставить вам наилучшие предложения, нам нужно знать, какие языки вы используете чаще всего."},onboardLanguageSelectorHeading:{message:"Выберите языки, на которых обычно пишете"},onboardingHeadline:{message:"Ваше письмо теперь будет лучше"},onboardingIntro:{message:"Ваш текст теперь будет проверяться во время ввода в большинстве текстовых полей."},onboardingIntroThunderbird:{message:"Теперь ваш текст будет проверяться во время написания электронных писем."},onboardingNote1:{message:"Перезагрузите все открытые веб-страницы, чтобы активировать расширение"},onboardingNote2:{message:"Данное расширение не работает с текстовыми полями на Chrome Web Store или addons.mozilla.org"},onboardingNote3:{message:"Чтобы отключить расширение для веб-сайта, кликните по значку «LT» на панели инструментов браузера"},onboardingNote4:{message:"<strong>Синонимы</strong> можно вызвать двойным кликом по слову в текстовом поле (например, в Gmail, Facebook или Google Docs)"},onboardingNoteThunderbird1:{message:"Начните новое электронное письмо, чтобы активировать расширение."},onboardingNoteThunderbird2:{message:"Чтобы отключить расширение, щёлкните значок LT в правом верхнем углу окна создания электронной почты."},openCardHotkeyAlt:{message:"Alt"},openCardHotkeyCtrl:{message:"Ctrl"},openCardHotkeyDesc:{message:"Сочетание клавиш"},openCardHotkeyExpl:{message:"<strong>Дважды нажмите</strong> эту клавишу быстро, когда мигающий текстовый курсор находится на выделенном слове. Это действие работает и для синонимов."},openCardHotkeyOff:{message:"Выкл"},openCardHotkeyShift:{message:"Shift"},otherServer:{message:"Внешний сервер – требуется, чтобы на нём был запущен сервер LanguageTool"},overleafNewTeaserHeadline:{message:"LanguageTool для Overleaf здесь!"},overleafNewTeaserText:{message:"Пролистайте текст, чтобы увидеть советы по орфографии, грамматики и стилистике."},oxfordSpellingOptionLabel:{message:"Предпочитать оксфордскую орфографию"},password:{message:"Пароль:"},personalDictionaryMultipleWordError:{message:"Выражения из нескольких слов поддерживаются только для пользователей, у которых есть учётная запись LanguageTool"},phrasesCardCaption:{message:"Перефразировать"},phrasesCardConfirmationButton:{message:"Принять политику конфиденциальности"},phrasesCardConfirmationHeading:{message:"Интеллектуальное перефразирование предложений"},phrasesCardConfirmationText:{message:"Необходим более лаконичный текст или нужно изменить уровень его формальности? Мы поможем. Обратитесь к нашей <a target='_blank' href='$privacyUrl$' rel='noopener'>Политике конфиденциальности</a> в отношении обработки данных.",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/legal/privacy"}}},phrasesCardFilterEmpty:{message:"Все результаты"},phrasesCardGeneralError:{message:"Произошла ошибка загрузки фраз"},phrasesCardHeadline:{message:"Автоматически созданные варианты"},phrasesCardLabelFluency:{message:"Благозвучнее"},phrasesCardLabelFormality:{message:"Более формально"},phrasesCardLabelGeneral:{message:"Альтернативно"},phrasesCardLabelParaphrase:{message:"Благозвучнее"},phrasesCardLabelShortened:{message:"Короче"},phrasesCardLabelSimplicity:{message:"Проще"},phrasesCardNoResult:{message:"К сожалению, это предложение невозможно перефразировать."},phrasesCardNoSentence:{message:"Не удалось обнаружить предложение."},phrasesCardNotSupportedHeading:{message:"Перефразирование предложения пока недоступно..."},phrasesCardNotSupportedText:{message:"Перефразирование предложений в настоящее время недоступно для этого языка (кроме английского, испанского, …). Мы <strong> прилагаем все усилия</strong>, чтобы сделать его доступным для других языков."},phrasesCardRephrasingLimitPlural:{message:"Сегодня только на <strong>$count$</strong> предложений больше",placeholders:{count:{content:"$1",example:"3"}}},phrasesCardRephrasingLimitSingular:{message:"Сегодня только <strong>ещё одно</strong> предложение"},phrasesCardRephrasingLimitUnlock:{message:"Перефразировки без ограничений"},phrasesCardSentencePrefix:{message:"Оригинал"},phrasesCardTimeoutError:{message:"Сервер не отвечает."},pl:{message:"Польский"},popupGeneralSettingsHeadline:{message:"Общие настройки"},popupGlobalSettingsHeadline:{message:"Глобальные настройки"},popupGlobalSettingsHeadlineInfo:{message:"Все сайты"},popupOnboardingHeadline:{message:"Добро пожаловать! Теперь вы можете использовать LanguageTool:"},popupOnboardingStep1:{message:"Кликните по любому многострочному текстовому полю (например, в Gmail, Facebook, …)"},popupOnboardingStep2:{message:"В правом нижнем углу вы увидите иконку, которая выглядит как $icon1Html$ или $icon2Html$",placeholders:{icon1Html:{content:"$1",example:"<span class='icon-1'></span>"},icon2Html:{content:"$2",example:"<span class='icon-2'></span>"}}},popupOnboardingStep3:{message:"Введите какой-нибудь текст. Ошибки будут <u>подчёркнуты</u>"},popupOnboardingStep4:{message:"Кликните по подчёркнутому слову, чтобы получить предложения по исправлению"},popupOpenEditorButton:{message:"Открыть редактор"},popupOptionCaseText:{message:"Проверять верхний и нижний регистр"},popupOptionCheckText:{message:"Включить LanguageTool"},popupOptionContextMenu:{message:"Показать в контекстном меню"},popupOptionContextMenuDescription:{message:"Выберите текст на любом веб-сайте, щелкните правой кнопкой мыши и проверьте его на наличие грамматических ошибок."},popupOptionPickyMode:{message:"Придирчивый режим"},popupOptionPickyModeDescription:{message:"Для безупречной стилистики, тональности и соответствия типографским нормам"},popupOptionRephrasing:{message:"Функция перефразирования"},popupOptionRephrasingDescription:{message:"Данная функция с поддержкой ИИ позволяет перефразировать целые предложения. Чтобы ею воспользоваться, наведите указатель мыши на значок перефразирования, расположенный в правом нижнем углу каждого текстового поля."},popupOptionSynonyms:{message:"Включить двойной щелчок"},popupOptionSynonymsDescription:{message:"Дважды щёлкните по любому слову в многострочном текстовом поле, чтобы увидеть синонимы"},popupOptionValidate:{message:"Проверить выделенный текст"},popupOptionValidateInEditor:{message:"Проверить выделенный текст в редакторе"},popupPremiumHeadline:{message:"Пишите как профессионал"},popupPremiumLink:{message:"Узнать больше"},popupPremiumText:{message:"Обновитесь до LanguageTool Premium, чтобы находить не только ещё больше грамматических и орфографических ошибок, но и стилистические недочёты."},popupSettingsHeadline:{message:"Настройки для текущего сайта"},popupSettingsHeadlineInfo:{message:"Текущий сайт"},popupSettingsHover:{message:"Расширенные настройки"},popupUserStatisticsHover:{message:"Показать статистику использования"},poweredBy:{message:"Работает на движке <b>LanguageTool</b>"},premiumErrorsButton:{message:"Подробнее"},premiumErrorsTextPlural:{message:"Ваш текст содержит <strong>$count$ продвинутых письменных ошибок</strong>",placeholders:{count:{content:"$1",example:"7"}}},premiumErrorsTextSingular:{message:"Ваш текст содержит <strong>одну продвинутую письменную ошибку</strong>"},privacyHeadline:{message:"Добро пожаловать в мир LanguageTool"},privacyLinkForDefaultServer:{message:"Для получения дополнительных сведений смотрите <a href='$privacyUrl$' target='_blank'>нашу политику конфиденциальности</a>",placeholders:{privacyUrl:{content:"$1",example:"https://languagetool.org/privacy/"}}},privacyListSwitchable:{message:"Проверка может быть <strong>выключена в любой момент</strong>"},privacyListUnsaved:{message:"<strong>Текст не будет сохранён</strong>"},privacyNoteForDefaultServer:{message:"Это расширение будет проверять текст, отправляя его на <a href='$serverUrl$' target='_blank'>$serverHost$</a> через зашифрованное соединение.",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org"},serverHost:{content:"$2",example:"LanguageTool.org"}}},privacyNoteForOtherServer:{message:"Это расширение будет проверять текст путём отправки его на $serverUrl$. Чтобы переключиться обратно на сервер по умолчанию, посетите страницу с параметрами расширения.",placeholders:{serverUrl:{content:"$1",example:"http://localhost:8081/"}}},privacyNoteSlogan:{message:"Ваш помощник по письму"},privacyPolicy:{message:"Политика конфиденциальности"},pt:{message:"Португальский"},pt_AO:{message:"Португальский (Ангола, до реформы)"},pt_BR:{message:"Португальский (Бразилия, после реформы)"},pt_CV:{message:"Португальский (Кабо-Верде)"},pt_MZ:{message:"Португальский (Мозамбик, до реформы)"},pt_PT:{message:"Португальский (Португалия, после реформы)"},pt_PT_post_reform:{message:"Португальский (Португалия, после реформы)"},pt_PT_pre_reform:{message:"Португальский (Португалия, до реформы)"},punctuationError:{message:"Пунктуационная"},ratingHeadline:{message:"Вам нравится наш корректор текста?"},ratingText:{message:"Оставьте свой отзыв"},ratingThankYou:{message:"Благодарим вас."},ratingUnhappyQuestion:{message:"Пожалуйста, расскажите нам, почему вы недовольны расширением"},removeExtraWhitespace:{message:"Убрать лишние пробелы"},rephrasingTeaserCaption:{message:"Нужно больше прямо сейчас?"},rephrasingTeaserCountdownSuffix:{message:"$count$ перефразирования|$count$ перефразирований",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserCountdownText:{message:"Завтра будет больше"},rephrasingTeaserCta:{message:"Разблокируйте все преимущества Premium"},rephrasingTeaserDescription:{message:"Воспользуйтесь неограниченным количеством перефразировок и многим другим:"},rephrasingTeaserListItem1:{message:"<strong>Проверка до $count$</strong> символов в одном тексте",placeholders:{count:{content:"$1",example:"3"}}},rephrasingTeaserListItem2:{message:"<strong>Продвинутые стилистические подсказки</strong> для безупречных текстов"},rephrasingTeaserListItem3:{message:"<strong>Неограниченное количество перефразировок</strong>, чтобы разнообразить лексику текста"},replaceWithWhitespace:{message:"Заменить пробелом"},reportAnIssue:{message:"Отправить отзыв"},reviewChromeHeadline:{message:"Не могли бы вы оценить наше расширение в Chrome Store?"},reviewEdgeHeadline:{message:"Не могли бы вы оценить наше расширение в Edge Add-on Store?"},reviewFirefoxHeadline:{message:"Не могли бы вы оценить наше расширение в Firefox Store?"},reviewLink:{message:"Оценить"},reviewOperaHeadline:{message:"Не могли бы вы оценить наше расширение в Opera Add-on Store?"},reviewSafariHeadline:{message:"Не могли бы вы поставить нам оценку в App Store?"},ro:{message:"Румынский"},ru:{message:"Русский"},save:{message:"Сохранить"},sendFeedback:{message:"Отправить отзыв"},sentenceSplittingCardApplyButtonLabel:{message:"Применить"},sentenceSplittingCardHeadlineApply:{message:"Советы:"},sentenceSplittingCardHeadlineLoading:{message:"Разделение фразы..."},sentenceSplittingCardHeadlineMissing:{message:"Советов не найдено"},serverNotAvailable:{message:"Локальный сервер недоступен"},serverText:{message:"Сервер LanguageTool API:"},serverUrlIsInvalid:{message:"URL не является действительным"},settingsAccountBulletListEditor:{message:"Использование редактора в качестве удобной минималистической среды для письма"},settingsAccountBulletListSave:{message:"Сохранение текстов на потом "},settingsAccountBulletListSync:{message:"Синхронизация настроек и личного словаря между несколькими браузерами и устройствами"},settingsAccountDescription:{message:"Войдите в систему и воспользуйтесь следующими преимуществами:"},settingsAccountHeadline:{message:"Аккаунт"},settingsAccountSubheadline:{message:"Войти с учётной записью LanguageTool"},settingsAddAutoCheckDomainHint:{message:"Этот домен ещё не был добавлен. Нажмите RETURN, чтобы добавить его."},settingsAddDomainHint:{message:"Этот домен еще не добавлен. Нажмите RETURN, чтобы добавить его."},settingsAddIgnoredDomainHint:{message:"Этот домен ещё не был добавлен. Нажмите RETURN, чтобы добавить его."},settingsAddOrFilterAutoCheckDomains:{message:"Добавить или найти домен …"},settingsAddOrFilterDomains:{message:"Добавить или найти домен …"},settingsAddOrFilterIgnoredDomains:{message:"Добавить или найти домен …"},settingsAddOrFilterWords:{message:"Добавить или найти слово..."},settingsAddWordHint:{message:"Это слово еще не существует в вашем словаре. Нажмите RETURN, чтобы добавить его."},settingsAreYouSure:{message:"Вы уверены? Это действие нельзя будет отменить."},settingsCheckForPaidSubscriptionError:{message:"Ошибка проверки статуса подписки"},settingsClearAll:{message:"Удалить все"},settingsCopyDictionary:{message:"Скопировать"},settingsCopyDictionarySuccessful:{message:"Скопировано в буфер обмена"},settingsDeleteAutoCheckDomain:{message:"Удалить домен"},settingsDeleteIgnoredDomain:{message:"Удалить домен"},settingsDictionaryHeadline:{message:"Персональный словарь"},settingsDomainInvalid:{message:"Пожалуйста, введите действительный домен, который ещё не был добавлен."},settingsEmptyAutoCheckDomains:{message:"Автопроверка выключена для всех сайтов"},settingsEmptyDictionary:{message:"Ваш персональный словарь пока пуст"},settingsEmptyDomainList:{message:"Проверка включена на всех сайтах"},settingsEmptyIgnoredDomains:{message:"Автопроверка включена на всех сайтах"},settingsEmptyIgnoredRules:{message:"Пока что все правила включены. Появляющиеся в тексте правила можно отключать."},settingsEnableAllRules:{message:"Активировать все"},settingsEnableDomain:{message:"Активировать домен"},settingsExperimentalSuccess:{message:"Ваши настройки успешно сохранены."},settingsForgotPasswordLink:{message:"Забыли пароль?"},settingsHeadline:{message:"Настройки"},settingsLanguageVariantsDescription:{message:"Чтобы всегда предоставлять вам лучшие предложения, пожалуйста, сообщите нам, на каком варианте отдельных языков говорите."},settingsLanguageVariantsHeadline:{message:"Диалекты"},settingsLoggedInAs:{message:"Вы вошли как $email$.",placeholders:{email:{content:"$1",example:"<strong>foo@foobar.com</strong>"}}},settingsLoginButton:{message:"Войти"},settingsLoginError:{message:"Ошибка авторизации. Проверьте электронный адрес и пароль."},settingsLoginSuccess:{message:"Теперь вы авторизированны"},settingsLogoutButton:{message:"Выйти"},settingsLogoutSuccess:{message:"Вы деавторизовались"},settingsManageAccountButton:{message:"Настройка аккаунта"},settingsPasswordPlaceholder:{message:"Пароль"},settingsPreferredLanguagesCompleteList:{message:"Все языки"},settingsPreferredLanguagesDescription:{message:"Установите языки, которые вы обычно используете для написания текстов. Это поможет LanguageTool автоматически определить требуемый язык."},settingsPreferredLanguagesHeadline:{message:"Предпочитаемый язык"},settingsPreferredLanguagesPopularList:{message:"Популярные языки"},settingsPremiumButton:{message:"Откройте для себя LanguageTool Premium"},settingsPremiumFeaturesActivated:{message:"Все <strong>премиум возможности</strong> активированы."},settingsPremiumHeadline:{message:"Улучшите качество вашего письма"},settingsPremiumText:{message:"Находите продвинутые грамматические, стилистические и пунктуационные ошибки или проверяйте тексты длиной более 150 000 символов."},settingsServerUrlDisabled:{message:"Вы можете задать пользовательский сервер только после выхода из своей учетной записи LanguageTool."},settingsUnknownError:{message:"Произошла непредвиденная ошибка"},siteDisabledPerGroupPolicy:{message:"Checking on this site is disabled per Group Policy."},siteTemporarilyUnsupported:{message:"К сожалению, LanguageTool временно отключил поддержку этого веб-сайта. В настоящее время мы работаем над исправлением."},sk:{message:"Словацкий"},skip:{message:"Пропустить"},sl:{message:"Словенский"},spellingError:{message:"Орфографическая"},sr:{message:"Сербский"},sr_BA:{message:"Сербский (Босния)"},sr_HR:{message:"Сербский (Хорватия)"},sr_ME:{message:"Сербский (Черногория)"},sr_RS:{message:"Сербский (Сербия)"},statusIconEnableLT:{message:"Включите LanguageTool – корректор грамматики и орфографии"},statusIconError:{message:"Ошибка"},statusIconMoreErrors:{message:"Результат неполный: проверка была остановлена, так как найдено слишком много ошибок."},statusIconPermissionRequired:{message:"Проверка текста невозможна – сначала примите политику конфиденциальности"},statusIconReload:{message:"Расширение было обновлено. Пожалуйста, перезагрузите страницу, чтобы активировать проверку орфографии и грамматики."},statusIconToolTip:{message:"LanguageTool – корректор грамматики и орфографии"},suggestionError:{message:"Стилистическая"},suggestionOnlyVisibleToPremiumButton:{message:"Получить доступ ко всем преимуществам премиум подписки"},suggestionOnlyVisibleToPremiumText:{message:"Это расширенное предложение доступно только для премиум подписки. Обновитесь до премиум подписки для отображения подобных предложений и использования других улучшений."},sv:{message:"Шведский"},switchToAmericanEnglish:{message:"Переключиться на американский английский"},switchToAustralianEnglish:{message:"Переключиться на австралийский английский"},switchToBritishEnglish:{message:"Переключиться на британский английский"},switchToCanadianEnglish:{message:"Переключиться на канадский английский"},switchToNewZealandEnglish:{message:"Переключиться на новозеландский английский"},switchToSouthAfricanEnglish:{message:"Переключиться на южноафриканский английский"},synonymsCardGeneralError:{message:"При загрузке синонимов произошла ошибка"},synonymsCardHeadline:{message:"Синонимы"},synonymsCardLanguageNotSupported:{message:"Функция «Вызов синонимов» для этого языка пока не поддерживается."},synonymsCardLess:{message:"меньше"},synonymsCardLoadMoreAlternatives:{message:"загрузить другие варианты"},synonymsCardLoading:{message:"Загрузка …"},synonymsCardMore:{message:"далее"},synonymsCardNoSynonymsAvailable:{message:"Для этого слова нет подходящих синонимов"},synonymsCardProvidedBy:{message:"Предоставлено <strong>LanguageTool</strong>"},synonymsCardTabSentence:{message:"Предложение"},synonymsCardTabWord:{message:"Слово"},synonymsCardTooltipReadText:{message:"Произнесите слово"},synonymsTutorialHeadline:{message:"Как получить синонимы здесь"},synonymsTutorialText:{message:"Получите синонимы для любого слова двойным кликом! Это работает для любого текстового поля, которое поддерживает LanguageTool."},ta:{message:"Тамильский"},textTooLong:{message:"Извините, но этот текст слишком большой для проверки."},timeoutError:{message:"Тайм-аут сервера. Повторите попытку позже ($serverUrl$)",placeholders:{serverUrl:{content:"$1",example:"https://languagetool.org:8081/"}}},tl:{message:"Тагальский"},tooManyErrors:{message:"В этом тексте слишком много ошибок. Выбран правильный язык?"},tooManyRequests:{message:"Превышен лимит запросов. Подождите минуту, и LanguageTool опять станет доступным."},toolbarDisableMenuDisableChecking:{message:"Отключить на этом сайте"},toolbarDisableMenuPauseChecking:{message:"Отключить только в этом сеансе"},toolbarTooltipDisableChecking:{message:"Отключить проверку"},toolbarTooltipRephrasing:{message:"Перефразировать предложение"},toolbarTooltipRephrasingUnsupportedLanguage:{message:"Перефразирование предложений в настоящее время недоступно на этом языке."},tr:{message:"Турецкий"},tryAgain:{message:"Попробовать ещё раз"},turnOffPickyMode:{message:"Выключить придирчивый режим для этого текста"},turnOffRule:{message:"Отключить правило везде"},turnOffRulePicky:{message:"Правила не могут быть отключены в придирчивом режиме"},turnOnHint:{message:"Вы можете вновь активировать расширение здесь"},uk:{message:"Украинский"},unknownError:{message:"Извините, но во время проверки текста что-то пошло не так. Перезапуск браузера, возможно, сможет исправить эту проблему."},upgradeTeaserDiscount:{message:"Сэкономьте $percent$%",placeholders:{percent:{content:"$1",example:"20"}}},upgradeTeaserDiscountHeadline:{message:"Ограниченное по времени предложение"},username:{message:"E-Mail:"},validatorHasMistakesHeadlinePlural:{message:"$count$ замечаний(-ия) найдено",placeholders:{count:{content:"$1",example:"7"}}},validatorHasMistakesHeadlineSingular:{message:"Найдено одно замечание"},validatorHasMistakesText:{message:"Щёлкните по выделенным словам, чтобы их исправить."},validatorHasPremiumErrorsButton:{message:"Подробнее"},validatorHasPremiumErrorsHeadlinePlural:{message:"Ваш текст содержит $count$ продвинутых письменных ошибок",placeholders:{count:{content:"$1",example:"7"}}},validatorHasPremiumErrorsHeadlineSingular:{message:"Ваш текст содержит одну продвинутую письменную ошибку"},validatorHasPremiumErrorsText:{message:"Перейдите на LanguageTool Premium, чтобы находить намного больше грамматических, стилистических и пунктуационных ошибок"},validatorLoadingHint:{message:"Проверяем текст…"},validatorNoMistakesHeadline:{message:"Отлично, ошибок не найдено!"},validatorNoTextStatus:{message:"Введите или вставьте ваш текст для проверки"},validatorPlaceholder:{message:"Пожалуйста, введите или вставьте ваш текст здесь..."},validatorPremiumButton:{message:"Обновление"},validatorPremiumHeadline:{message:"Найдите ещё больше проблем с правописанием и улучшите свой текст"},validatorPremiumReason1:{message:"Тщательная проверка грамматики, пунктуации и стилистики"},validatorPremiumReason2:{message:"Проверка длинных текстов (до 150 000 символов)"},validatorPremiumReason3:{message:"Автоматическое определение недопустимых номеров (например, IBAN, ISBN, …)"},validatorPremiumReason4:{message:"Расширение для Microsoft Office"},validatorTextTooLongStatus:{message:"Извините, но этот текст слишком большой для проверки."},variantCaDesc:{message:"Использовать этот вариант каталанского:"},variantDeDesc:{message:"Использовать этот вариант немецкого:"},variantEnDesc:{message:"Использовать этот вариант английского:"},variantPtDesc:{message:"Использовать этот вариант португальского:"},webstoreSiteNotSupported:{message:"К сожалению, LanguageTool не работает на веб-сайте Интернет-магазина Chrome. Он работает везде, где можно писать (например, Facebook, Gmail, Twitter, LinkedIn)."},zh:{message:"Китайский"}}};
80
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
81
+ class fa extends r{static _formatString(e,t){return e.replace(/\$(\d+)/g,((e,s)=>{const a=+s-1;return a<t.length?t[a]+"":""}))}static _replacePlaceholders(e,t,s){const a=Object.keys(t||{});return(e=fa._formatString(e,s)).replace(/\$([a-z0-9_@]+)\$/gi,((e,n)=>{const r=n.toLowerCase(),o=a.find((e=>e.toLowerCase()===r));if(!o)return"";const i=t[o];return fa._formatString(i.content,s)}))}constructor(){super(),this._eventBus=new Ct,this._localeCode="en"}addEventListener(e,t){this._eventBus.subscribe(e,t)}setLocale(e){this._localeCode!==e&&(this._localeCode=e,this._eventBus.fire(r.eventNames.localeChanged))}getMessage(e,t=[]){let s=null;if(ha[this._localeCode]&&(s=ha[this._localeCode][e]),!s){const t=this._localeCode.split("_")[0];ha[t]&&(s=ha[t][e])}return s||(s=ha.en[e]),s?(Array.isArray(t)||(t=[t]),fa._replacePlaceholders(s.message,s.placeholders||{},t)):""}}class _a{static set(e,t){let s=this.getAll()||[];const a=s.findIndex((t=>t.key===e));for(a>-1?s[a].value=t:s.push({key:e,value:t});JSON.stringify(s).length>this.MAX_BYTE_SIZE;)s.shift();try{localStorage.setItem(this.ROOT_KEY,JSON.stringify(s))}catch(e){}}static get(e){try{const t=localStorage.getItem(this.ROOT_KEY),s=t?JSON.parse(t):null;if(!s)return null;const a=s.find((t=>t.key===e));return a&&a.value?a.value:null}catch(e){return null}}static getAll(){try{const e=localStorage.getItem(this.ROOT_KEY),t=e?JSON.parse(e):null;return t||[]}catch(e){return[]}}static remove(e){let t=this.getAll()||[];const s=t.findIndex((t=>t.key===e));if(s>-1){t.splice(s,1);try{localStorage.setItem(this.ROOT_KEY,JSON.stringify(t))}catch(e){}}}}_a.ROOT_KEY="__lt_host_storage",_a.MAX_BYTE_SIZE=1048576;
82
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
83
+ class Ea extends xt{constructor(){super(),this._setUniqueId(),this._loadData()}_setUniqueId(){this._uniqueId=xt._generateUniqueId();try{const e=(document.cookie||"").match(/_pk_id\.\d+\.[a-z0-9\-]+=([a-z0-9]{16})\./);e&&(this._uniqueId=e[1])}catch{}if(self._paq){const e=this;self._paq.push([function(){const t=this.getVisitorId();t&&16===t.length&&(e._uniqueId=t)}])}}_loadData(){const e={};_a.getAll().forEach((t=>{this._canPersistSetting(t.key)&&(e[t.key]=t.value)})),this._settings=xt._combineObjects(xt.DEFAULT_SETTINGS,e),this._privacySettings={allowRemoteCheck:!0,confirmedGPT3:!1},this._testFlags=xt._combineObjects(xt.DEFAULT_TEST_FLAGS,e),this._uiState={hasSeenPrivacyConfirmationDialog:!0,hasPaidSubscription:!1,hasRated:!0,hasUsedValidator:!1,hasSeenOnboarding:!1,isNewUser:!1,hasSeenNewOverleafTeaser:!0,hasSeenNewGoogleDocsTeaser:!0,hasSeenNewGoogleSlidesTeaser:!0,hasSeenGoogleDocsMenuBarHint:!0,lastChangelogNov2023Seen:null,changelogNov2023CountdownEnd:null,changelogNov2023Coupon:null,showRuleId:!1,dialogPosition:"default",countMode:"characters",hasSeenTurnOnMessagePopup:!1,isDarkModeEnabled:!1}}isReady(){return!0}onReady(e){e(this)}getUniqueId(){return this._uniqueId}getSettings(){return at(this._settings)}_canPersistSetting(e){return("dictionary"!==e||!this.hasLanguageToolAccount())&&Ea.PERSISTED_SETTINGS.includes(e)}updateSettings(e){for(const t in e)if(!xt.DEFAULT_SETTINGS.hasOwnProperty(t))throw new Error(`Unknown setting ${t}`);const t={};for(const s in e)t[s]={oldValue:at(this._settings[s]),newValue:at(e[s])};Object.assign(this._settings,at(e));for(const t in e)this._canPersistSetting(t)&&(void 0===e[t]?_a.remove(t):_a.set(t,e[t]));return this._eventBus.fire(xt.eventNames.settingsChanged,t),Promise.resolve()}getCheckSettings(e){return{isDomainDisabled:!1,isEditorGroupDisabled:!1,isAutoCheckEnabled:!0,shouldCapitalizationBeChecked:!0}}hasLanguageToolAccount(){return Boolean(this._settings&&this._settings.username&&!this.hasCustomServer())}hasCustomServer(){return Boolean(this._settings&&this._settings.apiServerUrl&&this._settings.apiServerUrl.trim()&&this._settings.apiServerUrl!==k&&this._settings.apiServerUrl!==L)}getCustomServerUrl(){if(this.hasCustomServer())return this._settings.apiServerUrl}getManagedSettings(){return at(xt.DEFAULT_MANAGED_SETTINGS)}getConfiguration(){return at(xt.DEFAULT_CONFIGURATION)}updateConfiguration(e){return Promise.resolve()}isDomainSupported(e){return!0}isDomainExcludedByGroupPolicy(e){return!1}getPrivacySettings(){return at(this._privacySettings)}updatePrivacySettings(e){return Promise.resolve()}getStatistics(){return at(xt.DEFAULT_STATISTICS)}updateStatistics(e){return Promise.resolve()}getUIState(){return at(this._uiState)}updateUIState(e){for(const t in e)if(!xt.DEFAULT_UI_STATE.hasOwnProperty(t))throw new Error(`Unknown ui state ${t}`);const t={};for(const s in e)t[s]={oldValue:at(this._uiState[s]),newValue:at(e[s])};return Object.assign(this._uiState,at(e)),this._eventBus.fire(xt.eventNames.uiStateChanged,t),Promise.resolve()}checkForPaidSubscription(){const e=this.getCustomServerUrl(),{username:t,password:s,token:a}=this.getSettings();return ca.checkForPaidSubscription(t,s,a,e).then((e=>(e?(this.enablePaidSubscription(),this.grantUnlimitedRephrasings()):(this.disablePaidSubscription(),this.restrictRephrasings()),e)))}getTestFlags(){return at(this._testFlags)}updateTestFlags(e){return Object.assign(this._testFlags,at(e)),Promise.resolve()}getActiveCoupon(){return null}isRelevantForChangelogCoupon(){return{status:!1,reason:7}}startChangelogCoupon(){}isChangelogCouponRunning(){return!1}canStartChangelogCoupon(){return!1}}Ea.PERSISTED_SETTINGS=["enVariant","deVariant","ptVariant","caVariant","dictionary","ignoredRules","remainingRephrasingsAmount","remainingRephrasingsDate"];class va{static _cacheMessages(){va.MESSAGES={DISABLED_MESSAGE_HEADLINE:o.getMessage("messagePopupTurnOnheadline"),DISABLED_MESSAGE_TEXT:o.getMessage("messagePopupTurnOntext"),DISABLED_MESSAGE_PRIMARY_BUTTON:o.getMessage("messagePopupTurnOnPrimaryButton"),DISABLED_MESSAGE_SECONDARY_BUTTON:o.getMessage("messagePopupTurnOnSecondaryButton")}}static init(){va._isInitialized||(va._cacheMessages(),va._isInitialized=!0)}constructor(e,t,s){this._autoDestroy=()=>{this._autoDestroyTimeout=self.setTimeout(this.destroy.bind(this),2e4)},this._document=e,this._uiOptions=s,this._controls={},this._eventListeners=[],this._render().then((()=>{s.destroysAutomatically&&this._autoDestroy()}))}async _render(){if(this._controls.container)return;this._controls.container=Gt(this._document,va.CONTAINER_ELEMENT_NAME),this._controls.container.classList.add("lt-message-container","lt-message-container--"+this._uiOptions.className),document.firstElementChild?.appendChild(this._controls.container);const e=e=>{e.stopImmediatePropagation()};this._eventListeners.push(as(this._controls.container,"mousedown",(t=>{t.target instanceof HTMLElement&&t.target.closest("[data-lt-prevent-focus]")&&t.preventDefault(),e(t)})),as(this._controls.container,"mouseup",e),as(this._controls.container,"pointerdown",e),as(this._controls.container,"pointerup",e),as(this._controls.container,"focusin",e),as(this._controls.container,"focusout",e)),this._controls.container.addEventListener("click",e);const t=this._document.createElement("lt-div");if(t.classList.add("lt-message-container__illustration"),wt.isSafari()&&t.classList.add("lt-message-container__illustration--safari"),this._controls.container.appendChild(t),this._uiOptions.isClosable&&(this._controls.closeButton=this._document.createElement("lt-div"),this._controls.closeButton.className="lt-message-container__close lt-icon__close_small",this._controls.closeButton.setAttribute("data-lt-prevent-focus",""),this._controls.container.appendChild(this._controls.closeButton),this._eventListeners.push(as(this._controls.closeButton,"click",this._onCloseButtonClicked.bind(this)))),this._uiOptions.destroysAutomatically){const e=this._document.createElement("lt-div");e.className="lt-message-container__progressbar",this._controls.container.appendChild(e)}const s=this._document.createElement("lt-div");s.className="lt-message-container__text-wrapper",this._controls.container.appendChild(s);const a=this._document.createElement("lt-span");a.className="lt-message-container__text-wrapper__headline",a.textContent=va.MESSAGES.DISABLED_MESSAGE_HEADLINE,s.appendChild(a);const n=this._document.createElement("lt-span");if(n.className="lt-message-container__text-wrapper__text",n.textContent=va.MESSAGES.DISABLED_MESSAGE_TEXT,s.appendChild(n),this._uiOptions.hasPrimaryButton||this._uiOptions.hasSecondaryButton){const e=this._document.createElement("lt-div");e.className="lt-message-container__button-wrapper",this._controls.container.appendChild(e),this._uiOptions.hasPrimaryButton&&(this._controls.primaryButton=this._document.createElement("lt-div"),this._controls.primaryButton.className="lt-message-container__button-wrapper__primary",this._controls.primaryButton.setAttribute("data-lt-prevent-focus",""),this._controls.primaryButton.textContent=va.MESSAGES.DISABLED_MESSAGE_PRIMARY_BUTTON,e.appendChild(this._controls.primaryButton),this._eventListeners.push(as(this._controls.primaryButton,"click",this._onPrimaryButtonClicked.bind(this)))),this._uiOptions.hasSecondaryButton&&(this._controls.secondaryButton=this._document.createElement("lt-div"),this._controls.secondaryButton.className="lt-message-container__button-wrapper__secondary",this._controls.secondaryButton.setAttribute("data-lt-prevent-focus",""),this._controls.secondaryButton.textContent=va.MESSAGES.DISABLED_MESSAGE_SECONDARY_BUTTON,e.appendChild(this._controls.secondaryButton),this._eventListeners.push(as(this._controls.secondaryButton,"click",this._onSecondaryButtonClicked.bind(this))))}}_onPrimaryButtonClicked(e){e.stopImmediatePropagation(),Lt.create().onReady((e=>{e.updateUIState({hasSeenTurnOnMessagePopup:!0}),e.destroy()})),this.destroy()}_onSecondaryButtonClicked(e){e.stopImmediatePropagation();const t={message:this};ts(document,va.eventNames.turnOn,t),this.destroy()}_onCloseButtonClicked(e){e.stopImmediatePropagation(),Lt.create().onReady((e=>{e.updateUIState({hasSeenTurnOnMessagePopup:!0}),e.destroy()})),this.destroy()}_onUnload(){this.destroy()}destroy(){Yt(this._controls.container),this._controls={},self.removeEventListener("pagehide",this._onUnload,!0),this._eventListeners.forEach((e=>{e.destroy()})),this._eventListeners=[];const e={message:this};self.clearTimeout(this._autoDestroyTimeout),ts(document,va.eventNames.destroyed,e)}}
84
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
85
+ var ba;va.CONTAINER_ELEMENT_NAME="lt-message",va.eventNames={destroyed:"lt-message.destroyed",turnOn:"lt-message.turn-on"},va._isInitialized=!1,function(e){e.PERMISSION_REQUIRED="PERMISSION_REQUIRED",e.DISABLED="DISABLED",e.DISCONNECTED="DISCONNECTED",e.TEXT_TOO_SHORT="TEXT_TOO_SHORT",e.TEXT_TOO_LONG="TEXT_TOO_LONG",e.IN_PROGRESS="IN_PROGRESS",e.COMPLETED="COMPLETED",e.UNSUPPORTED_LANGUAGE="UNSUPPORTED_LANGUAGE",e.NEEDS_LANGUAGE_HINT="NEEDS_LANGUAGE_HINT",e.FAILED="FAILED"}(ba||(ba={}));class Sa{constructor(e,t,s,a,n=!0){this._className=e,this._label=t,this._parentElement=a,this._toolTip=s,this._document=a.ownerDocument,this._render(n)}_render(e){if(this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-icon","lt-icon--"+this._className),this._element.classList.toggle("lt-icon--clickable",e),this._element.setAttribute("data-lt-prevent-focus",""),this._parentElement.appendChild(this._element),this._icon=this._document.createElement("lt-span"),this._icon.classList.add("lt-icon__icon","lt-icon__"+this._className),this._element.appendChild(this._icon),this._toolTip){const e=this._document.createElement("lt-div");e.classList.add("lt-icon__tooltip","lt-icon__tooltip--"+this._toolTip.position,"lt-icon__tooltip--"+this._className),e.textContent=this._toolTip.label,this._element.appendChild(e)}if(this._label){const e=this._document.createElement("lt-span");e.classList.add("lt-icon__label"),e.textContent=this._label,this._element.appendChild(e)}}setIcon(e){this._icon.className="",this._icon.classList.add("lt-icon__icon","lt-icon__"+e)}getElement(){return this._element}}class ya{constructor(e,t,s,a,n,r,o=null){this._className=e,this._parentElement=s,this._dialog=a,this._appendElement=o,this._optionElements=[],this._options=t,this._document=s.ownerDocument,this._position=n,this._isSelectable=r,this._render()}_render(){this._overlay=this._document.createElement("lt-div"),this._overlay.setAttribute("data-lt-prevent-focus",""),this._overlay.classList.add("lt-menu-overlay","lt-menu-overlay--"+this._className),this._dialog.appendChild(this._overlay),this._element=this._document.createElement("lt-div"),this._element.setAttribute("data-lt-prevent-focus",""),this._element.classList.add("lt-menu","lt-menu--"+this._className,"lt-menu--position-"+this._position),this._parentElement.appendChild(this._element),this._options.forEach((e=>{const t=this._document.createElement("lt-div");t.classList.add("lt-menu__item","lt-menu__item--"+e.className,"lt-icon__"+e.className),e.isClickable&&t.classList.add("lt-menu__item--clickable"),this._isSelectable&&t.classList.add("lt-menu__item--selectable"),this._element.appendChild(t);const s=this._document.createElement("lt-span");if(s.classList.add("lt-menu__item__label","lt-menu__item__label--"+e.className),s.textContent=e.label,t.appendChild(s),e.info){const s=this._document.createElement("lt-span");s.classList.add("lt-menu__item__info","lt-menu__item__info--"+e.className),s.textContent=e.info,t.appendChild(s)}if(e.tag){const s=this._document.createElement("lt-span");s.classList.add("lt-menu__item__tag","lt-menu__item__tag--"+e.className),s.textContent=e.tag,t.appendChild(s)}this._optionElements.push(t)})),this._appendElement&&this._element.appendChild(this._appendElement)}show(){this._parentElement.classList.add("lt-menu-visible"),this._element.classList.add("lt-menu--show"),this._overlay.classList.add("lt-menu--show")}hide(){this._parentElement.classList.remove("lt-menu-visible"),this._element.classList.remove("lt-menu--show"),this._overlay.classList.remove("lt-menu--show")}getElement(){return this._element}getAllOptions(){return this._optionElements}getActiveOptions(){return this._optionElements}getOverlay(){return this._overlay}setInfo(e,t){if(e>=0&&e<this._optionElements.length){const s=this._optionElements[e].querySelector(".lt-menu__item__info");s&&(s.textContent=t)}}toggleActive(e,t,s){s&&this.getAllOptions().forEach((e=>{e.classList.remove("lt-menu__item--active")})),e>=0&&e<this._optionElements.length&&(t?this._optionElements[e].classList.add("lt-menu__item--active"):this._optionElements[e].classList.remove("lt-menu__item--active"))}toogleVisibility(e,t){e>=0&&e<this._optionElements.length&&(t?this._optionElements[e].classList.remove("lt-menu__item--hidden"):this._optionElements[e].classList.add("lt-menu__item--hidden"))}}class Ta{constructor(e,t,s,a){this._className=e,this._type=t,this._size=s,this._parentElement=a,this._document=a.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-package-badge","lt-package-badge--"+this._type,"lt-package-badge--"+this._size),this._element.textContent=this._type,this._parentElement.appendChild(this._element)}getElement(){return this._element}}class Ca{constructor(e,t,s,a=(()=>{})){this._parentElement=e,this._document=e.ownerDocument,this._expires=t,this._classes=s,this._onCountdownEnd=a,this._element=this._document.createElement("lt-div"),this._element.className="lt-countdown",this._addOptionalClass(this._element,this._classes.countdown),this._render(),this._interval=self.setInterval((()=>this._render()),1e3),this._parentElement.appendChild(this._element)}getElement(){return this._element}destroy(){clearInterval(this._interval)}_addOptionalClass(e,t){e.classList.toggle(String(t),Boolean(t))}_render(){const e=Date.now();let t=this._expires-e;if(t<0)return void this._onCountdownEnd();const s=Math.floor(t/1e3%60),a=Math.floor(t/1e3/60%60),n=`${rt(Math.floor(t/1e3/60/60))}:${rt(a)}:${rt(s)}`.split(/:|/),r=this._document.createElement("lt-div");n.forEach(((e,t)=>{const s=this._document.createElement("lt-span");if(s.className="lt-countdown__digit",this._addOptionalClass(s,this._classes.digit),s.textContent=e,r.appendChild(s),t%2==1&&t<n.length-1){const e=this._document.createElement("lt-span");e.className="lt-countdown__divider",this._addOptionalClass(e,this._classes.divider),e.textContent=":",r.appendChild(e)}})),this._element.innerHTML=r.innerHTML}}class ka{constructor(e,t,s=null,a=null,n=null,r){this._listeners=[],this._parentElement=e,this._headline=s,this._text=a,this._buttonText=n,this._trackingEvent=t,this._linkParameters=r,this._document=e.ownerDocument,this._storageController=Lt.create(),this._element=this._document.createElement("lt-div"),this._listeners.push(as(this._element,"click",(e=>{e.stopImmediatePropagation(),e.preventDefault();const t={command:"OPEN_PREMIUM_PAGE",...this._linkParameters};Rt().runtime.sendMessage(t)}))),this._element.className="lt-premium-errors-teaser",this._parentElement.appendChild(this._element),this._renderPremiumErrorsTeaser()}_observe(){this._element.addEventListener("click",(()=>{Pt.trackEvent("Action",`${this._trackingEvent}:click`)}))}_renderPremiumErrorsTeaser(){Pt.trackEvent("Action",this._trackingEvent),this._observe(),this._storageController.onReady((()=>{this._storageController.startChangelogCoupon();const e=this._storageController.getActiveCoupon();if(e&&(this._linkParameters.campaign=this._linkParameters.campaign.replace(/addon2-(dialog|popup|validator)/,"addon2-changelog"),this._renderCoupon(e)),!this._headline&&!this._text&&!this._buttonText)return;const t=this._document.createElement("lt-div");if(t.className="lt-premium-errors-teaser__content",this._element.appendChild(t),this._headline&&!e){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__headline",e.textContent=this._headline,t.appendChild(e)}if(this._text){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__text",e.innerHTML=this._text,t.appendChild(e)}if(this._buttonText){const e=this._document.createElement("lt-span");e.className="lt-premium-errors-teaser__content__button",e.textContent=this._buttonText,t.appendChild(e)}}))}_renderCoupon(e){const t=this._document.createElement("lt-div");t.className="lt-premium-errors-teaser__coupon";const s=this._document.createElement("lt-span");s.textContent=o.getMessage("upgradeTeaserDiscountHeadline"),s.className="lt-premium-errors-teaser__coupon__title__headline";const a=this._document.createElement("lt-span");a.textContent=o.getMessage("upgradeTeaserDiscount",[e.percent]),a.className="lt-premium-errors-teaser__coupon__title__subline";const n=this._document.createElement("lt-div");n.className="lt-premium-errors-teaser__coupon__title",n.appendChild(s),n.appendChild(a),t.appendChild(n),this._timerElement=new Ca(t,e.expires||0,{},(()=>t.remove())),this._element.prepend(t)}destroy(){this._listeners.forEach((({destroy:e})=>e())),this._timerElement?.destroy()}}class xa{constructor(e,t,s){this._listeners=[],this._parentElement=e,this._componentName=t,this._url=s,this._document=e.ownerDocument,this._storageController=Lt.create(),this._element=this._document.createElement("lt-div"),this._element.className="lt-rating-teaser",this._parentElement.appendChild(this._element),this.render()}_sendRating(e){Pt.trackEvent("Stat",`rating:${kt.getPrimaryLanguageCode(navigator.language)}`,e),this._storageController.updateStatistics({ratingValue:e}),this._storageController.updateUIState({hasRated:!0}),"like"===e?wt.isChrome()||wt.isFirefox()||wt.isOpera()||wt.isEdge()||wt.isSafari()?this._showReviewContainer():this._showThanksContainer():"dislike"===e&&(this._showThanksContainer(),this._openFeedbackForm(o.getMessage("ratingUnhappyQuestion")),Pt.trackEvent("Stat","dislike_host",ut()))}_showReviewContainer(){this._element.classList.remove("lt-rating-teaser--thanks-visible"),this._element.classList.add("lt-rating-teaser--review-visible")}_showThanksContainer(){this._element.classList.remove("lt-rating-teaser--review-visible"),this._element.classList.add("lt-rating-teaser--thanks-visible")}_openFeedbackForm(e){n.openFeedbackForm(this._url,e)}render(){const e=this._document.createElement("lt-div");e.className="lt-rating-teaser__intro",this._element.appendChild(e);const t=this._document.createElement("lt-div");t.className="lt-rating-teaser__intro__question";const s=this._document.createElement("lt-div");s.className="lt-rating-teaser__intro__headline",s.innerText=o.getMessage("ratingHeadline"),t.appendChild(s);const a=this._document.createElement("lt-div");a.innerText=o.getMessage("ratingText"),t.appendChild(a),e.appendChild(t);const n=this._document.createElement("lt-div");n.className="lt-rating-teaser__intro__options";const r=this._document.createElement("lt-div");r.className="lt-rating-teaser__intro__option",r.setAttribute("data-lt-emotion","like"),n.appendChild(r);const i=this._document.createElement("lt-div");i.className="lt-rating-teaser__intro__option",i.setAttribute("data-lt-emotion","dislike"),n.appendChild(i),e.appendChild(n);const l=this._document.createElement("a");l.target="_blank",l.rel="noreferrer noopener",l.className="lt-rating-teaser__review",this._element.appendChild(l);const c=this._document.createElement("lt-div");c.className="lt-rating-teaser__review__text",l.appendChild(c),wt.isFirefox()?Ht(c,"reviewFirefoxHeadline"):wt.isOpera()?Ht(c,"reviewOperaHeadline"):wt.isEdge()?Ht(c,"reviewEdgeHeadline"):wt.isSafari()?Ht(c,"reviewSafariHeadline"):Ht(c,"reviewChromeHeadline");const g=this._document.createElement("lt-a");g.className="lt-rating-teaser__review__link",g.innerText=o.getMessage("reviewLink"),l.appendChild(g);const u=this._document.createElement("lt-div");u.className="lt-rating-teaser__thanks",u.innerText=o.getMessage("ratingThankYou"),this._element.appendChild(u),this._listeners.push(as(r,"click",(e=>{e.stopImmediatePropagation(),this._sendRating("like")}))),this._listeners.push(as(i,"click",(e=>{e.stopImmediatePropagation(),this._sendRating("dislike")}))),this._listeners.push(as(l,"click",(e=>{e.stopImmediatePropagation(),Pt.trackEvent("Action","dialog:rating_teaser:click")}))),wt.isChrome()?(this._element.classList.add("lt-rating-teaser--chrome"),l.href="https://chromewebstore.google.com/detail/grammatik-und-rechtschrei/oldceeleldhonbafppcapldpdifcinji/reviews"):wt.isFirefox()?(this._element.classList.add("lt-rating-teaser--firefox"),l.href="https://addons.mozilla.org/firefox/addon/languagetool/"):wt.isOpera()?(this._element.classList.add("lt-rating-teaser--opera"),l.href="https://addons.opera.com/extensions/details/grammar-and-spell-checker-languagetool/"):wt.isEdge()?(this._element.classList.add("lt-rating-teaser--edge"),l.href="https://microsoftedge.microsoft.com/addons/detail/hfjadhjooeceemgojogkhlppanjkbobc"):wt.isSafari()&&(this._element.classList.add("lt-rating-teaser--safari"),l.href="https://appstoreconnect.apple.com/apps/1534275760/appstore"),Pt.trackEvent("Action",`${this._componentName}:rating_teaser`)}destroy(){this._listeners.forEach((({destroy:e})=>e()))}}class La{constructor(e,t,s){this._className=e,this._parentElement=t,this._toolTip=s,this._document=t.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-score","lt-score--"+this._className),this._element.setAttribute("data-lt-prevent-focus",""),this._parentElement.appendChild(this._element),this._progressLabel=this._document.createElement("lt-span"),this._progressLabel.classList.add("lt-score__label"),this._progressLabel.setAttribute("data-lt-prevent-focus",""),this._progressLabel.textContent="0";const e=this._document.createElement("lt-div");e.classList.add("lt-icon__tooltip","lt-icon__tooltip--"+this._toolTip.position,"lt-icon__tooltip--"+this._className),e.textContent=this._toolTip.label,this._element.appendChild(e),this._element.appendChild(this._progressLabel)}setScore(e){Math.PI;e>0?(this._progressLabel.textContent=e.toString(),this._updateProgress(e),this._element.classList.remove("lt-score--hidden")):this._element.classList.add("lt-score--hidden")}_updateProgress(e){let t="",s="";if(e<50){t="linear-gradient(90deg, #DEE3ED 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0))",s="linear-gradient("+(90+3.6*e)+"deg, #1976F0 50%, #DEE3ED 50%, #DEE3ED)"}else{t="linear-gradient("+(3.6*(e-50)-90)+"deg, #1976F0 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0))",s="linear-gradient(270deg, #1976F0 50%, #DEE3ED 50%, #DEE3ED)"}this._element.setAttribute("style","background-image: "+t+", "+s+" !important")}}class wa{constructor(e,t,s){this._listeners=[],this.stopPropagation=e=>e.stopImmediatePropagation(),this._className=e,this._parentElement=t,this._select=s,this._document=t.ownerDocument,this._currentSelection=this._document.createElement("lt-span"),this._render()}destroy(){this._listeners.forEach((({destroy:e})=>e()))}_render(){this._selectorWrapper=this._document.createElement("lt-div"),this._selectorWrapper.classList.add("lt-dialog__selector-wrapper","lt-dialog__selector-wrapper--"+this._className,"lt-icon__chevron_down"),this._parentElement.appendChild(this._selectorWrapper),this._currentSelection.classList.add("lt-dialog__current-selection","lt-dialog__current-selection--"+this._className),this._selectorWrapper.appendChild(this._currentSelection),this._select.classList.add("lt-dialog__selector","lt-dialog__selector--"+this._className),this._selectorWrapper.appendChild(this._select),this._listeners.push(as(this._selectorWrapper,"click",this.stopPropagation))}setActive(e,t,s){this._currentSelection.textContent=e||"",this._select.value=t,new It(this._document).setStyles(this._currentSelection,s)}addOption(e){this._select.prepend(e)}updateOptionLable(e,t){this._select.querySelectorAll("option[value="+e+"]")[0].textContent=t}getSelect(){return this._select}getValue(){return this._select.value}toggleHighlight(e){this._selectorWrapper.classList.toggle("lt-dialog__selector-wrapper--highlight",e)}}class Pa{constructor(e,t,s,a){this._className=e,this._label=t,this._info=s,this._parentElement=a,this._document=a.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.setAttribute("data-lt-prevent-focus",""),this._element.classList.add("lt-toggle-item","lt-toggle--"+this._className,"lt-icon__"+this._className),this._parentElement.appendChild(this._element);const e=this._document.createElement("lt-div");e.classList.add("lt-toggle-item__title","lt-toggle-item__title--"+this._className);const t=this._document.createElement("lt-span");t.classList.add("lt-toggle-item__title__label"),t.textContent=this._label,e.appendChild(t),this._info&&(this._infoElement=this._document.createElement("lt-span"),this._infoElement.classList.add("lt-toggle-item__title__info"),this._infoElement.textContent=this._info,e.appendChild(this._infoElement)),this._element.appendChild(e);const s=this._document.createElement("lt-div");s.classList.add("lt-toggle-item__toggle","lt-toggle-item__toggle--"+this._className),this._element.appendChild(s);const a=this._document.createElement("lt-div");a.classList.add("lt-toggle-item__toggle__dot"),s.appendChild(a)}set(e){e?this._element.classList.add("lt-toggle-item---checked"):this._element.classList.remove("lt-toggle-item---checked")}setInfo(e){this._infoElement.textContent=e}getElement(){return this._element}}
86
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
87
+ class Aa{static _cacheMessages(){Aa.MESSAGES={EXTENSION_UPDATED_HEADLINE:o.getMessage("extensionUpdatedHeadline"),EXTENSION_UPDATED_TEXT:o.getMessage("extensionUpdatedText",["<lt-span class='lt-dialog__icon'></lt-span>"]),INCOMPLETE_RESULT:o.getMessage("incompleteResult"),POWERED_BY:o.getMessage("poweredBy"),FEEDBACK:o.getMessage("sendFeedback"),DELETE:o.getMessage("deleteWord"),ENABLE_HEADLINE:o.getMessage("dialogEnableInDialogHeadline"),ENABLE_TEXT:o.getMessage("dialogEnableInDialogText"),ENABLE_EVERYWHERE_BUTTON:o.getMessage("enableEverywhereButton"),ENABLE_HERE_BUTTON:o.getMessage("enableHereButton"),OPTIONS_TITLE:o.getMessage("settingsHeadline"),NO_ERRORS:o.getMessage("noErrorsFound2"),NO_ERRORS_TEXT:o.getMessage("noErrorsFoundText"),TEXT_TOO_LONG_HEADLINE:o.getMessage("dialogTextTooLongHeadline"),TEXT_TOO_LONG_TEXT:o.getMessage("dialogTextTooLongText"),SCROLL_HINT_HEADLINE:o.getMessage("dialogScrollHintHeadline"),SCROLL_HINT_TEXT:o.getMessage("dialogScrollHintText"),TEXT_TOO_LONG_BUTTON:o.getMessage("dialogTextTooLongButton"),TEXT_TOO_SHORT_TEXT:o.getMessage("dialogTextTooShortText"),TEXT_TOO_SHORT_HEADLINE:o.getMessage("dialogTextTooShortHeadline"),TEXT_SCORE_MENU_ITEM:o.getMessage("dialogMainMenuTextScore"),REGULAR_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuRegularMistake"),PREMIUM_MISTAKE_MENU_ITEM:o.getMessage("dialogMainMenuPremiumMistake"),PICKY_MODE_MENU_ITEM:o.getMessage("dialogMainMenuPickyMode"),PICKY_MODE_MENU_ITEM_INFO:o.getMessage("dialogMainMenuPickyModeInfo"),COUNTER_CHARACTERS_OPTION:o.getMessage("dialogCounterCharactersOption"),COUNTER_WORDS_OPTION:o.getMessage("dialogCounterWordsOption"),COUNTER_SENTENCES_OPTION:o.getMessage("dialogCounterSentencesOption"),POSITION_DEFAULT_MENU_ITEM:o.getMessage("dialogPositionMenuDefault"),POSITION_RIGHT_MENU_ITEM:o.getMessage("dialogPositionMenuRight"),POSITION_LEFT_MENU_ITEM:o.getMessage("dialogPositionMenuLeft"),Fail_STATE_HEADLINE:o.getMessage("dialogFailStateHeadline"),Fail_STATE_TEXT:o.getMessage("dialogFailStateText"),HEADLINE_SPELLING_ERROR:o.getMessage("spellingError"),HEADLINE_CUSTOM_SUGGESTION_ERROR:o.getMessage("customSuggestionError"),HEADLINE_SUGGESTION_ERROR:o.getMessage("suggestionError"),HEADLINE_PUNCTUATION_ERROR:o.getMessage("punctuationError"),HEADLINE_GRAMMAR_ERROR:o.getMessage("grammarError"),SELECT_LANGUAGE_LABEL:o.getMessage("dialogSelectLanguageLabel"),UNSUPPORTED_LANGUAGE_LABEL:o.getMessage("dialogUnsupportedLanguageLabel"),UNSUPPORTED_LANGUAGE_HEADLINE:o.getMessage("dialogUnsupportedLanguageHeadline"),UNSUPPORTED_LANGUAGE_TEXT:o.getMessage("dialogUnsupportedLanguageText"),ALL_LANGUAGES:o.getMessage("dialogAllLanguages"),RECOMMENDED_LANGUAGES:o.getMessage("dialogRecommendedLanguages"),SCROLL_TO_LINK:o.getMessage("dialogScrollToLink"),SEND_FEEDBACK_TOOLTIP:o.getMessage("dialogTooltipSendFeedback"),HELP_TOOLTIP:o.getMessage("dialogTooltipHelp"),HELP_CENTER_TOOLTIP:o.getMessage("dialogTooltipHelpCenter"),IGNORE_RULE_TOOLTIP:o.getMessage("ignoreHere"),DISABLE_CHECKING_TOOLTIP:o.getMessage("dialogTooltipDisableChecking"),DISABLE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuDisableChecking"),PAUSE_CHECKING_MENU_ITEM:o.getMessage("dialogDisableMenuPauseChecking"),DIALOG_POSITION_TOOLTIP:o.getMessage("dialogTooltipPosition"),SETTINGS_TOOLTIP:o.getMessage("dialogTooltipSettings"),USER_STATISTICS_TOOLTIP:o.getMessage("dialogTooltipUserStatistics"),SAVE_TEXT_TOOLTIP:o.getMessage("dialogTooltipSaveText"),NEEDS_LANGUAGE_HINT_HEADLINE:o.getMessage("dialogNeedsLanguageHintHeadline"),NEEDS_LANGUAGE_HINT_TEXT:o.getMessage("dialogNeedsLanguageHintText"),NEEDS_LANGUAGE_HINT_IGNORE:o.getMessage("dialogNeedsLanguageHintIgnore"),LANGUAGES:kt.LANGUAGES}}static init(){Aa._isInitialized||(Aa._cacheMessages(),Aa._isInitialized=!0)}constructor(e,t,s,a,r){this._menus=[],this._allDisplyedErrorsCount=0,this._toolbarContainer=e,this._appearance=t,this._uiOptions=r,this._document=this._toolbarContainer.ownerDocument,this._languageCode=s,this._onCloseClick=this._onCloseClick.bind(this),this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0),this._controls={},this._eventListeners=[],this._render().then((()=>{this.setCurrentLanguage(s||kt.getUserLanguageCode()),this.updateCounter({mode:"words",counts:{words:0,characters:0,sentences:0}}),this.updateState(a)})),this._eventListeners.push(as(document,"keydown",this._onKeydown.bind(this))),this._inApplyFixMode=!1,this._inInsignificantChangeMode=!0,this._shouldShowRatingTeaser=!a.displayedPremiumErrors.length&&!this._controls.teaserElement&&!this._uiOptions.disableRatingTeaser&&n.isRuntimeConnected()&&0===Math.floor(2*Math.random())}async _render(){if(this._controls.container)return;this._controls.container=Gt(this._document,Aa.CONTAINER_ELEMENT_NAME);const e=e=>{e.stopImmediatePropagation()};this._eventListeners.push(as(this._controls.container,"mousedown",(t=>{t.target===this._controls.languageSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target===this._controls.countSelector.getSelect()&&(document.addEventListener("blur",e,!0),setTimeout((()=>{document.removeEventListener("blur",e,!0)}),10)),t.target instanceof HTMLElement&&t.target.closest("[data-lt-prevent-focus]")&&t.preventDefault(),e(t)})),as(this._controls.container,"mouseup",e),as(this._controls.container,"pointerdown",e),as(this._controls.container,"pointerup",e),as(this._controls.container,"focusin",e),as(this._controls.container,"focusout",e),as(this._controls.container,"click",(e=>{e.preventDefault(),e.stopPropagation()}))),this._controls.innerContainer=this._document.createElement("lt-div"),this._controls.innerContainer.classList.add("lt-dialog__container","notranslate"),wt.isSafari()&&this._controls.innerContainer.classList.add("lt-dialog__container--safari"),this._appearance.canDisplayAllSuggestions()||this._controls.innerContainer.classList.add("lt-dialog__container--small"),this._controls.container.appendChild(this._controls.innerContainer),this._controls.header=this._document.createElement("lt-div"),this._controls.header.className="lt-dialog__header",this._controls.innerContainer.appendChild(this._controls.header);const t=this._document.createElement("lt-div");t.className="lt-dialog__header__logo-wrapper",this._controls.logo=this._document.createElement("lt-div"),this._controls.logo.classList.add("lt-dialog__logo","lt-icon__lt"),t.appendChild(this._controls.logo),this._uiOptions.isPremiumAccount||(this._controls.packageBadge=new Ta(null,"basic","default",t),this._eventListeners.push(as(this._controls.packageBadge.getElement(),"click",this._onBadgeClicked.bind(this)))),this._controls.header.appendChild(t),this._controls.headerScoreProgress=this._document.createElement("lt-div"),this._controls.headerScoreProgress.className="lt-dialog__header__progress-score",this._controls.header.appendChild(this._controls.headerScoreProgress),this._controls.headerScoreProgressBar=this._document.createElement("lt-div"),this._controls.headerScoreProgressBar.className="lt-dialog__header__progress-score__bar",this._controls.headerScoreProgress.appendChild(this._controls.headerScoreProgressBar),this._controls.headerControlsWrapper=this._document.createElement("lt-div"),this._controls.headerControlsWrapper.className="lt-dialog__header__controls-wrapper";const s=this._document.createElement("select");if(Aa.MESSAGES.LANGUAGES.forEach((e=>{const t=this._document.createElement("option");t.value=e.code,t.textContent=e.name,s.appendChild(t)})),n.isRuntimeConnected()){const e=await n.getPreferredLanguages();if(!s||!e.length)return;const t=s.value,a=this._document.createElement("optgroup");a.label=Aa.MESSAGES.ALL_LANGUAGES,Array.from(s.children).forEach((e=>{a.append(e)}));const r=this._document.createElement("optgroup");r.label=Aa.MESSAGES.RECOMMENDED_LANGUAGES,e.forEach((e=>{const t=kt.LANGUAGES.find((t=>t.code.startsWith(e.toLowerCase())));if(t){const e=this._document.createElement("option");e.value=t.code,e.textContent=t.name,r.appendChild(e)}})),s.append(r),s.append(a),s.value=t}if(this._controls.languageSelector=new wa("language-select",this._controls.headerControlsWrapper,s),this._eventListeners.push(as(this._controls.languageSelector.getSelect(),"change",this._onLanguageChange.bind(this))),!this._uiOptions.disableSaveDocument){const e={label:Aa.MESSAGES.SAVE_TEXT_TOOLTIP,position:"top-center"};this._controls.saveIcon=new Sa("save",null,e,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.saveIcon.getElement(),"click",this._onSaveTextClick.bind(this)))}if(this._appearance.isPositionVisible()&&n.isRuntimeConnected()){const e=this._document.createElement("lt-div");e.className="lt-icon-group",this._controls.headerControlsWrapper.appendChild(e);const t={label:Aa.MESSAGES.DIALOG_POSITION_TOOLTIP,position:"bottom-right"};this._controls.positionIcon=new Sa(this._uiOptions.dialogPosition,null,t,e);const s=[{className:"default",label:Aa.MESSAGES.POSITION_DEFAULT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"right",label:Aa.MESSAGES.POSITION_RIGHT_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"left",label:Aa.MESSAGES.POSITION_LEFT_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.positionMenu=new ya("position",s,this._controls.positionIcon.getElement(),this._controls.innerContainer,"bottom",!0),this._menus.push(this._controls.positionMenu);const a=this._controls.positionMenu.getAllOptions();this._eventListeners.push(as(a[0],"click",this._onPositionDialogClick.bind(this)),as(a[1],"click",this._onPositionRightClick.bind(this)),as(a[2],"click",this._onPositionLeftClick.bind(this)),as(this._controls.positionMenu.getOverlay(),"click",this._onPositionOverlayClick.bind(this)),as(this._controls.positionIcon.getElement(),"click",this._onPositionIconClick.bind(this)))}this._controls.closeIcon=new Sa("close_filled",null,null,this._controls.headerControlsWrapper),this._eventListeners.push(as(this._controls.closeIcon.getElement(),"click",this._onCloseClick)),this._controls.headerControlsWrapper.appendChild(this._controls.closeIcon.getElement()),this._eventListeners.push(as(this._controls.logo,"click",this._gotoLanguageTool.bind(this))),this._controls.content=this._document.createElement("lt-div"),this._controls.content.className="lt-dialog__content",this._controls.innerContainer.appendChild(this._controls.content),this._eventListeners.push(as(this._controls.content,"scroll",this._onContentScroll.bind(this))),this._controls.contentTop=this._document.createElement("lt-div"),this._controls.contentTop.className="lt-dialog__content__top",this._controls.content.appendChild(this._controls.contentTop),this._controls.contentMain=this._document.createElement("lt-div"),this._controls.contentMain.className="lt-dialog__content__main",this._controls.content.appendChild(this._controls.contentMain),this._controls.contentBottom=this._document.createElement("lt-div"),this._controls.contentBottom.className="lt-dialog__content__bottom",this._controls.content.appendChild(this._controls.contentBottom),this._controls.footer=this._document.createElement("lt-div"),this._controls.footer.className="lt-dialog__footer",this._controls.loadingBar=this._document.createElement("lt-div"),this._controls.loadingBar.className="lt-dialog__footer__loading-bar-container";const a=this._document.createElement("lt-div");a.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-1");const r=this._document.createElement("lt-div");r.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-2");const o=this._document.createElement("lt-div");o.classList.add("lt-dialog__footer__loading-bar-container__loading-bar","lt-dialog__footer__loading-bar-container__loading-bar--loading-bar-3"),this._controls.loadingBar.appendChild(a),this._controls.loadingBar.appendChild(r),this._controls.loadingBar.appendChild(o),this._controls.footer.appendChild(this._controls.loadingBar);const i=[{label:Aa.MESSAGES.COUNTER_CHARACTERS_OPTION,value:"characters"},{label:Aa.MESSAGES.COUNTER_WORDS_OPTION,value:"words"},{label:Aa.MESSAGES.COUNTER_SENTENCES_OPTION,value:"sentences"}],l=this._document.createElement("select");if(i.forEach((e=>{const t=this._document.createElement("option");t.value=e.value,t.textContent=e.label,l.appendChild(t)})),this._controls.countSelector=new wa("countSelect",this._controls.footer,l),this._controls.footerControlsWrapper=this._document.createElement("lt-div"),this._controls.footerControlsWrapper.className="lt-dialog__footer__controls-wrapper",this._controls.footer.appendChild(this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.countSelector.getSelect(),"change",this._onCountChange.bind(this))),this._uiOptions.disableHelpCenter||this._uiOptions.disableFeedbackForm)if(this._uiOptions.disableFeedbackForm){if(!this._uiOptions.disableHelpCenter){const e={label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._gotoHelpCenter.bind(this)))}}else{const e={label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("feedback",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement()),this._eventListeners.push(as(this._controls.sendFeedback.getElement(),"click",this._showFeedbackForm.bind(this)))}else{const e={label:Aa.MESSAGES.HELP_TOOLTIP,position:"top-right"};this._controls.sendFeedback=new Sa("help",null,e,this._controls.footerControlsWrapper),this._controls.footerControlsWrapper.appendChild(this._controls.sendFeedback.getElement());const t=[{className:"help",label:Aa.MESSAGES.HELP_CENTER_TOOLTIP,info:null,tag:null,isClickable:!0,isSelectable:!1},{className:"feedback",label:Aa.MESSAGES.SEND_FEEDBACK_TOOLTIP,info:null,tag:null,isClickable:!0}];this._controls.helpMenu=new ya("help",t,this._controls.sendFeedback.getElement(),this._controls.innerContainer,"top",!1,null),this._menus.push(this._controls.helpMenu);const s=this._controls.helpMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._gotoHelpCenter.bind(this)),as(s[1],"click",this._showFeedbackForm.bind(this)),as(this._controls.helpMenu.getOverlay(),"click",this._onHelpOverlayClick.bind(this)),as(this._controls.sendFeedback.getElement(),"click",this._onHelpIconClick.bind(this)))}if(this._uiOptions.showUserStatisticsLink){const e={label:Aa.MESSAGES.USER_STATISTICS_TOOLTIP,position:"top-right"},t=new Sa("user-statistics",null,e,this._controls.footerControlsWrapper);this._eventListeners.push(as(t.getElement(),"click",this._onUserStatisticsClick.bind(this)))}if(!this._uiOptions.disableTurnOff){const e={label:Aa.MESSAGES.DISABLE_CHECKING_TOOLTIP,position:"top-right"};this._controls.disableIcon=new Sa("disable_circle",null,e,this._controls.footerControlsWrapper);const t=[{className:"pause",label:Aa.MESSAGES.PAUSE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0},{className:"disable_circle",label:Aa.MESSAGES.DISABLE_CHECKING_MENU_ITEM,info:null,tag:null,isClickable:!0}];this._controls.disableMenu=new ya("disable",t,this._controls.disableIcon.getElement(),this._controls.innerContainer,"top",!1),this._menus.push(this._controls.disableMenu);const s=this._controls.disableMenu.getAllOptions();this._eventListeners.push(as(s[0],"click",this._onPauseCheckingClick.bind(this)),as(s[1],"click",this._onTurnOffClick.bind(this)),as(this._controls.disableMenu.getOverlay(),"click",this._onDisableOverlayClick.bind(this)),as(this._controls.disableIcon.getElement(),"click",this._onDisableIconClicked.bind(this)))}if(!this._uiOptions.disableOptionsPage){const e={label:Aa.MESSAGES.SETTINGS_TOOLTIP,position:"top-right"};this._controls.optionsIcon=new Sa("options",null,e,this._controls.footerControlsWrapper),this._eventListeners.push(as(this._controls.optionsIcon.getElement(),"click",this._onOptionsClick.bind(this)))}this._controls.incompleteResult=this._document.createElement("lt-div"),this._controls.incompleteResult.className="lt-dialog__incomplete-result",this._controls.incompleteResult.textContent=Aa.MESSAGES.INCOMPLETE_RESULT,this._controls.footer.appendChild(this._controls.incompleteResult),this._controls.pointer=this._document.createElement("lt-span"),this._controls.pointer.className="lt-dialog__pointer",this._controls.innerContainer.appendChild(this._controls.pointer),this._toolbarContainer.appendChild(this._controls.container),this._toolbarContainer.classList.add("lt-toolbar--dialog-opened"),n.isRuntimeConnected()&&(this._controls.innerContainer.appendChild(this._controls.footer),this._controls.header.appendChild(this._controls.headerControlsWrapper));const c=this._toolbarContainer.querySelector(".lt-toolbar__premium-icon-dot--has-notification");c&&c.classList.remove("lt-toolbar__premium-icon-dot--has-notification")}_position(e=null){const t=this._controls.container.ownerDocument.body.offsetWidth,s=n.isRuntimeConnected()&&this._appearance.isPositionVisible()&&t>400?e||this._uiOptions.dialogPosition:"default";if(this._uiOptions.dialogPosition=s,this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-right"),this._controls.innerContainer.classList.remove("lt-dialog__container--fixed-left"),"default"===s){!this._controls.positionMenu||this._controls.positionMenu.toggleActive(0,!0,!0);let e=this._controls.innerContainer.getBoundingClientRect();const t=document.doctype?this._document.documentElement.clientWidth:Math.min(this._document.documentElement.clientWidth,document.body.clientWidth);e.right>=t-Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e=this._controls.innerContainer.getBoundingClientRect();const s=document.doctype?this._document.documentElement.clientHeight:Math.min(this._document.documentElement.clientHeight,document.body.clientHeight);e.bottom>=s&&this._alignToTop(),e=this._controls.innerContainer.getBoundingClientRect(),e.top<=Aa.SPACE_TO_SCREEN_EDGE&&this._alignToBottom(),e.top<0&&!qt(document.body)&&!qt(document.documentElement)&&this._alignToBottom()}else"right"===s?(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(1,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-right")):"left"===s&&(!this._controls.positionMenu||this._controls.positionMenu.toggleActive(2,!0,!0),this._controls.innerContainer.style.removeProperty("right"),this._controls.innerContainer.style.removeProperty("left"),this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container--fixed-left"))}_alignToBottom(){const e=new It(this._document);this._controls.innerContainer.classList.remove("lt-dialog__container-top"),this._controls.innerContainer.classList.add("lt-dialog__container-bottom");const t=this._controls.innerContainer.getBoundingClientRect();if(t.left<=Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(e.getStyle(this._controls.innerContainer,"right"),10)+t.left-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(e.getStyle(this._controls.pointer,"right"),10)-t.left+Aa.SPACE_TO_SCREEN_EDGE;e.setStyles(this._controls.innerContainer,{right:s+"px !important",left:"auto !important"}),e.setStyles(this._controls.pointer,{right:a+"px !important",left:"auto !important"})}if(t.right>this._document.documentElement.clientWidth){e.setStyles(this._controls.innerContainer,{right:"0px !important",left:"auto !important"});const s=parseInt(e.getStyle(this._controls.pointer,"right"),10)+(this._controls.innerContainer.getBoundingClientRect().right-t.right);e.setStyles(this._controls.pointer,{right:s+"px !important",left:"auto !important"})}}_alignToTop(){this._controls.innerContainer.classList.remove("lt-dialog__container-bottom"),this._controls.innerContainer.classList.add("lt-dialog__container-top");const e=this._controls.innerContainer.getBoundingClientRect(),t=new It(this._document);if(this._controls.innerContainer.classList.add("lt-dialog__container-hide"),e.right>=this._document.documentElement.clientWidth-Aa.SPACE_TO_SCREEN_EDGE){const s=parseInt(t.getStyle(this._controls.innerContainer,"left"),10)-(e.right-this._document.documentElement.clientWidth)-Aa.SPACE_TO_SCREEN_EDGE,a=parseInt(t.getStyle(this._controls.pointer,"left"),10)+(e.right-this._document.documentElement.clientWidth)+Aa.SPACE_TO_SCREEN_EDGE;t.setStyles(this._controls.innerContainer,{left:s+"px !important",right:"auto !important"}),t.setStyles(this._controls.pointer,{left:a+"px !important",right:"auto !important"})}this._controls.innerContainer.classList.remove("lt-dialog__container-hide")}_removeTeaser(){this._controls.teaserElement&&(this._controls.teaserElement.remove(),this._controls.teaserElement=void 0)}_updateContent(){if(!this._controls.content)return;this.closeAllMenus();const e=this._state.checkStatus;this._controls.content.classList.remove("lt-dialog__has-errors"),this._controls.content.classList.remove("lt-dialog__is-loading"),this._controls.contentMain.innerHTML="",this._controls.contentTop.innerHTML="",this._controls.contentBottom.innerHTML="",this.updateCounter(this._state.countOptions);const t=(this._inApplyFixMode||this._inInsignificantChangeMode)&&e===ba.IN_PROGRESS&&this._allDisplyedErrorsCount>0;this._showLoadingBar(t);const s=e===ba.NEEDS_LANGUAGE_HINT;if(this._controls.languageSelector.toggleHighlight(s),t?(this._renderHeadline(),this._renderCompletedState()):e===ba.IN_PROGRESS?(this._renderHeadline(),this._renderInProgressState()):e===ba.COMPLETED?(this._renderHeadline(),this._renderCompletedState()):e===ba.DISABLED?this._renderDisabledState():e===ba.TEXT_TOO_SHORT?(this._renderHeadline(),this._renderTextTooShortState(),this._renderPremiumErrorsTeaser()):e===ba.TEXT_TOO_LONG?(this._renderHeadline(),this._renderTextTooLongState(),this._renderDiscountTimerTeaser()):e===ba.UNSUPPORTED_LANGUAGE?(this._renderHeadline(),this._renderLanguageUnsupportedState()):e===ba.DISCONNECTED?this._renderDisconnectedState():e===ba.FAILED?this._renderFailedState():s&&this._renderNeedsLanguageHintState(),e===ba.COMPLETED&&this._controls.mainHeadline){this._controls.headerScoreProgressBar.style.width=this._state.textScore+"%",this._controls.textScore.setScore(this._state.textScore);const e=this._state.displayedErrors.length||0,t=this._state.displayedPremiumErrors.length||0;this._allDisplyedErrorsCount=e+t,this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString()}this._position()}_showLoadingBar(e){e!==this._isLoadingBarShown&&(e?this._controls.loadingBar.classList.remove("lt-dialog__footer__loading-bar-container--hidden"):this._controls.loadingBar.classList.add("lt-dialog__footer__loading-bar-container--hidden"),this._isLoadingBarShown=e)}_getCountString(e,t){if(!n.isRuntimeConnected())return"";const s={words:[o.getMessage("dialogCounterWordsSingular"),o.getMessage("dialogCounterWordsPlural",[dt(e.counts.words,n.getUILanguageCode())])],sentences:[o.getMessage("dialogCounterSentencesSingular"),o.getMessage("dialogCounterSentencesPlural",[dt(e.counts.sentences,n.getUILanguageCode())])],characters:[o.getMessage("dialogCounterCharactersSingular"),o.getMessage("dialogCounterCharactersPlural",[dt(e.counts.characters,n.getUILanguageCode())])]},a=e.counts[t];return 0===a?s[t][1]:1===a?s[t][0]:s[t][1]}_renderHeadline(){this._controls.mainHeadline=this._document.createElement("lt-div"),this._controls.mainHeadline.classList.add("lt-dialog__content-top__menu"),this._controls.mainHeadline.setAttribute("data-lt-prevent-focus","");const e=this._document.createElement("lt-span");e.className="lt-dialog__main-headline";const t=this._document.createElement("lt-span");t.className="lt-dialog__main-headline__headline",t.textContent=Aa.MESSAGES.REGULAR_MISTAKE_MENU_ITEM,this._controls.errorsCounter=this._document.createElement("lt-span"),this._controls.errorsCounter.className="lt-dialog__main-headline__counter",this._controls.errorsCounter.textContent=this._allDisplyedErrorsCount.toString(),e.appendChild(t),e.appendChild(this._controls.errorsCounter),this._controls.mainHeadline.appendChild(e);const s={label:Aa.MESSAGES.TEXT_SCORE_MENU_ITEM,position:"bottom-right"};this._controls.textScore=new La("lt-dialog__main-headline__score",this._controls.mainHeadline,s),this._controls.textScore.setScore(this._state.textScore),this._controls.contentTop.appendChild(this._controls.mainHeadline),this._controls.pickyToggle=new Pa("picky_mode",Aa.MESSAGES.PICKY_MODE_MENU_ITEM,"",this._controls.contentTop),this._controls.pickyToggle.set(this._state.isPickyModeEnabled),this._eventListeners.push(as(this._controls.pickyToggle.getElement(),"click",this._onTogglePickyMode.bind(this)))}_renderInProgressState(){this._controls.content.classList.add("lt-dialog__is-loading");const e=this._document.createElement("lt-div");e.className="lt-dialog-skeleton lt-dialog-skeleton--error-card";const t=this._document.createElement("lt-div");t.className="lt-dialog-skeleton lt-dialog-skeleton--error-card",this._controls.contentMain.appendChild(e),this._controls.contentMain.appendChild(t)}_renderCompletedState(){this._state.displayedErrors&&this._state.displayedErrors.length?this._appearance.canDisplayAllSuggestions()?(this._renderErrors(),this._renderIgnoredErrorsStats()):this._renderScrollHint():this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length?(this._removeTeaser(),this._renderPremiumState()):(this._removeTeaser(),this._renderNoErrorsState(),this._renderIgnoredErrorsStats()),this._controls.incompleteResult.classList.toggle("lt-dialog__incomplete-result-show",!!this._state.isIncompleteResult)}_renderErrors(){this._controls.content.classList.add("lt-dialog__has-errors"),this._state.displayedPremiumErrors&&this._state.displayedPremiumErrors.length&&this._renderPremiumErrorsTeaser(),this._state.displayedErrors.forEach((e=>{const t=this._document.createElement("lt-div");t.className="lt-dialog__error-item";const s={label:Aa.MESSAGES.IGNORE_RULE_TOOLTIP,position:"top-right"},a=new Sa("trash",null,s,t);this._eventListeners.push(as(a.getElement(),"click",(s=>{e.isSpellingError?this._onTemporarilyIgnoreWordClick(e,s):this._onTemporarilyIgnoreRuleClick(e,s),t.remove()})));const n=this._document.createElement("lt-div");n.className="lt-dialog__error-headline",e.isPicky&&t.classList.add("lt-dialog__error-item--picky-mistake"),e.isCustomError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--custom-suggestion")):e.isSpellingError?(n.textContent=Aa.MESSAGES.HEADLINE_SPELLING_ERROR,t.classList.add("lt-dialog__error-item--spelling-mistake")):e.isStyleError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_SUGGESTION_ERROR,t.classList.add("lt-dialog__error-item--style-suggestion")):e.isPunctuationError?(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_PUNCTUATION_ERROR,t.classList.add("lt-dialog__error-item--punctuation-mistake")):(n.textContent=e.shortDescription||Aa.MESSAGES.HEADLINE_GRAMMAR_ERROR,t.classList.add("lt-dialog__error-item--grammar-mistake")),t.append(n),t.addEventListener("mouseenter",(()=>this._onErrorHighlighted(e.id))),t.addEventListener("mouseleave",(()=>this._onErrorHighlighted(null)));const r=this._document.createElement("lt-div");r.className="lt-dialog__original-phrase",t.appendChild(r);const o=this._document.createElement("lt-div");o.className="lt-dialog__original-phrase__header",r.appendChild(o);const i=this._document.createElement("lt-div");i.className="lt-dialog__original-phrase__header__title",i.textContent=e.originalPhrase,o.appendChild(i);const l=new Sa("scroll-to-link",Aa.MESSAGES.SCROLL_TO_LINK,null,o);this._eventListeners.push(as(l.getElement(),"click",(t=>{t.stopImmediatePropagation(),this._onErrorSelected(e.id)})));const c=this._document.createElement("lt-div");c.className="lt-dialog__original-phrase__long-context-phrase",c.innerHTML=e.longContextPhrase,r.appendChild(c),this._renderFixes(e,t),this._renderDescription(e,t),this._renderActions(e,t),this._controls.contentMain.appendChild(t)}))}_renderFixes(e,t){const s=this._document.createElement("lt-div");s.className="lt-dialog__fix-container",t.appendChild(s);const a=Math.min(e.fixes.length,se);for(let n=0;n<a;n++){const r=e.fixes[n],o=this._document.createElement("lt-div");if(o.title=r.shortDescription||"",o.className="lt-dialog__fix",o.setAttribute("data-lt-prevent-focus",""),r.value.match(be)&&!r.value.match(/^\s*[\-–—:;]\s$/))o.textContent=r.value.replace(be,"·");else{const t=r.value.replace(Se," ");a>3&&e.isSpellingError?o.textContent=t:(o.classList.add("lt-dialog__fix--highlighted"),o.innerHTML=Zs(ea(e.originalPhrase,t)))}""===r.value&&e.originalPhrase.match(/[a-z0-9]{2,}/)?(o.classList.add("lt-dialog__fix--remove"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=e.originalPhrase):""===r.value&&(o.classList.add("lt-dialog__fix--delete"),o.classList.remove("lt-dialog__fix--highlighted"),o.textContent=Aa.MESSAGES.DELETE),this._eventListeners.push(as(o,"click",(s=>{this._onFixClick(e,n,s),t.remove()}))),s.appendChild(o);const i=js(e,r.value);if(this._uiOptions.canCorrectMultipleErrorsAtOnce&&Vs(this._state.errors,e)&&i){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__fix--correct-all"),t.innerHTML=i.suggestion.message;const a=this._onCorrectAll.bind(this,e,i);this._eventListeners.push(as(t,"click",a)),s.appendChild(t),s.appendChild(this._document.createElement("br"))}r.value.length>=14&&t.classList.add("lt-dialog__long-fix")}}_renderActions(e,t){if(e.isSpellingError){if(!this._uiOptions.disableAddingWord&&!Ge(e.originalPhrase)){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__add-to-dictionary","lt-icon__dictionary"),s.setAttribute("data-lt-prevent-focus",""),s.textContent=o.getMessage("addToDictionaryCaption",e.originalPhrase),this._eventListeners.push(as(s,"click",(s=>{this._onAddToDictionaryClick(e,s),t.remove()}))),t.appendChild(s)}}else if(!this._uiOptions.disableIgnoringRule&&!e.isCustomError){const s=this._document.createElement("lt-div");s.classList.add("lt-dialog__ignore-rule"),s.classList.add("lt-icon__ignore"),s.setAttribute("data-lt-prevent-focus",""),s.classList.add("lt-icon__ignore"),s.textContent=o.getMessage("turnOffRule"),this._eventListeners.push(as(s,"click",(s=>{this._onIgnoreRuleClick(e,s),t.remove()}))),t.appendChild(s)}}_renderDescription(e,t){const s=this._document.createElement("lt-div");if(s.className="lt-dialog__error-text",s.setAttribute("data-lt-prevent-focus",""),s.textContent=e.description,t.append(s),e.rule.urls&&e.rule.urls.length>0){const t=this._document.createElement("lt-span");t.classList.add("lt-dialog__more-details","lt-icon__info"),t.setAttribute("data-lt-prevent-focus",""),t.title=o.getMessage("moreDetails"),this._eventListeners.push(as(t,"click",(t=>{this._onMoreDetailsClick(e.rule.urls[0],t)}))),s.appendChild(t)}}_renderScrollHint(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__scroll-hint__headline",t.textContent=Aa.MESSAGES.SCROLL_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__scroll-hint__text",s.textContent=Aa.MESSAGES.SCROLL_HINT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderTextTooShortState(){this._removeTeaser();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__text-too-short__headline",t.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__text-too-short__text",s.innerHTML=Aa.MESSAGES.TEXT_TOO_SHORT_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNoErrorsState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__no-errors__headline",t.textContent=Aa.MESSAGES.NO_ERRORS;const s=this._document.createElement("lt-div");s.className="lt-dialog__no-errors__text",s.textContent=Aa.MESSAGES.NO_ERRORS_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._shouldShowRatingTeaser?this._renderRatingTeaser():this._renderPremiumErrorsTeaser()}_renderIgnoredErrorsStats(){if(!this._state.ignoredErrorsStats)return;if(0===this._state.ignoredErrorsStats.byDictionary&&0===this._state.ignoredErrorsStats.byRules)return;const e=this._document.createElement("lt-div");if(this._state.displayedErrors&&this._state.displayedErrors.length?e.className="lt-dialog__ignored-errors-item":e.className="lt-dialog__ignored-errors-message",this._state.ignoredErrorsStats.byDictionary>0&&!this._uiOptions.disableAddingWord){const t=1===this._state.ignoredErrorsStats.byDictionary?"errorsIgnoredByDictionarySingular":"errorsIgnoredByDictionary",s=o.getMessage(t,[this._state.ignoredErrorsStats.byDictionary]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byDictionary",e.appendChild(a)}if(this._state.ignoredErrorsStats.byRules>0&&!this._uiOptions.disableIgnoringRule){if(this._state.ignoredErrorsStats.byDictionary>0){const t=document.createElement("lt-span");t.textContent=", ",e.appendChild(t)}const t=1===this._state.ignoredErrorsStats.byRules?"errorsIgnoredByRulesSingular":"errorsIgnoredByRules",s=o.getMessage(t,[this._state.ignoredErrorsStats.byRules]),a=document.createElement("lt-span");a.textContent=s,a.dataset.type="byRules",e.appendChild(a)}this._controls.contentMain.appendChild(e),this._eventListeners.push(as(e,"click",this._onIgnoredErrorsClick.bind(this)))}_renderRatingTeaser(){this._ratingTeaser=new xa(this._controls.contentBottom,"dialog",ct().substr(0,150))}_renderPremiumErrorsTeaser(){this._controls.teaserElement||n.isRuntimeConnected()&&Lt.create().onReady((e=>{if(e.getUIState().hasPaidSubscription)return;const t=function(e){const t=300;let s=0;const a=Date.now();let n=0;for(const r of e.hiddenErrors){const e=+new Date(r.day);if(a-e>864e6)break;if(n=e,s+=r.count,s>t){s=t;break}}let r=String(s);return s>=t&&(r="300+"),{hiddenErrorsCount:s,hiddenErrorsCountStr:r,dayCount:Math.ceil((a-n)/1e3/60/60/24)}}(e.getStatistics());e.startChangelogCoupon();const s=e.getActiveCoupon();if(this._state.displayedPremiumErrors.length){const e=this._state.displayedPremiumErrors.filter((e=>!e.isStyleError&&!e.isPunctuationError)).length,t=this._state.displayedPremiumErrors.filter((e=>e.isPunctuationError)).length,s=this._state.displayedPremiumErrors.filter((e=>e.isStyleError)).length,a="dialog:premium_teaser",n=1===e+t+s?o.getMessage("premiumErrorsTextSingular"):o.getMessage("premiumErrorsTextPlural",[this._state.displayedPremiumErrors.length]),r=o.getMessage("premiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentTop,a,null,n,r,{campaign:"addon2-dialog-premium-errors",hiddenGrammarMatches:e,hiddenStyleMatches:s,hiddenPunctuationMatches:t,textLanguage:this._languageCode||void 0})}else if(t.hiddenErrorsCount>5){const e="dialog:historic_premium_teaser",s=o.getMessage("historicPremiumErrorsHeadline"),a=o.getMessage("historicPremiumErrorsText2",[t.hiddenErrorsCount,t.dayCount]),n=o.getMessage("historicPremiumErrorsButton");this._premiumTeaser=new ka(this._controls.contentBottom,e,s,a,n,{campaign:"addon2-dialog-historic-premium-errors",historicMatches:t.hiddenErrorsCountStr})}else if(s){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog"})}e.destroy()}))}_renderDiscountTimerTeaser(){Lt.create().onReady((e=>{e.startChangelogCoupon();if(e.getActiveCoupon()){const e="dialog:premium_teaser";this._premiumTeaser=new ka(this._controls.contentBottom,e,null,null,null,{campaign:"addon2-dialog-premium"})}e.destroy()}))}_renderPremiumState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=1===this._state.displayedPremiumErrors.length?o.getMessage("dialogPremiumHeadlineSingular"):o.getMessage("dialogPremiumHeadlinePlural",[this._state.displayedPremiumErrors.length]);const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=o.getMessage("dialogPremiumText");const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=o.getMessage("dialogPremiumButton");let n="addon2-dialog-premium";this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={dialog:this,campaign:n};ts(document,Aa.eventNames.premiumTeaserClicked,t),Pt.trackEvent("Action","dialog:premium:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),Lt.create().onReady((e=>{e.startChangelogCoupon();e.getActiveCoupon()&&(n=n.replace("addon2","addon2-countdown"),this._premiumTeaser=new ka(this._controls.contentBottom,"dialog:premium_teaser",null,null,null,{campaign:n})),e.destroy()}))}_renderDisabledState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__enable-text__headline",t.textContent=Aa.MESSAGES.ENABLE_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__enable-everywhere",s.innerHTML=Aa.MESSAGES.ENABLE_EVERYWHERE_BUTTON,this._eventListeners.push(as(s,"click",this._enableEverywhere.bind(this)));const a=this._document.createElement("lt-div");a.className="lt-dialog__enable-here",a.innerHTML=Aa.MESSAGES.ENABLE_HERE_BUTTON,this._eventListeners.push(as(a,"click",this._enableHere.bind(this))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderTextTooLongState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__premium__headline",t.textContent=Aa.MESSAGES.TEXT_TOO_LONG_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__premium__text",s.textContent=Aa.MESSAGES.TEXT_TOO_LONG_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__premium__button lt-icon__new_window",a.textContent=Aa.MESSAGES.TEXT_TOO_LONG_BUTTON;let n="addon2-dialog-text-too-long";Lt.create().onReady((e=>{e.getActiveCoupon()&&(n=n.replace("addon2-dialog","addon2-dialog-countdown")),e.destroy()})),this._eventListeners.push(as(a,"click",(e=>{e.stopImmediatePropagation();const t={command:"OPEN_PREMIUM_PAGE",campaign:n};Rt().runtime.sendMessage(t),Pt.trackEvent("Action","dialog:text_too_long:click")}))),e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e)}_renderLanguageUnsupportedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__language-unsupported__headline",t.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_HEADLINE;const s=this._document.createElement("lt-div");if(s.className="lt-dialog__language-unsupported__text",s.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_TEXT,e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e),this._controls.languageSelector){const e=this._document.createElement("option");e.disabled=!0,e.selected=!0,e.textContent=Aa.MESSAGES.UNSUPPORTED_LANGUAGE_LABEL,this._controls.languageSelector.addOption(e);const t=n.getURL("/assets/images/flags/not_found.svg");this._controls.languageSelector.setActive(Aa.MESSAGES.SELECT_LANGUAGE_LABEL,"",{"background-image":`url('${t}') !important`})}}_renderDisconnectedState(){this._controls.footer.remove(),this._controls.headerControlsWrapper.remove();const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_HEADLINE,t.className="lt-dialog__reload-headline",this._controls.contentMain.appendChild(t);const s=this._document.createElement("lt-div");s.innerHTML=Aa.MESSAGES.EXTENSION_UPDATED_TEXT,s.className="lt-dialog__reload__text",this._controls.contentMain.appendChild(s),e.appendChild(t),e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderFailedState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__exception-headline",t.textContent=Aa.MESSAGES.Fail_STATE_HEADLINE,e.appendChild(t);const s=this._document.createElement("lt-div");s.className="lt-dialog__exception__text",s.textContent=this._state.checkErrorMessage||Aa.MESSAGES.Fail_STATE_TEXT,e.appendChild(s),this._controls.contentMain.appendChild(e)}_renderNeedsLanguageHintState(){const e=this._document.createElement("lt-div");e.className="lt-dialog__text-wrapper";const t=this._document.createElement("lt-div");t.className="lt-dialog__needs-language-hint__headline",t.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_HEADLINE;const s=this._document.createElement("lt-div");s.className="lt-dialog__needs-language-hint__text",s.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_TEXT;const a=this._document.createElement("lt-div");a.className="lt-dialog__needs-language-hint__button",a.textContent=Aa.MESSAGES.NEEDS_LANGUAGE_HINT_IGNORE,e.appendChild(t),e.appendChild(s),e.appendChild(a),this._controls.contentMain.appendChild(e),this._eventListeners.push(as(a,"click",(()=>{const e={dialog:this,language:this._controls.languageSelector.getValue()};Pt.trackEvent("Action","dialog:ignore_language_hint"),ts(document,Aa.eventNames.languageChanged,e)})))}_onUnload(){this.destroy()}_onKeydown(e){"Escape"===e.key&&(this.destroy(),e.stopImmediatePropagation())}_onLanguageChange(e){e.stopImmediatePropagation();const t={dialog:this,language:this._controls.languageSelector.getValue()};this.setCurrentLanguage(this._controls.languageSelector.getValue()),ts(document,Aa.eventNames.languageChanged,t)}_onTogglePickyMode(e){e.stopImmediatePropagation(),this._state.isPickyModeEnabled=!this._state.isPickyModeEnabled,this.setInsignificantChangeMode(!1);const t={dialog:this,isEnabled:this._state.isPickyModeEnabled};ts(document,Aa.eventNames.togglePickyMode,t)}_onCountChange(e){e.stopImmediatePropagation(),this._state.countOptions.mode=this._controls.countSelector.getValue(),this.updateCounter(this._state.countOptions);const t={dialog:this,countMode:this._controls.countSelector.getValue()};ts(document,Aa.eventNames.countChanged,t)}_onCloseClick(e){e.stopImmediatePropagation(),this._onUnload()}_onHelpIconClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.show()}_onHelpOverlayClick(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide()}_onPositionIconClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.show()}_onPositionOverlayClick(e){e.stopImmediatePropagation(),this._controls.positionMenu.hide()}_onPositionRightClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"right"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("right"),this._position("right"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionLeftClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"left"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("left"),this._position("left"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onPositionDialogClick(e){e.stopImmediatePropagation();const t={dialog:this,newPosition:"default"};this._controls.positionMenu.hide(),this._controls.positionIcon.setIcon("default"),this._position("default"),ts(document,Aa.eventNames.positionChangeClicked,t)}_onSaveTextClick(e){e.stopImmediatePropagation()}_onTurnOffClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.turnOff,t)}_onPauseCheckingClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.pauseChecking,t)}_onDisableIconClicked(e){e.stopImmediatePropagation(),this._controls.disableMenu.show()}_onDisableOverlayClick(e){e.stopImmediatePropagation(),this._controls.disableMenu.hide()}_onBadgeClicked(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.badgeClicked,t)}_onOptionsClick(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.openOptions,t)}_onUserStatisticsClick(e){e.stopImmediatePropagation(),n.openWindow("https://languagetool.com/editor/statistics")}_onContentScroll(e){this._controls.content.scrollTop>50?this._controls.headerScoreProgress.classList.add("show"):this._controls.headerScoreProgress.classList.remove("show")}_onIgnoredErrorsClick(e){e.stopImmediatePropagation();let t="personalDictionary";if(e.target){const s=e.target;s.dataset&&"byRules"===s.dataset.type&&(t="ignoredRules")}const s={dialog:this,target:t,ref:"dialog-ignored-errors"};ts(document,Aa.eventNames.openOptions,s)}_gotoLanguageTool(e){e.stopImmediatePropagation();let t="https://languagetool.org/?utm_campaign=addon2-dialog";wt.isSafari()&&(t+="&hidePremium=true"),n.openWindow(t)}_gotoHelpCenter(e){e.stopImmediatePropagation(),this._controls.helpMenu.hide(),n.openWindow("https://languagetooler.freshdesk.com/support/home")}_showFeedbackForm(e){e.stopImmediatePropagation();const t={dialog:this};this._controls.helpMenu.hide(),ts(document,Aa.eventNames.showFeedbackForm,t)}_onErrorHighlighted(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorHighlighted,t)}_onErrorSelected(e){const t={dialog:this,errorId:e};ts(document,Aa.eventNames.errorSelected,t)}_onMoreDetailsClick(e,t){t.stopImmediatePropagation();const s={dialog:this,url:e.value};ts(document,Aa.eventNames.moreDetailsClicked,s)}_onCorrectAll(e,t,s){s.stopImmediatePropagation();const a={dialog:this,config:t,selectedError:e};ts(document,Aa.eventNames.correctAll,a)}_onFixClick(e,t,s){s.stopImmediatePropagation(),this._inApplyFixMode=!0;const a={dialog:this,error:e,fixIndex:t,selectNextError:!1};ts(document,Aa.eventNames.fixSelected,a)}_onAddToDictionaryClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.addToDictionaryClicked,s)}_onIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.ignoreRuleClicked,s)}_onTemporarilyIgnoreWordClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreWordClicked,s)}_onTemporarilyIgnoreRuleClick(e,t){t.stopImmediatePropagation(),this._inApplyFixMode=!0;const s={dialog:this,error:e,selectNextError:!1};ts(document,Aa.eventNames.temporarilyIgnoreRuleClicked,s)}_enableEverywhere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableEverywhere,t)}_enableHere(e){e.stopImmediatePropagation();const t={dialog:this};ts(document,Aa.eventNames.enableHere,t)}getCurrentPosition(){return this._uiOptions.dialogPosition}updateState(e){st(this._state,e)||(this._state=Object.assign(this._state||{},e),this._updateContent())}setCurrentLanguage(e){if(!n.isRuntimeConnected())return;e=e.toLowerCase();const t=kt.LANGUAGES.find((t=>t.code===e))||kt.LANGUAGES.find((t=>e.startsWith(t.code)))||kt.LANGUAGES.find((e=>"en-us"===e.code)),s=n.getURL("/assets/images/flags/"+t.code+".svg");this._controls.languageSelector&&this._controls.languageSelector.setActive(this._shortenLanguageName(t.name),t.code,{"background-image":`url('${s}') !important`})}_shortenLanguageName(e){return e.split(" ",1)[0]}updateCounter(e){this._controls.countSelector&&(this._controls.countSelector.setActive(this._getCountString(e,e.mode),e.mode,{}),this._controls.countSelector.updateOptionLable("characters",this._getCountString(e,"characters")),this._controls.countSelector.updateOptionLable("sentences",this._getCountString(e,"sentences")),this._controls.countSelector.updateOptionLable("words",this._getCountString(e,"words")))}setInsignificantChangeMode(e){this._inInsignificantChangeMode=e}setApplyFixMode(e){this._inApplyFixMode=e}closeAllMenus(){this._menus.forEach((e=>{e.hide()}))}fadeOut(){this._controls.innerContainer.classList.add("lt-dialog--faded")}fadeIn(){this._controls.innerContainer.classList.remove("lt-dialog--faded")}destroy(){Yt(this._controls.container,(()=>{this._toolbarContainer.classList.remove("lt-toolbar--dialog-opened")})),this._controls.languageSelector?.destroy(),this._ratingTeaser?.destroy(),this._controls={},self.removeEventListener("pagehide",this._onUnload,!0),this._eventListeners.forEach((e=>{e.destroy()})),this._eventListeners=[];const e={dialog:this};this._premiumTeaser?.destroy(),ts(document,Aa.eventNames.destroyed,e)}}Aa.CONTAINER_ELEMENT_NAME="lt-dialog",Aa.SPACE_TO_SCREEN_EDGE=5,Aa.eventNames={turnOff:"lt-dialog.turnOff",pauseChecking:"lt-dialog.pauseChecking",enableHere:"lt-dialog.enableHere",enableEverywhere:"lt-dialog.enableEverywhere",languageChanged:"lt-dialog.languageChanged",countChanged:"lt-dialog.countChanged",errorSelected:"lt-dialog.errorSelected",errorHighlighted:"lt-dialog.errorHighlighted",addToDictionaryClicked:"lt-dialog.addToDictionaryClicked",ignoreRuleClicked:"lt-dialog.ignoreRuleClicked",temporarilyIgnoreWordClicked:"lt-dialog.temporarilyIgnoreWordClicked",temporarilyIgnoreRuleClicked:"lt-dialog.temporarilyIgnoreRuleClicked",moreDetailsClicked:"lt-dialog.moreDetailsClicked",fixSelected:"lt-dialog.fixSelected",openOptions:"lt-dialog.openOptions",showFeedbackForm:"lt-dialog.showFeedbackForm",destroyed:"lt-dialog.destroyed",togglePickyMode:"lt-dialog.togglePickyMode",positionChangeClicked:"lt-dialog.positionChangeClicked",badgeClicked:"lt-dialog.badgeClicked",premiumTeaserClicked:"lt-dialog.premiumTeaserClicked",correctAll:"lt-dialog.correctAll"},Aa._isInitialized=!1;class Ia{calculateTextScore(e,t,s,a){if(e<100)return 0;let n=0,r=0,o=0;const i=e=>{e.isSpellingError?o++:e.isStyleError?r++:n++};t.forEach(i),s.forEach(i),a.forEach(i);const l=3*n+4*o+2*r;return Math.max(0,Math.floor((e-l)/e*100))}}
88
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
89
+ class Na{static _update(e){return this._storageController.updateSettings({dictionary:e})}static init(e,t=[]){this._isInitialized||(this._storageController=e||Lt.create(),this._defaultWords=t,this._isInitialized=!0)}static get(){let e=this._storageController.getSettings().dictionary;return Array.isArray(e)||(e=[]),e=e.concat(this._defaultWords),e=et(e),e}static getSorted(){return this.get().sort(((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase())))}static add(e){const t=this.get();return t.push(e.trim()),n.addWordToDictionary(e),this._update(t)}static addBatch(e){const t=this.get();return e.forEach((e=>{e&&e.trim()&&!e.trim().match(/\s/)&&t.push(e.trim())})),n.addWordsToDictionary(e),this._update(t)}static remove(e){const t=this.get(),s=t.indexOf(e);return-1===s?Promise.resolve():(t.splice(s,1),n.removeWordFromDictionary(e),this._update(t))}static clear(){return n.clearDictionary(),this._update([])}}Na._isInitialized=!1;class Da{constructor(e,t){this._allWords=null,this._text=e,this._normalizedText=this.normalizeText(e),this._sentenceRanges=t}updateText(e,t){this._text=e,this._normalizedText=this.normalizeText(e),this._sentenceRanges=t,this._allWords=null}normalizeText(e){return e=(e=(e=(e=e.replace(/([a-zèéêáàâ0-9])['’`´‘]([a-z])/gi,"$1$2")).replace(/[\-_–"“”„'’`´‘˚^°\+\*\.\!\?…\:,;=\)\(\[\]%¡¿‽#<>•\/]/g," ")).replace(/\s+/g," ")).replace(/(^\s*)|(\s*$)/g,"")}_filterEmptySentenceRanges(e){return e.filter((e=>e.end-e.start>0))}getAllWords(){return this._normalizedText?(this._allWords||(this._allWords=this._normalizedText.replace(/([0-9])[\.,]([0-9])/g,"$1$2").split(/\s/)),this._allWords):[]}countWords(){return this.getAllWords().length}countUniqueWords(){return et(this.getAllWords()).length}getAllSentences(){return this._sentenceRanges}countSentences(){return this.getAllSentences().length}getReadingTime(){return Math.round(this.countWords()/200)}getSpeakingTime(){return Math.round(this.countWords()/130)}countCharacters(){return this._text.trim().length}uniq(e){const t=[];return e.forEach((e=>{-1===t.indexOf(e)&&t.push(e)})),t}}var Ra=s(378),Ma=s(246);const Oa=(0,Ra.createContext)({setFocusIndex:()=>{},getFocusIndex:()=>0,setButtonGroupHash:()=>{}}),Ha=e=>e.filter((e=>e.dataset.ltTabindex&&Number(e.dataset.ltTabindex)>-1)),za=e=>Array.from(e.querySelectorAll("[data-lt-tabindex]")),Ba=({keyboardEventTarget:e,enableKeyboard:t,root:s,children:a,onClose:n})=>{const[r,o]=(0,Ra.useState)(""),i=(0,Ra.useRef)(0),l=(0,Ra.useMemo)((()=>new It(e)),[e]),c=(0,Ra.useCallback)((e=>{i.current=e}),[]),g=(0,Ra.useCallback)((()=>i.current),[]),u=(0,Ra.useCallback)((()=>{const e=za(s);if(!e)return;for(const t of e)t.classList.remove("lt-card__button-focused");if(void 0===i.current||!e[i.current])return;const t=Ha(e)[i.current];t&&(t.classList.add("lt-card__button-focused"),t.scrollIntoView({block:"nearest",inline:"nearest"}))}),[e]);return(0,Ra.useEffect)((()=>{const{destroy:a}=as(e,"keydown",(e=>{if("Escape"===e.key)return n(e),e.target?.addEventListener("keyup",(e=>e.stopImmediatePropagation()),{once:!0,capture:!0}),void e.stopImmediatePropagation();const a=za(s);if(!t||void 0===i.current||!a?.length)return;const r=Ha(a);let o=e.key;switch("Tab"===e.key&&(o=e.shiftKey?"ArrowLeft":"ArrowRight"),o){case"ArrowLeft":for(let e=1;e<r.length;e++){let t=i.current-e;if(t<0&&(t+=r.length),Xt(r[t])){i.current=t;break}}u(),e.stopImmediatePropagation(),e.preventDefault();break;case"ArrowRight":for(let e=1;e<r.length;e++){let t=i.current+e;if(t>=r.length&&(t-=r.length),Xt(r[t])){i.current=t;break}}u(),e.stopImmediatePropagation(),e.preventDefault();break;case"ArrowUp":{const t=r.map((e=>Xt(e)?l.getBorderBox(e):null)),s=t[i.current];if(!s)return;const a=t.filter((e=>"number"==typeof e?.bottom&&e?.bottom<=s.top)),n=Math.max(...a.map((e=>e.top))),o=Bt(a.filter((e=>e.top===n)),s);if(o)i.current=t.indexOf(o);else for(let e=r.length-1;e>=0;e--)if(Xt(r[e])){i.current=e;break}u(),e.stopImmediatePropagation(),e.preventDefault();break}case"ArrowDown":{const t=r.map((e=>Xt(e)?l.getBorderBox(e):null)),s=t[i.current];if(!s)return;const a=t.filter((e=>"number"==typeof e?.top&&e?.top>=s.bottom)),n=Math.min(...a.map((e=>e.top))),o=Bt(a.filter((e=>e.top===n)),s);if(o)i.current=t.indexOf(o);else for(let e=0;e<r.length;e++)if(Xt(r[e])){i.current=e;break}u(),e.stopImmediatePropagation(),e.preventDefault();break}case"Enter":r[i.current]&&(!function(e,t={}){const s=new MouseEvent("click",Object.assign({},t,{view:self,button:0,bubbles:!0,cancelable:!0}));e.dispatchEvent(s)}(r[i.current],{shiftKey:e.shiftKey}),requestAnimationFrame((()=>u()))),e.stopImmediatePropagation(),e.preventDefault()}}));return()=>a()}),[e,t,r,i,l,u,n]),(0,Ra.useEffect)((()=>{if(!t)return;let e;if(!Ha(za(s)).length)return e=new MutationObserver((t=>{for(const a of t)if("childList"===a.type){Ha(za(s)).length&&(e?.disconnect(),e=void 0,u())}})),e.observe(s,{childList:!0,subtree:!0}),()=>{e?.disconnect()};u()}),[s,t,e,r,u]),(0,Ra.useEffect)((()=>{l.clearCache()}),[r,l]),(0,Ma.jsx)(Oa.Provider,{value:{setFocusIndex:c,getFocusIndex:g,setButtonGroupHash:o},children:a})};var Ua=s(634);class $a extends Ra.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){const[,s="<unknown>"]=String(t?.componentStack).match(/^[^at]+at\s+([^\s]+)/)||[];Pt.trackError("js","react_error_boundary",`[${s}] ${e.message}`)}render(){return this.state.hasError?null:this.props.children}}const Fa=$a,Ga=e=>{const t=({children:t,className:s,...a},n)=>{const{onChange:r,onInput:o,onClick:i,onMouseDown:l,onMouseUp:c,onMouseOver:g,onMouseOut:u,onMouseEnter:d,onMouseLeave:m,onMouseMove:p,onPointerDown:h,onPointerUp:f,onScroll:_,onKeyDown:E,onKeyPress:v,onKeyUp:b,...S}=a,y=(0,Ra.useRef)([]),T=(e=>Object.entries(e).filter((([e,t])=>Re(t))).map((([e,t])=>[e.replace("on","").toLowerCase(),t])))({onChange:r,onInput:o,onClick:i,onMouseDown:l,onMouseUp:c,onMouseOver:g,onMouseOut:u,onMouseEnter:d,onMouseLeave:m,onMouseMove:p,onPointerDown:h,onPointerUp:f,onScroll:_,onKeyDown:E,onKeyPress:v,onKeyUp:b}),C=(0,Ra.useRef)(null),k=(0,Ra.useMemo)((()=>n||C),[n,C]);return(0,Ra.useEffect)((()=>{const e=y.current;return k.current&&T.map((([e,t])=>y.current.push(as(k.current,e,t)))),()=>e.forEach((({destroy:e})=>e()))}),[T,y,k]),(0,Ra.createElement)("lt-"+e,{class:s,ref:k,...S},t)};return t.displayName="COMPONENT_PREFIX + name",(0,Ra.forwardRef)(t)},Wa=Ga("div"),ja=Ga("span");class Va{static get RootContext(){return this._rootContext||(this._rootContext=(0,Ra.createContext)({isInDOM:!1}),this._rootContext.displayName="Lt-RootContext"),this._rootContext}static get I18nContext(){return this._i18nContext||(this._i18nContext=(0,Ra.createContext)({getMessage:()=>""}),this._i18nContext.displayName="Lt-I18nContext"),this._i18nContext}static get StorageContext(){return this._storageContext||(this._storageContext=(0,Ra.createContext)({getSettings:()=>({}),getPrivacySettings:()=>({}),hasCustomServer:()=>!1,updateSettings:async()=>{},updatePrivacySettings:async()=>{},addEventListener:()=>{}}),this._storageContext.displayName="Lt-StorageContext"),this._storageContext}static get Tr(){if(!this._Tr){const e=({name:e,substitutions:t})=>{const s=this._getMessage(e,t);return(0,Ra.createElement)(Ra.Fragment,null,s)};e.displayName="LTReact.Tr",this._Tr=(0,Ra.memo)(e)}return this._Tr}static init(e,t){this._i18nManager=e,this._storageController=t}static createView(e,t,s){return new Promise((a=>{const n=(e=>{if(vs(e))return e;if(Es(e))return e.createElement("lt-span");throw new Error("Passed in base is neither document nor element.")})(e),r=(0,Ua.s)(n);r.render((0,Ra.createElement)((()=>{const[o,i]=(0,Ra.useState)(n.parentNode?.nodeType===n.ELEMENT_NODE),l=(0,Ra.useRef)(o),c=(0,Ra.useRef)([]),g=(0,Ra.useCallback)((e=>{null===e||o||(e.append(n),l.current=!0,i(!0))}),[o]),u=(0,Ra.useCallback)((e=>{null===e||o||(e.prepend(n),l.current=!0,i(!0))}),[o]);return(0,Ra.useEffect)((()=>{this._storageController.onReady((()=>{a({element:n,appendTo:g,prependTo:u,isInDOM:()=>l.current,unmount:()=>r.unmount()})}))}),[g,u]),(0,Ra.useEffect)((()=>{const t=c.current;return c.current.push(...(e=>["mousedown","mouseup","pointerdown","pointerup"].map((t=>as(e,t,(e=>{const t=e.target;"true"!==t?.dataset.ltDragHandle&&e.stopImmediatePropagation(),[t?.dataset.ltSelectable,t?.dataset.ltDragHandle].includes("true")||e.preventDefault()})))))(e)),()=>t.forEach((({destroy:e})=>e()))}),[c]),(0,Ra.createElement)(Fa,null,(0,Ra.createElement)(Va.RootContext.Provider,{value:{isInDOM:o}},(0,Ra.createElement)(Va.I18nContext.Provider,{value:{getMessage:this._getMessage.bind(this)}},(0,Ra.createElement)(Va.StorageContext.Provider,{value:{getSettings:this._storageController.getSettings.bind(this._storageController),getPrivacySettings:this._storageController.getPrivacySettings.bind(this._storageController),hasCustomServer:this._storageController.hasCustomServer.bind(this._storageController),updateSettings:this._storageController.updateSettings.bind(this._storageController),updatePrivacySettings:this._storageController.updatePrivacySettings.bind(this._storageController),addEventListener:this._storageController.addEventListener.bind(this._storageController)}},(0,Ra.createElement)(t,s)))))})))}))}static _getMessage(e,t){return this._i18nManager.getMessage(e,t)}}const qa=()=>(0,Ra.useContext)(Va.RootContext),Ka=()=>{const{getMessage:e}=(0,Ra.useContext)(Va.I18nContext);return e},Za=()=>(0,Ra.useContext)(Va.StorageContext),Xa=Ga("comp-keyboard-navigation-hint"),Ya=({className:e})=>{const t=Ka(),{current:s}=(0,Ra.useRef)({errorCardKeyboardInstructions:t("errorCardKeyboardInstructions",["<lt-em>Enter</lt-em>","<lt-em>&#8679;</lt-em> <lt-em>Enter</lt-em>"])});return(0,Ma.jsx)(Xa,{className:e,dangerouslySetInnerHTML:{__html:s.errorCardKeyboardInstructions}})},Qa=e=>(0,Ra.useCallback)((t=>{t.stopImmediatePropagation(),e(t)}),[e]);class Ja{constructor({parent:e,handle:t,backdropRoot:s,onStateUpdate:a}){this._isDraggingEnabled=!1,this._isDraggable=!1,this._isDragging=!1,this._isDetached=!1,this._isInSnapProximity=!1,this._isResetting=!1,this._postReset=()=>{this._isResetting=!1,this._update()},this._updateDocumentBox=()=>{this._domMeasurement.clearCache(),this._documentBox=this._domMeasurement.getDocumentVisibleBox()},this._handleScreenResize=()=>{if(this._updateDocumentBox(),!this._isDetached)return;const{top:e,right:t}=this._domMeasurement.getContentBox(this._parent),s=Math.min(this._documentBox.width-t,0),a=Math.min(e,0);if(!s&&!a)return;const n=this._domMeasurement.getComputedStyle(this._parent),r=parseInt(n.left,10),o=parseInt(n.bottom,10),i={};s<0&&!Number.isNaN(r)&&(i.left=`${r+s}px`),a<0&&!Number.isNaN(o)&&(i.bottom=`${o+a}px`),this._domMeasurement.setStyles(this._parent,i,!0)},this._handleDocumentLeave=e=>{this._handleMouseUp(e)},this._handleMouseOver=e=>{this._stopPropagation(e),this._isDraggingEnabled||this._isResetting||Re(this._destroyBackdrop)||(this._isDraggingEnabled=!0,this._update(),De(this._mouseOutBinding)&&(this._mouseOutBinding=as(this._handle,"mouseout",this._handleMouseOut)),this._mouseDownBinding=as(this._handle,"mousedown",this._handleMouseDown))},this._handleMouseOut=e=>{this._stopPropagation(e),this._isResetting||this._isDragging||(this._isDraggingEnabled=!1,this._update(),this._mouseOutBinding?.destroy(),this._mouseOutBinding=void 0,this._mouseDownBinding?.destroy(),this._mouseDownBinding=void 0)},this._handleMouseDown=e=>{if(0===e.button){if(this._stopPropagation(e),this._isDraggable=!0,this._previousCoords={x:e.x,y:e.y},this._update(),this._destroyBackdrop=this._insertBackdrop(),!this._backdrop)throw new Error("Failed to insert drag backdrop");this._mouseOutBinding?.destroy(),this._mouseOutBinding=void 0,this._mouseUpBinding=as(this._backdrop,"mouseup",this._handleMouseUp),this._mouseMoveBinding=as(this._backdrop,"mousemove",this._handleMouseMove),this._parent.ownerDocument.addEventListener("mouseleave",this._handleDocumentLeave)}},this._handleMouseUp=e=>{this._stopPropagation(e),this._isDraggable=!1,this._update(),De(this._mouseOutBinding)&&(this._mouseOutBinding=as(this._handle,"mouseout",this._handleMouseOut)),this._destroyBackdrop?.(),this._destroyBackdrop=void 0,this._mouseUpBinding?.destroy(),this._mouseUpBinding=void 0,this._mouseMoveBinding?.destroy(),this._mouseMoveBinding=void 0,this._parent.ownerDocument.removeEventListener("mouseleave",this._handleDocumentLeave)},this._handleMouseMove=e=>{this._stopPropagation(e),this._switchToFixedPositioning();const{x:t,y:s}=this._getDelta(e.x,e.y),a=this._getFencedHorizontalValue(t),n=this._getFencedVerticalValue(s);Oe(this._timeout)&&clearTimeout(this._timeout),this._isDetached=!0,this._isDragging=!0,this._isInSnapProximity=this._isPromiximityBelow({x:a,y:n},Ja.CARD_SNAP_BACK_PROXIMITY_THRESHOLD),this._timeout=self.setTimeout((()=>{this._isInSnapProximity?this._reset():(this._isDragging=!1,this._update())}),200),this._domMeasurement.setStyles(this._parent,{left:`${a}px`,bottom:`${n}px`},!0),this._update()},this._parent=e,this._handle=t,this._backdropRoot=s,this._onStateUpdate=a,this._domMeasurement=new It(e.ownerDocument),this._documentBox=this._domMeasurement.getDocumentVisibleBox()}init(){self.addEventListener("resize",this._handleScreenResize),self.addEventListener("scroll",this._updateDocumentBox),this._mouseOverBinding=as(this._handle,"mouseover",this._handleMouseOver),this._handle.setAttribute(Ja.ATTR_HANDLE,"true")}destroy(){self.removeEventListener("resize",this._handleScreenResize),self.removeEventListener("scroll",this._updateDocumentBox),this._destroyBackdrop?.(),this._parent.removeEventListener("transitionend",this._postReset),this._mouseOverBinding?.destroy(),this._mouseOutBinding?.destroy(),this._mouseDownBinding?.destroy(),this._mouseUpBinding?.destroy(),this._mouseMoveBinding?.destroy()}adjustPosition(){const{height:e}=this._domMeasurement.getContentBox(this._parent);this._domMeasurement.clearCache(),this._adjustPositionBottom(this._parent.offsetHeight,e)}destroyDomMeasurementCache(){this._domMeasurement.clearCache()}_reset(){this._parent.addEventListener("transitionend",this._postReset,{once:!0}),this._domMeasurement.removeStyle(this._parent,"transform"),this._resetPositioning(),this._isDraggingEnabled=!1,this._isDraggable=!1,this._isDragging=!1,this._isDetached=!1,this._isInSnapProximity=!1,this._isResetting=!0,this._update()}_update(){this._onStateUpdate({isDraggingEnabled:this._isDraggingEnabled,isDraggable:this._isDraggable,isDragging:this._isDragging,isDetached:this._isDetached,isInSnapProximity:this._isInSnapProximity,isResetting:this._isResetting})}_stopPropagation(e){e.stopImmediatePropagation(),e.preventDefault()}_switchToFixedPositioning(){if(this._isDetached)return;const e=this._domMeasurement.getComputedStyle(this._parent),t={},s=Me(this._parent.style.top);"fixed"!==e.position&&(t.position="fixed");const{top:a}=this._domMeasurement.getDocumentScroll(),{height:n}=this._domMeasurement.getDocumentVisibleBox();t.bottom=n-(this._parent.offsetTop-a+this._parent.offsetHeight)+"px",s&&this._domMeasurement.removeStyle(this._parent,"top"),this._domMeasurement.setStyles(this._parent,t,!0)}_resetPositioning(){if(!this._isDetached)return;const{top:e}=this._domMeasurement.getContentBox(this._parent,!0);this._domMeasurement.removeStyles(this._parent,["position","bottom"]),this._domMeasurement.setStyles(this._parent,{top:`${e}px`},!0)}_adjustPositionBottom(e,t){const s=parseInt(this._domMeasurement.getComputedStyle(this._parent).bottom,10),a=e-t;this._domMeasurement.setStyles(this._parent,{bottom:s-a+"px"},!0)}_getDelta(e,t){if(!this._previousCoords)return{x:0,y:0};const s=e-this._previousCoords.x,a=t-this._previousCoords.y;return this._previousCoords={x:e,y:t},{x:s,y:a}}_getFencedHorizontalValue(e){const t=parseInt(this._domMeasurement.getStyle(this._parent,"left"),10);return ta(1,Number.isNaN(t)?1:t+e,this._documentBox.right-this._domMeasurement.getContentBox(this._parent).width-1)}_getFencedVerticalValue(e){const t=parseInt(this._domMeasurement.getStyle(this._parent,"bottom"),10);return ta(1,Number.isNaN(t)?1:t-e,this._documentBox.height-this._domMeasurement.getContentBox(this._parent).height-1)}_isPromiximityBelow({x:e,y:t},s){return!1}_insertBackdrop(){const{ownerDocument:e}=this._parent,t=this._backdrop=Gt(e,Ja.BACKDROP_ELEMENT_NAME),s=["over","out","down"].flatMap((e=>[`mouse${e}`,`pointer${e}`])).map((e=>as(t,e,this._stopPropagation))),a=this._domMeasurement.getStyle(this._parent,"z-index");return this._domMeasurement.setStyles(t,{display:"block",position:"fixed",top:"0",right:"0",bottom:"0",left:"0","z-index":a,"user-select":"none",overflow:"hidden",cursor:"grabbing"},!0),this._domMeasurement.setStyles(this._parent,{"z-index":String(a-1)},!0),this._backdropRoot.append(t),()=>{s.forEach((({destroy:e})=>e())),this._backdrop?.remove(),this._backdrop=void 0}}}Ja.BACKDROP_ELEMENT_NAME="lt-dragging-backdrop",Ja.ATTR_HANDLE="data-lt-drag-handle",Ja.CARD_SNAP_BACK_PROXIMITY_THRESHOLD=30;const en=Ja,tn=(0,Ra.createContext)({isDetached:!1,updateCardPosition:()=>{},moveCardIntoViewport:()=>{},adjustPosition:()=>{}});tn.displayName="LTUpdateCardPositionContext";const sn=tn.Provider,an=()=>(0,Ra.useContext)(tn),nn=Ga("comp-card-base"),rn=({mode:e,onModeChange:t})=>{const{hasCustomServer:s,getSettings:a}=Za(),n=a().hasRephrasingEnabled&&!s(),[r,i]=(0,Ra.useState)(!1),{current:l}=(0,Ra.useRef)({paraphraser:o.getMessage("cardSelectorLabelParaphraser"),checker:o.getMessage("cardSelectorLabelChecker")}),c=Qa((()=>i(!r))),g=Qa((()=>{i(!1),t?.("paraphrase")})),u=Qa((()=>{i(!1),t?.("correct")})),d=Qa((()=>{i(!1)}));return(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__selector",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__label",r&&"lt-comp-card-base__selector__label--active",!n&&"lt-comp-card-base__selector__label--disabled"),onClick:n?c:void 0,children:"paraphrase"===e?l.paraphraser:l.checker}),r&&(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__selector__menu",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__menu-item","lt-comp-card-base__selector__menu-item--paraphrase","paraphrase"===e&&"lt-comp-card-base__selector__menu-item--current"),onClick:g,children:l.paraphraser}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__selector__menu-item","lt-comp-card-base__selector__menu-item--correct","correct"===e&&"lt-comp-card-base__selector__menu-item--current"),onClick:u,children:l.checker})]})]}),r&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__selector-backdrop",onClick:d})]})},on=(0,Ra.forwardRef)(((e,t)=>(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__draggable",children:(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__draggable__handle",ref:t,children:(0,Ma.jsx)("svg",{width:"20",height:"8",viewBox:"0 0 20 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"lt-comp-card-base__draggable__handle__graphic",children:(0,Ma.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.6 3.2C2.48366 3.2 3.2 2.48366 3.2 1.6C3.2 0.716344 2.48366 0 1.6 0C0.716344 0 0 0.716344 0 1.6C0 2.48366 0.716344 3.2 1.6 3.2ZM7.2 3.2C8.08366 3.2 8.8 2.48366 8.8 1.6C8.8 0.716344 8.08366 0 7.2 0C6.31634 0 5.6 0.716344 5.6 1.6C5.6 2.48366 6.31634 3.2 7.2 3.2ZM14.4 1.6C14.4 2.48366 13.6837 3.2 12.8 3.2C11.9163 3.2 11.2 2.48366 11.2 1.6C11.2 0.716344 11.9163 0 12.8 0C13.6837 0 14.4 0.716344 14.4 1.6ZM18.4 3.2C19.2837 3.2 20 2.48366 20 1.6C20 0.716344 19.2837 0 18.4 0C17.5163 0 16.8 0.716344 16.8 1.6C16.8 2.48366 17.5163 3.2 18.4 3.2ZM3.2 6.4C3.2 7.28366 2.48366 8 1.6 8C0.716344 8 0 7.28366 0 6.4C0 5.51634 0.716344 4.8 1.6 4.8C2.48366 4.8 3.2 5.51634 3.2 6.4ZM7.2 8C8.08366 8 8.8 7.28366 8.8 6.4C8.8 5.51634 8.08366 4.8 7.2 4.8C6.31634 4.8 5.6 5.51634 5.6 6.4C5.6 7.28366 6.31634 8 7.2 8ZM14.4 6.4C14.4 7.28366 13.6837 8 12.8 8C11.9163 8 11.2 7.28366 11.2 6.4C11.2 5.51634 11.9163 4.8 12.8 4.8C13.6837 4.8 14.4 5.51634 14.4 6.4ZM18.4 8C19.2837 8 20 7.28366 20 6.4C20 5.51634 19.2837 4.8 18.4 4.8C17.5163 4.8 16.8 5.51634 16.8 6.4C16.8 7.28366 17.5163 8 18.4 8Z",fill:"currentColor"})})})}))),ln=(0,Ra.forwardRef)((function({root:e,mode:t,type:s,isPremium:a,disablePremiumTeaser:n,className:r,keyboardNavigationEnabled:o,keyboardEventTarget:i,referenceArea:l,onModeChange:c,onClose:g,onPremiumClick:u,onDetachCard:d,updatePosition:m,moveIntoViewport:p,children:h},f){const _=Ka(),{current:E}=(0,Ra.useRef)({close:_("close")}),v=(0,Ra.useRef)(null),b=(0,Ra.useRef)(null),[S,y]=(0,Ra.useState)(s),T=((e,t,s)=>{const a=(0,Ra.useRef)(null),n=(0,Ra.useRef)({adjustPosition:()=>{},destroyDomMeasurementCache:()=>{}}),[r,o]=(0,Ra.useReducer)(((e,t)=>({...e,...t})),{isDraggingEnabled:!1,isDraggable:!1,isDragging:!1,isDetached:!1,isInSnapProximity:!1,isResetting:!1}),i="BODY"===s.nodeName?e?.ownerDocument.documentElement:e?.ownerDocument.body;return(0,Ra.useEffect)((()=>{if(!e||!t||!i||Boolean(a.current))return;const s=a.current=new en({onStateUpdate:o,backdropRoot:i,parent:e,handle:t});return s.init(),n.current={adjustPosition:()=>s.adjustPosition(),destroyDomMeasurementCache:()=>s.destroyDomMeasurementCache()},()=>s?.destroy()}),[e,t,i]),Object.assign(r,n.current)})(v.current,b.current,l),C=(0,Ra.useCallback)((()=>{!1===T.isDetached&&m?.(v.current)}),[m,T.isDetached]),k=(0,Ra.useCallback)((()=>{p(v.current),T.destroyDomMeasurementCache()}),[p,T]),x=!1===a&&!0!==n,L=Qa(g),w=Qa((()=>{u?.("logo")})),P=Qa((()=>{u?.("badge")})),A=Re(c)?e=>c?.(e):void 0;return(0,Ra.useImperativeHandle)(f,(()=>({updatePosition:C,updateCardType:y})),[C]),(0,Ra.useEffect)((()=>{T.isDetached&&d()}),[T.isDetached,d]),(0,Ma.jsx)(Ba,{enableKeyboard:o,keyboardEventTarget:i,root:e,onClose:g,children:(0,Ma.jsx)(sn,{value:{isDetached:T.isDetached,adjustPosition:T.adjustPosition,updateCardPosition:C,moveCardIntoViewport:k},children:(0,Ma.jsxs)(nn,{className:Jt("notranslate",r,T.isDraggable&&"lt-comp-card-base--draggable",T.isDragging&&"lt-comp-card-base--dragging",T.isDetached&&"lt-comp-card-base--detached",T.isInSnapProximity&&"lt-comp-card-base--in-snap-proximity",T.isResetting&&"lt-comp-card-base--resetting","wide"===S&&"lt-comp-card-base--wide","narrow"===S&&"lt-comp-card-base--narrow"),"data-lt-testid":"card-container",ref:v,children:[(0,Ma.jsx)(on,{ref:b}),(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header",children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header__left",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-base__logo",x&&"lt-comp-card-base__logo--clickable"),onClick:x?w:void 0}),Re(A)?(0,Ma.jsx)(rn,{mode:t,onModeChange:A}):(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__caption",children:"LanguageTool"})]}),(0,Ma.jsxs)(Wa,{className:"lt-comp-card-base__header__right",children:[x&&(0,Ma.jsx)(ja,{className:"lt-comp-card-base__badge","data-lt-testid":"badge-basic",onClick:P,children:"Basic"}),(0,Ma.jsx)(Wa,{className:"lt-comp-card-base__close lt-icon__close_small",onClick:L,"data-lt-testid":"card-close",children:(0,Ma.jsx)(ja,{className:"lt-comp-card-base__close__label",children:E.close})})]})]}),o&&(0,Ma.jsx)(Ya,{className:"lt-comp-editor-card__keyboard-hint"}),h]})})})})),cn=Ga("comp-icon"),gn=["light","dark"],un=e=>{const t="data-lt-force-appearance",s=e.closest(`[${t}]`),a=s?.getAttribute(t);if(n=a,!gn.includes(String(n)))throw new Error(`Failed to retrieve appearance for element <${e.tagName.toLowerCase()} class="${e.className}" />`);var n;return a},dn=(e,t)=>{if(!0!==t)return e;switch(e){case"left-bottom":return"right-bottom";case"bottom-left":return"bottom-right";case"left-top":return"right-top";case"top-left":return"top-right";case"right-bottom":return"left-bottom";case"bottom-right":return"bottom-left";case"right-top":return"left-top";case"top-right":return"top-left";case"left-center":return"right-center";case"right-center":return"left-center";default:return e}},mn=({"data-lt-tabindex":e,"data-lt-testid":t,tooltipInPortal:s,...a})=>{const n=(0,Ra.useRef)(null),r=(0,Ra.useRef)(null),o=(0,Ra.useRef)(null),i=(0,Ra.useRef)(null),l=(0,Ra.useRef)(null),c=(0,Ra.useRef)(null),[g,u]=(0,Ra.useState)(!1),[d,m]=(0,Ra.useState)(!1),p=Qa((e=>a.onClick?.(e)));return(0,Ra.useEffect)((()=>{!0===g&&r.current&&n.current&&((e,t)=>{const s=t.getBoundingClientRect(),a=e.getBoundingClientRect().toJSON(),{innerWidth:n,innerHeight:r}=t.ownerDocument.defaultView;a.left<0&&($t(s,{...a,left:8,right:a.right+Math.abs(a.left)+8})?(e.style.setProperty("left",`${s.width+8}px`,"important"),e.style.setProperty("right","unset","important")):e.style.setProperty("right",a.left-8+"px","important"));a.right>n&&($t(s,{...a,left:a.left-a.right+n-8,right:n-8})?(e.style.setProperty("right",`${s.width+8}px`,"important"),e.style.setProperty("left","unset","important")):e.style.setProperty("left",n-a.right-8+"px","important"));a.top<0&&($t(s,{...a,top:8,bottom:a.bottom+Math.abs(a.top)+8})?(e.style.setProperty("top",`${s.height+a.height+8}px`,"important"),e.style.setProperty("bottom","unset","important")):e.style.setProperty("bottom",a.top-8+"px","important"));a.bottom>r&&($t(s,{...a,top:a.top-a.bottom+r-8,bottom:r-8})?(e.style.setProperty("bottom",`${s.height+a.height+8}px`,"important"),e.style.setProperty("top","unset","important")):e.style.setProperty("top",r-a.bottom-8+"px","important"))})(r.current,n.current)}),[g]),(0,Ra.useEffect)((()=>{if(!0===d&&r.current&&!i.current){const e=r.current.ownerDocument,t=un(r.current);l.current=l.current||new It(e);const{left:s,top:a}=r.current.getBoundingClientRect(),{animation:n}=l.current.getComputedStyle(r.current);o.current||(o.current=r.current.cloneNode(!0),l.current.setStyles(r.current,{visibility:"hidden"},!0)),i.current=((e,t)=>{const s=Gt(e,"lt-portal");return s.style.display="none",s.setAttribute("data-lt-adjust-appearance","true"),s.setAttribute("data-lt-force-appearance",t),s})(e,t),l.current.setStyles(i.current,{position:"fixed",left:`${s}px`,top:`${a}px`,"z-index":"2147483647"},!0),l.current.setStyles(o.current,{animation:n},!0),i.current.appendChild(o.current),document.body.appendChild(i.current)}return!1===d&&i.current&&(i.current.remove(),i.current=null),()=>{i.current?.remove()}}),[d,r,o,i,l]),(0,Ma.jsxs)(cn,{onClick:Re(a.onClick)?p:void 0,onMouseOver:e=>{a.onMouseOver?.(e),c.current=self.setTimeout((()=>{a.tooltip&&u(!0),s&&m(!0)}),200)},onMouseOut:e=>{a.onMouseOut?.(e),a.tooltip&&u(!1),s&&m(!1),c.current&&(clearTimeout(c.current),c.current=null)},ref:n,className:Jt(`lt-icon--${a.name}`,a.compact&&"lt-icon--compact",a.className,"function"==typeof a.onClick&&"lt-icon--clickable"),"data-lt-prevent-focus":a.preventFocus,"data-lt-tabindex":e,"data-lt-testid":t,children:[(0,Ma.jsx)(ja,{className:Jt("lt-icon__icon",`lt-icon__${a.name}`)}),g&&a.tooltip&&(0,Ma.jsx)(Wa,{className:Jt("lt-icon__tooltip",`lt-icon__tooltip--${dn(a.tooltip.position,a.isRTL)}`,`lt-icon__tooltip--${a.name}`),ref:r,children:a.tooltip.label}),a.label&&(0,Ma.jsx)(ja,{className:"lt-icon__label",children:a.label})]})},pn=Ga("comp-card-content"),hn=({prefix:e,children:t})=>(0,Ma.jsxs)(Wa,{className:"lt-comp-card-content__title",children:[e&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__title__prefix",children:e}),t]}),fn=({showAll:e,className:t,"data-lt-testid":s,onToggle:a})=>{const n=Ka(),{current:r}=(0,Ra.useRef)({cardContentShowAll:n("cardContentShowAll"),cardContentShowSubset:n("cardContentShowSubset")}),o=Qa((()=>{a()})),i=(0,Ra.useMemo)((()=>e?(0,Ma.jsx)("svg",{width:"12",height:"2",viewBox:"0 0 12 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ma.jsx)("path",{d:"M1 1L11 1",stroke:"currentColor",strokeLinecap:"round"})}):(0,Ma.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Ma.jsx)("path",{d:"M6 1L6 11M1 6L11 6",stroke:"currentColor",strokeLinecap:"round"})})),[e]),l=e?r.cardContentShowSubset:r.cardContentShowAll;return(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-card-content__toggle-more",t),onClick:o,"data-lt-testid":s,"data-lt-tabindex":"0",children:[(0,Ma.jsx)(ja,{className:"lt-comp-card-content__toggle-more__label",children:l}),i]})},_n=({className:e,children:t})=>(0,Ma.jsx)(Wa,{className:Jt("lt-comp-card-content__footer",e),children:t}),En=({className:e,noPadding:t,stacked:s,title:a=null,footer:n,caption:r,controls:o=[],isLoading:i=!1,isIdle:l=!1,children:c})=>{const g=o.filter((e=>null!==e)),u=(0,Ra.useMemo)((()=>!1===De(r)||Number(g?.length)>0),[r,g]);return(0,Ma.jsxs)(pn,{className:e,children:[a,(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-card-content__wrap",!0!==t&&"lt-comp-card-content__wrap--padding",Boolean(s)&&"lt-comp-card-content__wrap--stacked",i&&"lt-comp-card-content__wrap--loading",l&&"lt-comp-card-content__wrap--idle"),children:[u&&(0,Ma.jsxs)(Wa,{className:"lt-comp-card-content__header",children:[!1===De(r)?(0,Ma.jsx)(ja,{className:"lt-comp-card-content__caption","data-lt-selectable":"true",children:r}):(0,Ma.jsx)(ja,{}),Number(g?.length)>0&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__controls",children:g.map((({icon:e,key:t,className:s,"data-lt-testid":a,onClick:n,tooltip:r})=>(0,Ma.jsx)(mn,{name:e,className:Jt("lt-comp-card-content__control",s),compact:!0,tooltipInPortal:!0,"data-lt-tabindex":Re(n)?"0":void 0,"data-lt-testid":a,onClick:n,tooltip:r},t)))})]}),(0,Ma.jsx)(Wa,{className:Jt(!0!==t&&"lt-comp-card-content__content--padding"),children:c}),n,l&&(0,Ma.jsx)(Wa,{className:"lt-comp-card-content__idle","data-lt-testid":"card-idle"})]})]})},vn=Ga("comp-mascot-says"),bn=({type:e,caption:t,html:s,text:a})=>(Boolean(s)&&Boolean(a)&&console.warn("<MascotSays /> Got `html` and `text`; will display `html`"),(0,Ma.jsxs)(vn,{children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-mascot-says__image","happy"===e&&"lt-comp-mascot-says__image--happy","sad"===e&&"lt-comp-mascot-says__image--sad","error"===e&&"lt-comp-mascot-says__image--error")}),(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__caption",children:t}),s&&(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__text",dangerouslySetInnerHTML:{__html:s}}),!s&&a&&(0,Ma.jsx)(Wa,{className:"lt-comp-mascot-says__text",children:a})]})),Sn={"post/premium-vs-free-product-updates/":{de:"de/beitrag/produkt-premium-kostenlos/",fr:"fr/poste/premium/"}},yn=Object.prototype.hasOwnProperty;const Tn=(0,Ra.createContext)({disablePremiumTeaser:!1}),Cn=Tn.Provider,kn=/^[a-zA-Z\u{C0}-\u{FF}\u{D8}-\u{F6}\u{F8}-\u{2C6}\u{2C8}-\u{2D7}\u{2DE}-\u{2FF}\u{1E00}-\u{1EFF}]+$/u,xn=/\S/;class Ln{static isRewrite(e){const t=e.filter((({added:e})=>!0===e)).map((({value:e})=>e)).join("").length,s=Ln.toNewString(e).length;return function(e){let t=0,s=!1;for(let a=0;a<e.length;a+=1){if(s){s=!1;continue}("boolean"==typeof e[a].added&&"boolean"==typeof e[a+1]?.removed||"boolean"==typeof e[a].removed&&"boolean"==typeof e[a+1]?.added)&&(t+=1,s=!0)}return t}(e)>1&&t/s>=.7}static toNewString(e){return e.filter((({removed:e})=>!1===Boolean(e))).map((({value:e})=>e)).join("")}static ignoreCaseChangeAtBeginning(e){const[t,s,a,n]=e,r=!0===s.added&&"string"==typeof s.value&&!0===n?.removed&&n?.value?.trim().endsWith(s.value.toLocaleLowerCase());if(!0!==t.removed||!1===r||""!==a?.value?.trim?.())return e;const o=n?.value?.replace(String(s.value).toLocaleLowerCase(),"").replace(/\s+$/," ");return[{value:(t.value?`${t.value} `:"")+o,count:n?.count??0,removed:!0},{value:s.value+a?.value??"",count:0},...e.slice(4)]}static simplifyReplacements(e){const t=[],s=[],{length:a}=e;e:for(let n=0;n<a;n+=1)if(!s.includes(n)){t:for(let t=n+1;t<a;t+=1){const a=e[n],r=e[t];if(void 0===r.added&&void 0===r.removed){if(""===r.value?.trim())continue t;break t}const o=!0===a.removed&&!0===r.added,i=!0===a.added&&!0===r.removed;if(o)continue e;if(i){s.push(t);break t}}t.push(e[n])}return t.forEach((e=>{e.removed&&e.value&&(e.value=e.value.trimEnd())})),t}compute(e,t){const s=this.removeEmpty(this.tokenize(e)),a=this.removeEmpty(this.tokenize(t));let n=a.length,r=s.length,o=1,i=n+r,l=[{newPos:-1,components:[]}],c=this.extractCommon(l[0],a,s,0);if(l[0].newPos+1>=n&&c+1>=r)return[{value:this.join(a),count:a.length}];const g=()=>{for(let t=-1*o;t<=o;t+=2){let o;const i=l[t-1],c=l[t+1];let g=(c?c.newPos:0)-t;i&&(l[t-1]=void 0);const u=i&&i.newPos+1<n,d=c&&0<=g&&g<r;if(u||d){if(!u||d&&i.newPos<c.newPos?(o={newPos:(e=c).newPos,components:e.components.slice(0)},this.pushComponent(o.components,void 0,!0)):(o=i,o.newPos++,this.pushComponent(o.components,!0,void 0)),g=this.extractCommon(o,a,s,t),o.newPos+1>=n&&g+1>=r)return wn(this,o.components,a,s);l[t]=o}else l[t]=void 0}var e;o++};for(;o<=i;){let e=g();if(e)return e}}pushComponent(e,t,s){let a=e[e.length-1];a&&a.added===t&&a.removed===s?e[e.length-1]={count:a.count+1,added:t,removed:s}:e.push({count:1,added:t,removed:s})}extractCommon(e,t,s,a){let n=t.length,r=s.length,o=e.newPos,i=o-a,l=0;for(;o+1<n&&i+1<r&&this.equals(t[o+1],s[i+1]);)o++,i++,l++;return l&&e.components.push({count:l}),e.newPos=o,i}removeEmpty(e){let t=[];for(let s=0;s<e.length;s++)e[s]&&t.push(e[s]);return t}equals(e,t){return e===t||!xn.test(e)&&!xn.test(t)}tokenize(e){const t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/);for(let e=0;e<t.length-1;e++)!t[e+1]&&t[e+2]&&kn.test(t[e])&&kn.test(t[e+2])&&(t[e]+=t[e+2],t.splice(e+1,2),e--);return t}join(e){return e.join("")}}function wn(e,t,s,a){let n=0,r=t.length,o=0,i=0;for(;n<r;n++){let r=t[n];if(r.removed){if(r.value=e.join(a.slice(i,i+r.count)),i+=r.count,n&&t[n-1].added){let e=t[n-1];t[n-1]=t[n],t[n]=e}}else{if(r.added)r.value=e.join(s.slice(o,o+r.count));else{const t=s.slice(o,o+r.count).map(((e,t)=>{let s=a[i+t];return s.length>e.length?s:e}));r.value=e.join(t)}o+=r.count,r.added||(i+=r.count)}}let l=t[r-1];return r>1&&"string"==typeof l.value&&(l.added||l.removed)&&e.equals("",l.value)&&(t[r-2].value+=l.value,t.pop()),t}function Pn(e,t){return(new Ln).compute(e,t)||[]}const An=Ga("comp-diff"),In=e=>{switch(!0){case!0===e.removed:return"lt-comp-diff__item--removed";case!0===e.added:return"lt-comp-diff__item--added";default:return}},Nn=({from:e,to:t,className:s,isSentenceSplitting:a})=>{const n=(0,Ra.useMemo)((()=>Ln.simplifyReplacements(Pn(e,t))),[e,t]),r=(0,Ra.useMemo)((()=>n.findIndex((e=>"."===e.value))),[n]);return Ln.isRewrite(n)&&!a?(0,Ma.jsx)(An,{children:Ln.toNewString(n)}):(0,Ma.jsx)(An,{className:s,children:n.map(((e,t)=>e.value?(0,Ma.jsxs)(Ra.Fragment,{children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-diff__item",In(e)),children:e.value}),a&&t===r&&(0,Ma.jsx)(Wa,{className:"lt-comp-diff__item-divider"})]},((e,t)=>[e.value,!0===e.added&&"added",!0===e.removed&&"removed",!e.added&&!e.removed&&"static",t].filter(Boolean).join("-"))(e,t)):null))})},Dn=({suggestion:e,caption:t,isLoading:s,isIdle:a,error:n,showRuleId:r,children:o,onClick:i,onSuggestionMouseOver:l,onSuggestionMouseOut:c})=>{const{isInDOM:g}=qa(),{updateCardPosition:u,moveCardIntoViewport:d}=an(),m=!(s||!n&&e),p=(0,Ra.useMemo)((()=>function(){const a=Ka(),r=(0,Ra.useMemo)((()=>a("additionalErrorSuggestionApplyButtonLabel")),[]),o=!n&&!!e,g=(()=>{switch(!0){case m:return t.missing;case s:return t.loading;case o:return t.apply;default:throw new Error("Invalid state of Additional Error Suggestion")}})();return(0,Ma.jsxs)(Wa,{className:"lt-comp-additional-error-suggestion__header",children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-additional-error-suggestion__caption",s&&"lt-comp-additional-error-suggestion__caption--loading",m&&"lt-comp-additional-error-suggestion__caption--missing"),children:g}),o&&(0,Ma.jsxs)(ja,{className:"lt-comp-additional-error-suggestion__apply","data-lt-tabindex":"0",onClick:i,onMouseOver:l,onMouseOut:c,children:[r," ",(0,Ma.jsx)(mn,{name:"insert",compact:!0})]})]})}),[n,t,e,s,m,i,l,c]),h=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(En,{caption:(0,Ma.jsx)(p,{}),className:Jt("lt-comp-additional-error-suggestion",m&&"lt-comp-additional-error-suggestion--missing"),isLoading:s,noPadding:!0,isIdle:a,children:e})}),[p,m,s,a]);return(0,Ra.useEffect)((()=>{g&&Ne(e)&&u()}),[g,e,u]),(0,Ra.useEffect)(d,[e,d]),s||n||!e?(0,Ma.jsx)(h,{}):(0,Ma.jsx)(h,{children:(0,Ma.jsxs)(Wa,{className:"lt-comp-additional-error-suggestion__suggestion","data-lt-testid":"additional-error-suggestion",onClick:i,onMouseOver:l,onMouseOut:c,children:[r&&(0,Ma.jsx)(ja,{className:"lt-comp-additional-error-suggestion__suggestion__origin",children:e.label}),(0,Ma.jsx)(Wa,{className:"lt-comp-additional-error-suggestion__suggestion__content",children:o})]})})},Rn=({inhouseOnly:e,language:t,sentence:s,uniqueId:a,isIdle:r,user:o,showRuleId:i,onSuggestionClick:l})=>{const c=Ka(),{current:g}=(0,Ra.useRef)({apply:c("sentenceSplittingCardHeadlineApply"),loading:c("sentenceSplittingCardHeadlineLoading"),missing:c("sentenceSplittingCardHeadlineMissing")}),[u,d,m]=(({uniqueId:e,sentence:t,language:s,inhouseOnly:a,user:r})=>{const[o,i]=(0,Ra.useState)(null),[l,c]=(0,Ra.useState)(!0),[g,u]=(0,Ra.useState)(null),d=Ka(),{current:m}=(0,Ra.useRef)({phrasesCardGeneralError:d("phrasesCardGeneralError"),phrasesCardTimeoutError:d("phrasesCardTimeoutError")});return(0,Ra.useEffect)((()=>(n.loadSplitSentence(As(e),t,s,a,r).then((e=>{i(e);const t=kt.getPrimaryLanguageCode(s);e?Pt.trackEvent("Action","sentence-splitting:request_succeeded",t):Pt.trackEvent("Action","sentence-splitting:empty_result",t)})).catch((e=>{if(e?.message===ye)return;const t=e?.message===Ce?m.phrasesCardTimeoutError:m.phrasesCardGeneralError;u(new Error(t)),Pt.trackError("http","sentence-splitting:request_failed",`${kt.getPrimaryLanguageCode(s)}:${e.message}`)})).finally((()=>c(!1))),()=>{n.abortPhraseRequests("sentence-splitting")})),[e,t,s,a,r,m.phrasesCardTimeoutError,m.phrasesCardGeneralError]),[o,l,g]})({inhouseOnly:e,language:t,sentence:s,uniqueId:a,user:o}),p=Qa((e=>{u&&l(u,!e.isTrusted&&e.shiftKey)}));return(0,Ma.jsx)(Dn,{suggestion:u,caption:g,error:m,isIdle:r,isLoading:d,showRuleId:i,onClick:p,children:u?.text&&(0,Ma.jsx)(Nn,{from:s,to:u?.text,isSentenceSplitting:!0})})},Mn=()=>{const{setFocusIndex:e,setButtonGroupHash:t,getFocusIndex:s}=(0,Ra.useContext)(Oa);return{setFocusIndex:e,setButtonGroupHash:t,getFocusIndex:s}},On=({sentence:e,isIdle:t,showRuleId:s,onSuggestionClick:a,onSuggestionMouseOver:n,onSuggestionMouseOut:r})=>{const o=Ka(),{current:i}=(0,Ra.useRef)({apply:o("fixSentenceCardHeadlineApply"),loading:o("fixSentenceCardHeadlineLoading"),missing:o("fixSentenceCardHeadlineMissing")}),l=(0,Ra.useMemo)((()=>(e=>{const t=(e=>{const t=[],s=e.includedErrors.length-1;for(let a=0;a<=s;a++){const n=e.includedErrors[a],r=a<s?e.includedErrors[a+1]:void 0,o={prefix:"",suffix:""};0===a&&(o.prefix=e.content.slice(0,n.start)),o.suffix=r?e.content.slice(n.end,r.start):e.content.slice(n.end),t.push(o)}return t})(e);let s=e.includedErrors.length-1,a="";for(;s>=0;s--){const n=t[s]||{prefix:"",suffix:""},r=e.includedErrors[s].fixes[0].value;a=n.prefix+r+n.suffix+a}return a})(e)),[e]),c=Qa((t=>{l&&a(e,l,!t.isTrusted&&t.shiftKey)})),g=Qa((()=>n(e.includedErrors.map((({id:e})=>String(e)))))),u=Qa((()=>r()));return(0,Ma.jsx)(Dn,{caption:i,error:null,isIdle:t,isLoading:!1,showRuleId:s,suggestion:{text:e.content,label:"fix-sentence",uuid:"<irrelevant>",origin:"<none>",score:{a:1}},onClick:c,onSuggestionMouseOver:g,onSuggestionMouseOut:u,children:(0,Ma.jsx)(Wa,{className:"lt-comp-fix-sentence-suggestion",children:l})})},Hn=({fix:e})=>{const t=((e,t,s)=>{const a=Ka(),{current:n}=(0,Ra.useRef)({deleteWord:a("deleteWord"),removeExtraWhitespace:a("removeExtraWhitespace"),replaceWithWhitespace:a("replaceWithWhitespace")});switch(!0){case"delete"===e:return n.deleteWord;case"insert-em-dash-with-space"===e:return"Use em dash (—) with spaces";case"insert-em-dash"===e:return"Use em dash (—)";case"insert-en-dash"===e:return"Use en dash (–)";case"remove-whitespace"===e:return n.removeExtraWhitespace;case"replace-hyphen"===e:return n.replaceWithWhitespace;default:return t}})(e.type,e.text,e.html),s=Qa(e.onClick),a={className:Jt("lt-error-content__suggestion","highlight"===e.type&&"lt-error-content__suggestion--highlight","remove"===e.type&&"lt-error-content__suggestion--remove","delete"===e.type&&"lt-error-content__suggestion--delete",["replace-hyphen","insert-em-dash","insert-em-dash-with-space","insert-en-dash","remove-whitespace"].includes(e.type)&&"lt-error-content__suggestion--optional","correct-all"===e.type&&"lt-error-content__suggestion--correct-all"),title:e.title,"data-lt-tabindex":"0","data-lt-testid":"error-fix",onClick:s};return e.html?(0,Ma.jsx)(ja,{...a,dangerouslySetInnerHTML:{__html:e.html}}):(0,Ma.jsxs)(ja,{...a,children:[e.prefix&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion-hint",children:e.prefix}),t,e.suffix&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion-hint",children:e.suffix})]})},zn=({onIgnoreWordTemporarily:e,onIgnoreRuleTemporarily:t})=>{const s=(0,Ra.useMemo)((()=>({className:"lt-error-content__dismiss","data-lt-tabindex":"0",children:(0,Ma.jsx)(Va.Tr,{name:"dismissSuggestions"})})),[]),a=Qa((t=>e?.(t))),n=Qa((e=>t?.(e)));switch(!0){case Re(e):return(0,Ma.jsx)(ja,{...s,"data-lt-testid":"temporarily-ignore-word",onClick:a});case Re(t):return(0,Ma.jsx)(ja,{...s,"data-lt-testid":"temporarily-ignore-rule",onClick:n});default:return null}},Bn=({fixes:e,changeLanguageAction:t})=>{const s=(e=>{const t=Ka(),{current:s}=(0,Ra.useRef)({switchToCanadianEnglish:t("switchToCanadianEnglish"),switchToAustralianEnglish:t("switchToAustralianEnglish"),switchToNewZealandEnglish:t("switchToNewZealandEnglish"),switchToSouthAfricanEnglish:t("switchToSouthAfricanEnglish"),switchToBritishEnglish:t("switchToBritishEnglish"),switchToAmericanEnglish:t("switchToAmericanEnglish")});if(!e)return"";if(e?.label)return e?.label;if(!e?.labelId)throw new Error("Either `label` or `labelId` need to be passed into the ChangeLanguageAction component");return s[e.labelId]})(t),a=Qa((()=>{t?.onClick()}));return(0,Ma.jsxs)(Ma.Fragment,{children:[e.map((e=>(0,Ma.jsxs)(Ra.Fragment,{children:[(0,Ma.jsx)(Hn,{fix:e}),"correct-all"===e.type&&(0,Ma.jsx)("br",{})]},e.text+e.html))),t&&(0,Ma.jsx)(ja,{className:"lt-error-content__suggestion lt-error-content__suggestion--optional",onClick:a,"data-lt-tabindex":"0","data-lt-testid":"error-fix",children:s})]})},Un=({premiumErrors:e,disablePremiumTeaser:t,onPremiumTeaserClick:s})=>{const a=Ka(),{current:r}=(0,Ra.useRef)({errorCardAllDoneCaption:a("errorCardAllDoneCaption"),errorCardAllDoneDescription:a("errorCardAllDoneDescription"),errorCardPremiumTeaserCaptionSingular:a("errorCardPremiumTeaserCaptionSingular"),errorCardPremiumTeaserText:a("errorCardPremiumTeaserText"),errorCardPremiumTeaserReadMore:a("errorCardPremiumTeaserReadMore"),errorCardPremiumTeaserGrammarSuggestions:a("errorCardPremiumTeaserGrammarSuggestions"),errorCardPremiumTeaserStyleSuggestions:a("errorCardPremiumTeaserStyleSuggestions"),errorCardPremiumTeaserPunctuationSuggestions:a("errorCardPremiumTeaserPunctuationSuggestions"),errorCardPremiumTeaserCta:a("errorCardPremiumTeaserCta")}),o=(0,Ra.useMemo)((()=>a("errorCardPremiumTeaserCaptionPlural",[e.length])),[a,e]),{length:i}=e.filter((e=>!e.isPunctuationError&&!e.isStyleError&&!e.isSpellingError)),{length:l}=e.filter((e=>e.isStyleError)),{length:c}=e.filter((e=>e.isPunctuationError)),{length:g}=[i,l,c].filter((e=>e>0)),u=Qa((()=>{n.openWindow(function(e,t){if(!yn.call(Sn,e))throw new Error(`The blog post "${e}" does not exist.`);const s=kt.getPrimaryLanguageCode(t??n.getUILanguageCode()),a=yn.call(Sn[e],s)?Sn[e][s]:e;return new URL(`/insights/${a}`,"https://languagetool.org").toString()}("post/premium-vs-free-product-updates/"))})),d=Qa((()=>{s?.("addon2-errorcard-hidden-matches")}));return e.length&&!0!==t?(0,Ma.jsxs)(Wa,{className:"lt-error-teaser",children:[(0,Ma.jsx)(Wa,{className:"lt-error-teaser__caption",children:1===e.length?r.errorCardPremiumTeaserCaptionSingular:o}),(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__content",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__text",children:r.errorCardPremiumTeaserText}),(0,Ma.jsx)(Ma.Fragment,{children:" "}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__read-more",onClick:u,children:r.errorCardPremiumTeaserReadMore})]}),g>1&&(0,Ma.jsxs)(Wa,{children:[i>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserGrammarSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:i})]}),l>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserStyleSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:l})]}),c>0&&(0,Ma.jsxs)(Wa,{className:"lt-error-teaser__stats-row",children:[(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-key",dangerouslySetInnerHTML:{__html:r.errorCardPremiumTeaserPunctuationSuggestions}}),(0,Ma.jsx)(ja,{className:"lt-error-teaser__stats-value",children:c})]})]}),(0,Ma.jsx)(Wa,{className:"lt-error-teaser__cta",onClick:d,children:r.errorCardPremiumTeaserCta})]}):(0,Ma.jsx)(bn,{type:"happy",caption:r.errorCardAllDoneCaption,text:r.errorCardAllDoneDescription})},$n=({isHiddenMatch:e,onPremiumTeaserClick:t,onTurnOffPickyMode:s})=>{const a=Ka(),{current:n}=(0,Ra.useRef)({errorCardHiddenMatchButton:a("errorCardTurnOffPickyModeButton"),errorCardHiddenMatchCaption:a("errorCardTurnOffPickyModeCaption"),errorCardTurnOffPickyModeButton:a("errorCardTurnOffPickyModeButton"),errorCardTurnOffPickyModeCaption:a("errorCardTurnOffPickyModeCaption")});let r,o,i,l,c;switch(!0){case e&&Re(t):r="lt-error-content__footer--premium",o="premium--small",i=n.errorCardHiddenMatchCaption,l=n.errorCardHiddenMatchButton,c=e=>{e.stopImmediatePropagation(),t?.()};break;case Re(s):r="lt-error-content__footer--picky",o="picky--blue",i=n.errorCardTurnOffPickyModeCaption,l=n.errorCardTurnOffPickyModeButton,c=e=>{e.stopImmediatePropagation(),s?.(e)};break;default:return null}return(0,Ma.jsxs)(_n,{className:Jt("lt-error-content__footer",r),children:[(0,Ma.jsxs)(Wa,{className:"lt-error-content__footer__caption",children:[(0,Ma.jsx)(mn,{name:o,compact:!0}),i]}),(0,Ma.jsx)(Wa,{className:"lt-error-content__footer__btn",onClick:c,children:l})]})},Fn=({showSentenceSplittingSuggestion:e,errorId:t,errorType:s,title:a,description:n,originalPhrase:r,fixes:o,changeLanguageAction:i,isHiddenMatch:l,premiumErrors:c,language:g,inhouseOnly:u,uniqueId:d,showRuleId:m,user:p,isIdle:h,fixSentencePayload:f,onSplitSentenceClick:_,onFixSentenceClick:E,onFixSentenceMouseOver:v,onFixSentenceMouseOut:b,onMoreDetailsClick:S,onPremiumTeaserClick:y,onAddToDictionaryClick:T,onIgnoreWordTemporarily:C,onIgnoreRule:k,onIgnoreRuleTemporarily:x,onTurnOffPickyMode:L})=>{const{isInDOM:w}=qa(),{disablePremiumTeaser:P}=(0,Ra.useContext)(Tn),A=(0,Ra.useMemo)((()=>Me(n)&&Me(r)),[n,r]),I=(0,Ra.useMemo)((()=>!1===A&&c.length>0),[A,c]),N=((e,t,s,a,n,r)=>{const o=Ka(),{current:i}=(0,Ra.useRef)({spellingError:o("spellingError"),customSuggestionError:o("customSuggestionError"),suggestionError:o("suggestionError"),punctuationError:o("punctuationError"),grammarError:o("grammarError")});return(0,Ra.useMemo)((()=>{switch(!0){case n&&!0!==r:return"Premium";case n&&r:case!s&&!a:return"";case Boolean(e)&&"spelling"!==t:return e;case"custom"===t:return i.customSuggestionError;case"spelling"===t:return i.spellingError;case"style"===t:return i.suggestionError;case"punctuation"===t:return i.punctuationError;default:return i.grammarError}}),[i,e,t,s,a,n,r])})(a,s,e,A,I,P),D=Ka(),{current:R}=(0,Ra.useRef)({turnOffRule:D("turnOffRule"),moreDetails:D("moreDetails"),turnOffPickyMode:D("turnOffPickyMode")}),M=(0,Ra.useRef)(0),{setFocusIndex:O,setButtonGroupHash:H}=Mn(),z=Me(r)&&e,B=Qa((e=>{T?.(e)})),U=Re(T)?{key:"add-to-dictionary",icon:"dictionary","data-lt-testid":"add-to-dictionary",onClick:B,tooltip:{label:D("addToDictionaryCaption",r),position:"top-right"}}:null,$=Qa((e=>{k?.(e)})),F=Re(k)?{key:"add-to-dictionary",icon:"ignore","data-lt-testid":"ignore-rule",onClick:$,tooltip:{label:R.turnOffRule,position:"top-right"}}:null,G=Qa((()=>{S?.()})),W=Re(S)?{key:"more-details",icon:"info","data-lt-testid":"more-details",onClick:G,tooltip:{label:R.moreDetails,position:"top-right"}}:null,j=(0,Ra.useMemo)((()=>(0,Ma.jsx)($n,{isHiddenMatch:l,onPremiumTeaserClick:y,onTurnOffPickyMode:L})),[l,y,L]);let V;if(A&&(V=[W,F,U]),I&&!0!==P&&(V=[{icon:"premium",key:"premium-icon",className:"lt-error-content__premium-icon"}]),M.current=V?.filter(Boolean).length??0,De(N)&&A)throw new Error("Either `caption` or `errorType` need to be passed into the ErrorContent component");return(0,Ra.useEffect)((()=>{if(!w)return;const e=o.map((e=>e.text||e.html)).concat([String(t)]).join("_");Oe(M.current)&&(O(M.current),M.current=null),H(e)}),[w,t,o,H,O]),(0,Ma.jsxs)(Wa,{children:[(0,Ma.jsxs)(En,{caption:N,controls:V,footer:j,isIdle:h,children:[(0,Ma.jsx)(Wa,{className:"lt-error-content__description","data-lt-selectable":"true",children:n}),(0,Ma.jsxs)(Wa,{className:"lt-error-content__actions-list",children:[(0,Ma.jsx)(Bn,{fixes:o,changeLanguageAction:i}),(0,Ma.jsx)(zn,{onIgnoreWordTemporarily:C,onIgnoreRuleTemporarily:x})]}),!z&&!A&&(0,Ma.jsx)(Un,{premiumErrors:c,disablePremiumTeaser:P,onPremiumTeaserClick:y})]}),Me(r)&&z&&(0,Ma.jsx)(Rn,{inhouseOnly:u,uniqueId:d,showRuleId:m,sentence:r,language:g,isIdle:h,user:p,onSuggestionClick:_}),!z&&f&&(0,Ma.jsx)(On,{sentence:f,isIdle:h,showRuleId:m,onSuggestionClick:E,onSuggestionMouseOver:v,onSuggestionMouseOut:b})]})},Gn=e=>Array.isArray(e)&&e.length<=4,Wn=Ga("comp-countdown"),jn=e=>Math.max(0,e-Date.now()),Vn=(e,t)=>{const[s,a]=(0,Ra.useState)(jn(e));return(0,Ra.useEffect)((()=>{let s=self.setInterval((()=>{const n=jn(e);a(n),0===n&&"number"==typeof s&&(self.clearInterval(s),s=null,t?.())}),1e3);return()=>{"number"==typeof s&&self.clearInterval(s)}}),[e,t]),n=s,{seconds:Math.floor(n/1e3%60),minutes:Math.floor(n/1e3/60%60),hours:Math.floor(n/1e3/60/60)};var n},qn=({expires:e,digitClass:t,dividerClass:s,onExpired:a})=>{const{seconds:n,minutes:r,hours:o}=Vn(e,a);return(0,Ma.jsxs)(Wn,{children:[(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(o)}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__divider",s),children:":"}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(r)}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__divider",s),children:":"}),(0,Ma.jsx)(ja,{className:Jt("lt-comp-countdown__digit",t),children:rt(n)})]})},Kn=Ga("comp-rephrasing-teaser"),Zn=({language:e,onCtaClick:t})=>{const s=Ka(),{current:a}=(0,Ra.useRef)({rephrasingTeaserCountdownText:s("rephrasingTeaserCountdownText"),rephrasingTeaserCountdownSuffix:s("rephrasingTeaserCountdownSuffix",[ve]),rephrasingTeaserCaption:s("rephrasingTeaserCaption"),rephrasingTeaserDescription:s("rephrasingTeaserDescription"),rephrasingTeaserListItem1:s("rephrasingTeaserListItem1",[G.toLocaleString(e||void 0)]),rephrasingTeaserListItem2:s("rephrasingTeaserListItem2"),rephrasingTeaserListItem3:s("rephrasingTeaserListItem3"),rephrasingTeaserCta:s("rephrasingTeaserCta")}),n=(()=>{const{current:e}=(0,Ra.useRef)(new Date);return e.setHours(23),e.setMinutes(59),e.setSeconds(59),e.setMilliseconds(999),e.getTime()})(),r=[a.rephrasingTeaserListItem1,a.rephrasingTeaserListItem2,a.rephrasingTeaserListItem3],o=Qa((()=>{t()}));return(0,Ma.jsxs)(Kn,{children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-rephrasing-teaser__header",children:[(0,Ma.jsxs)(Wa,{className:"lt-comp-rephrasing-teaser__countdown",children:[a.rephrasingTeaserCountdownText,(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__countdown__suffix",children:a.rephrasingTeaserCountdownSuffix})]}),(0,Ma.jsx)(qn,{expires:n,digitClass:"lt-comp-rephrasing-teaser__timer__digit",dividerClass:"lt-comp-rephrasing-teaser__timer__divider"})]}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__caption",children:a.rephrasingTeaserCaption}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__description",children:a.rephrasingTeaserDescription}),(0,Ma.jsx)(Wa,{className:"lt-comp-rephrasing-teaser__list",children:r.map((e=>(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__list-item",dangerouslySetInnerHTML:{__html:e}},e)))}),(0,Ma.jsx)(ja,{className:"lt-comp-rephrasing-teaser__cta",onClick:o,children:a.rephrasingTeaserCta})]})},Xn=(e,t,s,a)=>{const r=Za(),{confirmedGPT3:o}=r.getPrivacySettings(),[i,l]=(0,Ra.useState)(!0===o||"standalone"===n.getType()||!0===t),c=(0,Ra.useCallback)((()=>{l(!0),r.updatePrivacySettings({confirmedGPT3:!0}),Pt.trackEvent("Action",`${a}:privacy_confirmed`,s)}),[r,l,s,a]);return(0,Ra.useEffect)((()=>{e&&!i&&(r.addEventListener(xt.eventNames.privacySettingsChanged,(({confirmedGPT3:e})=>{e&&e.oldValue!==e.newValue&&e.newValue!==i&&l(e.newValue)})),Pt.trackEvent("Action",`${a}:privacy_confirmation_required`,s))}),[r,i,l,s,e,a]),[i,c]},Yn="https://languagetool.org/premium?utm_campaign=addon2-rewriting",Qn=e=>et(e?.rephrases.map((({label:e})=>e.split("-").shift())).filter((e=>tr.includes(e)))||[]),Jn=()=>{const e=(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__loading","data-lt-testid":"loading-skeleton",children:[(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__loading__line"}),(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__loading__line"})]});return(0,Ma.jsx)(Ma.Fragment,{children:["one","two","three"].map((t=>(0,Ma.jsx)(Ra.Fragment,{children:e},t)))})},er=({sentence:e,label:t,origin:s,score:a,text:n,uuid:r,isLast:o,isFirst:i,isRuleDeveloperDebugMode:l,onPhraseClick:c,reportPhrase:g})=>{const u=Qa((()=>{c({label:t,origin:s,score:a,text:n,uuid:r}),g()}));return(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-paraphrasing-content__item",i&&"lt-comp-paraphrasing-content__item--first-element",o&&"lt-comp-paraphrasing-content__item--last-element"),onClick:u,"data-lt-testid":"rephrase-suggestion","data-lt-tabindex":"0",children:[l&&(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__item__origin",children:t}),(0,Ma.jsx)(Nn,{from:e,to:n,className:"lt-comp-paraphrasing-content__item__diff"})]})},tr=["formality","general","paraphrase","shortened","simplicity"],sr=({type:e,current:t,onChange:s,getLabel:a})=>{const n=Qa((()=>s(e)));return(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter__list__item",e===t&&"lt-comp-paraphrasing-content__filter__list__item--current"),onClick:n,children:a(e)})},ar=({hidden:e,current:t,isIdle:s,availableFilters:a,onChange:n})=>{const{updateCardPosition:r,moveCardIntoViewport:o}=an(),i=Ka(),{current:l}=(0,Ra.useRef)({phrasesCardLabelFormality:i("phrasesCardLabelFormality"),phrasesCardLabelParaphrase:i("phrasesCardLabelParaphrase"),phrasesCardLabelShortened:i("phrasesCardLabelShortened"),phrasesCardLabelSimplicity:i("phrasesCardLabelSimplicity"),phrasesCardLabelGeneral:i("phrasesCardLabelGeneral"),phrasesCardFilterEmpty:i("phrasesCardFilterEmpty")}),{current:c}=(0,Ra.useRef)((e=>{switch(e){case"formality":return l.phrasesCardLabelFormality;case"general":return l.phrasesCardLabelGeneral;case"paraphrase":return l.phrasesCardLabelParaphrase;case"shortened":return l.phrasesCardLabelShortened;case"simplicity":return l.phrasesCardLabelSimplicity;default:return l.phrasesCardFilterEmpty}})),[g,u]=(0,Ra.useState)(!1),d=Qa((()=>u(!1))),m=null===t?2:1,p=!0===e||!a||a.length<m;return(0,Ra.useLayoutEffect)(r,[p,r]),(0,Ra.useEffect)(o,[p,o]),p?null:(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter",s&&"lt-comp-paraphrasing-content__filter--idle"),children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__filter__label",onClick:()=>u(!0),children:c(t)}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__filter__list",g&&"lt-comp-paraphrasing-content__filter__list--visble"),children:[null,...a].map((e=>(0,Ma.jsx)(sr,{type:e,current:t,onChange:n,getLabel:c},String(e))))})]}),g&&(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__filter-backdrop",onClick:d})]})},nr=wt.isSafari()?"https://languagetool.org/legal/privacy/?hidePremium=true#rephrasing":"https://languagetool.org/legal/privacy/#rephrasing",rr=({language:e,onConfirmPrivacyPolicy:t})=>{const s=Ka(),{current:a}=(0,Ra.useRef)({phrasesCardConfirmationHeading:s("phrasesCardConfirmationHeading"),phrasesCardConfirmationText:s("phrasesCardConfirmationText",[nr]),phrasesCardConfirmationButton:s("phrasesCardConfirmationButton")});return(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__confirmation",children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-paraphrasing-content__confirmation__image",`lt-comp-paraphrasing-content__confirmation__image--${e}`)}),(0,Ma.jsxs)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__content",children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__heading",children:a.phrasesCardConfirmationHeading}),(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__confirmation__text",dangerouslySetInnerHTML:{__html:a.phrasesCardConfirmationText}}),(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__confirmation__button",onClick:t,"data-lt-testid":"confirm-tos",children:a.phrasesCardConfirmationButton})]})]})},or=({inhouseOnly:e,isEnabled:t,language:s,sentence:a,uniqueId:r,user:o,remainingRephrasings:i,noDistanceTop:l,showRuleId:c,isIdle:g,onPhraseClick:u,reportPhrase:d,highlightSentence:m})=>{const{updateCardPosition:p,moveCardIntoViewport:h}=an(),f=Ka(),{current:_}=(0,Ra.useRef)({phrasesCardHeadline:f("phrasesCardHeadline"),phrasesCardSentencePrefix:f("phrasesCardSentencePrefix"),synonymsCardLoading:f("synonymsCardLoading"),phrasesCardNoSentence:f("phrasesCardNoSentence"),phrasesCardNoResult:f("phrasesCardNoResult"),phrasesCardNotSupportedHeading:f("phrasesCardNotSupportedHeading"),phrasesCardNotSupportedText:f("phrasesCardNotSupportedText"),phrasesCardRephrasingLimitSingular:f("phrasesCardRephrasingLimitSingular"),phrasesCardGeneralError:f("phrasesCardGeneralError")}),[E,v]=Xn(t,e,s,"rephrasesV3"),b=Qa(v),[S,y,T]=(({uniqueId:e,sentence:t,language:s,inhouseOnly:a,shouldLoadData:r,user:o})=>{const i=Ka(),{current:l}=(0,Ra.useRef)({phrasesCardGeneralError:i("phrasesCardGeneralError"),phrasesCardTimeoutError:i("phrasesCardTimeoutError")}),[c,g]=(0,Ra.useState)(),[u,d]=(0,Ra.useState)(!1),m=(0,Ra.useRef)(null);return(0,Ra.useEffect)((()=>{if(!1!==r)return d(!0),m.current=null,n.loadPhrases(As(e),t,s,a,o).then((e=>{g(e),d(!1),Pt.trackEvent("Action","rephrasesV3:request_succeeded",kt.getPrimaryLanguageCode(s))})).catch((e=>{if(e?.message===ye)return;const t=e?.message===Ce?l.phrasesCardTimeoutError:l.phrasesCardGeneralError;m.current=new Error(t),d(!1),Pt.trackError("http","rephrasesV3:request_failed",`${kt.getPrimaryLanguageCode(s)}:${e.message}`)})),()=>{n.abortPhraseRequests("rewrite")}}),[e,t,s,a,r,o,l.phrasesCardGeneralError,l.phrasesCardTimeoutError]),[c,u,m.current]})({shouldLoadData:E&&t&&(null===i||i>0),inhouseOnly:e,language:s,sentence:a,uniqueId:r,user:o}),[C,k]=(0,Ra.useState)(null),[x,L]=(0,Ra.useState)(!1),w=S?.rephrases.filter((({label:e})=>!C||e.startsWith(C))),P=Gn(w),A=!1===P&&Array.isArray(w)&&w.length>3,I=(({phrases:e,shouldShowAllResults:t,showAll:s})=>{const{setButtonGroupHash:a,setFocusIndex:n,getFocusIndex:r}=Mn(),o=(0,Ra.useRef)(!1);return(0,Ra.useEffect)((()=>{if(!e)return;if(!1===s&&o.current){const t=r(),{length:s}=e,a=Gn(e)?4:3;n(t-(s-a)),o.current=!1}const i=e.slice(0,s||t?e.length:3).map((({uuid:e})=>e)).join("-");a(i)}),[e,s,t,a,n,r]),o})({phrases:w,showAll:x,shouldShowAllResults:P}),N=(0,Ra.useMemo)((()=>(0,Ma.jsxs)(hn,{children:[(0,Ma.jsx)(ja,{className:"lt-comp-paraphrasing-content__title",children:_.phrasesCardHeadline}),(0,Ma.jsx)(ar,{hidden:!S||0===S.rephrases.length,current:C,isIdle:g,availableFilters:Qn(S),onChange:k})]})),[S,C,g,k,_.phrasesCardHeadline]),D=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(En,{title:N,className:Jt("lt-comp-paraphrasing-content",l&&"lt-comp-paraphrasing-content--no-distance-top"),noPadding:!0,isIdle:g,children:e})}),[N,l,g]),R=()=>{self.open(Yn,"_blank")};return(0,Ra.useEffect)((()=>{Pt.trackEvent("Action","rephrasesV3:open",s+":"+(t?"enabled":"disabled"))}),[s,t]),(0,Ra.useEffect)((()=>{const e=C||"default";Pt.trackEvent("Action","rephrasesV3:set_filter",e)}),[C]),(0,Ra.useLayoutEffect)(m,[m]),(0,Ra.useEffect)((()=>{L(!1)}),[S]),(0,Ra.useLayoutEffect)(p,[S,x,C,E,p]),(0,Ra.useEffect)(h,[S,x,C,E,h]),(0,Ra.useEffect)((()=>k(null)),[a]),t?E?0===i?(0,Ma.jsx)(En,{className:"lt-comp-paraphrasing-content",isIdle:g,children:(0,Ma.jsx)(Zn,{language:s,onCtaClick:R})}):y?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(Jn,{})}):T||!w?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{type:"error",caption:T?.message||_.phrasesCardGeneralError})}):0===w.length?(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{caption:_.phrasesCardNoResult})}):(0,Ma.jsxs)(D,{children:[(0,Ma.jsx)(Wa,{className:"lt-comp-paraphrasing-content__items","data-lt-testid":"rephrase-list",children:w.slice(0,x?w.length:3).map(((e,t,{length:s},n=s-1)=>(0,Ra.createElement)(er,{...e,key:e.uuid,sentence:a,isLast:t===n&&!1===A,isFirst:0===t,isRuleDeveloperDebugMode:c,onPhraseClick:u,reportPhrase:()=>d(S,t)})))}),A&&(0,Ma.jsx)(fn,{className:"lt-comp-paraphrasing-content__toggle-more",onToggle:()=>{L(!x),I.current=!0},showAll:Boolean(x)})]}):(0,Ma.jsx)(D,{children:(0,Ma.jsx)(rr,{language:s,onConfirmPrivacyPolicy:b})}):(0,Ma.jsx)(D,{children:(0,Ma.jsx)(bn,{type:"sad",caption:_.phrasesCardNotSupportedHeading,html:_.phrasesCardNotSupportedText})})},ir=e=>Ne(e)&&e.synonyms.length<=4;class lr extends Error{constructor(){super("The current language is not supported."),this.name="NotSupportedError"}}const cr=()=>(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__loading__caption"}),(0,Ma.jsxs)(Wa,{className:"lt-comp-synonyms-content__loading__wrapper",children:[(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"}),(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"}),(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__loading__button"})]})]}),gr=({word:e,onSynonymClick:t})=>{const s=Qa((()=>{t(e)}));return(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__item__button",onClick:s,"data-lt-tabindex":"0","data-lt-testid":"synonym",children:e})},ur=({alternatives:e,synonymsSource:t,showAll:s,onSynonymClick:a})=>{const{updateCardPosition:n,moveCardIntoViewport:r}=an(),o=Qa((()=>{t&&self.open(t.url,"_blank")}));return(0,Ra.useLayoutEffect)(n,[t,s,n]),(0,Ra.useEffect)(r,[t,s,r]),(0,Ma.jsxs)(Ma.Fragment,{children:[e.slice(0,s?e.length:3).map((({word:e},t)=>(0,Ma.jsx)(gr,{word:e,onSynonymClick:a},`${e}-${t}`))),t&&(0,Ma.jsxs)(Wa,{className:"lt-comp-synonyms-content__item__source",children:["Source:"," ",(0,Ma.jsx)(ja,{className:"lt-comp-synonyms-content__item__source__link",onClick:o,children:t.name})]})]})},dr=({notSupported:e,noResults:t})=>{const s=(0,Ra.useMemo)((()=>function({children:e}){return(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__no-result",children:e})}),[]);switch(!0){case e:return(0,Ma.jsx)(s,{children:(0,Ma.jsx)(Va.Tr,{name:"synonymsCardLanguageNotSupported"})});case t:return(0,Ma.jsx)(s,{children:(0,Ma.jsx)(Va.Tr,{name:"synonymsCardNoSynonymsAvailable"})});default:return null}},mr=({wordContext:e,language:t,motherLanguage:s,wordIsErroneous:a,isIdle:r,onSynonymClick:o})=>{const{updateCardPosition:i,moveCardIntoViewport:l}=an(),[c,g]=(0,Ra.useState)(null),u=Ka(),{current:d}=(0,Ra.useRef)({synonymsCardHeadline:u("synonymsCardHeadline")}),[m,p,h]=((e,t,s)=>{const[a,r]=(0,Ra.useState)(!1),[o,i]=(0,Ra.useState)(null),[l,c]=(0,Ra.useState)();return(0,Ra.useEffect)((()=>{if(kt.getSynonymsRequestLanguage(t))return r(!0),n.loadSynonyms(e,t,s).then((e=>{i(e)})).catch((e=>c(e))).finally((()=>r(!1))),()=>{n.abortSynonymsRequest()};c(new lr)}),[e,t,s]),[o,a,l]})(e,t,s),f=(0,Ra.useMemo)((()=>{if(Me(t)&&!t.startsWith("de")&&m)return{name:m.dataSource.sourceName,url:m.dataSource.sourceUrl}}),[t,m]),_=((e,t)=>(0,Ra.useMemo)((()=>{if(!t)return"…";const s=t.genders?.length?(e=>{const[t,...s]=e[0].display.split(/\s+/);return[e.map((({display:e})=>e.split(/\s+/).shift())).join("/"),s.join(" ")].join(" ")})(t.genders):e,[a,n]=s.trim().split(/'| /),r=n?[a,s.includes("'")?"' ":"",n].join(""):a;let o=t.genders?.map((({displayType:e})=>e)).filter(Boolean).join("/");return o=o?` (${o})`:"",r+o}),[e,t]))(e.word,m),E=(0,Ma.jsx)(hn,{prefix:d.synonymsCardHeadline,children:_}),v=!1===p&&0===m?.synonymSets.length,b="NotSupportedError"===h?.name,S=(0,Ra.useMemo)((()=>m&&m.synonymSets.length>1),[m]),y=c?"collapse-synonyms-list":"show-all-synonyms";return(({synonyms:e,showAll:t})=>{const{setButtonGroupHash:s,setFocusIndex:a}=Mn();(0,Ra.useEffect)((()=>{if(!e?.synonymSets.length)return;if(!1===t){const[t]=e.synonymSets,s=ir(t)?t.synonyms.length:3;a(s-1)}const n=e.synonymSets.slice(0,t?e.synonymSets.length:1).flatMap((({synonyms:e})=>e.map((({word:e})=>e)))).join("-");s(n)}),[e,t,s,a])})({synonyms:m,showAll:c}),(0,Ra.useLayoutEffect)(i,[m,c,p,S,i]),(0,Ra.useEffect)(l,[m,c,p,S,l]),(0,Ra.useEffect)((()=>g(null)),[e]),p&&!0!==a?(0,Ma.jsx)(En,{title:E,isIdle:r,children:(0,Ma.jsx)(cr,{})}):v&&a?null:(0,Ma.jsxs)(En,{title:E,isIdle:r,children:[(0,Ma.jsx)(dr,{noResults:v,notSupported:b}),m?.synonymSets.slice(0,c?m.synonymSets.length:1).map(((e,t,{length:s},a=s-1)=>(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-synonyms-content__item",S&&"lt-comp-synonyms-content__item--border",0===t&&"lt-comp-synonyms-content__item--first",t===a&&"lt-comp-synonyms-content__item--last"),children:[(0,Ma.jsx)(Wa,{className:"lt-comp-synonyms-content__item__title",children:e.title}),(0,Ma.jsx)(ur,{alternatives:e.synonyms,showAll:c||ir(e)||!1===S,synonymsSource:t!==a||!c&&!1!==S?void 0:f,onSynonymClick:o})]},e.title+e.synonyms.map((({word:e,hints:t})=>`${e}-${t.length}`))))),S&&(0,Ma.jsx)(fn,{className:"lt-comp-synonyms-content__toggle-more","data-lt-testid":y,onToggle:()=>g(!c),showAll:Boolean(c)})]})},pr=Ga("comp-rephrase-content"),hr=({synonymsData:e,paraphrasingsData:t})=>(0,Ma.jsxs)(pr,{children:[e&&(0,Ma.jsx)(mr,{...e}),t&&(0,Ma.jsx)(or,{noDistanceTop:void 0===e,...t})]}),fr=Ga("comp-scrollable-area"),_r=({scrollerClassName:e,children:t})=>{const s=(0,Ra.useRef)(null),[a,n]=(0,Ra.useState)(!1),[r,o]=(0,Ra.useState)(!1),[i,l]=(0,Ra.useState)(!1);return(0,Ra.useEffect)((()=>{const e=s.current,t=()=>{o(null!==e&&e.scrollTop>0),l(null!==e&&e.scrollTop+e.offsetHeight===e.scrollHeight)};return e&&e.addEventListener("scroll",t),()=>{e&&e.removeEventListener("scroll",t)}}),[s]),(0,Ra.useEffect)((()=>{const e=s.current;let t;return e&&(t=new ResizeObserver((()=>{n((e=>e.clientHeight<e.scrollHeight&&qt(e))(e))})),t.observe(e)),()=>{e&&t?.unobserve(e)}}),[s]),(0,Ma.jsxs)(fr,{className:"lt-comp-scrollable-area",children:[r&&(0,Ma.jsx)(Wa,{className:"lt-comp-scrollable-area__shadow lt-comp-scrollable-area__shadow--top"}),(0,Ma.jsx)(Wa,{className:Jt("lt-comp-scrollable-area__scroller",e),ref:s,children:t}),a&&!1===i&&(0,Ma.jsx)(Wa,{className:"lt-comp-scrollable-area__shadow lt-comp-scrollable-area__shadow--bottom"})]})},Er=({mode:e,isIdle:t,userCanNavigate:s,onNavigateError:a,onNavigateSentence:n})=>{const{isDetached:r,adjustPosition:o}=an(),i=(0,Ra.useRef)(null),l=(0,Ra.useCallback)((()=>{switch(e){case"correct":a("previous"),Pt.trackEvent("Action","editor_card:previous_error");break;case"paraphrase":n("previous"),Pt.trackEvent("Action","editor_card:previous_sentence");break;default:throw new Error(`Unknown mode "${e}"`)}}),[e,a,n]),c=(0,Ra.useCallback)((()=>{switch(e){case"correct":a("next"),Pt.trackEvent("Action","editor_card:next_error");break;case"paraphrase":n("next"),Pt.trackEvent("Action","editor_card:next_sentence");break;default:throw new Error(`Unknown mode "${e}"`)}}),[e,a,n]),g=(0,Ra.useMemo)((()=>"correct"===e?"editorCardNextIssue":"editorCardNextSentence"),[e]);return(0,Ra.useEffect)((()=>{!1===i.current&&!0===r&&o(),i.current=r}),[r,o]),r&&s?(0,Ma.jsx)(Wa,{className:"lt-comp-editor-base__footer",children:(0,Ma.jsxs)(Ma.Fragment,{children:[(0,Ma.jsx)(Wa,{className:Jt("lt-comp-editor-base__footer__btn lt-comp-editor-base__footer__btn--prev",t&&"lt-comp-editor-base__footer__btn--idle"),onClick:l,"data-lt-testid":"previous-issue",children:(0,Ma.jsx)(ja,{className:"lt-comp-editor-base__footer__icon lt-icon__arrow_left--blue"})}),(0,Ma.jsxs)(Wa,{className:Jt("lt-comp-editor-base__footer__btn lt-comp-editor-base__footer__btn--next",t&&"lt-comp-editor-base__footer__btn--idle"),onClick:c,"data-lt-testid":"next-issue",children:[(0,Ma.jsx)(Va.Tr,{name:g}),(0,Ma.jsx)(ja,{className:"lt-comp-editor-base__footer__icon lt-icon__arrow_right--blue"})]})]})}):null},vr=(0,Ra.forwardRef)((function({initialContentProps:e,mode:t,root:s,forwardUpdateContentFn:a,...n},r){const[o,i]=(0,Ra.useState)(e),[l,c]=(0,Ra.useState)(),[g,u]=(0,Ra.useState)(t),{current:d}=(0,Ra.useRef)(((e,t,s)=>{c(e),u(t),i(s)})),m=((e,t,s)=>{const a=(0,Ra.useCallback)((()=>{if(null===s)return null;if("paraphrase"===t&&"paraphrasingsData"in s)return"correct"===e&&s.synonymsData&&(s.synonymsData.wordIsErroneous=!0),(0,Ma.jsx)(hr,{...s});if("correct"===t&&"fixes"in s)return(0,Ma.jsx)(Fn,{...s});throw new Error(`Invalid card mode "${t}" passed in`)}),[e,t,s]),[n,r]=(0,Ra.useState)(a());return(0,Ra.useEffect)((()=>{r(a())}),[a]),n})(l,g,o),p=(0,Ra.useMemo)((()=>"displayedErrors"in o?o.displayedErrors.length>1:(!("paraphrasingsData"in o)||void 0!==o.paraphrasingsData)&&("sentenceRanges"in o&&Number(o.sentenceRanges?.length)>1)),[o]),h=(0,Ra.useMemo)((()=>"isIdle"in o?!0===o.isIdle:!!o.paraphrasingsData&&o.paraphrasingsData.isIdle),[o]);return(0,Ra.useEffect)((()=>{a(d)}),[a,d]),(0,Ma.jsx)(Cn,{value:{disablePremiumTeaser:n.disablePremiumTeaser},children:(0,Ma.jsxs)(ln,{...n,mode:g,ref:r,root:s,children:[(0,Ma.jsx)(_r,{scrollerClassName:"lt-comp-editor-card__content",children:m}),(0,Ma.jsx)(Er,{mode:g,isIdle:h,userCanNavigate:p,onNavigateError:n.onNavigateError,onNavigateSentence:n.onNavigateSentence})]})})})),br=(0,Ra.forwardRef)((function(e,t){return(0,Ma.jsx)(vr,{...e,ref:t})}));br.displayName="EditorCard";const Sr=new Map([["paraphrase","wide"],["correct","narrow"]]);class yr{constructor({mode:e,storageController:t,inputArea:s,tweaks:a,targetBox:n,enableKeyboard:r,disablePremiumTeaser:o,errorCardArguments:i,rephraseCardArguments:l,user:c,language:g,inhouseOnly:u,anchorSelection:d,getText:m,getSentenceRanges:p}){this._renderOutsideIframe=!1,this._containerElement=null,this._cardRef=(0,Ra.createRef)(),this._isDetached=!1,this._currentMode=e,this._storageController=t,this._inputArea=s,this._tweaks=a,this._targetBox=n,this._enableKeyboard=r,this._disablePremiumTeaser=o,this._errorCardArguments=i,this._rephraseCardArguments=l,this._user=c,this._language=g,this._inhouseOnly=u,this._anchorSelection=d,this._getText=m,this._getSentenceRanges=p,this._referenceArea=s,this._keyboardEventTarget=this._tweaks.getKeyboardEventTarget(),this._document=this._inputArea.ownerDocument,this._sentenceSelection=this._getSentenceSelection(d);const h=Vt(self);h&&this._inputArea===this._inputArea.ownerDocument.body&&Ss(self.parent)&&(this._referenceArea=h,this._document=this._referenceArea.ownerDocument,this._renderOutsideIframe=!0,this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0)),this._domMeasurement=new It(this._document),this._initiateRendering(),this._fetchTargetBoxOnceIfRequired()}async updateTargetBox(e){this._targetBox=e||this._targetBox,this._initiateRendering()}updateSelection(e){Ne(e)&&(this._sentenceSelection=this._getSentenceSelection(e))}getSelection(e){if("paraphrase"===this._currentMode)switch(e){case"word":return this._wordSelection;case"sentence":return this._sentenceSelection;default:throw new Error(`Unknown rephrase type "${e}"`)}}setRephraseCardArguments(e,t){this._rephraseCardArguments=e,this._anchorSelection=t,this._sentenceSelection=this._getSentenceSelection(t)||this._sentenceSelection}setErrorCardArguments(e){if(this._errorCardArguments=e,e.error){const t=this._anchorSelection={start:e.error.start,end:e.error.end};"TOO_LONG_SENTENCE"===e.error.rule.id?this._sentenceSelection=this._getSentenceSelection(this._anchorSelection)||this._sentenceSelection:this._wordSelection=t}}changeMode(e,t){const s=this._currentMode;this._currentMode=e;const a=this._getCurrentContentProps(),n=Sr.get(e);a&&(this._targetBox=t||this._targetBox,n&&this._cardRef.current?.updateCardType(n),this._updateContent?.(s,e,a),this._dispatchHighlight(),this._cardRef.current?.updatePosition())}switchError({error:e,displayedErrors:t,canCorrectMultipleAtOnce:s},a){if("correct"===this._currentMode&&this._errorCardArguments){this._errorCardArguments={...this._errorCardArguments,canCorrectMultipleAtOnce:Boolean(s),error:e,displayedErrors:t},this._targetBox=a||this._targetBox,e&&(this._wordSelection={start:e.start,end:e.end});const n=this._getErrorContentProps();n&&(this._updateContent?.("correct","correct",n),this._dispatchHighlight())}}switchSentence(e,t){if(this._anchorSelection=e,this._rephraseCardArguments){this._rephraseCardArguments={...this._rephraseCardArguments,...t};const e=this._getRephraseContentProps();e&&(this._updateContent?.("paraphrase","paraphrase",e),this._dispatchHighlight())}}destroy(){if(this._card?.unmount(),this._container){this._container.remove(),this._container=null;const e={card:this,error:this._errorCardArguments?.error,shouldUpdateHighlight:"paraphrase"===this._currentMode};ts(document,yr.eventNames.destroyed,e)}self.removeEventListener("pagehide",this._onUnload,!0)}get underlineColor(){if("paraphrase"!==this._currentMode)return"";switch(this.currentRephraseHighlightType){case"word":return ee.SYNONYMS.UNDERLINE;case"sentence":return ee.STYLE.UNDERLINE;default:throw new Error(`Unknown RephraseCard type "${this.currentRephraseHighlightType}"`)}}get backgroundColor(){if("paraphrase"!==this._currentMode)return"";switch(this.currentRephraseHighlightType){case"word":return"";case"sentence":return ee.STYLE.BACKGROUND;default:throw new Error(`Unknown RephraseCard type "${this.currentRephraseHighlightType}"`)}}get mode(){return this._currentMode}get isDetached(){return this._isDetached}get _container(){return this._containerElement||(this._containerElement=Gt(this._document,yr.CONTAINER_ELEMENT_NAME),this._containerElement.style.display="none",this._containerElement.setAttribute("data-lt-adjust-appearance","true"),this._containerElement.classList.add("lt-card"),this._containerElement.addEventListener("click",(e=>e.stopPropagation())),Qt(this._inputArea)?this._containerElement.setAttribute("data-lt-force-appearance","dark"):this._containerElement.setAttribute("data-lt-force-appearance","light")),this._containerElement}set _container(e){this._containerElement=e}_position(e){if(Is(this._container),Is(this._targetBox),!e)return;this._domMeasurement.clearCache();const t={...this._targetBox},s=this._domMeasurement.getDocumentVisibleBox(),a=this._document.elementFromPoint(t.left-s.left+10,t.bottom-s.top+10),n=this._checkHasOverlayUnderTargetBox((()=>Boolean(a)&&!this._inputArea.contains(a)&&!function(e,t){let s=t;for(;s&&s.parentNode;){if(s===e||s.parentNode===e)return!0;s=s.parentNode instanceof DocumentFragment?s.parentNode.host:s.parentNode}return!1}(a,this._inputArea)&&!this._container?.contains(a))),r="BODY"===this._referenceArea.nodeName?this._document.documentElement:this._document.body;!1===this._card?.isInDOM()&&this._card.appendTo(r),this._domMeasurement.clearCache();const o=this._domMeasurement.getBorderBox(e);if(this._renderOutsideIframe){let e=document.createElement("lt-span");e.style.position="absolute",e.style.left=t.left+"px",e.style.top=t.top+"px",document.documentElement.appendChild(e);const s=e.getBoundingClientRect();e.remove(),e=null;const a=new It(this._document).getContentBox(this._referenceArea);t.left=a.left+s.left,t.top=a.top+s.top,t.bottom=a.top+s.top+t.height,t.right=a.left+s.left+t.width}let{left:i,top:l,baseMaxHeight:c,contentMaxHeight:g}="paraphrase"===this._currentMode||"TOO_LONG_SENTENCE"===this._errorCardArguments?.error?.rule.id?this._getParaphrasePosition(o,t,s):this._getDefaultPosition(o,t,s,n);const u=this._domMeasurement.getScaleFactor(r),d=this._domMeasurement.getZoom(r);i/=u.x*d,l/=u.y*d,e.style.left=Math.round(i)+"px",e.style.top=Math.round(l)+"px",e.style.setProperty("--lt-comp-card-base-max-height",Math.round(c)+"px"),e.style.setProperty("--lt-comp-card-content-max-height",Math.round(g)+"px")}_getParaphrasePosition(e,t,s){const a=t.top-s.top,n=s.height+s.top-t.bottom,r=a>n&&a>=200;let o=Math.round(n-5),i=t.bottom+5,l=Math.min(t.left,s.width-e.width);r&&(o=a-5,i=Math.max(s.top,t.top-e.height-5)),o=Math.max(o,200);let c=o-36;return this._enableKeyboard&&(c-=60),this.isDetached&&(c-=36),{contentMaxHeight:c,baseMaxHeight:o,top:i,left:l}}_getDefaultPosition(e,t,s,a){let n=Math.min(t.left,s.width-e.width),r=t.bottom+5;const o=e.height<t.top;return(r+e.height>s.bottom||a&&o)&&(r=Math.max(s.top,t.top-e.height-5)),{baseMaxHeight:600,contentMaxHeight:600,top:r,left:n}}_moveIntoViewport(e){if(!e||!this._isDetached)return;this._domMeasurement.clearCache();const t="BODY"===this._referenceArea.nodeName?this._document.documentElement:this._document.body,s=this._domMeasurement.getScaleFactor(t),a=this._domMeasurement.getZoom(t),n=s.x*a,r=s.y*a,{height:o,width:i}=this._domMeasurement.getDocumentVisibleBox(),{top:l,left:c}=this._domMeasurement.getDocumentScroll(),{left:g,top:u,height:d,width:m}=this._domMeasurement.getBorderBox(e);let p={},h=!1;if(i-c-(g+m)<0){const e=Math.round((i-m-1)/n);p.left=`${e}px`,h=!0}if(u-l<0){const e=Math.round((o-d-1)/r);p.bottom=`${e}px`,h=!0}h&&this._domMeasurement.setStyles(e,p,!0)}_fetchTargetBoxOnceIfRequired(){De(this._targetBox)&&"paraphrase"===this._currentMode&&Promise.resolve().then((()=>this._dispatchHighlight("sentence"))),this._fetchTargetBoxOnceIfRequired=()=>{}}_initiateRendering(){const e=this._renderPromise||Promise.resolve();this._renderPromise=e.then((()=>{if(!Ne(this._card))return this._render();this._renderPromise=void 0}))}async _render(){if(Is(this._container),!this._targetBox)return;const e=this._getCurrentContentProps();e&&(this._card=await async function(e,t,s=(0,Ra.createRef)()){return await Va.createView(e,br,Object.assign(t,{ref:s,root:e}))}(this._container,{mode:this._currentMode,type:"paraphrase"===this._currentMode?"wide":"narrow",keyboardNavigationEnabled:!0===this._enableKeyboard,disablePremiumTeaser:this._disablePremiumTeaser,keyboardEventTarget:this._keyboardEventTarget,root:this._container,isPremium:this._user?.isPremium||!1,referenceArea:this._referenceArea,onClose:this._onCloseClicked.bind(this),onPremiumClick:this._onPremiumClick.bind(this),onDetachCard:this._onDetachCard.bind(this),onNavigateError:this._onNavigateError.bind(this),onNavigateSentence:this._onNavigateSentence.bind(this),updatePosition:this._position.bind(this),moveIntoViewport:this._moveIntoViewport.bind(this),forwardUpdateContentFn:this._setUpdateContentFn.bind(this),onModeChange:this._onToggleCardMode.bind(this),initialContentProps:e},this._cardRef),this._cardRef.current?.updatePosition())}_getErrorContentProps(e=!1){if(!this._errorCardArguments)return;const{error:t,disableAddingWord:s,disableIgnoringRule:a,displayedErrors:r,premiumErrors:o}=this._errorCardArguments,i=kt.getPrimaryLanguageCode(this._language),l=oe.some((e=>i.toLowerCase().startsWith(e.toLowerCase()))),{showRuleId:c}=this._storageController.getUIState(),g=this._storageController.getUniqueId(),u=this._storageController.hasCustomServer(),d="HIDDEN_RULE"===t?.rule.id,m=l&&!u&&"TOO_LONG_SENTENCE"===t?.rule.id&&t.end-t.start<=v,p=this._getFixSentencePayloadByError(t,r),h={onPremiumTeaserClick:this._onPremiumTeaserClick.bind(this),onSplitSentenceClick:this._onSplitSentenceClick.bind(this),onFixSentenceClick:this._onFixSentenceClick.bind(this),onFixSentenceMouseOver:this._onFixSentenceMouseOver.bind(this),onFixSentenceMouseOut:this._onFixSentenceMouseOut.bind(this),changeLanguageAction:this._getChangeLanguageAction(t),errorType:this._getErrorType(t),fixes:this._getFixes(t),inhouseOnly:this._inhouseOnly,user:this._user,errorId:t?.rule.id,title:t?.shortDescription,description:t?.description,originalPhrase:t?.originalPhrase,isIdle:e,language:i,uniqueId:g,showRuleId:c,isHiddenMatch:d,displayedErrors:r,premiumErrors:o,showSentenceSplittingSuggestion:m};return t&&(this._wordSelection={start:t.start,end:t.end}),p&&(h.fixSentencePayload=p),t?.isSpellingError?(s||Ge(t.originalPhrase)||(h.onAddToDictionaryClick=e=>this._onAddToDictionaryClick(t,!e.isTrusted&&e.shiftKey)),h.onIgnoreWordTemporarily=e=>this._onTemporarilyIgnoreWordClick(t,!e.isTrusted&&e.shiftKey)):t&&(a||d||t.isCustomError||(h.onIgnoreRule=e=>this._onIgnoreRuleClick(t,!e.isTrusted&&e.shiftKey)),h.onIgnoreRuleTemporarily=e=>this._onTemporarilyIgnoreRuleClick(t,!e.isTrusted&&e.shiftKey)),t?.isPicky&&"extension"===n.getType()&&!d&&(h.onTurnOffPickyMode=this._onTurnOffPickyMode.bind(this)),t?.rule.urls?.[0].value&&(h.onMoreDetailsClick=()=>this._onMoreDetailsClick(t)),h}_getRephraseContentProps(e=!1){if(!this._rephraseCardArguments)return;const{editorText:t,remainingRephrasings:s,highlightType:a}=this._rephraseCardArguments;if(this.currentRephraseHighlightType=a,this._sentenceSelection=this._getSentenceSelection(this._anchorSelection),!this._sentenceSelection)return;this._originalSentence=t.slice(this._sentenceSelection.start,this._sentenceSelection.end);const n=this._getWordContext(this._anchorSelection);this._word=n?.word,this._wordSelection=n?{start:n.position.start,end:n.position.end}:void 0;const{showRuleId:r}=this._storageController.getUIState(),{motherTongue:o,hasRephrasingEnabled:i}=this._storageController.getSettings(),l=re.some((e=>kt.getPrimaryLanguageCode(e)===kt.getPrimaryLanguageCode(this._language))),c=this._storageController.getUniqueId(),g=n?{onSynonymClick:this._onSynonymClick.bind(this),language:this._language,isIdle:e,wordContext:n,motherLanguage:o}:void 0,u=i?{highlightSentence:this._dispatchHighlight.bind(this),onPhraseClick:this._onPhraseClick.bind(this),reportPhrase:this._reportPhrase.bind(this),sentence:this._originalSentence,inhouseOnly:this._inhouseOnly,user:this._user,language:this._language,isIdle:e,showRuleId:r,isEnabled:l,remainingRephrasings:s,uniqueId:c}:void 0;return{sentenceRanges:this._getSentenceRanges(),synonymsData:g,paraphrasingsData:u}}_getCurrentContentProps(e=!1){return"correct"===this._currentMode?this._getErrorContentProps(e):this._getRephraseContentProps(e)}_setCardIsIdle(){if(!this._isDetached)return;const e=this._getCurrentContentProps(!0);e&&this._updateContent?.(this._currentMode,this._currentMode,e)}_getChangeLanguageAction(e){if(1===e?.fixes.length&&(e.description.match(/i[ns]\s+(chiefly\s)?((North\s)?American|British)\s+English/i)||"EN_GB_SIMPLE_REPLACE"===e.rule.id)){const{geoIpCountry:t}=this._storageController.getSettings();let s=null,a=null;if(e.description.match(/is\s+(chiefly\s)?British English/)||e?.description.startsWith("In American English")?"CA"===t?(a="en-ca",s="switchToSouthAfricanEnglish"):"AU"===t?(a="en-au",s="switchToAustralianEnglish"):"NZ"===t?(a="en-nz",s="switchToNewZealandEnglish"):"ZA"===t?(a="en-za",s="switchToSouthAfricanEnglish"):(a="en-gb",s="switchToBritishEnglish"):(e.description.match(/is\s+(chiefly\s)?(North\s)?American English/)||e.description.includes("is a common American expression")||e.description.startsWith("In British English"))&&(a="en-us",s="switchToAmericanEnglish"),s&&a)return{onClick:this._onLanguageChange.bind(this,a,e),labelId:s}}}_onFixClick(e,t,s){const a={card:this,selectNextError:s||this.isDetached,error:t,fixIndex:e};this._setCardIsIdle(),ts(document,yr.eventNames.fixSelected,a)}_onCorrectAll(e,t){const s={card:this,selectedError:t,selectNextError:this.isDetached,config:e};this._setCardIsIdle(),ts(document,yr.eventNames.correctAll,s)}_onLanguageChange(e,t){const s={card:this,language:e,error:t};this._setCardIsIdle(),ts(document,yr.eventNames.languageChanged,s)}_onMoreDetailsClick(e){let t;if(t=e.rule.urls?.[0].value){const e={card:this,url:t};ts(document,yr.eventNames.moreDetailsClicked,e)}}_onPremiumClick(e){const t={card:this,isCardDetached:this.isDetached,subject:e};ts(document,yr.eventNames.premiumClick,t)}_onDetachCard(){this._isDetached=!0,Pt.trackEvent("Action","editor_card:detach")}_onNavigateError(e){if(!this._errorCardArguments?.error)return;const{start:t,end:s}=this._errorCardArguments.error,a={card:this,selection:{start:t,end:s},direction:e};this._setCardIsIdle(),ts(document,yr.eventNames.navigateError,a)}_onNavigateSentence(e){if(!this._sentenceSelection)return;const t={card:this,selection:this._sentenceSelection,direction:e};this._setCardIsIdle(),this.currentRephraseHighlightType="sentence",ts(document,yr.eventNames.navigateSentence,t)}_onPremiumTeaserClick(e){const t={card:this,campaign:e??"addon2-errorcard-match"};ts(document,yr.eventNames.premiumTeaserClicked,t)}_onAddToDictionaryClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.addToDictionaryClicked,s)}_onTemporarilyIgnoreWordClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.temporarilyIgnoreWordClicked,s)}_onIgnoreRuleClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.ignoreRuleClicked,s)}_onTemporarilyIgnoreRuleClick(e,t){const s={card:this,selectNextError:t||this.isDetached,error:e};this._setCardIsIdle(),ts(document,yr.eventNames.temporarilyIgnoreRuleClicked,s)}_onTurnOffPickyMode(){if(!this._wordSelection)return;const e={card:this,selection:this._wordSelection};this._setCardIsIdle(),ts(document,yr.eventNames.turnOffPickyModeClicked,e)}_onPhraseClick(e){Is(this._sentenceSelection);const t={card:this,phrase:e.text,reverted:!1,selection:this._sentenceSelection,language:this._language,label:e.label};this.isDetached&&(t.selectSentenceAfter=!0),this._setCardIsIdle(),ts(document,yr.eventNames.phraseSelected,t),this._sentenceSelection={start:this._sentenceSelection.start,end:this._sentenceSelection.start+e.text.length}}_onSynonymClick(e){Is(this._word),Is(this._wordSelection);const t={card:this,word:this._word,selection:this._wordSelection,synonym:e};this.isDetached&&(t.selectSynonymReplacement=!0),this._setCardIsIdle(),ts(document,yr.eventNames.synonymSelected,t)}_onSplitSentenceClick(e,t){Is(this._errorCardArguments?.error);const s={...this._errorCardArguments.error,fixes:[{value:e.text}]},a={card:this,sentence:e.text,reverted:!1,label:e.label,language:this._language,selectNextError:t||this.isDetached,error:s};this._setCardIsIdle(),ts(document,yr.eventNames.splitSentenceSelected,a)}_onFixSentenceClick({start:e,end:t,includedErrors:s,selectedErrorId:a},n,r){Is(this._errorCardArguments?.error);const o={card:this,language:this._language,selectNextError:r,includedErrors:s,selectedErrorId:a,sentence:n,start:e,end:t};this._setCardIsIdle(),ts(document,yr.eventNames.fixSentenceSelected,o)}_onFixSentenceMouseOver(e){const t={card:this,includedErrorIds:e};ts(document,yr.eventNames.fixSentenceShowHightlight,t)}_onFixSentenceMouseOut(){const e={card:this};ts(document,yr.eventNames.fixSentenceRemoveHightlight,e)}_onToggleCardMode(e){Is(this._wordSelection||this._sentenceSelection,"Either a word or a sentence selection must be defined for switching to a different card mode");const t={card:this,selection:this._wordSelection||{start:this._sentenceSelection.start},mode:e};this._setCardIsIdle(),ts(document,yr.eventNames.toggleMode,t)}_onCloseClicked(){this.destroy()}_onUnload(){this.destroy()}async _reportPhrase(e,t){if(Is(this._rephraseCardArguments),Is(this._originalSentence),!e[t])return;const{geoIpCountry:s,motherTongue:a,preferredLanguages:n}=this._storageController.getSettings(),r={rephrases:e.slice(0,5).map((({label:e,origin:t,text:s})=>({label:e,origin:t,text:s}))),country:s,hostname:location.hostname,userAgent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,preferredLanguages:n,userLanguage:a,textLanguage:this._language,hasSubscription:this._user?.isPremium||!1,hasGrammarMistakes:this._rephraseCardArguments.hasGrammarMistakes,hasSpellingMistakes:this._rephraseCardArguments.hasSpellingMistakes,originalSentence:this._originalSentence,chosenSentence:e[t].text};ts(document,yr.eventNames.reportPhrase,r)}_dispatchHighlight(e){Me(e)&&(this.currentRephraseHighlightType=e),ts(document,yr.eventNames.highlight,{card:this})}_setUpdateContentFn(e){this._updateContent=e}_getErrorType(e){if(!De(e))return _t(e)}_getFixes(e){return De(e)?[]:e.fixes.slice(0,se).flatMap(((t,s)=>{Is(this._errorCardArguments);const a={text:"",title:t.shortDescription,prefix:t.prefix,suffix:t.suffix,onClick:t=>this._onFixClick(s,e,!t.isTrusted&&t.shiftKey)};if(t.value.match(be)&&!t.value.match(/^\s*[\-–—:;]\s*$/))a.text=t.value.replace(be,"·");else{const s=t.value.replace(Se," ");e.fixes.length>3&&e.isSpellingError?a.text=s:(a.type="highlight",a.html=Zs(ea(e.originalPhrase,s)))}""===t.value&&e.originalPhrase.match(/[a-z0-9]{2,}/)?(a.type="remove",a.text=e.originalPhrase,a.html=void 0):""===t.value?(a.type="delete",a.text="",a.html=void 0):e.language.code.startsWith("en")&&"–"===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-en-dash",a.text="",a.html=void 0):e.language.code.startsWith("en")&&" — "===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-em-dash-with-space",a.text="",a.html=void 0):e.language.code.startsWith("en")&&"—"===t.value&&"-"===e.originalPhrase.trim()?(a.type="insert-em-dash",a.text="",a.html=void 0):" "===t.value&&/^\s\s+$/.test(e.originalPhrase)?(a.type="remove-whitespace",a.text="",a.html=void 0):" "===t.value&&/^[-]+$/.test(e.originalPhrase)&&(a.type="replace-hyphen",a.text="",a.html=void 0);const n=js(e,t.value);if(this._errorCardArguments.canCorrectMultipleAtOnce&&n){return[a,{text:"",html:n.suggestion.message,type:"correct-all",onClick:()=>this._onCorrectAll(n,e)}]}return a}))}_getFixSentencePayloadByError(e,t){if(Date.now()>0)return null;if(!e)return null;const s=kt.getPrimaryLanguageCode(this._language),a=!1===ie.includes(s),n=this._storageController.hasCustomServer();if(a||n)return null;const r=this._getSentenceRanges()?.find((({start:t,end:s})=>e.start>=t&&e.end<=s));if(!r)return null;const o=t.filter((e=>{const t=["grammar","punctuation","spelling"].includes(_t(e));return 1===e.fixes.length&&e.start>=r.start&&e.end<=r.end&&t})).sort((({start:e},{start:t})=>e>t?1:-1));return o.length<le||!Me(e.id)?null:{start:r.start,end:r.end,content:this._getText().slice(r.start,r.end),includedErrors:o,selectedErrorId:e.id}}_getWordContext(e){const t=this._getSentenceRanges();return e&&t?(Is(this._rephraseCardArguments),qe(this._rephraseCardArguments.editorText,e.start,e.end,t)):null}_getSentenceSelection(e){if(!e)return;const t=this._getText(),s=this._getSentenceRanges(),a=gs(t,s,e);if(!cs(t,s,a))return;const n=s?.find((({start:e,end:t})=>e<=a.start&&t>=a.end));if("number"==typeof n?.start&&"number"==typeof n?.end){const{start:e,end:t}=n;return{start:e,end:t}}}_checkHasOverlayUnderTargetBox(e){"number"==typeof this._overlayUnderTargetBoxTimeoutId&&(clearTimeout(this._overlayUnderTargetBoxTimeoutId),this._overlayUnderTargetBoxTimeoutId=void 0);const t=!0===this._hasOverlayUnderTargetBox||e();return this._hasOverlayUnderTargetBox=t,self.setTimeout((()=>{this._hasOverlayUnderTargetBox=void 0}),200),t}}yr.CONTAINER_ELEMENT_NAME="lt-card",yr.BLOCK_ID="editor-card",yr.eventNames={addToDictionaryClicked:"lt-card.addToDictionaryClicked",ignoreRuleClicked:"lt-card.ignoreRuleClicked",temporarilyIgnoreWordClicked:"lt-card.temporarilyIgnoreWordClicked",temporarilyIgnoreRuleClicked:"lt-card.temporarilyIgnoreRuleClicked",turnOffPickyModeClicked:"lt-card.turnOffPickyModeClicked",moreDetailsClicked:"lt-card.moreDetailsClicked",fixSelected:"lt-card.fixSelected",languageChanged:"lt-card.languageSwitched",premiumClick:"lt-card.premiumClick",premiumTeaserClicked:"lt-card.premiumTeaserClicked",navigateError:"lt-card.navigateError",navigateSentence:"lt-card.navigateSentence",destroyed:"lt-card.destroyed",correctAll:"lt-card.correctAll",synonymSelected:"lt-card.synonymSelected",phraseSelected:"lt-card.phraseSelected",splitSentenceSelected:"lt-card.splitSentenceSelected",fixSentenceSelected:"lt-card.fixSentenceSelected",fixSentenceShowHightlight:"lt-card.fixSentenceShowHightlight",fixSentenceRemoveHightlight:"lt-card.fixSentenceRemoveHightlight",reportPhrase:"lt-card.reportPhrase",toggleMode:"lt-card.toggleMode",highlight:"lt-card.highlight"};const Tr=yr;
90
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
91
+ class Cr{static create(e,t=e){return e===t?new Cr.TreeWalkerWrapper(e):new Cr.CustomWalker(e,t)}}Cr.TreeWalkerWrapper=class extends Cr{constructor(e){super(),this._treeWalker=document.createTreeWalker(e),this._currentNode=e}get currentNode(){return this._currentNode}next(e=!1){if(e){for(;!this._treeWalker.nextSibling();)if(!this._treeWalker.parentNode())return null;this._currentNode=this._treeWalker.currentNode}else try{const e=this._treeWalker.nextNode();if(!e)return null;this._currentNode=e}catch(e){return null}return this._currentNode}},Cr.CustomWalker=class extends Cr{get currentNode(){return this._currentNode}constructor(e,t){super(),this._rootNode=e,this._currentNode=t}next(e=!1){if(!e&&this._currentNode.firstChild)this._currentNode=this._currentNode.firstChild;else{if(this._currentNode===this._rootNode)return null;if(this._currentNode.nextSibling)this._currentNode=this._currentNode.nextSibling;else{let e=this._currentNode;for(;!e.nextSibling;){if(!e.parentNode||e.parentNode===this._rootNode)return null;e=e.parentNode}this._currentNode=e.nextSibling}}return this._currentNode}};
92
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
93
+ class kr{static _replaceLineBreaks(e){return e.replace(kr.LINE_BREAKS_REGEXP," ")}static _joinWhitespaces(e){return e.replace(kr.WHITESPACE_REGEXP," ")}static _isBlankString(e){return!e.trim()}constructor(e,t,s){if(this._ceElement=e,this._parsingDetector=t,this._cacheInvalidationRules=s||{},this._enableCache=!!s,this._enableCache){this._nodePropertiesCache={isTextNode:{propertyName:"isTextNode",map:new WeakMap},isElementNode:{propertyName:"isElementNode",map:new WeakMap},computedStyle:{propertyName:"computedStyle",map:new WeakMap},isSkippingElement:{propertyName:"isSkippingElement",map:new WeakMap},replacementText:{propertyName:"replacementText",map:new WeakMap},isBr:{propertyName:"isBr",map:new WeakMap},isListItem:{propertyName:"isListItem",map:new WeakMap},isBlock:{propertyName:"isBlock",map:new WeakMap},parsingOptions:{propertyName:"parsingOptions",map:new WeakMap},parsedText:{propertyName:"parsedText",map:new WeakMap},blockParent:{propertyName:"blockParent",map:new WeakMap},paragraphLastValuableNode:{propertyName:"paragraphLastValuableNode",map:new WeakMap},isBRElementRelevant:{propertyName:"isBRElementRelevant",map:new WeakMap},isTextEndsWithLineBreak:{propertyName:"isTextEndsWithLineBreak",map:new WeakMap},hasText:{propertyName:"hasText",map:new WeakMap},isParagraphNonEmpty:{propertyName:"isParagraphNonEmpty",map:new WeakMap}},this.isTextNode=this.createCachedMethod(this.isTextNode,"isTextNode"),this.isElementNode=this.createCachedMethod(this.isElementNode,"isElementNode"),this.getComputedStyle=this.createCachedMethod(this.getComputedStyle,"computedStyle"),this.isSkippingElement=this.createCachedMethod(this.isSkippingElement,"isSkippingElement"),this.getReplacementText=this.createCachedMethod(this.getReplacementText,"replacementText"),this.isBr=this.createCachedMethod(this.isBr,"isBr"),this.isListItem=this.createCachedMethod(this.isListItem,"isListItem"),this.isBlock=this.createCachedMethod(this.isBlock,"isBlock"),this.getParsingOptions=this.createCachedMethod(this.getParsingOptions,"parsingOptions"),this.getParsedText=this.createCachedMethod(this.getParsedText,"parsedText"),this.getBlockParent=this.createCachedMethod(this.getBlockParent,"blockParent"),this.getParagraphLastValuableNode=this.createCachedMethod(this.getParagraphLastValuableNode,"paragraphLastValuableNode"),this.isBRElementRelevant=this.createCachedMethod(this.isBRElementRelevant,"isBRElementRelevant"),this.isTextEndsWithLineBreak=this.createCachedMethod(this.isTextEndsWithLineBreak,"isTextEndsWithLineBreak"),this.hasText=this.createCachedMethod(this.hasText,"hasText"),this.isParagraphNonEmpty=this.createCachedMethod(this.isParagraphNonEmpty,"isParagraphNonEmpty"),this._onCEElementChange=this._onCEElementChange.bind(this),this._ceElementObserver=this._parsingDetector.createMutationObserver(this._onCEElementChange);const e={attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0};this._ceElementObserver.observe(this._ceElement,e)}}createCachedMethod(e,t){const s=this._nodePropertiesCache[t];return t=>{let a=s.map.get(t);return void 0===a&&(a=e.call(this,t),s.map.set(t,a)),a}}_deleteCacheForNode(e){const t=Object.values(this._nodePropertiesCache);if(t.forEach((t=>t.map.delete(e))),!this.isTextNode(e)){const s=Cr.create(e);for(;s.next();)t.forEach((e=>e.map.delete(s.currentNode)))}}_normalizeMutations(e){const t={};e.forEach((e=>{"attributes"===e.type&&e.attributeName&&(t[e.attributeName]=t[e.attributeName]||[],t[e.attributeName].push(e))}));for(const s in t)if(t.hasOwnProperty(s)){const a=t[s];if(a.length<2)continue;const n=a[0];n.oldValue===n.target.getAttribute(s)&&a.forEach((t=>{e.splice(e.indexOf(t),1)}))}}_checkRuleConditions(e,t){if(!e)return!1;switch(t.type){case"attributes":return!!e.attributes&&(0===e.attributes.length||e.attributes.includes(t.attributeName));case"characterData":return!!e.characterData;case"childList":return!!e.childList}return!1}_onCEElementChange(e){this._normalizeMutations(e);for(const t of e){const e=t.target;if(!this._ceElement.contains(e)){this._deleteCacheForNode(e);continue}"childList"===t.type&&t.removedNodes.forEach((e=>this._deleteCacheForNode(e)));const s=this.getBlockParent(e);for(const[a,n]of Object.entries(this._cacheInvalidationRules)){const r=this._nodePropertiesCache[a];if(this._checkRuleConditions(n.any,t))r.map=new WeakMap;else{if(this._checkRuleConditions(n.self,t)&&r.map.delete(e),this._checkRuleConditions(n.parent,t))for(let t=0;t<e.childNodes.length;t++)r.map.delete(e.childNodes[t]);if(this._checkRuleConditions(n.ancestor,t)){const t=Cr.create(e);for(;t.next();)r.map.delete(t.currentNode)}if(this._checkRuleConditions(n.descendant,t)){let t=e.parentElement;for(;t&&t!==this._ceElement;)r.map.delete(t),t=t.parentElement}if(this._checkRuleConditions(n.sibling,t)){const t=e.parentElement;if(t)for(let e=0;e<t.childNodes.length;e++)r.map.delete(t.childNodes[e])}if(this._checkRuleConditions(n.blockSibling,t)){const e=Cr.create(s);for(;e.next();)r.map.delete(e.currentNode)}}}}}_hasTextBefore(e,t){let s=e.previousSibling;for(;s&&this.isTextNode(s);){const e=this.getParsingOptions(s),t=this.getParsedText(s);if(e.preserveWhitespaces&&t||!kr._isBlankString(t))return!0;s=s.previousSibling}let a=Cr.create(t),n=!1,r=!1;for(;a.next(n);){const t=a.currentNode;if(n=!1,this.isElementNode(t)){if(t===e)break;this.getReplacementText(t)&&(r=!0),this.isSkippingElement(t)?n=!0:this.isBlock(t)&&(r=!1,n=!0)}else if(this.isTextNode(t)){const e=this.getParsingOptions(t),s=this.getParsedText(t);(e.preserveWhitespaces&&s||!kr._isBlankString(s))&&(r=!0)}}return r}invalidateCache(){this._ceElementObserver&&this._onCEElementChange(this._ceElementObserver.takeRecords())}isWhiteSpace(e){return ze(e)}isTextNode(e){return bs(e)}isElementNode(e){return vs(e)}getComputedStyle(e){return self.getComputedStyle(e)}isSkippingElement(e){return this._ceElement!==e&&(this._parsingDetector.isIgnored(e,this.getComputedStyle(e))||this._parsingDetector.isSignature(e)||this._parsingDetector.isQuote(e))}getReplacementText(e){const t=this.getComputedStyle(e),s=this._parsingDetector.isIgnored(e,t);return this._parsingDetector.getReplacementText(e,s,t)}isBr(e){return"BR"===e.tagName}isListItem(e){return"list-item"===this.getComputedStyle(e).display}isBlock(e){return this._parsingDetector.isBlock(e,this.getComputedStyle(e))}getParsingOptions(e){const t=this.isElementNode(e)?e:e.parentNode;if(this._parsingDetector.getParsingOptions)return this._parsingDetector.getParsingOptions(t);const s=this.getComputedStyle(t).whiteSpace||"";return{element:t,preserveLineBreaks:kr.PRESERVE_LINEBREAKS_VALUES.includes(s),preserveWhitespaces:kr.PRESERVE_WHITESPACES_VALUES.includes(s)}}getParsedText(e){const t=this.getParsingOptions(e);let s=e.nodeValue;return t.preserveLineBreaks||(s=kr._replaceLineBreaks(s)),s=this._parsingDetector.replaceText(s,e,t.element),t.preserveWhitespaces||(s=kr._joinWhitespaces(s)),s}getBlockParent(e){let t=this.isElementNode(e)?e:e.parentElement;for(;t!==this._ceElement&&!this.isBlock(t);)t=t.parentElement;return t}getParagraphLastValuableNode(e){const t=this.getBlockParent(e),s=Cr.create(t,e);let a=!1,n=null;do{const e=s.currentNode;if(a=!1,this.isElementNode(e))if(this.getReplacementText(e)&&(n=e),this.isSkippingElement(e))a=!0;else{if(this.isBlock(e))return n;if(this.isBr(e))return n}else if(this.isTextNode(e)){const t=this.getParsingOptions(e),s=this.getParsedText(e);(t.preserveWhitespaces&&s||!kr.BLANK_STRING_REGEXP.test(s))&&(n=e)}}while(s.next(a));return n}isBRElementRelevant(e){const t=this.getBlockParent(e),s=Cr.create(t,e);let a,n=!1;for(;s.next(n);){const r=s.currentNode;if(n=!1,this.isElementNode(r)){if(this.getReplacementText(r))return!0;if(this.isSkippingElement(r))n=!0;else{if(this.isBr(r))return!0;if(this.isBlock(r)&&(void 0===a&&(a=this._hasTextBefore(e,t)),a))return!1}}else if(this.isTextNode(r)){const e=this.getParsingOptions(r),t=this.getParsedText(r);if(e.preserveWhitespaces&&t||!kr._isBlankString(t))return!0}}return void 0===a&&(a=this._hasTextBefore(e,t)),!a}isTextEndsWithLineBreak(e){const t=Cr.create(this._ceElement,e);let s=!!vs(e)&&this.isSkippingElement(e),a=!1;for(;t.next(s);){const n=t.currentNode;if(s=!1,this.isElementNode(n)){if(this.getReplacementText(n)){return!Wt(this.getBlockParent(e),n)}if(this.isSkippingElement(n))s=!0;else if(this.isBlock(n)){if(this.isParagraphNonEmpty(n))return!0;a=!0}}else if(this.isTextNode(n)){const t=this.getParsingOptions(n),s=this.getParsedText(n);if(t.preserveWhitespaces&&s||!kr._isBlankString(s)){if(a)return!0;return!Wt(this.getBlockParent(e),n)}}}return!1}hasText(e){const t=Cr.create(e);let s=!1;for(;t.next(s);){const e=t.currentNode;if(s=!1,this.isElementNode(e)){if(this.getReplacementText(e))return!0;this.isSkippingElement(e)&&(s=!0)}else if(this.isTextNode(e)){const t=this.getParsingOptions(e),s=this.getParsedText(e);if(t.preserveWhitespaces&&s||!kr._isBlankString(s))return!0}}return!1}isParagraphNonEmpty(e){const t=Cr.create(e);let s=!1;for(;t.next(s);){const e=t.currentNode;if(s=!1,this.isElementNode(e)){if(this.getReplacementText(e))return!0;if(this.isSkippingElement(e))s=!0;else if(this.isBlock(e))return!1}else if(this.isTextNode(e)){const t=this.getParsingOptions(e),s=this.getParsedText(e);if(t.preserveWhitespaces&&s||!kr._isBlankString(s))return!0}}return!1}destroy(){this._ceElementObserver&&this._ceElementObserver.disconnect()}}kr.DISPLAY_BLOCK_VALUES=["block","list-item","table","table-caption","table-row","table-cell","flex","grid","flow-root"],kr.SKIPPING_TAGS=["CODE","NOSCRIPT","OBJECT","SCRIPT","STYLE","TEMPLATE","VAR","CANVAS","IMG","SVG","SELECT"],kr.PRESERVE_LINEBREAKS_VALUES=["pre","pre-wrap","pre-line","break-spaces"],kr.PRESERVE_WHITESPACES_VALUES=["pre","pre-wrap","break-spaces"],kr.LINE_BREAKS_REGEXP=/\n/g,kr.WHITESPACE_REGEXP=/ +/g,kr.BLANK_STRING_REGEXP=/^[ \uFEFF]*$/,kr.SUP_REGEXP=/^[\[\(]?\d+[\]\)]?/;
94
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
95
+ class xr{static _eventCallback(e){return e.stopImmediatePropagation(),e.preventDefault(),!1}constructor(e){this._isMuted=!1,Array.isArray(e)||(e=[e]),this._eventNames=e}mute(){if(!this._isMuted){for(const e of this._eventNames)document.addEventListener(e,xr._eventCallback,{capture:!0});this._isMuted=!0}}unmute(){if(this._isMuted){for(const e of this._eventNames)document.removeEventListener(e,xr._eventCallback,{capture:!0});this._isMuted=!1}}}
96
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
97
+ class Lr{constructor(e,t,s=Number.MAX_SAFE_INTEGER){this._onBlur=()=>{const e={inputAreaWrapper:this};ts(document,Lr.eventNames.blur,e)},this._isWhiteSpace=e=>" "===e||" "===e,this._onKeyPress=e=>{if(!e.isTrusted||e.defaultPrevented)return;const t=e.key,s=this._lastKeyPress.key,a=Ie(s)||He(s);if(a&&(this._isWhiteSpace(t)||(n=t,Pe.includes(n)))){const e={inputAreaWrapper:this};ts(document,Lr.eventNames.wordWritten,e)}else if(Lr.SENT_END_CHARS.includes(t)){if(!Lr.SENT_END_CHARS.includes(s)&&s){const e={inputAreaWrapper:this,isWordCompleted:a};ts(document,Lr.eventNames.sentenceWritten,e)}}var n;this._lastKeyPress={key:t}},this._onKeyUp=e=>{const t=Date.now();if(e.key&&e.isTrusted)if(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)this._lastKeyUp={key:"",timeStamp:0};else if(this._lastKeyUp.key===e.key){if(t-this._lastKeyUp.timeStamp<Lr.MAX_DOUBLE_PRESS_DELAY){const t={inputAreaWrapper:this,key:e.key};ts(document,Lr.eventNames.dblPress,t),this._lastKeyUp={key:"",timeStamp:0}}else this._lastKeyUp={key:e.key,timeStamp:t}}else this._lastKeyUp={key:e.key,timeStamp:t}},this._onPaste=e=>{const t=e.clipboardData,s={inputAreaWrapper:this,isSignificantTextChange:(t?t.getData("Text"):"").length>200};ts(document,Lr.eventNames.paste,s)},this._onInput=()=>{const e=this._text;if(!this._updateText())return;const t={inputAreaWrapper:this,previousText:e,text:this._text};ts(document,Lr.eventNames.textChanged,t)},this._inputArea=e,this._tweaks=t,this._textLengthThreshold=s,this._keyboardEventTarget=this._tweaks.getKeyboardEventTarget(),this._lastKeyUp={key:"",timeStamp:0},this._lastKeyPress={key:""},this._inputArea.addEventListener("blur",this._onBlur),this._inputArea.addEventListener("paste",this._onPaste),this._keyboardEventTarget.addEventListener("keyup",this._onKeyUp),this._keyboardEventTarget.addEventListener("keypress",this._onKeyPress)}_getTextChunkIndex(e,t=!1){for(let s=0;s<this._textChunks.length;s++){const a=this._textChunks[s];if(e>=a.parsedTextOffset&&e<a.parsedTextOffset+a.parsedText.length&&(!t||a.isTextNode))return s}const s=this._textChunks[this._textChunks.length-1];return s&&e===s.parsedTextOffset+s.parsedText.length?this._textChunks.length-1:-1}simulateKeyUp(){try{const e=new KeyboardEvent("keyup",{bubbles:!0,cancelable:!0,keyCode:17,which:17,charCode:0,location:1,key:"Control",code:"ControlLeft"});this._inputArea.dispatchEvent(e)}catch(e){}}simulateInput(e=""){const t=new InputEvent("input",{bubbles:!0,cancelable:!1,inputType:"insertText",data:e});this._inputArea.dispatchEvent(t)}simulateChange(){const e=new Event("change",{bubbles:!0,cancelable:!1});this._inputArea.dispatchEvent(e)}getLangAttribute(){return this._tweaks.getLangAttribute()}getText(){return this._text}getTextChunks(){return this._textChunks}getTextRanges(e,t,s=!1,a=!1){if(e<0)return[];const n=this._getTextChunkIndex(e);if(-1===n)return[];let r=[];for(let s=n;s<this._textChunks.length;s++){const{node:a,isTextNode:n,rawText:o,parsedText:i,parsedTextOffset:l}=this._textChunks[s],c=Math.max(e-l,0),g=l>e?e+t-l:t;if(g<=0)break;if(!n)continue;const u=this._offsetInRawText(o,i,c),d=this._offsetInRawText(o,i,c+g);r.push({node:a,text:o,start:u,end:d})}return r=r.filter(((e,t)=>e.start!==e.end||s&&0===t||a&&t===r.length-1)),r}destroy(){this._inputArea.removeEventListener("blur",this._onBlur),this._inputArea.removeEventListener("paste",this._onPaste),this._keyboardEventTarget.removeEventListener("keyup",this._onKeyUp),this._keyboardEventTarget.removeEventListener("keypress",this._onKeyPress)}}Lr.MAX_DOUBLE_PRESS_DELAY=400,Lr.SENT_END_CHARS=[".","!","?"],Lr.eventNames={blur:"lt-inputAreaWrapper.blur",scroll:"lt-inputAreaWrapper.scroll",paste:"lt-inputAreaWrapper.paste",textChanged:"lt-inputAreaWrapper.textChanged",dblclick:"lt-inputAreaWrapper.dblclick",dblPress:"lt-inputAreaWrapper.dblPress",wordWritten:"lt-inputAreaWrapper.newWordWritten",sentenceWritten:"lt-inputAreaWrapper.newSentenceWritten"};
98
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
99
+ class wr extends Lr{static _selectText(e,t=0,s){const a=e.nodeValue?.length??0;let n="number"==typeof s?s:a;t=Math.max(t,0),n=Math.min(n,a);const r=self.getSelection(),o=new Range;return o.setStart(e,t),o.setEnd(e,n),r?.removeAllRanges(),r?.addRange(o),o}static _simulateMouseDown(e,t){const s=new MouseEvent("mousedown",{bubbles:!0,cancelable:!1,clientX:t.x,clientY:t.y+t.height/2});return e.dispatchEvent(s)}static _simulateMouseUp(e,t){const s=new MouseEvent("mouseup",{bubbles:!0,cancelable:!1,clientX:t.x+t.width,clientY:t.y+t.height/2});return e.dispatchEvent(s)}static _simulateMouseMove(e,t,s=!1){const a={bubbles:!0,cancelable:!1,clientX:t.x+t.width,clientY:t.y+t.height/2};s&&(a.buttons=1);const n=new MouseEvent("mousemove",a);return e.dispatchEvent(n)}static _simulateBackspaceDown(e){const t=new KeyboardEvent("keydown",{bubbles:!0,cancelable:!0,keyCode:8,which:8,location:0,key:"Backspace"});return e.dispatchEvent(t)}static _simulateBackspaceUp(e){const t=new KeyboardEvent("keyup",{bubbles:!0,cancelable:!0,keyCode:8,which:8,location:0,key:"Backspace"});return e.dispatchEvent(t)}constructor(e,t,s=Number.MAX_SAFE_INTEGER){super(e,t,s),this._ceElementInspector=new kr(e,this._tweaks.getParsingDetector(),this._tweaks.getCacheInvalidationRules()),this._domMeasurement=new It(this._inputArea.ownerDocument),this._scrollTop=this._inputArea.scrollTop,this._scrollLeft=this._inputArea.scrollLeft,this._updateText(),this._onDblClick=this._onDblClick.bind(this),this._onScroll=this._onScroll.bind(this),this._inputArea.addEventListener("dblclick",this._onDblClick),this._tweaks.addScrollEventListener(this._onScroll),this._inputAreaObserver=this._tweaks.createMutationObserver(this._onInput),this._inputAreaObserver.observe(this._inputArea,wr.INPUT_AREA_OBSERVER_CONFIG)}_onDblClick(e){const t=Fe(this._tweaks.getSelectedText()),s=this.getSelection();if(!t||!s)return;const a=s.end||s.start,n=this.getTextRanges(s.start,a-s.start);if(!n.length)return;this._domMeasurement.clearCache();const r=this._domMeasurement.getTextBoundingBoxes(n,this._inputArea),o=this._domMeasurement.getTextBoundingBoxes(n,this._inputArea,!1);if(!r.length)return;if(!o.some((t=>Ft(t,e.clientX,e.clientY))))return;const i={inputAreaWrapper:this,selectedText:t,selection:s,clickedRectangles:r};ts(document,Lr.eventNames.dblclick,i)}_onScroll(e){const t=e.target instanceof Element?e.target:this._inputArea;let s=0,a=0;if("BODY"===t.nodeName?(s=document.body&&document.body.scrollTop||document.documentElement&&document.documentElement.scrollTop||0,a=document.body&&document.body.scrollLeft||document.documentElement&&document.documentElement.scrollLeft||0):(s=t.scrollTop,a=t.scrollLeft),this._scrollTop===s&&this._scrollLeft===a)return;this._scrollTop=s,this._scrollLeft=a;const n={inputAreaWrapper:this};ts(document,Lr.eventNames.scroll,n)}_hasSpaceBefore(e){if(e<=0)return!1;const t=this.getTextRanges(e-1,1)[0];return Boolean(t&&t.node.nodeValue&&wr.VISIBLE_WHITE_SPACE_REGEXP.test(t.node.nodeValue.substring(t.start,t.end)))}_hasSpaceAfter(e){const t=this.getTextRanges(e,1)[0];return Boolean(t&&t.node.nodeValue&&wr.VISIBLE_WHITE_SPACE_REGEXP.test(t.node.nodeValue.substring(t.start,t.end)))}_offsetInRawText(e,t,s){s=Math.min(e.length,s);let a=0,n=0;do{const r=e[a],o=t[n];if(r===o)n++;else if(this._ceElementInspector.isWhiteSpace(r)||"\n"===r)" "===o&&n++;else if(!Ue(r))break;if(n>s)break;a++}while(a<e.length);return a}_offsetInParsedText(e,t,s){let a=0,n=0;for(;a<s;){const s=e[a],r=t[n];if(s===r)n++;else if(this._ceElementInspector.isWhiteSpace(s)||"\n"===s)" "===r&&n++;else if(!Ue(s))break;a++}return n}_updateText(){const e=[];let t=0,s=null,a=!0,n=!1;const r=Cr.create(this._inputArea);let o=!1;do{const i=r.currentNode;null===s&&(s=this._ceElementInspector.getParagraphLastValuableNode(i)),o=!1;let l=!1,c="";if(vs(i))if(c=this._ceElementInspector.getReplacementText(i),!c&&this._ceElementInspector.isListItem(i)&&(c="• ",this._ceElementInspector.hasText(i)||(c+="\n\n")),a=a&&""===c,n=we(c),i===s&&(s=null,this._ceElementInspector.isTextEndsWithLineBreak(i)&&(a=!0,n=!1,c+="\n\n")),this._ceElementInspector.isSkippingElement(i)){if(o=!0,s=null,!c)continue}else this._ceElementInspector.isBlock(i)?(s=null,a=!0,n=!1):this._ceElementInspector.isBr(i)&&(s=null,a=!0,n=!1,!c&&this._ceElementInspector.isBRElementRelevant(i)&&(c="\n"));else if(bs(i)&&(l=!0,c=this._ceElementInspector.getParsedText(i),c)){const e=null===s||s===i;this._ceElementInspector.getParsingOptions(i).preserveWhitespaces||((a||n)&&(c=c.replace(wr.LEADING_WHITESPACES_REGEXP,"")),e&&(c=c.replace(wr.TRAILING_WHITESPACES_REGEXP,""))),a=a&&""===c,n=we(c),i===s&&(s=null,this._ceElementInspector.isTextEndsWithLineBreak(i)&&(a=!0,n=!1,c+="\n\n"))}const g=l?i.nodeValue:"";if(e.push({node:i,isTextNode:l,rawText:g,parsedText:c,parsedTextOffset:t}),t+=c.length,t>this._textLengthThreshold)break}while(r.next(o));let i="";for(const t of e)i+=t.parsedText;const l=this._text!==i;return this._text=i,this._textChunks=e,l}_getTextPosition(e){const t=this._getTextChunkIndex(e);if(-1===t)return null;const s=this._textChunks[t];return e-=s.parsedTextOffset,{textNode:s.node,offset:this._offsetInRawText(s.rawText,s.parsedText,e)}}_getRangeFromTextSelection(e,t){const s=this.getTextRanges(e,t);if(s.length)try{const e=new Range;return e.setStart(s[0].node,s[0].start),e.setEnd(s[s.length-1].node,s[s.length-1].end),e}catch{}}_getTextOffset(e,t){let s=null,a=0;if(vs(e)){const n=Cr.create(this._inputArea);do{const a=n.currentNode;if(a===e.childNodes[t])break;bs(a)&&a.textContent&&(s=a)}while(n.next());if(!s)return-1;a=s.textContent.length}else bs(e)&&(s=e,a=t);const n=this._textChunks.find((e=>e.node===s));return n?n.parsedTextOffset+this._offsetInParsedText(n.rawText,n.parsedText,a):-1}_getRelativeTextReplacementOffset(e){this._updateText();const t=this._getTextChunkIndex(e.from,!0),s=this._textChunks[t];if(!s)return null;const a=s.node,n=a.textContent||"";let r=this._offsetInRawText(s.rawText,s.parsedText,e.from-s.parsedTextOffset),o=this._offsetInRawText(s.rawText,s.parsedText,e.to-s.parsedTextOffset);return r=Math.min(r,n.length),o=Math.min(o,n.length),{textNode:a,textContent:n,from:r,to:o}}async manuallyInsertText(e,t){const s=new InputEvent("beforeinput",{bubbles:!0,cancelable:!1,inputType:"insertText",data:t.replacementText});this._inputArea.dispatchEvent(s),e.nodeValue=t.newText,this.simulateInput(t.replacementText)}async simulateDelete(){if(wr._simulateBackspaceDown(this._inputArea)){const e=new InputEvent("beforeinput",{bubbles:!0,cancelable:!0,inputType:"deleteContentBackward"});let t=!0;"deleteContentBackward"===e.inputType&&(t=this._inputArea.dispatchEvent(e)),t&&document.execCommand("delete",!1)}await Mt(),wr._simulateBackspaceUp(this._inputArea),await Mt()}insertText(e,t){const s={bubbles:!0,cancelable:!0,inputType:"insertText",data:e};if(t&&"StaticRange"in self&&"getTargetRanges"in InputEvent.prototype)try{s.targetRanges=[new StaticRange(t)]}catch(e){}const a=new InputEvent("beforeinput",s);let n=!0;"insertText"===a.inputType&&(n=this._inputArea.dispatchEvent(a)),n&&document.execCommand("insertText",!1,e)}async _applyReplacement(e){let t=this._getRelativeTextReplacementOffset(e);if(!t)return Promise.resolve();let{from:s,to:a,textNode:n}=t;const r=n.parentElement||this._inputArea;let o=n.ownerDocument.createRange();o.setStart(n,s),o.setEnd(n,a);const i=o.getBoundingClientRect(),l=new xr(["mouseout","mouseover","mousemove","mousedown","mouseup","pointerout","pointerover","pointermove","pointerdown","pointerup","click","dblclick"]);try{if(wr._simulateMouseDown(r,i),wr._simulateMouseMove(r,i),t=this._getRelativeTextReplacementOffset(e),!t)return;s=t.from,a=t.to,n=t.textNode,o=wr._selectText(n,s,a),wr._simulateMouseUp(r,i),l.mute();const c=this._tweaks.getDelayBeforeInsertingText();if(0!==c&&await Mt(c),(Us(this._inputArea)||Fs(this._inputArea))&&await Mt(201),Bs(this._inputArea)&&await Mt(0),Hs(this._inputArea)&&await Mt(0),l.unmute(),(wt.isFirefox()||wt.isThunderbird())&&(e.replacementText.includes(wr.NBSP)||Fs(this._inputArea)))return void this.manuallyInsertText(n,e);if($s(this._inputArea)&&wr.SMART_QUOTES.includes(e.replacementText))await this.simulateDelete(),this.insertText(e.replacementText,o);else if(e.replacementText||s===a)if(Us(this._inputArea)||this._inputArea.classList.contains("odoo-editor-editable"))ss(this._inputArea,e.replacementText);else if(0===s&&e.replacementText.includes(" ")&&e.replacementText.length>1&&Hs(this._inputArea)){const t=e.replacementText.split(" "),s=t[0],a=" "+t.slice(1).join(" ");this.insertText(s),this.insertText(a)}else this.insertText(e.replacementText,o);else await this.simulateDelete()}finally{l.unmute()}}getTextBoxes(e,t){const s=this.getTextRanges(e,t);return s.length?(this._domMeasurement.clearCache(),this._domMeasurement.getTextBoundingBoxes(s,this._inputArea)):[]}resetText(){this._inputAreaObserver.disconnect();const e=Cr.create(this._inputArea);do{const t=e.currentNode;bs(t)&&(t.textContent=t.textContent)}while(e.next());this._inputAreaObserver.observe(this._inputArea,wr.INPUT_AREA_OBSERVER_CONFIG)}replaceText(e,t,s){if(e<0)return Promise.resolve();const a=e+s.length;return""===s&&(this._hasSpaceBefore(e)||0===e)&&this._hasSpaceAfter(e+t)&&(e=Math.max(e-1,0),t+=1),Mt(50).then((()=>{const n=[],r=this._getTextChunkIndex(e);if(-1===r)return Promise.resolve();for(let a=r;a<this._textChunks.length;a++){const{isTextNode:r,rawText:o,parsedText:i,parsedTextOffset:l}=this._textChunks[a];if(e+t<=l&&""===s)break;if(r&&e<l+i.length){const a=Math.max(e-l,0),r=l>e?e+t-l:t,c=i.substring(0,a)+s+i.substring(a+r);o!==c&&n.push({from:l+a,to:l+a+Math.min(i.length-a,r),replacementText:s,newText:c}),s=""}}return n.reverse().reduce(((e,t)=>e.then((()=>this._applyReplacement(t)))),Promise.resolve()).then((()=>{this.setSelection({start:a})})).then((()=>{this.simulateChange(),this.simulateKeyUp()}))}))}getSelection(){const e=this._tweaks.getSelection();if(!e||!e.startNode)return null;if(!this._inputArea.contains(e.startNode))return null;const t=this._getTextOffset(e.startNode,e.startOffset);return{start:t,end:e.isCollapsed||!e.endNode?t:this._getTextOffset(e.endNode,e.endOffset)}}setSelection(e){const t=e.start,s=void 0===e.end?t:e.end;this._inputArea.focus();const a=this._getTextPosition(t);if(!a)return;const n=self.getSelection();n.removeAllRanges();const r=new Range;if(r.setStart(a.textNode,a.offset),t!==s){const e=this._getTextPosition(s);if(!e)return;r.setEnd(e.textNode,e.offset)}else r.collapse(!1);n.addRange(r)}getWordAtPoint(e,t){const s=os({x:e,y:t});if(!(s&&this._inputArea.contains(s.startContainer)))return null;const a=s.getBoundingClientRect();if(!(Math.abs(a.left-e)<30&&(Math.abs(a.top-t)<30||Math.abs(a.bottom-t)<30)))return null;const n=this._getTextOffset(s.startContainer,s.startOffset),r=this.getText();return Ve(r,n,n)||Ke(r,n)}scrollToText(e,t,a="smooth",n="nearest",r=!1,o){if(e<0)return;if(r&&this.isTextRangeInViewport(e,t))return void o?.();const i=()=>{o&&setTimeout((()=>o()),50)},l=this._getRangeFromTextSelection(e,t);if(l)try{const e=l.getBoundingClientRect();if("smart"===n){if(e.top>140&&s.g.innerHeight-e.bottom>140)return void i();n="center"}self.scrollRangeIntoView(l,{behavior:a,block:n},i)}catch(e){}}isTextRangeInViewport(e,t){if(!this.getTextRanges(e,t).length)return!1;const s=this._getRangeFromTextSelection(e,t);if(!s)return!1;if(!$t(s.getBoundingClientRect(),this._inputArea.getBoundingClientRect()))return!1;const a=s.getClientRects(),n=a[0],r=a[a.length-1],o={x:n.left+n.width/2,y:n.top+n.height/2},i={x:r.left+r.width/2,y:r.top+r.height/2},l=os(o),c=os(i);return Boolean(l&&this._inputArea.contains(l.commonAncestorContainer)&&c&&this._inputArea.contains(c.commonAncestorContainer))}destroy(){super.destroy(),this._inputArea.removeEventListener("dblclick",this._onDblClick),this._tweaks.removeScrollEventListener(this._onScroll),this._ceElementInspector.destroy(),this._inputAreaObserver&&this._inputAreaObserver.disconnect()}}wr.NBSP=String.fromCharCode(160),wr.VISIBLE_WHITE_SPACE_REGEXP=/\u00A0|\u0020|\u2009|\u202F/,wr.LEADING_WHITESPACES_REGEXP=new RegExp(/^ /),wr.TRAILING_WHITESPACES_REGEXP=new RegExp(/ $/),wr.SMART_QUOTES=["“","”","„","»","«"],wr.INPUT_AREA_OBSERVER_CONFIG={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0,attributeFilter:["id","class","style"]};
100
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
101
+ class Pr{}Pr.eventNames={input:"lt-mirror.input",click:"lt-mirror.click"},Pr.FLEX_GRID_DISPLAY_VALUES=["grid","inline-grid","flex","inline-flex"];
102
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
103
+ class Ar extends Pr{constructor(e){super(),this._firefoxHackEnabled=!1,this._mimickedElement=e,this._domMeasurement=new It(this._mimickedElement.ownerDocument),this._isRoamResearchIssue=Boolean(location.hostname.match(/roamresearch/)&&e.closest(".roam-article")),this._isHootsuiteIssue=Boolean(location.hostname.match(/hootsuite/)&&e.closest(".rc-TextArea")),this._isDotSyntaxHighlighterIssue=Boolean(e.previousElementSibling&&"wpTextbox0"===e.previousElementSibling.id),this._render=this._render.bind(this),this._updateText=this._updateText.bind(this),this._onMimickedElementScroll=this._onMimickedElementScroll.bind(this),this._onMimickedElementClick=this._onMimickedElementClick.bind(this),this._render(),this._mimickedElement.addEventListener("scroll",this._onMimickedElementScroll),this._mimickedElement.addEventListener("click",this._onMimickedElementClick),this._mimickedElement.addEventListener("input",this._updateText),self.ResizeObserver&&(this._mimickedElementResizeObserver=new self.ResizeObserver(this._render),this._mimickedElementResizeObserver.observe(this._mimickedElement)),this._renderInterval=Ot(this._render,h)}_dispatchClick(e){const t=new MouseEvent(Pr.eventNames.click,{view:self,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,bubbles:!0,cancelable:!0});this._wrapper.dispatchEvent(t)}_dispatchInput(){const e=new Event(Pr.eventNames.input,{bubbles:!0,cancelable:!0});this._ensureContainerIsBeforeTargetElement(),this._wrapper.dispatchEvent(e)}_ensureContainerIsBeforeTargetElement(){const e=this._getTargetElement();e.previousElementSibling!==this._container&&e.parentElement&&(e.parentElement.insertBefore(this._container,e),n.linkInputAreaProperties(this._container.ownerDocument))}_getTargetElement(){return this._isRoamResearchIssue||this._isHootsuiteIssue||this._isDotSyntaxHighlighterIssue?this._mimickedElement.parentNode:this._mimickedElement}_render(){if(!this._mimickedElement.parentElement)return;this._domMeasurement.clearCache();const e=this._domMeasurement.getContentBox(this._mimickedElement,!1,!1),t=this._domMeasurement.getContentBox(this._mimickedElement,!1,!0);if(!this._container){if(this._container=Gt(document,Ar.CONTAINER_ELEMENT_NAME),this._container.style.display="none",this._wrapper=document.createElement("lt-div"),this._wrapper.setAttribute("spellcheck","false"),this._wrapper.className="lt-mirror__wrapper notranslate",this._canvas=document.createElement("lt-div"),this._canvas.className="lt-mirror__canvas",this._wrapper.appendChild(this._canvas),this._container.appendChild(this._wrapper),wt.isFirefox()||wt.isThunderbird()){this._elementInlineLineHeight=this._domMeasurement.getInlineStyle(this._mimickedElement,"line-height"),this._elementComputedLineHeight=this._domMeasurement.getStyle(this._mimickedElement,"line-height");this._domMeasurement.getStyle(this._mimickedElement,"transition-property").match(/all|line\-height/)||(this._firefoxHackEnabled=!0)}const e=this._domMeasurement.getStyle(this._mimickedElement.parentElement,"display");Pr.FLEX_GRID_DISPLAY_VALUES.includes(e)&&this._container.classList.add("lt-mirror--grid-item")}this._firefoxHackEnabled&&(this._mimickedElement.style.lineHeight===this._elementComputedLineHeight?this._domMeasurement.setStyles(this._mimickedElement,{"line-height":this._elementInlineLineHeight||""}):this._elementInlineLineHeight=this._domMeasurement.getInlineStyle(this._mimickedElement,"lineHeight"),this._elementComputedLineHeight=this._domMeasurement.getStyle(this._mimickedElement,"line-height"),this._elementComputedLineHeight.includes("px")&&this._domMeasurement.setStyles(this._mimickedElement,{"line-height":this._elementComputedLineHeight}));const s=this._domMeasurement.getStyles(this._mimickedElement,["border","border-radius","border-top-width","border-right-width","border-left-width","border-bottom-width","border-top-style","border-right-style","border-left-style","border-bottom-style","direction","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-weight","hyphens","letter-spacing","line-break","margin","margin-top","margin-left","margin-bottom","margin-right","padding","padding-top","padding-left","padding-right","padding-bottom","text-align","text-decoration","text-indent","text-rendering","text-transform","transform","transform-origin","unicode-bidi","white-space","word-spacing","word-wrap","writing-mode","zoom","-webkit-locale","-webkit-rtl-ordering"]);s["font-size"]=this._getWrapperFontSizeValue(s["font-size"]),s["line-height"]=this._domMeasurement.getExactStyle(this._mimickedElement,"line-height"),s["white-space"]=this._getWrapperWhiteSpaceValue(s["white-space"]),st(s,this._wrapperStyles)||(this._domMeasurement.resetStyles(this._wrapper,s,!0),this._wrapperStyles=s),this._updateText(),this._ensureContainerIsBeforeTargetElement(),this._domMeasurement.setStyles(this._wrapper,{width:e.width+"px",height:e.height+"px"},!0);const a=this._domMeasurement.getContentBox(this._wrapper,!1),n=t.left-a.left;if(Math.abs(n)>.05){let e=parseFloat(this._domMeasurement.getStyle(this._wrapper,"margin-left"));e+=n,this._domMeasurement.setStyles(this._wrapper,{"margin-left":e+"px"},!0)}const r=t.top-a.top;if(Math.abs(r)>.05){let e=parseFloat(this._domMeasurement.getStyle(this._wrapper,"margin-top"));e+=r,this._domMeasurement.setStyles(this._wrapper,{"margin-top":e+"px"},!0)}const o=this._domMeasurement.getScrollDimensions(this._mimickedElement,!1);let i=o.width-e.padding.left-e.padding.right,l=o.height-e.padding.top-e.padding.bottom;i===Math.round(e.width)&&(i=e.width),this._domMeasurement.setStyles(this._canvas,{width:i+"px",height:l+"px"},!0),this._updateScrolling(!1)}_getTextZoom(e=!1){if(e&&this._domMeasurement.clearCache(),!this._container)return 1;if(!wt.isFirefox()&&!wt.isThunderbird())return 1;this._measurer||(this._measurer=document.createElement("lt-div"),this._measurer.className="lt-mirror__measurer",this._container.appendChild(this._measurer));return(Number.parseInt(this._domMeasurement.getStyle(this._measurer,"font-size"))||0)/100}_getWrapperFontSizeValue(e){const t=this._getTextZoom();if(1===t)return e;return(Number.parseFloat(e)||0)/t+"px"}_getWrapperWhiteSpaceValue(e){if(wt.isChromium()){if("normal"===e)return"pre-wrap";if("nowrap"===e)return"pre"}return e}_updateScrolling(e=!0){e&&this._domMeasurement.clearCache();const t=this._domMeasurement.getScrollPosition(this._mimickedElement,!1),s=this._domMeasurement.getScrollPosition(this._mimickedElement,!0,!1),a=this._domMeasurement.getScrollPosition(this._mimickedElement);this._domMeasurement.setStyles(this._canvas,{"margin-top":-t.top+"px","margin-left":-t.left+"px"},!0),this._wrapper.dataset.ltScrollTop=t.top.toString(),this._wrapper.dataset.ltScrollLeft=t.left.toString(),this._wrapper.dataset.ltScrollTopScaled=s.top.toString(),this._wrapper.dataset.ltScrollLeftScaled=s.left.toString(),this._wrapper.dataset.ltScrollTopScaledAndZoomed=a.top.toString(),this._wrapper.dataset.ltScrollLeftScaledAndZoomed=a.left.toString()}_updateText(){const e=this._mimickedElement.value;this._currentText!==e&&(this._currentText=e,this._canvas.textContent=e,this._updateScrolling(),this._dispatchInput())}_onMimickedElementScroll(){requestAnimationFrame((()=>{this._updateScrolling()}))}_onMimickedElementClick(e){void 0!==e.clientX&&void 0!==e.clientY&&this._dispatchClick(e)}getCloneElement(){return this._wrapper}getTextElement(){return this._canvas}enableRangeMeasurements(){this._wrapper.classList.add("lt-mirror-enable-range-measurement")}disableRangeMeasurements(){this._wrapper.classList.remove("lt-mirror-enable-range-measurement")}destroy(){this._mimickedElement.removeEventListener("input",this._updateText),this._mimickedElement.removeEventListener("scroll",this._onMimickedElementScroll),this._mimickedElement.removeEventListener("click",this._onMimickedElementClick),this._renderInterval&&this._renderInterval.destroy(),this._container&&this._container.remove(),this._mimickedElementResizeObserver&&this._mimickedElementResizeObserver.disconnect(),this._domMeasurement.clearCache()}}Ar.CONTAINER_ELEMENT_NAME="lt-mirror";
104
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
105
+ class Ir extends Lr{constructor(e,t,s,a=Number.MAX_SAFE_INTEGER){super(e,s,a),this._scrollToInterval=null,this._mirror=t,this._mirrorElement=t.getCloneElement(),this._ceElementInspector=new kr(this._mirrorElement,this._tweaks.getParsingDetector()),this._domMeasurement=new It(this._inputArea.ownerDocument),this._scrollTop=this._inputArea.scrollTop,this._scrollLeft=this._inputArea.scrollLeft,this._updateText(),this._onDblClick=this._onDblClick.bind(this),this._onScroll=this._onScroll.bind(this),this._inputArea.addEventListener("dblclick",this._onDblClick),this._tweaks.addScrollEventListener(this._onScroll),this._mirrorElement.addEventListener(Pr.eventNames.input,this._onInput)}_onDblClick(e){const t=Fe(this._tweaks.getSelectedText()),s=this.getSelection();if(!t||!s)return;const a=s.end||s.start,n=this.getTextRanges(s.start,a-s.start);if(!n.length)return;this._domMeasurement.clearCache();const r=this._domMeasurement.getTextBoundingBoxes(n,this._mirrorElement),o=this._domMeasurement.getTextBoundingBoxes(n,this._mirrorElement,!1);if(!r.length)return;if(!o.some((t=>Ft(t,e.clientX,e.clientY))))return;const i={inputAreaWrapper:this,selectedText:t,selection:s,clickedRectangles:r};ts(document,Lr.eventNames.dblclick,i)}_onScroll(){const e=this._inputArea.scrollTop,t=this._inputArea.scrollLeft;if(this._scrollTop===e&&this._scrollLeft===t)return;this._scrollTop=e,this._scrollLeft=t;const s={inputAreaWrapper:this};ts(document,Lr.eventNames.scroll,s)}_hasSpaceBefore(e){if(e<=0||0===this._textChunks.length)return!1;const t=this._textChunks[0],s=this._offsetInRawText(t.rawText,t.parsedText,e-1),a=this._offsetInRawText(t.rawText,t.parsedText,e);return Ir.VISIBLE_WHITE_SPACE_REGEXP.test(t.rawText.substring(s,a))}_hasSpaceAfter(e){if(0===this._textChunks.length)return!1;const t=this._textChunks[0],s=this._offsetInRawText(t.rawText,t.parsedText,e),a=this._offsetInRawText(t.rawText,t.parsedText,e+1);return Ir.VISIBLE_WHITE_SPACE_REGEXP.test(t.rawText.substring(s,a))}_offsetInRawText(e,t,s){s=Math.min(e.length,s);const a=$e(e);if(-1===a||s<a)return s;let n=a,r=a;do{if(Ue(e[n])||r++,r>s)break;n++}while(n<e.length);return n}_offsetInParsedText(e,t,s){let a=0;for(let t=0;t<Math.min(e.length,s);t++)Ue(e[t])&&a++;return s-a}_updateText(){const e=[];let t="";const s=this._mirror.getTextElement().firstChild;if(s){const a=s.textContent||"";t=this._ceElementInspector.getParsedText(s),e.push({node:s,isTextNode:!0,rawText:a,parsedText:t,parsedTextOffset:0})}const a=this._text!==t;return this._text=t,this._textChunks=e,a}_getTextOffset(e,t){let s=null,a=0;if(vs(e)){const n=Cr.create(this._mirrorElement);do{const a=n.currentNode;if(a===e.childNodes[t])break;bs(a)&&a.textContent&&(s=a)}while(n.next());if(!s)return-1;a=s.textContent.length}else bs(e)&&(s=e,a=t);const n=this._textChunks.find((e=>e.node===s));return n?n.parsedTextOffset+this._offsetInParsedText(n.rawText,n.parsedText,a):-1}getTextBoxes(e,t){const s=this.getTextRanges(e,t);return s.length?(this._domMeasurement.clearCache(),this._domMeasurement.getTextBoundingBoxes(s,this._mirrorElement)):[]}resetText(){const e=this._inputArea.value;this._inputArea.value="",this._inputArea.value=e}replaceText(e,t,s){if(e<0||0===this._textChunks.length)return Promise.resolve();const a=e+s.length;""===s&&(this._hasSpaceBefore(e)||0===e)&&this._hasSpaceAfter(e+t)&&(e=Math.max(e-1,0),t+=1),this.setSelection({start:e,end:e+t});let n=document.execCommand("insertText",!1,s);""===s&&(wt.isFirefox()||wt.isThunderbird())&&(n=!1);const r=(wt.isFirefox()||wt.isThunderbird())&&s.includes(Ir.NBSP);if(n){if(r){const t=this._inputArea.value,a=this._textChunks[0],n=this._offsetInRawText(t,a.parsedText,e),r=this._offsetInRawText(t,a.parsedText,e+s.length),o=t.substring(0,n)+s+t.substring(r);this._inputArea.value=o}}else{const a=this._textChunks[0],n=this._offsetInRawText(a.rawText,a.parsedText,e),r=this._offsetInRawText(a.rawText,a.parsedText,e+t),o=a.rawText.substring(0,n)+s+a.rawText.substring(r);this._inputArea.value=o}return this.setSelection({start:a}),n||this.simulateInput(s),Promise.resolve()}getSelection(){if(this._inputArea!==us())return null;const e=this.getText();return{start:this._offsetInParsedText(this._inputArea.value,e,this._inputArea.selectionStart),end:this._offsetInParsedText(this._inputArea.value,e,this._inputArea.selectionEnd)}}setSelection(e){const t=e.start,s=void 0===e.end?t:e.end;if(this._inputArea.focus(),0===this._textChunks.length)return;const a=this._textChunks[0];this._inputArea.selectionStart=this._offsetInRawText(a.rawText,a.parsedText,t),this._inputArea.selectionEnd=this._offsetInRawText(a.rawText,a.parsedText,s)}getWordAtPoint(e,t){let s=null;this._mirror.enableRangeMeasurements(),s=os({x:e,y:t}),this._mirror.disableRangeMeasurements();if(!(s&&this._mirrorElement.contains(s.startContainer)&&s.startContainer.nodeType===this._inputArea.ownerDocument.TEXT_NODE))return null;const a=this._getTextOffset(s.startContainer,s.startOffset),n=this.getText();return Ve(n,a,a)||Ke(n,a)}scrollToText(e,t,s="smooth",a="nearest",n=!1,r){if(n&&this.isTextRangeInViewport(e,t))return void r?.();const o="smooth"===s?300:0;function i(e,t,s,a){return(e/=a/2)<1?s/2*e*e+t:-s/2*(--e*(e-2)-1)+t}if(e<0)return;"smart"===a&&(a="center");this._scrollToInterval&&(this._scrollToInterval.destroy(),this._scrollToInterval=null);const l=this._inputArea.scrollTop,c=this._inputArea.scrollLeft;this._domMeasurement.clearCache();const g=this.getTextRanges(e,t),u=this._domMeasurement.getRelativeTextBoundingBox(g,this._mirrorElement),d=this._inputArea.getBoundingClientRect();let m=this._inputArea.scrollTop+u.top;"center"===a&&(m-=this._inputArea.clientHeight/2,m-=u.height/2),d.top<0&&(m+=d.top);let p=this._inputArea.scrollLeft+u.left;d.left<0&&(p+=d.left);const h=m-l,f=p-c;let _=0;this._scrollToInterval=Ot((()=>{_+=Ir.SCROLL_TO_FRAME_INTERVAL;const e=i(_,l,h,o),t=i(_,c,f,o);this._inputArea.scrollTop=e,this._inputArea.scrollLeft=t,_>=o&&(this._scrollToInterval&&(this._scrollToInterval.destroy(),this._scrollToInterval=null),r&&setTimeout((()=>r()),50))}),Ir.SCROLL_TO_FRAME_INTERVAL)}isTextRangeInViewport(e,t){this._domMeasurement.clearCache();const s=this.getTextRanges(e,t),{top:a,bottom:n,left:r}=this._domMeasurement.getRelativeTextBoundingBox(s,this._mirrorElement),{height:o}=this._inputArea.getBoundingClientRect();return!(a<0||n>o)&&!(r<0)}destroy(){super.destroy(),this._inputArea.removeEventListener("dblclick",this._onDblClick),this._tweaks.removeScrollEventListener(this._onScroll),this._mirrorElement.removeEventListener(Pr.eventNames.input,this._onInput),this._ceElementInspector.destroy(),this._scrollToInterval&&this._scrollToInterval.destroy()}}Ir.SCROLL_TO_FRAME_INTERVAL=20,Ir.NBSP=String.fromCharCode(160),Ir.VISIBLE_WHITE_SPACE_REGEXP=/\u00A0|\u0020|\u2009|\u202F/;const Nr="lt-icon-view.set-text-direction",Dr=({root:e,onClick:t,onMouseOver:s,onMouseOut:a,...n})=>{const[r,o]=(0,Ra.useState)();return(0,Ra.useEffect)((()=>{const t=e=>{o(e.detail.isRTL)};return e?.addEventListener(Nr,t),()=>{e?.removeEventListener(Nr,t)}}),[e,o]),(0,Ma.jsx)(mn,{...n,isRTL:r,onClick:t,onMouseOver:s,onMouseOut:a})};async function Rr(e,t){const s=Es(e)?t:{...t,root:e};return await Va.createView(e,Dr,s)}Dr.displayName="IconView";const Mr=Ga("comp-menu"),Or=e=>{const{isActive:t,position:s,menuItems:a}=e;return(0,Ma.jsx)(Mr,{className:Jt(t&&"lt-menu--show","top"===s&&"lt-menu--position-top","bottom"===s&&"lt-menu--position-bottom"),"data-lt-prevent-focus":!0,children:a.map((e=>(0,Ma.jsx)(Wa,{className:Jt("lt-menu__item","pause"===e.name&&"lt-menu__item--pause","pause"===e.name&&"lt-icon__pause","disable"===e.name&&"lt-menu__item--disable","disable"===e.name&&"lt-icon__disable","disable_circle"===e.name&&"lt-menu__item--disable_circle","disable_circle"===e.name&&"lt-icon__disable_circle",e.isClickable&&"lt-menu__item--clickable"),onClick:t=>((e,t)=>{t.isClickable&&t.onClick(e)})(t,e),onMouseDown:e=>e.preventDefault(),children:(0,Ma.jsx)(ja,{className:Jt("lt-menu__item__label","pause"===e.name&&"lt-menu__item__label--pause","disable"===e.name&&"lt-menu__item__label--disable","disable_circle"===e.name&&"lt-menu__item__label--disable_circle"),children:e.label})},e.label)))})},Hr=e=>(0,Ma.jsx)(Or,{...e});Hr.displayName="MenuView";class zr{constructor(e,t,s,a,n,r){this._className=e,this._type=t,this._headline=s,this._description=a,this._position=n,this._parentElement=r,this._document=r.ownerDocument,this._render()}_render(){this._element=this._document.createElement("lt-div"),this._element.classList.add("lt-hint","lt-position--"+this._position,"lt-hint--"+this._type),this._className&&this._element.classList.add("lt-hint--"+this._className);const e=document.createElement("lt-div");e.className="lt-hint__headline",e.textContent=this._headline,this._element.appendChild(e);const t=document.createElement("lt-div");t.className="lt-hint__text",t.textContent=this._description,this._element.appendChild(t),this._close=document.createElement("lt-span"),this._close.className="lt-hint__close",this._element.appendChild(this._close),this._parentElement.appendChild(this._element)}getElement(){return this._element}getClose(){return this._close}}
106
+ /*! (C) Copyright 2021 LanguageTooler GmbH. All rights reserved. */
107
+ class Br{constructor(e,t){this._onMutations=this._onMutations.bind(this),this._callback=e,this._isIgnored=t,this._wrappedObserver=new MutationObserver(this._onMutations)}_onMutations(e){const t=e.filter((e=>!this._isIgnored(e)));t.length>0&&this._callback(t,this)}observe(e,t={}){this._wrappedObserver.observe(e,t)}disconnect(){this._wrappedObserver.disconnect()}takeRecords(){return this._wrappedObserver.takeRecords()}}
108
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
109
+ class Ur{static _getIframeWin(){const e=document.querySelector(this.PASTE_IFRAME_SELECTOR);return e&&e.contentWindow||null}static _getMode(){return document.querySelector("#docs-access-level-indicator div.docs-access-level-indicator-icon-container div.docs-icon-acl-comment-only-on-brand-color-background")?"comment":document.querySelector("#docs-access-level-indicator")?"view":"edit"}static _checkMode(){const e=this._getMode();this._currentMode?e!==this._currentMode&&(this._currentMode=e,this._onModeChangedCallbacks.forEach((t=>t(e)))):this._currentMode=e}static _isInView(e){const t=e.closest("svg");return!!t&&"none"!==this._domMeasurement.getStyle(t,"display")}static _checkForNewSlides(){if("view"===this._currentMode)return;document.querySelectorAll(this.UNHANDLED_SLIDE_SELECTOR).forEach((e=>{this._isInView(e)&&this._onNewSlideCallbacks.forEach((t=>t(e)))}))}static _checkOutOfViewSlides(){this._onSlideOutOfViewCallbacks.forEach(((e,t)=>{this._isInView(t)||e(t)}))}static _addMenuBarButton(){if(this._menuBarButton)return;const e=document.querySelector("#insertCommentButton");e&&e.parentNode&&(this._menuBarButton=document.createElement("div"),this._menuBarButton.className="lt-gdocs-menubar-button goog-toolbar-button goog-toolbar-toggle-button goog-inline-block",this._menuBarButton.setAttribute("role","button"),this._menuBarButton.setAttribute("aria-disabled","false"),this._menuBarButton.setAttribute("aria-hidden","false"),this._menuBarButton.id="enableLTButton",this._menuBarButton.style.userSelect="none",this._menuBarButton.addEventListener("click",(()=>{if(!this._storageController)return;const e=this.getPresentationId(location.href);e&&(this._menuBarButton.classList.contains("goog-toolbar-button-checked")?(this._storageController.disableEditorGroup(mt(),e),n.ltAssistantStatusChanged({enabled:!1})):(this._storageController.enableDomainAndEditorGroup(mt(),e),n.ltAssistantStatusChanged({enabled:!0})))}),!0),this._menuBarSeparator=document.createElement("div"),this._menuBarSeparator.className="docs-toolbar-small-separator goog-toolbar-separator goog-inline-block",this._menuBarSeparator.setAttribute("role","separator"),this._menuBarSeparator.setAttribute("aria-disabled","true"),this._menuBarSeparator.setAttribute("aria-hidden","false"),this._menuBarSeparator.id="enableLTSeparator",this._menuBarSeparator.style.userSelect="none",e.parentNode.insertBefore(this._menuBarButton,e.nextSibling),e.parentNode.insertBefore(this._menuBarSeparator,e.nextSibling),this._toggleMenuBarButton())}static _removeMenuBarButton(){this._menuBarButton&&(this._menuBarButton.remove(),this._menuBarButton=null),this._menuBarSeparator&&(this._menuBarSeparator.remove(),this._menuBarSeparator=null)}static _setMenuBarButtonActive(){this._menuBarButton&&(this._menuBarButton.classList.add("goog-toolbar-button-checked"),this._menuBarButton.setAttribute("aria-label",o.getMessage("googleSlideDisableButton")),this._menuBarButton.setAttribute("data-tooltip",o.getMessage("googleSlideDisableButton")))}static _setMenuBarButtonUnactive(e=!1){this._menuBarButton&&(this._menuBarButton.classList.remove("goog-toolbar-button-checked"),this._menuBarButton.setAttribute("aria-label",o.getMessage("googleSlideEnableButton")),this._menuBarButton.setAttribute("data-tooltip",o.getMessage("googleSlideEnableButton")),e&&this._showMenuBarHint())}static _toggleMenuBarButton(e=!1){if(!this._storageController)return;const t=this.getPresentationId(location.href);if(!t)return;const s=mt(),a=this._storageController.getCheckSettings(s,t);a.isEditorGroupDisabled||a.isDomainDisabled?this._setMenuBarButtonUnactive(e):this._setMenuBarButtonActive()}static _showMenuBarHint(){if(this._menuBarHint||!this._menuBarButton||!this._storageController)return;const{hasSeenGoogleDocsMenuBarHint:e}=this._storageController.getUIState();if(e)return;const t=this._menuBarButton.offsetHeight?this._menuBarButton:document.querySelector("#moreButton");if(!t)return;const s=t.getBoundingClientRect();this._menuBarHint=document.createElement("div"),this._menuBarHint.classList.add("lt-gdocs-hint"),this._menuBarHint.style.top=s.bottom+"px",this._menuBarHint.style.right=self.innerWidth-s.right+"px",this._menuBarHint.textContent=o.getMessage("googleSlidesEnableHint");const a=document.createElement("span");a.classList.add("lt-gdocs-hint__close"),a.addEventListener("click",(e=>{e.stopImmediatePropagation(),this._removeMenuBarHint(!0)}),!0),this._menuBarHint.appendChild(a),document.body.appendChild(this._menuBarHint),this._onInput((()=>this._removeMenuBarHint(!0)),!0)}static _removeMenuBarHint(e=!1){this._menuBarHint&&(e?Yt(this._menuBarHint):this._menuBarHint.remove(),this._menuBarHint=null,e&&this._storageController&&this._storageController.updateUIState({hasSeenGoogleDocsMenuBarHint:!0}))}static _showTeaser(){const e=Array.from(document.querySelectorAll(`.${this.TOOLBAR_CLASS_NAME}`));if(!e.length)return;const t=e.find((e=>{const t=e.getBoundingClientRect();return t.top>=0&&t.top<self.innerHeight&&t.width>0}));if(!t)return;const s=new zr("","google-slides",o.getMessage("googleSlidesNewTeaserHeadline"),o.getMessage("googleSlidesNewTeaserText"),"bottom-left",t),a=()=>{s.getElement().remove(),s&&s.getElement().classList.remove("lt-toolbar--hint-opened"),this._storageController&&this._storageController.updateUIState({hasSeenNewGoogleSlidesTeaser:!0})};s.getClose().addEventListener("click",(e=>{e.stopImmediatePropagation(),e.preventDefault(),a()}),!0),t.classList.add("lt-toolbar--hint-opened"),t.addEventListener("mouseup",(e=>{e.target instanceof HTMLElement&&s.getElement().contains(e.target)||a()}),{capture:!0,once:!0}),this._onInput((()=>a()),!0)}static _onInput(e,t=!1){const s=this._getIframeWin();s&&s.document&&s.document.addEventListener("keydown",(t=>{["Control","Shift","Meta","Alt"].includes(t.key)||e()}),{capture:!0,once:t})}static _isCursor(e){if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=parseFloat(e.getAttribute("width")||"");return"RECT"===e.tagName.toUpperCase()&&0===e.childElementCount&&"crispEdges"===e.getAttribute("shape-rendering")&&t<=5}static _getRangeByRect(e,t=!1,s=0){const a=e.left-s,n=e.right+s,r=t?-1:1;for(let s=.25;s<1;s+=.25){let o=t?n:a;const i=e.top+e.height*s;do{const e=os({x:o,y:i});if(e&&bs(e.startContainer)&&bs(e.endContainer))return e;o+=r}while(a<=o&&o<=n)}return null}static _getTextClientRects(e,t,s){if(wt.isSafari()){const a=e.getBoundingClientRect(),n=parseFloat(e.getAttribute("x")||"0"),r=e.getStartPositionOfChar(t.start),o=e.getEndPositionOfChar(t.end-1),i=a.left+(r.x-n)*s.x,l=a.left+(o.x-n)*s.x;return[{left:i,top:a.top,right:l,bottom:a.bottom,height:a.height,width:l-i}]}{const e=document.createRange();return e.setStart(t.node,t.start),e.setEnd(t.node,t.end),Array.from(e.getClientRects())}}static _getRelativeTextBoundingBoxes(e,t,s){Array.isArray(t)||(t=[t]);let a=[];const n=e.getPaddingBox(s,!1,!1),r=n.left,o=n.top,i=e.getScaleFactor(s);for(const e of t)try{const t=this._getTextClientRects(e.node.parentElement,e,i);for(const e of t){if(e.width<It.MIN_TEXT_BOX_WIDTH)continue;const t=a[a.length-1],s=e.top-o,n=e.right-r,i=e.bottom-o,l=e.left-r,c=e.width,g=e.height;t&&t.right===l&&t.top===s&&t.bottom===i&&t.height===g?(t.right=n,t.width=t.width+c):a.push({top:s,right:n,bottom:i,left:l,width:c,height:g})}}catch(e){console.error("LT range error",e)}for(const e of a)e.top=Math.round(e.top/i.y),e.right=Math.round(e.right/i.x),e.bottom=Math.round(e.bottom/i.y),e.left=Math.round(e.left/i.x),e.width=e.right-e.left,e.height=e.bottom-e.top;return a}static _getTrailingBoxes(e,t){function s(e,t,a){const n=e.start===e.end,r=e.node.textContent.length||0,o=0!==e.start||e.end!==r;return n?function(e,t,a){const n=e.node.textContent?.length||0;if(0===n)return[];const r=0===e.start,o=0,i=r?1:e.end,l=s({node:e.node,start:o,end:i,text:e.node.textContent||""},t,a);if(0===l.length)return[];const c=l[r?0:l.length-1];return[{top:c.top,right:r?c.left:c.right,bottom:c.bottom,left:r?c.left:c.right,width:0,height:c.height}]}(e,t,a):o?function(e,t,s){if(!wt.isFirefox()&&!wt.isSafari())return s.getTextBoundingBoxes(e,t,!1);const a=e.node.textContent||"";a.length;let n=e.node.parentElement;if(!(n&&n instanceof SVGTextElement))return[];if(!n.parentElement)return[];const r={node:e.node,start:0,end:a.length,text:a},o=s.getTextBoundingBoxes(r,t,!1);if(0===o.length)return[];let i=document.createElementNS("http://www.w3.org/2000/svg","text");for(let e=0;e<n.attributes.length;e++){const t=n.attributes[e];i.setAttribute(t.name,t.value)}n.parentElement.appendChild(i);let l=0;if(0!==e.start){i.textContent=a.substring(0,e.start);const n={node:i.firstChild,start:0,end:e.start,text:a},r=s.getTextBoundingBoxes(n,t,!1);r.length>0&&(l=r[0].width)}let c=0;if(e.end!==a.length){i.textContent=a.substring(e.end);const n={node:i.firstChild,start:0,end:a.length-e.end,text:a},r=s.getTextBoundingBoxes(n,t,!1);r.length>0&&(c=r[0].width)}i.remove();const g=o[0];return[{top:g.top,right:g.right-c,bottom:g.bottom,left:g.left+l,width:g.width-l-c,height:g.height}]}(e,t,a):a.getTextBoundingBoxes(e,t,!1)}this._domMeasurement.clearCache();let a=null,n=null,r=0;do{const n=s(e[r],t,this._domMeasurement);0!==n.length&&(a=n[0])}while(!a&&++r<e.length);if(!a)return[null,null];r=e.length-1;do{const a=s(e[r],t,this._domMeasurement);0!==a.length&&(n=a[a.length-1])}while(!n&&--r>=0);return[a,n]}static init(){this._storageController=Lt.create(),this._domMeasurement=new It(document),this._interval=self.setInterval((()=>{this._checkMode(),this._checkForNewSlides(),this._checkOutOfViewSlides()}),750),this._storageController.addEventListener(xt.eventNames.settingsChanged,(e=>{(e.disabledEditorGroups||e.disabledDomains)&&this._toggleMenuBarButton(!!e.disabledEditorGroups)})),this._storageController.onReady((()=>{this._addMenuBarButton()}))}static destroy(){null!==this._interval&&(clearInterval(this._interval),this._interval=null),this._removeMenuBarButton(),this._removeMenuBarHint(),this._onModeChangedCallbacks.clear(),this._onNewSlideCallbacks=[],this._onSlideOutOfViewCallbacks.clear()}static onNewSlide(e){this._onNewSlideCallbacks.push((t=>e(t,!1)))}static isElementCompatible(e){return e.matches(this.SLIDE_SELECTOR)}static getSlideId(e){const t=e.match(this.SLIDE_ID_REGEXP);return t?this.getPresentationId(e)+":"+t[1]:null}static getPresentationId(e){const t=e.match(this.PRESENTATION_ID_REGEXP);return t?t[1]:null}static getSelection(){const e=Array.from(document.body.querySelectorAll(this.SELECTION_ELEMENTS_SELECTOR));if(e.length){const t=e[0].getBoundingClientRect(),s=1===e.length?t:e[e.length-1].getBoundingClientRect(),a=Array.from(document.querySelectorAll(this.TEXT_ELEMENTS_SELECTOR));this._domMeasurement.setStyles(a,{"pointer-events":"all"},!0);const n=Array.from(document.querySelectorAll(this.IGNORED_ELEMENTS_SELECTOR));this._domMeasurement.setStyles(n,{"pointer-events":"none"},!0);const r=this._getRangeByRect(t),o=this._getRangeByRect(s,!0);return this._domMeasurement.removeStyle(a,"pointer-events"),this._domMeasurement.removeStyle(n,"pointer-events"),r&&o?{startNode:r.startContainer,startOffset:r.startOffset,endNode:o.endContainer,endOffset:o.endOffset,isCollapsed:!1}:null}const t=document.body.querySelector(this.CURSOR_ELEMENT_SELECTOR);if(t){const e=t.getBoundingClientRect(),s=Array.from(document.querySelectorAll(this.TEXT_ELEMENTS_SELECTOR));this._domMeasurement.setStyles(s,{"pointer-events":"all"},!0);const a=Array.from(document.querySelectorAll(this.IGNORED_ELEMENTS_SELECTOR));this._domMeasurement.setStyles(a,{"pointer-events":"none"},!0);const n=this._getRangeByRect(e,!1,1);if(this._domMeasurement.removeStyle(s,"pointer-events"),this._domMeasurement.removeStyle(a,"pointer-events"),n)return{startNode:n.startContainer,startOffset:n.startOffset,endNode:n.endContainer,endOffset:n.endOffset,isCollapsed:!1}}return null}static getSelectedText(){const e=this.getSelection();if(!e)return"";const t=function(e,t){let s=e.parentElement;for(;s;){if(Wt(s,t))return s;s=s.parentElement}return null}(e.startNode,e.endNode);if(!t)return"";const s=[],a=Cr.create(t,e.startNode);do{if(bs(a.currentNode)){let t=a.currentNode.nodeValue||"";if(a.currentNode===e.endNode&&(t=t.substring(0,e.endOffset)),a.currentNode===e.startNode&&(t=t.substring(e.startOffset)),t){const e=this.replaceText(t,a.currentNode);s.push(e)}}}while(a.currentNode!==e.endNode&&a.next());return s.join("")}static isSlide(e){return e.matches(this.SLIDE_SELECTOR)}static initSlide(e){e.setAttribute("data-lt-tweaks","slides");let t=null;t=self.setTimeout((()=>{if(!this._storageController||!this._storageController.isReady())return;const{hasSeenNewGoogleSlidesTeaser:e}=this._storageController.getUIState();e||this._showTeaser()}),800)}static destroySlide(e){e.removeAttribute("data-lt-tweaks"),this._onModeChangedCallbacks.delete(e),this._onSlideOutOfViewCallbacks.delete(e)}static onSlideDestroy(e,t){this._onModeChangedCallbacks.set(e,(s=>{"view"===s&&t(e)})),this._onSlideOutOfViewCallbacks.set(e,t),rs(e,t)}static createMutationObserver(e){return new Br(e,(e=>"attributes"===e.type&&"class"===e.attributeName&&Ur._isCursor(e.target)))}static isIgnored(e){return!e.parentElement||"TEXT"===e.tagName.toUpperCase()&&!e.parentElement.matches("g.sketchy-text-content-text")}static isBlock(e,t){return"TEXT"!==e.tagName.toUpperCase()&&(!!e.matches(this.BLOCK_SELECTOR)||kr.DISPLAY_BLOCK_VALUES.includes(t.display||""))}static getReplacementText(){return""}static replaceText(e,t){const s=t.parentElement;if(!s||"TEXT"!==s.tagName.toUpperCase())return e;const a=jt(s,this.BLOCK_SELECTOR);if(!a)return e;if(!Ur.WHITESPACE_REGEXP.test(e)&&Ur.URL_FRAGMENT_REGEXP.test(e))return"\ufeff".repeat(e.length);const n=Array.from(a.querySelectorAll(this.BLOCK_TEXT_SELECTOR)),r=n.indexOf(s);if(-1===r||r===n.length-1)return e;const o=s.getBoundingClientRect(),i=n[r+1].getBoundingClientRect(),l=o.top+o.height/2,c=o.left+o.width/2;return i.top>=l||i.left<=c||o.right<i.left?e+" ":e}static getCacheInvalidationRules(e){return Object.assign({},e,{isSkippingElement:{self:{attributes:[],childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},descendant:{attributes:["id","class","style"],characterData:!0,childList:!0},sibling:{attributes:["id"]}},replacementText:{},isBlock:{self:{attributes:["id","class","style","direction"]},ancestor:{attributes:["id","class","style"]}},parsingOptions:{},parsedText:{self:{characterData:!0},ancestor:{attributes:["id","class","style"],childList:!0}},blockParent:{self:{attributes:["id","class","style"]},ancestor:{attributes:["id","class","style"]}},paragraphLastValuableNode:{self:{attributes:[],characterData:!0,childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},sibling:{attributes:["id"]},blockSibling:{attributes:[],characterData:!0,childList:!0}},isBRElementRelevant:{self:{attributes:[],childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style","direction"]},blockDescendant:{attributes:[],characterData:!0,childList:!0},sibling:{attributes:["id"]}},isParagraphNonEmpty:{self:{attributes:[],childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style","direction"]},descendant:{attributes:[],characterData:!0,childList:!0},sibling:{attributes:["id"]}}})}static getKeyboardEventTarget(){const e=document.querySelector(".docs-texteventtarget-iframe");return e?.contentWindow?e.contentWindow?.document.querySelector("[contenteditable=true]"):null}static getTargetElement(e){return e.closest("svg")||e}static getVisibleBox(e,t){const s=t.getScaleFactor(e);let{top:a,left:n,width:r,height:o}=e.getBoundingClientRect();return r/=s.x,o/=s.y,{top:a,right:n+r,bottom:a+o,left:n,width:r,height:o}}static getScrollableElementSize(e,t){const s=t.getScaleFactor(e);let{width:a,height:n}=e.getBoundingClientRect();return a/=s.x,n/=s.y,{width:a,height:n}}static getTextBoxes(e,t,s,a){const n=this._getRelativeTextBoundingBoxes(e,t,s),r=[];let o=null;for(const e of n){null!==o&&o.bottom===e.bottom&&o.top===e.top?o.right=e.right:(o=e,r.push(o))}return r}static getToolbarPosition(e,t){const s=t.getBorderBox(e);if(this._workspaceContainer=this._workspaceContainer||document.getElementById("workspace-container"),!this._workspaceContainer)return null;const a=t.getBorderBox(this._workspaceContainer),n=a.top+10,r=Math.round(Math.max(s.top+30,n));if(r+50>s.bottom)return null;const o=a.left+32,i=Math.round(Math.max(s.left,o));return i+32>s.right?null:{top:r+"px",left:i+"px",fixed:!0}}static getReplacedParts(e){const t=[];for(const s of this.DEFAULT_TEXTS){const a=Le(e,new RegExp(`^${s}(\n\n|$)`,"gm"));for(const e of a)t.push({offset:e.index,length:e[0].length})}return t}static filterErrors(e,t){return t.filter((e=>"FALSCHES_ANFUEHRUNGSZEICHEN"!==e.rule.id&&!e.rule.id.endsWith("UNPAIRED_BRACKETS")&&(!("DASH_RULE"===e.rule.id&&(e.rule.subId||0)<3)&&(e.fixes[0]&&e.fixes[0].value.replace(this.NON_STANDART_WHITESPACE_REGEXP," ")!==e.originalPhrase))))}static async applyFix(e){const{offset:t,length:s,replacementText:a,editor:n}=e,r=n.inputAreaWrapper.getText().substr(t,s),o=r.startsWith(" "),i=r.endsWith(" ");let l=n.inputAreaWrapper.getTextRanges(t,s,o,i);if(0===l.length||!l[0].node.parentElement)return;const c=l[0].node.parentElement.closest(this.EDITOR_SELECTOR);if(!c)return;let g=c.querySelector("g > path[pointer-events='visiblePainted']:last-child");if(!g)return;const u=document.querySelector(this.PASTE_IFRAME_SELECTOR);if(!u)return;const d=u.contentWindow;if(!d)return;const m=d.document.querySelector("[contenteditable=true]");if(!m)return;this._domMeasurement.clearCache();const[p,h]=this._getTrailingBoxes(l,n.inputArea);if(!p||!h)return;const f={bubbles:!0,clientX:Math.floor(p.left),clientY:Math.round(p.top+p.height/2)},_={bubbles:!0,clientX:Math.floor(h.right),clientY:Math.round(h.top+h.height/2)};g.dispatchEvent(new MouseEvent("mousedown",f)),g=document.querySelector("g > path[pointer-events='visiblePainted']:last-child")||c,g.dispatchEvent(new MouseEvent("mousemove",_)),g.dispatchEvent(new MouseEvent("mouseup",_));const E=d,v=a.replace(/^\s/," ").replace(/\s$/," ");let b;try{b=new E.ClipboardEvent("paste",{clipboardData:new E.DataTransfer,bubbles:!0}),b.clipboardData.setData("text/plain",v)}catch(e){b=new E.ClipboardEvent("paste",{bubbles:!0})}m.dispatchEvent(b),m.textContent=v}}
110
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
111
+ var $r,Fr;Ur.SLIDES_URL_REGEXP=/docs\.google\.com\/presentation/,Ur.SLIDE_SELECTOR="div#pages > svg > g",Ur.UNHANDLED_SLIDE_SELECTOR="div#pages > svg > g:not([data-lt-tweaks])",Ur.BLOCK_SELECTOR="g[id^='editor']:not([id*='paragraph']) g[id*='paragraph']",Ur.BLOCK_TEXT_SELECTOR="text",Ur.TEXT_ELEMENTS_SELECTOR="div#pages svg text",Ur.SELECTION_ELEMENTS_SELECTOR="g.sketchy-text-background + g > g > rect",Ur.IGNORED_ELEMENTS_SELECTOR=["div#pages > svg path[pointer-events=visiblePainted]","div#pages > svg g[pointer-events=none] + rect[shape-rendering=crispEdges]","div#pages > svg g[pointer-events=none] + rect[shape-rendering=crispEdges] + rect"].join(", "),Ur.CURSOR_ELEMENT_SELECTOR="g[id^='editor'] rect[x][y][width][height][style*='opacity: 1']",Ur.EDITOR_SELECTOR="g[id^='editor']:not([id*='paragraph']) g[direction]",Ur.PASTE_IFRAME_SELECTOR="iframe.docs-texteventtarget-iframe",Ur.TOOLBAR_CLASS_NAME="lt-slides-toolbar",Ur.PRESENTATION_ID_REGEXP=/presentation\/d\/([^\/]+)/i,Ur.SLIDE_ID_REGEXP=/presentation\/d\/.+slide=([\.a-z0-9\_]+)/i,Ur.WHITESPACE_REGEXP=/\s/,Ur.URL_FRAGMENT_REGEXP=/[a-z0-9]=\!?[a-z0-9]|[a-z0-9\.]{2,}\![a-z0-9\.]{2,}|[\-_][a-z0-9]{5,}[\-_][a-z0-9]{5,}[\-_][a-z0-9]{5,}|^\/.+?\/[^\s]+|^\-[a-z\-\/]+\/$|^[a-z0-9]+_[a-z0-9]+\/[a-z0-9_]+$/i,Ur.NON_STANDART_WHITESPACE_REGEXP=/[\u00A0\u2009\u202F]/g,Ur.DEFAULT_TEXTS=["Click to add title","Click to add text","Click to add subtitle","Klicken und Titel hinzufügen","Klicken und Text hinzufügen","Klicken und Untertitel hinzufügen","Haz clic para añadir un título","Haz clic para añadir un texto","Haz clic para añadir un subtítulo","Clique para adicionar um título","Clique para adicionar texto","Clique para adicionar um subtítulo","Clique para adicionar um título","Clique para adicionar texto","Clique para adicionar uma legenda","Fai clic per aggiungere un titolo","Fai clic per aggiungere testo","Fai clic per aggiungere un sottotitolo","Klik om een titel toe te voegen","Klik om tekst toe te voegen","Klik om een ondertitel toe te voegen","Cliquez ici pour ajouter un titre","Cliquez ici pour ajouter du texte","Cliquez ici pour ajouter un sous-titre","Введите заголовок","Введите текст","Введите подзаголовок","Kliknij, aby dodać tytuł","Kliknij, aby dodać tekst","Kliknij, aby dodać podtytuł","Натисніть, щоб додати заголовок","Натисніть, щоб додати текст","Натисніть, щоб додати підзаголовок"],Ur._storageController=null,Ur._interval=null,Ur._currentMode=null,Ur._onModeChangedCallbacks=new Map,Ur._onNewSlideCallbacks=[],Ur._onSlideOutOfViewCallbacks=new Map,Ur._menuBarButton=null,Ur._menuBarSeparator=null,Ur._menuBarHint=null,function(e){e.Supported="supported",e.NotSupported="not supported",e.NotDetected="not detected"}($r||($r={}));class Gr{static _cacheMessages(){Gr.MESSAGES={STATUS_ICON_RELOAD_MESSAGE:o.getMessage("statusIconReload"),STATUS_ICON_PERMISSION_REQUIRED:o.getMessage("statusIconPermissionRequired"),STATUS_ICON_TEXT_TOO_LONG:o.getMessage("textTooLong"),STATUS_ICON_DISABLED:o.getMessage("statusIconEnableLT"),STATUS_ICON_FAIL:o.getMessage("statusIconError"),STATUS_ICON_MORE_ERRORS:o.getMessage("statusIconMoreErrors"),STATUS_ICON_LANGUAGE_UNSUPPORTED:o.getMessage("dialogUnsupportedLanguageHeadline"),PREMIUM_ICON_TOOLTIP:o.getMessage("dialogMainMenuPremiumMistake"),REPHRASING_TOOLTIP:o.getMessage("toolbarTooltipRephrasing"),REPHRASING_LANGUAGE_UNSUPPORTED_TOOLTIP:o.getMessage("toolbarTooltipRephrasingUnsupportedLanguage"),DISABLE_CHECKING_TOOLTIP:o.getMessage("toolbarTooltipDisableChecking"),DISABLE_CHECKING_MENU_ITEM:o.getMessage("toolbarDisableMenuDisableChecking"),PAUSE_CHECKING_MENU_ITEM:o.getMessage("toolbarDisableMenuPauseChecking")}}static init(){Gr._isInitialized||(Gr._cacheMessages(),o.addEventListener(r.eventNames.localeChanged,Gr._cacheMessages.bind(Gr)),Gr._isInitialized=!0)}constructor(e,t,s=null,a=!0,n={checkStatus:ba.IN_PROGRESS,errorsCount:0,premiumErrorsCount:0,isIncompleteResult:!1,checkErrorMessage:"",showNotification:!1,text:"",sentenceRanges:void 0}){this._wasToolbarSmall=!1,this._currentStyles=null,this._renderOutsideIframe=!1,this._inputArea=e,this._targetElement=e,this._document=e.ownerDocument,this._appearance=t,this._mirror=s,this._enableRephrasing=a;const r=Vt(self);r&&this._inputArea===this._inputArea.ownerDocument.body&&Ss(self.parent)&&(this._targetElement=r,this._document=this._targetElement.ownerDocument,this._renderOutsideIframe=!0,this._onUnload=this._onUnload.bind(this),self.addEventListener("pagehide",this._onUnload,!0)),this._controls={container:null,wrapper:null,extras:null,disableIcon:void 0,rephrasingIcon:void 0,rephrasingIconUnsupportedLanguage:void 0,statusIcon:null,premiumIcon:null,premiumIconDot:null,divider:null,disableMenu:void 0,premiumIconTooltip:null},this._visible=!1,this._isDisableMenuOpen=!1,this._sizeDecreased=!1,this._hasNotifiedAboutPremiumIcon=!1,this._domMeasurement=new It(this._document),this._isRTL=this._domMeasurement.isRTL(this._targetElement),this._eventListeners=[],this.updateState(n,!0);const o=this._appearance.isPerformanceCritical();this._renderInterval=Ot((()=>this._updateDisplaying(!0)),o?2*h:h),o||(this._decreaseSizeInterval=Ot((()=>this._decreaseSizeIfNeeded()),f)),this._scrollObserver=function(e,t){const s=new It(e.ownerDocument),a=function(e){const t=[];let a=e.parentElement;for(;a&&a!==document.body&&a!==document.documentElement;){const e=s.getStyles(a,["overflow-x","overflow-y"]),n=e["overflow-x"],r=e["overflow-y"];"auto"!==r&&"scroll"!==r&&"auto"!==n&&"scroll"!==n||t.push(a),a=a.parentElement}return t}(e);let n=!1;const r=()=>{n||(n=!0,requestAnimationFrame((()=>{n=!1,t()})))};return a.forEach((e=>{e.addEventListener("scroll",r)})),{destroy(){a.forEach((e=>{e.removeEventListener("scroll",r)})),n=!0}}}(this._targetElement,(()=>this._updateDisplaying(!1)))}_render(){if(this._destroyed)return;const e=["lt-toolbar__disable-icon"],t=["lt-toolbar__rephrasing-icon"],s=["lt-toolbar__rephrasing-icon","lt-toolbar__rephrasing-icon--disabled"],a=["lt-toolbar__status-icon"],n=["lt-toolbar__premium-icon"],r=["lt-toolbar__premium-icon-dot"];let o="";if(!this._controls.container){this._parent=this._appearance.getParent(this._document),this._parentElement=this._parent instanceof ShadowRoot?this._parent.host:this._parent,this._controls.container=Gt(this._document,Gr.CONTAINER_ELEMENT_NAME),this._controls.container.style.display="none",this._controls.container.setAttribute("data-lt-adjust-appearance","true"),this._appearance.initContainer(this._controls.container),this._controls.wrapper=this._document.createElement("lt-div"),this._controls.wrapper.classList.add("lt-toolbar__wrapper"),this._controls.extras=this._document.createElement("lt-div"),this._controls.extras.classList.add("lt-toolbar__extras"),Qt(this._inputArea)?this._controls.container.setAttribute("data-lt-force-appearance","dark"):this._controls.container.setAttribute("data-lt-force-appearance","light");const a=this._appearance.getClassName();a&&this._controls.wrapper.classList.add(a);const n={label:Gr.MESSAGES.DISABLE_CHECKING_TOOLTIP,position:this._isVertical()?"right-center":"top-right"},r={label:Gr.MESSAGES.REPHRASING_TOOLTIP,position:this._isVertical()?"right-center":"top-right"},o={label:Gr.MESSAGES.REPHRASING_LANGUAGE_UNSUPPORTED_TOOLTIP,position:this._isVertical()?"right-center":"top-right"},i=this._document.createElement("lt-div");i.classList.add("lt-icon__tooltip",this._isVertical()?"lt-icon__tooltip--right-center":this._isRTL?"lt-icon__tooltip--top-left":"lt-icon__tooltip--top-right"),i.textContent=Gr.MESSAGES.PREMIUM_ICON_TOOLTIP,this._controls.premiumIconTooltip=i,Rr(this._document.createElement("lt-span"),{name:"disable",preventFocus:!0,tooltip:n,onClick:()=>wt.isThunderbird()?this._onPauseCheckingClick():this.toggleDisableMenu(),onMouseOut:()=>this._updateExtrasClassnameOnMouseOut(),onMouseOver:()=>this._updateExtrasClassnameOnMouseOver()}).then((t=>{t.element.className=e.join(" "),this._controls.disableIcon=t,t.prependTo(this._controls.extras),this._preventFocusStealing(t.element)})),this._enableRephrasing&&(Rr(this._document.createElement("lt-span"),{name:"rephrasing",preventFocus:!0,tooltip:r,onClick:()=>this._showRephrasingCard(),onMouseOut:()=>this._updateExtrasClassnameOnMouseOut(),onMouseOver:()=>this._updateExtrasClassnameOnMouseOver()}).then((e=>{e.element.className=t.join(" "),this._controls.rephrasingIcon=e,e.appendTo(this._controls.extras),this._preventFocusStealing(e.element)})),Rr(this._document.createElement("lt-span"),{name:"rephrasing",preventFocus:!0,tooltip:o,onClick:()=>this._showRephrasingCard(),onMouseOut:()=>this._updateExtrasClassnameOnMouseOut(),onMouseOver:()=>this._updateExtrasClassnameOnMouseOver()}).then((e=>{e.element.className=s.join(" "),this._controls.rephrasingIconUnsupportedLanguage=e,e.appendTo(this._controls.extras),this._preventFocusStealing(e.element)}))),this._controls.premiumIcon=this._document.createElement("lt-div"),this._controls.premiumIcon.addEventListener("mouseenter",(()=>this._updateExtrasClassnameOnMouseOver())),this._controls.premiumIcon.addEventListener("mouseleave",(()=>this._updateExtrasClassnameOnMouseOut())),this._controls.statusIcon=this._document.createElement("lt-div"),this._controls.premiumIconDot=this._document.createElement("lt-div"),this._controls.divider=this._document.createElement("lt-div"),this._preventFocusStealing(this._controls.statusIcon),this._preventFocusStealing(this._controls.premiumIcon),this._preventFocusStealing(this._controls.premiumIconDot),this._eventListeners.push(as(this._controls.wrapper,"click",this._onClick.bind(this))),this._controls.extras.appendChild(this._controls.divider),this._controls.extras.appendChild(this._controls.premiumIcon),this._controls.wrapper.appendChild(this._controls.extras),this._controls.wrapper.appendChild(this._controls.statusIcon),this._controls.wrapper.appendChild(this._controls.premiumIconDot),this._controls.container.appendChild(this._controls.wrapper),this._visible=!0}switch(this._controls.wrapper?.classList.toggle("lt-toolbar--small",this._wasToolbarSmall),this._controls.wrapper?.classList.toggle("lt-toolbar__wrapper--rtl",this._isRTL),(Ne(this._state.selection)&&!cs(this._state.text,this._state.sentenceRanges,this._state.selection)||this._getLanguageSupport()===$r.NotDetected)&&t.push("lt-toolbar__rephrasing-icon--disabled"),this._getLanguageSupport()===$r.NotSupported?t.push("lt-toolbar__rephrasing-icon--hidden"):s.push("lt-toolbar__rephrasing-icon--hidden"),this._controls.extras?.classList.toggle("lt-toolbar__extras--hide",[ba.DISABLED,ba.DISCONNECTED,ba.PERMISSION_REQUIRED].includes(this._state.checkStatus)),clearTimeout(this._premiumIconTimeout),this._state.checkStatus){case ba.IN_PROGRESS:a.push("lt-toolbar__status-icon--loading");case ba.COMPLETED:case ba.TEXT_TOO_SHORT:0===this._state.errorsCount?a.push("lt-toolbar__status-icon--has-no-errors"):(a.push("lt-toolbar__status-icon--has-errors"),this._state.isIncompleteResult?(a.push("lt-toolbar__status-icon--has-more-errors"),o=Gr.MESSAGES.STATUS_ICON_MORE_ERRORS):this._state.errorsCount>99?a.push("lt-toolbar__status-icon--has-99plus-errors"):a.push(`lt-toolbar__status-icon--has-${this._state.errorsCount}-errors`)),this._state.premiumErrorsCount>0&&(a.includes("lt-toolbar__status-icon--has-errors")&&(n.push("lt-toolbar__premium-icon--visible"),this._wasToolbarSmall||r.push("lt-toolbar__premium-icon-dot--visible")),a.push("lt-toolbar__status-icon--has-premium-errors"),this._premiumIconTimeout=self.setTimeout((()=>this._notifyAboutPremiumIcon()),3e3),this._state.premiumErrorsCount<99?(a.push(`lt-toolbar__status-icon--has-${this._state.premiumErrorsCount}-premium-errors`),n.push(`lt-toolbar__premium-icon--has-${this._state.premiumErrorsCount}-errors`)):(a.push("lt-toolbar__status-icon--has-99plus-premium-errors"),n.push("lt-toolbar__premium-icon--has-99plus-errors"))),this._state.showNotification&&0===this._state.premiumErrorsCount&&r.push("lt-toolbar__premium-icon-dot--has-notification"),this._state.checkStatus===ba.TEXT_TOO_SHORT&&t.push("lt-toolbar__rephrasing-icon--disabled");break;case ba.PERMISSION_REQUIRED:a.push("lt-toolbar__status-icon--permission-required"),o=Gr.MESSAGES.STATUS_ICON_PERMISSION_REQUIRED;break;case ba.DISABLED:a.push("lt-toolbar__status-icon--disabled","lt-icon__disable"),o=Gr.MESSAGES.STATUS_ICON_DISABLED;break;case ba.TEXT_TOO_LONG:a.push("lt-toolbar__status-icon--text-too-long"),o=Gr.MESSAGES.STATUS_ICON_TEXT_TOO_LONG;break;case ba.UNSUPPORTED_LANGUAGE:a.push("lt-toolbar__status-icon--language-unsupported"),o=Gr.MESSAGES.STATUS_ICON_LANGUAGE_UNSUPPORTED;break;case ba.FAILED:a.push("lt-toolbar__status-icon--failed"),o=this._state.checkErrorMessage||Gr.MESSAGES.STATUS_ICON_FAIL;break;case ba.DISCONNECTED:a.push("lt-toolbar__status-icon--disconnected"),o=Gr.MESSAGES.STATUS_ICON_RELOAD_MESSAGE;break;case ba.NEEDS_LANGUAGE_HINT:a.push("lt-toolbar__status-icon--needs-language-hint")}var i,l,c;this._controls.statusIcon.className=a.join(" "),this._controls.statusIcon.title=o,this._controls.premiumIcon.className=n.join(" "),this._controls.premiumIconDot.className=r.join(" "),this._controls.divider.className=["lt-toolbar__divider"].join(" "),this._controls.disableIcon&&(this._controls.disableIcon.element.className=e.join(" ")),this._controls.rephrasingIcon&&(this._controls.rephrasingIcon.element.className=t.join(" ")),this._controls.rephrasingIconUnsupportedLanguage&&(this._controls.rephrasingIconUnsupportedLanguage.element.className=s.join(" ")),!this._parent||this._parent.contains(this._controls.container)&&"before"!==(i=this._controls.container,l=this._inputArea,4&(c=l.compareDocumentPosition(i))?"after":2&c?"before":null)||this._parent.children[this._parent.children.length-1]===this._controls.container||this._parent.appendChild(this._controls.container)}_preventFocusStealing(e){this._eventListeners.push(as(e,"mousedown",(e=>{e.stopImmediatePropagation(),e.preventDefault()})),as(e,"mouseup",(e=>{e.stopImmediatePropagation()})),as(e,"pointerdown",(e=>{e.stopImmediatePropagation()})),as(e,"pointerup",(e=>{e.stopImmediatePropagation()})))}_updateDisplaying(e=!1){if(this._destroyed)return;if(!this._controls.wrapper)return;if(this._renderOutsideIframe&&!ds(this._targetElement))return void this._hide();this._domMeasurement.clearCache();if(!this._appearance.isVisible(this._targetElement,this._domMeasurement))return void this._hide();this._isRTL=this._domMeasurement.isRTL(this._targetElement);const t=this._appearance.getPosition(this._targetElement,this._parentElement,this._domMeasurement,this._isRTL,Gr.TOOLBAR_SIZE),s={isRTL:this._isRTL};if([this._controls.disableIcon,this._controls.rephrasingIcon,this._controls.rephrasingIconUnsupportedLanguage].map((e=>e?.element.dispatchEvent(new CustomEvent(Nr,{detail:s})))),!t)return void this._hide();const a={left:t.left||""};t.fixed?(a.position="fixed !important",t.top?(a.top=`${t.top} !important`,a.bottom="auto !important"):(a.top="auto !important",a.bottom="12px !important")):(a.position="absolute !important",a.top=`${t.top} !important`,a.bottom="auto !important"),e&&(a["z-index"]=(this._appearance.getZIndex(this._targetElement,this._parentElement,this._domMeasurement)||"auto").toString()),st(this._currentStyles,a)?this._show():(this._currentStyles=a,this._domMeasurement.setStyles(this._controls.wrapper,a),this._render())}_hide(){this._controls.wrapper&&this._visible&&(this._visible=!1,this._controls.wrapper.classList.add("lt-toolbar__wrapper--hide"))}_show(){this._controls.wrapper&&(this._visible||(this._visible=!0,this._controls.wrapper.classList.remove("lt-toolbar__wrapper--hide")))}async toggleDisableMenu(e){if(this._isDisableMenuOpen=void 0===e?!this._isDisableMenuOpen:e,this._controls.wrapper?.classList.toggle("lt-toolbar__wrapper--expanded",this._isDisableMenuOpen),this._isDisableMenuOpen){const e=await async function(e,t){return await Va.createView(e,Hr,t)}(this._document,{isActive:this._isDisableMenuOpen,position:"top",menuItems:[{label:Gr.MESSAGES.PAUSE_CHECKING_MENU_ITEM,name:"pause",isClickable:!0,onClick:this._onPauseCheckingClick.bind(this)},{label:Gr.MESSAGES.DISABLE_CHECKING_MENU_ITEM,name:"disable_circle",isClickable:!0,onClick:this._onTurnOffClick.bind(this)}]});this._unmountDisableMenu(),e.appendTo(this._controls.wrapper),this._controls.disableMenu=e}else this._unmountDisableMenu()}_unmountDisableMenu(){this._controls.disableMenu&&(this._controls.disableMenu.unmount(),this._controls.disableMenu.element.remove())}_updateExtrasClassnameOnMouseOut(){clearTimeout(this._extrasMouseoverTimeout),this._controls.extras?.classList.remove("lt-toolbar__extras--mouseover"),this._controls.premiumIcon?.removeChild(this._controls.premiumIconTooltip)}_updateExtrasClassnameOnMouseOver(){this._extrasMouseoverTimeout=self.setTimeout((()=>this._controls.extras?.classList.toggle("lt-toolbar__extras--mouseover",!this._isDisableMenuOpen)),250),this._controls.premiumIcon?.appendChild(this._controls.premiumIconTooltip)}_showRephrasingCard(){if((!Ne(this._state.selection)||cs(this._state.text,this._state.sentenceRanges,this._state.selection))&&this._getLanguageSupport()===$r.Supported){const e={toolbar:this};ts(document,Gr.eventNames.showRephrasingCard,e)}}_decreaseSizeIfNeeded(){if(!this._controls.wrapper)return;if(!this._visible)return;if(this._destroyed)return;let e=this._domMeasurement.getBorderBox(this._controls.wrapper,!1);if(this._renderOutsideIframe){const n=this._domMeasurement.getContentBox(this._targetElement,!1);t=e,s=-n.left,a=-n.top,e=Object.assign({},t,{top:t.top+a,right:t.right+s,bottom:t.bottom+a,left:t.left+s})}var t,s,a;if(e.top<0||e.bottom>self.innerHeight)return;const n={left:e.left-6,top:e.top,right:e.right,bottom:e.bottom-2},r={x:Math.round(e.left)-1,y:Math.round(e.top)},o={x:Math.round(e.left)-1,y:Math.round(e.top+e.height/2)},i={x:Math.round(e.left)-1,y:Math.round(e.bottom)};this._mirror&&this._mirror.enableRangeMeasurements();const l=os(r);let c=os(o),g=os(i);this._mirror&&this._mirror.disableRangeMeasurements(),this._wasToolbarSmall=!0;const u=this._mirror?this._mirror.getCloneElement():this._inputArea;if(l&&Wt(u,l.startContainer)&&!this._isInToolbar(l.startContainer)){const e=l.getBoundingClientRect();if(this._isValidRangeRect(e)&&$t(e,n))return void this._decreaseSize()}if(is(c,l)&&(c=null),c&&Wt(u,c.startContainer)&&!this._isInToolbar(c.startContainer)){const e=c.getBoundingClientRect();if(this._isValidRangeRect(e)&&$t(e,n))return void this._decreaseSize()}if((is(g,l)||is(g,c))&&(g=null),g&&Wt(u,g.startContainer)&&!this._isInToolbar(g.startContainer)){const e=g.getBoundingClientRect();if(this._isValidRangeRect(e)&&$t(e,n))return void this._decreaseSize()}let d=null;if(c&&c.startOffset>0&&(d=new Range,d.setStart(c.startContainer,c.startOffset-1),d.setEnd(c.startContainer,c.startOffset-1)),(is(d,l)||is(d,c)||is(d,g))&&(d=null),d&&Wt(u,d.startContainer)&&!this._isInToolbar(d.startContainer)){if($t(d.getBoundingClientRect(),n))return void this._decreaseSize()}this._wasToolbarSmall=!1,this._increaseSize()}_isValidRangeRect(e){return e.width<40}_isInToolbar(e){return!!this._controls.container&&this._controls.container.contains(e)}_decreaseSize(){this._controls.wrapper&&(this._sizeDecreased||(this._sizeDecreased=!0,this._controls.wrapper.classList.add("lt-toolbar--small")))}_increaseSize(){this._controls.wrapper&&this._sizeDecreased&&(this._sizeDecreased=!1,this._controls.wrapper.classList.remove("lt-toolbar--small"))}_notifyAboutPremiumIcon(){if(this._hasNotifiedAboutPremiumIcon)return;this._hasNotifiedAboutPremiumIcon=!0;const e={toolbar:this};ts(document,Gr.eventNames.notifyAboutPremiumIcon,e)}_onUnload(){this.destroy()}_onClick(e){const t=es(e);if(![this._controls.wrapper,this._controls.statusIcon,this._controls.premiumIcon,this._controls.premiumIconDot].includes(t))return;e.stopImmediatePropagation();const s={toolbar:this};this._state.checkStatus===ba.PERMISSION_REQUIRED?ts(document,Gr.eventNames.permissionRequiredIconClicked,s):(this._wasToolbarSmall=this._sizeDecreased,ts(document,Gr.eventNames.toggleDialog,s))}_onTurnOffClick(e){e.stopImmediatePropagation();const t={toolbar:this};ts(document,Gr.eventNames.turnOff,t),this.toggleDisableMenu()}_onPauseCheckingClick(e){e?.stopImmediatePropagation();const t={toolbar:this};ts(document,Gr.eventNames.pauseChecking,t),this.toggleDisableMenu()}_isVertical(){return Gs(this._inputArea)||Ur.isSlide(this._inputArea)}_getLanguageSupport(){if(this._state.languageCode){return re.some((e=>kt.getPrimaryLanguageCode(e)===kt.getPrimaryLanguageCode(this._state.languageCode)))?$r.Supported:$r.NotSupported}return $r.NotDetected}updateState(e,t=!1){if(st(this._stateForComparison,e))return;this._stateForComparison=e;const s=void 0===e.checkStatus?this._state.checkStatus:e.checkStatus;let a=0,n=0;s===ba.COMPLETED&&(a=void 0===e.errorsCount?this._state.errorsCount:e.errorsCount,n=void 0===e.errorsCount?this._state.premiumErrorsCount:e.premiumErrorsCount);let r=void 0===e.isIncompleteResult?this._state.isIncompleteResult:e.isIncompleteResult,o="";s===ba.FAILED&&(o=void 0===e.checkErrorMessage?this._state.checkErrorMessage:e.checkErrorMessage),s===ba.IN_PROGRESS&&this._state&&(a=this._state.errorsCount,n=this._state.premiumErrorsCount),this._state={checkStatus:s,errorsCount:a,premiumErrorsCount:n,isIncompleteResult:r,checkErrorMessage:o,showNotification:e.showNotification,text:e.text,sentenceRanges:e.sentenceRanges,selection:e.selection,languageCode:e.languageCode},this._animationFrame=requestAnimationFrame((()=>{this._render(),this._updateDisplaying(t)}))}getContainer(){return this._controls.wrapper}destroy(){this._destroyed=!0,this._eventListeners.forEach((e=>{e.destroy()})),this._eventListeners=[];for(const e in this._controls)this._controls[e]&&(this._controls[e].element?(this._controls[e].unmount?.(),this._controls[e].element.remove()):this._controls[e].remove(),this._controls[e]=null);this._domMeasurement.clearCache(),this._renderInterval&&this._renderInterval.destroy(),this._decreaseSizeInterval&&this._decreaseSizeInterval.destroy(),self.removeEventListener("pagehide",this._onUnload,!0),cancelAnimationFrame(this._animationFrame),clearTimeout(this._premiumIconTimeout),this._scrollObserver&&this._scrollObserver.destroy()}}Gr.CONTAINER_ELEMENT_NAME="lt-toolbar",Gr.MENU_ELEMENT_NAME="lt-comp-menu",Gr.TOOLBAR_SIZE={width:20,height:20},Gr.eventNames={permissionRequiredIconClicked:"lt-toolbar.permissionRequiredIconClicked",toggleDialog:"lt-toolbar.toggleDialog",showRephrasingCard:"lt-toolbar.showRephrasingCard",notifyAboutPremiumIcon:"lt-toolbar.notifyAboutPremiumIcon",turnOff:"lt-toolbar.turnOff",pauseChecking:"lt-toolbar.pauseChecking"},Gr._isInitialized=!1;
112
+ /*! (C) Copyright 2022 LanguageTooler GmbH. All rights reserved. */
113
+ class Wr extends wr{async replaceText(e,t,s){if(e<0)return Promise.resolve();""===s&&(this._hasSpaceBefore(e)||0===e)&&this._hasSpaceAfter(e+t)&&(e=Math.max(e-1,0),t+=1);const a=this._inputArea.ownerDocument.createRange();let n=null,r=null;for(let s=this._getTextChunkIndex(e);s<this._textChunks.length;s++){const{node:o,isTextNode:i,rawText:l,parsedText:c,parsedTextOffset:g}=this._textChunks[s];if(!i)continue;if(e>=g&&e<g+c.length){const t=this._offsetInRawText(l,c,e-g);a.setStart(o,t),n=o}if(e+t>=g&&e+t<=g+c.length){const s=this._offsetInRawText(l,c,e+t-g);a.setEnd(o,s),r=o;break}}if(!n||!r)return Promise.resolve();const o=a.getBoundingClientRect(),i=new xr(["mouseout","mouseover","mousemove","mousedown","mouseup","pointerout","pointerover","pointermove","pointerdown","pointerup","click","dblclick"]);try{wr._simulateMouseDown(n.parentElement||this._inputArea,o),i.mute(),await Mt(25),i.unmute(),wr._simulateMouseMove(r.parentElement||this._inputArea,o),wr._simulateMouseUp(r.parentElement||this._inputArea,o);const l=self.getSelection();l.removeAllRanges(),l.addRange(a),i.mute(),await Mt(125),i.unmute(),!s&&t>0?await this.simulateDelete():ss(this._inputArea,s),i.mute(),await Mt(100),i.unmute(),this.setSelection({start:e+s.length})}finally{i.unmute()}}}
114
+ /*! (C) Copyright 2022 LanguageTooler GmbH. All rights reserved. */
115
+ class jr extends wr{_getSelectionElements(){const e=this._inputArea.closest(jr.EDITOR_CONTAINER_SELECTOR);if(!e)return[];const t=Array.from(e.querySelectorAll(jr.SELECTION_ELEMENTS_SELECTOR)).map((e=>({element:e,rect:e.getBoundingClientRect()})));return t.sort(((e,t)=>e.rect.top===t.rect.top?e.rect.left-t.rect.left:e.rect.top-t.rect.top)),t.map((e=>e.element))}_getCursorElements(){const e=this._inputArea.closest(jr.EDITOR_CONTAINER_SELECTOR);return e?Array.from(e.querySelectorAll(jr.CURSOR_ELEMENTS_SELECTOR)):[]}_getTextNodeAtPoint(e,t,s,a=!1){e+=a?-1:1;let n=null,r=.25;do{if(n=document.elementFromPoint(e,t+s*r),"SPAN"===n?.nodeName){let s=new Range;const a=Cr.create(n);for(;a.next();){const n=a.currentNode;if(bs(n)){s.setStart(n,0),s.setEnd(n,n.textContent?.length||0);if(Ft(s.getBoundingClientRect(),e,t))return n}}}r+=.25}while(r<1);return null}_getSelectionOffset(e,t=!1){const s=e.getBoundingClientRect(),a=this._getTextNodeAtPoint(t?s.right:s.left,s.top,s.height,t);if(!a?.textContent)return null;let n=Number.MAX_VALUE,r=0;const o=new Range;t?o.setStart(a,0):o.setEnd(a,a.textContent.length);for(let e=0;e<=a.textContent.length;e++){let i=0;if(t?(o.setEnd(a,e),i=Math.abs(o.getBoundingClientRect().right-s.right)):(o.setStart(a,e),i=Math.abs(o.getBoundingClientRect().left-s.left)),!(i<n))break;n=i,r=e}return{node:a,offset:r}}async replaceText(e,t,s){if(e<0)return Promise.resolve();const a=this._inputArea.closest(jr.EDITOR_CONTAINER_SELECTOR);if(!a)return Promise.resolve();const n=a.querySelector(jr.PASTE_TEXTAREA_SELECTOR);if(!n)return Promise.resolve();""===s&&(this._hasSpaceBefore(e)||0===e)&&this._hasSpaceAfter(e+t)&&(e=Math.max(e-1,0),t+=1);const r=this._inputArea.ownerDocument.createRange();let o=null,i=null;for(let s=this._getTextChunkIndex(e);s<this._textChunks.length;s++){const{node:a,isTextNode:n,rawText:l,parsedText:c,parsedTextOffset:g}=this._textChunks[s];if(!n)continue;if(e>=g&&e<g+c.length){const t=this._offsetInRawText(l,c,e-g);r.setStart(a,t),o=a}if(e+t>=g&&e+t<=g+c.length){const s=this._offsetInRawText(l,c,e+t-g);r.setEnd(a,s),i=a;break}}if(!o||!i)return Promise.resolve();let l=r.getBoundingClientRect();wr._simulateMouseDown(o.parentElement||this._inputArea,l),l=r.getBoundingClientRect(),wr._simulateMouseMove(i.parentElement||this._inputArea,l,!0),wr._simulateMouseUp(i.parentElement||this._inputArea,l),!s&&t>0?await this.simulateDelete():(ss(n,s),n.value=""),this.setSelection({start:e+s.length})}getSelection(){let e=null,t=null;const s=this._getSelectionElements(),a=this._getCursorElements();if(s.length?(e=this._getSelectionOffset(s[0]),t=this._getSelectionOffset(s[s.length-1],!0)):1===a.length&&(e=this._getSelectionOffset(a[0]),t=e),!e||!t)return null;const n=this._getTextOffset(e.node,e.offset);return{start:n,end:e===t?n:this._getTextOffset(t.node,t.offset)}}}jr.EDITOR_CONTAINER_SELECTOR="div.CodeMirror",jr.PASTE_TEXTAREA_SELECTOR="div.CodeMirror textarea",jr.SELECTION_ELEMENTS_SELECTOR="div.CodeMirror-lines div.CodeMirror-selected",jr.CURSOR_ELEMENTS_SELECTOR="div.CodeMirror-cursors div.CodeMirror-cursor";
116
+ /*! (C) Copyright 2022 LanguageTooler GmbH. All rights reserved. */
117
+ class Vr{static _isTextAreaEditor(e){const t=e.closest(Vr.EDITOR_CONTAINER_SELECTOR);return!!t&&Wt(t,Vr.EDITOR_TEXTAREA_SELECTOR)}static _isCEElementEditor(e){if("true"!==e.getAttribute("contenteditable"))return!1;const t=e.closest(Vr.EDITOR_CONTAINER_SELECTOR);return!!t&&!Wt(t,Vr.EDITOR_TEXTAREA_SELECTOR)}static isEditorPart(e){return e.matches(this.EDITOR_TEXTAREA_SELECTOR)}static getEditor(e){const t=e.closest(this.EDITOR_CONTAINER_SELECTOR);if(!t)return[];const s=t.querySelector(this.EDITOR_SELECTOR);return s?[s]:[]}static isEditor(e){return this._isTextAreaEditor(e)||this._isCEElementEditor(e)}static isTextMode(e){const t="LanguageTool_isTextMode",s=e.ownerDocument;n.executeScript(s,`\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst TEXT_MODES = [\n\t\t\t\t\t\t\t"null",\n\t\t\t\t\t\t\t"htmlmixed",\n\t\t\t\t\t\t\t"htmlembedded",\n\t\t\t\t\t\t\t"markdown",\n\t\t\t\t\t\t\t"mbox",\n\t\t\t\t\t\t\t"textile",\n\t\t\t\t\t\t\t"tiddlywiki",\n\t\t\t\t\t\t\t"tiki",\n\t\t\t\t\t\t\t"xml",\n\t\t\t\t\t\t\t"mediawiki",\n\t\t\t\t\t\t\t"mw-tag-nowiki",\n\t\t\t\t\t\t\t"mw-tag-pre",\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\tconst modes = Object.keys(CodeMirror.modes);\n\t\t\t\t\t\tconst isTextMode = modes.every(mode => TEXT_MODES.includes(mode));\n\t\t\t\t\t\tdocument.body.dataset.${t} = isTextMode;\n\t\t\t\t\t} catch(e) { }\n\t\t\t\t`);const a=s.body.dataset[t]||"";s.body.dataset[t]="";if(location.hostname.endsWith("epd.de"))return Math.random()<.1&&(n.executeScript(s,'\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tdocument.body.dataset.ltCodeMirrorModes = Object.keys(CodeMirror.modes).join(",") + "|" + Object.keys(CodeMirror.modes).length;\n\t\t\t\t\t\t} catch(e) { }\n\t\t\t\t\t'),Pt.trackEvent("Debug","unsupported_code_mirror_modes_epd",a+":"+typeof document.body.dataset.ltCodeMirrorModes+":"+document.body.dataset.ltCodeMirrorModes)),!0;if("true"===a)return!0;if("false"===a)return!1;const r=e.closest(Vr.EDITOR_CONTAINER_SELECTOR);if(!r)return!1;if(Array.from(r.classList).some((e=>e.startsWith("cm-s")&&"cm-s-default"!==e)))return!1;return!Wt(r,this.LINE_NUMBERS_SELECTOR)}static hasFocus(e){return this.isEditor(e)}constructor(e){this._inputArea=e}_getScrollContainer(){return this._inputArea.closest(Vr.EDITOR_SCROLL_CONTAINER_SELECTOR)}_isEditorRTL(){return this._inputArea.matches(Vr.RTL_EDITOR_SELECTOR)}getInputAreaWrapperKeyboardEventTarget(){return Vr._isTextAreaEditor(this._inputArea)?this._inputArea.closest(Vr.EDITOR_CONTAINER_SELECTOR)||this._inputArea:(Vr._isCEElementEditor(this._inputArea),this._inputArea)}addScrollEventListener(e){this._getScrollContainer().addEventListener("scroll",e)}removeScrollEventListener(e){this._getScrollContainer().removeEventListener("scroll",e)}getInputAreaWrapper(e,t){return Vr._isTextAreaEditor(this._inputArea)?new jr(this._inputArea,e,t):Vr._isCEElementEditor(this._inputArea)?new Wr(this._inputArea,e,t):new wr(this._inputArea,e,t)}getToolbarPosition(e,t,s,a){const n=jt(this._inputArea,Vr.EDITOR_CONTAINER_SELECTOR),r=this._isEditorRTL(),o=e.getPosition(n,t,s,r,a);return o?(o.top&&(o.top=function(e,t){const a=parseInt(e);if(isNaN(a))return e;const n=t.querySelector(Vr.HORIZONTAL_SCROLLBAR_SELECTOR);if(!n)return e;const{height:r}=s.getBorderBox(n,!1,!1);return a-r+"px"}(o.top,n)),o.left&&(o.left=function(e,t,a){const n=parseInt(e);if(isNaN(n))return e;if(a){const a=t.querySelector(Vr.SIZER_SELECTOR);if(!a)return e;const r=parseInt(s.getStyle(a,"margin-left"));return isNaN(r),n+r+"px"}{const a=t.querySelector(Vr.VERTICAL_SCROLLBAR_SELECTOR);if(!a)return e;const{width:r}=s.getBorderBox(a,!1,!1);return n-r+"px"}}(o.left,n,r)),o):o}}Vr.EDITOR_CONTAINER_SELECTOR="div.CodeMirror",Vr.EDITOR_SCROLL_CONTAINER_SELECTOR="div.CodeMirror div.CodeMirror-scroll",Vr.EDITOR_TEXTAREA_SELECTOR="div.CodeMirror textarea",Vr.EDITOR_SELECTOR="div.CodeMirror div.CodeMirror-scroll div.CodeMirror-code",Vr.LINE_NUMBERS_SELECTOR="div.CodeMirror-gutter-wrapper",Vr.RTL_EDITOR_SELECTOR=".CodeMirror-rtl",Vr.HORIZONTAL_SCROLLBAR_SELECTOR="div.CodeMirror div.CodeMirror-hscrollbar, div.CodeMirror div.CodeMirror-simplescroll-horizontal, div.CodeMirror div.CodeMirror-overlayscroll-horizontal",Vr.VERTICAL_SCROLLBAR_SELECTOR="div.CodeMirror div.CodeMirror-vscrollbar, div.CodeMirror div.CodeMirror-simplescroll-vertical, div.CodeMirror div.CodeMirror-overlayscroll-vertical",Vr.SIZER_SELECTOR="div.CodeMirror div.CodeMirror-sizer";
118
+ /*! (C) Copyright 2022 LanguageTooler GmbH. All rights reserved. */
119
+ class qr extends wr{_updateText(){const e=[];let t=0,s=null,a=!0,n=!1;const r=Cr.create(this._inputArea);let o=!1;do{const i=r.currentNode;null===s&&(s=this._ceElementInspector.getParagraphLastValuableNode(i)),o=!1;let l=!1,c="";if(vs(i))if(c=this._ceElementInspector.getReplacementText(i),i===s&&(s=null,this._ceElementInspector.isTextEndsWithLineBreak(i)&&(a=!0,n=!1,c+="\n\n")),this._ceElementInspector.isSkippingElement(i)){if(o=!0,s=null,!c)continue}else this._ceElementInspector.isBlock(i)?(s=null,a=!0,n=!1):this._ceElementInspector.isBr(i)&&(s=null,a=!0,n=!1,!c&&this._ceElementInspector.isBRElementRelevant(i)&&(c="\n\n"));else if(bs(i)&&(l=!0,c=this._ceElementInspector.getParsedText(i),c)){const e=null===s||s===i;this._ceElementInspector.getParsingOptions(i).preserveWhitespaces||((a||n)&&(c=c.replace(wr.LEADING_WHITESPACES_REGEXP,"")),e&&(c=c.replace(wr.TRAILING_WHITESPACES_REGEXP,""))),a=a&&""===c,n=we(c),s===i&&(s=null,this._ceElementInspector.isTextEndsWithLineBreak(i)&&(a=!0,n=!1,c+="\n\n"))}if(e.push({node:i,isTextNode:l,rawText:l?i.nodeValue:"",parsedText:c,parsedTextOffset:t}),t+=c.length,t>this._textLengthThreshold)break}while(r.next(o));let i="";for(const t of e)i+=t.parsedText;const l=this._text!==i;return this._text=i,this._textChunks=e,l}async _applyReplacement(e){const t=this._getRelativeTextReplacementOffset(e);if(!t)return Promise.resolve();const{from:s,to:a,textNode:n}=t;wr._selectText(n,s,a),(wt.isFirefox()||wt.isThunderbird())&&e.replacementText.includes(wr.NBSP)?this.manuallyInsertText(n,e):e.replacementText||s===a?this.insertText(e.replacementText):await this.simulateDelete()}}class Kr{static isEditor(e){if(!e.matches(this.EDITOR_SELECTOR))return!1;return!("true"===e.getAttribute("aria-readonly"))}static isTextMode(e){const t=["markdown"],s=e.dataset.language;if(s)return t.includes(s);if(e.querySelectorAll(Kr.LINE_SELECTOR).length>=10){const t=Array.from(e.querySelectorAll(this.HIGHLIGHTING_ELEMENTS_SELECTOR));for(const e of t){if(Array.from(e.classList).some((e=>e.length<3)))return!1}return!0}const a=e.closest(Kr.EDITOR_CONTAINER_SELECTOR);if(!a)return!1;return!Wt(a,this.LINE_NUMBERS_SELECTOR)}static createMutationObserver(e){return new Br(e,this._isMutationIgnored)}constructor(e){this._inputArea=e}isElementIgnored(e){if(e.matches(Kr.LINE_SELECTOR)){if((!e.previousElementSibling||e.previousElementSibling.matches(Kr.UNEDITABLE_ELEMENT_SELECTOR))&&e.nextElementSibling?.matches(Kr.UNEDITABLE_ELEMENT_SELECTOR)||(!e.nextElementSibling||e.nextElementSibling.matches(Kr.UNEDITABLE_ELEMENT_SELECTOR))&&e.previousElementSibling?.matches(Kr.UNEDITABLE_ELEMENT_SELECTOR)){return this._inputArea.querySelectorAll(Kr.LINE_SELECTOR).length>1}}return!1}getCacheInvalidationRules(e){return Object.assign({},e,{isSkippingElement:{self:{attributes:["class"]},parent:{childList:!0},sibling:{attributes:["contenteditable"]}},replacementText:{},parsedText:{self:{characterData:!0}},paragraphLastValuableNode:{self:{attributes:["id","style"],characterData:!0},ancestor:{attributes:["id","style"]},blockSibling:{attributes:["id","style"],characterData:!0},any:{attributes:["class"],childList:!0}},isBRElementRelevant:{self:{attributes:["id","style"]},ancestor:{attributes:["id","style"]},blockSibling:{attributes:["id","style"],characterData:!0},any:{attributes:["class"],childList:!0}},isParagraphNonEmpty:{self:{attributes:["id","style"]},ancestor:{attributes:["id","style"]},descendant:{attributes:[],characterData:!0},any:{attributes:["class"],childList:!0}}})}addScrollEventListener(e){this.getScrollContainer().addEventListener("scroll",e)}removeScrollEventListener(e){this.getScrollContainer().removeEventListener("scroll",e)}getInputAreaWrapper(e,t){return new qr(this._inputArea,e,t)}getScrollContainer(){return this._inputArea.closest(Kr.EDITOR_SCROLL_CONTAINER_SELECTOR)}}Fr=Kr,Kr.EDITOR_CONTAINER_SELECTOR="div.cm-editor",Kr.EDITOR_SCROLL_CONTAINER_SELECTOR="div.cm-scroller",Kr.EDITOR_SELECTOR="div.cm-editor div.cm-scroller div.cm-content[contenteditable=true]",Kr.LINE_NUMBERS_SELECTOR="div.cm-lineNumbers",Kr.LINE_SELECTOR="div.cm-line",Kr.HIGHLIGHTING_ELEMENTS_SELECTOR="div.cm-line *[class]",Kr.UNEDITABLE_ELEMENT_SELECTOR="div[contenteditable=false]",Kr._isMutationIgnored=e=>{const t=e.target;if(!vs(t))return!1;return!!(Fr.isEditor(t)&&"attributes"===e.type&&"style"===e.attributeName||t.matches(Fr.LINE_SELECTOR)&&"attributes"===e.type&&"class"===e.attributeName)};
120
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
121
+ class Zr{static _getEditor(e){return jt(e,this.EDITOR_SELECTOR)}static _isEditableElement(e){return!(e.matches(this.UNEDITABLE_ELEMENT_SELECTOR)&&!Wt(e,this.EDITABLE_ELEMENT_SELECTOR))}static _isIgnoredWidget(e){if(this.UNEDITABLE_WIDGET_SELECTORS.some((t=>e.matches(t))))return!0;return!(!this.WIDGET_WITH_PLACEHOLDER_SELECTORS.some((t=>e.matches(t)))||!e.querySelector(this.PLACEHOLDER_SELECTOR))}static isEditorPart(e){return!!jt(e,this.EDITOR_SELECTOR)}static isEditor(e){return e.matches(this.EDITOR_SELECTOR)}static getInitElements(e){let t=this._getEditor(e);return t?[t]:[e]}static isElementCompatible(e){return Zr.isEditor(e)}static hasFocus(e){return Zr.isEditor(e)}static isElementIgnored(e,t){const s=e.tagName.toUpperCase();return!!kr.SKIPPING_TAGS.includes(s)||("none"===t.display||(!this._isEditableElement(e)||(!!e.matches(this.MEDIA_PLACEHOLDER_SELECTOR)||(!!e.matches(this.TINY_MCE_TOOLBAR_SELECTOR)||(!!this._isIgnoredWidget(e)||!("SUP"!==s||!e.textContent)&&kr.SUP_REGEXP.test(e.textContent.trim()))))))}}Zr.EDITOR_SELECTOR=".block-editor-writing-flow",Zr.UNEDITABLE_ELEMENT_SELECTOR="[contenteditable='false']",Zr.EDITABLE_ELEMENT_SELECTOR="[contenteditable='true']",Zr.MEDIA_PLACEHOLDER_SELECTOR="div.block-editor-media-placeholder",Zr.TINY_MCE_TOOLBAR_SELECTOR=".block-library-classic__toolbar",Zr.UNEDITABLE_WIDGET_SELECTORS=["div[data-type='core/nextpage']","div[data-type='core/archives']","div[data-type='core/calendar']","div[data-type='core/categories']","div[data-type='core/html']","div[data-type='core/latest-comments']","ul[data-type='core/latest-posts']","ul[data-type='core/page-list']","div[data-type='core/rss']","div[data-type='core/search']","div[data-type='core/shortcode']","ul[data-type='core/social-links']","div[data-type='core/tag-cloud']","nav[data-type='core/navigation']","div[data-type='core/site-logo']","h1[data-type='core/site-title']","div[data-type='core/query']","div[data-type='core/avatar']","h2[data-type='core/post-title']","figure[data-type='core/post-featured-image']","div[data-type='core/post-content']","div[data-type='core/post-author']","div[data-type='core/comments-query-loop']","div[data-type='core/loginout']","div[data-type='core/term-description']","h1[data-type='core/query-title']","div[data-type='core/post-author-biography']","div[data-type='core/post-author-name']","div[data-type='core/post-comments-count']","div[data-type='core/post-comments-form']","div[data-type='core/post-comments-link']"],Zr.WIDGET_WITH_PLACEHOLDER_SELECTORS=["div[data-type='core/post-excerpt'] > p.wp-block-post-excerpt__more-text","div[data-type='core/post-navigation-link']","a[data-type='core/read-more']"],Zr.PLACEHOLDER_SELECTOR="[data-rich-text-placeholder]";
122
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
123
+ class Xr{static _splitExcludedPart(e,t,s){const a=[],n=e.substr(t,s);let r=0,o=n.indexOf("\n");for(;-1!==o;)a.push({offset:t+r,length:o-r}),r=o+1,o=n.indexOf("\n",o+1);return a.push({offset:t+r,length:n.length-r}),a}static _getReplacedParts(e,t,s){const a=[];for(const s of t){const t=Le(e,s.pattern);for(const n of t){let t=n.index;if(void 0===s.excludedParts){const r=n[0].length;s.preserveNewlineChars?a.push(...Xr._splitExcludedPart(e,t,r)):a.push({offset:t,length:r})}else for(let r=0;r<s.excludedParts.length;r++){if(void 0===n[r+1])continue;const o=n[r+1].length,i=s.excludedParts[r];("boolean"==typeof i?i:i.test(n[r+1]))&&(s.preserveNewlineChars?a.push(...Xr._splitExcludedPart(e,t,o)):a.push({offset:t,length:o})),t+=o}}}for(const t of s){const s=Le(e,t.pattern);for(const e of s)if("replacingText"in t){const s=e.index,n=e[0].length;a.push({offset:s,length:t.replacingText.length,replacingText:t.replacingText}),a.push({offset:s+t.replacingText.length,length:n-t.replacingText.length})}else"getReplacedParts"in t&&a.push(...t.getReplacedParts(e))}return a}static _testString(e,t,s=!1){Array.isArray(t)||(t=[t]);for(const a of t)if("string"==typeof a){if(e===a||s&&e.startsWith(a))return!0}else if(a.test(e))return!0;return!1}static getEmail(e){const t=Xr.EMAIL_REGEXP.exec(e);if(!t)return"";return t[0].replace(Xr.EMAIL_DOMAIN_REGEXP,"@replaced.domain").trim()}static getFullName(e){return e.replace(Xr.EMAIL_REGEXP,"").replace(Xr.ADDRESS_SPECIAL_CHARS_REGEXP,"").trim()}static getSiteTweaks(e){const t=gt(e,"");if(!t)return Xr.DEFAULT_SITE_TWEAKS;const s=pt(t);for(const t of Xr.SITE_TWEAKS_RULES){let a=!0;if("hostname"in t.precondition){const e=t.precondition.hostname;a=s.some((t=>Xr._testString(t,e)))}else"url"in t.precondition&&(a=Xr._testString(e,t.precondition.url));if(a&&t.precondition.isMatch&&(a=t.precondition.isMatch(s,e)),a)return Object.assign({},Xr.DEFAULT_SITE_TWEAKS,t)}return Xr.DEFAULT_SITE_TWEAKS}static getInputAreaTweaks(e,t){const s=Xr.DEFAULT_INPUT_AREA_TWEAKS_FACTORY(t),a=gt(e,"");if(!a)return s;const n=pt(a);for(const a of Xr.INPUT_AREA_TWEAKS_RULES){let r=!0;if("hostname"in a.precondition){const e=a.precondition.hostname;r=n.some((t=>Xr._testString(t,e)))}else"url"in a.precondition&&(r=Xr._testString(e,a.precondition.url));if(r&&a.precondition.isMatch&&(r=a.precondition.isMatch(t)),r)return Object.assign({},s,a.create(t,s))}return s}}Xr.EMAIL_REGEXP=/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/gi,Xr.EMAIL_DOMAIN_REGEXP=/@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i,Xr.ADDRESS_SPECIAL_CHARS_REGEXP=/["'`<>]/g,Xr.NON_COMPATIBLE_TAGS=["TR","TH","TD","THEAD","TBODY","TFOOT","CAPTION","IFRAME"],Xr.INLINE_DISPLAY_VALUES=["inline","inline-block","inline-flex"],Xr.TEXT_IGNORING_DEFAULT_RULES=new Map([["QUOTED_LINE",{pattern:/^[ \t]*>.*$/gm,preserveNewlineChars:!1}],["HTML_CODE_BLOCK",{pattern:/\s?<code\b[^>]*>[^]*?<\/code>/gi,preserveNewlineChars:!0}],["MARKDOWN_BOLD_1",{pattern:/(^|\s|\s\()(_|~~)?(\*\*)([^\s\*](?:.*?\S)?)(\*\*)(\2)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!1,!0,!1,!0,!1,!1]}],["MARKDOWN_BOLD_2",{pattern:/(^|\s|\s\()(\*|~~)?(__)([^\s_](?:.*?\S)?)(__)(\2)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!1,!0,!1,!0,!1,!1]}],["MARKDOWN_ITALIC_1",{pattern:/(^|\s|\s\()(__|~~)?(\*)([^\s\*](?:.*?\S)?)(\*)(\2)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!1,!0,!1,!0,!1,!1]}],["MARKDOWN_ITALIC_2",{pattern:/(^|\s|\s\()(\*\*|~~)?(_)([^\s_](?:.*?\S)?)(_)(\2)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!1,!0,!1,!0,!1,!1]}],["MARKDOWN_BOLD_AND_ITALIC_1",{pattern:/(^|\s|\s\()(\*\*\*)([^\s\*](?:.*?\S)?)(\*\*\*)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!0,!1,!0,!1]}],["MARKDOWN_BOLD_AND_ITALIC_2",{pattern:/(^|\s|\s\()(___)([^\s_](?:.*?\S)?)(___)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!0,!1,!0,!1]}],["MARKDOWN_STRIKETHROUGH",{pattern:/(^|\s|\s\()(\*|\*\*|_|__)?(~~)([^\s~](?:.*?\S)?)(~~)(\2)([\s.!?,:;\)]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!1,!0,!1,!0,!1,!1]}],["MARKDOWN_MULTILINE_CODE_BLOCK",{pattern:/(^|[^`])(```)(?!`)([^]*?[^`])(```)(?=[^`]|$)/gm,preserveNewlineChars:!0,excludedParts:[/^\s$/,!0,!0,!0]}],["MARKDOWN_IMAGE_WITHOUT_TITLE",{pattern:/(!\[(?:(?:Uploading\s)?(?:Screen\sShot\s|Bildschirmfoto\s)?)?)([^\[\]]+)(\]\(\s*[^()"'\s]*\s*\))/g,preserveNewlineChars:!0,excludedParts:[!0,!1,!0]}],["MARKDOWN_IMAGE_WITH_TITLE",{pattern:/(!\[)([^\[\]]+)(\]\(\s*[^()"'\s]+)(\s+)(["'])([^]*?)(\5\s*\))/g,preserveNewlineChars:!0,excludedParts:[!0,!1,!0,!1,!0,!1,!0]}],["MARKDOWN_LINK_WITHOUT_TITLE",{pattern:/(\[)([^\[\]]+)(\]\(\s*[^()"'\s]+\s*\))/g,preserveNewlineChars:!0,excludedParts:[!0,!1,!0]}],["MARKDOWN_LINK_WITH_TITLE",{pattern:/(\[)([^\[\]]+)(\]\(\s*[^()"'\s]+)(\s+)(["'])([^]*?)(\5\s*\))/g,preserveNewlineChars:!0,excludedParts:[!0,!1,!0,!1,!0,!1,!0]}],["BBCODE_CODE_BLOCK",{pattern:/\s?\[code\][^]*?\[\/code\]/gi,preserveNewlineChars:!0}],["JIRA_CODE_BLOCK",{pattern:/\s?{code(:[a-z0-9#]+)?}[^]*?{code}/gi,preserveNewlineChars:!0}],["TEXTILE_STRIKETHROUGH",{pattern:/(^|\s)(~)([^\s~](?:.*?\S)?)(~)([\s.!?,:;]|$)/g,preserveNewlineChars:!1,excludedParts:[!1,!0,!1,!0,!1]}],["TEXTILE_BLOCK_TAG",{pattern:/^(h[1-6]|bq|bc|p|pre|###|notextile)\./gim,preserveNewlineChars:!1}],["WIKITEXT_LINK_WITHOUT_TITLE",{pattern:/(\[\[)([a-z:][^|\]\n]*)(\]\])/gi,preserveNewlineChars:!1,excludedParts:[!0,!1,!0]}],["WIKITEXT_LINK_WITH_TITLE",{pattern:/(\[\[[a-z:][^|\]\n]*\|)([^\]\n]+)(]])/gi,preserveNewlineChars:!1,excludedParts:[!0,!1,!0]}],["EMOTICONS_LTR",{pattern:/(^|\s+)([:;|=][-~^]?[()\[\]\\/|@$*#&XxDOoPp])(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["EMOTICONS_LTR_2",{pattern:/(^|\s+)([8B%][-~^][D()\[\]])(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["EMOTICONS_LTR_3",{pattern:/(^|\s+)([:;%|=][-~^]?3)(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["EMOTICONS_RTL",{pattern:/(^|\s+)([()[\]\\/|@$*#&XxDOo][-~^]?[:;%|])(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["XD_SMILE",{pattern:/(^|\s+)([xX]D)(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["HEART_SMILE",{pattern:/(^|\s+)(<[\\/]?3)(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}],["JIRA_SMILEYS",{pattern:/(^|\s+)\(([-+!?ynxi]|(\*[rgby]?)|on|off|flag|flagoff)\)(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,preserveNewlineChars:!0}]]),Xr.TEXT_IGNORING_DEFAULT_RULES_ARRAY=Array.from(Xr.TEXT_IGNORING_DEFAULT_RULES.values()),Xr.TEXT_REPLACING_DEFAULT_RULES=new Map([["BR_TAG",{pattern:/<([a-z]+:)?br(\s[^>]*)?\/?>/gi,replacingText:"\n"}],["HTML_ENTITY",{pattern:/&(amp|quot|lt|gt);/gi,replacingText:"⁣"}],["HTML_COMMENT",{pattern:/<!-- .*? -->/gi,replacingText:"⁣"}],["HTML_OPENING_TAG",{pattern:/<([a-z]+:)?(html|xml|base|head|link|meta|style|title|body|address|article|aside|footer|header|h1|h2|h3|h4|h5|h6|main|nav|section|blockquote|dd|div|dl|dt|figcaption|figure|hr|li|ol|p|pre|ul|a|abbr|b|bdi|bdo|cite|code|data|dfn|em|i|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var|wbr|area|audio|img|map|track|video|embed|iframe|object|param|picture|portal|source|svg|canvas|noscript|script|del|ins|caption|col|colgroup|table|tbody|td|tfoot|th|thead|tr|button|datalist|fieldset|form|input|label|legend|meter|optgroup|option|output|progress|select|textarea|details|dialog|menu|summary|slot|template|acronym|applet|basefont|bgsound|big|blink|center|content|dir|font|frame|frameset|hgroup|image|keygen|marquee|menuitem|nobr|noembed|noframes|plaintext|rb|rtc|shadow|spacer|strike|tt|xmp)(\s[^>]*)?>/gi,replacingText:"⁣"}],["HTML_CLOSING_TAG",{pattern:/<\/([a-z]+:)?(html|xml|base|head|link|meta|style|title|body|address|article|aside|footer|header|h1|h2|h3|h4|h5|h6|main|nav|section|blockquote|dd|div|dl|dt|figcaption|figure|hr|li|ol|p|pre|ul|a|abbr|b|bdi|bdo|cite|code|data|dfn|em|i|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var|wbr|area|audio|img|map|track|video|embed|iframe|object|param|picture|portal|source|svg|canvas|noscript|script|del|ins|caption|col|colgroup|table|tbody|td|tfoot|th|thead|tr|button|datalist|fieldset|form|input|label|legend|meter|optgroup|option|output|progress|select|textarea|details|dialog|menu|summary|slot|template|acronym|applet|basefont|bgsound|big|blink|center|content|dir|font|frame|frameset|hgroup|image|keygen|marquee|menuitem|nobr|noembed|noframes|plaintext|rb|rtc|shadow|spacer|strike|tt|xmp)>/gi,replacingText:"⁣"}],["SVG_OPENING_TAG",{pattern:/<([a-z]+:)?(a|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|image|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|script|set|solidcolor|stop|style|svg|switch|symbol|text|textPath|title|tref|tspan|unknown|use|view|vkern)(\s[^>]*)?>/gi,replacingText:"⁣"}],["SVG_CLOSING_TAG",{pattern:/<\/([a-z]+:)?(a|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|image|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|script|set|solidcolor|stop|style|svg|switch|symbol|text|textPath|title|tref|tspan|unknown|use|view|vkern)>/gi,replacingText:"⁣"}],["SELF_CLOSED_TAG",{pattern:/<([a-z]+:)?[a-z][^\/]*\/>/gi,replacingText:"⁣"}],["PAIRED_TAGS",{pattern:/(<)((?:[a-z]+:)?[a-z][^\s>]*)(\s[^>]*)?(>)(?=([^]*?)(<\/\2>))/gi,getReplacedParts:e=>{if("code"===e[2].toLowerCase())return[];const t=e.index,s=e[1].length+e[2].length+(e[3]?e[3].length:0)+e[4].length,a=t+s+e[5].length;return[{offset:t,length:1,replacingText:"⁣"},{offset:t+1,length:s-1},{offset:a,length:1,replacingText:"⁣"},{offset:a+1,length:e[6].length-1}]}}],["BBCODE_OPENING_TAG",{pattern:/\[(img|url|email|post|quote|list|youtube|vimeo|googlemaps|googlewidget|code|modalurl|topic|highlight|left|center|right|font|size|color|s|u|i|b|style|table|tr|td)\b[^\]\n]*\]/gi,replacingText:"⁣"}],["BBCODE_CLOSING_TAG",{pattern:/\[\/(img|url|email|post|quote|list|youtube|vimeo|googlemaps|googlewidget|code|modalurl|topic|highlight|left|center|right|font|size|color|s|u|i|b|style|table|tr|td)\]/gi,replacingText:"⁣"}],["DOUBLE_CURLY_BRACKET_TAG",{pattern:/{{[\/\^\!#]?[a-z0-9_\-]+}}/gi,replacingText:"⁣"}],["TRIPLE_CURLY_BRACKET_TAG",{pattern:/{{{[\/\^\!#]?[a-z0-9_\-]+}}}/gi,replacingText:"⁣"}],["WORDPRESS_TAG",{pattern:/\[[a-z0-9_\-]+\s[a-z0-9_\-]+=.+?\]/gi,replacingText:"⁣"}],["MARKDOWN_INLINE_CODE_BLOCK",{pattern:/(^|\s|\s\()`([^`\n]+)`([\s.!?,:;\)]|$)/g,getReplacedParts:e=>{const t=e.index+e[1].length+1;return[{offset:t,length:1,replacingText:"⁣"},{offset:t+1,length:e[2].length-1}]}}],["JIRA_OPENING_OR_CLOSING_TAG",{pattern:/{(color|code|noformat|quote)(:[a-z0-9#]+)?}/gi,replacingText:"⁣"}],["EMOJI",{pattern:/(^|\s+)(\:\w+\:)(\s+(?=[,.!?)]|$)|(?=[\s,.!?)]|$))/gm,replacingText:"⁣"}]]),Xr.TEXT_REPLACING_DEFAULT_RULES_ARRAY=Array.from(Xr.TEXT_REPLACING_DEFAULT_RULES.values()),Xr.DEFAULT_SITE_TWEAKS={init(){document.documentElement.setAttribute("data-lt-installed","true")},destroy(){document.documentElement&&document.documentElement.removeAttribute("data-lt-installed")},isSupported:()=>!0,unsupportedMessage:()=>"",isBeta:()=>!1,persistTemporarySettings:()=>!1,onNewElement(e){},getInitElements:e=>Vr.isEditorPart(e)?Vr.getEditor(e):Zr.isEditorPart(e)?Zr.getInitElements(e):[e],shouldDisableOtherSpellCheckers:e=>!0,isElementCompatible(e){if(Xr.NON_COMPATIBLE_TAGS.includes(e.tagName))return!1;if(Vr.isEditor(e))return Vr.isTextMode(e);if(Zr.isEditor(e))return Zr.isElementCompatible(e);if(!((hs(e)||function(e){return e instanceof HTMLElement&&(e.isContentEditable||"BODY"===e.nodeName&&Kt(e))}(e))&&!e.readOnly))return!1;if("true"===e.getAttribute("data-lt-active"))return!0;if("false"===e.getAttribute("data-lt-active"))return!1;if("false"===document.documentElement.getAttribute("data-lt-active"))return!1;if(_s(e))return!1;if(Kr.isEditor(e))return Kr.isTextMode(e);if(e.classList.contains("ck-editor__nested-editable")&&e.parentElement&&e.parentElement.closest(".cke_editable"))return!1;if(e.parentElement&&e.parentElement.closest(".ql-editor"))return!1;if(Ws(e))return!0;if(function(e){try{const t=e.ownerDocument.defaultView.frameElement;return!!t&&t.classList.contains("arx-editor-frame")}catch(e){return!1}}(e))return!1;if(Bs(e)&&"true"===e.getAttribute("contenteditable"))return!0;if(e.classList.contains("cke_editable"))return!0;if(e.classList.contains("ve-ce-documentNode"))return!0;if(e.classList.contains("fr-element")&&!e.classList.contains("wsc-instance"))return!0;if(e.parentElement&&e.parentElement.classList.contains("wp-block-code"))return!1;const t=e.ownerDocument;if(zs(e)){const s="_isTinymceSpellcheckerActivated";return n.executeScript(t,`\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (window.parent.tinymce.get(document.body.dataset.id).plugins.tinymcespellchecker) {\n\t\t\t\t\t\t\tdocument.body.dataset.${s} = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch(e) {}\n\t\t\t\t\t`),!Boolean(e.dataset[s])}if(!(self.innerHeight>=20&&self.innerWidth>=100))return!1;if("false"===e.getAttribute("spellcheck")&&!e.lang)return!1;return!("0"===s.g.getComputedStyle(e).opacity)},hasFocus:e=>Vr.isEditor(e)?Vr.hasFocus(e):Zr.isEditor(e)?Zr.hasFocus(e):function(e){return e.matches(":focus")||"BODY"===e.nodeName&&Kt(e)&&e.ownerDocument.hasFocus()}(e),getEditorId:e=>Math.round(99999*Math.random())+":"+Date.now(),getEditorGroupId(e){try{return new URL(e).pathname}catch(e){return"unknown"}},getClickEvent:()=>"click",isClickEventIgnored:e=>!e.isTrusted,getSelectedText:()=>ls(),getSelectedHTML:()=>function(){const e=document.activeElement,t=e?e.tagName.toLowerCase():null;if("textarea"===t||"input"===t&&/^(?:text|search|password|tel|url)$/i.test(e.type)&&"number"==typeof e.selectionStart)return;const s=self.getSelection();if(!s||0===s.rangeCount)return;const a=s.getRangeAt(0).cloneContents(),n=document.createElement("div");return n.appendChild(a),n.innerHTML}()},Xr.DEFAULT_INPUT_AREA_WRAPPER_TWEAKS_FACTORY=function(e){return{createMutationObserver:e=>new MutationObserver(e),getParsingDetector(){const t=document.body&&document.body.dataset&&document.body.dataset.id&&document.body.dataset.id.includes("ZmHtmlEditor");let s=location.href.includes("/owa/")||!!document.querySelector(".owa-font-compose");try{s=s||self.parent.location.href.includes("/owa/")||!!self.parent.document.querySelector(".owa-font-compose")}catch(e){}let a=!1;try{a=!!self.parent.document.title.match(/roundcube/i)||!!self.parent.location.href.match(/_action=compose/i)}catch(e){}const n=zs(e),r=function(e){return e.classList.contains("lt-textarea__textarea")}(e),o=Hs(e);return{createMutationObserver:e=>new MutationObserver(e),isIgnored(e,t){const s=e.tagName.toUpperCase();return!!kr.SKIPPING_TAGS.includes(s)||("BLOCKQUOTE"===s&&!r||("none"===t.display||("false"===e.getAttribute("contenteditable")||"false"===e.getAttribute("spellcheck")?(!n||!e.classList.contains("user-hover"))&&!(e instanceof HTMLElement&&"inline"===t.display&&(!e.firstElementChild||1===e.childElementCount&&e.offsetWidth>0)):"SUP"===s&&e.textContent?kr.SUP_REGEXP.test(e.textContent.trim()):!(!o||"PRE"!==e.tagName||!e.classList.contains("public-DraftStyleDefault-pre")))))},isSignature:e=>t?!!(e.dataset&&e.dataset.marker&&e.dataset.marker.includes("_SIG_")):s?"signature"===e.id.toLowerCase():!!a&&"_rc_sig"===e.id,isQuote:e=>t?!!(e.dataset&&e.dataset.marker&&e.dataset.marker.includes("_QUOTED_")):!!s&&("divRplyFwdMsg"===e.id||!!e.previousElementSibling&&"divRplyFwdMsg"===e.previousElementSibling.id),isBlock:(e,t)=>kr.DISPLAY_BLOCK_VALUES.includes(t.display||""),getReplacementText(e,t,s){if(!Xr.INLINE_DISPLAY_VALUES.includes(s.display))return"";const a=e.tagName.toUpperCase();return"BR"===a?"":t&&("IMG"===a||"CODE"===a||"false"===e.getAttribute("spellcheck")||e instanceof HTMLElement&&"false"===e.contentEditable)?"⁣":""},replaceText:(e,t,s)=>(e=Fe(e),e=Be(e))}},getCacheInvalidationRules:()=>({isSkippingElement:{self:{attributes:[],childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},descendant:{attributes:["id","class","style"],characterData:!0,childList:!0},sibling:{attributes:["id"]}},replacementText:{self:{attributes:["id","class","style","contenteditable","spellcheck","data-mention-id","usertype"],childList:!0},ancestor:{attributes:["id","class","style"]},descendant:{attributes:["id","class","style"],characterData:!0,childList:!0}},isListItem:{self:{attributes:["id","class","style"]},ancestor:{attributes:["id","class","style"]}},isBlock:{self:{attributes:["id","class","style"]},ancestor:{attributes:["id","class","style"]}},parsingOptions:{self:{attributes:["id","class","style"]},ancestor:{attributes:["id","class","style"]}},parsedText:{self:{characterData:!0},ancestor:{attributes:["id","class","style"]}},blockParent:{self:{attributes:["id","class","style"]},ancestor:{attributes:["id","class","style"]}},paragraphLastValuableNode:{self:{attributes:[],characterData:!0,childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},sibling:{attributes:["id"]},blockSibling:{attributes:[],characterData:!0,childList:!0}},isBRElementRelevant:{self:{attributes:[]},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},sibling:{attributes:["id"]},blockSibling:{attributes:[],characterData:!0,childList:!0}},isTextEndsWithLineBreak:{any:{attributes:[],characterData:!0,childList:!0}},hasText:{self:{attributes:["id","class","style"],childList:!0},ancestor:{attributes:["id","class","style"]},descendant:{attributes:[],characterData:!0,childList:!0}},isParagraphNonEmpty:{self:{attributes:["id","class","style"],childList:!0},parent:{childList:!0},ancestor:{attributes:["id","class","style"]},descendant:{attributes:[],characterData:!0,childList:!0}}}),getLangAttribute:()=>e instanceof HTMLElement&&e.lang?e.lang:"",getKeyboardEventTarget:()=>e,addScrollEventListener(t){e.addEventListener("scroll",t),"BODY"===e.nodeName&&self.addEventListener("scroll",t)},removeScrollEventListener(t){e.removeEventListener("scroll",t),self.removeEventListener("scroll",this._onScroll)},getDelayBeforeInsertingText:()=>0,getSelectedText:()=>ls(),getSelection(){const t=function(e){if(wt.isFirefox())return e.ownerDocument.getSelection();const t=ms(e);return t&&"getSelection"in t?t.getSelection():self.getSelection()}(e);return t?{startNode:t.anchorNode,startOffset:t.anchorOffset,endNode:t.focusNode,endOffset:t.focusOffset,isCollapsed:ps(t)}:null}}},Xr.DEFAULT_INPUT_AREA_WRAPPER_FACTORY=function(e,t,s,a){if(hs(e)){if(!t)throw new Error("No mirror instance for FormElementWrapper.");return new Ir(e,t,s,a)}return new wr(e,s,a)},Xr.DEFAULT_INPUT_AREA_TWEAKS_FACTORY=function(e){return{init(){},destroy(){},onDestroy(t){ns(e,t),rs(e,t)},getMirror:()=>hs(e)?new Ar(e):null,getInputAreaWrapper(t,s){const a=Xr.DEFAULT_INPUT_AREA_WRAPPER_TWEAKS_FACTORY(e);return Xr.DEFAULT_INPUT_AREA_WRAPPER_FACTORY(e,t,a,s)},getHighlighterTweaks(t,s){const a=Boolean(t.firstElementChild&&t.firstElementChild.hasAttribute("data-contents")),n=t.classList.contains("ms-rtestate-write"),r=Boolean(t.classList.contains("control-contenteditable__area")&&t.closest(".js-control-contenteditable, .js-control-contenteditable-amojo")),o=Boolean(t.closest(".app-Talk, .app-talk")),i=Boolean(t.closest(".ce-redactor .ce-block .ce-block__content")),l=ct().includes("ebay")&&Boolean(t.classList.contains("se-rte-editor__rich")||"richEditor"===t.getAttribute("datatestid"));return{getTargetElement:()=>s?t:a&&t.parentNode&&t.parentNode.parentNode?t.parentNode:n?t.closest("table[id*=WikiField]")||t:l?t.parentElement||t:r?t.closest(".js-control-contenteditable, .js-control-contenteditable-amojo")||t:o?t.closest(".new-message-form")?t.parentElement:t:i&&t.closest(".ce-block__content")||t,initContainer(e){},addScrollEventListener(t){e.addEventListener("scroll",t)},removeScrollEventListener(t){e.removeEventListener("scroll",t)},getClickableElement:()=>t,createMutationObserver:e=>new MutationObserver(e),getZIndex(e,t){let s=t.getStyle(e,"z-index");return s=parseInt(s)||0,s>0||t.isStackingContext(e)?s+1:"auto"},getVisibleBox:e=>e.getPaddingBox(t,!0,!1),getScrollableElementSize:t=>t.getScrollDimensions(e,!1),getScrollPosition:(t,s,a)=>t.getScrollPosition(e,s,a),getTextBoxes:(e,s,a)=>e.getRelativeTextBoundingBoxes(s,t,a),supportsCanvas:()=>!0,isClickIgnored:e=>!1,toElementCoordinates(e,s,a){const n=a.getPaddingBox(t,!1),r=a.getScaleFactor(t),o=a.getZoom(t);return{x:Math.round((e.x-n.left+s.left)/r.x/o),y:Math.round((e.y-n.top+s.top)/r.y/o)}},toPageCoordinates(e,s,a){const n=a.getPaddingBox(t),r=a.getScaleFactor(t),o=a.getZoom(t),i=Math.round((e.top-s.top)*r.y*o+n.top),l=Math.round((e.left-s.left)*r.x*o+n.left),c=Math.round(e.width*r.x*o),g=Math.round(e.height*r.y*o);return{top:i,right:l+c,bottom:i+g,left:l,width:c,height:g}}}},getToolbarAppearance(){const t=[Aa.CONTAINER_ELEMENT_NAME,Tr.CONTAINER_ELEMENT_NAME,Gr.MENU_ELEMENT_NAME,en.BACKDROP_ELEMENT_NAME].join(", "),s="chat-input-control"===e.id&&e.classList.contains("window__chatInputControl"),a=$s(e),n=Ws(e);return{isPerformanceCritical:()=>!1,getParent:t=>"BODY"===e.tagName?t.documentElement:t.body,initContainer(e){},getClassName:()=>null,isVisible(t,r,o=32){if(s)return!1;let i=!0;if(i=fs(e)||_s(e)?!e.value.trim():!e.textContent.trim(),a&&i)return!1;if(n)return!0;const l=r.getPaddingBox(e);return!(i&&l.height<o)&&(l.width>=160&&l.height>=18)},getZIndex:(e,t,s)=>s.getZIndex(e,t),getPosition(e,s,a,n,r,o=18,i=44){const l=e.ownerDocument.documentElement,c=e.ownerDocument.body;if(e===c){return{fixed:!0,left:(n?6:l.clientWidth-r.width-6)+"px"}}const g=l.clientHeight,u=Zt(e,a,g,t),d=u.bottom-u.top;if(d<o)return null;let m=a.getPaddingBox(e);if("IFRAME"===e.tagName){let t=null;try{t=e.contentWindow.document.documentElement}catch(e){}if(!t)return null;n=a.isRTL(t.ownerDocument.body),p=m,h=t.clientWidth,f=t.clientHeight,m=Object.assign({},p,{right:p.left+h,bottom:p.top+f,width:h,height:f})}var p,h,f;const _=a.getScaleFactor(s),E=a.getZoom(s),v=_.x*E,b=_.y*E;let S=(m.top+u.bottom)/b-6-r.height,y=n?m.left/v+6:m.right/v-6-r.width;if(d<=i){S=(m.top+u.bottom-d/2)/b-r.height/2}const T=m.height>=250,C=(l.scrollTop||c.scrollTop)+g,k=Math.round(m.top);if(T&&k+u.bottom>=C&&k+r.height+12<C)return{fixed:!0,left:Math.round(y)+"px"};if(S>C)return null;const x=C-r.height-8;return S=Math.min(S,x),{fixed:!1,left:Math.round(y)+"px",top:Math.round(S)+"px"}}}},getEditorCardTweaks:()=>({getKeyboardEventTarget:()=>e.ownerDocument}),getDialogAppearance:()=>({isPositionVisible:()=>!0,canDisplayAllSuggestions:()=>!0}),getMessagePopupAppearance:()=>({isVisible:()=>!0}),isClickOnInputArea:t=>t.target instanceof Node&&e.contains(t.target),getMaxTextLength:(e,t)=>e.hasCustomServer()?W:e.getUIState().hasPaidSubscription?G:"number"==typeof t?t:U,getReplacedParts:e=>Xr._getReplacedParts(e,Xr.TEXT_IGNORING_DEFAULT_RULES_ARRAY,Xr.TEXT_REPLACING_DEFAULT_RULES_ARRAY),getRecipientInfo(){try{const t="BODY"===e.tagName&&"tinymce"===e.id,s="TEXTAREA"===e.tagName&&"composebody"===e.id;if(t||s){const e=self.parent.document.getElementById("_from"),t=self.parent.document.getElementById("compose-subject"),s=self.parent.document.getElementById("_to");if(e&&t&&s){const e=Xr.getEmail(s.value),t=Xr.getFullName(s.value);return Promise.resolve({address:e,fullName:t})}}}catch(e){}return Promise.resolve({address:"",fullName:""})},canCorrectMultipleErrorsAtOnce:()=>!0,canCollectErrorMeta:()=>!0,getCheckOptions(e,t,s){const a=s.getTestFlags();return{throttlingLimit:E,checkTextLevel:t.length<=$,ignoreCapitalizationErrorsAtLineStart:!hs(e.inputArea),useParagraphLevelCaching:!0,testGroups:a.testGroups}},filterErrors:(e,t,s)=>s,applyFix(e){const{offset:t,length:s,replacementText:a,editor:n}=e;return n.inputAreaWrapper.replaceText(t,s,a)}}},Xr.SITE_TWEAKS_RULES=[],Xr.INPUT_AREA_TWEAKS_RULES=[];class Yr{static create(e){return Yr._instance&&Yr._instance._remove(),Yr._instance=new Yr(e),Yr._instance._render(),Yr._instance}constructor({language:e,label:t,description:s,parentElement:a,lifetime:n,undo:r}){this.TRANSITION_DURATION=250,this._listeners=[],this._hideTimeout=null,this._unscheduleHiding=()=>{"number"==typeof this._hideTimeout&&(clearTimeout(this._hideTimeout),this._hideTimeout=null)},this._rescheduleHiding=()=>{null===this._hideTimeout&&this._scheduleHiding()},this._handleMousedown=e=>{e.stopImmediatePropagation(),e.preventDefault()},this._handleClick=e=>{e.stopImmediatePropagation(),this._undo(),this._hide()},this._handleKeydown=e=>{"z"===e.key&&e.getModifierState(this._getModifierKeyName())&&this._hide()},this._parentElement=a,this._language=e,this._label=t,this._description=s,this._lifetime=n,this._undo=r,this._document=a.ownerDocument}show(){requestAnimationFrame((()=>{this._element?.classList.add("lt-undo-notification--visible")})),this._scheduleHiding()}_render(){this._element=this._document.createElement("lt-notification"),this._element.classList.add("lt-undo-notification"),this._element.style.setProperty("--transition-duration",`${this.TRANSITION_DURATION}ms`),this._element.dataset.ltTestid="undo";const e=this._document.createElement("lt-span");e.classList.add("lt-undo-notification__content");const t=this._document.createElement("lt-span");t.classList.add("lt-undo-notification__label"),t.textContent=this._label;const s=this._getLocalizedCommand(this._language),a=this._document.createElement("lt-span");a.classList.add("lt-undo-notification__description"),a.innerHTML=this._description.replace("%{cmd}",`<lt-span class="lt-undo-notification__description__cmd">${s}</lt-span>`),this._button=this._document.createElement("lt-span"),this._button.classList.add("lt-undo-notification__button"),this._listeners.push(as(this._button,"click",this._handleClick)),this._listeners.push(as(this._button,"mousedown",this._handleMousedown)),this._listeners.push(as(this._button,"mouseup",this._handleMousedown)),this._listeners.push(as(this._button,"pointerdown",this._handleMousedown)),this._listeners.push(as(this._button,"pointerup",this._handleMousedown)),this._button.dataset.ltTestid="undo-button",e.appendChild(t),e.appendChild(a),this._element.appendChild(e),this._element.appendChild(this._button),this._listeners.push(as(this._element,"mouseover",this._unscheduleHiding)),this._listeners.push(as(this._element,"mouseout",this._rescheduleHiding)),this._parentElement.appendChild(this._element),this._listeners.push(as(this._document,"keydown",this._handleKeydown))}_remove(){this._element&&this._button&&(this._listeners.forEach((({destroy:e})=>e())),this._parentElement.removeChild(this._element),this._element=void 0)}_scheduleHiding(){this._hideTimeout=self.setTimeout(this._hide.bind(this),this.TRANSITION_DURATION+(this._lifetime??0))}_hide(){this._element?.classList.remove("lt-undo-notification--visible"),this._element?.classList.add("lt-undo-notification--hiding"),setTimeout((()=>this._remove()),this.TRANSITION_DURATION)}_getLocalizedCommand(e){let t=e.startsWith("de")?"Strg":"Ctrl";return t="Mac"===wt.getOS()?"⌘":t,`${t} + Z`}_getModifierKeyName(){return"Mac"===wt.getOS()?"Meta":"Control"}}Yr._instance=null;
124
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
125
+ class Qr{constructor(e,t=250,s=0){this.callImmediately=()=>{this._args&&this._wrappedFunc(...this._args),this.cancelCall()},this._wrappedFunc=e,this._delay=t,this._maxDelay=s,this._args=null,this._delayTimeoutId=null,this._maxDelayTimeoutId=null}call(...e){this.cancelCall(!0),this._args=e,this._delayTimeoutId=self.setTimeout(this.callImmediately,this._delay),this._maxDelay>0&&null===this._maxDelayTimeoutId&&(this._maxDelayTimeoutId=self.setTimeout(this.callImmediately,this._maxDelay))}cancelCall(e=!1){this._args=null,null!==this._delayTimeoutId&&(clearTimeout(this._delayTimeoutId),this._delayTimeoutId=null),e||null===this._maxDelayTimeoutId||(clearTimeout(this._maxDelayTimeoutId),this._maxDelayTimeoutId=null)}}
126
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
127
+ class Jr{constructor(e,t,s,a,r,o){this._highlightingAreas=[],this._width=0,this._height=0,this._currentZIndex="auto",this._lastScrollingTimeStamp=0,this._supportsCanvas=!0,this._touchStartDetails=null,this._onCEElementTouchStart=e=>{e.touches&&e.touches[0]&&(this._touchStartDetails={timestamp:Date.now(),x:e.touches[0].clientX,y:e.touches[0].clientY})},this._onCEEElementTouchEnd=e=>{if(!e.changedTouches||1!==e.changedTouches.length)return;if(!this._touchStartDetails)return;const t=Date.now()-this._touchStartDetails.timestamp;if(this._touchStartDetails=null,t>300)return;const s=e.changedTouches[0];this._handleClick(e,s.clientX,s.clientY,!0)},this._onCEElementClick=e=>{this._tweaks.isClickIgnored(e)||this._handleClick(e,e.clientX,e.clientY,!1)},this._handleClick=(e,t,s,a=!1)=>{if(this._isMirror&&e.stopImmediatePropagation(),!this._container)return;if(this._isHighlightingDisabled)return;this._domMeasurement.clearCache();let n={x:t,y:s};n=this._tweaks.toElementCoordinates(n,this._getScrollPosition(),this._domMeasurement);let r=this._highlightedBlocks.length;const o=this._getScrollPosition(!1);for(;r--;){const t=this._highlightedBlocks[r];if(!t.textBoxes)continue;const s=t.textBoxes.find((e=>Ft(e,n)));if(s){const n={highlighter:this,blockId:t.id,clickedBox:this._tweaks.toPageCoordinates(s,o,this._domMeasurement)};return void(ts(document,Jr.eventNames.blockClicked,n)&&a&&e.preventDefault())}}},this._inputArea=e,this._inputAreaWrapper=t,this._element=s,this._isMirror=a,this._tweaks=r,this._clickableElement=this._tweaks.getClickableElement(),this._clickEvent=o,this._highlightedText="",this._highlightedBlocks=[],this._supportsCanvas=this._tweaks.supportsCanvas(),this._domMeasurement=new It(e.ownerDocument),this._onScrollableElementScroll=this._onScrollableElementScroll.bind(this),this._onContentChanged=this._onContentChanged.bind(this),this._redrawDebounce=new Qr(this._redraw.bind(this),250,500),this._enableHighlightingDebounce=new Qr(this.enableHighlighting.bind(this),this._tweaks.scrollingThrottleLimit||0),this._tweaks.addScrollEventListener(this._onScrollableElementScroll),"standalone"===n.getType()&&wt.isIOSTouchDevice()?(this._clickableElement.addEventListener("touchstart",this._onCEElementTouchStart,!0),this._clickableElement.addEventListener("touchend",this._onCEEElementTouchEnd,!0)):this._clickableElement.addEventListener(this._clickEvent,this._onCEElementClick,!0),this._clickableElement.addEventListener(Pr.eventNames.click,this._onCEElementClick,!0),this._contentChangedObserver=this._tweaks.createMutationObserver(this._onContentChanged);const i=["style"];this._tweaks.attributeMutations&&i.push(...this._tweaks.attributeMutations),a||i.push("class","size","face","align");const l={attributes:!0,attributeFilter:i,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:void 0===this._tweaks.observeSubtreeMutations?!a:this._tweaks.observeSubtreeMutations};this._contentChangedObserver.observe(this._element,l),self.ResizeObserver&&(this._ceElementResizeObserver=new self.ResizeObserver((()=>this._render())),this._ceElementResizeObserver.observe(this._element)),this._renderInterval=Ot(this._render.bind(this),h),this._render()}_getScrollPosition(e=!0,t=e,s=!0){if(this._isMirror){let s=0,a=0;return e?(s=t?+this._element.dataset.ltScrollTopScaledAndZoomed:+this._element.dataset.ltScrollTopScaled,a=t?+this._element.dataset.ltScrollLeftScaledAndZoomed:+this._element.dataset.ltScrollLeftScaled):(s=+this._element.dataset.ltScrollTop,a=+this._element.dataset.ltScrollLeft),{top:s,left:a}}return s&&this._domMeasurement.clearCache(),this._tweaks.getScrollPosition(this._domMeasurement,e,t)}_render(e=!1){if(!this._element.parentElement||!this._inputArea.parentElement)return;this._domMeasurement.clearCache();const t=this._inputArea.ownerDocument,s=this._tweaks.getTargetElement();if(!s.parentNode)return;if(!this._container&&(this._container=Gt(t,Jr.CONTAINER_ELEMENT_NAME),this._container.style.display="none",this._tweaks.initContainer(this._container),this._wrapper=t.createElement("lt-div"),this._wrapper.setAttribute("spellcheck","false"),this._wrapper.className="lt-highlighter__wrapper",this._scrollElement=t.createElement("lt-div"),this._scrollElement.className="lt-highlighter__scroll-element",this._wrapper.appendChild(this._scrollElement),this._container.appendChild(this._wrapper),s.parentElement)){const e=this._domMeasurement.getStyle(s.parentElement,"display");Jr.FLEX_GRID_DISPLAY_VALUES.includes(e)&&this._container.classList.add("lt-highlighter--grid-item")}const a={};if(this._inputArea===t.body&&t.scrollingElement===t.documentElement&&"BackCompat"!==t.compatMode){const e=this._domMeasurement.getStyles(this._inputArea,["overflow-x","overflow-y"]);a["overflow-x"]="hidden"===e["overflow-x"]?"hidden":"visible",a["overflow-y"]="hidden"===e["overflow-y"]?"hidden":"visible"}const r=this._tweaks.getVisibleBox(this._domMeasurement);a.width=r.width+"px",a.height=r.height+"px";const o=this._domMeasurement.getStyles(this._element,["transform","transform-origin","zoom"]);a.transform=o.transform,a["transform-origin"]=o["transform-origin"],a.zoom=o.zoom,this._domMeasurement.setStyles(this._wrapper,a,!0);const i=this._isMirror?this._inputArea:s,l=this._tweaks.getZIndex(i,this._domMeasurement);l!==this._currentZIndex&&("auto"!==l&&l>0?(this._currentZIndex=l,this._domMeasurement.setStyles(this._container,{"z-index":String(l)},!0)):"auto"!==this._currentZIndex&&(this._currentZIndex="auto",this._domMeasurement.setStyles(this._container,{"z-index":"auto"},!0))),this._applyScrolling(),s.parentNode&&s.previousElementSibling!==this._container&&(s.parentNode.insertBefore(this._container,s),this._isMirror||n.linkInputAreaProperties(this._container.ownerDocument));const c=this._domMeasurement.getPaddingBox(this._wrapper,!0,!1),g=r.top-c.top;if(Math.abs(g)>.05){const e=this._domMeasurement.getScaleFactor(this._inputArea.parentElement);let t=parseFloat(this._domMeasurement.getStyle(this._wrapper,"margin-top"));t+=g/e.y,this._domMeasurement.setStyles(this._wrapper,{"margin-top":t+"px"},!0)}const u=r.left-c.left;if(Math.abs(u)>.05){const e=this._domMeasurement.getScaleFactor(this._inputArea.parentElement);let t=parseFloat(this._domMeasurement.getStyle(this._wrapper,"margin-left"));t+=u/e.x,this._domMeasurement.setStyles(this._wrapper,{"margin-left":t+"px"},!0)}const d=this._tweaks.getScrollableElementSize(this._domMeasurement);if(this._width!==d.width||this._height!==d.height){this._width=d.width,this._height=d.height;const t=this._width-r.width;t<1&&t>0&&(this._width=r.width);const s=this._height-r.height;s<1&&s>0&&(this._height=r.height),this._domMeasurement.setStyles(this._scrollElement,{width:this._width+"px",height:this._height+"px"},!0),this._updateHighlightedAreas(),e?this._redraw(!1):this._throttledRedraw(!1)}}_updateHighlightedAreas(){const e=[];for(let t=0;t<this._width;t+=Jr.CANVAS_MAX_WIDTH)for(let s=0;s<this._height;s+=Jr.CANVAS_MAX_HEIGHT){const a={top:s,right:t+Jr.CANVAS_MAX_WIDTH,bottom:s+Jr.CANVAS_MAX_HEIGHT,left:t,width:Jr.CANVAS_MAX_WIDTH,height:Jr.CANVAS_MAX_HEIGHT};let n=this._highlightingAreas.find((e=>zt(e.cell,a)));if(!n){const e=this._inputArea.ownerDocument.createElement("canvas");if(e.className="lt-highlighter__canvas",e.width=0,e.height=0,this._domMeasurement.setStyles(e,{display:"none"}),n={cell:a,canvas:e,context:e.getContext("2d"),drawnItems:new Map},!this._supportsCanvas){const e=this._inputArea.ownerDocument.createElement("img");e.className="lt-highlighter__canvas",e.width=0,e.height=0,this._domMeasurement.setStyles(e,{display:"none"}),n.image=e}}e.push(n)}for(const t of this._highlightingAreas){const s=t.image||t.canvas;!e.includes(t)&&s.parentElement&&s.parentElement.removeChild(s)}this._highlightingAreas=e}_throttledRedraw(e=!0){this._inputAreaWrapper.getText().length>F?this._redrawDebounce.call(e):this._redraw(e)}_redraw(e=!0){if(e&&this._domMeasurement.clearCache(),!this._highlightingAreas.length)return;this._highlightedText=this._inputAreaWrapper.getText();const t=this._getScrollPosition(!0,!1,!1),s=this._tweaks.getScrollableElementSize(this._domMeasurement);for(const e of this._highlightedBlocks)e.textRanges=this._inputAreaWrapper.getTextRanges(e.offset,e.length),e.textBoxes=this._tweaks.getTextBoxes(this._domMeasurement,e.textRanges,t),e.textBoxes.forEach((e=>{const t=e.width<10?3:1;e.left=Math.max(0,e.left-t),e.right=Math.min(s.width,e.right+t),e.width=e.right-e.left,e.top=Math.max(0,e.top),e.bottom=Math.min(s.height,e.bottom),e.height=e.bottom-e.top}));const a=[];for(const e of this._highlightedBlocks)for(const t of e.textBoxes){if(e.simulateSelection&&a.push({top:t.bottom-Jr.LINE_WIDTH/2,right:t.right,bottom:t.bottom+Jr.LINE_WIDTH/2,left:t.left,width:t.width,height:Jr.LINE_WIDTH,color:e.underlineColor,textBox:t}),e.isEmphasized){const s=t.bottom-Jr.LINE_WIDTH/2;a.push({top:t.top,right:t.right,bottom:s,left:t.left,width:t.width,height:s-t.top,color:e.backgroundColor,textBox:t})}if(e.isUnderlined){let n=t.bottom-Jr.LINE_WIDTH/2,r=t.bottom+Jr.LINE_WIDTH/2;r>s.height&&(n-=1,r-=1),a.push({top:n,right:t.right,bottom:r,left:t.left,width:t.width,height:Jr.LINE_WIDTH,color:e.underlineColor,textBox:t})}}for(const e of this._highlightingAreas){const t=a.filter($t.bind(null,e.cell));if(!t.length){delete e.canvasBox,e.drawnItems.clear();const t=e.image||e.canvas;t.parentElement&&t.parentElement.removeChild(t);continue}let s={top:Number.MAX_VALUE,right:0,bottom:0,left:Number.MAX_VALUE,width:0,height:0};for(const e of t)s.top=Math.min(s.top,e.top,e.textBox.top),s.right=Math.max(s.right,e.right,e.textBox.right),s.bottom=Math.max(s.bottom,e.bottom,e.textBox.bottom),s.left=Math.min(s.left,e.left,e.textBox.left);s.top=Math.max(e.cell.top,s.top),s.right=Math.min(e.cell.right,s.right),s.bottom=Math.min(e.cell.bottom,s.bottom),s.left=Math.max(e.cell.left,s.left),s.width=s.right-s.left,s.height=s.bottom-s.top;const o=!e.canvasBox||e.canvasBox.width<s.width||e.canvasBox.height<s.height||e.canvasBox.width*e.canvasBox.height/(s.width*s.height)>=2,i=!(o||(n=e.canvasBox,r=s,n.left<=r.left&&n.right>=r.right&&n.top<=r.top&&n.bottom>=r.bottom));if(o){const t=!e.canvasBox||e.canvasBox.top!==s.top||e.canvasBox.left!==s.left;e.canvas.width=s.width,e.canvas.height=s.height,e.image&&(e.image.width=s.width,e.image.height=s.height),e.canvasBox=s,e.drawnItems.clear();const a=e.image||e.canvas;t&&this._domMeasurement.setStyles(a,{top:e.canvasBox.top+"px",left:e.canvasBox.left+"px"},!0),a.parentElement||this._scrollElement.appendChild(a)}else if(i){const t=e.image||e.canvas;e.canvasBox.top=s.top,e.canvasBox.right=s.left+e.canvasBox.width,e.canvasBox.bottom=s.top+e.canvasBox.height,e.canvasBox.left=s.left,this._domMeasurement.setStyles(t,{top:e.canvasBox.top+"px",left:e.canvasBox.left+"px"},!0)}let l=new Map;for(const s of t){const t=Math.max(s.left-e.canvasBox.left,0),a=Math.min(s.right-e.canvasBox.left,e.canvasBox.width),n=Math.max(s.top-e.canvasBox.top,0),r=Math.min(s.bottom-e.canvasBox.top,e.canvasBox.height),o=a-t,i=r-n,c={top:n,right:a,bottom:r,left:t,width:o,height:i,color:s.color},g={x:t,y:n,w:o,h:i,c:s.color};l.set(JSON.stringify(g),c)}let c=[],g=!1;for(const[t,s]of l)e.drawnItems.delete(t)||(c.push(s),g=!0);let u=Array.from(e.drawnItems.values());const d=u.length;d>0&&(g=!0);if(d>20&&(e.canvas.width=e.canvasBox.width,c=Array.from(l.values()),u=[]),e.drawnItems=l,!g)continue;const m=Array.from(l.values());for(const t of u){e.context.clearRect(t.left,t.top,t.width,t.height);for(const e of m){if($t(e,t)){const s=Math.max(e.top,t.top),a=Math.min(e.right,t.right),n=Math.min(e.bottom,t.bottom),r=Math.max(e.left,t.left);if(0===a-r||0===n-s)continue;const o={top:s,right:a,bottom:n,left:r,width:a-r,height:n-s,color:e.color};c.some((e=>e.color===o.color&&zt(e,o)))||c.push(o)}}}for(const e of c){let t=!1;for(const s of m){if(!t){t=e===s;continue}if($t(s,e)){const t=Math.max(s.top,e.top),a=Math.min(s.right,e.right),n=Math.min(s.bottom,e.bottom),r=Math.max(s.left,e.left);c.push({top:t,right:a,bottom:n,left:r,width:a-r,height:n-t,color:s.color})}}}for(const t of c)e.context.fillStyle=t.color,e.context.fillRect(t.left,t.top,t.width,t.height);e.image&&(e.image.src=e.canvas.toDataURL())}var n,r}_applyScrolling(){const e=this._getScrollPosition(!1),t=-e.top+"px",s=-e.left+"px";this._domMeasurement.setStyles(this._scrollElement,{top:t,left:s},!0)}_onScrollableElementScroll(){if(!this._container)return;const e=Date.now(),t=this._isHighlightingDisabled||!!this._tweaks.scrollingThrottleLimit&&e-this._lastScrollingTimeStamp<this._tweaks.scrollingThrottleLimit;this._lastScrollingTimeStamp=e,t?(this.disableHighlighting(),this._enableHighlightingDebounce.call()):requestAnimationFrame((()=>{this._applyScrolling()}))}_onContentChanged(e){if(!this._container)return;const t=this._inputAreaWrapper.getText(),s=e.some((e=>{if("attributes"===e.type)return!0;if(this._isMirror&&!this._tweaks.observeSubtreeMutations)return!1;if(Array.from(e.addedNodes||[]).some((e=>e.nodeType===document.ELEMENT_NODE)))return!0;return!!Array.from(e.removedNodes||[]).some((e=>e.nodeType===document.ELEMENT_NODE))}));(this._highlightedText!==t||s)&&this._throttledRedraw()}disableHighlighting(){this._isHighlightingDisabled||(this._isHighlightingDisabled=!0,this._wrapper&&this._wrapper.classList.add("lt-highlighter__wrapper-invisible"))}enableHighlighting(){this._isHighlightingDisabled&&(this._isHighlightingDisabled=!1,this._wrapper&&(this._redraw(),this._wrapper.classList.remove("lt-highlighter__wrapper-invisible")))}highlight(e=[],t=!1){this._highlightedBlocks=e,t?this._redraw():this._throttledRedraw()}getTextBoxes(e){const t=this._highlightedBlocks.find((t=>t.id===e));if(!t||!t.textBoxes)return[];const s=this._getScrollPosition(!1);return t.textBoxes.map((e=>this._tweaks.toPageCoordinates(e,s,this._domMeasurement)))}destroy(){this._tweaks.removeScrollEventListener(this._onScrollableElementScroll),this._clickableElement.removeEventListener(this._clickEvent,this._onCEElementClick,!0),this._clickableElement.removeEventListener(Pr.eventNames.click,this._onCEElementClick),this._clickableElement.removeEventListener("touchstart",this._onCEElementTouchStart,!0),this._clickableElement.removeEventListener("touchend",this._onCEEElementTouchEnd,!0),this._contentChangedObserver.disconnect(),this._renderInterval&&this._renderInterval.destroy(),this._container&&this._container.remove(),this._ceElementResizeObserver&&this._ceElementResizeObserver.disconnect(),this._redrawDebounce.cancelCall(),this._enableHighlightingDebounce.cancelCall(),this._domMeasurement.clearCache()}}Jr.CONTAINER_ELEMENT_NAME="lt-highlighter",Jr.FLEX_GRID_DISPLAY_VALUES=["grid","inline-grid","flex","inline-flex"],Jr.CANVAS_MAX_WIDTH=1024,Jr.CANVAS_MAX_HEIGHT=1024,Jr.LINE_WIDTH=2,Jr.eventNames={blockClicked:"lt-highlighter.blockClicked"};const eo=[];let to;const so=()=>{n.isRuntimeConnected()&&n.sendUserActivityPings(eo)},ao=[];let no=!1;const ro=()=>{ao.forEach((e=>e()))};class oo{constructor(e,t,s,a,r,o){var i,l;this._hiddenMatches=0,this._pickyErrors=0,this._email=e,this._token=t,this._currentText=o.trim(),this._isNewText=""===this._currentText,this._activityId="10000000-1000-4000-8000-100000000000".replace(/[018]/g,(e=>(Number(e)^crypto.getRandomValues(new Uint8Array(1))[0]&15>>Number(e)/4).toString(16))),n.initializeUserActivity({uuid:this._activityId,source:n.getType(),email:this._email,token:this._token,language:s?.code,writingGoalId:a,checkLevel:r}),this._unregisterPing=(i=this._activityId,eo.push(i),to||(to=self.setInterval(so,Y)),()=>{const e=eo.indexOf(i);-1!==e&&eo.splice(e,1),eo.length||(self.clearInterval(to),to=void 0)}),this._unregisterBeforeUnloadListener=(l=()=>this.send(),ao.push(l),no||(no=!0,self.addEventListener(n.getBeforeUnloadEventName(),ro,!0)),()=>{const e=ao.indexOf(l);-1!==e&&ao.splice(e,1),ao.length||(self.removeEventListener(n.getBeforeUnloadEventName(),ro,!0),no=!1)})}async detectNewText(e){e=e.trim(),""!==this._currentText&&""===e&&(this._isNewText=!0),this._currentText=e}async updateErrorMeta({pickyErrors:e,hiddenMatches:t}){if(!e&&!t)return;const s=Math.max(0,e-this._pickyErrors),a=Math.max(0,t-this._hiddenMatches);(s||a)&&(n.updateUserActivityTextStatistics(this._activityId,{hiddenMatches:a,pickyErrors:s}),this._pickyErrors=e,this._hiddenMatches=t)}async incrementWordWritten(){const e={words:1};this._isNewText&&(e.texts=1,this._isNewText=!1),n.updateUserActivityTextStatistics(this._activityId,e)}async incrementSentenceWritten(e){const t={sentences:1,words:Number(e)};this._isNewText&&(t.texts=1,this._isNewText=!1),n.updateUserActivityTextStatistics(this._activityId,t)}async incrementSuggestionsApplied(e,t){n.updateUserActivityAppliedSuggestions(this._activityId,e,t)}async incrementRewritingsApplied(){n.updateUserActivityAppliedRewritings(this._activityId)}async updateMeta(e){e.language&&(e.language=kt.getPrimaryLanguageCode(e.language)),n.updateUserActivityMeta(this._activityId,e)}async send(){try{const e=await n.sendUserActivity(this._activityId);["success","no_update"].includes(e)||Pt.trackError("http",`user_activity_update_${e}`)}catch(e){Pt.trackError("js",e.message||"Failed to send User Activity")}}async destroy(){try{const e=await n.destroyUserActivity(this._activityId);!["success","no_update"].includes(e)&&Math.random()<.01&&Pt.trackError("http",`user_activity_destroy_${e}`)}catch(e){Pt.trackError("js",e.message||"Failed to destroy User Activity")}this._unregisterBeforeUnloadListener(),this._unregisterPing()}}
128
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
129
+ const io=function(e,t){try{const s=function(e){if(e.startsWith("user:"))return BigInt(e.substr(5));if(e.includes(":")){const t=e.indexOf(":"),s=BigInt(e.substring(0,t)),a=BigInt(e.substr(t+1));return s*BigInt(92233720368546)+a}return BigInt(e)}(e);return Number(s%BigInt(100))<t?"test":"control"}catch(e){return 100*Math.random()<t?"test":"control"}};class lo{static getErrorType(e){return _t(e)}static _isPendingError(e,t){if(0===e.contextForSureMatch)return!1;const s=t.substr(e.end,100).split("\n")[0],a=lo.COMPLETED_SENTENCE_REGEXP.test(s)||lo.PUNCTIUATION_CHAR_REGEXP.test(e.originalPhrase);if(-1===e.contextForSureMatch&&!a)return!0;if(!a){if(s.split(/\s+/).length-1<=e.contextForSureMatch)return!0}return!1}static _isErrorSelected(e,t){return!(!t||t.start!==e.start&&t.end!==e.end)}static _getChangedParagraphs(e,t){return Ye(e,t).filter((e=>e.oldText!==e.newText&&null!==e.newText)).map((e=>({text:e.newText,offset:e.newOffset})))}constructor(e={},t=Xr.DEFAULT_SITE_TWEAKS){this._spellcheckingAttributesData=new Map,this._editors=[],this._messages=[],this._checkExtensionRuntimeHealthIntervalId=void 0,this._fixTinyMCEIntervalId=void 0,this._initElementTimeouts=new Map,this._activeEditorId=null,this._init=()=>{"string"==typeof this._options.apiServerUrl&&this._storageController.updateSettings({apiServerUrl:this._options.apiServerUrl}),"boolean"==typeof this._options.enableSynonyms&&this._storageController.updateSettings({hasSynonymsEnabled:this._options.enableSynonyms}),"boolean"==typeof this._options.enablePickyModeGlobally&&this._storageController.updateSettings({hasPickyModeEnabledGlobally:this._options.enablePickyModeGlobally}),"boolean"==typeof this._options.enableStatisticsCollection&&this._storageController.updateSettings({hasStatisticsCollectionEnabled:this._options.enableStatisticsCollection}),this._options.dev&&this._storageController.updateUIState({showRuleId:!0}),"object"==typeof this._options.testGroups&&this._storageController.updateTestFlags({testGroups:this._options.testGroups}),this.updateLanguageOptions({motherTongue:this._options.motherTongue,preferredLanguages:this._options.preferredLanguages,preferredVariants:this._options.preferredVariants}),this._options.user&&this.updateUser({email:this._options.user.email,token:this._options.user.token,premium:this._options.user.premium,apiServerUrl:this._options.apiServerUrl}),this._onPageLoaded();if(this._tweaks.isSupported()&&this._storageController.isDomainSupported(ut())){if(this._isRemoteCheckAllowed=this._storageController.getPrivacySettings().allowRemoteCheck,this._checkExtensionRuntimeHealthIntervalId=self.setInterval(this._checkExtensionRuntimeHealth,i),this._options.initElements){const e=Array.isArray(this._options.initElements)?this._options.initElements:[this._options.initElements];for(const t of e)this._initElement(t)}if(!this._options.ignoreFocus){const e=function(){let e=document.querySelector(":focus");for(;e&&e.shadowRoot;)e=e.shadowRoot.querySelector(":focus");return e}();e&&this._initElement(e,!0),document.body&&Kt(document.body)&&this._initElement(document.body,!0)}self.__ltLastActiveElement&&(this._initElement(self.__ltLastActiveElement),self.__ltLastActiveElement=null),this._tweaks.onNewElement(((e,t)=>{this._initElement(e,t)})),self.innerHeight>14&&(this._fixTinyMCEIntervalId=self.setInterval((()=>{this._fixIframeWithoutContentScripts()}),m)),self.addEventListener("pageshow",this._onPageLoaded),self.addEventListener("pagehide",this._onPageHide),document.addEventListener("visibilitychange",this._onVisiblityChange,!0),document.addEventListener("focus",this._onDocumentFocus,!0),document.addEventListener("mousemove",this._onDocumentMousemove,!0),document.addEventListener("focusout",this._onDocumentFocusout,!0),document.addEventListener("keyup",this._onDocumentKeyup,!0),document.addEventListener(this._tweaks.getClickEvent(),this._onDocumentClick,!0),self.frameElement?.ownerDocument&&self.frameElement.ownerDocument.addEventListener("click",this._onDocumentClick,!0),document.addEventListener(Lr.eventNames.scroll,this._onInputScroll),document.addEventListener(Lr.eventNames.paste,this._onInputPaste),document.addEventListener(Lr.eventNames.textChanged,this._onInputTextChanged),document.addEventListener(Lr.eventNames.dblclick,this._onInputDblClick),document.addEventListener(Lr.eventNames.dblPress,this._onInputDblPress),document.addEventListener(Lr.eventNames.wordWritten,this._onWordWritten),document.addEventListener(Lr.eventNames.sentenceWritten,this._onSentenceWritten),document.addEventListener(Jr.eventNames.blockClicked,this._onHiglighterBlockClicked),document.addEventListener(Gr.eventNames.permissionRequiredIconClicked,this._onToolbarPermissionRequiredIconClicked),document.addEventListener(Gr.eventNames.toggleDialog,this._onToolbarToggleDialog),document.addEventListener(Gr.eventNames.showRephrasingCard,this._onRephrasingIconClick),document.addEventListener(Gr.eventNames.notifyAboutPremiumIcon,this._onToolbarNotifyAboutPremiumIcon),document.addEventListener(Gr.eventNames.turnOff,this._onTurnOffClickedToolbar),document.addEventListener(Gr.eventNames.pauseChecking,this._onPauseCheckingClickedToolbar),document.addEventListener(Aa.eventNames.positionChangeClicked,this._onPositionChangeClicked),document.addEventListener(Aa.eventNames.enableHere,this._onDialogEnableHere),document.addEventListener(Aa.eventNames.togglePickyMode,this._onPickyModeToggle),document.addEventListener(Aa.eventNames.enableEverywhere,this._onDialogEnableEverywhere),document.addEventListener(Aa.eventNames.languageChanged,this._onDialogLanguageChanged),document.addEventListener(Aa.eventNames.countChanged,this._onDialogCountChanged),document.addEventListener(Aa.eventNames.errorSelected,this._onDialogErrorSelected),document.addEventListener(Aa.eventNames.errorHighlighted,this._onDialogErrorHighlighted),document.addEventListener(Aa.eventNames.addToDictionaryClicked,this._onAddToDictionary),document.addEventListener(Aa.eventNames.ignoreRuleClicked,this._onIgnoreRule),document.addEventListener(Aa.eventNames.temporarilyIgnoreWordClicked,this._onTemporarilyIgnoreWord),document.addEventListener(Aa.eventNames.temporarilyIgnoreRuleClicked,this._onTemporarilyIgnoreRule),document.addEventListener(Aa.eventNames.moreDetailsClicked,this._onMoreDetailsClicked),document.addEventListener(Aa.eventNames.fixSelected,this._onFixSelected),document.addEventListener(Aa.eventNames.openOptions,this._onDialogOpenOptions),document.addEventListener(Aa.eventNames.showFeedbackForm,this._onDialogShowFeedbackForm),document.addEventListener(Aa.eventNames.destroyed,this._onDialogDestroyed),document.addEventListener(Aa.eventNames.badgeClicked,this._onBadgeClicked),document.addEventListener(Aa.eventNames.turnOff,this._onTurnOffClickedDialog),document.addEventListener(Aa.eventNames.pauseChecking,this._onPauseCheckingClickedDialog),document.addEventListener(Aa.eventNames.premiumTeaserClicked,this._onDialogPremiumTeaserClicked),document.addEventListener(Aa.eventNames.correctAll,this._onCorrectAll),document.addEventListener(Tr.eventNames.addToDictionaryClicked,this._onAddToDictionary),document.addEventListener(Tr.eventNames.ignoreRuleClicked,this._onIgnoreRule),document.addEventListener(Tr.eventNames.temporarilyIgnoreWordClicked,this._onTemporarilyIgnoreWord),document.addEventListener(Tr.eventNames.temporarilyIgnoreRuleClicked,this._onTemporarilyIgnoreRule),document.addEventListener(Tr.eventNames.moreDetailsClicked,this._onMoreDetailsClicked),document.addEventListener(Tr.eventNames.fixSelected,this._onFixSelected),document.addEventListener(Tr.eventNames.premiumClick,this._onEditorCardPremiumClick),document.addEventListener(Tr.eventNames.languageChanged,this._onErrorCardLanguageChanged),document.addEventListener(Tr.eventNames.turnOffPickyModeClicked,this._onErrorCardPickyModeTurnedOff),document.addEventListener(Tr.eventNames.premiumTeaserClicked,this._onErrorCardPremiumTeaserClicked),document.addEventListener(Tr.eventNames.destroyed,this._onEditorCardDestroyed),document.addEventListener(Tr.eventNames.correctAll,this._onCorrectAll),document.addEventListener(Tr.eventNames.synonymSelected,this._onSynonymSelected),document.addEventListener(Tr.eventNames.phraseSelected,this._onPhraseSelected),document.addEventListener(Tr.eventNames.splitSentenceSelected,this._onSplitSentenceSelected),document.addEventListener(Tr.eventNames.fixSentenceSelected,this._onFixSentenceSelected),document.addEventListener(Tr.eventNames.fixSentenceShowHightlight,this._onFixSentenceShowHighlight),document.addEventListener(Tr.eventNames.fixSentenceRemoveHightlight,this._onFixSentenceRemoveHighlight),document.addEventListener(Tr.eventNames.reportPhrase,this._reportPhraseFromCard),document.addEventListener(Tr.eventNames.toggleMode,this._onToggleCardMode),document.addEventListener(Tr.eventNames.highlight,this._onRephraseCardHighlight),document.addEventListener(Tr.eventNames.navigateError,this._onNavigateError),document.addEventListener(Tr.eventNames.navigateSentence,this._onNavigateSentence),document.addEventListener(va.eventNames.destroyed,this._onMessagePopupDestroyed),document.addEventListener(va.eventNames.turnOn,this._onTurnOnClicked),this._storageController.addEventListener(xt.eventNames.settingsChanged,this._onSettingsChanged),this._storageController.addEventListener(xt.eventNames.privacySettingsChanged,this._onPrivacySettingsChanged),this._storageController.addEventListener(xt.eventNames.uiStateChanged,this._onUiStateChanged),this._options.onInit&&this._options.onInit(this),Math.random()<1e-4&&this._pingBackround()}},this._checkExtensionRuntimeHealth=()=>{n.isRuntimeConnected()||this._handleUnhealthyExtensionRuntime()},this._onPageLoaded=()=>{let e=!0;const t=this._tweaks.isBeta();let s=!0,a=!0,r="";if(this._tweaks.isSupported())if(this._storageController.isDomainSupported(ut())){const t=this._getCheckSettings();e=!t.isDomainDisabled&&!t.isEditorGroupDisabled,s=t.shouldCapitalizationBeChecked}else a=!1,r=o.getMessage("siteCannotBeSupported");else a=!1,r=this._tweaks.unsupportedMessage();const i=matchMedia("(prefers-color-scheme: dark)").matches;n.pageLoaded(e,s,a,t,r,i)},this._onPageHide=()=>{this._editors.forEach((e=>{this._savePremiumErrorCount(e),this._trackEditor(e)}))},this._onVisiblityChange=()=>{this._editors.forEach((e=>{"hidden"===document.visibilityState&&e.userActivity?.send()}))},this._onDocumentFocus=e=>{if(this._options.ignoreFocus)return;const t=es(e);t instanceof HTMLElement?this._initElement(t,!0):e.target===document&&document.body&&Kt(document.body)&&this._initElement(document.body,!0)},this._onDocumentMousemove=e=>{const t=e.target&&"parentNode"in e.target?e.target:null,s=this._editors.find((e=>e.isUserTyping)),a=this._editors.find((e=>e.inputArea.contains(t)));s&&this._endTypingModeAndUpdateState(s),a&&this._isInteractionModeRewrite(a)&&a.hoverDebounce.call(a,{x:e.clientX,y:e.clientY})},this._onDocumentMousleave=e=>{this._editors.filter((e=>Array.isArray(e.lineHighlights))).forEach((e=>this._removeSentenceHighlights(e,"hover")))},this._onDocumentFocusout=e=>{const t=this._editors.find((e=>e.isUserTyping));t&&this._endTypingModeAndUpdateState(t)},this._onDocumentKeyup=e=>{if(["Meta","Ctrl","Alt"].includes(e.key)||(e.ctrlKey||e.metaKey)&&!["v","x"].includes(e.key))return;const t=this._editors.find((({inputArea:t})=>e.target instanceof Node&&t.contains(e.target)));t&&!this._isInteractionModeCorrection(t)&&(n.abortPhraseRequests("rewrite"),this._removeSentenceHighlights(this._clearRewritingData(t)))},this._onDocumentClick=e=>{if(this._tweaks.isClickEventIgnored(e))return;const t=jt(e.target,Tr.CONTAINER_ELEMENT_NAME);t||this._hideAllEditorCards({ignoreDetachedEditorCard:!0});const s=jt(e.target,`${Aa.CONTAINER_ELEMENT_NAME}, ${Gr.CONTAINER_ELEMENT_NAME}`);s||this._hideAllDialogs();if(jt(e.target,`${va.CONTAINER_ELEMENT_NAME}`)||this._hideAllMessagePopups(),!s&&!t){this._editors.filter((e=>!0!==e.card?.isDetached)).forEach((e=>this._unselectError(e)));let t=this._editors.find((t=>t.inputAreaTweaks.isClickOnInputArea(e)));if(t){this._updateState(t);if(!t.lineHighlights.some((e=>"LINE_HIGHLIGHT_SENTENCE_FROM_HOVER"===e.id)))return t.lineHighlights=[],void this._highlight(t,!0);this._isInteractionModeRewrite(t)&&this._highlightSentenceFromClick(t)}}},this._onRephrasingIconClick=e=>{const t=this._editors.find((t=>t.toolbar===e.detail.toolbar));if(!t)return;if("paraphrase"===t.card?.mode)return void Pt.trackEvent("Action","rephrasing_icon:unnecessary_click");const s=gs(t.inputAreaWrapper.getText(),t.currentSentenceRanges,t.inputAreaWrapper.getSelection()||{start:0}),a=t.currentSentenceRanges?.find((({start:e,end:t})=>e<=s.start&&s.end<=t));a&&(Pt.trackEvent("Action","toolbar:rephrase"),this._scrollToSentence(t,a),t.dialog?.destroy())},this._onInputDblClick=e=>{if(!e.detail)return;const{hasSynonymsEnabled:t}=this._storageController.getSettings();if(!t||this._storageController.hasCustomServer())return;const s=this._editors.find((t=>t.inputAreaWrapper===e.detail.inputAreaWrapper));if(!s)return;if(this._activeEditorId=s.id,this._isInteractionModeRewrite(s))return;const{selection:a,clickedRectangles:n}=e.detail,r=qe(s.inputAreaWrapper.getText(),a.start,a.end)?"word":"sentence";s.card&&(s.card.currentRephraseHighlightType=r),"correct"!==s.card?.mode?"paraphrase"!==s.card?.mode?this._showRephraseCard(s,n,a,void 0,r):s.card.switchSentence(a,{highlightType:r}):this._toggleCardMode(s,"paraphrase",a)},this._onInputTextChanged=e=>{if(!e.detail)return;const t=this._editors.find((t=>t.inputAreaWrapper===e.detail.inputAreaWrapper));if(!t)return void this._hideAllEditorCards();this._activeEditorId=t.id,null===t.selectErrorAfter&&null===t.selectSentenceAfter&&requestAnimationFrame((()=>this._hideAllEditorCards({ignoreDetachedEditorCard:!0}))),this._startTypingMode(t),t.dialog&&t.dialog.setInsignificantChangeMode(!this._isSignificantTextChange(e.detail.previousText,e.detail.text));const s=e.detail.text;if(this._checkEditor(t,s,!0))this._endTypingMode(t),this._updateDisplayedErrors(t);else{const e=Ze(s,t.inputAreaTweaks.getReplacedParts(s)),a=At.migrateOffsetsBetweenTexts(t.errors,t.checkedText.originalText,s),n=At.migrateOffsetsBetweenTexts(t.premiumErrors,t.checkedText.originalText,s);this._updateDisplayedErrors(t,e,a,n),t.currentSentenceRanges=At.migrateOffsetsBetweenTexts(t.sentenceRanges||[],t.checkedText.originalText,s)}t.lineHighlights=[],t.rephrasings.state=null,t.rephrasings.source=null,t.rephrasings.selection={},t.synonyms.state=null,t.synonyms.source=null,t.synonyms.selection={},this._highlight(t),this._updateState(t),this._isConnected&&t.userActivity?.detectNewText(s)},this._onSentenceWritten=e=>{if(!e.detail)return;const{inputAreaWrapper:t,isWordCompleted:s}=e.detail,a=this._editors.find((e=>e.inputAreaWrapper===t));a?.userActivity?.incrementSentenceWritten(s)},this._onWordWritten=e=>{if(!e.detail)return;const{inputAreaWrapper:t}=e.detail,s=this._editors.find((e=>e.inputAreaWrapper===t));s?.userActivity?.incrementWordWritten()},this._onInputPaste=e=>{if(!e.detail)return;const{inputAreaWrapper:t,isSignificantTextChange:s}=e.detail;this._hideAllEditorCards({ignoreDetachedEditorCard:!s});const a=this._editors.find((e=>e.inputAreaWrapper===t));a&&(this._activeEditorId=a.id,a.dialog&&a.dialog.setInsignificantChangeMode(!s))},this._onInputScroll=()=>{requestAnimationFrame((()=>{this._hideAllEditorCards({ignoreDetachedEditorCard:!0})}))},this._onInputDblPress=e=>{if(!e.detail)return;const{openCardHotkey:t}=this._storageController.getSettings();if(e.detail?.key!==t)return;const s=this._editors.find((t=>t.inputAreaWrapper===e.detail.inputAreaWrapper));if(!s)return;this._activeEditorId=s.id;const a=s.inputAreaWrapper.getSelection();if(!a||a.start!==a.end)return;const n=s.displayedErrors.find((e=>e.start<=a.start&&a.start<=e.end));if(n){if(n.id===s.selectedErrorId)return;const e=s.highlighter.getTextBoxes(n.id);if(e.length)if(this._hideAllEditorCards({ignoreDetachedEditorCard:!0}),s.selectedErrorId=n.id,this._highlight(s,!0),s.card){const t=s.inputAreaTweaks.canCorrectMultipleErrorsAtOnce(s)&&Vs(s.displayedErrors,n);s.card.switchError({error:n,displayedErrors:s.displayedErrors,canCorrectMultipleAtOnce:t},e[0])}else this._showErrorCard(s,n,e[0],!0)}else{if(this._storageController.hasCustomServer())return;const e=qe(s.inputAreaWrapper.getText(),a.start);if(e){const t=[s.card?.getSelection("word")?.start].filter(Oe),n=[s.card?.getSelection("word")?.end].filter(Oe);if(t.includes(e.position.start)&&n.includes(e.position.end))return;this._hideAllEditorCards({ignoreDetachedEditorCard:!0});const r=e.position.start,o=e.position.end-r,i=s.inputAreaWrapper.getTextBoxes(r,o);s.card?s.card.switchSentence(a):this._showRephraseCard(s,i,a,!0,"word")}}},this._onHiglighterBlockClicked=e=>{if(!this._editors.length)return;if(!e.detail||Tr.BLOCK_ID===e.detail.blockId)return void e.preventDefault();this._hideAllEditorCards({ignoreDetachedEditorCard:!0}),this._hideAllDialogs();const t=this._editors.find((t=>t.highlighter===e.detail.highlighter));if(!t)return void e.preventDefault();if(this._activeEditorId=t.id,this._isInteractionModeRewrite(t)&&!0!==t.card?.isDetached)return;const s=t.displayedErrors.find((t=>t.id===e.detail.blockId))||t.displayedPremiumErrors.find((t=>t.id===e.detail.blockId));if(!s)return void e.preventDefault();if(t.temporaryDisabledErrorId===s.id)return void e.preventDefault();if(!n.isRuntimeConnected())return void e.preventDefault();if(ls().trim())return void e.preventDefault();t.selectedErrorId=s.id;let a=!1;if(t.callbacks.onErrorClick&&(a=t.callbacks.onErrorClick(s)),!a)if(t.card){const a=this._getErrorCardData(t,s);"correct"===t.card.mode?t.card.switchError({displayedErrors:t.displayedErrors,canCorrectMultipleAtOnce:a.canCorrectMultipleAtOnce,error:s},e.detail.clickedBox):(t.card.setErrorCardArguments(a),t.card.changeMode("correct",e.detail.clickedBox))}else this._showErrorCard(t,s,e.detail.clickedBox);this._highlight(t)},this._onToolbarPermissionRequiredIconClicked=()=>{n.openWindow(b),Pt.trackEvent("Action","toolbar:open_install_url")},this._onToolbarToggleDialog=e=>{if(!e.detail)return;const t=this._editors.find((t=>t.toolbar===e.detail.toolbar));if(!t)return;let s=t.checkStatus;s===ba.COMPLETED&&t.displayedErrors.length>0?s="HAS_ERRORS":s===ba.COMPLETED&&t.premiumErrors.length>0&&(s="HAS_ONLY_PREMIUM_ERRORS"),Pt.trackEvent("Action","dialog:opened",s);const a=!t.dialog;this._hideAllEditorCards({ignoreDetachedEditorCard:!0}),this._hideAllDialogs(!0),a&&this._showDialog(t)},this._onToolbarNotifyAboutPremiumIcon=e=>{const t=this._editors.find((t=>t.toolbar===e.detail.toolbar));t&&t.language&&(t.tracking.sawPremiumIcon=!0)},this._onTurnOffClickedDialog=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&this._turnOffEditor(t)},this._onTurnOffClickedToolbar=e=>{const t=this._editors.find((t=>t.toolbar===e.detail.toolbar));t&&this._turnOffEditor(t)},this._onPauseCheckingClickedDialog=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&this._pauseEditor(t)},this._onPauseCheckingClickedToolbar=e=>{const t=this._editors.find((t=>t.toolbar===e.detail.toolbar));t&&this._pauseEditor(t)},this._onTurnOnClicked=e=>{const t=mt(),s=this._tweaks.getEditorGroupId(ct());this._storageController.enableDomainAndEditorGroup(t,s),n.ltAssistantStatusChanged({enabled:!0});const a=us();a instanceof HTMLElement&&this._initElement(a,!0),Pt.trackEvent("Action","check_trigger:turn_on")},this._onPositionChangeClicked=e=>{this._storageController.updateUIState({dialogPosition:e.detail.newPosition})},this._onDialogEnableHere=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&(this._enableEditor(t),Pt.trackEvent("Action","check_trigger:manually_triggered"))},this._onPickyModeToggle=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&this._togglePickyMode(t,e.detail.isEnabled)},this._onDialogEnableEverywhere=e=>{this._storageController.updateSettings({autoCheck:!0,ignoreCheckOnDomains:[]}),Pt.trackEvent("Action","enable_everywhere")},this._onDialogLanguageChanged=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&this._setLanguage(t,e.detail.language)},this._onDialogCountChanged=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));if(t&&t.dialog){t.countMode=e.detail.countMode,this._storageController.updateUIState({countMode:e.detail.countMode});let s=this._getCountOptions(t);t.dialog.updateCounter(s)}},this._onErrorCardLanguageChanged=e=>{const t=this._editors.find((t=>t.card===e.detail.card));t&&(this._setLanguage(t,e.detail.language),Pt.trackEvent("Action","check_trigger:switch_language_variant"))},this._onErrorCardPickyModeTurnedOff=e=>{const t=this._editors.find((t=>t.card===e.detail.card));t&&(this._togglePickyMode(t,!1),t.card?.isDetached&&(t.selectErrorAfter=e.detail.selection.start))},this._onDialogErrorHighlighted=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));if(!t)return;const s=t.displayedErrors.find((t=>t.id===e.detail.errorId));s&&(t.selectedErrorId=s.id,this._highlight(t))},this._onDialogErrorSelected=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));if(!t||this._isInteractionModeRewrite(t))return;const s=t.displayedErrors.find((t=>t.id===e.detail.errorId));s&&this._scrollToError(t,s,"auto",!0)},this._onAddToDictionary=e=>{const{error:t,selectNextError:s}=e.detail,a=t.originalPhrase;let n;if("dialog"in e.detail){const t=e.detail.dialog;n=this._editors.find((e=>e.dialog===t))}else if("card"in e.detail){const t=e.detail.card;n=this._editors.find((e=>e.card===t))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!n)return;const r=this._getEditorGroup(n.groupId).flatMap((({displayedErrors:e})=>e)).filter((e=>!1===Et(e,[a])));n.selectErrorAfter=s&&r.length>0?t.start:null,n.isVisiblyErrorFree=0===r.length,this._addToDictionary(n,a);const o=kt.getPrimaryLanguageCode(t.language.code);Pt.trackDictionaryEvent(o,t.originalPhrase,!1),Pt.trackEvent("Action",`${o}:add_word_to_dict`)},this._onIgnoreRule=e=>{const{error:t,selectNextError:s}=e.detail;let a;if("dialog"in e.detail){const t=e.detail.dialog;a=this._editors.find((e=>e.dialog===t))}else if("card"in e.detail){const t=e.detail.card;a=this._editors.find((e=>e.card===t))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!a)return;const n=kt.getPrimaryLanguageCode(t.language.code),r={id:t.rule.id,language:n,description:t.rule.description,turnOffDate:new Date};let o=!1;this._options.onRuleIgnore&&(o=this._options.onRuleIgnore(r,a.inputArea,t)),a.callbacks.onRuleIgnore&&(o=a.callbacks.onRuleIgnore(r,t)),o||this._storageController.addIgnoredRule(r);const i=this._getEditorGroup(a.groupId).flatMap((({displayedErrors:e})=>e)).filter((({rule:e,language:s})=>!1===Boolean(e.id===t.rule.id&&kt.getPrimaryLanguageCode(s.code)===n)));a.selectErrorAfter=s&&i.length>0?t.start:null,a.isVisiblyErrorFree=0===i.length,_e.includes(n)&&(Pt.trackDisabledRule(n,t.rule.id,`[${t.rule.subId||"0"}] ${t.contextPhrase}`,t.rule.isPremium),"card"in e.detail&&Pt.trackEvent("Action",`${n}:disable_rule`,t.rule.id,void 0,{writingGoal:a.writingGoalId||void 0,errorType:_t(t),isPicky:t.isPicky,isPremium:t.rule.isPremium}))},this._onTemporarilyIgnoreWord=e=>{const{error:t,selectNextError:s}=e.detail;let a;if("dialog"in e.detail){const t=e.detail.dialog;a=this._editors.find((e=>e.dialog===t))}else if("card"in e.detail){const t=e.detail.card;a=this._editors.find((e=>e.card===t))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!a)return;const{originalPhrase:n}=t,r=kt.getPrimaryLanguageCode(t.language.code),o=this._getEditorGroup(a.groupId).flatMap((({displayedErrors:e})=>e)).filter((e=>!1===Et(e,[n])));if(a.callbacks.onTemporaryIgnore){const e={id:t.rule.id,phrase:n,language:r};a.callbacks.onTemporaryIgnore(e,t)}a.selectErrorAfter=s&&o.length>0?t.start:null,a.isVisiblyErrorFree=0===o.length,this._temporarilyIgnoreWord(a,n),Pt.trackDictionaryEvent(r,n,!0),Pt.trackEvent("Action",`${r}:temp_ignore_word`)},this._onTemporarilyIgnoreRule=e=>{const{error:t,selectNextError:s}=e.detail;let a;if("dialog"in e.detail){const t=e.detail.dialog;a=this._editors.find((e=>e.dialog===t))}else if("card"in e.detail){const t=e.detail.card;a=this._editors.find((e=>e.card===t))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!a)return;const n=a.groupId,r=kt.getPrimaryLanguageCode(t.language.code),o={id:t.rule.id,language:r};if(!me.some((e=>t.rule.id.includes(e)))&&t.originalPhrase.length<1e3&&(o.phrase=t.originalPhrase),this._tweaks.persistTemporarySettings()){const e=`ignored:${n}`,t=_a.get(e)||{words:[],rules:[]};t.rules.push(o),_a.set(e,t)}const i=this._getEditorGroup(n),l=i.flatMap((({displayedErrors:e})=>e)).filter((({rule:e,language:s})=>!1===Boolean(e.id===t.rule.id&&kt.getPrimaryLanguageCode(s.code)===r)));a.callbacks.onTemporaryIgnore&&a.callbacks.onTemporaryIgnore(o,t),a.selectErrorAfter=s&&l.length>0?t.start:null,a.isVisiblyErrorFree=0===l.length,i.forEach((e=>this._temporarilyIgnoreRule(e,o))),"HIDDEN_RULE"!==t.rule.id&&_e.includes(r)&&(Pt.trackDisabledRule(r,t.rule.id,`[${t.rule.subId||"0"}] ${t.contextPhrase}`,t.rule.isPremium),"card"in e.detail&&Pt.trackEvent("Action",`${r}:temp_disable_rule`,t.rule.id,void 0,{writingGoal:a.writingGoalId||void 0,errorType:_t(t),isPicky:t.isPicky,isPremium:t.rule.isPremium}))},this._onMoreDetailsClicked=e=>{let t;if("dialog"in e.detail){const{dialog:s}=e.detail;t=this._editors.find((e=>e.dialog===s))}else if("card"in e.detail){const{card:s}=e.detail;t=this._editors.find((e=>e.card===s))}t&&(n.openWindow(e.detail.url),Pt.trackEvent("Action","show_rule_details",e.detail.url))},this._onFixSelected=e=>{if(!e.detail)return void this._hideAllEditorCards();const{error:t,selectNextError:s,fixIndex:a}=e.detail;let r;if("dialog"in e.detail){const t=e.detail.dialog;r=this._editors.find((e=>e.dialog===t))}else if("card"in e.detail){const t=e.detail.card;r=this._editors.find((e=>e.card===t))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!r)return;const o=1===r.displayedErrors.length&&r.displayedErrors[0].id===t.id;r.selectErrorAfter=s?t.start:null,o&&r.card?.switchError({displayedErrors:r.displayedErrors}),this._applyFix(r,t,a).then((()=>{r.isVisiblyErrorFree=o}));const i=kt.getPrimaryLanguageCode(t.language.code);"card"in e.detail&&_e.includes(i)&&(t.isSpellingError?Math.random()<.01&&Pt.trackEvent("Action",`${i}:apply_spell_suggestion:1perc`,t.rule.id):Pt.trackEvent("Action",`${i}:apply_rule`,t.rule.id,void 0,{writingGoal:r.writingGoalId||void 0,errorType:_t(t),isPicky:t.isPicky,isPremium:t.rule.isPremium})),Math.random()<.1&&t.rule.id&&t.isSpellingError&&(t.rule.id.startsWith("AI_SPELLING_RULE_EN_")||t.rule.id.startsWith("MORFOLOGIK_RULE_EN_"))&&Pt.trackEvent("Action",`${i}:apply_spell_suggestion_index:${a}`,t.rule.id);const l=["en","de"].includes(i),c="standalone"===n.getType()||Math.random()<.1,g=r.id&&t.rule.id&&e.detail&&"number"==typeof a;if(l&&c&&g&&Math.random()<.1){const{hasPaidSubscription:e}=this._storageController.getUIState(),s=e?"premium":"free",n=io(r.id,50),o=`${i}:apply_suggestion_index`,l=`${s}:${t.rule.id}:${a}:${t.fixes.length}:${n}`;Pt.trackEvent("Action",o,l)}},this._onDialogOpenOptions=e=>{n.openOptionsPage(e.detail.target,e.detail.ref)},this._onDialogShowFeedbackForm=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));if(!t)return;const s=t.inputArea.cloneNode(!1);try{s.innerText=`${t.inputAreaWrapper.getText().length} chars, ${t.language?t.language.code:"unknown lang"}`}catch(e){}n.openFeedbackForm(ct(),"",s.outerHTML||"")},this._onDialogDestroyed=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));t&&(t.dialog=null,null===t.card&&this._unselectError(t))},this._onBadgeClicked=()=>{this._hideAllEditorCards();let e=!1;this._options.onPremiumTeaserClick&&(e=this._options.onPremiumTeaserClick()),e||n.openOptionsPage(void 0,"editorcard"),Pt.trackEvent("Action","check_trigger:badge:clicked",String(`premium:${this._storageController.getUIState().hasPaidSubscription}`))},this._onDialogPremiumTeaserClicked=e=>{const t=this._editors.find((t=>t.dialog===e.detail.dialog));if(!t)return;let s=!1;this._options.onPremiumTeaserClick&&(s=this._options.onPremiumTeaserClick()),s||this._openPremiumPage(t,e.detail.campaign)},this._onErrorCardPremiumTeaserClicked=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;let s=!1;this._options.onPremiumTeaserClick&&(s=this._options.onPremiumTeaserClick()),s||this._openPremiumPage(t,e.detail.campaign)},this._onToggleCardMode=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;const{mode:s,selection:a}=e.detail;Pt.trackEvent("Action","toggle_card_mode",s),this._toggleCardMode(t,s,a)},this._onEditorCardPremiumClick=e=>{const{subject:t,isCardDetached:s}=e.detail;this._hideAllEditorCards({ignoreDetachedEditorCard:s});let a=`https://languagetool.org/?utm_campaign=addon2-editor-card-${t}`;wt.isSafari()&&(a+="&hidePremium=true"),n.openWindow(a),Pt.trackEvent("Action",`check_trigger:${t}:clicked`,String(`premium:${this._storageController.getUIState().hasPaidSubscription}`))},this._onMessagePopupDestroyed=e=>{const t=this._messages.indexOf(e.detail.message);-1!==t&&this._messages.splice(t,1)},this._onCorrectAll=e=>{let t,s=!1;if("dialog"in e.detail){const s=e.detail.dialog;t=this._editors.find((e=>e.dialog===s))}else if("card"in e.detail){const a=e.detail.card;s=e.detail.selectNextError,t=this._editors.find((e=>e.card===a))}if(this._hideAllEditorCards({ignoreDetachedEditorCard:s}),!t)return;const{config:a,selectedError:n}=e.detail,r=t.displayedErrors.filter((e=>e.rule.id===a.ruleId&&e.fixes.some((e=>a.suggestion.match.test(e.value))))),o=r.indexOf(n);t.selectErrorAfter=s?n.start:null;let i=0;const l=r.slice(o).concat(r.slice(0,o)).map(((e,t,s)=>{t===s.length-o&&(i=0);const n=e.fixes.find((e=>a.suggestion.match.test(e.value)));if(!n)return e;const r=n.value.length-e.originalPhrase.length,l=e.start+i,c=l+e.length;return i+=r,{...e,start:l,end:c}}));this._correctMultipleErrors(t,l,a),Pt.trackEvent("Action","apply_multiple_at_once",a.ruleId)},this._onSynonymSelected=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(this._hideAllEditorCards({ignoreDetachedEditorCard:t?.card?.isDetached}),!t)return;const{word:s,synonym:a,selection:n,selectSynonymReplacement:r}=e.detail;this._applySynonym(t,{source:s,replacement:a,selection:n}),r&&(t.selectSynonymReplacement=n.start+a.length-1)},this._onPhraseSelected=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;const{selection:s,phrase:a,selectSentenceAfter:n,language:r}=e.detail,o=t.checkedText.text.slice(s.start,s.end);t.selectSentenceAfter=n?s.start:null,this._applyRephrasing(t,{source:o,replacement:a,selection:s},{label:e.detail.label??"unknown",reverted:e.detail.reverted,selectSentenceAfter:n,language:r}),n||this._displayUndoNotification({editor:t,selection:s,sentence:a,initialText:o,trackingAction:"rephrasesV3"})},this._onSplitSentenceSelected=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;const{sentence:s,error:a,language:n}=e.detail,r={start:a.start,end:a.end},o=t.checkedText.text.slice(r.start,r.end),i=0===this._getEditorGroup(t.groupId).flatMap((({displayedErrors:e})=>e)).filter((({id:e})=>e!==a.id)).length;t.selectErrorAfter=e.detail.selectNextError?a.start:null,(null===t.selectErrorAfter||i)&&t.card?.switchError({displayedErrors:t.displayedErrors}),this._applySentenceSuggestion(t,{source:o,replacement:s,selection:r},{label:e.detail.label??"unknown",reverted:e.detail.reverted,language:n},a,"sentence-splitting"),this._displayUndoNotification({editor:t,selection:r,sentence:s,initialText:o,trackingAction:"sentence-splitting"})},this._onFixSentenceSelected=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;const{sentence:s,start:a,end:n,language:r,includedErrors:o,selectedErrorId:i}=e.detail,l={start:a,end:n},c=t.checkedText.text.slice(a,n),g=[...o].map((({id:e})=>String(e))),[u]=g.reverse(),d=this._getEditorGroup(t.groupId).flatMap((({displayedErrors:e})=>e)),m=d.filter((({id:e})=>!1===g.includes(String(e)))),p=d.find((({id:e})=>u===e)),h=d.find((({id:e})=>i===e));if(!h||!p)return;const f=0===m.length;t.selectErrorAfter=e.detail.selectNextError?p.start:null,(null===t.selectErrorAfter||f)&&t.card?.switchError({displayedErrors:t.displayedErrors}),this._applySentenceSuggestion(t,{source:c,replacement:s,selection:l},{label:"fix-sentence",reverted:!1,language:r},h,"fix-sentence"),this._displayUndoNotification({trackingAction:"fix-sentence",editor:t,selection:l,sentence:s,initialText:c})},this._onFixSentenceShowHighlight=e=>{const t=this._editors.find((t=>t.card===e.detail.card));t&&this._highlight(t,!0,e.detail.includedErrorIds)},this._onFixSentenceRemoveHighlight=e=>{const t=this._editors.find((t=>t.card===e.detail.card));t&&this._highlight(t,!0)},this._reportPhraseFromCard=e=>{e.detail&&this._reportPhrase(e.detail)},this._onEditorCardDestroyed=e=>{const t=this._editors.find((t=>t.card===e.detail.card));t&&(t.card=null,t.dialog?.fadeIn(),!0===e.detail.shouldUpdateHighlight&&this._highlight(t),t.selectedErrorId===e.detail.error?.id&&(t.temporaryDisabledErrorId=t.selectedErrorId,setTimeout((()=>t.temporaryDisabledErrorId=null),500),this._unselectError(t)))},this._onSettingsChanged=e=>{if(e.dictionary){const e=Na.get();for(const t of this._editors)t.errors=t.errors.filter((t=>!Et(t,e))),this._updateDisplayedErrors(t),this._highlight(t),this._updateState(t)}if(e.ignoredRules)for(const e of this._editors)this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e);if(e.disabledDomainsCapitalization&&this._editors.forEach((e=>{this._resetEditor(e),this._endTypingMode(e),this._checkEditor(e),this._highlight(e),this._updateState(e)})),e.hasPickyModeEnabledGlobally&&this._editors.forEach((e=>{this._resetEditor(e),this._endTypingMode(e),this._checkEditor(e),this._highlight(e),this._setCheckLevel(e,this._storageController.getSettings().hasPickyModeEnabledGlobally?"picky":"hidden-picky"),this._updateState(e)})),e.autoCheck||e.autoCheckOnDomains||e.disabledDomains||e.ignoreCheckOnDomains||e.disabledEditorGroups){const e=this._getCheckSettings();if(e.isDomainDisabled||e.isEditorGroupDisabled){Array.from(this._editors).forEach((e=>this._destroyEditor(e)))}else e.isAutoCheckEnabled?this._editors.filter((e=>!e.isAutoCheckEnabled)).forEach((e=>this._enableEditor(e))):e.isAutoCheckEnabled||(this._hideAllDialogs(),this._editors.forEach((e=>this._disableEditor(e))))}},this._onPrivacySettingsChanged=e=>{e.allowRemoteCheck&&e.allowRemoteCheck.newValue&&(this._isRemoteCheckAllowed=!0,this._editors.forEach((e=>{this._checkEditor(e),this._updateState(e)})))},this._onUiStateChanged=e=>{e.hasPaidSubscription&&(this._editors.forEach((e=>{this._resetEditor(e),this._checkEditor(e),this._updateState(e)})),!0===e.hasPaidSubscription.newValue?this._storageController.grantUnlimitedRephrasings():this._storageController.restrictRephrasings())},this._onRephraseCardHighlight=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t)return;"sentence"!==t.card?.currentRephraseHighlightType||t.card?.getSelection("sentence")||t.card?.updateSelection(t.inputAreaWrapper.getSelection()),this._highlight(t);const s=Ut(t.highlighter.getTextBoxes(Tr.BLOCK_ID));t.card?.updateTargetBox(s)},this._onNavigateError=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t?.card)return;const{direction:s,selection:a}=e.detail,n=t.displayedErrors.find((e=>e.start===a.start&&a.end===e.end));if(!n)return;let r=null;switch(s){case"previous":r=this._getErrorBefore(t,n?.start);break;case"next":r=this._getErrorAfter(t,n?.start);break;default:throw new Error(`Unknown card navigation direction "${s}"`)}r&&this._scrollToError(t,r,"smart",!0)},this._onNavigateSentence=e=>{const t=this._editors.find((t=>t.card===e.detail.card));if(!t?.card)return;const{direction:s,selection:a}=e.detail,n=this._getNeighborSentence(t,a,s);n&&(t.inputAreaWrapper.setSelection({start:n.end}),this._scrollToSentence(t,n))},this._getNeighborSentence=(e,t,s)=>{let a;switch(s){case"previous":a=this._getSentenceBefore(e,t);break;case"next":a=this._getSentenceAfter(e,t);break;default:throw new Error(`Unknown card navigation direction "${s}"`)}return a},this._onDestroy=e=>{const t=(s=e,s.detail instanceof Object?s.detail:null)?.type;var s;t?t===n.getType()&&this.destroy():this.destroy()},this._displayUndoNotification=e=>{const{editor:t,selection:s,sentence:a,initialText:n,trackingAction:r}=e,i=(()=>{try{return self.top.document}catch{return document}})();Mt(500).then((()=>Yr.create({language:t.language?.code??"en",parentElement:i.body,label:o.getMessage("notificationUndoLabel"),description:o.getMessage("notificationUndoDescription"),lifetime:4e3,undo:()=>{t.inputAreaTweaks.applyFix({offset:s.start,length:a.length,replacementText:n,editor:t}),Pt.trackEvent("Action",`${r}:undo`,kt.getPrimaryLanguageCode(t.language?t.language.code:"unknown"))}}).show()))},document.documentElement&&"HTML"===document.documentElement.nodeName&&(this._options=Object.assign({},e),"string"==typeof this._options.localeCode&&o.setLocale(this._options.localeCode),document.addEventListener(lo.events.DESTROY,this._onDestroy),n.injectExecutor().catch((()=>null)),this._tweaks=t,this._tweaks.init(),this._isConnected=!0,this._temporaryDisabledEditorGroups=[],this._storageController=Lt.create(),this._storageController.onReady(this._init),Na.init(this._storageController,this._options.dictionary))}_pingBackround(){n.ping().then((()=>Pt.trackEvent("Stat","background_ping","success"))).catch((e=>Pt.trackEvent("Stat","background_ping","error:"+e.toString())))}_isSignificantTextChange(e,t){return Math.abs(t.length-e.length)>200}_getCheckSettings(){const e=mt();return this._storageController.getCheckSettings(e,this._tweaks.getEditorGroupId(ct()))}_getEditorGroup(e){return this._editors.filter((t=>t.groupId===e))}async _fixIframeWithoutContentScripts(){if(!document.activeElement||"IFRAME"!==document.activeElement.nodeName)return;const e=document.activeElement.contentWindow;let t=!1;try{t=!!e.location.href}catch(e){}t&&"complete"===e.document.readyState&&e.document.documentElement&&(e.__ltJsLoaded||(Ss(e)?e.__ltJsLoaded=!0:e.document.body&&zs(e.document.body)&&(e.__ltJsLoaded=!0,await n.loadContentScripts(e,"js"),n.initializeLTAssistant(e,this._options))),e.__ltCssLoaded||(!function(e){const t=e.document.createElement("div");t.className="lt-test-element",e.document.documentElement.appendChild(t);const s="absolute"===e.getComputedStyle(t).position;return t.remove(),s}(e)?e.document.body&&(e.__ltCssLoaded=!0,n.loadContentScripts(e,"css")):e.__ltCssLoaded=!0))}_initElement(e,t=!1){if(!e.parentElement)return;let s=!0;const a=Os(this._storageController.getManagedSettings().allowedURLs),r=ct(),o=this._tweaks.getInitElements(e);for(const i of o){if(this._editors.some((({inputArea:e})=>e===i))){const e=this._editors.find((({inputArea:e})=>e===i));this._activeEditorId=e?.id||null;continue}if(!this._tweaks.isElementCompatible(i))continue;if(a.length&&!ft(a,r)){s=!1;continue}const o=this._tweaks.getEditorGroupId(r);if(this._temporaryDisabledEditorGroups.includes(o))continue;const l=this._getCheckSettings();if(l.isDomainDisabled||l.isEditorGroupDisabled)continue;let c=null;"extension"===n.getType()&&(c=ms(e))&&!ys(c)&&Ts(c),clearTimeout(this._initElementTimeouts.get(i)),l.isAutoCheckEnabled&&this._disableOtherSpellCheckers(i);const g=()=>{i.removeEventListener("blur",u);const e=this._initElementTimeouts.get(i);clearTimeout(e),this._initElementTimeouts.delete(i)},u=()=>{g(),this._enableOtherSpellCheckers(i)};i.addEventListener("blur",u),this._initElementTimeouts.set(i,self.setTimeout((()=>{g(),!t||this._tweaks.hasFocus(i)?this.initElement(i):this._enableOtherSpellCheckers(i)}),150))}s||n.ltAssistantStatusChanged({enabled:!1})}initElement(e,t){const s=function(e){const t=e&&"ownerDocument"in e?e.ownerDocument:null,s=t&&"defaultView"in t?t.defaultView:null;return null!==s&&(e instanceof s.HTMLElement||e instanceof s.SVGElement)}(e)?e:null;if(!s)throw new Error("Failed to initialize LTAssistent; given element is not a valid DOM element.");if(this._editors.some((e=>e.inputArea===s)))throw"LanguageTool is already initialized on this element.";if(!this._storageController.isReady())throw"LTAssistant is not ready initialized yet.";const a=ct(),n=String(t&&t.id||this._tweaks.getEditorId(a)),r=this._tweaks.getEditorGroupId(a),o=Xr.getInputAreaTweaks(a,s),i=o.getMirror(),l=o.getMaxTextLength(this._storageController,t?.maxTextLengthBasic),c=o.getInputAreaWrapper(i,l),g=i?i.getCloneElement():null,u=new Jr(s,c,g||s,!!i,o.getHighlighterTweaks(g||s,!!i),this._tweaks.getClickEvent());let d=null;if("false"!==s.getAttribute("data-lt-toolbar")){const e=this._storageController.getSettings().hasRephrasingEnabled&&!this._storageController.hasCustomServer();d=new Gr(s,o.getToolbarAppearance(),i,e)}o.init();let m={words:t&&t.dictionary||[],rules:t&&t.ignoredRules||[]};this._tweaks.persistTemporarySettings()&&(m=_a.get(`ignored:${r}`)||m);let p=this._storageController.getSettings().hasPickyModeEnabledGlobally?"picky":"hidden-picky";this._tweaks.persistTemporarySettings()&&(p=_a.get(`checkLevel:${r}`)||p);let h=null,f=!1;if(this._tweaks.persistTemporarySettings()){const e=_a.get(`forcedLanguage:${n}`);if(e){const t=kt.LANGUAGES.find((t=>t.code===e));t&&(h=t,f=!0)}}const _=(t&&t.language||"").toLowerCase(),{username:E,token:v,hasStatisticsCollectionEnabled:b}=this._storageController.getSettings(),S=b&&!wt.isFirefox()&&this._storageController.hasLanguageToolAccount()?new oo(E,v,h,t?.writingGoalId||null,t?.checkLevel||p,c.getText()):null,y={id:n,groupId:r,checkLevel:t&&t.checkLevel||p,showHiddenMatchesInplace:t&&t.showHiddenMatchesInplace||!1,showPickyAsHiddenMatch:t&&t.showPickyAsHiddenMatch||!1,inputArea:s,inputAreaTweaks:o,countMode:this._storageController.getUIState().countMode,mirror:i,inputAreaWrapper:c,highlighter:u,toolbar:d,card:null,dialog:null,ignoredRules:m.rules||[],ignoredWords:m.words||[],checkDebounce:new Qr(this._sendCheckRequest.bind(this),V,q),checkStatus:ba.COMPLETED,language:h,forceLanguage:f,userActivity:S,isLanguageSupported:!0,isAutoCheckEnabled:this._getCheckSettings().isAutoCheckEnabled,isUserTyping:!1,isChecking:!1,isTextTooShort:!1,isTextTooLong:!1,needsLanguageHintFromUser:!1,checkError:null,lastCheckTimestamp:0,checkedText:{text:"",originalText:"",usedParts:[{start:0,end:0,originalStart:0,originalEnd:0,posDiff:0,length:0,text:""}],ignoredParts:[]},isIncompleteResult:!1,errors:[],pickyErrors:[],premiumErrors:[],premiumPickyErrors:[],pendingErrors:[],displayedErrors:[],displayedPremiumErrors:[],displayedHiddenErrorCount:0,selectedErrorId:null,selectErrorAfter:null,selectSentenceAfter:null,selectSynonymReplacement:null,temporaryDisabledErrorId:null,typingTimeoutId:void 0,maxTextLengthBasic:t?.maxTextLengthBasic,sentenceRanges:void 0,currentSentenceRanges:void 0,writingGoalId:t?.writingGoalId||null,simplifyRephrasingDiff:!0===t?.simplifyRephrasingDiff,callbacks:{onDictionaryAdd:t&&t.onDictionaryAdd,onRuleIgnore:t&&t.onRuleIgnore,onTemporaryIgnore:t&&t.onTemporaryIgnore,onUpdate:t&&t.onUpdate,onErrorClick:t&&t.onErrorClick,onBeforeErrorCorrect:t&&t.onBeforeErrorCorrect,onBeforeRephrasingApply:t&&t.onBeforeRephrasingApply},tracking:{hasTracked:!1,hasEnoughText:!1,sawPremiumIcon:!1,languageCode:null,maxTextLength:0},hoverDebounce:new Qr(this._highlightSentenceFromHover.bind(this),Z,X),interactionMode:"correction",synonyms:{state:null,source:null,result:la.emptySynonymResult,selection:{}},rephrasings:{state:null,result:[],source:null,selection:{}},lineHighlights:[],isRewriteModeDisabled:!1,isCorrectingMultiple:!1,isVisiblyErrorFree:null};if(_){const e=kt.LANGUAGES.find((e=>e.code===_));e&&(y.language=e,y.forceLanguage=!0)}return this._activeEditorId=n,this._editors.push(y),this._checkEditor(y),this._updateState(y),o.onDestroy((()=>this._destroyEditor(y))),{addWord:e=>this._temporarilyIgnoreWord(y,e),addToDictionary:e=>this._addToDictionary(y,e),ignoreRule:e=>this._temporarilyIgnoreRule(y,e),clearIgnoredRules:()=>this._clearTemporarilyIgnoredRules(y),clearWords:()=>this._clearWords(y),getText:()=>y.inputAreaWrapper.getText(),getLanguage:()=>y.language,setLanguage:e=>this._setLanguage(y,e.toLowerCase()),setCheckLevel:e=>this._setCheckLevel(y,e),getCheckLevel:()=>y.checkLevel,getElement:()=>y.inputArea,getDisplayedErrors:()=>y.displayedErrors,getDisplayedPremiumErrors:()=>y.premiumErrors,getStatus:()=>y.checkStatus,getSelection:()=>y.inputAreaWrapper.getSelection(),setSelection:e=>y.inputAreaWrapper.setSelection(e),highlightPreviousSentence:e=>this._highlightNeighborSentence(y,"previous",e),highlightNextSentence:e=>this._highlightNeighborSentence(y,"next",e),getTextBoxes:e=>y.highlighter.getTextBoxes(e.id),applyFix:(e,t)=>this._applyFix(y,e,t),scrollToError:(e,t=!1,s="nearest")=>this._scrollToError(y,e,s,t),setInteractionMode:e=>this._setInteractionMode(y,e),getInteractionMode:()=>y.interactionMode,applySynonym:e=>this._applySynonym(y,e),applyRephrasing:(e,t)=>this._applyRephrasing(y,e,t),disableRewriteMode:()=>this._disableRewriteMode(y),enableRewriteMode:()=>this._enableRewriteMode(y),reportPhrase:e=>this._reportPhraseFromExternalSource(y,e),getRemainingRephrasings:()=>this._getRemainingRephrasings(),updateWritingGoalId:e=>this._setWritingGoalId(y,e),removeWritingGoalId:()=>this._setWritingGoalId(y),destroy:()=>this._destroyEditor(y)}}highlightSuggestion(e,t){return ea(e,t)}updateLanguageOptions(e){if(Array.isArray(e.preferredVariants)){const t={};for(const s of e.preferredVariants){const e=kt.getPrimaryLanguageCode(s);"en"===e?t.enVariant=s:"de"===e?t.deVariant=s:"pt"===e?t.ptVariant=s:"ca"===e&&(t.caVariant=s)}this._storageController.updateSettings(t)}this._options.motherTongue&&this._storageController.updateSettings({motherTongue:e.motherTongue}),this._options.preferredLanguages&&this._storageController.updateSettings({geoIpLanguages:e.preferredLanguages,preferredLanguages:e.preferredLanguages})}updateUser(e){this._storageController.updateSettings({username:e.email,token:e.token,apiServerUrl:e.apiServerUrl||L}),"premium"in e?e.premium?(this._storageController.enablePaidSubscription(),this._storageController.grantUnlimitedRephrasings()):(this._storageController.disablePaidSubscription(),this._storageController.restrictRephrasings()):"standalone"===n.getType()&&this._storageController.checkForPaidSubscription()}setLocale(e){o.setLocale(e)}_setInteractionMode(e,t){e.interactionMode!==t&&(e.interactionMode=t,e.lineHighlights=[],"rewrite"===e.interactionMode?document.addEventListener("mouseleave",this._onDocumentMousleave,!0):document.removeEventListener("mouseleave",this._onDocumentMousleave,!0),this._highlight(e,!0),this._clearRewritingData(e))}_isInteractionModeCorrection(e){return"correction"===e.interactionMode}_isInteractionModeRewrite(e){return"rewrite"===e.interactionMode}_disableRewriteMode(e){e.isRewriteModeDisabled=!0,this._removeSentenceHighlights(e)}_enableRewriteMode(e){!0===e.isRewriteModeDisabled&&(e.isRewriteModeDisabled=!1,e.rephrasings={state:null,result:[],source:null,selection:{}},this._highlightSentenceFromClick(e))}_disableOtherSpellCheckers(e){if(!this._tweaks.shouldDisableOtherSpellCheckers(e))return;if(this._spellcheckingAttributesData.get(e))return;const t={spellcheck:e.getAttribute("spellcheck"),"data-gramm":e.getAttribute("data-gramm")},s="lt-"+Math.round(999999*Math.random());e.setAttribute(lo.TMP_ID_ATTRIBUTE_NAME,String(s)),e.setAttribute("spellcheck","false"),e.setAttribute("data-gramm","false");let a=0;const n=new MutationObserver((()=>{if("false"!==e.getAttribute("spellcheck")||"false"!==e.getAttribute("data-gramm")){if(++a>2)return;e.setAttribute("spellcheck","false"),e.setAttribute("data-gramm","false")}}));n.observe(e,{attributes:!0,attributeFilter:["spellcheck","data-gramm"]}),this._spellcheckingAttributesData.set(e,{originalValues:t,mutationObserver:n})}_enableOtherSpellCheckers(e){const t=this._spellcheckingAttributesData.get(e);if(!t)return;t.mutationObserver.disconnect();const s=e.getAttribute(lo.TMP_ID_ATTRIBUTE_NAME),a=Array.from(e.ownerDocument.querySelectorAll(`[${lo.TMP_ID_ATTRIBUTE_NAME}="${s}"]`));a.includes(e)||a.push(e);for(const e in t.originalValues){const s=t.originalValues[e];t.originalValues[e]?a.forEach((t=>{t.setAttribute(e,s)})):a.forEach((t=>{t.removeAttribute(e)}))}a.forEach((e=>{e.removeAttribute(lo.TMP_ID_ATTRIBUTE_NAME)})),this._spellcheckingAttributesData.delete(e)}_updateState(e){let t=ba.COMPLETED;const s=e.language?e.language.code:"";let a="";if(this._isConnected?this._isRemoteCheckAllowed?e.isAutoCheckEnabled?e.isUserTyping||e.isChecking?t=ba.IN_PROGRESS:e.checkError?(t=ba.FAILED,a=this._getCheckErrorMessage(e.checkError)):e.isTextTooShort?t=ba.TEXT_TOO_SHORT:e.isTextTooLong?t=ba.TEXT_TOO_LONG:e.isLanguageSupported?e.needsLanguageHintFromUser&&!e.forceLanguage&&(t=ba.NEEDS_LANGUAGE_HINT):t=ba.UNSUPPORTED_LANGUAGE:t=ba.DISABLED:t=ba.PERMISSION_REQUIRED:t=ba.DISCONNECTED,e.checkStatus=t,e.toolbar){const n={checkStatus:t,errorsCount:e.displayedErrors.length,premiumErrorsCount:e.displayedPremiumErrors.length,isIncompleteResult:e.isIncompleteResult,checkErrorMessage:a,showNotification:this._storageController.canStartChangelogCoupon(),text:e.inputAreaWrapper.getText(),sentenceRanges:e.currentSentenceRanges,selection:e.inputAreaWrapper.getSelection(),languageCode:s};e.toolbar.updateState(n)}if(e.dialog){const s=new Da(e.inputAreaWrapper.getText(),e.currentSentenceRanges||[]),n=(new Ia).calculateTextScore(s.countWords(),e.errors,e.premiumErrors,e.pickyErrors),r={checkStatus:t,errors:e.errors,pickyErrors:e.pickyErrors,displayedPremiumErrors:e.displayedPremiumErrors,displayedErrors:e.displayedErrors,isIncompleteResult:e.isIncompleteResult,ignoredErrorsStats:this._getIgnoredErrorsStats(e.errors),checkErrorMessage:a,textScore:n,countOptions:this._getCountOptions(e),isPickyModeEnabled:"picky"===e.checkLevel};e.dialog.updateState(r)}if(e.displayedHiddenErrorCount=Math.max(e.displayedHiddenErrorCount,e.premiumErrors.length),e.callbacks.onUpdate||location.href.includes("validator/validator.html")){const n={checkStatus:t,languageCode:s,errors:e.errors,pickyErrors:e.pickyErrors,premiumErrors:e.premiumErrors,premiumPickyErrors:e.premiumPickyErrors,displayedErrors:e.displayedErrors,displayedPremiumErrors:e.displayedPremiumErrors,isIncompleteResult:e.isIncompleteResult,errorMessage:a,checkedText:e.checkedText,sentenceRanges:e.currentSentenceRanges,currentText:e.inputAreaWrapper.getText(),synonyms:e.synonyms,rephrasings:e.rephrasings,writingGoalId:e.writingGoalId};ts(e.inputArea,lo.events.UPDATE,n),e.callbacks.onUpdate&&e.callbacks.onUpdate(n)}}_getCheckErrorMessage(e){const t=(e.url||"<unknown>").replace(/\?.*/,"");switch(e.reason){case"ConnectionError":return o.getMessage("connectionProblem",t)+" (#1, code="+e.status+")";case"TimeoutError":return o.getMessage("connectionProblem",t)+" (#1, timeout)";case"TooManyErrors":return o.getMessage("tooManyErrors");case"TextTooLong":return o.getMessage("textTooLong");case"TooManyRequests":return o.getMessage("tooManyRequests");case"InvalidCredentials":return o.getMessage("invalidUsernameOrPassword");case"AccessDenied":return o.getMessage("accessDeniedError2");default:return o.getMessage("unknownError")+" ("+e.status+")"}}_getCountOptions(e){const t=new Da(e.inputAreaWrapper.getText(),e.currentSentenceRanges||[]);return{mode:e.countMode,counts:{characters:e.checkedText.originalText.length,sentences:t.countSentences(),words:t.getAllWords().length}}}_togglePickyMode(e,t){const s=t?"picky":"hidden-picky",a=e.groupId;if(this._getEditorGroup(a).forEach((e=>{this._setCheckLevel(e,s),this._updateState(e)})),this._tweaks.persistTemporarySettings()){const e=`checkLevel:${a}`;_a.set(e,s)}}_setLanguage(e,t){const s=e.language;let a=null;if("auto"===t)e.language=null,e.forceLanguage=!1,this._tweaks.persistTemporarySettings()&&_a.remove(`forcedLanguage:${e.id}`);else{if(a=kt.LANGUAGES.find((e=>e.code===t))||null,!a)throw new Error(`LTAssistant: Language '${t}' is not supported.`);e.language=a,e.forceLanguage=!0,this._tweaks.persistTemporarySettings()&&_a.set(`forcedLanguage:${e.id}`,a.code)}if(a&&"NEEDS_LANGUAGE_HINT"===e.checkStatus){const{preferredLanguages:e}=this._storageController.getSettings(),t=kt.getPrimaryLanguageCode(a.code);e.includes(t)||(e.push(kt.getPrimaryLanguageCode(a.code)),this._storageController.updateSettings({preferredLanguages:e}),Pt.trackEvent("Action","dialog:set_language_from_hint",t))}if(this._resetEditor(e),this._endTypingMode(e),this._checkEditor(e,!0,!1),this._highlight(e),this._updateState(e),s&&s.code){if(e.checkedText.text.length>=B?Pt.trackEvent("Action","switch_language:long_text",`${s.code} -> ${t}`):Pt.trackEvent("Action","switch_language:"+(s?.detectedLanguage?.source||"unknown"),`${s.code} -> ${t}`),a&&kt.isLanguageVariant(s)&&kt.isLanguageVariant(a)){const e=kt.getPrimaryLanguageCode(s.code),t=kt.getPrimaryLanguageCode(a.code);if(e===t&&s.code!==a.code){const e=kt.formatLanguageCode(a.code);"en"===t?this._storageController.updateSettings({enVariant:e}):"de"===t?this._storageController.updateSettings({deVariant:e}):"pt"===t?this._storageController.updateSettings({ptVariant:e}):"ca"===t&&this._storageController.updateSettings({caVariant:e})}}}else Pt.trackEvent("Action","switch_language",`unknown -> ${t}`)}_setCheckLevel(e,t){this._resetEditor(e),e.checkLevel=t,this._checkEditor(e),Pt.trackEvent("Action","set_check_level",t)}_setWritingGoalId(e,t=null){this._resetEditor(e),e.writingGoalId=t,this._updateState(e),this._checkEditor(e)}_resetEditor(e){e.isChecking=!1,e.isTextTooShort=!1,e.isTextTooLong=!1,e.checkError=null,e.lastCheckTimestamp=0,e.checkedText={text:"",originalText:"",usedParts:[{start:0,end:0,originalStart:0,originalEnd:0,posDiff:0,length:0,text:""}],ignoredParts:[]},e.isIncompleteResult=!1,e.errors=[],e.pickyErrors=[],e.premiumErrors=[],e.pendingErrors=[],e.displayedErrors=[],e.displayedPremiumErrors=[],e.selectedErrorId=null,e.selectErrorAfter=null,e.selectSentenceAfter=null,e.sentenceRanges=void 0,e.currentSentenceRanges=void 0,e.isCorrectingMultiple=!1,e.isVisiblyErrorFree=null,e.card?.destroy(),e.card=null}_checkEditor(e,t,s){let a,n=!1;if(void 0===t&&void 0===s?(a=e.inputAreaWrapper.getText(),s=!1):"boolean"==typeof t&&void 0===s?(a=e.inputAreaWrapper.getText(),s=t):"string"==typeof t&&"boolean"==typeof s?a=t:(a=e.inputAreaWrapper.getText(),n=t),!this._isConnected)return!0;if(!this._isRemoteCheckAllowed||!e.isAutoCheckEnabled)return!0;const r=a.trim();if(r.length<z||lo.NO_LETTERS_REGEXP.test(r))return e.forceLanguage||(e.language=null,e.isLanguageSupported=!0),this._resetEditor(e),e.isTextTooShort=!0,e.checkDebounce.cancelCall(),!0;if(a.length>e.inputAreaTweaks.getMaxTextLength(this._storageController,e.maxTextLengthBasic)){const{hasPaidSubscription:t}=this._storageController.getUIState();if(!t&&!this._storageController.hasCustomServer())return e.forceLanguage||(e.language=null,e.isLanguageSupported=!0),this._resetEditor(e),e.isTextTooLong=!0,e.checkDebounce.cancelCall(),!0}return!e.forceLanguage&&function(e,t){const s=e.split("\n"),a=t.split("\n");for(const e of s)if(a.some((t=>t===e)))return!1;return!0}(e.checkedText.originalText,a)&&(e.language=null,e.isLanguageSupported=!0),e.isLanguageSupported||(e.isLanguageSupported=!0,e.forceLanguage||(e.language=null)),e.isChecking=!0,e.isTextTooShort=!1,e.isTextTooLong=!1,e.checkDebounce.call(e,a,n),s||e.checkDebounce.callImmediately(),!1}async _sendCheckRequest(e,t,s){const a=Ze(t,e.inputAreaTweaks.getReplacedParts(t));if(a.text===e.checkedText.text)return void this._onCheckAborted(e,e.checkedText,a);const r=lo._getChangedParagraphs(e.checkedText.text,a.text),o=ct(),i=await e.inputAreaTweaks.getRecipientInfo(),l=e.inputAreaWrapper.getLangAttribute(),c={instanceId:e.id,pageUrl:o,checkLevel:e.checkLevel,elementLanguage:l,recipientInfo:i},g=e.inputAreaTweaks.getCheckOptions(e,t,this._storageController),u=Date.now();try{const t=await n.check(e,a.text,r,c,g,s,e.writingGoalId);if(!t)return;t.isSuccessful?this._onCheckCompleted(t,a,u):this._onCheckFailed(t)}catch(t){e.isChecking=!1,console.error(t),Pt.trackError("message",t.message,"CHECK_TEXT"),t.message&&((d=t.message).startsWith("Invocation of form runtime.connect(null, ) doesn't match definition runtime.connect")||d.startsWith("Extension context invalidated"))?this._handleUnhealthyExtensionRuntime():(e.checkError={reason:"UnknownError",status:0},this._updateState(e))}var d}_onCheckCompleted(e,t,s){const a=this._editors.find((t=>t.id===e.instanceId));if(!a)return;if(!a.isAutoCheckEnabled)return;if(s<a.lastCheckTimestamp)return;const n=a.needsLanguageHintFromUser,{hasPaidSubscription:r}=this._storageController.getUIState();if(a.checkError=null,a.isChecking=!1,a.lastCheckTimestamp=s,e.isUnsupportedLanguage)return this._resetEditor(a),this._endTypingMode(a),a.language=null,a.isLanguageSupported=!1,a.checkedText=t,this._highlight(a),void this._updateState(a);if(e.language&&!a.language&&(a.language=e.language),t.originalText.length>z&&(a.tracking.languageCode=e.language?e.language.code:null,a.tracking.hasEnoughText=!0),a.tracking.maxTextLength=Math.max(t.originalText.length,a.tracking.maxTextLength),e.language&&a.dialog&&a.dialog.setCurrentLanguage(e.language.code),e.language&&e.language.code.toLowerCase()!==a.language.code.toLowerCase())return this._resetEditor(a),a.language=e.language,this._checkEditor(a),this._highlight(a),void this._updateState(a);let{errors:o,pickyErrors:i,premiumErrors:l,premiumPickyErrors:c,sentenceRanges:g}=At.merge({existing:{errors:a.errors,pickyErrors:a.pickyErrors,premiumErrors:a.premiumErrors,premiumPickyErrors:a.premiumPickyErrors,sentenceRanges:a.sentenceRanges},new:{textLevel:{errors:e.textLevelErrors,pickyErrors:e.textLevelPickyErrors,premiumErrors:e.textLevelPremiumErrors,premiumPickyErrors:e.textLevelPremiumPickyErrors},paragraphLevel:{errors:e.paragraphLevelErrors,pickyErrors:e.paragraphLevelPickyErrors,premiumErrors:e.paragraphLevelPremiumErrors,premiumPickyErrors:e.paragraphLevelPremiumPickyErrors,sentenceRanges:e.paragraphLevelSentenceRanges}},existingCheckedText:a.checkedText,newCheckedText:t},a.showPickyAsHiddenMatch&&!r);a.checkedText=t,a.errors=o,a.pickyErrors=i,a.premiumErrors=l,a.premiumPickyErrors=c,a.isIncompleteResult=e.isIncompleteResult,a.needsLanguageHintFromUser=!1===a.forceLanguage&&this._needsLanguageHintFromUser(o,t.text),a.sentenceRanges=g;const u=a.inputAreaWrapper.getText(),d=Ze(u,a.inputAreaTweaks.getReplacedParts(u));o=At.migrateOffsetsToValuableText(o,t.usedParts),o=At.migrateOffsetsBetweenTexts(o,t.text,d.text),o=At.migrateOffsetsToOriginalText(o,d.usedParts),g&&(g=At.migrateOffsetsToValuableText(g,t.usedParts),g=At.migrateOffsetsBetweenTexts(g,t.text,d.text),g=At.migrateOffsetsToOriginalText(g,d.usedParts)),this._updateDisplayedErrors(a,d,o,l),a.currentSentenceRanges=g,this._updateHighlightedSentence(a),this._updateHighlightedSynonym(a),0===a.pendingErrors.length&&this._endTypingMode(a);const m=!1===n&&!0===a.needsLanguageHintFromUser,p=!0===n&&!1===a.needsLanguageHintFromUser;m?a.highlighter.disableHighlighting():p&&a.highlighter.enableHighlighting(),this._highlight(a),this._updateState(a),a.userActivity?.updateMeta({checkLevel:a.checkLevel,language:a.language?.code,writingGoalId:a.writingGoalId}),a.inputAreaTweaks.canCollectErrorMeta(a)&&a.userActivity?.updateErrorMeta({pickyErrors:a.pickyErrors.length,hiddenMatches:r?0:a.premiumErrors.length})}_needsLanguageHintFromUser(e,t){if("extension"!==n.getType())return!1;const s=e.filter((e=>{if(e.isSpellingError){const t=e.originalPhrase.toLowerCase();if(e.fixes.some((e=>t===e.value.toLowerCase())))return!1;const s=bt(e.originalPhrase.toLowerCase());return!e.fixes.some((e=>s===bt(e.value.toLowerCase())))}return!1}));if(s.length<3||t.length>B)return!1;return s.reduce(((e,{length:t})=>e+t),0)/t.length>.4}_onCheckAborted(e,t,s){e.isChecking=!1,e.pendingErrors=[],this._endTypingMode(e),e.errors=At.migrateErrorsBetweenSameOriginalTexts(e.errors,t,s),e.pickyErrors=At.migrateErrorsBetweenSameOriginalTexts(e.pickyErrors,t,s),e.premiumErrors=At.migrateErrorsBetweenSameOriginalTexts(e.premiumErrors,t,s),e.checkedText=s,e.lastCheckTimestamp=Date.now(),this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e)}_onCheckFailed(e){const t=this._editors.find((t=>t.id===e.instanceId));t&&(this._resetEditor(t),t.checkError=e.error,e&&e.error&&e.error.response&&void 0!==e.error.status?e.error.response.includes("too many errors")?Pt.trackError("http",`${e.error.status}: Too many errors`):e.error.response.includes("Client request limit")?Pt.trackError("http",`${e.error.status}: Client Request Limit`):e.error.response.includes("ErrorRateTooHigh")?Pt.trackError("http",`${e.error.status}: Error Rate Too High`):e.error.response.includes("Client request size limit")?Pt.trackError("http",`${e.error.status}: Client Request Size Limit`):e.error.response.includes("oo many recent timeouts")?Pt.trackError("http",`${e.error.status}: Too Many Recent Timeouts`):e.error.response.match(/(application|page|site|request) blocked/i)||e.error.response.match(/has been blocked|cannot be accessed/)||e.error.response.match(/noncompliant action/i)||e.error.response.match(/due to corporate security/i)||e.error.response.match(/blocked by parental control/i)?Pt.trackError("http",`${e.error.status}: Application blocked by proxy`):Pt.trackError("http",`${e.error.status}: ${e.error.reason} - ${e.error.response}`):Pt.trackError("http","unknown"),this._highlight(t),this._updateState(t))}_startTypingMode(e){e.isUserTyping=!0,clearTimeout(e.typingTimeoutId),e.typingTimeoutId=self.setTimeout((()=>this._endTypingModeAndUpdateState(e)),K)}_endTypingModeAndUpdateState(e){this._endTypingMode(e);const t=e.inputAreaWrapper.getText(),s=Ze(t,e.inputAreaTweaks.getReplacedParts(t)),a=At.migrateOffsetsBetweenTexts(e.errors,e.checkedText.originalText,t),n=At.migrateOffsetsBetweenTexts(e.premiumErrors,e.checkedText.originalText,t);this._updateDisplayedErrors(e,s,a,n),this._highlight(e),this._updateState(e)}_endTypingMode(e){e.isUserTyping=!1,clearTimeout(e.typingTimeoutId)}_updateDisplayedErrors(e,t=e.checkedText,s=e.errors,a=e.premiumErrors){const{isVisiblyErrorFree:n}=e;s=(s=e.inputAreaTweaks.filterErrors(e,t,s)).filter(((t,a)=>{if(["DOUBLES_ESPACES","DOPPELTES_LEERZEICHEN","CONSECUTIVE_SPACES","DOBLE_ESPACIO","DUBBELE_SPATIE"].includes(t.rule.id))return 2===t.length&&t.originalPhrase.length===t.length&&(hs(e.inputArea)||Gs(e.inputArea)||lo.CONSECUTIVE_SPACE_REGEXP.test(t.originalPhrase));if(["COMMA_PARENTHESIS_WHITESPACE"].includes(t.rule.id))return t.originalPhrase.length===t.length;if("UNPAIRED_BRACKETS"===t.rule.id){const e=s[a+1],n=s[a-1];if(e&&0===t.fixes.length&&"„"===t.originalPhrase&&["UNPAIRED_BRACKETS","FALSCHES_ANFUEHRUNGSZEICHEN"].includes(e.rule.id)&&"”"===e.originalPhrase)return!1;if(e&&0===t.fixes.length&&"„"===t.originalPhrase&&["UNPAIRED_BRACKETS","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH"].includes(e.rule.id)&&'"'===e.originalPhrase)return!1;if(n&&0===t.fixes.length&&"“"===t.originalPhrase&&["UNPAIRED_BRACKETS","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN","TYPOGRAFISCHE_ANFUEHRUNGSZEICHEN_CH"].includes(n.rule.id)&&'"'===n.originalPhrase)return!1}return!0})),e.showHiddenMatchesInplace&&(s=s.concat(a),At.sortErrorsByOffset(s));let{ignoredRules:r}=this._storageController.getSettings();const o=e.inputAreaWrapper.getSelection(),i=e.displayedErrors;e.displayedErrors=[],e.pendingErrors=[],e.displayedPremiumErrors=[];for(const t of s){if(!(Et(t,e.ignoredWords)||vt(t,r)||vt(t,e.ignoredRules))){if(e.isUserTyping&&(lo._isPendingError(t,e.checkedText.originalText)||lo._isErrorSelected(t,o))){if(!i.some((e=>e.start===t.start&&e.end===t.end||e.id===t.id&&e.originalPhrase===t.originalPhrase))){e.pendingErrors.push(t);continue}}e.displayedErrors.push(t)}}if(e.isVisiblyErrorFree=0===e.displayedErrors.length,e.displayedPremiumErrors=[...a],null!==e.selectErrorAfter){const t=this._getErrorAfter(e,e.selectErrorAfter);e.selectErrorAfter=null,t?this._scrollToError(e,t,"auto",!1===e.isCorrectingMultiple,!0):e.card?.switchError({displayedErrors:[]})}else if(!0===e.card?.isDetached&&"correct"===e.card.mode&&!0!==e.isCorrectingMultiple)if(e.displayedErrors.length>0){let t;if(n){const{start:s=0}=e.inputAreaWrapper.getSelection()||{};t=this._getErrorAfter(e,s)}else e.selectedErrorId&&(t=e.displayedErrors.find((({id:t})=>t===e.selectedErrorId)));const{error:s,canCorrectMultipleAtOnce:a}=t?this._getErrorCardData(e,t):{canCorrectMultipleAtOnce:!1,error:void 0};s&&(e.selectedErrorId=s?.id||null,e.card?.switchError({displayedErrors:e.displayedErrors,error:s,canCorrectMultipleAtOnce:a}),this._highlight(e))}else e.card?.switchError({displayedErrors:[]})}_updateHighlightedSentence(e){if(null===e.selectSentenceAfter)return;const t=this._getSentenceAfter(e,{start:e.selectSentenceAfter,end:e.selectSentenceAfter});e.selectSentenceAfter=null,t&&(e.inputAreaWrapper.setSelection({start:t.end}),this._scrollToSentence(e,t))}_updateHighlightedSynonym(e){if(null===e.selectSynonymReplacement)return;const t=qe(e.inputAreaWrapper.getText(),e.selectSynonymReplacement);e.selectSynonymReplacement=null,t&&e.card?.switchSentence(t.position,{editorText:e.inputAreaWrapper.getText()})}_flashHighlight(e){e.editor.flashHighlight={id:"FLASH",offset:e.offset,length:e.length,isEmphasized:!0,backgroundColor:e.color,isUnderlined:!0,underlineColor:""},this._highlight(e.editor,!0),setTimeout((()=>{e.editor.flashHighlight=null,this._highlight(e.editor)}),e.duration)}_highlight(e,t=!1,s=[]){const a=Qt(e.inputArea),n=(t,s)=>{if(this._isInteractionModeRewrite(e)){return(a?te.DISABLED:ee.DISABLED)[s]||ee.DISABLED.UNDERLINE}return t[s]};const r=e.displayedErrors.map((t=>{const a=t.id===e.selectedErrorId||!!this._options.emphasizeErrors||s.includes(String(t.id));let r=n(ee.GRAMMAR,"UNDERLINE"),o=n(ee.GRAMMAR,"BACKGROUND"),i=n(ee.GRAMMAR,"EMPHASIZE");return t.rule.id.startsWith("TOO_LONG_SENTENCE")?(r=n(ee.LONG_SENTENCE,"UNDERLINE"),o=n(ee.LONG_SENTENCE,"BACKGROUND"),i=n(ee.LONG_SENTENCE,"EMPHASIZE")):"IGNORED_RANGE"===t.rule.id?(r=n(ee.IGNORED_RANGE,"UNDERLINE"),o=n(ee.IGNORED_RANGE,"BACKGROUND"),i=n(ee.IGNORED_RANGE,"EMPHASIZE")):t.isSpellingError?(r=n(ee.SPELLING,"UNDERLINE"),o=n(ee.SPELLING,"BACKGROUND"),i=n(ee.SPELLING,"EMPHASIZE")):(t.isStyleError||t.isCustomError)&&(r=n(ee.STYLE,"UNDERLINE"),o=n(ee.STYLE,"BACKGROUND"),i=n(ee.STYLE,"EMPHASIZE")),{id:t.id,offset:t.start,length:t.length,backgroundColor:t.id===e.selectedErrorId?o:i,isUnderlined:!0,isEmphasized:a,underlineColor:r}}));let o,i,l,c;e.card?.currentRephraseHighlightType&&(o=Tr.BLOCK_ID,i=e.card.getSelection(e.card.currentRephraseHighlightType),l=e.card.underlineColor,c=e.card.backgroundColor),i&&Me(o)&&Me(l)&&Me(c)&&r.push({id:o,offset:i.start,length:i.end-i.start,isEmphasized:""!==c,isUnderlined:!1,simulateSelection:!0,backgroundColor:c,underlineColor:l}),e.flashHighlight&&r.push(e.flashHighlight),e.lineHighlights&&this._isInteractionModeRewrite(e)&&r.push(...e.lineHighlights),e.highlighter.highlight(r,t)}_enableEditor(e){e.isAutoCheckEnabled=!0,this._disableOtherSpellCheckers(e.inputArea),e.inputAreaWrapper.resetText(),this._resetEditor(e),this._checkEditor(e),this._updateState(e)}_disableEditor(e){e.isAutoCheckEnabled=!1,this._enableOtherSpellCheckers(e.inputArea),e.inputAreaWrapper.resetText(),this._resetEditor(e),this._endTypingMode(e),this._highlight(e),this._updateState(e)}_trackEditor(e){(n.isRuntimeConnected()||e.tracking.hasTracked)&&(e.tracking.hasTracked=!0,Math.random()<.01&&e.tracking.hasEnoughText&&n.trackEvent(`saw_premium_icon_1perc:${e.tracking.sawPremiumIcon}`,e.tracking.languageCode),Math.random()<.01&&n.trackTextLength(e.tracking.maxTextLength))}_destroyEditor(e){const t=this._editors.indexOf(e);if(-1===t)return;this._activeEditorId===e.id&&(this._activeEditorId=null),this._editors.splice(t,1),e.inputAreaWrapper.destroy(),e.highlighter.destroy(),e.inputAreaTweaks.destroy(),e.toolbar?.destroy(),clearTimeout(e.typingTimeoutId),e.mirror?.destroy(),e.card?.destroy(),e.dialog?.destroy(),e.userActivity?.destroy();const s=this._initElementTimeouts.get(e.inputArea);s&&(this._initElementTimeouts.delete(e.inputArea),clearTimeout(s)),this._enableOtherSpellCheckers(e.inputArea),this._savePremiumErrorCount(e),this._trackEditor(e)}_getErrorAfter(e,t){let s=null;const{displayedErrors:a}=e;At.sortErrorsByOffset(a);for(const e of a)e.start<=t||(null===s||e.start<s.start)&&(s=e);return null===s&&a.length>0&&(s=a[0]),s}_getErrorBefore(e,t){let s=null;const{displayedErrors:a}=e,n=a.length-1;At.sortErrorsByOffset(a);for(const e of a)e.start>=t||(null===s||e.start>s.start)&&(s=e);return null===s&&a.length>0&&(s=a[n]),s}_getSentenceBefore({currentSentenceRanges:e},t){if(!e?.length)return;At.sortSentenceRanges(e),e.reverse();return e.find((({end:e})=>e<=t.start))||e[0]}_getSentenceAfter({currentSentenceRanges:e},t){if(!e?.length)return;At.sortSentenceRanges(e);return e.find((({start:e})=>e>=t.end))||e[0]}async _showErrorCard(e,t,s,a=!1){const n=await this._retrieveLanguageFromEditor(e);if(!n)return;const r=kt.getPrimaryLanguageCode(n),{dpaLevel:o}=this._storageController.getSettings(),i=1===o,{hasPaidSubscription:l}=this._storageController.getUIState(),{username:c,token:g}=this._storageController.getSettings(),u=c?{email:c,token:g,isPremium:l}:void 0,d={start:t.start,end:t.end},m=this._getErrorCardData(e,t);e.card=new Tr({mode:"correct",storageController:this._storageController,inputArea:e.inputArea,tweaks:e.inputAreaTweaks.getEditorCardTweaks(),targetBox:s,enableKeyboard:a,disablePremiumTeaser:this._options.disablePremiumTeaser||this._storageController.hasCustomServer(),errorCardArguments:m,user:u,language:r,inhouseOnly:i,anchorSelection:d,getText:()=>e.inputAreaWrapper.getText(),getSentenceRanges:()=>e.currentSentenceRanges}),this._fadeAllDialogs();const p=kt.getPrimaryLanguageCode(t.language.code);_e.includes(p)&&(t.isSpellingError?Math.random()<.01&&Pt.trackEvent("Action",`${p}:open_spell_suggestion:1perc`,t.rule.id):Pt.trackEvent("Action",`${p}:open_rule`,t.rule.id,void 0,{writingGoal:e.writingGoalId||void 0,errorType:_t(t),isPicky:t.isPicky,isPremium:t.rule.isPremium})),t.language.code.startsWith("de")&&t.fixes.length&&t.fixes[0].value.match(/\(.+\)/)&&!["HALLE_STADT","EINHEITEN_METRISCH","NEUKIRCHEN_STADT","UG_HAFTUNGSBESCHRÄNKT","M_W_D"].includes(t.rule.id)&&Pt.trackError("other","broken_fix",p+":"+t.rule.id+": "+t.contextPhrase)}_hideAllEditorCards(e){this._editors.forEach((t=>{e?.ignoreDetachedEditorCard&&!1!==t.card?.isDetached&&t.id===this._activeEditorId||(t.card?.destroy(),t.card=null),t.dialog?.fadeIn()}))}_getRephraseCardData(e,t="word"){return{editorText:e.inputAreaWrapper.getText(),hasGrammarMistakes:qs(e),hasSpellingMistakes:Ks(e),highlightType:t,remainingRephrasings:this._getRemainingRephrasings()}}_getErrorCardData(e,t){const{premiumErrors:s,displayedErrors:a}=e,n=void 0!==t&&e.inputAreaTweaks.canCorrectMultipleErrorsAtOnce(e)&&Vs(e.displayedErrors,t),r=this._storageController.getManagedSettings();return{canCorrectMultipleAtOnce:n,disableIgnoringRule:void 0!==this._options.disableRuleIgnore?this._options.disableRuleIgnore:r.disableIgnoredRules,disableAddingWord:void 0!==this._options.disableDictionaryAdd?this._options.disableDictionaryAdd:r.disablePersonalDictionary,displayedErrors:a,premiumErrors:s,error:t}}async _showRephraseCard(e,t,s,a=!1,r="word"){if(!n.isRuntimeConnected())return;const o=await this._retrieveLanguageFromEditor(e);if(!o)return;const i=kt.getPrimaryLanguageCode(o),{dpaLevel:l}=this._storageController.getSettings(),c=1===l||Boolean(this._options.disableExternalRephrasings),g=this._getRephraseCardData(e,r),{hasPaidSubscription:u}=this._storageController.getUIState(),{username:d,token:m}=this._storageController.getSettings(),p=d?{email:d,token:m,isPremium:u}:void 0;e.card=new Tr({mode:"paraphrase",storageController:this._storageController,inputArea:e.inputArea,tweaks:e.inputAreaTweaks.getEditorCardTweaks(),targetBox:Ut(t),enableKeyboard:a,disablePremiumTeaser:this._options.disablePremiumTeaser||this._storageController.hasCustomServer(),rephraseCardArguments:g,user:p,language:i,inhouseOnly:c,anchorSelection:s,getText:()=>e.inputAreaWrapper.getText(),getSentenceRanges:()=>e.currentSentenceRanges}),Pt.trackEvent("Action","editor-card:paraphrase:open",kt.getPrimaryLanguageCode(e.language?.code||"unknown"))}_hideAllMessagePopups(){this._messages.forEach((e=>{e&&e.destroy()}))}_showDialog(e){if(!e.toolbar)return;const t=e.language&&e.language.code,s=new Da(e.inputAreaWrapper.getText(),e.currentSentenceRanges||[]),a=(new Ia).calculateTextScore(s.countWords(),e.errors,e.premiumErrors,e.pickyErrors),r={checkStatus:e.checkStatus,displayedErrors:e.displayedErrors,errors:e.errors,pickyErrors:e.pickyErrors,displayedPremiumErrors:e.displayedPremiumErrors,isIncompleteResult:e.isIncompleteResult,ignoredErrorsStats:this._getIgnoredErrorsStats(e.errors),checkErrorMessage:e.checkError?this._getCheckErrorMessage(e.checkError):"",textScore:a,countOptions:this._getCountOptions(e),isPickyModeEnabled:"picky"===e.checkLevel},o=this._storageController.getManagedSettings(),i=void 0!==this._options.disableRuleIgnore?this._options.disableRuleIgnore:o.disableIgnoredRules,l=void 0!==this._options.disableDictionaryAdd?this._options.disableDictionaryAdd:o.disablePersonalDictionary,c={showUserStatisticsLink:this._storageController.hasLanguageToolAccount()&&this._storageController.getSettings().hasStatisticsCollectionEnabled&&!wt.isFirefox(),disableOptionsPage:!n.isOptionsPageSupported(),disableSaveDocument:!0,disableTurnOff:!1,disableFeedbackForm:!n.isFeedbackFormSupported(),disableHelpCenter:!1,disableRatingTeaser:this._storageController.getUIState().hasRated||this._storageController.canStartChangelogCoupon()||this._storageController.isChangelogCouponRunning(),disableIgnoringRule:i,disableAddingWord:l,dialogPosition:this._storageController.getUIState().dialogPosition,isPremiumAccount:this._storageController.getUIState().hasPaidSubscription,canCorrectMultipleErrorsAtOnce:e.inputAreaTweaks.canCorrectMultipleErrorsAtOnce(e)};e.dialog=new Aa(e.toolbar.getContainer(),e.inputAreaTweaks.getDialogAppearance(),t,r,c)}_hideAllDialogs(e=!1){this._editors.forEach((t=>{if(t.toolbar&&t.toolbar.toggleDisableMenu(!1),!t.dialog)return;t.dialog.setApplyFixMode(!1),t.dialog.closeAllMenus();"default"!==t.dialog.getCurrentPosition()&&n.isRuntimeConnected()&&!e||t.dialog.destroy()}))}_fadeAllDialogs(){this._editors.forEach((e=>{e.dialog&&e.dialog.fadeOut()}))}_savePremiumErrorCount(e){if(!e.displayedHiddenErrorCount||!n.isRuntimeConnected())return;const t=(new Date).toDateString(),{hiddenErrors:s}=this._storageController.getStatistics();s[0]&&s[0].day===t?s[0].count+=e.displayedHiddenErrorCount:s.unshift({day:t,count:e.displayedHiddenErrorCount}),s.length=Math.min(s.length,62),this._storageController.updateStatistics({hiddenErrors:s})}_getIgnoredErrorsStats(e){const{ignoredRules:t}=this._storageController.getSettings(),s=Na.get(),a=[],n=[];return e.forEach((e=>{e.isSpellingError&&Et(e,s)&&!a.includes(e.originalPhrase)&&a.push(e.originalPhrase),e.isSpellingError||!vt(e,t)||n.includes(e.rule.id)||n.push(e.rule.id)})),{byDictionary:a.length,byRules:n.length}}_handleUnhealthyExtensionRuntime(){this._isConnected=!1,this._hideAllEditorCards(),this._editors.forEach((e=>{e.highlighter&&e.highlighter.destroy(),this._updateState(e)})),clearInterval(this._checkExtensionRuntimeHealthIntervalId)}_destroyExecutor(){ts(document,"lt-execute-destroy")}destroy(){Array.from(this._editors).forEach((e=>this._destroyEditor(e))),this._spellcheckingAttributesData.forEach(((e,t)=>this._enableOtherSpellCheckers(t))),this._tweaks&&document.removeEventListener(this._tweaks.getClickEvent(),this._onDocumentClick,!0),this._destroyExecutor(),document.removeEventListener("visibilitychange",this._onVisiblityChange,!0),document.removeEventListener("focus",this._onDocumentFocus,!0),document.removeEventListener("mousemove",this._onDocumentMousemove,!0),document.removeEventListener("focusout",this._onDocumentFocusout,!0),document.removeEventListener("keyup",this._onDocumentKeyup,!0),self.frameElement?.ownerDocument&&self.frameElement.ownerDocument.removeEventListener("click",this._onDocumentClick,!0),document.removeEventListener(Lr.eventNames.scroll,this._onInputScroll),document.removeEventListener(Lr.eventNames.paste,this._onInputPaste),document.removeEventListener(Lr.eventNames.textChanged,this._onInputTextChanged),document.removeEventListener(Lr.eventNames.dblclick,this._onInputDblClick),document.removeEventListener(Lr.eventNames.dblPress,this._onInputDblPress),document.removeEventListener(Lr.eventNames.wordWritten,this._onWordWritten),document.removeEventListener(Lr.eventNames.sentenceWritten,this._onSentenceWritten),document.removeEventListener(Jr.eventNames.blockClicked,this._onHiglighterBlockClicked),document.removeEventListener(Gr.eventNames.permissionRequiredIconClicked,this._onToolbarPermissionRequiredIconClicked),document.removeEventListener(Gr.eventNames.toggleDialog,this._onToolbarToggleDialog),document.removeEventListener(Gr.eventNames.showRephrasingCard,this._onRephrasingIconClick),document.removeEventListener(Gr.eventNames.notifyAboutPremiumIcon,this._onToolbarNotifyAboutPremiumIcon),document.removeEventListener(Gr.eventNames.turnOff,this._onTurnOffClickedToolbar),document.removeEventListener(Gr.eventNames.pauseChecking,this._onPauseCheckingClickedToolbar),document.removeEventListener(Aa.eventNames.enableHere,this._onDialogEnableHere),document.removeEventListener(Aa.eventNames.positionChangeClicked,this._onPositionChangeClicked),document.removeEventListener(Aa.eventNames.togglePickyMode,this._onPickyModeToggle),document.removeEventListener(Aa.eventNames.enableEverywhere,this._onDialogEnableEverywhere),document.removeEventListener(Aa.eventNames.languageChanged,this._onDialogLanguageChanged),document.removeEventListener(Aa.eventNames.countChanged,this._onDialogCountChanged),document.removeEventListener(Aa.eventNames.errorSelected,this._onDialogErrorSelected),document.removeEventListener(Aa.eventNames.errorHighlighted,this._onDialogErrorHighlighted),document.removeEventListener(Aa.eventNames.addToDictionaryClicked,this._onAddToDictionary),document.removeEventListener(Aa.eventNames.ignoreRuleClicked,this._onIgnoreRule),document.removeEventListener(Aa.eventNames.temporarilyIgnoreWordClicked,this._onTemporarilyIgnoreWord),document.removeEventListener(Aa.eventNames.temporarilyIgnoreRuleClicked,this._onTemporarilyIgnoreRule),document.removeEventListener(Aa.eventNames.moreDetailsClicked,this._onMoreDetailsClicked),document.removeEventListener(Aa.eventNames.fixSelected,this._onFixSelected),document.removeEventListener(Aa.eventNames.openOptions,this._onDialogOpenOptions),document.removeEventListener(Aa.eventNames.showFeedbackForm,this._onDialogShowFeedbackForm),document.removeEventListener(Aa.eventNames.destroyed,this._onDialogDestroyed),document.removeEventListener(Aa.eventNames.badgeClicked,this._onBadgeClicked),document.removeEventListener(Aa.eventNames.turnOff,this._onTurnOffClickedDialog),document.removeEventListener(Aa.eventNames.pauseChecking,this._onPauseCheckingClickedDialog),document.removeEventListener(Aa.eventNames.premiumTeaserClicked,this._onDialogPremiumTeaserClicked),document.removeEventListener(Aa.eventNames.correctAll,this._onCorrectAll),document.removeEventListener(Tr.eventNames.addToDictionaryClicked,this._onAddToDictionary),document.removeEventListener(Tr.eventNames.ignoreRuleClicked,this._onIgnoreRule),document.removeEventListener(Tr.eventNames.temporarilyIgnoreWordClicked,this._onTemporarilyIgnoreWord),document.removeEventListener(Tr.eventNames.temporarilyIgnoreRuleClicked,this._onTemporarilyIgnoreRule),document.removeEventListener(Tr.eventNames.moreDetailsClicked,this._onMoreDetailsClicked),document.removeEventListener(Tr.eventNames.fixSelected,this._onFixSelected),document.removeEventListener(Tr.eventNames.premiumClick,this._onEditorCardPremiumClick),document.removeEventListener(Tr.eventNames.languageChanged,this._onErrorCardLanguageChanged),document.removeEventListener(Tr.eventNames.turnOffPickyModeClicked,this._onErrorCardPickyModeTurnedOff),document.removeEventListener(Tr.eventNames.premiumTeaserClicked,this._onErrorCardPremiumTeaserClicked),document.removeEventListener(Tr.eventNames.destroyed,this._onEditorCardDestroyed),document.removeEventListener(Tr.eventNames.correctAll,this._onCorrectAll),document.removeEventListener(Tr.eventNames.synonymSelected,this._onSynonymSelected),document.removeEventListener(Tr.eventNames.phraseSelected,this._onPhraseSelected),document.removeEventListener(Tr.eventNames.splitSentenceSelected,this._onSplitSentenceSelected),document.removeEventListener(Tr.eventNames.fixSentenceSelected,this._onFixSentenceSelected),document.removeEventListener(Tr.eventNames.fixSentenceShowHightlight,this._onFixSentenceShowHighlight),document.removeEventListener(Tr.eventNames.fixSentenceRemoveHightlight,this._onFixSentenceRemoveHighlight),document.removeEventListener(Tr.eventNames.reportPhrase,this._reportPhraseFromCard),document.removeEventListener(Tr.eventNames.toggleMode,this._onToggleCardMode),document.removeEventListener(Tr.eventNames.highlight,this._onRephraseCardHighlight),document.removeEventListener(va.eventNames.destroyed,this._onMessagePopupDestroyed),document.removeEventListener(va.eventNames.turnOn,this._onTurnOnClicked),document.removeEventListener(lo.events.DESTROY,this._onDestroy),self.removeEventListener("pageshow",this._onPageLoaded),self.removeEventListener("pagehide",this._onPageHide),this._storageController&&this._storageController.destroy(),this._tweaks&&this._tweaks.destroy(),clearInterval(this._checkExtensionRuntimeHealthIntervalId),clearInterval(this._fixTinyMCEIntervalId),this._editors.forEach((e=>{e.checkDebounce.cancelCall()})),this._options&&this._options.onDestroy&&this._options.onDestroy()}_turnOffEditor(e){const t=mt();this._storageController.disableDomain(t),n.ltAssistantStatusChanged({enabled:!1});const s=e.groupId;if(Array.from(this._editors).forEach((e=>{e.groupId===s&&this._destroyEditor(e)})),Pt.trackEvent("Action","check_trigger:turn_off"),!this._storageController.getUIState().hasSeenTurnOnMessagePopup&&e.inputAreaTweaks.getMessagePopupAppearance().isVisible()){const t={className:"enable-spelling",hasPrimaryButton:!0,hasSecondaryButton:!0,isClosable:!0,destroysAutomatically:!0},s=new va(document,e.inputAreaTweaks.getMessagePopupAppearance(),t);this._messages.push(s)}}_pauseEditor(e){const t=e.groupId;Array.from(this._editors).forEach((e=>{e.groupId===t&&this._destroyEditor(e)})),this._temporaryDisabledEditorGroups.push(e.groupId),Pt.trackEvent("Action","check_trigger:pause")}_scrollToError(e,t,s,a,n){let r="nearest",o=!1,i=!1;if("string"==typeof s&&(r=s),"boolean"==typeof a&&(o=a),"boolean"==typeof n&&(i=n),this._hideAllDialogs(),"auto"===r){const t=e.inputArea.ownerDocument.documentElement.clientHeight;r=t<400?"nearest":"center"}return new Promise((s=>{e.inputAreaWrapper.scrollToText(t.start,t.length,"smooth",r,!1,(()=>{e.selectedErrorId=t.id,this._highlight(e,!0);const a=e.inputAreaWrapper.getTextBoxes(t.start,t.length);if(o&&a.length)if(e.card){const s=e.inputAreaTweaks.canCorrectMultipleErrorsAtOnce(e)&&Vs(e.displayedErrors,t),n=t.start+Math.floor((t.end-t.start)/2);e.inputAreaWrapper.setSelection({start:n}),e.card.switchError({displayedErrors:e.displayedErrors,error:t,canCorrectMultipleAtOnce:s},a[0])}else this._showErrorCard(e,t,a[0],i);s(a)}))}))}_scrollToSentence(e,t,s=!0){return new Promise((a=>{const{start:n,end:r=n}=t,o=e.inputAreaWrapper.getTextBoxes(n,r-n),i=e.inputArea.ownerDocument.documentElement.clientHeight<400?"nearest":"center";e.inputAreaWrapper.scrollToText(n,r-n,"smooth",i,!0,(()=>{return t=()=>{if(e.card){const t=Me(e.card.currentRephraseHighlightType)?{highlightType:e.card.currentRephraseHighlightType}:void 0;e.card.switchSentence({start:n,end:r},{editorText:e.inputAreaWrapper.getText(),remainingRephrasings:this._getRemainingRephrasings(),...t})}else s&&this._showRephraseCard(e,o,{start:n,end:r},void 0,"sentence");a()},void(e.inputAreaWrapper.getSelection()?t():(e.inputAreaWrapper.setSelection({start:n}),setTimeout((()=>t()),20)));var t}))}))}_unselectError(e){null!==e.selectedErrorId&&(e.selectedErrorId=null,this._highlight(e))}async _addToDictionary(e,t){let s=!1;this._options.onDictionaryAdd&&(s=this._options.onDictionaryAdd(t,e.inputArea)),e.callbacks.onDictionaryAdd&&(s=e.callbacks.onDictionaryAdd(t)),s||await Na.add(t)}_temporarilyIgnoreWord(e,t){const s=e.groupId;if(this._tweaks.persistTemporarySettings()){const e=`ignored:${s}`,a=_a.get(e)||{words:[],rules:[]};a.words.push(t),_a.set(e,a)}this._getEditorGroup(s).forEach((e=>{e.ignoredWords.push(t),this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e)}))}_temporarilyIgnoreRule(e,t){e.ignoredRules.push(t),this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e)}_clearTemporarilyIgnoredRules(e){e.ignoredRules=[],this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e)}_clearWords(e){e.ignoredWords=[],this._updateDisplayedErrors(e),this._highlight(e),this._updateState(e)}_applyFix(e,t,s,a=!1){const n=t.fixes[s].value,r={offset:t.start,length:t.length,replacementText:n,editor:e};e.callbacks.onBeforeErrorCorrect&&e.callbacks.onBeforeErrorCorrect(t,s);const o=e.inputAreaTweaks.applyFix(r);return a||this._afterApplyFix(e,_t(t),t.rule.isPremium),o}_afterApplyFix(e,t,s){Mt(300).then((()=>this._checkEditor(e)));const{appliedSuggestions:a}=this._storageController.getStatistics();this._storageController.updateStatistics({appliedSuggestions:a+1}),e.userActivity?.incrementSuggestionsApplied(t,s)}_toggleCardMode(e,t,s){const a=this._getErrorAfter(e,s.start-1)||void 0,[n]=a?.id?e.highlighter.getTextBoxes(a.id):[],r="correct"===t&&Oe(a?.start)&&Oe(a?.end)?{start:a.start,end:a.end}:s;let o;if("paraphrase"===t){const t=this._getRephraseCardData(e,"sentence");this._unselectError(e),e.card?.setRephraseCardArguments(t,r),o=this._scrollToSentence(e,r)}else if(a){const t=this._getErrorCardData(e,a);e.selectedErrorId=a.id||null,e.card?.setErrorCardArguments(t),o=this._scrollToError(e,a,"center")}else{const t=this._getErrorCardData(e);e.selectedErrorId=null,e.card?.setErrorCardArguments(t),o=Promise.resolve()}o?.then((()=>{e.inputAreaWrapper.setSelection({start:r.start??r.end}),e.card?.changeMode(t,n)}))}_openPremiumPage(e,t){const s=e.displayedPremiumErrors.filter((e=>!e.isStyleError&&!e.isPunctuationError)).length,a=e.displayedPremiumErrors.filter((e=>e.isPunctuationError)).length,r=e.displayedPremiumErrors.filter((e=>e.isStyleError)).length,o=e.language&&e.language.code||void 0;n.openPremiumPage(t,s,r,a,"",o)}_correctMultipleErrors(e,t,s){const{selectErrorAfter:a}=e,n=t[0];let r=!1;e.isCorrectingMultiple=!0;const o=e=>{e.isTrusted&&!r&&(r=!0,i())},i=()=>{e.inputArea.removeEventListener("keydown",o),e.isCorrectingMultiple=!1,e.selectErrorAfter=a,this._afterApplyFix(e,_t(n),n.rule.isPremium)};e.inputArea.addEventListener("keydown",o);const l=(a=!1)=>{if(r)return;const n=t.shift();if(!n)return void i();let o=Promise.resolve();a||(o=o.then((()=>Mt(150))).then((()=>r?Promise.reject():this._scrollToError(e,n,"center")))),o=o.then((()=>{if(r)return Promise.reject();const t=n.fixes.findIndex((e=>s.suggestion.match.test(e.value)));return-1===t?Promise.resolve():this._applyFix(e,n,t,!0)})).then((()=>l())).catch((()=>i()))};l(!0)}_applySynonym(e,t){const{source:s,selection:{start:a,end:n}}=t;if(!s||"number"!=typeof a)return;e.callbacks.onBeforeRephrasingApply&&e.callbacks.onBeforeRephrasingApply(t);const r=s.replace(s.trim(),t.replacement),o=n??a;e.inputAreaTweaks.applyFix({offset:a,length:o-a,replacementText:r,editor:e}),this._temporarilyIgnoreWord(e,t.replacement),Mt(100).then((()=>e.checkDebounce.callImmediately()));const{appliedSynonyms:i}=this._storageController.getStatistics();this._storageController.updateStatistics({appliedSynonyms:i+1}),Pt.trackEvent("Action","synonyms:applied",kt.getPrimaryLanguageCode(e.language?.code||"unknown"))}_applyRephrasing(e,t,s){const{replacement:a,selection:{start:n,end:r}}=t;if(!a||"number"!=typeof n||"number"!=typeof r)return;!0!==s.reverted&&this._updateRemainingRephrasings(),e.callbacks.onBeforeRephrasingApply&&e.callbacks.onBeforeRephrasingApply(t),e.lineHighlights=[],e.inputAreaTweaks.applyFix({offset:n,length:r-n,replacementText:a,editor:e}).then((()=>{!0!==s.selectSentenceAfter&&this._flashHighlight({editor:e,color:ee.NEW_SENTENCE.BACKGROUND,duration:1500,offset:n,length:a.length}),e.checkDebounce.callImmediately()})),e.userActivity?.incrementRewritingsApplied();const o=kt.getPrimaryLanguageCode(e.language?.code||"unknown"),i=!0===s.reverted?"reverted":"selected";Pt.trackEvent("Action",`rephrasesV3:${i}`,`${o}:${s.label}`)}_applySentenceSuggestion(e,t,s,a,n){const{replacement:r,selection:{start:o,end:i}}=t;if(!r||"number"!=typeof o||"number"!=typeof i)return;e.callbacks.onBeforeErrorCorrect&&e.callbacks.onBeforeErrorCorrect(a,0),e.lineHighlights=[],e.inputAreaTweaks.applyFix({offset:o,length:i-o,replacementText:r,editor:e}).then((()=>{this._flashHighlight({editor:e,color:ee.NEW_SENTENCE.BACKGROUND,duration:1500,offset:o,length:r.length}),e.checkDebounce.callImmediately()}));const l=!0===s.reverted?"reverted":"selected";Pt.trackEvent("Action",`${s.language}:apply_rule`,a.rule.id,void 0,{writingGoal:e.writingGoalId||void 0,errorType:_t(a),isPicky:a.isPicky,isPremium:a.rule.isPremium}),Pt.trackEvent("Action",`${n}:${l}`,`${s.language}:${s.label}`)}_retrieveLanguageFromEditor(e){return function(e,t=400,s=15){return new Promise(((a,n)=>{let r=0;const o=()=>{let t;try{t=e()}catch(e){return void n(e)}null!=t&&(clearInterval(i),a(t)),++r>=s&&(clearInterval(i),n(new Error("`waitFor` timed out")))},i=setInterval(o,t);o()}))}((()=>e.language?e.language.code:e.isTextTooShort?kt.getUserLanguageCodes()[0]||"en":e.errors[0]?e.errors[0].language.code:void 0)).catch((e=>{console.log("Could not retrieve language from editor",e?.message),Pt.trackError("js","failed_to_get_language_from_editor",e?.message??void 0)}))}async _loadRephrasings(e,t){if(e.isRewriteModeDisabled)return;const s=await this._retrieveLanguageFromEditor(e);if(!s)return;const a=kt.getPrimaryLanguageCode(s),{dpaLevel:r,username:o,token:i,remainingRephrasingsAmount:l}=this._storageController.getSettings(),{hasPaidSubscription:c}=this._storageController.getUIState(),g=o?{email:o,token:i,isPremium:c}:void 0;if(0===l)return e.rephrasings={...e.rephrasings,state:"limit_reached"},this._updateState(e),void Pt.trackEvent("Action","rephrasesV3:limit_reached",a);let u=!1,d=!1,m="unknown error";const{rephrases:p}=await n.loadPhrases(this._storageController.getUniqueId(),t,a,1===r||Boolean(this._options.disableExternalRephrasings),g).catch((e=>(d=e.message===ye,u=!0,m=d?"request_aborted":m,{rephrases:[]}))),h=p.map((s=>{let a=Pn(t,s.text);return e.simplifyRephrasingDiff&&(a=Ln.simplifyReplacements(a)),Object.assign(s,{diff:Ln.isRewrite(a)?null:a})}));d||(e.rephrasings={...e.rephrasings,state:u?"failed":"succeeded",result:h,source:t},this._updateState(e),!1===u?Pt.trackEvent("Action","rephrasesV3:request_succeeded",a):Pt.trackError("http","rephrasesV3:request_failed",`${a}:${m}`),e.rephrasings.result.length||Pt.trackEvent("Action","rephrasesV3:request_empty",a))}async _loadSynonyms(e,t){const s=kt.getSynonymsRequestLanguage(e.language?.code||"");if(!s)return;let a=!1;const{motherTongue:r}=this._storageController.getSettings(),o=await n.loadSynonyms(t,s,r).catch((e=>(Pt.trackError("http",e.message,"src/content/ltAssistant.ts"),a=!0,la.emptySynonymResult)));e.synonyms={...e.synonyms,result:o,state:a?"failed":"succeeded"},this._updateState(e)}async _reportPhraseFromExternalSource(e,t){const{motherTongue:s,preferredLanguages:a}=this._storageController.getSettings(),n=await this._retrieveLanguageFromEditor(e);n&&await this._reportPhrase({...t,textLanguage:n,preferredLanguages:a,userLanguage:s,hostname:location.hostname||location.protocol,rephrases:e.rephrasings.result.map((({label:e,origin:t,text:s})=>({label:e,origin:t,text:s}))),userAgent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,hasGrammarMistakes:qs(e),hasSpellingMistakes:Ks(e)})}async _reportPhrase(e){let t=!1,s="Request failed";if(!navigator.webdriver&&n.isProductionEnvironment()){try{const s=(e=>{switch(!0){case"extension"===e:return"extension";case"standalone"===e&&wt.isMacApp():return"mac";case"standalone"===e&&wt.isWindowsApp():return"win";default:return"browser"}})(n.getType());t=await n.reportPhrase(As(this._storageController.getUniqueId()),{app:s,...e})}catch(e){s=e.message??s}t||Pt.trackError("other","rephrasesV3:report_failed",s)}}_highlightSentenceFromHover(e,t){if(e.isRewriteModeDisabled)return;const s=e.inputAreaWrapper.getSelection(),a=e.lineHighlights.find((({id:e})=>"LINE_HIGHLIGHT_SENTENCE_FROM_CARET"===e)),n=a?a.offset:Number.POSITIVE_INFINITY,r=a?a.offset+a.length:Number.NEGATIVE_INFINITY,o=e=>e&&n<=e.start&&r>=e.end,i=e.inputAreaWrapper.getWordAtPoint(t.x,t.y),l=e.currentSentenceRanges?.find((({start:e,end:t})=>{const a=o({start:e,end:t});return(null===s||!1===a)&&i&&i.start>=e&&i.end<=t}));e.lineHighlights=e.lineHighlights.filter((({id:e})=>e.endsWith("_FROM_CARET")))||[],l&&e.lineHighlights.push({id:"LINE_HIGHLIGHT_SENTENCE_FROM_HOVER",isEmphasized:!0,isUnderlined:!1,offset:l.start,length:l.length,backgroundColor:ee.STYLE.EMPHASIZE,underlineColor:""}),o(i)&&e.lineHighlights.push({id:"LINE_HIGHLIGHT_WORD_FROM_HOVER",isEmphasized:!0,isUnderlined:!1,offset:i.start,length:i.end-i.start,backgroundColor:ee.STYLE.BACKGROUND,underlineColor:""}),this._highlight(e,!0)}_highlightSentenceFromClick(e){if(e.isRewriteModeDisabled)return;const t=e.inputAreaWrapper.getSelection(),s=t&&t.start===t.end,{position:a,word:n,...r}=s&&qe(e.inputAreaWrapper.getText(),t.start,t.end,e.sentenceRanges)||{position:null,word:null,beforeText:"",afterText:""},o=e.currentSentenceRanges?.find((({start:e,end:s})=>t&&t.start>=e&&t.start<=s));if(e.lineHighlights=[],o&&(e.lineHighlights.push({id:"LINE_HIGHLIGHT_SENTENCE_FROM_CARET",isEmphasized:!0,isUnderlined:!0,offset:o.start,length:o.length,backgroundColor:ee.STYLE.EMPHASIZE,underlineColor:ee.STYLE.UNDERLINE}),a&&e.lineHighlights.push({id:"LINE_HIGHLIGHT_WORD_FROM_CARET",isEmphasized:!0,isUnderlined:!0,offset:a.start,length:a.end-a.start,backgroundColor:ee.STYLE.BACKGROUND,underlineColor:""})),this._highlight(e,!0),o&&!1===e.isUserTyping){const t=e.checkedText.text.slice(o.start,o.end),{length:s,...i}=o,l=e.rephrasings.source!==t,c=!1===l&&e.rephrasings.selection.start!==i.start;e.rephrasings.selection=i,(!e.rephrasings.source||l||c)&&(e.rephrasings={...e.rephrasings,state:"loading",source:t},this._loadRephrasings(e,t)),a&&(e.synonyms.selection=a,e.synonyms.source&&e.synonyms.source===n||(e.synonyms={...e.synonyms,state:"loading",source:n},this._loadSynonyms(e,{word:n,position:a,...r}))),this._updateState(e)}}_highlightNeighborSentence(e,t,s){const a=e.lineHighlights.findIndex((({id:e})=>e.endsWith("LINE_HIGHLIGHT_SENTENCE_FROM_CARET")));if(a<0)return;const n=e.lineHighlights[a];e.lineHighlights.splice(a,1);const r={start:n?.offset,end:n?.offset+n?.length},o=this._getNeighborSentence(e,r,t);o&&(e.lineHighlights.push({id:"LINE_HIGHLIGHT_SENTENCE_FROM_CARET",isEmphasized:!0,isUnderlined:!0,offset:o.start,length:o.end-o.start,backgroundColor:ee.STYLE.EMPHASIZE,underlineColor:ee.STYLE.UNDERLINE}),"previous"===t?e.inputAreaWrapper.setSelection({start:o.start,end:o.end}):e.inputAreaWrapper.setSelection({start:o.end}),this._scrollToSentence(e,o,s),this._highlightSentenceFromClick(e))}_removeSentenceHighlights(e,t="all"){if(this._isInteractionModeRewrite(e)){const{length:s}=e.lineHighlights;e.lineHighlights=e.lineHighlights.filter((({id:e})=>{switch(t){case"hover":return!1===e.endsWith("_FROM_HOVER");case"caret":return!1===e.endsWith("_FROM_CARET");default:return!1}})),e.lineHighlights.length<s&&(e.hoverDebounce.cancelCall(),this._highlight(e,!0),this._updateState(e))}}_clearRewritingData(e){const t=Object.assign(e,{synonyms:{state:null,source:null,result:la.emptySynonymResult,selection:{}},rephrasings:{state:null,result:[],source:null,selection:{}}});return this._updateState(t),t}_getRemainingRephrasings(){const{hasPaidSubscription:e}=this._storageController.getUIState();if(e)return null;const{remainingRephrasingsAmount:t,remainingRephrasingsDate:s}=this._storageController.getSettings(),a=function(e){const t=new Date,s=e.getDate()<t.getDate(),a=e.getMonth()<t.getMonth(),n=e.getFullYear()<t.getFullYear();return e.getTime()<t.getTime()&&(s||a||n)}("string"==typeof s?new Date(s):new Date),n={};return(null===t||a)&&(n.remainingRephrasingsAmount=ve),(null===s||a)&&(n.remainingRephrasingsDate=(new Date).toISOString()),Object.keys(n).length&&this._storageController.updateSettings(n),this._storageController.getSettings().remainingRephrasingsAmount}_updateRemainingRephrasings(){const{remainingRephrasingsAmount:e}=this._storageController.getSettings();e&&this._storageController.updateSettings({remainingRephrasingsAmount:Math.max(0,e-1)})}hasTemporarilyDisabledInputAreas(){return!!this._temporaryDisabledEditorGroups.length||this._getCheckSettings().isEditorGroupDisabled}clearTemporarilyDisabledInputAreas(){this._temporaryDisabledEditorGroups.length=0,this._storageController.enableEditorGroup(mt(),this._tweaks.getEditorGroupId(ct())),document.activeElement instanceof HTMLElement&&this._initElement(document.activeElement)}}lo.events={UPDATE:"_lt-state-updated",DESTROY:"_lt-destroy"},lo.PUNCTIUATION_CHAR_REGEXP=/^[.!?]$/,lo.CONSECUTIVE_SPACE_REGEXP=/^(\u00A0 | \u00A0|\u00A0\u00A0)$/,lo.COMPLETED_SENTENCE_REGEXP=/^[^\n]*?[.!?]($|\s)/,lo.NO_LETTERS_REGEXP=/^[0-9,\.\-\:\;\+\*\/\\\%#\=\_]+$/,lo.TMP_ID_ATTRIBUTE_NAME="data-lt-tmp-id";s(225);
130
+ /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
131
+ o.init(new fa);const co=new Ea;var go;Lt.init((e=>(e&&co.onReady(e),co))),n.init(new pa),Pt.init(),sa.init(),va.init(),Gr.init(),Aa.init(),go&&(ua=go),Va.init(o,co),document.documentElement.setAttribute("data-lt-script-installed","true")})(),a=a.LTAssistant})()));
132
+ //# sourceMappingURL=languagetool.js.map