scrabble-solver 2.18.0 → 2.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.nx/workspace-data/d/server-process.json +2 -2
  2. package/.nx/workspace-data/file-map.json +1481 -1485
  3. package/.nx/workspace-data/lockfile-dependencies.hash +1 -1
  4. package/.nx/workspace-data/lockfile-nodes.hash +1 -1
  5. package/.nx/workspace-data/nx_files.nxt +0 -0
  6. package/.nx/workspace-data/project-graph.json +71 -28
  7. package/.nx/workspace-data/source-maps.json +172 -0
  8. package/CLAUDE.md +1 -1
  9. package/bun.lock +29 -29
  10. package/e2e/app.spec.ts +1 -1
  11. package/e2e/features/solver-paths.spec.ts +2 -2
  12. package/lerna.json +1 -1
  13. package/package.json +18 -37
  14. package/packages/configs/package.json +13 -4
  15. package/packages/constants/package.json +6 -2
  16. package/packages/dictionaries/package.json +12 -5
  17. package/packages/logger/package.json +7 -2
  18. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  19. package/packages/scrabble-solver/.next/build-manifest.json +10 -10
  20. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  21. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  22. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  23. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  28. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  29. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  30. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  31. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  32. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  33. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -1
  34. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  35. package/packages/scrabble-solver/.next/server/pages/404.html +3 -2
  36. package/packages/scrabble-solver/.next/server/pages/500.html +3 -2
  37. package/packages/scrabble-solver/.next/server/pages/_document.js +1 -1
  38. package/packages/scrabble-solver/.next/server/pages/_error.js +2 -2
  39. package/packages/scrabble-solver/.next/server/pages/index.html +3 -2
  40. package/packages/scrabble-solver/.next/server/pages/index.js +3 -3
  41. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  42. package/packages/scrabble-solver/.next/server/pages/not-found.html +3 -2
  43. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  44. package/packages/scrabble-solver/.next/static/{FL82obwzFHRzvV6z76I-U → 5KOWzYqfY1Z2rjrzptr8D}/_buildManifest.js +1 -1
  45. package/packages/scrabble-solver/.next/static/chunks/pages/_app-2e607dcd4135f340.js +1 -0
  46. package/packages/scrabble-solver/.next/static/chunks/pages/index-e0087247c995328d.js +1 -0
  47. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-a59f9deeeff63d17.js +1 -0
  48. package/packages/scrabble-solver/.next/static/chunks/{webpack-e34c3ae12275e978.js → webpack-cfb34d175e081981.js} +1 -1
  49. package/packages/scrabble-solver/.next/static/css/{abc2425d3ba607bc.css → 4dbcacc1122ac6b9.css} +1 -0
  50. package/packages/scrabble-solver/.next/trace +21 -21
  51. package/packages/scrabble-solver/.next/trace-build +1 -1
  52. package/packages/scrabble-solver/package.json +17 -10
  53. package/packages/scrabble-solver/public/robots.txt +1 -0
  54. package/packages/scrabble-solver/public/service-worker.js +1 -1
  55. package/packages/scrabble-solver/public/site.webmanifest +14 -0
  56. package/packages/scrabble-solver/src/lib/waitForIdleOrFirstIntent.ts +19 -8
  57. package/packages/scrabble-solver/src/pages/_app.tsx +40 -76
  58. package/packages/scrabble-solver/src/pages/_document.tsx +21 -19
  59. package/packages/scrabble-solver/src/pages/index.tsx +30 -3
  60. package/packages/scrabble-solver/src/pages/not-found.tsx +13 -2
  61. package/packages/scrabble-solver/src/parameters/index.ts +7 -0
  62. package/packages/scrabble-solver/src/state/sagas.ts +4 -4
  63. package/packages/scrabble-solver/tsconfig.tsbuildinfo +1 -1
  64. package/packages/solver/package.json +14 -6
  65. package/packages/types/package.json +10 -3
  66. package/packages/word-definitions/package.json +9 -3
  67. package/packages/word-lists/package.json +11 -3
  68. package/playwright-report/index.html +1 -1
  69. package/packages/scrabble-solver/.next/static/chunks/pages/_app-ba5d628e81a15461.js +0 -1
  70. package/packages/scrabble-solver/.next/static/chunks/pages/index-5f9fa6ac3cd3d97b.js +0 -1
  71. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-23d61fd3ed791cad.js +0 -1
  72. package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +0 -18
  73. package/packages/scrabble-solver/src/components/SeoMessage/index.ts +0 -1
  74. /package/packages/scrabble-solver/.next/static/{FL82obwzFHRzvV6z76I-U → 5KOWzYqfY1Z2rjrzptr8D}/_ssgManifest.js +0 -0
@@ -7,7 +7,7 @@
7
7
  "compute": "static",
8
8
  "initialRevalidateSeconds": false,
9
9
  "srcRoute": null,
10
- "dataRoute": "/_next/data/FL82obwzFHRzvV6z76I-U/index.json",
10
+ "dataRoute": "/_next/data/5KOWzYqfY1Z2rjrzptr8D/index.json",
11
11
  "allowHeader": [
12
12
  "host",
13
13
  "x-matched-path",
@@ -21,8 +21,8 @@
21
21
  "dynamicRoutes": {},
22
22
  "notFoundRoutes": [],
23
23
  "preview": {
24
- "previewModeId": "2ed53eba09def2ca7c362be290389f60",
25
- "previewModeSigningKey": "b9232917f8c299896855e0a45d606f6fe07ad0f8756d32749968f60ba611bfe7",
26
- "previewModeEncryptionKey": "d88a7abb78c2d6ff4e10c0b65a6a97a1c8d5cda23bbf9b63aa2c551420cde905"
24
+ "previewModeId": "58ad9cc4e044ab96b5c9d69b422a5e5c",
25
+ "previewModeSigningKey": "262ade13c7e20ac94c1e56fa928443a2980d07917e3e59554548f77b44a06cb5",
26
+ "previewModeEncryptionKey": "05a6f3604ddd5cb0180564e180d09255222092e97e010947f1eafbd68a8188f6"
27
27
  }
28
28
  }
@@ -106,7 +106,7 @@
106
106
  "dataRoutes": [
107
107
  {
108
108
  "page": "/",
109
- "dataRouteRegex": "^/_next/data/FL82obwzFHRzvV6z76I\\-U/index\\.json$"
109
+ "dataRouteRegex": "^/_next/data/5KOWzYqfY1Z2rjrzptr8D/index\\.json$"
110
110
  }
111
111
  ],
112
112
  "rsc": {
@@ -1 +1 @@
1
- exports.id=712,exports.ids=[712],exports.modules={674:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{M:()=>u});var e=c(69198),f=c(68455),g=c(54283),h=c(15226),i=c(84411),j=c(48736),k=c(14703),l=c(98892),m=c(28245),n=c(26096),o=c(79194),p=c(32535),q=c(73407),r=c(69347),s=a([e,f,g,h,i,j,k,l,m,n,p,q,r,o]);[e,f,g,h,i,j,k,l,m,n,p,q,r,o]=s.then?(await s)():s;let t=(0,f.default)(),u=(0,e.configureStore)({reducer:{app:g.A.reducer,board:h.h.reducer,cellFilters:i.g.reducer,dictionary:j.z.reducer,hoveredTile:k.w.reducer,i18n:l.v.reducer,rack:m.o.reducer,results:n.N.reducer,settings:p.s.reducer,solve:q.A.reducer,verify:r.Y.reducer},middleware:a=>a({serializableCheck:!1}).concat([t])});t.run(o.H),d()}catch(a){d(a)}})},2827:(a,b,c)=>{"use strict";c.d(b,{P:()=>f,Z:()=>h});var d=c(97616);let e=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":"Dictionary","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","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","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-and-rack":"Board & rack","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.rack":"Rack","keyMap.rack.insert-blank":"Insert blank","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","rack.touchscreen.placeholder":"Letters…","remaining-tiles":"Remaining tiles","results":"Results","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.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.highlightUnreachableCells":"Highlight unreachable cells","settings.inputMode":"Input mode","settings.inputMode.keyboard":"Keyboard","settings.inputMode.touchscreen":"Touchscreen","settings.language":"Language","settings.removeCellFilters":"Automatically remove filters from board","settings.removeCellFilters.always":"Always","settings.removeCellFilters.never":"Never","settings.showCoordinates":"Coordinates","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.original":"Original","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}'),f=e,g={[d.Locale.DE_DE]:async()=>(await c.e(371).then(c.t.bind(c,17371,19))).default,[d.Locale.EN_GB]:async()=>e,[d.Locale.EN_US]:async()=>e,[d.Locale.ES_ES]:async()=>(await c.e(953).then(c.t.bind(c,79953,19))).default,[d.Locale.FA_IR]:async()=>(await c.e(309).then(c.t.bind(c,94309,19))).default,[d.Locale.FR_FR]:async()=>(await c.e(846).then(c.t.bind(c,99465,19))).default,[d.Locale.PL_PL]:async()=>(await c.e(886).then(c.t.bind(c,74886,19))).default,[d.Locale.RO_RO]:async()=>(await c.e(344).then(c.t.bind(c,63344,19))).default,[d.Locale.TR_TR]:async()=>(await c.e(465).then(c.t.bind(c,73465,19))).default},h=a=>g[a]()},5712:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>n});var e=c(8732),f=c(38849),g=c(99247),h=c.n(g),i=c(14062),j=c(51439),k=c(674);c(84426);var l=a([f,i,k]);[f,i,k]=l.then?(await l)():l;let m="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish.",n=({Component:a,pageProps:b})=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(h(),{children:[(0,e.jsx)("title",{children:"Scrabble Solver 2"}),(0,e.jsx)("meta",{charSet:"utf-8"}),(0,e.jsx)("meta",{name:"author",content:"Kamil Mielnik"}),(0,e.jsx)("meta",{name:"description",content:m}),(0,e.jsx)("meta",{name:"keywords",content:"Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Crossplay,NYT Crossplay,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Fran\xe7ais,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Espa\xf1ol,Spanish,Rom\xe2nă,Romanian,T\xfcrk\xe7e,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"}),(0,e.jsx)("meta",{name:"robots",content:"index, follow, notranslate, noimageindex"}),(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e.jsx)("meta",{property:"og:title",content:m}),(0,e.jsx)("meta",{property:"og:type",content:"website"}),(0,e.jsx)("meta",{property:"og:url",content:"https://scrabble-solver.org"}),(0,e.jsx)("meta",{property:"og:image",content:"https://scrabble-solver.org/og.png"}),(0,e.jsx)("meta",{property:"og:image:type",content:"image/png"}),(0,e.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,e.jsx)("meta",{property:"og:image:height",content:"630"}),(0,e.jsx)("meta",{property:"og:image:alt",content:m})]}),(0,e.jsxs)(i.Provider,{store:k.M,children:[(0,e.jsx)(j.Z,{}),(0,e.jsx)(f.FloatingDelayGroup,{delay:0,children:(0,e.jsx)(a,{...b})})]})]});d()}catch(a){d(a)}})},10623:(a,b,c)=>{"use strict";c.d(b,{n:()=>d});let d=(a,b)=>a.length===b.length&&a.every((a,c)=>a===b[c])},11117:(a,b,c)=>{"use strict";c.d(b,{u:()=>d});let d={error:void 0,input:"",isLoading:!1,results:[]}},13681:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(97616);let e=async(a,b)=>{let c;try{c=await window.fetch(a,b)}catch(b){let a=(0,d.isError)(b)?b.message:"Unknown error";throw Error(`Network error: ${a}`)}if(c.ok)return c;{let a=await c.json();if((0,d.isError)(a))throw Error(a.message)}throw Error(`HTTP ${c.status}: ${c.statusText}`)},f=async(a,b)=>{let c=new Headers(b?.headers);return c.set("Content-Type","application/json"),(await e(a,{...b,headers:c})).json()}},14703:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>h});var e=c(69198),f=c(17312),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.z,name:"hoveredTile",reducers:{set:(a,b)=>{a.character=b.payload},clear:a=>{a.character=null}}});d()}catch(a){d(a)}})},14887:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>h,o:()=>g});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=a=>a.cellFilters,h=(0,e.createSelector)([g,(a,b)=>b],(a,b)=>a.find(a=>a.x===b.x&&a.y===b.y));d()}catch(a){d(a)}})},15226:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{h:()=>l});var e=c(69198),f=c(38454),g=c(57472),h=c(97616),i=c(32535),j=c(83491),k=a([e,j,i]);[e,j,i]=k.then?(await k)():k;let l=(0,e.createSlice)({initialState:j._,name:"board",reducers:{applyResult:(a,b)=>{let c=a.clone();return b.payload.cells.forEach(a=>{c.updateCell(a.x,a.y,()=>new h.Cell({isEmpty:!1,tile:a.tile,x:a.x,y:a.y}))}),c},change:(a,b)=>b.payload,changeCellValue:(a,b)=>{let c=a.clone(),{value:d,x:e,y:f}=b.payload,i=!d||d===g.EMPTY_CELL,j=i?h.Tile.Null:new h.Tile({character:d});return c.updateCell(e,f,a=>new h.Cell({isEmpty:i,tile:j,x:a.x,y:a.y})),c},init:(a,b)=>b.payload,toggleCellIsBlank:(a,b)=>{let c=a.clone(),{x:d,y:e}=b.payload;return c.updateCell(d,e,a=>{let b=a.isEmpty?a.tile:new h.Tile({isBlank:!a.tile.isBlank,character:a.tile.character});return new h.Cell({isEmpty:a.isEmpty,tile:b,x:a.x,y:a.y})}),c}},extraReducers:a=>{a.addCase(i.s.actions.changeGame,(a,b)=>{let c=b.payload,d=Object.values(f.games).find(a=>a.game===c);if(!d)throw Error(`Cannot find config for game "${c}"`);if(a.rows.length!==d.boardHeight||a.rows[0].length!==d.boardWidth){let b=h.Board.create(d.boardWidth,d.boardHeight),c=Math.floor(d.boardWidth/2)-Math.floor(a.rows[0].length/2),e=Math.floor(d.boardHeight/2)-Math.floor(a.rows.length/2);for(let f=0;f<a.rows.length;++f)for(let g=0;g<a.rows[f].length;++g){let i=a.rows[f][g];if(i.isEmpty)continue;let j=g+c,k=f+e;j<0||j>=d.boardWidth||k<0||k>=d.boardHeight||b.updateCell(j,k,()=>new h.Cell({...i,x:j,y:k}))}return b}return a})}});d()}catch(a){d(a)}})},16202:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$:()=>h,I:()=>g});var e=c(38454),f=c(71528);let a=(0,e.getConfig)(f.n.game,f.n.locale),g=Array(a.rackSize).fill(null),h=g;d()}catch(a){d(a)}})},16375:(a,b,c)=>{"use strict";c.d(b,{C:()=>f});var d=c(97616),e=c(13681);let f=async(a,b)=>(await (0,e.x)(`/api/dictionary/${a}/${encodeURIComponent(b)}`)).map(d.WordDefinition.fromJson)},17312:(a,b,c)=>{"use strict";c.d(b,{z:()=>d});let d={character:null}},17568:(a,b,c)=>{"use strict";c.d(b,{_:()=>e});var d=c(57472);let e=(a,b)=>{let c=[...b];return a.map(a=>{let b=c.findIndex(b=>a===d.BLANK?b.isBlank:a===b.character);if(b>=0){let d=c[b];return c=[...c.slice(0,b),...c.slice(b+1)],{character:a,tile:d}}return{character:a,tile:null}})}},17791:(a,b,c)=>{"use strict";c.d(b,{L:()=>m});var d=c(97616),e=c(96481),f=c.n(e);let g="board",h="rack",i="settings",j="translations",k={autoGroupTiles:"auto-group-tiles",game:"config-id",highlightUnreachableCells:"highlight-unreachable-cells",inputMode:"input-mode",locale:"locale",removeCellFilters:"remove-cell-filters",showCoordinates:"show-coordinates"},l=f().namespace("scrabble-solver"),m={getBoard(){try{let a=l.get(g);return a?d.Board.fromJson(JSON.parse(a)):void 0}catch{l.remove(g);return}},setBoard(a){let b=a?JSON.stringify(a.toJson()):a;l.set(g,b,!0)},getRack(){let a=l.get(h);return void 0===a||Array.isArray(a)?a:void l.remove(h)},setRack(a){l.set(h,a,!0)},getSettings(){let a=l.get(i);return void 0===a||(0,d.isObject)(a)||l.remove(i),function(a){if("hidden"!==String(a.showCoordinates))return a;let b={...a,showCoordinates:"original"};return l.set(i,b,!0),b}((0,d.isObject)(a)?a:function(){let a={},b=!1;for(let[c,d]of Object.entries(k))l.has(d)&&(a[c]=l.get(d),l.remove(d),b=!0);return b&&l.set(i,a,!0),a}())},setSettings(a){l.set(i,a,!0)},getTranslations(a,b){let c=l.get(j);if(void 0!==c)return(0,d.isObject)(c)&&c.locale===a&&c.version===b&&(0,d.isObject)(c.translations)?c.translations:void l.remove(j)},setTranslations(a,b,c){l.set(j,{locale:a,translations:c,version:b},!0)}}},20904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{c:()=>h,n:()=>g});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=(0,e.createAction)("initialize"),h=(0,e.createAction)("reset");d()}catch(a){d(a)}})},22672:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{T:()=>g});var e=c(83491),f=a([e]);e=(f.then?(await f)():f)[0];let g={error:void 0,isLoading:!1,lastSolvedParameters:{board:e._,characters:[]}};d()}catch(a){d(a)}})},26096:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>i});var e=c(69198),f=c(38741),g=c(49053),h=a([e]);e=(h.then?(await h)():h)[0];let i=(0,e.createSlice)({initialState:g.i,name:"results",reducers:{applyResult:(a,b)=>g.i,changeQuery:(a,b)=>{let c=b.payload;return{...a,query:c}},changeResultCandidate:(a,b)=>{let c=b.payload;return{...a,candidate:c}},changeResults:(a,b)=>{let c=b.payload;return{...a,candidate:g.i.candidate,query:g.i.query,results:c}},sort:(a,b)=>{let c=b.payload,{column:d,direction:e}=a.sort;return{...a,sort:{column:c,direction:d===c?e===f.U.Ascending?f.U.Descending:f.U.Ascending:e}}},reset:()=>g.i}});d()}catch(a){d(a)}})},28245:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{o:()=>l});var e=c(69198),f=c(10623),g=c(98260),h=c(55958),i=c(17568),j=c(16202),k=a([e,j]);[e,j]=k.then?(await k)():k;let l=(0,e.createSlice)({initialState:j.$,name:"rack",reducers:{changeCharacter:(a,b)=>{let{character:c,index:d}=b.payload;return[...a.slice(0,d),c,...a.slice(d+1)]},changeCharacters:(a,b)=>{let{characters:c,index:d}=b.payload;if(0===c.length)return a;let e=a.length;return[...a.slice(0,d),...c,...a.slice(d+c.length)].slice(0,e)},groupTiles:(a,b)=>{if(null===b.payload)return a;let c=(0,g.O)((0,h.G)(b.payload)),d=[...a].sort(c);return(0,f.n)(a,d)?a:d},init:(a,b)=>(0,f.n)(a,b.payload)?a:b.payload,removeTiles:(a,b)=>{let c=b.payload;return(0,i._)(a,c).map(({character:a,tile:b})=>b?null:a)},reset:()=>j.I}});d()}catch(a){d(a)}})},29024:(a,b,c)=>{"use strict";c.d(b,{g:()=>e});var d=c(97616);let e=()=>{if(!globalThis.navigator)return d.Locale.EN_US;let a=globalThis.navigator.languages;if(a.includes("pl")||a.includes("pl-PL"))return d.Locale.PL_PL;if(a.includes("en-GB"))return d.Locale.EN_GB;if(a.includes("fa")||a.includes("fa-IR"))return d.Locale.FA_IR;if(a.includes("fr-FR"))return d.Locale.FR_FR;if(a.includes("ro")||a.includes("ro-RO"))return d.Locale.RO_RO;let b=Object.values(d.Locale),c=b.find(a=>globalThis.navigator.language===String(a));return c||(b.find(a=>globalThis.navigator.language===a.substring(0,2))??d.Locale.EN_US)}},29365:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{i:()=>g,x:()=>h});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=a=>a.rack,h=(0,e.createSelector)(g,a=>a.filter(a=>null!==a));d()}catch(a){d(a)}})},31635:(a,b,c)=>{"use strict";c.d(b,{B:()=>d});let d=a=>{let b=[],c=a=>b.find(b=>e(b.parameters,a))?.result;return Object.assign((...d)=>{let f=c(d);if(f)return f;let g=a(...d);return g instanceof Promise&&g.catch(()=>{let a;(a=b.findIndex(a=>e(a.parameters,d)))>=0&&b.splice(a,1)}),b.push({parameters:d,result:g}),g},{hasCache:(...a)=>!!c(a)})},e=(a,b)=>a.length===b.length&&a.every((a,c)=>a===b[c])},32535:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{s:()=>h});var e=c(69198),f=c(71528),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.n,name:"settings",reducers:{changeAutoGroupTiles:(a,b)=>{let c=b.payload;return{...a,autoGroupTiles:c}},changeGame:(a,b)=>{let c=b.payload;return{...a,game:c}},changeHighlightUnreachableCells:(a,b)=>{let c=b.payload;return{...a,highlightUnreachableCells:c}},changeInputMode:(a,b)=>{let c=b.payload;return{...a,inputMode:c}},changeLocale:(a,b)=>{let c=b.payload;return{...a,locale:c}},changeShowCoordinates:(a,b)=>{let c=b.payload;return{...a,showCoordinates:c}},changeRemoveCellFilters:(a,b)=>{let c=b.payload;return{...a,removeCellFilters:c}},init:(a,b)=>{let c={...a,...b.payload};return Object.keys(c).some(b=>c[b]!==a[b])?c:a}}});d()}catch(a){d(a)}})},34428:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>g});var e=c(83491),f=a([e]);e=(f.then?(await f)():f)[0];let g={isLoading:!1,lastSolvedParameters:{board:e._},invalidWords:[],validWords:[]};d()}catch(a){d(a)}})},38741:(a,b,c)=>{"use strict";c.d(b,{N:()=>g,U:()=>f});var d,e,f=((d={}).Ascending="ascending",d.Descending="descending",d),g=((e={}).BlanksCount="blanks-count",e.ConsonantsCount="consonants-count",e.Coordinates="coordinates",e.Points="points",e.TilesCount="tiles-count",e.VowelsCount="vowels-count",e.Word="word",e.WordsCount="words-count",e)},38744:(a,b,c)=>{"use strict";c.d(b,{W:()=>d});let d=a=>a.i18n.translations},48475:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{JV:()=>s,QN:()=>r,Vv:()=>p,fF:()=>y,fy:()=>w,hN:()=>u,i0:()=>n,sE:()=>x,u2:()=>t,u_:()=>q,up:()=>o,yI:()=>z,zg:()=>v});var e=c(69198),f=c(38454),g=c(57472),h=c(91891),i=c(2827),j=c(38744),k=a([e]);e=(k.then?(await k)():k)[0];let l=(a,b)=>b,m=(a,b)=>b,n=a=>a.settings,o=(0,e.createSelector)([n],a=>a.autoGroupTiles),p=(0,e.createSelector)([n],a=>a.game),q=(0,e.createSelector)([n],a=>a.highlightUnreachableCells),r=(0,e.createSelector)([n],a=>a.inputMode),s=(0,e.createSelector)([n],a=>a.locale),t=(0,e.createSelector)([s,n],(a,b)=>"ltr"===h.x[a].direction||null===b.autoGroupTiles?b.autoGroupTiles:"left"===b.autoGroupTiles?"right":"left"),u=(0,e.createSelector)([n],a=>a.showCoordinates),v=(0,e.createSelector)([p,s],f.getConfig),w=(0,e.createSelector)([v,m],(a,b)=>a.getCharacterPoints(b)),x=(0,e.createSelector)([v,m],(a,b)=>null===b||b===g.BLANK||a.tiles.some(a=>a.character===b));(0,e.createSelector)([v,l],(a,b)=>a.getCellBonus(b)),(0,e.createSelector)([v,(a,b)=>b],(a,b)=>a.getTilePoints(b)),(0,e.createSelector)([v,l],(a,b)=>!b.hasTile()||a.tiles.some(a=>a.character===b.tile.character));let y=(0,e.createSelector)([s,j.W],(a,b)=>b[a]??i.P),z=(0,e.createSelector)([n],a=>a.removeCellFilters);d()}catch(a){d(a)}})},48736:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z:()=>h});var e=c(69198),f=c(11117),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.u,name:"dictionary",reducers:{changeInput:(a,b)=>({...a,input:b.payload}),reset:()=>f.u,submit:a=>{let b=f.u.error,c=f.u.results;return{...a,error:b,isLoading:!0,results:c}},submitFailure:(a,b)=>{let c=b.payload,d=f.u.results;return{...a,error:c,isLoading:!1,results:d}},submitSuccess:(a,b)=>{let c=f.u.error,d=b.payload;return{...a,error:c,isLoading:!1,results:d}}}});d()}catch(a){d(a)}})},49053:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(38741);let e={candidate:null,query:"",results:void 0,sort:{column:d.N.Points,direction:d.U.Descending}}},51439:(a,b,c)=>{"use strict";c.d(b,{Z:()=>f});var d=c(8732);let e={color:"transparent",pointerEvents:"none",position:"absolute",userSelect:"none",transform:"translateY(-9999px)"},f=()=>(0,d.jsx)("p",{style:e,children:"Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!"})},54283:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>i});var e=c(69198),f=c(20904),g=c(89540),h=a([e,f]);[e,f]=h.then?(await h)():h;let i=(0,e.createSlice)({initialState:g.H,name:"app",reducers:{hydrated:a=>{a.isHydrated=!0}},extraReducers:a=>{a.addCase(f.n,(a,b)=>{a.version=b.payload.version})}});d()}catch(a){d(a)}})},55958:(a,b,c)=>{"use strict";c.d(b,{G:()=>d});let d=a=>"left"===a?"right":"left"},57472:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.VOWELS=b.CONSONANTS=b.NO_BONUS=b.EMPTY_CELL=b.BONUS_WORD=b.BONUS_CHARACTER=b.BLANK=b.COMMA_LATIN=b.COMMA_ARABIC=void 0,b.COMMA_ARABIC="،",b.COMMA_LATIN=",",b.BLANK=" ",b.BONUS_CHARACTER="BONUS_CHARACTER",b.BONUS_WORD="BONUS_WORD",b.EMPTY_CELL=" ",b.NO_BONUS={characterMultiplier:1,wordMultiplier:1},b.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),b.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},60145:(a,b,c)=>{"use strict";c.d(b,{q:()=>d});let d={translations:{}}},68209:(a,b,c)=>{"use strict";c.d(b,{M:()=>f});var d=c(83571),e=c(13681);let f=async({board:a,game:b,locale:c})=>{let f={board:a,game:b,locale:c};return await (0,d.cv)(f)??(0,e.x)("/api/verify",{method:"POST",body:JSON.stringify(f)})}},69347:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>h});var e=c(69198),f=c(34428),g=a([e,f]);[e,f]=g.then?(await g)():g;let h=(0,e.createSlice)({initialState:f.L,name:"verify",reducers:{submit:a=>({...a,isLoading:!0}),submitFailure:a=>({...a,isLoading:!1}),submitSuccess:(a,b)=>{let{board:c,invalidWords:d,validWords:e}=b.payload;return{...a,isLoading:!1,lastSolvedParameters:{board:c},invalidWords:d,validWords:e}}}});d()}catch(a){d(a)}})},71528:(a,b,c)=>{"use strict";c.d(b,{n:()=>e});var d=c(97616);let e={autoGroupTiles:null,game:d.Game.Scrabble,highlightUnreachableCells:!1,inputMode:"keyboard",locale:d.Locale.EN_US,removeCellFilters:"always",showCoordinates:"original"}},73407:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>h});var e=c(69198),f=c(22672),g=a([e,f]);[e,f]=g.then?(await g)():g;let h=(0,e.createSlice)({initialState:f.T,name:"solve",reducers:{reset:()=>f.T,submit:a=>{let b=f.T.error;return{...a,error:b,isLoading:!0}},submitFailure:(a,b)=>{let c=b.payload;return{...a,error:c,isLoading:!1}},submitSuccess:(a,b)=>{let c=f.T.error,d=b.payload;return{...a,error:c,isLoading:!1,lastSolvedParameters:d}}}});d()}catch(a){d(a)}})},73495:(a,b,c)=>{"use strict";c.d(b,{M:()=>d,f:()=>e});let d=a=>a.app.isHydrated,e=a=>a.app.version},79194:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H:()=>M});var e=c(38454),f=c(97616),g=c(18314),h=c(91891),i=c(2827),j=c(31635),k=c(94254),l=c(16375),m=c(91679),n=c(83531),o=c(68209),p=c(83571),q=c(20904),r=c(54283),s=c(73495),t=c(15226),u=c(91282),v=c(14887),w=c(84411),x=c(48736),y=c(84932),z=c(98892),A=c(38744),B=c(17791),C=c(28245),D=c(29365),E=c(26096),F=c(32535),G=c(48475),H=c(71528),I=c(29024),J=c(73407),K=c(69347),L=a([g,t,C,E,F,x,q,J,K,v,w,G,D,y,r,z]);[g,t,C,E,F,x,q,J,K,v,w,G,D,y,r,z]=L.then?(await L)():L;let ab=(0,j.B)(l.C);function*M(){yield(0,g.takeEvery)(t.h.actions.changeCellValue.type,N),yield(0,g.takeEvery)([C.o.actions.changeCharacter.type,C.o.actions.changeCharacters.type],O),yield(0,g.takeEvery)(E.N.actions.applyResult.type,P),yield(0,g.takeLatest)(E.N.actions.changeResultCandidate.type,Z),yield(0,g.takeEvery)(F.s.actions.changeGame.type,Q),yield(0,g.takeEvery)(F.s.actions.changeLocale.type,Y),yield(0,g.takeLatest)(x.z.actions.submit.type,R),yield(0,g.takeLatest)(q.n.type,S),yield(0,g.takeLatest)(q.c.type,X),yield(0,g.takeLatest)(J.A.actions.submit.type,$),yield(0,g.takeLatest)(K.Y.actions.submit.type,_)}function*N({payload:a}){(yield(0,g.select)(b=>(0,v.f)(b,a)))&&(yield(0,g.put)(w.g.actions.cancel(a))),yield(0,g.put)(E.N.actions.changeResultCandidate(null)),yield(0,g.put)(K.Y.actions.submit())}function*O(){yield(0,g.put)(E.N.actions.changeResultCandidate(null))}function*P({payload:a}){let b=yield(0,g.select)(G.u2),c=yield(0,g.select)(G.yI);yield(0,g.put)(t.h.actions.applyResult(a)),"never"===c?yield(0,g.put)(w.g.actions.removeCells(a.cells)):yield(0,g.put)(w.g.actions.reset()),yield(0,g.put)(C.o.actions.removeTiles(a.tiles)),yield(0,g.put)(C.o.actions.groupTiles(b)),yield(0,g.put)(K.Y.actions.submit())}function*Q(){(yield(0,g.select)(D.x)).length>0?yield(0,g.put)(J.A.actions.submit()):yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(E.N.actions.reset()),yield*aa(),yield(0,g.put)(K.Y.actions.submit())}function*R(){let{input:a}=yield(0,g.select)(y.Tx),b=yield(0,g.select)(G.JV);ab.hasCache(b,a)||(yield(0,g.delay)(150));try{let c=yield(0,g.call)(ab,b,a),{input:d}=yield(0,g.select)(y.Tx);a===d&&(yield(0,g.put)(x.z.actions.submitSuccess(c)))}catch(c){let{input:b}=yield(0,g.select)(y.Tx);a===b&&(yield(0,g.put)(x.z.actions.submitFailure(c)))}}function*S({payload:a}){try{yield*function*(a){let b=globalThis.matchMedia?.("(hover: none)").matches??!1,c={game:H.n.game,inputMode:b?"touchscreen":"keyboard",locale:(0,I.g)(),...B.L.getSettings()};if(!(0,e.hasConfig)(c.game,c.locale)){let a=Object.values(e.languages).find(a=>a.locale===c.locale);c.game=a?.game??H.n.game,c.locale=a?.locale??(0,I.g)()}yield(0,g.put)(F.s.actions.init(c)),yield*function*(a,b){let c=B.L.getTranslations(a,b);c&&(yield(0,g.put)(z.v.actions.loaded({locale:a,translations:c})))}(c.locale,a);let d=yield(0,g.select)(G.zg),h=yield(0,g.select)(u.p),i=B.L.getBoard();i?yield(0,g.put)(t.h.actions.init(i)):(h.rows.length!==d.boardHeight||h.rows[0].length!==d.boardWidth)&&(yield(0,g.put)(t.h.actions.init(f.Board.create(d.boardWidth,d.boardHeight))));let j=yield(0,g.select)(D.i),k=B.L.getRack();k?yield(0,g.put)(C.o.actions.init(k)):j.length!==d.rackSize&&(yield(0,g.put)(C.o.actions.init(Array(d.rackSize).fill(null))))}(a.version)}catch{}finally{yield(0,g.put)(r.A.actions.hydrated())}let b=yield(0,g.select)(u.p),c=yield(0,g.select)(G.JV);yield(0,g.spawn)(U),yield(0,g.spawn)(V,c),yield(0,g.spawn)(W),yield(0,g.spawn)(T),b.isEmpty()||(yield*aa(),yield(0,g.put)(K.Y.actions.submit()))}function*T(){yield(0,g.call)(k.c),yield(0,g.call)(m.Y)}function*U(){yield(0,g.call)(k.c);let a=yield(0,g.select)(G.JV);yield(0,g.call)(p.W3,a)}function*V(a){if((yield(0,g.select)(A.W))[a])return;let b=yield(0,g.call)(i.Z,a);yield(0,g.put)(z.v.actions.loaded({locale:a,translations:b}));let c=yield(0,g.select)(G.JV);if(a===c){let c=yield(0,g.select)(s.f);B.L.setTranslations(a,c,b)}}function*W(){for(let a of(yield(0,g.call)(k.c),Object.values(f.Locale)))yield(0,g.spawn)(V,a)}function*X(){let a=yield(0,g.select)(G.zg);yield(0,g.put)(t.h.actions.init(f.Board.create(a.boardWidth,a.boardHeight))),yield(0,g.put)(w.g.actions.reset()),yield(0,g.put)(x.z.actions.reset()),yield(0,g.put)(C.o.actions.reset()),yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(J.A.actions.reset()),yield(0,g.put)(K.Y.actions.submit())}function*Y({payload:a}){yield(0,g.spawn)(V,a),yield(0,g.spawn)(p.W3,a),yield*function*(a){let b=yield(0,g.select)(A.W),c=yield(0,g.select)(s.f);b[a]&&B.L.setTranslations(a,c,b[a])}(a);let b=yield(0,g.select)(G.Vv);if(!(0,e.hasConfig)(b,a)){let b=Object.values(e.languages).find(b=>b.locale===a);b&&(yield(0,g.put)(F.s.actions.changeGame(b.game)))}(yield(0,g.select)(D.x)).length>0?yield(0,g.put)(J.A.actions.submit()):yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(x.z.actions.reset()),yield(0,g.put)(E.N.actions.changeResultCandidate(null)),yield(0,g.put)(K.Y.actions.submit())}function*Z({payload:a}){if(!a)return;let b=yield(0,g.select)(G.JV),c=Array.from(new Set(a.words)).join(h.x[b].separator);ab.hasCache(b,c)||(yield(0,g.delay)(150)),yield(0,g.put)(x.z.actions.changeInput(c)),yield(0,g.put)(x.z.actions.submit())}function*$(){let a=yield(0,g.select)(u.p),{config:b}=yield(0,g.select)(G.zg),c=yield(0,g.select)(G.JV),d=yield(0,g.select)(D.x);if(0===d.length){yield(0,g.put)(J.A.actions.submitSuccess({board:a,characters:d})),yield(0,g.put)(E.N.actions.changeResults([]));return}try{let e=yield(0,g.call)(n.k,{board:a.toJson(),characters:d,game:b.game,locale:c});yield(0,g.put)(E.N.actions.changeResults(e)),yield(0,g.put)(J.A.actions.submitSuccess({board:a,characters:d}))}catch(a){yield(0,g.put)(E.N.actions.changeResults([])),yield(0,g.put)(J.A.actions.submitFailure(a))}}function*_(){yield(0,g.delay)(150);let a=yield(0,g.select)(u.p),{config:b}=yield(0,g.select)(G.zg),c=yield(0,g.select)(G.JV);try{let{invalidWords:d,validWords:e}=yield(0,g.call)(o.M,{board:a.toJson(),game:b.game,locale:c});yield(0,g.put)(K.Y.actions.submitSuccess({board:a,invalidWords:d,validWords:e}))}catch(a){yield(0,g.put)(K.Y.actions.submitFailure())}}function*aa(){let{config:a}=yield(0,g.select)(G.zg),b=yield(0,g.select)(D.i);if(a.rackSize>b.length){let c=Math.abs(a.rackSize-b.length);yield(0,g.put)(C.o.actions.init([...b,...Array(c).fill(null)]))}else if(a.rackSize<b.length){let c=b.filter(Boolean).slice(0,a.rackSize),d=Math.abs(a.rackSize-c.length),e=yield(0,g.select)(G.u2);yield(0,g.put)(C.o.actions.init([...c,...Array(d).fill(null)])),yield(0,g.put)(C.o.actions.groupTiles(e))}}d()}catch(a){d(a)}})},82876:(a,b,c)=>{"use strict";c.d(b,{E:()=>d});let d=a=>{let b=["include","exclude",null],c=(b.indexOf(a)+1)%b.length;return b[c]}},83491:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>j});var e=c(38454),f=c(97616);let{game:a,locale:g}=c(71528).n,{boardHeight:h,boardWidth:i}=(0,e.getConfig)(a,g),j=f.Board.create(i,h);d()}catch(a){d(a)}})},83531:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(97616),e=c(83571),f=c(13681);let g=async({board:a,characters:b,game:c,locale:g})=>{let h={board:a,characters:b,game:c,locale:g},i=await (0,e.as)(h)??await (0,f.x)("/api/solve",{method:"POST",body:JSON.stringify(h)}),j=d.Board.fromJson(a);return i.map(a=>d.Result.fromJson(a,j))}},83571:(a,b,c)=>{"use strict";let d;c.d(b,{W3:()=>k,as:()=>i,cv:()=>j});let e=0,f=0,g=Promise.resolve(void 0),h=new Map;function i(a){let b=++e,c=l(b,a);return f=b,g=c,c}async function j(a){let b=await m({id:++e,type:"verify",payload:a});return"answered"===b.outcome?b.data:void 0}function k(a){o()?.postMessage({id:++e,locale:a,type:"prefetch"})}async function l(a,b){let c=await m({id:a,type:"solve",payload:b});return"superseded"===c.outcome&&a!==f?g:"answered"===c.outcome?c.data:void 0}function m(a){let b=o();return b?new Promise(c=>{let d=setTimeout(()=>n({id:a.id,outcome:"unavailable"}),3e4);h.set(a.id,{resolve:c,timeout:d}),b.postMessage(a)}):Promise.resolve({id:a.id,outcome:"unavailable"})}function n(a){let b=h.get(a.id);b&&(h.delete(a.id),clearTimeout(b.timeout),b.resolve(a))}function o(){if("u">typeof Worker&&"caches"in globalThis)return d||((d=new Worker(new URL(c.p+c.u(916),c.b))).addEventListener("message",({data:a})=>n(a)),d.addEventListener("error",p)),d}function p(){for(let a of h.keys())n({id:a,outcome:"unavailable"});d?.terminate(),d=void 0}},84411:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>i});var e=c(69198),f=c(87092),g=c(82876),h=a([e]);e=(h.then?(await h)():h)[0];let i=(0,e.createSlice)({initialState:f.x,name:"cellFilters",reducers:{toggle:(a,b)=>{let{x:c,y:d}=b.payload,e=a.find(a=>a.x===c&&a.y===d),f=!!e,h=e?(0,g.E)(e.type):"include";return null===h?a.filter(a=>a.x!==c||a.y!==d):f?a.map(a=>a.x===c&&a.y===d?{...a,type:h}:a):[...a,{...b.payload,type:h}]},cancel:(a,b)=>{let{x:c,y:d}=b.payload;return a.filter(a=>a.x!==c||a.y!==d)},removeCells:(a,b)=>{let c=b.payload;return a.filter(a=>c.every(b=>b.x!==a.x||b.y!==a.y))},reset:()=>f.x}});d()}catch(a){d(a)}})},84426:()=>{},84932:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fe:()=>i,Tx:()=>h,dp:()=>j,nD:()=>k});var e=c(69198),f=c(97616),g=a([e]);e=(g.then?(await g)():g)[0];let h=a=>a.dictionary;(0,e.createSelector)([h],a=>a.input);let i=(0,e.createSelector)([h],a=>a.results),j=(0,e.createSelector)([h],a=>a.isLoading),k=(0,e.createSelector)([h],a=>(0,f.isError)(a.error)?a.error:void 0);d()}catch(a){d(a)}})},87092:(a,b,c)=>{"use strict";c.d(b,{x:()=>d});let d=[]},89540:(a,b,c)=>{"use strict";c.d(b,{H:()=>d});let d={isHydrated:!1,version:""}},91282:(a,b,c)=>{"use strict";c.d(b,{p:()=>d});let d=a=>a.board},91679:(a,b,c)=>{"use strict";c.d(b,{Y:()=>d});let d=()=>fetch("/api/visit",{method:"PUT"})},91891:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(57472),e=c(97616);let f={[e.Locale.DE_DE]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Deutsch",locale:e.Locale.DE_DE,name:"German",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_GB]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (GB)",locale:e.Locale.EN_GB,name:"English (GB)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_US]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (US)",locale:e.Locale.EN_US,name:"English (US)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.ES_ES]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Espa\xf1ol",locale:e.Locale.ES_ES,name:"Spanish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.FA_IR]:{comma:d.COMMA_ARABIC,consonants:!1,direction:"rtl",label:"فارسی",locale:e.Locale.FA_IR,name:"Persian",separator:`${d.COMMA_ARABIC} `,vowels:!1},[e.Locale.FR_FR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Fran\xe7ais",locale:e.Locale.FR_FR,name:"French",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.PL_PL]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Polski",locale:e.Locale.PL_PL,name:"Polish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.RO_RO]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Rom\xe2nă",locale:e.Locale.RO_RO,name:"Romanian",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.TR_TR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"T\xfcrk\xe7e",locale:e.Locale.TR_TR,name:"Turkish",separator:`${d.COMMA_LATIN} `,vowels:!0}}},94254:(a,b,c)=>{"use strict";function d(){return new Promise(a=>{let b=()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("keydown",b),a()};window.addEventListener("pointerdown",b,{once:!0}),window.addEventListener("keydown",b,{once:!0}),f(b)})}function e(){return new Promise(a=>f(a))}function f(a){let b=()=>{"requestIdleCallback"in window?window.requestIdleCallback(a,{timeout:5e3}):setTimeout(a,5e3)};"complete"===document.readyState?b():window.addEventListener("load",b,{once:!0})}c.d(b,{$:()=>e,c:()=>d})},97616:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=b.WordBonus=b.isTileJson=b.Tile=b.Result=b.Locale=b.isLocale=b.isObject=b.isError=b.isGame=b.Game=b.Config=b.CharacterBonus=b.isCellJson=b.Cell=b.Bonus=b.isBoardJson=b.Board=b.isScoreBingo=b.isMultiplierBingo=b.isBingo=void 0;var d=c(18993);Object.defineProperty(b,"isBingo",{enumerable:!0,get:function(){return d.isBingo}}),Object.defineProperty(b,"isMultiplierBingo",{enumerable:!0,get:function(){return d.isMultiplierBingo}}),Object.defineProperty(b,"isScoreBingo",{enumerable:!0,get:function(){return d.isScoreBingo}});var e=c(53340);Object.defineProperty(b,"Board",{enumerable:!0,get:function(){return e.Board}});var f=c(47210);Object.defineProperty(b,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}});var g=c(67553);Object.defineProperty(b,"Bonus",{enumerable:!0,get:function(){return g.Bonus}});var h=c(22540);Object.defineProperty(b,"Cell",{enumerable:!0,get:function(){return h.Cell}});var i=c(98042);Object.defineProperty(b,"isCellJson",{enumerable:!0,get:function(){return i.isCellJson}});var j=c(94322);Object.defineProperty(b,"CharacterBonus",{enumerable:!0,get:function(){return j.CharacterBonus}});var k=c(12794);Object.defineProperty(b,"Config",{enumerable:!0,get:function(){return k.Config}});var l=c(62574);Object.defineProperty(b,"Game",{enumerable:!0,get:function(){return l.Game}}),Object.defineProperty(b,"isGame",{enumerable:!0,get:function(){return l.isGame}});var m=c(93262);Object.defineProperty(b,"isError",{enumerable:!0,get:function(){return m.isError}});var n=c(90401);Object.defineProperty(b,"isObject",{enumerable:!0,get:function(){return n.isObject}});var o=c(80274);Object.defineProperty(b,"isLocale",{enumerable:!0,get:function(){return o.isLocale}}),Object.defineProperty(b,"Locale",{enumerable:!0,get:function(){return o.Locale}});var p=c(45875);Object.defineProperty(b,"Result",{enumerable:!0,get:function(){return p.Result}});var q=c(70528);Object.defineProperty(b,"Tile",{enumerable:!0,get:function(){return q.Tile}});var r=c(94622);Object.defineProperty(b,"isTileJson",{enumerable:!0,get:function(){return r.isTileJson}});var s=c(87189);Object.defineProperty(b,"WordBonus",{enumerable:!0,get:function(){return s.WordBonus}});var t=c(25479);Object.defineProperty(b,"WordDefinition",{enumerable:!0,get:function(){return t.WordDefinition}})},98260:(a,b,c)=>{"use strict";c.d(b,{O:()=>d});let d=a=>(b,c)=>b===c?0:null===b?"right"===a?1:-1:null===c?"right"===a?-1:1:0},98892:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{v:()=>h});var e=c(69198),f=c(60145),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.q,name:"i18n",reducers:{loaded:(a,b)=>{a.translations[b.payload.locale]=b.payload.translations}}});d()}catch(a){d(a)}})}};
1
+ exports.id=712,exports.ids=[712],exports.modules={674:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{M:()=>u});var e=c(69198),f=c(68455),g=c(54283),h=c(15226),i=c(84411),j=c(48736),k=c(14703),l=c(98892),m=c(28245),n=c(26096),o=c(79194),p=c(32535),q=c(73407),r=c(69347),s=a([e,f,g,h,i,j,k,l,m,n,p,q,r,o]);[e,f,g,h,i,j,k,l,m,n,p,q,r,o]=s.then?(await s)():s;let t=(0,f.default)(),u=(0,e.configureStore)({reducer:{app:g.A.reducer,board:h.h.reducer,cellFilters:i.g.reducer,dictionary:j.z.reducer,hoveredTile:k.w.reducer,i18n:l.v.reducer,rack:m.o.reducer,results:n.N.reducer,settings:p.s.reducer,solve:q.A.reducer,verify:r.Y.reducer},middleware:a=>a({serializableCheck:!1}).concat([t])});t.run(o.H),d()}catch(a){d(a)}})},2827:(a,b,c)=>{"use strict";c.d(b,{P:()=>f,Z:()=>h});var d=c(97616);let e=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":"Dictionary","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","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","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-and-rack":"Board & rack","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.rack":"Rack","keyMap.rack.insert-blank":"Insert blank","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","rack.touchscreen.placeholder":"Letters…","remaining-tiles":"Remaining tiles","results":"Results","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.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.highlightUnreachableCells":"Highlight unreachable cells","settings.inputMode":"Input mode","settings.inputMode.keyboard":"Keyboard","settings.inputMode.touchscreen":"Touchscreen","settings.language":"Language","settings.removeCellFilters":"Automatically remove filters from board","settings.removeCellFilters.always":"Always","settings.removeCellFilters.never":"Never","settings.showCoordinates":"Coordinates","settings.showCoordinates.alternative":"Alternative","settings.showCoordinates.original":"Original","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}'),f=e,g={[d.Locale.DE_DE]:async()=>(await c.e(371).then(c.t.bind(c,17371,19))).default,[d.Locale.EN_GB]:async()=>e,[d.Locale.EN_US]:async()=>e,[d.Locale.ES_ES]:async()=>(await c.e(953).then(c.t.bind(c,79953,19))).default,[d.Locale.FA_IR]:async()=>(await c.e(309).then(c.t.bind(c,94309,19))).default,[d.Locale.FR_FR]:async()=>(await c.e(846).then(c.t.bind(c,99465,19))).default,[d.Locale.PL_PL]:async()=>(await c.e(886).then(c.t.bind(c,74886,19))).default,[d.Locale.RO_RO]:async()=>(await c.e(344).then(c.t.bind(c,63344,19))).default,[d.Locale.TR_TR]:async()=>(await c.e(465).then(c.t.bind(c,73465,19))).default},h=a=>g[a]()},5712:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>n});var e=c(8732),f=c(38849),g=c(99247),h=c.n(g),i=c(14062),j=c(96768),k=c(674);c(84426);var l=a([f,i,k]);[f,i,k]=l.then?(await l)():l;let m="Scrabble Solver 2 - Board Solver & Word Finder",n=({Component:a,pageProps:b,router:c})=>{let d="/"===c.pathname;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(h(),{children:[(0,e.jsx)("title",{children:m}),(0,e.jsx)("meta",{charSet:"utf-8"}),(0,e.jsx)("meta",{name:"author",content:"Kamil Mielnik"}),(0,e.jsx)("meta",{name:"description",content:j.b2}),d?(0,e.jsx)("link",{rel:"canonical",href:`${j.W6}/`}):(0,e.jsx)("meta",{name:"robots",content:"noindex"}),(0,e.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e.jsx)("meta",{property:"og:site_name",content:"Scrabble Solver"}),(0,e.jsx)("meta",{property:"og:title",content:m}),(0,e.jsx)("meta",{property:"og:description",content:j.b2}),(0,e.jsx)("meta",{property:"og:type",content:"website"}),(0,e.jsx)("meta",{property:"og:url",content:`${j.W6}/`}),(0,e.jsx)("meta",{property:"og:locale",content:"en_US"}),(0,e.jsx)("meta",{property:"og:image",content:`${j.W6}/og.png`}),(0,e.jsx)("meta",{property:"og:image:type",content:"image/png"}),(0,e.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,e.jsx)("meta",{property:"og:image:height",content:"630"}),(0,e.jsx)("meta",{property:"og:image:alt",content:"Scrabble tiles spelling out Scrabble Solver 2"}),(0,e.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,e.jsx)("meta",{name:"twitter:title",content:m}),(0,e.jsx)("meta",{name:"twitter:description",content:j.b2}),(0,e.jsx)("meta",{name:"twitter:image",content:`${j.W6}/og.png`})]}),(0,e.jsx)(i.Provider,{store:k.M,children:(0,e.jsx)(f.FloatingDelayGroup,{delay:0,children:(0,e.jsx)(a,{...b})})})]})};d()}catch(a){d(a)}})},10623:(a,b,c)=>{"use strict";c.d(b,{n:()=>d});let d=(a,b)=>a.length===b.length&&a.every((a,c)=>a===b[c])},11117:(a,b,c)=>{"use strict";c.d(b,{u:()=>d});let d={error:void 0,input:"",isLoading:!1,results:[]}},13681:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(97616);let e=async(a,b)=>{let c;try{c=await window.fetch(a,b)}catch(b){let a=(0,d.isError)(b)?b.message:"Unknown error";throw Error(`Network error: ${a}`)}if(c.ok)return c;{let a=await c.json();if((0,d.isError)(a))throw Error(a.message)}throw Error(`HTTP ${c.status}: ${c.statusText}`)},f=async(a,b)=>{let c=new Headers(b?.headers);return c.set("Content-Type","application/json"),(await e(a,{...b,headers:c})).json()}},14703:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{w:()=>h});var e=c(69198),f=c(17312),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.z,name:"hoveredTile",reducers:{set:(a,b)=>{a.character=b.payload},clear:a=>{a.character=null}}});d()}catch(a){d(a)}})},14887:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{f:()=>h,o:()=>g});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=a=>a.cellFilters,h=(0,e.createSelector)([g,(a,b)=>b],(a,b)=>a.find(a=>a.x===b.x&&a.y===b.y));d()}catch(a){d(a)}})},15226:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{h:()=>l});var e=c(69198),f=c(38454),g=c(57472),h=c(97616),i=c(32535),j=c(83491),k=a([e,j,i]);[e,j,i]=k.then?(await k)():k;let l=(0,e.createSlice)({initialState:j._,name:"board",reducers:{applyResult:(a,b)=>{let c=a.clone();return b.payload.cells.forEach(a=>{c.updateCell(a.x,a.y,()=>new h.Cell({isEmpty:!1,tile:a.tile,x:a.x,y:a.y}))}),c},change:(a,b)=>b.payload,changeCellValue:(a,b)=>{let c=a.clone(),{value:d,x:e,y:f}=b.payload,i=!d||d===g.EMPTY_CELL,j=i?h.Tile.Null:new h.Tile({character:d});return c.updateCell(e,f,a=>new h.Cell({isEmpty:i,tile:j,x:a.x,y:a.y})),c},init:(a,b)=>b.payload,toggleCellIsBlank:(a,b)=>{let c=a.clone(),{x:d,y:e}=b.payload;return c.updateCell(d,e,a=>{let b=a.isEmpty?a.tile:new h.Tile({isBlank:!a.tile.isBlank,character:a.tile.character});return new h.Cell({isEmpty:a.isEmpty,tile:b,x:a.x,y:a.y})}),c}},extraReducers:a=>{a.addCase(i.s.actions.changeGame,(a,b)=>{let c=b.payload,d=Object.values(f.games).find(a=>a.game===c);if(!d)throw Error(`Cannot find config for game "${c}"`);if(a.rows.length!==d.boardHeight||a.rows[0].length!==d.boardWidth){let b=h.Board.create(d.boardWidth,d.boardHeight),c=Math.floor(d.boardWidth/2)-Math.floor(a.rows[0].length/2),e=Math.floor(d.boardHeight/2)-Math.floor(a.rows.length/2);for(let f=0;f<a.rows.length;++f)for(let g=0;g<a.rows[f].length;++g){let i=a.rows[f][g];if(i.isEmpty)continue;let j=g+c,k=f+e;j<0||j>=d.boardWidth||k<0||k>=d.boardHeight||b.updateCell(j,k,()=>new h.Cell({...i,x:j,y:k}))}return b}return a})}});d()}catch(a){d(a)}})},16202:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$:()=>h,I:()=>g});var e=c(38454),f=c(71528);let a=(0,e.getConfig)(f.n.game,f.n.locale),g=Array(a.rackSize).fill(null),h=g;d()}catch(a){d(a)}})},16375:(a,b,c)=>{"use strict";c.d(b,{C:()=>f});var d=c(97616),e=c(13681);let f=async(a,b)=>(await (0,e.x)(`/api/dictionary/${a}/${encodeURIComponent(b)}`)).map(d.WordDefinition.fromJson)},17312:(a,b,c)=>{"use strict";c.d(b,{z:()=>d});let d={character:null}},17568:(a,b,c)=>{"use strict";c.d(b,{_:()=>e});var d=c(57472);let e=(a,b)=>{let c=[...b];return a.map(a=>{let b=c.findIndex(b=>a===d.BLANK?b.isBlank:a===b.character);if(b>=0){let d=c[b];return c=[...c.slice(0,b),...c.slice(b+1)],{character:a,tile:d}}return{character:a,tile:null}})}},17791:(a,b,c)=>{"use strict";c.d(b,{L:()=>m});var d=c(97616),e=c(96481),f=c.n(e);let g="board",h="rack",i="settings",j="translations",k={autoGroupTiles:"auto-group-tiles",game:"config-id",highlightUnreachableCells:"highlight-unreachable-cells",inputMode:"input-mode",locale:"locale",removeCellFilters:"remove-cell-filters",showCoordinates:"show-coordinates"},l=f().namespace("scrabble-solver"),m={getBoard(){try{let a=l.get(g);return a?d.Board.fromJson(JSON.parse(a)):void 0}catch{l.remove(g);return}},setBoard(a){let b=a?JSON.stringify(a.toJson()):a;l.set(g,b,!0)},getRack(){let a=l.get(h);return void 0===a||Array.isArray(a)?a:void l.remove(h)},setRack(a){l.set(h,a,!0)},getSettings(){let a=l.get(i);return void 0===a||(0,d.isObject)(a)||l.remove(i),function(a){if("hidden"!==String(a.showCoordinates))return a;let b={...a,showCoordinates:"original"};return l.set(i,b,!0),b}((0,d.isObject)(a)?a:function(){let a={},b=!1;for(let[c,d]of Object.entries(k))l.has(d)&&(a[c]=l.get(d),l.remove(d),b=!0);return b&&l.set(i,a,!0),a}())},setSettings(a){l.set(i,a,!0)},getTranslations(a,b){let c=l.get(j);if(void 0!==c)return(0,d.isObject)(c)&&c.locale===a&&c.version===b&&(0,d.isObject)(c.translations)?c.translations:void l.remove(j)},setTranslations(a,b,c){l.set(j,{locale:a,translations:c,version:b},!0)}}},20904:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{c:()=>h,n:()=>g});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=(0,e.createAction)("initialize"),h=(0,e.createAction)("reset");d()}catch(a){d(a)}})},22672:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{T:()=>g});var e=c(83491),f=a([e]);e=(f.then?(await f)():f)[0];let g={error:void 0,isLoading:!1,lastSolvedParameters:{board:e._,characters:[]}};d()}catch(a){d(a)}})},26096:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>i});var e=c(69198),f=c(38741),g=c(49053),h=a([e]);e=(h.then?(await h)():h)[0];let i=(0,e.createSlice)({initialState:g.i,name:"results",reducers:{applyResult:(a,b)=>g.i,changeQuery:(a,b)=>{let c=b.payload;return{...a,query:c}},changeResultCandidate:(a,b)=>{let c=b.payload;return{...a,candidate:c}},changeResults:(a,b)=>{let c=b.payload;return{...a,candidate:g.i.candidate,query:g.i.query,results:c}},sort:(a,b)=>{let c=b.payload,{column:d,direction:e}=a.sort;return{...a,sort:{column:c,direction:d===c?e===f.U.Ascending?f.U.Descending:f.U.Ascending:e}}},reset:()=>g.i}});d()}catch(a){d(a)}})},28245:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{o:()=>l});var e=c(69198),f=c(10623),g=c(98260),h=c(55958),i=c(17568),j=c(16202),k=a([e,j]);[e,j]=k.then?(await k)():k;let l=(0,e.createSlice)({initialState:j.$,name:"rack",reducers:{changeCharacter:(a,b)=>{let{character:c,index:d}=b.payload;return[...a.slice(0,d),c,...a.slice(d+1)]},changeCharacters:(a,b)=>{let{characters:c,index:d}=b.payload;if(0===c.length)return a;let e=a.length;return[...a.slice(0,d),...c,...a.slice(d+c.length)].slice(0,e)},groupTiles:(a,b)=>{if(null===b.payload)return a;let c=(0,g.O)((0,h.G)(b.payload)),d=[...a].sort(c);return(0,f.n)(a,d)?a:d},init:(a,b)=>(0,f.n)(a,b.payload)?a:b.payload,removeTiles:(a,b)=>{let c=b.payload;return(0,i._)(a,c).map(({character:a,tile:b})=>b?null:a)},reset:()=>j.I}});d()}catch(a){d(a)}})},29024:(a,b,c)=>{"use strict";c.d(b,{g:()=>e});var d=c(97616);let e=()=>{if(!globalThis.navigator)return d.Locale.EN_US;let a=globalThis.navigator.languages;if(a.includes("pl")||a.includes("pl-PL"))return d.Locale.PL_PL;if(a.includes("en-GB"))return d.Locale.EN_GB;if(a.includes("fa")||a.includes("fa-IR"))return d.Locale.FA_IR;if(a.includes("fr-FR"))return d.Locale.FR_FR;if(a.includes("ro")||a.includes("ro-RO"))return d.Locale.RO_RO;let b=Object.values(d.Locale),c=b.find(a=>globalThis.navigator.language===String(a));return c||(b.find(a=>globalThis.navigator.language===a.substring(0,2))??d.Locale.EN_US)}},29365:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{i:()=>g,x:()=>h});var e=c(69198),f=a([e]);e=(f.then?(await f)():f)[0];let g=a=>a.rack,h=(0,e.createSelector)(g,a=>a.filter(a=>null!==a));d()}catch(a){d(a)}})},31635:(a,b,c)=>{"use strict";c.d(b,{B:()=>d});let d=a=>{let b=[],c=a=>b.find(b=>e(b.parameters,a))?.result;return Object.assign((...d)=>{let f=c(d);if(f)return f;let g=a(...d);return g instanceof Promise&&g.catch(()=>{let a;(a=b.findIndex(a=>e(a.parameters,d)))>=0&&b.splice(a,1)}),b.push({parameters:d,result:g}),g},{hasCache:(...a)=>!!c(a)})},e=(a,b)=>a.length===b.length&&a.every((a,c)=>a===b[c])},32535:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{s:()=>h});var e=c(69198),f=c(71528),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.n,name:"settings",reducers:{changeAutoGroupTiles:(a,b)=>{let c=b.payload;return{...a,autoGroupTiles:c}},changeGame:(a,b)=>{let c=b.payload;return{...a,game:c}},changeHighlightUnreachableCells:(a,b)=>{let c=b.payload;return{...a,highlightUnreachableCells:c}},changeInputMode:(a,b)=>{let c=b.payload;return{...a,inputMode:c}},changeLocale:(a,b)=>{let c=b.payload;return{...a,locale:c}},changeShowCoordinates:(a,b)=>{let c=b.payload;return{...a,showCoordinates:c}},changeRemoveCellFilters:(a,b)=>{let c=b.payload;return{...a,removeCellFilters:c}},init:(a,b)=>{let c={...a,...b.payload};return Object.keys(c).some(b=>c[b]!==a[b])?c:a}}});d()}catch(a){d(a)}})},34428:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{L:()=>g});var e=c(83491),f=a([e]);e=(f.then?(await f)():f)[0];let g={isLoading:!1,lastSolvedParameters:{board:e._},invalidWords:[],validWords:[]};d()}catch(a){d(a)}})},38741:(a,b,c)=>{"use strict";c.d(b,{N:()=>g,U:()=>f});var d,e,f=((d={}).Ascending="ascending",d.Descending="descending",d),g=((e={}).BlanksCount="blanks-count",e.ConsonantsCount="consonants-count",e.Coordinates="coordinates",e.Points="points",e.TilesCount="tiles-count",e.VowelsCount="vowels-count",e.Word="word",e.WordsCount="words-count",e)},38744:(a,b,c)=>{"use strict";c.d(b,{W:()=>d});let d=a=>a.i18n.translations},48475:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{JV:()=>s,QN:()=>r,Vv:()=>p,fF:()=>y,fy:()=>w,hN:()=>u,i0:()=>n,sE:()=>x,u2:()=>t,u_:()=>q,up:()=>o,yI:()=>z,zg:()=>v});var e=c(69198),f=c(38454),g=c(57472),h=c(91891),i=c(2827),j=c(38744),k=a([e]);e=(k.then?(await k)():k)[0];let l=(a,b)=>b,m=(a,b)=>b,n=a=>a.settings,o=(0,e.createSelector)([n],a=>a.autoGroupTiles),p=(0,e.createSelector)([n],a=>a.game),q=(0,e.createSelector)([n],a=>a.highlightUnreachableCells),r=(0,e.createSelector)([n],a=>a.inputMode),s=(0,e.createSelector)([n],a=>a.locale),t=(0,e.createSelector)([s,n],(a,b)=>"ltr"===h.x[a].direction||null===b.autoGroupTiles?b.autoGroupTiles:"left"===b.autoGroupTiles?"right":"left"),u=(0,e.createSelector)([n],a=>a.showCoordinates),v=(0,e.createSelector)([p,s],f.getConfig),w=(0,e.createSelector)([v,m],(a,b)=>a.getCharacterPoints(b)),x=(0,e.createSelector)([v,m],(a,b)=>null===b||b===g.BLANK||a.tiles.some(a=>a.character===b));(0,e.createSelector)([v,l],(a,b)=>a.getCellBonus(b)),(0,e.createSelector)([v,(a,b)=>b],(a,b)=>a.getTilePoints(b)),(0,e.createSelector)([v,l],(a,b)=>!b.hasTile()||a.tiles.some(a=>a.character===b.tile.character));let y=(0,e.createSelector)([s,j.W],(a,b)=>b[a]??i.P),z=(0,e.createSelector)([n],a=>a.removeCellFilters);d()}catch(a){d(a)}})},48736:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z:()=>h});var e=c(69198),f=c(11117),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.u,name:"dictionary",reducers:{changeInput:(a,b)=>({...a,input:b.payload}),reset:()=>f.u,submit:a=>{let b=f.u.error,c=f.u.results;return{...a,error:b,isLoading:!0,results:c}},submitFailure:(a,b)=>{let c=b.payload,d=f.u.results;return{...a,error:c,isLoading:!1,results:d}},submitSuccess:(a,b)=>{let c=f.u.error,d=b.payload;return{...a,error:c,isLoading:!1,results:d}}}});d()}catch(a){d(a)}})},49053:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(38741);let e={candidate:null,query:"",results:void 0,sort:{column:d.N.Points,direction:d.U.Descending}}},54283:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>i});var e=c(69198),f=c(20904),g=c(89540),h=a([e,f]);[e,f]=h.then?(await h)():h;let i=(0,e.createSlice)({initialState:g.H,name:"app",reducers:{hydrated:a=>{a.isHydrated=!0}},extraReducers:a=>{a.addCase(f.n,(a,b)=>{a.version=b.payload.version})}});d()}catch(a){d(a)}})},55958:(a,b,c)=>{"use strict";c.d(b,{G:()=>d});let d=a=>"left"===a?"right":"left"},57472:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.VOWELS=b.CONSONANTS=b.NO_BONUS=b.EMPTY_CELL=b.BONUS_WORD=b.BONUS_CHARACTER=b.BLANK=b.COMMA_LATIN=b.COMMA_ARABIC=void 0,b.COMMA_ARABIC="،",b.COMMA_LATIN=",",b.BLANK=" ",b.BONUS_CHARACTER="BONUS_CHARACTER",b.BONUS_WORD="BONUS_WORD",b.EMPTY_CELL=" ",b.NO_BONUS={characterMultiplier:1,wordMultiplier:1},b.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),b.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},60145:(a,b,c)=>{"use strict";c.d(b,{q:()=>d});let d={translations:{}}},68209:(a,b,c)=>{"use strict";c.d(b,{M:()=>f});var d=c(83571),e=c(13681);let f=async({board:a,game:b,locale:c})=>{let f={board:a,game:b,locale:c};return await (0,d.cv)(f)??(0,e.x)("/api/verify",{method:"POST",body:JSON.stringify(f)})}},69347:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>h});var e=c(69198),f=c(34428),g=a([e,f]);[e,f]=g.then?(await g)():g;let h=(0,e.createSlice)({initialState:f.L,name:"verify",reducers:{submit:a=>({...a,isLoading:!0}),submitFailure:a=>({...a,isLoading:!1}),submitSuccess:(a,b)=>{let{board:c,invalidWords:d,validWords:e}=b.payload;return{...a,isLoading:!1,lastSolvedParameters:{board:c},invalidWords:d,validWords:e}}}});d()}catch(a){d(a)}})},71528:(a,b,c)=>{"use strict";c.d(b,{n:()=>e});var d=c(97616);let e={autoGroupTiles:null,game:d.Game.Scrabble,highlightUnreachableCells:!1,inputMode:"keyboard",locale:d.Locale.EN_US,removeCellFilters:"always",showCoordinates:"original"}},73407:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>h});var e=c(69198),f=c(22672),g=a([e,f]);[e,f]=g.then?(await g)():g;let h=(0,e.createSlice)({initialState:f.T,name:"solve",reducers:{reset:()=>f.T,submit:a=>{let b=f.T.error;return{...a,error:b,isLoading:!0}},submitFailure:(a,b)=>{let c=b.payload;return{...a,error:c,isLoading:!1}},submitSuccess:(a,b)=>{let c=f.T.error,d=b.payload;return{...a,error:c,isLoading:!1,lastSolvedParameters:d}}}});d()}catch(a){d(a)}})},73495:(a,b,c)=>{"use strict";c.d(b,{M:()=>d,f:()=>e});let d=a=>a.app.isHydrated,e=a=>a.app.version},79194:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H:()=>M});var e=c(38454),f=c(97616),g=c(18314),h=c(91891),i=c(2827),j=c(31635),k=c(94254),l=c(16375),m=c(91679),n=c(83531),o=c(68209),p=c(83571),q=c(20904),r=c(54283),s=c(73495),t=c(15226),u=c(91282),v=c(14887),w=c(84411),x=c(48736),y=c(84932),z=c(98892),A=c(38744),B=c(17791),C=c(28245),D=c(29365),E=c(26096),F=c(32535),G=c(48475),H=c(71528),I=c(29024),J=c(73407),K=c(69347),L=a([g,t,C,E,F,x,q,J,K,v,w,G,D,y,r,z]);[g,t,C,E,F,x,q,J,K,v,w,G,D,y,r,z]=L.then?(await L)():L;let ab=(0,j.B)(l.C);function*M(){yield(0,g.takeEvery)(t.h.actions.changeCellValue.type,N),yield(0,g.takeEvery)([C.o.actions.changeCharacter.type,C.o.actions.changeCharacters.type],O),yield(0,g.takeEvery)(E.N.actions.applyResult.type,P),yield(0,g.takeLatest)(E.N.actions.changeResultCandidate.type,Z),yield(0,g.takeEvery)(F.s.actions.changeGame.type,Q),yield(0,g.takeEvery)(F.s.actions.changeLocale.type,Y),yield(0,g.takeLatest)(x.z.actions.submit.type,R),yield(0,g.takeLatest)(q.n.type,S),yield(0,g.takeLatest)(q.c.type,X),yield(0,g.takeLatest)(J.A.actions.submit.type,$),yield(0,g.takeLatest)(K.Y.actions.submit.type,_)}function*N({payload:a}){(yield(0,g.select)(b=>(0,v.f)(b,a)))&&(yield(0,g.put)(w.g.actions.cancel(a))),yield(0,g.put)(E.N.actions.changeResultCandidate(null)),yield(0,g.put)(K.Y.actions.submit())}function*O(){yield(0,g.put)(E.N.actions.changeResultCandidate(null))}function*P({payload:a}){let b=yield(0,g.select)(G.u2),c=yield(0,g.select)(G.yI);yield(0,g.put)(t.h.actions.applyResult(a)),"never"===c?yield(0,g.put)(w.g.actions.removeCells(a.cells)):yield(0,g.put)(w.g.actions.reset()),yield(0,g.put)(C.o.actions.removeTiles(a.tiles)),yield(0,g.put)(C.o.actions.groupTiles(b)),yield(0,g.put)(K.Y.actions.submit())}function*Q(){(yield(0,g.select)(D.x)).length>0?yield(0,g.put)(J.A.actions.submit()):yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(E.N.actions.reset()),yield*aa(),yield(0,g.put)(K.Y.actions.submit())}function*R(){let{input:a}=yield(0,g.select)(y.Tx),b=yield(0,g.select)(G.JV);ab.hasCache(b,a)||(yield(0,g.delay)(150));try{let c=yield(0,g.call)(ab,b,a),{input:d}=yield(0,g.select)(y.Tx);a===d&&(yield(0,g.put)(x.z.actions.submitSuccess(c)))}catch(c){let{input:b}=yield(0,g.select)(y.Tx);a===b&&(yield(0,g.put)(x.z.actions.submitFailure(c)))}}function*S({payload:a}){try{yield*function*(a){let b=globalThis.matchMedia?.("(hover: none)").matches??!1,c={game:H.n.game,inputMode:b?"touchscreen":"keyboard",locale:(0,I.g)(),...B.L.getSettings()};if(!(0,e.hasConfig)(c.game,c.locale)){let a=Object.values(e.languages).find(a=>a.locale===c.locale);c.game=a?.game??H.n.game,c.locale=a?.locale??(0,I.g)()}yield(0,g.put)(F.s.actions.init(c)),yield*function*(a,b){let c=B.L.getTranslations(a,b);c&&(yield(0,g.put)(z.v.actions.loaded({locale:a,translations:c})))}(c.locale,a);let d=yield(0,g.select)(G.zg),h=yield(0,g.select)(u.p),i=B.L.getBoard();i?yield(0,g.put)(t.h.actions.init(i)):(h.rows.length!==d.boardHeight||h.rows[0].length!==d.boardWidth)&&(yield(0,g.put)(t.h.actions.init(f.Board.create(d.boardWidth,d.boardHeight))));let j=yield(0,g.select)(D.i),k=B.L.getRack();k?yield(0,g.put)(C.o.actions.init(k)):j.length!==d.rackSize&&(yield(0,g.put)(C.o.actions.init(Array(d.rackSize).fill(null))))}(a.version)}catch{}finally{yield(0,g.put)(r.A.actions.hydrated())}let b=yield(0,g.select)(u.p),c=yield(0,g.select)(G.JV);yield(0,g.spawn)(U),yield(0,g.spawn)(V,c),yield(0,g.spawn)(W),yield(0,g.spawn)(T),b.isEmpty()||(yield*aa(),yield(0,g.put)(K.Y.actions.submit()))}function*T(){yield(0,g.call)(k.cH),yield(0,g.call)(m.Y)}function*U(){yield(0,g.call)(k.j7);let a=yield(0,g.select)(G.JV);yield(0,g.call)(p.W3,a)}function*V(a){if((yield(0,g.select)(A.W))[a])return;let b=yield(0,g.call)(i.Z,a);yield(0,g.put)(z.v.actions.loaded({locale:a,translations:b}));let c=yield(0,g.select)(G.JV);if(a===c){let c=yield(0,g.select)(s.f);B.L.setTranslations(a,c,b)}}function*W(){for(let a of(yield(0,g.call)(k.cH),Object.values(f.Locale)))yield(0,g.spawn)(V,a)}function*X(){let a=yield(0,g.select)(G.zg);yield(0,g.put)(t.h.actions.init(f.Board.create(a.boardWidth,a.boardHeight))),yield(0,g.put)(w.g.actions.reset()),yield(0,g.put)(x.z.actions.reset()),yield(0,g.put)(C.o.actions.reset()),yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(J.A.actions.reset()),yield(0,g.put)(K.Y.actions.submit())}function*Y({payload:a}){yield(0,g.spawn)(V,a),yield(0,g.spawn)(p.W3,a),yield*function*(a){let b=yield(0,g.select)(A.W),c=yield(0,g.select)(s.f);b[a]&&B.L.setTranslations(a,c,b[a])}(a);let b=yield(0,g.select)(G.Vv);if(!(0,e.hasConfig)(b,a)){let b=Object.values(e.languages).find(b=>b.locale===a);b&&(yield(0,g.put)(F.s.actions.changeGame(b.game)))}(yield(0,g.select)(D.x)).length>0?yield(0,g.put)(J.A.actions.submit()):yield(0,g.put)(E.N.actions.reset()),yield(0,g.put)(x.z.actions.reset()),yield(0,g.put)(E.N.actions.changeResultCandidate(null)),yield(0,g.put)(K.Y.actions.submit())}function*Z({payload:a}){if(!a)return;let b=yield(0,g.select)(G.JV),c=Array.from(new Set(a.words)).join(h.x[b].separator);ab.hasCache(b,c)||(yield(0,g.delay)(150)),yield(0,g.put)(x.z.actions.changeInput(c)),yield(0,g.put)(x.z.actions.submit())}function*$(){let a=yield(0,g.select)(u.p),{config:b}=yield(0,g.select)(G.zg),c=yield(0,g.select)(G.JV),d=yield(0,g.select)(D.x);if(0===d.length){yield(0,g.put)(J.A.actions.submitSuccess({board:a,characters:d})),yield(0,g.put)(E.N.actions.changeResults([]));return}try{let e=yield(0,g.call)(n.k,{board:a.toJson(),characters:d,game:b.game,locale:c});yield(0,g.put)(E.N.actions.changeResults(e)),yield(0,g.put)(J.A.actions.submitSuccess({board:a,characters:d}))}catch(a){yield(0,g.put)(E.N.actions.changeResults([])),yield(0,g.put)(J.A.actions.submitFailure(a))}}function*_(){yield(0,g.delay)(150);let a=yield(0,g.select)(u.p),{config:b}=yield(0,g.select)(G.zg),c=yield(0,g.select)(G.JV);try{let{invalidWords:d,validWords:e}=yield(0,g.call)(o.M,{board:a.toJson(),game:b.game,locale:c});yield(0,g.put)(K.Y.actions.submitSuccess({board:a,invalidWords:d,validWords:e}))}catch(a){yield(0,g.put)(K.Y.actions.submitFailure())}}function*aa(){let{config:a}=yield(0,g.select)(G.zg),b=yield(0,g.select)(D.i);if(a.rackSize>b.length){let c=Math.abs(a.rackSize-b.length);yield(0,g.put)(C.o.actions.init([...b,...Array(c).fill(null)]))}else if(a.rackSize<b.length){let c=b.filter(Boolean).slice(0,a.rackSize),d=Math.abs(a.rackSize-c.length),e=yield(0,g.select)(G.u2);yield(0,g.put)(C.o.actions.init([...c,...Array(d).fill(null)])),yield(0,g.put)(C.o.actions.groupTiles(e))}}d()}catch(a){d(a)}})},82461:a=>{a.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"}},82876:(a,b,c)=>{"use strict";c.d(b,{E:()=>d});let d=a=>{let b=["include","exclude",null],c=(b.indexOf(a)+1)%b.length;return b[c]}},83491:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{_:()=>j});var e=c(38454),f=c(97616);let{game:a,locale:g}=c(71528).n,{boardHeight:h,boardWidth:i}=(0,e.getConfig)(a,g),j=f.Board.create(i,h);d()}catch(a){d(a)}})},83531:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(97616),e=c(83571),f=c(13681);let g=async({board:a,characters:b,game:c,locale:g})=>{let h={board:a,characters:b,game:c,locale:g},i=await (0,e.as)(h)??await (0,f.x)("/api/solve",{method:"POST",body:JSON.stringify(h)}),j=d.Board.fromJson(a);return i.map(a=>d.Result.fromJson(a,j))}},83571:(a,b,c)=>{"use strict";let d;c.d(b,{W3:()=>k,as:()=>i,cv:()=>j});let e=0,f=0,g=Promise.resolve(void 0),h=new Map;function i(a){let b=++e,c=l(b,a);return f=b,g=c,c}async function j(a){let b=await m({id:++e,type:"verify",payload:a});return"answered"===b.outcome?b.data:void 0}function k(a){o()?.postMessage({id:++e,locale:a,type:"prefetch"})}async function l(a,b){let c=await m({id:a,type:"solve",payload:b});return"superseded"===c.outcome&&a!==f?g:"answered"===c.outcome?c.data:void 0}function m(a){let b=o();return b?new Promise(c=>{let d=setTimeout(()=>n({id:a.id,outcome:"unavailable"}),3e4);h.set(a.id,{resolve:c,timeout:d}),b.postMessage(a)}):Promise.resolve({id:a.id,outcome:"unavailable"})}function n(a){let b=h.get(a.id);b&&(h.delete(a.id),clearTimeout(b.timeout),b.resolve(a))}function o(){if("u">typeof Worker&&"caches"in globalThis)return d||((d=new Worker(new URL(c.p+c.u(916),c.b))).addEventListener("message",({data:a})=>n(a)),d.addEventListener("error",p)),d}function p(){for(let a of h.keys())n({id:a,outcome:"unavailable"});d?.terminate(),d=void 0}},84411:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{g:()=>i});var e=c(69198),f=c(87092),g=c(82876),h=a([e]);e=(h.then?(await h)():h)[0];let i=(0,e.createSlice)({initialState:f.x,name:"cellFilters",reducers:{toggle:(a,b)=>{let{x:c,y:d}=b.payload,e=a.find(a=>a.x===c&&a.y===d),f=!!e,h=e?(0,g.E)(e.type):"include";return null===h?a.filter(a=>a.x!==c||a.y!==d):f?a.map(a=>a.x===c&&a.y===d?{...a,type:h}:a):[...a,{...b.payload,type:h}]},cancel:(a,b)=>{let{x:c,y:d}=b.payload;return a.filter(a=>a.x!==c||a.y!==d)},removeCells:(a,b)=>{let c=b.payload;return a.filter(a=>c.every(b=>b.x!==a.x||b.y!==a.y))},reset:()=>f.x}});d()}catch(a){d(a)}})},84426:()=>{},84932:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fe:()=>i,Tx:()=>h,dp:()=>j,nD:()=>k});var e=c(69198),f=c(97616),g=a([e]);e=(g.then?(await g)():g)[0];let h=a=>a.dictionary;(0,e.createSelector)([h],a=>a.input);let i=(0,e.createSelector)([h],a=>a.results),j=(0,e.createSelector)([h],a=>a.isLoading),k=(0,e.createSelector)([h],a=>(0,f.isError)(a.error)?a.error:void 0);d()}catch(a){d(a)}})},87092:(a,b,c)=>{"use strict";c.d(b,{x:()=>d});let d=[]},89540:(a,b,c)=>{"use strict";c.d(b,{H:()=>d});let d={isHydrated:!1,version:""}},91282:(a,b,c)=>{"use strict";c.d(b,{p:()=>d});let d=a=>a.board},91679:(a,b,c)=>{"use strict";c.d(b,{Y:()=>d});let d=()=>fetch("/api/visit",{method:"PUT"})},91891:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(57472),e=c(97616);let f={[e.Locale.DE_DE]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Deutsch",locale:e.Locale.DE_DE,name:"German",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_GB]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (GB)",locale:e.Locale.EN_GB,name:"English (GB)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_US]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (US)",locale:e.Locale.EN_US,name:"English (US)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.ES_ES]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Espa\xf1ol",locale:e.Locale.ES_ES,name:"Spanish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.FA_IR]:{comma:d.COMMA_ARABIC,consonants:!1,direction:"rtl",label:"فارسی",locale:e.Locale.FA_IR,name:"Persian",separator:`${d.COMMA_ARABIC} `,vowels:!1},[e.Locale.FR_FR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Fran\xe7ais",locale:e.Locale.FR_FR,name:"French",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.PL_PL]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Polski",locale:e.Locale.PL_PL,name:"Polish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.RO_RO]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Rom\xe2nă",locale:e.Locale.RO_RO,name:"Romanian",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.TR_TR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"T\xfcrk\xe7e",locale:e.Locale.TR_TR,name:"Turkish",separator:`${d.COMMA_LATIN} `,vowels:!0}}},94254:(a,b,c)=>{"use strict";function d(){return new Promise(a=>{h(g(a))})}function e(){return new Promise(a=>{g(a)})}function f(){return new Promise(a=>h(a))}function g(a){let b=()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("keydown",b),a()};return window.addEventListener("pointerdown",b,{once:!0}),window.addEventListener("keydown",b,{once:!0}),b}function h(a){let b=()=>{"requestIdleCallback"in window?window.requestIdleCallback(a,{timeout:5e3}):setTimeout(a,5e3)};"complete"===document.readyState?b():window.addEventListener("load",b,{once:!0})}c.d(b,{$J:()=>f,cH:()=>d,j7:()=>e})},96768:(a,b,c)=>{"use strict";c.d(b,{CP:()=>v,Ce:()=>k,Gr:()=>t,Ip:()=>s,J2:()=>G,KG:()=>n,LO:()=>f,Ln:()=>u,Lo:()=>r,RO:()=>p,T7:()=>B,Uk:()=>F,W6:()=>i,_Q:()=>y,b2:()=>j,dW:()=>E,dX:()=>z,fd:()=>m,g:()=>g,gP:()=>x,hO:()=>q,m4:()=>w,oH:()=>o,oK:()=>l,pw:()=>A,tg:()=>H,v0:()=>h,vK:()=>C,wu:()=>D});var d=c(82461),e=c.n(d);let f={xs:Number(e().breakpointXs),s:Number(e().breakpointS),m:Number(e().breakpointM),l:Number(e().breakpointL),xl:Number(e().breakpointXl)},g="https://github.com/kamilmielnik/scrabble-solver",h="https://www.npmjs.com/package/scrabble-solver",i="https://scrabble-solver.org",j="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.",k="config-pending",l=Number(e().transitionDurationLong),m="var(--color--blue)",n="var(--color--green)",o="var(--color--red)",p="var(--color--yellow)",q=e().colorBackground,r=e().colorVioletLight,s={1:e().colorYellowLight,2:e().colorGreenLight,3:e().colorBlueLight,5:e().colorRedLight},t={2:e().colorBonusCharacterMultiplier2,3:e().colorBonusCharacterMultiplier3,4:e().colorBonusCharacterMultiplier4},u={2:e().colorBonusWordMultiplier2,3:e().colorBonusWordMultiplier3,4:e().colorBonusWordMultiplier4},v=3,w=e().borderColorLight,x=Number(e().borderWidth),y=166,z="/logo.svg",A=682,B=Number(e().transitionDuration),C=n,D={1:p,2:n,3:m,4:o,5:o,6:o,7:o,8:o,9:o,10:o},E=6,F=80,G=Number(e().resultsItemHeight),H=10},97616:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=b.WordBonus=b.isTileJson=b.Tile=b.Result=b.Locale=b.isLocale=b.isObject=b.isError=b.isGame=b.Game=b.Config=b.CharacterBonus=b.isCellJson=b.Cell=b.Bonus=b.isBoardJson=b.Board=b.isScoreBingo=b.isMultiplierBingo=b.isBingo=void 0;var d=c(18993);Object.defineProperty(b,"isBingo",{enumerable:!0,get:function(){return d.isBingo}}),Object.defineProperty(b,"isMultiplierBingo",{enumerable:!0,get:function(){return d.isMultiplierBingo}}),Object.defineProperty(b,"isScoreBingo",{enumerable:!0,get:function(){return d.isScoreBingo}});var e=c(53340);Object.defineProperty(b,"Board",{enumerable:!0,get:function(){return e.Board}});var f=c(47210);Object.defineProperty(b,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}});var g=c(67553);Object.defineProperty(b,"Bonus",{enumerable:!0,get:function(){return g.Bonus}});var h=c(22540);Object.defineProperty(b,"Cell",{enumerable:!0,get:function(){return h.Cell}});var i=c(98042);Object.defineProperty(b,"isCellJson",{enumerable:!0,get:function(){return i.isCellJson}});var j=c(94322);Object.defineProperty(b,"CharacterBonus",{enumerable:!0,get:function(){return j.CharacterBonus}});var k=c(12794);Object.defineProperty(b,"Config",{enumerable:!0,get:function(){return k.Config}});var l=c(62574);Object.defineProperty(b,"Game",{enumerable:!0,get:function(){return l.Game}}),Object.defineProperty(b,"isGame",{enumerable:!0,get:function(){return l.isGame}});var m=c(93262);Object.defineProperty(b,"isError",{enumerable:!0,get:function(){return m.isError}});var n=c(90401);Object.defineProperty(b,"isObject",{enumerable:!0,get:function(){return n.isObject}});var o=c(80274);Object.defineProperty(b,"isLocale",{enumerable:!0,get:function(){return o.isLocale}}),Object.defineProperty(b,"Locale",{enumerable:!0,get:function(){return o.Locale}});var p=c(45875);Object.defineProperty(b,"Result",{enumerable:!0,get:function(){return p.Result}});var q=c(70528);Object.defineProperty(b,"Tile",{enumerable:!0,get:function(){return q.Tile}});var r=c(94622);Object.defineProperty(b,"isTileJson",{enumerable:!0,get:function(){return r.isTileJson}});var s=c(87189);Object.defineProperty(b,"WordBonus",{enumerable:!0,get:function(){return s.WordBonus}});var t=c(25479);Object.defineProperty(b,"WordDefinition",{enumerable:!0,get:function(){return t.WordDefinition}})},98260:(a,b,c)=>{"use strict";c.d(b,{O:()=>d});let d=a=>(b,c)=>b===c?0:null===b?"right"===a?1:-1:null===c?"right"===a?-1:1:0},98892:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{v:()=>h});var e=c(69198),f=c(60145),g=a([e]);e=(g.then?(await g)():g)[0];let h=(0,e.createSlice)({initialState:f.q,name:"i18n",reducers:{loaded:(a,b)=>{a.translations[b.payload.locale]=b.payload.translations}}});d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/FL82obwzFHRzvV6z76I-U/_buildManifest.js","static/FL82obwzFHRzvV6z76I-U/_ssgManifest.js"],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-e34c3ae12275e978.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/chunks/101-829ab8a8d310e7a0.js","static/css/c403ce739a9c0d83.css","static/chunks/pages/index-5f9fa6ac3cd3d97b.js"],"/_app":["static/chunks/webpack-e34c3ae12275e978.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/css/abc2425d3ba607bc.css","static/chunks/pages/_app-ba5d628e81a15461.js"],"/_error":["static/chunks/webpack-e34c3ae12275e978.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/chunks/pages/_error-f0290a98eb3ed0ec.js"],"/not-found":["static/chunks/webpack-e34c3ae12275e978.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/css/dee878eb64099d92.css","static/chunks/pages/not-found-23d61fd3ed791cad.js"]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/5KOWzYqfY1Z2rjrzptr8D/_buildManifest.js","static/5KOWzYqfY1Z2rjrzptr8D/_ssgManifest.js"],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-cfb34d175e081981.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/chunks/101-829ab8a8d310e7a0.js","static/css/c403ce739a9c0d83.css","static/chunks/pages/index-e0087247c995328d.js"],"/_app":["static/chunks/webpack-cfb34d175e081981.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/css/4dbcacc1122ac6b9.css","static/chunks/pages/_app-2e607dcd4135f340.js"],"/_error":["static/chunks/webpack-cfb34d175e081981.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/chunks/pages/_error-f0290a98eb3ed0ec.js"],"/not-found":["static/chunks/webpack-cfb34d175e081981.js","static/chunks/framework-626cbd48ac5aca57.js","static/chunks/main-b92e08f3fc96dd8d.js","static/css/dee878eb64099d92.css","static/chunks/pages/not-found-a59f9deeeff63d17.js"]}};
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html dir="ltr" lang="en-US"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Crossplay,NYT Crossplay,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><script>(function () {
1
+ <!DOCTYPE html><html dir="ltr" lang="en-US"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="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." data-next-head=""/><meta name="robots" content="noindex" data-next-head=""/><meta property="og:site_name" content="Scrabble Solver" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Board Solver &amp; Word Finder" data-next-head=""/><meta property="og:description" content="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." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org/" data-next-head=""/><meta property="og:locale" content="en_US" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble tiles spelling out Scrabble Solver 2" data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:title" content="Scrabble Solver 2 - Board Solver &amp; Word Finder" data-next-head=""/><meta name="twitter:description" content="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." data-next-head=""/><meta name="twitter:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="/icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="/icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="/icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="/icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="/icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="/icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="/icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="/icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="/icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="/icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="/icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="/icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="/icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="/icons/favicon.svg"/><link rel="manifest" href="/site.webmanifest"/><meta name="application-name" content="Scrabble Solver"/><meta name="theme-color" content="#EFE3AE"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="/icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="/icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="/icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="/icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="/icons/mstile-310x310.png"/><script>(function () {
2
2
  try {
3
3
  var settings = JSON.parse(localStorage.getItem('scrabble-solver.settings'));
4
4
 
@@ -25,4 +25,5 @@
25
25
  root.lang = settings.locale;
26
26
  }
27
27
  } catch (error) {}
28
- })()</script><style data-href="/_next/static/css/abc2425d3ba607bc.css">/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--border:var(--border--width) solid var(--border--color);--border--color:#cdcdcd;--border--color--light:#d9d9d9;--border--radius:5px;--border--width:1px;--box-shadow:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);--box-shadow--blur:8px;--box-shadow--color:rgba(0,0,0,0.15);--box-shadow--color--inverse:rgba(255,255,255,0.85);--box-shadow--color--raised:rgba(34,34,34,0.8);--box-shadow--spread:1px;--box-shadow--null:0 0 var(--box-shadow--blur) var(--box-shadow--spread) transparent;--box-shadow--error:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--color--error);--box-shadow--raised:inset -2px -2px 2px -1px var(--box-shadow--color--raised);--box-shadow--raised--subtle:inset -1px -1px 1px 0 var(--box-shadow--color--raised);--color--white:#ffffff;--color--blue:#c7d8f9;--color--blue--light:#dde4f6;--color--green:#bae3ba;--color--green--light:#d6ebd6;--color--red:#f7c2aa;--color--red--light:#fbe0d4;--color--violet:#78387f;--color--violet--light:#b284b8;--color--yellow:#efe3ae;--color--yellow--light:#f7f1d6;--color--focus:rgba(38,143,255,0.5);--color--inactive:#cdcdcd;--color--background:#f4f4f4;--color--background--element:var(--color--white);--color--background--overlay:rgba(255,255,255,0.65);--color--foreground:#222;--color--foreground--secondary:#444;--color--mark:#ffff00;--color--error:hsl(0,92%,62%);--color--error--opposite:var(--color--white);--color--info:#1868ad;--color--success:#00a900;--color--warning:hsl(35,90%,60%);--color--primary:var(--color--violet);--color--primary--light:var(--color--violet--light);--color--primary--opposite:var(--color--white);--color--bonus--character--1:var(--color--yellow--light);--color--bonus--character--2:var(--color--green--light);--color--bonus--character--3:var(--color--blue--light);--color--bonus--character--5:var(--color--red--light);--color--bonus--character-multiplier--2:#b8d5ed;--color--bonus--character-multiplier--3:#86aed1;--color--bonus--character-multiplier--4:#3477b2;--color--bonus--start:var(--color--violet--light);--color--bonus--word-multiplier--2:#fbc997;--color--bonus--word-multiplier--3:#f19393;--color--bonus--word-multiplier--4:#ed5e5e;--color--progress:var(--color--primary--light);--color--progress--background:var(--color--inactive);--color--tooltip--background:#444;--color--tooltip--foreground:var(--color--white);--font--family:Ubuntu,system-ui,sans-serif;--font--family--monospace:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--font--size--h1:30px;--font--size--h2:22px;--font--size--h3:18px;--font--size--m:16px;--line-height:1.5;--opacity--disabled:0.3;--spacing--xs:2px;--spacing--s:5px;--spacing--m:10px;--spacing--l:20px;--spacing--xl:40px;--spacing--xxl:80px;--scrollbar--size:5px;--scrollbar--thumb--color:var(--border--color);--scrollbar--thumb--color--highlight:var(--color--foreground--secondary);--scrollbar--track--color:transparent;--transition:all var(--transition--duration) var(--transition--easing);--transition--long:all var(--transition--duration--long) var(--transition--easing);--transition--duration:100ms;--transition--duration--long:250ms;--transition--easing:cubic-bezier(0.61,1,0.88,1);--z-index--focus-effect:1;--z-index--actions:2;--z-index--modal:100;--z-index--close-button:101;--z-index--tooltip:102;--button--icon--size:24px;--button--height:calc(var(--button--icon--size) + 2 * var(--spacing--m) + 2 * var(--border--width));--dictionary--height:260px;--dictionary--height--mobile:110px;--key--height:36px;--key--icon--size:16px;--logo--height:60px;--modal--width:370px;--nav--height:calc(2 * var(--nav--padding) + var(--logo--height));--nav--padding:var(--spacing--l);--results--icon--size:18px;--results--item--height:40px;--solver-column--width:580px;--square-button--size:32px;--text-input--height:40px;--tooltip--max-width:500px;--board-cols:15;--board-rows:15;--rack-size:7;--components-spacing:var(--spacing--xl);--solver-column-total:calc(var(--solver-column--width) + var(--components-spacing));--candidate-picker-height:0px;--max-board-width:calc(100vw - var(--solver-column-total) - 2 * var(--components-spacing));--rack-tile-size:min(calc((var(--max-board-width) - 2 * var(--border--width)) / var(--rack-size)),80px);--bottom-container-height:calc(var(--candidate-picker-height) + var(--rack-tile-size) + 2 * var(--components-spacing));--max-board-height:max(calc(100dvh - var(--nav--height) - var(--bottom-container-height)),0px);--cell-from-width:calc((var(--max-board-width) - (var(--board-cols) + 2) * var(--border--width)) / (var(--board-cols) + 0.5));--cell-from-height:calc((var(--max-board-height) - (var(--board-rows) + 2) * var(--border--width)) / (var(--board-rows) + 0.5));--cell-size:min(var(--cell-from-width),var(--cell-from-height),80px);--coordinate-size:calc(0.5 * var(--cell-size));--controls-max-width:calc(var(--rack-size) * var(--rack-tile-size) + 2 * var(--border--width))}@media(max-width:1399px){:root{--components-spacing:var(--spacing--l)}}@media(max-width:1199px){:root{--dictionary--height:var(--dictionary--height--mobile);--logo--height:48px;--solver-column-total:0px;--candidate-picker-height:calc(var(--button--height) + var(--components-spacing))}}@media(max-width:991px){:root{--cell-size:min(var(--cell-from-width),80px)}}@media(max-width:767px){:root{--box-shadow--blur:5px;--modal--width:100%}}@media(max-width:479px){:root{--box-shadow--blur:3px}}*,:after,:before{box-sizing:border-box}*{font-family:var(--font--family)}body,html{margin:0 auto;padding:0}body{background-color:var(--color--background);color:var(--color--foreground);font-size:var(--font--size--m);line-height:var(--line-height)}a{--focus-effect--size:6px;position:relative}a:after{position:absolute;inset:0;z-index:var(--z-index--focus-effect);transition:var(--transition);border-radius:var(--border--radius);box-shadow:0 0 0 var(--focus-effect--size) rgba(0,0,0,0);pointer-events:none}a:focus-within,a:focus-within *{outline:none}a:focus-within:after{content:"";box-shadow:0 0 0 var(--focus-effect--size) var(--color--focus)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{-webkit-margin-before:0;-webkit-margin-after:0;margin:0}nextjs-portal{display:none}html.config-pending main{visibility:hidden}</style><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e34c3ae12275e978.js" defer=""></script><script src="/_next/static/chunks/framework-626cbd48ac5aca57.js" defer=""></script><script src="/_next/static/chunks/main-b92e08f3fc96dd8d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-ba5d628e81a15461.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f0290a98eb3ed0ec.js" defer=""></script><script src="/_next/static/FL82obwzFHRzvV6z76I-U/_buildManifest.js" defer=""></script><script src="/_next/static/FL82obwzFHRzvV6z76I-U/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"FL82obwzFHRzvV6z76I-U","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
28
+ })()</script><style data-href="/_next/static/css/4dbcacc1122ac6b9.css">
29
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--border:var(--border--width) solid var(--border--color);--border--color:#cdcdcd;--border--color--light:#d9d9d9;--border--radius:5px;--border--width:1px;--box-shadow:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);--box-shadow--blur:8px;--box-shadow--color:rgba(0,0,0,0.15);--box-shadow--color--inverse:rgba(255,255,255,0.85);--box-shadow--color--raised:rgba(34,34,34,0.8);--box-shadow--spread:1px;--box-shadow--null:0 0 var(--box-shadow--blur) var(--box-shadow--spread) transparent;--box-shadow--error:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--color--error);--box-shadow--raised:inset -2px -2px 2px -1px var(--box-shadow--color--raised);--box-shadow--raised--subtle:inset -1px -1px 1px 0 var(--box-shadow--color--raised);--color--white:#ffffff;--color--blue:#c7d8f9;--color--blue--light:#dde4f6;--color--green:#bae3ba;--color--green--light:#d6ebd6;--color--red:#f7c2aa;--color--red--light:#fbe0d4;--color--violet:#78387f;--color--violet--light:#b284b8;--color--yellow:#efe3ae;--color--yellow--light:#f7f1d6;--color--focus:rgba(38,143,255,0.5);--color--inactive:#cdcdcd;--color--background:#f4f4f4;--color--background--element:var(--color--white);--color--background--overlay:rgba(255,255,255,0.65);--color--foreground:#222;--color--foreground--secondary:#444;--color--mark:#ffff00;--color--error:hsl(0,92%,62%);--color--error--opposite:var(--color--white);--color--info:#1868ad;--color--success:#00a900;--color--warning:hsl(35,90%,60%);--color--primary:var(--color--violet);--color--primary--light:var(--color--violet--light);--color--primary--opposite:var(--color--white);--color--bonus--character--1:var(--color--yellow--light);--color--bonus--character--2:var(--color--green--light);--color--bonus--character--3:var(--color--blue--light);--color--bonus--character--5:var(--color--red--light);--color--bonus--character-multiplier--2:#b8d5ed;--color--bonus--character-multiplier--3:#86aed1;--color--bonus--character-multiplier--4:#3477b2;--color--bonus--start:var(--color--violet--light);--color--bonus--word-multiplier--2:#fbc997;--color--bonus--word-multiplier--3:#f19393;--color--bonus--word-multiplier--4:#ed5e5e;--color--progress:var(--color--primary--light);--color--progress--background:var(--color--inactive);--color--tooltip--background:#444;--color--tooltip--foreground:var(--color--white);--font--family:Ubuntu,system-ui,sans-serif;--font--family--monospace:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--font--size--h1:30px;--font--size--h2:22px;--font--size--h3:18px;--font--size--m:16px;--line-height:1.5;--opacity--disabled:0.3;--spacing--xs:2px;--spacing--s:5px;--spacing--m:10px;--spacing--l:20px;--spacing--xl:40px;--spacing--xxl:80px;--scrollbar--size:5px;--scrollbar--thumb--color:var(--border--color);--scrollbar--thumb--color--highlight:var(--color--foreground--secondary);--scrollbar--track--color:transparent;--transition:all var(--transition--duration) var(--transition--easing);--transition--long:all var(--transition--duration--long) var(--transition--easing);--transition--duration:100ms;--transition--duration--long:250ms;--transition--easing:cubic-bezier(0.61,1,0.88,1);--z-index--focus-effect:1;--z-index--actions:2;--z-index--modal:100;--z-index--close-button:101;--z-index--tooltip:102;--button--icon--size:24px;--button--height:calc(var(--button--icon--size) + 2 * var(--spacing--m) + 2 * var(--border--width));--dictionary--height:260px;--dictionary--height--mobile:110px;--key--height:36px;--key--icon--size:16px;--logo--height:60px;--modal--width:370px;--nav--height:calc(2 * var(--nav--padding) + var(--logo--height));--nav--padding:var(--spacing--l);--results--icon--size:18px;--results--item--height:40px;--solver-column--width:580px;--square-button--size:32px;--text-input--height:40px;--tooltip--max-width:500px;--board-cols:15;--board-rows:15;--rack-size:7;--components-spacing:var(--spacing--xl);--solver-column-total:calc(var(--solver-column--width) + var(--components-spacing));--candidate-picker-height:0px;--max-board-width:calc(100vw - var(--solver-column-total) - 2 * var(--components-spacing));--rack-tile-size:min(calc((var(--max-board-width) - 2 * var(--border--width)) / var(--rack-size)),80px);--bottom-container-height:calc(var(--candidate-picker-height) + var(--rack-tile-size) + 2 * var(--components-spacing));--max-board-height:max(calc(100dvh - var(--nav--height) - var(--bottom-container-height)),0px);--cell-from-width:calc((var(--max-board-width) - (var(--board-cols) + 2) * var(--border--width)) / (var(--board-cols) + 0.5));--cell-from-height:calc((var(--max-board-height) - (var(--board-rows) + 2) * var(--border--width)) / (var(--board-rows) + 0.5));--cell-size:min(var(--cell-from-width),var(--cell-from-height),80px);--coordinate-size:calc(0.5 * var(--cell-size));--controls-max-width:calc(var(--rack-size) * var(--rack-tile-size) + 2 * var(--border--width))}@media(max-width:1399px){:root{--components-spacing:var(--spacing--l)}}@media(max-width:1199px){:root{--dictionary--height:var(--dictionary--height--mobile);--logo--height:48px;--solver-column-total:0px;--candidate-picker-height:calc(var(--button--height) + var(--components-spacing))}}@media(max-width:991px){:root{--cell-size:min(var(--cell-from-width),80px)}}@media(max-width:767px){:root{--box-shadow--blur:5px;--modal--width:100%}}@media(max-width:479px){:root{--box-shadow--blur:3px}}*,:after,:before{box-sizing:border-box}*{font-family:var(--font--family)}body,html{margin:0 auto;padding:0}body{background-color:var(--color--background);color:var(--color--foreground);font-size:var(--font--size--m);line-height:var(--line-height)}a{--focus-effect--size:6px;position:relative}a:after{position:absolute;inset:0;z-index:var(--z-index--focus-effect);transition:var(--transition);border-radius:var(--border--radius);box-shadow:0 0 0 var(--focus-effect--size) rgba(0,0,0,0);pointer-events:none}a:focus-within,a:focus-within *{outline:none}a:focus-within:after{content:"";box-shadow:0 0 0 var(--focus-effect--size) var(--color--focus)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{-webkit-margin-before:0;-webkit-margin-after:0;margin:0}nextjs-portal{display:none}html.config-pending main{visibility:hidden}</style><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-cfb34d175e081981.js" defer=""></script><script src="/_next/static/chunks/framework-626cbd48ac5aca57.js" defer=""></script><script src="/_next/static/chunks/main-b92e08f3fc96dd8d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2e607dcd4135f340.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f0290a98eb3ed0ec.js" defer=""></script><script src="/_next/static/5KOWzYqfY1Z2rjrzptr8D/_buildManifest.js" defer=""></script><script src="/_next/static/5KOWzYqfY1Z2rjrzptr8D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"5KOWzYqfY1Z2rjrzptr8D","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html dir="ltr" lang="en-US"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta name="keywords" content="Scrabble Solver,Scrabble,Scrabble Duel,Solver,Super Scrabble,Kelimelik,Letter League,Crossplay,NYT Crossplay,Literaki,Board,Open-source,Open,Source,Word,Finder,Cheating,Word,English,Français,French,Deutsch,German,Polski,Polish,فارسی,Farsi,Español,Spanish,Română,Romanian,Türkçe,Turkish,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik" data-next-head=""/><meta name="robots" content="index, follow, notranslate, noimageindex" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish." data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><script>(function () {
1
+ <!DOCTYPE html><html dir="ltr" lang="en-US"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1.0" data-next-head=""/><meta name="author" content="Kamil Mielnik" data-next-head=""/><meta name="description" content="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." data-next-head=""/><meta name="robots" content="noindex" data-next-head=""/><meta property="og:site_name" content="Scrabble Solver" data-next-head=""/><meta property="og:title" content="Scrabble Solver 2 - Board Solver &amp; Word Finder" data-next-head=""/><meta property="og:description" content="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." data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:url" content="https://scrabble-solver.org/" data-next-head=""/><meta property="og:locale" content="en_US" data-next-head=""/><meta property="og:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><meta property="og:image:type" content="image/png" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="630" data-next-head=""/><meta property="og:image:alt" content="Scrabble tiles spelling out Scrabble Solver 2" data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:title" content="Scrabble Solver 2 - Board Solver &amp; Word Finder" data-next-head=""/><meta name="twitter:description" content="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." data-next-head=""/><meta name="twitter:image" content="https://scrabble-solver.org/og.png" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="apple-touch-icon-precomposed" sizes="57x57" href="/icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="/icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="/icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="/icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="/icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="/icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="/icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="/icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="/icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="/icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="/icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="/icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="/icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="/icons/favicon.svg"/><link rel="manifest" href="/site.webmanifest"/><meta name="application-name" content="Scrabble Solver"/><meta name="theme-color" content="#EFE3AE"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="/icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="/icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="/icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="/icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="/icons/mstile-310x310.png"/><script>(function () {
2
2
  try {
3
3
  var settings = JSON.parse(localStorage.getItem('scrabble-solver.settings'));
4
4
 
@@ -25,4 +25,5 @@
25
25
  root.lang = settings.locale;
26
26
  }
27
27
  } catch (error) {}
28
- })()</script><style data-href="/_next/static/css/abc2425d3ba607bc.css">/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--border:var(--border--width) solid var(--border--color);--border--color:#cdcdcd;--border--color--light:#d9d9d9;--border--radius:5px;--border--width:1px;--box-shadow:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);--box-shadow--blur:8px;--box-shadow--color:rgba(0,0,0,0.15);--box-shadow--color--inverse:rgba(255,255,255,0.85);--box-shadow--color--raised:rgba(34,34,34,0.8);--box-shadow--spread:1px;--box-shadow--null:0 0 var(--box-shadow--blur) var(--box-shadow--spread) transparent;--box-shadow--error:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--color--error);--box-shadow--raised:inset -2px -2px 2px -1px var(--box-shadow--color--raised);--box-shadow--raised--subtle:inset -1px -1px 1px 0 var(--box-shadow--color--raised);--color--white:#ffffff;--color--blue:#c7d8f9;--color--blue--light:#dde4f6;--color--green:#bae3ba;--color--green--light:#d6ebd6;--color--red:#f7c2aa;--color--red--light:#fbe0d4;--color--violet:#78387f;--color--violet--light:#b284b8;--color--yellow:#efe3ae;--color--yellow--light:#f7f1d6;--color--focus:rgba(38,143,255,0.5);--color--inactive:#cdcdcd;--color--background:#f4f4f4;--color--background--element:var(--color--white);--color--background--overlay:rgba(255,255,255,0.65);--color--foreground:#222;--color--foreground--secondary:#444;--color--mark:#ffff00;--color--error:hsl(0,92%,62%);--color--error--opposite:var(--color--white);--color--info:#1868ad;--color--success:#00a900;--color--warning:hsl(35,90%,60%);--color--primary:var(--color--violet);--color--primary--light:var(--color--violet--light);--color--primary--opposite:var(--color--white);--color--bonus--character--1:var(--color--yellow--light);--color--bonus--character--2:var(--color--green--light);--color--bonus--character--3:var(--color--blue--light);--color--bonus--character--5:var(--color--red--light);--color--bonus--character-multiplier--2:#b8d5ed;--color--bonus--character-multiplier--3:#86aed1;--color--bonus--character-multiplier--4:#3477b2;--color--bonus--start:var(--color--violet--light);--color--bonus--word-multiplier--2:#fbc997;--color--bonus--word-multiplier--3:#f19393;--color--bonus--word-multiplier--4:#ed5e5e;--color--progress:var(--color--primary--light);--color--progress--background:var(--color--inactive);--color--tooltip--background:#444;--color--tooltip--foreground:var(--color--white);--font--family:Ubuntu,system-ui,sans-serif;--font--family--monospace:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--font--size--h1:30px;--font--size--h2:22px;--font--size--h3:18px;--font--size--m:16px;--line-height:1.5;--opacity--disabled:0.3;--spacing--xs:2px;--spacing--s:5px;--spacing--m:10px;--spacing--l:20px;--spacing--xl:40px;--spacing--xxl:80px;--scrollbar--size:5px;--scrollbar--thumb--color:var(--border--color);--scrollbar--thumb--color--highlight:var(--color--foreground--secondary);--scrollbar--track--color:transparent;--transition:all var(--transition--duration) var(--transition--easing);--transition--long:all var(--transition--duration--long) var(--transition--easing);--transition--duration:100ms;--transition--duration--long:250ms;--transition--easing:cubic-bezier(0.61,1,0.88,1);--z-index--focus-effect:1;--z-index--actions:2;--z-index--modal:100;--z-index--close-button:101;--z-index--tooltip:102;--button--icon--size:24px;--button--height:calc(var(--button--icon--size) + 2 * var(--spacing--m) + 2 * var(--border--width));--dictionary--height:260px;--dictionary--height--mobile:110px;--key--height:36px;--key--icon--size:16px;--logo--height:60px;--modal--width:370px;--nav--height:calc(2 * var(--nav--padding) + var(--logo--height));--nav--padding:var(--spacing--l);--results--icon--size:18px;--results--item--height:40px;--solver-column--width:580px;--square-button--size:32px;--text-input--height:40px;--tooltip--max-width:500px;--board-cols:15;--board-rows:15;--rack-size:7;--components-spacing:var(--spacing--xl);--solver-column-total:calc(var(--solver-column--width) + var(--components-spacing));--candidate-picker-height:0px;--max-board-width:calc(100vw - var(--solver-column-total) - 2 * var(--components-spacing));--rack-tile-size:min(calc((var(--max-board-width) - 2 * var(--border--width)) / var(--rack-size)),80px);--bottom-container-height:calc(var(--candidate-picker-height) + var(--rack-tile-size) + 2 * var(--components-spacing));--max-board-height:max(calc(100dvh - var(--nav--height) - var(--bottom-container-height)),0px);--cell-from-width:calc((var(--max-board-width) - (var(--board-cols) + 2) * var(--border--width)) / (var(--board-cols) + 0.5));--cell-from-height:calc((var(--max-board-height) - (var(--board-rows) + 2) * var(--border--width)) / (var(--board-rows) + 0.5));--cell-size:min(var(--cell-from-width),var(--cell-from-height),80px);--coordinate-size:calc(0.5 * var(--cell-size));--controls-max-width:calc(var(--rack-size) * var(--rack-tile-size) + 2 * var(--border--width))}@media(max-width:1399px){:root{--components-spacing:var(--spacing--l)}}@media(max-width:1199px){:root{--dictionary--height:var(--dictionary--height--mobile);--logo--height:48px;--solver-column-total:0px;--candidate-picker-height:calc(var(--button--height) + var(--components-spacing))}}@media(max-width:991px){:root{--cell-size:min(var(--cell-from-width),80px)}}@media(max-width:767px){:root{--box-shadow--blur:5px;--modal--width:100%}}@media(max-width:479px){:root{--box-shadow--blur:3px}}*,:after,:before{box-sizing:border-box}*{font-family:var(--font--family)}body,html{margin:0 auto;padding:0}body{background-color:var(--color--background);color:var(--color--foreground);font-size:var(--font--size--m);line-height:var(--line-height)}a{--focus-effect--size:6px;position:relative}a:after{position:absolute;inset:0;z-index:var(--z-index--focus-effect);transition:var(--transition);border-radius:var(--border--radius);box-shadow:0 0 0 var(--focus-effect--size) rgba(0,0,0,0);pointer-events:none}a:focus-within,a:focus-within *{outline:none}a:focus-within:after{content:"";box-shadow:0 0 0 var(--focus-effect--size) var(--color--focus)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{-webkit-margin-before:0;-webkit-margin-after:0;margin:0}nextjs-portal{display:none}html.config-pending main{visibility:hidden}</style><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e34c3ae12275e978.js" defer=""></script><script src="/_next/static/chunks/framework-626cbd48ac5aca57.js" defer=""></script><script src="/_next/static/chunks/main-b92e08f3fc96dd8d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-ba5d628e81a15461.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f0290a98eb3ed0ec.js" defer=""></script><script src="/_next/static/FL82obwzFHRzvV6z76I-U/_buildManifest.js" defer=""></script><script src="/_next/static/FL82obwzFHRzvV6z76I-U/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"FL82obwzFHRzvV6z76I-U","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
28
+ })()</script><style data-href="/_next/static/css/4dbcacc1122ac6b9.css">
29
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:initial}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--border:var(--border--width) solid var(--border--color);--border--color:#cdcdcd;--border--color--light:#d9d9d9;--border--radius:5px;--border--width:1px;--box-shadow:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--box-shadow--color);--box-shadow--blur:8px;--box-shadow--color:rgba(0,0,0,0.15);--box-shadow--color--inverse:rgba(255,255,255,0.85);--box-shadow--color--raised:rgba(34,34,34,0.8);--box-shadow--spread:1px;--box-shadow--null:0 0 var(--box-shadow--blur) var(--box-shadow--spread) transparent;--box-shadow--error:0 0 var(--box-shadow--blur) var(--box-shadow--spread) var(--color--error);--box-shadow--raised:inset -2px -2px 2px -1px var(--box-shadow--color--raised);--box-shadow--raised--subtle:inset -1px -1px 1px 0 var(--box-shadow--color--raised);--color--white:#ffffff;--color--blue:#c7d8f9;--color--blue--light:#dde4f6;--color--green:#bae3ba;--color--green--light:#d6ebd6;--color--red:#f7c2aa;--color--red--light:#fbe0d4;--color--violet:#78387f;--color--violet--light:#b284b8;--color--yellow:#efe3ae;--color--yellow--light:#f7f1d6;--color--focus:rgba(38,143,255,0.5);--color--inactive:#cdcdcd;--color--background:#f4f4f4;--color--background--element:var(--color--white);--color--background--overlay:rgba(255,255,255,0.65);--color--foreground:#222;--color--foreground--secondary:#444;--color--mark:#ffff00;--color--error:hsl(0,92%,62%);--color--error--opposite:var(--color--white);--color--info:#1868ad;--color--success:#00a900;--color--warning:hsl(35,90%,60%);--color--primary:var(--color--violet);--color--primary--light:var(--color--violet--light);--color--primary--opposite:var(--color--white);--color--bonus--character--1:var(--color--yellow--light);--color--bonus--character--2:var(--color--green--light);--color--bonus--character--3:var(--color--blue--light);--color--bonus--character--5:var(--color--red--light);--color--bonus--character-multiplier--2:#b8d5ed;--color--bonus--character-multiplier--3:#86aed1;--color--bonus--character-multiplier--4:#3477b2;--color--bonus--start:var(--color--violet--light);--color--bonus--word-multiplier--2:#fbc997;--color--bonus--word-multiplier--3:#f19393;--color--bonus--word-multiplier--4:#ed5e5e;--color--progress:var(--color--primary--light);--color--progress--background:var(--color--inactive);--color--tooltip--background:#444;--color--tooltip--foreground:var(--color--white);--font--family:Ubuntu,system-ui,sans-serif;--font--family--monospace:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--font--size--h1:30px;--font--size--h2:22px;--font--size--h3:18px;--font--size--m:16px;--line-height:1.5;--opacity--disabled:0.3;--spacing--xs:2px;--spacing--s:5px;--spacing--m:10px;--spacing--l:20px;--spacing--xl:40px;--spacing--xxl:80px;--scrollbar--size:5px;--scrollbar--thumb--color:var(--border--color);--scrollbar--thumb--color--highlight:var(--color--foreground--secondary);--scrollbar--track--color:transparent;--transition:all var(--transition--duration) var(--transition--easing);--transition--long:all var(--transition--duration--long) var(--transition--easing);--transition--duration:100ms;--transition--duration--long:250ms;--transition--easing:cubic-bezier(0.61,1,0.88,1);--z-index--focus-effect:1;--z-index--actions:2;--z-index--modal:100;--z-index--close-button:101;--z-index--tooltip:102;--button--icon--size:24px;--button--height:calc(var(--button--icon--size) + 2 * var(--spacing--m) + 2 * var(--border--width));--dictionary--height:260px;--dictionary--height--mobile:110px;--key--height:36px;--key--icon--size:16px;--logo--height:60px;--modal--width:370px;--nav--height:calc(2 * var(--nav--padding) + var(--logo--height));--nav--padding:var(--spacing--l);--results--icon--size:18px;--results--item--height:40px;--solver-column--width:580px;--square-button--size:32px;--text-input--height:40px;--tooltip--max-width:500px;--board-cols:15;--board-rows:15;--rack-size:7;--components-spacing:var(--spacing--xl);--solver-column-total:calc(var(--solver-column--width) + var(--components-spacing));--candidate-picker-height:0px;--max-board-width:calc(100vw - var(--solver-column-total) - 2 * var(--components-spacing));--rack-tile-size:min(calc((var(--max-board-width) - 2 * var(--border--width)) / var(--rack-size)),80px);--bottom-container-height:calc(var(--candidate-picker-height) + var(--rack-tile-size) + 2 * var(--components-spacing));--max-board-height:max(calc(100dvh - var(--nav--height) - var(--bottom-container-height)),0px);--cell-from-width:calc((var(--max-board-width) - (var(--board-cols) + 2) * var(--border--width)) / (var(--board-cols) + 0.5));--cell-from-height:calc((var(--max-board-height) - (var(--board-rows) + 2) * var(--border--width)) / (var(--board-rows) + 0.5));--cell-size:min(var(--cell-from-width),var(--cell-from-height),80px);--coordinate-size:calc(0.5 * var(--cell-size));--controls-max-width:calc(var(--rack-size) * var(--rack-tile-size) + 2 * var(--border--width))}@media(max-width:1399px){:root{--components-spacing:var(--spacing--l)}}@media(max-width:1199px){:root{--dictionary--height:var(--dictionary--height--mobile);--logo--height:48px;--solver-column-total:0px;--candidate-picker-height:calc(var(--button--height) + var(--components-spacing))}}@media(max-width:991px){:root{--cell-size:min(var(--cell-from-width),80px)}}@media(max-width:767px){:root{--box-shadow--blur:5px;--modal--width:100%}}@media(max-width:479px){:root{--box-shadow--blur:3px}}*,:after,:before{box-sizing:border-box}*{font-family:var(--font--family)}body,html{margin:0 auto;padding:0}body{background-color:var(--color--background);color:var(--color--foreground);font-size:var(--font--size--m);line-height:var(--line-height)}a{--focus-effect--size:6px;position:relative}a:after{position:absolute;inset:0;z-index:var(--z-index--focus-effect);transition:var(--transition);border-radius:var(--border--radius);box-shadow:0 0 0 var(--focus-effect--size) rgba(0,0,0,0);pointer-events:none}a:focus-within,a:focus-within *{outline:none}a:focus-within:after{content:"";box-shadow:0 0 0 var(--focus-effect--size) var(--color--focus)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{-webkit-margin-before:0;-webkit-margin-after:0;margin:0}nextjs-portal{display:none}html.config-pending main{visibility:hidden}</style><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-cfb34d175e081981.js" defer=""></script><script src="/_next/static/chunks/framework-626cbd48ac5aca57.js" defer=""></script><script src="/_next/static/chunks/main-b92e08f3fc96dd8d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2e607dcd4135f340.js" defer=""></script><script src="/_next/static/chunks/pages/_error-f0290a98eb3ed0ec.js" defer=""></script><script src="/_next/static/5KOWzYqfY1Z2rjrzptr8D/_buildManifest.js" defer=""></script><script src="/_next/static/5KOWzYqfY1Z2rjrzptr8D/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"5KOWzYqfY1Z2rjrzptr8D","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -25,4 +25,4 @@
25
25
  root.lang = settings.locale;
26
26
  }
27
27
  } catch (error) {}
28
- })()`;class r extends j(){render(){return(0,d.jsxs)(i.Html,{dir:"ltr",lang:f.Locale.EN_US,children:[(0,d.jsxs)(s,{children:[(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:q}}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"icons/favicon.svg"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(i.Main,{}),(0,d.jsx)(i.NextScript,{})]})]})}}class s extends i.Head{getCssLinks(a){try{return a.allFiles.filter(a=>a.endsWith(".css")).map(a=>(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:h().readFileSync(l().join(process.cwd(),".next",a),"utf-8")},"data-href":`/_next/${a}`},a))}catch{return super.getCssLinks(a)}}}},91891:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(57472),e=c(97616);let f={[e.Locale.DE_DE]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Deutsch",locale:e.Locale.DE_DE,name:"German",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_GB]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (GB)",locale:e.Locale.EN_GB,name:"English (GB)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_US]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (US)",locale:e.Locale.EN_US,name:"English (US)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.ES_ES]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Espa\xf1ol",locale:e.Locale.ES_ES,name:"Spanish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.FA_IR]:{comma:d.COMMA_ARABIC,consonants:!1,direction:"rtl",label:"فارسی",locale:e.Locale.FA_IR,name:"Persian",separator:`${d.COMMA_ARABIC} `,vowels:!1},[e.Locale.FR_FR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Fran\xe7ais",locale:e.Locale.FR_FR,name:"French",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.PL_PL]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Polski",locale:e.Locale.PL_PL,name:"Polish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.RO_RO]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Rom\xe2nă",locale:e.Locale.RO_RO,name:"Romanian",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.TR_TR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"T\xfcrk\xe7e",locale:e.Locale.TR_TR,name:"Turkish",separator:`${d.COMMA_LATIN} `,vowels:!0}}},96768:(a,b,c)=>{"use strict";c.d(b,{CP:()=>s,Ce:()=>h,Gr:()=>q,Ip:()=>p,J2:()=>D,KG:()=>k,LO:()=>f,Ln:()=>r,Lo:()=>o,RO:()=>m,T7:()=>y,Uk:()=>C,_Q:()=>v,dW:()=>B,dX:()=>w,fd:()=>j,g:()=>g,gP:()=>u,hO:()=>n,m4:()=>t,oH:()=>l,oK:()=>i,pw:()=>x,tg:()=>E,vK:()=>z,wu:()=>A});var d=c(82461),e=c.n(d);let f={xs:Number(e().breakpointXs),s:Number(e().breakpointS),m:Number(e().breakpointM),l:Number(e().breakpointL),xl:Number(e().breakpointXl)},g="https://github.com/kamilmielnik/scrabble-solver",h="config-pending",i=Number(e().transitionDurationLong),j="var(--color--blue)",k="var(--color--green)",l="var(--color--red)",m="var(--color--yellow)",n=e().colorBackground,o=e().colorVioletLight,p={1:e().colorYellowLight,2:e().colorGreenLight,3:e().colorBlueLight,5:e().colorRedLight},q={2:e().colorBonusCharacterMultiplier2,3:e().colorBonusCharacterMultiplier3,4:e().colorBonusCharacterMultiplier4},r={2:e().colorBonusWordMultiplier2,3:e().colorBonusWordMultiplier3,4:e().colorBonusWordMultiplier4},s=3,t=e().borderColorLight,u=Number(e().borderWidth),v=166,w="/logo.svg",x=682,y=Number(e().transitionDuration),z=k,A={1:m,2:k,3:j,4:l,5:l,6:l,7:l,8:l,9:l,10:l},B=6,C=80,D=Number(e().resultsItemHeight),E=10},97616:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=b.WordBonus=b.isTileJson=b.Tile=b.Result=b.Locale=b.isLocale=b.isObject=b.isError=b.isGame=b.Game=b.Config=b.CharacterBonus=b.isCellJson=b.Cell=b.Bonus=b.isBoardJson=b.Board=b.isScoreBingo=b.isMultiplierBingo=b.isBingo=void 0;var d=c(18993);Object.defineProperty(b,"isBingo",{enumerable:!0,get:function(){return d.isBingo}}),Object.defineProperty(b,"isMultiplierBingo",{enumerable:!0,get:function(){return d.isMultiplierBingo}}),Object.defineProperty(b,"isScoreBingo",{enumerable:!0,get:function(){return d.isScoreBingo}});var e=c(53340);Object.defineProperty(b,"Board",{enumerable:!0,get:function(){return e.Board}});var f=c(47210);Object.defineProperty(b,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}});var g=c(67553);Object.defineProperty(b,"Bonus",{enumerable:!0,get:function(){return g.Bonus}});var h=c(22540);Object.defineProperty(b,"Cell",{enumerable:!0,get:function(){return h.Cell}});var i=c(98042);Object.defineProperty(b,"isCellJson",{enumerable:!0,get:function(){return i.isCellJson}});var j=c(94322);Object.defineProperty(b,"CharacterBonus",{enumerable:!0,get:function(){return j.CharacterBonus}});var k=c(12794);Object.defineProperty(b,"Config",{enumerable:!0,get:function(){return k.Config}});var l=c(62574);Object.defineProperty(b,"Game",{enumerable:!0,get:function(){return l.Game}}),Object.defineProperty(b,"isGame",{enumerable:!0,get:function(){return l.isGame}});var m=c(93262);Object.defineProperty(b,"isError",{enumerable:!0,get:function(){return m.isError}});var n=c(90401);Object.defineProperty(b,"isObject",{enumerable:!0,get:function(){return n.isObject}});var o=c(80274);Object.defineProperty(b,"isLocale",{enumerable:!0,get:function(){return o.isLocale}}),Object.defineProperty(b,"Locale",{enumerable:!0,get:function(){return o.Locale}});var p=c(45875);Object.defineProperty(b,"Result",{enumerable:!0,get:function(){return p.Result}});var q=c(70528);Object.defineProperty(b,"Tile",{enumerable:!0,get:function(){return q.Tile}});var r=c(94622);Object.defineProperty(b,"isTileJson",{enumerable:!0,get:function(){return r.isTileJson}});var s=c(87189);Object.defineProperty(b,"WordBonus",{enumerable:!0,get:function(){return s.WordBonus}});var t=c(25479);Object.defineProperty(b,"WordDefinition",{enumerable:!0,get:function(){return t.WordDefinition}})}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,316],()=>b(b.s=91024));module.exports=c})();
28
+ })()`;class r extends j(){render(){return(0,d.jsxs)(i.Html,{dir:"ltr",lang:f.Locale.EN_US,children:[(0,d.jsxs)(s,{children:[(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:q}}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"/icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"/icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"/icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"/icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"/icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"/icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"/icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"/icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"/icons/favicon.svg"}),(0,d.jsx)("link",{rel:"manifest",href:"/site.webmanifest"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"theme-color",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"/icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"/icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"/icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"/icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"/icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(i.Main,{}),(0,d.jsx)(i.NextScript,{})]})]})}}class s extends i.Head{getCssLinks(a){try{return a.allFiles.filter(a=>a.endsWith(".css")).map(a=>(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:h().readFileSync(l().join(process.cwd(),".next",a),"utf-8")},"data-href":`/_next/${a}`},a))}catch{return super.getCssLinks(a)}}}},91891:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(57472),e=c(97616);let f={[e.Locale.DE_DE]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Deutsch",locale:e.Locale.DE_DE,name:"German",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_GB]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (GB)",locale:e.Locale.EN_GB,name:"English (GB)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.EN_US]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"English (US)",locale:e.Locale.EN_US,name:"English (US)",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.ES_ES]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Espa\xf1ol",locale:e.Locale.ES_ES,name:"Spanish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.FA_IR]:{comma:d.COMMA_ARABIC,consonants:!1,direction:"rtl",label:"فارسی",locale:e.Locale.FA_IR,name:"Persian",separator:`${d.COMMA_ARABIC} `,vowels:!1},[e.Locale.FR_FR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Fran\xe7ais",locale:e.Locale.FR_FR,name:"French",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.PL_PL]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Polski",locale:e.Locale.PL_PL,name:"Polish",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.RO_RO]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"Rom\xe2nă",locale:e.Locale.RO_RO,name:"Romanian",separator:`${d.COMMA_LATIN} `,vowels:!0},[e.Locale.TR_TR]:{comma:d.COMMA_LATIN,consonants:!0,direction:"ltr",label:"T\xfcrk\xe7e",locale:e.Locale.TR_TR,name:"Turkish",separator:`${d.COMMA_LATIN} `,vowels:!0}}},96768:(a,b,c)=>{"use strict";c.d(b,{CP:()=>v,Ce:()=>k,Gr:()=>t,Ip:()=>s,J2:()=>G,KG:()=>n,LO:()=>f,Ln:()=>u,Lo:()=>r,RO:()=>p,T7:()=>B,Uk:()=>F,W6:()=>i,_Q:()=>y,b2:()=>j,dW:()=>E,dX:()=>z,fd:()=>m,g:()=>g,gP:()=>x,hO:()=>q,m4:()=>w,oH:()=>o,oK:()=>l,pw:()=>A,tg:()=>H,v0:()=>h,vK:()=>C,wu:()=>D});var d=c(82461),e=c.n(d);let f={xs:Number(e().breakpointXs),s:Number(e().breakpointS),m:Number(e().breakpointM),l:Number(e().breakpointL),xl:Number(e().breakpointXl)},g="https://github.com/kamilmielnik/scrabble-solver",h="https://www.npmjs.com/package/scrabble-solver",i="https://scrabble-solver.org",j="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.",k="config-pending",l=Number(e().transitionDurationLong),m="var(--color--blue)",n="var(--color--green)",o="var(--color--red)",p="var(--color--yellow)",q=e().colorBackground,r=e().colorVioletLight,s={1:e().colorYellowLight,2:e().colorGreenLight,3:e().colorBlueLight,5:e().colorRedLight},t={2:e().colorBonusCharacterMultiplier2,3:e().colorBonusCharacterMultiplier3,4:e().colorBonusCharacterMultiplier4},u={2:e().colorBonusWordMultiplier2,3:e().colorBonusWordMultiplier3,4:e().colorBonusWordMultiplier4},v=3,w=e().borderColorLight,x=Number(e().borderWidth),y=166,z="/logo.svg",A=682,B=Number(e().transitionDuration),C=n,D={1:p,2:n,3:m,4:o,5:o,6:o,7:o,8:o,9:o,10:o},E=6,F=80,G=Number(e().resultsItemHeight),H=10},97616:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=b.WordBonus=b.isTileJson=b.Tile=b.Result=b.Locale=b.isLocale=b.isObject=b.isError=b.isGame=b.Game=b.Config=b.CharacterBonus=b.isCellJson=b.Cell=b.Bonus=b.isBoardJson=b.Board=b.isScoreBingo=b.isMultiplierBingo=b.isBingo=void 0;var d=c(18993);Object.defineProperty(b,"isBingo",{enumerable:!0,get:function(){return d.isBingo}}),Object.defineProperty(b,"isMultiplierBingo",{enumerable:!0,get:function(){return d.isMultiplierBingo}}),Object.defineProperty(b,"isScoreBingo",{enumerable:!0,get:function(){return d.isScoreBingo}});var e=c(53340);Object.defineProperty(b,"Board",{enumerable:!0,get:function(){return e.Board}});var f=c(47210);Object.defineProperty(b,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}});var g=c(67553);Object.defineProperty(b,"Bonus",{enumerable:!0,get:function(){return g.Bonus}});var h=c(22540);Object.defineProperty(b,"Cell",{enumerable:!0,get:function(){return h.Cell}});var i=c(98042);Object.defineProperty(b,"isCellJson",{enumerable:!0,get:function(){return i.isCellJson}});var j=c(94322);Object.defineProperty(b,"CharacterBonus",{enumerable:!0,get:function(){return j.CharacterBonus}});var k=c(12794);Object.defineProperty(b,"Config",{enumerable:!0,get:function(){return k.Config}});var l=c(62574);Object.defineProperty(b,"Game",{enumerable:!0,get:function(){return l.Game}}),Object.defineProperty(b,"isGame",{enumerable:!0,get:function(){return l.isGame}});var m=c(93262);Object.defineProperty(b,"isError",{enumerable:!0,get:function(){return m.isError}});var n=c(90401);Object.defineProperty(b,"isObject",{enumerable:!0,get:function(){return n.isObject}});var o=c(80274);Object.defineProperty(b,"isLocale",{enumerable:!0,get:function(){return o.isLocale}}),Object.defineProperty(b,"Locale",{enumerable:!0,get:function(){return o.Locale}});var p=c(45875);Object.defineProperty(b,"Result",{enumerable:!0,get:function(){return p.Result}});var q=c(70528);Object.defineProperty(b,"Tile",{enumerable:!0,get:function(){return q.Tile}});var r=c(94622);Object.defineProperty(b,"isTileJson",{enumerable:!0,get:function(){return r.isTileJson}});var s=c(87189);Object.defineProperty(b,"WordBonus",{enumerable:!0,get:function(){return s.WordBonus}});var t=c(25479);Object.defineProperty(b,"WordDefinition",{enumerable:!0,get:function(){return t.WordDefinition}})}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,316],()=>b(b.s=91024));module.exports=c})();
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=731,a.ids=[731],a.modules={8732:a=>{"use strict";a.exports=require("react/jsx-runtime")},14062:a=>{"use strict";a.exports=import("react-redux")},18314:a=>{"use strict";a.exports=import("redux-saga/effects")},29021:a=>{"use strict";a.exports=require("fs")},33873:a=>{"use strict";a.exports=require("path")},38849:a=>{"use strict";a.exports=import("@floating-ui/react")},40361:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},47775:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return o}});let d=c(88485),e=c(8732),f=d._(c(82015)),g=d._(c(65941)),h={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function i({req:a,res:b,err:d}){let e,f=b&&b.statusCode?b.statusCode:d?d.statusCode:404;if(a){let{getRequestMeta:b}=c(41227),d=b(a,"initURL");d&&(e=new URL(d).hostname)}return{statusCode:f,hostname:e}}let j={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},k={lineHeight:"48px"},l={display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},m={fontSize:14,fontWeight:400,lineHeight:"28px"},n={display:"inline-block"};class o extends f.default.Component{static{this.displayName="ErrorPage"}static{this.getInitialProps=i}static{this.origGetInitialProps=i}render(){let{statusCode:a,withDarkMode:b=!0}=this.props,c=this.props.title||h[a]||"An unexpected error has occurred";return(0,e.jsxs)("div",{style:j,children:[(0,e.jsx)(g.default,{children:(0,e.jsx)("title",{children:a?`${a}: ${c}`:"Application error: a client-side exception has occurred"})}),(0,e.jsxs)("div",{style:k,children:[(0,e.jsx)("style",{dangerouslySetInnerHTML:{__html:`body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}${b?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":""}`}}),a?(0,e.jsx)("h1",{className:"next-error-h1",style:l,children:a}):null,(0,e.jsx)("div",{style:n,children:(0,e.jsxs)("h2",{style:m,children:[this.props.title||a?c:(0,e.jsxs)(e.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,e.jsxs)(e.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},55688:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{config:()=>q,default:()=>m,getServerSideProps:()=>p,getStaticPaths:()=>o,getStaticProps:()=>n,handler:()=>y,reportWebVitals:()=>r,routeModule:()=>x,unstable_getServerProps:()=>v,unstable_getServerSideProps:()=>w,unstable_getStaticParams:()=>u,unstable_getStaticPaths:()=>t,unstable_getStaticProps:()=>s});var e=c(62636),f=c(44850),g=c(83410),h=c(91024),i=c(5712),j=c(47775),k=c(66104),l=a([i]);i=(l.then?(await l)():l)[0];let m=(0,g.M)(j,"default"),n=(0,g.M)(j,"getStaticProps"),o=(0,g.M)(j,"getStaticPaths"),p=(0,g.M)(j,"getServerSideProps"),q=(0,g.M)(j,"config"),r=(0,g.M)(j,"reportWebVitals"),s=(0,g.M)(j,"unstable_getStaticProps"),t=(0,g.M)(j,"unstable_getStaticPaths"),u=(0,g.M)(j,"unstable_getStaticParams"),v=(0,g.M)(j,"unstable_getServerProps"),w=(0,g.M)(j,"unstable_getServerSideProps"),x=new e.PagesRouteModule({definition:{kind:f.RouteKind.PAGES,page:"/_error",pathname:"/_error",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:i.default,Document:h.default},userland:j}),y=(0,k.U)({srcPage:"/_error",config:q,userland:j,routeModule:x,getStaticPaths:o,getStaticProps:n,getServerSideProps:p});d()}catch(a){d(a)}})},68455:a=>{"use strict";a.exports=import("redux-saga")},69198:a=>{"use strict";a.exports=import("@reduxjs/toolkit")},82015:a=>{"use strict";a.exports=require("react")},82461:a=>{a.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"}},91024:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>r});var d=c(8732),e=c(38454),f=c(97616),g=c(29021),h=c.n(g),i=c(6030),j=c.n(i),k=c(33873),l=c.n(k),m=c(91891),n=c(96768);let o=Object.fromEntries(Object.values(e.games).map(({boardHeight:a,boardWidth:b,game:c,rackSize:d})=>[c,[b,a,d]])),p=Object.fromEntries(Object.entries(m.x).map(([a,{direction:b}])=>[a,b])),q=`(function () {
1
+ "use strict";(()=>{var a={};a.id=731,a.ids=[731],a.modules={8732:a=>{a.exports=require("react/jsx-runtime")},14062:a=>{a.exports=import("react-redux")},18314:a=>{a.exports=import("redux-saga/effects")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},38849:a=>{a.exports=import("@floating-ui/react")},40361:a=>{a.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},46060:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},47775:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return o}});let d=c(88485),e=c(8732),f=d._(c(82015)),g=d._(c(65941)),h={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function i({req:a,res:b,err:d}){let e,f=b&&b.statusCode?b.statusCode:d?d.statusCode:404;if(a){let{getRequestMeta:b}=c(41227),d=b(a,"initURL");d&&(e=new URL(d).hostname)}return{statusCode:f,hostname:e}}let j={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},k={lineHeight:"48px"},l={display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},m={fontSize:14,fontWeight:400,lineHeight:"28px"},n={display:"inline-block"};class o extends f.default.Component{static{this.displayName="ErrorPage"}static{this.getInitialProps=i}static{this.origGetInitialProps=i}render(){let{statusCode:a,withDarkMode:b=!0}=this.props,c=this.props.title||h[a]||"An unexpected error has occurred";return(0,e.jsxs)("div",{style:j,children:[(0,e.jsx)(g.default,{children:(0,e.jsx)("title",{children:a?`${a}: ${c}`:"Application error: a client-side exception has occurred"})}),(0,e.jsxs)("div",{style:k,children:[(0,e.jsx)("style",{dangerouslySetInnerHTML:{__html:`body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}${b?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":""}`}}),a?(0,e.jsx)("h1",{className:"next-error-h1",style:l,children:a}):null,(0,e.jsx)("div",{style:n,children:(0,e.jsxs)("h2",{style:m,children:[this.props.title||a?c:(0,e.jsxs)(e.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,e.jsxs)(e.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},55688:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{config:()=>q,default:()=>m,getServerSideProps:()=>p,getStaticPaths:()=>o,getStaticProps:()=>n,handler:()=>y,reportWebVitals:()=>r,routeModule:()=>x,unstable_getServerProps:()=>v,unstable_getServerSideProps:()=>w,unstable_getStaticParams:()=>u,unstable_getStaticPaths:()=>t,unstable_getStaticProps:()=>s});var e=c(62636),f=c(44850),g=c(83410),h=c(91024),i=c(5712),j=c(47775),k=c(66104),l=a([i]);i=(l.then?(await l)():l)[0];let m=(0,g.M)(j,"default"),n=(0,g.M)(j,"getStaticProps"),o=(0,g.M)(j,"getStaticPaths"),p=(0,g.M)(j,"getServerSideProps"),q=(0,g.M)(j,"config"),r=(0,g.M)(j,"reportWebVitals"),s=(0,g.M)(j,"unstable_getStaticProps"),t=(0,g.M)(j,"unstable_getStaticPaths"),u=(0,g.M)(j,"unstable_getStaticParams"),v=(0,g.M)(j,"unstable_getServerProps"),w=(0,g.M)(j,"unstable_getServerSideProps"),x=new e.PagesRouteModule({definition:{kind:f.RouteKind.PAGES,page:"/_error",pathname:"/_error",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:i.default,Document:h.default},userland:j}),y=(0,k.U)({srcPage:"/_error",config:q,userland:j,routeModule:x,getStaticPaths:o,getStaticProps:n,getServerSideProps:p});d()}catch(a){d(a)}})},68455:a=>{a.exports=import("redux-saga")},69198:a=>{a.exports=import("@reduxjs/toolkit")},82015:a=>{a.exports=require("react")},91024:(a,b,c)=>{c.r(b),c.d(b,{default:()=>r});var d=c(8732),e=c(38454),f=c(97616),g=c(29021),h=c.n(g),i=c(6030),j=c.n(i),k=c(33873),l=c.n(k),m=c(91891),n=c(96768);let o=Object.fromEntries(Object.values(e.games).map(({boardHeight:a,boardWidth:b,game:c,rackSize:d})=>[c,[b,a,d]])),p=Object.fromEntries(Object.entries(m.x).map(([a,{direction:b}])=>[a,b])),q=`(function () {
2
2
  try {
3
3
  var settings = JSON.parse(localStorage.getItem('scrabble-solver.settings'));
4
4
 
@@ -25,4 +25,4 @@
25
25
  root.lang = settings.locale;
26
26
  }
27
27
  } catch (error) {}
28
- })()`;class r extends j(){render(){return(0,d.jsxs)(i.Html,{dir:"ltr",lang:f.Locale.EN_US,children:[(0,d.jsxs)(s,{children:[(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:q}}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"icons/favicon.svg"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(i.Main,{}),(0,d.jsx)(i.NextScript,{})]})]})}}class s extends i.Head{getCssLinks(a){try{return a.allFiles.filter(a=>a.endsWith(".css")).map(a=>(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:h().readFileSync(l().join(process.cwd(),".next",a),"utf-8")},"data-href":`/_next/${a}`},a))}catch{return super.getCssLinks(a)}}}},96481:a=>{"use strict";a.exports=require("store2")},96768:(a,b,c)=>{"use strict";c.d(b,{CP:()=>s,Ce:()=>h,Gr:()=>q,Ip:()=>p,J2:()=>D,KG:()=>k,LO:()=>f,Ln:()=>r,Lo:()=>o,RO:()=>m,T7:()=>y,Uk:()=>C,_Q:()=>v,dW:()=>B,dX:()=>w,fd:()=>j,g:()=>g,gP:()=>u,hO:()=>n,m4:()=>t,oH:()=>l,oK:()=>i,pw:()=>x,tg:()=>E,vK:()=>z,wu:()=>A});var d=c(82461),e=c.n(d);let f={xs:Number(e().breakpointXs),s:Number(e().breakpointS),m:Number(e().breakpointM),l:Number(e().breakpointL),xl:Number(e().breakpointXl)},g="https://github.com/kamilmielnik/scrabble-solver",h="config-pending",i=Number(e().transitionDurationLong),j="var(--color--blue)",k="var(--color--green)",l="var(--color--red)",m="var(--color--yellow)",n=e().colorBackground,o=e().colorVioletLight,p={1:e().colorYellowLight,2:e().colorGreenLight,3:e().colorBlueLight,5:e().colorRedLight},q={2:e().colorBonusCharacterMultiplier2,3:e().colorBonusCharacterMultiplier3,4:e().colorBonusCharacterMultiplier4},r={2:e().colorBonusWordMultiplier2,3:e().colorBonusWordMultiplier3,4:e().colorBonusWordMultiplier4},s=3,t=e().borderColorLight,u=Number(e().borderWidth),v=166,w="/logo.svg",x=682,y=Number(e().transitionDuration),z=k,A={1:m,2:k,3:j,4:l,5:l,6:l,7:l,8:l,9:l,10:l},B=6,C=80,D=Number(e().resultsItemHeight),E=10}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,853,316,712],()=>b(b.s=55688));module.exports=c})();
28
+ })()`;class r extends j(){render(){return(0,d.jsxs)(i.Html,{dir:"ltr",lang:f.Locale.EN_US,children:[(0,d.jsxs)(s,{children:[(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:q}}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"/icons/apple-touch-icon-57x57.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"/icons/apple-touch-icon-114x114.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"/icons/apple-touch-icon-72x72.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"/icons/apple-touch-icon-144x144.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"/icons/apple-touch-icon-60x60.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"/icons/apple-touch-icon-120x120.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"/icons/apple-touch-icon-76x76.png"}),(0,d.jsx)("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"/icons/apple-touch-icon-152x152.png"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-196x196.png",sizes:"196x196"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-96x96.png",sizes:"96x96"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-32x32.png",sizes:"32x32"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-16x16.png",sizes:"16x16"}),(0,d.jsx)("link",{rel:"icon",type:"image/png",href:"/icons/favicon-128.png",sizes:"128x128"}),(0,d.jsx)("link",{rel:"icon",href:"/icons/favicon.svg"}),(0,d.jsx)("link",{rel:"manifest",href:"/site.webmanifest"}),(0,d.jsx)("meta",{name:"application-name",content:"Scrabble Solver"}),(0,d.jsx)("meta",{name:"theme-color",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),(0,d.jsx)("meta",{name:"msapplication-TileImage",content:"/icons/mstile-144x144.png"}),(0,d.jsx)("meta",{name:"msapplication-square70x70logo",content:"/icons/mstile-70x70.png"}),(0,d.jsx)("meta",{name:"msapplication-square150x150logo",content:"/icons/mstile-150x150.png"}),(0,d.jsx)("meta",{name:"msapplication-wide310x150logo",content:"/icons/mstile-310x150.png"}),(0,d.jsx)("meta",{name:"msapplication-square310x310logo",content:"/icons/mstile-310x310.png"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(i.Main,{}),(0,d.jsx)(i.NextScript,{})]})]})}}class s extends i.Head{getCssLinks(a){try{return a.allFiles.filter(a=>a.endsWith(".css")).map(a=>(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:h().readFileSync(l().join(process.cwd(),".next",a),"utf-8")},"data-href":`/_next/${a}`},a))}catch{return super.getCssLinks(a)}}}},96481:a=>{a.exports=require("store2")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[30,853,316,712],()=>b(b.s=55688));module.exports=c})();