radames commited on
Commit
47cfe3f
β€’
1 Parent(s): 7561423
.gitignore ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .DS_Store
2
+ .env
3
+ .flaskenv
4
+ *.pyc
5
+ *.pyo
6
+ env/
7
+ venv/
8
+ .venv/
9
+ env*
10
+ dist/
11
+ build/
12
+ *.egg
13
+ *.egg-info/
14
+ _mailinglist
15
+ .tox/
16
+ .cache/
17
+ .pytest_cache/
18
+ .idea/
19
+ docs/_build/
20
+ .vscode
21
+ # Coverage reports
22
+ htmlcov/
23
+ .coverage
24
+ .coverage.*
25
+ *,cover
26
+ venv
27
+ *_cache.json
28
+ static/images
29
+ static/data.json
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from datasets import load_dataset
3
+ import json
4
+ import uuid
5
+ from pathlib import Path
6
+ import json
7
+ from datasets import load_dataset
8
+ from flask import Flask
9
+ from flask_cors import CORS
10
+
11
+ app = Flask(__name__, static_url_path='/static')
12
+
13
+ CORS(app)
14
+
15
+ TOKEN = os.environ.get('dataset_token')
16
+ dataset = load_dataset("osanseviero/wordalle_prompts",
17
+ use_auth_token=TOKEN)
18
+
19
+
20
+
21
+ dataset = load_dataset("osanseviero/wordalle_prompts", use_auth_token=os.environ.get('dataset_token'))
22
+ Path("static/images").mkdir(parents=True, exist_ok=True)
23
+
24
+ # extract images and prompts from dataset and save to dis
25
+ data = {}
26
+ for row in dataset['train']:
27
+ prompt = dataset['train'].features['label'].int2str(row['label'])
28
+ image = row['image']
29
+ hash = uuid.uuid4().hex
30
+ image_file = Path(f'static/images/{hash}.png')
31
+ image.save(image_file)
32
+ if prompt not in data:
33
+ data[prompt] = []
34
+ data[prompt].append(str(image_file))
35
+
36
+ with open('static/data.json', 'w') as f:
37
+ json.dump(data, f)
38
+
39
+
40
+ @app.route('/')
41
+ def index():
42
+ return app.send_static_file('index.html')
43
+
44
+ @app.route('/data')
45
+ def getdata():
46
+ return app.send_static_file('data.json')
47
+
48
+
49
+ if __name__ == "__main__":
50
+ app.run(host="0.0.0.0", port=7860)
frontend/.eslintignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .DS_Store
2
+ node_modules
3
+ /build
4
+ /.svelte-kit
5
+ /package
6
+ .env
7
+ .env.*
8
+ !.env.example
9
+
10
+ # Ignore files for PNPM, NPM and YARN
11
+ pnpm-lock.yaml
12
+ package-lock.json
13
+ yarn.lock
frontend/.eslintrc.cjs ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ root: true,
3
+ parser: '@typescript-eslint/parser',
4
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
5
+ plugins: ['svelte3', '@typescript-eslint'],
6
+ ignorePatterns: ['*.cjs'],
7
+ overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
8
+ settings: {
9
+ 'svelte3/typescript': () => require('typescript')
10
+ },
11
+ parserOptions: {
12
+ sourceType: 'module',
13
+ ecmaVersion: 2020
14
+ },
15
+ env: {
16
+ browser: true,
17
+ es2017: true,
18
+ node: true
19
+ }
20
+ };
frontend/.gitignore ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ .DS_Store
2
+ node_modules
3
+ /build
4
+ /.svelte-kit
5
+ /package
6
+ .env
7
+ .env.*
8
+ !.env.example
frontend/.npmrc ADDED
@@ -0,0 +1 @@
 
 
1
+ engine-strict=true
frontend/.nvmrc ADDED
@@ -0,0 +1 @@
 
 
1
+ v18.3.0
frontend/.prettierignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .DS_Store
2
+ node_modules
3
+ /build
4
+ /.svelte-kit
5
+ /package
6
+ .env
7
+ .env.*
8
+ !.env.example
9
+
10
+ # Ignore files for PNPM, NPM and YARN
11
+ pnpm-lock.yaml
12
+ package-lock.json
13
+ yarn.lock
frontend/.prettierrc ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "useTabs": true,
3
+ "singleQuote": true,
4
+ "trailingComma": "none",
5
+ "printWidth": 100
6
+ }
frontend/README.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # create-svelte
2
+
3
+ Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
4
+
5
+ ## Creating a project
6
+
7
+ If you're seeing this, you've probably already done this step. Congrats!
8
+
9
+ ```bash
10
+ # create a new project in the current directory
11
+ npm init svelte
12
+
13
+ # create a new project in my-app
14
+ npm init svelte my-app
15
+ ```
16
+
17
+ ## Developing
18
+
19
+ Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
20
+
21
+ ```bash
22
+ npm run dev
23
+
24
+ # or start the server and open the app in a new browser tab
25
+ npm run dev -- --open
26
+ ```
27
+
28
+ ## Building
29
+
30
+ To create a production version of your app:
31
+
32
+ ```bash
33
+ npm run build
34
+ ```
35
+
36
+ You can preview the production build with `npm run preview`.
37
+
38
+ > To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
frontend/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
frontend/package.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "wordalle",
3
+ "version": "0.0.1",
4
+ "scripts": {
5
+ "dev": "svelte-kit dev --host 0.0.0.0",
6
+ "build": "svelte-kit build && rm -rf ../static && cp -rv build ../static",
7
+ "build-dev": "NODE_ENV=development npm run build",
8
+ "package": "svelte-kit package",
9
+ "preview": "svelte-kit preview",
10
+ "prepare": "svelte-kit sync",
11
+ "check": "svelte-check --tsconfig ./tsconfig.json",
12
+ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
13
+ "lint": "prettier --check --plugin-search-dir=. . && eslint .",
14
+ "format": "prettier --write --plugin-search-dir=. ."
15
+ },
16
+ "devDependencies": {
17
+ "@sveltejs/adapter-static": "^1.0.0-next.34",
18
+ "@sveltejs/kit": "next",
19
+ "@types/dom-to-image": "^2.6.4",
20
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
21
+ "@typescript-eslint/parser": "^5.27.0",
22
+ "autoprefixer": "^10.4.7",
23
+ "eslint": "^8.16.0",
24
+ "eslint-config-prettier": "^8.3.0",
25
+ "eslint-plugin-svelte3": "^4.0.0",
26
+ "postcss": "^8.4.14",
27
+ "prettier": "^2.6.2",
28
+ "prettier-plugin-svelte": "^2.7.0",
29
+ "svelte": "^3.44.0",
30
+ "svelte-check": "^2.7.1",
31
+ "svelte-preprocess": "^4.10.7",
32
+ "tailwindcss": "^3.1.2",
33
+ "tslib": "^2.3.1",
34
+ "typescript": "^4.7.2"
35
+ },
36
+ "type": "module",
37
+ "dependencies": {
38
+ "dom-to-image": "^2.6.0"
39
+ }
40
+ }
frontend/postcss.config.cjs ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
frontend/src/app.css ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ :root {
6
+ --cols: 19;
7
+ }
8
+
9
+ .correct,
10
+ .present,
11
+ .absent {
12
+ color: #fff !important;
13
+ }
14
+
15
+ .correct {
16
+ background-color: #6aaa64 !important;
17
+ }
18
+
19
+ .present {
20
+ background-color: #c9b458 !important;
21
+ }
22
+
23
+ .absent {
24
+ background-color: #787c7e !important;
25
+ }
frontend/src/app.d.ts ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /// <reference types="@sveltejs/kit" />
2
+
3
+ // See https://kit.svelte.dev/docs/types#app
4
+ // for information about these interfaces
5
+ declare namespace App {
6
+ // interface Locals {}
7
+ // interface Platform {}
8
+ // interface Session {}
9
+ // interface Stuff {}
10
+ }
frontend/src/app.html ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <!-- <link rel="icon" href="%sveltekit.assets%/favicon.png" /> -->
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ %sveltekit.head%
8
+ </head>
9
+ <body>
10
+ <div>%sveltekit.body%</div>
11
+ </body>
12
+ </html>
frontend/src/lib/Keyboard.svelte ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import type { LetterState } from '../types';
3
+ import { createEventDispatcher } from 'svelte';
4
+
5
+ export let letterStates: Record<string, LetterState>;
6
+ const dispatch = createEventDispatcher();
7
+
8
+ const rows = [
9
+ 'qwertyuiop'.split(''),
10
+ [...'asdfghjkl'.split(''), 'Backspace'],
11
+ [...'zxcvbnm'.split(''), 'Enter'],
12
+ [' ']
13
+ ];
14
+ </script>
15
+
16
+ <div class="my-3 mx-auto select-none max-w-md">
17
+ {#each rows as row, i}
18
+ <div class="row">
19
+ {#each row as key}
20
+ <!-- svelte-ignore missing-declaration -->
21
+ <button
22
+ class="{letterStates[key]} {key.length > 1 && 'big'}"
23
+ on:click={() => dispatch('keyup', key)}
24
+ >
25
+ {#if key === 'Backspace'}
26
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
27
+ <path
28
+ fill="currentColor"
29
+ d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z"
30
+ />
31
+ </svg>
32
+ {:else if key === ' '}
33
+ <span>Space</span>
34
+ {:else}
35
+ <span>{key}</span>
36
+ {/if}
37
+ </button>
38
+ {/each}
39
+ </div>
40
+ {/each}
41
+ </div>
42
+
43
+ <style lang="postcss" scoped>
44
+ .row {
45
+ @apply flex w-full mt-0 mb-2 mx-auto touch-manipulation;
46
+ }
47
+ button {
48
+ @apply flex font-bold m-0 mr-1 p-0 min-h-[30px] min-w-[30px] border-0
49
+ rounded-sm justify-center items-center uppercase cursor-pointer
50
+ transition-all duration-700 ease-in-out flex-1 select-none
51
+ bg-[#d3d6da] text-[#1a1a1b] hover:scale-105;
52
+ }
53
+ </style>
frontend/src/lib/Message.svelte ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { fade } from 'svelte/transition';
3
+ export let message: string | null = null;
4
+ </script>
5
+
6
+ <div class="message" transition:fade>
7
+ {message}
8
+ </div>
9
+
10
+ <style lang="postcss" scoped>
11
+ .message {
12
+ @apply absolute left-1/2 top-1/2 text-white bg-black bg-opacity-80 font-semibold
13
+ p-5 z-20 rounded-sm -translate-x-1/2 transition-opacity duration-300 ease-in-out;
14
+ }
15
+ </style>
frontend/src/lib/Result.svelte ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { colors } from '$lib/utils';
3
+ import type { Board } from '../types';
4
+ import { fade } from 'svelte/transition';
5
+ export let message: string | null = null;
6
+ export let board: Board;
7
+ export let currentRowIndex: number;
8
+ export let imagePaths: string[];
9
+
10
+ import domtoimage from 'dom-to-image';
11
+
12
+ let elToShare: HTMLDivElement;
13
+ // let domToImage: DomToImage;
14
+ let copyState = false;
15
+ // onMount(async () => {
16
+ // domToImage = (await import('dom-to-image')) as unknown as DomToImage;
17
+ // });
18
+ async function writeClipDOM(node: HTMLDivElement) {
19
+ try {
20
+ await navigator.clipboard.write([
21
+ new ClipboardItem({
22
+ 'image/png': domtoimage.toBlob(node)
23
+ })
24
+ ]);
25
+ copyState = true;
26
+ setTimeout(() => (copyState = false), 1000);
27
+ console.log('Fetched image copied.');
28
+ } catch (err) {
29
+ console.log(err.name, err.message);
30
+ }
31
+ }
32
+
33
+ const s = 10;
34
+ const p = 1;
35
+ const rx = s / 10;
36
+ </script>
37
+
38
+ <!-- Modal made with tailwind -->
39
+ <div class="modal relative z-2" transition:fade>
40
+ <div class="message">
41
+ {message}
42
+ <div class="max-w-xs border-0 p-3 mx-auto">
43
+ <div bind:this={elToShare}>
44
+ <div class="grid grid-cols-3 gap-2 max-w-md mx-auto p-3">
45
+ {#each imagePaths as image}
46
+ <div>
47
+ <img src={image} alt="" class="w-full h-full" />
48
+ </div>
49
+ {/each}
50
+ </div>
51
+ <pre class="text-[0.5rem]" />
52
+
53
+ <svg
54
+ class="w-full"
55
+ viewBox="0 0 {board[0].length * (p + s)} {board.length * (p + s)}"
56
+ xmlns="http://www.w3.org/2000/svg"
57
+ >
58
+ {#each board as row, y}
59
+ {#each row as tile, x}
60
+ <rect
61
+ fill={colors[tile.state]}
62
+ x={x * (s + p)}
63
+ y={y * (s + p)}
64
+ width={s}
65
+ height={s}
66
+ {rx}
67
+ />
68
+ {/each}
69
+ {/each}
70
+ </svg>
71
+ </div>
72
+ </div>
73
+ <p>
74
+ Copy the result to clipboard
75
+ <button class="min-w-[6ch]" on:click={() => writeClipDOM(elToShare)}>
76
+ {!copyState ? 'Copy' : 'Copied'}
77
+ </button>. Then go to Twitter and Share
78
+ <a
79
+ class="go-tweet"
80
+ target="_blank"
81
+ rel="noopener noreferrer"
82
+ href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fhuggingface.co%2Fspaces%2Fosanseviero%2Fwordalle&via=huggingface&hashtags=dallemini"
83
+ >
84
+ Share on Twitter
85
+ </a>
86
+ or <button class="min-w-[6ch]" on:click={() => window.location.reload()}> Try again </button>
87
+ </p>
88
+ </div>
89
+ </div>
90
+
91
+ <style lang="postcss" scoped>
92
+ .message {
93
+ @apply absolute left-1/2 top-16 text-white bg-black bg-opacity-80 font-semibold
94
+ p-10 z-20 rounded-md -translate-x-1/2 transition-opacity duration-300 ease-in-out;
95
+ }
96
+ .modal {
97
+ @apply fixed top-0 left-0 w-screen min-h-screen z-10 bg-black bg-opacity-80 backdrop-blur-sm;
98
+ }
99
+ .go-tweet,
100
+ button {
101
+ @apply bg-gray-700 hover:bg-gray-900 text-white font-bold p-1 my-1 text-sm rounded transition-opacity duration-500 ease-in-out;
102
+ }
103
+ </style>
frontend/src/lib/assets/image1.jpg ADDED
frontend/src/lib/utils.ts ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // original code inspired by Evan You https://github.com/yyx990803/vue-wordle/
2
+ import { LetterState } from '../types';
3
+ import type { Board } from '../types';
4
+
5
+ export function clearTile(board: Board, currentRowIndex: number) {
6
+ const newBoard = [...board];
7
+ const currentRow = newBoard[currentRowIndex];
8
+ for (const tile of [...currentRow].reverse()) {
9
+ if (tile.letter) {
10
+ tile.letter = '';
11
+ break;
12
+ }
13
+ }
14
+ return newBoard;
15
+ }
16
+
17
+ export function fillTile(board: Board, currentRowIndex: number, letter: string) {
18
+ const newBoard = [...board];
19
+ const currentRow = newBoard[currentRowIndex];
20
+ for (const tile of currentRow) {
21
+ if (!tile.letter) {
22
+ tile.letter = letter;
23
+ break;
24
+ }
25
+ }
26
+ return newBoard;
27
+ }
28
+
29
+ export const colors = {
30
+ [LetterState.CORRECT]: '#00b81a',
31
+ [LetterState.PRESENT]: '#ffc80a',
32
+ [LetterState.ABSENT]: '#d9d9d9',
33
+ [LetterState.INITIAL]: '#5d5d5d'
34
+ };
frontend/src/routes/__layout.svelte ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ <script>
2
+ import "../app.css";
3
+ </script>
4
+
5
+ <slot />
frontend/src/routes/index.svelte ADDED
@@ -0,0 +1,354 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ // original code inspired by Evan You https://github.com/yyx990803/vue-wordle/
3
+ import { LetterState } from '../types';
4
+ import type { Board } from '../types';
5
+ import { clearTile, fillTile } from '$lib/utils';
6
+
7
+ import Keyboard from '$lib/Keyboard.svelte';
8
+ import Result from '$lib/Result.svelte';
9
+ import Message from '$lib/Message.svelte';
10
+
11
+ import { onMount } from 'svelte';
12
+ import image from '$lib/assets/image1.jpg';
13
+
14
+ const totalTime = 1000;
15
+
16
+ // Get word of the day
17
+ let answer: string;
18
+ let imagePaths: string[];
19
+ let cols: number;
20
+ let timePerTile: number;
21
+
22
+ let letterStates: Record<string, LetterState> = {};
23
+
24
+ let board: Board;
25
+ // Current active row.
26
+ let currentRowIndex = 0;
27
+
28
+ // Feedback state: message and shake
29
+ let message = '';
30
+ let grid = '';
31
+ let result = '';
32
+ let shakeRowIndex = -1;
33
+ let success = false;
34
+ // Handle keyboard input.
35
+ let allowInput = true;
36
+
37
+ onMount(async () => {
38
+ const data = await fetch('data').then((d) => d.json());
39
+ const prompts: string[] = Object.keys(data);
40
+ const randomPrompt: string = prompts[~~(Math.random() * prompts.length)];
41
+ answer = randomPrompt.replace(/_/g, ' ');
42
+ imagePaths = data[randomPrompt].slice(0, 6);
43
+ console.log(answer);
44
+ cols = randomPrompt.length;
45
+ timePerTile = totalTime / cols;
46
+
47
+ board = Array.from({ length: 6 }, () =>
48
+ Array.from({ length: cols }, () => ({
49
+ letter: '',
50
+ state: LetterState.INITIAL
51
+ }))
52
+ );
53
+
54
+ window.addEventListener('keyup', onKeyup);
55
+ document.body.style.setProperty('--cols', `${cols}`);
56
+ return () => window.removeEventListener('keyup', onKeyup);
57
+ });
58
+
59
+ const onKeyup = (e: KeyboardEvent) => {
60
+ onKey(e.key);
61
+ };
62
+
63
+ function onKey(key: string) {
64
+ if (!allowInput) return;
65
+ if (/^[a-zA-Z ]$/.test(key)) {
66
+ board = fillTile(board, currentRowIndex, key.toLowerCase());
67
+ } else if (key === 'Backspace') {
68
+ board = clearTile(board, currentRowIndex);
69
+ } else if (key === 'Enter') {
70
+ completeRow();
71
+ }
72
+ }
73
+
74
+ function completeRow() {
75
+ const newBoard = [...board];
76
+ const currentRow = newBoard[currentRowIndex];
77
+ const currentletterStates: Record<string, LetterState> = {};
78
+
79
+ if (currentRow.every((tile) => tile.letter)) {
80
+ const guess = currentRow.map((tile) => tile.letter).join('');
81
+ // if (!allWords.includes(guess) && guess !== answer) {
82
+ // shake()
83
+ // showMessage(`Not in word list`)
84
+ // return
85
+ // }
86
+
87
+ const answerLetters: (string | null)[] = answer.split('');
88
+ // first pass: mark correct ones
89
+ currentRow.forEach((tile, i) => {
90
+ if (answerLetters[i] === tile.letter) {
91
+ tile.state = currentletterStates[tile.letter] = LetterState.CORRECT;
92
+ answerLetters[i] = null;
93
+ }
94
+ });
95
+
96
+ // second pass: mark the present
97
+ currentRow.forEach((tile) => {
98
+ if (!tile.state && answerLetters.includes(tile.letter)) {
99
+ tile.state = LetterState.PRESENT;
100
+ answerLetters[answerLetters.indexOf(tile.letter)] = null;
101
+ if (!currentletterStates[tile.letter]) {
102
+ currentletterStates[tile.letter] = LetterState.PRESENT;
103
+ }
104
+ }
105
+ });
106
+ // 3rd pass: mark absent
107
+ currentRow.forEach((tile) => {
108
+ if (!tile.state) {
109
+ tile.state = LetterState.ABSENT;
110
+ if (!currentletterStates[tile.letter]) {
111
+ currentletterStates[tile.letter] = LetterState.ABSENT;
112
+ }
113
+ }
114
+ });
115
+
116
+ allowInput = false;
117
+ if (currentRow.every((tile) => tile.state === LetterState.CORRECT)) {
118
+ // yay!
119
+ setTimeout(() => {
120
+ result = ['Genius', 'Magnificent', 'Impressive', 'Splendid', 'Great', 'Phew'][
121
+ currentRowIndex
122
+ ];
123
+ success = true;
124
+ }, totalTime);
125
+ } else if (currentRowIndex < board.length - 1) {
126
+ // go the next row
127
+ currentRowIndex++;
128
+ setTimeout(() => {
129
+ allowInput = true;
130
+ }, totalTime);
131
+ } else {
132
+ // game over :(
133
+ setTimeout(() => {
134
+ showMessage(answer.toUpperCase(), -1);
135
+ }, totalTime);
136
+ }
137
+ } else {
138
+ shake();
139
+ showMessage('Not enough letters');
140
+ }
141
+
142
+ board = newBoard;
143
+ letterStates = currentletterStates;
144
+ }
145
+ function showMessage(msg: string, time = 1000) {
146
+ message = msg;
147
+ if (time > 0) {
148
+ setTimeout(() => {
149
+ message = '';
150
+ }, time);
151
+ }
152
+ }
153
+
154
+ function shake() {
155
+ shakeRowIndex = currentRowIndex;
156
+ setTimeout(() => {
157
+ shakeRowIndex = -1;
158
+ }, 1000);
159
+ }
160
+ </script>
161
+
162
+ {#if board !== undefined}
163
+ <div class="max-w-screen-lg mx-auto px-1 relative z-0">
164
+ {#if message}
165
+ <Message {message} />
166
+ {/if}
167
+ {#if result && success}
168
+ <Result {board} {currentRowIndex} {imagePaths} message={result} />
169
+ {/if}
170
+ <!-- <div class="message" transition:fade>
171
+ {message}
172
+ {#if grid}
173
+ <pre>{grid}</pre>
174
+ {/if}
175
+ </div> -->
176
+ <!-- {/if} -->
177
+ <header class="border-b-2">
178
+ <h1 class="text-3xl font-bold text-center">WORDALLE</h1>
179
+ </header>
180
+ <div class="grid grid-cols-3 gap-2 max-w-md mx-auto p-3">
181
+ {#each imagePaths as image}
182
+ <div>
183
+ <img src={image} alt="" class="w-full h-full" />
184
+ </div>
185
+ {/each}
186
+ </div>
187
+ <div class="board">
188
+ {#each board as row, index}
189
+ <div
190
+ class="row {shakeRowIndex === index && 'shake'} {success &&
191
+ currentRowIndex === index &&
192
+ 'jump'}"
193
+ >
194
+ {#each row as tile, index}
195
+ <div class="tile {tile.letter && 'filled'} {tile.state && 'revealed'}">
196
+ <div class="front" style="transition-delay: {index * timePerTile}ms;">
197
+ {tile.letter}
198
+ </div>
199
+ <div
200
+ class="back {tile.state}"
201
+ style="transition-delay: {index * timePerTile}ms; animation-delay: {index * 100}ms;"
202
+ >
203
+ {tile.letter}
204
+ </div>
205
+ </div>
206
+ {/each}
207
+ </div>
208
+ {/each}
209
+ </div>
210
+ <Keyboard on:keyup={({ detail }) => onKey(detail)} bind:letterStates />
211
+ </div>
212
+ {/if}
213
+
214
+ <style lang="postcss">
215
+ .board {
216
+ @apply grid gap-1.5 grid-rows-6 mx-0 my-auto;
217
+ --height: min(200px, calc(var(--vh, 100vh) - 310px));
218
+ height: var(--height);
219
+ }
220
+ .row {
221
+ @apply grid gap-2;
222
+ grid-template-columns: repeat(var(--cols), 1fr);
223
+ }
224
+
225
+ .tile {
226
+ @apply w-full text-base text-center font-bold
227
+ uppercase select-none relative bg-zinc-100;
228
+ vertical-align: middle;
229
+ }
230
+
231
+ .tile.filled {
232
+ animation: zoom 0.2s;
233
+ }
234
+
235
+ .tile .front,
236
+ .tile .back {
237
+ @apply box-border inline-flex justify-center items-center w-full h-full
238
+ absolute top-0 left-0 transition-transform duration-500;
239
+ backface-visibility: hidden;
240
+ -webkit-backface-visibility: hidden;
241
+ }
242
+
243
+ .tile .front {
244
+ @apply border-[1.5px] border-solid border-gray-300;
245
+ }
246
+
247
+ .tile.filled .front {
248
+ @apply border-[1.5px] border-solid border-gray-500;
249
+ }
250
+
251
+ .tile .back {
252
+ transform: rotateX(180deg);
253
+ }
254
+
255
+ .tile.revealed .front {
256
+ transform: rotateX(180deg);
257
+ }
258
+
259
+ .tile.revealed .back {
260
+ transform: rotateX(0deg);
261
+ }
262
+
263
+ @keyframes zoom {
264
+ 0% {
265
+ transform: scale(1.1);
266
+ }
267
+
268
+ 100% {
269
+ transform: scale(1);
270
+ }
271
+ }
272
+
273
+ .shake {
274
+ animation: shake 0.5s;
275
+ }
276
+
277
+ @keyframes shake {
278
+ 0% {
279
+ transform: translate3d(1px, -1px, 0);
280
+ }
281
+
282
+ 10% {
283
+ transform: translate3d(-2px, 2px, 0);
284
+ }
285
+
286
+ 20% {
287
+ transform: translate3d(2px, -2px, 0);
288
+ }
289
+
290
+ 30% {
291
+ transform: translate3d(-2px, 2px, 0);
292
+ }
293
+
294
+ 40% {
295
+ transform: translate3d(2px, -2px, 0);
296
+ }
297
+
298
+ 50% {
299
+ transform: translate3d(-2px, 2px, 0);
300
+ }
301
+
302
+ 60% {
303
+ transform: translate3d(2px, 2px, 0);
304
+ }
305
+
306
+ 70% {
307
+ transform: translate3d(-2px, -2px, 0);
308
+ }
309
+
310
+ 80% {
311
+ transform: translate3d(2px, 2px, 0);
312
+ }
313
+
314
+ 90% {
315
+ transform: translate3d(-2px, -2px, 0);
316
+ }
317
+
318
+ 100% {
319
+ transform: translate3d(1px, 1px, 0);
320
+ }
321
+ }
322
+
323
+ .jump .tile .back {
324
+ animation: jump 0.5s;
325
+ }
326
+
327
+ @keyframes jump {
328
+ 0% {
329
+ transform: translate3d(0, 0px, 0);
330
+ }
331
+
332
+ 20% {
333
+ transform: translate3d(0, 5px, 0);
334
+ }
335
+
336
+ 60% {
337
+ transform: translate3d(0, -25px, 0);
338
+ }
339
+
340
+ 90% {
341
+ transform: translate3d(0, 3px, 0);
342
+ }
343
+
344
+ 100% {
345
+ transform: translate3d(0, 0px, 0);
346
+ }
347
+ }
348
+
349
+ @media (max-height: 680px) {
350
+ .tile {
351
+ font-size: 1.5vh;
352
+ }
353
+ }
354
+ </style>
frontend/src/types.ts ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export const enum LetterState {
2
+ INITIAL = 0,
3
+ CORRECT = 'correct',
4
+ PRESENT = 'present',
5
+ ABSENT = 'absent'
6
+ }
7
+
8
+ export interface Tile {
9
+ letter: string;
10
+ state: LetterState;
11
+ }
12
+ export type Board = Tile[][];
frontend/svelte.config.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import adapter from '@sveltejs/adapter-static';
2
+ import preprocess from 'svelte-preprocess';
3
+
4
+ const dev = process.env.NODE_ENV === 'development';
5
+
6
+ console.log('dev', dev);
7
+ /** @type {import('@sveltejs/kit').Config} */
8
+ const config = {
9
+ // Consult https://github.com/sveltejs/svelte-preprocess
10
+ // for more information about preprocessors
11
+ preprocess: preprocess({
12
+ postcss: true
13
+ }),
14
+
15
+ kit: {
16
+ paths: {
17
+ base: dev ? '/static' : '/embed/radames/wordalle/static',
18
+ },
19
+ adapter: adapter({
20
+ pages: 'build',
21
+ assets: 'build',
22
+ fallback: null,
23
+ precompress: false
24
+ }),
25
+
26
+ prerender: {
27
+ default: true
28
+ }
29
+ }
30
+ };
31
+
32
+ export default config;
frontend/tailwind.config.cjs ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ content: ['./src/**/*.{html,js,svelte,ts}'],
3
+ theme: {
4
+ extend: {}
5
+ },
6
+ plugins: []
7
+ };
frontend/tsconfig.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "./.svelte-kit/tsconfig.json",
3
+ "compilerOptions": {
4
+ "allowJs": true,
5
+ "checkJs": true,
6
+ "esModuleInterop": true,
7
+ "forceConsistentCasingInFileNames": true,
8
+ "resolveJsonModule": true,
9
+ "skipLibCheck": true,
10
+ "sourceMap": true,
11
+ "strict": true
12
+ }
13
+ }
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ datasets
2
+ flask
3
+ flask_cors
4
+ requests
5
+ Pillow
6
+ scipy
7
+ gradio==3.0.17
static/_app/immutable/assets/image1-93c06b0e.jpg ADDED
static/_app/immutable/assets/pages/__layout.svelte-650f13bc.css ADDED
@@ -0,0 +1 @@
 
 
1
+ *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-1\/2{left:50%}.top-1\/2{top:50%}.top-16{top:4rem}.top-0{top:0px}.left-0{left:0px}.z-20{z-index:20}.z-10{z-index:10}.z-0{z-index:0}.m-0{margin:0}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-0{margin-left:0;margin-right:0}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.mr-1{margin-right:.25rem}.box-border{box-sizing:border-box}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-\[30px\]{min-height:30px}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[30px\]{min-width:30px}.min-w-\[6ch\]{min-width:6ch}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-1\.5{gap:.375rem}.gap-1{gap:.25rem}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.border-0{border-width:0px}.border-\[1\.5px\]{border-width:1.5px}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.bg-\[\#d3d6da\]{--tw-bg-opacity: 1;background-color:rgb(211 214 218 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.p-0{padding:0}.p-5{padding:1.25rem}.p-3{padding:.75rem}.p-10{padding:2.5rem}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.text-center{text-align:center}.text-\[0\.5rem\]{font-size:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-\[\#1a1a1b\]{--tw-text-opacity: 1;color:rgb(26 26 27 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-700{transition-duration:.7s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--cols: 19}.correct,.present,.absent{color:#fff!important}.correct{background-color:#6aaa64!important}.present{background-color:#c9b458!important}.absent{background-color:#787c7e!important}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}
static/_app/immutable/assets/pages/index.svelte-8f5988fc.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .row.svelte-1bl9l4p{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:.5rem;display:flex;width:100%;touch-action:manipulation}button.svelte-1bl9l4p{margin:0;margin-right:.25rem;display:flex;min-height:30px;min-width:30px;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:.125rem;border-width:0px;--tw-bg-opacity:1;background-color:rgb(211 214 218 / var(--tw-bg-opacity));padding:0;font-weight:700;text-transform:uppercase;--tw-text-opacity:1;color:rgb(26 26 27 / var(--tw-text-opacity));transition-property:all;transition-duration:.7s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button.svelte-1bl9l4p:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.message.svelte-1u0no68{position:absolute;left:50%;top:4rem;z-index:20;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.375rem;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;padding:2.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal.svelte-1u0no68{position:fixed;top:0px;left:0px;z-index:10;min-height:100vh;width:100vw;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.go-tweet.svelte-1u0no68,button.svelte-1u0no68{margin-top:.25rem;margin-bottom:.25rem;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity));padding:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.go-tweet.svelte-1u0no68:hover,button.svelte-1u0no68:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.message.svelte-1upiv4{position:absolute;left:50%;top:50%;z-index:20;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.125rem;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;padding:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.board.svelte-1ah7mm7.svelte-1ah7mm7{margin:auto 0;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:.375rem;--height:min(200px, calc(var(--vh, 100vh) - 310px));height:var(--height)}.row.svelte-1ah7mm7.svelte-1ah7mm7{display:grid;gap:.5rem;grid-template-columns:repeat(var(--cols),1fr)}.tile.svelte-1ah7mm7.svelte-1ah7mm7{position:relative;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity));text-align:center;font-size:1rem;line-height:1.5rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.tile.filled.svelte-1ah7mm7.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-zoom .2s;animation:svelte-1ah7mm7-zoom .2s}.tile.svelte-1ah7mm7 .front.svelte-1ah7mm7,.tile.svelte-1ah7mm7 .back.svelte-1ah7mm7{position:absolute;top:0px;left:0px;box-sizing:border-box;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;backface-visibility:hidden;-webkit-backface-visibility:hidden}.tile.svelte-1ah7mm7 .front.svelte-1ah7mm7{border-width:1.5px;border-style:solid;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.tile.filled.svelte-1ah7mm7 .front.svelte-1ah7mm7{border-width:1.5px;border-style:solid;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.tile.svelte-1ah7mm7 .back.svelte-1ah7mm7,.tile.revealed.svelte-1ah7mm7 .front.svelte-1ah7mm7{transform:rotateX(180deg)}.tile.revealed.svelte-1ah7mm7 .back.svelte-1ah7mm7{transform:rotateX(0)}@-webkit-keyframes svelte-1ah7mm7-zoom{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes svelte-1ah7mm7-zoom{0%{transform:scale(1.1)}to{transform:scale(1)}}.shake.svelte-1ah7mm7.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-shake .5s;animation:svelte-1ah7mm7-shake .5s}@-webkit-keyframes svelte-1ah7mm7-shake{0%{transform:translate3d(1px,-1px,0)}10%{transform:translate3d(-2px,2px,0)}20%{transform:translate3d(2px,-2px,0)}30%{transform:translate3d(-2px,2px,0)}40%{transform:translate3d(2px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}60%{transform:translate3d(2px,2px,0)}70%{transform:translate3d(-2px,-2px,0)}80%{transform:translate3d(2px,2px,0)}90%{transform:translate3d(-2px,-2px,0)}to{transform:translate3d(1px,1px,0)}}@keyframes svelte-1ah7mm7-shake{0%{transform:translate3d(1px,-1px,0)}10%{transform:translate3d(-2px,2px,0)}20%{transform:translate3d(2px,-2px,0)}30%{transform:translate3d(-2px,2px,0)}40%{transform:translate3d(2px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}60%{transform:translate3d(2px,2px,0)}70%{transform:translate3d(-2px,-2px,0)}80%{transform:translate3d(2px,2px,0)}90%{transform:translate3d(-2px,-2px,0)}to{transform:translate3d(1px,1px,0)}}.jump.svelte-1ah7mm7 .tile .back.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-jump .5s;animation:svelte-1ah7mm7-jump .5s}@-webkit-keyframes svelte-1ah7mm7-jump{0%{transform:translateZ(0)}20%{transform:translate3d(0,5px,0)}60%{transform:translate3d(0,-25px,0)}90%{transform:translate3d(0,3px,0)}to{transform:translateZ(0)}}@keyframes svelte-1ah7mm7-jump{0%{transform:translateZ(0)}20%{transform:translate3d(0,5px,0)}60%{transform:translate3d(0,-25px,0)}90%{transform:translate3d(0,3px,0)}to{transform:translateZ(0)}}@media (max-height: 680px){.tile.svelte-1ah7mm7.svelte-1ah7mm7{font-size:1.5vh}}
static/_app/immutable/chunks/index-ad2956d2.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ function R(){}const lt=t=>t;function st(t,e){for(const n in e)t[n]=e[n];return t}function J(t){return t()}function I(){return Object.create(null)}function $(t){t.forEach(J)}function K(t){return typeof t=="function"}function Ot(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let N;function qt(t,e){return N||(N=document.createElement("a")),N.href=e,t===N.href}function ot(t){return Object.keys(t).length===0}function Tt(t,e,n,r){if(t){const c=Q(t,e,n,r);return t[0](c)}}function Q(t,e,n,r){return t[1]&&r?st(n.ctx.slice(),t[1](r(e))):n.ctx}function zt(t,e,n,r){if(t[2]&&r){const c=t[2](r(n));if(e.dirty===void 0)return c;if(typeof c=="object"){const o=[],i=Math.max(e.dirty.length,c.length);for(let s=0;s<i;s+=1)o[s]=e.dirty[s]|c[s];return o}return e.dirty|c}return e.dirty}function Bt(t,e,n,r,c,o){if(c){const i=Q(e,n,r,o);t.p(i,c)}}function Lt(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let r=0;r<n;r++)e[r]=-1;return e}return-1}const U=typeof window!="undefined";let ut=U?()=>window.performance.now():()=>Date.now(),F=U?t=>requestAnimationFrame(t):R;const x=new Set;function V(t){x.forEach(e=>{e.c(t)||(x.delete(e),e.f())}),x.size!==0&&F(V)}function at(t){let e;return x.size===0&&F(V),{promise:new Promise(n=>{x.add(e={c:t,f:n})}),abort(){x.delete(e)}}}let D=!1;function ft(){D=!0}function _t(){D=!1}function dt(t,e,n,r){for(;t<e;){const c=t+(e-t>>1);n(c)<=r?t=c+1:e=c}return t}function ht(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){const l=[];for(let u=0;u<e.length;u++){const _=e[u];_.claim_order!==void 0&&l.push(_)}e=l}const n=new Int32Array(e.length+1),r=new Int32Array(e.length);n[0]=-1;let c=0;for(let l=0;l<e.length;l++){const u=e[l].claim_order,_=(c>0&&e[n[c]].claim_order<=u?c+1:dt(1,c,a=>e[n[a]].claim_order,u))-1;r[l]=n[_]+1;const f=_+1;n[f]=l,c=Math.max(f,c)}const o=[],i=[];let s=e.length-1;for(let l=n[c]+1;l!=0;l=r[l-1]){for(o.push(e[l-1]);s>=l;s--)i.push(e[s]);s--}for(;s>=0;s--)i.push(e[s]);o.reverse(),i.sort((l,u)=>l.claim_order-u.claim_order);for(let l=0,u=0;l<i.length;l++){for(;u<o.length&&i[l].claim_order>=o[u].claim_order;)u++;const _=u<o.length?o[u]:null;t.insertBefore(i[l],_)}}function mt(t,e){t.appendChild(e)}function X(t){if(!t)return document;const e=t.getRootNode?t.getRootNode():t.ownerDocument;return e&&e.host?e:t.ownerDocument}function pt(t){const e=Y("style");return yt(X(t),e),e.sheet}function yt(t,e){mt(t.head||t,e)}function gt(t,e){if(D){for(ht(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentElement!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;e!==t.actual_end_child?(e.claim_order!==void 0||e.parentNode!==t)&&t.insertBefore(e,t.actual_end_child):t.actual_end_child=e.nextSibling}else(e.parentNode!==t||e.nextSibling!==null)&&t.appendChild(e)}function Ft(t,e,n){D&&!n?gt(t,e):(e.parentNode!==t||e.nextSibling!=n)&&t.insertBefore(e,n||null)}function xt(t){t.parentNode.removeChild(t)}function Ht(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function Y(t){return document.createElement(t)}function $t(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function H(t){return document.createTextNode(t)}function It(){return H(" ")}function Wt(){return H("")}function Gt(t,e,n,r){return t.addEventListener(e,n,r),()=>t.removeEventListener(e,n,r)}function Jt(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function bt(t){return Array.from(t.childNodes)}function wt(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Z(t,e,n,r,c=!1){wt(t);const o=(()=>{for(let i=t.claim_info.last_index;i<t.length;i++){const s=t[i];if(e(s)){const l=n(s);return l===void 0?t.splice(i,1):t[i]=l,c||(t.claim_info.last_index=i),s}}for(let i=t.claim_info.last_index-1;i>=0;i--){const s=t[i];if(e(s)){const l=n(s);return l===void 0?t.splice(i,1):t[i]=l,c?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=i,s}}return r()})();return o.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,o}function tt(t,e,n,r){return Z(t,c=>c.nodeName===e,c=>{const o=[];for(let i=0;i<c.attributes.length;i++){const s=c.attributes[i];n[s.name]||o.push(s.name)}o.forEach(i=>c.removeAttribute(i))},()=>r(e))}function Kt(t,e,n){return tt(t,e,n,Y)}function Qt(t,e,n){return tt(t,e,n,$t)}function vt(t,e){return Z(t,n=>n.nodeType===3,n=>{const r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>H(e),!0)}function Ut(t){return vt(t," ")}function Vt(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Xt(t,e,n,r){n===null?t.style.removeProperty(e):t.style.setProperty(e,n,r?"important":"")}function et(t,e,{bubbles:n=!1,cancelable:r=!1}={}){const c=document.createEvent("CustomEvent");return c.initCustomEvent(t,n,r,e),c}const S=new Map;let M=0;function Et(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function kt(t,e){const n={stylesheet:pt(e),rules:{}};return S.set(t,n),n}function W(t,e,n,r,c,o,i,s=0){const l=16.666/r;let u=`{
2
+ `;for(let p=0;p<=1;p+=l){const g=e+(n-e)*o(p);u+=p*100+`%{${i(g,1-g)}}
3
+ `}const _=u+`100% {${i(n,1-n)}}
4
+ }`,f=`__svelte_${Et(_)}_${s}`,a=X(t),{stylesheet:d,rules:h}=S.get(a)||kt(a,t);h[f]||(h[f]=!0,d.insertRule(`@keyframes ${f} ${_}`,d.cssRules.length));const y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${c}ms 1 both`,M+=1,f}function Nt(t,e){const n=(t.style.animation||"").split(", "),r=n.filter(e?o=>o.indexOf(e)<0:o=>o.indexOf("__svelte")===-1),c=n.length-r.length;c&&(t.style.animation=r.join(", "),M-=c,M||jt())}function jt(){F(()=>{M||(S.forEach(t=>{const{stylesheet:e}=t;let n=e.cssRules.length;for(;n--;)e.deleteRule(n);t.rules={}}),S.clear())})}let E;function v(t){E=t}function O(){if(!E)throw new Error("Function called outside component initialization");return E}function Yt(t){O().$$.on_mount.push(t)}function Zt(t){O().$$.after_update.push(t)}function te(){const t=O();return(e,n,{cancelable:r=!1}={})=>{const c=t.$$.callbacks[e];if(c){const o=et(e,n,{cancelable:r});return c.slice().forEach(i=>{i.call(t,o)}),!o.defaultPrevented}return!0}}function ee(t,e){return O().$$.context.set(t,e),e}const w=[],G=[],A=[],B=[],nt=Promise.resolve();let L=!1;function it(){L||(L=!0,nt.then(rt))}function ne(){return it(),nt}function P(t){A.push(t)}function ie(t){B.push(t)}const T=new Set;let j=0;function rt(){const t=E;do{for(;j<w.length;){const e=w[j];j++,v(e),At(e.$$)}for(v(null),w.length=0,j=0;G.length;)G.pop()();for(let e=0;e<A.length;e+=1){const n=A[e];T.has(n)||(T.add(n),n())}A.length=0}while(w.length);for(;B.length;)B.pop()();L=!1,T.clear(),v(t)}function At(t){if(t.fragment!==null){t.update(),$(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(P)}}let b;function Ct(){return b||(b=Promise.resolve(),b.then(()=>{b=null})),b}function z(t,e,n){t.dispatchEvent(et(`${e?"intro":"outro"}${n}`))}const C=new Set;let m;function re(){m={r:0,c:[],p:m}}function ce(){m.r||$(m.c),m=m.p}function St(t,e){t&&t.i&&(C.delete(t),t.i(e))}function le(t,e,n,r){if(t&&t.o){if(C.has(t))return;C.add(t),m.c.push(()=>{C.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}}const Mt={duration:0};function se(t,e,n,r){let c=e(t,n),o=r?0:1,i=null,s=null,l=null;function u(){l&&Nt(t,l)}function _(a,d){const h=a.b-o;return d*=Math.abs(h),{a:o,b:a.b,d:h,duration:d,start:a.start,end:a.start+d,group:a.group}}function f(a){const{delay:d=0,duration:h=300,easing:y=lt,tick:p=R,css:g}=c||Mt,q={start:ut()+d,b:a};a||(q.group=m,m.r+=1),i||s?s=q:(g&&(u(),l=W(t,o,a,h,d,y,g)),a&&p(0,1),i=_(q,h),P(()=>z(t,a,"start")),at(k=>{if(s&&k>s.start&&(i=_(s,h),s=null,z(t,i.b,"start"),g&&(u(),l=W(t,o,i.b,i.duration,0,y,c.css))),i){if(k>=i.end)p(o=i.b,1-o),z(t,i.b,"end"),s||(i.b?u():--i.group.r||$(i.group.c)),i=null;else if(k>=i.start){const ct=k-i.start;o=i.a+i.d*y(ct/i.duration),p(o,1-o)}}return!!(i||s)}))}return{run(a){K(c)?Ct().then(()=>{c=c(),f(a)}):f(a)},end(){u(),i=s=null}}}function oe(t,e){const n={},r={},c={$$scope:1};let o=t.length;for(;o--;){const i=t[o],s=e[o];if(s){for(const l in i)l in s||(r[l]=1);for(const l in s)c[l]||(n[l]=s[l],c[l]=1);t[o]=s}else for(const l in i)c[l]=1}for(const i in r)i in n||(n[i]=void 0);return n}function ue(t){return typeof t=="object"&&t!==null?t:{}}function ae(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function fe(t){t&&t.c()}function _e(t,e){t&&t.l(e)}function Pt(t,e,n,r){const{fragment:c,on_mount:o,on_destroy:i,after_update:s}=t.$$;c&&c.m(e,n),r||P(()=>{const l=o.map(J).filter(K);i?i.push(...l):$(l),t.$$.on_mount=[]}),s.forEach(P)}function Rt(t,e){const n=t.$$;n.fragment!==null&&($(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Dt(t,e){t.$$.dirty[0]===-1&&(w.push(t),it(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function de(t,e,n,r,c,o,i,s=[-1]){const l=E;v(t);const u=t.$$={fragment:null,ctx:null,props:o,update:R,not_equal:c,bound:I(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(l?l.$$.context:[])),callbacks:I(),dirty:s,skip_bound:!1,root:e.target||l.$$.root};i&&i(u.root);let _=!1;if(u.ctx=n?n(t,e.props||{},(f,a,...d)=>{const h=d.length?d[0]:a;return u.ctx&&c(u.ctx[f],u.ctx[f]=h)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](h),_&&Dt(t,f)),a}):[],u.update(),_=!0,$(u.before_update),u.fragment=r?r(u.ctx):!1,e.target){if(e.hydrate){ft();const f=bt(e.target);u.fragment&&u.fragment.l(f),f.forEach(xt)}else u.fragment&&u.fragment.c();e.intro&&St(t.$$.fragment),Pt(t,e.target,e.anchor,e.customElement),_t(),rt()}v(l)}class he{$destroy(){Rt(this,1),this.$destroy=R}$on(e,n){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const c=r.indexOf(n);c!==-1&&r.splice(c,1)}}$set(e){this.$$set&&!ot(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}export{oe as A,ue as B,Rt as C,st as D,ne as E,Tt as F,Bt as G,Lt as H,zt as I,gt as J,Gt as K,Ht as L,te as M,$t as N,Qt as O,lt as P,qt as Q,P as R,he as S,se as T,$ as U,G as V,ie as W,ae as X,bt as a,Jt as b,Kt as c,xt as d,Y as e,Xt as f,Ft as g,vt as h,de as i,Vt as j,It as k,Wt as l,Ut as m,R as n,re as o,le as p,ce as q,St as r,Ot as s,H as t,ee as u,Zt as v,Yt as w,fe as x,_e as y,Pt as z};
static/_app/immutable/error.svelte-fca57afa.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{S as w,i as y,s as z,e as E,t as v,c as d,a as b,h as P,d as o,g as n,J as R,j as N,k as S,l as C,m as j,n as H}from"./chunks/index-ad2956d2.js";function J(r){let l,t=r[1].frame+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].frame+"")&&N(a,t)},d(f){f&&o(l)}}}function h(r){let l,t=r[1].stack+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].stack+"")&&N(a,t)},d(f){f&&o(l)}}}function A(r){let l,t,a,f,s=r[1].message+"",c,k,u,p,i=r[1].frame&&J(r),_=r[1].stack&&h(r);return{c(){l=E("h1"),t=v(r[0]),a=S(),f=E("pre"),c=v(s),k=S(),i&&i.c(),u=S(),_&&_.c(),p=C()},l(e){l=d(e,"H1",{});var m=b(l);t=P(m,r[0]),m.forEach(o),a=j(e),f=d(e,"PRE",{});var q=b(f);c=P(q,s),q.forEach(o),k=j(e),i&&i.l(e),u=j(e),_&&_.l(e),p=C()},m(e,m){n(e,l,m),R(l,t),n(e,a,m),n(e,f,m),R(f,c),n(e,k,m),i&&i.m(e,m),n(e,u,m),_&&_.m(e,m),n(e,p,m)},p(e,[m]){m&1&&N(t,e[0]),m&2&&s!==(s=e[1].message+"")&&N(c,s),e[1].frame?i?i.p(e,m):(i=J(e),i.c(),i.m(u.parentNode,u)):i&&(i.d(1),i=null),e[1].stack?_?_.p(e,m):(_=h(e),_.c(),_.m(p.parentNode,p)):_&&(_.d(1),_=null)},i:H,o:H,d(e){e&&o(l),e&&o(a),e&&o(f),e&&o(k),i&&i.d(e),e&&o(u),_&&_.d(e),e&&o(p)}}}function F({error:r,status:l}){return{props:{error:r,status:l}}}function B(r,l,t){let{status:a}=l,{error:f}=l;return r.$$set=s=>{"status"in s&&t(0,a=s.status),"error"in s&&t(1,f=s.error)},[a,f]}class G extends w{constructor(l){super(),y(this,l,B,A,z,{status:0,error:1})}}export{G as default,F as load};
static/_app/immutable/manifest.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ ".svelte-kit/runtime/client/start.js": {
3
+ "file": "start-eafcc13c.js",
4
+ "src": ".svelte-kit/runtime/client/start.js",
5
+ "isEntry": true,
6
+ "imports": [
7
+ "_index-ad2956d2.js"
8
+ ],
9
+ "dynamicImports": [
10
+ "src/routes/__layout.svelte",
11
+ ".svelte-kit/runtime/components/error.svelte",
12
+ "src/routes/index.svelte"
13
+ ]
14
+ },
15
+ "src/routes/__layout.svelte": {
16
+ "file": "pages/__layout.svelte-97f324f7.js",
17
+ "src": "src/routes/__layout.svelte",
18
+ "isEntry": true,
19
+ "isDynamicEntry": true,
20
+ "imports": [
21
+ "_index-ad2956d2.js"
22
+ ],
23
+ "css": [
24
+ "assets/pages/__layout.svelte-650f13bc.css"
25
+ ]
26
+ },
27
+ ".svelte-kit/runtime/components/error.svelte": {
28
+ "file": "error.svelte-fca57afa.js",
29
+ "src": ".svelte-kit/runtime/components/error.svelte",
30
+ "isEntry": true,
31
+ "isDynamicEntry": true,
32
+ "imports": [
33
+ "_index-ad2956d2.js"
34
+ ]
35
+ },
36
+ "src/routes/index.svelte": {
37
+ "file": "pages/index.svelte-8599330f.js",
38
+ "src": "src/routes/index.svelte",
39
+ "isEntry": true,
40
+ "isDynamicEntry": true,
41
+ "imports": [
42
+ "_index-ad2956d2.js"
43
+ ],
44
+ "css": [
45
+ "assets/pages/index.svelte-8f5988fc.css"
46
+ ]
47
+ },
48
+ "_index-ad2956d2.js": {
49
+ "file": "chunks/index-ad2956d2.js"
50
+ }
51
+ }
static/_app/immutable/pages/__layout.svelte-97f324f7.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{S as n,i as s,s as c,F as l,G as w,H as p,I as d,r as b,p as g}from"../chunks/index-ad2956d2.js";function m(a){let r;const i=a[1].default,e=l(i,a,a[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,o){e&&e.m(t,o),r=!0},p(t,[o]){e&&e.p&&(!r||o&1)&&w(e,i,t,t[0],r?d(i,t[0],o,null):p(t[0]),null)},i(t){r||(b(e,t),r=!0)},o(t){g(e,t),r=!1},d(t){e&&e.d(t)}}}function u(a,r,i){let{$$slots:e={},$$scope:t}=r;return a.$$set=o=>{"$$scope"in o&&i(0,t=o.$$scope)},[t,e]}class f extends n{constructor(r){super(),s(this,r,u,m,c,{})}}export{f as default};
static/_app/immutable/pages/index.svelte-8599330f.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ import{S as xe,i as Ee,s as Pe,e as V,k as K,c as z,a as D,m as Z,d as b,b as p,g as W,J as w,K as Ae,L as ue,n as de,M as at,t as ee,h as te,N as ve,O as we,P as lt,Q as be,l as _e,j as pe,R as tt,T as ye,U as ot,V as rt,x as Re,y as Be,z as De,r as ne,p as ie,C as Ne,q as Se,f as me,W as st,w as it,X as ct,o as Ce}from"../chunks/index-ad2956d2.js";var ae=(l=>(l[l.INITIAL=0]="INITIAL",l.CORRECT="correct",l.PRESENT="present",l.ABSENT="absent",l))(ae||{});function ut(l,e){const r=[...l],t=r[e];for(const n of[...t].reverse())if(n.letter){n.letter="";break}return r}function ft(l,e,r){const t=[...l],n=t[e];for(const a of n)if(!a.letter){a.letter=r;break}return t}const Ue={[ae.CORRECT]:"#00b81a",[ae.PRESENT]:"#ffc80a",[ae.ABSENT]:"#d9d9d9",[ae.INITIAL]:"#5d5d5d"};function Ve(l,e,r){const t=l.slice();return t[4]=e[r],t[6]=r,t}function ze(l,e,r){const t=l.slice();return t[7]=e[r],t}function ht(l){let e,r=l[7]+"",t;return{c(){e=V("span"),t=ee(r)},l(n){e=z(n,"SPAN",{});var a=D(e);t=te(a,r),a.forEach(b)},m(n,a){W(n,e,a),w(e,t)},p:de,d(n){n&&b(e)}}}function mt(l){let e,r;return{c(){e=V("span"),r=ee("Space")},l(t){e=z(t,"SPAN",{});var n=D(e);r=te(n,"Space"),n.forEach(b)},m(t,n){W(t,e,n),w(e,r)},p:de,d(t){t&&b(e)}}}function dt(l){let e,r;return{c(){e=ve("svg"),r=ve("path"),this.h()},l(t){e=we(t,"svg",{xmlns:!0,height:!0,viewBox:!0,width:!0});var n=D(e);r=we(n,"path",{fill:!0,d:!0}),D(r).forEach(b),n.forEach(b),this.h()},h(){p(r,"fill","currentColor"),p(r,"d","M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z"),p(e,"xmlns","http://www.w3.org/2000/svg"),p(e,"height","24"),p(e,"viewBox","0 0 24 24"),p(e,"width","24")},m(t,n){W(t,e,n),w(e,r)},p:de,d(t){t&&b(e)}}}function Le(l){let e,r,t,n;function a(y,C){return y[7]==="Backspace"?dt:y[7]===" "?mt:ht}let u=a(l)(l);function m(){return l[3](l[7])}return{c(){e=V("button"),u.c(),this.h()},l(y){e=z(y,"BUTTON",{class:!0});var C=D(e);u.l(C),C.forEach(b),this.h()},h(){p(e,"class",r=l[0][l[7]]+" "+(l[7].length>1&&"big")+" svelte-1bl9l4p")},m(y,C){W(y,e,C),u.m(e,null),t||(n=Ae(e,"click",m),t=!0)},p(y,C){l=y,u.p(l,C),C&1&&r!==(r=l[0][l[7]]+" "+(l[7].length>1&&"big")+" svelte-1bl9l4p")&&p(e,"class",r)},d(y){y&&b(e),u.d(),t=!1,n()}}}function je(l){let e,r,t=l[4],n=[];for(let a=0;a<t.length;a+=1)n[a]=Le(ze(l,t,a));return{c(){e=V("div");for(let a=0;a<n.length;a+=1)n[a].c();r=K(),this.h()},l(a){e=z(a,"DIV",{class:!0});var o=D(e);for(let u=0;u<n.length;u+=1)n[u].l(o);r=Z(o),o.forEach(b),this.h()},h(){p(e,"class","row svelte-1bl9l4p")},m(a,o){W(a,e,o);for(let u=0;u<n.length;u+=1)n[u].m(e,null);w(e,r)},p(a,o){if(o&7){t=a[4];let u;for(u=0;u<t.length;u+=1){const m=ze(a,t,u);n[u]?n[u].p(m,o):(n[u]=Le(m),n[u].c(),n[u].m(e,r))}for(;u<n.length;u+=1)n[u].d(1);n.length=t.length}},d(a){a&&b(e),ue(n,a)}}}function pt(l){let e,r=l[2],t=[];for(let n=0;n<r.length;n+=1)t[n]=je(Ve(l,r,n));return{c(){e=V("div");for(let n=0;n<t.length;n+=1)t[n].c();this.h()},l(n){e=z(n,"DIV",{class:!0});var a=D(e);for(let o=0;o<t.length;o+=1)t[o].l(a);a.forEach(b),this.h()},h(){p(e,"class","my-3 mx-auto select-none max-w-md")},m(n,a){W(n,e,a);for(let o=0;o<t.length;o+=1)t[o].m(e,null)},p(n,[a]){if(a&7){r=n[2];let o;for(o=0;o<r.length;o+=1){const u=Ve(n,r,o);t[o]?t[o].p(u,a):(t[o]=je(u),t[o].c(),t[o].m(e,null))}for(;o<t.length;o+=1)t[o].d(1);t.length=r.length}},i:de,o:de,d(n){n&&b(e),ue(t,n)}}}function gt(l,e,r){let{letterStates:t}=e;const n=at(),a=["qwertyuiop".split(""),[..."asdfghjkl".split(""),"Backspace"],[..."zxcvbnm".split(""),"Enter"],[" "]],o=u=>n("keyup",u);return l.$$set=u=>{"letterStates"in u&&r(0,t=u.letterStates)},[t,n,a,o]}class vt extends xe{constructor(e){super(),Ee(this,e,gt,pt,Pe,{letterStates:0})}}function ke(l,{delay:e=0,duration:r=400,easing:t=lt}={}){const n=+getComputedStyle(l).opacity;return{delay:e,duration:r,easing:t,css:a=>`opacity: ${a*n}`}}var nt={exports:{}};(function(l){(function(e){var r=J(),t=M(),n=Q(),a=L(),o={imagePlaceholder:void 0,cacheBust:!1},u={toSvg:m,toPng:C,toJpeg:T,toBlob:I,toPixelData:y,impl:{fontFaces:n,images:a,util:r,inliner:t,options:{}}};l.exports=u;function m(s,i){return i=i||{},X(i),Promise.resolve(s).then(function(c){return R(c,i.filter,!0)}).then(A).then(q).then(f).then(function(c){return j(c,i.width||r.width(s),i.height||r.height(s))});function f(c){return i.bgcolor&&(c.style.backgroundColor=i.bgcolor),i.width&&(c.style.width=i.width+"px"),i.height&&(c.style.height=i.height+"px"),i.style&&Object.keys(i.style).forEach(function(v){c.style[v]=i.style[v]}),c}}function y(s,i){return x(s,i||{}).then(function(f){return f.getContext("2d").getImageData(0,0,r.width(s),r.height(s)).data})}function C(s,i){return x(s,i||{}).then(function(f){return f.toDataURL()})}function T(s,i){return i=i||{},x(s,i).then(function(f){return f.toDataURL("image/jpeg",i.quality||1)})}function I(s,i){return x(s,i||{}).then(r.canvasToBlob)}function X(s){typeof s.imagePlaceholder=="undefined"?u.impl.options.imagePlaceholder=o.imagePlaceholder:u.impl.options.imagePlaceholder=s.imagePlaceholder,typeof s.cacheBust=="undefined"?u.impl.options.cacheBust=o.cacheBust:u.impl.options.cacheBust=s.cacheBust}function x(s,i){return m(s,i).then(r.makeImage).then(r.delay(100)).then(function(c){var v=f(s);return v.getContext("2d").drawImage(c,0,0),v});function f(c){var v=document.createElement("canvas");if(v.width=i.width||r.width(c),v.height=i.height||r.height(c),i.bgcolor){var E=v.getContext("2d");E.fillStyle=i.bgcolor,E.fillRect(0,0,v.width,v.height)}return v}}function R(s,i,f){if(!f&&i&&!i(s))return Promise.resolve();return Promise.resolve(s).then(c).then(function(g){return v(s,g,i)}).then(function(g){return E(s,g)});function c(g){return g instanceof HTMLCanvasElement?r.makeImage(g.toDataURL()):g.cloneNode(!1)}function v(g,k,N){var G=g.childNodes;if(G.length===0)return Promise.resolve(k);return S(k,r.asArray(G),N).then(function(){return k});function S(_,O,d){var H=Promise.resolve();return O.forEach(function(Y){H=H.then(function(){return R(Y,d)}).then(function($){$&&_.appendChild($)})}),H}}function E(g,k){if(!(k instanceof Element))return k;return Promise.resolve().then(N).then(G).then(S).then(_).then(function(){return k});function N(){O(window.getComputedStyle(g),k.style);function O(d,H){d.cssText?H.cssText=d.cssText:Y(d,H);function Y($,re){r.asArray($).forEach(function(h){re.setProperty(h,$.getPropertyValue(h),$.getPropertyPriority(h))})}}}function G(){[":before",":after"].forEach(function(d){O(d)});function O(d){var H=window.getComputedStyle(g,d),Y=H.getPropertyValue("content");if(Y===""||Y==="none")return;var $=r.uid();k.className=k.className+" "+$;var re=document.createElement("style");re.appendChild(h($,d,H)),k.appendChild(re);function h(P,U,B){var F="."+P+":"+U,le=B.cssText?Te(B):Ie(B);return document.createTextNode(F+"{"+le+"}");function Te(oe){var se=oe.getPropertyValue("content");return oe.cssText+" content: "+se+";"}function Ie(oe){return r.asArray(oe).map(se).join("; ")+";";function se(he){return he+": "+oe.getPropertyValue(he)+(oe.getPropertyPriority(he)?" !important":"")}}}}}function S(){g instanceof HTMLTextAreaElement&&(k.innerHTML=g.value),g instanceof HTMLInputElement&&k.setAttribute("value",g.value)}function _(){k instanceof SVGElement&&(k.setAttribute("xmlns","http://www.w3.org/2000/svg"),k instanceof SVGRectElement&&["width","height"].forEach(function(O){var d=k.getAttribute(O);!d||k.style.setProperty(O,d)}))}}}function A(s){return n.resolveAll().then(function(i){var f=document.createElement("style");return s.appendChild(f),f.appendChild(document.createTextNode(i)),s})}function q(s){return a.inlineAll(s).then(function(){return s})}function j(s,i,f){return Promise.resolve(s).then(function(c){return c.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(c)}).then(r.escapeXhtml).then(function(c){return'<foreignObject x="0" y="0" width="100%" height="100%">'+c+"</foreignObject>"}).then(function(c){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+i+'" height="'+f+'">'+c+"</svg>"}).then(function(c){return"data:image/svg+xml;charset=utf-8,"+c})}function J(){return{escape:_,parseExtension:i,mimeType:f,dataAsUrl:S,isDataUrl:c,canvasToBlob:E,resolveUrl:g,getAndEncode:G,uid:k(),delay:O,asArray:d,escapeXhtml:H,makeImage:N,width:Y,height:$};function s(){var h="application/font-woff",P="image/jpeg";return{woff:h,woff2:h,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:P,jpeg:P,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function i(h){var P=/\.([^\.\/]*?)$/g.exec(h);return P?P[1]:""}function f(h){var P=i(h).toLowerCase();return s()[P]||""}function c(h){return h.search(/^(data:)/)!==-1}function v(h){return new Promise(function(P){for(var U=window.atob(h.toDataURL().split(",")[1]),B=U.length,F=new Uint8Array(B),le=0;le<B;le++)F[le]=U.charCodeAt(le);P(new Blob([F],{type:"image/png"}))})}function E(h){return h.toBlob?new Promise(function(P){h.toBlob(P)}):v(h)}function g(h,P){var U=document.implementation.createHTMLDocument(),B=U.createElement("base");U.head.appendChild(B);var F=U.createElement("a");return U.body.appendChild(F),B.href=P,F.href=h,F.href}function k(){var h=0;return function(){return"u"+P()+h++;function P(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}function N(h){return new Promise(function(P,U){var B=new Image;B.onload=function(){P(B)},B.onerror=U,B.src=h})}function G(h){var P=3e4;return u.impl.options.cacheBust&&(h+=(/\?/.test(h)?"&":"?")+new Date().getTime()),new Promise(function(U){var B=new XMLHttpRequest;B.onreadystatechange=Te,B.ontimeout=Ie,B.responseType="blob",B.timeout=P,B.open("GET",h,!0),B.send();var F;if(u.impl.options.imagePlaceholder){var le=u.impl.options.imagePlaceholder.split(/,/);le&&le[1]&&(F=le[1])}function Te(){if(B.readyState===4){if(B.status!==200){F?U(F):oe("cannot fetch resource: "+h+", status: "+B.status);return}var se=new FileReader;se.onloadend=function(){var he=se.result.split(/,/)[1];U(he)},se.readAsDataURL(B.response)}}function Ie(){F?U(F):oe("timeout of "+P+"ms occured while fetching resource: "+h)}function oe(se){console.error(se),U("")}})}function S(h,P){return"data:"+P+";base64,"+h}function _(h){return h.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")}function O(h){return function(P){return new Promise(function(U){setTimeout(function(){U(P)},h)})}}function d(h){for(var P=[],U=h.length,B=0;B<U;B++)P.push(h[B]);return P}function H(h){return h.replace(/#/g,"%23").replace(/\n/g,"%0A")}function Y(h){var P=re(h,"border-left-width"),U=re(h,"border-right-width");return h.scrollWidth+P+U}function $(h){var P=re(h,"border-top-width"),U=re(h,"border-bottom-width");return h.scrollHeight+P+U}function re(h,P){var U=window.getComputedStyle(h).getPropertyValue(P);return parseFloat(U.replace("px",""))}}function M(){var s=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:v,shouldProcess:i,impl:{readUrls:f,inline:c}};function i(E){return E.search(s)!==-1}function f(E){for(var g=[],k;(k=s.exec(E))!==null;)g.push(k[1]);return g.filter(function(N){return!r.isDataUrl(N)})}function c(E,g,k,N){return Promise.resolve(g).then(function(S){return k?r.resolveUrl(S,k):S}).then(N||r.getAndEncode).then(function(S){return r.dataAsUrl(S,r.mimeType(g))}).then(function(S){return E.replace(G(g),"$1"+S+"$3")});function G(S){return new RegExp(`(url\\(['"]?)(`+r.escape(S)+`)(['"]?\\))`,"g")}}function v(E,g,k){if(N())return Promise.resolve(E);return Promise.resolve(E).then(f).then(function(G){var S=Promise.resolve(E);return G.forEach(function(_){S=S.then(function(O){return c(O,_,g,k)})}),S});function N(){return!i(E)}}}function Q(){return{resolveAll:s,impl:{readAll:i}};function s(){return i().then(function(f){return Promise.all(f.map(function(c){return c.resolve()}))}).then(function(f){return f.join(`
2
+ `)})}function i(){return Promise.resolve(r.asArray(document.styleSheets)).then(c).then(f).then(function(E){return E.map(v)});function f(E){return E.filter(function(g){return g.type===CSSRule.FONT_FACE_RULE}).filter(function(g){return t.shouldProcess(g.style.getPropertyValue("src"))})}function c(E){var g=[];return E.forEach(function(k){try{r.asArray(k.cssRules||[]).forEach(g.push.bind(g))}catch(N){console.log("Error while reading CSS rules from "+k.href,N.toString())}}),g}function v(E){return{resolve:function(){var k=(E.parentStyleSheet||{}).href;return t.inlineAll(E.cssText,k)},src:function(){return E.style.getPropertyValue("src")}}}}}function L(){return{inlineAll:i,impl:{newImage:s}};function s(f){return{inline:c};function c(v){return r.isDataUrl(f.src)?Promise.resolve():Promise.resolve(f.src).then(v||r.getAndEncode).then(function(E){return r.dataAsUrl(E,r.mimeType(f.src))}).then(function(E){return new Promise(function(g,k){f.onload=g,f.onerror=k,f.src=E})})}}function i(f){if(!(f instanceof Element))return Promise.resolve(f);return c(f).then(function(){return f instanceof HTMLImageElement?s(f).inline():Promise.all(r.asArray(f.childNodes).map(function(v){return i(v)}))});function c(v){var E=v.style.getPropertyValue("background");return E?t.inlineAll(E).then(function(g){v.style.setProperty("background",g,v.style.getPropertyPriority("background"))}).then(function(){return v}):Promise.resolve(v)}}}})()})(nt);var wt=nt.exports;function Oe(l,e,r){const t=l.slice();return t[11]=e[r],t[13]=r,t}function Me(l,e,r){const t=l.slice();return t[14]=e[r],t[16]=r,t}function Fe(l,e,r){const t=l.slice();return t[17]=e[r],t}function He(l){let e,r,t,n;return{c(){e=V("div"),r=V("img"),n=K(),this.h()},l(a){e=z(a,"DIV",{});var o=D(e);r=z(o,"IMG",{src:!0,alt:!0,class:!0}),n=Z(o),o.forEach(b),this.h()},h(){be(r.src,t=l[17])||p(r,"src",t),p(r,"alt",""),p(r,"class","w-full h-full")},m(a,o){W(a,e,o),w(e,r),w(e,n)},p(a,o){o&4&&!be(r.src,t=a[17])&&p(r,"src",t)},d(a){a&&b(e)}}}function Xe(l){let e,r;return{c(){e=ve("rect"),this.h()},l(t){e=we(t,"rect",{fill:!0,x:!0,y:!0,width:!0,height:!0,rx:!0}),D(e).forEach(b),this.h()},h(){p(e,"fill",r=Ue[l[14].state]),p(e,"x",l[16]*(ce+fe)),p(e,"y",l[13]*(ce+fe)),p(e,"width",ce),p(e,"height",ce),p(e,"rx",l[6])},m(t,n){W(t,e,n)},p(t,n){n&2&&r!==(r=Ue[t[14].state])&&p(e,"fill",r)},d(t){t&&b(e)}}}function Ge(l){let e,r=l[11],t=[];for(let n=0;n<r.length;n+=1)t[n]=Xe(Me(l,r,n));return{c(){for(let n=0;n<t.length;n+=1)t[n].c();e=_e()},l(n){for(let a=0;a<t.length;a+=1)t[a].l(n);e=_e()},m(n,a){for(let o=0;o<t.length;o+=1)t[o].m(n,a);W(n,e,a)},p(n,a){if(a&66){r=n[11];let o;for(o=0;o<r.length;o+=1){const u=Me(n,r,o);t[o]?t[o].p(u,a):(t[o]=Xe(u),t[o].c(),t[o].m(e.parentNode,e))}for(;o<t.length;o+=1)t[o].d(1);t.length=r.length}},d(n){ue(t,n),n&&b(e)}}}function bt(l){let e,r,t,n,a,o,u,m,y,C,T,I,X,x,R,A,q=l[4]?"Copied":"Copy",j,J,M,Q,L,s,i,f,c,v,E,g,k=l[2],N=[];for(let _=0;_<k.length;_+=1)N[_]=He(Fe(l,k,_));let G=l[1],S=[];for(let _=0;_<G.length;_+=1)S[_]=Ge(Oe(l,G,_));return{c(){e=V("div"),r=V("div"),t=ee(l[0]),n=K(),a=V("div"),o=V("div"),u=V("div");for(let _=0;_<N.length;_+=1)N[_].c();m=K(),y=V("pre"),C=K(),T=ve("svg");for(let _=0;_<S.length;_+=1)S[_].c();X=K(),x=V("p"),R=ee(`Copy the result to clipboard
3
+ `),A=V("button"),j=ee(q),J=K(),M=ee(`. Then go to Twitter and Share
4
+ `),Q=V("a"),L=ee("Share on Twitter"),s=ee(`
5
+ or `),i=V("button"),f=ee("Try again"),this.h()},l(_){e=z(_,"DIV",{class:!0});var O=D(e);r=z(O,"DIV",{class:!0});var d=D(r);t=te(d,l[0]),n=Z(d),a=z(d,"DIV",{class:!0});var H=D(a);o=z(H,"DIV",{});var Y=D(o);u=z(Y,"DIV",{class:!0});var $=D(u);for(let F=0;F<N.length;F+=1)N[F].l($);$.forEach(b),m=Z(Y),y=z(Y,"PRE",{class:!0}),D(y).forEach(b),C=Z(Y),T=we(Y,"svg",{class:!0,viewBox:!0,xmlns:!0});var re=D(T);for(let F=0;F<S.length;F+=1)S[F].l(re);re.forEach(b),Y.forEach(b),H.forEach(b),X=Z(d),x=z(d,"P",{});var h=D(x);R=te(h,`Copy the result to clipboard
6
+ `),A=z(h,"BUTTON",{class:!0});var P=D(A);j=te(P,q),J=Z(P),P.forEach(b),M=te(h,`. Then go to Twitter and Share
7
+ `),Q=z(h,"A",{class:!0,target:!0,rel:!0,href:!0});var U=D(Q);L=te(U,"Share on Twitter"),U.forEach(b),s=te(h,`
8
+ or `),i=z(h,"BUTTON",{class:!0});var B=D(i);f=te(B,"Try again"),B.forEach(b),h.forEach(b),d.forEach(b),O.forEach(b),this.h()},h(){p(u,"class","grid grid-cols-3 gap-2 max-w-md mx-auto p-3"),p(y,"class","text-[0.5rem]"),p(T,"class","w-full"),p(T,"viewBox",I="0 0 "+l[1][0].length*(fe+ce)+" "+l[1].length*(fe+ce)),p(T,"xmlns","http://www.w3.org/2000/svg"),p(a,"class","max-w-xs border-0 p-3 mx-auto"),p(A,"class","min-w-[6ch] svelte-1u0no68"),p(Q,"class","go-tweet svelte-1u0no68"),p(Q,"target","_blank"),p(Q,"rel","noopener noreferrer"),p(Q,"href","https://twitter.com/intent/tweet?url=https%3A%2F%2Fhuggingface.co%2Fspaces%2Fosanseviero%2Fwordalle&via=huggingface&hashtags=dallemini"),p(i,"class","min-w-[6ch] svelte-1u0no68"),p(r,"class","message svelte-1u0no68"),p(e,"class","modal relative z-2 svelte-1u0no68")},m(_,O){W(_,e,O),w(e,r),w(r,t),w(r,n),w(r,a),w(a,o),w(o,u);for(let d=0;d<N.length;d+=1)N[d].m(u,null);w(o,m),w(o,y),w(o,C),w(o,T);for(let d=0;d<S.length;d+=1)S[d].m(T,null);l[8](o),w(r,X),w(r,x),w(x,R),w(x,A),w(A,j),w(A,J),w(x,M),w(x,Q),w(Q,L),w(x,s),w(x,i),w(i,f),v=!0,E||(g=[Ae(A,"click",l[9]),Ae(i,"click",l[10])],E=!0)},p(_,[O]){if((!v||O&1)&&pe(t,_[0]),O&4){k=_[2];let d;for(d=0;d<k.length;d+=1){const H=Fe(_,k,d);N[d]?N[d].p(H,O):(N[d]=He(H),N[d].c(),N[d].m(u,null))}for(;d<N.length;d+=1)N[d].d(1);N.length=k.length}if(O&66){G=_[1];let d;for(d=0;d<G.length;d+=1){const H=Oe(_,G,d);S[d]?S[d].p(H,O):(S[d]=Ge(H),S[d].c(),S[d].m(T,null))}for(;d<S.length;d+=1)S[d].d(1);S.length=G.length}(!v||O&2&&I!==(I="0 0 "+_[1][0].length*(fe+ce)+" "+_[1].length*(fe+ce)))&&p(T,"viewBox",I),(!v||O&16)&&q!==(q=_[4]?"Copied":"Copy")&&pe(j,q)},i(_){v||(tt(()=>{c||(c=ye(e,ke,{},!0)),c.run(1)}),v=!0)},o(_){c||(c=ye(e,ke,{},!1)),c.run(0),v=!1},d(_){_&&b(e),ue(N,_),ue(S,_),l[8](null),_&&c&&c.end(),E=!1,ot(g)}}}const ce=10,fe=1;function _t(l,e,r){let{message:t=null}=e,{board:n}=e,{currentRowIndex:a}=e,{imagePaths:o}=e,u,m=!1;async function y(x){try{await navigator.clipboard.write([new ClipboardItem({"image/png":wt.toBlob(x)})]),r(4,m=!0),setTimeout(()=>r(4,m=!1),1e3),console.log("Fetched image copied.")}catch(R){console.log(R.name,R.message)}}const C=ce/10;function T(x){rt[x?"unshift":"push"](()=>{u=x,r(3,u)})}const I=()=>y(u),X=()=>window.location.reload();return l.$$set=x=>{"message"in x&&r(0,t=x.message),"board"in x&&r(1,n=x.board),"currentRowIndex"in x&&r(7,a=x.currentRowIndex),"imagePaths"in x&&r(2,o=x.imagePaths)},[t,n,o,u,m,y,C,a,T,I,X]}class yt extends xe{constructor(e){super(),Ee(this,e,_t,bt,Pe,{message:0,board:1,currentRowIndex:7,imagePaths:2})}}function kt(l){let e,r,t,n;return{c(){e=V("div"),r=ee(l[0]),this.h()},l(a){e=z(a,"DIV",{class:!0});var o=D(e);r=te(o,l[0]),o.forEach(b),this.h()},h(){p(e,"class","message svelte-1upiv4")},m(a,o){W(a,e,o),w(e,r),n=!0},p(a,[o]){(!n||o&1)&&pe(r,a[0])},i(a){n||(tt(()=>{t||(t=ye(e,ke,{},!0)),t.run(1)}),n=!0)},o(a){t||(t=ye(e,ke,{},!1)),t.run(0),n=!1},d(a){a&&b(e),a&&t&&t.end()}}}function xt(l,e,r){let{message:t=null}=e;return l.$$set=n=>{"message"in n&&r(0,t=n.message)},[t]}class Et extends xe{constructor(e){super(),Ee(this,e,xt,kt,Pe,{message:0})}}function qe(l,e,r){const t=l.slice();return t[19]=e[r],t[21]=r,t}function We(l,e,r){const t=l.slice();return t[22]=e[r],t[21]=r,t}function Ye(l,e,r){const t=l.slice();return t[24]=e[r],t}function Ke(l){let e,r,t,n,a,o,u,m,y,C,T,I,X,x,R=l[5]&&Ze(l),A=l[6]&&l[8]&&Je(l),q=l[0],j=[];for(let s=0;s<q.length;s+=1)j[s]=Qe(Ye(l,q,s));let J=l[3],M=[];for(let s=0;s<J.length;s+=1)M[s]=et(qe(l,J,s));function Q(s){l[10](s)}let L={};return l[2]!==void 0&&(L.letterStates=l[2]),I=new vt({props:L}),rt.push(()=>ct(I,"letterStates",Q)),I.$on("keyup",l[11]),{c(){e=V("div"),R&&R.c(),r=K(),A&&A.c(),t=K(),n=V("header"),a=V("h1"),o=ee("WORDALLE"),u=K(),m=V("div");for(let s=0;s<j.length;s+=1)j[s].c();y=K(),C=V("div");for(let s=0;s<M.length;s+=1)M[s].c();T=K(),Re(I.$$.fragment),this.h()},l(s){e=z(s,"DIV",{class:!0});var i=D(e);R&&R.l(i),r=Z(i),A&&A.l(i),t=Z(i),n=z(i,"HEADER",{class:!0});var f=D(n);a=z(f,"H1",{class:!0});var c=D(a);o=te(c,"WORDALLE"),c.forEach(b),f.forEach(b),u=Z(i),m=z(i,"DIV",{class:!0});var v=D(m);for(let g=0;g<j.length;g+=1)j[g].l(v);v.forEach(b),y=Z(i),C=z(i,"DIV",{class:!0});var E=D(C);for(let g=0;g<M.length;g+=1)M[g].l(E);E.forEach(b),T=Z(i),Be(I.$$.fragment,i),i.forEach(b),this.h()},h(){p(a,"class","text-3xl font-bold text-center"),p(n,"class","border-b-2"),p(m,"class","grid grid-cols-3 gap-2 max-w-md mx-auto p-3"),p(C,"class","board svelte-1ah7mm7"),p(e,"class","max-w-screen-lg mx-auto px-1 relative z-0")},m(s,i){W(s,e,i),R&&R.m(e,null),w(e,r),A&&A.m(e,null),w(e,t),w(e,n),w(n,a),w(a,o),w(e,u),w(e,m);for(let f=0;f<j.length;f+=1)j[f].m(m,null);w(e,y),w(e,C);for(let f=0;f<M.length;f+=1)M[f].m(C,null);w(e,T),De(I,e,null),x=!0},p(s,i){if(s[5]?R?(R.p(s,i),i&32&&ne(R,1)):(R=Ze(s),R.c(),ne(R,1),R.m(e,r)):R&&(Ce(),ie(R,1,1,()=>{R=null}),Se()),s[6]&&s[8]?A?(A.p(s,i),i&320&&ne(A,1)):(A=Je(s),A.c(),ne(A,1),A.m(e,t)):A&&(Ce(),ie(A,1,1,()=>{A=null}),Se()),i&1){q=s[0];let c;for(c=0;c<q.length;c+=1){const v=Ye(s,q,c);j[c]?j[c].p(v,i):(j[c]=Qe(v),j[c].c(),j[c].m(m,null))}for(;c<j.length;c+=1)j[c].d(1);j.length=q.length}if(i&410){J=s[3];let c;for(c=0;c<J.length;c+=1){const v=qe(s,J,c);M[c]?M[c].p(v,i):(M[c]=et(v),M[c].c(),M[c].m(C,null))}for(;c<M.length;c+=1)M[c].d(1);M.length=J.length}const f={};!X&&i&4&&(X=!0,f.letterStates=s[2],st(()=>X=!1)),I.$set(f)},i(s){x||(ne(R),ne(A),ne(I.$$.fragment,s),x=!0)},o(s){ie(R),ie(A),ie(I.$$.fragment,s),x=!1},d(s){s&&b(e),R&&R.d(),A&&A.d(),ue(j,s),ue(M,s),Ne(I)}}}function Ze(l){let e,r;return e=new Et({props:{message:l[5]}}),{c(){Re(e.$$.fragment)},l(t){Be(e.$$.fragment,t)},m(t,n){De(e,t,n),r=!0},p(t,n){const a={};n&32&&(a.message=t[5]),e.$set(a)},i(t){r||(ne(e.$$.fragment,t),r=!0)},o(t){ie(e.$$.fragment,t),r=!1},d(t){Ne(e,t)}}}function Je(l){let e,r;return e=new yt({props:{board:l[3],currentRowIndex:l[4],imagePaths:l[0],message:l[6]}}),{c(){Re(e.$$.fragment)},l(t){Be(e.$$.fragment,t)},m(t,n){De(e,t,n),r=!0},p(t,n){const a={};n&8&&(a.board=t[3]),n&16&&(a.currentRowIndex=t[4]),n&1&&(a.imagePaths=t[0]),n&64&&(a.message=t[6]),e.$set(a)},i(t){r||(ne(e.$$.fragment,t),r=!0)},o(t){ie(e.$$.fragment,t),r=!1},d(t){Ne(e,t)}}}function Qe(l){let e,r,t,n;return{c(){e=V("div"),r=V("img"),n=K(),this.h()},l(a){e=z(a,"DIV",{});var o=D(e);r=z(o,"IMG",{src:!0,alt:!0,class:!0}),n=Z(o),o.forEach(b),this.h()},h(){be(r.src,t=l[24])||p(r,"src",t),p(r,"alt",""),p(r,"class","w-full h-full")},m(a,o){W(a,e,o),w(e,r),w(e,n)},p(a,o){o&1&&!be(r.src,t=a[24])&&p(r,"src",t)},d(a){a&&b(e)}}}function $e(l){let e,r,t=l[22].letter+"",n,a,o,u=l[22].letter+"",m,y,C;return{c(){e=V("div"),r=V("div"),n=ee(t),a=K(),o=V("div"),m=ee(u),this.h()},l(T){e=z(T,"DIV",{class:!0});var I=D(e);r=z(I,"DIV",{class:!0,style:!0});var X=D(r);n=te(X,t),X.forEach(b),a=Z(I),o=z(I,"DIV",{class:!0,style:!0});var x=D(o);m=te(x,u),x.forEach(b),I.forEach(b),this.h()},h(){p(r,"class","front svelte-1ah7mm7"),me(r,"transition-delay",l[21]*l[1]+"ms"),p(o,"class",y="back "+l[22].state+" svelte-1ah7mm7"),me(o,"transition-delay",l[21]*l[1]+"ms"),me(o,"animation-delay",l[21]*100+"ms"),p(e,"class",C="tile "+(l[22].letter&&"filled")+" "+(l[22].state&&"revealed")+" svelte-1ah7mm7")},m(T,I){W(T,e,I),w(e,r),w(r,n),w(e,a),w(e,o),w(o,m)},p(T,I){I&8&&t!==(t=T[22].letter+"")&&pe(n,t),I&2&&me(r,"transition-delay",T[21]*T[1]+"ms"),I&8&&u!==(u=T[22].letter+"")&&pe(m,u),I&8&&y!==(y="back "+T[22].state+" svelte-1ah7mm7")&&p(o,"class",y),I&2&&me(o,"transition-delay",T[21]*T[1]+"ms"),I&8&&C!==(C="tile "+(T[22].letter&&"filled")+" "+(T[22].state&&"revealed")+" svelte-1ah7mm7")&&p(e,"class",C)},d(T){T&&b(e)}}}function et(l){let e,r,t,n=l[19],a=[];for(let o=0;o<n.length;o+=1)a[o]=$e(We(l,n,o));return{c(){e=V("div");for(let o=0;o<a.length;o+=1)a[o].c();r=K(),this.h()},l(o){e=z(o,"DIV",{class:!0});var u=D(e);for(let m=0;m<a.length;m+=1)a[m].l(u);r=Z(u),u.forEach(b),this.h()},h(){p(e,"class",t="row "+(l[7]===l[21]&&"shake")+" "+(l[8]&&l[4]===l[21]&&"jump")+" svelte-1ah7mm7")},m(o,u){W(o,e,u);for(let m=0;m<a.length;m+=1)a[m].m(e,null);w(e,r)},p(o,u){if(u&10){n=o[19];let m;for(m=0;m<n.length;m+=1){const y=We(o,n,m);a[m]?a[m].p(y,u):(a[m]=$e(y),a[m].c(),a[m].m(e,r))}for(;m<a.length;m+=1)a[m].d(1);a.length=n.length}u&400&&t!==(t="row "+(o[7]===o[21]&&"shake")+" "+(o[8]&&o[4]===o[21]&&"jump")+" svelte-1ah7mm7")&&p(e,"class",t)},d(o){o&&b(e),ue(a,o)}}}function Pt(l){let e,r,t=l[3]!==void 0&&Ke(l);return{c(){t&&t.c(),e=_e()},l(n){t&&t.l(n),e=_e()},m(n,a){t&&t.m(n,a),W(n,e,a),r=!0},p(n,[a]){n[3]!==void 0?t?(t.p(n,a),a&8&&ne(t,1)):(t=Ke(n),t.c(),ne(t,1),t.m(e.parentNode,e)):t&&(Ce(),ie(t,1,1,()=>{t=null}),Se())},i(n){r||(ne(t),r=!0)},o(n){ie(t),r=!1},d(n){t&&t.d(n),n&&b(e)}}}const ge=1e3;function Tt(l,e,r){let t,n,a,o,u={},m,y=0,C="",T="",I=-1,X=!1,x=!0;it(async()=>{const L=await fetch("data").then(f=>f.json()),s=Object.keys(L),i=s[~~(Math.random()*s.length)];return t=i.replace(/_/g," "),r(0,n=L[i].slice(0,6)),console.log(t),a=i.length,r(1,o=ge/a),r(3,m=Array.from({length:6},()=>Array.from({length:a},()=>({letter:"",state:ae.INITIAL})))),window.addEventListener("keyup",R),document.body.style.setProperty("--cols",`${a}`),()=>window.removeEventListener("keyup",R)});const R=L=>{A(L.key)};function A(L){!x||(/^[a-zA-Z ]$/.test(L)?r(3,m=ft(m,y,L.toLowerCase())):L==="Backspace"?r(3,m=ut(m,y)):L==="Enter"&&q())}function q(){const L=[...m],s=L[y],i={};if(s.every(f=>f.letter)){s.map(c=>c.letter).join("");const f=t.split("");s.forEach((c,v)=>{f[v]===c.letter&&(c.state=i[c.letter]=ae.CORRECT,f[v]=null)}),s.forEach(c=>{!c.state&&f.includes(c.letter)&&(c.state=ae.PRESENT,f[f.indexOf(c.letter)]=null,i[c.letter]||(i[c.letter]=ae.PRESENT))}),s.forEach(c=>{c.state||(c.state=ae.ABSENT,i[c.letter]||(i[c.letter]=ae.ABSENT))}),x=!1,s.every(c=>c.state===ae.CORRECT)?setTimeout(()=>{r(6,T=["Genius","Magnificent","Impressive","Splendid","Great","Phew"][y]),r(8,X=!0)},ge):y<m.length-1?(r(4,y++,y),setTimeout(()=>{x=!0},ge)):setTimeout(()=>{j(t.toUpperCase(),-1)},ge)}else J(),j("Not enough letters");r(3,m=L),r(2,u=i)}function j(L,s=1e3){r(5,C=L),s>0&&setTimeout(()=>{r(5,C="")},s)}function J(){r(7,I=y),setTimeout(()=>{r(7,I=-1)},1e3)}function M(L){u=L,r(2,u)}return[n,o,u,m,y,C,T,I,X,A,M,({detail:L})=>A(L)]}class At extends xe{constructor(e){super(),Ee(this,e,Tt,Pt,Pe,{})}}export{At as default};
static/_app/immutable/start-eafcc13c.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var rt=Object.defineProperty,it=Object.defineProperties;var at=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var ze=(n,e,t)=>e in n?rt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,x=(n,e)=>{for(var t in e||(e={}))Ve.call(e,t)&&ze(n,t,e[t]);if(ue)for(var t of ue(e))qe.call(e,t)&&ze(n,t,e[t]);return n},se=(n,e)=>it(n,at(e));var Je=(n,e)=>{var t={};for(var r in n)Ve.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&ue)for(var r of ue(n))e.indexOf(r)<0&&qe.call(n,r)&&(t[r]=n[r]);return t};import{s as tt,n as ye,S as ot,i as ct,e as lt,c as ft,a as ut,d as z,b as ve,f as B,g as V,t as dt,h as pt,j as ht,k as _t,l as C,m as mt,o as G,p as T,q as M,r as j,u as gt,v as wt,w as Re,x as q,y as ie,z as J,A as ae,B as oe,C as K,D as ce,E as Ke}from"./chunks/index-ad2956d2.js";const H=[];function de(n,e=ye){let t;const r=new Set;function l(s){if(tt(n,s)&&(n=s,t)){const i=!H.length;for(const a of r)a[1](),H.push(a,n);if(i){for(let a=0;a<H.length;a+=2)H[a][0](H[a+1]);H.length=0}}}function c(s){l(s(n))}function f(s,i=ye){const a=[s,i];return r.add(a),r.size===1&&(t=e(l)||ye),s(n),()=>{r.delete(a),r.size===0&&(t(),t=null)}}return{set:l,update:c,subscribe:f}}let Be="",nt="";function bt(n){Be=n.base,nt=n.assets||Be}function yt(n){let e,t,r;const l=[n[1]||{}];var c=n[0][0];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(c!==(c=s[0][0])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function vt(n){let e,t,r;const l=[n[1]||{}];var c=n[0][0];function f(s){let i={$$slots:{default:[Rt]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(i&525&&(a.$$scope={dirty:i,ctx:s}),c!==(c=s[0][0])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f(s)),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function $t(n){let e,t,r;const l=[n[2]||{}];var c=n[0][1];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(c!==(c=s[0][1])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function kt(n){let e,t,r;const l=[n[2]||{}];var c=n[0][1];function f(s){let i={$$slots:{default:[Et]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(i&521&&(a.$$scope={dirty:i,ctx:s}),c!==(c=s[0][1])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f(s)),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function Et(n){let e,t,r;const l=[n[3]||{}];var c=n[0][2];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&8?ae(l,[oe(s[3]||{})]):{};if(c!==(c=s[0][2])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function Rt(n){let e,t,r,l;const c=[kt,$t],f=[];function s(i,a){return i[0][2]?0:1}return e=s(n),t=f[e]=c[e](n),{c(){t.c(),r=C()},l(i){t.l(i),r=C()},m(i,a){f[e].m(i,a),V(i,r,a),l=!0},p(i,a){let d=e;e=s(i),e===d?f[e].p(i,a):(G(),T(f[d],1,1,()=>{f[d]=null}),M(),t=f[e],t?t.p(i,a):(t=f[e]=c[e](i),t.c()),j(t,1),t.m(r.parentNode,r))},i(i){l||(j(t),l=!0)},o(i){T(t),l=!1},d(i){f[e].d(i),i&&z(r)}}}function We(n){let e,t=n[5]&&Ye(n);return{c(){e=lt("div"),t&&t.c(),this.h()},l(r){e=ft(r,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var l=ut(e);t&&t.l(l),l.forEach(z),this.h()},h(){ve(e,"id","svelte-announcer"),ve(e,"aria-live","assertive"),ve(e,"aria-atomic","true"),B(e,"position","absolute"),B(e,"left","0"),B(e,"top","0"),B(e,"clip","rect(0 0 0 0)"),B(e,"clip-path","inset(50%)"),B(e,"overflow","hidden"),B(e,"white-space","nowrap"),B(e,"width","1px"),B(e,"height","1px")},m(r,l){V(r,e,l),t&&t.m(e,null)},p(r,l){r[5]?t?t.p(r,l):(t=Ye(r),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(r){r&&z(e),t&&t.d()}}}function Ye(n){let e;return{c(){e=dt(n[6])},l(t){e=pt(t,n[6])},m(t,r){V(t,e,r)},p(t,r){r&64&&ht(e,t[6])},d(t){t&&z(e)}}}function St(n){let e,t,r,l,c;const f=[vt,yt],s=[];function i(d,L){return d[0][1]?0:1}e=i(n),t=s[e]=f[e](n);let a=n[4]&&We(n);return{c(){t.c(),r=_t(),a&&a.c(),l=C()},l(d){t.l(d),r=mt(d),a&&a.l(d),l=C()},m(d,L){s[e].m(d,L),V(d,r,L),a&&a.m(d,L),V(d,l,L),c=!0},p(d,[L]){let E=e;e=i(d),e===E?s[e].p(d,L):(G(),T(s[E],1,1,()=>{s[E]=null}),M(),t=s[e],t?t.p(d,L):(t=s[e]=f[e](d),t.c()),j(t,1),t.m(r.parentNode,r)),d[4]?a?a.p(d,L):(a=We(d),a.c(),a.m(l.parentNode,l)):a&&(a.d(1),a=null)},i(d){c||(j(t),c=!0)},o(d){T(t),c=!1},d(d){s[e].d(d),d&&z(r),a&&a.d(d),d&&z(l)}}}function Lt(n,e,t){let{stores:r}=e,{page:l}=e,{components:c}=e,{props_0:f=null}=e,{props_1:s=null}=e,{props_2:i=null}=e;gt("__svelte__",r),wt(r.page.notify);let a=!1,d=!1,L=null;return Re(()=>{const E=r.page.subscribe(()=>{a&&(t(5,d=!0),t(6,L=document.title||"untitled page"))});return t(4,a=!0),E}),n.$$set=E=>{"stores"in E&&t(7,r=E.stores),"page"in E&&t(8,l=E.page),"components"in E&&t(0,c=E.components),"props_0"in E&&t(1,f=E.props_0),"props_1"in E&&t(2,s=E.props_1),"props_2"in E&&t(3,i=E.props_2)},n.$$.update=()=>{n.$$.dirty&384&&r.page.set(l)},[c,f,s,i,a,d,L,r,l]}class Ut extends ot{constructor(e){super(),ct(this,e,Lt,St,tt,{stores:7,page:8,components:0,props_0:1,props_1:2,props_2:3})}}const At="modulepreload",Ge={},Nt="/embed/radames/wordalle/static/_app/immutable/",$e=function(e,t){return!t||t.length===0?e():Promise.all(t.map(r=>{if(r=`${Nt}${r}`,r in Ge)return;Ge[r]=!0;const l=r.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":At,l||(f.as="script",f.crossOrigin=""),f.href=r,document.head.appendChild(f),l)return new Promise((s,i)=>{f.addEventListener("load",s),f.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e())},Ot={},pe=[()=>$e(()=>import("./pages/__layout.svelte-97f324f7.js"),["pages/__layout.svelte-97f324f7.js","assets/pages/__layout.svelte-650f13bc.css","chunks/index-ad2956d2.js"]),()=>$e(()=>import("./error.svelte-fca57afa.js"),["error.svelte-fca57afa.js","chunks/index-ad2956d2.js"]),()=>$e(()=>import("./pages/index.svelte-8599330f.js"),["pages/index.svelte-8599330f.js","assets/pages/index.svelte-8f5988fc.css","chunks/index-ad2956d2.js"])],Pt={"":[[0,2],[1]]};function xt(n){n.client}function Me(n){return n instanceof Error||n&&n.name&&n.message?n:new Error(JSON.stringify(n))}function Fe(n){if(n.fallthrough)throw new Error("fallthrough is no longer supported. Use matchers instead: https://kit.svelte.dev/docs/routing#advanced-routing-matching");if("maxage"in n)throw new Error("maxage should be replaced with cache: { maxage }");const e=n.status&&n.status>=400&&n.status<=599&&!n.redirect;if(n.error||e){const t=n.status;if(!n.error&&e)return{status:t||500,error:new Error};const r=typeof n.error=="string"?new Error(n.error):n.error;return r instanceof Error?!t||t<400||t>599?(console.warn('"error" returned from load() without a valid status code \u2014 defaulting to 500'),{status:500,error:r}):{status:t,error:r}:{status:500,error:new Error(`"error" property returned from load() must be a string or instance of Error, received type "${typeof r}"`)}}if(n.redirect){if(!n.status||Math.floor(n.status/100)!==3)throw new Error('"redirect" property returned from load() must be accompanied by a 3xx status code');if(typeof n.redirect!="string")throw new Error('"redirect" property returned from load() must be a string')}if(n.dependencies&&(!Array.isArray(n.dependencies)||n.dependencies.some(t=>typeof t!="string")))throw new Error('"dependencies" property returned from load() must be of type string[]');if(n.context)throw new Error('You are returning "context" from a load function. "context" was renamed to "stuff", please adjust your code accordingly.');return n}function Ct(n,e){return n==="/"||e==="ignore"?n:e==="never"?n.endsWith("/")?n.slice(0,-1):n:e==="always"&&!n.endsWith("/")?n+"/":n}function Xe(n){let e=n.baseURI;if(!e){const t=n.getElementsByTagName("base");e=t.length?t[0].href:n.URL}return e}function Se(){return{x:pageXOffset,y:pageYOffset}}function He(n){return n.composedPath().find(t=>t instanceof Node&&t.nodeName.toUpperCase()==="A")}function Ze(n){return n instanceof SVGAElement?new URL(n.href.baseVal,document.baseURI):new URL(n.href)}function Qe(n){const e=de(n);let t=!0;function r(){t=!0,e.update(f=>f)}function l(f){t=!1,e.set(f)}function c(f){let s;return e.subscribe(i=>{(s===void 0||t&&i!==s)&&f(s=i)})}return{notify:r,set:l,subscribe:c}}function Tt(){const{set:n,subscribe:e}=de(!1),t="1655276222143";let r;async function l(){clearTimeout(r);const f=await fetch(`${nt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(f.ok){const{version:s}=await f.json(),i=s!==t;return i&&(n(!0),clearTimeout(r)),i}else throw new Error(`Version check failed: ${f.status}`)}return{subscribe:e,check:l}}function jt(n){let e=5381,t=n.length;if(typeof n=="string")for(;t;)e=e*33^n.charCodeAt(--t);else for(;t;)e=e*33^n[--t];return(e>>>0).toString(36)}const Le=window.fetch;function It(n,e){let r=`script[sveltekit\\:data-type="data"][sveltekit\\:data-url=${JSON.stringify(typeof n=="string"?n:n.url)}]`;e&&typeof e.body=="string"&&(r+=`[sveltekit\\:data-body="${jt(e.body)}"]`);const l=document.querySelector(r);if(l&&l.textContent){const c=JSON.parse(l.textContent),{body:f}=c,s=Je(c,["body"]);return Promise.resolve(new Response(f,s))}return Le(n,e)}const Dt=/^(\.\.\.)?(\w+)(?:=(\w+))?$/;function zt(n){const e=[],t=[];let r=!0;return{pattern:n===""?/^\/$/:new RegExp(`^${decodeURIComponent(n).split(/(?:@[a-zA-Z0-9_-]+)?(?:\/|$)/).map((c,f,s)=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(c);if(i)return e.push(i[1]),t.push(i[2]),"(?:/(.*))?";const a=f===s.length-1;return c&&"/"+c.split(/\[(.+?)\]/).map((d,L)=>{if(L%2){const[,E,Z,F]=Dt.exec(d);return e.push(Z),t.push(F),E?"(.*?)":"([^/]+?)"}return a&&d.includes(".")&&(r=!1),d.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${r?"/?":""}$`),names:e,types:t}}function Vt(n,e,t,r){const l={};for(let c=0;c<e.length;c+=1){const f=e[c],s=t[c],i=n[c+1]||"";if(s){const a=r[s];if(!a)throw new Error(`Missing "${s}" param matcher`);if(!a(i))return}l[f]=i}return l}function qt(n,e,t){return Object.entries(e).map(([l,[c,f,s]])=>{const{pattern:i,names:a,types:d}=zt(l);return{id:l,exec:L=>{const E=i.exec(L);if(E)return Vt(E,a,d,t)},a:c.map(L=>n[L]),b:f.map(L=>n[L]),has_shadow:!!s}})}const st="sveltekit:scroll",W="sveltekit:index",ke=qt(pe,Pt,Ot),Jt=pe[0](),Kt=pe[1](),et={};let re={};try{re=JSON.parse(sessionStorage[st])}catch{}function Ee(n){re[n]=Se()}function Bt({target:n,session:e,base:t,trailing_slash:r}){var Ie;const l=new Map,c=[],f={url:Qe({}),page:Qe({}),navigating:de(null),session:de(e),updated:Tt()},s={id:null,promise:null},i={before_navigate:[],after_navigate:[]};let a={branch:[],error:null,session_id:0,stuff:et,url:null},d=!1,L=!0,E=!1,Z=1,F=null,Ue,Ae,Ne=!1;f.session.subscribe(async o=>{Ae=o,Ne&&(Z+=1,ge(new URL(location.href),[],!0))}),Ne=!0;let X=!0,I=(Ie=history.state)==null?void 0:Ie[W];I||(I=Date.now(),history.replaceState(se(x({},history.state),{[W]:I}),"",location.href));const he=re[I];he&&(history.scrollRestoration="manual",scrollTo(he.x,he.y));let _e=!1,me,Oe;async function Pe(o,{noscroll:p=!1,replaceState:g=!1,keepfocus:u=!1,state:h={}},w){const $=new URL(o,Xe(document));if(X)return be({url:$,scroll:p?Se():null,keepfocus:u,redirect_chain:w,details:{state:h,replaceState:g},accepted:()=>{},blocked:()=>{}});await te($)}async function xe(o){const p=je(o);if(!p)throw new Error("Attempted to prefetch a URL that does not belong to this app");return s.promise=Te(p,!1),s.id=p.id,s.promise}async function ge(o,p,g,u,h){var R,U,A;const w=je(o),$=Oe={};let _=w&&await Te(w,g);if(!_&&o.origin===location.origin&&o.pathname===location.pathname&&(_=await ee({status:404,error:new Error(`Not found: ${o.pathname}`),url:o,routeId:null})),!_)return await te(o),!1;if(Oe!==$)return!1;if(c.length=0,_.redirect)if(p.length>10||p.includes(o.pathname))_=await ee({status:500,error:new Error("Redirect loop"),url:o,routeId:null});else return X?Pe(new URL(_.redirect,o).href,{},[...p,o.pathname]):await te(new URL(_.redirect,location.href)),!1;else((U=(R=_.props)==null?void 0:R.page)==null?void 0:U.status)>=400&&await f.updated.check()&&await te(o);if(E=!0,u&&u.details){const{details:y}=u,v=y.replaceState?0:1;y.state[W]=I+=v,history[y.replaceState?"replaceState":"pushState"](y.state,"",o)}if(d?(a=_.state,_.props.page&&(_.props.page.url=o),Ue.$set(_.props)):Ce(_),u){const{scroll:y,keepfocus:v}=u;if(!v){const b=document.body,k=b.getAttribute("tabindex");(A=getSelection())==null||A.removeAllRanges(),b.tabIndex=-1,b.focus({preventScroll:!0}),k!==null?b.setAttribute("tabindex",k):b.removeAttribute("tabindex")}if(await Ke(),L){const b=o.hash&&document.getElementById(o.hash.slice(1));y?scrollTo(y.x,y.y):b?b.scrollIntoView():scrollTo(0,0)}}else await Ke();s.promise=null,s.id=null,L=!0,_.props.page&&(me=_.props.page);const m=_.state.branch[_.state.branch.length-1];X=(m==null?void 0:m.module.router)!==!1,h&&h(),E=!1}function Ce(o){a=o.state;const p=document.querySelector("style[data-sveltekit]");if(p&&p.remove(),me=o.props.page,Ue=new Ut({target:n,props:se(x({},o.props),{stores:f}),hydrate:!0}),X){const g={from:null,to:new URL(location.href)};i.after_navigate.forEach(u=>u(g))}d=!0}async function we({url:o,params:p,stuff:g,branch:u,status:h,error:w,routeId:$}){var v,b;const _=u.filter(Boolean),m=_.find(k=>{var N;return(N=k.loaded)==null?void 0:N.redirect}),R={redirect:(v=m==null?void 0:m.loaded)==null?void 0:v.redirect,state:{url:o,params:p,branch:u,error:w,stuff:g,session_id:Z},props:{components:_.map(k=>k.module.default)}};for(let k=0;k<_.length;k+=1){const N=_[k].loaded;R.props[`props_${k}`]=N?await N.props:null}if(!a.url||o.href!==a.url.href||a.error!==w||a.stuff!==g){R.props.page={error:w,params:p,routeId:$,status:h,stuff:g,url:o};const k=(N,S)=>{Object.defineProperty(R.props.page,N,{get:()=>{throw new Error(`$page.${N} has been replaced by $page.url.${S}`)}})};k("origin","origin"),k("path","pathname"),k("query","searchParams")}const A=_[_.length-1],y=(b=A==null?void 0:A.loaded)==null?void 0:b.cache;if(y){const k=o.pathname+o.search;let N=!1;const S=()=>{l.get(k)===R&&l.delete(k),P(),clearTimeout(O)},O=setTimeout(S,y.maxage*1e3),P=f.session.subscribe(()=>{N&&S()});N=!0,l.set(k,R)}return R}async function Q({status:o,error:p,module:g,url:u,params:h,stuff:w,props:$,routeId:_}){const m={module:g,uses:{params:new Set,url:!1,session:!1,stuff:!1,dependencies:new Set},loaded:null,stuff:w};function R(y){const{href:v}=new URL(y,u);m.uses.dependencies.add(v)}$&&m.uses.dependencies.add(u.href);const U={};for(const y in h)Object.defineProperty(U,y,{get(){return m.uses.params.add(y),h[y]},enumerable:!0});const A=Ae;if(g.load){const y={routeId:_,params:U,props:$||{},get url(){return m.uses.url=!0,new Proxy(u,{get:(b,k)=>{if(k==="hash")throw new Error("url.hash is inaccessible from load. Consider accessing hash from the page store within the script tag of your component.");return Reflect.get(b,k,b)}})},get session(){return m.uses.session=!0,A},get stuff(){return m.uses.stuff=!0,x({},w)},async fetch(b,k){let N;typeof b=="string"?N=b:(N=b.url,k=x({body:b.method==="GET"||b.method==="HEAD"?void 0:await b.blob(),cache:b.cache,credentials:b.credentials,headers:b.headers,integrity:b.integrity,keepalive:b.keepalive,method:b.method,mode:b.mode,redirect:b.redirect,referrer:b.referrer,referrerPolicy:b.referrerPolicy,signal:b.signal},k));const S=new URL(N,u).href;return R(S),d?Le(S,k):It(N,k)},status:o!=null?o:null,error:p!=null?p:null};let v;if(v=await g.load.call(null,y),!v)throw new Error("load function must return a value");m.loaded=Fe(v),m.loaded.stuff&&(m.stuff=m.loaded.stuff),m.loaded.dependencies&&m.loaded.dependencies.forEach(R)}else $&&(m.loaded=Fe({props:$}));return m}async function Te({id:o,url:p,params:g,route:u},h){var b,k,N;if(s.id===o&&s.promise)return s.promise;if(!h){const S=l.get(o);if(S)return S}const{a:w,b:$,has_shadow:_}=u,m=a.url&&{url:o!==a.url.pathname+a.url.search,params:Object.keys(g).filter(S=>a.params[S]!==g[S]),session:Z!==a.session_id};let R=[],U=et,A=!1,y=200,v=null;w.forEach(S=>S().catch(()=>{}));e:for(let S=0;S<w.length;S+=1){let O;try{if(!w[S])continue;const P=await w[S](),D=a.branch[S];if(!D||P!==D.module||m.url&&D.uses.url||m.params.some(Y=>D.uses.params.has(Y))||m.session&&D.uses.session||Array.from(D.uses.dependencies).some(Y=>c.some(fe=>fe(Y)))||A&&D.uses.stuff){let Y={};const fe=_&&S===w.length-1;if(fe){const ne=await Le(`${p.pathname}${p.pathname.endsWith("/")?"":"/"}__data.json${p.search}`,{headers:{"x-sveltekit-load":"true"}});if(ne.ok){const De=ne.headers.get("x-sveltekit-location");if(De)return{redirect:De,props:{},state:a};Y=ne.status===204?{}:await ne.json()}else y=ne.status,v=new Error("Failed to load data")}if(v||(O=await Q({module:P,url:p,params:g,props:Y,stuff:U,routeId:u.id})),O&&(fe&&(O.uses.url=!0),O.loaded)){if(O.loaded.error&&(y=O.loaded.status,v=O.loaded.error),O.loaded.redirect)return{redirect:O.loaded.redirect,props:{},state:a};O.loaded.stuff&&(A=!0)}}else O=D}catch(P){y=500,v=Me(P)}if(v){for(;S--;)if($[S]){let P,D,le=S;for(;!(D=R[le]);)le-=1;try{if(P=await Q({status:y,error:v,module:await $[S](),url:p,params:g,stuff:D.stuff,routeId:u.id}),(b=P==null?void 0:P.loaded)!=null&&b.error)continue;(k=P==null?void 0:P.loaded)!=null&&k.stuff&&(U=x(x({},U),P.loaded.stuff)),R=R.slice(0,le+1).concat(P);break e}catch{continue}}return await ee({status:y,error:v,url:p,routeId:u.id})}else(N=O==null?void 0:O.loaded)!=null&&N.stuff&&(U=x(x({},U),O.loaded.stuff)),R.push(O)}return await we({url:p,params:g,stuff:U,branch:R,status:y,error:v,routeId:u.id})}async function ee({status:o,error:p,url:g,routeId:u}){var _,m;const h={},w=await Q({module:await Jt,url:g,params:h,stuff:{},routeId:u}),$=await Q({status:o,error:p,module:await Kt,url:g,params:h,stuff:w&&w.loaded&&w.loaded.stuff||{},routeId:u});return await we({url:g,params:h,stuff:x(x({},(_=w==null?void 0:w.loaded)==null?void 0:_.stuff),(m=$==null?void 0:$.loaded)==null?void 0:m.stuff),branch:[w,$],status:o,error:p,routeId:u})}function je(o){if(o.origin!==location.origin||!o.pathname.startsWith(t))return;const p=decodeURI(o.pathname.slice(t.length)||"/");for(const g of ke){const u=g.exec(p);if(u)return{id:o.pathname+o.search,route:g,params:u,url:o}}}async function be({url:o,scroll:p,keepfocus:g,redirect_chain:u,details:h,accepted:w,blocked:$}){const _=a.url;let m=!1;const R={from:_,to:o,cancel:()=>m=!0};if(i.before_navigate.forEach(y=>y(R)),m){$();return}const U=Ct(o.pathname,r),A=new URL(o.origin+U+o.search+o.hash);Ee(I),w(),d&&f.navigating.set({from:a.url,to:A}),await ge(A,u,!1,{scroll:p,keepfocus:g,details:h},()=>{const y={from:_,to:A};i.after_navigate.forEach(v=>v(y)),f.navigating.set(null)})}function te(o){return location.href=o.href,new Promise(()=>{})}return{after_navigate:o=>{Re(()=>(i.after_navigate.push(o),()=>{const p=i.after_navigate.indexOf(o);i.after_navigate.splice(p,1)}))},before_navigate:o=>{Re(()=>(i.before_navigate.push(o),()=>{const p=i.before_navigate.indexOf(o);i.before_navigate.splice(p,1)}))},disable_scroll_handling:()=>{(E||!d)&&(L=!1)},goto:(o,p={})=>Pe(o,p,[]),invalidate:o=>{if(typeof o=="function")c.push(o);else{const{href:p}=new URL(o,location.href);c.push(g=>g===p)}return F||(F=Promise.resolve().then(async()=>{await ge(new URL(location.href),[],!0),F=null})),F},prefetch:async o=>{const p=new URL(o,Xe(document));await xe(p)},prefetch_routes:async o=>{const g=(o?ke.filter(u=>o.some(h=>u.exec(h))):ke).map(u=>Promise.all(u.a.map(h=>h())));await Promise.all(g)},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",u=>{let h=!1;const w={from:a.url,to:null,cancel:()=>h=!0};i.before_navigate.forEach($=>$(w)),h?(u.preventDefault(),u.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){Ee(I);try{sessionStorage[st]=JSON.stringify(re)}catch{}}});const o=u=>{const h=He(u);h&&h.href&&h.hasAttribute("sveltekit:prefetch")&&xe(Ze(h))};let p;const g=u=>{clearTimeout(p),p=setTimeout(()=>{var h;(h=u.target)==null||h.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",o),addEventListener("mousemove",g),addEventListener("sveltekit:trigger_prefetch",o),addEventListener("click",u=>{if(!X||u.button||u.which!==1||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey||u.defaultPrevented)return;const h=He(u);if(!h||!h.href)return;const w=h instanceof SVGAElement,$=Ze(h);if(!w&&$.origin==="null")return;const _=(h.getAttribute("rel")||"").split(/\s+/);if(h.hasAttribute("download")||_.includes("external")||h.hasAttribute("sveltekit:reload")||(w?h.target.baseVal:h.target))return;const[m,R]=$.href.split("#");if(R!==void 0&&m===location.href.split("#")[0]){_e=!0,Ee(I),f.page.set(se(x({},me),{url:$})),f.page.notify();return}be({url:$,scroll:h.hasAttribute("sveltekit:noscroll")?Se():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:$.href===location.href},accepted:()=>u.preventDefault(),blocked:()=>u.preventDefault()})}),addEventListener("popstate",u=>{if(u.state&&X){if(u.state[W]===I)return;be({url:new URL(location.href),scroll:re[u.state[W]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{I=u.state[W]},blocked:()=>{const h=I-u.state[W];history.go(h)}})}}),addEventListener("hashchange",()=>{_e&&(_e=!1,history.replaceState(se(x({},history.state),{[W]:++I}),"",location.href))})},_hydrate:async({status:o,error:p,nodes:g,params:u,routeId:h})=>{const w=new URL(location.href),$=[];let _={},m,R;try{for(let U=0;U<g.length;U+=1){const A=U===g.length-1;let y;if(A){const b=document.querySelector('script[sveltekit\\:data-type="props"]');b&&(y=JSON.parse(b.textContent))}const v=await Q({module:await pe[g[U]](),url:w,params:u,stuff:_,status:A?o:void 0,error:A?p:void 0,props:y,routeId:h});if(y&&(v.uses.dependencies.add(w.href),v.uses.url=!0),$.push(v),v&&v.loaded)if(v.loaded.error){if(p)throw v.loaded.error;R={status:v.loaded.status,error:v.loaded.error,url:w,routeId:h}}else v.loaded.stuff&&(_=x(x({},_),v.loaded.stuff))}m=R?await ee(R):await we({url:w,params:u,stuff:_,branch:$,status:o,error:p,routeId:h})}catch(U){if(p)throw U;m=await ee({status:500,error:Me(U),url:w,routeId:h})}m.redirect&&await te(new URL(m.redirect,location.href)),Ce(m)}}}async function Gt({paths:n,target:e,session:t,route:r,spa:l,trailing_slash:c,hydrate:f}){const s=Bt({target:e,session:t,base:n.base,trailing_slash:c});xt({client:s}),bt(n),f&&await s._hydrate(f),r&&(l&&s.goto(location.href,{replaceState:!0}),s._start_router()),dispatchEvent(new CustomEvent("sveltekit:start"))}export{Gt as start};
static/_app/version.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":"1655276222143"}
static/index.html ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <!-- <link rel="icon" href="/embed/radames/wordalle/static/favicon.png" /> -->
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta http-equiv="content-security-policy" content="">
8
+ <link rel="stylesheet" href="/embed/radames/wordalle/static/_app/immutable/assets/pages/__layout.svelte-650f13bc.css">
9
+ <link rel="stylesheet" href="/embed/radames/wordalle/static/_app/immutable/assets/pages/index.svelte-8f5988fc.css">
10
+ <link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/start-eafcc13c.js">
11
+ <link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/chunks/index-ad2956d2.js">
12
+ <link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/pages/__layout.svelte-97f324f7.js">
13
+ <link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/pages/index.svelte-8599330f.js">
14
+ </head>
15
+ <body>
16
+ <div>
17
+
18
+
19
+
20
+
21
+
22
+ <script type="module" data-sveltekit-hydrate="2eq20f">
23
+ import { start } from "/embed/radames/wordalle/static/_app/immutable/start-eafcc13c.js";
24
+ start({
25
+ target: document.querySelector('[data-sveltekit-hydrate="2eq20f"]').parentNode,
26
+ paths: {"base":"/embed/radames/wordalle/static","assets":"/embed/radames/wordalle/static"},
27
+ session: {},
28
+ route: true,
29
+ spa: false,
30
+ trailing_slash: "never",
31
+ hydrate: {
32
+ status: 200,
33
+ error: null,
34
+ nodes: [0, 2],
35
+ params: {},
36
+ routeId: ""
37
+ }
38
+ });
39
+ </script></div>
40
+ </body>
41
+ </html>