scrabble-solver 2.18.10-alpha.0 → 2.18.10-alpha.2

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 (1173) hide show
  1. package/CLAUDE.md +1 -1
  2. package/bun.lock +29 -29
  3. package/e2e/app.spec.ts +3 -3
  4. package/e2e/bugs/112-character-bonus.spec.ts +1 -1
  5. package/e2e/bugs/129-esc-sidebar.spec.ts +1 -1
  6. package/e2e/bugs/3-x-tile-in-polish.spec.ts +1 -1
  7. package/e2e/bugs/30-click-inside-radio-icon.spec.ts +1 -1
  8. package/e2e/bugs/333-disabled-radio-cursor.spec.ts +1 -1
  9. package/e2e/bugs/342-results-sorting.spec.ts +1 -1
  10. package/e2e/bugs/363-dictionary-input-unique-words.spec.ts +1 -1
  11. package/e2e/bugs/380-transliteration-when-pasting.spec.ts +1 -1
  12. package/e2e/bugs/398-digraphs-in-created-words.spec.ts +2 -2
  13. package/e2e/bugs/401-board-state-on-game-change.spec.ts +1 -1
  14. package/e2e/bugs/452-stale-translations-cache.spec.ts +1 -1
  15. package/e2e/features/198-highlight-unreachable-cells.spec.ts +1 -2
  16. package/e2e/features/430-highlight-unreachable-cells-results.spec.ts +1 -2
  17. package/e2e/features/91-hover-remaining-tile-highlights.spec.ts +3 -4
  18. package/e2e/features/hidden-coordinates-migration.spec.ts +1 -1
  19. package/e2e/features/words-preview.spec.ts +4 -4
  20. package/e2e/lib/actions.ts +17 -4
  21. package/e2e/lib/selectors.ts +1 -1
  22. package/package.json +3 -3
  23. package/packages/configs/README.md +3 -0
  24. package/packages/configs/build/games/crossplay.d.ts +19 -0
  25. package/packages/configs/build/games/crossplay.js +73 -0
  26. package/packages/configs/build/games/index.d.ts +9 -0
  27. package/packages/configs/build/games/index.js +25 -0
  28. package/packages/configs/build/games/kelimelik.d.ts +19 -0
  29. package/packages/configs/build/games/kelimelik.js +65 -0
  30. package/packages/configs/build/games/letterLeague.d.ts +19 -0
  31. package/packages/configs/build/games/letterLeague.js +161 -0
  32. package/packages/configs/build/games/literaki.d.ts +26 -0
  33. package/packages/configs/build/games/literaki.js +110 -0
  34. package/packages/configs/build/games/scrabble.d.ts +19 -0
  35. package/packages/configs/build/games/scrabble.js +78 -0
  36. package/packages/configs/build/games/scrabbleDuel.d.ts +19 -0
  37. package/packages/configs/build/games/scrabbleDuel.js +50 -0
  38. package/packages/configs/build/games/superScrabble.d.ts +19 -0
  39. package/packages/configs/build/games/superScrabble.js +141 -0
  40. package/packages/configs/build/games/wordfeud.d.ts +19 -0
  41. package/packages/configs/build/games/wordfeud.js +81 -0
  42. package/packages/configs/build/games/wyrazy.d.ts +19 -0
  43. package/packages/configs/build/games/wyrazy.js +73 -0
  44. package/packages/configs/build/getConfig.d.ts +2 -0
  45. package/packages/configs/build/getConfig.js +46 -0
  46. package/packages/configs/build/hasConfig.d.ts +2 -0
  47. package/packages/configs/build/hasConfig.js +42 -0
  48. package/packages/configs/build/index.d.ts +5 -0
  49. package/packages/configs/build/index.js +44 -0
  50. package/packages/configs/build/languages/english.d.ts +15 -0
  51. package/packages/configs/build/languages/english.js +456 -0
  52. package/packages/configs/build/languages/french.d.ts +2 -0
  53. package/packages/configs/build/languages/french.js +37 -0
  54. package/packages/configs/build/languages/german.d.ts +2 -0
  55. package/packages/configs/build/languages/german.js +40 -0
  56. package/packages/configs/build/languages/index.d.ts +8 -0
  57. package/packages/configs/build/languages/index.js +24 -0
  58. package/packages/configs/build/languages/persian.d.ts +2 -0
  59. package/packages/configs/build/languages/persian.js +43 -0
  60. package/packages/configs/build/languages/polish.d.ts +4 -0
  61. package/packages/configs/build/languages/polish.js +119 -0
  62. package/packages/configs/build/languages/romanian.d.ts +3 -0
  63. package/packages/configs/build/languages/romanian.js +64 -0
  64. package/packages/configs/build/languages/spanish.d.ts +2 -0
  65. package/packages/configs/build/languages/spanish.js +39 -0
  66. package/packages/configs/build/languages/turkish.d.ts +3 -0
  67. package/packages/configs/build/languages/turkish.js +75 -0
  68. package/packages/configs/package.json +41 -0
  69. package/packages/configs/src/games/crossplay.ts +87 -0
  70. package/packages/configs/src/games/index.ts +9 -0
  71. package/packages/configs/src/games/kelimelik.ts +63 -0
  72. package/packages/configs/src/games/letterLeague.ts +177 -0
  73. package/packages/configs/src/games/literaki.ts +108 -0
  74. package/packages/configs/src/games/scrabble.ts +76 -0
  75. package/packages/configs/src/games/scrabbleDuel.ts +56 -0
  76. package/packages/configs/src/games/superScrabble.ts +139 -0
  77. package/packages/configs/src/games/wordfeud.ts +79 -0
  78. package/packages/configs/src/games/wyrazy.ts +71 -0
  79. package/packages/configs/src/getConfig.ts +14 -0
  80. package/packages/configs/src/hasConfig.ts +8 -0
  81. package/packages/configs/src/index.ts +6 -0
  82. package/packages/configs/src/languages/english.ts +469 -0
  83. package/packages/configs/src/languages/french.ts +36 -0
  84. package/packages/configs/src/languages/german.ts +39 -0
  85. package/packages/configs/src/languages/index.ts +8 -0
  86. package/packages/configs/src/languages/persian.ts +42 -0
  87. package/packages/configs/src/languages/polish.ts +120 -0
  88. package/packages/configs/src/languages/romanian.ts +64 -0
  89. package/packages/configs/src/languages/spanish.ts +38 -0
  90. package/packages/configs/src/languages/turkish.ts +75 -0
  91. package/packages/configs/tsconfig.json +10 -0
  92. package/packages/constants/README.md +3 -0
  93. package/packages/constants/build/index.d.ts +12 -0
  94. package/packages/constants/build/index.js +12 -0
  95. package/packages/constants/package.json +30 -0
  96. package/packages/constants/src/index.ts +17 -0
  97. package/packages/constants/tsconfig.json +10 -0
  98. package/packages/dictionaries/README.md +3 -0
  99. package/packages/dictionaries/bin/remove-dictionaries.js +13 -0
  100. package/packages/dictionaries/bin/update-dictionaries.js +14 -0
  101. package/packages/dictionaries/build/Dictionaries.d.ts +12 -0
  102. package/packages/dictionaries/build/Dictionaries.js +53 -0
  103. package/packages/dictionaries/build/constants.d.ts +3 -0
  104. package/packages/dictionaries/build/constants.js +11 -0
  105. package/packages/dictionaries/build/index.d.ts +3 -0
  106. package/packages/dictionaries/build/index.js +20 -0
  107. package/packages/dictionaries/build/lib/DiskCache.d.ts +17 -0
  108. package/packages/dictionaries/build/lib/DiskCache.js +64 -0
  109. package/packages/dictionaries/build/lib/LayeredCache.d.ts +12 -0
  110. package/packages/dictionaries/build/lib/LayeredCache.js +53 -0
  111. package/packages/dictionaries/build/lib/MemoryCache.d.ts +12 -0
  112. package/packages/dictionaries/build/lib/MemoryCache.js +33 -0
  113. package/packages/dictionaries/build/lib/createAsyncProxy.d.ts +3 -0
  114. package/packages/dictionaries/build/lib/createAsyncProxy.js +19 -0
  115. package/packages/dictionaries/build/lib/createCacheTimestampComparator.d.ts +4 -0
  116. package/packages/dictionaries/build/lib/createCacheTimestampComparator.js +20 -0
  117. package/packages/dictionaries/build/lib/downloadDictionary.d.ts +3 -0
  118. package/packages/dictionaries/build/lib/downloadDictionary.js +20 -0
  119. package/packages/dictionaries/build/lib/getDictionaryFilepath.d.ts +2 -0
  120. package/packages/dictionaries/build/lib/getDictionaryFilepath.js +12 -0
  121. package/packages/dictionaries/build/lib/index.d.ts +7 -0
  122. package/packages/dictionaries/build/lib/index.js +17 -0
  123. package/packages/dictionaries/build/types.d.ts +7 -0
  124. package/packages/dictionaries/build/types.js +2 -0
  125. package/packages/dictionaries/package.json +46 -0
  126. package/packages/dictionaries/src/Dictionaries.ts +65 -0
  127. package/packages/dictionaries/src/constants.ts +8 -0
  128. package/packages/dictionaries/src/index.ts +5 -0
  129. package/packages/dictionaries/src/lib/DiskCache.test.ts +75 -0
  130. package/packages/dictionaries/src/lib/DiskCache.ts +75 -0
  131. package/packages/dictionaries/src/lib/LayeredCache.ts +67 -0
  132. package/packages/dictionaries/src/lib/MemoryCache.ts +40 -0
  133. package/packages/dictionaries/src/lib/createAsyncProxy.ts +18 -0
  134. package/packages/dictionaries/src/lib/createCacheTimestampComparator.ts +25 -0
  135. package/packages/dictionaries/src/lib/downloadDictionary.ts +21 -0
  136. package/packages/dictionaries/src/lib/getDictionaryFilepath.ts +8 -0
  137. package/packages/dictionaries/src/lib/index.ts +7 -0
  138. package/packages/dictionaries/src/types.ts +7 -0
  139. package/packages/dictionaries/tsconfig.json +10 -0
  140. package/packages/logger/README.md +21 -0
  141. package/packages/logger/build/constants.d.ts +4 -0
  142. package/packages/logger/build/constants.js +12 -0
  143. package/packages/logger/build/describeError.d.ts +5 -0
  144. package/packages/logger/build/describeError.js +23 -0
  145. package/packages/logger/build/events.d.ts +92 -0
  146. package/packages/logger/build/events.js +13 -0
  147. package/packages/logger/build/formatCsvRow.d.ts +2 -0
  148. package/packages/logger/build/formatCsvRow.js +20 -0
  149. package/packages/logger/build/index.d.ts +5 -0
  150. package/packages/logger/build/index.js +15 -0
  151. package/packages/logger/build/logError.d.ts +4 -0
  152. package/packages/logger/build/logError.js +17 -0
  153. package/packages/logger/build/logEvent.d.ts +3 -0
  154. package/packages/logger/build/logEvent.js +29 -0
  155. package/packages/logger/package.json +34 -0
  156. package/packages/logger/scripts/export-csv.ts +113 -0
  157. package/packages/logger/scripts/readEvents.ts +34 -0
  158. package/packages/logger/scripts/tsconfig.json +10 -0
  159. package/packages/logger/src/constants.ts +13 -0
  160. package/packages/logger/src/describeError.test.ts +44 -0
  161. package/packages/logger/src/describeError.ts +30 -0
  162. package/packages/logger/src/events.ts +103 -0
  163. package/packages/logger/src/formatCsvRow.test.ts +41 -0
  164. package/packages/logger/src/formatCsvRow.ts +24 -0
  165. package/packages/logger/src/index.ts +13 -0
  166. package/packages/logger/src/logError.ts +24 -0
  167. package/packages/logger/src/logEvent.test.ts +59 -0
  168. package/packages/logger/src/logEvent.ts +26 -0
  169. package/packages/logger/tsconfig.json +10 -0
  170. package/packages/scrabble-solver/.env +1 -0
  171. package/packages/scrabble-solver/.next/BUILD_ID +1 -0
  172. package/packages/scrabble-solver/.next/build-manifest.json +42 -0
  173. package/packages/scrabble-solver/.next/diagnostics/build-diagnostics.json +6 -0
  174. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -0
  175. package/packages/scrabble-solver/.next/dynamic-css-manifest.json +8 -0
  176. package/packages/scrabble-solver/.next/export-marker.json +6 -0
  177. package/packages/scrabble-solver/.next/images-manifest.json +68 -0
  178. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -0
  179. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -0
  180. package/packages/scrabble-solver/.next/package.json +1 -0
  181. package/packages/scrabble-solver/.next/prerender-manifest.json +28 -0
  182. package/packages/scrabble-solver/.next/react-loadable-manifest.json +176 -0
  183. package/packages/scrabble-solver/.next/required-server-files.js +371 -0
  184. package/packages/scrabble-solver/.next/required-server-files.json +371 -0
  185. package/packages/scrabble-solver/.next/routes-manifest.json +129 -0
  186. package/packages/scrabble-solver/.next/server/chunks/30.js +6 -0
  187. package/packages/scrabble-solver/.next/server/chunks/309.js +1 -0
  188. package/packages/scrabble-solver/.next/server/chunks/344.js +1 -0
  189. package/packages/scrabble-solver/.next/server/chunks/371.js +1 -0
  190. package/packages/scrabble-solver/.next/server/chunks/465.js +1 -0
  191. package/packages/scrabble-solver/.next/server/chunks/546.js +1 -0
  192. package/packages/scrabble-solver/.next/server/chunks/612.js +5 -0
  193. package/packages/scrabble-solver/.next/server/chunks/623.js +1 -0
  194. package/packages/scrabble-solver/.next/server/chunks/624.js +1 -0
  195. package/packages/scrabble-solver/.next/server/chunks/641.js +1 -0
  196. package/packages/scrabble-solver/.next/server/chunks/67.js +1 -0
  197. package/packages/scrabble-solver/.next/server/chunks/671.js +1 -0
  198. package/packages/scrabble-solver/.next/server/chunks/692.js +1 -0
  199. package/packages/scrabble-solver/.next/server/chunks/705.js +1 -0
  200. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -0
  201. package/packages/scrabble-solver/.next/server/chunks/715.js +1 -0
  202. package/packages/scrabble-solver/.next/server/chunks/812.js +1 -0
  203. package/packages/scrabble-solver/.next/server/chunks/846.js +1 -0
  204. package/packages/scrabble-solver/.next/server/chunks/853.js +15 -0
  205. package/packages/scrabble-solver/.next/server/chunks/886.js +1 -0
  206. package/packages/scrabble-solver/.next/server/chunks/942.js +1 -0
  207. package/packages/scrabble-solver/.next/server/chunks/953.js +1 -0
  208. package/packages/scrabble-solver/.next/server/chunks/961.js +1 -0
  209. package/packages/scrabble-solver/.next/server/chunks/968.js +1 -0
  210. package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +1 -0
  211. package/packages/scrabble-solver/.next/server/functions-config-manifest.json +4 -0
  212. package/packages/scrabble-solver/.next/server/interception-route-rewrite-manifest.js +1 -0
  213. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -0
  214. package/packages/scrabble-solver/.next/server/middleware-manifest.json +6 -0
  215. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -0
  216. package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -0
  217. package/packages/scrabble-solver/.next/server/next-font-manifest.json +1 -0
  218. package/packages/scrabble-solver/.next/server/pages/404.html +29 -0
  219. package/packages/scrabble-solver/.next/server/pages/500.html +29 -0
  220. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -0
  221. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -0
  222. package/packages/scrabble-solver/.next/server/pages/_document.js +28 -0
  223. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -0
  224. package/packages/scrabble-solver/.next/server/pages/_error.js +28 -0
  225. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -0
  226. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -0
  227. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -0
  228. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -0
  229. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -0
  230. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -0
  231. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -0
  232. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -0
  233. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -0
  234. package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -0
  235. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -0
  236. package/packages/scrabble-solver/.next/server/pages/index.html +29 -0
  237. package/packages/scrabble-solver/.next/server/pages/index.js +30 -0
  238. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -0
  239. package/packages/scrabble-solver/.next/server/pages/index.json +1 -0
  240. package/packages/scrabble-solver/.next/server/pages/index.meta +1 -0
  241. package/packages/scrabble-solver/.next/server/pages/not-found.html +29 -0
  242. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -0
  243. package/packages/scrabble-solver/.next/server/pages-manifest.json +13 -0
  244. package/packages/scrabble-solver/.next/server/prefetch-hints.json +1 -0
  245. package/packages/scrabble-solver/.next/server/preview-props.json +5 -0
  246. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.html +29 -0
  247. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.json +1 -0
  248. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.meta +1 -0
  249. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -0
  250. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -0
  251. package/packages/scrabble-solver/.next/static/chunks/100.305bdf9c75b1758f.js +1 -0
  252. package/packages/scrabble-solver/.next/static/chunks/256.9fcbd6c03ebdb85b.js +1 -0
  253. package/packages/scrabble-solver/.next/static/chunks/277.6785dfaf22fdb0b7.js +1 -0
  254. package/packages/scrabble-solver/.next/static/chunks/307.92ab8bd0b380a54b.js +1 -0
  255. package/packages/scrabble-solver/.next/static/chunks/341.79535ba85bf1986f.js +1 -0
  256. package/packages/scrabble-solver/.next/static/chunks/363.1e1dca73189c1b3e.js +1 -0
  257. package/packages/scrabble-solver/.next/static/chunks/422.905bb771191013e7.js +1 -0
  258. package/packages/scrabble-solver/.next/static/chunks/541.dcd9e8b804f88da5.js +1 -0
  259. package/packages/scrabble-solver/.next/static/chunks/601.d6817fd655b959d1.js +1 -0
  260. package/packages/scrabble-solver/.next/static/chunks/631.98d42abad0a60af6.js +1 -0
  261. package/packages/scrabble-solver/.next/static/chunks/663.0b4d7a0e7f8e4ad3.js +1 -0
  262. package/packages/scrabble-solver/.next/static/chunks/693.1f53805be6ad36d1.js +1 -0
  263. package/packages/scrabble-solver/.next/static/chunks/744-5ad846426b8f4514.js +3 -0
  264. package/packages/scrabble-solver/.next/static/chunks/820.c5e57d8b664cf9df.js +1 -0
  265. package/packages/scrabble-solver/.next/static/chunks/827.d01b6d69af340ba4.js +1 -0
  266. package/packages/scrabble-solver/.next/static/chunks/865.88d79c2c4b53cc8f.js +1 -0
  267. package/packages/scrabble-solver/.next/static/chunks/912.077603e4f0bc6cca.js +1 -0
  268. package/packages/scrabble-solver/.next/static/chunks/939.f8728029bfdc4515.js +1 -0
  269. package/packages/scrabble-solver/.next/static/chunks/980.dd35e807b18063c1.js +1 -0
  270. package/packages/scrabble-solver/.next/static/chunks/990.61296e5870b91f11.js +1 -0
  271. package/packages/scrabble-solver/.next/static/chunks/framework-86d3b250d278cea9.js +1 -0
  272. package/packages/scrabble-solver/.next/static/chunks/main-738e097cd313908f.js +5 -0
  273. package/packages/scrabble-solver/.next/static/chunks/pages/_app-5b1d356edb0d0f78.js +1 -0
  274. package/packages/scrabble-solver/.next/static/chunks/pages/_error-f0290a98eb3ed0ec.js +1 -0
  275. package/packages/scrabble-solver/.next/static/chunks/pages/index-c21b524ce1875d6e.js +1 -0
  276. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-a59f9deeeff63d17.js +1 -0
  277. package/packages/scrabble-solver/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  278. package/packages/scrabble-solver/.next/static/chunks/webpack-c4c264f86e0bb34b.js +1 -0
  279. package/packages/scrabble-solver/.next/static/css/2d03f0da2c678dfc.css +1 -0
  280. package/packages/scrabble-solver/.next/static/css/4dbcacc1122ac6b9.css +2 -0
  281. package/packages/scrabble-solver/.next/static/css/7b6724d2df70f48f.css +1 -0
  282. package/packages/scrabble-solver/.next/static/css/8b8087461767360a.css +1 -0
  283. package/packages/scrabble-solver/.next/static/css/98051ed25076b896.css +1 -0
  284. package/packages/scrabble-solver/.next/static/css/b736be3bd02b5d99.css +1 -0
  285. package/packages/scrabble-solver/.next/static/css/ca311e6c030663d4.css +1 -0
  286. package/packages/scrabble-solver/.next/static/css/cd4d7f2458487399.css +1 -0
  287. package/packages/scrabble-solver/.next/static/css/dee878eb64099d92.css +1 -0
  288. package/packages/scrabble-solver/.next/static/iJDkHROLsX-5CEsv2p6sC/_buildManifest.js +1 -0
  289. package/packages/scrabble-solver/.next/static/iJDkHROLsX-5CEsv2p6sC/_ssgManifest.js +1 -0
  290. package/packages/scrabble-solver/.next/trace +36 -0
  291. package/packages/scrabble-solver/.next/trace-build +1 -0
  292. package/packages/scrabble-solver/.next/types/cache-life.d.ts +114 -0
  293. package/packages/scrabble-solver/.next/types/root-params.d.ts +3 -0
  294. package/packages/scrabble-solver/.next/types/routes.d.ts +57 -0
  295. package/packages/scrabble-solver/.next/types/validator.ts +113 -0
  296. package/packages/scrabble-solver/AGENTS.md +9 -0
  297. package/packages/scrabble-solver/CLAUDE.md +1 -0
  298. package/packages/scrabble-solver/README.md +19 -0
  299. package/packages/scrabble-solver/empty-module.js +2 -0
  300. package/packages/scrabble-solver/next-env.d.ts +7 -0
  301. package/packages/scrabble-solver/next.config.js +60 -0
  302. package/packages/scrabble-solver/package.json +99 -0
  303. package/packages/scrabble-solver/public/favicon.ico +0 -0
  304. package/packages/scrabble-solver/public/icons/apple-touch-icon-114x114.png +0 -0
  305. package/packages/scrabble-solver/public/icons/apple-touch-icon-120x120.png +0 -0
  306. package/packages/scrabble-solver/public/icons/apple-touch-icon-144x144.png +0 -0
  307. package/packages/scrabble-solver/public/icons/apple-touch-icon-152x152.png +0 -0
  308. package/packages/scrabble-solver/public/icons/apple-touch-icon-57x57.png +0 -0
  309. package/packages/scrabble-solver/public/icons/apple-touch-icon-60x60.png +0 -0
  310. package/packages/scrabble-solver/public/icons/apple-touch-icon-72x72.png +0 -0
  311. package/packages/scrabble-solver/public/icons/apple-touch-icon-76x76.png +0 -0
  312. package/packages/scrabble-solver/public/icons/favicon-128.png +0 -0
  313. package/packages/scrabble-solver/public/icons/favicon-16x16.png +0 -0
  314. package/packages/scrabble-solver/public/icons/favicon-196x196.png +0 -0
  315. package/packages/scrabble-solver/public/icons/favicon-32x32.png +0 -0
  316. package/packages/scrabble-solver/public/icons/favicon-96x96.png +0 -0
  317. package/packages/scrabble-solver/public/icons/favicon.svg +6 -0
  318. package/packages/scrabble-solver/public/icons/mstile-144x144.png +0 -0
  319. package/packages/scrabble-solver/public/icons/mstile-150x150.png +0 -0
  320. package/packages/scrabble-solver/public/icons/mstile-310x150.png +0 -0
  321. package/packages/scrabble-solver/public/icons/mstile-310x310.png +0 -0
  322. package/packages/scrabble-solver/public/icons/mstile-70x70.png +0 -0
  323. package/packages/scrabble-solver/public/llms.txt +11 -0
  324. package/packages/scrabble-solver/public/logo.svg +62 -0
  325. package/packages/scrabble-solver/public/og.png +0 -0
  326. package/packages/scrabble-solver/public/robots.txt +5 -0
  327. package/packages/scrabble-solver/public/service-worker.js +2 -0
  328. package/packages/scrabble-solver/public/service-worker.js.map +1 -0
  329. package/packages/scrabble-solver/public/site.webmanifest +14 -0
  330. package/packages/scrabble-solver/public/sitemap.xml +1 -0
  331. package/packages/scrabble-solver/scripts/generate-scss-types.ts +112 -0
  332. package/packages/scrabble-solver/src/@types/scss.d.ts +6 -0
  333. package/packages/scrabble-solver/src/@types/svg.d.ts +7 -0
  334. package/packages/scrabble-solver/src/api/BadRequestError.ts +6 -0
  335. package/packages/scrabble-solver/src/api/index.ts +6 -0
  336. package/packages/scrabble-solver/src/api/isBoardValid.ts +41 -0
  337. package/packages/scrabble-solver/src/api/isCellValid.ts +25 -0
  338. package/packages/scrabble-solver/src/api/isCharacterValid.ts +12 -0
  339. package/packages/scrabble-solver/src/api/isRowValid.ts +17 -0
  340. package/packages/scrabble-solver/src/api/withApiLog.ts +85 -0
  341. package/packages/scrabble-solver/src/components/Alert/Alert.module.scss +52 -0
  342. package/packages/scrabble-solver/src/components/Alert/Alert.module.scss.d.ts +13 -0
  343. package/packages/scrabble-solver/src/components/Alert/Alert.tsx +44 -0
  344. package/packages/scrabble-solver/src/components/Alert/index.ts +1 -0
  345. package/packages/scrabble-solver/src/components/Badge/Badge.module.scss +12 -0
  346. package/packages/scrabble-solver/src/components/Badge/Badge.module.scss.d.ts +6 -0
  347. package/packages/scrabble-solver/src/components/Badge/Badge.tsx +13 -0
  348. package/packages/scrabble-solver/src/components/Badge/index.ts +1 -0
  349. package/packages/scrabble-solver/src/components/Board/Board.module.scss +83 -0
  350. package/packages/scrabble-solver/src/components/Board/Board.module.scss.d.ts +17 -0
  351. package/packages/scrabble-solver/src/components/Board/Board.tsx +221 -0
  352. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +166 -0
  353. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss +33 -0
  354. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss.d.ts +7 -0
  355. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +103 -0
  356. package/packages/scrabble-solver/src/components/Board/components/Actions/index.ts +1 -0
  357. package/packages/scrabble-solver/src/components/Board/components/Actions/lib.ts +32 -0
  358. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +99 -0
  359. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss.d.ts +13 -0
  360. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +135 -0
  361. package/packages/scrabble-solver/src/components/Board/components/Cell/index.ts +1 -0
  362. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss +34 -0
  363. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss.d.ts +10 -0
  364. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx +87 -0
  365. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/index.ts +1 -0
  366. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.module.scss +21 -0
  367. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.module.scss.d.ts +8 -0
  368. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +41 -0
  369. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/index.ts +1 -0
  370. package/packages/scrabble-solver/src/components/Board/components/index.ts +4 -0
  371. package/packages/scrabble-solver/src/components/Board/getBoardBackground.ts +175 -0
  372. package/packages/scrabble-solver/src/components/Board/hooks/index.ts +5 -0
  373. package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +24 -0
  374. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingActions.ts +17 -0
  375. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingFocus.ts +8 -0
  376. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingInputPrompt.ts +17 -0
  377. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +390 -0
  378. package/packages/scrabble-solver/src/components/Board/index.ts +1 -0
  379. package/packages/scrabble-solver/src/components/Board/lib.test.ts +106 -0
  380. package/packages/scrabble-solver/src/components/Board/lib.ts +149 -0
  381. package/packages/scrabble-solver/src/components/Board/selectors.ts +39 -0
  382. package/packages/scrabble-solver/src/components/Button/Button.module.scss +96 -0
  383. package/packages/scrabble-solver/src/components/Button/Button.module.scss.d.ts +12 -0
  384. package/packages/scrabble-solver/src/components/Button/Button.tsx +50 -0
  385. package/packages/scrabble-solver/src/components/Button/Link.tsx +45 -0
  386. package/packages/scrabble-solver/src/components/Button/index.ts +1 -0
  387. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +65 -0
  388. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss.d.ts +14 -0
  389. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +78 -0
  390. package/packages/scrabble-solver/src/components/Dictionary/index.ts +1 -0
  391. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss +12 -0
  392. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss.d.ts +7 -0
  393. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +45 -0
  394. package/packages/scrabble-solver/src/components/DictionaryInput/index.ts +1 -0
  395. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss +14 -0
  396. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss.d.ts +7 -0
  397. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx +55 -0
  398. package/packages/scrabble-solver/src/components/EmptyState/index.ts +1 -0
  399. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss +39 -0
  400. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss.d.ts +8 -0
  401. package/packages/scrabble-solver/src/components/IconButton/IconButton.tsx +31 -0
  402. package/packages/scrabble-solver/src/components/IconButton/Link.tsx +26 -0
  403. package/packages/scrabble-solver/src/components/IconButton/index.ts +1 -0
  404. package/packages/scrabble-solver/src/components/Key/Key.module.scss +29 -0
  405. package/packages/scrabble-solver/src/components/Key/Key.module.scss.d.ts +6 -0
  406. package/packages/scrabble-solver/src/components/Key/Key.tsx +13 -0
  407. package/packages/scrabble-solver/src/components/Key/index.ts +1 -0
  408. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss +41 -0
  409. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss.d.ts +11 -0
  410. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx +32 -0
  411. package/packages/scrabble-solver/src/components/Keys/Arrows/index.ts +1 -0
  412. package/packages/scrabble-solver/src/components/Keys/index.tsx +28 -0
  413. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss +33 -0
  414. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss.d.ts +9 -0
  415. package/packages/scrabble-solver/src/components/Loading/Loading.tsx +37 -0
  416. package/packages/scrabble-solver/src/components/Loading/index.ts +1 -0
  417. package/packages/scrabble-solver/src/components/Logo/Logo.tsx +12 -0
  418. package/packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx +22 -0
  419. package/packages/scrabble-solver/src/components/Logo/index.ts +1 -0
  420. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss +119 -0
  421. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss.d.ts +15 -0
  422. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +105 -0
  423. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss +11 -0
  424. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss.d.ts +7 -0
  425. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.tsx +18 -0
  426. package/packages/scrabble-solver/src/components/Modal/components/Section/index.ts +1 -0
  427. package/packages/scrabble-solver/src/components/Modal/components/index.ts +1 -0
  428. package/packages/scrabble-solver/src/components/Modal/index.ts +1 -0
  429. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss +53 -0
  430. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss.d.ts +13 -0
  431. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +127 -0
  432. package/packages/scrabble-solver/src/components/NavButtons/index.ts +1 -0
  433. package/packages/scrabble-solver/src/components/NavButtons/selectors.ts +11 -0
  434. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss +37 -0
  435. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss.d.ts +9 -0
  436. package/packages/scrabble-solver/src/components/NotFound/NotFound.tsx +18 -0
  437. package/packages/scrabble-solver/src/components/NotFound/index.ts +1 -0
  438. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss +24 -0
  439. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss.d.ts +11 -0
  440. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx +53 -0
  441. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +41 -0
  442. package/packages/scrabble-solver/src/components/PlainTiles/index.ts +1 -0
  443. package/packages/scrabble-solver/src/components/PlainTiles/lib.ts +75 -0
  444. package/packages/scrabble-solver/src/components/PlainTiles/types.ts +22 -0
  445. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss +16 -0
  446. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss.d.ts +6 -0
  447. package/packages/scrabble-solver/src/components/Progress/Progress.tsx +32 -0
  448. package/packages/scrabble-solver/src/components/Progress/index.ts +1 -0
  449. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +95 -0
  450. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss.d.ts +10 -0
  451. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +199 -0
  452. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss +21 -0
  453. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss.d.ts +7 -0
  454. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +73 -0
  455. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/index.ts +1 -0
  456. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.test.ts +27 -0
  457. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.ts +17 -0
  458. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss +11 -0
  459. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss.d.ts +6 -0
  460. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +165 -0
  461. package/packages/scrabble-solver/src/components/Rack/components/RackTile/index.ts +1 -0
  462. package/packages/scrabble-solver/src/components/Rack/components/index.ts +2 -0
  463. package/packages/scrabble-solver/src/components/Rack/index.ts +1 -0
  464. package/packages/scrabble-solver/src/components/Rack/selectors.ts +9 -0
  465. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +61 -0
  466. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss.d.ts +12 -0
  467. package/packages/scrabble-solver/src/components/Radio/Radio.tsx +39 -0
  468. package/packages/scrabble-solver/src/components/Radio/index.ts +1 -0
  469. package/packages/scrabble-solver/src/components/Results/Header.tsx +114 -0
  470. package/packages/scrabble-solver/src/components/Results/Result.tsx +101 -0
  471. package/packages/scrabble-solver/src/components/Results/Results.module.scss +76 -0
  472. package/packages/scrabble-solver/src/components/Results/Results.module.scss.d.ts +17 -0
  473. package/packages/scrabble-solver/src/components/Results/Results.tsx +164 -0
  474. package/packages/scrabble-solver/src/components/Results/SolveButton.tsx +45 -0
  475. package/packages/scrabble-solver/src/components/Results/index.ts +1 -0
  476. package/packages/scrabble-solver/src/components/Results/types.ts +15 -0
  477. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +116 -0
  478. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss.d.ts +20 -0
  479. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +143 -0
  480. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss +15 -0
  481. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss.d.ts +7 -0
  482. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.tsx +40 -0
  483. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/index.ts +1 -0
  484. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss +138 -0
  485. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss.d.ts +19 -0
  486. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +108 -0
  487. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/index.ts +1 -0
  488. package/packages/scrabble-solver/src/components/Solver/components/index.ts +2 -0
  489. package/packages/scrabble-solver/src/components/Solver/index.ts +1 -0
  490. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss +11 -0
  491. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss.d.ts +10 -0
  492. package/packages/scrabble-solver/src/components/Spinner/Spinner.tsx +17 -0
  493. package/packages/scrabble-solver/src/components/Spinner/index.ts +1 -0
  494. package/packages/scrabble-solver/src/components/Table/Cell.tsx +42 -0
  495. package/packages/scrabble-solver/src/components/Table/Header.tsx +11 -0
  496. package/packages/scrabble-solver/src/components/Table/HeaderButton.tsx +61 -0
  497. package/packages/scrabble-solver/src/components/Table/Row.tsx +59 -0
  498. package/packages/scrabble-solver/src/components/Table/Search.tsx +43 -0
  499. package/packages/scrabble-solver/src/components/Table/Table.module.scss +147 -0
  500. package/packages/scrabble-solver/src/components/Table/Table.module.scss.d.ts +19 -0
  501. package/packages/scrabble-solver/src/components/Table/index.ts +5 -0
  502. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +129 -0
  503. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss.d.ts +19 -0
  504. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +101 -0
  505. package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +106 -0
  506. package/packages/scrabble-solver/src/components/Tile/index.ts +1 -0
  507. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss +15 -0
  508. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss.d.ts +7 -0
  509. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.tsx +42 -0
  510. package/packages/scrabble-solver/src/components/Tooltip/TooltipContent.tsx +53 -0
  511. package/packages/scrabble-solver/src/components/Tooltip/TooltipTrigger.tsx +30 -0
  512. package/packages/scrabble-solver/src/components/Tooltip/context.ts +17 -0
  513. package/packages/scrabble-solver/src/components/Tooltip/index.ts +1 -0
  514. package/packages/scrabble-solver/src/components/Tooltip/useTooltip.ts +55 -0
  515. package/packages/scrabble-solver/src/hooks/useColumns.ts +69 -0
  516. package/packages/scrabble-solver/src/hooks/useDeferredRender.ts +20 -0
  517. package/packages/scrabble-solver/src/hooks/useDirection.ts +21 -0
  518. package/packages/scrabble-solver/src/hooks/useEffectOnce.ts +11 -0
  519. package/packages/scrabble-solver/src/hooks/useIsTouchDevice.ts +5 -0
  520. package/packages/scrabble-solver/src/hooks/useLanguage.ts +20 -0
  521. package/packages/scrabble-solver/src/hooks/useLatest.ts +11 -0
  522. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +49 -0
  523. package/packages/scrabble-solver/src/hooks/useMedia.ts +34 -0
  524. package/packages/scrabble-solver/src/hooks/useMediaQueries.ts +11 -0
  525. package/packages/scrabble-solver/src/hooks/useMediaQuery.ts +10 -0
  526. package/packages/scrabble-solver/src/i18n/constants.ts +106 -0
  527. package/packages/scrabble-solver/src/i18n/i18n.ts +25 -0
  528. package/packages/scrabble-solver/src/i18n/languages/english.json +88 -0
  529. package/packages/scrabble-solver/src/i18n/languages/french.json +88 -0
  530. package/packages/scrabble-solver/src/i18n/languages/german.json +88 -0
  531. package/packages/scrabble-solver/src/i18n/languages/persian.json +88 -0
  532. package/packages/scrabble-solver/src/i18n/languages/polish.json +88 -0
  533. package/packages/scrabble-solver/src/i18n/languages/romanian.json +88 -0
  534. package/packages/scrabble-solver/src/i18n/languages/spanish.json +88 -0
  535. package/packages/scrabble-solver/src/i18n/languages/turkish.json +88 -0
  536. package/packages/scrabble-solver/src/i18n/localeIcons.ts +24 -0
  537. package/packages/scrabble-solver/src/icons/ArrowDown.svg +4 -0
  538. package/packages/scrabble-solver/src/icons/ArrowLeft.svg +4 -0
  539. package/packages/scrabble-solver/src/icons/ArrowRight.svg +4 -0
  540. package/packages/scrabble-solver/src/icons/ArrowUp.svg +4 -0
  541. package/packages/scrabble-solver/src/icons/Ban.svg +4 -0
  542. package/packages/scrabble-solver/src/icons/BookHalf.svg +4 -0
  543. package/packages/scrabble-solver/src/icons/CardChecklist.svg +5 -0
  544. package/packages/scrabble-solver/src/icons/Check.svg +4 -0
  545. package/packages/scrabble-solver/src/icons/ChevronDown.svg +4 -0
  546. package/packages/scrabble-solver/src/icons/ChevronLeft.svg +4 -0
  547. package/packages/scrabble-solver/src/icons/ChevronRight.svg +4 -0
  548. package/packages/scrabble-solver/src/icons/Cog.svg +4 -0
  549. package/packages/scrabble-solver/src/icons/Cross.svg +4 -0
  550. package/packages/scrabble-solver/src/icons/CrossCircleFill.svg +4 -0
  551. package/packages/scrabble-solver/src/icons/CrossSquareFill.svg +4 -0
  552. package/packages/scrabble-solver/src/icons/DashCircleFill.svg +4 -0
  553. package/packages/scrabble-solver/src/icons/Eraser.svg +4 -0
  554. package/packages/scrabble-solver/src/icons/ExclamationSquareFill.svg +4 -0
  555. package/packages/scrabble-solver/src/icons/ExclamationTriangleFill.svg +4 -0
  556. package/packages/scrabble-solver/src/icons/EyeFill.svg +5 -0
  557. package/packages/scrabble-solver/src/icons/FlagDe.svg +5 -0
  558. package/packages/scrabble-solver/src/icons/FlagEs.svg +4 -0
  559. package/packages/scrabble-solver/src/icons/FlagFa.svg +95 -0
  560. package/packages/scrabble-solver/src/icons/FlagFill.svg +4 -0
  561. package/packages/scrabble-solver/src/icons/FlagFr.svg +5 -0
  562. package/packages/scrabble-solver/src/icons/FlagGb.svg +10 -0
  563. package/packages/scrabble-solver/src/icons/FlagPl.svg +4 -0
  564. package/packages/scrabble-solver/src/icons/FlagRo.svg +5 -0
  565. package/packages/scrabble-solver/src/icons/FlagTr.svg +4 -0
  566. package/packages/scrabble-solver/src/icons/FlagUs.svg +33 -0
  567. package/packages/scrabble-solver/src/icons/GeoAlt.svg +5 -0
  568. package/packages/scrabble-solver/src/icons/Github.svg +4 -0
  569. package/packages/scrabble-solver/src/icons/InfoCircleFill.svg +4 -0
  570. package/packages/scrabble-solver/src/icons/Keyboard.svg +5 -0
  571. package/packages/scrabble-solver/src/icons/KeyboardFill.svg +4 -0
  572. package/packages/scrabble-solver/src/icons/List.svg +4 -0
  573. package/packages/scrabble-solver/src/icons/OneTwoThree.svg +4 -0
  574. package/packages/scrabble-solver/src/icons/QuestionSquare.svg +5 -0
  575. package/packages/scrabble-solver/src/icons/Sack.svg +4 -0
  576. package/packages/scrabble-solver/src/icons/Search.svg +4 -0
  577. package/packages/scrabble-solver/src/icons/SortDown.svg +4 -0
  578. package/packages/scrabble-solver/src/icons/SortUp.svg +4 -0
  579. package/packages/scrabble-solver/src/icons/Square.svg +4 -0
  580. package/packages/scrabble-solver/src/icons/SquareA.svg +6 -0
  581. package/packages/scrabble-solver/src/icons/SquareB.svg +6 -0
  582. package/packages/scrabble-solver/src/icons/SquareFill.svg +4 -0
  583. package/packages/scrabble-solver/src/icons/Squares.svg +34 -0
  584. package/packages/scrabble-solver/src/icons/Words.svg +22 -0
  585. package/packages/scrabble-solver/src/lib/arrayEquals.ts +3 -0
  586. package/packages/scrabble-solver/src/lib/createComparator.ts +20 -0
  587. package/packages/scrabble-solver/src/lib/createCoordinatesComparator.ts +23 -0
  588. package/packages/scrabble-solver/src/lib/createHighlightWords.test.ts +13 -0
  589. package/packages/scrabble-solver/src/lib/createHighlightWords.ts +9 -0
  590. package/packages/scrabble-solver/src/lib/createKeyComparator.ts +23 -0
  591. package/packages/scrabble-solver/src/lib/createKeyboardNavigation.ts +46 -0
  592. package/packages/scrabble-solver/src/lib/createNullMovingComparator.test.ts +15 -0
  593. package/packages/scrabble-solver/src/lib/createNullMovingComparator.ts +17 -0
  594. package/packages/scrabble-solver/src/lib/createRegExp.ts +11 -0
  595. package/packages/scrabble-solver/src/lib/createSortComparator.ts +22 -0
  596. package/packages/scrabble-solver/src/lib/createStringComparator.ts +7 -0
  597. package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +52 -0
  598. package/packages/scrabble-solver/src/lib/extractCharacters.ts +42 -0
  599. package/packages/scrabble-solver/src/lib/extractInputValue.ts +15 -0
  600. package/packages/scrabble-solver/src/lib/findCell.ts +5 -0
  601. package/packages/scrabble-solver/src/lib/getCoordinate.test.ts +22 -0
  602. package/packages/scrabble-solver/src/lib/getCoordinate.ts +17 -0
  603. package/packages/scrabble-solver/src/lib/getCoordinates.test.ts +21 -0
  604. package/packages/scrabble-solver/src/lib/getCoordinates.ts +16 -0
  605. package/packages/scrabble-solver/src/lib/getNextSort.ts +12 -0
  606. package/packages/scrabble-solver/src/lib/inverseDirection.ts +3 -0
  607. package/packages/scrabble-solver/src/lib/isCtrl.ts +5 -0
  608. package/packages/scrabble-solver/src/lib/isMac.ts +7 -0
  609. package/packages/scrabble-solver/src/lib/isRegExp.ts +9 -0
  610. package/packages/scrabble-solver/src/lib/isStringArray.ts +3 -0
  611. package/packages/scrabble-solver/src/lib/localeTransliterate.test.ts +19 -0
  612. package/packages/scrabble-solver/src/lib/localeTransliterate.ts +38 -0
  613. package/packages/scrabble-solver/src/lib/memoize.ts +64 -0
  614. package/packages/scrabble-solver/src/lib/noop.ts +1 -0
  615. package/packages/scrabble-solver/src/lib/numberComparator.ts +3 -0
  616. package/packages/scrabble-solver/src/lib/reverseComparator.ts +5 -0
  617. package/packages/scrabble-solver/src/lib/unorderedArraysEqual.ts +12 -0
  618. package/packages/scrabble-solver/src/lib/waitForIdleOrFirstIntent.ts +44 -0
  619. package/packages/scrabble-solver/src/lib/zipCharactersAndTiles.ts +28 -0
  620. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.module.scss +22 -0
  621. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.module.scss.d.ts +8 -0
  622. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx +29 -0
  623. package/packages/scrabble-solver/src/modals/DictionaryModal/index.ts +1 -0
  624. package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +65 -0
  625. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss +48 -0
  626. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss.d.ts +11 -0
  627. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.tsx +36 -0
  628. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/index.ts +1 -0
  629. package/packages/scrabble-solver/src/modals/KeyMapModal/components/index.ts +1 -0
  630. package/packages/scrabble-solver/src/modals/KeyMapModal/index.ts +1 -0
  631. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +48 -0
  632. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss.d.ts +10 -0
  633. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +93 -0
  634. package/packages/scrabble-solver/src/modals/MenuModal/index.ts +1 -0
  635. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss +25 -0
  636. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss.d.ts +9 -0
  637. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +61 -0
  638. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss +50 -0
  639. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss.d.ts +12 -0
  640. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.tsx +89 -0
  641. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/index.ts +1 -0
  642. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/index.ts +1 -0
  643. package/packages/scrabble-solver/src/modals/RemainingTilesModal/index.ts +1 -0
  644. package/packages/scrabble-solver/src/modals/RemainingTilesModal/lib.ts +81 -0
  645. package/packages/scrabble-solver/src/modals/RemainingTilesModal/selectors.ts +7 -0
  646. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss +20 -0
  647. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss.d.ts +8 -0
  648. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx +107 -0
  649. package/packages/scrabble-solver/src/modals/ResultsModal/index.ts +1 -0
  650. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +65 -0
  651. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss +12 -0
  652. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss.d.ts +7 -0
  653. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +58 -0
  654. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/constants.ts +1 -0
  655. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/index.ts +1 -0
  656. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +15 -0
  657. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss +12 -0
  658. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss.d.ts +7 -0
  659. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +45 -0
  660. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/index.ts +1 -0
  661. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/lib.ts +19 -0
  662. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.module.scss +12 -0
  663. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.module.scss.d.ts +7 -0
  664. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.tsx +51 -0
  665. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/index.ts +1 -0
  666. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.module.scss +12 -0
  667. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.module.scss.d.ts +7 -0
  668. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +53 -0
  669. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/index.ts +1 -0
  670. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/lib.ts +13 -0
  671. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +20 -0
  672. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss.d.ts +8 -0
  673. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +54 -0
  674. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/index.ts +1 -0
  675. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss +12 -0
  676. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss.d.ts +7 -0
  677. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx +53 -0
  678. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/index.ts +1 -0
  679. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/lib.ts +13 -0
  680. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss +12 -0
  681. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss.d.ts +7 -0
  682. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +53 -0
  683. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +1 -0
  684. package/packages/scrabble-solver/src/modals/SettingsModal/components/index.ts +7 -0
  685. package/packages/scrabble-solver/src/modals/SettingsModal/index.ts +1 -0
  686. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.module.scss +24 -0
  687. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.module.scss.d.ts +8 -0
  688. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx +75 -0
  689. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordRow.tsx +97 -0
  690. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.module.scss +69 -0
  691. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.module.scss.d.ts +16 -0
  692. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.tsx +137 -0
  693. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/index.ts +1 -0
  694. package/packages/scrabble-solver/src/modals/WordsModal/components/index.ts +1 -0
  695. package/packages/scrabble-solver/src/modals/WordsModal/index.ts +1 -0
  696. package/packages/scrabble-solver/src/modals/preload.ts +24 -0
  697. package/packages/scrabble-solver/src/pages/_app.tsx +52 -0
  698. package/packages/scrabble-solver/src/pages/_document.tsx +129 -0
  699. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +66 -0
  700. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts +123 -0
  701. package/packages/scrabble-solver/src/pages/api/solve.ts +103 -0
  702. package/packages/scrabble-solver/src/pages/api/verify.ts +78 -0
  703. package/packages/scrabble-solver/src/pages/api/visit.ts +44 -0
  704. package/packages/scrabble-solver/src/pages/index.module.scss +31 -0
  705. package/packages/scrabble-solver/src/pages/index.module.scss.d.ts +11 -0
  706. package/packages/scrabble-solver/src/pages/index.tsx +274 -0
  707. package/packages/scrabble-solver/src/pages/not-found.tsx +16 -0
  708. package/packages/scrabble-solver/src/parameters/index.ts +83 -0
  709. package/packages/scrabble-solver/src/sdk/fetch.ts +28 -0
  710. package/packages/scrabble-solver/src/sdk/fetchJson.ts +9 -0
  711. package/packages/scrabble-solver/src/sdk/findWordDefinitions.ts +8 -0
  712. package/packages/scrabble-solver/src/sdk/index.ts +4 -0
  713. package/packages/scrabble-solver/src/sdk/solve.ts +19 -0
  714. package/packages/scrabble-solver/src/sdk/verify.ts +20 -0
  715. package/packages/scrabble-solver/src/sdk/visit.ts +10 -0
  716. package/packages/scrabble-solver/src/service-worker/appShell.test.ts +86 -0
  717. package/packages/scrabble-solver/src/service-worker/appShell.ts +39 -0
  718. package/packages/scrabble-solver/src/service-worker/index.ts +22 -0
  719. package/packages/scrabble-solver/src/serviceWorkerManager.ts +12 -0
  720. package/packages/scrabble-solver/src/solver-worker/client.test.ts +158 -0
  721. package/packages/scrabble-solver/src/solver-worker/client.ts +106 -0
  722. package/packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts +9 -0
  723. package/packages/scrabble-solver/src/solver-worker/dictionaries/expirationManager.ts +7 -0
  724. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts +21 -0
  725. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionaryUrl.ts +5 -0
  726. package/packages/scrabble-solver/src/solver-worker/dictionaries/index.ts +2 -0
  727. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts +199 -0
  728. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts +86 -0
  729. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts +43 -0
  730. package/packages/scrabble-solver/src/solver-worker/getGaddag.test.ts +109 -0
  731. package/packages/scrabble-solver/src/solver-worker/getGaddag.ts +62 -0
  732. package/packages/scrabble-solver/src/solver-worker/index.ts +1 -0
  733. package/packages/scrabble-solver/src/solver-worker/index.worker.ts +124 -0
  734. package/packages/scrabble-solver/src/solver-worker/messages.ts +20 -0
  735. package/packages/scrabble-solver/src/state/actions.ts +5 -0
  736. package/packages/scrabble-solver/src/state/app/index.ts +4 -0
  737. package/packages/scrabble-solver/src/state/app/initialState.ts +6 -0
  738. package/packages/scrabble-solver/src/state/app/selectors.ts +5 -0
  739. package/packages/scrabble-solver/src/state/app/slice.ts +20 -0
  740. package/packages/scrabble-solver/src/state/app/types.ts +4 -0
  741. package/packages/scrabble-solver/src/state/board/index.ts +4 -0
  742. package/packages/scrabble-solver/src/state/board/initialState.ts +38 -0
  743. package/packages/scrabble-solver/src/state/board/selectors.ts +3 -0
  744. package/packages/scrabble-solver/src/state/board/slice.ts +101 -0
  745. package/packages/scrabble-solver/src/state/board/types.ts +3 -0
  746. package/packages/scrabble-solver/src/state/cellFilters/index.ts +4 -0
  747. package/packages/scrabble-solver/src/state/cellFilters/initialState.ts +3 -0
  748. package/packages/scrabble-solver/src/state/cellFilters/lib.ts +8 -0
  749. package/packages/scrabble-solver/src/state/cellFilters/selectors.ts +13 -0
  750. package/packages/scrabble-solver/src/state/cellFilters/slice.ts +49 -0
  751. package/packages/scrabble-solver/src/state/cellFilters/types.ts +3 -0
  752. package/packages/scrabble-solver/src/state/dictionary/index.ts +4 -0
  753. package/packages/scrabble-solver/src/state/dictionary/initialState.ts +8 -0
  754. package/packages/scrabble-solver/src/state/dictionary/selectors.ts +16 -0
  755. package/packages/scrabble-solver/src/state/dictionary/slice.ts +34 -0
  756. package/packages/scrabble-solver/src/state/dictionary/types.ts +8 -0
  757. package/packages/scrabble-solver/src/state/hoveredTile/index.ts +4 -0
  758. package/packages/scrabble-solver/src/state/hoveredTile/initialState.ts +5 -0
  759. package/packages/scrabble-solver/src/state/hoveredTile/selectors.ts +3 -0
  760. package/packages/scrabble-solver/src/state/hoveredTile/slice.ts +16 -0
  761. package/packages/scrabble-solver/src/state/hoveredTile/types.ts +3 -0
  762. package/packages/scrabble-solver/src/state/hoveredWord/index.ts +4 -0
  763. package/packages/scrabble-solver/src/state/hoveredWord/initialState.ts +5 -0
  764. package/packages/scrabble-solver/src/state/hoveredWord/selectors.ts +5 -0
  765. package/packages/scrabble-solver/src/state/hoveredWord/slice.ts +18 -0
  766. package/packages/scrabble-solver/src/state/hoveredWord/types.ts +5 -0
  767. package/packages/scrabble-solver/src/state/i18n/index.ts +4 -0
  768. package/packages/scrabble-solver/src/state/i18n/initialState.ts +5 -0
  769. package/packages/scrabble-solver/src/state/i18n/selectors.ts +3 -0
  770. package/packages/scrabble-solver/src/state/i18n/slice.ts +16 -0
  771. package/packages/scrabble-solver/src/state/i18n/types.ts +7 -0
  772. package/packages/scrabble-solver/src/state/index.ts +19 -0
  773. package/packages/scrabble-solver/src/state/lib.ts +46 -0
  774. package/packages/scrabble-solver/src/state/localStorage.ts +142 -0
  775. package/packages/scrabble-solver/src/state/rack/index.ts +4 -0
  776. package/packages/scrabble-solver/src/state/rack/initialState.ts +11 -0
  777. package/packages/scrabble-solver/src/state/rack/selectors.ts +7 -0
  778. package/packages/scrabble-solver/src/state/rack/slice.ts +56 -0
  779. package/packages/scrabble-solver/src/state/rack/types.ts +3 -0
  780. package/packages/scrabble-solver/src/state/results/index.ts +4 -0
  781. package/packages/scrabble-solver/src/state/results/initialState.ts +13 -0
  782. package/packages/scrabble-solver/src/state/results/lib.ts +86 -0
  783. package/packages/scrabble-solver/src/state/results/selectors.ts +83 -0
  784. package/packages/scrabble-solver/src/state/results/slice.ts +43 -0
  785. package/packages/scrabble-solver/src/state/results/types.ts +10 -0
  786. package/packages/scrabble-solver/src/state/sagas.ts +395 -0
  787. package/packages/scrabble-solver/src/state/selectors.ts +52 -0
  788. package/packages/scrabble-solver/src/state/settings/index.ts +4 -0
  789. package/packages/scrabble-solver/src/state/settings/initialState.ts +16 -0
  790. package/packages/scrabble-solver/src/state/settings/lib.ts +42 -0
  791. package/packages/scrabble-solver/src/state/settings/selectors.ts +78 -0
  792. package/packages/scrabble-solver/src/state/settings/slice.ts +54 -0
  793. package/packages/scrabble-solver/src/state/settings/types.ts +13 -0
  794. package/packages/scrabble-solver/src/state/solve/index.ts +4 -0
  795. package/packages/scrabble-solver/src/state/solve/initialState.ts +12 -0
  796. package/packages/scrabble-solver/src/state/solve/selectors.ts +14 -0
  797. package/packages/scrabble-solver/src/state/solve/slice.ts +33 -0
  798. package/packages/scrabble-solver/src/state/solve/types.ts +10 -0
  799. package/packages/scrabble-solver/src/state/store.ts +38 -0
  800. package/packages/scrabble-solver/src/state/types.ts +27 -0
  801. package/packages/scrabble-solver/src/state/useTranslate.ts +32 -0
  802. package/packages/scrabble-solver/src/state/useTypedSelector.ts +5 -0
  803. package/packages/scrabble-solver/src/state/useTypedStore.ts +6 -0
  804. package/packages/scrabble-solver/src/state/verify/index.ts +4 -0
  805. package/packages/scrabble-solver/src/state/verify/initialState.ts +19 -0
  806. package/packages/scrabble-solver/src/state/verify/lib.test.ts +55 -0
  807. package/packages/scrabble-solver/src/state/verify/lib.ts +49 -0
  808. package/packages/scrabble-solver/src/state/verify/selectors.ts +46 -0
  809. package/packages/scrabble-solver/src/state/verify/slice.ts +40 -0
  810. package/packages/scrabble-solver/src/state/verify/types.ts +14 -0
  811. package/packages/scrabble-solver/src/styles/_tokens.scss +60 -0
  812. package/packages/scrabble-solver/src/styles/animations.scss +49 -0
  813. package/packages/scrabble-solver/src/styles/global.scss +61 -0
  814. package/packages/scrabble-solver/src/styles/mixins.scss +117 -0
  815. package/packages/scrabble-solver/src/styles/variables.module.scss +32 -0
  816. package/packages/scrabble-solver/src/styles/variables.module.scss.d.ts +27 -0
  817. package/packages/scrabble-solver/src/styles/variables.scss +176 -0
  818. package/packages/scrabble-solver/src/types/api.ts +21 -0
  819. package/packages/scrabble-solver/src/types/index.ts +177 -0
  820. package/packages/scrabble-solver/tsconfig.json +27 -0
  821. package/packages/scrabble-solver/tsconfig.tsbuildinfo +1 -0
  822. package/packages/solver/README.md +29 -0
  823. package/packages/solver/benchmarks/index.ts +15 -0
  824. package/packages/solver/benchmarks/lib.ts +31 -0
  825. package/packages/solver/benchmarks/renderChart.ts +165 -0
  826. package/packages/solver/benchmarks/results/chart.svg +65 -0
  827. package/packages/solver/benchmarks/runBenchmarks.ts +66 -0
  828. package/packages/solver/benchmarks/scenarios.ts +64 -0
  829. package/packages/solver/benchmarks/types.ts +16 -0
  830. package/packages/solver/benchmarks/updateReadme.ts +53 -0
  831. package/packages/solver/build/MoveGenerator.d.ts +116 -0
  832. package/packages/solver/build/MoveGenerator.js +686 -0
  833. package/packages/solver/build/index.d.ts +1 -0
  834. package/packages/solver/build/index.js +5 -0
  835. package/packages/solver/build/solve.d.ts +3 -0
  836. package/packages/solver/build/solve.js +8 -0
  837. package/packages/solver/package.json +45 -0
  838. package/packages/solver/src/MoveGenerator.test.ts +1009 -0
  839. package/packages/solver/src/MoveGenerator.ts +926 -0
  840. package/packages/solver/src/ReferenceSolver.ts +401 -0
  841. package/packages/solver/src/index.ts +1 -0
  842. package/packages/solver/src/solve.test.ts +225 -0
  843. package/packages/solver/src/solve.ts +8 -0
  844. package/packages/solver/tsconfig.json +10 -0
  845. package/packages/types/README.md +3 -0
  846. package/packages/types/build/Bingo.d.ts +7 -0
  847. package/packages/types/build/Bingo.js +2 -0
  848. package/packages/types/build/Board.d.ts +33 -0
  849. package/packages/types/build/Board.js +106 -0
  850. package/packages/types/build/BoardJson.d.ts +2 -0
  851. package/packages/types/build/BoardJson.js +2 -0
  852. package/packages/types/build/BoardWord.d.ts +7 -0
  853. package/packages/types/build/BoardWord.js +2 -0
  854. package/packages/types/build/Bonus.d.ts +22 -0
  855. package/packages/types/build/Bonus.js +33 -0
  856. package/packages/types/build/BonusJson.d.ts +7 -0
  857. package/packages/types/build/BonusJson.js +2 -0
  858. package/packages/types/build/BonusValue.d.ts +4 -0
  859. package/packages/types/build/BonusValue.js +2 -0
  860. package/packages/types/build/Cell.d.ts +22 -0
  861. package/packages/types/build/Cell.js +52 -0
  862. package/packages/types/build/CellJson.d.ts +7 -0
  863. package/packages/types/build/CellJson.js +2 -0
  864. package/packages/types/build/CharacterBonus.d.ts +10 -0
  865. package/packages/types/build/CharacterBonus.js +27 -0
  866. package/packages/types/build/Collision.d.ts +2 -0
  867. package/packages/types/build/Collision.js +2 -0
  868. package/packages/types/build/Config.d.ts +36 -0
  869. package/packages/types/build/Config.js +105 -0
  870. package/packages/types/build/ConfigJson.d.ts +18 -0
  871. package/packages/types/build/ConfigJson.js +2 -0
  872. package/packages/types/build/Dictionary.d.ts +6 -0
  873. package/packages/types/build/Dictionary.js +2 -0
  874. package/packages/types/build/Direction.d.ts +1 -0
  875. package/packages/types/build/Direction.js +2 -0
  876. package/packages/types/build/Game.d.ts +11 -0
  877. package/packages/types/build/Game.js +15 -0
  878. package/packages/types/build/Locale.d.ts +16 -0
  879. package/packages/types/build/Locale.js +20 -0
  880. package/packages/types/build/Result.d.ts +32 -0
  881. package/packages/types/build/Result.js +61 -0
  882. package/packages/types/build/ResultJson.d.ts +9 -0
  883. package/packages/types/build/ResultJson.js +2 -0
  884. package/packages/types/build/ShowCoordinates.d.ts +5 -0
  885. package/packages/types/build/ShowCoordinates.js +2 -0
  886. package/packages/types/build/TextDirection.d.ts +1 -0
  887. package/packages/types/build/TextDirection.js +2 -0
  888. package/packages/types/build/Tile.d.ts +15 -0
  889. package/packages/types/build/Tile.js +46 -0
  890. package/packages/types/build/TileConfig.d.ts +5 -0
  891. package/packages/types/build/TileConfig.js +2 -0
  892. package/packages/types/build/TileJson.d.ts +4 -0
  893. package/packages/types/build/TileJson.js +2 -0
  894. package/packages/types/build/WordBonus.d.ts +6 -0
  895. package/packages/types/build/WordBonus.js +18 -0
  896. package/packages/types/build/WordDefinition.d.ts +17 -0
  897. package/packages/types/build/WordDefinition.js +38 -0
  898. package/packages/types/build/WordDefinitionJson.d.ts +12 -0
  899. package/packages/types/build/WordDefinitionJson.js +2 -0
  900. package/packages/types/build/index.d.ts +29 -0
  901. package/packages/types/build/index.js +38 -0
  902. package/packages/types/build/lib/getBoardWords.d.ts +3 -0
  903. package/packages/types/build/lib/getBoardWords.js +10 -0
  904. package/packages/types/build/lib/getCells.d.ts +4 -0
  905. package/packages/types/build/lib/getCells.js +27 -0
  906. package/packages/types/build/lib/getCollidingWords.d.ts +3 -0
  907. package/packages/types/build/lib/getCollidingWords.js +19 -0
  908. package/packages/types/build/lib/getCollision.d.ts +3 -0
  909. package/packages/types/build/lib/getCollision.js +31 -0
  910. package/packages/types/build/lib/getCollisions.d.ts +3 -0
  911. package/packages/types/build/lib/getCollisions.js +17 -0
  912. package/packages/types/build/lib/getPlacedCell.d.ts +3 -0
  913. package/packages/types/build/lib/getPlacedCell.js +10 -0
  914. package/packages/types/build/lib/getWordThrough.d.ts +4 -0
  915. package/packages/types/build/lib/getWordThrough.js +23 -0
  916. package/packages/types/build/lib/getWordsInRows.d.ts +8 -0
  917. package/packages/types/build/lib/getWordsInRows.js +29 -0
  918. package/packages/types/build/lib/index.d.ts +5 -0
  919. package/packages/types/build/lib/index.js +21 -0
  920. package/packages/types/build/lib/isSameBoardWord.d.ts +2 -0
  921. package/packages/types/build/lib/isSameBoardWord.js +6 -0
  922. package/packages/types/build/lib/toBoardWord.d.ts +4 -0
  923. package/packages/types/build/lib/toBoardWord.js +11 -0
  924. package/packages/types/build/lib/transpose.d.ts +1 -0
  925. package/packages/types/build/lib/transpose.js +16 -0
  926. package/packages/types/build/type-guards/index.d.ts +10 -0
  927. package/packages/types/build/type-guards/index.js +23 -0
  928. package/packages/types/build/type-guards/isBingo.d.ts +2 -0
  929. package/packages/types/build/type-guards/isBingo.js +9 -0
  930. package/packages/types/build/type-guards/isBoardJson.d.ts +2 -0
  931. package/packages/types/build/type-guards/isBoardJson.js +21 -0
  932. package/packages/types/build/type-guards/isCellJson.d.ts +2 -0
  933. package/packages/types/build/type-guards/isCellJson.js +13 -0
  934. package/packages/types/build/type-guards/isError.d.ts +1 -0
  935. package/packages/types/build/type-guards/isError.js +11 -0
  936. package/packages/types/build/type-guards/isGame.d.ts +2 -0
  937. package/packages/types/build/type-guards/isGame.js +7 -0
  938. package/packages/types/build/type-guards/isLocale.d.ts +2 -0
  939. package/packages/types/build/type-guards/isLocale.js +7 -0
  940. package/packages/types/build/type-guards/isMultiplierBingo.d.ts +2 -0
  941. package/packages/types/build/type-guards/isMultiplierBingo.js +8 -0
  942. package/packages/types/build/type-guards/isObject.d.ts +1 -0
  943. package/packages/types/build/type-guards/isObject.js +7 -0
  944. package/packages/types/build/type-guards/isScoreBingo.d.ts +2 -0
  945. package/packages/types/build/type-guards/isScoreBingo.js +8 -0
  946. package/packages/types/build/type-guards/isTileJson.d.ts +2 -0
  947. package/packages/types/build/type-guards/isTileJson.js +8 -0
  948. package/packages/types/package.json +37 -0
  949. package/packages/types/src/Bingo.ts +5 -0
  950. package/packages/types/src/Board.test.ts +85 -0
  951. package/packages/types/src/Board.ts +141 -0
  952. package/packages/types/src/BoardJson.ts +3 -0
  953. package/packages/types/src/BoardWord.ts +8 -0
  954. package/packages/types/src/Bonus.ts +50 -0
  955. package/packages/types/src/BonusJson.ts +7 -0
  956. package/packages/types/src/BonusValue.ts +4 -0
  957. package/packages/types/src/Cell.ts +66 -0
  958. package/packages/types/src/CellJson.ts +8 -0
  959. package/packages/types/src/CharacterBonus.ts +29 -0
  960. package/packages/types/src/Collision.ts +3 -0
  961. package/packages/types/src/Config.ts +152 -0
  962. package/packages/types/src/ConfigJson.ts +19 -0
  963. package/packages/types/src/Dictionary.ts +7 -0
  964. package/packages/types/src/Direction.ts +1 -0
  965. package/packages/types/src/Game.ts +11 -0
  966. package/packages/types/src/Locale.ts +16 -0
  967. package/packages/types/src/Result.ts +118 -0
  968. package/packages/types/src/ResultJson.ts +9 -0
  969. package/packages/types/src/ShowCoordinates.ts +5 -0
  970. package/packages/types/src/TextDirection.ts +1 -0
  971. package/packages/types/src/Tile.ts +56 -0
  972. package/packages/types/src/TileConfig.ts +5 -0
  973. package/packages/types/src/TileJson.ts +4 -0
  974. package/packages/types/src/WordBonus.ts +15 -0
  975. package/packages/types/src/WordDefinition.ts +54 -0
  976. package/packages/types/src/WordDefinitionJson.ts +12 -0
  977. package/packages/types/src/index.ts +40 -0
  978. package/packages/types/src/lib/getBoardWords.ts +11 -0
  979. package/packages/types/src/lib/getCells.test.ts +127 -0
  980. package/packages/types/src/lib/getCells.ts +31 -0
  981. package/packages/types/src/lib/getCollidingWords.ts +25 -0
  982. package/packages/types/src/lib/getCollision.ts +38 -0
  983. package/packages/types/src/lib/getCollisions.test.ts +82 -0
  984. package/packages/types/src/lib/getCollisions.ts +22 -0
  985. package/packages/types/src/lib/getPlacedCell.ts +9 -0
  986. package/packages/types/src/lib/getWordThrough.ts +30 -0
  987. package/packages/types/src/lib/getWordsInRows.ts +34 -0
  988. package/packages/types/src/lib/index.ts +5 -0
  989. package/packages/types/src/lib/isSameBoardWord.ts +5 -0
  990. package/packages/types/src/lib/toBoardWord.ts +12 -0
  991. package/packages/types/src/lib/transpose.ts +15 -0
  992. package/packages/types/src/type-guards/index.ts +10 -0
  993. package/packages/types/src/type-guards/isBingo.ts +8 -0
  994. package/packages/types/src/type-guards/isBoardJson.test.ts +33 -0
  995. package/packages/types/src/type-guards/isBoardJson.ts +23 -0
  996. package/packages/types/src/type-guards/isCellJson.ts +14 -0
  997. package/packages/types/src/type-guards/isError.ts +9 -0
  998. package/packages/types/src/type-guards/isGame.ts +5 -0
  999. package/packages/types/src/type-guards/isLocale.ts +5 -0
  1000. package/packages/types/src/type-guards/isMultiplierBingo.ts +7 -0
  1001. package/packages/types/src/type-guards/isObject.ts +3 -0
  1002. package/packages/types/src/type-guards/isScoreBingo.ts +7 -0
  1003. package/packages/types/src/type-guards/isTileJson.ts +7 -0
  1004. package/packages/types/tsconfig.json +10 -0
  1005. package/packages/word-definitions/README.md +3 -0
  1006. package/packages/word-definitions/build/crawl.d.ts +2 -0
  1007. package/packages/word-definitions/build/crawl.js +20 -0
  1008. package/packages/word-definitions/build/getWordDefinition.d.ts +2 -0
  1009. package/packages/word-definitions/build/getWordDefinition.js +13 -0
  1010. package/packages/word-definitions/build/index.d.ts +5 -0
  1011. package/packages/word-definitions/build/index.js +21 -0
  1012. package/packages/word-definitions/build/languages/english.d.ts +3 -0
  1013. package/packages/word-definitions/build/languages/english.js +38 -0
  1014. package/packages/word-definitions/build/languages/french.d.ts +3 -0
  1015. package/packages/word-definitions/build/languages/french.js +22 -0
  1016. package/packages/word-definitions/build/languages/german.d.ts +3 -0
  1017. package/packages/word-definitions/build/languages/german.js +70 -0
  1018. package/packages/word-definitions/build/languages/index.d.ts +8 -0
  1019. package/packages/word-definitions/build/languages/index.js +44 -0
  1020. package/packages/word-definitions/build/languages/persian.d.ts +3 -0
  1021. package/packages/word-definitions/build/languages/persian.js +23 -0
  1022. package/packages/word-definitions/build/languages/polish.d.ts +3 -0
  1023. package/packages/word-definitions/build/languages/polish.js +24 -0
  1024. package/packages/word-definitions/build/languages/romanian.d.ts +3 -0
  1025. package/packages/word-definitions/build/languages/romanian.js +26 -0
  1026. package/packages/word-definitions/build/languages/spanish.d.ts +3 -0
  1027. package/packages/word-definitions/build/languages/spanish.js +39 -0
  1028. package/packages/word-definitions/build/languages/turkish.d.ts +3 -0
  1029. package/packages/word-definitions/build/languages/turkish.js +31 -0
  1030. package/packages/word-definitions/build/lib/index.d.ts +3 -0
  1031. package/packages/word-definitions/build/lib/index.js +9 -0
  1032. package/packages/word-definitions/build/lib/normalizeDefinition.d.ts +1 -0
  1033. package/packages/word-definitions/build/lib/normalizeDefinition.js +46 -0
  1034. package/packages/word-definitions/build/lib/request.d.ts +6 -0
  1035. package/packages/word-definitions/build/lib/request.js +28 -0
  1036. package/packages/word-definitions/build/lib/unique.d.ts +1 -0
  1037. package/packages/word-definitions/build/lib/unique.js +5 -0
  1038. package/packages/word-definitions/build/parse.d.ts +3 -0
  1039. package/packages/word-definitions/build/parse.js +25 -0
  1040. package/packages/word-definitions/build/types.d.ts +4 -0
  1041. package/packages/word-definitions/build/types.js +2 -0
  1042. package/packages/word-definitions/package.json +43 -0
  1043. package/packages/word-definitions/src/__tests__/expected/de-DE.hm.json +4 -0
  1044. package/packages/word-definitions/src/__tests__/expected/de-DE.ho.json +9 -0
  1045. package/packages/word-definitions/src/__tests__/expected/de-DE.kolla.json +4 -0
  1046. package/packages/word-definitions/src/__tests__/expected/de-DE.vom.json +16 -0
  1047. package/packages/word-definitions/src/__tests__/expected/en-US.awe.json +12 -0
  1048. package/packages/word-definitions/src/__tests__/expected/en-US.oe.json +7 -0
  1049. package/packages/word-definitions/src/__tests__/expected/en-US.pawn.json +16 -0
  1050. package/packages/word-definitions/src/__tests__/expected/en-US.pawnee.json +6 -0
  1051. package/packages/word-definitions/src/__tests__/expected/en-US.pean.json +9 -0
  1052. package/packages/word-definitions/src/__tests__/expected/en-US.wiz.json +10 -0
  1053. package/packages/word-definitions/src/__tests__/expected/en-US.zzzzqq.json +4 -0
  1054. package/packages/word-definitions/src/__tests__/expected/es-ES.corma.json +7 -0
  1055. package/packages/word-definitions/src/__tests__/expected/es-ES.portero.json +9 -0
  1056. package/packages/word-definitions/src/__tests__/expected/ro-RO.aciua.json +7 -0
  1057. package/packages/word-definitions/src/__tests__/expected/tr-TR.lojik.json +4 -0
  1058. package/packages/word-definitions/src/__tests__/input/de-DE.hm.html +873 -0
  1059. package/packages/word-definitions/src/__tests__/input/de-DE.ho.html +1144 -0
  1060. package/packages/word-definitions/src/__tests__/input/de-DE.kolla.html +980 -0
  1061. package/packages/word-definitions/src/__tests__/input/de-DE.vom.html +738 -0
  1062. package/packages/word-definitions/src/__tests__/input/en-US.awe.json +1 -0
  1063. package/packages/word-definitions/src/__tests__/input/en-US.oe.json +1 -0
  1064. package/packages/word-definitions/src/__tests__/input/en-US.pawn.json +1 -0
  1065. package/packages/word-definitions/src/__tests__/input/en-US.pawnee.json +1 -0
  1066. package/packages/word-definitions/src/__tests__/input/en-US.pean.json +1 -0
  1067. package/packages/word-definitions/src/__tests__/input/en-US.wiz.json +1 -0
  1068. package/packages/word-definitions/src/__tests__/input/en-US.zzzzqq.json +1 -0
  1069. package/packages/word-definitions/src/__tests__/input/es-ES.corma.html +762 -0
  1070. package/packages/word-definitions/src/__tests__/input/es-ES.portero.html +764 -0
  1071. package/packages/word-definitions/src/__tests__/input/ro-RO.aciua.html +31 -0
  1072. package/packages/word-definitions/src/__tests__/input/tr-TR.lojik.html +1 -0
  1073. package/packages/word-definitions/src/crawl.ts +19 -0
  1074. package/packages/word-definitions/src/getWordDefinition.ts +11 -0
  1075. package/packages/word-definitions/src/index.ts +5 -0
  1076. package/packages/word-definitions/src/languages/english.ts +53 -0
  1077. package/packages/word-definitions/src/languages/french.ts +22 -0
  1078. package/packages/word-definitions/src/languages/german.ts +88 -0
  1079. package/packages/word-definitions/src/languages/index.ts +8 -0
  1080. package/packages/word-definitions/src/languages/persian.ts +24 -0
  1081. package/packages/word-definitions/src/languages/polish.ts +24 -0
  1082. package/packages/word-definitions/src/languages/romanian.ts +27 -0
  1083. package/packages/word-definitions/src/languages/spanish.ts +42 -0
  1084. package/packages/word-definitions/src/languages/turkish.ts +32 -0
  1085. package/packages/word-definitions/src/lib/index.ts +3 -0
  1086. package/packages/word-definitions/src/lib/normalizeDefinition.ts +53 -0
  1087. package/packages/word-definitions/src/lib/request.ts +30 -0
  1088. package/packages/word-definitions/src/lib/unique.ts +1 -0
  1089. package/packages/word-definitions/src/parse.test.ts +41 -0
  1090. package/packages/word-definitions/src/parse.ts +26 -0
  1091. package/packages/word-definitions/src/types.ts +4 -0
  1092. package/packages/word-definitions/tsconfig.json +10 -0
  1093. package/packages/word-lists/README.md +3 -0
  1094. package/packages/word-lists/build/getWordList.d.ts +2 -0
  1095. package/packages/word-lists/build/getWordList.js +18 -0
  1096. package/packages/word-lists/build/index.d.ts +3 -0
  1097. package/packages/word-lists/build/index.js +21 -0
  1098. package/packages/word-lists/build/languages/english.d.ts +2 -0
  1099. package/packages/word-lists/build/languages/english.js +15 -0
  1100. package/packages/word-lists/build/languages/french.d.ts +1 -0
  1101. package/packages/word-lists/build/languages/french.js +11 -0
  1102. package/packages/word-lists/build/languages/german.d.ts +1 -0
  1103. package/packages/word-lists/build/languages/german.js +10 -0
  1104. package/packages/word-lists/build/languages/index.d.ts +8 -0
  1105. package/packages/word-lists/build/languages/index.js +44 -0
  1106. package/packages/word-lists/build/languages/persian.d.ts +1 -0
  1107. package/packages/word-lists/build/languages/persian.js +10 -0
  1108. package/packages/word-lists/build/languages/polish.d.ts +1 -0
  1109. package/packages/word-lists/build/languages/polish.js +56 -0
  1110. package/packages/word-lists/build/languages/romanian.d.ts +1 -0
  1111. package/packages/word-lists/build/languages/romanian.js +11 -0
  1112. package/packages/word-lists/build/languages/spanish.d.ts +1 -0
  1113. package/packages/word-lists/build/languages/spanish.js +11 -0
  1114. package/packages/word-lists/build/languages/turkish.d.ts +1 -0
  1115. package/packages/word-lists/build/languages/turkish.js +10 -0
  1116. package/packages/word-lists/build/lib/downloadFile.d.ts +1 -0
  1117. package/packages/word-lists/build/lib/downloadFile.js +38 -0
  1118. package/packages/word-lists/build/lib/downloadHtml.d.ts +1 -0
  1119. package/packages/word-lists/build/lib/downloadHtml.js +21 -0
  1120. package/packages/word-lists/build/lib/extractWords.d.ts +1 -0
  1121. package/packages/word-lists/build/lib/extractWords.js +17 -0
  1122. package/packages/word-lists/build/lib/findFirstWordIndex.d.ts +1 -0
  1123. package/packages/word-lists/build/lib/findFirstWordIndex.js +17 -0
  1124. package/packages/word-lists/build/lib/getHash.d.ts +1 -0
  1125. package/packages/word-lists/build/lib/getHash.js +9 -0
  1126. package/packages/word-lists/build/lib/getTempFilepath.d.ts +1 -0
  1127. package/packages/word-lists/build/lib/getTempFilepath.js +15 -0
  1128. package/packages/word-lists/build/lib/getTxtWordList.d.ts +1 -0
  1129. package/packages/word-lists/build/lib/getTxtWordList.js +17 -0
  1130. package/packages/word-lists/build/lib/index.d.ts +10 -0
  1131. package/packages/word-lists/build/lib/index.js +23 -0
  1132. package/packages/word-lists/build/lib/transliterateDiacritics.d.ts +2 -0
  1133. package/packages/word-lists/build/lib/transliterateDiacritics.js +9 -0
  1134. package/packages/word-lists/build/lib/unique.d.ts +1 -0
  1135. package/packages/word-lists/build/lib/unique.js +5 -0
  1136. package/packages/word-lists/build/lib/unzip.d.ts +1 -0
  1137. package/packages/word-lists/build/lib/unzip.js +24 -0
  1138. package/packages/word-lists/package.json +45 -0
  1139. package/packages/word-lists/src/getWordList.ts +17 -0
  1140. package/packages/word-lists/src/index.ts +3 -0
  1141. package/packages/word-lists/src/languages/english.ts +16 -0
  1142. package/packages/word-lists/src/languages/french.ts +11 -0
  1143. package/packages/word-lists/src/languages/german.ts +10 -0
  1144. package/packages/word-lists/src/languages/index.ts +8 -0
  1145. package/packages/word-lists/src/languages/persian.ts +10 -0
  1146. package/packages/word-lists/src/languages/polish.ts +59 -0
  1147. package/packages/word-lists/src/languages/romanian.ts +10 -0
  1148. package/packages/word-lists/src/languages/spanish.ts +10 -0
  1149. package/packages/word-lists/src/languages/turkish.ts +9 -0
  1150. package/packages/word-lists/src/lib/downloadFile.ts +37 -0
  1151. package/packages/word-lists/src/lib/downloadHtml.ts +18 -0
  1152. package/packages/word-lists/src/lib/extractWords.ts +17 -0
  1153. package/packages/word-lists/src/lib/findFirstWordIndex.ts +16 -0
  1154. package/packages/word-lists/src/lib/getHash.ts +3 -0
  1155. package/packages/word-lists/src/lib/getTempFilepath.ts +11 -0
  1156. package/packages/word-lists/src/lib/getTxtWordList.ts +12 -0
  1157. package/packages/word-lists/src/lib/index.ts +10 -0
  1158. package/packages/word-lists/src/lib/transliterateDiacritics.ts +7 -0
  1159. package/packages/word-lists/src/lib/unique.ts +1 -0
  1160. package/packages/word-lists/src/lib/unzip.ts +18 -0
  1161. package/packages/word-lists/tsconfig.json +10 -0
  1162. package/.claude/settings.local.json +0 -38
  1163. package/.github/workflows/build.yml +0 -16
  1164. package/.github/workflows/bunx.yml +0 -66
  1165. package/.github/workflows/deploy.yml +0 -32
  1166. package/.github/workflows/e2e.yml +0 -26
  1167. package/.github/workflows/npx.yml +0 -69
  1168. package/.github/workflows/oxfmt.yml +0 -18
  1169. package/.github/workflows/oxlint.yml +0 -19
  1170. package/.github/workflows/unit.yml +0 -19
  1171. package/playwright-report/index.html +0 -49
  1172. package/test-results/.last-run.json +0 -4
  1173. package/todo.txt +0 -5
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[636],{164:(e,t,r)=>{"use strict";r.d(t,{Y:()=>n});let n=(0,r(4811).Z0)({initialState:{word:null},name:"hoveredWord",reducers:{set:(e,t)=>{e.word=t.payload},clear:e=>{e.word=null}}})},166:(e,t,r)=>{"use strict";r.d(t,{Y:()=>l});var n=r(4811),i=r(6009),o=r(8502);let c={isLoading:!1,lastSolvedParameters:{board:r(1754)._},invalidWords:[],query:"",sort:{column:o.mh.Word,direction:o.UE.Ascending},validWords:[]},l=(0,n.Z0)({initialState:c,name:"verify",reducers:{submit:e=>({...e,isLoading:!0}),changeQuery:(e,t)=>({...e,query:t.payload}),submitFailure:e=>({...e,isLoading:!1}),sort:(e,t)=>({...e,sort:(0,i.O)(e.sort,t.payload)}),submitSuccess:(e,t)=>{let{board:r,invalidWords:n,validWords:i}=t.payload;return{...e,isLoading:!1,lastSolvedParameters:{board:r},invalidWords:n,validWords:i}}}})},177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.romanianSuperScrabble=t.romanianScrabble=void 0;let n=r(9604),i=r(6706);t.romanianScrabble=new n.Config({...i.scrabble,locale:n.Locale.RO_RO,tiles:[{character:"a",count:11,score:1},{character:"b",count:2,score:9},{character:"c",count:5,score:1},{character:"d",count:4,score:2},{character:"e",count:9,score:1},{character:"f",count:2,score:8},{character:"g",count:2,score:9},{character:"h",count:1,score:10},{character:"i",count:10,score:1},{character:"j",count:1,score:10},{character:"l",count:4,score:1},{character:"m",count:3,score:4},{character:"n",count:6,score:1},{character:"o",count:5,score:1},{character:"p",count:4,score:2},{character:"r",count:7,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:8},{character:"x",count:1,score:10},{character:"z",count:1,score:10}]}),t.romanianSuperScrabble=new n.Config({...i.superScrabble,locale:n.Locale.RO_RO,tiles:[{character:"a",count:22,score:1},{character:"b",count:4,score:9},{character:"c",count:10,score:1},{character:"d",count:8,score:2},{character:"e",count:18,score:1},{character:"f",count:4,score:8},{character:"g",count:4,score:9},{character:"h",count:2,score:10},{character:"i",count:20,score:1},{character:"j",count:2,score:10},{character:"l",count:8,score:1},{character:"m",count:6,score:4},{character:"n",count:12,score:1},{character:"o",count:10,score:1},{character:"p",count:8,score:2},{character:"r",count:14,score:1},{character:"s",count:10,score:1},{character:"t",count:14,score:1},{character:"u",count:12,score:1},{character:"v",count:4,score:8},{character:"x",count:2,score:10},{character:"z",count:2,score:10}]})},443:(e,t,r)=>{"use strict";r.d(t,{g:()=>o});var n=r(4811);let i=[],o=(0,n.Z0)({initialState:i,name:"cellFilters",reducers:{toggle:(e,t)=>{var r;let n,i,{x:o,y:c}=t.payload,l=e.find(e=>e.x===o&&e.y===c),a=!!l,u=l?(r=l.type,i=((n=["include","exclude",null]).indexOf(r)+1)%n.length,n[i]):"include";return null===u?e.filter(e=>e.x!==o||e.y!==c):a?e.map(e=>e.x===o&&e.y===c?{...e,type:u}:e):[...e,{...t.payload,type:u}]},cancel:(e,t)=>{let{x:r,y:n}=t.payload;return e.filter(e=>e.x!==r||e.y!==n)},removeCells:(e,t)=>{let r=t.payload;return e.filter(e=>r.every(t=>t.x!==e.x||t.y!==e.y))},reset:()=>i}})},457:(e,t,r)=>{"use strict";let n,i,o;r.r(t),r.d(t,{default:()=>t2});var c,l=r(6029),a=r(7226),u=r(5669),s=r.n(u),p=r(9276),y=r(5227),f=r(4811),d=function(e){return"@@redux-saga/"+e},h=d("CANCEL_PROMISE"),m=d("CHANNEL_END"),R=d("IO"),C=d("MATCH"),O=d("MULTICAST"),_=d("SAGA_ACTION"),g=d("SELF_CANCELLATION"),A=d("TASK"),v=d("TASK_CANCEL"),S=d("TERMINATE"),x=d("LOCATION");function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}var N=function(e){return null==e},E=function(e){return null!=e},B=function(e){return"function"==typeof e},U=function(e){return"string"==typeof e},T=Array.isArray,w=function(e){return e&&B(e.then)},H=function(e){return e&&B(e.next)&&B(e.throw)},W=function(e){return e&&(U(e)||L(e)||B(e)||T(e)&&e.every(W))},k=function(e){return e&&B(e.take)&&B(e.close)},D=function(e){return B(e)&&e.hasOwnProperty("toString")},L=function(e){return!!e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},M=function(){return!0},P=function(){},j=function(e){return e},I=function(e,t){b(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(function(r){e[r]=t[r]})},z=function(e,t){var r;return(r=[]).concat.apply(r,t.map(e))};function F(e,t){var r=e.indexOf(t);r>=0&&e.splice(r,1)}var q=function(e){throw e},G=function(e){return{value:e,done:!0}};function J(e,t,r){void 0===t&&(t=q),void 0===r&&(r="iterator");var n={meta:{name:r},next:e,throw:t,return:G,isSagaIterator:!0};return"u">typeof Symbol&&(n[Symbol.iterator]=function(){return n}),n}function V(e,t){var r=t.sagaStack;console.error(e),console.error(r)}var $=function(e){return Array.apply(null,Array(e))},Y=function(e){return e===S},K=function(e){return e===v},X=function(e){return Y(e)||K(e)};function Z(e,t){var r,n=Object.keys(e),i=n.length,o=0,c=T(e)?$(i):{},l={};return n.forEach(function(e){var n=function(n,l){r||(l||X(n)?(t.cancel(),t(n,l)):(c[e]=n,++o===i&&(r=!0,t(c))))};n.cancel=P,l[e]=n}),t.cancel=function(){r||(r=!0,n.forEach(function(e){return l[e].cancel()}))},l}function Q(e){return{name:e.name||"anonymous",location:e[x]}}function ee(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}var et="TAKE",er="CALL",en="FORK",ei="CANCEL",eo="SELECT",ec=function(e,t){var r;return(r={})[R]=!0,r.combinator=!1,r.type=e,r.payload=t,r};function el(e,t){var r;return(void 0===e&&(e="*"),W(e))?(E(t)&&console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"),ec(et,{pattern:e})):k(r=e)&&r[O]&&E(t)&&W(t)?ec(et,{channel:e,pattern:t}):k(e)?(E(t)&&console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."),ec(et,{channel:e})):void 0}function ea(e,t){return N(t)&&(t=e,e=void 0),ec("PUT",{channel:e,action:t})}function eu(e,t){var r,n=null;return B(e)?r=e:(T(e)?(n=e[0],r=e[1]):(n=e.context,r=e.fn),n&&U(r)&&B(n[r])&&(r=n[r])),{context:n,fn:r,args:t}}function es(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return ec(er,eu(e,r))}function ep(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return ec(en,eu(e,r))}function ey(e){for(var t,r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return t=ep.apply(void 0,[e].concat(n)),ec(en,b({},t.payload,{detached:!0}))}function ef(e){void 0===e&&(e=j);for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return ec(eo,{selector:e,args:r})}var ed=es.bind(null,function(e,t){void 0===t&&(t=!0);var r,n=new Promise(function(n){r=setTimeout(n,Math.min(0x7fffffff,e),t)});return n[h]=function(){clearTimeout(r)},n}),eh=[],em=0;function eR(e){eh.push(e),em||(em++,eO())}function eC(e){try{return em++,e()}finally{eO()}}function eO(){var e;for(em--;!em&&void 0!==(e=eh.shift());){var t=e;try{em++,t()}finally{em--}}}var e_=function(e){return function(t){return e.some(function(e){return ex(e)(t)})}},eg=function(e){return function(t){return e(t)}},eA=function(e){return function(t){return t.type===String(e)}},ev=function(e){return function(t){return t.type===e}},eS=function(){return M};function ex(e){var t="*"===e?eS:U(e)?eA:T(e)?e_:D(e)?eA:B(e)?eg:L(e)?ev:null;if(null===t)throw Error("invalid pattern: "+e);return t(e)}var eb={type:m},eN=function(e){return e&&e.type===m};function eE(){var e,t,r,n,i,o,c=(t=!1,n=r=[],i=function(){n===r&&(n=r.slice())},o=function(){t=!0;var e=r=n;n=[],e.forEach(function(e){e(eb)})},(e={})[O]=!0,e.put=function(e){if(!t){if(eN(e))return void o();for(var i=r=n,c=0,l=i.length;c<l;c++){var a=i[c];a[C](e)&&(a.cancel(),a(e))}}},e.take=function(e,r){var o,c;(void 0===r&&(r=eS),t)?e(eb):(e[C]=r,i(),n.push(e),o=function(){i(),F(n,e)},c=!1,e.cancel=function(){c||(c=!0,o())})},e.close=o,e),l=c.put;return c.put=function(e){e[_]?l(e):eR(function(){l(e)})},c}function eB(e,t){var r=e[h];B(r)&&(t.cancel=r),e.then(t,function(e){t(e,!0)})}var eU=0,eT=function(){return++eU};function ew(e){e.isRunning()&&e.cancel()}var eH=((c={})[et]=function(e,t,r){var n=t.channel,i=void 0===n?e.channel:n,o=t.pattern,c=t.maybe,l=function(e){e instanceof Error?r(e,!0):eN(e)&&!c?r(S):r(e)};try{i.take(l,E(o)?ex(o):null)}catch(e){r(e,!0);return}r.cancel=l.cancel},c.PUT=function(e,t,r){var n=t.channel,i=t.action,o=t.resolve;eR(function(){var t;try{t=(n?n.put:e.dispatch)(i)}catch(e){r(e,!0);return}o&&w(t)?eB(t,r):r(t)})},c.ALL=function(e,t,r,n){var i=n.digestEffect,o=eU,c=Object.keys(t);if(0===c.length)return void r(T(t)?[]:{});var l=Z(t,r);c.forEach(function(e){i(t[e],o,l[e],e)})},c.RACE=function(e,t,r,n){var i=n.digestEffect,o=eU,c=Object.keys(t),l=T(t)?$(c.length):{},a={},u=!1;c.forEach(function(e){var t=function(t,n){u||(n||X(t)?(r.cancel(),r(t,n)):(r.cancel(),u=!0,l[e]=t,r(l)))};t.cancel=P,a[e]=t}),r.cancel=function(){u||(u=!0,c.forEach(function(e){return a[e].cancel()}))},c.forEach(function(e){u||i(t[e],o,a[e],e)})},c[er]=function(e,t,r,n){var i=t.context,o=t.fn,c=t.args,l=n.task;try{var a=o.apply(i,c);if(w(a))return void eB(a,r);if(H(a))return void eI(e,a,l.context,eU,Q(o),!1,r);r(a)}catch(e){r(e,!0)}},c.CPS=function(e,t,r){var n=t.context,i=t.fn,o=t.args;try{var c=function(e,t){N(e)?r(t):r(e,!0)};i.apply(n,o.concat(c)),c.cancel&&(r.cancel=c.cancel)}catch(e){r(e,!0)}},c[en]=function(e,t,r,n){var i=t.context,o=t.fn,c=t.args,l=t.detached,a=n.task,u=function(e){var t=e.context,r=e.fn,n=e.args;try{var i=r.apply(t,n);if(H(i))return i;var o=!1;return J(function(e){return o?{value:e,done:!0}:(o=!0,{value:i,done:!w(i)})})}catch(e){return J(function(){throw e})}}({context:i,fn:o,args:c}),s=u.isSagaIterator?{name:u.meta.name}:Q(o);eC(function(){var t=eI(e,u,a.context,eU,s,l,void 0);l?r(t):t.isRunning()?(a.queue.addTask(t),r(t)):t.isAborted()?a.queue.abort(t.error()):r(t)})},c.JOIN=function(e,t,r,n){var i=n.task,o=function(e,t){if(e.isRunning()){var r={task:i,cb:t};t.cancel=function(){e.isRunning()&&F(e.joiners,r)},e.joiners.push(r)}else e.isAborted()?t(e.error(),!0):t(e.result())};if(T(t)){if(0===t.length)return void r([]);var c=Z(t,r);t.forEach(function(e,t){o(e,c[t])})}else o(t,r)},c[ei]=function(e,t,r,n){var i=n.task;t===g?ew(i):T(t)?t.forEach(ew):ew(t),r()},c[eo]=function(e,t,r){var n=t.selector,i=t.args;try{var o=n.apply(void 0,[e.getState()].concat(i));r(o)}catch(e){r(e,!0)}},c.ACTION_CHANNEL=function(e,t,r){var n,i,o,c,l,a,u,s,p,y,f,d=t.pattern,h=(void 0===(p=t.buffer)&&(n=void 0,n=10,i=Array(n),o=0,c=0,l=0,a=function(e){i[c]=e,c=(c+1)%n,o++},u=function(){if(0!=o){var e=i[l];return i[l]=null,o--,l=(l+1)%n,e}},s=function(){for(var e=[];o;)e.push(u());return e},p={isEmpty:function(){return 0==o},put:function(e){if(o<n)a(e);else{var t;t=2*n,o=(i=s()).length,c=i.length,l=0,i.length=t,n=t,a(e)}},take:u,flush:s}),y=!1,f=[],{take:function(e){y&&p.isEmpty()?e(eb):p.isEmpty()?(f.push(e),e.cancel=function(){F(f,e)}):e(p.take())},put:function(e){if(!y){if(0===f.length)return p.put(e);f.shift()(e)}},flush:function(e){e(y&&p.isEmpty()?eb:p.flush())},close:function(){if(!y){y=!0;var e=f;f=[];for(var t=0,r=e.length;t<r;t++)(0,e[t])(eb)}}}),m=ex(d),R=function(t){eN(t)||e.channel.take(R,m),h.put(t)},C=h.close;h.close=function(){R.cancel(),C()},e.channel.take(R,m),r(h)},c.CANCELLED=function(e,t,r,n){r(n.task.isCancelled())},c.FLUSH=function(e,t,r){t.flush(r)},c.GET_CONTEXT=function(e,t,r,n){r(n.task.context[t])},c.SET_CONTEXT=function(e,t,r,n){I(n.task.context,t),r()},c);function eW(e){var t=e.name,r=e.location;return r?t+" "+(r.fileName+"?")+r.lineNumber:t}var ek=null,eD=[],eL=function(e){e.crashedEffect=ek,eD.push(e)},eM=function(){ek=null,eD.length=0},eP=function(e){ek=e},ej=function(){var e,t,r=eD[0],n=(function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n})(eD).slice(1),i=r.crashedEffect?(e=r.crashedEffect[x])?e.code+" "+e.fileName+"?"+e.lineNumber:"":null;return["The above error occurred in task "+eW(r.meta)+(i?" \n when executing effect "+i:"")].concat(n.map(function(e){return" created by "+eW(e.meta)}),[!(t=z(function(e){return e.cancelledTasks},eD)).length?"":["Tasks cancelled due to error:"].concat(t).join("\n")]).join("\n")};function eI(e,t,r,n,i,o,c){var l,a=e.finalizeRunEffect(function(t,r,n){w(t)?eB(t,n):H(t)?eI(e,t,s.context,r,i,!1,n):t&&t[R]?(0,eH[t.type])(e,t.payload,n,p):n(t)});d.cancel=P;var u={meta:i,cancel:function(){0===u.status&&(u.status=1,d(v))},status:0},s=function(e,t,r,n,i,o,c){void 0===c&&(c=P);var l,a,u,s=0,p=null,y=[],f=Object.create(r),d=function(e,t,r){var n,i=[],o=!1;function c(e){t(),a(),r(e,!0)}function l(t){i.push(t),t.cont=function(l,a){!o&&(F(i,t),t.cont=P,a?c(l):(t===e&&(n=l),i.length||(o=!0,r(n))))}}function a(){o||(o=!0,i.forEach(function(e){e.cont=P,e.cancel()}),i=[])}return l(e),{addTask:l,cancelAll:a,abort:c,getTasks:function(){return i}}}(t,function(){y.push.apply(y,d.getTasks().map(function(e){return e.meta.name}))},h);function h(t,r){if(r){if(s=2,eL({meta:i,cancelledTasks:y}),m.isRoot){var n=ej();eM(),e.onError(t,{sagaStack:n})}u=t,p&&p.reject(t)}else t===v?s=1:1!==s&&(s=3),a=t,p&&p.resolve(t);m.cont(t,r),m.joiners.forEach(function(e){e.cb(t,r)}),m.joiners=null}var m=((l={})[A]=!0,l.id=n,l.meta=i,l.isRoot=o,l.context=f,l.joiners=[],l.queue=d,l.cancel=function(){0===s&&(s=1,d.cancelAll(),h(v,!1))},l.cont=c,l.end=h,l.setContext=function(e){I(f,e)},l.toPromise=function(){var e;return p?p.promise:((e={}).promise=new Promise(function(t,r){e.resolve=t,e.reject=r}),p=e,2===s?p.reject(u):0!==s&&p.resolve(a),p.promise)},l.isRunning=function(){return 0===s},l.isCancelled=function(){return 1===s||0===s&&1===t.status},l.isAborted=function(){return 2===s},l.result=function(){return a},l.error=function(){return u},l);return m}(e,u,r,n,i,o,c),p={task:s,digestEffect:h};c&&(c.cancel=s.cancel);var y=!1,f=0;return d(),s;function d(e,r){var i;if(y&&(f===em||f>0&&em>f)){K(e)&&(u.status=1,d.cancel()),l={arg:e,isErr:r};return}try{do{i=!1;var o=void 0;if(r?(o=t.throw(e),eM()):K(e)?(u.status=1,d.cancel(),o=B(t.return)?t.return(v):{done:!0,value:v}):o=Y(e)?B(t.return)?t.return():{done:!0}:t.next(e),o.done){1!==u.status&&(u.status=3),u.cont(o.value);return}l=null;var c=y,a=f;try{y=!0,f=em,h(o.value,n,d)}finally{y=c,f=a}if(!l)return;e=l.arg,r=l.isErr,l=null,i=!0}while(i)}catch(e){if(1===u.status)throw e;u.status=2,u.cont(e,!0)}}function h(t,r,n,i){void 0===i&&(i="");var o,c=eT();function l(r,i){o||(o=!0,n.cancel=P,e.sagaMonitor&&(i?e.sagaMonitor.effectRejected(c,r):e.sagaMonitor.effectResolved(c,r)),i&&eP(t),n(r,i))}e.sagaMonitor&&e.sagaMonitor.effectTriggered({effectId:c,parentEffectId:r,label:i,effect:t}),l.cancel=P,n.cancel=function(){!o&&(o=!0,l.cancel(),l.cancel=P,e.sagaMonitor&&e.sagaMonitor.effectCancelled(c))},a(t,c,l)}}function ez(e,t){for(var r,n=e.channel,i=void 0===n?eE():n,o=e.dispatch,c=e.getState,l=e.context,a=void 0===l?{}:l,u=e.sagaMonitor,s=e.effectMiddlewares,p=e.onError,y=arguments.length,f=Array(y>2?y-2:0),d=2;d<y;d++)f[d-2]=arguments[d];var h=t.apply(void 0,f),m=eT();if(u&&(u.rootSagaStarted=u.rootSagaStarted||P,u.effectTriggered=u.effectTriggered||P,u.effectResolved=u.effectResolved||P,u.effectRejected=u.effectRejected||P,u.effectCancelled=u.effectCancelled||P,u.actionDispatched=u.actionDispatched||P,u.rootSagaStarted({effectId:m,saga:t,args:f})),s){var R=ee.apply(void 0,s);r=function(e){return function(t,r,n){return R(function(t){return e(t,r,n)})(t)}}}else r=j;var C={channel:i,dispatch:function(e){return o(Object.defineProperty(e,_,{value:!0}))},getState:c,sagaMonitor:u,onError:void 0===p?V:p,finalizeRunEffect:r};return eC(function(){var e=eI(C,h,a,m,Q(t),!0,void 0);return u&&u.effectResolved(m,e),e})}var eF=["context","channel","sagaMonitor"],eq=r(6413);let eG=(0,f.Z0)({initialState:{isHydrated:!1,version:""},name:"app",reducers:{hydrated:e=>{e.isHydrated=!0}},extraReducers:e=>{e.addCase(eq.n,(e,t)=>{e.version=t.payload.version})}});var eJ=r(6303),eV=r(443),e$=r(7493),eY=r(6360),eK=r(164);let eX=(0,f.Z0)({initialState:{translations:{}},name:"i18n",reducers:{loaded:(e,t)=>{e.translations[t.payload.locale]=t.payload.translations}}});var eZ=r(2314),eQ=r(3203),e1=r(1790),e0=r(9604),e2=function(e){return{done:!0,value:e}},e3={};function e4(e){return k(e)?"channel":D(e)?String(e):B(e)?e.name:String(e)}function e6(e,t,r){var n,i,o,c=t;function l(t,r){if(c===e3)return e2(t);if(r&&!i)throw c=e3,r;n&&n(t);var l=r?e[i](r):e[c]();return c=l.nextState,o=l.effect,n=l.stateUpdater,i=l.errorState,c===e3?e2(t):o}return J(l,function(e){return l(null,e)},r)}function e5(e,t){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];var o,c={done:!1,value:el(e)},l=function(e){return o=e};return e6({q1:function(){return{nextState:"q2",effect:c,stateUpdater:l}},q2:function(){var e;return{nextState:"q1",effect:(e=o,{done:!1,value:ep.apply(void 0,[t].concat(n,[e]))})}}},"q1","takeEvery("+e4(e)+", "+t.name+")")}function e7(e,t){for(var r,n,i=arguments.length,o=Array(i>2?i-2:0),c=2;c<i;c++)o[c-2]=arguments[c];var l={done:!1,value:el(e)},a=function(e){return{done:!1,value:ep.apply(void 0,[t].concat(o,[e]))}},u=function(e){var t;return{done:!1,value:(void 0===(t=e)&&(t=g),ec(ei,t))}},s=function(e){return r=e},p=function(e){return n=e};return e6({q1:function(){return{nextState:"q2",effect:l,stateUpdater:p}},q2:function(){return r?{nextState:"q3",effect:u(r)}:{nextState:"q1",effect:a(n),stateUpdater:s}},q3:function(){return{nextState:"q1",effect:a(n),stateUpdater:s}}},"q1","takeLatest("+e4(e)+", "+t.name+")")}function e9(e,t){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return ep.apply(void 0,[e5,e,t].concat(n))}function e8(e,t){for(var r=arguments.length,n=Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];return ep.apply(void 0,[e7,e,t].concat(n))}var te=r(1734),tt=r(4740);let tr=(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]);var tn=r(7133);let ti=async(e,t)=>{let r;try{r=await window.fetch(e,t)}catch(t){let e=(0,e0.isError)(t)?t.message:"Unknown error";throw Error(`Network error: ${e}`)}if(r.ok)return r;{let e=await r.json();if((0,e0.isError)(e))throw Error(e.message)}throw Error(`HTTP ${r.status}: ${r.statusText}`)},to=async(e,t)=>{let r=new Headers(t?.headers);return r.set("Content-Type","application/json"),(await ti(e,{...t,headers:r})).json()},tc=async(e,t)=>(await to(`/api/dictionary/${e}/${encodeURIComponent(t)}`)).map(e0.WordDefinition.fromJson);function tl(e){return to("/api/visit",{method:"PUT",body:JSON.stringify(e)})}let ta=0,tu=0,ts=Promise.resolve(void 0),tp=new Map;async function ty(e){let t=await th({id:++ta,type:"verify",payload:e});return"answered"===t.outcome?t.data:void 0}function tf(e){tR()?.postMessage({id:++ta,locale:e,type:"prefetch"})}async function td(e,t){let r=await th({id:e,type:"solve",payload:t});return"superseded"===r.outcome&&e!==tu?ts:"answered"===r.outcome?r.data:void 0}function th(e){let t=tR();return t?new Promise(r=>{let n=setTimeout(()=>tm({id:e.id,outcome:"unavailable"}),3e4);tp.set(e.id,{resolve:r,timeout:n}),t.postMessage(e)}):Promise.resolve({id:e.id,outcome:"unavailable"})}function tm(e){let t=tp.get(e.id);t&&(tp.delete(e.id),clearTimeout(t.timeout),t.resolve(e))}function tR(){if("u">typeof Worker&&"caches"in globalThis)return n||((n=new Worker(r.tu(new URL(r.p+r.u(256),r.b)))).addEventListener("message",e=>{let{data:t}=e;return tm(t)}),n.addEventListener("error",tC)),n}function tC(){for(let e of tp.keys())tm({id:e,outcome:"unavailable"});n?.terminate(),n=void 0}let tO=async e=>{let t,r,{board:n,characters:i,game:o,locale:c}=e,l={board:n,characters:i,game:o,locale:c},a=await (r=td(t=++ta,l),tu=t,ts=r,r)??await to("/api/solve",{method:"POST",body:JSON.stringify(l)}),u=e0.Board.fromJson(n);return a.map(e=>e0.Result.fromJson(e,u))},t_=async e=>{let{board:t,game:r,locale:n}=e,i={board:t,game:r,locale:n};return await ty(i)??to("/api/verify",{method:"POST",body:JSON.stringify(i)})};var tg=r(2359),tA=r(1855),tv=r(4264),tS=r(5035),tx=r(7343),tb=r(1838),tN=r(5044),tE=r(2214),tB=r(8390),tU=r(4165);let tT=()=>{if(!globalThis.navigator)return e0.Locale.EN_US;let e=globalThis.navigator.languages;if(e.includes("pl")||e.includes("pl-PL"))return e0.Locale.PL_PL;if(e.includes("en-GB"))return e0.Locale.EN_GB;if(e.includes("fa")||e.includes("fa-IR"))return e0.Locale.FA_IR;if(e.includes("fr-FR"))return e0.Locale.FR_FR;if(e.includes("ro")||e.includes("ro-RO"))return e0.Locale.RO_RO;let t=Object.values(e0.Locale),r=t.find(e=>globalThis.navigator.language===String(e));return r||(t.find(e=>globalThis.navigator.language===e.substring(0,2))??e0.Locale.EN_US)};var tw=r(3876),tH=r(166);let tW=(i=[],o=e=>i.find(t=>tr(t.parameters,e))?.result,Object.assign(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let n=o(t);if(n)return n;let c=tc(...t);return c instanceof Promise&&c.catch(()=>{let e;(e=i.findIndex(e=>tr(e.parameters,t)))>=0&&i.splice(e,1)}),i.push({parameters:t,result:c}),c},{hasCache:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return!!o(t)}}));function*tk(e){let{payload:t}=e;(yield ef(e=>(0,tv.f)(e,t)))&&(yield ea(eV.g.actions.cancel(t))),yield ea(eQ.N.actions.changeResultCandidate(null)),yield ea(eK.Y.actions.clear()),yield ea(tH.Y.actions.submit())}function*tD(){yield ea(eQ.N.actions.changeResultCandidate(null))}function*tL(e){let{payload:t}=e,r=yield ef(tB.u2),n=yield ef(tB.yI);yield ea(eJ.h.actions.applyResult(t)),"never"===n?yield ea(eV.g.actions.removeCells(t.cells)):yield ea(eV.g.actions.reset()),yield ea(eZ.o.actions.removeTiles(t.tiles)),yield ea(eZ.o.actions.groupTiles(r)),yield ea(tH.Y.actions.submit())}function*tM(){(yield ef(tN.x)).length>0?yield ea(tw.A.actions.submit()):yield ea(eQ.N.actions.reset()),yield ea(eQ.N.actions.reset()),yield ea(eK.Y.actions.clear()),yield*tZ(),yield ea(tH.Y.actions.submit())}function*tP(){let{input:e}=yield ef(tS.Tx),t=yield ef(tB.JV);tW.hasCache(t,e)||(yield ed(150));try{let r=yield es(tW,t,e),{input:n}=yield ef(tS.Tx);e===n&&(yield ea(e$.z.actions.submitSuccess(r)))}catch(r){let{input:t}=yield ef(tS.Tx);e===t&&(yield ea(e$.z.actions.submitFailure(r)))}}function*tj(e){let{payload:t}=e;try{yield*function*(e){let t=globalThis.matchMedia?.("(hover: none)").matches??!1,r={game:tU.n.game,inputMode:t?"touchscreen":"keyboard",locale:tT(),...tb.L.getSettings()};if(!(0,e1.hasConfig)(r.game,r.locale)){let e=Object.values(e1.languages).find(e=>e.locale===r.locale);r.game=e?.game??tU.n.game,r.locale=e?.locale??tT()}yield ea(tE.s.actions.init(r)),yield*function*(e,t){let r=tb.L.getTranslations(e,t);r&&(yield ea(eX.actions.loaded({locale:e,translations:r})))}(r.locale,e);let n=yield ef(tB.zg),i=yield ef(tA.p),o=tb.L.getBoard();o?yield ea(eJ.h.actions.init(o)):(i.rows.length!==n.boardHeight||i.rows[0].length!==n.boardWidth)&&(yield ea(eJ.h.actions.init(e0.Board.create(n.boardWidth,n.boardHeight))));let c=yield ef(tN.i),l=tb.L.getRack();l?yield ea(eZ.o.actions.init(l)):c.length!==n.rackSize&&(yield ea(eZ.o.actions.init(Array(n.rackSize).fill(null))))}(t.version)}catch{}finally{yield ea(eG.actions.hydrated())}let r=yield ef(tA.p),n=yield ef(tB.JV);yield ey(tz),yield ey(tF,n),yield ey(tq),yield ey(tI),r.isEmpty()||(yield*tZ(),yield ea(tH.Y.actions.submit()))}function*tI(){yield es(tn.cH);let e=yield ef(tB.JV),t=yield ef(tB.Vv);try{yield es(tl,{game:t,locale:e,referrer:document.referrer,url:location.href})}catch{}}function*tz(){yield es(tn.j7);let e=yield ef(tB.JV);yield es(tf,e)}function*tF(e){if((yield ef(tx.W))[e])return;let t=yield es(tt.Z,e);if(yield ea(eX.actions.loaded({locale:e,translations:t})),e===(yield ef(tB.JV))){let r=yield ef(tg.f);tb.L.setTranslations(e,r,t)}}function*tq(){for(let e of(yield es(tn.cH),Object.values(e0.Locale)))yield ey(tF,e)}function*tG(){let e=yield ef(tB.zg);yield ea(eJ.h.actions.init(e0.Board.create(e.boardWidth,e.boardHeight))),yield ea(eV.g.actions.reset()),yield ea(e$.z.actions.reset()),yield ea(eK.Y.actions.clear()),yield ea(eZ.o.actions.reset()),yield ea(eQ.N.actions.reset()),yield ea(tw.A.actions.reset()),yield ea(tH.Y.actions.submit())}function*tJ(e){let{payload:t}=e;yield ey(tF,t),yield ey(tf,t),yield*function*(e){let t=yield ef(tx.W),r=yield ef(tg.f);t[e]&&tb.L.setTranslations(e,r,t[e])}(t);let r=yield ef(tB.Vv);if(!(0,e1.hasConfig)(r,t)){let e=Object.values(e1.languages).find(e=>e.locale===t);e&&(yield ea(tE.s.actions.changeGame(e.game)))}(yield ef(tN.x)).length>0?yield ea(tw.A.actions.submit()):yield ea(eQ.N.actions.reset()),yield ea(e$.z.actions.reset()),yield ea(eK.Y.actions.clear()),yield ea(eQ.N.actions.changeResultCandidate(null)),yield ea(tH.Y.actions.submit())}function*tV(e){let{payload:t}=e;t&&(yield ea(eK.Y.actions.clear()),yield*tY(t.words))}function*t$(e){let{payload:t}=e;if(!t)return;yield ea(eQ.N.actions.changeResultCandidate(null));let r=(yield ef(tA.p)).getCollidingWords(t);yield*tY([t.word,...r.map(e=>e.word)])}function*tY(e){let t=yield ef(tB.JV),r=Array.from(new Set(e)).join(te.x[t].separator);tW.hasCache(t,r)||(yield ed(150)),yield ea(e$.z.actions.changeInput(r)),yield ea(e$.z.actions.submit())}function*tK(){let e=yield ef(tA.p),{config:t}=yield ef(tB.zg),r=yield ef(tB.JV),n=yield ef(tN.x);if(0===n.length){yield ea(tw.A.actions.submitSuccess({board:e,characters:n})),yield ea(eQ.N.actions.changeResults([]));return}try{let i=yield es(tO,{board:e.toJson(),characters:n,game:t.game,locale:r});yield ea(eQ.N.actions.changeResults(i)),yield ea(tw.A.actions.submitSuccess({board:e,characters:n}))}catch(e){yield ea(eQ.N.actions.changeResults([])),yield ea(tw.A.actions.submitFailure(e))}}function*tX(){yield ed(150);let e=yield ef(tA.p),{config:t}=yield ef(tB.zg),r=yield ef(tB.JV);try{let{invalidWords:n,validWords:i}=yield es(t_,{board:e.toJson(),game:t.game,locale:r});yield ea(tH.Y.actions.submitSuccess({board:e,invalidWords:n,validWords:i}))}catch(e){yield ea(tH.Y.actions.submitFailure())}}function*tZ(){let{config:e}=yield ef(tB.zg),t=yield ef(tN.i);if(e.rackSize>t.length){let r=Math.abs(e.rackSize-t.length);yield ea(eZ.o.actions.init([...t,...Array(r).fill(null)]))}else if(e.rackSize<t.length){let r=t.filter(Boolean).slice(0,e.rackSize),n=Math.abs(e.rackSize-r.length),i=yield ef(tB.u2);yield ea(eZ.o.actions.init([...r,...Array(n).fill(null)])),yield ea(eZ.o.actions.groupTiles(i))}}let tQ=function(){var e,t={},r=t.context,n=void 0===r?{}:r,i=t.channel,o=void 0===i?eE():i,c=t.sagaMonitor,l=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(t,eF);function a(t){var r=t.getState,i=t.dispatch;return e=ez.bind(null,b({},l,{context:n,channel:o,dispatch:i,getState:r,sagaMonitor:c})),function(e){return function(t){c&&c.actionDispatched&&c.actionDispatched(t);var r=e(t);return o.put(t),r}}}return a.run=function(){return e.apply(void 0,arguments)},a.setContext=function(e){I(n,e)},a}(),t1=(0,f.U1)({reducer:{app:eG.reducer,board:eJ.h.reducer,cellFilters:eV.g.reducer,dictionary:e$.z.reducer,hoveredTile:eY.w.reducer,hoveredWord:eK.Y.reducer,i18n:eX.reducer,rack:eZ.o.reducer,results:eQ.N.reducer,settings:tE.s.reducer,solve:tw.A.reducer,verify:tH.Y.reducer},middleware:e=>e({serializableCheck:!1}).concat([tQ])});tQ.run(function*(){yield e9(eJ.h.actions.changeCellValue.type,tk),yield e9([eZ.o.actions.changeCharacter.type,eZ.o.actions.changeCharacters.type],tD),yield e9(eQ.N.actions.applyResult.type,tL),yield e8(eQ.N.actions.changeResultCandidate.type,tV),yield e8([eK.Y.actions.set.type,eK.Y.actions.clear.type],t$),yield e9(tE.s.actions.changeGame.type,tM),yield e9(tE.s.actions.changeLocale.type,tJ),yield e8(e$.z.actions.submit.type,tP),yield e8(eq.n.type,tj),yield e8(eq.c.type,tG),yield e8(tw.A.actions.submit.type,tK),yield e8(tH.Y.actions.submit.type,tX)}),r(2484);let t0="Scrabble Solver 2 - Board Solver & Word Finder",t2=e=>{let{Component:t,pageProps:r,router:n}=e,i="/"===n.pathname;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(s(),{children:[(0,l.jsx)("title",{children:t0}),(0,l.jsx)("meta",{charSet:"utf-8"}),(0,l.jsx)("meta",{content:"Kamil Mielnik",name:"author"}),(0,l.jsx)("meta",{content:y.b2,name:"description"}),i?(0,l.jsx)("link",{href:`${y.W6}/`,rel:"canonical"}):(0,l.jsx)("meta",{content:"noindex",name:"robots"}),(0,l.jsx)("meta",{content:"width=device-width, initial-scale=1.0",name:"viewport"}),(0,l.jsx)("meta",{content:"Scrabble Solver",property:"og:site_name"}),(0,l.jsx)("meta",{content:t0,property:"og:title"}),(0,l.jsx)("meta",{content:y.b2,property:"og:description"}),(0,l.jsx)("meta",{content:"website",property:"og:type"}),(0,l.jsx)("meta",{content:`${y.W6}/`,property:"og:url"}),(0,l.jsx)("meta",{content:"en_US",property:"og:locale"}),(0,l.jsx)("meta",{content:`${y.W6}/og.png`,property:"og:image"}),(0,l.jsx)("meta",{content:"image/png",property:"og:image:type"}),(0,l.jsx)("meta",{content:"1200",property:"og:image:width"}),(0,l.jsx)("meta",{content:"630",property:"og:image:height"}),(0,l.jsx)("meta",{content:"Scrabble tiles spelling out Scrabble Solver 2",property:"og:image:alt"}),(0,l.jsx)("meta",{content:"summary_large_image",name:"twitter:card"}),(0,l.jsx)("meta",{content:t0,name:"twitter:title"}),(0,l.jsx)("meta",{content:y.b2,name:"twitter:description"}),(0,l.jsx)("meta",{content:`${y.W6}/og.png`,name:"twitter:image"})]}),(0,l.jsx)(p.Kq,{store:t1,children:(0,l.jsx)(a.T3,{delay:0,children:(0,l.jsx)(t,{...r})})})]})}},900:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VOWELS=t.CONSONANTS=t.NO_BONUS=t.EMPTY_CELL=t.BONUS_WORD=t.BONUS_CHARACTER=t.BLANK=t.COMMA_LATIN=t.COMMA_ARABIC=void 0,t.COMMA_ARABIC="،",t.COMMA_LATIN=",",t.BLANK=" ",t.BONUS_CHARACTER="BONUS_CHARACTER",t.BONUS_WORD="BONUS_WORD",t.EMPTY_CELL=" ",t.NO_BONUS={characterMultiplier:1,wordMultiplier:1},t.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),t.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},930:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3734),t),i(r(9480),t),i(r(1742),t),i(r(9653),t),i(r(3771),t),i(r(177),t),i(r(4774),t),i(r(3590),t)},988:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isError=void 0;let n=r(7197);t.isError=e=>!!(0,n.isObject)(e)&&"string"==typeof e.message},1027:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toBoardWord=function(e,t){return{direction:t,word:e.map(e=>e.tile.character).join(""),x:e[0].x,y:e[0].y}}},1236:function(e,t,r){"use strict";var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||(n=function(e){return(n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),c=0;c<r.length;c++)"default"!==r[c]&&i(t,e,r[c]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=void 0;let l=c(r(930));t.getConfig=(e,t)=>{let r=Object.values(l).find(r=>r.game===e&&r.locale===t);if(void 0===r)throw Error(`No game "${e}" in "${t}"`);return r}},1644:(e,t,r)=>{"use strict";r.d(t,{Mz:()=>l});var n="u"<typeof WeakRef?class{constructor(e){this.value=e}deref(){return this.value}}:WeakRef;function i(){return{s:0,v:void 0,o:null,p:null}}function o(e,t={}){let r,c=i(),{resultEqualityCheck:l,maxSize:a}=t,u=void 0!==a;if(u&&(!Number.isInteger(a)||a<1))throw TypeError(`maxSize must be a positive integer, received: ${a}`);let s=null,p=0,y=0;function f(){p>=a&&(s=c,c=i(),p=0)}function d(){let t=c,{length:o}=arguments;for(let e=0;e<o;e++){let r=arguments[e];if("function"==typeof r||"object"==typeof r&&null!==r){let e=t.o;null===e&&(t.o=e=new WeakMap);let n=e.get(r);void 0===n?(t=i(),e.set(r,t)):t=n}else{let e=t.p;null===e&&(t.p=e=new Map);let n=e.get(r);void 0===n?(t=i(),e.set(r,t),p++):t=n}}if(1===t.s)return t.v;if(null!==s){let e=s;for(let t=0;t<o;t++){let r,n=arguments[t];if("function"==typeof n||"object"==typeof n&&null!==n){let t=e.o;r=null!==t?t.get(n):void 0}else{let t=e.p;r=null!==t?t.get(n):void 0}if(void 0===r){e=null;break}e=r}if(null!==e&&1===e.s){let r=t;return r.s=1,r.v=e.v,f(),e.v}}let a=t,d=e.apply(null,arguments);if(y++,l){var h;let e=(h=r)instanceof n?h.deref():h;null!=e&&l(e,d)&&(d=e,0!==y&&y--),r="object"==typeof d&&null!==d||"function"==typeof d?new n(d):d}return a.s=1,a.v=d,u&&f(),d}return d.clearCache=()=>{c=i(),s=null,p=0,d.resetResultsCount()},d.resultsCount=()=>y,d.resetResultsCount=()=>{y=0},d}var c=e=>Array.isArray(e)?e:[e],l=function(e,...t){let r="function"==typeof e?{memoize:e,memoizeOptions:t}:e,n=(...e)=>{let t,n,i=0,l=0,a={},u=e.pop();"object"==typeof u&&(a=u,u=e.pop()),function(e,t=`expected a function, instead received ${typeof e}`){if("function"!=typeof e)throw TypeError(t)}(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let{memoize:s,memoizeOptions:p=[],argsMemoize:y=o,argsMemoizeOptions:f=[]}={...r,...a},d=c(p),h=c(f),m=(!function(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(e=>"function"==typeof e)){let r=e.map(e=>"function"==typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw TypeError(`${t}[${r}]`)}}(t=Array.isArray(e[0])?e[0]:e,"createSelector expects all input-selectors to be functions, but received the following types: "),t),R=s(function(){return i++,u.apply(null,arguments)},...d);return Object.assign(y(function(){l++;let{length:e}=m,t=Array(e);for(let r=0;r<e;r++)t[r]=m[r].apply(null,arguments);return n=R.apply(null,t)},...h),{resultFunc:u,memoizedResultFunc:R,dependencies:m,dependencyRecomputations:()=>l,resetDependencyRecomputations:()=>{l=0},lastResult:()=>n,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:s,argsMemoize:y})};return Object.assign(n,{withTypes:()=>n}),n}(o),a=Object.assign((e,t=l)=>{!function(e,t=`expected an object, instead received ${typeof e}`){if("object"!=typeof e)throw TypeError(t)}(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);let r=Object.keys(e);return t(r.map(t=>e[t]),(...e)=>e.reduce((e,t,n)=>(e[r[n]]=t,e),{}))},{withTypes:()=>a})},1733:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCells=function(e,t){let r=+!!t.isHorizontal,i=+!t.isHorizontal,o=[],c=0,{x:l,y:a}=t;for(;a<e.rowsCount&&l<e.columnsCount;){let u=e.rows[a][l];if(u.isFilled())o.push(u.clone());else if(c<t.tiles.length)o.push((0,n.getPlacedCell)(t,c,l,a)),c+=1;else break;l+=r,a+=i}return o};let n=r(7897)},1734:(e,t,r)=>{"use strict";r.d(t,{x:()=>o});var n=r(900),i=r(9604);let o={[i.Locale.DE_DE]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Deutsch",locale:i.Locale.DE_DE,name:"German",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.EN_GB]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (GB)",locale:i.Locale.EN_GB,name:"English (GB)",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.EN_US]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (US)",locale:i.Locale.EN_US,name:"English (US)",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.ES_ES]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Espa\xf1ol",locale:i.Locale.ES_ES,name:"Spanish",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.FA_IR]:{comma:n.COMMA_ARABIC,consonants:!1,direction:"rtl",label:"فارسی",locale:i.Locale.FA_IR,name:"Persian",separator:`${n.COMMA_ARABIC} `,vowels:!1},[i.Locale.FR_FR]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Fran\xe7ais",locale:i.Locale.FR_FR,name:"French",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.PL_PL]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Polski",locale:i.Locale.PL_PL,name:"Polish",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.RO_RO]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Rom\xe2nă",locale:i.Locale.RO_RO,name:"Romanian",separator:`${n.COMMA_LATIN} `,vowels:!0},[i.Locale.TR_TR]:{comma:n.COMMA_LATIN,consonants:!0,direction:"ltr",label:"T\xfcrk\xe7e",locale:i.Locale.TR_TR,name:"Turkish",separator:`${n.COMMA_LATIN} `,vowels:!0}}},1742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.frenchScrabble=void 0;let n=r(9604),i=r(6706);t.frenchScrabble=new n.Config({...i.scrabble,locale:n.Locale.FR_FR,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:3,score:2},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:8,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:10},{character:"l",count:5,score:1},{character:"m",count:3,score:2},{character:"n",count:6,score:1},{character:"o",count:6,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:8},{character:"r",count:6,score:1},{character:"s",count:6,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:4},{character:"w",count:1,score:10},{character:"x",count:1,score:10},{character:"y",count:1,score:10},{character:"z",count:1,score:10}]})},1754:(e,t,r)=>{"use strict";r.d(t,{_:()=>u});var n=r(1790),i=r(9604);let{game:o,locale:c}=r(4165).n,{boardHeight:l,boardWidth:a}=(0,n.getConfig)(o,c),u=i.Board.create(a,l)},1775:(e,t,r)=>{"use strict";r.d(t,{UE:()=>$,ll:()=>q,rD:()=>Y,UU:()=>V,cY:()=>G,BN:()=>J});let n=Math.min,i=Math.max,o=Math.round,c=Math.floor,l=e=>({x:e,y:e}),a={left:"right",right:"left",bottom:"top",top:"bottom"};function u(e,t){return"function"==typeof e?e(t):e}function s(e){return e.split("-")[0]}function p(e){return e.split("-")[1]}function y(e){return"x"===e?"y":"x"}function f(e){return"y"===e?"height":"width"}function d(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function h(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let m=["left","right"],R=["right","left"],C=["top","bottom"],O=["bottom","top"];function _(e){let t=s(e);return a[t]+e.slice(t.length)}function g(e){var t,r,n,i;return"number"!=typeof e?{top:null!=(t=e.top)?t:0,right:null!=(r=e.right)?r:0,bottom:null!=(n=e.bottom)?n:0,left:null!=(i=e.left)?i:0}:{top:e,right:e,bottom:e,left:e}}function A(e){let{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function v(e,t,r){let n,{reference:i,floating:o}=e,c=d(t),l=y(d(t)),a=f(l),u=s(t),h=i.x+i.width/2-o.width/2,m=i.y+i.height/2-o.height/2,R=i[a]/2-o[a]/2;switch(u){case"top":n={x:h,y:i.y-o.height};break;case"bottom":n={x:h,y:i.y+i.height};break;case"right":n={x:i.x+i.width,y:m};break;case"left":n={x:i.x-o.width,y:m};break;default:n={x:i.x,y:i.y}}let C=p(t);return C&&(n[l]+=R*("end"===C?1:-1)*(r&&"y"===c?-1:1)),n}async function S(e,t){var r;void 0===t&&(t={});let{x:n,y:i,platform:o,rects:c,elements:l,strategy:a}=e,{boundary:s="clippingAncestors",rootBoundary:p="viewport",elementContext:y="floating",altBoundary:f=!1,padding:d=0}=u(t,e),h=g(d),m=l[f?"floating"===y?"reference":"floating":y],R=A(await o.getClippingRect({element:null==(r=await (null==o.isElement?void 0:o.isElement(m)))||r?m:m.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:s,rootBoundary:p,strategy:a})),C="floating"===y?{x:n,y:i,width:c.floating.width,height:c.floating.height}:c.reference,O=await (null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),_=await (null==o.isElement?void 0:o.isElement(O))&&await (null==o.getScale?void 0:o.getScale(O))||{x:1,y:1},v=A(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:C,offsetParent:O,strategy:a}):C);return{top:(R.top-v.top+h.top)/_.y,bottom:(v.bottom-R.bottom+h.bottom)/_.y,left:(R.left-v.left+h.left)/_.x,right:(v.right-R.right+h.right)/_.x}}let x=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:c}=r,l=c.detectOverflow?c:{...c,detectOverflow:S},a=await (null==c.isRTL?void 0:c.isRTL(t)),u=await c.getElementRects({reference:e,floating:t,strategy:i}),{x:s,y:p}=v(u,n,a),y=n,f=0,d={};for(let r=0;r<o.length;r++){let h=o[r];if(!h)continue;let{name:m,fn:R}=h,{x:C,y:O,data:_,reset:g}=await R({x:s,y:p,initialPlacement:n,placement:y,strategy:i,middlewareData:d,rects:u,platform:l,elements:{reference:e,floating:t}});s=null!=C?C:s,p=null!=O?O:p,d[m]={...d[m],..._},g&&f<50&&(f++,"object"==typeof g&&(g.placement&&(y=g.placement),g.rects&&(u=!0===g.rects?await c.getElementRects({reference:e,floating:t,strategy:i}):g.rects),{x:s,y:p}=v(u,y,a)),r=-1)}return{x:s,y:p,placement:y,strategy:i,middlewareData:d}},b=new Set(["left","top"]);async function N(e,t){let{placement:r,platform:n,elements:i}=e,o=await (null==n.isRTL?void 0:n.isRTL(i.floating)),c=s(r),l=p(r),a="y"===d(r),y=b.has(c)?-1:1,f=o&&a?-1:1,h=u(t,e),{mainAxis:m,crossAxis:R,alignmentAxis:C}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&"number"==typeof C&&(R="end"===l?-1*C:C),a?{x:R*f,y:m*y}:{x:m*y,y:R*f}}var E=r(8761);function B(e){let t=(0,E.L9)(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=(0,E.sb)(e),c=i?e.offsetWidth:r,l=i?e.offsetHeight:n,a=o(r)!==c||o(n)!==l;return a&&(r=c,n=l),{width:r,height:n,$:a}}function U(e){return(0,E.vq)(e)?e:e.contextElement}function T(e){let t=U(e);if(!(0,E.sb)(t))return l(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:c}=B(t),a=(c?o(r.width):r.width)/n,u=(c?o(r.height):r.height)/i;return a&&Number.isFinite(a)||(a=1),u&&Number.isFinite(u)||(u=1),{x:a,y:u}}let w=l(0);function H(e){let t=(0,E.zk)(e);return(0,E.Tc)()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:w}function W(e,t,r,n){var i;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),c=U(e),a=l(1);t&&(n?(0,E.vq)(n)&&(a=T(n)):a=T(e));let u=(void 0===(i=r)&&(i=!1),n&&i&&n===(0,E.zk)(c))?H(c):l(0),s=(o.left+u.x)/a.x,p=(o.top+u.y)/a.y,y=o.width/a.x,f=o.height/a.y;if(c&&n){let e=(0,E.zk)(c),t=(0,E.vq)(n)?(0,E.zk)(n):n,r=e,i=(0,E._m)(r);for(;i&&t!==r;){let e=T(i),t=i.getBoundingClientRect(),n=(0,E.L9)(i),o=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,c=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;s*=e.x,p*=e.y,y*=e.x,f*=e.y,s+=o,p+=c,r=(0,E.zk)(i),i=(0,E._m)(r)}}return A({width:y,height:f,x:s,y:p})}function k(e,t){let r=(0,E.CP)(e).scrollLeft;return t?t.left+r:W((0,E.ep)(e)).left+r}function D(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-k(e,r),y:r.top+t.scrollTop}}function L(e,t,r){var n;let o;if("viewport"===t||"layoutViewport"===t)o=function(e,t,r){void 0===r&&(r="viewport");let n="layoutViewport"===r,i=(0,E.zk)(e),o=(0,E.ep)(e),c=i.visualViewport,l=o.clientWidth,a=o.clientHeight,u=0,s=0;if(c){let e=!(0,E.Tc)()||"fixed"===t;n?e||(u=-c.offsetLeft,s=-c.offsetTop):(l=c.width,a=c.height,e&&(u=c.offsetLeft,s=c.offsetTop))}if(0>=k(o)){let e=o.ownerDocument,t=e.body,r=getComputedStyle(t),n="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,i=Math.abs(o.clientWidth-t.clientWidth-n),c="stable both-edges"===getComputedStyle(o).scrollbarGutter?i/2:i;c<=25&&(l-=c)}return{width:l,height:a,x:u,y:s}}(e,r,t);else if("document"===t){let t,r,c,l,a,u;n=(0,E.ep)(e),t=(0,E.CP)(n),r=n.ownerDocument.body,c=i(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),l=i(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight),a=-t.scrollLeft+k(n),u=-t.scrollTop,"rtl"===(0,E.L9)(r).direction&&(a+=i(n.clientWidth,r.clientWidth)-c),o={width:c,height:l,x:a,y:u}}else if((0,E.vq)(t)){let e,n,i,c,l,a;n=(e=W(t,!0,"fixed"===r)).top+t.clientTop,i=e.left+t.clientLeft,c=T(t),l=t.clientWidth*c.x,a=t.clientHeight*c.y,o={width:l,height:a,x:i*c.x,y:n*c.y}}else{let r=H(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return A(o)}function M(e){return"static"===(0,E.L9)(e).position}function P(e,t){if(!(0,E.sb)(e)||"fixed"===(0,E.L9)(e).position)return null;if(t)return t(e);let r=e.offsetParent;return(0,E.ep)(e)===r&&(r=r.ownerDocument.body),r}function j(e,t){let r=(0,E.zk)(e);if((0,E.Tf)(e))return r;if(!(0,E.sb)(e)){let t=(0,E.$4)(e);for(;t&&!(0,E.eu)(t);){if((0,E.vq)(t)&&!M(t))return t;t=(0,E.$4)(t)}return r}let n=P(e,t);for(;n&&(0,E.Lv)(n)&&M(n);)n=P(n,t);return n&&(0,E.eu)(n)&&M(n)&&!(0,E.sQ)(n)?r:n||(0,E.gJ)(e)||r}let I=async function(e){let t=this.getOffsetParent||j,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=(0,E.sb)(t),i=(0,E.ep)(t),o="fixed"===r,c=W(e,!0,o,t),a={scrollLeft:0,scrollTop:0},u=l(0);if((n||!o)&&(("body"!==(0,E.mq)(t)||(0,E.ZU)(i))&&(a=(0,E.CP)(t)),n)){let e=W(t,!0,o,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}!n&&i&&(u.x=k(i));let s=!i||n||o?l(0):D(i,a);return{x:c.left+a.scrollLeft-u.x-s.x,y:c.top+a.scrollTop-u.y-s.y,width:c.width,height:c.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},z={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,o="fixed"===i,c=(0,E.ep)(n),a=!!t&&(0,E.Tf)(t.floating);if(n===c||a&&o)return r;let u={scrollLeft:0,scrollTop:0},s=l(1),p=l(0),y=(0,E.sb)(n);if((y||!o)&&(("body"!==(0,E.mq)(n)||(0,E.ZU)(c))&&(u=(0,E.CP)(n)),y)){let e=W(n);s=T(n),p.x=e.x+n.clientLeft,p.y=e.y+n.clientTop}let f=!c||y||o?l(0):D(c,u);return{width:r.width*s.x,height:r.height*s.y,x:r.x*s.x-u.scrollLeft*s.x+p.x+f.x,y:r.y*s.y-u.scrollTop*s.y+p.y+f.y}},getDocumentElement:E.ep,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:o,strategy:c}=e,l=[..."clippingAncestors"===r?(0,E.Tf)(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=(0,E.v9)(e,[],!1).filter(e=>(0,E.vq)(e)&&"body"!==(0,E.mq)(e)),i=null,o="fixed"===(0,E.L9)(e).position,c=o?(0,E.$4)(e):e;for(;(0,E.vq)(c)&&!(0,E.eu)(c);){let e=(0,E.L9)(c),t=(0,E.sQ)(c),r=i?i.position:o?"fixed":"";t||"fixed"!==r&&("absolute"!==r||"static"!==e.position)?i=e:n=n.filter(e=>e!==c),c=(0,E.$4)(c)}return t.set(e,n),n}(t,this._c):[].concat(r),o],a=L(t,l[0],c),u=a.top,s=a.right,p=a.bottom,y=a.left;for(let e=1;e<l.length;e++){let r=L(t,l[e],c);u=i(r.top,u),s=n(r.right,s),p=n(r.bottom,p),y=i(r.left,y)}return{width:s-y,height:p-u,x:y,y:u}},getOffsetParent:j,getElementRects:I,getClientRects:function(e){return e.getClientRects?Array.from(e.getClientRects()):[]},getDimensions:function(e){let{width:t,height:r}=B(e);return{width:t,height:r}},getScale:T,isElement:E.vq,isRTL:function(e){return"rtl"===(0,E.L9)(e).direction}};function F(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function q(e,t,r,o){let l;void 0===o&&(o={});let{ancestorScroll:a=!0,ancestorResize:u=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:p="function"==typeof IntersectionObserver,animationFrame:y=!1}=o,f=U(e),d=a||u?[...f?(0,E.v9)(f):[],...t?(0,E.v9)(t):[]]:[];d.forEach(e=>{a&&e.addEventListener("scroll",r),u&&e.addEventListener("resize",r)});let h=f&&p?function(e,t,r){let o,l=null,a=(0,E.ep)(e);function u(){var e;clearTimeout(o),null==(e=l)||e.disconnect(),l=null}function s(r,p){void 0===r&&(r=!1),void 0===p&&(p=1),u();let y=e.getBoundingClientRect(),{left:f,top:d,width:h,height:m}=y;if(r||t(),!h||!m)return;let R={rootMargin:-c(d)+"px "+-c(a.clientWidth-(f+h))+"px "+-c(a.clientHeight-(d+m))+"px "+-c(f)+"px",threshold:i(0,n(1,p))||1},C=!0;function O(t){let r=t[0].intersectionRatio;if(!F(y,e.getBoundingClientRect()))return s();if(r!==p){if(!C)return s();r?s(!1,r):o=setTimeout(()=>{s(!1,1e-7)},1e3)}C=!1}try{l=new IntersectionObserver(O,{...R,root:a.ownerDocument})}catch(e){l=new IntersectionObserver(O,R)}l.observe(e)}let p=(0,E.zk)(e),y=()=>s(r);return p.addEventListener("resize",y),s(!0),()=>{p.removeEventListener("resize",y),u()}}(f,r,u):null,m=-1,R=null;s&&(R=new ResizeObserver(e=>{let[n]=e;n&&n.target===f&&R&&t&&(R.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=R)||e.observe(t)})),r()}),f&&!y&&R.observe(f),t&&R.observe(t));let C=y?W(e):null;return y&&function t(){let n=W(e);C&&!F(C,n)&&r(),C=n,l=requestAnimationFrame(t)}(),r(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener("scroll",r),u&&e.removeEventListener("resize",r)}),null==h||h(),null==(e=R)||e.disconnect(),R=null,y&&cancelAnimationFrame(l)}}let G=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:i,y:o,placement:c,middlewareData:l}=t,a=await N(t,e);return c===(null==(r=l.offset)?void 0:r.placement)&&null!=(n=l.arrow)&&n.alignmentOffset?{}:{x:i+a.x,y:o+a.y,data:{...a,placement:c}}}}},J=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:o,placement:c,platform:l}=t,{mainAxis:a=!0,crossAxis:s=!1,limiter:p={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...f}=u(e,t),h={x:r,y:o},m=await l.detectOverflow(t,f),R=d(c),C=y(R),O=h[C],_=h[R],g=(e,t)=>i(t+m["y"===e?"top":"left"],n(t,t-m["y"===e?"bottom":"right"]));a&&(O=g(C,O)),s&&(_=g(R,_));let A=p.fn({...t,[C]:O,[R]:_});return{...A,data:{x:A.x-r,y:A.y-o,enabled:{[C]:a,[R]:s}}}}}},V=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,i,o,c,l,a,g;let A,v,S,{placement:x,middlewareData:b,rects:N,initialPlacement:E,platform:B,elements:U}=t,{mainAxis:T=!0,crossAxis:w=!0,fallbackPlacements:H,fallbackStrategy:W="bestFit",fallbackAxisSideDirection:k="none",flipAlignment:D=!0,...L}=u(e,t);if(null!=(r=b.arrow)&&r.alignmentOffset)return{};let M=s(x),P=d(E),j=s(E)===E,I=await (null==B.isRTL?void 0:B.isRTL(U.floating)),z=H||(j||!D?[_(E)]:(A=_(E),[h(E),A,h(A)])),F="none"!==k;!H&&F&&z.push(...(v=p(E),S=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?R:m;return t?m:R;case"left":case"right":return t?C:O;default:return[]}}(s(E),"start"===k,I),v&&(S=S.map(e=>e+"-"+v),D&&(S=S.concat(S.map(h)))),S));let q=[E,...z],G=await B.detectOverflow(t,L),J=[],V=(null==(n=b.flip)?void 0:n.overflows)||[];if(T&&J.push(G[M]),w){let e,t,r,n,i=(l=x,a=N,void 0===(g=I)&&(g=!1),e=p(l),r=f(t=y(d(l))),n="x"===t?e===(g?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[r]>a.floating[r]&&(n=_(n)),[n,_(n)]);J.push(G[i[0]],G[i[1]])}if(V=[...V,{placement:x,overflows:J}],!J.every(e=>e<=0)){let e=((null==(i=b.flip)?void 0:i.index)||0)+1,t=q[e];if(t&&("alignment"!==w||P===d(t)||V.every(e=>d(e.placement)!==P||e.overflows[0]>0)))return{data:{index:e,overflows:V},reset:{placement:t}};let r=null==(o=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!r)switch(W){case"bestFit":{let e=null==(c=V.filter(e=>{if(F){let t=d(e.placement);return t===P||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:c[0];e&&(r=e);break}case"initialPlacement":r=E}if(x!==r)return{reset:{placement:r}}}return{}}}},$=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:o,placement:c,rects:l,platform:a,elements:s,middlewareData:h}=t,{element:m,padding:R=0}=u(e,t)||{};if(null==m)return{};let C=g(R),O={x:r,y:o},_=y(d(c)),A=f(_),v=await a.getDimensions(m),S="y"===_,x=S?"clientHeight":"clientWidth",b=l.reference[A]+l.reference[_]-O[_]-l.floating[A],N=O[_]-l.reference[_],E=await (null==a.getOffsetParent?void 0:a.getOffsetParent(m)),B=E?E[x]:0;B&&await (null==a.isElement?void 0:a.isElement(E))||(B=s.floating[x]||l.floating[A]);let U=B/2-v[A]/2-1,T=n(C[S?"top":"left"],U),w=n(C[S?"bottom":"right"],U),H=B-v[A]-w,W=B/2-v[A]/2+(b/2-N/2),k=i(T,n(W,H)),D=!h.arrow&&null!=p(c)&&W!==k&&l.reference[A]/2-(W<T?T:w)-v[A]/2<0,L=D?W<T?W-T:W-H:0;return{[_]:O[_]+L,data:{[_]:k,centerOffset:W-k-L,...D&&{alignmentOffset:L}},reset:D}}}),Y=(e,t,r)=>{let n=new Map,i=null!=r?r:{},o={...z,...i.platform,_c:n};return x(e,t,{...i,platform:o})}},1790:function(e,t,r){"use strict";var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||(n=function(e){return(n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),c=0;c<r.length;c++)"default"!==r[c]&&i(t,e,r[c]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.languages=t.games=t.hasConfig=t.getConfig=void 0,t.games=c(r(6706)),t.languages=c(r(930));var l=r(1236);Object.defineProperty(t,"getConfig",{enumerable:!0,get:function(){return l.getConfig}});var a=r(6552);Object.defineProperty(t,"hasConfig",{enumerable:!0,get:function(){return a.hasConfig}})},1821:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WordDefinition=void 0;class r{constructor({definitions:e,exists:t,isAllowed:r,word:n}){this.definitions=e,this.exists=t,this.isAllowed=r,this.word=n}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}t.WordDefinition=r,r.fromJson=e=>e?new r({definitions:e.definitions,exists:e.exists,isAllowed:e.isAllowed,word:e.word}):r.Null,r.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null})},1838:(e,t,r)=>{"use strict";r.d(t,{L:()=>f});var n=r(9604),i=r(1985),o=r.n(i),c=r(4740);let l="board",a="rack",u="settings",s="translations",p={autoGroupTiles:"auto-group-tiles",game:"config-id",highlightUnreachableCells:"highlight-unreachable-cells",inputMode:"input-mode",locale:"locale",removeCellFilters:"remove-cell-filters",showCoordinates:"show-coordinates"},y=o().namespace("scrabble-solver"),f={getBoard(){try{let e=y.get(l);return e?n.Board.fromJson(JSON.parse(e)):void 0}catch{y.remove(l);return}},setBoard(e){let t=e?JSON.stringify(e.toJson()):e;y.set(l,t,!0)},getRack(){let e=y.get(a);return void 0===e||Array.isArray(e)?e:void y.remove(a)},setRack(e){y.set(a,e,!0)},getSettings(){let e=y.get(u);return void 0===e||(0,n.isObject)(e)||y.remove(u),function(e){if("hidden"!==String(e.showCoordinates))return e;let t={...e,showCoordinates:"original"};return y.set(u,t,!0),t}((0,n.isObject)(e)?e:function(){let e={},t=!1;for(let[r,n]of Object.entries(p))y.has(n)&&(e[r]=y.get(n),y.remove(n),t=!0);return t&&y.set(u,e,!0),e}())},setSettings(e){y.set(u,e,!0)},getTranslations(e,t){let r=y.get(s);if(void 0!==r){var i;return(0,n.isObject)(r)&&r.locale===e&&r.version===t&&(0,n.isObject)(r.translations)&&(i=r.translations,Object.keys(c.P).every(e=>"string"==typeof i[e]))?r.translations:void y.remove(s)}},setTranslations(e,t,r){y.set(s,{locale:e,translations:r,version:t},!0)}}},1855:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});let n=e=>e.board},1898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.scrabble=void 0;let n=r(900);t.scrabble={bingo:{score:50},blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(9604).Game.Scrabble,name:"Scrabble",rackSize:7,bonuses:[{multiplier:3,type:n.BONUS_WORD,x:0,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:n.BONUS_WORD,x:7,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:0},{multiplier:3,type:n.BONUS_WORD,x:14,y:0},{multiplier:2,type:n.BONUS_WORD,x:1,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:1},{multiplier:2,type:n.BONUS_WORD,x:13,y:1},{multiplier:2,type:n.BONUS_WORD,x:2,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:n.BONUS_WORD,x:12,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:3},{multiplier:2,type:n.BONUS_WORD,x:3,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:3},{multiplier:2,type:n.BONUS_WORD,x:11,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:3},{multiplier:2,type:n.BONUS_WORD,x:4,y:4},{multiplier:2,type:n.BONUS_WORD,x:10,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:6},{multiplier:3,type:n.BONUS_WORD,x:0,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:7},{multiplier:2,type:n.BONUS_WORD,x:7,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:7},{multiplier:3,type:n.BONUS_WORD,x:14,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:9},{multiplier:2,type:n.BONUS_WORD,x:4,y:10},{multiplier:2,type:n.BONUS_WORD,x:10,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:11},{multiplier:2,type:n.BONUS_WORD,x:3,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:11},{multiplier:2,type:n.BONUS_WORD,x:11,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:11},{multiplier:2,type:n.BONUS_WORD,x:2,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:n.BONUS_WORD,x:12,y:12},{multiplier:2,type:n.BONUS_WORD,x:1,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:13},{multiplier:2,type:n.BONUS_WORD,x:13,y:13},{multiplier:3,type:n.BONUS_WORD,x:0,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:14},{multiplier:3,type:n.BONUS_WORD,x:7,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:14},{multiplier:3,type:n.BONUS_WORD,x:14,y:14}]}},1985:function(e){var t,r,n;t=this&&this.define,(n=(r={version:"2.14.4",areas:{},apis:{},nsdelim:".",inherit:function(e,t){for(var r in e)t.hasOwnProperty(r)||Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t},stringify:function(e,t){return void 0===e||"function"==typeof e?e+"":JSON.stringify(e,t||r.replace)},parse:function(e,t){try{return JSON.parse(e,t||r.revive)}catch(t){return e}},fn:function(e,t){for(var n in r.storeAPI[e]=t,r.apis)r.apis[n][e]=t},get:function(e,t){return e.getItem(t)},set:function(e,t,r){e.setItem(t,r)},remove:function(e,t){e.removeItem(t)},key:function(e,t){return e.key(t)},length:function(e){return e.length},clear:function(e){e.clear()},Store:function(e,t,n){var i=r.inherit(r.storeAPI,function(e,t,r){return 0==arguments.length?i.getAll():"function"==typeof t?i.transact(e,t,r):void 0!==t?i.set(e,t,r):"string"==typeof e||"number"==typeof e?i.get(e):"function"==typeof e?i.each(e):e?i.setAll(e,t):i.clear()});i._id=e;try{var o="__store2_test";t.setItem(o,"ok"),i._area=t,t.removeItem(o)}catch(e){i._area=r.storage("fake")}return i._ns=n||"",r.areas[e]||(r.areas[e]=i._area),r.apis[i._ns+i._id]||(r.apis[i._ns+i._id]=i),i},storeAPI:{area:function(e,t){var n=this[e];return n&&n.area||(n=r.Store(e,t,this._ns),this[e]||(this[e]=n)),n},namespace:function(e,t,n){if(n=n||this._delim||r.nsdelim,!e)return this._ns?this._ns.substring(0,this._ns.length-n.length):"";var i=this[e];if((!i||!i.namespace)&&((i=r.Store(this._id,this._area,this._ns+e+n))._delim=n,this[e]||(this[e]=i),!t))for(var o in r.areas)i.area(o,r.areas[o]);return i},isFake:function(e){return e?(this._real=this._area,this._area=r.storage("fake")):!1===e&&(this._area=this._real||this._area),"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(e){return this._area.has?this._area.has(this._in(e)):this._in(e)in this._area},size:function(){return this.keys().length},each:function(e,t){for(var n=0,i=r.length(this._area);n<i;n++){var o=this._out(r.key(this._area,n));if(void 0!==o&&!1===e.call(this,o,this.get(o),t))break;i>r.length(this._area)&&(i--,n--)}return t||this},keys:function(e){return this.each(function(e,t,r){r.push(e)},e||[])},get:function(e,t){var n,i=r.get(this._area,this._in(e));return"function"==typeof t&&(n=t,t=null),null!==i?r.parse(i,n):null!=t?t:i},getAll:function(e){return this.each(function(e,t,r){r[e]=t},e||{})},transact:function(e,t,r){var n=this.get(e,r),i=t(n);return this.set(e,void 0===i?n:i),this},set:function(e,t,n){var i,o=this.get(e);return null!=o&&!1===n?t:("function"==typeof n&&(i=n,n=void 0),r.set(this._area,this._in(e),r.stringify(t,i),n)||o)},setAll:function(e,t){var r,n;for(var i in e)n=e[i],this.set(i,n,t)!==n&&(r=!0);return r},add:function(e,t,n){var i=this.get(e);if(i instanceof Array)t=i.concat(t);else if(null!==i){var o=typeof i;if(o===typeof t&&"object"===o){for(var c in t)i[c]=t[c];t=i}else t=i+t}return r.set(this._area,this._in(e),r.stringify(t,n)),t},remove:function(e,t){var n=this.get(e,t);return r.remove(this._area,this._in(e)),n},clear:function(){return this._ns?this.each(function(e){r.remove(this._area,this._in(e))},1):r.clear(this._area),this},clearAll:function(){var e=this._area;for(var t in r.areas)r.areas.hasOwnProperty(t)&&(this._area=r.areas[t],this.clear());return this._area=e,this},_in:function(e){return"string"!=typeof e&&(e=r.stringify(e)),this._ns?this._ns+e:e},_out:function(e){return this._ns?e&&0===e.indexOf(this._ns)?e.substring(this._ns.length):void 0:e}},storage:function(e){return r.inherit(r.storageAPI,{items:{},name:e})},storageAPI:{length:0,has:function(e){return this.items.hasOwnProperty(e)},key:function(e){var t=0;for(var r in this.items)if(this.has(r)&&e===t++)return r},setItem:function(e,t){!this.has(e)&&this.length++,this.items[e]=t},removeItem:function(e){this.has(e)&&(delete this.items[e],this.length--)},getItem:function(e){return this.has(e)?this.items[e]:null},clear:function(){for(var e in this.items)this.removeItem(e)}}}).Store("local",function(){try{return localStorage}catch(e){}}())).local=n,n._=r,n.area("session",function(){try{return sessionStorage}catch(e){}}()),n.area("page",r.storage("page")),"function"==typeof t&&void 0!==t.amd?t("store2",[],function(){return n}):e.exports?e.exports=n:(this.store&&(r.conflict=this.store),this.store=n)},2024:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isGame=void 0;let n=Object.values(r(5350).Game);t.isGame=e=>n.includes(e)},2131:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Bonus=void 0;class r{constructor({multiplier:e,score:t,x:r,y:n}){this.multiplier=e,this.score=t,this.x=r,this.y=n}canApply(e,t){return t.isEmpty&&this.matchesCellCoordinates(t)}matchesCellCoordinates(e){return this.x===e.x&&this.y===e.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}t.Bonus=r},2214:(e,t,r)=>{"use strict";r.d(t,{s:()=>o});var n=r(4811),i=r(4165);let o=(0,n.Z0)({initialState:i.n,name:"settings",reducers:{changeAutoGroupTiles:(e,t)=>{let r=t.payload;return{...e,autoGroupTiles:r}},changeGame:(e,t)=>{let r=t.payload;return{...e,game:r}},changeHighlightUnreachableCells:(e,t)=>{let r=t.payload;return{...e,highlightUnreachableCells:r}},changeInputMode:(e,t)=>{let r=t.payload;return{...e,inputMode:r}},changeLocale:(e,t)=>{let r=t.payload;return{...e,locale:r}},changeShowCoordinates:(e,t)=>{let r=t.payload;return{...e,showCoordinates:r}},changeRemoveCellFilters:(e,t)=>{let r=t.payload;return{...e,removeCellFilters:r}},init:(e,t)=>{let r={...e,...t.payload};return Object.keys(r).some(t=>r[t]!==e[t])?r:e}}})},2309:(e,t,r)=>{"use strict";r.d(t,{BN:()=>f,UE:()=>h,UU:()=>d,cY:()=>y,we:()=>p});var n=r(1775),i=r(5729),o=r(6760),c="u">typeof document?i.useLayoutEffect:function(){};function l(e,t){let r,n,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!l(e[n],t[n]))return!1;return!0}if((r=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,i[n]))return!1;for(n=r;0!=n--;){let r=i[n];if(("_owner"!==r||!e.$$typeof)&&!l(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function a(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function u(e,t){let r=a(e);return Math.round(t*r)/r}function s(e){let t=i.useRef(e);return c(()=>{t.current=e}),t}function p(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:p=[],platform:y,elements:{reference:f,floating:d}={},transform:h=!0,whileElementsMounted:m,open:R}=e,[C,O]=i.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[_,g]=i.useState(p);l(_,p)||g(p);let[A,v]=i.useState(null),[S,x]=i.useState(null),b=i.useCallback(e=>{e!==U.current&&(U.current=e,v(e))},[]),N=i.useCallback(e=>{e!==T.current&&(T.current=e,x(e))},[]),E=f||A,B=d||S,U=i.useRef(null),T=i.useRef(null),w=i.useRef(C),H=null!=m,W=s(m),k=s(y),D=s(R),L=i.useCallback(()=>{if(!U.current||!T.current)return;let e={placement:t,strategy:r,middleware:_};k.current&&(e.platform=k.current),(0,n.rD)(U.current,T.current,e).then(e=>{let t={...e,isPositioned:!1!==D.current};M.current&&!l(w.current,t)&&(w.current=t,o.flushSync(()=>{O(t)}))})},[_,t,r,k,D]);c(()=>{!1===R&&w.current.isPositioned&&(w.current.isPositioned=!1,O(e=>({...e,isPositioned:!1})))},[R]);let M=i.useRef(!1);c(()=>(M.current=!0,()=>{M.current=!1}),[]),c(()=>{if(E&&(U.current=E),B&&(T.current=B),E&&B){if(W.current)return W.current(E,B,L);L()}},[E,B,L,W,H]);let P=i.useMemo(()=>({reference:U,floating:T,setReference:b,setFloating:N}),[b,N]),j=i.useMemo(()=>({reference:E,floating:B}),[E,B]),I=i.useMemo(()=>{let e={position:r,left:0,top:0};if(!j.floating)return e;let t=u(j.floating,C.x),n=u(j.floating,C.y);return h?{...e,transform:"translate("+t+"px, "+n+"px)",...a(j.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,h,j.floating,C.x,C.y]);return i.useMemo(()=>({...C,update:L,refs:P,elements:j,floatingStyles:I}),[C,L,P,j,I])}let y=(e,t)=>{let r=(0,n.cY)(e);return{name:r.name,fn:r.fn,options:[e,t]}},f=(e,t)=>{let r=(0,n.BN)(e);return{name:r.name,fn:r.fn,options:[e,t]}},d=(e,t)=>{let r=(0,n.UU)(e);return{name:r.name,fn:r.fn,options:[e,t]}},h=(e,t)=>{let r={name:"arrow",options:e,fn(t){let{element:r,padding:i}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?(0,n.UE)({element:r.current,padding:i}).fn(t):{}:r?(0,n.UE)({element:r,padding:i}).fn(t):{}}};return{name:r.name,fn:r.fn,options:[e,t]}}},2314:(e,t,r)=>{"use strict";r.d(t,{o:()=>u});var n=r(4811);let i=(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]);var o=r(8085),c=r(1790),l=r(4165);let a=Array((0,c.getConfig)(l.n.game,l.n.locale).rackSize).fill(null),u=(0,n.Z0)({initialState:a,name:"rack",reducers:{changeCharacter:(e,t)=>{let{character:r,index:n}=t.payload;return[...e.slice(0,n),r,...e.slice(n+1)]},changeCharacters:(e,t)=>{let{characters:r,index:n}=t.payload;if(0===r.length)return e;let i=e.length;return[...e.slice(0,n),...r,...e.slice(n+r.length)].slice(0,i)},groupTiles:(e,t)=>{let r;if(null===t.payload)return e;let n=[...e].sort((r="left"===t.payload?"right":"left",(e,t)=>e===t?0:null===e?"right"===r?1:-1:null===t?"right"===r?-1:1:0));return i(e,n)?e:n},init:(e,t)=>i(e,t.payload)?e:t.payload,removeTiles:(e,t)=>{let r=t.payload;return(0,o._)(e,r).map(e=>{let{character:t,tile:r}=e;return r?null:t})},reset:()=>a}})},2359:(e,t,r)=>{"use strict";r.d(t,{M:()=>n,f:()=>i});let n=e=>e.app.isHydrated,i=e=>e.app.version},2484:()=>{},2856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isBoardJson=void 0;let n=r(4260);t.isBoardJson=e=>{if(!Array.isArray(e))return!1;for(let t of e){if(!Array.isArray(t))return!1;for(let e of t)if(!(0,n.isCellJson)(e))return!1}return!0}},3054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSameBoardWord=function(e,t){return e.direction===t.direction&&e.x===t.x&&e.y===t.y}},3090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wordfeud=void 0;let n=r(900);t.wordfeud={bingo:{score:40},blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(9604).Game.Wordfeud,name:"Wordfeud",rackSize:7,bonuses:[{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:n.BONUS_WORD,x:4,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:0},{multiplier:3,type:n.BONUS_WORD,x:10,y:0},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:1},{multiplier:2,type:n.BONUS_WORD,x:2,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:n.BONUS_WORD,x:12,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:3,y:3},{multiplier:2,type:n.BONUS_WORD,x:7,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:11,y:3},{multiplier:3,type:n.BONUS_WORD,x:0,y:4},{multiplier:2,type:n.BONUS_WORD,x:4,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:4},{multiplier:2,type:n.BONUS_WORD,x:10,y:4},{multiplier:3,type:n.BONUS_WORD,x:14,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:7},{multiplier:2,type:n.BONUS_WORD,x:3,y:7},{multiplier:2,type:n.BONUS_WORD,x:11,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:9},{multiplier:3,type:n.BONUS_WORD,x:0,y:10},{multiplier:2,type:n.BONUS_WORD,x:4,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:10},{multiplier:2,type:n.BONUS_WORD,x:10,y:10},{multiplier:3,type:n.BONUS_WORD,x:14,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:3,y:11},{multiplier:2,type:n.BONUS_WORD,x:7,y:11},{multiplier:3,type:n.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:n.BONUS_WORD,x:2,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:n.BONUS_WORD,x:12,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:n.BONUS_WORD,x:4,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:14},{multiplier:3,type:n.BONUS_WORD,x:10,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:14}]}},3158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wyrazy=void 0;let n=r(900);t.wyrazy={bingo:{score:25},blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(9604).Game.Wyrazy,name:"Wyrazy",rackSize:7,bonuses:[{multiplier:3,type:n.BONUS_WORD,x:2,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:0},{multiplier:3,type:n.BONUS_WORD,x:12,y:0},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:n.BONUS_WORD,x:5,y:1},{multiplier:2,type:n.BONUS_WORD,x:9,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:1},{multiplier:3,type:n.BONUS_WORD,x:0,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:2},{multiplier:3,type:n.BONUS_WORD,x:14,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:3},{multiplier:2,type:n.BONUS_WORD,x:7,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:2,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:n.BONUS_WORD,x:1,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:n.BONUS_WORD,x:13,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:6},{multiplier:2,type:n.BONUS_WORD,x:3,y:7},{multiplier:2,type:n.BONUS_WORD,x:11,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:8},{multiplier:2,type:n.BONUS_WORD,x:1,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:n.BONUS_WORD,x:13,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:2,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:11},{multiplier:2,type:n.BONUS_WORD,x:7,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:11},{multiplier:3,type:n.BONUS_WORD,x:0,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:12},{multiplier:3,type:n.BONUS_WORD,x:14,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:n.BONUS_WORD,x:5,y:13},{multiplier:2,type:n.BONUS_WORD,x:9,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:n.BONUS_WORD,x:2,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:14},{multiplier:3,type:n.BONUS_WORD,x:12,y:14}]}},3203:(e,t,r)=>{"use strict";r.d(t,{N:()=>l});var n=r(4811),i=r(6009),o=r(8502);let c={candidate:null,query:"",results:void 0,sort:{column:o.NN.Points,direction:o.UE.Descending}},l=(0,n.Z0)({initialState:c,name:"results",reducers:{applyResult:(e,t)=>c,changeQuery:(e,t)=>{let r=t.payload;return{...e,query:r}},changeResultCandidate:(e,t)=>{let r=t.payload;return r===e.candidate?e:{...e,candidate:r}},changeResults:(e,t)=>{let r=t.payload;return{...e,candidate:c.candidate,query:c.query,results:r}},sort:(e,t)=>({...e,sort:(0,i.O)(e.sort,t.payload)}),reset:()=>c}})},3590:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.turkishScrabble=t.turkishKelimelik=void 0;let n=r(9604),i=r(6706);t.turkishKelimelik=new n.Config({...i.kelimelik,locale:n.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]}),t.turkishScrabble=new n.Config({...i.scrabble,locale:n.Locale.TR_TR,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"\xe7",count:2,score:4},{character:"d",count:2,score:3},{character:"e",count:8,score:1},{character:"f",count:1,score:7},{character:"g",count:1,score:5},{character:"ğ",count:1,score:8},{character:"h",count:1,score:5},{character:"ı",count:4,score:2},{character:"i",count:7,score:1},{character:"j",count:1,score:10},{character:"k",count:7,score:1},{character:"l",count:7,score:1},{character:"m",count:4,score:2},{character:"n",count:5,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:7},{character:"p",count:1,score:5},{character:"r",count:6,score:1},{character:"s",count:3,score:2},{character:"ş",count:2,score:4},{character:"t",count:5,score:1},{character:"u",count:3,score:2},{character:"\xfc",count:2,score:3},{character:"v",count:1,score:7},{character:"y",count:2,score:3},{character:"z",count:2,score:4}]})},3669:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isBingo=void 0;let n=r(7384),i=r(8763);t.isBingo=e=>(0,i.isScoreBingo)(e)||(0,n.isMultiplierBingo)(e)},3734:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.englishUsWordfeud=t.englishUsSuperScrabble=t.englishUsScrabbleDuel=t.englishUsScrabble=t.englishUsLiteraki=t.englishUsLetterLeague=t.englishUsCrossplay=t.englishGbWordfeud=t.englishGbSuperScrabble=t.englishGbScrabbleDuel=t.englishGbScrabble=t.englishGbLiteraki=t.englishGbLetterLeague=t.englishGbCrossplay=void 0;let n=r(9604),i=r(6706);t.englishGbCrossplay=new n.Config({...i.crossplay,locale:n.Locale.EN_GB,tiles:[{character:"a",score:1},{character:"b",score:4},{character:"c",score:3},{character:"d",score:2},{character:"e",score:1},{character:"f",score:4},{character:"g",score:4},{character:"h",score:3},{character:"i",score:1},{character:"j",score:10},{character:"k",score:6},{character:"l",score:2},{character:"m",score:3},{character:"n",score:1},{character:"o",score:1},{character:"p",score:3},{character:"q",score:10},{character:"r",score:1},{character:"s",score:1},{character:"t",score:1},{character:"u",score:2},{character:"v",score:6},{character:"w",score:5},{character:"x",score:8},{character:"y",score:4},{character:"z",score:10}]}),t.englishGbLetterLeague=new n.Config({...i.letterLeague,locale:n.Locale.EN_GB,tiles:[{character:"a",score:1},{character:"b",score:3},{character:"c",score:3},{character:"d",score:2},{character:"e",score:1},{character:"f",score:4},{character:"g",score:2},{character:"h",score:4},{character:"i",score:1},{character:"j",score:8},{character:"k",score:5},{character:"l",score:2},{character:"m",score:3},{character:"n",score:1},{character:"o",score:1},{character:"p",score:3},{character:"q",score:10},{character:"r",score:1},{character:"s",score:1},{character:"t",score:1},{character:"u",score:1},{character:"v",score:4},{character:"w",score:4},{character:"x",score:8},{character:"y",score:4},{character:"z",score:10}]}),t.englishGbLiteraki=new n.Config({...i.literaki,locale:n.Locale.EN_GB,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbScrabble=new n.Config({...i.scrabble,locale:n.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbScrabbleDuel=new n.Config({...i.scrabbleDuel,locale:n.Locale.EN_GB,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishGbSuperScrabble=new n.Config({...i.superScrabble,locale:n.Locale.EN_GB,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishGbWordfeud=new n.Config({...i.wordfeud,locale:n.Locale.EN_GB,tiles:[{character:"a",count:10,score:1},{character:"b",count:2,score:4},{character:"c",count:2,score:4},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:3},{character:"h",count:3,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:10},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:7,score:1},{character:"p",count:2,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:4,score:2},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsCrossplay=new n.Config({...i.crossplay,locale:n.Locale.EN_US,tiles:[{character:"a",score:1},{character:"b",score:4},{character:"c",score:3},{character:"d",score:2},{character:"e",score:1},{character:"f",score:4},{character:"g",score:4},{character:"h",score:3},{character:"i",score:1},{character:"j",score:10},{character:"k",score:6},{character:"l",score:2},{character:"m",score:3},{character:"n",score:1},{character:"o",score:1},{character:"p",score:3},{character:"q",score:10},{character:"r",score:1},{character:"s",score:1},{character:"t",score:1},{character:"u",score:2},{character:"v",score:6},{character:"w",score:5},{character:"x",score:8},{character:"y",score:4},{character:"z",score:10}]}),t.englishUsLetterLeague=new n.Config({...i.letterLeague,locale:n.Locale.EN_US,tiles:[{character:"a",score:1},{character:"b",score:3},{character:"c",score:3},{character:"d",score:2},{character:"e",score:1},{character:"f",score:4},{character:"g",score:2},{character:"h",score:4},{character:"i",score:1},{character:"j",score:8},{character:"k",score:5},{character:"l",score:2},{character:"m",score:3},{character:"n",score:1},{character:"o",score:1},{character:"p",score:3},{character:"q",score:10},{character:"r",score:1},{character:"s",score:1},{character:"t",score:1},{character:"u",score:1},{character:"v",score:4},{character:"w",score:4},{character:"x",score:8},{character:"y",score:4},{character:"z",score:10}]}),t.englishUsLiteraki=new n.Config({...i.literaki,locale:n.Locale.EN_US,name:"Literaxx",tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabble=new n.Config({...i.scrabble,locale:n.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsScrabbleDuel=new n.Config({...i.scrabbleDuel,locale:n.Locale.EN_US,tiles:[{character:"a",count:9,score:1},{character:"b",count:2,score:3},{character:"c",count:2,score:3},{character:"d",count:4,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:2,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:8},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:8,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:4,score:1},{character:"t",count:6,score:1},{character:"u",count:4,score:1},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]}),t.englishUsSuperScrabble=new n.Config({...i.superScrabble,locale:n.Locale.EN_US,tiles:[{character:"a",count:16,score:1},{character:"b",count:4,score:3},{character:"c",count:6,score:3},{character:"d",count:8,score:2},{character:"e",count:24,score:1},{character:"f",count:4,score:4},{character:"g",count:5,score:2},{character:"h",count:5,score:4},{character:"i",count:13,score:1},{character:"j",count:2,score:8},{character:"k",count:2,score:5},{character:"l",count:7,score:1},{character:"m",count:6,score:3},{character:"n",count:13,score:1},{character:"o",count:15,score:1},{character:"p",count:4,score:3},{character:"q",count:2,score:10},{character:"r",count:13,score:1},{character:"s",count:10,score:1},{character:"t",count:15,score:1},{character:"u",count:7,score:1},{character:"v",count:3,score:4},{character:"w",count:4,score:4},{character:"x",count:2,score:8},{character:"y",count:4,score:4},{character:"z",count:2,score:10}]}),t.englishUsWordfeud=new n.Config({...i.wordfeud,locale:n.Locale.EN_US,tiles:[{character:"a",count:10,score:1},{character:"b",count:2,score:4},{character:"c",count:2,score:4},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:3},{character:"h",count:3,score:4},{character:"i",count:9,score:1},{character:"j",count:1,score:10},{character:"k",count:1,score:5},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:6,score:1},{character:"o",count:7,score:1},{character:"p",count:2,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:4,score:2},{character:"v",count:2,score:4},{character:"w",count:2,score:4},{character:"x",count:1,score:8},{character:"y",count:2,score:4},{character:"z",count:1,score:10}]})},3771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.polishWyrazy=t.polishLiteraki=t.polishScrabble=void 0;let n=r(9604),i=r(6706);t.polishScrabble=new n.Config({...i.scrabble,locale:n.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:6},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:7},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:9},{character:"ż",count:1,score:5}]}),t.polishLiteraki=new n.Config({...i.literaki,locale:n.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:5},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:5},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:5},{character:"ż",count:1,score:5}]}),t.polishWyrazy=new n.Config({...i.wyrazy,locale:n.Locale.PL_PL,tiles:[{character:"a",count:9,score:1},{character:"ą",count:1,score:5},{character:"b",count:2,score:3},{character:"c",count:3,score:2},{character:"ć",count:1,score:5},{character:"d",count:3,score:2},{character:"e",count:7,score:1},{character:"ę",count:1,score:5},{character:"f",count:1,score:5},{character:"g",count:2,score:3},{character:"h",count:2,score:3},{character:"i",count:8,score:1},{character:"j",count:2,score:3},{character:"k",count:3,score:2},{character:"l",count:3,score:2},{character:"ł",count:2,score:3},{character:"m",count:3,score:2},{character:"n",count:5,score:1},{character:"ń",count:1,score:5},{character:"o",count:6,score:1},{character:"\xf3",count:1,score:5},{character:"p",count:3,score:2},{character:"r",count:4,score:1},{character:"s",count:4,score:1},{character:"ś",count:1,score:5},{character:"t",count:3,score:2},{character:"u",count:2,score:3},{character:"w",count:4,score:1},{character:"y",count:4,score:2},{character:"z",count:5,score:1},{character:"ź",count:1,score:5},{character:"ż",count:1,score:5}]})},3876:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(4811);let i={error:void 0,isLoading:!1,lastSolvedParameters:{board:r(1754)._,characters:[]}},o=(0,n.Z0)({initialState:i,name:"solve",reducers:{reset:()=>i,submit:e=>{let t=i.error;return{...e,error:t,isLoading:!0}},submitFailure:(e,t)=>{let r=t.payload;return{...e,error:r,isLoading:!1}},submitSuccess:(e,t)=>{let r=i.error,n=t.payload;return{...e,error:r,isLoading:!1,lastSolvedParameters:n}}}})},3922:e=>{e.exports={breakpointXs:"480",breakpointS:"768",breakpointM:"992",breakpointL:"1200",breakpointXl:"1400",borderColorLight:"#d9d9d9",borderWidth:"1",colorBlueLight:"#dde4f6",colorGreenLight:"#d6ebd6",colorRedLight:"#fbe0d4",colorVioletLight:"#b284b8",colorYellowLight:"#f7f1d6",colorBackground:"#f4f4f4",colorBonusCharacterMultiplier2:"#b8d5ed",colorBonusCharacterMultiplier3:"#86aed1",colorBonusCharacterMultiplier4:"#3477b2",colorBonusWordMultiplier2:"#fbc997",colorBonusWordMultiplier3:"#f19393",colorBonusWordMultiplier4:"#ed5e5e",transitionDuration:"100",transitionDurationLong:"250",resultsItemHeight:"40"}},4053:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.superScrabble=void 0;let n=r(900);t.superScrabble={bingo:{score:50},blankScore:0,blanksCount:4,boardHeight:21,boardWidth:21,game:r(9604).Game.SuperScrabble,name:"Super Scrabble",rackSize:7,bonuses:[{multiplier:4,type:n.BONUS_WORD,x:0,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:0},{multiplier:3,type:n.BONUS_WORD,x:7,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:0},{multiplier:3,type:n.BONUS_WORD,x:13,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:17,y:0},{multiplier:4,type:n.BONUS_WORD,x:20,y:0},{multiplier:2,type:n.BONUS_WORD,x:1,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:1},{multiplier:2,type:n.BONUS_WORD,x:8,y:1},{multiplier:2,type:n.BONUS_WORD,x:12,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:16,y:1},{multiplier:2,type:n.BONUS_WORD,x:19,y:1},{multiplier:2,type:n.BONUS_WORD,x:2,y:2},{multiplier:4,type:n.BONUS_CHARACTER,x:5,y:2},{multiplier:2,type:n.BONUS_WORD,x:9,y:2},{multiplier:2,type:n.BONUS_WORD,x:11,y:2},{multiplier:4,type:n.BONUS_CHARACTER,x:15,y:2},{multiplier:2,type:n.BONUS_WORD,x:18,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:3},{multiplier:3,type:n.BONUS_WORD,x:3,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:3},{multiplier:3,type:n.BONUS_WORD,x:10,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:3},{multiplier:3,type:n.BONUS_WORD,x:17,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:n.BONUS_WORD,x:4,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:n.BONUS_WORD,x:16,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:19,y:4},{multiplier:4,type:n.BONUS_CHARACTER,x:2,y:5},{multiplier:2,type:n.BONUS_WORD,x:5,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:5},{multiplier:2,type:n.BONUS_WORD,x:15,y:5},{multiplier:4,type:n.BONUS_CHARACTER,x:18,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:6},{multiplier:2,type:n.BONUS_WORD,x:6,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:n.BONUS_WORD,x:14,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:17,y:6},{multiplier:3,type:n.BONUS_WORD,x:0,y:7},{multiplier:2,type:n.BONUS_WORD,x:7,y:7},{multiplier:2,type:n.BONUS_WORD,x:13,y:7},{multiplier:3,type:n.BONUS_WORD,x:20,y:7},{multiplier:2,type:n.BONUS_WORD,x:1,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:16,y:8},{multiplier:2,type:n.BONUS_WORD,x:19,y:8},{multiplier:2,type:n.BONUS_WORD,x:2,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:9},{multiplier:2,type:n.BONUS_WORD,x:18,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:10},{multiplier:3,type:n.BONUS_WORD,x:3,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:10},{multiplier:3,type:n.BONUS_WORD,x:17,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:10},{multiplier:2,type:n.BONUS_WORD,x:2,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:11},{multiplier:2,type:n.BONUS_WORD,x:18,y:11},{multiplier:2,type:n.BONUS_WORD,x:1,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:16,y:12},{multiplier:2,type:n.BONUS_WORD,x:19,y:12},{multiplier:3,type:n.BONUS_WORD,x:0,y:13},{multiplier:2,type:n.BONUS_WORD,x:7,y:13},{multiplier:2,type:n.BONUS_WORD,x:13,y:13},{multiplier:3,type:n.BONUS_WORD,x:20,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:14},{multiplier:2,type:n.BONUS_WORD,x:6,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:14},{multiplier:2,type:n.BONUS_WORD,x:14,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:17,y:14},{multiplier:4,type:n.BONUS_CHARACTER,x:2,y:15},{multiplier:2,type:n.BONUS_WORD,x:5,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:15},{multiplier:2,type:n.BONUS_WORD,x:15,y:15},{multiplier:4,type:n.BONUS_CHARACTER,x:18,y:15},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:16},{multiplier:2,type:n.BONUS_WORD,x:4,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:16},{multiplier:2,type:n.BONUS_WORD,x:16,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:19,y:16},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:17},{multiplier:3,type:n.BONUS_WORD,x:3,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:17},{multiplier:3,type:n.BONUS_WORD,x:10,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:17},{multiplier:3,type:n.BONUS_WORD,x:17,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:17},{multiplier:2,type:n.BONUS_WORD,x:2,y:18},{multiplier:4,type:n.BONUS_CHARACTER,x:5,y:18},{multiplier:2,type:n.BONUS_WORD,x:9,y:18},{multiplier:2,type:n.BONUS_WORD,x:11,y:18},{multiplier:4,type:n.BONUS_CHARACTER,x:15,y:18},{multiplier:2,type:n.BONUS_WORD,x:18,y:18},{multiplier:2,type:n.BONUS_WORD,x:1,y:19},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:19},{multiplier:2,type:n.BONUS_WORD,x:8,y:19},{multiplier:2,type:n.BONUS_WORD,x:12,y:19},{multiplier:3,type:n.BONUS_CHARACTER,x:16,y:19},{multiplier:2,type:n.BONUS_WORD,x:19,y:19},{multiplier:4,type:n.BONUS_WORD,x:0,y:20},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:20},{multiplier:3,type:n.BONUS_WORD,x:7,y:20},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:20},{multiplier:3,type:n.BONUS_WORD,x:13,y:20},{multiplier:2,type:n.BONUS_CHARACTER,x:17,y:20},{multiplier:4,type:n.BONUS_WORD,x:20,y:20}]}},4073:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBoardWords=function(e){return[...(0,n.getWordsInRows)(e.rows,"horizontal"),...(0,n.getWordsInRows)((0,i.transpose)(e.rows),"vertical")]};let n=r(9459),i=r(5807)},4088:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.crossplay=void 0;let n=r(900);t.crossplay={bingo:{score:40},blankScore:0,blanksCount:3,boardHeight:15,boardWidth:15,game:r(9604).Game.Crossplay,name:"Crossplay",rackSize:7,bonuses:[{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:0},{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:6},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:6},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:5,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:9,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:5},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:7},{multiplier:2,type:n.BONUS_WORD,x:1,y:1},{multiplier:2,type:n.BONUS_WORD,x:13,y:1},{multiplier:2,type:n.BONUS_WORD,x:1,y:13},{multiplier:2,type:n.BONUS_WORD,x:13,y:13},{multiplier:2,type:n.BONUS_WORD,x:3,y:7},{multiplier:2,type:n.BONUS_WORD,x:11,y:7},{multiplier:2,type:n.BONUS_WORD,x:7,y:3},{multiplier:2,type:n.BONUS_WORD,x:7,y:11},{multiplier:3,type:n.BONUS_WORD,x:3,y:0},{multiplier:3,type:n.BONUS_WORD,x:11,y:0},{multiplier:3,type:n.BONUS_WORD,x:3,y:14},{multiplier:3,type:n.BONUS_WORD,x:11,y:14},{multiplier:3,type:n.BONUS_WORD,x:0,y:3},{multiplier:3,type:n.BONUS_WORD,x:14,y:3},{multiplier:3,type:n.BONUS_WORD,x:0,y:11},{multiplier:3,type:n.BONUS_WORD,x:14,y:11}]}},4165:(e,t,r)=>{"use strict";r.d(t,{n:()=>i});var n=r(9604);let i={autoGroupTiles:null,game:n.Game.Scrabble,highlightUnreachableCells:!1,inputMode:"keyboard",locale:n.Locale.EN_US,removeCellFilters:"always",showCoordinates:"original"}},4197:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.kelimelik=void 0;let n=r(900);t.kelimelik={bingo:{score:30},blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(9604).Game.Kelimelik,name:"Kelimelik",rackSize:7,bonuses:[{multiplier:3,type:n.BONUS_WORD,x:2,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:n.BONUS_WORD,x:12,y:0},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:1},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:1},{multiplier:3,type:n.BONUS_WORD,x:0,y:2},{multiplier:2,type:n.BONUS_WORD,x:7,y:2},{multiplier:3,type:n.BONUS_WORD,x:14,y:2},{multiplier:2,type:n.BONUS_WORD,x:3,y:3},{multiplier:2,type:n.BONUS_WORD,x:11,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:6},{multiplier:2,type:n.BONUS_WORD,x:2,y:7},{multiplier:2,type:n.BONUS_WORD,x:12,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:4,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:10,y:10},{multiplier:2,type:n.BONUS_WORD,x:3,y:11},{multiplier:2,type:n.BONUS_WORD,x:11,y:11},{multiplier:3,type:n.BONUS_WORD,x:0,y:12},{multiplier:2,type:n.BONUS_WORD,x:7,y:12},{multiplier:3,type:n.BONUS_WORD,x:14,y:12},{multiplier:3,type:n.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:13},{multiplier:3,type:n.BONUS_CHARACTER,x:13,y:13},{multiplier:3,type:n.BONUS_WORD,x:2,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:n.BONUS_WORD,x:12,y:14}]}},4260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isCellJson=void 0;let n=r(7197),i=r(4684);t.isCellJson=e=>(0,n.isObject)(e)&&"boolean"==typeof e.isEmpty&&((0,i.isTileJson)(e.tile)||null===e.tile)&&"number"==typeof e.x&&"number"==typeof e.y},4264:(e,t,r)=>{"use strict";r.d(t,{f:()=>o,o:()=>i});var n=r(1644);let i=e=>e.cellFilters,o=(0,n.Mz)([i,(e,t)=>t],(e,t)=>e.find(e=>e.x===t.x&&e.y===t.y))},4365:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCollisions=function(e,t,r){let i=[];for(let o of t){if(o.isFilled())continue;let t=(0,n.getCollision)(o,e,r);t.length>1&&i.push(t)}return i};let n=r(5796)},4467:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.letterLeague=void 0;let n=r(900);t.letterLeague={bingo:{multiplier:2},blankScore:0,blanksCount:2,boardHeight:19,boardWidth:27,game:r(9604).Game.LetterLeague,name:"Letter League",rackSize:7,bonuses:[{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:18,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:23,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:1},{multiplier:2,type:n.BONUS_WORD,x:5,y:1},{multiplier:2,type:n.BONUS_WORD,x:9,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:1},{multiplier:2,type:n.BONUS_WORD,x:17,y:1},{multiplier:2,type:n.BONUS_WORD,x:21,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:25,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:16,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:18,y:2},{multiplier:3,type:n.BONUS_CHARACTER,x:20,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:22,y:2},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:3},{multiplier:2,type:n.BONUS_WORD,x:1,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:3},{multiplier:3,type:n.BONUS_WORD,x:7,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:3},{multiplier:2,type:n.BONUS_WORD,x:13,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:3},{multiplier:3,type:n.BONUS_WORD,x:19,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:24,y:3},{multiplier:2,type:n.BONUS_WORD,x:25,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:26,y:3},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:16,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:18,y:4},{multiplier:3,type:n.BONUS_CHARACTER,x:20,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:22,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:5},{multiplier:2,type:n.BONUS_WORD,x:5,y:5},{multiplier:2,type:n.BONUS_WORD,x:9,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:5},{multiplier:2,type:n.BONUS_WORD,x:17,y:5},{multiplier:2,type:n.BONUS_WORD,x:21,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:25,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:18,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:23,y:6},{multiplier:2,type:n.BONUS_WORD,x:4,y:7},{multiplier:2,type:n.BONUS_WORD,x:10,y:7},{multiplier:2,type:n.BONUS_WORD,x:16,y:7},{multiplier:2,type:n.BONUS_WORD,x:22,y:7},{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:2,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:8},{multiplier:2,type:n.BONUS_CHARACTER,x:19,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:24,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:26,y:8},{multiplier:2,type:n.BONUS_WORD,x:3,y:9},{multiplier:2,type:n.BONUS_WORD,x:7,y:9},{multiplier:2,type:n.BONUS_WORD,x:11,y:9},{multiplier:2,type:n.BONUS_WORD,x:15,y:9},{multiplier:2,type:n.BONUS_WORD,x:19,y:9},{multiplier:2,type:n.BONUS_WORD,x:23,y:9},{multiplier:3,type:n.BONUS_CHARACTER,x:0,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:2,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:7,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:12,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:14,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:19,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:24,y:10},{multiplier:3,type:n.BONUS_CHARACTER,x:26,y:10},{multiplier:2,type:n.BONUS_WORD,x:4,y:11},{multiplier:2,type:n.BONUS_WORD,x:10,y:11},{multiplier:2,type:n.BONUS_WORD,x:16,y:11},{multiplier:2,type:n.BONUS_WORD,x:22,y:11},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:18,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:23,y:12},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:13},{multiplier:2,type:n.BONUS_WORD,x:5,y:13},{multiplier:2,type:n.BONUS_WORD,x:9,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:13},{multiplier:2,type:n.BONUS_WORD,x:17,y:13},{multiplier:2,type:n.BONUS_WORD,x:21,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:25,y:13},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:16,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:18,y:14},{multiplier:3,type:n.BONUS_CHARACTER,x:20,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:22,y:14},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:15},{multiplier:2,type:n.BONUS_WORD,x:1,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:2,y:15},{multiplier:3,type:n.BONUS_WORD,x:7,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:12,y:15},{multiplier:2,type:n.BONUS_WORD,x:13,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:14,y:15},{multiplier:3,type:n.BONUS_WORD,x:19,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:24,y:15},{multiplier:2,type:n.BONUS_WORD,x:25,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:26,y:15},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:6,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:8,y:16},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:16},{multiplier:2,type:n.BONUS_CHARACTER,x:16,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:18,y:16},{multiplier:3,type:n.BONUS_CHARACTER,x:20,y:16},{multiplier:2,type:n.BONUS_CHARACTER,x:22,y:16},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:17},{multiplier:2,type:n.BONUS_WORD,x:5,y:17},{multiplier:2,type:n.BONUS_WORD,x:9,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:13,y:17},{multiplier:2,type:n.BONUS_WORD,x:17,y:17},{multiplier:2,type:n.BONUS_WORD,x:21,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:25,y:17},{multiplier:2,type:n.BONUS_CHARACTER,x:3,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:8,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:11,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:15,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:18,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:20,y:18},{multiplier:2,type:n.BONUS_CHARACTER,x:23,y:18}]}},4554:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.Locale=void 0,(n=r||(t.Locale=r={})).DE_DE="de-DE",n.EN_GB="en-GB",n.EN_US="en-US",n.ES_ES="es-ES",n.FA_IR="fa-IR",n.FR_FR="fr-FR",n.PL_PL="pl-PL",n.RO_RO="ro-RO",n.TR_TR="tr-TR"},4684:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTileJson=void 0;let n=r(7197);t.isTileJson=e=>(0,n.isObject)(e)&&"string"==typeof e.character&&"boolean"==typeof e.isBlank},4704:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Cell=void 0;let n=r(7076);class i{constructor({isEmpty:e=!0,tile:t=n.Tile.Null,x:r,y:i}){this.isEmpty=e,this.tile=t,this.x=r,this.y=i}clone(){return new i({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(e){return this.x===e.x&&this.y===e.y&&this.isEmpty===e.isEmpty&&this.tile.equals(e.tile)}hasTile(){return this.tile!==n.Tile.Null}isCandidate(){return this.isEmpty&&this.hasTile()}isFilled(){return!this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}t.Cell=i,i.fromJson=e=>new i({isEmpty:e.isEmpty,tile:n.Tile.fromJson(e.tile),x:e.x,y:e.y})},4740:(e,t,r)=>{"use strict";r.d(t,{P:()=>o,Z:()=>l});var n=r(9604);let i=JSON.parse('{"cell.enter-word":"Enter word","cell.filter-cell.exclude":"Exclude destination","cell.filter-cell.include":"Target destination","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.tile.location":"Board: tile {{coordinates}}","cell.toggle-direction":"Typing direction","common.arrows":"Arrow keys","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.next":"Next","common.off":"Off","common.on":"On","common.points":"Points","common.previous":"Previous","common.space":"Spacebar","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Word definition will be shown here.","dictionary.input.placeholder":"Search dictionary…","dictionary.input.title":"Comma-separated words","dictionary":"Dictionary","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Solve","keyMap.board-and-rack":"Board & rack","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-cell-filter":"Toggle destination filter","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board":"Board","keyMap.rack.insert-blank":"Insert blank","keyMap.rack":"Rack","keyMap":"Keyboard shortcuts","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","rack.touchscreen.placeholder":"Letters…","remaining-tiles":"Remaining tiles","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.insert":"Insert","results.preview":"Preview","results.select":"Select...","results.solve":"Solve","results":"Results","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.null":"Do not group","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles":"Group remaining tiles","settings.game":"Game","settings.highlightUnreachableCells":"Highlight unreachable cells","settings.inputMode.keyboard":"Keyboard","settings.inputMode.touchscreen":"Touchscreen","settings.inputMode":"Input mode","settings.language":"Language","settings.removeCellFilters.always":"Always","settings.removeCellFilters.never":"Never","settings.removeCellFilters":"Automatically remove filters from board","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.original":"Original","settings.showCoordinates":"Coordinates","settings":"Settings","words.empty-state.no-words":"No created words - the board is empty.","words.input.placeholder":"Search words... (RegExp)","words.invalid":"Invalid","words.preview":"Preview","words.valid":"Valid","words.validity":"Validity","words":"Created words"}'),o=i,c={[n.Locale.DE_DE]:async()=>(await r.e(865).then(r.t.bind(r,8865,19))).default,[n.Locale.EN_GB]:async()=>i,[n.Locale.EN_US]:async()=>i,[n.Locale.ES_ES]:async()=>(await r.e(307).then(r.t.bind(r,307,19))).default,[n.Locale.FA_IR]:async()=>(await r.e(663).then(r.t.bind(r,8663,19))).default,[n.Locale.FR_FR]:async()=>(await r.e(601).then(r.t.bind(r,6363,19))).default,[n.Locale.PL_PL]:async()=>(await r.e(422).then(r.t.bind(r,9422,19))).default,[n.Locale.RO_RO]:async()=>(await r.e(820).then(r.t.bind(r,8820,19))).default,[n.Locale.TR_TR]:async()=>(await r.e(939).then(r.t.bind(r,6939,19))).default},l=e=>c[e]()},4774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.spanishScrabble=void 0;let n=r(9604),i=r(6706);t.spanishScrabble=new n.Config({...i.scrabble,locale:n.Locale.ES_ES,tiles:[{character:"a",count:12,score:1},{character:"b",count:2,score:3},{character:"c",count:4,score:3},{character:"ch",count:1,score:5},{character:"d",count:5,score:2},{character:"e",count:12,score:1},{character:"f",count:1,score:4},{character:"g",count:2,score:2},{character:"h",count:2,score:4},{character:"i",count:6,score:1},{character:"j",count:1,score:8},{character:"ll",count:1,score:8},{character:"l",count:4,score:1},{character:"m",count:2,score:3},{character:"n",count:5,score:1},{character:"\xf1",count:1,score:8},{character:"o",count:9,score:1},{character:"p",count:2,score:3},{character:"q",count:1,score:5},{character:"r",count:5,score:1},{character:"rr",count:1,score:8},{character:"s",count:6,score:1},{character:"t",count:4,score:1},{character:"u",count:5,score:1},{character:"v",count:1,score:4},{character:"x",count:1,score:8},{character:"y",count:1,score:4},{character:"z",count:1,score:10}]})},4811:(e,t,r)=>{"use strict";function n(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}r.d(t,{U1:()=>ex,VP:()=>e_,Z0:()=>eE});var i,o="function"==typeof Symbol&&Symbol.observable||"@@observable",c=()=>Math.random().toString(36).substring(7).split("").join("."),l={INIT:`@@redux/INIT${c()}`,REPLACE:`@@redux/REPLACE${c()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${c()}`};function a(e){if("object"!=typeof e||null===e)return!1;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||null===Object.getPrototypeOf(e)}function u(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...r)=>e(t(...r)))}var s=Symbol.for("immer-nothing"),p=Symbol.for("immer-draftable"),y=Symbol.for("immer-state");function f(e){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var d=Object,h=d.getPrototypeOf,m="constructor",R="prototype",C="configurable",O="enumerable",_="writable",g="value",A=e=>!!e&&!!e[y];function v(e){return!!e&&(b(e)||w(e)||!!e[p]||!!e[m]?.[p]||H(e)||W(e))}var S=d[R][m].toString(),x=new WeakMap;function b(e){if(!e||!k(e))return!1;let t=h(e);if(null===t||t===d[R])return!0;let r=d.hasOwnProperty.call(t,m)&&t[m];if(r===Object)return!0;if(!D(r))return!1;let n=x.get(r);return void 0===n&&(n=Function.toString.call(r),x.set(r,n)),n===S}function N(e,t,r=!0){0===E(e)?(r?Reflect.ownKeys(e):d.keys(e)).forEach(r=>{t(r,e[r],e)}):e.forEach((r,n)=>t(n,r,e))}function E(e){let t=e[y];return t?t.type_:w(e)?1:H(e)?2:3*!!W(e)}var B=(e,t,r=E(e))=>2===r?e.has(t):d[R].hasOwnProperty.call(e,t),U=(e,t,r=E(e))=>2===r?e.get(t):e[t],T=(e,t,r,n=E(e))=>{2===n?e.set(t,r):3===n?e.add(r):e[t]=r},w=Array.isArray,H=e=>e instanceof Map,W=e=>e instanceof Set,k=e=>"object"==typeof e,D=e=>"function"==typeof e,L=e=>e.modified_?e.copy_:e.base_;function M(e,t){if(H(e))return new Map(e);if(W(e))return new Set(e);if(w(e))return Array[R].slice.call(e);let r=b(e);if(!0!==t&&("class_only"!==t||r)){let t=h(e);if(null!==t&&r)return{...e};let n=d.create(t);return d.assign(n,e)}{let t=d.getOwnPropertyDescriptors(e);delete t[y];let r=Reflect.ownKeys(t);for(let n=0;n<r.length;n++){let i=r[n],o=t[i];!1===o[_]&&(o[_]=!0,o[C]=!0),(o.get||o.set)&&(t[i]={[C]:!0,[_]:!0,[O]:o[O],[g]:e[i]})}return d.create(h(e),t)}}function P(e,t=!1){return I(e)||A(e)||!v(e)||(E(e)>1&&d.defineProperties(e,{set:j,add:j,clear:j,delete:j}),d.freeze(e),t&&N(e,(e,t)=>{P(t,!0)},!1)),e}var j={[g]:function(){f(2)}};function I(e){return!(null!==e&&k(e))||d.isFrozen(e)}var z="MapSet",F="Patches",q="ArrayMethods",G={};function J(e){let t=G[e];return t||f(0),t}var V=e=>!!G[e];function $(e,t){t&&(e.patchPlugin_=J(F),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Y(e){K(e),e.drafts_.forEach(Z),e.drafts_=null}function K(e){e===i&&(i=e.parent_)}var X=e=>i={drafts_:[],parent_:i,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:V(z)?J(z):void 0,arrayMethodsPlugin_:V(q)?J(q):void 0};function Z(e){let t=e[y];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Q(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(void 0!==e&&e!==r){r[y].modified_&&(Y(t),f(4)),v(e)&&(e=ee(t,e));let{patchPlugin_:n}=t;n&&n.generateReplacementPatches_(r[y].base_,e,t)}else e=ee(t,r);return function(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&P(t,r)}(t,e,!0),Y(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==s?e:void 0}function ee(e,t){if(I(t))return t;let r=t[y];if(!r)return ec(t,e.handledSet_,e);if(!er(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){let{callbacks_:t}=r;if(t)for(;t.length>0;)t.pop()(e);eo(r,e)}return r.copy_}function et(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var er=(e,t)=>e.scope_===t,en=[];function ei(e,t,r,n){let i=e.copy_||e.base_,o=e.type_;if(void 0!==n&&U(i,n,o)===t)return void T(i,n,r,o);if(!e.draftLocations_){let t=e.draftLocations_=new Map;N(i,(e,r)=>{if(A(r)){let n=t.get(r)||[];n.push(e),t.set(r,n)}})}for(let n of e.draftLocations_.get(t)??en)T(i,n,r,o)}function eo(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:r}=t;if(r){let n=r.getPath(e);n&&r.generatePatches_(e,n,t)}et(e)}}function ec(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||A(e)||t.has(e)||!v(e)||I(e)||(t.add(e),N(e,(n,i)=>{if(A(i)){let t=i[y];er(t,r)&&(T(e,n,L(t),e.type_),et(t))}else v(i)&&ec(i,t,r)})),e}var el={get(e,t){var r,n,i;let o;if(t===y)return e;let c=e.scope_.arrayMethodsPlugin_,l=1===e.type_&&"string"==typeof t;if(l&&c?.isArrayOperationMethod(t))return c.createMethodInterceptor(e,t);let a=e.copy_||e.base_;if(!B(a,t,e.type_)){let n;return r=e,(n=es(a,t))?g in n?n[g]:n.get?.call(r.draft_):void 0}let u=a[t];if(e.finalized_||!v(u)||l&&e.operationMethod&&c?.isMutatingArrayMethod(e.operationMethod)&&Number.isInteger(o=+t)&&String(o)===t)return u;if(u===eu(e.base_,t)||(n=e,i=u,1===n.type_&&n.allIndicesReassigned_&&v(i)&&!i[y]&&n.baseRefs_.has(i))){ey(e);let r=1===e.type_?+t:t,n=ed(e.scope_,u,e,r);return e.copy_[r]=n}return u},has:(e,t)=>t in(e.copy_||e.base_),ownKeys:e=>Reflect.ownKeys(e.copy_||e.base_),set(e,t,r){let n=es(e.copy_||e.base_,t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let n=eu(e.copy_||e.base_,t),i=n?.[y];if(i&&i.base_===r)return e.copy_[t]=r,e.assigned_.delete(t),!0;if((r===n?0!==r||1/r==1/n:r!=r&&n!=n)&&(void 0!==r||B(e.base_,t,e.type_)))return!0;ey(e),ep(e)}return!!(e.copy_[t]===r&&(void 0!==r||B(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t]))||(e.copy_[t]=r,e.assigned_.set(t,!0),!function(e,t,r){let{scope_:n}=e;if(A(r)){let i=r[y];er(i,n)&&i.callbacks_.push(function(){ey(e),ei(e,r,L(i),t)})}else v(r)&&e.callbacks_.push(function(){let i=e.copy_||e.base_;3===e.type_?i.has(r)&&ec(r,n.handledSet_,n):U(i,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&ec(U(e.copy_,t,e.type_),n.handledSet_,n)})}(e,t,r),!0)},deleteProperty:(e,t)=>(ey(e),void 0!==eu(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),ep(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){let r=e.copy_||e.base_,n=Reflect.getOwnPropertyDescriptor(r,t);return n?{[_]:!0,[C]:1!==e.type_||"length"!==t,[O]:n[O],[g]:r[t]}:n},defineProperty(){f(11)},getPrototypeOf:e=>h(e.base_),setPrototypeOf(){f(12)}},ea={};for(let e in el){let t=el[e];ea[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function eu(e,t){let r=e[y];return(r?r.copy_||r.base_:e)[t]}function es(e,t){if(!(t in e))return;let r=h(e);for(;r;){let e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=h(r)}}function ep(e){!e.modified_&&(e.modified_=!0,e.parent_&&ep(e.parent_))}function ey(e){e.copy_||(e.assigned_=new Map,e.copy_=M(e.base_,e.scope_.immer_.useStrictShallowCopy_))}ea.deleteProperty=function(e,t){return ea.set.call(this,e,t,void 0)},ea.set=function(e,t,r){return el.set.call(this,e[0],t,r,e[0])};var ef=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,r)=>{let n;if(D(e)&&!D(t)){let r=t;t=e;let n=this;return function(e=r,...i){return n.produce(e,e=>t.call(this,e,...i))}}if(D(t)||f(6),void 0===r||D(r)||f(7),v(e)){let i=X(this),o=ed(i,e,void 0),c=!0;try{n=t(o),c=!1}finally{c?Y(i):K(i)}return $(i,r),Q(n,i)}if(e&&k(e))f(1);else{if(void 0===(n=t(e))&&(n=e),n===s&&(n=void 0),this.autoFreeze_&&P(n,!0),r){let t=[],i=[];J(F).generateReplacementPatches_(e,n,{patches_:t,inversePatches_:i}),r(t,i)}return n}},this.produceWithPatches=(e,t)=>{let r,n;return D(e)?(t,...r)=>this.produceWithPatches(t,t=>e(t,...r)):[this.produce(e,t,(e,t)=>{r=e,n=t}),r,n]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),"boolean"==typeof e?.useStrictIteration&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){var t;v(e)||f(8),A(e)&&(A(t=e)||f(10),e=function e(t){let r;if(!v(t)||I(t))return t;let n=t[y],i=!0;if(n){if(!n.modified_)return n.base_;n.finalized_=!0,r=M(t,n.scope_.immer_.useStrictShallowCopy_),i=n.scope_.immer_.shouldUseStrictIteration()}else r=M(t,!0);let o=r;return W(r)&&(r=new Set),N(o,(t,n)=>{T(r,t,e(n))},i),n&&(n.finalized_=!1),r}(t));let r=X(this),n=ed(r,e,void 0);return n[y].isManual_=!0,K(r),n}finishDraft(e,t){let r=e&&e[y];r&&r.isManual_||f(9);let{scope_:n}=r;return $(n,t),Q(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));let n=J(F).applyPatches_;return A(e)?n(e,t):this.produce(e,e=>n(e,t))}};function ed(e,t,r,n){let[o,c]=H(t)?J(z).proxyMap_(t,r):W(t)?J(z).proxySet_(t,r):function(e,t){let r=w(e),n={type_:+!!r,scope_:t?t.scope_:i,modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},o=n,c=el;r&&(o=[n],c=ea);let{revoke:l,proxy:a}=Proxy.revocable(o,c);return n.draft_=a,n.revoke_=l,[a,n]}(t,r);if((r?.scope_??i).drafts_.push(o),c.callbacks_=r?.callbacks_??[],c.key_=n,r&&void 0!==n)r.callbacks_.push(function(e){if(!c||!er(c,e))return;e.mapSetPlugin_?.fixSetContents(c);let t=L(c);ei(r,c.draft_??c,t,n),eo(c,e)});else c.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(c);let{patchPlugin_:t}=e;c.modified_&&t&&t.generatePatches_(c,[],e)});return o}var eh=globalThis.Iterator;eh?.from;var em=new ef().produce;function eR(e){return({dispatch:t,getState:r})=>n=>i=>"function"==typeof i?i(t,r,e):n(i)}var eC=eR();r(3601);let eO="u">typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!=arguments.length)return"object"==typeof arguments[0]?u:u.apply(null,arguments)};function e_(e,t){function r(...n){if(t){let r=t(...n);if(!r)throw Error(ek(0));return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=t=>a(t)&&"type"in t&&"string"==typeof t.type&&t.type===e,r}"u">typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var eg=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return 1===t.length&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function eA(e){return v(e)?em(e,()=>{}):e}function ev(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}let eS=e=>t=>{setTimeout(t,e)};function ex(e){let t,r,i,c=function(e){let{thunk:t=!0,immutableCheck:r=!0,serializableCheck:n=!0,actionCreatorCheck:i=!0}=e??{},o=new eg;return t&&("boolean"==typeof t?o.push(eC):o.push(eR(t.extraArgument))),o},{reducer:s,middleware:p,devTools:y=!0,duplicateMiddlewareCheck:f=!0,preloadedState:d,enhancers:h}=e||{};if("function"==typeof s)t=s;else if(a(s))t=function(e){let t,r=Object.keys(e),i={};for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof e[n]&&(i[n]=e[n])}let o=Object.keys(i);try{Object.keys(i).forEach(e=>{let t=i[e];if(void 0===t(void 0,{type:l.INIT}))throw Error(n(12));if(void 0===t(void 0,{type:l.PROBE_UNKNOWN_ACTION()}))throw Error(n(13))})}catch(e){t=e}return function(e={},r){if(t)throw t;let c=!1,l={};for(let t=0;t<o.length;t++){let a=o[t],u=i[a],s=e[a],p=u(s,r);if(void 0===p)throw r&&r.type,Error(n(14));l[a]=p,c=c||p!==s}return(c=c||o.length!==Object.keys(e).length)?l:e}}(s);else throw Error(ek(1));r="function"==typeof p?p(c):c();let m=u;y&&(m=eO({trace:!1,..."object"==typeof y&&y}));let R=(i=function(...e){return t=>(r,i)=>{let o=t(r,i),c=()=>{throw Error(n(15))},l={getState:o.getState,dispatch:(e,...t)=>c(e,...t)};return c=u(...e.map(e=>e(l)))(o.dispatch),{...o,dispatch:c}}}(...r),function(e){let{autoBatch:t=!0}=e??{},r=new eg(i);return t&&r.push(((e={type:"raf"})=>t=>(...r)=>{let n,i=t(...r),o=!0,c=!1,l=!1,a=new Set,u="tick"===e.type?queueMicrotask:"raf"===e.type?"u">typeof window&&window.requestAnimationFrame?(n=window.requestAnimationFrame,e=>{let t,r,i=!1,o=()=>{i||(i=!0,cancelAnimationFrame(t),clearTimeout(r),e())};t=n(o),r=setTimeout(o,100)}):eS(10):"callback"===e.type?e.queueNotification:eS(e.timeout),s=()=>{l=!1,c&&(c=!1,a.forEach(e=>e()))};return Object.assign({},i,{subscribe(e){let t=i.subscribe(()=>o&&e());return a.add(e),()=>{t(),a.delete(e)}},dispatch(e){try{return(c=!(o=!e?.meta?.RTK_autoBatch))&&!l&&(l=!0,u(s)),i.dispatch(e)}finally{o=!0}}})})("object"==typeof t?t:void 0)),r});return function e(t,r,i){if("function"!=typeof t)throw Error(n(2));if("function"==typeof r&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw Error(n(0));if("function"==typeof r&&void 0===i&&(i=r,r=void 0),void 0!==i){if("function"!=typeof i)throw Error(n(1));return i(e)(t,r)}let c=t,u=r,s=new Map,p=s,y=0,f=!1;function d(){p===s&&(p=new Map,s.forEach((e,t)=>{p.set(t,e)}))}function h(){if(f)throw Error(n(3));return u}function m(e){if("function"!=typeof e)throw Error(n(4));if(f)throw Error(n(5));let t=!0;d();let r=y++;return p.set(r,e),function(){if(t){if(f)throw Error(n(6));t=!1,d(),p.delete(r),s=null}}}function R(e){if(!a(e))throw Error(n(7));if(void 0===e.type)throw Error(n(8));if("string"!=typeof e.type)throw Error(n(17));if(f)throw Error(n(9));try{f=!0,u=c(u,e)}finally{f=!1}return(s=p).forEach(e=>{e()}),e}return R({type:l.INIT}),{dispatch:R,subscribe:m,getState:h,replaceReducer:function(e){if("function"!=typeof e)throw Error(n(10));c=e,R({type:l.REPLACE})},[o]:function(){return{subscribe(e){if("object"!=typeof e||null===e)throw Error(n(11));function t(){e.next&&e.next(h())}return t(),{unsubscribe:m(t)}},[o](){return this}}}}}(t,d,m(..."function"==typeof h?h(R):R()))}function eb(e){let t,r={},n=[],i={addCase(e,t){let n="string"==typeof e?e:e.type;if(!n)throw Error(ek(28));if(n in r)throw Error(ek(29));return r[n]=t,i},addAsyncThunk:(e,t)=>(t.pending&&(r[e.pending.type]=t.pending),t.rejected&&(r[e.rejected.type]=t.rejected),t.fulfilled&&(r[e.fulfilled.type]=t.fulfilled),t.settled&&n.push({matcher:e.settled,reducer:t.settled}),i),addMatcher:(e,t)=>(n.push({matcher:e,reducer:t}),i),addDefaultCase:e=>(t=e,i)};return e(i),[r,n,t]}let eN=Symbol.for("rtk-slice-createasyncthunk"),eE=function({creators:e}={}){let t=e?.asyncThunk?.[eN];return function(e){let r,{name:n,reducerPath:i=n}=e;if(!n)throw Error(ek(11));let o=("function"==typeof e.reducers?e.reducers(function(){function e(e,t){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer:e=>Object.assign({[e.name]:(...t)=>e(...t)}[e.name],{_reducerDefinitionType:"reducer"}),preparedReducer:(e,t)=>({_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:t}),asyncThunk:e}}()):e.reducers)||{},c=Object.keys(o),l={},a={},u={},s=[],p={addCase(e,t){let r="string"==typeof e?e:e.type;if(!r)throw Error(ek(12));if(r in a)throw Error(ek(13));return a[r]=t,p},addMatcher:(e,t)=>(s.push({matcher:e,reducer:t}),p),exposeAction:(e,t)=>(u[e]=t,p),exposeCaseReducer:(e,t)=>(l[e]=t,p)};function y(){let[t={},r=[],n]="function"==typeof e.extraReducers?eb(e.extraReducers):[e.extraReducers],i={...t,...a};return function(e,t){let r,[n,i,o]=eb(t);if("function"==typeof e)r=()=>eA(e());else{let t=eA(e);r=()=>t}function c(e=r(),t){let l=[n[t.type],...i.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return 0===l.filter(e=>!!e).length&&(l=[o]),l.reduce((e,r)=>{if(r)if(A(e)){let n=r(e,t);return void 0===n?e:n}else{if(v(e))return em(e,e=>r(e,t));let n=r(e,t);if(void 0===n){if(null===e)return e;throw Error(ek(9))}return n}return e},e)}return c.getInitialState=r,c}(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of s)e.addMatcher(t.matcher,t.reducer);for(let t of r)e.addMatcher(t.matcher,t.reducer);n&&e.addDefaultCase(n)})}c.forEach(r=>{let i=o[r],c={reducerName:r,type:`${n}/${r}`,createNotation:"function"==typeof e.reducers};"asyncThunk"===i._reducerDefinitionType?function({type:e,reducerName:t},r,n,i){if(!i)throw Error(ek(18));let{payloadCreator:o,fulfilled:c,pending:l,rejected:a,settled:u,options:s}=r,p=i(e,o,s);n.exposeAction(t,p),c&&n.addCase(p.fulfilled,c),l&&n.addCase(p.pending,l),a&&n.addCase(p.rejected,a),u&&n.addMatcher(p.settled,u),n.exposeCaseReducer(t,{fulfilled:c||eB,pending:l||eB,rejected:a||eB,settled:u||eB})}(c,i,p,t):function({type:e,reducerName:t,createNotation:r},n,i){let o,c;if("reducer"in n){if(r&&"reducerWithPrepare"!==n._reducerDefinitionType)throw Error(ek(17));o=n.reducer,c=n.prepare}else o=n;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,c?e_(e,c):e_(e))}(c,i,p)});let f=e=>e,d=new Map,h=new WeakMap;function m(e,t){return r||(r=y()),r(e,t)}function R(){return r||(r=y()),r.getInitialState()}function C(t,r=!1){function n(e){let i=e[t];return void 0===i&&r&&(i=ev(h,n,R)),i}function i(t=f){return ev(ev(d,r,()=>new WeakMap),t,()=>{let n={};for(let[i,o]of Object.entries(e.selectors??{}))n[i]=function(e,t,r,n){function i(o,...c){let l=t(o);return void 0===l&&n&&(l=r()),e(l,...c)}return i.unwrapped=e,i}(o,t,()=>ev(h,t,R),r);return n})}return{reducerPath:t,getSelectors:i,get selectors(){return i(n)},selectSlice:n}}let O={name:n,reducer:m,actions:u,caseReducers:l,getInitialState:R,...C(i),injectInto(e,{reducerPath:t,...r}={}){let n=t??i;return e.inject({reducerPath:n,reducer:m},r),{...O,...C(n,!0)}}};return O}}();function eB(){}let{assign:eU}=Object,eT="listenerMiddleware",ew=eU(e=>{let{type:t,predicate:r,effect:n}=(e=>{let{type:t,actionCreator:r,matcher:n,predicate:i,effect:o}=e;if(t)i=e_(t).match;else if(r)t=r.type,i=r.match;else if(n)i=n;else if(i);else throw Error(ek(21));if("function"!=typeof o)throw TypeError(ek(32));return{predicate:i,type:t,effect:o}})(e);return{id:((e=21)=>{let t="",r=e;for(;r--;)t+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return t})(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw Error(ek(22))}}},{withTypes:()=>ew}),eH=eU(e_(`${eT}/add`),{withTypes:()=>eH}),eW=eU(e_(`${eT}/remove`),{withTypes:()=>eW});function ek(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}Symbol.for("rtk-state-proxy-original")},4880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Board=void 0;let n=r(900),i=r(4704),o=r(5644),c=r(7076);class l{static fromStringArray(e){return new l({rows:e.map((e,t)=>e.split("").map((e,r)=>new i.Cell({isEmpty:!e||e===n.EMPTY_CELL,tile:e===n.EMPTY_CELL?c.Tile.Null:new c.Tile({character:e}),x:r,y:t})))})}constructor({rows:e}){this.rows=e,this.columnsCount=e[0].length,this.rowsCount=e.length}get center(){let e=Math.floor(this.columnsCount/2),t=Math.floor(this.rowsCount/2);return this.rows[t][e]}clone(){return new l({rows:this.rows.map(e=>e.map(e=>e.clone()))})}collides(e){return this.collidesUp(e)||this.collidesDown(e)||this.collidesLeft(e)||this.collidesRight(e)}collidesDown({x:e,y:t}){return t<this.rowsCount-1&&!this.rows[t+1][e].isEmpty}collidesLeft({x:e,y:t}){return e>0&&!this.rows[t][e-1].isEmpty}collidesRight({x:e,y:t}){return e<this.columnsCount-1&&!this.rows[t][e+1].isEmpty}collidesUp({x:e,y:t}){return t>0&&!this.rows[t-1][e].isEmpty}equals(e){return this.columnsCount===e.columnsCount&&this.rowsCount===e.rowsCount&&this.rows.every((t,r)=>t.every((t,n)=>t.equals(e.rows[r][n])))}getBlanksCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.tile.isBlank,0),0)}getCollidingWords(e){return(0,o.getCollidingWords)(this,e)}getColumn(e){return this.rows.map(t=>t[e])}getRow(e){return this.rows[e]}getTilesCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.hasTile(),0),0)}getWords(){return(0,o.getBoardWords)(this)}isEmpty(){return this.rows.every(e=>e.every(({isEmpty:e})=>e))}toJson(){return this.rows.map(e=>e.map(e=>e.toJson()))}toString(){return this.rows.map(e=>e.map(String).join("")).join("\n")}updateCell(e,t,r){this.rows[t][e]=r(this.rows[t][e])}updateRow(e,t){this.rows[e]=t(this.rows[e])}}t.Board=l,l.create=(e,t)=>{let r=Array(t),n=Array(e).fill(" ").join(""),i=r.fill(n);return l.fromStringArray(i)},l.fromJson=e=>new l({rows:e.map(e=>e.map(i.Cell.fromJson))})},5035:(e,t,r)=>{"use strict";r.d(t,{Fe:()=>c,Tx:()=>o,dp:()=>l,nD:()=>a});var n=r(1644),i=r(9604);let o=e=>e.dictionary;(0,n.Mz)([o],e=>e.input);let c=(0,n.Mz)([o],e=>e.results),l=(0,n.Mz)([o],e=>e.isLoading),a=(0,n.Mz)([o],e=>(0,i.isError)(e.error)?e.error:void 0)},5044:(e,t,r)=>{"use strict";r.d(t,{i:()=>i,x:()=>o});var n=r(1644);let i=e=>e.rack,o=(0,n.Mz)(i,e=>e.filter(e=>null!==e))},5227:(e,t,r)=>{"use strict";r.d(t,{CP:()=>g,Ce:()=>s,Gr:()=>O,Ip:()=>C,J2:()=>w,KG:()=>f,LO:()=>o,Ln:()=>_,Lo:()=>R,RO:()=>h,T7:()=>N,Uk:()=>T,W6:()=>a,_Q:()=>S,b2:()=>u,dW:()=>U,dX:()=>x,fG:()=>W,fd:()=>y,g:()=>c,gP:()=>v,hO:()=>m,m4:()=>A,oH:()=>d,oK:()=>p,pw:()=>b,tg:()=>H,v0:()=>l,vK:()=>E,wu:()=>B});var n=r(3922),i=r.n(n);let o={xs:Number(i().breakpointXs),s:Number(i().breakpointS),m:Number(i().breakpointM),l:Number(i().breakpointL),xl:Number(i().breakpointXl)},c="https://github.com/kamilmielnik/scrabble-solver",l="https://www.npmjs.com/package/scrabble-solver",a="https://scrabble-solver.org",u="Free, open-source board solver and word finder for Scrabble, Letter League, and Literaki. Enter your letters and board to get the highest-scoring words.",s="config-pending",p=Number(i().transitionDurationLong),y="var(--color--blue)",f="var(--color--green)",d="var(--color--red)",h="var(--color--yellow)",m=i().colorBackground,R=i().colorVioletLight,C={1:i().colorYellowLight,2:i().colorGreenLight,3:i().colorBlueLight,5:i().colorRedLight},O={2:i().colorBonusCharacterMultiplier2,3:i().colorBonusCharacterMultiplier3,4:i().colorBonusCharacterMultiplier4},_={2:i().colorBonusWordMultiplier2,3:i().colorBonusWordMultiplier3,4:i().colorBonusWordMultiplier4},g=3,A=i().borderColorLight,v=Number(i().borderWidth),S=166,x="/logo.svg",b=682,N=Number(i().transitionDuration),E=f,B={1:h,2:f,3:y,4:d,5:d,6:d,7:d,8:d,9:d,10:d},U=6,T=80,w=Number(i().resultsItemHeight),H=10,W=100},5350:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.Game=void 0,(n=r||(t.Game=r={})).Crossplay="crossplay",n.Kelimelik="kelimelik",n.LetterLeague="letter-league",n.Literaki="literaki",n.Scrabble="scrabble",n.ScrabbleDuel="scrabble-duel",n.SuperScrabble="super-scrabble",n.Wordfeud="wordfeud",n.Wyrazy="wyrazy"},5524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.scrabbleDuel=void 0;let n=r(900);t.scrabbleDuel={bingo:{score:50},blankScore:0,blanksCount:2,boardHeight:11,boardWidth:11,game:r(9604).Game.ScrabbleDuel,name:"Scrabble Duel",rackSize:7,bonuses:[{multiplier:2,type:n.BONUS_WORD,x:5,y:5},{multiplier:3,type:n.BONUS_WORD,x:0,y:0},{multiplier:3,type:n.BONUS_WORD,x:10,y:0},{multiplier:3,type:n.BONUS_WORD,x:0,y:10},{multiplier:3,type:n.BONUS_WORD,x:10,y:10},{multiplier:2,type:n.BONUS_WORD,x:1,y:1},{multiplier:2,type:n.BONUS_WORD,x:2,y:2},{multiplier:2,type:n.BONUS_WORD,x:9,y:1},{multiplier:2,type:n.BONUS_WORD,x:8,y:2},{multiplier:2,type:n.BONUS_WORD,x:1,y:9},{multiplier:2,type:n.BONUS_WORD,x:2,y:8},{multiplier:2,type:n.BONUS_WORD,x:9,y:9},{multiplier:2,type:n.BONUS_WORD,x:8,y:8},{multiplier:3,type:n.BONUS_CHARACTER,x:3,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:3,y:7},{multiplier:3,type:n.BONUS_CHARACTER,x:7,y:3},{multiplier:3,type:n.BONUS_CHARACTER,x:7,y:7},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:9},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:10},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:9,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:10,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:5,y:1},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:0},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:1,y:5},{multiplier:2,type:n.BONUS_CHARACTER,x:0,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:4},{multiplier:2,type:n.BONUS_CHARACTER,x:4,y:6},{multiplier:2,type:n.BONUS_CHARACTER,x:6,y:6}]}},5644:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4073),t),i(r(1733),t),i(r(6114),t),i(r(4365),t),i(r(3054),t)},5669:(e,t,r)=>{e.exports=r(3276)},5796:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCollision=function(e,t,r){let n=+!r,i=+!!r,o=e.x-n,c=e.y-i;for(;o>=0&&c>=0&&t.rows[c][o].isFilled();)o-=n,c-=i;o+=n,c+=i;let l=[];for(;c<t.rowsCount&&o<t.columnsCount;){if(o===e.x&&c===e.y)l.push(e);else{let e=t.rows[c][o];if(!e.isFilled())break;l.push(e.clone())}o+=n,c+=i}return l}},5807:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transpose=function(e){let t=e.length,r=e[0].length,n=Array(r).fill(null).map(()=>Array(t));for(let i=0;i<t;++i)for(let t=0;t<r;++t)n[t][i]=e[i][t];return n}},6009:(e,t,r)=>{"use strict";r.d(t,{O:()=>i});var n=r(8502);let i=(e,t)=>({column:t,direction:e.column===t?o(e.direction):e.direction}),o=e=>e===n.UE.Ascending?n.UE.Descending:n.UE.Ascending},6021:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return r(457)}])},6043:(e,t,r)=>{"use strict";e.exports=r(7877)},6114:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCollidingWords=function(e,t){let r="horizontal"===t.direction,i=r?"vertical":"horizontal",o=[],{x:c,y:l}=t;for(;c<e.columnsCount&&l<e.rowsCount&&!e.rows[l][c].isEmpty;){let t=(0,n.getWordThrough)(e,c,l,i);t&&o.push(t),c+=+!!r,l+=+!r}return o};let n=r(7033)},6303:(e,t,r)=>{"use strict";r.d(t,{h:()=>u});var n=r(4811),i=r(1790),o=r(900),c=r(9604),l=r(2214),a=r(1754);let u=(0,n.Z0)({initialState:a._,name:"board",reducers:{applyResult:(e,t)=>{let r=e.clone();return t.payload.cells.forEach(e=>{r.updateCell(e.x,e.y,()=>new c.Cell({isEmpty:!1,tile:e.tile,x:e.x,y:e.y}))}),r},change:(e,t)=>t.payload,changeCellValue:(e,t)=>{let r=e.clone(),{value:n,x:i,y:l}=t.payload,a=!n||n===o.EMPTY_CELL,u=a?c.Tile.Null:new c.Tile({character:n});return r.updateCell(i,l,e=>new c.Cell({isEmpty:a,tile:u,x:e.x,y:e.y})),r},init:(e,t)=>t.payload,toggleCellIsBlank:(e,t)=>{let r=e.clone(),{x:n,y:i}=t.payload;return r.updateCell(n,i,e=>{let t=e.isEmpty?e.tile:new c.Tile({isBlank:!e.tile.isBlank,character:e.tile.character});return new c.Cell({isEmpty:e.isEmpty,tile:t,x:e.x,y:e.y})}),r}},extraReducers:e=>{e.addCase(l.s.actions.changeGame,(e,t)=>{let r=t.payload,n=Object.values(i.games).find(e=>e.game===r);if(!n)throw Error(`Cannot find config for game "${r}"`);if(e.rows.length!==n.boardHeight||e.rows[0].length!==n.boardWidth){let t=c.Board.create(n.boardWidth,n.boardHeight),r=Math.floor(n.boardWidth/2)-Math.floor(e.rows[0].length/2),i=Math.floor(n.boardHeight/2)-Math.floor(e.rows.length/2);for(let o=0;o<e.rows.length;++o)for(let l=0;l<e.rows[o].length;++l){let a=e.rows[o][l];if(a.isEmpty)continue;let u=l+r,s=o+i;u<0||u>=n.boardWidth||s<0||s>=n.boardHeight||t.updateCell(u,s,()=>new c.Cell({...a,x:u,y:s}))}return t}return e})}})},6338:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Config=void 0;let n=r(900),i=r(7962),o=r(9495);class c{constructor(e){this.bonuses=l(e),this.config=e,this.pointsMap=u(this.config)}get alphabet(){return a(this.config)}get bingo(){return this.config.bingo}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardHeight(){return this.config.boardHeight}get boardWidth(){return this.config.boardWidth}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(e=>2===e.character.length).map(e=>e.character)}getCellBonus(e){return this.bonuses.find(t=>t.matchesCellCoordinates(e))}getCellBonusValue(e){return this.getCellBonus(e)?.value||n.NO_BONUS}getCharacterPoints(e){if(null!==e)return e===n.BLANK?this.blankScore:this.pointsMap[e]}getTwoCharacterTileByPrefix(e){if(1===e.length)return this.twoCharacterTiles.find(t=>t.startsWith(e.toLocaleLowerCase()))}getTilePoints(e){if(null!==e)return e.isBlank?this.blankScore:this.getCharacterPoints(e.character)}hasCharacter(e){return e in this.pointsMap}isTwoCharacterTilePrefix(e){return void 0!==this.getTwoCharacterTileByPrefix(e)}get rackSize(){return this.config.rackSize}get supportsRemainingTiles(){return this.tiles.every(e=>"number"==typeof e.count)}get tiles(){return this.config.tiles}toJson(){return this.config}}t.Config=c,c.fromJson=e=>new c(e);let l=e=>e.bonuses.map(e=>{if(e.type===n.BONUS_CHARACTER)return new i.CharacterBonus(e);if(e.type===n.BONUS_WORD)return new o.WordBonus(e);throw Error(`Unsupported Bonus type: "${e.type}"`)}),a=e=>e.tiles.map(({character:e})=>e),u=e=>e.tiles.reduce((e,{character:t,score:r})=>({...e,[t]:r}),{})},6360:(e,t,r)=>{"use strict";r.d(t,{w:()=>n});let n=(0,r(4811).Z0)({initialState:{character:null},name:"hoveredTile",reducers:{set:(e,t)=>{e.character=t.payload},clear:e=>{e.character=null}}})},6413:(e,t,r)=>{"use strict";r.d(t,{c:()=>o,n:()=>i});var n=r(4811);let i=(0,n.VP)("initialize"),o=(0,n.VP)("reset")},6552:function(e,t,r){"use strict";var n,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||(n=function(e){return(n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),c=0;c<r.length;c++)"default"!==r[c]&&i(t,e,r[c]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.hasConfig=void 0;let l=c(r(930));t.hasConfig=(e,t)=>Object.values(l).some(r=>r.game===e&&r.locale===t)},6706:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4088),t),i(r(4197),t),i(r(4467),t),i(r(7627),t),i(r(1898),t),i(r(5524),t),i(r(4053),t),i(r(3090),t),i(r(3158),t)},7033:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWordThrough=function(e,t,r,i){let o=+("horizontal"===i),c=+("horizontal"!==i),l=t,a=r;for(;l-o>=0&&a-c>=0&&!e.rows[a-c][l-o].isEmpty;)l-=o,a-=c;let u=[],s=l,p=a;for(;s<e.columnsCount&&p<e.rowsCount&&!e.rows[p][s].isEmpty;)u.push(e.rows[p][s]),s+=o,p+=c;return u.length>1?(0,n.toBoardWord)(u,i):void 0};let n=r(1027)},7076:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Tile=void 0;let n=r(900);class i{constructor({character:e,isBlank:t=!1}){this.character=e,this.isBlank=t}clone(){return new i({character:this.character,isBlank:this.isBlank})}equals(e){return this.character===e.character&&this.isBlank===e.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}t.Tile=i,i.fromJson=e=>e?new i({character:e.character,isBlank:e.isBlank}):i.Null,i.Null=Object.freeze({character:n.EMPTY_CELL,isBlank:!1,clone:()=>i.Null,equals:e=>e===i.Null,toJson:()=>null,toString:()=>n.EMPTY_CELL})},7133:(e,t,r)=>{"use strict";function n(){return new Promise(e=>{l(c(e))})}function i(){return new Promise(e=>{c(e)})}function o(){return new Promise(e=>l(e))}function c(e){let t=()=>{window.removeEventListener("pointerdown",t),window.removeEventListener("keydown",t),e()};return window.addEventListener("pointerdown",t,{once:!0}),window.addEventListener("keydown",t,{once:!0}),t}function l(e){let t=()=>{"requestIdleCallback"in window?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,5e3)};"complete"===document.readyState?t():window.addEventListener("load",t,{once:!0})}r.d(t,{$J:()=>o,cH:()=>n,j7:()=>i})},7154:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTileJson=t.isScoreBingo=t.isObject=t.isMultiplierBingo=t.isLocale=t.isGame=t.isError=t.isCellJson=t.isBoardJson=t.isBingo=void 0;var n=r(3669);Object.defineProperty(t,"isBingo",{enumerable:!0,get:function(){return n.isBingo}});var i=r(2856);Object.defineProperty(t,"isBoardJson",{enumerable:!0,get:function(){return i.isBoardJson}});var o=r(4260);Object.defineProperty(t,"isCellJson",{enumerable:!0,get:function(){return o.isCellJson}});var c=r(988);Object.defineProperty(t,"isError",{enumerable:!0,get:function(){return c.isError}});var l=r(2024);Object.defineProperty(t,"isGame",{enumerable:!0,get:function(){return l.isGame}});var a=r(7792);Object.defineProperty(t,"isLocale",{enumerable:!0,get:function(){return a.isLocale}});var u=r(7384);Object.defineProperty(t,"isMultiplierBingo",{enumerable:!0,get:function(){return u.isMultiplierBingo}});var s=r(7197);Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return s.isObject}});var p=r(8763);Object.defineProperty(t,"isScoreBingo",{enumerable:!0,get:function(){return p.isScoreBingo}});var y=r(4684);Object.defineProperty(t,"isTileJson",{enumerable:!0,get:function(){return y.isTileJson}})},7197:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=void 0,t.isObject=e=>"object"==typeof e&&null!==e},7226:(e,t,r)=>{"use strict";r.d(t,{ie:()=>eo,T3:()=>eR,XF:()=>eS,ck:()=>eC,s9:()=>eB,we:()=>eU,iQ:()=>ew,Mk:()=>ed,bv:()=>eW,SV:()=>X,It:()=>eD,DL:()=>eP});var n=r(5729),i=r.t(n,2),o=r(8761),c='input:not([inert]):not([inert] *),select:not([inert]):not([inert] *),textarea:not([inert]):not([inert] *),a[href]:not([inert]):not([inert] *),area[href]:not([inert]):not([inert] *),button:not([inert]):not([inert] *),[tabindex]:not(slot):not([inert]):not([inert] *),audio[controls]:not([inert]):not([inert] *),video[controls]:not([inert]):not([inert] *),[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *),details>summary:first-of-type:not([inert]):not([inert] *),details:not([inert]):not([inert] *)',l="u"<typeof Element,a=l?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,u=!l&&Element.prototype.getRootNode?function(e){return null==e||null==e.getRootNode?void 0:e.getRootNode()}:function(e){return null==e?void 0:e.ownerDocument},s=function(e,t){void 0===t&&(t=!0);var r=null==e||null==e.getAttribute?void 0:e.getAttribute("inert");return""===r||"true"===r||t&&e&&("function"==typeof e.closest?e.closest("[inert]"):s(e.parentNode))},p=function(e){var t,r=null==e||null==e.getAttribute||null==(t=e.getAttribute("contenteditable"))?void 0:t.toLowerCase();return""===r||"true"===r||"plaintext-only"===r},y=function(e,t,r){if(s(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(c));return t&&a.call(e,c)&&n.unshift(e),n=n.filter(r)},f=function(e,t,r){for(var n=[],i=Array.from(e);i.length;){var o=i.shift();if(!s(o,!1))if("SLOT"===o.tagName){var l=o.assignedElements(),u=f(l.length?l:o.children,!0,r);r.flatten?n.push.apply(n,u):n.push({scopeParent:o,candidates:u})}else{a.call(o,c)&&r.filter(o)&&(t||!e.includes(o))&&n.push(o);var p=o.shadowRoot||"function"==typeof r.getShadowRoot&&r.getShadowRoot(o),y=!s(p,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(o));if(p&&y){var d=f(!0===p?o.children:p.children,!0,r);r.flatten?n.push.apply(n,d):n.push({scopeParent:o,candidates:d})}else i.unshift.apply(i,o.children)}}return n},d=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},h=function(e){if(!e)throw Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||p(e))&&!d(e)?0:e.tabIndex},m=function(e,t){var r=h(e);return r<0&&t&&!d(e)?0:r},R=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},C=function(e){return"INPUT"===e.tagName},O=function(e,t){for(var r=0;r<e.length;r++)if(e[r].checked&&e[r].form===t)return e[r]},_=function(e){if(!e.name)return!0;var t,r=e.form||u(e),n=function(e){return r.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("u">typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=n(window.CSS.escape(e.name));else try{t=n(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var i=O(t,e.form);return!i||i===e},g=function(e){return C(e)&&"radio"===e.type&&!_(e)},A=function(e){var t,r,n,i,o,c=e&&u(e),l=null==(t=c)?void 0:t.host,a=!1;if(c&&c!==e)for(a=!!(null!=(r=l)&&null!=(r=r.ownerDocument)&&r.contains(l)||null!=e&&null!=(n=e.ownerDocument)&&n.contains(e));!a&&l;)a=!!(null!=(o=l=null==(i=c=u(l))?void 0:i.host)&&null!=(o=o.ownerDocument)&&o.contains(l));return a},v=function(e){var t=e.getBoundingClientRect(),r=t.width,n=t.height;return 0===r&&0===n},S=function(e,t){var r=t.displayCheck,n=t.getShadowRoot;if("full-native"===r&&"checkVisibility"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});var i=getComputedStyle(e).visibility;if("hidden"===i||"collapse"===i)return!0;var o=a.call(e,"details>summary:first-of-type")?e.parentElement:e;if(a.call(o,"details:not([open]) *"))return!0;if(r&&"full"!==r&&"full-native"!==r&&"legacy-full"!==r){if("non-zero-area"===r)return v(e)}else{if("function"==typeof n){for(var c=e;e;){var l=e.parentElement,s=u(e);if(l&&!l.shadowRoot&&!0===n(l))return v(e);e=e.assignedSlot?e.assignedSlot:l||s===e.ownerDocument?l:s.host}e=c}if(A(e))return!e.getClientRects().length;if("legacy-full"!==r)return!0}return!1},x=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var r=0;r<t.children.length;r++){var n=t.children.item(r);if("LEGEND"===n.tagName)return!!a.call(t,"fieldset[disabled] *")||!n.contains(e)}return!0}t=t.parentElement}return!1},b=function(e,t){return!(t.disabled||C(t)&&"hidden"===t.type||S(t,e)||"DETAILS"===t.tagName&&Array.prototype.slice.apply(t.children).some(function(e){return"SUMMARY"===e.tagName})||x(t))},N=function(e,t){return!(g(t)||0>h(t))&&!!b(e,t)},E=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!isNaN(t)||!!(t>=0)},B=function(e){var t=[],r=[];return e.forEach(function(e,n){var i=!!e.scopeParent,o=i?e.scopeParent:e,c=m(o,i),l=i?B(e.candidates):o;0===c?i?t.push.apply(t,l):t.push(o):r.push({documentOrder:n,tabIndex:c,item:e,isScope:i,content:l})}),r.sort(R).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},U=function(e,t){return B((t=t||{}).getShadowRoot?f([e],t.includeContainer,{filter:N.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:E}):y(e,t.includeContainer,N.bind(null,t)))};function T(){return/apple/i.test(navigator.vendor)}let w="data-floating-ui-focusable";function H(e){let t=e.activeElement;for(;(null==(r=t)||null==(r=r.shadowRoot)?void 0:r.activeElement)!=null;){var r;t=t.shadowRoot.activeElement}return t}function W(e,t){if(!e||!t)return!1;let r=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(r&&(0,o.Ng)(r)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function k(e){return"composedPath"in e?e.composedPath()[0]:e.target}function D(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))}function L(e){return(null==e?void 0:e.ownerDocument)||document}function M(e,t,r){return void 0===r&&(r=!0),e.filter(e=>{var n;return e.parentId===t&&(!r||(null==(n=e.context)?void 0:n.open))}).flatMap(t=>[t,...M(e,t.id,r)])}function P(e,t){let r=["mouse","pen"];return t||r.push("",void 0),r.includes(e)}var j="u">typeof document?n.useLayoutEffect:function(){};function I(e){let t=n.useRef(e);return j(()=>{t.current=e}),t}let z={...i}.useInsertionEffect||(e=>e());function F(e){let t=n.useRef(()=>{});return z(()=>{t.current=e}),n.useCallback(function(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return null==t.current?void 0:t.current(...r)},[])}let q=()=>({getShadowRoot:!0,displayCheck:"function"==typeof ResizeObserver&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function G(e,t){let r=U(e,q()),n=r.length;if(0===n)return;let i=H(L(e)),o=r.indexOf(i);return r[-1===o?1===t?0:n-1:o+t]}function J(e,t){let r=t||e.currentTarget,n=e.relatedTarget;return!n||!W(r,n)}function V(e){e.querySelectorAll("[data-tabindex]").forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}var $=r(6029),Y=r(6760),K=r(2309);function X(e){let t=n.useRef(void 0),r=n.useCallback(t=>{let r=e.map(e=>{if(null!=e){if("function"==typeof e){let r=e(t);return"function"==typeof r?r:()=>{e(null)}}return e.current=t,()=>{e.current=null}}});return()=>{r.forEach(e=>null==e?void 0:e())}},e);return n.useMemo(()=>e.every(e=>null==e)?null:e=>{t.current&&(t.current(),t.current=void 0),null!=e&&(t.current=r(e))},e)}let Z="active",Q="selected",ee={...i},et=!1,er=0,en=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+er++,ei=ee.useId||function(){let[e,t]=n.useState(()=>et?en():void 0);return j(()=>{null==e&&t(en())},[]),n.useEffect(()=>{et=!0},[]),e},eo=n.forwardRef(function(e,t){let{context:{placement:r,elements:{floating:i},middlewareData:{arrow:c,shift:l}},width:a=14,height:u=7,tipRadius:s=0,strokeWidth:p=0,staticOffset:y,stroke:f,d,style:{transform:h,...m}={},...R}=e,C=ei(),[O,_]=n.useState(!1);if(j(()=>{i&&"rtl"===(0,o.L9)(i).direction&&_(!0)},[i]),!i)return null;let[g,A]=r.split("-"),v="top"===g||"bottom"===g,S=y;(v&&null!=l&&l.x||!v&&null!=l&&l.y)&&(S=null);let x=2*p,b=x/2,N=a/2*(-(s/8)+1),E=u/2*s/4,B=!!d,U=S&&"end"===A?"bottom":"top",T=S&&"end"===A?"right":"left";S&&O&&(T="end"===A?"left":"right");let w=(null==c?void 0:c.x)!=null?S||c.x:"",H=(null==c?void 0:c.y)!=null?S||c.y:"",W=d||"M0,0 H"+a+(" L"+(a-N))+","+(u-E)+(" Q"+a/2+","+u+" "+N)+","+(u-E)+" Z",k={top:B?"rotate(180deg)":"",left:B?"rotate(90deg)":"rotate(-90deg)",bottom:B?"":"rotate(180deg)",right:B?"rotate(-90deg)":"rotate(90deg)"}[g];return(0,$.jsxs)("svg",{...R,"aria-hidden":!0,ref:t,width:B?a:a+x,height:a,viewBox:"0 0 "+a+" "+(u>a?u:a),style:{position:"absolute",pointerEvents:"none",[T]:w,[U]:H,[g]:v||B?"100%":"calc(100% - "+x/2+"px)",transform:[k,h].filter(e=>!!e).join(" "),...m},children:[x>0&&(0,$.jsx)("path",{clipPath:"url(#"+C+")",fill:"none",stroke:f,strokeWidth:x+ +!d,d:W}),(0,$.jsx)("path",{stroke:x&&!d?R.fill:"none",d:W}),(0,$.jsx)("clipPath",{id:C,children:(0,$.jsx)("rect",{x:-b,y:b*(B?-1:1),width:a+x,height:a})})]})}),ec=n.createContext(null),el=n.createContext(null),ea=()=>{var e;return(null==(e=n.useContext(ec))?void 0:e.id)||null};function eu(e){return"data-floating-ui-"+e}function es(e){-1!==e.current&&(clearTimeout(e.current),e.current=-1)}let ep=eu("safe-polygon");function ey(e,t,r){if(r&&!P(r))return 0;if("number"==typeof e)return e;if("function"==typeof e){let r=e();return"number"==typeof r?r:null==r?void 0:r[t]}return null==e?void 0:e[t]}function ef(e){return"function"==typeof e?e():e}function ed(e,t){void 0===t&&(t={});let{open:r,onOpenChange:i,dataRef:c,events:l,elements:a}=e,{enabled:u=!0,delay:s=0,handleClose:p=null,mouseOnly:y=!1,restMs:f=0,move:d=!0}=t,h=n.useContext(el),m=ea(),R=I(p),C=I(s),O=I(r),_=I(f),g=n.useRef(),A=n.useRef(-1),v=n.useRef(),S=n.useRef(-1),x=n.useRef(!0),b=n.useRef(!1),N=n.useRef(()=>{}),E=n.useRef(!1),B=F(()=>{var e;let t=null==(e=c.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes("mouse"))&&"mousedown"!==t});n.useEffect(()=>{if(u)return l.on("openchange",e),()=>{l.off("openchange",e)};function e(e){let{open:t}=e;t||(es(A),es(S),x.current=!0,E.current=!1)}},[u,l]),n.useEffect(()=>{if(!u||!R.current||!r)return;function e(e){B()&&i(!1,e,"hover")}let t=L(a.floating).documentElement;return t.addEventListener("mouseleave",e),()=>{t.removeEventListener("mouseleave",e)}},[a.floating,r,i,u,R,B]);let U=n.useCallback(function(e,t,r){void 0===t&&(t=!0),void 0===r&&(r="hover");let n=ey(C.current,"close",g.current);n&&!v.current?(es(A),A.current=window.setTimeout(()=>i(!1,e,r),n)):t&&(es(A),i(!1,e,r))},[C,i]),T=F(()=>{N.current(),v.current=void 0}),w=F(()=>{if(b.current){let e=L(a.floating).body;e.style.pointerEvents="",e.removeAttribute(ep),b.current=!1}}),H=F(()=>!!c.current.openEvent&&["click","mousedown"].includes(c.current.openEvent.type));n.useEffect(()=>{if(u&&(0,o.vq)(a.domReference)){let i=a.domReference,o=a.floating;return r&&i.addEventListener("mouseleave",n),d&&i.addEventListener("mousemove",e,{once:!0}),i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t),o&&(o.addEventListener("mouseleave",n),o.addEventListener("mouseenter",l),o.addEventListener("mouseleave",s)),()=>{r&&i.removeEventListener("mouseleave",n),d&&i.removeEventListener("mousemove",e),i.removeEventListener("mouseenter",e),i.removeEventListener("mouseleave",t),o&&(o.removeEventListener("mouseleave",n),o.removeEventListener("mouseenter",l),o.removeEventListener("mouseleave",s))}}function e(e){if(es(A),x.current=!1,y&&!P(g.current)||ef(_.current)>0&&!ey(C.current,"open"))return;let t=ey(C.current,"open",g.current);t?A.current=window.setTimeout(()=>{O.current||i(!0,e,"hover")},t):r||i(!0,e,"hover")}function t(e){if(H())return void w();N.current();let t=L(a.floating);if(es(S),E.current=!1,R.current&&c.current.floatingContext){r||es(A),v.current=R.current({...c.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){w(),T(),H()||U(e,!0,"safe-polygon")}});let n=v.current;t.addEventListener("mousemove",n),N.current=()=>{t.removeEventListener("mousemove",n)};return}"touch"===g.current&&W(a.floating,e.relatedTarget)||U(e)}function n(e){H()||c.current.floatingContext&&(null==R.current||R.current({...c.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){w(),T(),H()||U(e)}})(e))}function l(){es(A)}function s(e){H()||U(e,!1)}},[a,u,e,y,d,U,T,w,i,r,O,h,C,R,c,H,_]),j(()=>{var e,t;if(u&&r&&null!=(e=R.current)&&null!=(e=e.__options)&&e.blockPointerEvents&&B()){b.current=!0;let e=a.floating;if((0,o.vq)(a.domReference)&&e){let r=L(a.floating).body;r.setAttribute(ep,"");let n=a.domReference,i=null==h||null==(t=h.nodesRef.current.find(e=>e.id===m))||null==(t=t.context)?void 0:t.elements.floating;return i&&(i.style.pointerEvents=""),r.style.pointerEvents="none",n.style.pointerEvents="auto",e.style.pointerEvents="auto",()=>{r.style.pointerEvents="",n.style.pointerEvents="",e.style.pointerEvents=""}}}},[u,r,m,a,h,R,B]),j(()=>{r||(g.current=void 0,E.current=!1,T(),w())},[r,T,w]),n.useEffect(()=>()=>{T(),es(A),es(S),w()},[u,a.domReference,T,w]);let k=n.useMemo(()=>{function e(e){g.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e;function n(){x.current||O.current||i(!0,t,"hover")}y&&!P(g.current)||r||0===ef(_.current)||E.current&&e.movementX**2+e.movementY**2<2||(es(S),"touch"===g.current?n():(E.current=!0,S.current=window.setTimeout(n,ef(_.current))))}}},[y,i,r,O,_]);return n.useMemo(()=>u?{reference:k}:{},[u,k])}let eh=()=>{},em=n.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:eh,setState:eh,isInstantPhase:!1});function eR(e){let{children:t,delay:r,timeoutMs:i=0}=e,[o,c]=n.useReducer((e,t)=>({...e,...t}),{delay:r,timeoutMs:i,initialDelay:r,currentId:null,isInstantPhase:!1}),l=n.useRef(null),a=n.useCallback(e=>{c({currentId:e})},[]);return j(()=>{o.currentId?null===l.current?l.current=o.currentId:o.isInstantPhase||c({isInstantPhase:!0}):(o.isInstantPhase&&c({isInstantPhase:!1}),l.current=null)},[o.currentId,o.isInstantPhase]),(0,$.jsx)(em.Provider,{value:n.useMemo(()=>({...o,setState:c,setCurrentId:a}),[o,a]),children:t})}function eC(e,t){void 0===t&&(t={});let{open:r,onOpenChange:i,floatingId:o}=e,{id:c,enabled:l=!0}=t,a=null!=c?c:o,u=n.useContext(em),{currentId:s,setCurrentId:p,initialDelay:y,setState:f,timeoutMs:d}=u;return j(()=>{!l||s&&(f({delay:{open:1,close:ey(y,"close")}}),s!==a&&i(!1))},[l,a,i,f,s,y]),j(()=>{function e(){i(!1),f({delay:y,currentId:null})}if(l&&s&&!r&&s===a){if(d){let t=window.setTimeout(e,d);return()=>{clearTimeout(t)}}e()}},[l,r,f,s,a,i,y,d]),j(()=>{!l||p!==eh&&r&&p(a)},[l,r,p,a]),u}let eO={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},e_=n.forwardRef(function(e,t){let[r,i]=n.useState();j(()=>{T()&&i("button")},[]);let o={ref:t,tabIndex:0,role:r,"aria-hidden":!r||void 0,[eu("focus-guard")]:"",style:eO};return(0,$.jsx)("span",{...e,...o})}),eg={clipPath:"inset(50%)",position:"fixed",top:0,left:0},eA=n.createContext(null),ev=eu("portal");function eS(e){let{children:t,id:r,root:i,preserveTabOrder:c=!0}=e,l=function(e){void 0===e&&(e={});let{id:t,root:r}=e,i=ei(),c=ex(),[l,a]=n.useState(null),u=n.useRef(null);return j(()=>()=>{null==l||l.remove(),queueMicrotask(()=>{u.current=null})},[l]),j(()=>{if(!i||u.current)return;let e=t?document.getElementById(t):null;if(!e)return;let r=document.createElement("div");r.id=i,r.setAttribute(ev,""),e.appendChild(r),u.current=r,a(r)},[t,i]),j(()=>{if(null===r||!i||u.current)return;let e=r||(null==c?void 0:c.portalNode);e&&!(0,o.Ll)(e)&&(e=e.current),e=e||document.body;let n=null;t&&((n=document.createElement("div")).id=t,e.appendChild(n));let l=document.createElement("div");l.id=i,l.setAttribute(ev,""),(e=n||e).appendChild(l),u.current=l,a(l)},[t,r,i,c]),l}({id:r,root:i}),[a,u]=n.useState(null),s=n.useRef(null),p=n.useRef(null),y=n.useRef(null),f=n.useRef(null),d=null==a?void 0:a.modal,h=null==a?void 0:a.open,m=!!a&&!a.modal&&a.open&&c&&!!(i||l);return n.useEffect(()=>{if(l&&c&&!d)return l.addEventListener("focusin",e,!0),l.addEventListener("focusout",e,!0),()=>{l.removeEventListener("focusin",e,!0),l.removeEventListener("focusout",e,!0)};function e(e){l&&J(e)&&("focusin"===e.type?V:function(e){U(e,q()).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})})(l)}},[l,c,d]),n.useEffect(()=>{!l||h||V(l)},[h,l]),(0,$.jsxs)(eA.Provider,{value:n.useMemo(()=>({preserveTabOrder:c,beforeOutsideRef:s,afterOutsideRef:p,beforeInsideRef:y,afterInsideRef:f,portalNode:l,setFocusManagerState:u}),[c,l]),children:[m&&l&&(0,$.jsx)(e_,{"data-type":"outside",ref:s,onFocus:e=>{var t,r;if(J(e,l))null==(t=y.current)||t.focus();else{let e=G(L(r=a?a.domReference:null).body,-1)||r;null==e||e.focus()}}}),m&&l&&(0,$.jsx)("span",{"aria-owns":l.id,style:eg}),l&&Y.createPortal(t,l),m&&l&&(0,$.jsx)(e_,{"data-type":"outside",ref:p,onFocus:e=>{var t,r;if(J(e,l))null==(t=f.current)||t.focus();else{let t=G(L(r=a?a.domReference:null).body,1)||r;null==t||t.focus(),(null==a?void 0:a.closeOnFocusOut)&&(null==a||a.onOpenChange(!1,e.nativeEvent,"focus-out"))}}})]})}let ex=()=>n.useContext(eA),eb={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},eN={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},eE=e=>{var t,r;return{escapeKey:"boolean"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:"boolean"==typeof e?e:null==(r=null==e?void 0:e.outsidePress)||r}};function eB(e,t){void 0===t&&(t={});let{open:r,onOpenChange:i,elements:c,dataRef:l}=e,{enabled:a=!0,escapeKey:u=!0,outsidePress:s=!0,outsidePressEvent:p="pointerdown",referencePress:y=!1,referencePressEvent:f="pointerdown",ancestorScroll:d=!1,bubbles:h,capture:m}=t,R=n.useContext(el),C=F("function"==typeof s?s:()=>!1),O="function"==typeof s?C:s,_=n.useRef(!1),{escapeKey:g,outsidePress:A}=eE(h),{escapeKey:v,outsidePress:S}=eE(m),x=n.useRef(!1),b=F(e=>{var t;if(!r||!a||!u||"Escape"!==e.key||x.current)return;let n=null==(t=l.current.floatingContext)?void 0:t.nodeId,o=R?M(R.nodesRef.current,n):[];if(!g&&(e.stopPropagation(),o.length>0)){let e=!0;if(o.forEach(t=>{var r;if(null!=(r=t.context)&&r.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}i(!1,"nativeEvent"in e?e.nativeEvent:e,"escape-key")}),N=F(e=>{var t;let r=()=>{var t;b(e),null==(t=k(e))||t.removeEventListener("keydown",r)};null==(t=k(e))||t.addEventListener("keydown",r)}),E=F(e=>{var t;let r=l.current.insideReactTree;l.current.insideReactTree=!1;let n=_.current;if(_.current=!1,"click"===p&&n||r||"function"==typeof O&&!O(e))return;let a=k(e),u="["+eu("inert")+"]",s=L(c.floating).querySelectorAll(u),y=(0,o.vq)(a)?a:null;for(;y&&!(0,o.eu)(y);){let e=(0,o.$4)(y);if((0,o.eu)(e)||!(0,o.vq)(e))break;y=e}if(s.length&&(0,o.vq)(a)&&!a.matches("html,body")&&!W(a,c.floating)&&Array.from(s).every(e=>!W(y,e)))return;if((0,o.sb)(a)&&T){let t=(0,o.eu)(a),r=(0,o.L9)(a),n=/auto|scroll/,i=t||n.test(r.overflowX),c=t||n.test(r.overflowY),l=i&&a.clientWidth>0&&a.scrollWidth>a.clientWidth,u=c&&a.clientHeight>0&&a.scrollHeight>a.clientHeight,s="rtl"===r.direction,p=u&&(s?e.offsetX<=a.offsetWidth-a.clientWidth:e.offsetX>a.clientWidth),y=l&&e.offsetY>a.clientHeight;if(p||y)return}let f=null==(t=l.current.floatingContext)?void 0:t.nodeId,d=R&&M(R.nodesRef.current,f).some(t=>{var r;return D(e,null==(r=t.context)?void 0:r.elements.floating)});if(D(e,c.floating)||D(e,c.domReference)||d)return;let h=R?M(R.nodesRef.current,f):[];if(h.length>0){let e=!0;if(h.forEach(t=>{var r;if(null!=(r=t.context)&&r.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}i(!1,e,"outside-press")}),B=F(e=>{var t;let r=()=>{var t;E(e),null==(t=k(e))||t.removeEventListener(p,r)};null==(t=k(e))||t.addEventListener(p,r)});n.useEffect(()=>{if(!r||!a)return;l.current.__escapeKeyBubbles=g,l.current.__outsidePressBubbles=A;let e=-1;function t(e){i(!1,e,"ancestor-scroll")}function n(){window.clearTimeout(e),x.current=!0}function s(){e=window.setTimeout(()=>{x.current=!1},5*!!(0,o.Tc)())}let y=L(c.floating);u&&(y.addEventListener("keydown",v?N:b,v),y.addEventListener("compositionstart",n),y.addEventListener("compositionend",s)),O&&y.addEventListener(p,S?B:E,S);let f=[];return d&&((0,o.vq)(c.domReference)&&(f=(0,o.v9)(c.domReference)),(0,o.vq)(c.floating)&&(f=f.concat((0,o.v9)(c.floating))),!(0,o.vq)(c.reference)&&c.reference&&c.reference.contextElement&&(f=f.concat((0,o.v9)(c.reference.contextElement)))),(f=f.filter(e=>{var t;return e!==(null==(t=y.defaultView)?void 0:t.visualViewport)})).forEach(e=>{e.addEventListener("scroll",t)}),()=>{u&&(y.removeEventListener("keydown",v?N:b,v),y.removeEventListener("compositionstart",n),y.removeEventListener("compositionend",s)),O&&y.removeEventListener(p,S?B:E,S),f.forEach(e=>{e.removeEventListener("scroll",t)}),window.clearTimeout(e)}},[l,c,u,O,p,r,i,d,a,g,A,b,v,N,E,S,B]),n.useEffect(()=>{l.current.insideReactTree=!1},[l,O,p]);let U=n.useMemo(()=>({onKeyDown:b,...y&&{[eb[f]]:e=>{i(!1,e.nativeEvent,"reference-press")},..."click"!==f&&{onClick(e){i(!1,e.nativeEvent,"reference-press")}}}}),[b,i,y,f]),T=n.useMemo(()=>{function e(e){0===e.button&&(_.current=!0)}return{onKeyDown:b,onMouseDown:e,onMouseUp:e,[eN[p]]:()=>{l.current.insideReactTree=!0}}},[b,p,l]);return n.useMemo(()=>a?{reference:U,floating:T}:{},[a,U,T])}function eU(e){var t,r;let{elements:i,...c}=void 0===e?{}:e,{nodeId:l}=c,a=function(e){let{open:t=!1,onOpenChange:r,elements:i}=e,o=ei(),c=n.useRef({}),[l]=n.useState(()=>{let e;return e=new Map,{emit(t,r){var n;null==(n=e.get(t))||n.forEach(e=>e(r))},on(t,r){e.has(t)||e.set(t,new Set),e.get(t).add(r)},off(t,r){var n;null==(n=e.get(t))||n.delete(r)}}}),a=null!=ea(),[u,s]=n.useState(i.reference),p=F((e,t,n)=>{c.current.openEvent=e?t:void 0,l.emit("openchange",{open:e,event:t,reason:n,nested:a}),null==r||r(e,t,n)}),y=n.useMemo(()=>({setPositionReference:s}),[]),f=n.useMemo(()=>({reference:u||i.reference||null,floating:i.floating||null,domReference:i.reference}),[u,i.reference,i.floating]);return n.useMemo(()=>({dataRef:c,open:t,onOpenChange:p,elements:f,events:l,floatingId:o,refs:y}),[t,p,f,l,o,y])}({...c,elements:{reference:null!=(t=null==i?void 0:i.reference)?t:null,floating:null!=(r=null==i?void 0:i.floating)?r:null}}),u=c.rootContext||a,s=u.elements,[p,y]=n.useState(null),[f,d]=n.useState(null),h=(null==s?void 0:s.domReference)||p,m=n.useRef(null),R=n.useContext(el);j(()=>{h&&(m.current=h)},[h]);let C=(0,K.we)({...c,elements:{...s,...f&&{reference:f}}}),O=n.useCallback(e=>{let t=(0,o.vq)(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;d(t),C.refs.setReference(t)},[C.refs]),_=n.useCallback(e=>{((0,o.vq)(e)||null===e)&&(m.current=e,y(e)),((0,o.vq)(C.refs.reference.current)||null===C.refs.reference.current||null!==e&&!(0,o.vq)(e))&&C.refs.setReference(e)},[C.refs]),g=n.useMemo(()=>({...C.refs,setReference:_,setPositionReference:O,domReference:m}),[C.refs,_,O]),A=n.useMemo(()=>({...C.elements,domReference:h}),[C.elements,h]),v=n.useMemo(()=>({...C,...u,refs:g,elements:A,nodeId:l}),[C,g,A,l,u]);return j(()=>{u.dataRef.current.floatingContext=v;let e=null==R?void 0:R.nodesRef.current.find(e=>e.id===l);e&&(e.context=v)}),n.useMemo(()=>({...C,context:v,refs:g,elements:A}),[C,g,A,v])}function eT(){let e;return(null!=(e=navigator.userAgentData)&&e.platform?e.platform:navigator.platform).toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints&&T()}function ew(e,t){void 0===t&&(t={});let{open:r,onOpenChange:i,events:c,dataRef:l,elements:a}=e,{enabled:u=!0,visibleOnly:s=!0}=t,p=n.useRef(!1),y=n.useRef(-1),f=n.useRef(!0);n.useEffect(()=>{if(!u)return;let e=(0,o.zk)(a.domReference);function t(){!r&&(0,o.sb)(a.domReference)&&a.domReference===H(L(a.domReference))&&(p.current=!0)}function n(){f.current=!0}function i(){f.current=!1}return e.addEventListener("blur",t),eT()&&(e.addEventListener("keydown",n,!0),e.addEventListener("pointerdown",i,!0)),()=>{e.removeEventListener("blur",t),eT()&&(e.removeEventListener("keydown",n,!0),e.removeEventListener("pointerdown",i,!0))}},[a.domReference,r,u]),n.useEffect(()=>{if(u)return c.on("openchange",e),()=>{c.off("openchange",e)};function e(e){let{reason:t}=e;("reference-press"===t||"escape-key"===t)&&(p.current=!0)}},[c,u]),n.useEffect(()=>()=>{es(y)},[]);let d=n.useMemo(()=>({onMouseLeave(){p.current=!1},onFocus(e){if(p.current)return;let t=k(e.nativeEvent);if(s&&(0,o.vq)(t)){if(eT()&&!e.relatedTarget){if(!f.current&&!((0,o.sb)(t)&&t.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")))return}else if(!function(e){let t;if(!e||((t=navigator.userAgentData)&&Array.isArray(t.brands)?t.brands.map(e=>{let{brand:t,version:r}=e;return t+"/"+r}).join(" "):navigator.userAgent).includes("jsdom/"))return!0;try{return e.matches(":focus-visible")}catch(e){return!0}}(t))return}i(!0,e.nativeEvent,"focus")},onBlur(e){p.current=!1;let t=e.relatedTarget,r=e.nativeEvent,n=(0,o.vq)(t)&&t.hasAttribute(eu("focus-guard"))&&"outside"===t.getAttribute("data-type");y.current=window.setTimeout(()=>{var e;let o=H(a.domReference?a.domReference.ownerDocument:document);!t&&o===a.domReference||W(null==(e=l.current.floatingContext)?void 0:e.refs.floating.current,o)||W(a.domReference,o)||n||i(!1,r,"focus")})}}),[l,a.domReference,i,s]);return n.useMemo(()=>u?{reference:d}:{},[u,d])}function eH(e,t,r){let n=new Map,i="item"===r,o=e;if(i&&e){let{[Z]:t,[Q]:r,...n}=e;o=n}return{..."floating"===r&&{tabIndex:-1,"data-floating-ui-focusable":""},...o,...t.map(t=>{let n=t?t[r]:null;return"function"==typeof n?e?n(e):null:n}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[r,o]=t;if(!(i&&[Z,Q].includes(r)))if(0===r.indexOf("on")){if(n.has(r)||n.set(r,[]),"function"==typeof o){var c;null==(c=n.get(r))||c.push(o),e[r]=function(){for(var e,t=arguments.length,i=Array(t),o=0;o<t;o++)i[o]=arguments[o];return null==(e=n.get(r))?void 0:e.map(e=>e(...i)).find(e=>void 0!==e)}}}else e[r]=o}),e),{})}}function eW(e){void 0===e&&(e=[]);let t=e.map(e=>null==e?void 0:e.reference),r=e.map(e=>null==e?void 0:e.floating),i=e.map(e=>null==e?void 0:e.item),o=n.useCallback(t=>eH(t,e,"reference"),t),c=n.useCallback(t=>eH(t,e,"floating"),r),l=n.useCallback(t=>eH(t,e,"item"),i);return n.useMemo(()=>({getReferenceProps:o,getFloatingProps:c,getItemProps:l}),[o,c,l])}let ek=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function eD(e,t){var r,i;void 0===t&&(t={});let{open:o,elements:c,floatingId:l}=e,{enabled:a=!0,role:u="dialog"}=t,s=ei(),p=(null==(r=c.domReference)?void 0:r.id)||s,y=n.useMemo(()=>{var e,t;return(null==(e=(t=c.floating)?t.hasAttribute(w)?t:t.querySelector("["+w+"]")||t:null)?void 0:e.id)||l},[c.floating,l]),f=null!=(i=ek.get(u))?i:u,d=null!=ea(),h=n.useMemo(()=>"tooltip"===f||"label"===u?{["aria-"+("label"===u?"labelledby":"describedby")]:o?y:void 0}:{"aria-expanded":o?"true":"false","aria-haspopup":"alertdialog"===f?"dialog":f,"aria-controls":o?y:void 0,..."listbox"===f&&{role:"combobox"},..."menu"===f&&{id:p},..."menu"===f&&d&&{role:"menuitem"},..."select"===u&&{"aria-autocomplete":"none"},..."combobox"===u&&{"aria-autocomplete":"list"}},[f,y,d,o,p,u]),m=n.useMemo(()=>{let e={id:y,...f&&{role:f}};return"tooltip"===f||"label"===u?e:{...e,..."menu"===f&&{"aria-labelledby":p}}},[f,y,p,u]),R=n.useCallback(e=>{let{active:t,selected:r}=e,n={role:"option",...t&&{id:y+"-fui-option"}};switch(u){case"select":case"combobox":return{...n,"aria-selected":r}}return{}},[y,u]);return n.useMemo(()=>a?{reference:h,floating:m,item:R}:{},[a,h,m,R])}let eL=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?"-":"")+e.toLowerCase());function eM(e,t){return"function"==typeof e?e(t):e}function eP(e,t){void 0===t&&(t={});let{initial:r={opacity:0},open:i,close:o,common:c,duration:l=250}=t,a=e.placement,u=a.split("-")[0],s=n.useMemo(()=>({side:u,placement:a}),[u,a]),p="number"==typeof l,y=(p?l:l.open)||0,f=(p?l:l.close)||0,[d,h]=n.useState(()=>({...eM(c,s),...eM(r,s)})),{isMounted:m,status:R}=function(e,t){void 0===t&&(t={});let{open:r,elements:{floating:i}}=e,{duration:o=250}=t,c=("number"==typeof o?o:o.close)||0,[l,a]=n.useState("unmounted"),u=function(e,t){let[r,i]=n.useState(e);return e&&!r&&i(!0),n.useEffect(()=>{if(!e&&r){let e=setTimeout(()=>i(!1),t);return()=>clearTimeout(e)}},[e,r,t]),r}(r,c);return u||"close"!==l||a("unmounted"),j(()=>{if(i){if(r){a("initial");let e=requestAnimationFrame(()=>{Y.flushSync(()=>{a("open")})});return()=>{cancelAnimationFrame(e)}}a("close")}},[r,i]),{isMounted:u,status:l}}(e,{duration:l}),C=I(r),O=I(i),_=I(o),g=I(c);return j(()=>{let e=eM(C.current,s),t=eM(_.current,s),r=eM(g.current,s),n=eM(O.current,s)||Object.keys(e).reduce((e,t)=>(e[t]="",e),{});if("initial"===R&&h(t=>({transitionProperty:t.transitionProperty,...r,...e})),"open"===R&&h({transitionProperty:Object.keys(n).map(eL).join(","),transitionDuration:y+"ms",...r,...n}),"close"===R){let n=t||e;h({transitionProperty:Object.keys(n).map(eL).join(","),transitionDuration:f+"ms",...r,...n})}},[f,_,C,O,g,y,R,s]),{isMounted:m,styles:d}}},7343:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});let n=e=>e.i18n.translations},7384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMultiplierBingo=void 0;let n=r(7197);t.isMultiplierBingo=e=>(0,n.isObject)(e)&&"multiplier"in e&&"number"==typeof e.multiplier},7493:(e,t,r)=>{"use strict";r.d(t,{z:()=>o});var n=r(4811);let i={error:void 0,input:"",isLoading:!1,results:[]},o=(0,n.Z0)({initialState:i,name:"dictionary",reducers:{changeInput:(e,t)=>({...e,input:t.payload}),reset:()=>i,submit:e=>{let t=i.error,r=i.results;return{...e,error:t,isLoading:!0,results:r}},submitFailure:(e,t)=>{let r=t.payload,n=i.results;return{...e,error:r,isLoading:!1,results:n}},submitSuccess:(e,t)=>{let r=i.error,n=t.payload;return{...e,error:r,isLoading:!1,results:n}}}})},7627:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.literaki=void 0;let n=r(900);t.literaki={bingo:{score:50},blankScore:0,blanksCount:2,boardHeight:15,boardWidth:15,game:r(9604).Game.Literaki,name:"Literaki",rackSize:7,bonuses:[{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:0,y:0},{multiplier:3,type:n.BONUS_WORD,x:2,y:0},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:5,y:0},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:7,y:0},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:9,y:0},{multiplier:3,type:n.BONUS_WORD,x:12,y:0},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:14,y:0},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:4,y:1},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:6,y:1},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:8,y:1},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:10,y:1},{multiplier:3,type:n.BONUS_WORD,x:0,y:2},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:3,y:2},{multiplier:2,type:n.BONUS_WORD,x:5,y:2},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:7,y:2},{multiplier:2,type:n.BONUS_WORD,x:9,y:2},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:11,y:2},{multiplier:3,type:n.BONUS_WORD,x:14,y:2},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:2,y:3},{multiplier:2,type:n.BONUS_WORD,x:4,y:3},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:6,y:3},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:8,y:3},{multiplier:2,type:n.BONUS_WORD,x:10,y:3},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:12,y:3},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:1,y:4},{multiplier:2,type:n.BONUS_WORD,x:3,y:4},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:5,y:4},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:9,y:4},{multiplier:2,type:n.BONUS_WORD,x:11,y:4},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:13,y:4},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:0,y:5},{multiplier:2,type:n.BONUS_WORD,x:2,y:5},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:4,y:5},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:7,y:5},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:10,y:5},{multiplier:2,type:n.BONUS_WORD,x:12,y:5},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:14,y:5},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:1,y:6},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:3,y:6},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:6,y:6},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:8,y:6},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:11,y:6},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:13,y:6},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:0,y:7},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:2,y:7},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:5,y:7},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:7,y:7},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:9,y:7},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:12,y:7},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:14,y:7},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:1,y:8},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:3,y:8},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:6,y:8},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:8,y:8},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:11,y:8},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:13,y:8},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:0,y:9},{multiplier:2,type:n.BONUS_WORD,x:2,y:9},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:4,y:9},{multiplier:3,score:3,type:n.BONUS_CHARACTER,x:7,y:9},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:10,y:9},{multiplier:2,type:n.BONUS_WORD,x:12,y:9},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:14,y:9},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:1,y:10},{multiplier:2,type:n.BONUS_WORD,x:3,y:10},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:5,y:10},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:9,y:10},{multiplier:2,type:n.BONUS_WORD,x:11,y:10},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:13,y:10},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:2,y:11},{multiplier:2,type:n.BONUS_WORD,x:4,y:11},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:6,y:11},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:8,y:11},{multiplier:2,type:n.BONUS_WORD,x:10,y:11},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:12,y:11},{multiplier:3,type:n.BONUS_WORD,x:0,y:12},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:3,y:12},{multiplier:2,type:n.BONUS_WORD,x:5,y:12},{multiplier:3,score:1,type:n.BONUS_CHARACTER,x:7,y:12},{multiplier:2,type:n.BONUS_WORD,x:9,y:12},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:11,y:12},{multiplier:3,type:n.BONUS_WORD,x:14,y:12},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:4,y:13},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:6,y:13},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:8,y:13},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:10,y:13},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:0,y:14},{multiplier:3,type:n.BONUS_WORD,x:2,y:14},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:5,y:14},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:7,y:14},{multiplier:3,score:2,type:n.BONUS_CHARACTER,x:9,y:14},{multiplier:3,type:n.BONUS_WORD,x:12,y:14},{multiplier:3,score:5,type:n.BONUS_CHARACTER,x:14,y:14}]}},7792:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLocale=void 0;let n=Object.values(r(4554).Locale);t.isLocale=e=>n.includes(e)},7877:(e,t,r)=>{"use strict";var n=r(5729),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useSyncExternalStore,c=n.useRef,l=n.useEffect,a=n.useMemo,u=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,n,s){var p=c(null);if(null===p.current){var y={hasValue:!1,value:null};p.current=y}else y=p.current;var f=o(e,(p=a(function(){function e(e){if(!l){if(l=!0,o=e,e=n(e),void 0!==s&&y.hasValue){var t=y.value;if(s(t,e))return c=t}return c=e}if(t=c,i(o,e))return t;var r=n(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,c=r)}var o,c,l=!1,a=void 0===r?null:r;return[function(){return e(t())},null===a?void 0:function(){return e(a())}]},[t,r,n,s]))[0],p[1]);return l(function(){y.hasValue=!0,y.value=f},[f]),u(f),f}},7897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPlacedCell=function(e,t,r,o){let c=e.tiles[t],l=e.blankIndices.includes(t);return new n.Cell({isEmpty:!0,tile:new i.Tile({character:c,isBlank:l}),x:r,y:o})};let n=r(4704),i=r(7076)},7962:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterBonus=void 0;let n=r(900),i=r(2131);class o extends i.Bonus{constructor(){super(...arguments),this.type=n.BONUS_CHARACTER}canApply(e,t){return super.canApply(e,t)&&this.matchesCellTileScore(e,t)}matchesCellTileScore(e,t){return void 0===this.score||this.score===e.pointsMap[t.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}t.CharacterBonus=o},8085:(e,t,r)=>{"use strict";r.d(t,{_:()=>i});var n=r(900);let i=(e,t)=>{let r=[...t];return e.map(e=>{let t=r.findIndex(t=>e===n.BLANK?t.isBlank:e===t.character);if(t>=0){let n=r[t];return r=[...r.slice(0,t),...r.slice(t+1)],{character:e,tile:n}}return{character:e,tile:null}})}},8390:(e,t,r)=>{"use strict";r.d(t,{JV:()=>m,QN:()=>h,Vv:()=>f,fF:()=>A,fy:()=>_,hN:()=>C,i0:()=>p,sE:()=>g,u2:()=>R,u_:()=>d,up:()=>y,yI:()=>v,zg:()=>O});var n=r(1644),i=r(1790),o=r(900),c=r(1734),l=r(4740),a=r(7343);let u=(e,t)=>t,s=(e,t)=>t,p=e=>e.settings,y=(0,n.Mz)([p],e=>e.autoGroupTiles),f=(0,n.Mz)([p],e=>e.game),d=(0,n.Mz)([p],e=>e.highlightUnreachableCells),h=(0,n.Mz)([p],e=>e.inputMode),m=(0,n.Mz)([p],e=>e.locale),R=(0,n.Mz)([m,p],(e,t)=>"ltr"===c.x[e].direction||null===t.autoGroupTiles?t.autoGroupTiles:"left"===t.autoGroupTiles?"right":"left"),C=(0,n.Mz)([p],e=>e.showCoordinates),O=(0,n.Mz)([f,m],i.getConfig),_=(0,n.Mz)([O,s],(e,t)=>e.getCharacterPoints(t)),g=(0,n.Mz)([O,s],(e,t)=>null===t||t===o.BLANK||e.tiles.some(e=>e.character===t));(0,n.Mz)([O,u],(e,t)=>e.getCellBonus(t)),(0,n.Mz)([O,(e,t)=>t],(e,t)=>e.getTilePoints(t)),(0,n.Mz)([O,u],(e,t)=>!t.hasTile()||e.tiles.some(e=>e.character===t.tile.character));let A=(0,n.Mz)([m,a.W],(e,t)=>t[e]??l.P),v=(0,n.Mz)([p],e=>e.removeCellFilters)},8502:(e,t,r)=>{"use strict";r.d(t,{NN:()=>l,UE:()=>c,mh:()=>a});var n,i,o,c=((n={}).Ascending="ascending",n.Descending="descending",n),l=((i={}).BlanksCount="blanks-count",i.ConsonantsCount="consonants-count",i.Coordinates="coordinates",i.Points="points",i.TilesCount="tiles-count",i.VowelsCount="vowels-count",i.Word="word",i.WordsCount="words-count",i),a=((o={}).Coordinates="coordinates",o.Validity="validity",o.Word="word",o)},8761:(e,t,r)=>{"use strict";let n;function i(){return"u">typeof window}function o(e){return a(e)?(e.nodeName||"").toLowerCase():"#document"}function c(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function l(e){var t;return null==(t=(a(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function a(e){return!!i()&&(e instanceof Node||e instanceof c(e).Node)}function u(e){return!!i()&&(e instanceof Element||e instanceof c(e).Element)}function s(e){return!!i()&&(e instanceof HTMLElement||e instanceof c(e).HTMLElement)}function p(e){return!(!i()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof c(e).ShadowRoot)}function y(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=A(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&"inline"!==i&&"contents"!==i}function f(e){return/^(table|td|th)$/.test(o(e))}function d(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}r.d(t,{$4:()=>S,CP:()=>v,L9:()=>A,Ll:()=>a,Lv:()=>f,Ng:()=>p,Tc:()=>_,Tf:()=>d,ZU:()=>y,_m:()=>x,ep:()=>l,eu:()=>g,gJ:()=>O,mq:()=>o,sQ:()=>C,sb:()=>s,v9:()=>function e(t,r,n){var i;void 0===r&&(r=[]),void 0===n&&(n=!0);let o=function e(t){let r=S(t);return g(r)?(t.ownerDocument||t).body:s(r)&&y(r)?r:e(r)}(t),l=o===(null==(i=t.ownerDocument)?void 0:i.body),a=c(o);if(!l)return r.concat(o,e(o,[],n));{let t=x(a);return r.concat(a,a.visualViewport||[],y(o)?o:[],t&&n?e(t):[])}},vq:()=>u,zk:()=>c});let h=/transform|translate|scale|rotate|perspective|filter/,m=/paint|layout|strict|content/,R=e=>!!e&&"none"!==e;function C(e){let t=u(e)?A(e):e;return R(t.transform)||R(t.translate)||R(t.scale)||R(t.rotate)||R(t.perspective)||!_()&&(R(t.backdropFilter)||R(t.filter))||h.test(t.willChange||"")||m.test(t.contain||"")}function O(e){let t=S(e);for(;s(t)&&!g(t);){if(C(t))return t;if(d(t))break;t=S(t)}return null}function _(){return null==n&&(n="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),n}function g(e){return/^(html|body|#document)$/.test(o(e))}function A(e){return c(e).getComputedStyle(e)}function v(e){return u(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function S(e){if("html"===o(e))return e;let t=e.assignedSlot||e.parentNode||p(e)&&e.host||l(e);return p(t)?t.host:t}function x(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}},8763:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isScoreBingo=void 0;let n=r(7197);t.isScoreBingo=e=>(0,n.isObject)(e)&&"score"in e&&"number"==typeof e.score},9276:(e,t,r)=>{"use strict";r.d(t,{Kq:()=>y,Pj:()=>m,d4:()=>O,wA:()=>R});var n=r(5729),i=r(6043);let o={notify(){},get:()=>[]},c="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement,l="u">typeof navigator&&"ReactNative"===navigator.product,a=c||l?n.useLayoutEffect:n.useEffect,u=Symbol.for("react-redux-context"),s="u">typeof globalThis?globalThis:{},p=function(){if(!n.createContext)return{};let e=s[u]??=new Map,t=e.get(n.createContext);return t||(t=n.createContext(null),e.set(n.createContext,t)),t}();function y(e){let{children:t,context:r,serverState:i,store:c}=e,l=n.useMemo(()=>{let e=function(e){let t,r=o,n=0,i=!1;function c(){u.onStateChange&&u.onStateChange()}function l(){if(n++,!t){let n,i;t=e.subscribe(c),n=null,i=null,r={clear(){n=null,i=null},notify(){let e=n;for(;e;)e.callback(),e=e.next},get(){let e=[],t=n;for(;t;)e.push(t),t=t.next;return e},subscribe(e){let t=!0,r=i={callback:e,next:null,prev:i};return r.prev?r.prev.next=r:n=r,function(){t&&null!==n&&(t=!1,r.next?r.next.prev=r.prev:i=r.prev,r.prev?r.prev.next=r.next:n=r.next)}}}}}function a(){n--,t&&0===n&&(t(),t=void 0,r.clear(),r=o)}let u={addNestedSub:function(e){l();let t=r.subscribe(e),n=!1;return()=>{n||(n=!0,t(),a())}},notifyNestedSubs:function(){r.notify()},handleChangeWrapper:c,isSubscribed:function(){return i},trySubscribe:function(){i||(i=!0,l())},tryUnsubscribe:function(){i&&(i=!1,a())},getListeners:()=>r};return u}(c);return{store:c,subscription:e,getServerState:null!=i?()=>i:void 0}},[c,i]),u=n.useMemo(()=>c.getState(),[c]);return a(()=>{let{subscription:e}=l;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),u!==c.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[l,u]),n.createElement((r||p).Provider,{value:l},t)}function f(e=p){return function(){return n.useContext(e)}}let d=f();function h(e=p){let t=e===p?d:f(e),r=()=>{let{store:e}=t();return e};return Object.assign(r,{withTypes:()=>r}),r}let m=h(),R=function(e=p){let t=e===p?m:h(e),r=()=>t().dispatch;return Object.assign(r,{withTypes:()=>r}),r}(),C=(e,t)=>e===t,O=function(e=p){let t=e===p?d:f(e),r=(e,r={})=>{let{equalityFn:o=C}="function"==typeof r?{equalityFn:r}:r,{store:c,subscription:l,getServerState:a}=t();n.useRef(!0);let u=n.useCallback({[e.name]:t=>e(t)}[e.name],[e]),s=(0,i.useSyncExternalStoreWithSelector)(l.addNestedSub,c.getState,a||c.getState,u,o);return n.useDebugValue(s),s};return Object.assign(r,{withTypes:()=>r}),r}()},9459:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWordsInRows=function(e,t){let r=[];for(let i of e){let e=[];for(let o of i)o.isEmpty?e.length>0&&(e.length>1&&r.push((0,n.toBoardWord)(e,t)),e=[]):e.push(o);e.length>1&&r.push((0,n.toBoardWord)(e,t))}return r};let n=r(1027)},9480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.germanScrabble=void 0;let n=r(9604),i=r(6706);t.germanScrabble=new n.Config({...i.scrabble,locale:n.Locale.DE_DE,tiles:[{character:"a",count:5,score:1},{character:"\xe4",count:1,score:6},{character:"b",count:2,score:3},{character:"c",count:2,score:4},{character:"d",count:4,score:1},{character:"e",count:15,score:1},{character:"f",count:2,score:4},{character:"g",count:3,score:2},{character:"h",count:4,score:2},{character:"i",count:6,score:1},{character:"j",count:1,score:6},{character:"k",count:2,score:4},{character:"l",count:3,score:2},{character:"m",count:4,score:3},{character:"n",count:9,score:1},{character:"o",count:3,score:2},{character:"\xf6",count:1,score:8},{character:"p",count:1,score:4},{character:"q",count:1,score:10},{character:"r",count:6,score:1},{character:"s",count:7,score:1},{character:"t",count:6,score:1},{character:"u",count:6,score:1},{character:"\xfc",count:1,score:6},{character:"v",count:1,score:6},{character:"w",count:1,score:3},{character:"x",count:1,score:8},{character:"y",count:1,score:10},{character:"z",count:1,score:3}]})},9495:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WordBonus=void 0;let n=r(900),i=r(2131);class o extends i.Bonus{constructor(){super(...arguments),this.type=n.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}t.WordBonus=o},9604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WordDefinition=t.WordBonus=t.isTileJson=t.isScoreBingo=t.isObject=t.isMultiplierBingo=t.isLocale=t.isGame=t.isError=t.isCellJson=t.isBoardJson=t.isBingo=t.Tile=t.Result=t.Locale=t.isSameBoardWord=t.Game=t.Config=t.CharacterBonus=t.Cell=t.Bonus=t.Board=void 0;var n=r(4880);Object.defineProperty(t,"Board",{enumerable:!0,get:function(){return n.Board}});var i=r(2131);Object.defineProperty(t,"Bonus",{enumerable:!0,get:function(){return i.Bonus}});var o=r(4704);Object.defineProperty(t,"Cell",{enumerable:!0,get:function(){return o.Cell}});var c=r(7962);Object.defineProperty(t,"CharacterBonus",{enumerable:!0,get:function(){return c.CharacterBonus}});var l=r(6338);Object.defineProperty(t,"Config",{enumerable:!0,get:function(){return l.Config}});var a=r(5350);Object.defineProperty(t,"Game",{enumerable:!0,get:function(){return a.Game}});var u=r(5644);Object.defineProperty(t,"isSameBoardWord",{enumerable:!0,get:function(){return u.isSameBoardWord}});var s=r(4554);Object.defineProperty(t,"Locale",{enumerable:!0,get:function(){return s.Locale}});var p=r(9769);Object.defineProperty(t,"Result",{enumerable:!0,get:function(){return p.Result}});var y=r(7076);Object.defineProperty(t,"Tile",{enumerable:!0,get:function(){return y.Tile}});var f=r(7154);Object.defineProperty(t,"isBingo",{enumerable:!0,get:function(){return f.isBingo}}),Object.defineProperty(t,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}}),Object.defineProperty(t,"isCellJson",{enumerable:!0,get:function(){return f.isCellJson}}),Object.defineProperty(t,"isError",{enumerable:!0,get:function(){return f.isError}}),Object.defineProperty(t,"isGame",{enumerable:!0,get:function(){return f.isGame}}),Object.defineProperty(t,"isLocale",{enumerable:!0,get:function(){return f.isLocale}}),Object.defineProperty(t,"isMultiplierBingo",{enumerable:!0,get:function(){return f.isMultiplierBingo}}),Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return f.isObject}}),Object.defineProperty(t,"isScoreBingo",{enumerable:!0,get:function(){return f.isScoreBingo}}),Object.defineProperty(t,"isTileJson",{enumerable:!0,get:function(){return f.isTileJson}});var d=r(9495);Object.defineProperty(t,"WordBonus",{enumerable:!0,get:function(){return d.WordBonus}});var h=r(1821);Object.defineProperty(t,"WordDefinition",{enumerable:!0,get:function(){return h.WordDefinition}})},9653:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.persianScrabble=void 0;let n=r(9604),i=r(6706);t.persianScrabble=new n.Config({...i.scrabble,locale:n.Locale.FA_IR,tiles:[{character:"ا",count:12,score:1},{character:"ب",count:4,score:1},{character:"پ",count:1,score:6},{character:"ت",count:4,score:1},{character:"ث",count:1,score:10},{character:"ج",count:2,score:5},{character:"چ",count:1,score:6},{character:"ح",count:1,score:6},{character:"خ",count:2,score:5},{character:"د",count:6,score:1},{character:"ذ",count:1,score:10},{character:"ر",count:7,score:1},{character:"ز",count:3,score:4},{character:"ژ",count:1,score:10},{character:"س",count:3,score:2},{character:"ش",count:3,score:3},{character:"ص",count:1,score:6},{character:"ض",count:1,score:8},{character:"ط",count:1,score:8},{character:"ظ",count:1,score:10},{character:"ع",count:2,score:5},{character:"غ",count:1,score:8},{character:"ف",count:2,score:4},{character:"ق",count:2,score:5},{character:"ک",count:3,score:3},{character:"گ",count:2,score:4},{character:"ل",count:3,score:2},{character:"م",count:5,score:1},{character:"ن",count:6,score:1},{character:"و",count:5,score:1},{character:"ه",count:5,score:1},{character:"ی",count:8,score:1}]})},9769:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Result=void 0;let n=r(900),i=r(5644);class o{constructor({cells:e,id:t,collisions:r,points:n}){let i=s(e);this.blanksCount=c(i).length,this.cells=e,this.collisions=r,this.consonantsCount=l(i).length,this.id=t,this.length=e.length,this.points=n,this.pointsRatio=u(i,n),this.tiles=i,this.tilesCount=i.length,this.vowelsCount=a(i).length,this.word=p(e),this.words=y(e,r),this.wordsCount=1+this.collisions.length}toJson(){let e=this.cells.filter(e=>e.isEmpty);return{blankIndices:e.flatMap((e,t)=>e.tile.isBlank?[t]:[]),id:this.id,isHorizontal:this.isHorizontal(),points:this.points,tiles:e.map(e=>e.tile.character),x:this.cells[0].x,y:this.cells[0].y}}isHorizontal(){return this.cells[0].y===this.cells[1].y}isVertical(){return this.cells[0].x===this.cells[1].x}}t.Result=o,o.fromJson=(e,t)=>{let r=(0,i.getCells)(t,e);return new o({cells:r,collisions:(0,i.getCollisions)(t,r,e.isHorizontal),id:e.id,points:e.points})};let c=e=>e.filter(({isBlank:e})=>e),l=e=>e.filter(f),a=e=>e.filter(d),u=(e,t)=>t/e.length,s=e=>e.filter(({isEmpty:e})=>e).map(({tile:e})=>e),p=e=>e.reduce((e,t)=>e+t.toString(),""),y=(e,t)=>[e,...t].map(p),f=({character:e,isBlank:t})=>n.CONSONANTS.includes(e)&&!t,d=({character:e,isBlank:t})=>n.VOWELS.includes(e)&&!t}},e=>{var t=t=>e(e.s=t);e.O(0,[593,792],()=>(t(6021),t(445))),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[731],{1851:(_,n,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return e(8388)}])}},_=>{_.O(0,[636,593,792],()=>_(_.s=1851)),_N_E=_.O()}]);