▍ humdrum codex / soft

v1

699da42b8332b79e4faeddcc929d7156a5ce8cb5
humdrum-tiv <45084903+humdrum-tiv@users.noreply.github.com> · 2026-05-20 22:52

153 files changed

.claude/settings.local.json +0 −18
@@ -1,18 +0,0 @@
-{
-  "permissions": {
-    "allow": [
-      "Read(//Users/kortum/Documents/30-39 Interwebs/37 Apps/_shared-app-kit/**)",
-      "Read(//Users/kortum/Documents/30-39 Interwebs/37 Apps/**)",
-      "Bash(cp .env.example .env.local)",
-      "Bash(mkdir -p data editions)",
-      "Bash(pnpm -v)",
-      "Bash(npm -v)",
-      "Bash(rm -f lib/schemas/item.ts)",
-      "Bash(mkdir -p lib/schemas/sources lib/sources/modules)",
-      "Bash(curl -s 'http://localhost:4317/api/sources?fresh=1')",
-      "Bash(node -e ' *)",
-      "Bash(curl -s -X POST http://localhost:4317/api/edition)",
-      "Bash(curl -s http://localhost:4317/api/editions)"
-    ]
-  }
-}
.env.example +0 −38
@@ -1,38 +0,0 @@
-# ─── App identity ────────────────────────────────────────────────
-APP_SLUG=personal-dashboard
-SITE_URL=http://localhost:4317
-
-# ─── Database (local SQLite) ─────────────────────────────────────
-# Optional. Defaults to <repo>/data/dashboard.db when unset.
-# DATABASE_PATH=/absolute/path/to/dashboard.db
-
-# ─── Weather (Open-Meteo, no key) ────────────────────────────────
-# Set a default location in Settings; these are fallbacks.
-# WEATHER_LAT=40.0
-# WEATHER_LON=-105.0
-
-# ─── Credentialed sources (fill the ones you use; blanks = "needs config") ──
-# GitHub — personal access token (read-only: repo, read:user)
-# GITHUB_TOKEN=
-# GITHUB_USER=
-
-# Vercel — token from vercel.com/account/tokens
-# VERCEL_TOKEN=
-# VERCEL_TEAM_ID=
-
-# Mastodon — instance base URL + access token (read scope)
-# MASTODON_INSTANCE=https://mastodon.social
-# MASTODON_TOKEN=
-
-# Bluesky — handle + app password (Settings → App Passwords)
-# BLUESKY_HANDLE=you.bsky.social
-# BLUESKY_APP_PASSWORD=
-
-# Calendar — comma-separated ICS URLs (e.g. Google Calendar secret address)
-# CALENDAR_ICS_URLS=
-
-# Obsidian — vault path to scan for recently edited notes (read-only)
-OBSIDIAN_VAULT=/Users/kortum/Humdrum
-
-# ─── Optional: AI editor's note for the daily paper ──────────────
-# ANTHROPIC_API_KEY=
.gitignore +0 −20
@@ -1,20 +0,0 @@
-node_modules/
-.next/
-out/
-dist/
-.env
-.env.local
-.env.*.local
-.vercel/
-.turbo/
-.DS_Store
-*.log
-.wrangler/
-
-# local data + generated artifacts
-data/
-editions/
-bin/
-public/sw.js
-public/sw.js.map
-Personal Dashboard.app/
BRIEF.md +0 −144
@@ -1,155 +0,0 @@
-# Personal Dashboard — Brief
-
-> One-page intent doc. Feeds `app-kit:plan`.
-> Working name: **Personal Dashboard** (slug `personal-dashboard`) — rename freely.
-
----
-
-## 1. One-liner
-
-A local, techy personal dashboard that pulls weather, news, on-this-day history,
-sports scores, calendar, todos, recent Mastodon/Bluesky replies, GitHub/Vercel stats,
-and recent Obsidian note edits into one screen — and can generate a printable daily
-"newspaper" PDF edition. Inspired by cruftbox/firstlight, but a live dashboard first.
-
----
-
-## 2. Tier
-
-- [x] **Personal** — standalone, single user (just me), no Stripe, **no auth** (local-only).
-- [ ] Humdrum One
-
-**Deviation from kit:** local-only. No Clerk, no Stripe, no Vercel, no Neon. Keep the
-kit's *look + structure* (themes, fonts, layout, PWA, eink, API-first Zod contract),
-swap the *infra* (local SQLite + local launcher).
-
----
-
-## 3. Surfaces
-
-- [x] **Web PWA** — installable on desktop; runs at `localhost`. Primary surface.
-- [x] **E-ink (Boox Palma Pro 2)** — dashboard + edition legible in eink theme.
-- [ ] Terminal CLI — defer to v1.
-- [x] **API consumer** — every card reads `/api/*`; future widgets/shortcuts can too.
-- [ ] Scriptable widget — defer to v1.
-
-**Launch (no terminal command):** double-click app — a `.command`/`.app` that boots the
-server and opens the browser. Server runs while launched.
-
----
-
-## 4. Theme defaults
-
-- [x] System preference (light → Flexoki, dark → Flexoki Dark)
-
-Newspaper/edition view uses a dedicated print stylesheet (serif-ish display via Awke,
-columns, monochrome) regardless of active theme. Eink theme already monochrome.
-
----
-
-## 5. Users
-
-- **Who:** me only. No sign-up, no login.
-- **Scale:** 1.
-- **Auth surface:** none. Bound to localhost.
-
----
-
-## 6. Data model sketch
-
-```
-Source            a configured data source
-  id: uuid
-  kind: enum(weather|news|onthisday|sports|calendar|mastodon|bluesky|github|vercel|obsidian|todos)
-  label: string
-  enabled: boolean
-  config: json            # feed URLs, teams, handles, vault path, etc.
-  refreshSeconds: int
-  position: int           # dashboard ordering
-
-Snapshot          cached fetch result per source
-  id: uuid
-  sourceId: uuid -> Source
-  payload: json
-  fetchedAt: datetime
-  ok: boolean
-  error: string|null
-
-Todo              local todos (own this app)
-  id: uuid
-  title: string
-  done: boolean
-  due: datetime|null
-  createdAt: datetime
-
-Edition           generated daily PDF newspaper
-  id: uuid
-  date: date
-  pdfPath: string         # file on disk
-  generatedAt: datetime
-
-Setting           app config / layout / location / units
-  key: string (pk)
-  value: json
-```
-
----
-
-## 7. Must-have features (v0)
-
-- [ ] Dashboard grid of cards, ordered/toggled via settings.
-- [ ] Four keyless sources working end-to-end: **weather** (Open-Meteo), **on-this-day**
-      (Wikipedia), **news** (RSS feeds), **Obsidian recent edits** (scan vault mtimes).
-- [ ] Local **todos** — add, toggle done, list on the dashboard.
-- [ ] **Daily PDF edition** — newspaper layout from the same source data, saved to a
-      folder, dated, printable.
-- [ ] **Double-click launcher** — boots server + opens browser, no terminal.
-
-Everything else (sports, calendar, Mastodon, Bluesky, GitHub, Vercel) ships as the same
-pluggable source pattern, wired as credentials get added — stubbed/"needs config" when
-keys absent.
-
----
-
-## 8. Non-goals
-
-- No multi-user, no public sign-up, no remote deploy.
-- No Stripe / billing.
-- No native app — PWA only.
-- No writing to the Obsidian vault except `Humdrum/Claude/` (hook-enforced); Obsidian is
-  a read-only source here.
-- No CLI/Scriptable surfaces in v0.
-
----
-
-## 9. Integrations
-
-Pluggable "source" modules. Each: a fetcher + a Zod-typed payload + a dashboard card +
-an edition section. Config + secrets live in `.env.local` and/or a settings page.
-
-- [ ] **Weather** — Open-Meteo (no key) + geocode. Config: location, units.
-- [ ] **News** — RSS/Atom feeds (configurable list). No key.
-- [ ] **On this day** — Wikipedia REST "on this day" API. No key.
-- [ ] **Sports** — ESPN public JSON endpoints. Config: leagues/teams. No key.
-- [ ] **Calendar** — read-only. ICS URL(s); Google Calendar later. Config: ICS urls.
-- [ ] **Todos** — local (this app). Obsidian/Things import later.
-- [ ] **Mastodon** — instance URL + access token → recent mentions/replies.
-- [ ] **Bluesky** — handle + app password → recent replies/notifications.
-- [ ] **GitHub** — PAT → commits, PRs, stars, recent activity.
-- [ ] **Vercel** — token → recent deployments + usage.
-- [ ] **Obsidian** — scan vault at `/Users/kortum/Humdrum` for recently edited notes
-      (read-only; respects the `Humdrum/Claude/` write-scope rule).
-- [ ] Anthropic/OpenAI (optional) — daily summary / "editor's note" for the edition.
-
----
-
-## 10. Open questions
-
-- App display name + icon (placeholder: "Personal Dashboard").
-- Port for the local server (default 3000? pick a stable one for the launcher + PWA).
-- Edition cadence — manual button only in v0, or also a scheduled generate (launchd)?
-- Where PDF editions get saved (default: `~/Documents/.../Personal-Dashboard/editions/`?).
-
----
-
-_Brief filled. Next: `app-kit:plan` → `PLAN.md`._
CLAUDE.md +0 −77
@@ -1,77 +0,0 @@
-# CLAUDE.md
-
-This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
-
-## What this is
-
-A **local-only, single-user** personal dashboard (weather, news, history, sports, calendar,
-todos, Mastodon/Bluesky, GitHub/Vercel, Obsidian) plus a printable daily newspaper PDF.
-Runs only at `http://localhost:4317`. See `README.md` for usage, `BRIEF.md`/`PLAN.md` for intent.
-
-It descends from the **37 Apps kit** (`../_shared-app-kit/`) but **deliberately drops the
-cloud stack**: no Clerk, Stripe, Vercel, or Neon. Don't "restore kit parity" by adding them
-back — local-only is the point.
-
-## Commands
-
-```bash
-pnpm dev          # dev server on :4317 (Turbopack)
-pnpm build        # MUST be --webpack (set in script) — see gotchas
-pnpm start        # run the production build on :4317
-pnpm typecheck    # tsc --noEmit — run this to verify changes
-pnpm db:push      # apply db/schema.ts to data/dashboard.db
-pnpm db:seed      # idempotently add missing default sources
-pnpm icons        # regenerate PWA icons from public/icons/source.svg
-```
-
-No test suite. Verify with `pnpm typecheck` + a manual run (or puppeteer screenshot against
-the dev server, which is how the UI was validated during the build).
-
-## Architecture (the parts that span files)
-
-**API-first, single data path.** Every surface reads `/api/*`. Only `lib/store.ts` touches
-the DB (Drizzle over local SQLite, `better-sqlite3`). Route handlers wrap logic in
-`withErrors()` from `lib/api.ts` and call `requireUser()` from `lib/auth.ts` — a **no-op
-single-user shim** (returns `"local"`). If real auth is ever needed, that one file is the seam.
-
-**The source module pattern is the core abstraction.** A "source" (weather, news, github…)
-is defined once in `lib/sources/modules/<kind>.ts` as a `SourceModule`: `fetch()`, a Zod
-`configSchema` + `payloadSchema`, and `isConfigured()`. Modules register in
-`lib/sources/modules/index.ts`. The flow:
-
-- `db.sources` rows hold per-source config/enabled/refreshSeconds/position.
-- `lib/refresh.ts` runs a module's `fetch`, validates the payload, and stores a **`snapshot`
-  row = the cache**. `ensureFresh()` refreshes when forced or stale; `currentState()` reads
-  cache only (instant paint).
-- The dashboard (`components/Dashboard.tsx`) renders one card per source;
-  `components/cards/CardBodies.tsx` switches on `kind` to render each payload.
-- Credentialed sources with missing keys return `configured:false` → card shows "needs
-  config" instead of erroring.
-
-**To add a source:** schema in `lib/schemas/sources/<kind>.ts` → module in
-`lib/sources/modules/<kind>.ts` → register in the barrel → add a branch in `CardBodies.tsx`
-→ add to `scripts/seed.ts` and run `pnpm db:seed`. `"todos"` is the one kind with no module
-(local data via `/api/todos`).
-
-**The newspaper.** `/print` is a server component rendering current snapshots
-(`lib/edition-data.ts`) with print CSS in `app/globals.css` (`.paper`, `@media print` hides
-the nav). `POST /api/edition` (`lib/pdf.ts`) refreshes sources, then drives **puppeteer** to
-render `/print` to a PDF saved under `editions/`, recorded in the `editions` table and served
-by `/api/editions/[id]/file`.
-
-## Gotchas
-
-- **`pnpm build` is `next build --webpack`.** `@serwist/next` (the PWA service worker) is a
-  webpack plugin and breaks under Next 16's default Turbopack build. Don't change it back to
-  plain `next build`. Dev stays on Turbopack (SW is disabled in dev).
-- **Native deps must stay in `serverExternalPackages`** (`next.config.ts`): `better-sqlite3`,
-  `puppeteer`. And in pnpm's `onlyBuiltDependencies` allowlist (`package.json`) so their
-  postinstall build scripts run.
-- **`typedRoutes` is intentionally off** — nav is config-driven (`lib/nav.ts`) with string
-  hrefs, which fights route-literal typing.
-- **Obsidian is read-only.** The obsidian source only stats/lists vault files. Never write to
-  the vault from here (a global hook also blocks writes outside `Humdrum/Claude/`).
-- `data/` (SQLite), `editions/` (PDFs), and `Personal Dashboard.app` are gitignored local
-  artifacts.
-- Theme tokens come from `app/tokens.css` (synced from the kit). Components use `var(--token)`
-  inline styles, never hard-coded colors. The e-ink theme exists but is unused (desktop-only).
PLAN.md +0 −84
@@ -1,84 +0,0 @@
-# Personal Dashboard — Plan
-
-Mode: **greenfield**
-_Generated from BRIEF.md + _shared-app-kit/APP_KIT.md._
-
-## Snapshot
-- Tier: **personal**, **local-only**, **no auth** (bound to localhost).
-- Slug: `personal-dashboard`
-- Domain: none — runs at `http://localhost:4317` (stable port for PWA + launcher).
-- Surfaces: web PWA, e-ink, PDF edition. (CLI / Scriptable deferred.)
-- Default theme: system → Flexoki / Flexoki-dark.
-
-## Kit deviations (local-only) — build must honor
-Keep kit **look + structure** (tokens, fonts, layout, themes, eink, API-first Zod,
-export/import, PWA shell, design primitives). **Swap infra:**
-- ❌ Drop deps: `@clerk/nextjs`, `@neondatabase/serverless`, `stripe`, `svix`.
-- ❌ Delete: `middleware.ts`/`proxy.ts` Clerk guard, `app/sign-in`, `app/sign-up`,
-  `app/api/me`, `app/api/tokens`, Clerk `<UserButton>` in `AppNav`, ClerkProvider.
-- ✅ DB: **SQLite via `better-sqlite3` + `drizzle-orm/better-sqlite3`** (file at
-  `data/dashboard.db`). `drizzle.config.ts` dialect `sqlite`.
-- ✅ Auth shim: `lib/auth.ts` returns a fixed single-user id (`"local"`). All
-  user-scoped rows use it; export/import keep the kit's `version/app/exportedAt` shape.
-- ✅ No Vercel: remove `vercel.json`. Add deps `better-sqlite3`, `rss-parser`,
-  `node-ical`, `puppeteer` (PDF), `date-fns`.
-
-## Data model (`lib/schemas/`, Drizzle in `db/schema.ts`)
-```ts
-Source   { id, kind, label, enabled, config: json, refreshSeconds, position }
-         kind ∈ weather|news|onthisday|sports|calendar|mastodon|bluesky|github|vercel|obsidian|todos
-Snapshot { id, sourceId→Source, payload: json, fetchedAt, ok, error|null }   // cache
-Todo     { id, title, done, due|null, createdAt }
-Edition  { id, date, pdfPath, generatedAt }
-Setting  { key (pk), value: json }                                            // location, units, layout
-```
-Per-source payloads get their own Zod schema in `lib/schemas/sources/<kind>.ts`.
-
-## Source module pattern (the core abstraction)
-Each source = `lib/sources/<kind>.ts` exporting:
-`{ kind, label, keyless, configSchema, payloadSchema, fetch(config) }`,
-registered in `lib/sources/registry.ts`. A source has: a fetcher, a typed payload, a
-**dashboard card** (`components/cards/<Kind>Card.tsx`), and an **edition section**
-(`components/edition/<Kind>Section.tsx`). Snapshots cached in SQLite; refreshed on load
-when older than `refreshSeconds`, or via manual refresh. Missing creds → card shows
-"needs config", never crashes.
-
-## API routes
-| Method | Path | Notes |
-|---|---|---|
-| GET | `/api/health` | liveness |
-| GET/POST | `/api/sources` | list configured + latest snapshot / create |
-| GET/PATCH/DELETE | `/api/sources/[id]` | read (cached or fresh) / update config / remove |
-| POST | `/api/sources/[id]/refresh` | force fetch, store Snapshot |
-| GET/POST | `/api/todos` · PATCH/DELETE `/api/todos/[id]` | local todos |
-| GET | `/api/editions` · POST `/api/edition` | list / generate dated PDF |
-| GET | `/api/export` · POST `/api/import` | kit JSON contract (single-user id) |
-| GET | `/api/settings` · PUT `/api/settings` | location, units, card layout |
-
-## Build tasks (ordered)
-1. Copy scaffold → repo (preserve `.git`/BRIEF/PLAN). Rename `package.json` → `personal-dashboard`.
-2. **Strip cloud** per "Kit deviations": remove Clerk/Stripe/Neon deps + files, swap to SQLite, add new deps, write single-user `lib/auth.ts`, delete `vercel.json`. `pnpm install`.
-3. Zod schemas: core (`source`, `snapshot`, `todo`, `edition`, `setting`) + `lib/sources/registry.ts` skeleton.
-4. `db/schema.ts` (sqlite tables) + `db/index.ts` (better-sqlite3). `pnpm db:push`. Seed default Sources (the keyless four + todos enabled).
-5. Stub all `/api/*` routes → 501, so contract is visible. Verify with `curl`.
-6. Implement core handlers: settings, todos, sources CRUD, snapshot refresh + cache TTL, export/import.
-7. **Keyless sources end-to-end:** `weather` (Open-Meteo + geocode), `onthisday` (Wikipedia), `news` (rss-parser), `obsidian` (scan `/Users/kortum/Humdrum` mtimes, read-only). Each: fetch + payload schema + card.
-8. Dashboard UI: responsive card grid reading `/api/sources`; per-card loading/error/needs-config states; manual refresh. Todos card (add/toggle). Mount kit `ShortcutsRoot` + `SettingsDrawer`.
-9. Settings page: location/units, RSS feed list, per-source enable + ordering, vault path.
-10. **PDF edition:** `/print` newspaper route (columns, Awke display, forced mono/light, uses same source data); `POST /api/edition` drives puppeteer → save to `editions/` → insert row; "Generate edition" button + editions list.
-11. **Credentialed sources** (same pattern, stub-friendly): `calendar` (ICS via node-ical), `github` (PAT), `vercel` (token), `mastodon` (instance+token), `bluesky` (handle+app-pw), `sports` (ESPN public JSON). Wire as creds land; each independent.
-12. PWA: `public/manifest.json` (name/icons/theme), icons via `scripts/generate-icons.mjs`, service worker shell + network-first API.
-13. E-ink pass: dashboard + `/print` legible mono, no motion, run §Eink rubric.
-14. **Launcher:** `scripts/launch.command` (build-if-stale → `next start` on :4317 → open browser) + `scripts/make-app.sh` (osacompile a double-clickable `Personal Dashboard.app` that runs it without a Terminal window).
-15. README: setup, `.env.local` keys per source, launcher install, edition output path.
-
-## Open questions (not blockers)
-- App display name + icon (placeholder "Personal Dashboard").
-- Edition cadence: manual button only in v0; scheduled (launchd) later.
-- Editions save dir — default `<repo>/editions/`.
-- Daily AI "editor's note" (Anthropic) for the edition — v1.
-
-## Out of scope (v0)
-- Multi-user, sign-up, remote deploy, Stripe.
-- Native app (PWA only). CLI + Scriptable surfaces.
-- Writing to the Obsidian vault (read-only source; `Humdrum/Claude/` hook stands).
README.md +0 −100
@@ -1,104 +0,0 @@
-# Personal Dashboard
-
-A local, single-user dashboard inspired by [firstlight](https://github.com/cruftbox/firstlight):
-weather, news, on-this-day history, sports, calendar, todos, recent Mastodon/Bluesky
-replies, GitHub & Vercel activity, and recently edited Obsidian notes — on one screen,
-plus a printable daily **newspaper PDF**.
-
-Runs only on your Mac at `http://localhost:4317`. No accounts, no cloud, no deploy.
-
-Built on the 37 Apps kit (themes, fonts, layout, PWA), with the cloud bits swapped out:
-**no Clerk/Stripe/Vercel/Neon** — local SQLite + a double-click launcher instead.
-
----
-
-## Run it (no terminal)
-
-```bash
-bash scripts/make-app.sh
-```
-
-This creates **`Personal Dashboard.app`** in the project folder. Double-click it (or drag
-it to your Dock). First launch installs deps + builds (a minute or two), then opens your
-browser. Subsequent launches are instant. The server keeps running until you quit it.
-
-You can also double-click **`scripts/launch.command`** directly — same thing, but it shows
-a Terminal window with logs.
-
-## Run it (terminal, for development)
-
-```bash
-pnpm install
-cp .env.example .env.local      # fill in optional source keys
-pnpm db:push && pnpm db:seed    # create + seed the local SQLite db
-pnpm dev                        # http://localhost:4317
-```
-
-| Command | What |
-|---|---|
-| `pnpm dev` | Dev server (Turbopack, hot reload) on :4317 |
-| `pnpm build` | Production build (webpack — required by the PWA service worker) |
-| `pnpm start` | Run the production build on :4317 |
-| `pnpm typecheck` | `tsc --noEmit` |
-| `pnpm db:push` | Apply the schema to `data/dashboard.db` |
-| `pnpm db:seed` | Add any missing default sources (idempotent) |
-| `pnpm icons` | Regenerate PWA icons from `public/icons/source.svg` |
-
----
-
-## Sources
-
-Each source is a self-contained module in `lib/sources/modules/`. Keyless ones work out of
-the box; credentialed ones show **"needs config"** until you add their keys to `.env.local`
-and enable them in **Settings**.
-
-| Source | Needs | Env keys |
-|---|---|---|
-| Weather | nothing (Open-Meteo) | set a location in Settings (or `WEATHER_LAT`/`WEATHER_LON`) |
-| On This Day | nothing (Wikipedia) | — |
-| News | nothing (RSS) | edit feed list in Settings |
-| Obsidian | nothing (reads vault, **read-only**) | `OBSIDIAN_VAULT` (default `/Users/kortum/Humdrum`) |
-| Scores | nothing (ESPN) | pick leagues in Settings config (e.g. `basketball/nba`) |
-| GitHub | token | `GITHUB_TOKEN`, optional `GITHUB_USER` |
-| Vercel | token | `VERCEL_TOKEN`, optional `VERCEL_TEAM_ID` |
-| Mastodon | instance + token | `MASTODON_INSTANCE`, `MASTODON_TOKEN` |
-| Bluesky | handle + app password | `BLUESKY_HANDLE`, `BLUESKY_APP_PASSWORD` |
-| Calendar | ICS URL(s) | `CALENDAR_ICS_URLS` (comma-separated) or add in Settings |
-| Todos | nothing (local) | — |
-
-Toggle, reorder, and configure sources in **Settings**. Each card refreshes on its own
-interval (cached in SQLite); hit ↻ on a card or **Refresh all** to force it.
-
-### Add a new source
-
-1. `lib/schemas/sources/<kind>.ts` — Zod `Config` + `Payload`.
-2. `lib/sources/modules/<kind>.ts` — implement `SourceModule` (`fetch`, `isConfigured`).
-3. Register it in `lib/sources/modules/index.ts`.
-4. Add a render branch in `components/cards/CardBodies.tsx`.
-5. Add it to `scripts/seed.ts` and run `pnpm db:seed`.
-
----
-
-## The Paper
-
-The **Paper** tab generates a dated newspaper PDF from your current dashboard data
-(`/print` is the live HTML version). PDFs are saved to **`editions/`** in the project
-folder and listed in the app. Generation refreshes stale sources first, then renders
-`/print` to PDF via headless Chrome.
-
----
-
-## Architecture
-
-- **Next.js 16** (App Router) + **TypeScript** + **Tailwind v4** + kit theme tokens.
-- **API-first:** every surface reads `/api/*` (Zod-validated). The web client never
-  touches the DB directly — only `lib/store.ts` does.
-- **Local SQLite** via `better-sqlite3` + Drizzle (`data/dashboard.db`).
-- **Single-user shim** (`lib/auth.ts`) — no auth; swap in real auth there if ever needed.
-- **Source module pattern** (`lib/sources/`) — fetch + Zod payload + card + cache snapshot.
-- **PWA** via `@serwist/next` (installable, offline shell). Themes: Flexoki / Uchu /
-  Humdrum (light + dark). E-ink theme exists but is unused on desktop.
-
-Data is portable: **Settings → Export/Import JSON** (`/api/export`, `/api/import`).
-
-See `BRIEF.md` and `PLAN.md` for the original intent and build plan.
app/api/edition/route.ts +0 −10
@@ -1,10 +0,0 @@
-import { withErrors, ok } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { generateEdition } from "@/lib/pdf";
-
-// POST /api/edition — generate today's newspaper PDF and store it.
-export const POST = withErrors(async (req) => {
-  await requireUser(req);
-  const edition = await generateEdition();
-  return ok({ edition }, { status: 201 });
-});
app/api/export/route.ts +0 −23
@@ -1,23 +0,0 @@
-import { requireUser } from "@/lib/auth";
-import { exportAll } from "@/lib/store";
-
-// GET /api/export — full JSON export of the dashboard's local data.
-export async function GET(req: Request) {
-  const userId = await requireUser(req);
-
-  const payload = {
-    version: 1,
-    app: process.env.APP_SLUG ?? "personal-dashboard",
-    exportedAt: new Date().toISOString(),
-    userId,
-    data: exportAll(),
-  };
-
-  const filename = `${payload.app}-${payload.exportedAt.slice(0, 10)}.json`;
-  return new Response(JSON.stringify(payload, null, 2), {
-    headers: {
-      "Content-Type": "application/json",
-      "Content-Disposition": `attachment; filename="${filename}"`,
-    },
-  });
-}
app/api/health/route.ts +0 −5
@@ -1,5 +0,0 @@
-// /api/health — liveness probe. Public. No DB.
-
-export async function GET() {
-  return Response.json({ ok: true, app: process.env.APP_SLUG ?? "app" });
-}
app/api/import/route.ts +0 −25
@@ -1,25 +0,0 @@
-import { z } from "zod";
-import { withErrors, ok, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { importAll } from "@/lib/store";
-
-const ImportSchema = z.object({
-  version: z.literal(1),
-  app: z.string(),
-  exportedAt: z.string().optional(),
-  userId: z.string().optional(),
-  data: z.object({
-    sources: z.array(z.unknown()).optional(),
-    todos: z.array(z.unknown()).optional(),
-    settings: z.record(z.string(), z.unknown()).optional(),
-    editions: z.array(z.unknown()).optional(),
-  }),
-});
-
-// POST /api/import — restore from an export. Replaces sources + todos, merges settings.
-export const POST = withErrors(async (req) => {
-  await requireUser(req);
-  const body = await parseJson(req, ImportSchema);
-  importAll(body.data);
-  return ok({ ok: true });
-});
app/api/settings/route.ts +0 −17
@@ -1,17 +0,0 @@
-import { withErrors, ok, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { Settings } from "@/lib/schemas/setting";
-import { getSettings, saveSettings } from "@/lib/store";
-
-// GET /api/settings
-export const GET = withErrors(async (req) => {
-  await requireUser(req);
-  return ok({ settings: getSettings() });
-});
-
-// PUT /api/settings — partial update (merged into current).
-export const PUT = withErrors(async (req) => {
-  await requireUser(req);
-  const patch = await parseJson(req, Settings.partial());
-  return ok({ settings: saveSettings(patch) });
-});
app/api/sources/[id]/refresh/route.ts +0 −14
@@ -1,14 +0,0 @@
-import { withErrors, ok, apiError } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { getSource } from "@/lib/store";
-import { ensureFresh } from "@/lib/refresh";
-
-// POST /api/sources/:id/refresh — force a fresh fetch now.
-export const POST = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  const source = getSource(id);
-  if (!source) return apiError("not_found", "Source not found", 404);
-  const state = await ensureFresh(source, { force: true });
-  return ok({ source: state });
-});
app/api/sources/[id]/route.ts +0 −36
@@ -1,36 +0,0 @@
-import { withErrors, ok, apiError, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { UpdateSource } from "@/lib/schemas/source";
-import { getSource, updateSource, deleteSource } from "@/lib/store";
-import { currentState, ensureFresh } from "@/lib/refresh";
-
-// GET /api/sources/:id — cached state; ?fresh=1 refreshes if stale first.
-export const GET = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  const source = getSource(id);
-  if (!source) return apiError("not_found", "Source not found", 404);
-
-  const fresh = new URL(req.url).searchParams.get("fresh") === "1";
-  const state = fresh ? await ensureFresh(source) : currentState(source);
-  return ok({ source: state });
-});
-
-// PATCH /api/sources/:id — update label / enabled / config / refreshSeconds / position.
-export const PATCH = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  if (!getSource(id)) return apiError("not_found", "Source not found", 404);
-  const patch = await parseJson(req, UpdateSource);
-  const source = updateSource(id, patch);
-  return ok({ source });
-});
-
-// DELETE /api/sources/:id
-export const DELETE = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  if (!getSource(id)) return apiError("not_found", "Source not found", 404);
-  deleteSource(id);
-  return ok({ ok: true });
-});
app/api/sources/route.ts +0 −37
@@ -1,37 +0,0 @@
-import { withErrors, ok, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { CreateSource } from "@/lib/schemas/source";
-import { listSources, createSource } from "@/lib/store";
-import { currentState, ensureFresh, isSourceStale } from "@/lib/refresh";
-
-// GET /api/sources — all sources with state. Each item:
-// { source, hasModule, configured, snapshot, stale }.
-//   ?fresh=1 → refresh stale sources first (parallel)
-//   ?force=1 → refresh every source first (parallel)
-export const GET = withErrors(async (req) => {
-  await requireUser(req);
-  const params = new URL(req.url).searchParams;
-  const force = params.get("force") === "1";
-  const fresh = force || params.get("fresh") === "1";
-
-  const sources = listSources();
-  if (fresh) {
-    await Promise.all(
-      sources.map((s) => ensureFresh(s, { force })),
-    );
-  }
-
-  const states = listSources().map((s) => ({
-    ...currentState(s),
-    stale: isSourceStale(s),
-  }));
-  return ok({ sources: states });
-});
-
-// POST /api/sources — create a new source.
-export const POST = withErrors(async (req) => {
-  await requireUser(req);
-  const input = await parseJson(req, CreateSource);
-  const source = createSource(input);
-  return ok({ source }, { status: 201 });
-});
app/api/todos/[id]/route.ts +0 −22
@@ -1,22 +0,0 @@
-import { withErrors, ok, apiError, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { UpdateTodo } from "@/lib/schemas/todo";
-import { updateTodo, deleteTodo } from "@/lib/store";
-
-// PATCH /api/todos/:id — toggle done, edit title, set due.
-export const PATCH = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  const patch = await parseJson(req, UpdateTodo);
-  const todo = updateTodo(id, patch);
-  if (!todo) return apiError("not_found", "Todo not found", 404);
-  return ok({ todo });
-});
-
-// DELETE /api/todos/:id
-export const DELETE = withErrors(async (req, { params }) => {
-  await requireUser(req);
-  const { id } = await params;
-  deleteTodo(id);
-  return ok({ ok: true });
-});
app/api/todos/route.ts +0 −18
@@ -1,18 +0,0 @@
-import { withErrors, ok, parseJson } from "@/lib/api";
-import { requireUser } from "@/lib/auth";
-import { CreateTodo } from "@/lib/schemas/todo";
-import { listTodos, createTodo } from "@/lib/store";
-
-// GET /api/todos
-export const GET = withErrors(async (req) => {
-  await requireUser(req);
-  return ok({ todos: listTodos() });
-});
-
-// POST /api/todos
-export const POST = withErrors(async (req) => {
-  await requireUser(req);
-  const input = await parseJson(req, CreateTodo);
-  const todo = createTodo({ title: input.title, due: input.due ?? null });
-  return ok({ todo }, { status: 201 });
-});
app/globals.css +0 −231
@@ -1,231 +0,0 @@
-@import "tailwindcss";
-
-/*
- * Theme tokens, font faces, type scale, spacing, eink overrides.
- * Single source-of-truth lives in _shared-app-kit/tokens.css.
- * Copy it into this app on scaffold; do not edit downstream — sync upstream.
- */
-@import "./tokens.css";
-
-/*
- * Tailwind v4 — wire token vars into Tailwind's color/font namespaces
- * so utilities like text-text, bg-bg-card, font-display work.
- */
-@theme inline {
-  --font-sans: var(--font-body);
-  --font-display: var(--font-display);
-  --font-mono: var(--font-mono);
-
-  --color-bg: var(--bg);
-  --color-bg-card: var(--bg-card);
-  --color-bg-elevated: var(--bg-elevated);
-  --color-border: var(--border);
-  --color-border-strong: var(--border-strong);
-  --color-text: var(--text);
-  --color-text-muted: var(--text-muted);
-  --color-text-faint: var(--text-faint);
-  --color-text-accent: var(--text-accent);
-  --color-text-on-accent: var(--text-on-accent);
-  --color-accent: var(--accent);
-}
-
-html {
-  color-scheme: light dark;
-  -webkit-font-smoothing: antialiased;
-}
-
-body {
-  margin: 0;
-  padding: 0;
-}
-
-/* ─── Keyboard shortcut UI (palette, help, kbd) ────────────────────── */
-
-.sc-overlay {
-  position: fixed; inset: 0;
-  background: rgba(0, 0, 0, 0.45);
-  display: flex;
-  justify-content: center;
-  align-items: flex-start;
-  padding: 12vh var(--space-4) var(--space-4);
-  z-index: 100;
-}
-
-.sc-palette, .sc-help, .sc-search {
-  width: 100%;
-  max-width: 560px;
-  background: var(--bg-elevated);
-  border: 1px solid var(--border-strong);
-  border-radius: var(--radius-lg);
-  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
-  overflow: hidden;
-}
-
-.sc-palette-input {
-  width: 100%;
-  padding: var(--space-4);
-  background: transparent;
-  color: var(--text);
-  font-family: var(--font-body);
-  font-size: var(--text-lg);
-  border: 0;
-  border-bottom: 1px solid var(--border);
-  outline: none;
-}
-.sc-palette-input::placeholder { color: var(--text-muted); }
-
-.sc-palette-list {
-  list-style: none;
-  margin: 0; padding: var(--space-1);
-  max-height: 50vh;
-  overflow-y: auto;
-}
-.sc-palette-empty {
-  padding: var(--space-4);
-  color: var(--text-muted);
-  text-align: center;
-  font-size: var(--text-sm);
-}
-.sc-palette-item {
-  width: 100%;
-  display: grid;
-  grid-template-columns: 110px 1fr auto;
-  align-items: center;
-  gap: var(--space-3);
-  padding: var(--space-2) var(--space-3);
-  background: transparent;
-  color: var(--text);
-  text-align: left;
-  border: 0;
-  border-radius: var(--radius);
-  font-family: var(--font-body);
-  font-size: var(--text-base);
-  cursor: pointer;
-}
-.sc-palette-item:hover, .sc-palette-item:focus-visible {
-  background: var(--bg-hover);
-  outline: none;
-}
-.sc-palette-group {
-  font-family: var(--font-mono);
-  font-size: var(--text-xs);
-  color: var(--text-muted);
-  text-transform: uppercase;
-  letter-spacing: 0.08em;
-}
-.sc-palette-label { color: var(--text); }
-
-.sc-help-header {
-  display: flex; justify-content: space-between; align-items: center;
-  padding: var(--space-4) var(--space-5);
-  border-bottom: 1px solid var(--border);
-}
-.sc-help-header h2 {
-  margin: 0; font-family: var(--font-display); font-size: var(--text-xl);
-}
-.sc-help-close {
-  background: transparent; border: 0; color: var(--text-muted);
-  font-size: var(--text-2xl); line-height: 1; cursor: pointer; padding: 0 var(--space-2);
-}
-
-.sc-help section { padding: var(--space-3) var(--space-5); }
-.sc-help h3 {
-  font-family: var(--font-mono); font-size: var(--text-xs);
-  text-transform: uppercase; letter-spacing: 0.1em;
-  color: var(--text-muted); margin: 0 0 var(--space-2);
-}
-.sc-help ul { list-style: none; margin: 0; padding: 0; }
-.sc-help li {
-  display: flex; justify-content: space-between; align-items: center;
-  padding: var(--space-2) 0;
-  border-bottom: 1px solid var(--border);
-}
-.sc-help li:last-child { border-bottom: 0; }
-
-.sc-search-hint {
-  margin: 0; padding: var(--space-3) var(--space-4);
-  color: var(--text-faint); font-size: var(--text-sm);
-}
-
-.sc-kbd, kbd.sc-kbd {
-  font-family: var(--font-mono);
-  font-size: var(--text-xs);
-  padding: 2px var(--space-2);
-  background: var(--bg-card);
-  color: var(--text);
-  border: 1px solid var(--border-strong);
-  border-radius: var(--radius-sm);
-  white-space: nowrap;
-}
-
-/* ─── Newspaper edition (/print) ───────────────────────────────────── */
-
-.paper {
-  max-width: 820px;
-  margin: 0 auto;
-  padding: var(--space-8) var(--space-6);
-  background: #fff;
-  color: #111;
-  font-family: var(--font-body);
-}
-.paper-masthead {
-  text-align: center;
-  border-bottom: 3px double #111;
-  padding-bottom: var(--space-3);
-  margin-bottom: var(--space-4);
-}
-.paper-masthead h1 {
-  font-family: var(--font-display);
-  font-size: 52px;
-  line-height: 1.02;
-  margin: 0;
-  letter-spacing: -0.01em;
-}
-.paper-dateline {
-  display: flex;
-  justify-content: space-between;
-  font-family: var(--font-mono);
-  font-size: 11px;
-  text-transform: uppercase;
-  letter-spacing: 0.12em;
-  border-top: 1px solid #111;
-  border-bottom: 1px solid #111;
-  padding: 4px 0;
-  margin-top: var(--space-2);
-}
-.paper-lead {
-  text-align: center;
-  font-family: var(--font-display);
-  font-size: 18px;
-  margin: 0 0 var(--space-5);
-}
-.paper-body { column-count: 2; column-gap: var(--space-6); }
-@media (max-width: 640px) { .paper-body { column-count: 1; } }
-.paper-section { break-inside: avoid; margin-bottom: var(--space-5); }
-.paper-section > h2 {
-  font-family: var(--font-display);
-  font-size: 20px;
-  border-bottom: 2px solid #111;
-  margin: 0 0 var(--space-2);
-  padding-bottom: 2px;
-}
-.paper-section h3 {
-  font-family: var(--font-mono);
-  font-size: 10px;
-  text-transform: uppercase;
-  letter-spacing: 0.1em;
-  margin: var(--space-3) 0 var(--space-1);
-}
-.paper-item { margin-bottom: var(--space-2); font-size: 13px; line-height: 1.45; }
-.paper-item .src { color: #555; font-size: 11px; }
-.paper-item .yr { font-family: var(--font-mono); font-weight: 700; }
-.paper-weather { font-size: 14px; }
-.paper-todo { font-size: 13px; }
-.paper-todo.done { text-decoration: line-through; color: #777; }
-
-@media print {
-  nav, [role="status"], nextjs-portal { display: none !important; }
-  html, body { background: #fff !important; }
-  .paper { padding: 0; max-width: none; }
-  @page { margin: 16mm 14mm; }
-}
app/layout.tsx +0 −57
@@ -1,57 +0,0 @@
-import type { Metadata, Viewport } from "next";
-import { cookies } from "next/headers";
-import { AppNav } from "@/components/AppNav";
-import { OfflineBanner } from "@/components/OfflineBanner";
-import { ServiceWorkerRegistration } from "@/components/ServiceWorkerRegistration";
-import { ThemeInitializer } from "@/components/ThemeInitializer";
-import { ShortcutsRoot } from "@/components/ShortcutsRoot";
-import "./globals.css";
-
-export const metadata: Metadata = {
-  title: "Personal Dashboard",
-  description: "Local dashboard — weather, news, history, todos, feeds, and a daily paper.",
-  manifest: "/manifest.json",
-  icons: {
-    icon: "/icons/icon-192.png",
-    apple: "/icons/apple-touch-icon.png",
-  },
-  appleWebApp: {
-    capable: true,
-    statusBarStyle: "black-translucent",
-    title: "Dashboard",
-  },
-};
-
-export const viewport: Viewport = {
-  width: "device-width",
-  initialScale: 1,
-  viewportFit: "cover",
-};
-
-export default async function RootLayout({
-  children,
-}: {
-  children: React.ReactNode;
-}) {
-  const cookieStore = await cookies();
-  const initialTheme = cookieStore.get("app-theme")?.value ?? "flexoki";
-
-  return (
-    <html lang="en" data-theme={initialTheme} suppressHydrationWarning>
-      <body
-        style={{
-          background: "var(--bg)",
-          color: "var(--text)",
-          fontFamily: "var(--font-body)",
-        }}
-      >
-        <ThemeInitializer />
-        <ShortcutsRoot />
-        <ServiceWorkerRegistration />
-        <AppNav />
-        {children}
-        <OfflineBanner />
-      </body>
-    </html>
-  );
-}
app/offline/page.tsx +0 −24
@@ -1,24 +0,0 @@
-export const dynamic = "force-static";
-
-export default function OfflinePage() {
-  return (
-    <main
-      style={{
-        minHeight: "100dvh",
-        display: "grid",
-        placeItems: "center",
-        padding: "2rem",
-      }}
-    >
-      <div style={{ maxWidth: "28rem", textAlign: "center" }}>
-        <h1 style={{ fontFamily: "var(--font-serif)", marginBottom: "0.5rem" }}>
-          Offline
-        </h1>
-        <p style={{ color: "var(--color-muted)" }}>
-          You&rsquo;re offline. Cached pages still work — your edits will sync
-          when the connection comes back.
-        </p>
-      </div>
-    </main>
-  );
-}
app/page.tsx +0 −5
@@ -1,5 +0,0 @@
-import { Dashboard } from "@/components/Dashboard";
-
-export default function HomePage() {
-  return <Dashboard />;
-}
app/print/page.tsx +0 −99
@@ -1,99 +0,0 @@
-// /print — the newspaper edition. Server-rendered from current cached snapshots.
-// Puppeteer loads this route to produce the PDF (see /api/edition).
-
-import { gatherEdition } from "@/lib/edition-data";
-
-export const dynamic = "force-dynamic";
-
-export default function PrintPage() {
-  const d = gatherEdition();
-  const deg = d.weather?.units === "metric" ? "°C" : "°F";
-
-  return (
-    <div className="paper">
-      <div className="paper-masthead">
-        <h1>The Daily Dashboard</h1>
-        <div className="paper-dateline">
-          <span>{d.date}</span>
-          <span>Personal Edition</span>
-        </div>
-      </div>
-
-      {d.weather && (
-        <p className="paper-lead">
-          {d.weather.location}: {d.weather.current.temp}
-          {deg}, {d.weather.current.text.toLowerCase()}.{" "}
-          {d.weather.daily[0] && (
-            <>
-              High {d.weather.daily[0].max}
-              {deg} · Low {d.weather.daily[0].min}
-              {deg}
-              {d.weather.daily[0].precipProb ? `, ${d.weather.daily[0].precipProb}% precip` : ""}.
-            </>
-          )}
-        </p>
-      )}
-
-      <div className="paper-body">
-        {d.news && d.news.items.length > 0 && (
-          <section className="paper-section">
-            <h2>Headlines</h2>
-            {d.news.items.map((it, i) => (
-              <p className="paper-item" key={i}>
-                {it.title} <span className="src">— {it.source}</span>
-              </p>
-            ))}
-          </section>
-        )}
-
-        {d.onthisday && (
-          <section className="paper-section">
-            <h2>On This Day</h2>
-            {d.onthisday.events.map((e, i) => (
-              <p className="paper-item" key={i}>
-                {e.year != null && <span className="yr">{e.year} </span>}
-                {e.text}
-              </p>
-            ))}
-            {d.onthisday.births.length > 0 && (
-              <>
-                <h3>Born</h3>
-                {d.onthisday.births.map((e, i) => (
-                  <p className="paper-item" key={i}>
-                    {e.year != null && <span className="yr">{e.year} </span>}
-                    {e.text}
-                  </p>
-                ))}
-              </>
-            )}
-          </section>
-        )}
-
-        {d.todos.length > 0 && (
-          <section className="paper-section">
-            <h2>Agenda</h2>
-            {d.todos.map((t) => (
-              <p className="paper-todo paper-item" key={t.id}>
-                ☐ {t.title}
-              </p>
-            ))}
-          </section>
-        )}
-
-        {d.obsidian && d.obsidian.notes.length > 0 && (
-          <section className="paper-section">
-            <h2>From the Vault</h2>
-            {d.obsidian.notes.map((n) => (
-              <p className="paper-item" key={n.path}>
-                {n.title}{" "}
-                <span className="src">
-                  — {new Date(n.modified).toLocaleDateString(undefined, { month: "short", day: "numeric" })}
-                </span>
-              </p>
-            ))}
-          </section>
-        )}
-      </div>
-    </div>
-  );
-}
app/settings/page.tsx +0 −5
@@ -1,5 +0,0 @@
-import { SettingsView } from "@/components/SettingsView";
-
-export default function SettingsPage() {
-  return <SettingsView />;
-}
app/sw.ts +0 −30
@@ -1,30 +0,0 @@
-/// <reference lib="webworker" />
-import { defaultCache } from "@serwist/next/worker";
-import type { PrecacheEntry, SerwistGlobalConfig } from "serwist";
-import { Serwist } from "serwist";
-
-declare global {
-  interface WorkerGlobalScope extends SerwistGlobalConfig {
-    __SW_MANIFEST: (PrecacheEntry | string)[] | undefined;
-  }
-}
-
-declare const self: ServiceWorkerGlobalScope;
-
-const serwist = new Serwist({
-  precacheEntries: self.__SW_MANIFEST,
-  skipWaiting: true,
-  clientsClaim: true,
-  navigationPreload: true,
-  runtimeCaching: defaultCache,
-  fallbacks: {
-    entries: [
-      {
-        url: "/offline",
-        matcher: ({ request }) => request.destination === "document",
-      },
-    ],
-  },
-});
-
-serwist.addEventListeners();
app/tokens.css +0 −638
@@ -1,638 +0,0 @@
-/*
- * tokens.css — single source-of-truth for theme + type tokens.
- * Imported by scaffold/app/globals.css and STYLE_GUIDE.html.
- *
- * Themes (7 modes via data-theme):
- *   flexoki | flexoki-dark | uchu | uchu-dark | humdrum | humdrum-dark | eink
- *
- * Color levels (per family — red, orange, yellow, green, cyan, blue, purple, pink):
- *   --{color}-200 — lightest accent, hairline borders, soft fills
- *   --{color}-300 — soft accent, hover backgrounds
- *   --{color}-400 — DEFAULT (also exposed as --{color} alias)
- *   --{color}-500 — pressed/active
- *   --{color}-600 — strong text on light, prominent fills
- *
- * Sources:
- *   Flexoki — github.com/kepano/flexoki (kepano)
- *   Uchu    — github.com/Passw/NeverCease-uchu, uchu.style
- *   Humdrum — custom; blue base #0f80ea per spec, OKLCH-derived levels
- */
-
-/* ─── Font face declarations ───────────────────────────────────────── */
-
-/* Awke — display. Three weights. */
-@font-face {
-  font-family: "Awke";
-  src: url("/fonts/Awke-Thin.woff2") format("woff2");
-  font-weight: 100;
-  font-style: normal;
-  font-display: swap;
-}
-@font-face {
-  font-family: "Awke";
-  src: url("/fonts/Awke-Regular.woff2") format("woff2");
-  font-weight: 400;
-  font-style: normal;
-  font-display: swap;
-}
-@font-face {
-  font-family: "Awke";
-  src: url("/fonts/Awke-Bold.woff2") format("woff2");
-  font-weight: 700;
-  font-style: normal;
-  font-display: swap;
-}
-
-/* Untitled Sans — body. Light/Regular/Medium/Bold/Black + italics. */
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-light.woff2") format("woff2");
-  font-weight: 300; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-light-italic.woff2") format("woff2");
-  font-weight: 300; font-style: italic; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-regular.woff2") format("woff2");
-  font-weight: 400; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-regular-italic.woff2") format("woff2");
-  font-weight: 400; font-style: italic; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-medium.woff2") format("woff2");
-  font-weight: 500; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-medium-italic.woff2") format("woff2");
-  font-weight: 500; font-style: italic; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-bold.woff2") format("woff2");
-  font-weight: 700; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-bold-italic.woff2") format("woff2");
-  font-weight: 700; font-style: italic; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-black.woff2") format("woff2");
-  font-weight: 900; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Untitled Sans";
-  src: url("/fonts/untitled-sans-black-italic.woff2") format("woff2");
-  font-weight: 900; font-style: italic; font-display: swap;
-}
-
-/* Name Mono — variable font preferred, static fallbacks. */
-@font-face {
-  font-family: "Name Mono";
-  src: url("/fonts/ATNameMonoVariable-Regular.woff2") format("woff2-variations"),
-       url("/fonts/ATNameMono-Regular.woff2") format("woff2");
-  font-weight: 100 900; font-style: normal; font-display: swap;
-}
-@font-face {
-  font-family: "Name Mono";
-  src: url("/fonts/ATNameMonoVariable-RegularItalic.woff2") format("woff2-variations"),
-       url("/fonts/ATNameMono-Italic.woff2") format("woff2");
-  font-weight: 100 900; font-style: italic; font-display: swap;
-}
-
-/* ─── Global tokens (shared across all themes) ─────────────────────── */
-
-:root {
-  --font-display: "Awke", "Untitled Sans", sans-serif;
-  --font-body:    "Untitled Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
-  --font-mono:    "Name Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
-
-  --text-xs:   0.75rem;
-  --text-sm:   0.875rem;
-  --text-base: 1rem;
-  --text-lg:   1.125rem;
-  --text-xl:   1.25rem;
-  --text-2xl:  1.5rem;
-  --text-3xl:  1.875rem;
-  --text-4xl:  2.25rem;
-  --text-5xl:  3rem;
-  --leading-tight:  1.2;
-  --leading-normal: 1.5;
-  --leading-relax:  1.7;
-
-  --space-1:  0.25rem;
-  --space-2:  0.5rem;
-  --space-3:  0.75rem;
-  --space-4:  1rem;
-  --space-5:  1.25rem;
-  --space-6:  1.5rem;
-  --space-8:  2rem;
-  --space-10: 2.5rem;
-  --space-12: 3rem;
-  --space-16: 4rem;
-
-  --radius-sm: 4px;
-  --radius:    8px;
-  --radius-lg: 12px;
-  --radius-xl: 16px;
-
-  --tap-min: 44px;
-
-  /*
-   * Derived semantic tokens — resolve per-theme via the active --accent + --bg.
-   * color-mix evaluates at use-site, so the same :root declaration works for
-   * every theme without repetition.
-   */
-  --accent-subtle:        color-mix(in oklab, var(--accent) 12%, var(--bg));
-  --accent-subtle-border: var(--accent);
-  --focus-ring:           var(--accent);
-}
-
-/* ═══════════════════════════════════════════════════════════════════
-   FLEXOKI — kepano canonical (github.com/kepano/flexoki)
-   ═══════════════════════════════════════════════════════════════════ */
-
-:root,
-[data-theme="flexoki"] {
-  /* Surfaces */
-  --bg:            #FFFCF0;  /* paper */
-  --bg-card:       #F2F0E5;  /* 50 */
-  --bg-elevated:   #F2F0E5;
-  --bg-hover:      rgba(0, 0, 0, 0.04);
-  --bg-active:     rgba(0, 0, 0, 0.08);
-  --border:        #E6E4D9;  /* 100 */
-  --border-strong: #CECDC3;  /* 200 */
-  --text:          #100F0F;  /* black */
-  --text-muted:    #6F6E69;  /* 600 */
-  --text-faint:    #B7B5AC;  /* 300 */
-  --text-accent:   #100F0F;
-  --text-on-accent:#FFFCF0;
-  --selection:     #DDF1E4;  /* cyan-50 */
-  --accent:        #24837B;  /* cyan-600 */
-
-  /* Red */
-  --red-200: #F89A8A; --red-300: #E8705F; --red-400: #D14D41; --red-500: #C03E35; --red-600: #AF3029;
-  --red: var(--red-400);
-  /* Orange */
-  --orange-200: #F9AE77; --orange-300: #EC8B49; --orange-400: #DA702C; --orange-500: #CB6120; --orange-600: #BC5215;
-  --orange: var(--orange-400);
-  /* Yellow */
-  --yellow-200: #ECCB60; --yellow-300: #DFB431; --yellow-400: #D0A215; --yellow-500: #BE9207; --yellow-600: #AD8301;
-  --yellow: var(--yellow-400);
-  /* Green */
-  --green-200: #BEC97E; --green-300: #A0AF54; --green-400: #879A39; --green-500: #768D21; --green-600: #66800B;
-  --green: var(--green-400);
-  /* Cyan */
-  --cyan-200: #87D3C3; --cyan-300: #5ABDAC; --cyan-400: #3AA99F; --cyan-500: #2F968D; --cyan-600: #24837B;
-  --cyan: var(--cyan-400);
-  /* Blue */
-  --blue-200: #92BFDB; --blue-300: #66A0C8; --blue-400: #4385BE; --blue-500: #3171B2; --blue-600: #205EA6;
-  --blue: var(--blue-400);
-  /* Purple */
-  --purple-200: #C4B9E0; --purple-300: #A699D0; --purple-400: #8B7EC8; --purple-500: #735EB5; --purple-600: #5E409D;
-  --purple: var(--purple-400);
-  /* Pink (Flexoki magenta) */
-  --pink-200: #F4A4C2; --pink-300: #E47DA8; --pink-400: #CE5D97; --pink-500: #B74583; --pink-600: #A02F6F;
-  --pink: var(--pink-400);
-}
-
-[data-theme="flexoki-dark"] {
-  --bg:            #100F0F;  /* black */
-  --bg-card:       #1C1B1A;  /* 950 */
-  --bg-elevated:   #282726;  /* 900 */
-  --bg-hover:      rgba(255, 255, 255, 0.05);
-  --bg-active:     rgba(255, 255, 255, 0.1);
-  --border:        #282726;  /* 900 */
-  --border-strong: #403E3C;  /* 800 */
-  --text:          #CECDC3;  /* 200 */
-  --text-muted:    #878580;  /* 500 */
-  --text-faint:    #575653;  /* 700 */
-  --text-accent:   #CECDC3;
-  --text-on-accent:#100F0F;
-  --selection:     #122F2C;  /* cyan-900 */
-  --accent:        #3AA99F;  /* cyan-400 */
-
-  --red-200: #F89A8A; --red-300: #E8705F; --red-400: #D14D41; --red-500: #C03E35; --red-600: #AF3029;
-  --red: var(--red-400);
-  --orange-200: #F9AE77; --orange-300: #EC8B49; --orange-400: #DA702C; --orange-500: #CB6120; --orange-600: #BC5215;
-  --orange: var(--orange-400);
-  --yellow-200: #ECCB60; --yellow-300: #DFB431; --yellow-400: #D0A215; --yellow-500: #BE9207; --yellow-600: #AD8301;
-  --yellow: var(--yellow-400);
-  --green-200: #BEC97E; --green-300: #A0AF54; --green-400: #879A39; --green-500: #768D21; --green-600: #66800B;
-  --green: var(--green-400);
-  --cyan-200: #87D3C3; --cyan-300: #5ABDAC; --cyan-400: #3AA99F; --cyan-500: #2F968D; --cyan-600: #24837B;
-  --cyan: var(--cyan-400);
-  --blue-200: #92BFDB; --blue-300: #66A0C8; --blue-400: #4385BE; --blue-500: #3171B2; --blue-600: #205EA6;
-  --blue: var(--blue-400);
-  --purple-200: #C4B9E0; --purple-300: #A699D0; --purple-400: #8B7EC8; --purple-500: #735EB5; --purple-600: #5E409D;
-  --purple: var(--purple-400);
-  --pink-200: #F4A4C2; --pink-300: #E47DA8; --pink-400: #CE5D97; --pink-500: #B74583; --pink-600: #A02F6F;
-  --pink: var(--pink-400);
-}
-
-/* ═══════════════════════════════════════════════════════════════════
-   UCHU — canonical OKLCH (github.com/Passw/NeverCease-uchu, uchu.style)
-   Levels 2-6 of canonical 1-9 scale → mapped to 200-600.
-   ═══════════════════════════════════════════════════════════════════ */
-
-[data-theme="uchu"] {
-  --bg:            oklch(99.4% 0 0);                /* yang */
-  --bg-card:       oklch(95.57% 0.003 286.35);      /* gray-1 */
-  --bg-elevated:   oklch(99.4% 0 0);
-  --bg-hover:      rgba(0, 0, 0, 0.035);
-  --bg-active:     rgba(0, 0, 0, 0.07);
-  --border:        oklch(91.87% 0.003 264.54);      /* yin-1 */
-  --border-strong: oklch(84.61% 0.004 286.31);      /* yin-2 */
-  --text:          oklch(14.38% 0.007 256.88);      /* yin */
-  --text-muted:    oklch(43.87% 0.005 271.3);       /* yin-7 */
-  --text-faint:    oklch(69.17% 0.004 247.88);      /* yin-4 */
-  --text-accent:   oklch(14.38% 0.007 256.88);
-  --text-on-accent:oklch(99.4% 0 0);
-  --selection:     oklch(89.1% 0.046 305.24);       /* purple-1 */
-  --accent:        oklch(58.47% 0.181 302.06);      /* purple-4 */
-
-  --red-200:    oklch(78.78% 0.109 4.54);
-  --red-300:    oklch(69.86% 0.162 7.82);
-  --red-400:    oklch(62.73% 0.209 12.37);
-  --red-500:    oklch(58.63% 0.231 19.6);
-  --red-600:    oklch(54.41% 0.214 19.06);
-  --red: var(--red-400);
-
-  --orange-200: oklch(88.37% 0.0726 55.8);
-  --orange-300: oklch(83.56% 0.1075 56.49);
-  --orange-400: oklch(78.75% 0.1416 54.33);
-  --orange-500: oklch(74.61% 0.171 51.56);
-  --orange-600: oklch(69.33% 0.157 52.18);
-  --orange: var(--orange-400);
-
-  --yellow-200: oklch(95% 0.07 92.39);
-  --yellow-300: oklch(92.76% 0.098 92.58);
-  --yellow-400: oklch(90.92% 0.125 92.56);
-  --yellow-500: oklch(89% 0.146 91.5);
-  --yellow-600: oklch(82.39% 0.133 91.5);
-  --yellow: var(--yellow-400);
-
-  --green-200:  oklch(88.77% 0.096 147.71);
-  --green-300:  oklch(83.74% 0.139 146.57);
-  --green-400:  oklch(79.33% 0.179 145.62);
-  --green-500:  oklch(75.23% 0.209 144.64);
-  --green-600:  oklch(70.03% 0.194 144.71);
-  --green: var(--green-400);
-
-  /* Uchu has no canonical "cyan" — derive from blue+green hue middle. */
-  --cyan-200:   oklch(85% 0.07 200);
-  --cyan-300:   oklch(78% 0.10 200);
-  --cyan-400:   oklch(70% 0.13 200);
-  --cyan-500:   oklch(63% 0.14 200);
-  --cyan-600:   oklch(55% 0.13 200);
-  --cyan: var(--cyan-400);
-
-  --blue-200:   oklch(80.17% 0.091 258.88);
-  --blue-300:   oklch(70.94% 0.136 258.06);
-  --blue-400:   oklch(62.39% 0.181 258.33);
-  --blue-500:   oklch(54.87% 0.222 260.33);
-  --blue-600:   oklch(51.15% 0.204 260.17);
-  --blue: var(--blue-400);
-
-  --purple-200: oklch(78.68% 0.091 305);
-  --purple-300: oklch(68.5% 0.136 303.78);
-  --purple-400: oklch(58.47% 0.181 302.06);
-  --purple-500: oklch(49.39% 0.215 298.31);
-  --purple-600: oklch(46.11% 0.198 298.4);
-  --purple: var(--purple-400);
-
-  --pink-200:   oklch(92.14% 0.046 352.31);
-  --pink-300:   oklch(88.9% 0.066 354.39);
-  --pink-400:   oklch(85.43% 0.09 354.1);
-  --pink-500:   oklch(82.23% 0.112 355.33);
-  --pink-600:   oklch(76.37% 0.101 355.37);
-  --pink: var(--pink-400);
-}
-
-[data-theme="uchu-dark"] {
-  --bg:            oklch(14.38% 0.007 256.88);      /* yin */
-  --bg-card:       oklch(25.11% 0.006 258.36);      /* yin-9 */
-  --bg-elevated:   oklch(35.02% 0.005 236.66);      /* yin-8 */
-  --bg-hover:      rgba(255, 255, 255, 0.05);
-  --bg-active:     rgba(255, 255, 255, 0.1);
-  --border:        oklch(35.02% 0.005 236.66);      /* yin-8 */
-  --border-strong: oklch(43.87% 0.005 271.3);       /* yin-7 */
-  --text:          oklch(91.87% 0.003 264.54);      /* yin-1 */
-  --text-muted:    oklch(69.17% 0.004 247.88);      /* yin-4 */
-  --text-faint:    oklch(52.79% 0.005 271.32);      /* yin-6 */
-  --text-accent:   oklch(91.87% 0.003 264.54);
-  --text-on-accent:oklch(14.38% 0.007 256.88);
-  --selection:     oklch(36.01% 0.145 298.35);      /* purple-9 */
-  --accent:        oklch(68.5% 0.136 303.78);       /* purple-3 */
-
-  --red-200:    oklch(78.78% 0.109 4.54);
-  --red-300:    oklch(69.86% 0.162 7.82);
-  --red-400:    oklch(62.73% 0.209 12.37);
-  --red-500:    oklch(58.63% 0.231 19.6);
-  --red-600:    oklch(54.41% 0.214 19.06);
-  --red: var(--red-400);
-  --orange-200: oklch(88.37% 0.0726 55.8);
-  --orange-300: oklch(83.56% 0.1075 56.49);
-  --orange-400: oklch(78.75% 0.1416 54.33);
-  --orange-500: oklch(74.61% 0.171 51.56);
-  --orange-600: oklch(69.33% 0.157 52.18);
-  --orange: var(--orange-400);
-  --yellow-200: oklch(95% 0.07 92.39);
-  --yellow-300: oklch(92.76% 0.098 92.58);
-  --yellow-400: oklch(90.92% 0.125 92.56);
-  --yellow-500: oklch(89% 0.146 91.5);
-  --yellow-600: oklch(82.39% 0.133 91.5);
-  --yellow: var(--yellow-400);
-  --green-200:  oklch(88.77% 0.096 147.71);
-  --green-300:  oklch(83.74% 0.139 146.57);
-  --green-400:  oklch(79.33% 0.179 145.62);
-  --green-500:  oklch(75.23% 0.209 144.64);
-  --green-600:  oklch(70.03% 0.194 144.71);
-  --green: var(--green-400);
-  --cyan-200:   oklch(85% 0.07 200);
-  --cyan-300:   oklch(78% 0.10 200);
-  --cyan-400:   oklch(70% 0.13 200);
-  --cyan-500:   oklch(63% 0.14 200);
-  --cyan-600:   oklch(55% 0.13 200);
-  --cyan: var(--cyan-400);
-  --blue-200:   oklch(80.17% 0.091 258.88);
-  --blue-300:   oklch(70.94% 0.136 258.06);
-  --blue-400:   oklch(62.39% 0.181 258.33);
-  --blue-500:   oklch(54.87% 0.222 260.33);
-  --blue-600:   oklch(51.15% 0.204 260.17);
-  --blue: var(--blue-400);
-  --purple-200: oklch(78.68% 0.091 305);
-  --purple-300: oklch(68.5% 0.136 303.78);
-  --purple-400: oklch(58.47% 0.181 302.06);
-  --purple-500: oklch(49.39% 0.215 298.31);
-  --purple-600: oklch(46.11% 0.198 298.4);
-  --purple: var(--purple-400);
-  --pink-200:   oklch(92.14% 0.046 352.31);
-  --pink-300:   oklch(88.9% 0.066 354.39);
-  --pink-400:   oklch(85.43% 0.09 354.1);
-  --pink-500:   oklch(82.23% 0.112 355.33);
-  --pink-600:   oklch(76.37% 0.101 355.37);
-  --pink: var(--pink-400);
-}
-
-/* ═══════════════════════════════════════════════════════════════════
-   HUMDRUM — warm neutrals, vivid blue accent (#0f80ea ≈ oklch 60% 0.21 246).
-   All accent families derived in OKLCH around 400 = base.
-   ═══════════════════════════════════════════════════════════════════ */
-
-[data-theme="humdrum"] {
-  --bg:            #F5F3EE;
-  --bg-card:       #FFFFFF;
-  --bg-elevated:   #FFFFFF;
-  --bg-hover:      rgba(0, 0, 0, 0.035);
-  --bg-active:     rgba(0, 0, 0, 0.07);
-  --border:        #E2DFD7;
-  --border-strong: #C3BFB3;
-  --text:          #2A2825;
-  --text-muted:    #6D6A63;
-  --text-faint:    #ADA99F;
-  --text-accent:   #2A2825;
-  --text-on-accent:#FFFFFF;
-  --selection:     oklch(0.85 0.07 253);            /* blue-200 tint */
-  --accent:        #0F80EA;                         /* blue-400, kept as hex */
-
-  /*
-   * Color levels — every family anchored at oklch(0.60 0.18 H).
-   * Blue 400 = oklch(0.60 0.18 253) ≈ #0F80EA (actual conversion).
-   * All other families share L=0.60 C=0.18 at 400, only hue changes.
-   *
-   * Step pattern (L, C multiplier):
-   *   200: L 0.82, C × 0.45  (= 0.081)
-   *   300: L 0.72, C × 0.75  (= 0.135)
-   *   400: L 0.60, C × 1.00  (= 0.180)  base
-   *   500: L 0.53, C × 0.95  (= 0.171)
-   *   600: L 0.45, C × 0.85  (= 0.153)
-   */
-
-  /* Blue (primary) — base = #0F80EA */
-  --blue-200:   oklch(0.82 0.081 253);
-  --blue-300:   oklch(0.72 0.135 253);
-  --blue-400:   oklch(0.60 0.180 253);
-  --blue-500:   oklch(0.53 0.171 253);
-  --blue-600:   oklch(0.45 0.153 253);
-  --blue: var(--blue-400);
-
-  --red-200:    oklch(0.82 0.081 22);
-  --red-300:    oklch(0.72 0.135 22);
-  --red-400:    oklch(0.60 0.180 22);
-  --red-500:    oklch(0.53 0.171 22);
-  --red-600:    oklch(0.45 0.153 22);
-  --red: var(--red-400);
-
-  --orange-200: oklch(0.82 0.081 50);
-  --orange-300: oklch(0.72 0.135 50);
-  --orange-400: oklch(0.60 0.180 50);
-  --orange-500: oklch(0.53 0.171 50);
-  --orange-600: oklch(0.45 0.153 50);
-  --orange: var(--orange-400);
-
-  --yellow-200: oklch(0.82 0.081 85);
-  --yellow-300: oklch(0.72 0.135 85);
-  --yellow-400: oklch(0.60 0.180 85);
-  --yellow-500: oklch(0.53 0.171 85);
-  --yellow-600: oklch(0.45 0.153 85);
-  --yellow: var(--yellow-400);
-
-  --green-200:  oklch(0.82 0.081 140);
-  --green-300:  oklch(0.72 0.135 140);
-  --green-400:  oklch(0.60 0.180 140);
-  --green-500:  oklch(0.53 0.171 140);
-  --green-600:  oklch(0.45 0.153 140);
-  --green: var(--green-400);
-
-  --cyan-200:   oklch(0.82 0.081 205);
-  --cyan-300:   oklch(0.72 0.135 205);
-  --cyan-400:   oklch(0.60 0.180 205);
-  --cyan-500:   oklch(0.53 0.171 205);
-  --cyan-600:   oklch(0.45 0.153 205);
-  --cyan: var(--cyan-400);
-
-  --purple-200: oklch(0.82 0.081 295);
-  --purple-300: oklch(0.72 0.135 295);
-  --purple-400: oklch(0.60 0.180 295);
-  --purple-500: oklch(0.53 0.171 295);
-  --purple-600: oklch(0.45 0.153 295);
-  --purple: var(--purple-400);
-
-  --pink-200:   oklch(0.82 0.081 350);
-  --pink-300:   oklch(0.72 0.135 350);
-  --pink-400:   oklch(0.60 0.180 350);
-  --pink-500:   oklch(0.53 0.171 350);
-  --pink-600:   oklch(0.45 0.153 350);
-  --pink: var(--pink-400);
-}
-
-[data-theme="humdrum-dark"] {
-  --bg:            #1F1D1A;
-  --bg-card:       #282622;
-  --bg-elevated:   #32302C;
-  --bg-hover:      rgba(255, 255, 255, 0.04);
-  --bg-active:     rgba(255, 255, 255, 0.08);
-  --border:        #32302C;
-  --border-strong: #4A4740;
-  --text:          #E8E5DD;
-  --text-muted:    #A8A49B;
-  --text-faint:    #6D6A63;
-  --text-accent:   #E8E5DD;
-  --text-on-accent:#FFFFFF;
-  --selection:     oklch(0.35 0.13 253);            /* dark blue tint */
-  --accent:        #0F80EA;                         /* same as light, kept hex */
-
-  --blue-200:   oklch(0.82 0.081 253);
-  --blue-300:   oklch(0.72 0.135 253);
-  --blue-400:   oklch(0.60 0.180 253);
-  --blue-500:   oklch(0.53 0.171 253);
-  --blue-600:   oklch(0.45 0.153 253);
-  --blue: var(--blue-400);
-
-  --red-200:    oklch(0.82 0.081 22);
-  --red-300:    oklch(0.72 0.135 22);
-  --red-400:    oklch(0.60 0.180 22);
-  --red-500:    oklch(0.53 0.171 22);
-  --red-600:    oklch(0.45 0.153 22);
-  --red: var(--red-400);
-
-  --orange-200: oklch(0.82 0.081 50);
-  --orange-300: oklch(0.72 0.135 50);
-  --orange-400: oklch(0.60 0.180 50);
-  --orange-500: oklch(0.53 0.171 50);
-  --orange-600: oklch(0.45 0.153 50);
-  --orange: var(--orange-400);
-
-  --yellow-200: oklch(0.82 0.081 85);
-  --yellow-300: oklch(0.72 0.135 85);
-  --yellow-400: oklch(0.60 0.180 85);
-  --yellow-500: oklch(0.53 0.171 85);
-  --yellow-600: oklch(0.45 0.153 85);
-  --yellow: var(--yellow-400);
-
-  --green-200:  oklch(0.82 0.081 140);
-  --green-300:  oklch(0.72 0.135 140);
-  --green-400:  oklch(0.60 0.180 140);
-  --green-500:  oklch(0.53 0.171 140);
-  --green-600:  oklch(0.45 0.153 140);
-  --green: var(--green-400);
-
-  --cyan-200:   oklch(0.82 0.081 205);
-  --cyan-300:   oklch(0.72 0.135 205);
-  --cyan-400:   oklch(0.60 0.180 205);
-  --cyan-500:   oklch(0.53 0.171 205);
-  --cyan-600:   oklch(0.45 0.153 205);
-  --cyan: var(--cyan-400);
-
-  --purple-200: oklch(0.82 0.081 295);
-  --purple-300: oklch(0.72 0.135 295);
-  --purple-400: oklch(0.60 0.180 295);
-  --purple-500: oklch(0.53 0.171 295);
-  --purple-600: oklch(0.45 0.153 295);
-  --purple: var(--purple-400);
-
-  --pink-200:   oklch(0.82 0.081 350);
-  --pink-300:   oklch(0.72 0.135 350);
-  --pink-400:   oklch(0.60 0.180 350);
-  --pink-500:   oklch(0.53 0.171 350);
-  --pink-600:   oklch(0.45 0.153 350);
-  --pink: var(--pink-400);
-}
-
-/* ═══════════════════════════════════════════════════════════════════
-   E-INK — pure monochrome, no motion. All accents collapse to black.
-   ═══════════════════════════════════════════════════════════════════ */
-
-[data-theme="eink"] {
-  --bg:            #FFFFFF;
-  --bg-card:       #FFFFFF;
-  --bg-elevated:   #FFFFFF;
-  --bg-hover:      #000000;
-  --bg-active:     #000000;
-  --border:        #000000;
-  --border-strong: #000000;
-  --text:          #000000;
-  --text-muted:    #000000;
-  --text-faint:    #000000;
-  --text-accent:   #000000;
-  --text-on-accent:#FFFFFF;
-  --selection:     #000000;
-  --accent:        #000000;
-
-  --red-200: #000; --red-300: #000; --red-400: #000; --red-500: #000; --red-600: #000;
-  --red: #000;
-  --orange-200: #000; --orange-300: #000; --orange-400: #000; --orange-500: #000; --orange-600: #000;
-  --orange: #000;
-  --yellow-200: #000; --yellow-300: #000; --yellow-400: #000; --yellow-500: #000; --yellow-600: #000;
-  --yellow: #000;
-  --green-200: #000; --green-300: #000; --green-400: #000; --green-500: #000; --green-600: #000;
-  --green: #000;
-  --cyan-200: #000; --cyan-300: #000; --cyan-400: #000; --cyan-500: #000; --cyan-600: #000;
-  --cyan: #000;
-  --blue-200: #000; --blue-300: #000; --blue-400: #000; --blue-500: #000; --blue-600: #000;
-  --blue: #000;
-  --purple-200: #000; --purple-300: #000; --purple-400: #000; --purple-500: #000; --purple-600: #000;
-  --purple: #000;
-  --pink-200: #000; --pink-300: #000; --pink-400: #000; --pink-500: #000; --pink-600: #000;
-  --pink: #000;
-}
-
-[data-theme="eink"],
-[data-theme="eink"] * {
-  transition: none !important;
-  animation: none !important;
-  box-shadow: none !important;
-  font-weight: 600;
-}
-
-[data-theme="eink"] strong,
-[data-theme="eink"] b,
-[data-theme="eink"] h1,
-[data-theme="eink"] h2,
-[data-theme="eink"] h3 {
-  font-weight: 800;
-}
-
-[data-theme="eink"] button,
-[data-theme="eink"] .card,
-[data-theme="eink"] .nav,
-[data-theme="eink"] .btn,
-[data-theme="eink"] .dialog {
-  border: 2px solid #000 !important;
-  border-radius: 0 !important;
-}
-
-[data-theme="eink"] .btn-primary {
-  background: #000 !important;
-  color: #fff !important;
-}
-
-[data-theme="eink"] .highlight {
-  background: transparent !important;
-  border-bottom: 4px solid #000 !important;
-  border-radius: 0 !important;
-}
-
-/* ─── Base body wiring ─────────────────────────────────────────────── */
-
-html, body {
-  background: var(--bg);
-  color: var(--text);
-  font-family: var(--font-body);
-  font-size: var(--text-base);
-  line-height: var(--leading-normal);
-}
-
-h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); }
-code, pre, kbd, samp { font-family: var(--font-mono); }
-::selection { background: var(--selection); }
cli/go.mod +0 −10
@@ -1,10 +0,0 @@
-module app/cli
-
-go 1.23
-
-require (
-	github.com/charmbracelet/bubbles v0.21.0
-	github.com/charmbracelet/bubbletea v1.3.4
-	github.com/charmbracelet/lipgloss v1.1.0
-	github.com/charmbracelet/log v0.4.0
-)
cli/main.go +0 −205
@@ -1,205 +0,0 @@
-// cli/main.go — Bubble Tea TUI starter for the scaffolded app.
-//
-// Build: go build -o {APP_SLUG}-cli ./cli
-// Run:   APP_BASE=http://localhost:3000 APP_SLUG=app ./{APP_SLUG}-cli
-//
-// First run prompts for an API token. Get one at {APP_BASE}/settings/tokens.
-// Token stored at ~/.{APP_SLUG}rc.json with mode 0600.
-//
-// This is a minimum viable list view. Customize the resource type, columns,
-// and key bindings for your app's domain.
-
-package main
-
-import (
-	"encoding/json"
-	"fmt"
-	"io"
-	"net/http"
-	"os"
-	"path/filepath"
-	"time"
-
-	"github.com/charmbracelet/bubbles/list"
-	"github.com/charmbracelet/bubbles/textinput"
-	tea "github.com/charmbracelet/bubbletea"
-	"github.com/charmbracelet/lipgloss"
-	"github.com/charmbracelet/log"
-)
-
-var (
-	base = envOr("APP_BASE", "http://localhost:3000")
-	slug = envOr("APP_SLUG", "app")
-
-	titleStyle = lipgloss.NewStyle().Bold(true).Padding(0, 1)
-	hintStyle  = lipgloss.NewStyle().Faint(true)
-)
-
-type config struct {
-	Token string `json:"token"`
-}
-
-func configPath() string {
-	home, _ := os.UserHomeDir()
-	return filepath.Join(home, "."+slug+"rc.json")
-}
-
-func loadConfig() config {
-	b, err := os.ReadFile(configPath())
-	if err != nil {
-		return config{}
-	}
-	var c config
-	_ = json.Unmarshal(b, &c)
-	return c
-}
-
-func saveConfig(c config) error {
-	b, _ := json.MarshalIndent(c, "", "  ")
-	return os.WriteFile(configPath(), b, 0o600)
-}
-
-func envOr(k, def string) string {
-	if v := os.Getenv(k); v != "" {
-		return v
-	}
-	return def
-}
-
-type item struct {
-	id, title string
-	done      bool
-}
-
-func (i item) FilterValue() string { return i.title }
-func (i item) Title() string {
-	if i.done {
-		return "✓ " + i.title
-	}
-	return "· " + i.title
-}
-func (i item) Description() string { return i.id }
-
-type model struct {
-	list   list.Model
-	input  textinput.Model
-	mode   string // "login" | "list"
-	err    error
-	width  int
-	height int
-}
-
-func initialModel() model {
-	cfg := loadConfig()
-
-	l := list.New(nil, list.NewDefaultDelegate(), 0, 0)
-	l.Title = fmt.Sprintf("%s — items", slug)
-	l.SetShowHelp(true)
-
-	ti := textinput.New()
-	ti.Placeholder = "paste token from " + base + "/settings/tokens"
-	ti.Focus()
-	ti.CharLimit = 256
-
-	m := model{list: l, input: ti}
-	if cfg.Token == "" {
-		m.mode = "login"
-	} else {
-		m.mode = "list"
-	}
-	return m
-}
-
-func (m model) Init() tea.Cmd {
-	if m.mode == "list" {
-		return fetchItems
-	}
-	return nil
-}
-
-func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
-	switch msg := msg.(type) {
-	case tea.WindowSizeMsg:
-		m.width, m.height = msg.Width, msg.Height
-		m.list.SetSize(msg.Width, msg.Height-4)
-
-	case tea.KeyMsg:
-		switch msg.String() {
-		case "ctrl+c", "q":
-			return m, tea.Quit
-		case "enter":
-			if m.mode == "login" {
-				token := m.input.Value()
-				if err := saveConfig(config{Token: token}); err != nil {
-					m.err = err
-					return m, nil
-				}
-				m.mode = "list"
-				return m, fetchItems
-			}
-		}
-
-	case itemsMsg:
-		its := make([]list.Item, len(msg))
-		for i, it := range msg {
-			its[i] = it
-		}
-		m.list.SetItems(its)
-
-	case errMsg:
-		m.err = msg
-	}
-
-	var cmd tea.Cmd
-	if m.mode == "login" {
-		m.input, cmd = m.input.Update(msg)
-	} else {
-		m.list, cmd = m.list.Update(msg)
-	}
-	return m, cmd
-}
-
-func (m model) View() string {
-	if m.err != nil {
-		return titleStyle.Render("error") + "\n" + m.err.Error() + "\n\n" + hintStyle.Render("press q to quit")
-	}
-	if m.mode == "login" {
-		return titleStyle.Render("Sign in") + "\n\n" +
-			m.input.View() + "\n\n" +
-			hintStyle.Render("enter to save · q to quit")
-	}
-	return m.list.View()
-}
-
-type itemsMsg []item
-type errMsg error
-
-func fetchItems() tea.Msg {
-	cfg := loadConfig()
-	req, _ := http.NewRequest("GET", base+"/api/items", nil)
-	req.Header.Set("Authorization", "Bearer "+cfg.Token)
-
-	client := &http.Client{Timeout: 10 * time.Second}
-	res, err := client.Do(req)
-	if err != nil {
-		return errMsg(err)
-	}
-	defer res.Body.Close()
-	if res.StatusCode != 200 {
-		body, _ := io.ReadAll(res.Body)
-		return errMsg(fmt.Errorf("%d: %s", res.StatusCode, string(body)))
-	}
-	var data struct {
-		Items []item `json:"items"`
-	}
-	if err := json.NewDecoder(res.Body).Decode(&data); err != nil {
-		return errMsg(err)
-	}
-	return itemsMsg(data.Items)
-}
-
-func main() {
-	if _, err := tea.NewProgram(initialModel(), tea.WithAltScreen()).Run(); err != nil {
-		log.Fatal(err)
-	}
-}
components/AppNav.tsx +0 −48
@@ -1,48 +0,0 @@
-"use client";
-
-import Link from "next/link";
-import { usePathname } from "next/navigation";
-import { NAV } from "@/lib/nav";
-
-export function AppNav() {
-  const pathname = usePathname();
-
-  return (
-    <nav
-      className="sticky top-0 z-30 flex items-center justify-between h-14 px-6"
-      style={{
-        background: "var(--bg-card)",
-        color: "var(--text)",
-        borderBottom: "1px solid var(--border)",
-      }}
-    >
-      <div className="flex items-center gap-8">
-        <span
-          className="text-sm font-bold tracking-tight"
-          style={{ fontFamily: "var(--font-display)" }}
-        >
-          Personal Dashboard
-        </span>
-        <div className="flex gap-6">
-          {NAV.map((a) => {
-            const active =
-              a.href === "/" ? pathname === "/" : pathname.startsWith(a.href);
-            return (
-              <Link
-                key={a.href}
-                href={a.href}
-                className="text-xs uppercase tracking-widest"
-                style={{
-                  fontFamily: "var(--font-display)",
-                  color: active ? "var(--text)" : "var(--text-muted)",
-                }}
-              >
-                {a.label}
-              </Link>
-            );
-          })}
-        </div>
-      </div>
-    </nav>
-  );
-}
components/Dashboard.tsx +0 −166
@@ -1,166 +0,0 @@
-"use client";
-
-import { useCallback, useEffect, useState } from "react";
-import { useRouter } from "next/navigation";
-import type { SourceState } from "@/lib/types";
-import { useAction } from "@/hooks/useAction";
-import { SourceCard } from "./cards/SourceCard";
-import { TodosCard } from "./cards/TodosCard";
-
-export function Dashboard() {
-  const router = useRouter();
-  const [items, setItems] = useState<SourceState[]>([]);
-  const [loading, setLoading] = useState(true);
-  const [refreshingAll, setRefreshingAll] = useState(false);
-  const [refreshingId, setRefreshingId] = useState<string | null>(null);
-  const [generating, setGenerating] = useState(false);
-
-  // Initial paint from cache, then refresh stale sources in the background.
-  useEffect(() => {
-    let alive = true;
-    (async () => {
-      const cached = await fetch("/api/sources").then((r) => r.json());
-      if (!alive) return;
-      setItems(cached.sources);
-      setLoading(false);
-      const fresh = await fetch("/api/sources?fresh=1").then((r) => r.json());
-      if (alive) setItems(fresh.sources);
-    })();
-    return () => {
-      alive = false;
-    };
-  }, []);
-
-  const refreshAll = useCallback(async () => {
-    setRefreshingAll(true);
-    try {
-      const fresh = await fetch("/api/sources?force=1").then((r) => r.json());
-      setItems(fresh.sources);
-    } finally {
-      setRefreshingAll(false);
-    }
-  }, []);
-
-  const refreshOne = useCallback(async (id: string) => {
-    setRefreshingId(id);
-    try {
-      const res = await fetch(`/api/sources/${id}/refresh`, { method: "POST" });
-      if (res.ok) {
-        const { source } = await res.json();
-        setItems((prev) => prev.map((it) => (it.source.id === id ? source : it)));
-      }
-    } finally {
-      setRefreshingId(null);
-    }
-  }, []);
-
-  const generatePaper = useCallback(async () => {
-    setGenerating(true);
-    try {
-      const res = await fetch("/api/edition", { method: "POST" });
-      if (res.ok) router.push("/editions");
-    } finally {
-      setGenerating(false);
-    }
-  }, [router]);
-
-  useAction(
-    {
-      id: "refresh-all",
-      label: "Refresh all sources",
-      combo: "mod+shift+r",
-      group: "Actions",
-      run: refreshAll,
-    },
-    [refreshAll],
-  );
-  useAction(
-    {
-      id: "generate-paper",
-      label: "Generate today's paper",
-      combo: "mod+shift+g",
-      group: "Actions",
-      run: generatePaper,
-    },
-    [generatePaper],
-  );
-
-  const enabled = items.filter((it) => it.source.enabled);
-
-  return (
-    <main className="max-w-6xl mx-auto px-6 py-8">
-      <div className="flex items-center justify-between mb-6">
-        <p className="text-sm" style={{ color: "var(--text-muted)" }}>
-          {new Date().toLocaleDateString(undefined, {
-            weekday: "long",
-            month: "long",
-            day: "numeric",
-          })}
-        </p>
-        <div className="flex gap-2">
-          <Btn onClick={generatePaper} disabled={generating}>
-            {generating ? "Generating…" : "Generate paper"}
-          </Btn>
-          <Btn onClick={refreshAll} disabled={refreshingAll} primary>
-            {refreshingAll ? "Refreshing…" : "Refresh all"}
-          </Btn>
-        </div>
-      </div>
-
-      {loading ? (
-        <p style={{ color: "var(--text-faint)" }}>Loading…</p>
-      ) : (
-        <div
-          style={{
-            display: "grid",
-            gridTemplateColumns: "repeat(auto-fill, minmax(320px, 1fr))",
-            gap: 16,
-            alignItems: "start",
-          }}
-        >
-          {enabled.map((it) =>
-            it.source.kind === "todos" ? (
-              <TodosCard key={it.source.id} label={it.source.label} />
-            ) : (
-              <SourceCard
-                key={it.source.id}
-                state={it}
-                onRefresh={() => refreshOne(it.source.id)}
-                refreshing={refreshingId === it.source.id}
-              />
-            ),
-          )}
-        </div>
-      )}
-    </main>
-  );
-}
-
-function Btn({
-  children,
-  onClick,
-  disabled,
-  primary,
-}: {
-  children: React.ReactNode;
-  onClick: () => void;
-  disabled?: boolean;
-  primary?: boolean;
-}) {
-  return (
-    <button
-      onClick={onClick}
-      disabled={disabled}
-      className="px-3 py-2 text-sm font-medium"
-      style={{
-        background: primary ? "var(--accent)" : "var(--bg-elevated)",
-        color: primary ? "var(--text-on-accent)" : "var(--text)",
-        border: `1px solid ${primary ? "var(--accent)" : "var(--border-strong)"}`,
-        borderRadius: 6,
-        opacity: disabled ? 0.6 : 1,
-      }}
-    >
-      {children}
-    </button>
-  );
-}
components/EditionsView.tsx +0 −113
@@ -1,113 +0,0 @@
-"use client";
-
-import { useEffect, useState } from "react";
-import { format } from "date-fns";
-
-interface Edition {
-  id: string;
-  date: string;
-  pdfPath: string;
-  generatedAt: string;
-}
-
-export function EditionsView() {
-  const [editions, setEditions] = useState<Edition[]>([]);
-  const [generating, setGenerating] = useState(false);
-
-  async function load() {
-    const res = await fetch("/api/editions");
-    if (res.ok) setEditions((await res.json()).editions);
-  }
-  useEffect(() => {
-    void load();
-  }, []);
-
-  async function generate() {
-    setGenerating(true);
-    try {
-      await fetch("/api/edition", { method: "POST" });
-      await load();
-    } finally {
-      setGenerating(false);
-    }
-  }
-
-  return (
-    <main className="max-w-3xl mx-auto px-6 py-8 space-y-6">
-      <div className="flex items-center justify-between">
-        <h1 className="text-3xl" style={{ fontFamily: "var(--font-display)" }}>
-          The Paper
-        </h1>
-        <div className="flex gap-2">
-          <a
-            href="/print"
-            target="_blank"
-            rel="noreferrer"
-            className="px-3 py-2 text-sm"
-            style={{
-              background: "var(--bg-elevated)",
-              color: "var(--text)",
-              border: "1px solid var(--border-strong)",
-              borderRadius: 6,
-            }}
-          >
-            Preview
-          </a>
-          <button
-            onClick={generate}
-            disabled={generating}
-            className="px-3 py-2 text-sm font-medium"
-            style={{
-              background: "var(--accent)",
-              color: "var(--text-on-accent)",
-              border: "1px solid var(--accent)",
-              borderRadius: 6,
-              opacity: generating ? 0.6 : 1,
-            }}
-          >
-            {generating ? "Generating…" : "Generate edition"}
-          </button>
-        </div>
-      </div>
-
-      {editions.length === 0 ? (
-        <p style={{ color: "var(--text-faint)" }}>
-          No editions yet. Generate one — it builds a printable PDF from your current dashboard.
-        </p>
-      ) : (
-        <ul className="space-y-2">
-          {editions.map((e) => (
-            <li
-              key={e.id}
-              className="flex items-center justify-between p-4"
-              style={{ background: "var(--bg-card)", border: "1px solid var(--border)", borderRadius: 8 }}
-            >
-              <div>
-                <div className="text-sm font-medium">
-                  {format(new Date(e.generatedAt), "EEEE, MMMM d, yyyy")}
-                </div>
-                <div className="text-xs" style={{ color: "var(--text-faint)" }}>
-                  {format(new Date(e.generatedAt), "h:mm a")}
-                </div>
-              </div>
-              <a
-                href={`/api/editions/${e.id}/file`}
-                target="_blank"
-                rel="noreferrer"
-                className="px-3 py-1.5 text-sm"
-                style={{
-                  background: "var(--bg-elevated)",
-                  color: "var(--text)",
-                  border: "1px solid var(--border-strong)",
-                  borderRadius: 6,
-                }}
-              >
-                Open PDF
-              </a>
-            </li>
-          ))}
-        </ul>
-      )}
-    </main>
-  );
-}
components/OfflineBanner.tsx +0 −21
@@ -1,21 +0,0 @@
-"use client";
-
-import { useOnline } from "@/hooks/useOnline";
-
-export function OfflineBanner() {
-  const online = useOnline();
-  if (online) return null;
-  return (
-    <div
-      role="status"
-      className="fixed bottom-0 inset-x-0 z-50 px-4 py-2 text-sm text-center"
-      style={{
-        background: "var(--bg-elevated)",
-        color: "var(--text)",
-        borderTop: "1px solid var(--border-strong)",
-      }}
-    >
-      Offline. Changes are saved locally and will sync when you reconnect.
-    </div>
-  );
-}
components/ServiceWorkerRegistration.tsx +0 −14
@@ -1,14 +0,0 @@
-"use client";
-
-import { useEffect } from "react";
-
-export function ServiceWorkerRegistration() {
-  useEffect(() => {
-    if ("serviceWorker" in navigator) {
-      navigator.serviceWorker.register("/sw.js").catch(() => {
-        // SW registration failures are non-fatal
-      });
-    }
-  }, []);
-  return null;
-}
components/SettingsView.tsx +0 −366
@@ -1,366 +0,0 @@
-"use client";
-
-import { useEffect, useState } from "react";
-import { useTheme } from "@/hooks/useTheme";
-import { THEMES, MODES } from "@/lib/themes";
-import { downloadExport } from "@/lib/export";
-import { uploadImport } from "@/lib/import";
-import type { SourceState } from "@/lib/types";
-import type { Settings } from "@/lib/schemas/setting";
-
-const cardStyle = {
-  background: "var(--bg-card)",
-  border: "1px solid var(--border)",
-  borderRadius: 8,
-};
-const inputStyle = {
-  background: "var(--bg-elevated)",
-  color: "var(--text)",
-  border: "1px solid var(--border-strong)",
-  borderRadius: 6,
-};
-
-function Section({ title, children }: { title: string; children: React.ReactNode }) {
-  return (
-    <section className="p-5 space-y-4" style={cardStyle}>
-      <h2 className="text-sm uppercase tracking-widest" style={{ fontFamily: "var(--font-display)", color: "var(--text-muted)" }}>
-        {title}
-      </h2>
-      {children}
-    </section>
-  );
-}
-
-export function SettingsView() {
-  const { theme, mode, setTheme, setMode } = useTheme();
-  const [settings, setSettings] = useState<Settings | null>(null);
-  const [sources, setSources] = useState<SourceState[]>([]);
-
-  async function load() {
-    const [s, src] = await Promise.all([
-      fetch("/api/settings").then((r) => r.json()),
-      fetch("/api/sources").then((r) => r.json()),
-    ]);
-    setSettings(s.settings);
-    setSources(src.sources);
-  }
-  useEffect(() => {
-    void load();
-  }, []);
-
-  async function saveSettings(patch: Partial<Settings>) {
-    const res = await fetch("/api/settings", {
-      method: "PUT",
-      headers: { "Content-Type": "application/json" },
-      body: JSON.stringify(patch),
-    });
-    if (res.ok) setSettings((await res.json()).settings);
-  }
-
-  async function patchSource(id: string, patch: Record<string, unknown>) {
-    await fetch(`/api/sources/${id}`, {
-      method: "PATCH",
-      headers: { "Content-Type": "application/json" },
-      body: JSON.stringify(patch),
-    });
-    await load();
-  }
-
-  async function move(index: number, dir: -1 | 1) {
-    const a = sources[index];
-    const b = sources[index + dir];
-    if (!a || !b) return;
-    await Promise.all([
-      patchSource(a.source.id, { position: b.source.position }),
-      patchSource(b.source.id, { position: a.source.position }),
-    ]);
-  }
-
-  return (
-    <main className="max-w-3xl mx-auto px-6 py-8 space-y-6">
-      <h1 className="text-3xl" style={{ fontFamily: "var(--font-display)" }}>
-        Settings
-      </h1>
-
-      <Section title="Appearance">
-        <Field label="Theme">
-          <div className="flex gap-2">
-            {THEMES.map((t) => (
-              <Toggle key={t} active={theme === t} onClick={() => setTheme(t)}>{t}</Toggle>
-            ))}
-          </div>
-        </Field>
-        <Field label="Mode">
-          <div className="flex gap-2">
-            {MODES.map((m) => (
-              <Toggle key={m} active={mode === m} onClick={() => setMode(m)}>{m}</Toggle>
-            ))}
-          </div>
-        </Field>
-      </Section>
-
-      {settings && (
-        <Section title="Location & units">
-          <div className="grid grid-cols-3 gap-3">
-            <Field label="Label">
-              <input
-                style={inputStyle}
-                className="w-full px-3 py-2 text-sm"
-                defaultValue={settings.location?.label ?? ""}
-                onBlur={(e) =>
-                  saveSettings({
-                    location: {
-                      label: e.target.value,
-                      lat: settings.location?.lat ?? 0,
-                      lon: settings.location?.lon ?? 0,
-                    },
-                  })
-                }
-              />
-            </Field>
-            <Field label="Latitude">
-              <input
-                style={inputStyle}
-                className="w-full px-3 py-2 text-sm"
-                type="number"
-                step="0.0001"
-                defaultValue={settings.location?.lat ?? ""}
-                onBlur={(e) =>
-                  saveSettings({
-                    location: {
-                      label: settings.location?.label ?? "Home",
-                      lat: Number(e.target.value),
-                      lon: settings.location?.lon ?? 0,
-                    },
-                  })
-                }
-              />
-            </Field>
-            <Field label="Longitude">
-              <input
-                style={inputStyle}
-                className="w-full px-3 py-2 text-sm"
-                type="number"
-                step="0.0001"
-                defaultValue={settings.location?.lon ?? ""}
-                onBlur={(e) =>
-                  saveSettings({
-                    location: {
-                      label: settings.location?.label ?? "Home",
-                      lat: settings.location?.lat ?? 0,
-                      lon: Number(e.target.value),
-                    },
-                  })
-                }
-              />
-            </Field>
-          </div>
-          <div className="flex items-center gap-3">
-            <button
-              className="px-3 py-2 text-sm"
-              style={inputStyle}
-              onClick={() =>
-                navigator.geolocation?.getCurrentPosition((pos) =>
-                  saveSettings({
-                    location: {
-                      label: settings.location?.label || "Home",
-                      lat: Number(pos.coords.latitude.toFixed(4)),
-                      lon: Number(pos.coords.longitude.toFixed(4)),
-                    },
-                  }),
-                )
-              }
-            >
-              Use my location
-            </button>
-            <div className="flex gap-2">
-              {(["imperial", "metric"] as const).map((u) => (
-                <Toggle key={u} active={settings.units === u} onClick={() => saveSettings({ units: u })}>
-                  {u}
-                </Toggle>
-              ))}
-            </div>
-          </div>
-        </Section>
-      )}
-
-      <Section title="Sources">
-        <div className="space-y-3">
-          {sources.map((it, i) => (
-            <SourceRow
-              key={it.source.id}
-              state={it}
-              onPatch={(patch) => patchSource(it.source.id, patch)}
-              onUp={i > 0 ? () => move(i, -1) : undefined}
-              onDown={i < sources.length - 1 ? () => move(i, 1) : undefined}
-            />
-          ))}
-        </div>
-      </Section>
-
-      <Section title="Data">
-        <div className="flex gap-2">
-          <button className="px-3 py-2 text-sm" style={inputStyle} onClick={() => void downloadExport()}>
-            Export JSON
-          </button>
-          <label className="px-3 py-2 text-sm cursor-pointer" style={inputStyle}>
-            Import JSON
-            <input
-              type="file"
-              accept="application/json"
-              hidden
-              onChange={async (e) => {
-                const f = e.target.files?.[0];
-                if (!f) return;
-                try {
-                  await uploadImport(f);
-                  await load();
-                  alert("Import complete.");
-                } catch (err) {
-                  alert(`Import failed: ${err instanceof Error ? err.message : String(err)}`);
-                }
-              }}
-            />
-          </label>
-        </div>
-      </Section>
-    </main>
-  );
-}
-
-function SourceRow({
-  state,
-  onPatch,
-  onUp,
-  onDown,
-}: {
-  state: SourceState;
-  onPatch: (patch: Record<string, unknown>) => void;
-  onUp?: () => void;
-  onDown?: () => void;
-}) {
-  const { source } = state;
-  const [open, setOpen] = useState(false);
-  const configurable = source.kind === "news" || source.kind === "obsidian";
-
-  return (
-    <div className="p-3" style={{ border: "1px solid var(--border)", borderRadius: 6 }}>
-      <div className="flex items-center gap-3">
-        <input
-          type="checkbox"
-          checked={source.enabled}
-          onChange={(e) => onPatch({ enabled: e.target.checked })}
-          aria-label={`Enable ${source.label}`}
-        />
-        <span className="flex-1 text-sm font-medium">{source.label}</span>
-        <span className="text-xs" style={{ color: "var(--text-faint)" }}>
-          {state.hasModule ? (state.configured ? "ready" : "needs config") : "local"}
-        </span>
-        <label className="text-xs" style={{ color: "var(--text-muted)" }}>
-          every
-          <input
-            type="number"
-            min={30}
-            defaultValue={source.refreshSeconds}
-            onBlur={(e) => onPatch({ refreshSeconds: Number(e.target.value) })}
-            className="w-16 mx-1 px-1 py-0.5 text-xs"
-            style={inputStyle}
-          />
-          s
-        </label>
-        <button className="text-xs px-1" style={{ color: "var(--text-muted)" }} onClick={onUp} disabled={!onUp}>↑</button>
-        <button className="text-xs px-1" style={{ color: "var(--text-muted)" }} onClick={onDown} disabled={!onDown}>↓</button>
-        {configurable && (
-          <button className="text-xs px-1" style={{ color: "var(--text-accent)" }} onClick={() => setOpen((o) => !o)}>
-            {open ? "−" : "edit"}
-          </button>
-        )}
-      </div>
-      {open && configurable && <SourceConfig state={state} onPatch={onPatch} />}
-    </div>
-  );
-}
-
-function SourceConfig({
-  state,
-  onPatch,
-}: {
-  state: SourceState;
-  onPatch: (patch: Record<string, unknown>) => void;
-}) {
-  const cfg = state.source.config as Record<string, unknown>;
-  if (state.source.kind === "news") {
-    const feeds = Array.isArray(cfg.feeds) ? (cfg.feeds as string[]).join("\n") : "";
-    return (
-      <div className="mt-3 space-y-2">
-        <Field label="Feed URLs (one per line)">
-          <textarea
-            rows={4}
-            defaultValue={feeds}
-            className="w-full px-3 py-2 text-xs font-mono"
-            style={inputStyle}
-            onBlur={(e) =>
-              onPatch({
-                config: {
-                  ...cfg,
-                  feeds: e.target.value.split("\n").map((s) => s.trim()).filter(Boolean),
-                },
-              })
-            }
-          />
-        </Field>
-      </div>
-    );
-  }
-  if (state.source.kind === "obsidian") {
-    return (
-      <div className="mt-3 space-y-2">
-        <Field label="Vault path">
-          <input
-            defaultValue={String(cfg.vault ?? "")}
-            className="w-full px-3 py-2 text-xs font-mono"
-            style={inputStyle}
-            onBlur={(e) => onPatch({ config: { ...cfg, vault: e.target.value } })}
-          />
-        </Field>
-      </div>
-    );
-  }
-  return null;
-}
-
-function Field({ label, children }: { label: string; children: React.ReactNode }) {
-  return (
-    <label className="block space-y-1">
-      <span className="text-xs uppercase tracking-widest" style={{ color: "var(--text-muted)" }}>
-        {label}
-      </span>
-      {children}
-    </label>
-  );
-}
-
-function Toggle({
-  active,
-  onClick,
-  children,
-}: {
-  active: boolean;
-  onClick: () => void;
-  children: React.ReactNode;
-}) {
-  return (
-    <button
-      onClick={onClick}
-      className="px-3 py-1.5 text-sm capitalize"
-      style={{
-        background: active ? "var(--accent)" : "var(--bg-elevated)",
-        color: active ? "var(--text-on-accent)" : "var(--text)",
-        border: "1px solid var(--border)",
-        borderRadius: 6,
-      }}
-    >
-      {children}
-    </button>
-  );
-}
components/ShortcutsRoot.tsx +0 −202
@@ -1,202 +0,0 @@
-"use client";
-
-// ShortcutsRoot — global key listener + command palette + help overlay.
-// Mount once in app/layout.tsx. Pages register actions via useAction().
-
-import { useEffect, useState, useSyncExternalStore } from "react";
-import { useRouter } from "next/navigation";
-import { NAV } from "@/lib/nav";
-import {
-  shortcuts,
-  eventToCombo,
-  prettyCombo,
-  shouldIgnore,
-  type Action,
-} from "@/lib/shortcuts";
-
-export function ShortcutsRoot() {
-  const router = useRouter();
-  const [paletteOpen, setPaletteOpen] = useState(false);
-  const [helpOpen, setHelpOpen] = useState(false);
-  const [searchOpen, setSearchOpen] = useState(false);
-
-  // Built-in actions: nav jumps, palette, search, help.
-  useEffect(() => {
-    const unsubs: Array<() => void> = [];
-
-    // Nav jumps use mod+shift+N — browser owns plain mod+1..9 (tab switching).
-    NAV.slice(0, 9).forEach((item, i) => {
-      unsubs.push(
-        shortcuts.register({
-          id: `nav-${i}`,
-          label: `Go to ${item.label}`,
-          combo: `mod+shift+${i + 1}`,
-          group: "Navigation",
-          run: () => router.push(item.href),
-        }),
-      );
-    });
-
-    unsubs.push(
-      // Palette uses mod+shift+p — browser owns plain mod+p (print).
-      shortcuts.register({
-        id: "palette",
-        label: "Open command palette",
-        combo: "mod+shift+p",
-        group: "Help",
-        run: () => setPaletteOpen(true),
-      }),
-      shortcuts.register({
-        id: "search",
-        label: "Search",
-        combo: "mod+k",
-        group: "Actions",
-        run: () => setSearchOpen(true),
-      }),
-      shortcuts.register({
-        id: "help",
-        label: "Show keyboard shortcuts",
-        combo: "?",
-        group: "Help",
-        run: () => setHelpOpen(true),
-      }),
-    );
-
-    return () => { for (const u of unsubs) u(); };
-  }, [router]);
-
-  // Global key listener.
-  useEffect(() => {
-    const handler = (e: KeyboardEvent) => {
-      // Always allow Escape to close overlays even from inputs.
-      if (e.key === "Escape") {
-        if (paletteOpen) { setPaletteOpen(false); e.preventDefault(); return; }
-        if (helpOpen)    { setHelpOpen(false);    e.preventDefault(); return; }
-        if (searchOpen)  { setSearchOpen(false);  e.preventDefault(); return; }
-      }
-
-      if (shouldIgnore(e)) return;
-
-      const combo = eventToCombo(e);
-      const action = shortcuts.byCombo(combo);
-      if (action) {
-        e.preventDefault();
-        void action.run();
-      }
-    };
-    window.addEventListener("keydown", handler);
-    return () => window.removeEventListener("keydown", handler);
-  }, [paletteOpen, helpOpen, searchOpen]);
-
-  return (
-    <>
-      {paletteOpen && <CommandPalette onClose={() => setPaletteOpen(false)} />}
-      {helpOpen && <ShortcutsHelp onClose={() => setHelpOpen(false)} />}
-      {searchOpen && <SearchModal onClose={() => setSearchOpen(false)} />}
-    </>
-  );
-}
-
-// ─── Command palette ──────────────────────────────────────────────────
-
-function useShortcutsList(): Action[] {
-  return useSyncExternalStore(
-    (cb) => shortcuts.subscribe(cb),
-    () => shortcuts.list(),
-    () => shortcuts.list(),
-  );
-}
-
-function CommandPalette({ onClose }: { onClose: () => void }) {
-  const all = useShortcutsList();
-  const [q, setQ] = useState("");
-  const filtered = q
-    ? all.filter((a) =>
-        (a.label + " " + a.group + " " + (a.hint ?? "")).toLowerCase().includes(q.toLowerCase()),
-      )
-    : all;
-
-  return (
-    <Overlay onClose={onClose}>
-      <div className="sc-palette" onClick={(e) => e.stopPropagation()}>
-        <input
-          autoFocus
-          value={q}
-          onChange={(e) => setQ(e.target.value)}
-          placeholder="Type a command…"
-          className="sc-palette-input"
-        />
-        <ul className="sc-palette-list">
-          {filtered.length === 0 && <li className="sc-palette-empty">No matches</li>}
-          {filtered.map((a) => (
-            <li key={a.id}>
-              <button
-                className="sc-palette-item"
-                onClick={() => { void a.run(); onClose(); }}
-              >
-                <span className="sc-palette-group">{a.group}</span>
-                <span className="sc-palette-label">{a.label}</span>
-                {a.combo && <kbd className="sc-kbd">{prettyCombo(a.combo)}</kbd>}
-              </button>
-            </li>
-          ))}
-        </ul>
-      </div>
-    </Overlay>
-  );
-}
-
-// ─── Help overlay ─────────────────────────────────────────────────────
-
-function ShortcutsHelp({ onClose }: { onClose: () => void }) {
-  const all = useShortcutsList().filter((a) => a.combo);
-  const groups: Record<string, Action[]> = {};
-  for (const a of all) (groups[a.group] ||= []).push(a);
-
-  return (
-    <Overlay onClose={onClose}>
-      <div className="sc-help" onClick={(e) => e.stopPropagation()}>
-        <header className="sc-help-header">
-          <h2>Keyboard shortcuts</h2>
-          <button className="sc-help-close" onClick={onClose} aria-label="Close">×</button>
-        </header>
-        {Object.entries(groups).map(([group, actions]) => (
-          <section key={group}>
-            <h3>{group}</h3>
-            <ul>
-              {actions.map((a) => (
-                <li key={a.id}>
-                  <span>{a.label}</span>
-                  <kbd className="sc-kbd">{prettyCombo(a.combo!)}</kbd>
-                </li>
-              ))}
-            </ul>
-          </section>
-        ))}
-      </div>
-    </Overlay>
-  );
-}
-
-// ─── Search modal (placeholder) ───────────────────────────────────────
-
-function SearchModal({ onClose }: { onClose: () => void }) {
-  return (
-    <Overlay onClose={onClose}>
-      <div className="sc-search" onClick={(e) => e.stopPropagation()}>
-        <input autoFocus placeholder="Search…" className="sc-palette-input" />
-        <p className="sc-search-hint">
-          TODO: wire global search. Esc to close.
-        </p>
-      </div>
-    </Overlay>
-  );
-}
-
-function Overlay({ children, onClose }: { children: React.ReactNode; onClose: () => void }) {
-  return (
-    <div className="sc-overlay" onClick={onClose} role="dialog" aria-modal="true">
-      {children}
-    </div>
-  );
-}
components/ThemeInitializer.tsx +0 −16
@@ -1,16 +0,0 @@
-"use client";
-
-import { useEffect } from "react";
-import { useTheme } from "@/hooks/useTheme";
-
-export function ThemeInitializer() {
-  // Calling the hook applies the persisted theme and mode, and subscribes
-  // the document to system light/dark changes.
-  useTheme();
-
-  useEffect(() => {
-    document.documentElement.setAttribute("data-ready", "true");
-  }, []);
-
-  return null;
-}
components/cards/CardBodies.tsx +0 −285
@@ -1,285 +0,0 @@
-"use client";
-
-// Per-kind renderers for a source's payload. Each takes the (already ok) payload
-// and renders a compact card body. Unknown kinds fall back to JSON.
-
-import type { WeatherPayload } from "@/lib/schemas/sources/weather";
-import type { NewsPayload } from "@/lib/schemas/sources/news";
-import type { OnThisDayPayload } from "@/lib/schemas/sources/onthisday";
-import type { ObsidianPayload } from "@/lib/schemas/sources/obsidian";
-import type { GitHubPayload } from "@/lib/schemas/sources/github";
-import type { VercelPayload } from "@/lib/schemas/sources/vercel";
-import type { MastodonPayload } from "@/lib/schemas/sources/mastodon";
-import type { BlueskyPayload } from "@/lib/schemas/sources/bluesky";
-import type { CalendarPayload } from "@/lib/schemas/sources/calendar";
-import type { SportsPayload } from "@/lib/schemas/sources/sports";
-import type { SourceKind } from "@/lib/schemas/source";
-
-const muted = { color: "var(--text-muted)" };
-const faint = { color: "var(--text-faint)" };
-
-function dayName(iso: string) {
-  return new Date(iso + "T00:00:00").toLocaleDateString(undefined, { weekday: "short" });
-}
-
-function WeatherBody({ p }: { p: WeatherPayload }) {
-  const deg = p.units === "metric" ? "°C" : "°F";
-  const wind = p.units === "metric" ? "km/h" : "mph";
-  return (
-    <div>
-      <div className="flex items-baseline gap-3">
-        <span className="text-4xl" style={{ fontFamily: "var(--font-display)" }}>
-          {p.current.temp}
-          {deg}
-        </span>
-        <span style={muted}>{p.current.text}</span>
-      </div>
-      <p className="text-xs mt-1" style={faint}>
-        {p.location} · wind {p.current.wind} {wind}
-        {p.current.humidity != null ? ` · ${p.current.humidity}% humidity` : ""}
-      </p>
-      <div className="flex gap-4 mt-3">
-        {p.daily.map((d) => (
-          <div key={d.date} className="text-center">
-            <div className="text-xs" style={muted}>{dayName(d.date)}</div>
-            <div className="text-sm font-medium">{d.max}°</div>
-            <div className="text-xs" style={faint}>{d.min}°</div>
-            {d.precipProb != null && d.precipProb > 0 && (
-              <div className="text-xs" style={{ color: "var(--blue)" }}>{d.precipProb}%</div>
-            )}
-          </div>
-        ))}
-      </div>
-    </div>
-  );
-}
-
-function NewsBody({ p }: { p: NewsPayload }) {
-  return (
-    <ul className="space-y-2">
-      {p.items.map((it, i) => (
-        <li key={i} className="text-sm leading-snug">
-          <a href={it.link} target="_blank" rel="noreferrer" style={{ color: "var(--text)" }}>
-            {it.title}
-          </a>
-          <span className="ml-1 text-xs" style={faint}>· {it.source}</span>
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function Entries({ list }: { list: OnThisDayPayload["events"] }) {
-  return (
-    <ul className="space-y-1">
-      {list.map((e, i) => (
-        <li key={i} className="text-sm leading-snug">
-          {e.year != null && (
-            <span className="font-medium" style={{ fontFamily: "var(--font-mono)" }}>
-              {e.year}{" "}
-            </span>
-          )}
-          {e.link ? (
-            <a href={e.link} target="_blank" rel="noreferrer" style={{ color: "var(--text)" }}>
-              {e.text}
-            </a>
-          ) : (
-            e.text
-          )}
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function OnThisDayBody({ p }: { p: OnThisDayPayload }) {
-  return (
-    <div className="space-y-3">
-      <Entries list={p.events} />
-      {p.births.length > 0 && (
-        <div>
-          <h4 className="text-xs uppercase tracking-widest mb-1" style={muted}>Born</h4>
-          <Entries list={p.births} />
-        </div>
-      )}
-      {p.deaths.length > 0 && (
-        <div>
-          <h4 className="text-xs uppercase tracking-widest mb-1" style={muted}>Died</h4>
-          <Entries list={p.deaths} />
-        </div>
-      )}
-    </div>
-  );
-}
-
-function ObsidianBody({ p }: { p: ObsidianPayload }) {
-  return (
-    <ul className="space-y-1">
-      {p.notes.map((n) => (
-        <li key={n.path} className="flex justify-between gap-3 text-sm">
-          <span className="truncate">{n.title}</span>
-          <span className="text-xs whitespace-nowrap" style={faint}>
-            {new Date(n.modified).toLocaleDateString(undefined, { month: "short", day: "numeric" })}
-          </span>
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function shortTime(iso: string) {
-  return new Date(iso).toLocaleString(undefined, {
-    month: "short",
-    day: "numeric",
-    hour: "numeric",
-    minute: "2-digit",
-  });
-}
-
-function GitHubBody({ p }: { p: GitHubPayload }) {
-  return (
-    <div>
-      <p className="text-xs mb-2" style={faint}>
-        @{p.login} · {p.publicRepos} repos · {p.followers} followers
-      </p>
-      <ul className="space-y-1">
-        {p.events.slice(0, 8).map((e, i) => (
-          <li key={i} className="text-sm flex justify-between gap-2">
-            <span className="truncate">
-              <span style={muted}>{e.type}</span> {e.repo}
-            </span>
-          </li>
-        ))}
-      </ul>
-    </div>
-  );
-}
-
-function VercelBody({ p }: { p: VercelPayload }) {
-  return (
-    <ul className="space-y-1">
-      {p.deployments.map((d, i) => (
-        <li key={i} className="text-sm flex justify-between gap-2">
-          <span className="truncate">
-            {d.url ? (
-              <a href={d.url} target="_blank" rel="noreferrer" style={{ color: "var(--text)" }}>
-                {d.name}
-              </a>
-            ) : (
-              d.name
-            )}
-            <span className="ml-1 text-xs" style={faint}>· {d.target}</span>
-          </span>
-          <span className="text-xs whitespace-nowrap" style={muted}>{d.state}</span>
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function SocialBody({ items }: { items: Array<{ who: string; text: string; tag: string; link?: string | null }> }) {
-  if (items.length === 0) return <p className="text-sm" style={faint}>Nothing recent.</p>;
-  return (
-    <ul className="space-y-2">
-      {items.map((n, i) => (
-        <li key={i} className="text-sm leading-snug">
-          <span className="font-medium">{n.who}</span>
-          <span className="ml-1 text-xs" style={faint}>{n.tag}</span>
-          {n.text && (
-            <div style={muted}>
-              {n.link ? (
-                <a href={n.link} target="_blank" rel="noreferrer" style={{ color: "var(--text)" }}>
-                  {n.text}
-                </a>
-              ) : (
-                n.text
-              )}
-            </div>
-          )}
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function CalendarBody({ p }: { p: CalendarPayload }) {
-  if (p.events.length === 0) return <p className="text-sm" style={faint}>No upcoming events.</p>;
-  return (
-    <ul className="space-y-1">
-      {p.events.map((e, i) => (
-        <li key={i} className="text-sm flex justify-between gap-3">
-          <span className="truncate">{e.summary}</span>
-          <span className="text-xs whitespace-nowrap" style={faint}>
-            {e.allDay
-              ? new Date(e.start).toLocaleDateString(undefined, { month: "short", day: "numeric" })
-              : shortTime(e.start)}
-          </span>
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-function SportsBody({ p }: { p: SportsPayload }) {
-  if (p.games.length === 0) return <p className="text-sm" style={faint}>No games today.</p>;
-  return (
-    <ul className="space-y-1">
-      {p.games.map((g, i) => (
-        <li key={i} className="text-sm flex justify-between gap-3">
-          <span className="truncate">
-            {g.away} {g.awayScore ?? ""} @ {g.home} {g.homeScore ?? ""}
-          </span>
-          <span className="text-xs whitespace-nowrap" style={faint}>{g.status}</span>
-        </li>
-      ))}
-    </ul>
-  );
-}
-
-export function CardBody({ kind, payload }: { kind: SourceKind; payload: unknown }) {
-  switch (kind) {
-    case "weather":
-      return <WeatherBody p={payload as WeatherPayload} />;
-    case "news":
-      return <NewsBody p={payload as NewsPayload} />;
-    case "onthisday":
-      return <OnThisDayBody p={payload as OnThisDayPayload} />;
-    case "obsidian":
-      return <ObsidianBody p={payload as ObsidianPayload} />;
-    case "github":
-      return <GitHubBody p={payload as GitHubPayload} />;
-    case "vercel":
-      return <VercelBody p={payload as VercelPayload} />;
-    case "mastodon":
-      return (
-        <SocialBody
-          items={(payload as MastodonPayload).notifications.map((n) => ({
-            who: n.account,
-            text: n.text,
-            tag: n.type,
-            link: n.url,
-          }))}
-        />
-      );
-    case "bluesky":
-      return (
-        <SocialBody
-          items={(payload as BlueskyPayload).notifications.map((n) => ({
-            who: n.author,
-            text: n.text,
-            tag: n.reason,
-          }))}
-        />
-      );
-    case "calendar":
-      return <CalendarBody p={payload as CalendarPayload} />;
-    case "sports":
-      return <SportsBody p={payload as SportsPayload} />;
-    default:
-      return (
-        <pre className="text-xs overflow-auto" style={faint}>
-          {JSON.stringify(payload, null, 2)}
-        </pre>
-      );
-  }
-}
components/cards/SourceCard.tsx +0 −105
@@ -1,105 +0,0 @@
-"use client";
-
-import Link from "next/link";
-import { formatDistanceToNow } from "date-fns";
-import type { SourceState } from "@/lib/types";
-import { CardBody } from "./CardBodies";
-
-export function CardShell({
-  title,
-  meta,
-  onRefresh,
-  refreshing,
-  children,
-}: {
-  title: string;
-  meta?: string;
-  onRefresh?: () => void;
-  refreshing?: boolean;
-  children: React.ReactNode;
-}) {
-  return (
-    <section
-      className="card p-4 flex flex-col"
-      style={{
-        background: "var(--bg-card)",
-        border: "1px solid var(--border)",
-        borderRadius: 8,
-      }}
-    >
-      <header className="flex items-center justify-between mb-3">
-        <h2
-          className="text-xs uppercase tracking-widest"
-          style={{ fontFamily: "var(--font-display)", color: "var(--text-muted)" }}
-        >
-          {title}
-        </h2>
-        <div className="flex items-center gap-2">
-          {meta && <span className="text-xs" style={{ color: "var(--text-faint)" }}>{meta}</span>}
-          {onRefresh && (
-            <button
-              onClick={onRefresh}
-              disabled={refreshing}
-              aria-label={`Refresh ${title}`}
-              className="text-xs px-1"
-              style={{ color: "var(--text-muted)", opacity: refreshing ? 0.5 : 1 }}
-            >
-              {refreshing ? "…" : "↻"}
-            </button>
-          )}
-        </div>
-      </header>
-      <div className="flex-1">{children}</div>
-    </section>
-  );
-}
-
-export function SourceCard({
-  state,
-  onRefresh,
-  refreshing,
-}: {
-  state: SourceState;
-  onRefresh: () => void;
-  refreshing: boolean;
-}) {
-  const { source, configured, hasModule, snapshot } = state;
-
-  const meta = snapshot?.ok
-    ? `${formatDistanceToNow(new Date(snapshot.fetchedAt))} ago`
-    : undefined;
-
-  let body: React.ReactNode;
-  if (!hasModule) {
-    body = <Note>No fetcher for this source.</Note>;
-  } else if (!configured) {
-    body = (
-      <Note>
-        Needs configuration.{" "}
-        <Link href="/settings" style={{ color: "var(--text-accent)" }}>
-          Open settings →
-        </Link>
-      </Note>
-    );
-  } else if (!snapshot) {
-    body = <Note>Loading…</Note>;
-  } else if (!snapshot.ok) {
-    body = <Note tone="error">{snapshot.error ?? "Failed to load."}</Note>;
-  } else {
-    body = <CardBody kind={source.kind} payload={snapshot.payload} />;
-  }
-
-  return (
-    <CardShell title={source.label} meta={meta} onRefresh={onRefresh} refreshing={refreshing}>
-      {body}
-    </CardShell>
-  );
-}
-
-function Note({ children, tone }: { children: React.ReactNode; tone?: "error" }) {
-  return (
-    <p className="text-sm" style={{ color: tone === "error" ? "var(--red)" : "var(--text-faint)" }}>
-      {children}
-    </p>
-  );
-}
components/cards/TodosCard.tsx +0 −106
@@ -1,106 +0,0 @@
-"use client";
-
-import { useEffect, useRef, useState } from "react";
-import type { Todo } from "@/lib/types";
-import { CardShell } from "./SourceCard";
-
-export function TodosCard({ label }: { label: string }) {
-  const [todos, setTodos] = useState<Todo[]>([]);
-  const [title, setTitle] = useState("");
-  const inputRef = useRef<HTMLInputElement>(null);
-
-  async function load() {
-    const res = await fetch("/api/todos");
-    if (res.ok) setTodos((await res.json()).todos);
-  }
-  useEffect(() => {
-    void load();
-  }, []);
-
-  async function add(e: React.FormEvent) {
-    e.preventDefault();
-    const t = title.trim();
-    if (!t) return;
-    setTitle("");
-    const res = await fetch("/api/todos", {
-      method: "POST",
-      headers: { "Content-Type": "application/json" },
-      body: JSON.stringify({ title: t }),
-    });
-    if (res.ok) {
-      const { todo } = await res.json();
-      setTodos((prev) => [todo, ...prev]);
-    }
-  }
-
-  async function toggle(todo: Todo) {
-    setTodos((prev) => prev.map((x) => (x.id === todo.id ? { ...x, done: !x.done } : x)));
-    await fetch(`/api/todos/${todo.id}`, {
-      method: "PATCH",
-      headers: { "Content-Type": "application/json" },
-      body: JSON.stringify({ done: !todo.done }),
-    });
-  }
-
-  async function remove(todo: Todo) {
-    setTodos((prev) => prev.filter((x) => x.id !== todo.id));
-    await fetch(`/api/todos/${todo.id}`, { method: "DELETE" });
-  }
-
-  const open = todos.filter((t) => !t.done);
-  const done = todos.filter((t) => t.done);
-
-  return (
-    <CardShell title={label} meta={open.length ? `${open.length} open` : undefined}>
-      <form onSubmit={add} className="mb-3">
-        <input
-          ref={inputRef}
-          value={title}
-          onChange={(e) => setTitle(e.target.value)}
-          placeholder="Add a todo…"
-          className="w-full px-3 py-2 text-sm"
-          style={{
-            background: "var(--bg-elevated)",
-            color: "var(--text)",
-            border: "1px solid var(--border-strong)",
-            borderRadius: 6,
-          }}
-        />
-      </form>
-      <ul className="space-y-1">
-        {[...open, ...done].map((t) => (
-          <li key={t.id} className="group flex items-center gap-2 text-sm">
-            <input
-              type="checkbox"
-              checked={t.done}
-              onChange={() => toggle(t)}
-              aria-label={t.title}
-            />
-            <span
-              className="flex-1"
-              style={{
-                color: t.done ? "var(--text-faint)" : "var(--text)",
-                textDecoration: t.done ? "line-through" : "none",
-              }}
-            >
-              {t.title}
-            </span>
-            <button
-              onClick={() => remove(t)}
-              aria-label="Delete"
-              className="opacity-0 group-hover:opacity-100 text-xs"
-              style={{ color: "var(--text-faint)" }}
-            >
-              ✕
-            </button>
-          </li>
-        ))}
-        {todos.length === 0 && (
-          <li className="text-sm" style={{ color: "var(--text-faint)" }}>
-            Nothing yet.
-          </li>
-        )}
-      </ul>
-    </CardShell>
-  );
-}
db/index.ts +0 −20
@@ -1,20 +0,0 @@
-// db/index.ts — server-side Drizzle client over local SQLite (better-sqlite3).
-// Imported by /api routes and server scripts. Never import from client components.
-//
-// The DB file lives at <repo>/data/dashboard.db (gitignored). No cloud, no network.
-
-import Database from "better-sqlite3";
-import { drizzle } from "drizzle-orm/better-sqlite3";
-import { mkdirSync } from "node:fs";
-import { dirname, resolve } from "node:path";
-import * as schema from "./schema";
-
-const dbPath = process.env.DATABASE_PATH ?? resolve(process.cwd(), "data/dashboard.db");
-mkdirSync(dirname(dbPath), { recursive: true });
-
-const sqlite = new Database(dbPath);
-sqlite.pragma("journal_mode = WAL");
-sqlite.pragma("foreign_keys = ON");
-
-export const db = drizzle(sqlite, { schema });
-export { schema };
db/schema.ts +0 −85
@@ -1,85 +0,0 @@
-// db/schema.ts — local SQLite schema (Drizzle, better-sqlite3).
-// Single-user, local-only. No users table — everything belongs to the one local user.
-
-import { sql } from "drizzle-orm";
-import {
-  sqliteTable,
-  text,
-  integer,
-  index,
-} from "drizzle-orm/sqlite-core";
-
-// A configured data source shown on the dashboard.
-export const sources = sqliteTable("sources", {
-  id: text("id").primaryKey(),
-  kind: text("kind").notNull(),
-  label: text("label").notNull(),
-  enabled: integer("enabled", { mode: "boolean" }).notNull().default(true),
-  config: text("config", { mode: "json" }).notNull().default(sql`'{}'`),
-  refreshSeconds: integer("refresh_seconds").notNull().default(900),
-  position: integer("position").notNull().default(0),
-});
-
-// Cached fetch result per source.
-export const snapshots = sqliteTable(
-  "snapshots",
-  {
-    id: text("id").primaryKey(),
-    sourceId: text("source_id")
-      .notNull()
-      .references(() => sources.id, { onDelete: "cascade" }),
-    payload: text("payload", { mode: "json" }),
-    fetchedAt: text("fetched_at").notNull(),
-    ok: integer("ok", { mode: "boolean" }).notNull().default(true),
-    error: text("error"),
-  },
-  (t) => ({
-    sourceIdx: index("snapshots_source_idx").on(t.sourceId),
-    fetchedIdx: index("snapshots_fetched_idx").on(t.fetchedAt),
-  }),
-);
-
-// Local todos (this app owns them).
-export const todos = sqliteTable(
-  "todos",
-  {
-    id: text("id").primaryKey(),
-    title: text("title").notNull(),
-    done: integer("done", { mode: "boolean" }).notNull().default(false),
-    due: text("due"),
-    createdAt: text("created_at").notNull(),
-  },
-  (t) => ({
-    createdIdx: index("todos_created_idx").on(t.createdAt),
-  }),
-);
-
-// Generated daily PDF "newspaper" editions.
-export const editions = sqliteTable(
-  "editions",
-  {
-    id: text("id").primaryKey(),
-    date: text("date").notNull(),
-    pdfPath: text("pdf_path").notNull(),
-    generatedAt: text("generated_at").notNull(),
-  },
-  (t) => ({
-    dateIdx: index("editions_date_idx").on(t.date),
-  }),
-);
-
-// App settings as key/value JSON rows.
-export const settings = sqliteTable("settings", {
-  key: text("key").primaryKey(),
-  value: text("value", { mode: "json" }),
-});
-
-export type SourceRow = typeof sources.$inferSelect;
-export type NewSourceRow = typeof sources.$inferInsert;
-export type SnapshotRow = typeof snapshots.$inferSelect;
-export type NewSnapshotRow = typeof snapshots.$inferInsert;
-export type TodoRow = typeof todos.$inferSelect;
-export type NewTodoRow = typeof todos.$inferInsert;
-export type EditionRow = typeof editions.$inferSelect;
-export type NewEditionRow = typeof editions.$inferInsert;
-export type SettingRow = typeof settings.$inferSelect;
drizzle.config.ts +0 −11
@@ -1,11 +0,0 @@
-import { defineConfig } from "drizzle-kit";
-import { resolve } from "node:path";
-
-export default defineConfig({
-  schema: "./db/schema.ts",
-  out: "./db/migrations",
-  dialect: "sqlite",
-  dbCredentials: {
-    url: process.env.DATABASE_PATH ?? resolve(process.cwd(), "data/dashboard.db"),
-  },
-});
hooks/useAction.ts +0 −14
@@ -1,14 +0,0 @@
-"use client";
-
-// useAction — register a page-level action with the global shortcut registry.
-// Action shows up in the command palette and (if combo provided) shortcuts help.
-
-import { useEffect } from "react";
-import { shortcuts, type Action } from "@/lib/shortcuts";
-
-export function useAction(action: Action, deps: React.DependencyList = []) {
-  useEffect(() => {
-    return shortcuts.register(action);
-    // eslint-disable-next-line react-hooks/exhaustive-deps
-  }, deps);
-}
hooks/useOnline.ts +0 −21
@@ -1,21 +0,0 @@
-"use client";
-
-import { useEffect, useState } from "react";
-
-export function useOnline() {
-  const [online, setOnline] = useState(true);
-
-  useEffect(() => {
-    const up = () => setOnline(true);
-    const down = () => setOnline(false);
-    window.addEventListener("online", up);
-    window.addEventListener("offline", down);
-    setOnline(navigator.onLine);
-    return () => {
-      window.removeEventListener("online", up);
-      window.removeEventListener("offline", down);
-    };
-  }, []);
-
-  return online;
-}
hooks/useSyncQueue.ts +0 −39
@@ -1,39 +0,0 @@
-"use client";
-
-import { useEffect } from "react";
-import { getPendingWrites, clearPendingWrite } from "@/lib/db";
-
-export function useSyncQueue() {
-  useEffect(() => {
-    let cancelled = false;
-
-    async function drain() {
-      if (cancelled) return;
-      const pending = await getPendingWrites();
-      for (const w of pending) {
-        if (cancelled) return;
-        try {
-          const method =
-            w.op === "delete" ? "DELETE" : w.op === "create" ? "POST" : "PUT";
-          const res = await fetch(w.endpoint, {
-            method,
-            headers: { "Content-Type": "application/json" },
-            body: JSON.stringify(w.body),
-          });
-          if (res.ok) await clearPendingWrite(w.id);
-        } catch {
-          return; // try again on next online event
-        }
-      }
-    }
-
-    const handle = () => { void drain(); };
-    window.addEventListener("online", handle);
-    void drain();
-
-    return () => {
-      cancelled = true;
-      window.removeEventListener("online", handle);
-    };
-  }, []);
-}
hooks/useTheme.ts +0 −56
@@ -1,56 +0,0 @@
-"use client";
-
-import { useEffect, useState } from "react";
-import { resolveTheme, type Theme, type Mode } from "@/lib/themes";
-
-const STORAGE_KEY = "app-theme";
-
-interface Stored {
-  theme?: Theme;
-  mode?: Mode;
-}
-
-export function useTheme() {
-  const [theme, setThemeState] = useState<Theme>("flexoki");
-  const [mode, setModeState] = useState<Mode>("auto");
-
-  // hydrate from localStorage
-  useEffect(() => {
-    try {
-      const raw = localStorage.getItem(STORAGE_KEY);
-      if (raw) {
-        const parsed = JSON.parse(raw) as Stored;
-        if (parsed.theme) setThemeState(parsed.theme);
-        if (parsed.mode) setModeState(parsed.mode);
-      }
-    } catch {}
-  }, []);
-
-  // apply whenever theme or mode change
-  useEffect(() => {
-    const applied = resolveTheme(theme, mode);
-    document.documentElement.dataset.theme = applied;
-    try {
-      localStorage.setItem(STORAGE_KEY, JSON.stringify({ theme, mode }));
-      document.cookie = `app-theme=${applied}; Path=/; Max-Age=31536000; SameSite=Lax`;
-    } catch {}
-  }, [theme, mode]);
-
-  // react to system preference changes if mode === "auto"
-  useEffect(() => {
-    if (mode !== "auto") return;
-    const mql = window.matchMedia("(prefers-color-scheme: dark)");
-    const handler = () => {
-      document.documentElement.dataset.theme = resolveTheme(theme, "auto");
-    };
-    mql.addEventListener("change", handler);
-    return () => mql.removeEventListener("change", handler);
-  }, [theme, mode]);
-
-  return {
-    theme,
-    mode,
-    setTheme: setThemeState,
-    setMode: setModeState,
-  };
-}
lib/api.ts +0 −43
@@ -1,43 +0,0 @@
-// lib/api.ts — shared helpers for route handlers. Error shape matches the kit:
-// { error: { code, message } } with a matching HTTP status.
-
-import { ZodError } from "zod";
-import { AuthError } from "./auth";
-
-export function ok(data: unknown, init?: ResponseInit): Response {
-  return Response.json(data, init);
-}
-
-export function apiError(code: string, message: string, status: number): Response {
-  return Response.json({ error: { code, message } }, { status });
-}
-
-type Handler = (req: Request, ctx: { params: Promise<Record<string, string>> }) => Promise<Response>;
-
-// Wrap a handler so thrown ZodError/AuthError/Error become clean JSON responses.
-export function withErrors(handler: Handler): Handler {
-  return async (req, ctx) => {
-    try {
-      return await handler(req, ctx);
-    } catch (err) {
-      if (err instanceof ZodError) {
-        return apiError("invalid_input", "Validation failed", 400);
-      }
-      if (err instanceof AuthError) {
-        return apiError("unauthorized", err.message, err.status);
-      }
-      const message = err instanceof Error ? err.message : "Unknown error";
-      return apiError("internal_error", message, 500);
-    }
-  };
-}
-
-export async function parseJson<T>(req: Request, schema: { parse(v: unknown): T }): Promise<T> {
-  let body: unknown;
-  try {
-    body = await req.json();
-  } catch {
-    throw new ZodError([]);
-  }
-  return schema.parse(body);
-}
lib/auth.ts +0 −19
@@ -1,19 +0,0 @@
-// lib/auth.ts — local single-user shim.
-//
-// This dashboard runs only on localhost for one person, so there is no real auth.
-// Every request is the same user. Routes still call requireUser(req) to keep the
-// kit's API shape (and to make adding real auth later a one-file change).
-
-export const LOCAL_USER_ID = "local";
-
-export class AuthError extends Error {
-  constructor(public status = 401, message = "Unauthorized") {
-    super(message);
-  }
-}
-
-// Always resolves to the single local user. `req` is accepted for signature
-// compatibility with the kit and future auth.
-export async function requireUser(_req?: Request): Promise<string> {
-  return LOCAL_USER_ID;
-}
lib/db.ts +0 −82
@@ -1,82 +0,0 @@
-"use client";
-
-import { openDB, type IDBPDatabase } from "idb";
-
-const DB_NAME = "app-cache";
-const DB_VERSION = 1;
-
-export interface CachedDoc {
-  id: string;
-  payload: unknown;
-  cachedAt: number;
-}
-
-export interface PendingWrite {
-  id: string;
-  op: "create" | "update" | "delete";
-  endpoint: string;
-  body: unknown;
-  createdAt: number;
-}
-
-let dbPromise: Promise<IDBPDatabase> | null = null;
-
-function getDB(): Promise<IDBPDatabase> {
-  if (!dbPromise) {
-    dbPromise = openDB(DB_NAME, DB_VERSION, {
-      upgrade(db) {
-        if (!db.objectStoreNames.contains("docs")) {
-          db.createObjectStore("docs", { keyPath: "id" });
-        }
-        if (!db.objectStoreNames.contains("pending")) {
-          db.createObjectStore("pending", { keyPath: "id" });
-        }
-      },
-    });
-  }
-  return dbPromise;
-}
-
-export async function getCached(id: string): Promise<CachedDoc | undefined> {
-  return (await getDB()).get("docs", id) as Promise<CachedDoc | undefined>;
-}
-
-export async function setCached(doc: CachedDoc): Promise<void> {
-  await (await getDB()).put("docs", doc);
-}
-
-export async function deleteCached(id: string): Promise<void> {
-  await (await getDB()).delete("docs", id);
-}
-
-export async function getAllCached(): Promise<CachedDoc[]> {
-  return (await getDB()).getAll("docs") as Promise<CachedDoc[]>;
-}
-
-export async function enqueueWrite(w: PendingWrite): Promise<void> {
-  await (await getDB()).put("pending", w);
-}
-
-export async function getPendingWrites(): Promise<PendingWrite[]> {
-  return (await getDB()).getAll("pending") as Promise<PendingWrite[]>;
-}
-
-export async function clearPendingWrite(id: string): Promise<void> {
-  await (await getDB()).delete("pending", id);
-}
-
-// Optimistic write helper — update cache and enqueue remote sync.
-export async function optimisticWrite<T extends { id: string }>(
-  doc: T,
-  endpoint: string,
-  op: PendingWrite["op"] = "update",
-): Promise<void> {
-  await setCached({ id: doc.id, payload: doc, cachedAt: Date.now() });
-  await enqueueWrite({
-    id: `${doc.id}-${Date.now()}`,
-    op,
-    endpoint,
-    body: doc,
-    createdAt: Date.now(),
-  });
-}
lib/edition-data.ts +0 −41
@@ -1,41 +0,0 @@
-// lib/edition-data.ts — server-side: gather the latest cached payloads for the
-// newspaper edition. Reads current snapshots only (no network).
-
-import { listSources, latestSnapshot, listTodos } from "@/lib/store";
-import type { WeatherPayload } from "@/lib/schemas/sources/weather";
-import type { NewsPayload } from "@/lib/schemas/sources/news";
-import type { OnThisDayPayload } from "@/lib/schemas/sources/onthisday";
-import type { ObsidianPayload } from "@/lib/schemas/sources/obsidian";
-import type { TodoRow } from "@/db/schema";
-
-export interface EditionData {
-  date: string;
-  weather: WeatherPayload | null;
-  onthisday: OnThisDayPayload | null;
-  news: NewsPayload | null;
-  obsidian: ObsidianPayload | null;
-  todos: TodoRow[];
-}
-
-function payloadFor<T>(kind: string): T | null {
-  const source = listSources().find((s) => s.kind === kind && s.enabled);
-  if (!source) return null;
-  const snap = latestSnapshot(source.id);
-  return snap?.ok && snap.payload ? (snap.payload as T) : null;
-}
-
-export function gatherEdition(): EditionData {
-  return {
-    date: new Date().toLocaleDateString(undefined, {
-      weekday: "long",
-      year: "numeric",
-      month: "long",
-      day: "numeric",
-    }),
-    weather: payloadFor<WeatherPayload>("weather"),
-    onthisday: payloadFor<OnThisDayPayload>("onthisday"),
-    news: payloadFor<NewsPayload>("news"),
-    obsidian: payloadFor<ObsidianPayload>("obsidian"),
-    todos: listTodos().filter((t) => !t.done),
-  };
-}
lib/export.ts +0 −18
@@ -1,18 +0,0 @@
-"use client";
-
-export async function downloadExport(): Promise<void> {
-  const res = await fetch("/api/export");
-  if (!res.ok) throw new Error(`Export failed: ${res.status}`);
-
-  const blob = await res.blob();
-  const url = URL.createObjectURL(blob);
-
-  const a = document.createElement("a");
-  a.href = url;
-  a.download = `export-${new Date().toISOString().slice(0, 10)}.json`;
-  document.body.appendChild(a);
-  a.click();
-  a.remove();
-
-  URL.revokeObjectURL(url);
-}
lib/import.ts +0 −20
@@ -1,20 +0,0 @@
-"use client";
-
-export async function uploadImport(file: File): Promise<void> {
-  const text = await file.text();
-
-  // validate JSON before upload for a clearer error
-  try {
-    JSON.parse(text);
-  } catch {
-    throw new Error("File is not valid JSON");
-  }
-
-  const res = await fetch("/api/import", {
-    method: "POST",
-    headers: { "Content-Type": "application/json" },
-    body: text,
-  });
-
-  if (!res.ok) throw new Error(`Import failed: ${await res.text()}`);
-}
lib/nav.ts +0 −13
@@ -1,13 +0,0 @@
-// lib/nav.ts — single source-of-truth for top-level nav.
-// Rename routes here. AppNav reads from this file. Order sets ⌘⇧1..9 jumps.
-
-export interface NavItem {
-  href: string;
-  label: string;
-}
-
-export const NAV: NavItem[] = [
-  { href: "/", label: "Dashboard" },
-  { href: "/editions", label: "Paper" },
-  { href: "/settings", label: "Settings" },
-];
lib/pdf.ts +0 −43
@@ -1,43 +0,0 @@
-// lib/pdf.ts — render the /print newspaper to a PDF via headless Chrome.
-// Server-only. Refreshes stale sources first so the edition is current.
-
-import { mkdirSync } from "node:fs";
-import { resolve } from "node:path";
-import puppeteer from "puppeteer";
-import { listSources, insertEdition } from "@/lib/store";
-import { ensureFresh } from "@/lib/refresh";
-import type { EditionRow } from "@/db/schema";
-
-const EDITIONS_DIR = resolve(process.cwd(), "editions");
-const BASE_URL = process.env.SITE_URL ?? "http://localhost:4317";
-
-export async function generateEdition(): Promise<EditionRow> {
-  // Make the data current before snapshotting it into the paper.
-  await Promise.all(
-    listSources()
-      .filter((s) => s.enabled)
-      .map((s) => ensureFresh(s)),
-  );
-
-  mkdirSync(EDITIONS_DIR, { recursive: true });
-  const now = new Date();
-  const date = now.toISOString().slice(0, 10);
-  const stamp = now.toISOString().slice(0, 19).replace(/[:T]/g, "-");
-  const pdfPath = resolve(EDITIONS_DIR, `edition-${stamp}.pdf`);
-
-  const browser = await puppeteer.launch({ headless: true });
-  try {
-    const page = await browser.newPage();
-    await page.goto(`${BASE_URL}/print`, { waitUntil: "networkidle0", timeout: 45_000 });
-    await page.pdf({
-      path: pdfPath,
-      format: "A4",
-      printBackground: true,
-      preferCSSPageSize: true,
-    });
-  } finally {
-    await browser.close();
-  }
-
-  return insertEdition({ date, pdfPath });
-}
lib/refresh.ts +0 −82
@@ -1,82 +0,0 @@
-// lib/refresh.ts — fetch + cache orchestration for sources.
-// A source's latest Snapshot is the cache. We refresh when forced or stale.
-
-import type { SourceRow, SnapshotRow } from "@/db/schema";
-import type { SourceKind } from "@/lib/schemas/source";
-import { getSourceModule, isSourceConfigured } from "@/lib/sources/registry";
-import { insertSnapshot, latestSnapshot } from "@/lib/store";
-
-const FETCH_TIMEOUT_MS = 15_000;
-
-export interface SourceState {
-  source: SourceRow;
-  hasModule: boolean;
-  configured: boolean;
-  snapshot: SnapshotRow | null;
-}
-
-function isStale(snapshot: SnapshotRow | null, refreshSeconds: number): boolean {
-  if (!snapshot) return true;
-  const age = (Date.now() - new Date(snapshot.fetchedAt).getTime()) / 1000;
-  return age >= refreshSeconds;
-}
-
-// Run the source's fetcher once and store the result as a snapshot.
-export async function refreshSource(source: SourceRow): Promise<SnapshotRow> {
-  const mod = getSourceModule(source.kind as SourceKind);
-  if (!mod) {
-    return insertSnapshot({
-      sourceId: source.id,
-      payload: null,
-      ok: false,
-      error: `No fetcher for "${source.kind}"`,
-    });
-  }
-
-  const controller = new AbortController();
-  const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
-  try {
-    const config = mod.configSchema.parse(source.config ?? {});
-    const payload = await mod.fetch({ config, env: process.env, signal: controller.signal });
-    const validated = mod.payloadSchema.parse(payload);
-    return insertSnapshot({ sourceId: source.id, payload: validated, ok: true, error: null });
-  } catch (err) {
-    const message = err instanceof Error ? err.message : "Fetch failed";
-    return insertSnapshot({ sourceId: source.id, payload: null, ok: false, error: message });
-  } finally {
-    clearTimeout(timer);
-  }
-}
-
-// Cached state only — no network. Used for instant dashboard paint.
-export function currentState(source: SourceRow): SourceState {
-  return {
-    source,
-    hasModule: Boolean(getSourceModule(source.kind as SourceKind)),
-    configured: isSourceConfigured(source.kind as SourceKind, source.config),
-    snapshot: latestSnapshot(source.id) ?? null,
-  };
-}
-
-export function isSourceStale(source: SourceRow): boolean {
-  return isStale(latestSnapshot(source.id) ?? null, source.refreshSeconds);
-}
-
-// Return current state, refreshing first when forced or stale (and refreshable).
-export async function ensureFresh(
-  source: SourceRow,
-  opts: { force?: boolean } = {},
-): Promise<SourceState> {
-  const mod = getSourceModule(source.kind as SourceKind);
-  const hasModule = Boolean(mod);
-  const configured = isSourceConfigured(source.kind as SourceKind, source.config);
-
-  let snapshot = latestSnapshot(source.id) ?? null;
-
-  const refreshable = hasModule && configured && source.enabled;
-  if (refreshable && (opts.force || isStale(snapshot, source.refreshSeconds))) {
-    snapshot = await refreshSource(source);
-  }
-
-  return { source, hasModule, configured, snapshot };
-}
lib/schemas/edition.ts +0 −10
@@ -1,10 +0,0 @@
-import { z } from "zod";
-
-// A generated daily "newspaper" PDF.
-export const Edition = z.object({
-  id: z.string(),
-  date: z.string(), // YYYY-MM-DD
-  pdfPath: z.string(),
-  generatedAt: z.string().datetime(),
-});
-export type Edition = z.infer<typeof Edition>;
lib/schemas/setting.ts +0 −32
@@ -1,32 +0,0 @@
-import { z } from "zod";
-
-// App-wide settings, stored as key/value JSON rows. Known keys are typed below;
-// unknown keys are allowed (forward-compatible).
-
-export const Location = z.object({
-  label: z.string().default(""),
-  lat: z.number(),
-  lon: z.number(),
-});
-export type Location = z.infer<typeof Location>;
-
-export const Settings = z.object({
-  location: Location.nullable().default(null),
-  units: z.enum(["metric", "imperial"]).default("imperial"),
-  // ordered list of source ids for the dashboard grid; empty = use Source.position
-  layout: z.array(z.string()).default([]),
-});
-export type Settings = z.infer<typeof Settings>;
-
-export const SETTINGS_DEFAULTS: Settings = {
-  location: null,
-  units: "imperial",
-  layout: [],
-};
-
-// One row in the settings table.
-export const SettingRow = z.object({
-  key: z.string(),
-  value: z.unknown(),
-});
-export type SettingRow = z.infer<typeof SettingRow>;
lib/schemas/snapshot.ts +0 −13
@@ -1,13 +0,0 @@
-import { z } from "zod";
-
-// A cached fetch result for one source. payload shape depends on the source kind
-// (validated by that module's payloadSchema before storage).
-export const Snapshot = z.object({
-  id: z.string(),
-  sourceId: z.string(),
-  payload: z.unknown(),
-  fetchedAt: z.string().datetime(),
-  ok: z.boolean(),
-  error: z.string().nullable(),
-});
-export type Snapshot = z.infer<typeof Snapshot>;
lib/schemas/source.ts +0 −47
@@ -1,47 +0,0 @@
-import { z } from "zod";
-
-// Every kind of data source the dashboard knows how to show.
-// "todos" is local data (no fetcher) — the others pull from the network/disk.
-export const SOURCE_KINDS = [
-  "weather",
-  "news",
-  "onthisday",
-  "sports",
-  "calendar",
-  "mastodon",
-  "bluesky",
-  "github",
-  "vercel",
-  "obsidian",
-  "todos",
-] as const;
-
-export const SourceKind = z.enum(SOURCE_KINDS);
-export type SourceKind = z.infer<typeof SourceKind>;
-
-// Per-source config is free-form JSON validated by each source module's own
-// configSchema. At the table level it's an opaque object.
-export const SourceConfig = z.record(z.string(), z.unknown());
-export type SourceConfig = z.infer<typeof SourceConfig>;
-
-export const Source = z.object({
-  id: z.string(),
-  kind: SourceKind,
-  label: z.string().min(1).max(80),
-  enabled: z.boolean().default(true),
-  config: SourceConfig.default({}),
-  refreshSeconds: z.number().int().min(30).max(86_400).default(900),
-  position: z.number().int().default(0),
-});
-export type Source = z.infer<typeof Source>;
-
-export const CreateSource = Source.omit({ id: true }).partial({
-  enabled: true,
-  config: true,
-  refreshSeconds: true,
-  position: true,
-});
-export type CreateSource = z.infer<typeof CreateSource>;
-
-export const UpdateSource = Source.partial().omit({ id: true, kind: true });
-export type UpdateSource = z.infer<typeof UpdateSource>;
lib/schemas/sources/bluesky.ts +0 −18
@@ -1,18 +0,0 @@
-import { z } from "zod";
-
-export const BlueskyConfig = z.object({
-  limit: z.number().int().min(1).max(40).default(12),
-});
-export type BlueskyConfig = z.infer<typeof BlueskyConfig>;
-
-export const BlueskyPayload = z.object({
-  notifications: z.array(
-    z.object({
-      reason: z.string(), // reply | mention | like | repost | follow
-      author: z.string(),
-      text: z.string(),
-      createdAt: z.string(),
-    }),
-  ),
-});
-export type BlueskyPayload = z.infer<typeof BlueskyPayload>;
lib/schemas/sources/calendar.ts +0 −20
@@ -1,20 +0,0 @@
-import { z } from "zod";
-
-export const CalendarConfig = z.object({
-  urls: z.array(z.string().url()).default([]), // ICS URLs; falls back to env
-  daysAhead: z.number().int().min(1).max(60).default(7),
-});
-export type CalendarConfig = z.infer<typeof CalendarConfig>;
-
-export const CalendarPayload = z.object({
-  events: z.array(
-    z.object({
-      summary: z.string(),
-      start: z.string(),
-      end: z.string().nullable(),
-      location: z.string().nullable(),
-      allDay: z.boolean(),
-    }),
-  ),
-});
-export type CalendarPayload = z.infer<typeof CalendarPayload>;
lib/schemas/sources/github.ts +0 −21
@@ -1,21 +0,0 @@
-import { z } from "zod";
-
-export const GitHubConfig = z.object({
-  user: z.string().optional(), // falls back to env GITHUB_USER / authed user
-  limit: z.number().int().min(1).max(30).default(10),
-});
-export type GitHubConfig = z.infer<typeof GitHubConfig>;
-
-export const GitHubPayload = z.object({
-  login: z.string(),
-  publicRepos: z.number(),
-  followers: z.number(),
-  events: z.array(
-    z.object({
-      type: z.string(),
-      repo: z.string(),
-      createdAt: z.string(),
-    }),
-  ),
-});
-export type GitHubPayload = z.infer<typeof GitHubPayload>;
lib/schemas/sources/mastodon.ts +0 −19
@@ -1,19 +0,0 @@
-import { z } from "zod";
-
-export const MastodonConfig = z.object({
-  limit: z.number().int().min(1).max(40).default(12),
-});
-export type MastodonConfig = z.infer<typeof MastodonConfig>;
-
-export const MastodonPayload = z.object({
-  notifications: z.array(
-    z.object({
-      type: z.string(),
-      account: z.string(),
-      text: z.string(),
-      url: z.string().nullable(),
-      createdAt: z.string(),
-    }),
-  ),
-});
-export type MastodonPayload = z.infer<typeof MastodonPayload>;
lib/schemas/sources/news.ts +0 −19
@@ -1,19 +0,0 @@
-import { z } from "zod";
-
-export const NewsConfig = z.object({
-  feeds: z.array(z.string().url()).default([]),
-  limit: z.number().int().min(1).max(50).default(12),
-});
-export type NewsConfig = z.infer<typeof NewsConfig>;
-
-export const NewsItem = z.object({
-  title: z.string(),
-  link: z.string(),
-  source: z.string(),
-  isoDate: z.string().nullable(),
-});
-
-export const NewsPayload = z.object({
-  items: z.array(NewsItem),
-});
-export type NewsPayload = z.infer<typeof NewsPayload>;
lib/schemas/sources/obsidian.ts +0 −19
@@ -1,19 +0,0 @@
-import { z } from "zod";
-
-export const ObsidianConfig = z.object({
-  vault: z.string().default(""),
-  limit: z.number().int().min(1).max(50).default(8),
-});
-export type ObsidianConfig = z.infer<typeof ObsidianConfig>;
-
-export const ObsidianNote = z.object({
-  title: z.string(),
-  path: z.string(), // relative to vault
-  modified: z.string(), // ISO
-});
-
-export const ObsidianPayload = z.object({
-  vault: z.string(),
-  notes: z.array(ObsidianNote),
-});
-export type ObsidianPayload = z.infer<typeof ObsidianPayload>;
lib/schemas/sources/onthisday.ts +0 −22
@@ -1,22 +0,0 @@
-import { z } from "zod";
-
-export const OnThisDayConfig = z.object({
-  eventsLimit: z.number().int().min(1).max(20).default(8),
-  birthsLimit: z.number().int().min(0).max(10).default(3),
-  deathsLimit: z.number().int().min(0).max(10).default(3),
-});
-export type OnThisDayConfig = z.infer<typeof OnThisDayConfig>;
-
-const Entry = z.object({
-  year: z.number().nullable(),
-  text: z.string(),
-  link: z.string().nullable(),
-});
-
-export const OnThisDayPayload = z.object({
-  date: z.string(), // "May 20"
-  events: z.array(Entry),
-  births: z.array(Entry),
-  deaths: z.array(Entry),
-});
-export type OnThisDayPayload = z.infer<typeof OnThisDayPayload>;
lib/schemas/sources/sports.ts +0 −22
@@ -1,22 +0,0 @@
-import { z } from "zod";
-
-export const SportsConfig = z.object({
-  // ESPN scoreboard paths, e.g. "basketball/nba", "football/nfl", "soccer/eng.1"
-  leagues: z.array(z.string()).default(["basketball/nba"]),
-});
-export type SportsConfig = z.infer<typeof SportsConfig>;
-
-export const SportsPayload = z.object({
-  games: z.array(
-    z.object({
-      league: z.string(),
-      status: z.string(),
-      home: z.string(),
-      away: z.string(),
-      homeScore: z.string().nullable(),
-      awayScore: z.string().nullable(),
-      startTime: z.string().nullable(),
-    }),
-  ),
-});
-export type SportsPayload = z.infer<typeof SportsPayload>;
lib/schemas/sources/vercel.ts +0 −19
@@ -1,19 +0,0 @@
-import { z } from "zod";
-
-export const VercelConfig = z.object({
-  limit: z.number().int().min(1).max(20).default(8),
-});
-export type VercelConfig = z.infer<typeof VercelConfig>;
-
-export const VercelPayload = z.object({
-  deployments: z.array(
-    z.object({
-      name: z.string(),
-      state: z.string(),
-      url: z.string().nullable(),
-      target: z.string().nullable(),
-      createdAt: z.string(),
-    }),
-  ),
-});
-export type VercelPayload = z.infer<typeof VercelPayload>;
lib/schemas/sources/weather.ts +0 −31
@@ -1,31 +0,0 @@
-import { z } from "zod";
-
-export const WeatherConfig = z.object({
-  lat: z.number().optional(),
-  lon: z.number().optional(),
-  label: z.string().optional(),
-});
-export type WeatherConfig = z.infer<typeof WeatherConfig>;
-
-export const WeatherDay = z.object({
-  date: z.string(),
-  max: z.number(),
-  min: z.number(),
-  code: z.number(),
-  text: z.string(),
-  precipProb: z.number().nullable(),
-});
-
-export const WeatherPayload = z.object({
-  location: z.string(),
-  units: z.enum(["metric", "imperial"]),
-  current: z.object({
-    temp: z.number(),
-    code: z.number(),
-    text: z.string(),
-    wind: z.number(),
-    humidity: z.number().nullable(),
-  }),
-  daily: z.array(WeatherDay),
-});
-export type WeatherPayload = z.infer<typeof WeatherPayload>;
lib/schemas/todo.ts +0 −23
@@ -1,23 +0,0 @@
-import { z } from "zod";
-
-export const Todo = z.object({
-  id: z.string(),
-  title: z.string().min(1).max(280),
-  done: z.boolean().default(false),
-  due: z.string().datetime().nullable().default(null),
-  createdAt: z.string().datetime(),
-});
-export type Todo = z.infer<typeof Todo>;
-
-export const CreateTodo = z.object({
-  title: z.string().min(1).max(280),
-  due: z.string().datetime().nullable().optional(),
-});
-export type CreateTodo = z.infer<typeof CreateTodo>;
-
-export const UpdateTodo = z.object({
-  title: z.string().min(1).max(280).optional(),
-  done: z.boolean().optional(),
-  due: z.string().datetime().nullable().optional(),
-});
-export type UpdateTodo = z.infer<typeof UpdateTodo>;
lib/shortcuts.ts +0 −101
@@ -1,101 +0,0 @@
-// lib/shortcuts.ts — keyboard shortcut registry + key parsing.
-//
-// Combos use a normalized form: "mod+k", "mod+enter", "mod+1", "?".
-// `mod` = ⌘ on macOS, Ctrl elsewhere. Auto-detected.
-
-export type ActionGroup = "Navigation" | "Actions" | "View" | "Help";
-
-export interface Action {
-  id: string;
-  label: string;
-  combo?: string; // "mod+k" etc. Optional — palette-only actions skip this.
-  group: ActionGroup;
-  hint?: string; // Sub-text shown in palette
-  run: () => void | Promise<void>;
-}
-
-const isMac = typeof navigator !== "undefined" && /mac/i.test(navigator.platform);
-export const MOD_KEY = isMac ? "⌘" : "Ctrl";
-
-// Normalize a KeyboardEvent into our combo string.
-// Note: for symbol keys like "?" "!" "@", browser already encodes the shift,
-// so we omit the shift modifier to avoid double-counting.
-export function eventToCombo(e: KeyboardEvent): string {
-  const parts: string[] = [];
-  if (e.metaKey || e.ctrlKey) parts.push("mod");
-  if (e.altKey) parts.push("alt");
-  const key = e.key === " " ? "space" : e.key.toLowerCase();
-  const isAlphanumeric = key.length === 1 && /[a-z0-9]/.test(key);
-  // Shift only encoded explicitly for alphanumerics; symbols already imply it.
-  if (e.shiftKey && isAlphanumeric) parts.push("shift");
-  if (!["meta", "control", "alt", "shift"].includes(key)) parts.push(key);
-  return parts.join("+");
-}
-
-// Pretty-print for help UI: "mod+k" → "⌘ K"
-export function prettyCombo(combo: string): string {
-  return combo
-    .split("+")
-    .map((p) => {
-      if (p === "mod") return MOD_KEY;
-      if (p === "shift") return "⇧";
-      if (p === "alt") return isMac ? "⌥" : "Alt";
-      if (p === "enter") return "↵";
-      if (p === "escape" || p === "esc") return "Esc";
-      if (p === "space") return "Space";
-      if (p === "?") return "?";
-      return p.length === 1 ? p.toUpperCase() : p;
-    })
-    .join(" ");
-}
-
-// Singleton registry. Components register on mount, unregister on unmount.
-const registry = new Map<string, Action>();
-const subscribers = new Set<() => void>();
-
-// Cached snapshot for useSyncExternalStore. Must return same reference between
-// changes — rebuilding the array each call triggers React's infinite-loop guard.
-let cachedList: Action[] = [];
-function rebuildSnapshot() {
-  cachedList = Array.from(registry.values());
-}
-
-export const shortcuts = {
-  register(action: Action): () => void {
-    registry.set(action.id, action);
-    rebuildSnapshot();
-    notify();
-    return () => {
-      registry.delete(action.id);
-      rebuildSnapshot();
-      notify();
-    };
-  },
-  list(): Action[] {
-    return cachedList;
-  },
-  byCombo(combo: string): Action | undefined {
-    for (const a of registry.values()) if (a.combo === combo) return a;
-    return undefined;
-  },
-  subscribe(fn: () => void): () => void {
-    subscribers.add(fn);
-    return () => { subscribers.delete(fn); };
-  },
-};
-
-function notify() {
-  for (const fn of subscribers) fn();
-}
-
-// Should this event be ignored because user is typing in an input?
-// Allow `mod+*` combos through — they're explicit shortcuts the user meant.
-export function shouldIgnore(e: KeyboardEvent): boolean {
-  const target = e.target as HTMLElement | null;
-  if (!target) return false;
-  if (e.metaKey || e.ctrlKey) return false;
-  const tag = target.tagName;
-  if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
-  if (target.isContentEditable) return true;
-  return false;
-}
lib/sources/modules/bluesky.ts +0 −62
@@ -1,62 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  BlueskyConfig,
-  BlueskyPayload,
-  type BlueskyConfig as Config,
-  type BlueskyPayload as Payload,
-} from "@/lib/schemas/sources/bluesky";
-
-const XRPC = "https://bsky.social/xrpc";
-const KEEP = new Set(["reply", "mention", "quote"]);
-
-export const blueskyModule: SourceModule<Config, Payload> = {
-  kind: "bluesky",
-  label: "Bluesky",
-  keyless: false,
-  defaultRefreshSeconds: 600,
-  configSchema: BlueskyConfig,
-  payloadSchema: BlueskyPayload,
-
-  isConfigured: (_c, env) => Boolean(env.BLUESKY_HANDLE && env.BLUESKY_APP_PASSWORD),
-
-  async fetch({ config, env, signal }) {
-    const identifier = env.BLUESKY_HANDLE;
-    const password = env.BLUESKY_APP_PASSWORD;
-    if (!identifier || !password) throw new Error("Set BLUESKY_HANDLE + BLUESKY_APP_PASSWORD");
-
-    const sessRes = await fetch(`${XRPC}/com.atproto.server.createSession`, {
-      method: "POST",
-      headers: { "Content-Type": "application/json" },
-      body: JSON.stringify({ identifier, password }),
-      signal,
-    });
-    if (!sessRes.ok) throw new Error(`Bluesky auth ${sessRes.status}`);
-    const { accessJwt } = (await sessRes.json()) as { accessJwt: string };
-
-    const notifRes = await fetch(
-      `${XRPC}/app.bsky.notification.listNotifications?limit=40`,
-      { headers: { Authorization: `Bearer ${accessJwt}` }, signal },
-    );
-    if (!notifRes.ok) throw new Error(`Bluesky ${notifRes.status}`);
-    const j = (await notifRes.json()) as {
-      notifications: Array<{
-        reason: string;
-        author: { handle: string; displayName?: string };
-        record?: { text?: string };
-        indexedAt: string;
-      }>;
-    };
-
-    const notifications = j.notifications
-      .filter((n) => KEEP.has(n.reason))
-      .slice(0, config.limit)
-      .map((n) => ({
-        reason: n.reason,
-        author: n.author.displayName || `@${n.author.handle}`,
-        text: (n.record?.text ?? "").slice(0, 200),
-        createdAt: n.indexedAt,
-      }));
-
-    return { notifications };
-  },
-};
lib/sources/modules/calendar.ts +0 −69
@@ -1,69 +0,0 @@
-import ical from "node-ical";
-import type { SourceModule } from "../registry";
-import {
-  CalendarConfig,
-  CalendarPayload,
-  type CalendarConfig as Config,
-  type CalendarPayload as Payload,
-} from "@/lib/schemas/sources/calendar";
-
-function urlsFrom(config: Config, env: NodeJS.ProcessEnv): string[] {
-  if (config.urls.length) return config.urls;
-  return (env.CALENDAR_ICS_URLS ?? "")
-    .split(",")
-    .map((s) => s.trim())
-    .filter(Boolean);
-}
-
-export const calendarModule: SourceModule<Config, Payload> = {
-  kind: "calendar",
-  label: "Calendar",
-  keyless: false,
-  defaultRefreshSeconds: 1800,
-  configSchema: CalendarConfig,
-  payloadSchema: CalendarPayload,
-
-  isConfigured: (config, env) => urlsFrom(config, env).length > 0,
-
-  async fetch({ config, env, signal }) {
-    const urls = urlsFrom(config, env);
-    if (urls.length === 0) throw new Error("Add an ICS URL in Settings or CALENDAR_ICS_URLS");
-
-    const now = new Date();
-    const horizon = new Date(now.getTime() + config.daysAhead * 86_400_000);
-    const events: Payload["events"] = [];
-
-    await Promise.all(
-      urls.map(async (url) => {
-        const res = await fetch(url, { signal });
-        if (!res.ok) return;
-        const parsed = ical.sync.parseICS(await res.text());
-        for (const item of Object.values(parsed)) {
-          if (item.type !== "VEVENT") continue;
-          const ev = item as ical.VEvent & { rrule?: { between(a: Date, b: Date): Date[] } };
-          const allDay = (ev as { datetype?: string }).datetype === "date";
-          const durationMs = ev.end && ev.start ? +ev.end - +ev.start : 0;
-
-          const starts: Date[] = ev.rrule
-            ? ev.rrule.between(now, horizon)
-            : ev.start && +ev.start >= +now && +ev.start <= +horizon
-              ? [ev.start]
-              : [];
-
-          for (const start of starts) {
-            events.push({
-              summary: ev.summary ?? "(no title)",
-              start: start.toISOString(),
-              end: durationMs ? new Date(+start + durationMs).toISOString() : null,
-              location: ev.location || null,
-              allDay,
-            });
-          }
-        }
-      }),
-    );
-
-    events.sort((a, b) => +new Date(a.start) - +new Date(b.start));
-    return { events: events.slice(0, 25) };
-  },
-};
lib/sources/modules/github.ts +0 −58
@@ -1,58 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  GitHubConfig,
-  GitHubPayload,
-  type GitHubConfig as Config,
-  type GitHubPayload as Payload,
-} from "@/lib/schemas/sources/github";
-
-const API = "https://api.github.com";
-
-export const githubModule: SourceModule<Config, Payload> = {
-  kind: "github",
-  label: "GitHub",
-  keyless: false,
-  defaultRefreshSeconds: 900,
-  configSchema: GitHubConfig,
-  payloadSchema: GitHubPayload,
-
-  isConfigured: (_c, env) => Boolean(env.GITHUB_TOKEN),
-
-  async fetch({ config, env, signal }) {
-    const token = env.GITHUB_TOKEN;
-    if (!token) throw new Error("Set GITHUB_TOKEN in .env.local");
-    const headers = {
-      Authorization: `Bearer ${token}`,
-      Accept: "application/vnd.github+json",
-      "User-Agent": "PersonalDashboard",
-    };
-
-    const me = await fetch(`${API}/user`, { headers, signal });
-    if (!me.ok) throw new Error(`GitHub ${me.status}`);
-    const user = (await me.json()) as {
-      login: string;
-      public_repos: number;
-      followers: number;
-    };
-    const login = config.user || env.GITHUB_USER || user.login;
-
-    const evRes = await fetch(`${API}/users/${login}/events?per_page=${config.limit}`, {
-      headers,
-      signal,
-    });
-    const events = evRes.ok
-      ? ((await evRes.json()) as Array<{ type: string; repo?: { name: string }; created_at: string }>)
-      : [];
-
-    return {
-      login,
-      publicRepos: user.public_repos,
-      followers: user.followers,
-      events: events.map((e) => ({
-        type: e.type.replace(/Event$/, ""),
-        repo: e.repo?.name ?? "",
-        createdAt: e.created_at,
-      })),
-    };
-  },
-};
lib/sources/modules/index.ts +0 −27
@@ -1,27 +0,0 @@
-import type { SourceModule } from "../registry";
-import { weatherModule } from "./weather";
-import { onThisDayModule } from "./onthisday";
-import { newsModule } from "./news";
-import { obsidianModule } from "./obsidian";
-import { githubModule } from "./github";
-import { vercelModule } from "./vercel";
-import { mastodonModule } from "./mastodon";
-import { blueskyModule } from "./bluesky";
-import { calendarModule } from "./calendar";
-import { sportsModule } from "./sports";
-
-// Source modules register here. "todos" has no module — it's local data served
-// by /api/todos. Credentialed modules show "needs config" until their env keys
-// are present in .env.local.
-export const sourceModules: SourceModule[] = [
-  weatherModule as SourceModule,
-  onThisDayModule as SourceModule,
-  newsModule as SourceModule,
-  obsidianModule as SourceModule,
-  githubModule as SourceModule,
-  vercelModule as SourceModule,
-  mastodonModule as SourceModule,
-  blueskyModule as SourceModule,
-  calendarModule as SourceModule,
-  sportsModule as SourceModule,
-];
lib/sources/modules/mastodon.ts +0 −53
@@ -1,53 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  MastodonConfig,
-  MastodonPayload,
-  type MastodonConfig as Config,
-  type MastodonPayload as Payload,
-} from "@/lib/schemas/sources/mastodon";
-
-const stripHtml = (html: string) =>
-  html.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
-
-export const mastodonModule: SourceModule<Config, Payload> = {
-  kind: "mastodon",
-  label: "Mastodon",
-  keyless: false,
-  defaultRefreshSeconds: 600,
-  configSchema: MastodonConfig,
-  payloadSchema: MastodonPayload,
-
-  isConfigured: (_c, env) => Boolean(env.MASTODON_INSTANCE && env.MASTODON_TOKEN),
-
-  async fetch({ config, env, signal }) {
-    const instance = env.MASTODON_INSTANCE?.replace(/\/$/, "");
-    const token = env.MASTODON_TOKEN;
-    if (!instance || !token) throw new Error("Set MASTODON_INSTANCE + MASTODON_TOKEN");
-
-    const url = new URL(`${instance}/api/v1/notifications`);
-    url.searchParams.set("limit", String(config.limit));
-    for (const t of ["mention", "reblog", "favourite"]) url.searchParams.append("types[]", t);
-
-    const res = await fetch(url, {
-      headers: { Authorization: `Bearer ${token}` },
-      signal,
-    });
-    if (!res.ok) throw new Error(`Mastodon ${res.status}`);
-    const j = (await res.json()) as Array<{
-      type: string;
-      created_at: string;
-      account: { acct: string };
-      status?: { content: string; url: string };
-    }>;
-
-    return {
-      notifications: j.map((n) => ({
-        type: n.type,
-        account: `@${n.account.acct}`,
-        text: n.status ? stripHtml(n.status.content).slice(0, 200) : "",
-        url: n.status?.url ?? null,
-        createdAt: n.created_at,
-      })),
-    };
-  },
-};
lib/sources/modules/news.ts +0 −71
@@ -1,71 +0,0 @@
-import Parser from "rss-parser";
-import type { SourceModule } from "../registry";
-import {
-  NewsConfig,
-  NewsPayload,
-  type NewsConfig as Config,
-  type NewsPayload as Payload,
-} from "@/lib/schemas/sources/news";
-
-const parser = new Parser();
-
-function hostname(url: string): string {
-  try {
-    return new URL(url).hostname.replace(/^www\./, "");
-  } catch {
-    return url;
-  }
-}
-
-export const newsModule: SourceModule<Config, Payload> = {
-  kind: "news",
-  label: "News",
-  keyless: true,
-  defaultRefreshSeconds: 1800,
-  configSchema: NewsConfig,
-  payloadSchema: NewsPayload,
-
-  isConfigured: (config) => config.feeds.length > 0,
-
-  async fetch({ config, signal }) {
-    const results = await Promise.allSettled(
-      config.feeds.map(async (url) => {
-        // Fetch ourselves so the AbortSignal/timeout is honored, then parse text.
-        const res = await fetch(url, {
-          signal,
-          headers: { "User-Agent": "PersonalDashboard/0.1" },
-        });
-        if (!res.ok) throw new Error(`${hostname(url)} ${res.status}`);
-        const xml = await res.text();
-        const feed = await parser.parseString(xml);
-        const source = feed.title || hostname(url);
-        return (feed.items ?? []).map((it) => ({
-          title: (it.title ?? "Untitled").trim(),
-          link: it.link ?? "",
-          source,
-          isoDate: it.isoDate ?? null,
-        }));
-      }),
-    );
-
-    const items = results
-      .filter((r): r is PromiseFulfilledResult<Payload["items"]> => r.status === "fulfilled")
-      .flatMap((r) => r.value)
-      .filter((it) => it.link)
-      .sort((a, b) => {
-        const ta = a.isoDate ? Date.parse(a.isoDate) : 0;
-        const tb = b.isoDate ? Date.parse(b.isoDate) : 0;
-        return tb - ta;
-      })
-      .slice(0, config.limit);
-
-    if (items.length === 0) {
-      const firstErr = results.find((r) => r.status === "rejected") as
-        | PromiseRejectedResult
-        | undefined;
-      if (firstErr) throw new Error(String(firstErr.reason?.message ?? firstErr.reason));
-    }
-
-    return { items };
-  },
-};
lib/sources/modules/obsidian.ts +0 −65
@@ -1,65 +0,0 @@
-import { readdir, stat } from "node:fs/promises";
-import { existsSync } from "node:fs";
-import { join, relative, basename, sep } from "node:path";
-import type { SourceModule } from "../registry";
-import {
-  ObsidianConfig,
-  ObsidianPayload,
-  type ObsidianConfig as Config,
-  type ObsidianPayload as Payload,
-} from "@/lib/schemas/sources/obsidian";
-
-const SKIP_DIRS = new Set([".obsidian", ".trash", ".git", "node_modules"]);
-
-function vaultPath(config: Config): string {
-  return config.vault || process.env.OBSIDIAN_VAULT || "";
-}
-
-export const obsidianModule: SourceModule<Config, Payload> = {
-  kind: "obsidian",
-  label: "Obsidian",
-  keyless: true,
-  defaultRefreshSeconds: 600,
-  configSchema: ObsidianConfig,
-  payloadSchema: ObsidianPayload,
-
-  isConfigured: (config) => {
-    const v = vaultPath(config);
-    return v.length > 0 && existsSync(v);
-  },
-
-  // Read-only: we only stat/list note files. Never write to the vault.
-  async fetch({ config }) {
-    const vault = vaultPath(config);
-    if (!vault || !existsSync(vault)) {
-      throw new Error("Vault path not found — set it in Settings.");
-    }
-
-    const entries = await readdir(vault, { recursive: true, withFileTypes: true });
-    const mdFiles = entries.filter((e) => {
-      if (!e.isFile() || !e.name.endsWith(".md")) return false;
-      const parent = (e as { parentPath?: string; path?: string }).parentPath ??
-        (e as { path?: string }).path ?? vault;
-      const rel = relative(vault, join(parent, e.name));
-      return !rel.split(sep).some((seg) => SKIP_DIRS.has(seg));
-    });
-
-    const notes = await Promise.all(
-      mdFiles.map(async (e) => {
-        const parent = (e as { parentPath?: string; path?: string }).parentPath ??
-          (e as { path?: string }).path ?? vault;
-        const full = join(parent, e.name);
-        const s = await stat(full);
-        return {
-          title: basename(e.name, ".md"),
-          path: relative(vault, full),
-          modified: s.mtime.toISOString(),
-        };
-      }),
-    );
-
-    notes.sort((a, b) => Date.parse(b.modified) - Date.parse(a.modified));
-
-    return { vault, notes: notes.slice(0, config.limit) };
-  },
-};
lib/sources/modules/onthisday.ts +0 −65
@@ -1,65 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  OnThisDayConfig,
-  OnThisDayPayload,
-  type OnThisDayConfig as Config,
-  type OnThisDayPayload as Payload,
-} from "@/lib/schemas/sources/onthisday";
-
-interface WikiEntry {
-  year?: number;
-  text: string;
-  pages?: Array<{ content_urls?: { desktop?: { page?: string } } }>;
-}
-
-const MONTHS = [
-  "January", "February", "March", "April", "May", "June",
-  "July", "August", "September", "October", "November", "December",
-];
-
-function map(entries: WikiEntry[] = [], limit: number) {
-  return entries.slice(0, limit).map((e) => ({
-    year: e.year ?? null,
-    text: e.text,
-    link: e.pages?.[0]?.content_urls?.desktop?.page ?? null,
-  }));
-}
-
-export const onThisDayModule: SourceModule<Config, Payload> = {
-  kind: "onthisday",
-  label: "On This Day",
-  keyless: true,
-  defaultRefreshSeconds: 86_400,
-  configSchema: OnThisDayConfig,
-  payloadSchema: OnThisDayPayload,
-
-  async fetch({ config, signal }) {
-    const now = new Date();
-    const mm = String(now.getMonth() + 1).padStart(2, "0");
-    const dd = String(now.getDate()).padStart(2, "0");
-
-    const res = await fetch(
-      `https://en.wikipedia.org/api/rest_v1/feed/onthisday/all/${mm}/${dd}`,
-      {
-        signal,
-        headers: {
-          "User-Agent": "PersonalDashboard/0.1 (local app)",
-          Accept: "application/json",
-        },
-      },
-    );
-    if (!res.ok) throw new Error(`Wikipedia ${res.status}`);
-    const j = (await res.json()) as {
-      events?: WikiEntry[];
-      births?: WikiEntry[];
-      deaths?: WikiEntry[];
-    };
-
-    return {
-      date: `${MONTHS[now.getMonth()]} ${now.getDate()}`,
-      events: map(j.events, config.eventsLimit),
-      births: map(j.births, config.birthsLimit),
-      deaths: map(j.deaths, config.deathsLimit),
-    };
-  },
-};
lib/sources/modules/sports.ts +0 −62
@@ -1,62 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  SportsConfig,
-  SportsPayload,
-  type SportsConfig as Config,
-  type SportsPayload as Payload,
-} from "@/lib/schemas/sources/sports";
-
-interface ESPNCompetitor {
-  homeAway: "home" | "away";
-  team: { shortDisplayName?: string; displayName?: string; abbreviation?: string };
-  score?: string;
-}
-interface ESPNEvent {
-  date?: string;
-  status?: { type?: { shortDetail?: string; description?: string } };
-  competitions?: Array<{ competitors?: ESPNCompetitor[] }>;
-}
-
-export const sportsModule: SourceModule<Config, Payload> = {
-  kind: "sports",
-  label: "Scores",
-  keyless: true, // ESPN public endpoints need no key
-  defaultRefreshSeconds: 600,
-  configSchema: SportsConfig,
-  payloadSchema: SportsPayload,
-
-  isConfigured: (config) => config.leagues.length > 0,
-
-  async fetch({ config, signal }) {
-    const games: Payload["games"] = [];
-
-    await Promise.all(
-      config.leagues.map(async (league) => {
-        const res = await fetch(
-          `https://site.api.espn.com/apis/site/v2/sports/${league}/scoreboard`,
-          { signal },
-        );
-        if (!res.ok) return;
-        const j = (await res.json()) as { events?: ESPNEvent[] };
-        for (const ev of j.events ?? []) {
-          const comp = ev.competitions?.[0];
-          const home = comp?.competitors?.find((c) => c.homeAway === "home");
-          const away = comp?.competitors?.find((c) => c.homeAway === "away");
-          const name = (t?: ESPNCompetitor) =>
-            t?.team.shortDisplayName ?? t?.team.abbreviation ?? t?.team.displayName ?? "—";
-          games.push({
-            league,
-            status: ev.status?.type?.shortDetail ?? ev.status?.type?.description ?? "",
-            home: name(home),
-            away: name(away),
-            homeScore: home?.score ?? null,
-            awayScore: away?.score ?? null,
-            startTime: ev.date ?? null,
-          });
-        }
-      }),
-    );
-
-    return { games };
-  },
-};
lib/sources/modules/vercel.ts +0 −53
@@ -1,53 +0,0 @@
-import type { SourceModule } from "../registry";
-import {
-  VercelConfig,
-  VercelPayload,
-  type VercelConfig as Config,
-  type VercelPayload as Payload,
-} from "@/lib/schemas/sources/vercel";
-
-export const vercelModule: SourceModule<Config, Payload> = {
-  kind: "vercel",
-  label: "Vercel",
-  keyless: false,
-  defaultRefreshSeconds: 600,
-  configSchema: VercelConfig,
-  payloadSchema: VercelPayload,
-
-  isConfigured: (_c, env) => Boolean(env.VERCEL_TOKEN),
-
-  async fetch({ config, env, signal }) {
-    const token = env.VERCEL_TOKEN;
-    if (!token) throw new Error("Set VERCEL_TOKEN in .env.local");
-
-    const url = new URL("https://api.vercel.com/v6/deployments");
-    url.searchParams.set("limit", String(config.limit));
-    if (env.VERCEL_TEAM_ID) url.searchParams.set("teamId", env.VERCEL_TEAM_ID);
-
-    const res = await fetch(url, {
-      headers: { Authorization: `Bearer ${token}` },
-      signal,
-    });
-    if (!res.ok) throw new Error(`Vercel ${res.status}`);
-    const j = (await res.json()) as {
-      deployments: Array<{
-        name: string;
-        state?: string;
-        readyState?: string;
-        url?: string;
-        target?: string | null;
-        created: number;
-      }>;
-    };
-
-    return {
-      deployments: (j.deployments ?? []).map((d) => ({
-        name: d.name,
-        state: d.state ?? d.readyState ?? "—",
-        url: d.url ? `https://${d.url}` : null,
-        target: d.target ?? "preview",
-        createdAt: new Date(d.created).toISOString(),
-      })),
-    };
-  },
-};
lib/sources/modules/weather.ts +0 −109
@@ -1,109 +0,0 @@
-import type { SourceModule } from "../registry";
-import { getSettings } from "@/lib/store";
-import {
-  WeatherConfig,
-  WeatherPayload,
-  type WeatherConfig as Config,
-  type WeatherPayload as Payload,
-} from "@/lib/schemas/sources/weather";
-
-// WMO weather interpretation codes → short text.
-const WMO: Record<number, string> = {
-  0: "Clear", 1: "Mainly clear", 2: "Partly cloudy", 3: "Overcast",
-  45: "Fog", 48: "Rime fog", 51: "Light drizzle", 53: "Drizzle", 55: "Dense drizzle",
-  56: "Freezing drizzle", 57: "Freezing drizzle", 61: "Light rain", 63: "Rain", 65: "Heavy rain",
-  66: "Freezing rain", 67: "Freezing rain", 71: "Light snow", 73: "Snow", 75: "Heavy snow",
-  77: "Snow grains", 80: "Light showers", 81: "Showers", 82: "Violent showers",
-  85: "Snow showers", 86: "Snow showers", 95: "Thunderstorm", 96: "Thunderstorm + hail",
-  99: "Thunderstorm + hail",
-};
-const codeText = (c: number) => WMO[c] ?? "—";
-
-// Resolve location from source config → settings → env. Returns null if none set.
-function resolveLocation(config: Config): { lat: number; lon: number; label: string } | null {
-  if (config.lat != null && config.lon != null) {
-    return { lat: config.lat, lon: config.lon, label: config.label ?? "Custom" };
-  }
-  const loc = getSettings().location;
-  if (loc) return { lat: loc.lat, lon: loc.lon, label: loc.label || "Home" };
-  const envLat = process.env.WEATHER_LAT;
-  const envLon = process.env.WEATHER_LON;
-  if (envLat && envLon) return { lat: Number(envLat), lon: Number(envLon), label: "Home" };
-  return null;
-}
-
-export const weatherModule: SourceModule<Config, Payload> = {
-  kind: "weather",
-  label: "Weather",
-  keyless: true,
-  defaultRefreshSeconds: 1800,
-  configSchema: WeatherConfig,
-  payloadSchema: WeatherPayload,
-
-  isConfigured: (config) => resolveLocation(config) !== null,
-
-  async fetch({ config, signal }) {
-    const place = resolveLocation(config);
-    if (!place) throw new Error("No location set — add one in Settings.");
-
-    const units = getSettings().units;
-    const tempUnit = units === "metric" ? "celsius" : "fahrenheit";
-    const windUnit = units === "metric" ? "kmh" : "mph";
-
-    const url = new URL("https://api.open-meteo.com/v1/forecast");
-    url.searchParams.set("latitude", String(place.lat));
-    url.searchParams.set("longitude", String(place.lon));
-    url.searchParams.set(
-      "current",
-      "temperature_2m,weather_code,wind_speed_10m,relative_humidity_2m",
-    );
-    url.searchParams.set(
-      "daily",
-      "temperature_2m_max,temperature_2m_min,weather_code,precipitation_probability_max",
-    );
-    url.searchParams.set("temperature_unit", tempUnit);
-    url.searchParams.set("wind_speed_unit", windUnit);
-    url.searchParams.set("timezone", "auto");
-    url.searchParams.set("forecast_days", "3");
-
-    const res = await fetch(url, { signal });
-    if (!res.ok) throw new Error(`Open-Meteo ${res.status}`);
-    const j = (await res.json()) as {
-      current: {
-        temperature_2m: number;
-        weather_code: number;
-        wind_speed_10m: number;
-        relative_humidity_2m: number;
-      };
-      daily: {
-        time: string[];
-        temperature_2m_max: number[];
-        temperature_2m_min: number[];
-        weather_code: number[];
-        precipitation_probability_max: (number | null)[];
-      };
-    };
-
-    const daily = j.daily.time.map((date, i) => ({
-      date,
-      max: Math.round(j.daily.temperature_2m_max[i]),
-      min: Math.round(j.daily.temperature_2m_min[i]),
-      code: j.daily.weather_code[i],
-      text: codeText(j.daily.weather_code[i]),
-      precipProb: j.daily.precipitation_probability_max[i] ?? null,
-    }));
-
-    return {
-      location: place.label,
-      units,
-      current: {
-        temp: Math.round(j.current.temperature_2m),
-        code: j.current.weather_code,
-        text: codeText(j.current.weather_code),
-        wind: Math.round(j.current.wind_speed_10m),
-        humidity: j.current.relative_humidity_2m ?? null,
-      },
-      daily,
-    };
-  },
-};
lib/sources/registry.ts +0 −52
@@ -1,52 +0,0 @@
-import type { ZodType, ZodTypeDef } from "zod";
-import type { SourceKind } from "@/lib/schemas/source";
-import { sourceModules } from "./modules";
-
-// Context handed to a source's fetch(). `config` is the per-source config object
-// (already validated by configSchema); `env` is process.env for credentials.
-export interface SourceFetchContext<Config = unknown> {
-  config: Config;
-  env: NodeJS.ProcessEnv;
-  signal?: AbortSignal;
-}
-
-// A source module = how to fetch + validate + describe one kind of data.
-// The dashboard card and edition section render the payload separately.
-export interface SourceModule<Config = unknown, Payload = unknown> {
-  kind: SourceKind;
-  label: string;
-  // true => works with zero credentials (weather, news, onthisday, obsidian).
-  keyless: boolean;
-  defaultRefreshSeconds: number;
-  // input param is `any` because schemas use .default(), so input ≠ output type.
-  configSchema: ZodType<Config, ZodTypeDef, any>;
-  payloadSchema: ZodType<Payload, ZodTypeDef, any>;
-  // Throws on failure; caller records ok:false + the error message.
-  fetch(ctx: SourceFetchContext<Config>): Promise<Payload>;
-  // Returns false when required creds/config are missing → card shows "needs config".
-  isConfigured?(config: Config, env: NodeJS.ProcessEnv): boolean;
-}
-
-const REGISTRY = new Map<SourceKind, SourceModule>(
-  sourceModules.map((m) => [m.kind, m as SourceModule]),
-);
-
-export function getSourceModule(kind: SourceKind): SourceModule | undefined {
-  return REGISTRY.get(kind);
-}
-
-export function allSourceModules(): SourceModule[] {
-  return [...REGISTRY.values()];
-}
-
-export function isSourceConfigured(
-  kind: SourceKind,
-  config: unknown,
-  env: NodeJS.ProcessEnv = process.env,
-): boolean {
-  const mod = REGISTRY.get(kind);
-  if (!mod) return true; // local kinds (e.g. todos) need no config
-  const parsed = mod.configSchema.safeParse(config ?? {});
-  const cfg = parsed.success ? parsed.data : ({} as unknown);
-  return mod.isConfigured ? mod.isConfigured(cfg, env) : true;
-}
lib/store.ts +0 −237
@@ -1,237 +0,0 @@
-// lib/store.ts — server-side data access over the local SQLite db.
-// All DB reads/writes for the app go through here. Import only from /api routes
-// and server scripts, never client components.
-
-import { randomUUID } from "node:crypto";
-import { desc, eq } from "drizzle-orm";
-import { db } from "@/db";
-import { sources, snapshots, todos, editions, settings } from "@/db/schema";
-import type { SourceKind } from "@/lib/schemas/source";
-import { Settings, SETTINGS_DEFAULTS } from "@/lib/schemas/setting";
-
-const now = () => new Date().toISOString();
-
-/* ───────────────── sources ───────────────── */
-
-export function listSources() {
-  return db.select().from(sources).orderBy(sources.position).all();
-}
-
-export function getSource(id: string) {
-  return db.select().from(sources).where(eq(sources.id, id)).get();
-}
-
-export function createSource(input: {
-  kind: SourceKind;
-  label: string;
-  enabled?: boolean;
-  config?: Record<string, unknown>;
-  refreshSeconds?: number;
-  position?: number;
-}) {
-  const id = randomUUID();
-  const maxPos = db.select().from(sources).all().length;
-  db.insert(sources)
-    .values({
-      id,
-      kind: input.kind,
-      label: input.label,
-      enabled: input.enabled ?? true,
-      config: input.config ?? {},
-      refreshSeconds: input.refreshSeconds ?? 900,
-      position: input.position ?? maxPos,
-    })
-    .run();
-  return getSource(id)!;
-}
-
-export function updateSource(
-  id: string,
-  patch: Partial<{
-    label: string;
-    enabled: boolean;
-    config: Record<string, unknown>;
-    refreshSeconds: number;
-    position: number;
-  }>,
-) {
-  if (Object.keys(patch).length > 0) {
-    db.update(sources).set(patch).where(eq(sources.id, id)).run();
-  }
-  return getSource(id);
-}
-
-export function deleteSource(id: string) {
-  db.delete(sources).where(eq(sources.id, id)).run();
-}
-
-/* ───────────────── snapshots ───────────────── */
-
-export function latestSnapshot(sourceId: string) {
-  return db
-    .select()
-    .from(snapshots)
-    .where(eq(snapshots.sourceId, sourceId))
-    .orderBy(desc(snapshots.fetchedAt))
-    .limit(1)
-    .get();
-}
-
-export function insertSnapshot(input: {
-  sourceId: string;
-  payload: unknown;
-  ok: boolean;
-  error: string | null;
-}) {
-  const id = randomUUID();
-  db.insert(snapshots)
-    .values({
-      id,
-      sourceId: input.sourceId,
-      payload: input.payload ?? null,
-      fetchedAt: now(),
-      ok: input.ok,
-      error: input.error,
-    })
-    .run();
-  // keep only the most recent 5 snapshots per source
-  const rows = db
-    .select({ id: snapshots.id })
-    .from(snapshots)
-    .where(eq(snapshots.sourceId, input.sourceId))
-    .orderBy(desc(snapshots.fetchedAt))
-    .all();
-  for (const r of rows.slice(5)) {
-    db.delete(snapshots).where(eq(snapshots.id, r.id)).run();
-  }
-  return db.select().from(snapshots).where(eq(snapshots.id, id)).get()!;
-}
-
-/* ───────────────── todos ───────────────── */
-
-export function listTodos() {
-  return db.select().from(todos).orderBy(desc(todos.createdAt)).all();
-}
-
-export function createTodo(input: { title: string; due?: string | null }) {
-  const id = randomUUID();
-  db.insert(todos)
-    .values({
-      id,
-      title: input.title,
-      done: false,
-      due: input.due ?? null,
-      createdAt: now(),
-    })
-    .run();
-  return db.select().from(todos).where(eq(todos.id, id)).get()!;
-}
-
-export function updateTodo(
-  id: string,
-  patch: Partial<{ title: string; done: boolean; due: string | null }>,
-) {
-  if (Object.keys(patch).length > 0) {
-    db.update(todos).set(patch).where(eq(todos.id, id)).run();
-  }
-  return db.select().from(todos).where(eq(todos.id, id)).get();
-}
-
-export function deleteTodo(id: string) {
-  db.delete(todos).where(eq(todos.id, id)).run();
-}
-
-/* ───────────────── editions ───────────────── */
-
-export function listEditions() {
-  return db.select().from(editions).orderBy(desc(editions.generatedAt)).all();
-}
-
-export function getEdition(id: string) {
-  return db.select().from(editions).where(eq(editions.id, id)).get();
-}
-
-export function insertEdition(input: { date: string; pdfPath: string }) {
-  const id = randomUUID();
-  db.insert(editions)
-    .values({ id, date: input.date, pdfPath: input.pdfPath, generatedAt: now() })
-    .run();
-  return db.select().from(editions).where(eq(editions.id, id)).get()!;
-}
-
-/* ───────────────── settings ───────────────── */
-
-export function getSettings(): Settings {
-  const row = db.select().from(settings).where(eq(settings.key, "settings")).get();
-  const parsed = Settings.safeParse(row?.value ?? {});
-  return parsed.success ? parsed.data : SETTINGS_DEFAULTS;
-}
-
-export function saveSettings(patch: Partial<Settings>): Settings {
-  const next = Settings.parse({ ...getSettings(), ...patch });
-  db.insert(settings)
-    .values({ key: "settings", value: next })
-    .onConflictDoUpdate({ target: settings.key, set: { value: next } })
-    .run();
-  return next;
-}
-
-/* ───────────────── export / import ───────────────── */
-
-export function exportAll() {
-  return {
-    sources: listSources(),
-    todos: listTodos(),
-    settings: getSettings(),
-    editions: listEditions(),
-  };
-}
-
-// Replace sources + todos and merge settings. Idempotent (full replace by table).
-// Editions are regenerable and reference disk files, so they are not imported.
-export function importAll(data: {
-  sources?: unknown[];
-  todos?: unknown[];
-  settings?: Record<string, unknown>;
-}) {
-  if (Array.isArray(data.sources)) {
-    db.delete(sources).run();
-    for (const raw of data.sources) {
-      const s = raw as Record<string, unknown>;
-      if (!s.id || !s.kind || !s.label) continue;
-      db.insert(sources)
-        .values({
-          id: String(s.id),
-          kind: String(s.kind),
-          label: String(s.label),
-          enabled: s.enabled !== false,
-          config: (s.config as Record<string, unknown>) ?? {},
-          refreshSeconds: Number(s.refreshSeconds ?? 900),
-          position: Number(s.position ?? 0),
-        })
-        .run();
-    }
-  }
-
-  if (Array.isArray(data.todos)) {
-    db.delete(todos).run();
-    for (const raw of data.todos) {
-      const t = raw as Record<string, unknown>;
-      if (!t.id || !t.title) continue;
-      db.insert(todos)
-        .values({
-          id: String(t.id),
-          title: String(t.title),
-          done: Boolean(t.done),
-          due: t.due ? String(t.due) : null,
-          createdAt: String(t.createdAt ?? now()),
-        })
-        .run();
-    }
-  }
-
-  if (data.settings && typeof data.settings === "object") {
-    const parsed = Settings.safeParse(data.settings);
-    if (parsed.success) saveSettings(parsed.data);
-  }
-}
lib/themes.ts +0 −16
@@ -1,16 +0,0 @@
-export const THEMES = ["flexoki", "uchu", "humdrum"] as const;
-export const MODES = ["auto", "light", "dark", "eink"] as const;
-
-export type Theme = (typeof THEMES)[number];
-export type Mode = (typeof MODES)[number];
-
-export function resolveTheme(theme: Theme, mode: Mode): string {
-  const prefersDark =
-    typeof window !== "undefined" &&
-    window.matchMedia("(prefers-color-scheme: dark)").matches;
-
-  if (mode === "eink") return "eink";
-  if (mode === "dark") return `${theme}-dark`;
-  if (mode === "light") return theme;
-  return prefersDark ? `${theme}-dark` : theme;
-}
lib/types.ts +0 −38
@@ -1,38 +0,0 @@
-// lib/types.ts — client-safe shapes for the dashboard API. No server imports.
-
-import type { SourceKind } from "@/lib/schemas/source";
-
-export interface ClientSource {
-  id: string;
-  kind: SourceKind;
-  label: string;
-  enabled: boolean;
-  config: Record<string, unknown>;
-  refreshSeconds: number;
-  position: number;
-}
-
-export interface ClientSnapshot {
-  id: string;
-  sourceId: string;
-  payload: unknown;
-  fetchedAt: string;
-  ok: boolean;
-  error: string | null;
-}
-
-export interface SourceState {
-  source: ClientSource;
-  hasModule: boolean;
-  configured: boolean;
-  snapshot: ClientSnapshot | null;
-  stale?: boolean;
-}
-
-export interface Todo {
-  id: string;
-  title: string;
-  done: boolean;
-  due: string | null;
-  createdAt: string;
-}
next-env.d.ts +0 −6
@@ -1,6 +0,0 @@
-/// <reference types="next" />
-/// <reference types="next/image-types/global" />
-import "./.next/types/routes.d.ts";
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
next.config.ts +0 −18
@@ -1,18 +0,0 @@
-import type { NextConfig } from "next";
-import withSerwistInit from "@serwist/next";
-
-const withSerwist = withSerwistInit({
-  swSrc: "app/sw.ts",
-  swDest: "public/sw.js",
-  disable: process.env.NODE_ENV === "development",
-});
-
-const config: NextConfig = {
-  reactStrictMode: true,
-  // Native/server-only deps — keep them out of the bundle.
-  serverExternalPackages: ["better-sqlite3", "puppeteer"],
-  // typedRoutes off: nav is config-driven (lib/nav.ts) with string hrefs, so
-  // route-literal typing fights the dynamic pattern.
-};
-
-export default withSerwist(config);
package.json +0 −57
@@ -1,57 +0,0 @@
-{
-  "name": "personal-dashboard",
-  "version": "0.1.0",
-  "private": true,
-  "type": "module",
-  "scripts": {
-    "dev": "SERWIST_SUPPRESS_TURBOPACK_WARNING=1 next dev --turbopack -p 4317",
-    "build": "next build --webpack",
-    "start": "next start -p 4317",
-    "lint": "next lint",
-    "typecheck": "tsc --noEmit",
-    "db:generate": "drizzle-kit generate",
-    "db:push": "drizzle-kit push",
-    "db:seed": "tsx scripts/seed.ts",
-    "icons": "tsx scripts/generate-icons.mjs"
-  },
-  "dependencies": {
-    "better-sqlite3": "^11.8.1",
-    "date-fns": "^4.1.0",
-    "drizzle-orm": "^0.45.0",
-    "idb": "^8.0.3",
-    "next": "^16.1.0",
-    "node-ical": "^0.20.1",
-    "puppeteer": "^23.11.1",
-    "react": "^19.0.0",
-    "react-dom": "^19.0.0",
-    "rss-parser": "^3.13.0",
-    "zod": "^3.24.0"
-  },
-  "devDependencies": {
-    "@serwist/next": "^9.5.0",
-    "@tailwindcss/postcss": "^4.0.0",
-    "@types/better-sqlite3": "^7.6.12",
-    "@types/node": "^22.0.0",
-    "@types/react": "^19.0.0",
-    "@types/react-dom": "^19.0.0",
-    "drizzle-kit": "^0.30.0",
-    "postcss": "^8.4.0",
-    "serwist": "^9.5.0",
-    "sharp": "^0.34.0",
-    "tailwindcss": "^4.0.0",
-    "tsx": "^4.19.0",
-    "typescript": "^5.7.0"
-  },
-  "engines": {
-    "node": ">=20"
-  },
-  "pnpm": {
-    "onlyBuiltDependencies": [
-      "better-sqlite3",
-      "puppeteer",
-      "esbuild",
-      "@tailwindcss/oxide",
-      "sharp"
-    ]
-  }
-}
pnpm-lock.yaml +0 −3669
@@ -1,3669 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
-  autoInstallPeers: true
-  excludeLinksFromLockfile: false
-
-importers:
-
-  .:
-    dependencies:
-      better-sqlite3:
-        specifier: ^11.8.1
-        version: 11.10.0
-      date-fns:
-        specifier: ^4.1.0
-        version: 4.2.1
-      drizzle-orm:
-        specifier: ^0.45.0
-        version: 0.45.2(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.2.0)
-      idb:
-        specifier: ^8.0.3
-        version: 8.0.3
-      next:
-        specifier: ^16.1.0
-        version: 16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
-      node-ical:
-        specifier: ^0.20.1
-        version: 0.20.1
-      puppeteer:
-        specifier: ^23.11.1
-        version: 23.11.1(typescript@5.9.3)
-      react:
-        specifier: ^19.0.0
-        version: 19.2.6
-      react-dom:
-        specifier: ^19.0.0
-        version: 19.2.6(react@19.2.6)
-      rss-parser:
-        specifier: ^3.13.0
-        version: 3.13.0
-      zod:
-        specifier: ^3.24.0
-        version: 3.25.76
-    devDependencies:
-      '@serwist/next':
-        specifier: ^9.5.0
-        version: 9.5.11(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
-      '@tailwindcss/postcss':
-        specifier: ^4.0.0
-        version: 4.3.0
-      '@types/better-sqlite3':
-        specifier: ^7.6.12
-        version: 7.6.13
-      '@types/node':
-        specifier: ^22.0.0
-        version: 22.19.19
-      '@types/react':
-        specifier: ^19.0.0
-        version: 19.2.15
-      '@types/react-dom':
-        specifier: ^19.0.0
-        version: 19.2.3(@types/react@19.2.15)
-      drizzle-kit:
-        specifier: ^0.30.0
-        version: 0.30.6
-      postcss:
-        specifier: ^8.4.0
-        version: 8.5.15
-      serwist:
-        specifier: ^9.5.0
-        version: 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      sharp:
-        specifier: ^0.34.0
-        version: 0.34.5
-      tailwindcss:
-        specifier: ^4.0.0
-        version: 4.3.0
-      tsx:
-        specifier: ^4.19.0
-        version: 4.22.3
-      typescript:
-        specifier: ^5.7.0
-        version: 5.9.3
-
-packages:
-
-  '@alloc/quick-lru@5.2.0':
-    resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
-    engines: {node: '>=10'}
-
-  '@babel/code-frame@7.29.0':
-    resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-validator-identifier@7.28.5':
-    resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
-    engines: {node: '>=6.9.0'}
-
-  '@drizzle-team/brocli@0.10.2':
-    resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
-
-  '@emnapi/runtime@1.10.0':
-    resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
-
-  '@esbuild-kit/core-utils@3.3.2':
-    resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
-    deprecated: 'Merged into tsx: https://tsx.is'
-
-  '@esbuild-kit/esm-loader@2.6.5':
-    resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
-    deprecated: 'Merged into tsx: https://tsx.is'
-
-  '@esbuild/aix-ppc64@0.19.12':
-    resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
-    engines: {node: '>=12'}
-    cpu: [ppc64]
-    os: [aix]
-
-  '@esbuild/aix-ppc64@0.28.0':
-    resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==}
-    engines: {node: '>=18'}
-    cpu: [ppc64]
-    os: [aix]
-
-  '@esbuild/android-arm64@0.18.20':
-    resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [android]
-
-  '@esbuild/android-arm64@0.19.12':
-    resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [android]
-
-  '@esbuild/android-arm64@0.28.0':
-    resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [android]
-
-  '@esbuild/android-arm@0.18.20':
-    resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [android]
-
-  '@esbuild/android-arm@0.19.12':
-    resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [android]
-
-  '@esbuild/android-arm@0.28.0':
-    resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==}
-    engines: {node: '>=18'}
-    cpu: [arm]
-    os: [android]
-
-  '@esbuild/android-x64@0.18.20':
-    resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [android]
-
-  '@esbuild/android-x64@0.19.12':
-    resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [android]
-
-  '@esbuild/android-x64@0.28.0':
-    resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [android]
-
-  '@esbuild/darwin-arm64@0.18.20':
-    resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@esbuild/darwin-arm64@0.19.12':
-    resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@esbuild/darwin-arm64@0.28.0':
-    resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@esbuild/darwin-x64@0.18.20':
-    resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@esbuild/darwin-x64@0.19.12':
-    resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@esbuild/darwin-x64@0.28.0':
-    resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@esbuild/freebsd-arm64@0.18.20':
-    resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-arm64@0.19.12':
-    resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-arm64@0.28.0':
-    resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-x64@0.18.20':
-    resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-x64@0.19.12':
-    resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-x64@0.28.0':
-    resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@esbuild/linux-arm64@0.18.20':
-    resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [linux]
-
-  '@esbuild/linux-arm64@0.19.12':
-    resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [linux]
-
-  '@esbuild/linux-arm64@0.28.0':
-    resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [linux]
-
-  '@esbuild/linux-arm@0.18.20':
-    resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [linux]
-
-  '@esbuild/linux-arm@0.19.12':
-    resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [linux]
-
-  '@esbuild/linux-arm@0.28.0':
-    resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==}
-    engines: {node: '>=18'}
-    cpu: [arm]
-    os: [linux]
-
-  '@esbuild/linux-ia32@0.18.20':
-    resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [linux]
-
-  '@esbuild/linux-ia32@0.19.12':
-    resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [linux]
-
-  '@esbuild/linux-ia32@0.28.0':
-    resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==}
-    engines: {node: '>=18'}
-    cpu: [ia32]
-    os: [linux]
-
-  '@esbuild/linux-loong64@0.18.20':
-    resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
-    engines: {node: '>=12'}
-    cpu: [loong64]
-    os: [linux]
-
-  '@esbuild/linux-loong64@0.19.12':
-    resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
-    engines: {node: '>=12'}
-    cpu: [loong64]
-    os: [linux]
-
-  '@esbuild/linux-loong64@0.28.0':
-    resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==}
-    engines: {node: '>=18'}
-    cpu: [loong64]
-    os: [linux]
-
-  '@esbuild/linux-mips64el@0.18.20':
-    resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
-    engines: {node: '>=12'}
-    cpu: [mips64el]
-    os: [linux]
-
-  '@esbuild/linux-mips64el@0.19.12':
-    resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
-    engines: {node: '>=12'}
-    cpu: [mips64el]
-    os: [linux]
-
-  '@esbuild/linux-mips64el@0.28.0':
-    resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==}
-    engines: {node: '>=18'}
-    cpu: [mips64el]
-    os: [linux]
-
-  '@esbuild/linux-ppc64@0.18.20':
-    resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
-    engines: {node: '>=12'}
-    cpu: [ppc64]
-    os: [linux]
-
-  '@esbuild/linux-ppc64@0.19.12':
-    resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
-    engines: {node: '>=12'}
-    cpu: [ppc64]
-    os: [linux]
-
-  '@esbuild/linux-ppc64@0.28.0':
-    resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==}
-    engines: {node: '>=18'}
-    cpu: [ppc64]
-    os: [linux]
-
-  '@esbuild/linux-riscv64@0.18.20':
-    resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
-    engines: {node: '>=12'}
-    cpu: [riscv64]
-    os: [linux]
-
-  '@esbuild/linux-riscv64@0.19.12':
-    resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
-    engines: {node: '>=12'}
-    cpu: [riscv64]
-    os: [linux]
-
-  '@esbuild/linux-riscv64@0.28.0':
-    resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==}
-    engines: {node: '>=18'}
-    cpu: [riscv64]
-    os: [linux]
-
-  '@esbuild/linux-s390x@0.18.20':
-    resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
-    engines: {node: '>=12'}
-    cpu: [s390x]
-    os: [linux]
-
-  '@esbuild/linux-s390x@0.19.12':
-    resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
-    engines: {node: '>=12'}
-    cpu: [s390x]
-    os: [linux]
-
-  '@esbuild/linux-s390x@0.28.0':
-    resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==}
-    engines: {node: '>=18'}
-    cpu: [s390x]
-    os: [linux]
-
-  '@esbuild/linux-x64@0.18.20':
-    resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [linux]
-
-  '@esbuild/linux-x64@0.19.12':
-    resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [linux]
-
-  '@esbuild/linux-x64@0.28.0':
-    resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [linux]
-
-  '@esbuild/netbsd-arm64@0.28.0':
-    resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [netbsd]
-
-  '@esbuild/netbsd-x64@0.18.20':
-    resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [netbsd]
-
-  '@esbuild/netbsd-x64@0.19.12':
-    resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [netbsd]
-
-  '@esbuild/netbsd-x64@0.28.0':
-    resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [netbsd]
-
-  '@esbuild/openbsd-arm64@0.28.0':
-    resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [openbsd]
-
-  '@esbuild/openbsd-x64@0.18.20':
-    resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [openbsd]
-
-  '@esbuild/openbsd-x64@0.19.12':
-    resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [openbsd]
-
-  '@esbuild/openbsd-x64@0.28.0':
-    resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [openbsd]
-
-  '@esbuild/openharmony-arm64@0.28.0':
-    resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [openharmony]
-
-  '@esbuild/sunos-x64@0.18.20':
-    resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [sunos]
-
-  '@esbuild/sunos-x64@0.19.12':
-    resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [sunos]
-
-  '@esbuild/sunos-x64@0.28.0':
-    resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [sunos]
-
-  '@esbuild/win32-arm64@0.18.20':
-    resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@esbuild/win32-arm64@0.19.12':
-    resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@esbuild/win32-arm64@0.28.0':
-    resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==}
-    engines: {node: '>=18'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@esbuild/win32-ia32@0.18.20':
-    resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@esbuild/win32-ia32@0.19.12':
-    resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@esbuild/win32-ia32@0.28.0':
-    resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==}
-    engines: {node: '>=18'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@esbuild/win32-x64@0.18.20':
-    resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [win32]
-
-  '@esbuild/win32-x64@0.19.12':
-    resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [win32]
-
-  '@esbuild/win32-x64@0.28.0':
-    resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==}
-    engines: {node: '>=18'}
-    cpu: [x64]
-    os: [win32]
-
-  '@img/colour@1.1.0':
-    resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
-    engines: {node: '>=18'}
-
-  '@img/sharp-darwin-arm64@0.34.5':
-    resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@img/sharp-darwin-x64@0.34.5':
-    resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [x64]
-    os: [darwin]
-
-  '@img/sharp-libvips-darwin-arm64@1.2.4':
-    resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@img/sharp-libvips-darwin-x64@1.2.4':
-    resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
-    cpu: [x64]
-    os: [darwin]
-
-  '@img/sharp-libvips-linux-arm64@1.2.4':
-    resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linux-arm@1.2.4':
-    resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
-    cpu: [arm]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linux-ppc64@1.2.4':
-    resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
-    cpu: [ppc64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linux-riscv64@1.2.4':
-    resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
-    cpu: [riscv64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linux-s390x@1.2.4':
-    resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
-    cpu: [s390x]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linux-x64@1.2.4':
-    resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
-    resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@img/sharp-libvips-linuxmusl-x64@1.2.4':
-    resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@img/sharp-linux-arm64@0.34.5':
-    resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linux-arm@0.34.5':
-    resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [arm]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linux-ppc64@0.34.5':
-    resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [ppc64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linux-riscv64@0.34.5':
-    resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [riscv64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linux-s390x@0.34.5':
-    resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [s390x]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linux-x64@0.34.5':
-    resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@img/sharp-linuxmusl-arm64@0.34.5':
-    resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@img/sharp-linuxmusl-x64@0.34.5':
-    resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@img/sharp-wasm32@0.34.5':
-    resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [wasm32]
-
-  '@img/sharp-win32-arm64@0.34.5':
-    resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [arm64]
-    os: [win32]
-
-  '@img/sharp-win32-ia32@0.34.5':
-    resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [ia32]
-    os: [win32]
-
-  '@img/sharp-win32-x64@0.34.5':
-    resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-    cpu: [x64]
-    os: [win32]
-
-  '@jridgewell/gen-mapping@0.3.13':
-    resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
-
-  '@jridgewell/remapping@2.3.5':
-    resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
-
-  '@jridgewell/resolve-uri@3.1.2':
-    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
-    engines: {node: '>=6.0.0'}
-
-  '@jridgewell/sourcemap-codec@1.5.5':
-    resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
-
-  '@jridgewell/trace-mapping@0.3.31':
-    resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
-
-  '@next/env@16.2.6':
-    resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==}
-
-  '@next/swc-darwin-arm64@16.2.6':
-    resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==}
-    engines: {node: '>= 10'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@next/swc-darwin-x64@16.2.6':
-    resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==}
-    engines: {node: '>= 10'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@next/swc-linux-arm64-gnu@16.2.6':
-    resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==}
-    engines: {node: '>= 10'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@next/swc-linux-arm64-musl@16.2.6':
-    resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==}
-    engines: {node: '>= 10'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@next/swc-linux-x64-gnu@16.2.6':
-    resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==}
-    engines: {node: '>= 10'}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@next/swc-linux-x64-musl@16.2.6':
-    resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==}
-    engines: {node: '>= 10'}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@next/swc-win32-arm64-msvc@16.2.6':
-    resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==}
-    engines: {node: '>= 10'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@next/swc-win32-x64-msvc@16.2.6':
-    resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==}
-    engines: {node: '>= 10'}
-    cpu: [x64]
-    os: [win32]
-
-  '@petamoriken/float16@3.9.3':
-    resolution: {integrity: sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==}
-
-  '@puppeteer/browsers@2.6.1':
-    resolution: {integrity: sha512-aBSREisdsGH890S2rQqK82qmQYU3uFpSH8wcZWHgHzl3LfzsxAKbLNiAG9mO8v1Y0UICBeClICxPJvyr0rcuxg==}
-    engines: {node: '>=18'}
-    hasBin: true
-
-  '@serwist/build@9.5.11':
-    resolution: {integrity: sha512-PQfW+LhADYFOOp0PhEnjlgJCyKor6cYa06d3rID1OpiKzkmCApJV1WYfdTBB96jXaWv6OWcWSbSV4tqDLxvaVA==}
-    engines: {node: '>=18.0.0'}
-    peerDependencies:
-      typescript: '>=5.0.0'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  '@serwist/next@9.5.11':
-    resolution: {integrity: sha512-omT32H7U21ihCymSvOG9QeRJBuOEomJx4JdzKhUoqOW3DR10tH3m84VOHj3BvK0OcA7av3qj5FsyNFBB+f0n8A==}
-    engines: {node: '>=18.0.0'}
-    peerDependencies:
-      '@serwist/cli': ^9.5.11
-      next: '>=14.0.0'
-      react: '>=18.0.0'
-      typescript: '>=5.0.0'
-    peerDependenciesMeta:
-      '@serwist/cli':
-        optional: true
-      typescript:
-        optional: true
-
-  '@serwist/utils@9.5.11':
-    resolution: {integrity: sha512-zqxmwuHqWA3OwN82Wo8gFZ9QBemygJP3cap5JWAOG4UyJZgUZfmBXAXj+IMaD4eKZ/6pqrxHHDZ9uSWZmJ1mXA==}
-    peerDependencies:
-      browserslist: '>=4'
-    peerDependenciesMeta:
-      browserslist:
-        optional: true
-
-  '@serwist/webpack-plugin@9.5.11':
-    resolution: {integrity: sha512-SlvO3A1UMcc1htCzMtLCtPQK6yISCO7B859ixLv7EiY/yayXjVxGm9vHqkJYpQ768PWyjEZXRY/X6EGRMA6wJQ==}
-    engines: {node: '>=18.0.0'}
-    peerDependencies:
-      typescript: '>=5.0.0'
-      webpack: 4.4.0 || ^5.9.0
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-      webpack:
-        optional: true
-
-  '@serwist/window@9.5.11':
-    resolution: {integrity: sha512-OrH9srhmifUvY36NuukHSZby24XTEk4pHh3pfY0GBQzA9ouU1fYh+ORWhKxH7/wkVHRr3sc4YAhjtpfL14PjjQ==}
-    peerDependencies:
-      typescript: '>=5.0.0'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  '@swc/helpers@0.5.15':
-    resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
-
-  '@tailwindcss/node@4.3.0':
-    resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==}
-
-  '@tailwindcss/oxide-android-arm64@4.3.0':
-    resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==}
-    engines: {node: '>= 20'}
-    cpu: [arm64]
-    os: [android]
-
-  '@tailwindcss/oxide-darwin-arm64@4.3.0':
-    resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==}
-    engines: {node: '>= 20'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@tailwindcss/oxide-darwin-x64@4.3.0':
-    resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==}
-    engines: {node: '>= 20'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@tailwindcss/oxide-freebsd-x64@4.3.0':
-    resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==}
-    engines: {node: '>= 20'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
-    resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==}
-    engines: {node: '>= 20'}
-    cpu: [arm]
-    os: [linux]
-
-  '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
-    resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==}
-    engines: {node: '>= 20'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
-    resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==}
-    engines: {node: '>= 20'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
-    resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==}
-    engines: {node: '>= 20'}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@tailwindcss/oxide-linux-x64-musl@4.3.0':
-    resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==}
-    engines: {node: '>= 20'}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@tailwindcss/oxide-wasm32-wasi@4.3.0':
-    resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==}
-    engines: {node: '>=14.0.0'}
-    cpu: [wasm32]
-    bundledDependencies:
-      - '@napi-rs/wasm-runtime'
-      - '@emnapi/core'
-      - '@emnapi/runtime'
-      - '@tybys/wasm-util'
-      - '@emnapi/wasi-threads'
-      - tslib
-
-  '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
-    resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==}
-    engines: {node: '>= 20'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@tailwindcss/oxide-win32-x64-msvc@4.3.0':
-    resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==}
-    engines: {node: '>= 20'}
-    cpu: [x64]
-    os: [win32]
-
-  '@tailwindcss/oxide@4.3.0':
-    resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==}
-    engines: {node: '>= 20'}
-
-  '@tailwindcss/postcss@4.3.0':
-    resolution: {integrity: sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==}
-
-  '@tootallnate/quickjs-emscripten@0.23.0':
-    resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
-
-  '@types/better-sqlite3@7.6.13':
-    resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==}
-
-  '@types/node@22.19.19':
-    resolution: {integrity: sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==}
-
-  '@types/react-dom@19.2.3':
-    resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
-    peerDependencies:
-      '@types/react': ^19.2.0
-
-  '@types/react@19.2.15':
-    resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==}
-
-  '@types/trusted-types@2.0.7':
-    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
-
-  '@types/yauzl@2.10.3':
-    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
-
-  agent-base@6.0.2:
-    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
-    engines: {node: '>= 6.0.0'}
-
-  agent-base@7.1.4:
-    resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
-    engines: {node: '>= 14'}
-
-  ansi-regex@5.0.1:
-    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
-    engines: {node: '>=8'}
-
-  ansi-styles@4.3.0:
-    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
-    engines: {node: '>=8'}
-
-  argparse@2.0.1:
-    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
-  ast-types@0.13.4:
-    resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
-    engines: {node: '>=4'}
-
-  asynckit@0.4.0:
-    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
-  axios@1.16.1:
-    resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==}
-
-  b4a@1.8.1:
-    resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==}
-    peerDependencies:
-      react-native-b4a: '*'
-    peerDependenciesMeta:
-      react-native-b4a:
-        optional: true
-
-  balanced-match@4.0.4:
-    resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
-    engines: {node: 18 || 20 || >=22}
-
-  bare-events@2.8.3:
-    resolution: {integrity: sha512-HdUm8EMQBLaJvGUdidNNbqpA1kYkwNcb+MYxkxCLAPJGQzlv9J0C24h8V65Z4c5GLd/JEALDvpFCQgpLJqc0zw==}
-    peerDependencies:
-      bare-abort-controller: '*'
-    peerDependenciesMeta:
-      bare-abort-controller:
-        optional: true
-
-  bare-fs@4.7.1:
-    resolution: {integrity: sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==}
-    engines: {bare: '>=1.16.0'}
-    peerDependencies:
-      bare-buffer: '*'
-    peerDependenciesMeta:
-      bare-buffer:
-        optional: true
-
-  bare-os@3.9.1:
-    resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==}
-    engines: {bare: '>=1.14.0'}
-
-  bare-path@3.0.0:
-    resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==}
-
-  bare-stream@2.13.1:
-    resolution: {integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==}
-    peerDependencies:
-      bare-abort-controller: '*'
-      bare-buffer: '*'
-      bare-events: '*'
-    peerDependenciesMeta:
-      bare-abort-controller:
-        optional: true
-      bare-buffer:
-        optional: true
-      bare-events:
-        optional: true
-
-  bare-url@2.4.3:
-    resolution: {integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==}
-
-  base64-js@1.5.1:
-    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
-  baseline-browser-mapping@2.10.31:
-    resolution: {integrity: sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==}
-    engines: {node: '>=6.0.0'}
-    hasBin: true
-
-  basic-ftp@5.3.1:
-    resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==}
-    engines: {node: '>=10.0.0'}
-
-  better-sqlite3@11.10.0:
-    resolution: {integrity: sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==}
-
-  bindings@1.5.0:
-    resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
-
-  bl@4.1.0:
-    resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
-
-  brace-expansion@5.0.6:
-    resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
-    engines: {node: 18 || 20 || >=22}
-
-  browserslist@4.28.2:
-    resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
-    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
-    hasBin: true
-
-  buffer-crc32@0.2.13:
-    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
-
-  buffer-from@1.1.2:
-    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
-  buffer@5.7.1:
-    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
-
-  call-bind-apply-helpers@1.0.2:
-    resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
-    engines: {node: '>= 0.4'}
-
-  callsites@3.1.0:
-    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
-    engines: {node: '>=6'}
-
-  caniuse-lite@1.0.30001793:
-    resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==}
-
-  chownr@1.1.4:
-    resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
-
-  chromium-bidi@0.11.0:
-    resolution: {integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==}
-    peerDependencies:
-      devtools-protocol: '*'
-
-  client-only@0.0.1:
-    resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
-
-  cliui@8.0.1:
-    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
-    engines: {node: '>=12'}
-
-  color-convert@2.0.1:
-    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
-    engines: {node: '>=7.0.0'}
-
-  color-name@1.1.4:
-    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
-  combined-stream@1.0.8:
-    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
-    engines: {node: '>= 0.8'}
-
-  common-tags@1.8.2:
-    resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
-    engines: {node: '>=4.0.0'}
-
-  cosmiconfig@9.0.1:
-    resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==}
-    engines: {node: '>=14'}
-    peerDependencies:
-      typescript: '>=4.9.5'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  csstype@3.2.3:
-    resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
-
-  data-uri-to-buffer@6.0.2:
-    resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
-    engines: {node: '>= 14'}
-
-  date-fns@4.2.1:
-    resolution: {integrity: sha512-37RhSdxaG1suen6VDCza6rNrQfooyQh57HFVPwQGEq2QWliVLzPQZ8Oa017weOu+HZCnzI7N3Pf/wyoBKfEqrA==}
-
-  debug@4.4.3:
-    resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
-  decompress-response@6.0.0:
-    resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
-    engines: {node: '>=10'}
-
-  deep-extend@0.6.0:
-    resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
-    engines: {node: '>=4.0.0'}
-
-  degenerator@5.0.1:
-    resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
-    engines: {node: '>= 14'}
-
-  delayed-stream@1.0.0:
-    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
-    engines: {node: '>=0.4.0'}
-
-  detect-libc@2.1.2:
-    resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
-    engines: {node: '>=8'}
-
-  devtools-protocol@0.0.1367902:
-    resolution: {integrity: sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==}
-
-  drizzle-kit@0.30.6:
-    resolution: {integrity: sha512-U4wWit0fyZuGuP7iNmRleQyK2V8wCuv57vf5l3MnG4z4fzNTjY/U13M8owyQ5RavqvqxBifWORaR3wIUzlN64g==}
-    hasBin: true
-
-  drizzle-orm@0.45.2:
-    resolution: {integrity: sha512-kY0BSaTNYWnoDMVoyY8uxmyHjpJW1geOmBMdSSicKo9CIIWkSxMIj2rkeSR51b8KAPB7m+qysjuHme5nKP+E5Q==}
-    peerDependencies:
-      '@aws-sdk/client-rds-data': '>=3'
-      '@cloudflare/workers-types': '>=4'
-      '@electric-sql/pglite': '>=0.2.0'
-      '@libsql/client': '>=0.10.0'
-      '@libsql/client-wasm': '>=0.10.0'
-      '@neondatabase/serverless': '>=0.10.0'
-      '@op-engineering/op-sqlite': '>=2'
-      '@opentelemetry/api': ^1.4.1
-      '@planetscale/database': '>=1.13'
-      '@prisma/client': '*'
-      '@tidbcloud/serverless': '*'
-      '@types/better-sqlite3': '*'
-      '@types/pg': '*'
-      '@types/sql.js': '*'
-      '@upstash/redis': '>=1.34.7'
-      '@vercel/postgres': '>=0.8.0'
-      '@xata.io/client': '*'
-      better-sqlite3: '>=7'
-      bun-types: '*'
-      expo-sqlite: '>=14.0.0'
-      gel: '>=2'
-      knex: '*'
-      kysely: '*'
-      mysql2: '>=2'
-      pg: '>=8'
-      postgres: '>=3'
-      prisma: '*'
-      sql.js: '>=1'
-      sqlite3: '>=5'
-    peerDependenciesMeta:
-      '@aws-sdk/client-rds-data':
-        optional: true
-      '@cloudflare/workers-types':
-        optional: true
-      '@electric-sql/pglite':
-        optional: true
-      '@libsql/client':
-        optional: true
-      '@libsql/client-wasm':
-        optional: true
-      '@neondatabase/serverless':
-        optional: true
-      '@op-engineering/op-sqlite':
-        optional: true
-      '@opentelemetry/api':
-        optional: true
-      '@planetscale/database':
-        optional: true
-      '@prisma/client':
-        optional: true
-      '@tidbcloud/serverless':
-        optional: true
-      '@types/better-sqlite3':
-        optional: true
-      '@types/pg':
-        optional: true
-      '@types/sql.js':
-        optional: true
-      '@upstash/redis':
-        optional: true
-      '@vercel/postgres':
-        optional: true
-      '@xata.io/client':
-        optional: true
-      better-sqlite3:
-        optional: true
-      bun-types:
-        optional: true
-      expo-sqlite:
-        optional: true
-      gel:
-        optional: true
-      knex:
-        optional: true
-      kysely:
-        optional: true
-      mysql2:
-        optional: true
-      pg:
-        optional: true
-      postgres:
-        optional: true
-      prisma:
-        optional: true
-      sql.js:
-        optional: true
-      sqlite3:
-        optional: true
-
-  dunder-proto@1.0.1:
-    resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
-    engines: {node: '>= 0.4'}
-
-  electron-to-chromium@1.5.360:
-    resolution: {integrity: sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==}
-
-  emoji-regex@8.0.0:
-    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
-  end-of-stream@1.4.5:
-    resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
-
-  enhanced-resolve@5.21.6:
-    resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
-    engines: {node: '>=10.13.0'}
-
-  entities@2.2.0:
-    resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
-
-  env-paths@2.2.1:
-    resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
-    engines: {node: '>=6'}
-
-  env-paths@3.0.0:
-    resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
-  error-ex@1.3.4:
-    resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
-
-  es-define-property@1.0.1:
-    resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
-    engines: {node: '>= 0.4'}
-
-  es-errors@1.3.0:
-    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
-    engines: {node: '>= 0.4'}
-
-  es-object-atoms@1.1.1:
-    resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
-    engines: {node: '>= 0.4'}
-
-  es-set-tostringtag@2.1.0:
-    resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
-    engines: {node: '>= 0.4'}
-
-  esbuild-register@3.6.0:
-    resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
-    peerDependencies:
-      esbuild: '>=0.12 <1'
-
-  esbuild@0.18.20:
-    resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
-    engines: {node: '>=12'}
-    hasBin: true
-
-  esbuild@0.19.12:
-    resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
-    engines: {node: '>=12'}
-    hasBin: true
-
-  esbuild@0.28.0:
-    resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==}
-    engines: {node: '>=18'}
-    hasBin: true
-
-  escalade@3.2.0:
-    resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
-    engines: {node: '>=6'}
-
-  escodegen@2.1.0:
-    resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
-    engines: {node: '>=6.0'}
-    hasBin: true
-
-  esprima@4.0.1:
-    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
-    engines: {node: '>=4'}
-    hasBin: true
-
-  estraverse@5.3.0:
-    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
-    engines: {node: '>=4.0'}
-
-  esutils@2.0.3:
-    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
-    engines: {node: '>=0.10.0'}
-
-  events-universal@1.0.1:
-    resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==}
-
-  expand-template@2.0.3:
-    resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
-    engines: {node: '>=6'}
-
-  extract-zip@2.0.1:
-    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
-    engines: {node: '>= 10.17.0'}
-    hasBin: true
-
-  fast-fifo@1.3.2:
-    resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
-
-  fd-slicer@1.1.0:
-    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
-
-  file-uri-to-path@1.0.0:
-    resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
-
-  follow-redirects@1.16.0:
-    resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==}
-    engines: {node: '>=4.0'}
-    peerDependencies:
-      debug: '*'
-    peerDependenciesMeta:
-      debug:
-        optional: true
-
-  form-data@4.0.5:
-    resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
-    engines: {node: '>= 6'}
-
-  fs-constants@1.0.0:
-    resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
-
-  fsevents@2.3.3:
-    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
-    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
-    os: [darwin]
-
-  function-bind@1.1.2:
-    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
-  gel@2.2.0:
-    resolution: {integrity: sha512-q0ma7z2swmoamHQusey8ayo8+ilVdzDt4WTxSPzq/yRqvucWRfymRVMvNgmSC0XK7eNjjEZEcplxpgaNojKdmQ==}
-    engines: {node: '>= 18.0.0'}
-    hasBin: true
-
-  get-caller-file@2.0.5:
-    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
-    engines: {node: 6.* || 8.* || >= 10.*}
-
-  get-intrinsic@1.3.0:
-    resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
-    engines: {node: '>= 0.4'}
-
-  get-proto@1.0.1:
-    resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
-    engines: {node: '>= 0.4'}
-
-  get-stream@5.2.0:
-    resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
-    engines: {node: '>=8'}
-
-  get-tsconfig@4.14.0:
-    resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==}
-
-  get-uri@6.0.5:
-    resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
-    engines: {node: '>= 14'}
-
-  github-from-package@0.0.0:
-    resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
-
-  glob@13.0.6:
-    resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
-    engines: {node: 18 || 20 || >=22}
-
-  gopd@1.2.0:
-    resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
-    engines: {node: '>= 0.4'}
-
-  graceful-fs@4.2.11:
-    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
-  has-symbols@1.1.0:
-    resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
-    engines: {node: '>= 0.4'}
-
-  has-tostringtag@1.0.2:
-    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
-    engines: {node: '>= 0.4'}
-
-  hasown@2.0.3:
-    resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==}
-    engines: {node: '>= 0.4'}
-
-  http-proxy-agent@7.0.2:
-    resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
-    engines: {node: '>= 14'}
-
-  https-proxy-agent@5.0.1:
-    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
-    engines: {node: '>= 6'}
-
-  https-proxy-agent@7.0.6:
-    resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
-    engines: {node: '>= 14'}
-
-  idb@8.0.3:
-    resolution: {integrity: sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==}
-
-  ieee754@1.2.1:
-    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
-
-  import-fresh@3.3.1:
-    resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
-    engines: {node: '>=6'}
-
-  inherits@2.0.4:
-    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
-  ini@1.3.8:
-    resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
-
-  ip-address@10.2.0:
-    resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
-    engines: {node: '>= 12'}
-
-  is-arrayish@0.2.1:
-    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-
-  is-fullwidth-code-point@3.0.0:
-    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
-    engines: {node: '>=8'}
-
-  isexe@3.1.5:
-    resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==}
-    engines: {node: '>=18'}
-
-  jiti@2.7.0:
-    resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
-    hasBin: true
-
-  js-tokens@4.0.0:
-    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
-  js-yaml@4.1.1:
-    resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
-    hasBin: true
-
-  json-parse-even-better-errors@2.3.1:
-    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-
-  kolorist@1.8.0:
-    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
-
-  lightningcss-android-arm64@1.32.0:
-    resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [android]
-
-  lightningcss-darwin-arm64@1.32.0:
-    resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [darwin]
-
-  lightningcss-darwin-x64@1.32.0:
-    resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [darwin]
-
-  lightningcss-freebsd-x64@1.32.0:
-    resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [freebsd]
-
-  lightningcss-linux-arm-gnueabihf@1.32.0:
-    resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm]
-    os: [linux]
-
-  lightningcss-linux-arm64-gnu@1.32.0:
-    resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  lightningcss-linux-arm64-musl@1.32.0:
-    resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  lightningcss-linux-x64-gnu@1.32.0:
-    resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  lightningcss-linux-x64-musl@1.32.0:
-    resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  lightningcss-win32-arm64-msvc@1.32.0:
-    resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [win32]
-
-  lightningcss-win32-x64-msvc@1.32.0:
-    resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [win32]
-
-  lightningcss@1.32.0:
-    resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
-    engines: {node: '>= 12.0.0'}
-
-  lines-and-columns@1.2.4:
-    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
-  lodash.sortby@4.7.0:
-    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
-
-  lru-cache@11.5.0:
-    resolution: {integrity: sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==}
-    engines: {node: 20 || >=22}
-
-  lru-cache@7.18.3:
-    resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
-    engines: {node: '>=12'}
-
-  magic-string@0.30.21:
-    resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
-
-  math-intrinsics@1.1.0:
-    resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
-    engines: {node: '>= 0.4'}
-
-  mime-db@1.52.0:
-    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
-    engines: {node: '>= 0.6'}
-
-  mime-types@2.1.35:
-    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
-    engines: {node: '>= 0.6'}
-
-  mimic-response@3.1.0:
-    resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
-    engines: {node: '>=10'}
-
-  minimatch@10.2.5:
-    resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
-    engines: {node: 18 || 20 || >=22}
-
-  minimist@1.2.8:
-    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
-  minipass@7.1.3:
-    resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
-    engines: {node: '>=16 || 14 >=14.17'}
-
-  mitt@3.0.1:
-    resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
-
-  mkdirp-classic@0.5.3:
-    resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
-
-  moment-timezone@0.5.48:
-    resolution: {integrity: sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==}
-
-  moment@2.30.1:
-    resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}
-
-  ms@2.1.3:
-    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
-  nanoid@3.3.12:
-    resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
-    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
-    hasBin: true
-
-  napi-build-utils@2.0.0:
-    resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
-
-  netmask@2.1.1:
-    resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==}
-    engines: {node: '>= 0.4.0'}
-
-  next@16.2.6:
-    resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==}
-    engines: {node: '>=20.9.0'}
-    hasBin: true
-    peerDependencies:
-      '@opentelemetry/api': ^1.1.0
-      '@playwright/test': ^1.51.1
-      babel-plugin-react-compiler: '*'
-      react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
-      react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
-      sass: ^1.3.0
-    peerDependenciesMeta:
-      '@opentelemetry/api':
-        optional: true
-      '@playwright/test':
-        optional: true
-      babel-plugin-react-compiler:
-        optional: true
-      sass:
-        optional: true
-
-  node-abi@3.92.0:
-    resolution: {integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==}
-    engines: {node: '>=10'}
-
-  node-ical@0.20.1:
-    resolution: {integrity: sha512-NrXgzDJd6XcyX9kDMJVA3xYCZmntY7ghA2BOdBeYr3iu8tydHOAb+68jPQhF9V2CRQ0/386X05XhmLzQUN0+Hw==}
-
-  node-releases@2.0.44:
-    resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==}
-
-  once@1.4.0:
-    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
-  pac-proxy-agent@7.2.0:
-    resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
-    engines: {node: '>= 14'}
-
-  pac-resolver@7.0.1:
-    resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
-    engines: {node: '>= 14'}
-
-  parent-module@1.0.1:
-    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
-    engines: {node: '>=6'}
-
-  parse-json@5.2.0:
-    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
-    engines: {node: '>=8'}
-
-  path-scurry@2.0.2:
-    resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
-    engines: {node: 18 || 20 || >=22}
-
-  pend@1.2.0:
-    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
-
-  picocolors@1.1.1:
-    resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
-  postcss@8.4.31:
-    resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
-    engines: {node: ^10 || ^12 || >=14}
-
-  postcss@8.5.15:
-    resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
-    engines: {node: ^10 || ^12 || >=14}
-
-  prebuild-install@7.1.3:
-    resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
-    engines: {node: '>=10'}
-    deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
-    hasBin: true
-
-  pretty-bytes@6.1.1:
-    resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
-    engines: {node: ^14.13.1 || >=16.0.0}
-
-  progress@2.0.3:
-    resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
-    engines: {node: '>=0.4.0'}
-
-  proxy-agent@6.5.0:
-    resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==}
-    engines: {node: '>= 14'}
-
-  proxy-from-env@1.1.0:
-    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
-  proxy-from-env@2.1.0:
-    resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==}
-    engines: {node: '>=10'}
-
-  pump@3.0.4:
-    resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==}
-
-  punycode@2.3.1:
-    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
-    engines: {node: '>=6'}
-
-  puppeteer-core@23.11.1:
-    resolution: {integrity: sha512-3HZ2/7hdDKZvZQ7dhhITOUg4/wOrDRjyK2ZBllRB0ZCOi9u0cwq1ACHDjBB+nX+7+kltHjQvBRdeY7+W0T+7Gg==}
-    engines: {node: '>=18'}
-
-  puppeteer@23.11.1:
-    resolution: {integrity: sha512-53uIX3KR5en8l7Vd8n5DUv90Ae9QDQsyIthaUFVzwV6yU750RjqRznEtNMBT20VthqAdemnJN+hxVdmMHKt7Zw==}
-    engines: {node: '>=18'}
-    deprecated: < 24.15.0 is no longer supported
-    hasBin: true
-
-  rc@1.2.8:
-    resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
-    hasBin: true
-
-  react-dom@19.2.6:
-    resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==}
-    peerDependencies:
-      react: ^19.2.6
-
-  react@19.2.6:
-    resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==}
-    engines: {node: '>=0.10.0'}
-
-  readable-stream@3.6.2:
-    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
-    engines: {node: '>= 6'}
-
-  require-directory@2.1.1:
-    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
-    engines: {node: '>=0.10.0'}
-
-  resolve-from@4.0.0:
-    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
-    engines: {node: '>=4'}
-
-  resolve-pkg-maps@1.0.0:
-    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
-  rrule@2.8.1:
-    resolution: {integrity: sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==}
-
-  rss-parser@3.13.0:
-    resolution: {integrity: sha512-7jWUBV5yGN3rqMMj7CZufl/291QAhvrrGpDNE4k/02ZchL0npisiYYqULF71jCEKoIiHvK/Q2e6IkDwPziT7+w==}
-
-  safe-buffer@5.2.1:
-    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
-  sax@1.6.0:
-    resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
-    engines: {node: '>=11.0.0'}
-
-  scheduler@0.27.0:
-    resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
-
-  semver@7.7.4:
-    resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
-    engines: {node: '>=10'}
-    hasBin: true
-
-  semver@7.8.0:
-    resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==}
-    engines: {node: '>=10'}
-    hasBin: true
-
-  serwist@9.5.11:
-    resolution: {integrity: sha512-Bq6uwJFd4ET60BWI77v3VbazKHv6k7lECOiiCFwKyBu/slaCn0GHJ5L5RfsuJUKrnbD9lYUCDo6sqaKRM5M2vA==}
-    peerDependencies:
-      typescript: '>=5.0.0'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  sharp@0.34.5:
-    resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
-    engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
-
-  shell-quote@1.8.3:
-    resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
-    engines: {node: '>= 0.4'}
-
-  simple-concat@1.0.1:
-    resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
-
-  simple-get@4.0.1:
-    resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
-
-  smart-buffer@4.2.0:
-    resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
-    engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
-
-  socks-proxy-agent@8.0.5:
-    resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
-    engines: {node: '>= 14'}
-
-  socks@2.8.9:
-    resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==}
-    engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
-
-  source-map-js@1.2.1:
-    resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
-    engines: {node: '>=0.10.0'}
-
-  source-map-support@0.5.21:
-    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
-
-  source-map@0.6.1:
-    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
-    engines: {node: '>=0.10.0'}
-
-  source-map@0.8.0-beta.0:
-    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
-    engines: {node: '>= 8'}
-    deprecated: The work that was done in this beta branch won't be included in future versions
-
-  streamx@2.25.0:
-    resolution: {integrity: sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==}
-
-  string-width@4.2.3:
-    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
-    engines: {node: '>=8'}
-
-  string_decoder@1.3.0:
-    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
-  strip-ansi@6.0.1:
-    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
-    engines: {node: '>=8'}
-
-  strip-json-comments@2.0.1:
-    resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
-    engines: {node: '>=0.10.0'}
-
-  styled-jsx@5.1.6:
-    resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
-    engines: {node: '>= 12.0.0'}
-    peerDependencies:
-      '@babel/core': '*'
-      babel-plugin-macros: '*'
-      react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
-    peerDependenciesMeta:
-      '@babel/core':
-        optional: true
-      babel-plugin-macros:
-        optional: true
-
-  tagged-tag@1.0.0:
-    resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
-    engines: {node: '>=20'}
-
-  tailwindcss@4.3.0:
-    resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==}
-
-  tapable@2.3.3:
-    resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
-    engines: {node: '>=6'}
-
-  tar-fs@2.1.4:
-    resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==}
-
-  tar-fs@3.1.2:
-    resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==}
-
-  tar-stream@2.2.0:
-    resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
-    engines: {node: '>=6'}
-
-  tar-stream@3.2.0:
-    resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==}
-
-  teex@1.0.1:
-    resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==}
-
-  text-decoder@1.2.7:
-    resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==}
-
-  through@2.3.8:
-    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
-
-  tr46@1.0.1:
-    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
-
-  tslib@2.8.1:
-    resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
-
-  tsx@4.22.3:
-    resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==}
-    engines: {node: '>=18.0.0'}
-    hasBin: true
-
-  tunnel-agent@0.6.0:
-    resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
-
-  type-fest@5.6.0:
-    resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==}
-    engines: {node: '>=20'}
-
-  typed-query-selector@2.12.2:
-    resolution: {integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==}
-
-  typescript@5.9.3:
-    resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
-    engines: {node: '>=14.17'}
-    hasBin: true
-
-  unbzip2-stream@1.4.3:
-    resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
-
-  undici-types@6.21.0:
-    resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
-
-  update-browserslist-db@1.2.3:
-    resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
-    hasBin: true
-    peerDependencies:
-      browserslist: '>= 4.21.0'
-
-  util-deprecate@1.0.2:
-    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
-  uuid@10.0.0:
-    resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
-    deprecated: uuid@10 and below is no longer supported.  For ESM codebases, update to uuid@latest.  For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
-    hasBin: true
-
-  webidl-conversions@4.0.2:
-    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
-
-  whatwg-url@7.1.0:
-    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
-
-  which@4.0.0:
-    resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
-    engines: {node: ^16.13.0 || >=18.0.0}
-    hasBin: true
-
-  wrap-ansi@7.0.0:
-    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
-    engines: {node: '>=10'}
-
-  wrappy@1.0.2:
-    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
-  ws@8.20.1:
-    resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==}
-    engines: {node: '>=10.0.0'}
-    peerDependencies:
-      bufferutil: ^4.0.1
-      utf-8-validate: '>=5.0.2'
-    peerDependenciesMeta:
-      bufferutil:
-        optional: true
-      utf-8-validate:
-        optional: true
-
-  xml2js@0.5.0:
-    resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
-    engines: {node: '>=4.0.0'}
-
-  xmlbuilder@11.0.1:
-    resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
-    engines: {node: '>=4.0'}
-
-  y18n@5.0.8:
-    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
-    engines: {node: '>=10'}
-
-  yargs-parser@21.1.1:
-    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
-    engines: {node: '>=12'}
-
-  yargs@17.7.2:
-    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
-    engines: {node: '>=12'}
-
-  yauzl@2.10.0:
-    resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
-
-  zod@3.23.8:
-    resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
-
-  zod@3.25.76:
-    resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
-
-  zod@4.4.1:
-    resolution: {integrity: sha512-a6ENMBBGZBsnlSebQ/eKCguSBeGKSf4O7BPnqVPmYGtpBYI7VSqoVqw+QcB7kPRjbqPwhYTpFbVj/RqNz/CT0Q==}
-
-snapshots:
-
-  '@alloc/quick-lru@5.2.0': {}
-
-  '@babel/code-frame@7.29.0':
-    dependencies:
-      '@babel/helper-validator-identifier': 7.28.5
-      js-tokens: 4.0.0
-      picocolors: 1.1.1
-
-  '@babel/helper-validator-identifier@7.28.5': {}
-
-  '@drizzle-team/brocli@0.10.2': {}
-
-  '@emnapi/runtime@1.10.0':
-    dependencies:
-      tslib: 2.8.1
-    optional: true
-
-  '@esbuild-kit/core-utils@3.3.2':
-    dependencies:
-      esbuild: 0.18.20
-      source-map-support: 0.5.21
-
-  '@esbuild-kit/esm-loader@2.6.5':
-    dependencies:
-      '@esbuild-kit/core-utils': 3.3.2
-      get-tsconfig: 4.14.0
-
-  '@esbuild/aix-ppc64@0.19.12':
-    optional: true
-
-  '@esbuild/aix-ppc64@0.28.0':
-    optional: true
-
-  '@esbuild/android-arm64@0.18.20':
-    optional: true
-
-  '@esbuild/android-arm64@0.19.12':
-    optional: true
-
-  '@esbuild/android-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/android-arm@0.18.20':
-    optional: true
-
-  '@esbuild/android-arm@0.19.12':
-    optional: true
-
-  '@esbuild/android-arm@0.28.0':
-    optional: true
-
-  '@esbuild/android-x64@0.18.20':
-    optional: true
-
-  '@esbuild/android-x64@0.19.12':
-    optional: true
-
-  '@esbuild/android-x64@0.28.0':
-    optional: true
-
-  '@esbuild/darwin-arm64@0.18.20':
-    optional: true
-
-  '@esbuild/darwin-arm64@0.19.12':
-    optional: true
-
-  '@esbuild/darwin-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/darwin-x64@0.18.20':
-    optional: true
-
-  '@esbuild/darwin-x64@0.19.12':
-    optional: true
-
-  '@esbuild/darwin-x64@0.28.0':
-    optional: true
-
-  '@esbuild/freebsd-arm64@0.18.20':
-    optional: true
-
-  '@esbuild/freebsd-arm64@0.19.12':
-    optional: true
-
-  '@esbuild/freebsd-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/freebsd-x64@0.18.20':
-    optional: true
-
-  '@esbuild/freebsd-x64@0.19.12':
-    optional: true
-
-  '@esbuild/freebsd-x64@0.28.0':
-    optional: true
-
-  '@esbuild/linux-arm64@0.18.20':
-    optional: true
-
-  '@esbuild/linux-arm64@0.19.12':
-    optional: true
-
-  '@esbuild/linux-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/linux-arm@0.18.20':
-    optional: true
-
-  '@esbuild/linux-arm@0.19.12':
-    optional: true
-
-  '@esbuild/linux-arm@0.28.0':
-    optional: true
-
-  '@esbuild/linux-ia32@0.18.20':
-    optional: true
-
-  '@esbuild/linux-ia32@0.19.12':
-    optional: true
-
-  '@esbuild/linux-ia32@0.28.0':
-    optional: true
-
-  '@esbuild/linux-loong64@0.18.20':
-    optional: true
-
-  '@esbuild/linux-loong64@0.19.12':
-    optional: true
-
-  '@esbuild/linux-loong64@0.28.0':
-    optional: true
-
-  '@esbuild/linux-mips64el@0.18.20':
-    optional: true
-
-  '@esbuild/linux-mips64el@0.19.12':
-    optional: true
-
-  '@esbuild/linux-mips64el@0.28.0':
-    optional: true
-
-  '@esbuild/linux-ppc64@0.18.20':
-    optional: true
-
-  '@esbuild/linux-ppc64@0.19.12':
-    optional: true
-
-  '@esbuild/linux-ppc64@0.28.0':
-    optional: true
-
-  '@esbuild/linux-riscv64@0.18.20':
-    optional: true
-
-  '@esbuild/linux-riscv64@0.19.12':
-    optional: true
-
-  '@esbuild/linux-riscv64@0.28.0':
-    optional: true
-
-  '@esbuild/linux-s390x@0.18.20':
-    optional: true
-
-  '@esbuild/linux-s390x@0.19.12':
-    optional: true
-
-  '@esbuild/linux-s390x@0.28.0':
-    optional: true
-
-  '@esbuild/linux-x64@0.18.20':
-    optional: true
-
-  '@esbuild/linux-x64@0.19.12':
-    optional: true
-
-  '@esbuild/linux-x64@0.28.0':
-    optional: true
-
-  '@esbuild/netbsd-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/netbsd-x64@0.18.20':
-    optional: true
-
-  '@esbuild/netbsd-x64@0.19.12':
-    optional: true
-
-  '@esbuild/netbsd-x64@0.28.0':
-    optional: true
-
-  '@esbuild/openbsd-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/openbsd-x64@0.18.20':
-    optional: true
-
-  '@esbuild/openbsd-x64@0.19.12':
-    optional: true
-
-  '@esbuild/openbsd-x64@0.28.0':
-    optional: true
-
-  '@esbuild/openharmony-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/sunos-x64@0.18.20':
-    optional: true
-
-  '@esbuild/sunos-x64@0.19.12':
-    optional: true
-
-  '@esbuild/sunos-x64@0.28.0':
-    optional: true
-
-  '@esbuild/win32-arm64@0.18.20':
-    optional: true
-
-  '@esbuild/win32-arm64@0.19.12':
-    optional: true
-
-  '@esbuild/win32-arm64@0.28.0':
-    optional: true
-
-  '@esbuild/win32-ia32@0.18.20':
-    optional: true
-
-  '@esbuild/win32-ia32@0.19.12':
-    optional: true
-
-  '@esbuild/win32-ia32@0.28.0':
-    optional: true
-
-  '@esbuild/win32-x64@0.18.20':
-    optional: true
-
-  '@esbuild/win32-x64@0.19.12':
-    optional: true
-
-  '@esbuild/win32-x64@0.28.0':
-    optional: true
-
-  '@img/colour@1.1.0': {}
-
-  '@img/sharp-darwin-arm64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-darwin-arm64': 1.2.4
-    optional: true
-
-  '@img/sharp-darwin-x64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-darwin-x64': 1.2.4
-    optional: true
-
-  '@img/sharp-libvips-darwin-arm64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-darwin-x64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-arm64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-arm@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-ppc64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-riscv64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-s390x@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linux-x64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
-    optional: true
-
-  '@img/sharp-libvips-linuxmusl-x64@1.2.4':
-    optional: true
-
-  '@img/sharp-linux-arm64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-arm64': 1.2.4
-    optional: true
-
-  '@img/sharp-linux-arm@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-arm': 1.2.4
-    optional: true
-
-  '@img/sharp-linux-ppc64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-ppc64': 1.2.4
-    optional: true
-
-  '@img/sharp-linux-riscv64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-riscv64': 1.2.4
-    optional: true
-
-  '@img/sharp-linux-s390x@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-s390x': 1.2.4
-    optional: true
-
-  '@img/sharp-linux-x64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linux-x64': 1.2.4
-    optional: true
-
-  '@img/sharp-linuxmusl-arm64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
-    optional: true
-
-  '@img/sharp-linuxmusl-x64@0.34.5':
-    optionalDependencies:
-      '@img/sharp-libvips-linuxmusl-x64': 1.2.4
-    optional: true
-
-  '@img/sharp-wasm32@0.34.5':
-    dependencies:
-      '@emnapi/runtime': 1.10.0
-    optional: true
-
-  '@img/sharp-win32-arm64@0.34.5':
-    optional: true
-
-  '@img/sharp-win32-ia32@0.34.5':
-    optional: true
-
-  '@img/sharp-win32-x64@0.34.5':
-    optional: true
-
-  '@jridgewell/gen-mapping@0.3.13':
-    dependencies:
-      '@jridgewell/sourcemap-codec': 1.5.5
-      '@jridgewell/trace-mapping': 0.3.31
-
-  '@jridgewell/remapping@2.3.5':
-    dependencies:
-      '@jridgewell/gen-mapping': 0.3.13
-      '@jridgewell/trace-mapping': 0.3.31
-
-  '@jridgewell/resolve-uri@3.1.2': {}
-
-  '@jridgewell/sourcemap-codec@1.5.5': {}
-
-  '@jridgewell/trace-mapping@0.3.31':
-    dependencies:
-      '@jridgewell/resolve-uri': 3.1.2
-      '@jridgewell/sourcemap-codec': 1.5.5
-
-  '@next/env@16.2.6': {}
-
-  '@next/swc-darwin-arm64@16.2.6':
-    optional: true
-
-  '@next/swc-darwin-x64@16.2.6':
-    optional: true
-
-  '@next/swc-linux-arm64-gnu@16.2.6':
-    optional: true
-
-  '@next/swc-linux-arm64-musl@16.2.6':
-    optional: true
-
-  '@next/swc-linux-x64-gnu@16.2.6':
-    optional: true
-
-  '@next/swc-linux-x64-musl@16.2.6':
-    optional: true
-
-  '@next/swc-win32-arm64-msvc@16.2.6':
-    optional: true
-
-  '@next/swc-win32-x64-msvc@16.2.6':
-    optional: true
-
-  '@petamoriken/float16@3.9.3': {}
-
-  '@puppeteer/browsers@2.6.1':
-    dependencies:
-      debug: 4.4.3
-      extract-zip: 2.0.1
-      progress: 2.0.3
-      proxy-agent: 6.5.0
-      semver: 7.8.0
-      tar-fs: 3.1.2
-      unbzip2-stream: 1.4.3
-      yargs: 17.7.2
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - bare-buffer
-      - react-native-b4a
-      - supports-color
-
-  '@serwist/build@9.5.11(browserslist@4.28.2)(typescript@5.9.3)':
-    dependencies:
-      '@serwist/utils': 9.5.11(browserslist@4.28.2)
-      common-tags: 1.8.2
-      glob: 13.0.6
-      pretty-bytes: 6.1.1
-      source-map: 0.8.0-beta.0
-      type-fest: 5.6.0
-      zod: 4.4.1
-    optionalDependencies:
-      typescript: 5.9.3
-    transitivePeerDependencies:
-      - browserslist
-
-  '@serwist/next@9.5.11(next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)(typescript@5.9.3)':
-    dependencies:
-      '@serwist/build': 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      '@serwist/utils': 9.5.11(browserslist@4.28.2)
-      '@serwist/webpack-plugin': 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      '@serwist/window': 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      browserslist: 4.28.2
-      glob: 13.0.6
-      kolorist: 1.8.0
-      next: 16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
-      react: 19.2.6
-      semver: 7.7.4
-      serwist: 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      zod: 4.4.1
-    optionalDependencies:
-      typescript: 5.9.3
-    transitivePeerDependencies:
-      - webpack
-
-  '@serwist/utils@9.5.11(browserslist@4.28.2)':
-    optionalDependencies:
-      browserslist: 4.28.2
-
-  '@serwist/webpack-plugin@9.5.11(browserslist@4.28.2)(typescript@5.9.3)':
-    dependencies:
-      '@serwist/build': 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-      '@serwist/utils': 9.5.11(browserslist@4.28.2)
-      pretty-bytes: 6.1.1
-      zod: 4.4.1
-    optionalDependencies:
-      typescript: 5.9.3
-    transitivePeerDependencies:
-      - browserslist
-
-  '@serwist/window@9.5.11(browserslist@4.28.2)(typescript@5.9.3)':
-    dependencies:
-      '@types/trusted-types': 2.0.7
-      serwist: 9.5.11(browserslist@4.28.2)(typescript@5.9.3)
-    optionalDependencies:
-      typescript: 5.9.3
-    transitivePeerDependencies:
-      - browserslist
-
-  '@swc/helpers@0.5.15':
-    dependencies:
-      tslib: 2.8.1
-
-  '@tailwindcss/node@4.3.0':
-    dependencies:
-      '@jridgewell/remapping': 2.3.5
-      enhanced-resolve: 5.21.6
-      jiti: 2.7.0
-      lightningcss: 1.32.0
-      magic-string: 0.30.21
-      source-map-js: 1.2.1
-      tailwindcss: 4.3.0
-
-  '@tailwindcss/oxide-android-arm64@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-darwin-arm64@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-darwin-x64@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-freebsd-x64@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-linux-arm64-gnu@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-linux-arm64-musl@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-linux-x64-gnu@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-linux-x64-musl@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-wasm32-wasi@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-win32-arm64-msvc@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide-win32-x64-msvc@4.3.0':
-    optional: true
-
-  '@tailwindcss/oxide@4.3.0':
-    optionalDependencies:
-      '@tailwindcss/oxide-android-arm64': 4.3.0
-      '@tailwindcss/oxide-darwin-arm64': 4.3.0
-      '@tailwindcss/oxide-darwin-x64': 4.3.0
-      '@tailwindcss/oxide-freebsd-x64': 4.3.0
-      '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0
-      '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0
-      '@tailwindcss/oxide-linux-arm64-musl': 4.3.0
-      '@tailwindcss/oxide-linux-x64-gnu': 4.3.0
-      '@tailwindcss/oxide-linux-x64-musl': 4.3.0
-      '@tailwindcss/oxide-wasm32-wasi': 4.3.0
-      '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0
-      '@tailwindcss/oxide-win32-x64-msvc': 4.3.0
-
-  '@tailwindcss/postcss@4.3.0':
-    dependencies:
-      '@alloc/quick-lru': 5.2.0
-      '@tailwindcss/node': 4.3.0
-      '@tailwindcss/oxide': 4.3.0
-      postcss: 8.5.15
-      tailwindcss: 4.3.0
-
-  '@tootallnate/quickjs-emscripten@0.23.0': {}
-
-  '@types/better-sqlite3@7.6.13':
-    dependencies:
-      '@types/node': 22.19.19
-
-  '@types/node@22.19.19':
-    dependencies:
-      undici-types: 6.21.0
-
-  '@types/react-dom@19.2.3(@types/react@19.2.15)':
-    dependencies:
-      '@types/react': 19.2.15
-
-  '@types/react@19.2.15':
-    dependencies:
-      csstype: 3.2.3
-
-  '@types/trusted-types@2.0.7': {}
-
-  '@types/yauzl@2.10.3':
-    dependencies:
-      '@types/node': 22.19.19
-    optional: true
-
-  agent-base@6.0.2:
-    dependencies:
-      debug: 4.4.3
-    transitivePeerDependencies:
-      - supports-color
-
-  agent-base@7.1.4: {}
-
-  ansi-regex@5.0.1: {}
-
-  ansi-styles@4.3.0:
-    dependencies:
-      color-convert: 2.0.1
-
-  argparse@2.0.1: {}
-
-  ast-types@0.13.4:
-    dependencies:
-      tslib: 2.8.1
-
-  asynckit@0.4.0: {}
-
-  axios@1.16.1:
-    dependencies:
-      follow-redirects: 1.16.0
-      form-data: 4.0.5
-      https-proxy-agent: 5.0.1
-      proxy-from-env: 2.1.0
-    transitivePeerDependencies:
-      - debug
-      - supports-color
-
-  b4a@1.8.1: {}
-
-  balanced-match@4.0.4: {}
-
-  bare-events@2.8.3: {}
-
-  bare-fs@4.7.1:
-    dependencies:
-      bare-events: 2.8.3
-      bare-path: 3.0.0
-      bare-stream: 2.13.1(bare-events@2.8.3)
-      bare-url: 2.4.3
-      fast-fifo: 1.3.2
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - react-native-b4a
-
-  bare-os@3.9.1: {}
-
-  bare-path@3.0.0:
-    dependencies:
-      bare-os: 3.9.1
-
-  bare-stream@2.13.1(bare-events@2.8.3):
-    dependencies:
-      streamx: 2.25.0
-      teex: 1.0.1
-    optionalDependencies:
-      bare-events: 2.8.3
-    transitivePeerDependencies:
-      - react-native-b4a
-
-  bare-url@2.4.3:
-    dependencies:
-      bare-path: 3.0.0
-
-  base64-js@1.5.1: {}
-
-  baseline-browser-mapping@2.10.31: {}
-
-  basic-ftp@5.3.1: {}
-
-  better-sqlite3@11.10.0:
-    dependencies:
-      bindings: 1.5.0
-      prebuild-install: 7.1.3
-
-  bindings@1.5.0:
-    dependencies:
-      file-uri-to-path: 1.0.0
-
-  bl@4.1.0:
-    dependencies:
-      buffer: 5.7.1
-      inherits: 2.0.4
-      readable-stream: 3.6.2
-
-  brace-expansion@5.0.6:
-    dependencies:
-      balanced-match: 4.0.4
-
-  browserslist@4.28.2:
-    dependencies:
-      baseline-browser-mapping: 2.10.31
-      caniuse-lite: 1.0.30001793
-      electron-to-chromium: 1.5.360
-      node-releases: 2.0.44
-      update-browserslist-db: 1.2.3(browserslist@4.28.2)
-
-  buffer-crc32@0.2.13: {}
-
-  buffer-from@1.1.2: {}
-
-  buffer@5.7.1:
-    dependencies:
-      base64-js: 1.5.1
-      ieee754: 1.2.1
-
-  call-bind-apply-helpers@1.0.2:
-    dependencies:
-      es-errors: 1.3.0
-      function-bind: 1.1.2
-
-  callsites@3.1.0: {}
-
-  caniuse-lite@1.0.30001793: {}
-
-  chownr@1.1.4: {}
-
-  chromium-bidi@0.11.0(devtools-protocol@0.0.1367902):
-    dependencies:
-      devtools-protocol: 0.0.1367902
-      mitt: 3.0.1
-      zod: 3.23.8
-
-  client-only@0.0.1: {}
-
-  cliui@8.0.1:
-    dependencies:
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-      wrap-ansi: 7.0.0
-
-  color-convert@2.0.1:
-    dependencies:
-      color-name: 1.1.4
-
-  color-name@1.1.4: {}
-
-  combined-stream@1.0.8:
-    dependencies:
-      delayed-stream: 1.0.0
-
-  common-tags@1.8.2: {}
-
-  cosmiconfig@9.0.1(typescript@5.9.3):
-    dependencies:
-      env-paths: 2.2.1
-      import-fresh: 3.3.1
-      js-yaml: 4.1.1
-      parse-json: 5.2.0
-    optionalDependencies:
-      typescript: 5.9.3
-
-  csstype@3.2.3: {}
-
-  data-uri-to-buffer@6.0.2: {}
-
-  date-fns@4.2.1: {}
-
-  debug@4.4.3:
-    dependencies:
-      ms: 2.1.3
-
-  decompress-response@6.0.0:
-    dependencies:
-      mimic-response: 3.1.0
-
-  deep-extend@0.6.0: {}
-
-  degenerator@5.0.1:
-    dependencies:
-      ast-types: 0.13.4
-      escodegen: 2.1.0
-      esprima: 4.0.1
-
-  delayed-stream@1.0.0: {}
-
-  detect-libc@2.1.2: {}
-
-  devtools-protocol@0.0.1367902: {}
-
-  drizzle-kit@0.30.6:
-    dependencies:
-      '@drizzle-team/brocli': 0.10.2
-      '@esbuild-kit/esm-loader': 2.6.5
-      esbuild: 0.19.12
-      esbuild-register: 3.6.0(esbuild@0.19.12)
-      gel: 2.2.0
-    transitivePeerDependencies:
-      - supports-color
-
-  drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.2.0):
-    optionalDependencies:
-      '@types/better-sqlite3': 7.6.13
-      better-sqlite3: 11.10.0
-      gel: 2.2.0
-
-  dunder-proto@1.0.1:
-    dependencies:
-      call-bind-apply-helpers: 1.0.2
-      es-errors: 1.3.0
-      gopd: 1.2.0
-
-  electron-to-chromium@1.5.360: {}
-
-  emoji-regex@8.0.0: {}
-
-  end-of-stream@1.4.5:
-    dependencies:
-      once: 1.4.0
-
-  enhanced-resolve@5.21.6:
-    dependencies:
-      graceful-fs: 4.2.11
-      tapable: 2.3.3
-
-  entities@2.2.0: {}
-
-  env-paths@2.2.1: {}
-
-  env-paths@3.0.0: {}
-
-  error-ex@1.3.4:
-    dependencies:
-      is-arrayish: 0.2.1
-
-  es-define-property@1.0.1: {}
-
-  es-errors@1.3.0: {}
-
-  es-object-atoms@1.1.1:
-    dependencies:
-      es-errors: 1.3.0
-
-  es-set-tostringtag@2.1.0:
-    dependencies:
-      es-errors: 1.3.0
-      get-intrinsic: 1.3.0
-      has-tostringtag: 1.0.2
-      hasown: 2.0.3
-
-  esbuild-register@3.6.0(esbuild@0.19.12):
-    dependencies:
-      debug: 4.4.3
-      esbuild: 0.19.12
-    transitivePeerDependencies:
-      - supports-color
-
-  esbuild@0.18.20:
-    optionalDependencies:
-      '@esbuild/android-arm': 0.18.20
-      '@esbuild/android-arm64': 0.18.20
-      '@esbuild/android-x64': 0.18.20
-      '@esbuild/darwin-arm64': 0.18.20
-      '@esbuild/darwin-x64': 0.18.20
-      '@esbuild/freebsd-arm64': 0.18.20
-      '@esbuild/freebsd-x64': 0.18.20
-      '@esbuild/linux-arm': 0.18.20
-      '@esbuild/linux-arm64': 0.18.20
-      '@esbuild/linux-ia32': 0.18.20
-      '@esbuild/linux-loong64': 0.18.20
-      '@esbuild/linux-mips64el': 0.18.20
-      '@esbuild/linux-ppc64': 0.18.20
-      '@esbuild/linux-riscv64': 0.18.20
-      '@esbuild/linux-s390x': 0.18.20
-      '@esbuild/linux-x64': 0.18.20
-      '@esbuild/netbsd-x64': 0.18.20
-      '@esbuild/openbsd-x64': 0.18.20
-      '@esbuild/sunos-x64': 0.18.20
-      '@esbuild/win32-arm64': 0.18.20
-      '@esbuild/win32-ia32': 0.18.20
-      '@esbuild/win32-x64': 0.18.20
-
-  esbuild@0.19.12:
-    optionalDependencies:
-      '@esbuild/aix-ppc64': 0.19.12
-      '@esbuild/android-arm': 0.19.12
-      '@esbuild/android-arm64': 0.19.12
-      '@esbuild/android-x64': 0.19.12
-      '@esbuild/darwin-arm64': 0.19.12
-      '@esbuild/darwin-x64': 0.19.12
-      '@esbuild/freebsd-arm64': 0.19.12
-      '@esbuild/freebsd-x64': 0.19.12
-      '@esbuild/linux-arm': 0.19.12
-      '@esbuild/linux-arm64': 0.19.12
-      '@esbuild/linux-ia32': 0.19.12
-      '@esbuild/linux-loong64': 0.19.12
-      '@esbuild/linux-mips64el': 0.19.12
-      '@esbuild/linux-ppc64': 0.19.12
-      '@esbuild/linux-riscv64': 0.19.12
-      '@esbuild/linux-s390x': 0.19.12
-      '@esbuild/linux-x64': 0.19.12
-      '@esbuild/netbsd-x64': 0.19.12
-      '@esbuild/openbsd-x64': 0.19.12
-      '@esbuild/sunos-x64': 0.19.12
-      '@esbuild/win32-arm64': 0.19.12
-      '@esbuild/win32-ia32': 0.19.12
-      '@esbuild/win32-x64': 0.19.12
-
-  esbuild@0.28.0:
-    optionalDependencies:
-      '@esbuild/aix-ppc64': 0.28.0
-      '@esbuild/android-arm': 0.28.0
-      '@esbuild/android-arm64': 0.28.0
-      '@esbuild/android-x64': 0.28.0
-      '@esbuild/darwin-arm64': 0.28.0
-      '@esbuild/darwin-x64': 0.28.0
-      '@esbuild/freebsd-arm64': 0.28.0
-      '@esbuild/freebsd-x64': 0.28.0
-      '@esbuild/linux-arm': 0.28.0
-      '@esbuild/linux-arm64': 0.28.0
-      '@esbuild/linux-ia32': 0.28.0
-      '@esbuild/linux-loong64': 0.28.0
-      '@esbuild/linux-mips64el': 0.28.0
-      '@esbuild/linux-ppc64': 0.28.0
-      '@esbuild/linux-riscv64': 0.28.0
-      '@esbuild/linux-s390x': 0.28.0
-      '@esbuild/linux-x64': 0.28.0
-      '@esbuild/netbsd-arm64': 0.28.0
-      '@esbuild/netbsd-x64': 0.28.0
-      '@esbuild/openbsd-arm64': 0.28.0
-      '@esbuild/openbsd-x64': 0.28.0
-      '@esbuild/openharmony-arm64': 0.28.0
-      '@esbuild/sunos-x64': 0.28.0
-      '@esbuild/win32-arm64': 0.28.0
-      '@esbuild/win32-ia32': 0.28.0
-      '@esbuild/win32-x64': 0.28.0
-
-  escalade@3.2.0: {}
-
-  escodegen@2.1.0:
-    dependencies:
-      esprima: 4.0.1
-      estraverse: 5.3.0
-      esutils: 2.0.3
-    optionalDependencies:
-      source-map: 0.6.1
-
-  esprima@4.0.1: {}
-
-  estraverse@5.3.0: {}
-
-  esutils@2.0.3: {}
-
-  events-universal@1.0.1:
-    dependencies:
-      bare-events: 2.8.3
-    transitivePeerDependencies:
-      - bare-abort-controller
-
-  expand-template@2.0.3: {}
-
-  extract-zip@2.0.1:
-    dependencies:
-      debug: 4.4.3
-      get-stream: 5.2.0
-      yauzl: 2.10.0
-    optionalDependencies:
-      '@types/yauzl': 2.10.3
-    transitivePeerDependencies:
-      - supports-color
-
-  fast-fifo@1.3.2: {}
-
-  fd-slicer@1.1.0:
-    dependencies:
-      pend: 1.2.0
-
-  file-uri-to-path@1.0.0: {}
-
-  follow-redirects@1.16.0: {}
-
-  form-data@4.0.5:
-    dependencies:
-      asynckit: 0.4.0
-      combined-stream: 1.0.8
-      es-set-tostringtag: 2.1.0
-      hasown: 2.0.3
-      mime-types: 2.1.35
-
-  fs-constants@1.0.0: {}
-
-  fsevents@2.3.3:
-    optional: true
-
-  function-bind@1.1.2: {}
-
-  gel@2.2.0:
-    dependencies:
-      '@petamoriken/float16': 3.9.3
-      debug: 4.4.3
-      env-paths: 3.0.0
-      semver: 7.8.0
-      shell-quote: 1.8.3
-      which: 4.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  get-caller-file@2.0.5: {}
-
-  get-intrinsic@1.3.0:
-    dependencies:
-      call-bind-apply-helpers: 1.0.2
-      es-define-property: 1.0.1
-      es-errors: 1.3.0
-      es-object-atoms: 1.1.1
-      function-bind: 1.1.2
-      get-proto: 1.0.1
-      gopd: 1.2.0
-      has-symbols: 1.1.0
-      hasown: 2.0.3
-      math-intrinsics: 1.1.0
-
-  get-proto@1.0.1:
-    dependencies:
-      dunder-proto: 1.0.1
-      es-object-atoms: 1.1.1
-
-  get-stream@5.2.0:
-    dependencies:
-      pump: 3.0.4
-
-  get-tsconfig@4.14.0:
-    dependencies:
-      resolve-pkg-maps: 1.0.0
-
-  get-uri@6.0.5:
-    dependencies:
-      basic-ftp: 5.3.1
-      data-uri-to-buffer: 6.0.2
-      debug: 4.4.3
-    transitivePeerDependencies:
-      - supports-color
-
-  github-from-package@0.0.0: {}
-
-  glob@13.0.6:
-    dependencies:
-      minimatch: 10.2.5
-      minipass: 7.1.3
-      path-scurry: 2.0.2
-
-  gopd@1.2.0: {}
-
-  graceful-fs@4.2.11: {}
-
-  has-symbols@1.1.0: {}
-
-  has-tostringtag@1.0.2:
-    dependencies:
-      has-symbols: 1.1.0
-
-  hasown@2.0.3:
-    dependencies:
-      function-bind: 1.1.2
-
-  http-proxy-agent@7.0.2:
-    dependencies:
-      agent-base: 7.1.4
-      debug: 4.4.3
-    transitivePeerDependencies:
-      - supports-color
-
-  https-proxy-agent@5.0.1:
-    dependencies:
-      agent-base: 6.0.2
-      debug: 4.4.3
-    transitivePeerDependencies:
-      - supports-color
-
-  https-proxy-agent@7.0.6:
-    dependencies:
-      agent-base: 7.1.4
-      debug: 4.4.3
-    transitivePeerDependencies:
-      - supports-color
-
-  idb@8.0.3: {}
-
-  ieee754@1.2.1: {}
-
-  import-fresh@3.3.1:
-    dependencies:
-      parent-module: 1.0.1
-      resolve-from: 4.0.0
-
-  inherits@2.0.4: {}
-
-  ini@1.3.8: {}
-
-  ip-address@10.2.0: {}
-
-  is-arrayish@0.2.1: {}
-
-  is-fullwidth-code-point@3.0.0: {}
-
-  isexe@3.1.5: {}
-
-  jiti@2.7.0: {}
-
-  js-tokens@4.0.0: {}
-
-  js-yaml@4.1.1:
-    dependencies:
-      argparse: 2.0.1
-
-  json-parse-even-better-errors@2.3.1: {}
-
-  kolorist@1.8.0: {}
-
-  lightningcss-android-arm64@1.32.0:
-    optional: true
-
-  lightningcss-darwin-arm64@1.32.0:
-    optional: true
-
-  lightningcss-darwin-x64@1.32.0:
-    optional: true
-
-  lightningcss-freebsd-x64@1.32.0:
-    optional: true
-
-  lightningcss-linux-arm-gnueabihf@1.32.0:
-    optional: true
-
-  lightningcss-linux-arm64-gnu@1.32.0:
-    optional: true
-
-  lightningcss-linux-arm64-musl@1.32.0:
-    optional: true
-
-  lightningcss-linux-x64-gnu@1.32.0:
-    optional: true
-
-  lightningcss-linux-x64-musl@1.32.0:
-    optional: true
-
-  lightningcss-win32-arm64-msvc@1.32.0:
-    optional: true
-
-  lightningcss-win32-x64-msvc@1.32.0:
-    optional: true
-
-  lightningcss@1.32.0:
-    dependencies:
-      detect-libc: 2.1.2
-    optionalDependencies:
-      lightningcss-android-arm64: 1.32.0
-      lightningcss-darwin-arm64: 1.32.0
-      lightningcss-darwin-x64: 1.32.0
-      lightningcss-freebsd-x64: 1.32.0
-      lightningcss-linux-arm-gnueabihf: 1.32.0
-      lightningcss-linux-arm64-gnu: 1.32.0
-      lightningcss-linux-arm64-musl: 1.32.0
-      lightningcss-linux-x64-gnu: 1.32.0
-      lightningcss-linux-x64-musl: 1.32.0
-      lightningcss-win32-arm64-msvc: 1.32.0
-      lightningcss-win32-x64-msvc: 1.32.0
-
-  lines-and-columns@1.2.4: {}
-
-  lodash.sortby@4.7.0: {}
-
-  lru-cache@11.5.0: {}
-
-  lru-cache@7.18.3: {}
-
-  magic-string@0.30.21:
-    dependencies:
-      '@jridgewell/sourcemap-codec': 1.5.5
-
-  math-intrinsics@1.1.0: {}
-
-  mime-db@1.52.0: {}
-
-  mime-types@2.1.35:
-    dependencies:
-      mime-db: 1.52.0
-
-  mimic-response@3.1.0: {}
-
-  minimatch@10.2.5:
-    dependencies:
-      brace-expansion: 5.0.6
-
-  minimist@1.2.8: {}
-
-  minipass@7.1.3: {}
-
-  mitt@3.0.1: {}
-
-  mkdirp-classic@0.5.3: {}
-
-  moment-timezone@0.5.48:
-    dependencies:
-      moment: 2.30.1
-
-  moment@2.30.1: {}
-
-  ms@2.1.3: {}
-
-  nanoid@3.3.12: {}
-
-  napi-build-utils@2.0.0: {}
-
-  netmask@2.1.1: {}
-
-  next@16.2.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
-    dependencies:
-      '@next/env': 16.2.6
-      '@swc/helpers': 0.5.15
-      baseline-browser-mapping: 2.10.31
-      caniuse-lite: 1.0.30001793
-      postcss: 8.4.31
-      react: 19.2.6
-      react-dom: 19.2.6(react@19.2.6)
-      styled-jsx: 5.1.6(react@19.2.6)
-    optionalDependencies:
-      '@next/swc-darwin-arm64': 16.2.6
-      '@next/swc-darwin-x64': 16.2.6
-      '@next/swc-linux-arm64-gnu': 16.2.6
-      '@next/swc-linux-arm64-musl': 16.2.6
-      '@next/swc-linux-x64-gnu': 16.2.6
-      '@next/swc-linux-x64-musl': 16.2.6
-      '@next/swc-win32-arm64-msvc': 16.2.6
-      '@next/swc-win32-x64-msvc': 16.2.6
-      sharp: 0.34.5
-    transitivePeerDependencies:
-      - '@babel/core'
-      - babel-plugin-macros
-
-  node-abi@3.92.0:
-    dependencies:
-      semver: 7.8.0
-
-  node-ical@0.20.1:
-    dependencies:
-      axios: 1.16.1
-      moment-timezone: 0.5.48
-      rrule: 2.8.1
-      uuid: 10.0.0
-    transitivePeerDependencies:
-      - debug
-      - supports-color
-
-  node-releases@2.0.44: {}
-
-  once@1.4.0:
-    dependencies:
-      wrappy: 1.0.2
-
-  pac-proxy-agent@7.2.0:
-    dependencies:
-      '@tootallnate/quickjs-emscripten': 0.23.0
-      agent-base: 7.1.4
-      debug: 4.4.3
-      get-uri: 6.0.5
-      http-proxy-agent: 7.0.2
-      https-proxy-agent: 7.0.6
-      pac-resolver: 7.0.1
-      socks-proxy-agent: 8.0.5
-    transitivePeerDependencies:
-      - supports-color
-
-  pac-resolver@7.0.1:
-    dependencies:
-      degenerator: 5.0.1
-      netmask: 2.1.1
-
-  parent-module@1.0.1:
-    dependencies:
-      callsites: 3.1.0
-
-  parse-json@5.2.0:
-    dependencies:
-      '@babel/code-frame': 7.29.0
-      error-ex: 1.3.4
-      json-parse-even-better-errors: 2.3.1
-      lines-and-columns: 1.2.4
-
-  path-scurry@2.0.2:
-    dependencies:
-      lru-cache: 11.5.0
-      minipass: 7.1.3
-
-  pend@1.2.0: {}
-
-  picocolors@1.1.1: {}
-
-  postcss@8.4.31:
-    dependencies:
-      nanoid: 3.3.12
-      picocolors: 1.1.1
-      source-map-js: 1.2.1
-
-  postcss@8.5.15:
-    dependencies:
-      nanoid: 3.3.12
-      picocolors: 1.1.1
-      source-map-js: 1.2.1
-
-  prebuild-install@7.1.3:
-    dependencies:
-      detect-libc: 2.1.2
-      expand-template: 2.0.3
-      github-from-package: 0.0.0
-      minimist: 1.2.8
-      mkdirp-classic: 0.5.3
-      napi-build-utils: 2.0.0
-      node-abi: 3.92.0
-      pump: 3.0.4
-      rc: 1.2.8
-      simple-get: 4.0.1
-      tar-fs: 2.1.4
-      tunnel-agent: 0.6.0
-
-  pretty-bytes@6.1.1: {}
-
-  progress@2.0.3: {}
-
-  proxy-agent@6.5.0:
-    dependencies:
-      agent-base: 7.1.4
-      debug: 4.4.3
-      http-proxy-agent: 7.0.2
-      https-proxy-agent: 7.0.6
-      lru-cache: 7.18.3
-      pac-proxy-agent: 7.2.0
-      proxy-from-env: 1.1.0
-      socks-proxy-agent: 8.0.5
-    transitivePeerDependencies:
-      - supports-color
-
-  proxy-from-env@1.1.0: {}
-
-  proxy-from-env@2.1.0: {}
-
-  pump@3.0.4:
-    dependencies:
-      end-of-stream: 1.4.5
-      once: 1.4.0
-
-  punycode@2.3.1: {}
-
-  puppeteer-core@23.11.1:
-    dependencies:
-      '@puppeteer/browsers': 2.6.1
-      chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902)
-      debug: 4.4.3
-      devtools-protocol: 0.0.1367902
-      typed-query-selector: 2.12.2
-      ws: 8.20.1
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - bare-buffer
-      - bufferutil
-      - react-native-b4a
-      - supports-color
-      - utf-8-validate
-
-  puppeteer@23.11.1(typescript@5.9.3):
-    dependencies:
-      '@puppeteer/browsers': 2.6.1
-      chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902)
-      cosmiconfig: 9.0.1(typescript@5.9.3)
-      devtools-protocol: 0.0.1367902
-      puppeteer-core: 23.11.1
-      typed-query-selector: 2.12.2
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - bare-buffer
-      - bufferutil
-      - react-native-b4a
-      - supports-color
-      - typescript
-      - utf-8-validate
-
-  rc@1.2.8:
-    dependencies:
-      deep-extend: 0.6.0
-      ini: 1.3.8
-      minimist: 1.2.8
-      strip-json-comments: 2.0.1
-
-  react-dom@19.2.6(react@19.2.6):
-    dependencies:
-      react: 19.2.6
-      scheduler: 0.27.0
-
-  react@19.2.6: {}
-
-  readable-stream@3.6.2:
-    dependencies:
-      inherits: 2.0.4
-      string_decoder: 1.3.0
-      util-deprecate: 1.0.2
-
-  require-directory@2.1.1: {}
-
-  resolve-from@4.0.0: {}
-
-  resolve-pkg-maps@1.0.0: {}
-
-  rrule@2.8.1:
-    dependencies:
-      tslib: 2.8.1
-
-  rss-parser@3.13.0:
-    dependencies:
-      entities: 2.2.0
-      xml2js: 0.5.0
-
-  safe-buffer@5.2.1: {}
-
-  sax@1.6.0: {}
-
-  scheduler@0.27.0: {}
-
-  semver@7.7.4: {}
-
-  semver@7.8.0: {}
-
-  serwist@9.5.11(browserslist@4.28.2)(typescript@5.9.3):
-    dependencies:
-      '@serwist/utils': 9.5.11(browserslist@4.28.2)
-      idb: 8.0.3
-    optionalDependencies:
-      typescript: 5.9.3
-    transitivePeerDependencies:
-      - browserslist
-
-  sharp@0.34.5:
-    dependencies:
-      '@img/colour': 1.1.0
-      detect-libc: 2.1.2
-      semver: 7.8.0
-    optionalDependencies:
-      '@img/sharp-darwin-arm64': 0.34.5
-      '@img/sharp-darwin-x64': 0.34.5
-      '@img/sharp-libvips-darwin-arm64': 1.2.4
-      '@img/sharp-libvips-darwin-x64': 1.2.4
-      '@img/sharp-libvips-linux-arm': 1.2.4
-      '@img/sharp-libvips-linux-arm64': 1.2.4
-      '@img/sharp-libvips-linux-ppc64': 1.2.4
-      '@img/sharp-libvips-linux-riscv64': 1.2.4
-      '@img/sharp-libvips-linux-s390x': 1.2.4
-      '@img/sharp-libvips-linux-x64': 1.2.4
-      '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
-      '@img/sharp-libvips-linuxmusl-x64': 1.2.4
-      '@img/sharp-linux-arm': 0.34.5
-      '@img/sharp-linux-arm64': 0.34.5
-      '@img/sharp-linux-ppc64': 0.34.5
-      '@img/sharp-linux-riscv64': 0.34.5
-      '@img/sharp-linux-s390x': 0.34.5
-      '@img/sharp-linux-x64': 0.34.5
-      '@img/sharp-linuxmusl-arm64': 0.34.5
-      '@img/sharp-linuxmusl-x64': 0.34.5
-      '@img/sharp-wasm32': 0.34.5
-      '@img/sharp-win32-arm64': 0.34.5
-      '@img/sharp-win32-ia32': 0.34.5
-      '@img/sharp-win32-x64': 0.34.5
-
-  shell-quote@1.8.3: {}
-
-  simple-concat@1.0.1: {}
-
-  simple-get@4.0.1:
-    dependencies:
-      decompress-response: 6.0.0
-      once: 1.4.0
-      simple-concat: 1.0.1
-
-  smart-buffer@4.2.0: {}
-
-  socks-proxy-agent@8.0.5:
-    dependencies:
-      agent-base: 7.1.4
-      debug: 4.4.3
-      socks: 2.8.9
-    transitivePeerDependencies:
-      - supports-color
-
-  socks@2.8.9:
-    dependencies:
-      ip-address: 10.2.0
-      smart-buffer: 4.2.0
-
-  source-map-js@1.2.1: {}
-
-  source-map-support@0.5.21:
-    dependencies:
-      buffer-from: 1.1.2
-      source-map: 0.6.1
-
-  source-map@0.6.1: {}
-
-  source-map@0.8.0-beta.0:
-    dependencies:
-      whatwg-url: 7.1.0
-
-  streamx@2.25.0:
-    dependencies:
-      events-universal: 1.0.1
-      fast-fifo: 1.3.2
-      text-decoder: 1.2.7
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - react-native-b4a
-
-  string-width@4.2.3:
-    dependencies:
-      emoji-regex: 8.0.0
-      is-fullwidth-code-point: 3.0.0
-      strip-ansi: 6.0.1
-
-  string_decoder@1.3.0:
-    dependencies:
-      safe-buffer: 5.2.1
-
-  strip-ansi@6.0.1:
-    dependencies:
-      ansi-regex: 5.0.1
-
-  strip-json-comments@2.0.1: {}
-
-  styled-jsx@5.1.6(react@19.2.6):
-    dependencies:
-      client-only: 0.0.1
-      react: 19.2.6
-
-  tagged-tag@1.0.0: {}
-
-  tailwindcss@4.3.0: {}
-
-  tapable@2.3.3: {}
-
-  tar-fs@2.1.4:
-    dependencies:
-      chownr: 1.1.4
-      mkdirp-classic: 0.5.3
-      pump: 3.0.4
-      tar-stream: 2.2.0
-
-  tar-fs@3.1.2:
-    dependencies:
-      pump: 3.0.4
-      tar-stream: 3.2.0
-    optionalDependencies:
-      bare-fs: 4.7.1
-      bare-path: 3.0.0
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - bare-buffer
-      - react-native-b4a
-
-  tar-stream@2.2.0:
-    dependencies:
-      bl: 4.1.0
-      end-of-stream: 1.4.5
-      fs-constants: 1.0.0
-      inherits: 2.0.4
-      readable-stream: 3.6.2
-
-  tar-stream@3.2.0:
-    dependencies:
-      b4a: 1.8.1
-      bare-fs: 4.7.1
-      fast-fifo: 1.3.2
-      streamx: 2.25.0
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - bare-buffer
-      - react-native-b4a
-
-  teex@1.0.1:
-    dependencies:
-      streamx: 2.25.0
-    transitivePeerDependencies:
-      - bare-abort-controller
-      - react-native-b4a
-
-  text-decoder@1.2.7:
-    dependencies:
-      b4a: 1.8.1
-    transitivePeerDependencies:
-      - react-native-b4a
-
-  through@2.3.8: {}
-
-  tr46@1.0.1:
-    dependencies:
-      punycode: 2.3.1
-
-  tslib@2.8.1: {}
-
-  tsx@4.22.3:
-    dependencies:
-      esbuild: 0.28.0
-    optionalDependencies:
-      fsevents: 2.3.3
-
-  tunnel-agent@0.6.0:
-    dependencies:
-      safe-buffer: 5.2.1
-
-  type-fest@5.6.0:
-    dependencies:
-      tagged-tag: 1.0.0
-
-  typed-query-selector@2.12.2: {}
-
-  typescript@5.9.3: {}
-
-  unbzip2-stream@1.4.3:
-    dependencies:
-      buffer: 5.7.1
-      through: 2.3.8
-
-  undici-types@6.21.0: {}
-
-  update-browserslist-db@1.2.3(browserslist@4.28.2):
-    dependencies:
-      browserslist: 4.28.2
-      escalade: 3.2.0
-      picocolors: 1.1.1
-
-  util-deprecate@1.0.2: {}
-
-  uuid@10.0.0: {}
-
-  webidl-conversions@4.0.2: {}
-
-  whatwg-url@7.1.0:
-    dependencies:
-      lodash.sortby: 4.7.0
-      tr46: 1.0.1
-      webidl-conversions: 4.0.2
-
-  which@4.0.0:
-    dependencies:
-      isexe: 3.1.5
-
-  wrap-ansi@7.0.0:
-    dependencies:
-      ansi-styles: 4.3.0
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-
-  wrappy@1.0.2: {}
-
-  ws@8.20.1: {}
-
-  xml2js@0.5.0:
-    dependencies:
-      sax: 1.6.0
-      xmlbuilder: 11.0.1
-
-  xmlbuilder@11.0.1: {}
-
-  y18n@5.0.8: {}
-
-  yargs-parser@21.1.1: {}
-
-  yargs@17.7.2:
-    dependencies:
-      cliui: 8.0.1
-      escalade: 3.2.0
-      get-caller-file: 2.0.5
-      require-directory: 2.1.1
-      string-width: 4.2.3
-      y18n: 5.0.8
-      yargs-parser: 21.1.1
-
-  yauzl@2.10.0:
-    dependencies:
-      buffer-crc32: 0.2.13
-      fd-slicer: 1.1.0
-
-  zod@3.23.8: {}
-
-  zod@3.25.76: {}
-
-  zod@4.4.1: {}
postcss.config.mjs +0 −7
@@ -1,7 +0,0 @@
-const config = {
-  plugins: {
-    "@tailwindcss/postcss": {},
-  },
-};
-
-export default config;
public/fonts/.gitkeep +0 −16
@@ -1,16 +0,0 @@
-# Fonts
-
-Drop woff2 files here. The @font-face declarations in app/globals.css expect:
-
-- Awke-Regular.woff2
-- Awke-Bold.woff2
-- Awke-Italic.woff2
-- Untitled-Regular.woff2
-- Untitled-Bold.woff2
-- Untitled-Italic.woff2
-- Dote-Regular.woff2
-- Merriweather-Regular.woff2
-- Merriweather-Bold.woff2
-- Merriweather-Italic.woff2
-
-Licensed fonts only — do not commit unlicensed binaries.
public/fonts/ATNameMono-Black.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-Black.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-BlackItalic.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-BlackItalic.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-Bold.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-Bold.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-BoldItalic.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-BoldItalic.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-ExtraBold.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-ExtraBold.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-ExtraBoldItalic.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-ExtraBoldItalic.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-ExtraLight.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-ExtraLightItalic.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-Italic-VF.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-Italic.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-Light.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-LightItalic.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-Medium.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-Medium.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-MediumItalic.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-MediumItalic.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-Regular.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-Regular.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-RegularItalic.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-SemiBold.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-SemiBold.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-SemiBoldItalic.woff2 +0 −0

Binary file.

b/public/fonts/ATNameMono-SemiBoldItalic.woff2 → 2 +0 −0

Binary file.

public/fonts/ATNameMono-Thin.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-ThinItalic.woff2 +0 −0

Binary file.

public/fonts/ATNameMono-VF.woff2 +0 −0

Binary file.

public/fonts/ATNameMonoVariable-Regular.woff2 +0 −0

Binary file.

public/fonts/ATNameMonoVariable-RegularItalic.woff2 +0 −0

Binary file.

public/fonts/Awke-Bold.woff2 +0 −0

Binary file.

public/fonts/Awke-Regular.woff2 +0 −0

Binary file.

public/fonts/Awke-Thin.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-black-italic.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-black.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-bold-italic.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-bold.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-light-italic.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-light.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-medium-italic.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-medium.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-regular-italic.woff2 +0 −0

Binary file.

public/fonts/untitled-sans-regular.woff2 +0 −0

Binary file.

public/icons/.gitkeep +0 −10
@@ -1,10 +0,0 @@
-# Icons
-
-Generated by `node scripts/generate-icons.mjs` from a single source SVG at
-`public/icons/source.svg`. Output:
-
-- icon-192.png
-- icon-512.png
-- icon-maskable-512.png
-- apple-touch-icon.png (180x180)
-- favicon.ico
public/icons/apple-touch-icon.png +0 −0

Binary file.

public/icons/favicon.ico +0 −0

Binary file.

public/icons/icon-192.png +0 −0

Binary file.

public/icons/icon-512.png +0 −0

Binary file.

public/icons/icon-maskable-512.png +0 −0

Binary file.

public/icons/source.svg +0 −23
@@ -1,23 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
-  <rect width="512" height="512" rx="96" fill="#FFFCF0"/>
-  <!-- dashboard of cards -->
-  <g fill="none" stroke="#100F0F" stroke-width="20">
-    <rect x="96" y="112" width="148" height="120" rx="16"/>
-    <rect x="268" y="112" width="148" height="120" rx="16"/>
-    <rect x="96" y="256" width="148" height="144" rx="16"/>
-    <rect x="268" y="256" width="148" height="144" rx="16"/>
-  </g>
-  <!-- accent fill on one card -->
-  <rect x="96" y="112" width="148" height="120" rx="16" fill="#24837B"/>
-  <!-- ruled lines suggesting text -->
-  <g stroke="#100F0F" stroke-width="14" stroke-linecap="round">
-    <line x1="292" y1="150" x2="392" y2="150"/>
-    <line x1="292" y1="184" x2="372" y2="184"/>
-    <line x1="120" y1="296" x2="220" y2="296"/>
-    <line x1="120" y1="330" x2="200" y2="330"/>
-    <line x1="120" y1="364" x2="216" y2="364"/>
-    <line x1="292" y1="296" x2="392" y2="296"/>
-    <line x1="292" y1="330" x2="372" y2="330"/>
-    <line x1="292" y1="364" x2="388" y2="364"/>
-  </g>
-</svg>
public/manifest.json +0 −44
@@ -1,44 +0,0 @@
-{
-  "name": "Personal Dashboard",
-  "short_name": "Dashboard",
-  "description": "Weather, news, history, todos, feeds, and a daily printable paper — all local.",
-  "start_url": "/",
-  "scope": "/",
-  "display": "standalone",
-  "orientation": "portrait",
-  "background_color": "#FFFCF0",
-  "theme_color": "#FFFCF0",
-  "categories": ["productivity", "news"],
-  "icons": [
-    {
-      "src": "/icons/icon-192.png",
-      "sizes": "192x192",
-      "type": "image/png",
-      "purpose": "any"
-    },
-    {
-      "src": "/icons/icon-512.png",
-      "sizes": "512x512",
-      "type": "image/png",
-      "purpose": "any"
-    },
-    {
-      "src": "/icons/icon-maskable-512.png",
-      "sizes": "512x512",
-      "type": "image/png",
-      "purpose": "maskable"
-    }
-  ],
-  "shortcuts": [
-    {
-      "name": "The Paper",
-      "short_name": "Paper",
-      "url": "/editions"
-    },
-    {
-      "name": "Settings",
-      "short_name": "Settings",
-      "url": "/settings"
-    }
-  ]
-}
scripts/add-item.sh +0 −26
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-# scripts/add-item.sh — quick add via Gum.
-# Requires: gum, jq, curl. Token at ~/.${APP_SLUG}rc.json.
-
-set -euo pipefail
-
-: "${APP_BASE:=http://localhost:3000}"
-: "${APP_SLUG:=app}"
-
-CONFIG="$HOME/.${APP_SLUG}rc.json"
-if [ ! -f "$CONFIG" ]; then
-  gum style --foreground 196 "No token. Get one at $APP_BASE/settings/tokens and save to $CONFIG"
-  exit 1
-fi
-
-TOKEN=$(jq -r .token "$CONFIG")
-TITLE=$(gum input --placeholder "Title")
-[ -z "$TITLE" ] && exit 0
-
-gum spin --spinner dot --title "Saving…" -- \
-  curl -sf -X POST "$APP_BASE/api/items" \
-    -H "Authorization: Bearer $TOKEN" \
-    -H "Content-Type: application/json" \
-    -d "$(jq -n --arg t "$TITLE" '{title:$t}')"
-
-gum style --foreground 212 "Added: $TITLE"
scripts/generate-icons.mjs +0 −63
@@ -1,63 +0,0 @@
-#!/usr/bin/env node
-/**
- * Generate app icons from a single SVG source.
- *
- * Usage:
- *   npm i -D sharp
- *   node scripts/generate-icons.mjs
- *
- * Requires: public/icons/source.svg
- * Outputs into: public/icons/
- */
-import { readFile, writeFile, mkdir } from "node:fs/promises";
-import { fileURLToPath } from "node:url";
-import { dirname, join } from "node:path";
-import sharp from "sharp";
-
-const here = dirname(fileURLToPath(import.meta.url));
-const root = join(here, "..");
-const iconsDir = join(root, "public", "icons");
-
-const SOURCE = join(iconsDir, "source.svg");
-
-const TARGETS = [
-  { out: "icon-192.png", size: 192, padding: 0 },
-  { out: "icon-512.png", size: 512, padding: 0 },
-  { out: "icon-maskable-512.png", size: 512, padding: 64 }, // safe zone
-  { out: "apple-touch-icon.png", size: 180, padding: 0 },
-];
-
-async function main() {
-  await mkdir(iconsDir, { recursive: true });
-  const svg = await readFile(SOURCE);
-
-  for (const t of TARGETS) {
-    const inner = t.size - t.padding * 2;
-    const buf = await sharp(svg, { density: 384 })
-      .resize(inner, inner, { fit: "contain", background: { r: 0, g: 0, b: 0, alpha: 0 } })
-      .extend({
-        top: t.padding,
-        bottom: t.padding,
-        left: t.padding,
-        right: t.padding,
-        background: { r: 0, g: 0, b: 0, alpha: 0 },
-      })
-      .png({ compressionLevel: 9 })
-      .toBuffer();
-    await writeFile(join(iconsDir, t.out), buf);
-    console.log(`wrote ${t.out} (${t.size}x${t.size})`);
-  }
-
-  // simple favicon — 32x32 png renamed .ico works in modern browsers
-  const faviconBuf = await sharp(svg, { density: 192 })
-    .resize(32, 32, { fit: "contain", background: { r: 0, g: 0, b: 0, alpha: 0 } })
-    .png()
-    .toBuffer();
-  await writeFile(join(iconsDir, "favicon.ico"), faviconBuf);
-  console.log("wrote favicon.ico (32x32 png)");
-}
-
-main().catch((err) => {
-  console.error(err);
-  process.exit(1);
-});
scripts/launch.command +0 −61
@@ -1,61 +0,0 @@
-#!/bin/bash
-# launch.command — double-click to start the Personal Dashboard and open it.
-# Builds on first run (or after updates), starts the local server on :4317,
-# waits until it's healthy, then opens the browser. Safe to run repeatedly.
-
-set -euo pipefail
-
-# Finder-launched scripts get a minimal PATH — add Homebrew + common bins.
-export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
-
-PORT=4317
-URL="http://localhost:${PORT}"
-
-# Repo = parent of this script's dir, regardless of where it's launched from.
-REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
-cd "$REPO"
-
-echo "Personal Dashboard → $REPO"
-
-# Already running? Just open it.
-if curl -sf "${URL}/api/health" >/dev/null 2>&1; then
-  echo "Already running. Opening $URL"
-  open "$URL"
-  exit 0
-fi
-
-# Ensure dependencies.
-if [ ! -d node_modules ]; then
-  echo "Installing dependencies…"
-  pnpm install
-fi
-
-# Ensure the local database exists.
-if [ ! -f data/dashboard.db ]; then
-  echo "Setting up database…"
-  pnpm db:push
-  pnpm db:seed
-fi
-
-# Build if there's no production build yet (pass --rebuild to force).
-if [ "${1:-}" = "--rebuild" ] || [ ! -f .next/BUILD_ID ]; then
-  echo "Building (first run / --rebuild)…"
-  pnpm build
-fi
-
-echo "Starting server on :${PORT}…"
-pnpm start &
-SERVER_PID=$!
-
-# Wait for health, then open the browser.
-for _ in $(seq 1 60); do
-  if curl -sf "${URL}/api/health" >/dev/null 2>&1; then
-    echo "Ready. Opening $URL"
-    open "$URL"
-    break
-  fi
-  sleep 1
-done
-
-# Keep the server in the foreground so closing this window stops it.
-wait "$SERVER_PID"
scripts/make-app.sh +0 −52
@@ -1,52 +0,0 @@
-#!/bin/bash
-# make-app.sh — build a double-clickable "Personal Dashboard.app" (no Terminal
-# window) that starts the dashboard in the background and opens the browser.
-# Run once: bash scripts/make-app.sh   →   creates ./Personal Dashboard.app
-
-set -euo pipefail
-
-REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
-APP="$REPO/Personal Dashboard.app"
-LAUNCH="$REPO/scripts/launch.command"
-
-chmod +x "$LAUNCH"
-
-# AppleScript: run the launcher detached (survives the .app exiting), then open
-# the browser once the server answers. nohup + disown keeps the server alive.
-read -r -d '' SCRIPT <<APPLESCRIPT || true
-on run
-  set repoPath to "$REPO"
-  set launcher to quoted form of (repoPath & "/scripts/launch.command")
-  do shell script "cd " & quoted form of repoPath & " && nohup " & launcher & " >/tmp/personal-dashboard.log 2>&1 & disown"
-  -- give the server a moment, then open (launcher also opens on ready)
-  repeat 30 times
-    try
-      do shell script "curl -sf http://localhost:4317/api/health >/dev/null"
-      exit repeat
-    on error
-      delay 1
-    end try
-  end repeat
-  open location "http://localhost:4317"
-end run
-APPLESCRIPT
-
-rm -rf "$APP"
-osacompile -o "$APP" -e "$SCRIPT"
-
-# Use the generated PWA icon for the app, if available.
-ICON_SRC="$REPO/public/icons/icon-512.png"
-if [ -f "$ICON_SRC" ] && command -v sips >/dev/null 2>&1; then
-  TMP_ICONSET="$(mktemp -d)/icon.iconset"
-  mkdir -p "$TMP_ICONSET"
-  for s in 16 32 64 128 256 512; do
-    sips -z $s $s "$ICON_SRC" --out "$TMP_ICONSET/icon_${s}x${s}.png" >/dev/null 2>&1 || true
-    d=$((s*2)); sips -z $d $d "$ICON_SRC" --out "$TMP_ICONSET/icon_${s}x${s}@2x.png" >/dev/null 2>&1 || true
-  done
-  if command -v iconutil >/dev/null 2>&1; then
-    iconutil -c icns "$TMP_ICONSET" -o "$APP/Contents/Resources/applet.icns" 2>/dev/null || true
-  fi
-fi
-
-echo "Created: $APP"
-echo "Double-click it (or drag to the Dock). First launch builds, then opens the browser."
scripts/seed.ts +0 −80
@@ -1,80 +0,0 @@
-// scripts/seed.ts — ensure default sources + settings exist in the local db.
-// Idempotent per-kind: inserts any kind not already present. Safe to re-run.
-// Run: pnpm db:seed   (uses relative imports so plain `tsx` resolves it)
-
-import { randomUUID } from "node:crypto";
-import { db } from "../db/index";
-import { sources, settings } from "../db/schema";
-import { SETTINGS_DEFAULTS } from "../lib/schemas/setting";
-
-const vault = process.env.OBSIDIAN_VAULT ?? "/Users/kortum/Humdrum";
-
-interface Seed {
-  kind: string;
-  label: string;
-  enabled: boolean;
-  refreshSeconds: number;
-  config: Record<string, unknown>;
-}
-
-// Keyless sources start enabled; credentialed ones start disabled (enable them
-// in Settings once their .env.local keys are filled).
-const DEFAULTS: Seed[] = [
-  { kind: "weather", label: "Weather", enabled: true, refreshSeconds: 1800, config: {} },
-  { kind: "calendar", label: "Calendar", enabled: false, refreshSeconds: 1800, config: { urls: [], daysAhead: 7 } },
-  { kind: "onthisday", label: "On This Day", enabled: true, refreshSeconds: 86_400, config: {} },
-  {
-    kind: "news",
-    label: "News",
-    enabled: true,
-    refreshSeconds: 1800,
-    config: {
-      feeds: [
-        "https://hnrss.org/frontpage",
-        "https://www.theverge.com/rss/index.xml",
-        "https://feeds.arstechnica.com/arstechnica/index",
-        "http://feeds.bbci.co.uk/news/world/rss.xml",
-      ],
-      limit: 12,
-    },
-  },
-  { kind: "sports", label: "Scores", enabled: false, refreshSeconds: 600, config: { leagues: ["basketball/nba"] } },
-  { kind: "github", label: "GitHub", enabled: false, refreshSeconds: 900, config: {} },
-  { kind: "vercel", label: "Vercel", enabled: false, refreshSeconds: 600, config: {} },
-  { kind: "mastodon", label: "Mastodon", enabled: false, refreshSeconds: 600, config: {} },
-  { kind: "bluesky", label: "Bluesky", enabled: false, refreshSeconds: 600, config: {} },
-  { kind: "obsidian", label: "Obsidian", enabled: true, refreshSeconds: 600, config: { vault, limit: 8 } },
-  { kind: "todos", label: "Todos", enabled: true, refreshSeconds: 86_400, config: {} },
-];
-
-function main() {
-  const existing = db.select().from(sources).all();
-  const present = new Set(existing.map((s) => s.kind));
-  let pos = existing.length;
-  let added = 0;
-
-  for (const s of DEFAULTS) {
-    if (present.has(s.kind)) continue;
-    db.insert(sources)
-      .values({
-        id: randomUUID(),
-        kind: s.kind,
-        label: s.label,
-        enabled: s.enabled,
-        config: s.config,
-        refreshSeconds: s.refreshSeconds,
-        position: pos++,
-      })
-      .run();
-    added++;
-  }
-
-  db.insert(settings)
-    .values({ key: "settings", value: SETTINGS_DEFAULTS })
-    .onConflictDoNothing()
-    .run();
-
-  console.log(added > 0 ? `Seeded ${added} new source(s).` : "All source kinds already present.");
-}
-
-main();
tsconfig.json +0 −41
@@ -1,41 +0,0 @@
-{
-  "compilerOptions": {
-    "target": "ES2022",
-    "lib": [
-      "dom",
-      "dom.iterable",
-      "ES2022"
-    ],
-    "allowJs": true,
-    "skipLibCheck": true,
-    "strict": true,
-    "noEmit": true,
-    "esModuleInterop": true,
-    "module": "esnext",
-    "moduleResolution": "bundler",
-    "resolveJsonModule": true,
-    "isolatedModules": true,
-    "jsx": "react-jsx",
-    "incremental": true,
-    "plugins": [
-      {
-        "name": "next"
-      }
-    ],
-    "paths": {
-      "@/*": [
-        "./*"
-      ]
-    }
-  },
-  "include": [
-    "next-env.d.ts",
-    "**/*.ts",
-    "**/*.tsx",
-    ".next/types/**/*.ts",
-    ".next/dev/types/**/*.ts"
-  ],
-  "exclude": [
-    "node_modules"
-  ]
-}
tsconfig.tsbuildinfo +0 −1
@@ -1 +0,0 @@
-{"fileNames":["./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.webworker.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/global.d.ts","./node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/get-page-files.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/index.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.typedarray.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.buffer.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/events.d.ts","./node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","./node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/storage.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert/strict.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/async_hooks.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/child_process.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/cluster.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/console.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/constants.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/crypto.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dgram.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns/promises.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/domain.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/events.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs/promises.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http2.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/https.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.generated.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/module.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/net.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/os.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/path.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/perf_hooks.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/process.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/punycode.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/querystring.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline/promises.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/repl.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sea.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sqlite.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/promises.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/consumers.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/web.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/string_decoder.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/test.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers/promises.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tls.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/trace_events.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tty.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/url.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/util.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/v8.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/vm.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/wasi.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/worker_threads.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/zlib.d.ts","./node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/index.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/canary.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/experimental.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/index.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/canary.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/experimental.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/fallback.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/bundler.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/body-streams.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/search-params.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/params.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-kind.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/constants.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/render-result.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/jsx-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/worker.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/page-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/require-hook.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/node-environment.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/next-url.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/with-router.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/router.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/route-loader.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/page-loader.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/templates/pages.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/render.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/base-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/after/after.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/after/after-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/http.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/utils.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/export/routes/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/export/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/export/worker.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/worker.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/trace/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/trace/trace.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/trace/shared.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/trace/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/.pnpm/@next+env@16.2.6/node_modules/@next/env/dist/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/telemetry/storage.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/build-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack-config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/define-env.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/swc/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/swc/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/base-http/node.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/next-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/next.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/load-components.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/adapter.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-page.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/.pnpm/@types+react@19.2.15/node_modules/@types/react/compiler-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/client.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/static.d.ts","./node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.15/node_modules/@types/react-dom/server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/after/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/connection.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request-meta.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/cli/next-test.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/config-shared.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/base-http/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/pages/_app.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/app.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/cache.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/pages/_document.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/document.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dynamic.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/pages/_error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/api/error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/head.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/head.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/cookies.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/headers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/headers.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/image-component.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/image.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/link.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/link.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/redirect.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/not-found.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/navigation.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/navigation.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/router.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/script.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/script.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/server.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/types/global.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/types/compiled.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/types.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/index.d.ts","./node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./node_modules/.pnpm/drizzle-kit@0.30.6/node_modules/drizzle-kit/index-baurj6ib.d.mts","./node_modules/.pnpm/drizzle-kit@0.30.6/node_modules/drizzle-kit/index.d.mts","./drizzle.config.ts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/json-schema.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/standard-schema.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/registries.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/to-json-schema.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/util.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/versions.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/schemas.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/checks.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/errors.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/core.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/parse.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/regexes.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ar.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/az.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/be.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/bg.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ca.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/cs.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/da.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/de.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/el.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/en.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/eo.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/es.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/fa.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/fi.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/fr.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/fr-ca.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/he.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/hr.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/hu.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/hy.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/id.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/is.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/it.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ja.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ka.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/kh.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/km.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ko.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/lt.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/mk.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ms.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/nl.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/no.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ota.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ps.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/pl.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/pt.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ro.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ru.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/sl.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/sv.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ta.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/th.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/tr.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ua.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/uk.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/ur.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/uz.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/vi.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/zh-cn.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/zh-tw.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/yo.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/locales/index.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/doc.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/api.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/json-schema-processors.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/json-schema-generator.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/core/index.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/errors.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/parse.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/schemas.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/checks.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/compat.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/from-json-schema.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/iso.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/coerce.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/v4/classic/external.d.cts","./node_modules/.pnpm/zod@4.4.1/node_modules/zod/index.d.cts","./node_modules/.pnpm/@serwist+build@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/@serwist/build/dist/chunks/manifest-transform-bcueq0-v.d.ts","./node_modules/.pnpm/browserslist@4.28.2/node_modules/browserslist/index.d.ts","./node_modules/.pnpm/@serwist+utils@9.5.11_browserslist@4.28.2/node_modules/@serwist/utils/dist/index.d.mts","./node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/source-map.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/primitive.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/typed-array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/basic.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/json-value.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/characters.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/union-to-intersection.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/keys-of-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/distributed-omit.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/distributed-pick.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/empty-object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if-empty-object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-any.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-optional-key-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/optional-keys-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/required-keys-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/has-required-keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-never.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/unknown-array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/characters.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-float.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-integer.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/numeric.d.ts","./node_modules/.pnpm/tagged-tag@1.0.0/node_modules/tagged-tag/index.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tagged.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-literal.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-null.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-unknown.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tuple-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/trim.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/string.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/numeric.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/simplify.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-equal.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/omit-index-signature.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/pick-index-signature.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/merge.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/some-extend.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/or-all.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/or.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/all-extend.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/and-all.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/and.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/absolute.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/greater-than.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/greater-than-or-equal.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/less-than.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/tuple.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/enforce-optional.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/internal/index.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/except.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/require-at-least-one.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/non-empty-object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/non-empty-string.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/unknown-record.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/unknown-set.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/unknown-map.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tagged-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/writable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/writable-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/object-merge.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-simplify-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/non-empty-tuple.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-tail.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/simplify-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/merge-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/merge-exclusive.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/require-exactly-one.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/require-all-or-none.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/require-one-or-none.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/single-key-object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/partial-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/unwrap-partial.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/required-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/subtract.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/sum.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/paths.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/pick-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-splice.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/literal-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/exclude-exactly.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/union-member.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/union-to-tuple.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/omit-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/partial-on-undefined-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/undefined-on-partial-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/readonly-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/promisable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/arrayable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/optional.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/invariant-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-optional.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-readonly.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-required.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-required-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-non-nullable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/non-nullable-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-non-nullable-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/value-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/async-return-type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/extends-strict.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-tuple.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tuple-to-object.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-except.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-pick.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-pick-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/stringified.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/join.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/less-than-or-equal.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-slice.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/string-slice.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/fixed-length-array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/multidimensional-array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/multidimensional-readonly-array.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/iterable-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/entry.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/entries.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-return-type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-parameter-type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/asyncify.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/jsonify.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/jsonifiable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/find-global-type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/structured-cloneable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/schema.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/literal-to-primitive.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/literal-to-primitive-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/key-as-string.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/exact.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/readonly-tuple.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/override-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/has-optional-keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-required-key-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-readonly-key-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/readonly-keys-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/has-readonly-keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/writable-keys-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-writable-key-of.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/has-writable-keys.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/spread.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/split-on-rest-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/extract-rest-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/exclude-rest-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tuple-to-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/int-range.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/int-closed-range.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if-any.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if-never.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if-unknown.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-indices.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-values.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-length.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/set-field-type.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/shared-union-fields.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/all-union-fields.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/shared-union-fields-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/if-null.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-undefined.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/xor.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-lowercase.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-uppercase.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-optional.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/is-nullable.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/exclusify-union.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/array-reverse.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/union-length.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/words.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/camel-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/camel-cased-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/camel-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/remove-prefix.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/delimiter-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/kebab-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/delimiter-cased-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/kebab-cased-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/pascal-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/pascal-cased-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/snake-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/snake-cased-properties.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/snake-cased-properties-deep.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/screaming-snake-case.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/split.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/replace.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/string-repeat.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/includes.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/get.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/last-array-element.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/conditional-simplify.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/global-this.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/package-json.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/tsconfig-json.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/extract-strict.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/exclude-strict.d.ts","./node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/index.d.ts","./node_modules/.pnpm/@serwist+build@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/@serwist/build/dist/index.d.mts","./node_modules/.pnpm/@serwist+webpack-plugin@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/@serwist/webpack-plugin/dist/index.d.mts","./node_modules/.pnpm/@serwist+next@9.5.11_next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/@serwist/next/dist/index.d.mts","./next.config.ts","./node_modules/.pnpm/serwist@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/serwist/dist/chunks/types-cker0kbv.d.ts","./node_modules/.pnpm/serwist@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/serwist/dist/chunks/route-waaof_tq.d.ts","./node_modules/.pnpm/serwist@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/serwist/dist/chunks/cachenames-dzwjpopb.d.ts","./node_modules/.pnpm/serwist@9.5.11_browserslist@4.28.2_typescript@5.9.3/node_modules/serwist/dist/index.d.mts","./node_modules/.pnpm/@serwist+next@9.5.11_next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/@serwist/next/dist/index.worker.d.mts","./app/sw.ts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","./node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","./lib/auth.ts","./lib/api.ts","./node_modules/.pnpm/typed-query-selector@2.12.2/node_modules/typed-query-selector/parser.d.ts","./node_modules/.pnpm/devtools-protocol@0.0.1367902/node_modules/devtools-protocol/types/protocol.d.ts","./node_modules/.pnpm/devtools-protocol@0.0.1367902/node_modules/devtools-protocol/types/protocol-mapping.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-bluetooth.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-permissions.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/errorresponse.d.ts","./node_modules/.pnpm/chromium-bidi@0.11.0_devtools-protocol@0.0.1367902/node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts","./node_modules/.pnpm/puppeteer@23.11.1_typescript@5.9.3/node_modules/puppeteer/lib/types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/entity.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/cache/core/types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/cache/core/cache.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/logger.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/casing.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/operations.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/sql.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/expressions/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/expressions/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/functions/vector.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/functions/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sql/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/checks.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/sequence.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/primitives/chars.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/primitives/buffer.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/codecs/context.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/codecs/ifaces.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/datetime.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/conutils.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/httpscram.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/ifaces.d.ts","./node_modules/.pnpm/@petamoriken+float16@3.9.3/node_modules/@petamoriken/float16/index.v5.7.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/utils.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/codecs/codecs.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/errors/tags.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/errors/base.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/errors/index.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/options.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/codecs/registry.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/primitives/event.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/primitives/lru.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/baseconn.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/retry.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/transaction.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/enums.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/util.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/typeutil.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/strictmap.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/reservedkeywords.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/casts.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/functions.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/querytypes.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/globals.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/operators.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/scalars.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries/types.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/queries.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/analyzequery.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/reflection/index.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/baseclient.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/nodeclient.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/systemutils.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/rawconn.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/memory.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/range.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/pgvector.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/postgis.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/datatypes/wkt.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/codectyperegistry.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/index.shared.d.ts","./node_modules/.pnpm/gel@2.2.0/node_modules/gel/dist/index.node.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/json.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/real.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/text.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/all.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/indexes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/roles.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/policies.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/columns/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/view-base.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/relations.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/query-promise.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/runnable-query.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/db.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/dialect.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/view-common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/schema.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/gel-core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/checks.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/indexes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/migrator.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/view-base.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/dialect.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/db.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/view-common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/schema.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/mysql-core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/checks.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/char.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/date.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/sequence.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/json.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/line.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/point.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/real.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/text.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/time.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/all.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/indexes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/roles.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/policies.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/columns/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/view-base.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/db.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/dialect.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/view-common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/schema.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/utils/array.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/utils/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/pg-core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/cache/core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore/driver.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/db.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/schema.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/singlestore-core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/checks.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/db.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/view.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/utils.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/table.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/sqlite-core/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/column-builder.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/column.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/alias.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/errors.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/view-common.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/index.d.ts","./node_modules/.pnpm/@types+better-sqlite3@7.6.13/node_modules/@types/better-sqlite3/index.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/better-sqlite3/driver.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/better-sqlite3/session.d.ts","./node_modules/.pnpm/drizzle-orm@0.45.2_@types+better-sqlite3@7.6.13_better-sqlite3@11.10.0_gel@2.2.0/node_modules/drizzle-orm/better-sqlite3/index.d.ts","./db/schema.ts","./db/index.ts","./lib/schemas/source.ts","./lib/schemas/setting.ts","./lib/store.ts","./lib/schemas/sources/weather.ts","./lib/sources/modules/weather.ts","./lib/schemas/sources/onthisday.ts","./lib/sources/modules/onthisday.ts","./node_modules/.pnpm/rss-parser@3.13.0/node_modules/rss-parser/index.d.ts","./lib/schemas/sources/news.ts","./lib/sources/modules/news.ts","./lib/schemas/sources/obsidian.ts","./lib/sources/modules/obsidian.ts","./lib/schemas/sources/github.ts","./lib/sources/modules/github.ts","./lib/schemas/sources/vercel.ts","./lib/sources/modules/vercel.ts","./lib/schemas/sources/mastodon.ts","./lib/sources/modules/mastodon.ts","./lib/schemas/sources/bluesky.ts","./lib/sources/modules/bluesky.ts","./node_modules/.pnpm/axios@1.16.1/node_modules/axios/index.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/weekday.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/types.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/iterresult.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/nlp/i18n.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/nlp/totext.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/parsestring.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/optionstostring.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/cache.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/rrule.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/rruleset.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/rrulestr.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/datetime.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/dateutil.d.ts","./node_modules/.pnpm/rrule@2.8.1/node_modules/rrule/dist/esm/index.d.ts","./node_modules/.pnpm/node-ical@0.20.1/node_modules/node-ical/node-ical.d.ts","./lib/schemas/sources/calendar.ts","./lib/sources/modules/calendar.ts","./lib/schemas/sources/sports.ts","./lib/sources/modules/sports.ts","./lib/sources/modules/index.ts","./lib/sources/registry.ts","./lib/refresh.ts","./lib/pdf.ts","./app/api/edition/route.ts","./app/api/editions/route.ts","./app/api/editions/[id]/file/route.ts","./app/api/export/route.ts","./app/api/health/route.ts","./app/api/import/route.ts","./app/api/settings/route.ts","./app/api/sources/route.ts","./app/api/sources/[id]/route.ts","./app/api/sources/[id]/refresh/route.ts","./lib/schemas/todo.ts","./app/api/todos/route.ts","./app/api/todos/[id]/route.ts","./lib/shortcuts.ts","./hooks/useaction.ts","./hooks/useonline.ts","./node_modules/.pnpm/idb@8.0.3/node_modules/idb/build/wrap-idb-value.d.ts","./node_modules/.pnpm/idb@8.0.3/node_modules/idb/build/entry.d.ts","./node_modules/.pnpm/idb@8.0.3/node_modules/idb/build/database-extras.d.ts","./node_modules/.pnpm/idb@8.0.3/node_modules/idb/build/async-iterators.d.ts","./node_modules/.pnpm/idb@8.0.3/node_modules/idb/build/index.d.ts","./lib/db.ts","./hooks/usesyncqueue.ts","./lib/themes.ts","./hooks/usetheme.ts","./lib/edition-data.ts","./lib/export.ts","./lib/import.ts","./lib/nav.ts","./lib/types.ts","./lib/schemas/edition.ts","./lib/schemas/snapshot.ts","./scripts/seed.ts","./components/appnav.tsx","./components/offlinebanner.tsx","./components/serviceworkerregistration.tsx","./components/themeinitializer.tsx","./components/shortcutsroot.tsx","./app/layout.tsx","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/constants.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/locale/types.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/fp/types.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/types.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/add.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addbusinessdays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/adddays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addhours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addisoweekyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addmilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addmonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/addyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/areintervalsoverlapping.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/clamp.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/closestindexto.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/closestto.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/compareasc.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/comparedesc.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/constructfrom.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/constructnow.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/daystoweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinbusinessdays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendardays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendarisoweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendarmonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendarquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendarweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceincalendaryears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceindays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinhours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinisoweekyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinmilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinmonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/differenceinyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachdayofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachhourofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachminuteofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachmonthofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachquarterofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachweekofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachweekendofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachweekendofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachweekendofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/eachyearofinterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofdecade.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofhour.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofminute.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofsecond.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endoftoday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endoftomorrow.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/endofyesterday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/_lib/format/formatters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/_lib/format/longformatters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/format.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatdistance.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatdistancestrict.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatdistancetonow.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatdistancetonowstrict.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatduration.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatiso.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatiso9075.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatisoduration.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatrfc3339.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatrfc7231.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/formatrelative.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/fromunixtime.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdate.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdayofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdaysinmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdaysinyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdecade.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/_lib/defaultoptions.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getdefaultoptions.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/gethours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getisoday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getisoweeksinyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getmilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/gettime.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getunixtime.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getweekofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getweeksinmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/getyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/hourstomilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/hourstominutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/hourstoseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/interval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/intervaltoduration.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/intlformat.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/intlformatdistance.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isafter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isbefore.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isdate.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isequal.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isexists.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isfirstdayofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isfriday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isfuture.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/islastdayofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isleapyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/ismatch.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/ismonday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/ispast.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issamehour.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameminute.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issamemonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issamequarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issamesecond.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issameyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issaturday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/issunday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthishour.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthisisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthisminute.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthismonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthisquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthissecond.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthisweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthisyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isthursday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/istoday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/istomorrow.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/istuesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isvalid.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/iswednesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isweekend.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/iswithininterval.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/isyesterday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofdecade.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lastdayofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/_lib/format/lightformatters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/lightformat.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/max.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/milliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/millisecondstohours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/millisecondstominutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/millisecondstoseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/min.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/minutestohours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/minutestomilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/minutestoseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/monthstoquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/monthstoyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextfriday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextmonday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextsaturday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextsunday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextthursday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nexttuesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/nextwednesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parse/_lib/types.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parse/_lib/setter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parse/_lib/parser.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parse/_lib/parsers.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parse.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parseiso.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/parsejson.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previousday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previousfriday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previousmonday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previoussaturday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previoussunday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previousthursday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previoustuesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/previouswednesday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/quarterstomonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/quarterstoyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/roundtonearesthours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/roundtonearestminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/secondstohours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/secondstomilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/secondstominutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/set.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setdate.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setdayofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setdefaultoptions.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/sethours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setisoday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setmilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/setyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofdecade.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofhour.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofisoweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofisoweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofminute.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofmonth.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofquarter.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofsecond.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startoftoday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startoftomorrow.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofweek.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofweekyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofyear.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/startofyesterday.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/sub.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subbusinessdays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subdays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subhours.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subisoweekyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/submilliseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subminutes.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/submonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subseconds.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subweeks.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/subyears.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/todate.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/transpose.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/weekstodays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/yearstodays.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/yearstomonths.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/yearstoquarters.d.ts","./node_modules/.pnpm/date-fns@4.2.1/node_modules/date-fns/index.d.ts","./components/cards/cardbodies.tsx","./components/cards/sourcecard.tsx","./components/cards/todoscard.tsx","./components/dashboard.tsx","./app/page.tsx","./components/editionsview.tsx","./app/editions/page.tsx","./app/offline/page.tsx","./app/print/page.tsx","./components/settingsview.tsx","./app/settings/page.tsx","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts"],"fileIdsList":[[75,124,141,142,466,467,468,469],[75,124,141,142],[75,124,141,142,209,507,510,513,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1249,1250,1276,1539,1541,1542,1543,1545],[75,124,141,142,209,830,831,1237],[75,124,137,141,142,146,209,830,831,1196],[75,124,141,142,209,830,831,1196],[75,124,141,142,209,830,1196],[75,124,141,142,209],[75,124,141,142,209,829,830,831,1196],[75,124,141,142,209,830,831,1195,1196],[75,124,141,142,209,830,831,1196,1236],[75,124,141,142,209,830,831,1194,1196,1236],[75,124,141,142,209,830,831,1196,1248],[75,124,141,142,209,1540],[75,124,141,142,209,484,508,511,1271,1272,1273,1274,1275],[75,124,141,142,209,1538],[75,124,141,142,209,1263],[75,124,141,142,209,1544],[75,124,141,142,209,813,814],[75,124,141,142,209,490,500,1266],[75,124,141,142,209,1194,1197,1199,1202,1204,1206,1208,1210,1212,1230,1232],[75,124,141,142,209,490,1267,1534,1535],[63,75,124,141,142,209,1267,1536],[63,75,124,141,142,209,500,1252,1267,1536,1537],[63,75,124,141,142,209,1534],[75,124,141,142,209,1253],[63,75,124,141,142,209],[63,75,124,141,142,209,1195,1261,1262,1264,1265,1267],[63,75,124,141,142,209,500,1251,1266],[63,75,124,141,142,209,1262],[75,124,136,141,142,146,209,1188,1191,1192],[75,124,141,142,209,1181,1187],[75,124,141,142,146,209,516],[63,75,124,141,142,209,1251],[63,75,124,141,142,209,1259],[63,75,124,141,142,209,1261],[75,124,141,142,209,829,830],[75,124,141,142,209,1258],[75,124,141,142,209,1192,1196,1197,1199,1202,1204],[75,124,136,141,142,146,209,842,1192,1196,1236],[75,124,141,142,209,1192,1194,1196,1235],[75,124,141,142,209,829],[75,124,141,142,209,1212,1235],[75,124,141,142,209,1229,1230,1235],[75,124,141,142,209,1206,1235],[75,124,141,142,209,1198,1200,1203,1205,1207,1209,1211,1213,1231,1233,1235],[75,124,141,142,209,1210,1235],[75,124,141,142,209,1201,1202,1235],[75,124,136,137,141,142,146,209,1204,1235],[75,124,141,142,209,1199,1235],[75,124,141,142,209,1232,1235],[75,124,141,142,209,1208,1235],[75,124,141,142,209,1196,1197,1235],[75,124,141,142,209,829,1194,1234],[75,124,129,141,142,209,1187,1192,1193,1194,1195],[75,124,141,142,209,1194],[75,124,141,142,511,512,513],[75,124,141,142,209,511,808],[75,124,141,142,597],[75,124,141,142,597,598,600,601,805],[75,124,141,142,511,600,806,807],[75,124,141,142,813],[75,124,141,142,599],[75,124,141,142,600,806],[75,124,141,142,174],[75,121,122,124,141,142],[75,123,124,141,142],[124,141,142],[75,124,129,141,142,159],[75,124,125,130,135,141,142,144,156,167],[75,124,125,126,135,141,142,144],[70,71,72,75,124,141,142],[75,124,127,141,142,168],[75,124,128,129,136,141,142,145],[75,124,129,141,142,156,164],[75,124,130,132,135,141,142,144],[75,123,124,131,141,142],[75,124,132,133,141,142],[75,124,134,135,141,142],[75,123,124,135,141,142],[75,124,135,136,137,141,142,156,167],[75,124,135,136,137,141,142,151,156,159],[75,117,124,132,135,138,141,142,144,156,167],[75,124,135,136,138,139,141,142,144,156,164,167],[75,124,138,140,141,142,156,164,167],[73,74,75,76,77,78,79,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[75,124,135,141,142],[75,124,141,142,143,167],[75,124,132,135,141,142,144,156],[75,124,141,142,145],[75,124,141,142,146],[75,123,124,141,142,147],[75,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[75,124,141,142,149],[75,124,141,142,150],[75,124,135,141,142,151,152],[75,124,141,142,151,153,168,170],[75,124,136,141,142],[75,124,135,141,142,156,157,159],[75,124,141,142,158,159],[75,124,141,142,156,157],[75,124,141,142,159],[75,124,141,142,160],[75,121,124,141,142,156,161,167],[75,124,135,141,142,162,163],[75,124,141,142,162,163],[75,124,129,141,142,144,156,164],[75,124,141,142,165],[75,124,141,142,144,166],[75,124,138,141,142,150,167],[75,124,129,141,142,168],[75,124,141,142,156,169],[75,124,141,142,143,170],[75,124,141,142,171],[75,117,124,141,142],[75,117,124,135,137,141,142,147,156,159,167,169,170,172],[75,124,141,142,156,173],[63,67,75,124,141,142,175,176,177,179,461,506],[63,75,124,141,142],[63,67,75,124,141,142,175,176,177,178,442,461,506],[63,67,75,124,141,142,175,176,178,179,461,506],[63,75,124,141,142,179,442,443],[63,75,124,141,142,179,442],[63,67,75,124,141,142,176,177,178,179,461,506],[63,67,75,124,141,142,175,177,178,179,461,506],[61,62,75,124,141,142],[75,124,141,142,833,834,835],[75,124,141,142,835,836,837,838],[75,124,141,142,835],[75,124,141,142,835,836,837,838,839,840],[75,124,141,142,1280],[75,124,141,142,1278,1280],[75,124,141,142,1278],[75,124,141,142,1280,1344,1345],[75,124,141,142,1280,1347],[75,124,141,142,1280,1348],[75,124,141,142,1365],[75,124,141,142,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533],[75,124,141,142,1280,1441],[75,124,141,142,1280,1345,1465],[75,124,141,142,1278,1462,1463],[75,124,141,142,1464],[75,124,141,142,1280,1462],[75,124,141,142,1277,1278,1279],[75,124,141,142,833],[75,124,141,142,164],[75,124,141,142,164,515],[75,124,141,142,843,849,852,945,1183],[75,124,141,142,843,853,1157,1188],[75,124,141,142,1189,1190],[75,124,141,142,843,844,846,852,945,1133,1159,1165,1179,1181,1188],[75,124,141,142,843,844,1187],[75,124,141,142,845],[75,124,141,142,843,853,1183],[75,124,141,142,843,852,853,969,1024,1095,1147,1181,1183],[75,124,141,142,843,849,852,853,1182],[75,124,141,142,843],[75,124,141,142,939,944,965],[75,124,141,142,843,861,939],[75,124,141,142,865,866,867,868,917,918,919,920,921,922,924,925,926,927,928,929,930,931,932,942],[75,124,141,142,843,864,941,1182,1183],[75,124,141,142,843,941,1182,1183],[75,124,141,142,843,852,853,934,939,940,1182,1183],[75,124,141,142,843,852,853,939,941,1182,1183],[75,124,141,142,843,916,941,1182,1183],[75,124,141,142,843,941,1182],[75,124,141,142,843,939,941,1182,1183],[75,124,141,142,864,865,866,867,868,917,918,919,920,921,922,924,925,926,927,928,929,930,931,932,941,942],[75,124,141,142,843,863,941,1182],[75,124,141,142,843,916,923,941,1182,1183],[75,124,141,142,843,916,923,939,941,1182,1183],[75,124,141,142,843,923,939,941,1182,1183],[75,124,141,142,843,845,848,852,853,858,939,943,944,945,947,950,951,952,954,960,961,965],[75,124,141,142,843,852,853,939,943,945,960,964,965],[75,124,141,142,843,939,943],[75,124,141,142,862,863,934,935,936,937,938,939,940,943,952,953,954,960,961,963,964,966,967,968],[75,124,141,142,843,852,939,943],[75,124,141,142,843,852,935,939],[75,124,141,142,843,852,939,954],[75,124,141,142,843,848,851,852,939,948,949,954,961,965],[75,124,141,142,955,956,957,958,959,962,965],[75,124,141,142,843,848,849,851,852,858,934,939,941,948,949,954,956,961,962,965],[75,124,141,142,843,848,852,858,943,952,959,961,965],[75,124,141,142,843,852,853,939,945,948,949,954,961],[75,124,141,142,843,852,946,948,949],[75,124,141,142,843,852,948,949,954,961,964],[75,124,141,142,843,844,848,851,852,853,858,939,943,944,948,949,952,954,961,965],[75,124,141,142,848,849,850,851,852,853,858,939,943,944,954,959,964],[75,124,141,142,843,848,849,851,852,853,939,941,944,948,949,954,961,965,1183],[75,124,141,142,843,852,863,939],[75,124,141,142,843,844,845,853,861,945,946,953,961,965],[75,124,141,142,848,851,852],[75,124,141,142,843,849,862,933,934,936,937,938,940,941,1182],[75,124,141,142,848,852,862,934,936,937,938,939,940,943,944,964,969,1182,1183],[75,124,141,142,843,852],[75,124,141,142,843,851,852,853,858,941,944,962,963,1182],[75,124,141,142,843,846,848,849,850,853,861,945,948,1182,1183,1184,1185,1186],[75,124,141,142,999,1007,1020],[75,124,141,142,843,852,999],[75,124,141,142,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,990,991,992,993,994,1002],[75,124,141,142,843,1001,1182,1183],[75,124,141,142,843,853,1001,1182,1183],[75,124,141,142,843,852,853,999,1000,1182,1183],[75,124,141,142,843,852,853,999,1001,1182,1183],[75,124,141,142,843,853,999,1001,1182,1183],[75,124,141,142,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,990,991,992,993,994,1001,1002],[75,124,141,142,843,981,1001,1182,1183],[75,124,141,142,843,853,989,1182,1183],[75,124,141,142,843,845,848,852,853,945,999,1006,1007,1012,1013,1014,1015,1017,1020],[75,124,141,142,843,852,853,945,999,1001,1004,1005,1010,1011,1017,1020],[75,124,141,142,843,999,1003],[75,124,141,142,970,996,997,998,999,1000,1003,1006,1012,1014,1016,1017,1018,1019,1021,1022,1023],[75,124,141,142,843,852,999,1003],[75,124,141,142,843,852,999,1007,1017],[75,124,141,142,843,848,852,853,948,999,1001,1012,1017,1020],[75,124,141,142,1005,1008,1009,1010,1011,1020],[75,124,141,142,843,844,849,852,858,948,949,999,1001,1009,1010,1012,1017,1020],[75,124,141,142,843,848,1006,1008,1012,1020],[75,124,141,142,843,852,853,945,948,999,1012,1017],[75,124,141,142,843,844,848,851,852,853,858,948,996,999,1003,1006,1007,1012,1017,1020],[75,124,141,142,848,849,850,851,852,853,858,999,1003,1007,1008,1017,1019],[75,124,141,142,843,844,848,852,853,948,999,1001,1012,1017,1020,1183],[75,124,141,142,843,999,1019],[75,124,141,142,843,844,845,852,853,945,1012,1016,1020],[75,124,141,142,848,851,852,858,1009],[75,124,141,142,843,849,970,995,996,997,998,1000,1001,1182],[75,124,141,142,848,970,996,997,998,999,1000,1007,1008,1019,1024,1187],[75,124,141,142,843,851,852,858,1003,1007,1009,1018,1182],[75,124,141,142,848,849,852,1183],[75,124,141,142,1066,1072,1089],[75,124,141,142,843,861,1066],[75,124,141,142,1026,1027,1028,1029,1030,1032,1033,1034,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1069],[75,124,141,142,843,1036,1068,1182,1183],[75,124,141,142,843,1068,1182,1183],[75,124,141,142,843,853,1068,1182,1183],[75,124,141,142,843,852,853,1061,1066,1067,1182,1183],[75,124,141,142,843,852,853,1066,1068,1182,1183],[75,124,141,142,843,1068,1182],[75,124,141,142,843,853,1031,1068,1182,1183],[75,124,141,142,843,853,1066,1068,1182,1183],[75,124,141,142,1026,1027,1028,1029,1030,1032,1033,1034,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1068,1069,1070],[75,124,141,142,843,1035,1068,1182],[75,124,141,142,843,1038,1068,1182,1183],[75,124,141,142,843,1066,1068,1182,1183],[75,124,141,142,843,1031,1038,1066,1068,1182,1183],[75,124,141,142,843,853,1031,1066,1068,1182,1183],[75,124,141,142,843,845,848,852,853,945,1066,1071,1072,1073,1074,1075,1076,1077,1079,1084,1085,1088,1089],[75,124,141,142,843,852,853,945,1004,1066,1071,1079,1084,1088,1089],[75,124,141,142,843,1066,1071],[75,124,141,142,1025,1035,1061,1062,1063,1064,1065,1066,1067,1071,1077,1078,1079,1084,1085,1087,1088,1090,1091,1092,1094],[75,124,141,142,843,852,1066,1071],[75,124,141,142,843,852,1062,1066],[75,124,141,142,843,852,853,1066,1079],[75,124,141,142,843,844,848,851,852,858,948,949,1066,1079,1085,1089],[75,124,141,142,1076,1080,1081,1082,1083,1086,1089],[75,124,141,142,843,844,848,849,851,852,858,948,949,1061,1066,1068,1079,1081,1085,1086,1089],[75,124,141,142,843,848,852,1071,1077,1083,1085,1089],[75,124,141,142,843,852,853,945,948,949,1066,1079,1085],[75,124,141,142,843,852,948,949,1079,1085,1088],[75,124,141,142,843,844,848,851,852,853,858,948,949,1066,1071,1072,1077,1079,1085,1089],[75,124,141,142,848,849,850,851,852,853,858,1066,1071,1072,1079,1083,1088],[75,124,141,142,843,844,848,849,851,852,853,858,948,949,1066,1068,1072,1079,1085,1089,1183],[75,124,141,142,843,852,853,1035,1066,1070,1088],[75,124,141,142,843,844,845,853,861,945,946,1078,1085,1089],[75,124,141,142,848,851,852,858,1086],[75,124,141,142,843,849,1025,1060,1061,1063,1064,1065,1067,1068,1182],[75,124,141,142,848,852,1025,1061,1063,1064,1065,1066,1067,1071,1072,1088,1095,1182,1183],[75,124,141,142,1093],[75,124,141,142,843,851,852,853,858,1068,1072,1086,1087,1182],[75,124,141,142,843,861],[75,124,141,142,848,849,850,852,853,1182,1183],[75,124,141,142,843,849,852,853,856,1183,1187],[75,124,141,142,1182],[75,124,141,142,1187],[75,124,141,142,1125,1143],[75,124,141,142,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1115,1116,1117,1118,1119,1120,1127],[75,124,141,142,843,1126,1182,1183],[75,124,141,142,843,853,1126,1182,1183],[75,124,141,142,843,853,1125,1182,1183],[75,124,141,142,843,852,853,1125,1126,1182,1183],[75,124,141,142,843,853,1125,1126,1182,1183],[75,124,141,142,843,853,861,1126,1182,1183],[75,124,141,142,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1115,1116,1117,1118,1119,1120,1126,1127],[75,124,141,142,843,1106,1126,1182,1183],[75,124,141,142,843,853,1114,1182,1183],[75,124,141,142,843,845,848,852,945,1125,1132,1135,1136,1137,1140,1142,1143],[75,124,141,142,843,852,853,945,1004,1125,1126,1129,1130,1131,1142,1143],[75,124,141,142,1122,1123,1124,1125,1128,1132,1137,1140,1141,1142,1144,1145,1146],[75,124,141,142,843,852,1125,1128],[75,124,141,142,843,1125,1128],[75,124,141,142,843,852,1125,1142],[75,124,141,142,843,848,852,853,948,1125,1126,1132,1142,1143],[75,124,141,142,1129,1130,1131,1138,1139,1143],[75,124,141,142,843,849,852,948,949,1125,1126,1130,1132,1142,1143],[75,124,141,142,843,848,1132,1137,1138,1143],[75,124,141,142,843,844,848,851,852,853,858,948,1125,1128,1132,1137,1142,1143],[75,124,141,142,848,849,850,851,852,853,858,1125,1128,1138,1142],[75,124,141,142,843,848,852,853,948,1125,1126,1132,1142,1143,1183],[75,124,141,142,843,1125],[75,124,141,142,843,844,845,852,853,945,1132,1141,1143],[75,124,141,142,848,851,852,858,1139],[75,124,141,142,843,849,1121,1122,1123,1124,1126,1182],[75,124,141,142,848,852,1122,1123,1124,1125,1147,1182,1183],[75,124,141,142,843,845,846,853,945,1132,1134,1141],[75,124,141,142,843,844,846,852,853,945,1132,1133,1142,1143],[75,124,141,142,852,1183],[75,124,141,142,854,855],[75,124,141,142,857,859],[75,124,141,142,852,858,1183],[75,124,141,142,852,856,860],[75,124,141,142,843,847,848,849,851,853,1183],[75,124,141,142,1153,1174,1179],[75,124,141,142,843,852,1174],[75,124,141,142,1149,1169,1170,1171,1172,1177],[75,124,141,142,843,853,1176,1182,1183],[75,124,141,142,843,852,853,1174,1175,1182,1183],[75,124,141,142,843,852,853,1174,1176,1182,1183],[75,124,141,142,1149,1169,1170,1171,1172,1176,1177],[75,124,141,142,843,853,1168,1174,1176,1182,1183],[75,124,141,142,843,1176,1182,1183],[75,124,141,142,843,853,1174,1176,1182,1183],[75,124,141,142,843,845,848,852,853,945,1153,1154,1155,1156,1159,1164,1165,1174,1179],[75,124,141,142,843,852,853,945,1004,1159,1164,1174,1178,1179],[75,124,141,142,843,1174,1178],[75,124,141,142,1148,1150,1151,1152,1156,1157,1159,1164,1165,1167,1168,1174,1175,1178,1180],[75,124,141,142,843,852,1174,1178],[75,124,141,142,843,852,1159,1167,1174],[75,124,141,142,843,848,851,852,853,948,949,1159,1165,1174,1176,1179],[75,124,141,142,1160,1161,1162,1163,1166,1179],[75,124,141,142,843,848,851,852,853,858,948,949,1150,1159,1161,1165,1166,1174,1176,1179],[75,124,141,142,843,848,1156,1163,1165,1179],[75,124,141,142,843,852,853,945,948,949,1159,1165,1174],[75,124,141,142,843,852,946,948,949,1165],[75,124,141,142,843,844,848,851,852,853,858,948,949,1153,1156,1159,1165,1174,1178,1179],[75,124,141,142,848,849,850,851,852,853,858,1153,1159,1163,1167,1174,1178],[75,124,141,142,843,848,851,852,853,948,949,1153,1159,1165,1174,1176,1179,1183],[75,124,141,142,843,844,845,852,945,946,948,1157,1158,1165,1179],[75,124,141,142,848,851,852,858,1166],[75,124,141,142,843,849,1148,1150,1151,1152,1173,1175,1176,1182],[75,124,141,142,843,1174,1176],[75,124,141,142,848,852,1148,1150,1151,1152,1153,1167,1174,1175,1181],[75,124,141,142,843,851,852,858,1153,1166,1176,1182],[75,124,141,142,843,850,852,853,1183],[75,124,141,142,845,846,849,852,1183],[75,124,141,142,872,874,876,879,883,887,888,889,904],[75,124,141,142,870,872,876,882,883,884,885,886],[75,124,141,142,870,871,872,878],[75,124,141,142,872,879],[75,124,141,142,870,871],[75,124,141,142,872,876],[75,124,141,142,873],[75,124,141,142,912],[75,124,141,142,880],[75,124,141,142,880,881],[75,124,141,142,878],[75,124,141,142,874,883,904,905,906,907,908,915],[75,124,141,142,870,872,873,876,878,879,882,883,884,909,910,911,912,913,914],[75,124,141,142,905],[75,124,141,142,871,873,879,882],[75,124,141,142,869],[75,124,141,142,887],[75,124,141,142,872,890,905],[75,124,141,142,887,890,891,892,893,894,902,903],[75,124,141,142,895,896,898,899,900,901],[75,124,141,142,876,892],[75,124,141,142,876,892,893],[75,124,141,142,876,890,893,897],[75,124,141,142,876,890,892,893,896],[75,124,141,142,876,890],[75,124,141,142,874,884,887],[75,124,141,142,876,883,887,905],[75,124,141,142,874,875,876,877],[75,124,141,142,1254],[75,124,141,142,1255,1256,1257],[75,124,141,142,1255],[75,124,141,142,464],[75,124,141,142,412,475,476],[75,124,141,142,184,185,187,199,223,338,349,457],[75,124,141,142,187,218,219,220,222,457],[75,124,141,142,187,355,357,359,360,362,457,459],[75,124,141,142,187,221,258,457],[75,124,141,142,185,187,198,199,205,211,216,337,338,339,348,457,459],[75,124,141,142,457],[75,124,141,142,194,200,219,239,334],[75,124,141,142,187],[75,124,141,142,180,194,200],[75,124,141,142,366],[75,124,141,142,363,364,366],[75,124,141,142,363,365,457],[75,124,138,141,142,239,436,454],[75,124,138,141,142,310,313,329,334,454],[75,124,138,141,142,282,454],[75,124,141,142,342],[75,124,141,142,341,342,343],[75,124,141,142,341],[69,75,124,138,141,142,180,187,199,205,211,217,219,223,224,237,238,305,335,336,349,457,461],[75,124,141,142,184,187,221,258,355,356,361,457,509],[75,124,141,142,221,509],[75,124,141,142,184,238,407,457,509],[75,124,141,142,509],[75,124,141,142,187,221,222,509],[75,124,141,142,358,509],[75,124,141,142,224,337,340,347],[63,75,124,141,142,412],[75,124,141,142,150,194,209],[75,124,141,142,194,209],[63,75,124,141,142,279],[63,75,124,141,142,200,209,412],[75,124,141,142,194,265,279,280,491,498],[75,124,141,142,264,492,493,494,495,497],[75,124,141,142,315],[75,124,141,142,315,316],[75,124,141,142,198,200,267,268],[75,124,141,142,200,274,275],[75,124,141,142,200,269,277],[75,124,141,142,274],[75,124,141,142,192,200,267,268,269,270,271,272,273,274,277],[75,124,141,142,200,267,274,275,276,278],[75,124,141,142,200,268,270,271],[75,124,141,142,268,270,273,275],[75,124,141,142,496],[75,124,141,142,200],[63,75,124,141,142,188,485],[63,75,124,141,142,167],[63,75,124,141,142,221,256],[63,75,124,141,142,221,349],[75,124,141,142,254,259],[63,75,124,141,142,255,463],[63,67,75,124,138,141,142,175,176,177,178,179,461,505],[75,124,138,141,142,200],[75,124,138,141,142,199,204,285,302,344,345,349,404,406,457,458],[75,124,141,142,237,346],[75,124,141,142,461],[75,124,141,142,186],[63,75,124,141,142,191,194,409,425,427],[75,124,141,142,150,194,409,424,425,426,508],[75,124,141,142,418,419,420,421,422,423],[75,124,141,142,420],[75,124,141,142,424],[75,124,141,142,209,373,374,376],[63,75,124,141,142,200,367,368,369,370,375],[75,124,141,142,373,375],[75,124,141,142,371],[75,124,141,142,372],[63,75,124,141,142,209,255,463],[63,75,124,141,142,209,462,463],[63,75,124,141,142,209,463],[75,124,141,142,302,303],[75,124,141,142,303],[75,124,138,141,142,458,463],[75,124,141,142,332],[75,123,124,141,142,331],[75,124,141,142,194,200,206,208,310,323,327,329,406,409,446,447,454,458],[75,124,141,142,200,249,271],[75,124,141,142,310,321,324,329],[63,75,124,141,142,191,194,310,313,329,332,366,413,414,415,416,417,428,429,430,431,432,433,434,435,509],[75,124,141,142,191,194,219,310,317,318,319,322,323],[75,124,141,142,156,200,219,321,328,409,410,454],[75,124,141,142,325],[75,124,138,141,142,150,188,200,204,214,246,247,250,302,305,370,404,405,446,457,458,459,461,509],[75,124,141,142,191,192,194],[75,124,141,142,310],[75,123,124,141,142,219,246,247,304,305,306,307,308,309,458],[75,124,141,142,329],[75,123,124,141,142,193,194,204,208,244,310,317,318,319,320,321,324,325,326,327,328,447],[75,124,138,141,142,244,245,317,458,459],[75,124,141,142,219,247,302,305,310,406,458],[75,124,138,141,142,457,459],[75,124,138,141,142,156,454,458,459],[75,124,138,141,142,150,180,194,199,206,208,211,214,221,241,246,247,248,249,250,285,286,288,291,293,296,297,298,299,301,349,404,406,454,457,458,459],[75,124,138,141,142,156],[75,124,141,142,187,188,189,217,454,455,456,461,463,509],[75,124,141,142,184,185,457],[75,124,141,142,378],[75,124,138,141,142,156,167,196,362,366,367,368,369,370,376,377,509],[75,124,141,142,150,167,180,194,196,208,211,247,286,291,301,302,355,382,383,384,390,393,394,404,406,454,457],[75,124,141,142,211,217,224,237,247,305,457],[75,124,138,141,142,167,188,199,208,247,388,454,457],[75,124,141,142,408],[75,124,138,141,142,378,391,392,401],[75,124,141,142,454,457],[75,124,141,142,307,447],[75,124,141,142,208,246,349,463],[75,124,138,141,142,150,186,291,351,355,384,390,393,396,454],[75,124,138,141,142,224,237,355,397],[75,124,141,142,187,248,349,399,457,459],[75,124,138,141,142,167,370,457],[75,124,138,141,142,221,248,349,350,351,360,378,398,400,457],[69,75,124,138,141,142,246,403,461,463],[75,124,141,142,300,404],[75,124,138,141,142,150,194,197,199,200,206,208,214,223,224,237,247,250,286,288,298,301,302,349,382,383,384,385,387,389,404,406,454,463],[75,124,138,141,142,156,224,390,395,401,454],[75,124,141,142,227,228,229,230,231,232,233,234,235,236],[75,124,141,142,241,292],[75,124,141,142,294],[75,124,141,142,292],[75,124,141,142,294,295],[75,124,138,141,142,198,199,200,204,205,458],[75,124,138,141,142,150,186,188,206,210,246,249,250,284,404,454,459,461,463],[75,124,138,141,142,150,167,190,197,198,208,210,247,402,447,453,458],[75,124,141,142,317],[75,124,141,142,318],[75,124,141,142,200,211,446],[75,124,141,142,319],[75,124,141,142,193],[75,124,141,142,195,207],[75,124,138,141,142,195,199,206],[75,124,141,142,202,207],[75,124,141,142,203],[75,124,141,142,195,196],[75,124,141,142,195,251],[75,124,141,142,195],[75,124,141,142,197,241,290],[75,124,141,142,289],[75,124,141,142,194,196,197],[75,124,141,142,197,287],[75,124,141,142,194,196],[75,124,141,142,246,349],[75,124,141,142,446],[75,124,138,141,142,167,206,208,212,246,349,403,406,409,410,411,437,438,441,445,447,454,458],[75,124,141,142,260,263,265,266,279,280],[63,75,124,141,142,177,179,209,439,440],[63,75,124,141,142,177,179,209,439,440,444],[75,124,141,142,333],[75,124,141,142,219,240,245,246,310,311,312,313,314,316,329,330,332,335,403,406,457,459],[75,124,141,142,279],[75,124,138,141,142,284,454],[75,124,141,142,284],[75,124,138,141,142,206,252,281,283,285,403,454,461,463],[75,124,141,142,260,261,262,263,265,266,279,280,462],[69,75,124,138,141,142,150,167,195,196,208,214,246,247,250,349,401,402,404,454,457,458,461],[75,124,141,142,191,194,201],[75,124,141,142,245,247,379,382],[75,124,141,142,245,380,448,449,450,451,452],[75,124,138,141,142,241,457],[75,124,138,141,142],[75,124,141,142,244,329],[75,124,141,142,243],[75,124,141,142,245,298],[75,124,141,142,242,244,457],[75,124,138,141,142,190,245,379,380,381,454,457,458],[63,75,124,141,142,194,200,278],[63,75,124,141,142,192],[75,124,141,142,182,183],[63,75,124,141,142,188],[63,75,124,141,142,194,264],[63,69,75,124,141,142,246,250,461,463],[75,124,141,142,188,485,486],[63,75,124,141,142,259],[63,75,124,141,142,150,167,186,253,255,257,258,463],[75,124,141,142,194,221,458],[75,124,141,142,194,386],[63,75,124,136,138,141,142,150,184,186,259,357,461,462],[63,75,124,141,142,175,176,177,178,179,461,506],[63,64,65,66,67,75,124,141,142],[75,124,129,141,142],[75,124,141,142,352,353,354],[75,124,141,142,352],[63,67,75,124,138,140,141,142,150,174,175,176,177,178,179,180,186,214,219,396,424,459,460,463,506],[75,124,141,142,471],[75,124,141,142,473],[75,124,141,142,477],[75,124,141,142,479],[75,124,141,142,481,482,483],[75,124,141,142,487],[68,75,124,141,142,465,470,472,474,478,480,484,488,490,500,501,503,507,508,509,510],[75,124,141,142,489],[75,124,141,142,499],[75,124,141,142,255],[75,124,141,142,502],[75,123,124,141,142,245,379,380,382,448,449,451,452,504,506],[75,124,141,142,1214,1228],[75,124,125,141,142,156,174,832,833,834,841],[75,124,141,142,1217],[75,124,141,142,1216],[75,124,141,142,1226],[75,124,141,142,1215,1216,1223,1224,1225,1227],[75,124,141,142,1215,1216,1218,1223],[75,124,141,142,1215,1216,1217,1218,1219,1220,1221,1222],[75,124,141,142,1216,1217,1223],[75,124,141,142,1216,1223,1224],[75,124,141,142,1215],[75,124,140,141,142],[75,124,141,142,810],[75,124,141,142,600],[75,124,141,142,810,811,812],[75,124,141,142,156,174],[75,124,141,142,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,624,625,626,628,629,630,631,632,633,637,638,639,640,641,643,644,645,646,647,648,649,650,651,652,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804],[75,124,141,142,634],[75,124,141,142,613,618,620,621,622,642,645],[75,124,141,142,608,620,637,655,762],[75,124,141,142,646],[75,124,141,142,647],[75,124,141,142,620],[75,124,141,142,614,619,620,621,622],[75,124,141,142,618,626,638,648,650,651,655,682,685,716],[75,124,141,142,620,632,651,655,681],[75,124,141,142,619,620,655],[75,124,141,142,725],[75,124,141,142,655,775],[75,124,141,142,620,655,776],[75,124,141,142,655,776],[75,124,141,142,656,710],[75,124,141,142,620,621,707,709],[75,124,141,142,611,638,655,660,667,711],[75,124,141,142,618,710],[75,124,141,142,629,641,655,775,779],[75,124,141,142,620,655,775,780],[75,124,141,142,655,775,780],[75,124,141,142,608],[75,124,141,142,723],[75,124,141,142,602,608,631,638,655,736],[75,124,141,142,638,655],[75,124,141,142,613,618,619,621,638],[75,124,141,142,620,621,622,749],[75,124,141,142,608,619,621,631,637],[75,124,141,142,613,618],[75,124,141,142,620,749],[75,124,141,142,632,656],[75,124,141,142,606,655,683,686,735,793],[75,124,141,142,650],[75,124,141,142,626,638,645,648,649,655],[75,124,141,142,615],[75,124,141,142,743],[75,124,141,142,616],[75,124,141,142,745],[75,124,141,142,613],[75,124,141,142,611],[75,124,141,142,618],[75,124,141,142,630],[75,124,141,142,631],[75,124,141,142,638],[75,124,141,142,682,753],[75,124,141,142,632,681],[75,124,141,142,615,618,619,620,621],[75,124,141,142,637],[75,124,141,142,621,622,623,634,635,636,642,653,654],[75,124,141,142,613,629,631,634],[75,124,141,142,618,620,621,626],[75,124,141,142,608,613,615,616,618,619,621,634,635,637,638,641],[75,124,141,142,623,626,632,633],[75,124,141,142,620,626,650,652],[75,124,141,142,602,607,613,618,619,620],[75,124,141,142,624,626,655],[75,124,141,142,602,618,626,628,655],[75,124,141,142,613,638],[75,124,141,142,613,614,621],[75,124,141,142,613,618,619,620,655],[75,124,141,142,618,638],[75,124,141,142,613,621,742],[75,124,141,142,605],[75,124,141,142,603,605,611,613,618,620,626,631,655],[75,124,141,142,655,775,780,784],[75,124,141,142,655,775,780,782],[75,124,141,142,607],[75,124,141,142,651],[75,124,141,142,639,733],[75,124,141,142,602],[75,124,141,142,620,639,640,641,655,660,667,668,669,670],[75,124,141,142,619,637,638,639,640],[75,124,141,142,638,681],[75,124,141,142,617,657],[75,124,141,142,618,621,637],[75,124,141,142,624,625],[75,124,141,142,614,616,618,619,621,637,639,640,642],[75,124,141,142,618,620,638,655,670,683,685,686,689],[75,124,141,142,614],[75,124,141,142,643],[75,124,141,142,644],[75,124,141,142,641],[75,124,141,142,605,686],[75,124,141,142,618,655],[75,124,141,142,619,631,641,655],[75,124,141,142,655,776,786],[75,124,141,142,613,618,620,648,650,655,682],[75,124,141,142,607,618,620,632,637,655,670,683],[75,124,141,142,655],[75,124,141,142,742],[75,124,141,142,632],[75,124,141,142,621,629,642,645],[75,124,141,142,613,618,619,655],[75,124,141,142,613,618,619,655,656],[75,124,141,142,613,618,619,655,673],[75,124,141,142,618,637,655],[75,124,141,142,615,620,621,637,642],[75,124,141,142,655,775,780,789],[75,124,141,142,637,655],[75,124,141,142,613,620,637,655,683,689,702,703],[75,124,141,142,637,655,656],[75,124,141,142,620,631,655],[75,124,141,142,613,620,655,670,680,683,689,700],[75,124,141,142,615,619,620,637,655,656],[75,124,141,142,618,620,655],[75,124,141,142,618,620,637,655,676],[75,124,141,142,620,655,667],[75,124,141,142,611,619,676],[75,124,141,142,614,619,620,621,622,642],[75,124,141,142,629,645,648,655],[75,124,141,142,616,637],[75,124,141,142,626,629],[75,124,141,142,655,715,717],[75,124,141,142,603,730],[75,124,141,142,626,632,649,652,655],[75,124,141,142,626,632,649,655,681],[75,124,141,142,627],[75,124,141,142,619,620,621,626],[75,124,141,142,613,619,620,708],[75,124,141,142,689],[75,124,141,142,607,618],[75,124,141,142,618,620,687,688],[75,124,141,142,655,768,769],[75,124,141,142,637,656],[75,124,141,142,621,645,648],[75,89,93,124,141,142,167],[75,89,124,141,142,156,167],[75,84,124,141,142],[75,86,89,124,141,142,164,167],[75,124,141,142,144,164],[75,84,124,141,142,174],[75,86,89,124,141,142,144,167],[75,81,82,85,88,124,135,141,142,156,167],[75,89,96,124,141,142],[75,81,87,124,141,142],[75,89,110,111,124,141,142],[75,85,89,124,141,142,159,167,174],[75,110,124,141,142,174],[75,83,84,124,141,142,174],[75,89,124,141,142],[75,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,124,141,142],[75,89,104,124,141,142],[75,89,96,97,124,141,142],[75,87,89,97,98,124,141,142],[75,88,124,141,142],[75,81,84,89,124,141,142],[75,89,93,97,98,124,141,142],[75,93,124,141,142],[75,87,89,92,124,141,142,167],[75,81,86,89,96,124,141,142],[75,124,141,142,156],[75,84,89,110,124,141,142,172,174],[75,124,141,142,828],[75,124,141,142,819,820],[75,124,141,142,816,817,819,821,822,827],[75,124,141,142,817,819],[75,124,141,142,827],[75,124,141,142,819],[75,124,141,142,816,817,819,822,823,824,825,826],[75,124,141,142,816,817,818],[75,124,141,142,596],[75,124,141,142,587],[75,124,141,142,587,590],[75,124,141,142,522,582,585,587,588,589,590,591,592,593,594,595],[75,124,141,142,518,520,590],[75,124,141,142,587,588],[75,124,141,142,519,587,589],[75,124,141,142,520,522,524,525,526,527],[75,124,141,142,522,524,526,527],[75,124,141,142,522,524,526],[75,124,141,142,519,522,524,525,527],[75,124,141,142,518,520,521,522,523,524,525,526,527,528,529,582,583,584,585,586],[75,124,141,142,518,520,521,524],[75,124,141,142,520,521,524],[75,124,141,142,524,527],[75,124,141,142,518,519,521,522,523,525,526,527],[75,124,141,142,518,519,520,524,587],[75,124,141,142,524,525,526,527],[75,124,141,142,526],[75,124,141,142,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581],[75,124,129,141,142,209,1192,1193,1195]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d08cde2bfb6ff909efbf7cb7d6d55be412cf4b9f48fd0430185986973fa91f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"bd7dee3446a5b94651d58000ddfda40296f073e9372891f65003a524b4620697","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"73b5fa37db36eeac90c4d752e39586f1b57187400c4f5280fd05f16437287a45","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"dad97c99382889e9c7d1a9d8275500ff71235130fae9f8916fdbf3641d56e592","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"6715dc4eb59c8ea9abe2b78c235ed331dc710a06fe56798868dbc4d40cd1b707","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"0154e19b93cfe720e82de3769b82bb01c2b5e1e772951231168c917cf7a123b4","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"92d5369f7f9480aac66bbcd295c0b2d82077295c8bf0f0fe08fa3c3321225e49","impliedFormat":99},{"version":"878390f2f3d349610300c7603fb9dff16cfb92fcc6f5fc1f9b262e5bbd6479e5","impliedFormat":99},{"version":"411713c00af8fbde1160ce21db438edcde8c0a1918ddd317f14205f127085810","signature":"7d35d1a0606d8bef01f74bcc9b550636bb9b3be02ed5a8f4ed39615ed3f98413"},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"40ba6c32eb732a09e4446ade5cb6ad0c147f186f9c9dc6878b90b4418ad9f6ea","impliedFormat":1},{"version":"fdd814741843f85c98281522c58f5a646590ba9019fad2efaa95987655e0611b","impliedFormat":1},{"version":"0a2fc32c2edc6c59fb0234740d4ab9b85d7758e5f35816ece4a15295a71631e5","impliedFormat":1},{"version":"f80a08ced8818dc99359c0acd5b3f12762e1ce53758007759b0d4e503cbf4a5e","impliedFormat":1},{"version":"37935fa7564bcc6e0bc845b766a24391098d26f7c8245d6e8ab37bc016816e94","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"0f8a263f4c8595c8a07de52e3f3927640c44386c1aa2984de9eae50d75e613b2","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"346fffde7c32da87c2196eb7494422449dc2ca82d3b4e6bf55be1d1a33ffc2b0","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"a8adc8d4c4b0460080f25174dc0630dedd20063a851b9405d4c809bad4d10361","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"737e8fc438301562218a74ab7e1e4505c40ac3c247a2c8525916f90f96018c33","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"268fd6d9f2e807a39a6c5aa654b00f949feb63d3faa7dd0f9bba7dde9172159c","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},{"version":"aad4daa906a601c9369fbf51e8aabe7ff14bbc1d4f209c23023e06ce6a3dca09","impliedFormat":99},{"version":"88623aa2028777d8f073c61590feb7f3abde4513918329d868c8c0cb38d2d000","affectsGlobalScope":true,"impliedFormat":1},{"version":"908e50dc6e32cf38c21d1cae6888b28935cd8b7999b197cf17cce835acc6c7a1","impliedFormat":99},{"version":"b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","impliedFormat":1},{"version":"fad635d25316340230cfbe1f879f00fcee7eb405afc038bd5986c0cecc72ad01","impliedFormat":99},{"version":"2541d503eedc53e66126a427975ce9676d56260bd70b15f6d58635fc444afddc","impliedFormat":99},{"version":"04dc33f1dbf2f463c6480d431da59a772140be86c438f9445a0f2181b2893bfc","impliedFormat":99},{"version":"ecd444940f4a7726b83d004060652c1ea7dba9e79384f9e14c7c893dd35ee5a6","impliedFormat":99},{"version":"e415a5f905d75b3f182c691edfce1d9f1edb386f77af750c6891e1d4ca8b288c","impliedFormat":99},{"version":"5b59e760d0240891c2a037ffd823d3b29a81ebbdb692f3f6f1e6a84c75bdf93f","impliedFormat":99},{"version":"6df1fe718a1b394790d02d005a955ed1f50803c0fb988068af707db60515eb2b","impliedFormat":99},{"version":"21854b6c78fc2c0533d10595abc9f2adc8e366836f8443b4311b5455c9c61211","impliedFormat":99},{"version":"9ff4fa57a4e960c92e3683b84fac659e046c9dc9ea71fa19fd0238f389a37abc","impliedFormat":99},{"version":"81590fb2a4a06190dd982ba296e376309d6cc9a799c943b8bc2eb0fe7e826b83","impliedFormat":99},{"version":"bead1f5a73e14e9425a757dce08aa2551c029cd679a1b20f4ac94cfb2d26af60","impliedFormat":99},{"version":"c13be7c697ba7c5497070a9899e3eb5b6a1bd8e873d54ef4c0cd3292a0c9d80b","impliedFormat":99},{"version":"f45b6b08aaa4c86dd4b909a6ef6120d0d25f006031ce3677dea240040d79cd7e","impliedFormat":99},{"version":"2da759c66256885ffe262664a03c99c84f66c12160124bc9c54bbe4626a98b34","impliedFormat":99},{"version":"b539fdc12a246bce588611a2d2f471128f99cbe4feb982b84e292a7c185c19b1","impliedFormat":99},{"version":"f2a848ebb283dcc3bfa8b644e162eeb658ed4f9b134196a37c4263c37907b510","impliedFormat":99},{"version":"0eea552d03c4a36195a94973748ebde3ac30619c0c266253390e550823477470","impliedFormat":99},{"version":"d80a35ec56d6a8cee40e1bf7496551a57d41e194a0bc602a7433b52aad88e2a7","impliedFormat":99},{"version":"575430260af36058251660050741d9d5ddf2e267ff10a2595099ff8199f4cfbb","impliedFormat":99},{"version":"0c76881a0a203a24fffd4caffa782f254ee7643d33c8516f5b09cb682bc00354","impliedFormat":99},{"version":"421d8e3ca7605a2582a9dc0147bfe4bf884130918c8e88a19109485908095e1c","impliedFormat":99},{"version":"7fcf64c42e0bf1cebc851540ab03cf87600b4b5c7741b853c953aa0a88b9bbb5","impliedFormat":99},{"version":"b25e6c44ae3ec126eb11223357c4cb372ea57a6b719cd2b1f7efcdf5050fc5b5","impliedFormat":99},{"version":"cbb264fe574f7c974c0c7f041d5d09f58598c00398c2e6db4bb6d77848108459","impliedFormat":99},{"version":"707da604e89a3507db40a7b7283c9d062f00a3e8c1bb949437e4d23d3f8c83a2","impliedFormat":99},{"version":"4af74a8e255575812dfeb09390e0cebc8a6aefaec59a7985478106f8e4a3fb1d","impliedFormat":99},{"version":"99bad9b8bf0c579cac0a1dcd86d8d5e47b5eb902eb0f16b553c1d3c12204a94a","impliedFormat":99},{"version":"3f4204a53fdaff4eac4c47607f6e95a6f5dc1f0335bd0431d4ff167461b8ce08","impliedFormat":99},{"version":"ac224c8d6f0fb529961be77e07cc57b3de3a0e2d9e07431c984bbf85f864535c","impliedFormat":99},{"version":"34b73aa54e4a54baf65412868f362b45c2aec8d55e93d37c9abc193d9a5042f3","impliedFormat":99},{"version":"e8c35fc7907cc2d596f86f2aa88b1a82e2b07217f3a64865efd82ad2331fd97c","impliedFormat":99},{"version":"4163e075fce2172b06114df8c5f612164fe8338fcd0d554fd4194f9160f4925e","impliedFormat":99},{"version":"956c883591f1211fd6892ad2c7d144940217691563652d9c3d6090c38c53ee69","impliedFormat":99},{"version":"3389ec1b78a7947e393b927a43e31020f71c791085f67efde86d24fb3805d2f0","impliedFormat":99},{"version":"e6a5bf4ecb8f6bd5f98e81dd7e80fd62d74345143a39f7a0b97d1e8408da695e","impliedFormat":99},{"version":"c9ca5bce1637322c8fe4e3759a32102d6bfe37e437e784d193019984516236f8","impliedFormat":99},{"version":"9a38144039551dd1f8247d7bf778cb2f57f31e67fb5445e3d2918e6e3b71f1ff","impliedFormat":99},{"version":"a813c75b26a9094cf1364da70a459bced14258f78d767c6f63adb9aa08994955","impliedFormat":99},{"version":"3db294c132bd83df923a78cc7125bab8bc4253280296dcccc7e823c964e73696","impliedFormat":99},{"version":"e66f0def9554c696cb0693998a90876006ae0b72dafccc3f34dfc1b01c649ba5","impliedFormat":99},{"version":"cb047e5af664b49f0d988b34ce252f0be57b34fab23d7a68a59c530988c7e958","impliedFormat":99},{"version":"e44669fdc401f3318782fc71d0993b0b465d2b985d54de55061a4e1622df1d9c","impliedFormat":99},{"version":"316972caac7df38c384308f37116d3b5a44a597ad00aee135680efc456590dd1","impliedFormat":99},{"version":"f9f7181330aed071e41b2dff5eae74649c4e7efccab970aab94744c85e231fa7","impliedFormat":99},{"version":"67ac4c97d6f84990ecf9775877b40abdd1169d06aec51750325491221a6fed4f","impliedFormat":99},{"version":"0c7905fb84c0678fdf4ca3c5d7f0e3ff1d6f096749a32d18d3f516e40c3b8cb7","impliedFormat":99},{"version":"ce9a92fa30beb6aa039c8e6b3ced2261a2fea149fa70046a543531bd4d767975","impliedFormat":99},{"version":"560fb7cb6377416f9be984a0ea75992e4e2e0b6b0105c1877a03d1cd42c7be76","impliedFormat":99},{"version":"c6b6e8731ebce7e8343ddb353376aa4e7fd522ad22cc19732d9633981dd00e0e","impliedFormat":99},{"version":"2d7b937e1d74c7b7f360b8dc29896f1f1dbf6bea34661c44ba061b94f1faed38","impliedFormat":99},{"version":"eae3dff34f426311c6b091deaa0d0c5702533460f8a4a26299d294ee4e3c2655","impliedFormat":99},{"version":"c35ec6abf02ebd1ff7467e5fbd660ea8fef0c156e3d3c4aa702f44cff1aed391","impliedFormat":99},{"version":"72fa28b198e60cb3f6fc7e85847a808b1aaa93d6362419bb350363b77056c061","impliedFormat":99},{"version":"2dcd17e5dea10ba55d976e3c304d185aabaa4a7589efaeebba61679b18b7108b","impliedFormat":99},{"version":"abd4b15f7263ead3b01616086a13683d3e7bfe8bc93f79cffde7dcf6c6c622ed","impliedFormat":99},{"version":"4dc4ca6a850f938d9866f094aa7a8ac6a290e05b6071fe072c8cbbe7bd586283","impliedFormat":99},{"version":"f9c434fb4157a0aa57b651ac5d18d47a8e1585779a805507d6015422e36cf95e","impliedFormat":99},{"version":"e89c048b7e1597471f692c49a5df23c43d67e9b4037a2b1ca28094c49bcc5868","impliedFormat":99},{"version":"c424b932553eec696c94ea77aece8460fd898e6349a499b1e96a05f561f809bf","impliedFormat":99},{"version":"a3e55e768780c3422867fd252c593444166c1b4aab83f711d4cafe018c151bcc","impliedFormat":99},{"version":"2f0fad277179e920e6e1e3a1f404663ef44e7d6daad888c7e7c1d5e4ac35660f","impliedFormat":99},{"version":"8dee13aa32d22ed4803116c8ec86779d47755c077cd91df1f5f8c92f004a974e","impliedFormat":99},{"version":"90e0d78919ee9e13c408a2a4913b3756fa5c252a40b15c349354c03fcd13277d","impliedFormat":99},{"version":"d3ad0bc42dcc11b07c57f2252f153a61c35c356964700e4dc8de47dcc93e4f7e","impliedFormat":99},{"version":"710949f63a17f2cd047d4286bcc621e38424d36b8e9e53a71b20b40e18f4e78f","impliedFormat":99},{"version":"95a86c187c914030d637fcd6aed8b2ffc97253c23ee64672f5a048f3b51aa6c9","impliedFormat":99},{"version":"8e631b7142be8de16b2664f1b7a0ba19328f972056e878ac70fcdac1248a349b","impliedFormat":99},{"version":"37df01381ecd3595e4c63c67d8bb959bb9794282e88b6e3f768b6f8fb4cb7093","impliedFormat":99},{"version":"cdfdb403e5559c77775dfa1cbcd40e27664369fc4b4c1fa42619935fd9262bee","impliedFormat":99},{"version":"ec8cf67d6856bc16057ef31d811c9d1fd08b67d691b1f15143aeeaffc5eebc96","impliedFormat":99},{"version":"b0ea9f55415f1f81eaa0ae0873cd218d247ffa8a3d1816debc9e72ae031301df","impliedFormat":99},{"version":"fde15f3dc8ae84eb480a07b55fecc1b59dd3aafa27a51758fc0c3e64e1405908","impliedFormat":99},{"version":"d472d163422eafc93eb7443bf7c1afb8ea60e238b745bc46f2a2f61f4850c6cb","impliedFormat":99},{"version":"b883a23118212ae64b1d293dde1a8a850bc01a7a64715e8b818a1c935b65b994","impliedFormat":99},{"version":"42b7f20621b9ca12ac20e0ecf067b709921a823306bc46a7566d6001d30d5987","impliedFormat":99},{"version":"9821bd794030358a4ca9b693d3b2604baaa9a439fd8bd31b03c6bdc35e5c4d52","impliedFormat":99},{"version":"1644a14874faafb317449298893c34c3864f1128416b401fb502a9b0ff5fb68c","impliedFormat":99},{"version":"24e70403180bb155cc23f6128a1b242f62ec5a7b3bb2c312c0d591f10bc5450c","impliedFormat":99},{"version":"a78a1bca636b4b69775c6c5f548b34fc7a9abbe74c2887d7f1fdfb293e37f61b","impliedFormat":99},{"version":"b26fb95946488eaeed9ad6d170ff90d22202547f1ef52bc7d6f91c77c8516540","impliedFormat":99},{"version":"0bba43d978e1d320d14ef2e02f1f02d7474071a5592d0b545e969002d55a49fa","impliedFormat":99},{"version":"558df86d4f17ae1c7e732fb2ece8fb6390529496c77b3cb90a4c38008008088a","impliedFormat":99},{"version":"ecf7bd6a5e86562c39e559a0ba41a09058bf1f187a260cd78c381feade95f8c6","impliedFormat":99},{"version":"6e1435c1c4300a30ee53a812a002e9e37f5ca02a5d6c7cbccad7ec667d02aacf","impliedFormat":99},{"version":"9937002dcab0b1d0b3cda4709e3f36986cc8ddb8177fc50b7995f26a0e642983","impliedFormat":99},{"version":"962304f81dd00436885655a2cb0928bb2d98ec6c42ba369ac9c6c95a089f4316","impliedFormat":99},{"version":"f4563e9a0e5ec762cca8101e1d4435d96490041f2a1f416973f23cba3cf985b1","impliedFormat":99},{"version":"d8122c9207978093ee0ff6574da42deba33e6b8a24b93b60e9cb4d004a89d9c1","impliedFormat":99},{"version":"c2ccc7c4bf4ec0827ab24087d3d28d936003bcf364b4e5df8abb135adf29f9c0","impliedFormat":99},{"version":"e4e2459598e499579a64881664c0413c8caac0134b6044696246345dbc3fd287","impliedFormat":99},{"version":"4a88bd904cef785320a507d51e358e082624bbd2bdae93f47be7f8ddd2c1b60d","impliedFormat":99},{"version":"3068fc8e6a14e20bac8feae3bd72965d44e4ef372d612708d322663907b5cd3c","impliedFormat":99},{"version":"9681b978f529c62ea3b7feb6e6c16979f97de629a9de0c9bccd697d642937b05","impliedFormat":99},{"version":"4b8b7b1100b1f9a92ce02a3efdf9c4b588ba71bdd3d426217cf13722a60f5295","impliedFormat":99},{"version":"00e2828dbc375686b78f04fae08f8b76e2c87876ddf0fce4403d41c18181cd9d","impliedFormat":99},{"version":"e6af1e7c1b560b80c9291bc861168d1656a6ef8d3fffd3a83f07b61c82e9d0cf","impliedFormat":99},{"version":"d85a8538091baab20f6cf05faf6ff5b97e9dffea52bdd29381d9a4b5e0aa60d1","impliedFormat":99},{"version":"df28899221284aaf08640b6ad3e819ab9f4112f4f7cffb4b90179e53476ea495","impliedFormat":99},{"version":"5f56726c1f48218728b6e8fa9dae05f9b6020993f228f116187a176c41a59320","impliedFormat":99},{"version":"ab99993a63cd62774b51fc775ce3101c1041b45517e2fd9784e27617f881d4ee","impliedFormat":99},{"version":"2b2432c899a2e6652e212a8127fe507a5eb18e054f18a06ebbc29a74c46bfefb","impliedFormat":99},{"version":"f85981bbd8ffd17e39d83e4baf150e87b4b6560d73fa021f3bdf7f15abf4fe7b","impliedFormat":99},{"version":"78deb8b3c8b11a8a3d2c68d25e772ad3de7e967d18e8b57bc8f89edbff0d9119","impliedFormat":99},{"version":"4fb21c3ddd96225cc0be2224cf62c108972303bf373a9da867f5fca6da848313","impliedFormat":99},{"version":"34a1307870b94bd744d6a651f8ec27f3e3654ed1a3203901660111227b761fe3","impliedFormat":99},{"version":"dcc8f81552eeaef09b6b9be4ebc1c4674a7217317f5ed19558cc8979aedf84f7","impliedFormat":99},{"version":"2969c703518c1721e27d429c3cc85220d0b16231d224aa33073ca75e76ede280","impliedFormat":99},{"version":"344e635bf3cad4394e0d4d4d834607e9d819fa8df446d9507a78778ee1012fa6","impliedFormat":99},{"version":"2341cbc1c1f2bd3f46ce96ce17c3f8e3defd88d5ec93e24bd3bd66bc0c680ca6","impliedFormat":99},{"version":"1558bcadf70f6b363eaeb655cc2cae7360397804de1d9bd585d2feda385192f6","impliedFormat":99},{"version":"90d8434d2a655295f7c8dd900ea86ead98ffe066c59d7aebefe08ffd61e38ef4","impliedFormat":99},{"version":"e9c1381fc978572529d41990a03a53429e5a652e8b1774b70303348c57bb1b31","impliedFormat":99},{"version":"11669d8c5e86ff67b984f8bee64d1faab863ec1c8ff89c262c27e75c063ebdff","impliedFormat":99},{"version":"cfff369fdf1d2afd4c6642a6ebf7c8d727393d532146f42be42283bdbbc5377b","impliedFormat":99},{"version":"ae3de7ae9d29e5038cadb1fe4a2d655e3b01b702dd42fb1d274dbb550f6df698","impliedFormat":99},{"version":"70acecbbb46d43b76ee7e3b4e6f2b0539eede73fe747491caaa093d61f29e4db","impliedFormat":99},{"version":"4e4541ebeb4ebbca40df0f0bd8e4ef0d6db0d6425616393109285e5c147eb02b","impliedFormat":99},{"version":"867e3e9ac667faef8df6bd9ec169a2c3f58f71ed0ed36e57b08668c214727eb4","impliedFormat":99},{"version":"5b88f3495fff05e3d31c820935f5a2e9c2bb70fea138d9a152a0fcea46589b40","impliedFormat":99},{"version":"71e44bf474e08d33b49ab3f403d2d79ef2f0d9aadc2f9929330bef87a1909ad2","impliedFormat":99},{"version":"c1fe0d3291fab30900480f68f72cb052f34854441f9786a0cd424857e2de8757","impliedFormat":99},{"version":"503fcc822afc39a884a56823971d420086076e7f8822e93cefba27fe065fff41","impliedFormat":99},{"version":"6d8b3da7d530016f4bc28fc091d796938cd5ac43ab1cb95e65d4c7292a82ca19","impliedFormat":99},{"version":"ee1fe3070063aa57050425ee1cb0d52cc2aa4c356e79cc840c8914c107a4164e","impliedFormat":99},{"version":"6303a23a5cfbd0c2caefc4e3781f759a580aa15565be734406b9637bb5465307","impliedFormat":99},{"version":"98aef5c1cf67ba83fd511cf763045a0906f4192b9a963ca31d66fe99a085d255","impliedFormat":99},{"version":"faf519bdc8f58b47f026beecd6b3b81d972b206b955b41a7d173b679b7100a5a","impliedFormat":99},{"version":"c47cea8fe761c7646e9df73f2bfe308cccb838e56821208b1a58277d6745d7e5","impliedFormat":99},{"version":"d4c1041683629f6239e6984e36689c93ca47a10875627eac4ce458359ff05403","impliedFormat":99},{"version":"c8a8b70029abc4ee30637b5c9a3d80ea0762f9ee99f5ed6c537fc08ca710be81","impliedFormat":99},{"version":"5fbfc32dae676016e20f7b0dae9cc92883208c4fc5a17446e020d7fb79e3d090","impliedFormat":99},{"version":"5664dfe415f5c29f87c7c3bf43ea2c1ad2990521b310aa10e8a41abd14f32f27","impliedFormat":99},{"version":"7b839a06f4fe489e14e4420fa43e29901b726de6c8e827708805846f7ae8cafc","impliedFormat":99},{"version":"f198f05243b8cc697166824d1b1c8380e9a963145b53afd36a854aaba7cf1899","impliedFormat":99},{"version":"a23b404fbd4eeb4dbe9a16c3cb6c77cdb6969d433c0b723b0f5aa4de5f7b7953","impliedFormat":99},{"version":"9674cbc030a7c5506e8757cc5f092b75e8baf8ba55323a814064bece3df0432d","impliedFormat":99},{"version":"c57d07957ac426ef87ed28d9785a824824d8234e2776e1bdbf098b3ce55a8daa","impliedFormat":99},{"version":"f586a88e367e59a3e1f1b34a1228e52a5155c106b9cb2f8db36fed6d9eb9efb3","impliedFormat":99},{"version":"db0c5d28711f45008be0afbf2d55a7911688dccb702eeffe3532953460598bd8","impliedFormat":99},{"version":"a620d02ba9bdb7a894cc1bdb911f0123ce0647264fc2de6913d1cae0421128df","impliedFormat":99},{"version":"e6749b3c1e0a0f0541269a9058386ccdce75fa33daad48134cc710ab68a25833","impliedFormat":99},{"version":"e2bc4ead8e63387393a8f7c7b618cd8d2b5595f27e3b3997b664c63841f6df84","impliedFormat":99},{"version":"ed999c1469cce636526c84b819dac6b369fc37541723f6a4b56dfaa1525e0992","impliedFormat":99},{"version":"78f7166e49230242132f49fe71ad3e31fa8c2f95f53e4960d35e5cb797c7d820","impliedFormat":99},{"version":"93f5ab10abfa1761b9f90954f50256ca01ee9e657e6a5f9995a2714ae11c516a","impliedFormat":99},{"version":"be9077c9bb010ba677b101fc40bef4f9839a6ace99568ff57b4c02f4b237db4a","impliedFormat":99},{"version":"0529c4cf5f1a3cb17efba2ba1ffbe6bef8383b4523a03334056105d9e1720fe7","impliedFormat":99},{"version":"01055482cae78882809a1fb436f6572524fb34df6997958a22bb7d6cc17e72d9","impliedFormat":99},{"version":"34767bf6796c20eff1bce8ccb895d7598e9c01f560147a8ab211fa51f5a8ed68","impliedFormat":99},{"version":"5a2294bf5e00b47d98da988551bd638b8d29022fc6f382423f36b92157ca03c9","impliedFormat":99},{"version":"5a2109c8a388c03d6f6153fe98ddaa4d0a9aa058dfc0b9d98b7ce45baf85ef1e","impliedFormat":99},{"version":"1269fd384e85ea874204fae5333d1355d933924b6c02cc629e07299772547ace","impliedFormat":99},{"version":"bc0d064c31b62ca88e2a9ef654e606f4144d4d48389215612f452a859f173917","impliedFormat":99},{"version":"d1344da8b59b8190baca55ee1631f2cdcf9107646e98847588a3210bb4ae0ed7","impliedFormat":99},{"version":"d1ff278bedcd43322c961d38d8619d58070b55e0347d49ad6757849af4332dbc","impliedFormat":99},{"version":"40a38756055ab3ab7f359dd22c55c11b4651b75b273c6ed76d1a6620fd4fcf47","impliedFormat":99},{"version":"6124185e0daf9151bb72f01273bc892e6e2c853c5e8acd7fef17c286838a902b","impliedFormat":99},{"version":"5f17ae4cbfc34d8a68e5e6199884eb9dc9dfc931d526ead14a02ab49177efabd","impliedFormat":99},{"version":"766b9454208585ac1c3525ce9d58c209162bea386487f18445b7f7e706c23d5c","impliedFormat":99},{"version":"0896a5e1c7bb06ee49e7205c66c6b1c0c4f0b3d1ed157826302350d14d3183e0","impliedFormat":99},{"version":"c9a57b1ee3b66e6e227d20598366ab73968778dab609e5139c418c83310ad174","impliedFormat":99},{"version":"4869351067bfe590c999008942fcacec26e4af771ec27ed1b27d1dfc86c2c1a5","impliedFormat":99},{"version":"3a5490cc1e467845753d78651847e3f84defcf1e794192c7e05338eafe405665","impliedFormat":99},{"version":"6e0fecd3f3e7ac0ec8d06971ddd01dfe7aa95da8aa65c56db375a28c15134fd9","impliedFormat":99},{"version":"3f65ad2a5d60095fae96c2d46e2fc61c66d1fb65afdc50c04452aa68422aa933","impliedFormat":99},{"version":"0ee692791f05b017c39fe78367768ceb2bd7e5c0ac0fea2298f666b45d190395","impliedFormat":99},{"version":"1ba1caf4981cb5344a7d34d69a9a6c7a0b6fac89cf36e93a6a88b0c53aad951d","impliedFormat":99},{"version":"4682eefaf56f525acfbb3780761496edf9e6671c134ebacc755ee8a046515a98","impliedFormat":99},{"version":"0c32d0c4a2605c3cfee63b60ade3722d6211d0bd7151d5dcb7d19aa185f92e20","impliedFormat":99},{"version":"5a79fc998e1c6841498cd9769ad4b8d212af1fa3ce1be575e244614048fa56f4","impliedFormat":99},{"version":"b9025246fc7886e12789ed8d83cb26cfac993668a5bab5cee47c9502ea7e8cd1","impliedFormat":99},{"version":"794bce5ad69713da873f54743b3ee3307775fca23280c8700665086c79722e1c","impliedFormat":99},{"version":"e80d9f821bf1abe950318634b06840e8dad4fc0db46e97427d4a02195b23fbea","impliedFormat":99},{"version":"b3c78b5b1878641bd763116532eb6b03bd32f1d46f349287b87a942ec835c02a","impliedFormat":99},{"version":"399a3acb5e52325ee91ae74c95666f5071e9cdcce29c28b4e6f68f6038972f32","impliedFormat":99},{"version":"99318cb9deeef5b45a497640d4ce5dfa1c06a46d52f69196fccf2f89f7dad92c","impliedFormat":99},{"version":"9ee5f4da6229111e6b48ac5483dae7bd8577a49fd4c25dd7efe76a69dc9ae641","impliedFormat":99},{"version":"8902cc20e9a7e453904f0c8372fb8cde37f2066082aa8cf168a45ee07fd57f12","impliedFormat":99},{"version":"aab60fb8ed2b8533bd905771123826b4ccf5079199f44c87ca961c7ef340db21","impliedFormat":99},{"version":"2b4298489804ebe4f90ba2ce7d2f8e4d9b2ed326233bc6cd8fa2d5195d7d1a80","impliedFormat":99},{"version":"cdb35bdd7124a83909c366a75877d899eaeeefbb851c4cbd68b24de3201128c3","impliedFormat":99},{"version":"830123659fac74408548220a59ce6f82a37391db61a22f73d2ee321f9c4bf505","impliedFormat":99},{"version":"adf1fb98edd8782904c6b35e3fc0de9c0814296cf58230a985eaae26e107ed38","impliedFormat":99},{"version":"aee498086404181340c23a2c7737c3f5d3ed2a7f0316da4b94d912ef227fa3a8","impliedFormat":99},{"version":"157b2797f3fdbe4380ceabcf7a6a4cae523c9002256a3ce1cdaa56bb7ae0156e","impliedFormat":99},{"version":"7ff0326ef2a190b9b788b782a9a57112e424c015cf9329266cefba043fb95b65","impliedFormat":99},{"version":"dcb345b68d9e5e49e34f0b6c7439e10eafe626cb440299548684460806db9053","impliedFormat":99},{"version":"424aece36fa94e024a60d4c82771d0657b6ab028949c3b6fdfdd4986a62ef141","impliedFormat":99},{"version":"547f7a5cfbd3b141cce4a784a8cf11f77b1fa0482905cad6c053c6ebed5759d8","impliedFormat":99},{"version":"4de20271e7318991ee1e0f69fff6ce7b5a560f8409f5d4f244e74b044e194ab0","impliedFormat":99},{"version":"0646a2a0d8f7cb8c261e8fdaa3cd52760774f2bf09fad57eb6d322c49e53a791","impliedFormat":99},{"version":"947e4a380943362c6df9272f85fb4b9ca1e95f13682dce29487da6c86798d16e","impliedFormat":99},{"version":"a0941e0644f91115b011166ef28ca1345cd931ac4b2e92e8314c7ddcef2d8c12","impliedFormat":99},{"version":"d07721e52493fc8a347ce48c1d2cb503192402a5e6b6ca58369eacec64b99dd6","impliedFormat":99},{"version":"a981ad35e7f6bfe68e26317ada681bc51d09f3abe24603f61f5ff4dd9bcd1d39","impliedFormat":99},{"version":"a45fd45cfbc54eaec5a9bf9f960079c5ccdea54a4f89e952d6fec537e1f860a8","impliedFormat":99},{"version":"b1547158e990c15fff0e1c7a58bce35aad7c5a2f4d1bc806159153f1e2364ab9","impliedFormat":99},{"version":"2a6d709681fbf73106c1daa64360eb0f7563a7f6d7527666d25b22ac5ec3d89b","impliedFormat":99},{"version":"a5f9bc96e9c35a8c4afbbd326f46f4ce42def2d053ca65d32b261bfd3462d112","impliedFormat":99},{"version":"c7223f7b2be8859bdd4b5d553c5e02b5d38345c3c828be14701863d1c5c46aa9","impliedFormat":99},{"version":"37964310ca20af465329d7e9f6c7e9c40c77d509d8bef0a1edbcd8be46aaf75f","impliedFormat":99},{"version":"668192f288841913bf9afe0d34afde995d7c8bc63fb4d5e2b584db305cea0aa9","impliedFormat":99},{"version":"68c13200f8a1b994c2911340cee34fe972c121e06ae9e7111b220a387771ad85","impliedFormat":99},{"version":"f9bc5af361d305d7496ffcedb342efbb413061f13923fa42818735fa4987d2ba","impliedFormat":99},{"version":"60d6bfa26ab13126903492cb5d15307ea3b0b4ae8bfa862a1d78fe62a39cb740","impliedFormat":99},{"version":"9a645215bd880e3f7f36bc8c49d2b156db9f296d1049d3dde7e765d426ebbb4d","impliedFormat":99},{"version":"b469553ffa39077ffe4a29781a3f9fe1fbeb8a9218805716deb0b02844928ecb","impliedFormat":99},{"version":"874647d931d8e6e63e6219b3a99c0e0631b19ef27023909405b3bd6e04f26c99","signature":"9c0eeb8de8dfdfb63ebcef09564c84ae1f6b6187c8e8e274fc5b0ee0a2c8432b"},{"version":"a79beb0c204b1494a02ac23d0fa173b5aa1ca8c585d3415400f78d851d981018","impliedFormat":99},{"version":"71bb435b929d53138204b0d4c01d245ffc3aa1c168db9b8464d9c85a8e65e66b","impliedFormat":99},{"version":"34a9b0de430993ee1becb1d6221835983d837dc40e07aab0332fea738a6388e1","impliedFormat":99},{"version":"64a87c5f29b6154e5f6bba232a06357211c849ee2d4f8eec994a5cdf6386ae4e","affectsGlobalScope":true,"impliedFormat":99},{"version":"f86c54fd1cbd43f052b9e634d7f8aa0a5d6ac3ecf1bcfeb5536d269644ade597","impliedFormat":99},{"version":"e21ec1fce0987a632f10dba0bf57278fb26d0e34d3608ffd8068acfb91f0b571","signature":"cc3560f5375530eed09569502fd0c17b09ecc362dfdb51f69793df1f061b47f8","affectsGlobalScope":true},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"69bc3c3b95a7262040b2882078c9e77c3d9e6292a9b85a6798cea642e6d86747","signature":"a09b8ce0e544dd0ce6681b3d61bc2716931f7e369258097d8709a5c92ad6a2ed"},{"version":"b40e79ebd9218c595d6a02650c1430fd9d31ebde1ff2198c588215290113b136","signature":"445ef550b95d7b85d4b82772db2d2502a9e6f8a3aecf98ae6fed72ebcc7d0cea"},{"version":"6fc329e7ba09a2a03014076561621dcadd57cc25d8e2d92fb96c59e26739e47d","impliedFormat":1},{"version":"f5dafd7695c26dac2761d179d5e656ff884b76f4d4edebfef3e9fc311a21ea7a","impliedFormat":1},{"version":"105b17e1ab27036dea7ab9f523e7c7f34cf3e42dc00db13a59fe9dd39acbd154","impliedFormat":1},{"version":"7fda4d14bfe38df69ccdf5587320d92a19ccdb0baf37682c847a78bbb5843071","impliedFormat":1},{"version":"b20550496b496031dadad8f80eec01d115b299cb285ffc2bd64873e123efc0cf","impliedFormat":1},{"version":"c46813bfd156c5357506d49c461131c7f75367bf52052274c9889315fd12af29","impliedFormat":1},{"version":"665f83fc3e9992c7a5e15a470e4b9e10e8b588c35593b0058c8d1a9eca487c56","impliedFormat":1},{"version":"abcdf9e587a676297d3ec737c496309e20e8e7b8d042a0288de9f0d239314a8d","impliedFormat":1},{"version":"dd36b144e0e70b4e38f588913af663ed959b10b5cf80952a4beb22a10255bf08","impliedFormat":1},{"version":"d064b43717b5b5dfca0d6cd738022ab377c90e45f05edbcd5a0c8753e6627d88","impliedFormat":1},{"version":"93cd777c6e8f4eac11dd35ca6d95298510f50d70683ea6617d1bdaa263b57a72","impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"45399a23f22807169e94e90187d51115055cca9c49dd3144771149f9d98f005b","impliedFormat":1},{"version":"365372b744347f5c7ffc18a3c866601aaa8f3502ee14894f993ec4a2c7e8ce5f","impliedFormat":1},{"version":"b8b3d4973e65c48ff94d50dab5a41ca399cdf67794efe90817b5127cacaf4a5c","impliedFormat":1},{"version":"f788992ae874e3833e1e8a218a1ea57edaae936093717f9261f2c727e7149df9","impliedFormat":1},{"version":"24cfdd7b4af49b900081ce9145d09fc819ede369a1d3bab71b5af087a4c0ed6f","impliedFormat":1},{"version":"966f74824fd8319abcbac78f101ca8da3dbc5e3c5d22a4aa5496cf5313ae7e71","impliedFormat":1},{"version":"f26735d503b8e547e3272867216e2d07a8f4c78a53ad2072ccd100b6fd4544fa","impliedFormat":1},{"version":"4aa7d15aac55231a44a1b009e5db96445132f61198949ec757d4961ad05da546","impliedFormat":1},{"version":"8e1507ea37c62cdc08a87c718853915aae46c997058d3b3ed6de3bb65810a6b7","impliedFormat":1},{"version":"a4eecd2ef7307bb379fcd1abbe21663719a491dd92aa59f8da09828799cb460e","impliedFormat":1},{"version":"7da6e24c344302ad35b19c7dd6c4bf5d03909077122651efebd7941141fb0ac9","impliedFormat":1},{"version":"16b68b9f141d2133125b87450a1b9ecdf3244f458b3ccd526b670b020e466d3b","impliedFormat":1},{"version":"a91457f43c260cbe23d270cf9c574f23a2c7025666fb63a165ce118320d9998d","impliedFormat":1},{"version":"8c81d1d186e4e6e6d33276fce924761c65d7ae970ea6580dea356a035905f9a2","impliedFormat":1},{"version":"86bceecd86894e22c3e32fca08d6ddddd0fde03547718b87ca0b669cd7877d8f","impliedFormat":1},{"version":"7ca41c7a49da2a789aecd60d33b19d3a20341e74142a6ad8b5bf8f75631452d0","impliedFormat":1},{"version":"69969c422afa202ce1fe7c671bc39cb394e8a96ff233e79acda87a16f36e8b47","impliedFormat":1},{"version":"dc206d53e8de6b8f1546796a4f7b7645034808f035846d04647d05274c7cdc1c","impliedFormat":1},{"version":"6e8254be0b6148b3cab28997b20fea57c5120f5385934ee7d8f8bc284cad3f2a","impliedFormat":1},{"version":"e880483592add7da466453c0f77e4efde23ecaf6972321e2a640757f88878cb4","impliedFormat":1},{"version":"c4178a6e73d72acc479c815be991f358ee95c8ab131698ccd670c16a3846fcc8","impliedFormat":1},{"version":"1fc41f91ccb9546b0d2af0485e23317144329e16f558a56eece633e9022bf273","impliedFormat":1},{"version":"31e9a821f05d6efea42991c1a38a020cbc62a6ceab7ddf9d269b48c640e4a1e0","impliedFormat":1},{"version":"bec8bb1ecf05ab4ce02b708eed5ae6a06f6716d4f6e9edc8c03de70f2bd3d1da","impliedFormat":1},{"version":"7783b4b8a51f5aa5d852ca49661a79895c7ae03b6add344b3d81cb9017a0f56b","impliedFormat":1},{"version":"6191a671cf9e869854f8ade1d1284cc51b7305914afe49826449bab7edea7e09","impliedFormat":1},{"version":"edaf103fd90a0c7d0bd6746d462f380113a9cdf5cfc8c6e52335bde997e06e73","impliedFormat":1},{"version":"847e353512835983bac84b9bf902c7ca152b4e32c8a30f48638ebfab594e8cec","impliedFormat":1},{"version":"8ca6732a85ad7299099a9b6e334d46ffe6372fadacf27c5ea09d9d5e22baa3e8","impliedFormat":1},{"version":"9e369d3c7a0420688f8d758e926948eee9bae4c5540d8c4ea607d164298010d1","impliedFormat":1},{"version":"3fa3acfb5ef13845e865876826239430361021f61e54733c08713c34ce0c5d19","impliedFormat":1},{"version":"46191b37660a7995faf4265cd21bcb193e50d676229b2fe67f5b985eeb857080","impliedFormat":1},{"version":"ccaf25e24a400e3e9ac2b9b25ac4deb1c48c6fa79b061b82188a9d8bfb674a7e","impliedFormat":1},{"version":"ba8405d7a0ea7054966990989bd422ab848be55cae7dbd9f5f6811a9079a964d","impliedFormat":1},{"version":"85c00d9effe9eab280cc053d4a05d7ed4f22f9e39f25a2cbe21bc35aa6bedf97","impliedFormat":1},{"version":"32178ca5218634b8406d90f2e1831091e77385229e23ff8a8af9735bf30552a8","impliedFormat":1},{"version":"f73fb85865e56c1d0aa5249390cb27468ad044048284a72dfa84d19e3060cd32","impliedFormat":1},{"version":"8f03d9387209fcf2df408c885401a4b82683b0697e4e9851d1d0ba115c4c43be","impliedFormat":1},{"version":"f389881ab08f3c53b7bcd380ff9be12fa3a2d8ffbdc353a45c2abf9debaac9bf","impliedFormat":1},{"version":"4235f6c5f79d251cf66c6c1296079eb1ca9bdb74f9c159434265c3170044a6df","impliedFormat":1},{"version":"22348bf28d5e8f6a749cb5443d32c7e63020acb37288d1e1360371e1e92024a5","impliedFormat":1},{"version":"c9c9310a1eaab368389d4bccd09fa042eed7373c76ac5e4c5cb4d3c06061506d","impliedFormat":1},{"version":"a92350544cabcd219f4105119c16c2c6a66db74d2445d56f53dcd1d40ce71874","impliedFormat":1},{"version":"3da2a7bdb4e45bcce672a3ee47f4d9ffed5b1eaa9e20cecc6e651e2039c287b6","impliedFormat":1},{"version":"75704c292fcf508c18a4a5facdd5172695c6892d83a7c94459542eaa03e406a9","impliedFormat":1},{"version":"71d7dc1aebc323e288f243462069ca7bd785d6a54016c8b40230bbe1419914e5","impliedFormat":1},{"version":"273889688fe8264e5cd6f5f3ba83d7ba5e77599fddc251ed95dd94c9766c4ab9","impliedFormat":1},{"version":"083b186df4a365dfecedb64b6e497f008c0e77cfeacd7de147dca9a05e61bb17","impliedFormat":1},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"c2a6a737189ced24ffe0634e9239b087e4c26378d0490f95141b9b9b042b746c","impliedFormat":1},{"version":"7512c0b7c9b7ae08ac0ae75860f34fd5d7ad169153d74de514e5d0a1371879ad","impliedFormat":99},{"version":"6816cdb94180f3f143c88eb998ac84400c548af60ea09734792c134d46c2b459","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"a780a8c0fe6d722d398d1f11ff89803df00d246719eca21044573c32ce517bf1","signature":"c26dd5a50c2147c9e169be425b61c26943a7ee3bb133ebebcce977f3c6a0d806"},{"version":"c1dfc455024f88a851803423fd833fc1e8bfbd46aec823f064a86b2cfd7e7229","signature":"4ecb36721093679801dd580b404f8478dac32c1e8a2482b7112c858318cfa9ac"},{"version":"3f39af384ed6cac6b0cf95f8652230c4473eee4519fe13b9cbabb40e8e039349","signature":"2ad86810a55ecf6ef62fb8de3804ec4df4535f7932c2c37a4fba29da17e2a9c4"},{"version":"82ad2262918a95266727b7b4f7be95eae50a048d6dc0a2b3526f3e35167f5f24","signature":"dcef03907e7823685e714898abf15f4827f3edb87085ee64e6981e4a04cdd58d"},{"version":"d7f01715284b11fb65d306f5f4b7e94e8768c1f609ae16a734b58a12daecb466","signature":"d8a839695d555eba5e325fbe371e90716c7b46f7ceffde2b0a6fd474e4cb79fc"},{"version":"0a904231be5dacf7416416eca6207bda7cf9d5257c3a2f837dcc06258dbd3127","signature":"32f537bb1dca1cf617151a003f4457b49983d7e4fbe7180172720d9071620ef0"},"a8c1e5a3c1fb5153245a75df60030a9dc4577185e7e80563d57477854f9f846c",{"version":"f42c05c95618b091837d053dcecf081ebf897e2d0d9e7e1b6ea6c95bea04d790","signature":"cd682ede5ba723065e8496d8b0b3da4dc21572dfc085cb8426b7087c0ebe2abf"},"a601ee819b41e56626fba32bd58e9a1e6ef76ca67ff377d0410109b949ddf6e6",{"version":"463ba2b7162e2aca55f4e753d86e81435e76cb4dade1a9b3e94973e2e56a5f84","impliedFormat":1},{"version":"22161d4cf39e8ec2f3a3a769a1ddd2e41055f852dc98a1986a9988ebae2eb5f7","signature":"adc3d0b615ffd5c79e46b0f6561ee33d025dd39f3c47a551a89399268ec5c75b"},"ad4e94c526999f481f28e4285684ba239b07df5ef8d00079d3c16731b92fab93",{"version":"e590d507864bc3856586fc334453ee3a55ef14aea127ba3b73071d6125e2cb14","signature":"8206378b338c06c0678eadb61f3e7ab25b2f77e04b3908a53f3c30ff009c9107"},"8a23145ef0b9c387daedb39cb25586c6dacbdd5580f68ec4e10c4668fd019451",{"version":"e98b53125bbaa1c3ec3de3b124a969d17e1e287236a51d0b4ba3108316b695d2","signature":"076b90341bb50f137251cc04a40d0cff37886c11bbcda792b07426999d0fb0f5"},{"version":"5331bd380e88bc8822c93093be0f2baa3ed656d53944526965f17b47096221c9","signature":"1a2f96f6ff634f2d9b0cecc9c530403e9cfad8981eb903e8c18765ad109c1ccc"},{"version":"2c2150dd152214862e52f45c8fc95e0923c3d0d8370dd7324dc3bb53be4a7325","signature":"2e78e13eb323f49387917139ea787618e19201a0c6db20dc52249ac8ac469c74"},{"version":"fbefe36850ce08d03bac64bf7a06d44533d5b85579391df5311694cf6d71e0b3","signature":"05151a6f577af7da5abecfe939ba77c34f2a3e24c059a7af67463c6514aa36c5"},{"version":"74af57035d1c17ead02c809905be305a290ec36d7c2c0b2689cea28ab7c6e424","signature":"fc0ed2910ad390e5de5a498264347511794604de18fbf9fa80590f628cb8b3b7"},{"version":"58dbb663d93e325131733247ee6fd44ef39cc154dcc2921f5163ed8dd4b6d33f","signature":"fbf1dec1d4ff4046b22adc09489e19b4f89dd39abf637e4fa163c3a8e0ffa5db"},{"version":"4081ea750e8d212ef97bf831390911db66edb727294423ce12f7f58939b27ed8","signature":"ea3206b5afe10ad0d121fd0d6ac710b59aa3e9979bb1707c1e6ff4523aaa1c37"},{"version":"19c542f8dc1d5673cb32af0de393e54ee33cec5cfcfb3ba3995eafe310f83f98","signature":"0e2889b7c97a275b59860fd3c169164a26870d222962f3508590558cbcb844a5"},{"version":"da451e3a2dfc734b3c5e1988c71ed1d69e4de602a98e68610c0355da7a46c5ab","impliedFormat":99},{"version":"ec077692eab6065d489ca718080b6b7de5319543e4e091619853c8528ba54c60","impliedFormat":1},{"version":"105899e8eb6ef08f18f4fd00c6ca645058ad8439f48ebbeb0743fa553719d4d8","impliedFormat":1},{"version":"b4609f2515dd8c3a54bfb78b6f12507540e33b9cd22186c3c7c2fd5ddb2627eb","impliedFormat":1},{"version":"218ae2d8cc7656e52274d194025ba7abc5593b928d2090a296add43c9e285b30","impliedFormat":1},{"version":"03200a476c4af730cde74b26bfd2874de41014a7f9b4bdbb8e84e3b4fa8e7a2c","impliedFormat":1},{"version":"ef0a5d78072ca4d73d63b856a0e43a2600b368f8cedd3de33500af65bc4fa8e7","impliedFormat":1},{"version":"f294771776a8a39a136e25dc9f453c616b060c2dbb407e5088176112a3b9f652","impliedFormat":1},{"version":"99fe829248732c89164277e7fbb77dd3ace036975814b3b6721a5aecd8678c7f","impliedFormat":1},{"version":"35fe323c3b2609cffc298fb0f1222f875baede689d2b6ba44287664f2da36bf7","impliedFormat":1},{"version":"2d35715276d7d0b58843075aa15ff6fb74a0410ad1d8dcb155be2fc6a1158684","impliedFormat":1},{"version":"b7f82b964ef829bb41255e4a79b08c48e466ab6ee29f1e726ca58e0229c89b78","impliedFormat":1},{"version":"280d2fd65f3e021cff58787dd8892ca2988b5fef7a516e97f8efd6bf1a57ea1e","impliedFormat":1},{"version":"0ae9f79cfae5916886828e440295d5a7f5ac62f282c243543edeb2941396be5b","impliedFormat":1},{"version":"ebbd0c55d9b1b847123efd10e951b7afe0e0b00f62a6b52acaa39f95bf7dac12","impliedFormat":1},{"version":"5762e2a35858ba9a9e3d29ce8dafc87a6d69fdaa80f550cc92dec84ba684fc12","impliedFormat":1},{"version":"0a0aa58c6398a8cddad9286735d7571e67a9f0d2284d4036db17909aa1495b1c","signature":"724661c3a901e48f01b9815bd6af53086c8c7e7911fbc9fdc70cec49f85390d4"},{"version":"b05a74455b341f6039f382dad2eed56fdfc5437594cf661cd6229f0d415988c8","signature":"430231621f4e1f1ef023a4d4c558f99ce72efb246302878b305c52102d320b57"},{"version":"2fb2b280665a0446c75ba6e54eab1aff9b7f6a3cfd018dc739edcf31c4961649","signature":"ca3968bacfa4d99dd6da8c74178222646e21cae76824a26d836bfc3a423ceb6e"},{"version":"602d53e0643654c70453a531ca1aaac800489b62467e6e947bafe3110633200f","signature":"38a92602ebf11e9c069fb1122f86a4f2dc9d5afacc4a84ce1bba724e65a61ee9"},{"version":"5d17cc3b1ee8fb9991028f651344b800e422ea1c66f8999db4b1b02c75feece5","signature":"67655fa560f8a474b48cdcb2e6e1366de75b4913d8fc6f47c591bb520ec18c2c"},"f5b7ea791692619c2f562847363b9041e90796c7dbd30ef8976136f6cb8a8557","627d356d9c20a34e0323958f6144afe074852624add7ecbac2e9f82239cf8fd6","a4b4c31190332c25c746e6659a20f02c20650b3d507f30df45ba29354ea3dcfe","d80e76906285fcb95d38735699419fd9caac8a67a736dc62f0ee19b9666ddf06",{"version":"97c4fb3e8be2783e6c57def547a2be466f6ae1b356fdda0c648c21eb55a408d4","signature":"05f4ee9b492dc1b727915504f5c13ede50770cd962cb360646bf41c485618a31"},{"version":"698dbbde6147edb179fdd95081b731f1aca18b6741cecf345d0b1f377dbcb961","signature":"05f4ee9b492dc1b727915504f5c13ede50770cd962cb360646bf41c485618a31"},{"version":"093b3bd5197ebe709ab65931a11f2f4c05f1f00f5b0bacd5b698f5fe60807535","signature":"cc0a0b2c8f7b8969b864d571321249aa9960e117466b3759a396ce07049be0a9"},{"version":"5453542b2e07cd087325e33ef458443e4cbf91f33208af65ea08089dc08f0df5","signature":"193f3698143959625b77bab03ef64fae1876dda0ed7438f9da236b49a3b9b826"},{"version":"42927544b53a4bec8cec84cc7939d17e3091478b292d747a149aa5cf5e9b8f6f","signature":"a647c145663d5f67c8da02beb0e87f3a3d53d36cd9ad63dff84b95fbfb6abf74"},{"version":"4bc0cfe7c7cad4ac099da33d8a4001db4d99951abd32444e3d07f8dccd679574","signature":"c39bcdabf2d13da035680e645fe23cc92f0a47720e0212a40595af772a6acc21"},"3fb0d108b3f59ed0ee4f0fceddd52c0116ff35e40ee08e09e25b73c50006c60f","b88793a7c4326f9930a4c5cad73e585bd7cc624ca6f91af6900950d559a2a4fe","7dbf4cdaedcff902ffc17a5a282abcdf47fb9e5bbeaa2548ec78833fb4e5edd2",{"version":"e856e6a492fcaf2680ace87f5f728b7240536790fc6a7a17b1e2872ceba12407","signature":"4e0529699da03a0674cf5ae4db2519273e551646e0c6af057cf8a3d55dc78e94"},{"version":"deff0cb0bf73c2806e7e48f1ccb5a129042aa464037f443901db32c501190f0c","signature":"220382d43327503f4e9760b7d52df0ff281e866bbfceaa1095f0f257b910eb29"},{"version":"39208ac34da7934ba0205dcca4da85a67d016c98d422b4f28f7b29243a5e1928","signature":"3a5d6f34912016f2adf241cfbf3f028d1c44464b2c8d92a5ae867e57a2334ee5"},{"version":"7db65ebea1fe1b6e2d2d9e3eada366b4dc1540915713f8ab671ca39bc69a75d7","signature":"ea243d2bb99d0c15adfbdb635c43f97bddbe167738fe79f4094ffe10b2a591fa"},{"version":"4420dba1d1fbd2e81188eb308334f965a311674890e1e32e8331d610fee2cf0e","signature":"ea5c92f653a4d0b347996f1cebd95b4cd869620184da26302c9910b1301582f1"},{"version":"967727897129b15929fd12e9ddbc78dea8b140954eda72814f4391eb662c49b4","signature":"305ad410a74730e1e51fe18e3447dcbc9eae5862dc7ae34a04042b6611af14b1"},{"version":"6eec0b712ee4fa23cdd367f5d866d6719b7c8812bc46c623668ed6072587ee80","impliedFormat":99},{"version":"34200a82ddb7fdf868d86595bf9729aac18a0e2795034431550551d0a31e7e9b","impliedFormat":99},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"1ab59b972136fb41d90d704d6faeaa695fcc51be2bcd390e3d44f7d8fa055edf","impliedFormat":99},{"version":"89e377c223651c68d4b2cf8216cf4b4a20f2c0b2e7e3d113cb0eecdc9e33bd5a","signature":"3a88a5d8a903800fb95668ed028170e1e32b918946de8964644b6e391b32d564"},{"version":"5f7d1286ad95c96f55694a2df0684a0a4b97cb1d8b7b52ad53cba1af686bfa03","signature":"6762ed996444f369d45ddce03d7dc2618ea4a986bb0b37c0f4bddbc0de60b297"},{"version":"c01b1b965cadc981adacd9d0a5e5e32e9c5c776e202ae46484842c39461af5fd","signature":"6f1f353b885fca3c500df90fa31692cc371d6555321c19367ad37b71c661059c"},{"version":"1f1a0f1b8d6f4aca8ab55879033670c15ee16cf04d2b1bf985e05ef4df5cda12","signature":"bd93ce50dbba4a491241ad58bfb03fa70dc8e9b059c267c9e073f01f7bafe81a"},{"version":"7b678fb7f5d405d96f2ccf65dd4967e393c9c33a51e7e53118516e669a850ba0","signature":"1963aa15eab0af4bb3814b7200e78901940b82898426310d48c3019b689331c6"},{"version":"95412602bd60be3ab2dca9c0c4dce531a934aac24d8dbacb570c4a5e63742c45","signature":"bdb2867bb3cf54f7ac54f232e06b1d7b0a29d26234d1c785df5a701682801aec"},{"version":"005493577d1ed2a0106510cb46dcdb0d5b20b0e3c7376bb406100476f8b2b605","signature":"bc523cecfb3ff53495ee0bd78590d06f649415ba4cecfd48ab074841844eb992"},{"version":"ff38c7d85b5e9d017a2756c6ba1e0a428084199be5b28687367224da897630b0","signature":"b8e2246af9ad83194b58668a81f0787f15e1cfea9a01987bb50afa41a299a776"},{"version":"7da080c3b61f8dce0f1766e3a1ce410629d3518b42f40f10f174fbb3900a8da5","signature":"cb62df91701b58641d176c2e0bc812b69dd138ebfd5c40b1a15d87e5a822e64a"},{"version":"5f68833c79b0a099af8bb08e8fe536b02527aac91bee26f11092f546bc075c25","signature":"db9c8d6e21c9fc9adf0a067e68212f9a3fd8f94290c05ecf2f38d6af4411872f"},{"version":"ca750c7b6f8582f1a5a1f0fc717c0e8c639c506993b09a694f2d7fe12ff07bb2","signature":"dcf4aa08b128024f6f47e943743f031b31f59a0b6aadc9c92ddc34676cb1706c"},{"version":"59cee0458225c9f48e8c930b5cab19caf5b808205df85128b344d98151b5555a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"46b01e58f6b26208156a2c7299fda36de2ff5357c40061674222e205d1452777","signature":"f5265479ef6c968b7f1cac4d26a63f0afff697d9677d0cc962375cacd9f9876c"},{"version":"ed3ddef374b07fae8a89511a34d5b65893689f6cd4ff1a34eb47c6d89275617b","signature":"c9c1dbfe8ffebb2743e5d3cd2ec9264583a39c699db1c02e90f721795009d64a"},{"version":"23d05eccb90796cd81f49ca8f6381250f1481a6cb9815a270b492d1cd64817a1","signature":"e74251729ec78f301057ae903a7ff09559105b3e70d9b7be71bc7c6c3c33a1d3"},{"version":"dff24d120a4073594c2782921549feab12fcefd0e1b866f24d1416da508e1585","signature":"708ea416786284e55985d3418885f779a7a15f3a308c3c7b277bf7d979aad5ed"},{"version":"e6e33a6bf5b6000a8192f9d4557d13ddd103ea96aa0a237b649af96ef6e78f0a","signature":"d344d43e14db4991403e3d2b716fc42d007e7d69cc2a7f179c4d29d5f47c9dec"},{"version":"15da9d8699f33765c878541cfb27c42aeb41ce31bc6f8b458ccee89e3e72eb65","signature":"0279b2844273d35f3f87e797e4e95afa383097e5d73a01ec5c2551599f768ae4"},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"9e2f5dc3da9d83bf4a0a9e5d39d8c9918482d586e0c403a44021e4ae7662697e","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"a62e448d3f09fee63ec1230acb23fb54f8f6ccf8d6f0001c7b94fd51594b7c9b","impliedFormat":99},{"version":"5366549884acc57185eeeb64561c2060af008230a8ea645f048f747cfac6549c","impliedFormat":99},{"version":"cd3229a2e4ca10207178e22f215c8e196c837254dd34ee440612a2a14993ffc2","impliedFormat":99},{"version":"73b7e3d5300ad64f9231f5bb145fca4892574d85e2d1a015ce095628f16915ca","impliedFormat":99},{"version":"247d3b67c919f55df77f0d49e7b65f45e11d1e1badf746e625e5dbfbd6a2b036","impliedFormat":99},{"version":"7ed8ed496092801dd5f25f39af223ebeddc97bd64a7d9a5621f790dbc836eebe","impliedFormat":99},{"version":"b31dadbf466be8d9ff1c0c07996f261358a72f97b41bed26bb6853ce6cdf1ea6","impliedFormat":99},{"version":"8189def87e45630a8507d0daa08c5ab89399bb4a2a4a5b76dc7ce80faec9a793","impliedFormat":99},{"version":"59b4a0a81b840b44f29fef94cb496b085f4fcbac7e6936be12941fef205d9fc8","impliedFormat":99},{"version":"353700d60a280b30c3614a44f13b3d38011a4c851cbf5a66bbd1fb5734cbb47a","impliedFormat":99},{"version":"74f6ed21e9e45d3416042c957076d62f41649d25304bb8ebf6eb6ca1426af9a8","impliedFormat":99},{"version":"26baad6aa356ef75b2e1ee150ef6325988be9700bba14249f9e8d0f66bb36087","impliedFormat":99},{"version":"237dd4f246265a3efb18c3d40f54f98336ba2c329a9f9e30b4bb0f1a27baf324","impliedFormat":99},{"version":"3fa62b954262157916a65b3dd57faf6cfec7544579e673204da30eba00852543","impliedFormat":99},{"version":"8ab0b13972c8018bd18d49236b8c08448a38c823e28f5620b3ef0b43ff521589","impliedFormat":99},{"version":"065dff95b2b9cd6f5f7404222ecdbd371f15c22b844b731eb32286540f499d2a","impliedFormat":99},{"version":"d1c03f0339b8514b7d5420e075684e6b1dfb9d6c27a7fc6fbb09bc3f25fc7764","impliedFormat":99},{"version":"f8900ddf4a4944cad4a81de965c4761094758ee39bfe24198668c397caf5db3a","impliedFormat":99},{"version":"b2b8376bb1ac24155cde89574c32edfdefdb926845d9426ab52815421b3d19a1","impliedFormat":99},{"version":"4e805f78a8acff48feea70836df232a6db887b2e376492666f6b70985fb706fd","impliedFormat":99},{"version":"cfc5a66408fb9a7dd136ec2afd50a3eced54baa3321c473ee4d29046e761a3a2","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"35c190fc184fc2fdca132bb8aad00ac84819f135428b0e906c3e599c74125d24","impliedFormat":99},{"version":"8f567d63ab28f074ab2be3ddc2da27107de8022488f4a3bd91609752045bb612","impliedFormat":99},{"version":"f6c7ae690e2d224a310c8f967cdb415d8c7c55791a30c00da30e0c19ef4def49","impliedFormat":99},{"version":"f0ee7287284a844f4d04b80ae7a955b12cb50f85fb0021a78cc7f20a90459823","impliedFormat":99},{"version":"956e7dae5b888d02ec65dfe4113b541042cd2c70f96f6b9de0a5465bdf9565fe","impliedFormat":99},{"version":"75722639ade81b4d9a9a7f67f9cee2abbb68c52367322fe4fcd51949dbf60706","impliedFormat":99},{"version":"f90d3104f554535c4bfcf9d429e41318563c40b3b7e0827c0975624722546514","impliedFormat":99},{"version":"c61b9b3f161eb34fe5ed7fd3bb84f0774d74445928a06e9089ddc0a152f2a016","impliedFormat":99},{"version":"17268b7c5aed233ecafd22ac3e751c3aafc101b7ff982de8617bf19fafb7058e","impliedFormat":99},{"version":"bf6060c0585e76d2670629cc4c592e1dd938ac356e974916ced7f46587ba8181","impliedFormat":99},{"version":"dfe68566e870382e203fbf082e3e094b3d3d6712a3b6bf56fe66f69271d27cce","impliedFormat":99},{"version":"f230e4b9b3a7c27975a8af6131b08f6b17505e829073a3faa6ebff4a163090aa","impliedFormat":99},{"version":"e89ae5ee53771a98d89105723fc4dc73205bd96bfd2a784597b5ec6c2ed35abb","impliedFormat":99},{"version":"7f79b823d4b2a1fdee3a799a6a46792a21e4400ed0c2f45f1e1a9bb8de21d18c","impliedFormat":99},{"version":"42b828f21d7b672495a1f538ac49e93ea12da980d07d28999c7eb8dc55f297e5","impliedFormat":99},{"version":"35e7486045f8a29b25ec8adad02823bb82e0876fcce76228bc683e0da0726e98","impliedFormat":99},{"version":"a43f4964d97d0feeb6b33944f750707dbdb539e1c9c3a0496c40789a90d7e0d9","impliedFormat":99},{"version":"8dc6b9b1f772053689d3b298f089ffedf29ee93be2eead0d9c07d77e68aad9e4","impliedFormat":99},{"version":"b44e0ca6cba9c3f98a1b277e93dedcc31990c57c08f0fb37c29eb929afae3a49","impliedFormat":99},{"version":"e236485fde7c092508a177ccfef03ba15ec72ac697b50e241802d68dd99c5f73","impliedFormat":99},{"version":"b7ea66bd111288844e2d0cfb12abc02242af0786a83ddde14abc156a7f80d500","impliedFormat":99},{"version":"83fd9ba9e82b881f410b69b30d4fa9e41b1b6e445e4d7c7eaec836d4cc5a5712","impliedFormat":99},{"version":"ba2733b454a9756b8207e110896e4889859d4a23581e54fdd659f09267a63ecd","impliedFormat":99},{"version":"d94b9c4da700bf7e011fbd442c54b5c88a52db58bc71bb69db67f46a1c525320","impliedFormat":99},{"version":"bb19a13fddc505d633b9d08340c851a16638a3a2c6ba4971d538908b0cce8671","impliedFormat":99},{"version":"da588a0328ea4fa648563415d1ee4cad0587e3d1e1d29cf54d761fbe83ed9670","impliedFormat":99},{"version":"673f71885a78cdf431dd29b801ef2f811a2c793b415c44e64a55489ad010f6e2","impliedFormat":99},{"version":"4c0c16f5d60671e0654e560a94cc549a858a5fb9397a072d3f9935b3068be740","impliedFormat":99},{"version":"2cb58371baa22dbaa02e2abfc40b5640f00e7ed203e70e97fa20226a776b2e16","impliedFormat":99},{"version":"29db777661a60ea3a85cd21ce29b0bd877bb44f52cd583f9f3f7580ee08d4fd1","impliedFormat":99},{"version":"cdf79d50d5ca102a6ccd1ead392b0f5ebcb9b6c8b230e4f4931f0fab8b6ff3c4","impliedFormat":99},{"version":"6e21729eb1f94c93f99d1c13492b6e835e5c2d2ba552693c1c699f0e34d1fa1d","impliedFormat":99},{"version":"8267fbe09febe68384466808d3feaf055ebb7b15903728d23e7fb4c01949148b","impliedFormat":99},{"version":"54e45f5f4f7684c5c49d3e6367ba73c55c69f82973ecf7aca793a86bea5a99af","impliedFormat":99},{"version":"55a9664e49c8e8db27d8eb413749957eb222485b91b1148840a73e065ef6c028","impliedFormat":99},{"version":"af7945629e88f161817436aeab27906b947cea60102066575eb31071b4f84168","impliedFormat":99},{"version":"847b7eec4ffc81b7eaa1bcb473fd5da4aa73ab7e56944df3caf7d284317e95f3","impliedFormat":99},{"version":"5dd262cbb746c2a4d0a26f09369b3ede4a1a36e15c272adfd0289c47cef81ad7","impliedFormat":99},{"version":"677e4d55a1353f1b83ad68faffbdd91ffa7dbc34d67b1e91e88d3ac71b88be0b","impliedFormat":99},{"version":"21ba9b6a4c6dfc6dc403884d34dec961eeb965a4e0c99521ba2b3f9929e26b75","impliedFormat":99},{"version":"452a373c93cae3a20fb8f8309ac48b40cb2a33f05c3d54b090582ce3b8ae96c1","impliedFormat":99},{"version":"112f147e1f4b44b4a4f186cefcae4e58c49d6a0a61faacf7a12f55694b9f2232","impliedFormat":99},{"version":"c293793b601177e19a4230a9ecdaa167e6a44c93147da549941eb8e154510f4f","impliedFormat":99},{"version":"82ece43251947dd304e6f5dbfaf8b97588e5676ddf0bc0fc1a6a861aaa3eaf7c","impliedFormat":99},{"version":"f67c58823afbf2590f2c239d09a46aba9d3456327eee05b593c48ee248758ce0","impliedFormat":99},{"version":"e2647503f56e5c6d41b256af0b17ad3b98455cd8b852ba7336221af5fe99d805","impliedFormat":99},{"version":"c2d12e71e905f9ae80895201ae4b52b0082716d3177d794799f0140c3bbdb65c","impliedFormat":99},{"version":"668eaa98e8d54dc5a22d7a66d659a47f0b152e7b109f798cb295a3c3dd817dbb","impliedFormat":99},{"version":"81d447a1f248a2345a89673774ca673e79da5df8e25c6fd6bffb495d3b704362","impliedFormat":99},{"version":"900f1f5341752c6c2824ea871ae941d60be1359793a0284e56abcf277955a511","impliedFormat":99},{"version":"00c8b548f04329a012af189dfd8e3f3ddd8d4fb187f4fd22fdeba5e1eb740d92","impliedFormat":99},{"version":"919ea552c5b52ac5c8303a96dd7357986a2597de5760416468550b659113bad6","impliedFormat":99},{"version":"8255114fec0d6189524bf52d90580a2fce40bdac621215e562aa5f5b058fea33","impliedFormat":99},{"version":"6020d3e324725ee474aa4637005d2449eb8bce66e8aaf85163d683df86384dd0","impliedFormat":99},{"version":"d95e4069a535a118c22ac66a8b018818f9f74ca7000c8eac977dceaf752d0f95","impliedFormat":99},{"version":"5d8097f4e2588d7912d82772ac6f05ee6def5b738f5e4605f2e9bb24d26b4e86","impliedFormat":99},{"version":"6703ee0cb2405fc9e98a8835e4266ed4131fd25c31bcc0c302e66e9b05271eee","impliedFormat":99},{"version":"4b83d4ffdcb29aa6562749ca797b76a3b914d80f54819c6a08f1014fb6841623","impliedFormat":99},{"version":"41ecfbc96066dc0d03f1a8139e28b4b3297bc231257d27a7c5796d017962a438","impliedFormat":99},{"version":"46e060979c9bb359578744342c37b843529c284e20ebc219bd71d5fbc04b3704","impliedFormat":99},{"version":"720b258293ffe0939688db7b4729d24f64809718157b14ae50fb9e2397c69fbc","impliedFormat":99},{"version":"1273795a90591a538b11c91a7840b1facbb5b6d500146cc055324a16f58c0346","impliedFormat":99},{"version":"a06814aa3f18bf501a7bbd1cf3ad9b1fb090cb89b19375debf6ac3b906ad9090","impliedFormat":99},{"version":"785afd3f604c75ef24a65c0f2ce4b3ce2137f941773c201842abaa7385b12e3b","impliedFormat":99},{"version":"ee3bfff84df83f9e3cf0ec85aff97df52fc57e740e41fd4780de1cb3f9e73780","impliedFormat":99},{"version":"2025d7779d9356a37ed4142da93898d39f811d9c5937f8c107f44ab2344e87b7","impliedFormat":99},{"version":"471b3d02d1af08c6b58a9a2ff5c85da205910f782a7783d7a1f59dcb681ee8ea","impliedFormat":99},{"version":"e1902decb3f07a58e9be70b5136e3d715997025e0f0f20cf7e2610363f38ee04","impliedFormat":99},{"version":"323156c80e3ac6175f4b75952ed871ead30b58b9ec463131e368e572d89777be","impliedFormat":99},{"version":"7c54717447fdfa134e43c6f1a71f8ae4e955538f9e59a8bbd60eb65f5bb965e6","impliedFormat":99},{"version":"0d153b01d0b1e33ad2b8c778765c3f3539a3ffaa595dc3e9d53d91cfe5615f11","impliedFormat":99},{"version":"0ef8dbf7f717c2d8912df768687073cda1d7ec73ce2861fa8ee30ea8c15455e7","impliedFormat":99},{"version":"355ae3751ad1378804c850b212bbfed1bb68af9e4cde0cde857b86c6cbbe2140","impliedFormat":99},{"version":"06b02b230ad18789680a5d286d55d566451973456fa33b63ddff6c9b2c2ab41c","impliedFormat":99},{"version":"971f0be2884711cdbd2dc522224ba68db24abea620e9089b5432a9ed73dd406c","impliedFormat":99},{"version":"1e45c92c3241e189027db53310d5b3b8d713fad08ca6ec5f8e0734b275b6dd76","impliedFormat":99},{"version":"a374180a9dc60b15b4fea69423ae9d8e3cdfdf604e8cb314325db23a2a8e3cf9","impliedFormat":99},{"version":"acc82e49137ccc0be7e523164613032cd0a35a08b38721138a228926539a33f8","impliedFormat":99},{"version":"990951a94433c2efe6e42266ebd096f63154115a37c1f4e5bd37bee57bbd3563","impliedFormat":99},{"version":"b65b675fe2b1ad0d621ce5ad94e9fbdbd16b17e8afebe2863361e0d028dc73fc","impliedFormat":99},{"version":"1bc87b80ef30a78d0cec6f6c56ad41b68a8f03d30a7052d1a0f1e946f5eb5150","impliedFormat":99},{"version":"79ace3491ac2d2585e2e3748827466f99d0fe06acfb8cfd7bb5ac6e272d9b742","impliedFormat":99},{"version":"f51bf6581de40babf85946efb37bf4bab0a5357b46b4a0cf904278f3b8234350","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"d94d06e50f58be0a417ebc0336be0c51e5aeb06cbb59ae7d5d4cba95e4948418","impliedFormat":99},{"version":"02246d22f0fc51c76534d953f606aab7c012d1acdb182f822c8ac8a37926a72c","impliedFormat":99},{"version":"0166e0f095473027f6f8744378f5ac5cb6557e788540fdad76e0abca9eef2567","impliedFormat":99},{"version":"f950a4cec73ccf53ee3c56f117e5c585872bd13328c487cdf7a614246feb075e","impliedFormat":99},{"version":"f325583644b63525d1c4d22825633c220e478411d813f134d5930207cdf8aab3","impliedFormat":99},{"version":"e25a05c0fd866cf73c00a281ea11bb51fa8d2a9955f2edf8a7b8f3081b37c165","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"df6ccc0d7f7324035b05a6294404b310a23b2f07fbbebe1cd298f88647ab8b6d","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"62391e62217e8a22a4d5f3ff123912bb4d182598e051f31b287096d187cbaea9","impliedFormat":99},{"version":"81895ab68da9cb1656eca90934f01924181d57439e980aa3df8c788488363272","impliedFormat":99},{"version":"cb1ee5692cfe21d8865ab74cc64aeb2f3319f2c2ea2f63cf2662b6319160beee","impliedFormat":99},{"version":"ef6ed27ceed062efa353f3c108dd31d3e4e83e222ed9e18566fa85ed4600e366","impliedFormat":99},{"version":"faa076baad26c7c20856aa86a22c8afd9113f0bc47feeacc680a9e6d4493ea5e","impliedFormat":99},{"version":"782d76ae47ae31c1169c04d93f11e6e13b50c704833517ffeb933516abc4dc12","impliedFormat":99},{"version":"9036dd2d0b09989692fb0eb69b5142647a709aae1f2bfea464701df33758345f","impliedFormat":99},{"version":"14eeb7d5737bc074d1020b7648358ad0488dfb576aa82937e8447586c1b02bd8","impliedFormat":99},{"version":"73b252fae9083ac46b9f2fa376c3a4f5d2c98f5fc0d31922e6d74e7a416f1034","impliedFormat":99},{"version":"0c35ff99747044453c64a4fe3e0e813adc45e67c16d6c47a39cda7d5b2c45764","impliedFormat":99},{"version":"a127363b7f50b5ce89ee98b2faa52a3e7247af32785f937e827e9ee32578d803","impliedFormat":99},{"version":"ae9e8befa5a81361fda14b5c44953b69a6b32abed1e9c62c533230796ba2b39f","impliedFormat":99},{"version":"f3eeac608cb47badfaf2218914776864558c08a392fa626d3a0ad678b0fbfe38","impliedFormat":99},{"version":"2c05477216d0da559ce805e5b5cb8f3c72e1897110886a0fe22808ac37a2f5f6","impliedFormat":99},{"version":"6307d21b4a02a9de0ec25ad7c8a36bfb3a25d38adb1dbe877f7e73595a4a924c","impliedFormat":99},{"version":"cc78721e9ec12b7b62352b8bfa1e37abe055c17965d5fc956d4edccb1bf4f673","impliedFormat":99},{"version":"53565e07ff42ff137d862dd402cd1799785904a50cbd75fbf8402d7ae76fb6b8","impliedFormat":99},{"version":"c8c4e8de61ce90831b7342b6e4800a3e70f4c06eadb17dd743e652ece3562ebd","impliedFormat":99},{"version":"37ed869a9de36bb1ddf343286b5cd0e0afaddd892ba28e82fd652b7ee2c46dec","impliedFormat":99},{"version":"5dccac21bdd7a3a3f399f2a0110bb1bb22a7bb002e3c4a3403f781299faf3f53","impliedFormat":99},{"version":"976ff2cb836f3b64382f2090462966b6b82a059b8d90c4eba54ffa2021e5c150","impliedFormat":99},{"version":"9432e9ba2ed3ef0169d133a2fdb113002be901691ec78ec9d2329c12c16d5065","impliedFormat":99},{"version":"f7e369493bd11921421f51025608f6450675e5d5fba73a1f5617c96072449ab9","impliedFormat":99},{"version":"0919c74e404e0f876c1687425547263ceffe5cc184404492ed2f8deb8a13cbcd","impliedFormat":99},{"version":"7df13a374704470d39a931dd1fa3602a3bd1cadf064115784e4acc3b25e6c24f","impliedFormat":99},{"version":"36944fe70fea641703d40efab3585844c0ed20ce7e783fdcde90bad50bf77f5d","impliedFormat":99},{"version":"cde65d40e64bf0aedba644d8841fba8fecc6f4793d7e4a4364be954bf273ec0c","impliedFormat":99},{"version":"ab9a48af27d31f50da02f40b83b2e8695c4ac28bd446f37d34d5ded0443aed3e","impliedFormat":99},{"version":"0b1a50c36805a5f3be773ea73339750c3619a7ac53c0f441f5e9f1cdfbddc695","impliedFormat":99},{"version":"b85424e3eeb4843556cc1838289e1d3aafc8907b44fad864f228e2abf1af55d4","impliedFormat":99},{"version":"0bdeb9f8d6472b196355591ea4a4313cef5434d24bc79c6e5e733132380b87ea","impliedFormat":99},{"version":"91fe1b91f77a6080c156f0f6af3f6b12524f04604b6e0925432c48f7ef58cfd9","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"e84281e45703810be96251405f8051317362e453f39f26e078cde8967fd2945f","impliedFormat":99},{"version":"0bcb04a160a2a2a934480e3b899b1d2255970b25ffc7408a5d07aaa07baf2878","impliedFormat":99},{"version":"8e3a9c17439b657424fc7e311943dcf9444fbcac73f3b9b72aec2f449a11e203","impliedFormat":99},{"version":"a6c3df80c7c5e8a15e302df97c8a35b1deec48f6a8639110663d6c85ea562fff","impliedFormat":99},{"version":"4c69a93a4645185c445f0050939645592d49f2b8dbc999ff63176c607f3dc319","impliedFormat":99},{"version":"0e2d2919246a4491005fba1612d101a68dad27a5592a77baab1523b2de335cc2","impliedFormat":99},{"version":"c32be5821ff157b2845dacfb257531e932a1161b933e6cd1cd0a4de9e057bdea","impliedFormat":99},{"version":"eb14bc57e220517c752f74ab7c810b72a80632c26eccbd7af690ed9ea7b5ee03","impliedFormat":99},{"version":"ee0de1f85e4fcafe9019c89085cedbde41a22d4492bab87623eed5afb91065ec","impliedFormat":99},{"version":"588b99d933490c59f0ac74e43491ec1b71348b049b1a391f24318b84bdc17b97","impliedFormat":99},{"version":"d78f57a7b922e855a90900275fc93805e07f8cfc7689039840118eb6bf6f0057","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"82c69793fa09d8b58a3589f08c7d16163c566cca5657dcc45deaf5160f2c0e95","impliedFormat":99},{"version":"b89268c927a997e32030d8d8daeb0ee65a7c7db40b167a39296459e114ba7511","impliedFormat":99},{"version":"fb8bc4e79a3b9442dd3e8b1bea89b3e0ad93dd154f94fcb7ca81f511c7c06b65","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"3a4b1b3e62543a3955e1ad5cddfcc59b25074f722d5dbf7aee1971a43de8acd2","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"f9d8848e3c6d82c1e348a9e5cc531e433be58c4ba233a6683a4e9bf6d923a462","impliedFormat":99},{"version":"48a3ae8b6325c87135a210f6d6a7ce15d58417870a2ad78d70858313c47eee99","impliedFormat":99},{"version":"9822da8046d00ef9b8a230345cc163599e58629112081ba55cf4f8d88ba5bd93","impliedFormat":99},{"version":"260a0f4a8a6dc69a2dec8ea672d702629ff7624d5684b29be55cca02a3e42e7e","impliedFormat":99},{"version":"9789d7263d261044cf33f0bb5fd31a2f4ae3a4cc2a010aa45db6f7d01fb019fa","impliedFormat":99},{"version":"d81f0485800e8813d917c2edf184ca3a7fdeada1472cad6dc41e43c37e240800","impliedFormat":99},{"version":"f59c2a64fc652509e0cc56fffb59d7b81f4c7950c7dcfc2da44b681637604797","impliedFormat":99},{"version":"ac0d6f9d09ee9ec076ec3045d20f0d6f5b32300d5a2fa05b5c5a9b6492c0de1f","impliedFormat":99},{"version":"1d8a6497f663251332519c392c6053d5b5e93e5a2189e2669620851b93fbab65","impliedFormat":99},{"version":"52f2d4cea9e3b8e4821b6ca71077ec5f41316d1b3c7d599ef10fd7c8c839ee09","impliedFormat":99},{"version":"013d7f1c5798ac843bcf24e6f3d97efa42c79f038da9cae4fc95ec686b3087ce","impliedFormat":99},{"version":"83b28136beeebb45a635f0179b828e0d0ec9c59330db43060c5958d796e35ddd","impliedFormat":99},{"version":"81c1ea7f9b00460828ef1c92fbbcfa9ff0a7bfcfb2dbfe2510bf7916c914fa75","impliedFormat":99},{"version":"6cf0bf08cc2ffa6d25c7a9852e58f7de9b26122a42380a89105c201e8bde13c8","impliedFormat":99},{"version":"07350c1be768f0446138cf700b47a8aae8e2f6d828310e519bc500200d519a92","impliedFormat":99},{"version":"4253e0bc9530f4c0eec62d1c566350dffef04ab26d0f72befd2ddc08ccb61925","impliedFormat":99},{"version":"9237ce9c67ba997f8cdbc795be7628c1eafefc3317260c38c1e2df4ebd63a62b","impliedFormat":99},{"version":"1ae2b7f6a1352e73754401f16a7894c1335f3fd199acf4c473274243f89c3230","impliedFormat":99},{"version":"ecfe3af749f3c44ab0fa260d7027b067332f0841bcdca1c8db75eb9b1890bbb5","impliedFormat":99},{"version":"94899ca690be8b491a49004460b79426162b218ef26948625fc025cb40a092e9","impliedFormat":99},{"version":"7fd2e48e2ebd92a381e745c7cfe58003969296f7d0cb0109808e6e867bef6a4d","impliedFormat":99},{"version":"98d7fcdd7c0c682528a70f6781f7a00cc0f314b720d1b15996f223c74dc0cf69","impliedFormat":99},{"version":"155e18326afb2fb26a380b480e0c892cc85cc9449537b3346fcf5aaceeb953a8","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"f67db9e9b24275680e88888b618e0d6514a40cef9aec2b6ea8eb1de899f97933","impliedFormat":99},{"version":"0968374af7bf8bf67301b89a4fd4bc8594dcb90b16b4be06ee57d26a708bb776","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"98a667d4585d5b040af90fb5062e31da7c215abcb47521ff57e33f62755fdc17","impliedFormat":99},{"version":"c29e02568f8b68e62b83db2243e4bbacb5ced2d6c8d120e322b56a018d1070b8","impliedFormat":99},{"version":"53c8e58bcea418aa22f5ee013774c08dfe15f0df9625868b7ce5a7201de29785","impliedFormat":99},{"version":"d56ca5a8aa5dd4937a82df98dd930ef154f340d259bcb2980d36c28a47ff2901","impliedFormat":99},{"version":"3d421ded6ae2260cfd45b230eabe38b6c8498a1a35db809384c85ff2bc3ba822","impliedFormat":99},{"version":"ead83f43dcb956f13b924b9e43e7a64380f830efc67439a9e9e479bc985df8f8","impliedFormat":99},{"version":"d04ba54e15442a067fd28679bf18d11ca2162d64f3b0695b9ddfba2b8e1c3b59","impliedFormat":99},{"version":"6b6cced9b26444d621bb62a1b8cb65911c22505fd559411b5a57e699c7aa519e","impliedFormat":99},{"version":"dafc53212e800bc9bbfed7f3a7732ba8f401516b2bc0c71b2f601ae2583a007f","impliedFormat":99},{"version":"940e51654c3c1967f34160a9674e3bf1dc436a5d36c5d7833718aea235e52fda","impliedFormat":99},{"version":"16f2023402fd0a4eeac99edb5d75d3dd8cb4b2f25f46e9bcdaf0c0bd9670e77b","impliedFormat":99},{"version":"9d7765384806b08a522ff85c20184667eec635fdb809736184da23e89533dabd","impliedFormat":99},{"version":"d53593a008e289638eac5b0a0dfbd4296233e395205831367992a87e81eda13b","impliedFormat":99},{"version":"aa0981acabb92a87323aa1579664c293a968138d9377310fde29429e92febbc6","impliedFormat":99},{"version":"796d8fd55590f854e79d3f4181b54f28108e90118314c858726163bb9961e7ae","impliedFormat":99},{"version":"b37e4e4f8f34745d839c334991d9cf227c34c2ed7fb3b297011ddfddf3ac7d68","impliedFormat":99},{"version":"ef55aaa329259ffcb1694dc5d0d688f05e5a37eec2ae34510ef751e9d608b90d","impliedFormat":99},{"version":"264b53b60d27b252258cca58f80b81e143b6299a866402819d5524fd20febd0c","impliedFormat":99},{"version":"714456dfe665ce8b398af312b56b68a927a8a182f8e78dd7c1ef5cfb596ade25","impliedFormat":99},{"version":"27c9ce7c539db9b37ec0d7476b4e9d9ba7439dc41549e466aeadde43746e8390","impliedFormat":99},{"version":"903e813fb2d906d278ab54626f4ade4f43f96f4e636dc66f5aced69d1afb871b","impliedFormat":99},{"version":"c80bc9ee4fa024302308d14084c0f6c3026301db9abbf6789e6b1caf686ce35c","impliedFormat":99},{"version":"8cd470e7936934cb17c70c18a2e03282980d8d047ec08467925a31bf99ec1bf1","impliedFormat":99},{"version":"c09f5d7d8cdee279972790105f90d6adbfb18efb905cf04815ac59d033f7bb7f","impliedFormat":99},{"version":"e92673d9d3c39fff66b14270f144fd32d2ec6fe92e8b2c51e65bd7b4a0e5f355","impliedFormat":99},{"version":"d465455e9f29288b7c879ecd390256571ba306f8b947698f03b1429d6300ff67","impliedFormat":99},{"version":"108b9e022f7dddd5e5ed8165170d65b752fa7b21ced5dd1005ffad3c36242c57","impliedFormat":99},{"version":"1890b77d7c36efdd18174e345b295ece38e66179dae192fad21e8c3642b993a1","impliedFormat":99},{"version":"636f9c9b34b3f33b2258704da1187e271fbf36081a8e22da97be5b53488a9863","impliedFormat":99},{"version":"fa6693c8ad74ce099f2a93ca8d1b0a643dd7f6026f41ba4b244d440d8dd07f03","impliedFormat":99},{"version":"fd76be177303d35dbd29c11de5f935f5d21ad605d34aa4aad9e309ec494b51a2","impliedFormat":99},{"version":"f31af014cf064d7cea0392f02595f09d8cd4b9d06c7794397cf3ddce13111d81","impliedFormat":99},{"version":"d15de8944d6dfb1c8fab88ed1d56947c4ae438b9fcbd9be18f7840b78c9c3bbd","impliedFormat":99},{"version":"040fd90833b34b59436ca6545a00a3b5988f5a95e6cce0a378ddd66bd2cf44f2","impliedFormat":99},{"version":"f332d07979b46f12410417a97153271e1bf5ea11677423718c59010df71a3f2d","impliedFormat":99},{"version":"06911ddbb7160760c75015d2d6fa0f1c0f94d9f0d61265b2d211238b571a3ff2","impliedFormat":99},{"version":"af0612a0e9b7efc543168628fe60a8d3f4d7ae8d97fe257788cb60bdac2459c3","impliedFormat":99},{"version":"9dd05d844e6b99e0a3c8ab8e37bac8f6297d531a844af0738f9b1eaf4aead087","impliedFormat":99},{"version":"5f7be41a9ceed0632c19b7cdb5ad9e07ac19093cbe23a738fe0f1c8c2f27b036","impliedFormat":99},{"version":"b33e84f2148cc81a9afa6d4177a27a1d246fabea3c0cf391aebd3e62eec04f4f","impliedFormat":99},{"version":"5dd273430ddfd576316532f118feafc41f18d5128d7d84e674d98f4a57107384","impliedFormat":99},{"version":"a9c40d74fab8e810c62cfea99a21d09f529fe6a0e60c39353510974c33df980d","impliedFormat":99},{"version":"2665ad2e88b3633b417e176af058b1c20bf5645327a8c4fd4f08e35636b72f9d","impliedFormat":99},{"version":"2321ad799e7ff9c6c6a886dea5ab208d08072a8d33da312f1b9a10ebc888765d","impliedFormat":99},{"version":"8e2f56264cfd71093034fadc1c788d6f46d58036a57e7189e8eda9a7f87eb9d9","impliedFormat":99},{"version":"06deb0a45f5a6dd23244cae8f1ebfa2400ec7de804980f044316d2d9d35a6ce5","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"09b103d94e6bf3723cc3642b164dcae50bea1d1f0ab1f5cccc38dfed3fb2beda","impliedFormat":99},{"version":"eaf426d0af6b9a638d341b18507485454530ca60efc91bc87db450242fa8f0ff","signature":"7ddbc5007e1c51a76bcf7e11441d33d693317c9eb19bf2c1181d39d221a8137a"},"49f4d820035c514859b6517434b92327008196e80b4e42557de26642b7e995c3","daa6806c6c358aa4975a79be60cfd3163372982b68aebc938334c543c4049845","ec2942a78357aabf97d5f28aff3f167b3f7acfe1fce7a37b4be910ed6416d712","21ce71932eb5b4c8a1cf68f37a29c60248a61c04cc176f272c4ff0a8eeb27c61",{"version":"c8ae673d8cb3071a88cf5deaec98a589a92eef6412e846d41553c58048d79061","signature":"ce76eed7e5b5f9f4fde473e82e97cf2081f8eccfcad91c0165f98f1010008695"},{"version":"3fef10f92f5a5779d7d7289358d3f8fbd3702892890748e8ca5b91de9a6e31d7","signature":"8024f488b45042027a915946f3a5e1805abf6be3905d2b7017f20c087ba39246"},{"version":"2827d24c55dadc246a5af3221b66c90373e38320dad5c72a43c51ed0df15062c","signature":"c26a4a9233d30aeb85450e9c23d8e253dfd1628b0b98cde8c67861fbfa999002"},{"version":"9198679eacc89ba33ab7616357059bd9ebeb32c3db3a231a093306dda0dff46e","signature":"e702e421b5c01d2e4b820eb1c887b26d96219d498b69a25064e3c9103b100758"},{"version":"79de36a8e3fa209a2b13599a3e03ac62a04fbdf699f13cac7ee7d7fbdef55d5b","signature":"525a83b8b4fb505f1e33510cf87d758332a650c79ec819cfc8a44720c9e11556"},{"version":"a93066096fbb1cec5ecd47ab4585faea1469cf5fa8fe701956346ea71bf62f0b","signature":"14015613b6b5d535af589c95b5d2b0533b6db9e709fa964c5324b48ec6ffc1c8"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7","5dd4124eda543af2694804ec7b14c83197f34259d74c66ea5483be5f61373720"],"root":[513,514,517,809,815,830,831,[1192,1200],[1202,1213],[1230,1253],[1259,1276],[1535,1547]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[1546,1],[513,2],[1547,3],[1238,4],[1240,5],[1239,6],[1241,7],[1242,8],[1243,9],[1244,10],[1247,11],[1246,12],[1245,12],[1250,13],[1249,13],[1541,14],[1276,15],[1542,8],[1539,16],[1543,17],[1545,18],[815,19],[1271,20],[1535,21],[1536,22],[1537,23],[1538,24],[1540,25],[1272,26],[1273,27],[1544,28],[1275,29],[1274,30],[1193,31],[1192,32],[517,33],[1252,34],[1253,27],[1260,35],[1262,36],[831,37],[830,8],[1259,38],[1263,39],[1264,8],[1265,8],[1266,8],[1237,40],[1236,41],[1268,42],[1195,42],[1269,42],[1194,42],[1212,42],[1230,42],[1206,42],[1210,42],[1202,42],[1204,42],[1199,42],[1232,42],[1208,42],[1197,42],[1248,42],[1251,8],[1213,43],[1231,44],[1207,45],[1234,46],[1211,47],[1203,48],[1205,49],[1200,50],[1233,51],[1209,52],[1198,53],[1235,54],[1196,55],[1261,8],[1267,56],[514,57],[809,58],[357,2],[877,2],[598,59],[806,60],[808,61],[814,62],[600,63],[807,64],[1188,65],[121,66],[122,66],[123,67],[75,68],[124,69],[125,70],[126,71],[70,2],[73,72],[71,2],[72,2],[127,73],[128,74],[129,75],[130,76],[131,77],[132,78],[133,78],[134,79],[135,80],[136,81],[137,82],[76,2],[74,2],[138,83],[139,84],[140,85],[174,86],[141,87],[142,2],[143,88],[144,89],[145,90],[146,91],[147,92],[148,93],[149,94],[150,95],[151,96],[152,96],[153,97],[154,2],[155,98],[156,99],[158,100],[157,101],[159,102],[160,103],[161,104],[162,105],[163,106],[164,107],[165,108],[166,109],[167,110],[168,111],[169,112],[170,113],[171,114],[77,2],[78,2],[79,2],[118,115],[119,2],[120,2],[172,116],[173,117],[178,118],[442,119],[179,120],[177,121],[444,122],[443,123],[175,124],[440,2],[176,125],[61,2],[63,126],[439,119],[209,119],[1214,2],[599,2],[80,2],[836,127],[839,128],[840,129],[837,2],[838,2],[835,2],[841,130],[62,2],[1365,131],[1344,132],[1441,2],[1345,133],[1281,131],[1282,131],[1283,131],[1284,131],[1285,131],[1286,131],[1287,131],[1288,131],[1289,131],[1290,131],[1291,131],[1292,131],[1293,131],[1294,131],[1295,131],[1296,131],[1297,131],[1298,131],[1277,2],[1299,131],[1300,131],[1301,2],[1302,131],[1303,131],[1305,131],[1304,131],[1306,131],[1307,131],[1308,131],[1309,131],[1310,131],[1311,131],[1312,131],[1313,131],[1314,131],[1315,131],[1316,131],[1317,131],[1318,131],[1319,131],[1320,131],[1321,131],[1322,131],[1323,131],[1324,131],[1326,131],[1327,131],[1328,131],[1325,131],[1329,131],[1330,131],[1331,131],[1332,131],[1333,131],[1334,131],[1335,131],[1336,131],[1337,131],[1338,131],[1339,131],[1340,131],[1341,131],[1342,131],[1343,131],[1346,134],[1347,131],[1348,131],[1349,135],[1350,136],[1351,131],[1352,131],[1353,131],[1354,131],[1357,131],[1355,131],[1356,131],[1279,2],[1358,131],[1359,131],[1360,131],[1361,131],[1362,131],[1363,131],[1364,131],[1366,137],[1367,131],[1368,131],[1369,131],[1371,131],[1370,131],[1372,131],[1373,131],[1374,131],[1375,131],[1376,131],[1377,131],[1378,131],[1379,131],[1380,131],[1381,131],[1383,131],[1382,131],[1384,131],[1385,2],[1386,2],[1387,2],[1534,138],[1388,131],[1389,131],[1390,131],[1391,131],[1392,131],[1393,131],[1394,2],[1395,131],[1396,2],[1397,131],[1398,131],[1399,131],[1400,131],[1401,131],[1402,131],[1403,131],[1404,131],[1405,131],[1406,131],[1407,131],[1408,131],[1409,131],[1410,131],[1411,131],[1412,131],[1413,131],[1414,131],[1415,131],[1416,131],[1417,131],[1418,131],[1419,131],[1420,131],[1421,131],[1422,131],[1423,131],[1424,131],[1425,131],[1426,131],[1427,131],[1428,131],[1429,2],[1430,131],[1431,131],[1432,131],[1433,131],[1434,131],[1435,131],[1436,131],[1437,131],[1438,131],[1439,131],[1440,131],[1442,139],[1278,131],[1443,131],[1444,131],[1445,2],[1446,2],[1447,2],[1448,131],[1449,2],[1450,2],[1451,2],[1452,2],[1453,2],[1454,131],[1455,131],[1456,131],[1457,131],[1458,131],[1459,131],[1460,131],[1461,131],[1466,140],[1464,141],[1465,142],[1463,143],[1462,131],[1467,131],[1468,131],[1469,131],[1470,131],[1471,131],[1472,131],[1473,131],[1474,131],[1475,131],[1476,131],[1477,2],[1478,2],[1479,131],[1480,131],[1481,2],[1482,2],[1483,2],[1484,131],[1485,131],[1486,131],[1487,131],[1488,137],[1489,131],[1490,131],[1491,131],[1492,131],[1493,131],[1494,131],[1495,131],[1496,131],[1497,131],[1498,131],[1499,131],[1500,131],[1501,131],[1502,131],[1503,131],[1504,131],[1505,131],[1506,131],[1507,131],[1508,131],[1509,131],[1510,131],[1511,131],[1512,131],[1513,131],[1514,131],[1515,131],[1516,131],[1517,131],[1518,131],[1519,131],[1520,131],[1521,131],[1522,131],[1523,131],[1524,131],[1525,131],[1526,131],[1527,131],[1528,131],[1529,131],[1280,144],[1530,2],[1531,2],[1532,2],[1533,2],[834,145],[833,2],[515,146],[516,147],[1184,148],[1189,149],[1191,150],[1190,151],[845,152],[1133,153],[844,2],[847,154],[1182,155],[1183,156],[843,2],[1185,157],[966,158],[862,159],[933,160],[942,161],[865,161],[866,162],[867,162],[941,163],[868,164],[917,165],[923,166],[918,167],[919,162],[920,165],[943,168],[864,169],[921,161],[922,167],[924,170],[925,170],[926,167],[927,165],[928,161],[929,162],[930,171],[931,172],[932,162],[953,173],[961,174],[940,175],[969,176],[934,177],[936,178],[937,175],[947,179],[955,180],[960,181],[957,182],[962,183],[950,184],[951,185],[958,186],[959,187],[965,188],[956,189],[935,157],[967,190],[863,157],[954,191],[952,192],[939,193],[938,175],[968,194],[944,195],[963,2],[964,196],[1187,197],[846,157],[1004,2],[1021,198],[970,199],[995,200],[1002,201],[971,201],[972,201],[973,202],[1001,203],[974,204],[989,201],[975,205],[976,205],[977,202],[978,201],[979,202],[980,201],[1003,206],[981,201],[982,201],[983,207],[984,201],[985,201],[986,207],[987,202],[988,201],[990,208],[991,207],[992,201],[993,202],[994,201],[1016,209],[1012,210],[1000,211],[1024,212],[996,213],[997,211],[1013,214],[1005,215],[1014,216],[1011,217],[1009,218],[1015,219],[1008,220],[1020,221],[1010,222],[1022,223],[1017,224],[1006,225],[999,226],[998,211],[1023,227],[1007,195],[1018,2],[1019,228],[850,229],[1090,230],[1025,231],[1060,232],[1069,233],[1026,234],[1027,234],[1028,235],[1029,234],[1068,236],[1030,237],[1031,238],[1032,239],[1033,234],[1070,240],[1071,241],[1034,234],[1036,242],[1037,233],[1039,243],[1040,244],[1041,244],[1042,235],[1043,234],[1044,234],[1045,240],[1046,235],[1047,235],[1048,244],[1049,234],[1050,233],[1051,234],[1052,235],[1053,245],[1038,246],[1054,234],[1055,235],[1056,234],[1057,234],[1058,234],[1059,234],[1078,247],[1085,248],[1067,249],[1095,250],[1061,251],[1063,252],[1064,249],[1073,253],[1080,254],[1084,255],[1082,256],[1086,257],[1074,258],[1075,185],[1076,259],[1083,260],[1089,261],[1081,262],[1062,157],[1091,263],[1035,157],[1079,264],[1077,265],[1066,266],[1065,249],[1092,267],[1093,2],[1094,268],[1072,195],[1087,2],[1088,269],[858,270],[851,271],[948,157],[945,272],[949,273],[946,274],[1144,275],[1121,276],[1127,277],[1096,277],[1097,277],[1098,278],[1126,279],[1099,280],[1114,277],[1100,281],[1101,281],[1102,278],[1103,277],[1104,282],[1105,277],[1128,283],[1106,277],[1107,277],[1108,284],[1109,277],[1110,277],[1111,284],[1112,278],[1113,277],[1115,285],[1116,284],[1117,277],[1118,278],[1119,277],[1120,277],[1141,286],[1132,287],[1147,288],[1122,289],[1123,290],[1136,291],[1129,292],[1140,293],[1131,294],[1139,295],[1138,296],[1143,297],[1130,298],[1145,299],[1142,300],[1137,301],[1125,302],[1124,290],[1146,303],[1135,304],[1134,305],[854,306],[856,307],[855,306],[857,306],[860,308],[859,309],[861,310],[852,311],[1180,312],[1148,313],[1173,314],[1177,315],[1176,316],[1149,317],[1178,318],[1169,319],[1170,315],[1171,320],[1172,321],[1157,322],[1165,323],[1175,324],[1181,325],[1150,326],[1151,324],[1154,327],[1160,328],[1164,329],[1162,330],[1166,331],[1155,332],[1158,333],[1163,334],[1179,335],[1161,336],[1159,337],[1156,338],[1174,339],[1152,340],[1168,341],[1153,195],[1167,342],[848,195],[849,343],[853,344],[1186,2],[905,345],[887,346],[879,347],[871,348],[872,349],[884,350],[914,2],[874,351],[873,2],[909,2],[911,2],[912,2],[910,351],[913,352],[881,353],[882,354],[880,2],[875,355],[876,2],[916,356],[915,357],[906,358],[883,359],[870,360],[869,2],[885,2],[886,2],[908,361],[903,362],[890,2],[904,363],[902,364],[895,365],[896,366],[898,367],[899,368],[897,2],[900,366],[901,367],[894,2],[893,2],[892,2],[891,369],[888,370],[907,2],[889,371],[878,372],[1257,2],[1256,2],[1255,373],[1258,374],[1254,375],[465,376],[470,1],[477,377],[460,378],[213,2],[221,379],[361,380],[364,381],[336,2],[349,382],[356,383],[238,2],[338,2],[219,2],[335,384],[381,385],[220,2],[211,386],[363,387],[365,388],[366,389],[437,390],[330,391],[283,392],[343,393],[344,394],[342,395],[341,2],[337,396],[362,397],[222,398],[407,2],[408,399],[249,400],[223,401],[250,400],[286,400],[189,400],[359,402],[358,2],[348,403],[455,2],[198,2],[476,404],[415,405],[416,406],[412,407],[494,2],[313,2],[417,27],[413,408],[499,409],[498,410],[493,2],[264,2],[316,411],[315,2],[492,412],[414,119],[269,413],[276,414],[278,415],[268,2],[273,416],[275,417],[277,418],[272,419],[270,2],[274,420],[495,2],[491,2],[497,421],[496,2],[267,422],[486,423],[489,424],[257,425],[256,426],[255,427],[502,119],[254,428],[243,2],[504,2],[505,119],[506,429],[181,2],[345,430],[346,431],[347,432],[185,2],[350,2],[205,433],[180,2],[429,119],[187,434],[428,435],[427,436],[418,2],[419,2],[426,2],[421,2],[424,437],[420,2],[422,438],[425,439],[423,438],[218,2],[215,2],[216,400],[370,2],[375,440],[376,441],[374,442],[372,443],[373,444],[368,2],[435,27],[210,27],[464,445],[471,446],[475,447],[304,448],[303,2],[298,2],[451,449],[459,450],[331,451],[332,452],[410,453],[320,2],[433,454],[308,119],[325,455],[436,456],[321,2],[324,457],[322,2],[434,458],[431,459],[430,2],[432,2],[328,2],[406,460],[193,461],[306,462],[310,463],[326,464],[329,465],[318,466],[311,467],[458,468],[384,469],[302,470],[190,471],[457,472],[186,473],[377,474],[369,2],[378,475],[395,476],[367,2],[394,477],[69,2],[389,478],[214,2],[409,479],[385,2],[199,2],[201,2],[340,2],[393,480],[217,2],[241,481],[327,482],[247,483],[307,2],[392,2],[371,2],[397,484],[398,485],[339,2],[400,486],[402,487],[401,488],[351,2],[391,471],[404,489],[301,490],[390,491],[396,492],[226,2],[230,2],[229,2],[228,2],[233,2],[227,2],[236,2],[235,2],[232,2],[231,2],[234,2],[237,493],[225,2],[293,494],[292,2],[297,495],[294,496],[296,497],[299,495],[295,496],[206,498],[285,499],[454,500],[452,2],[481,501],[483,502],[447,503],[482,504],[194,505],[191,505],[224,2],[208,506],[207,507],[203,508],[204,509],[212,510],[240,510],[251,510],[287,511],[252,511],[196,512],[195,2],[291,513],[290,514],[289,515],[288,516],[197,517],[438,518],[239,519],[446,520],[411,521],[441,522],[445,523],[334,524],[333,525],[314,526],[300,527],[282,528],[284,529],[281,530],[403,531],[305,2],[469,2],[202,532],[405,533],[453,534],[312,2],[242,535],[319,536],[317,537],[244,538],[379,539],[448,2],[245,540],[380,540],[467,2],[466,2],[468,2],[450,2],[449,2],[382,541],[309,2],[279,542],[200,543],[258,2],[184,544],[246,2],[473,119],[183,2],[485,545],[266,119],[479,27],[265,546],[462,547],[263,545],[188,2],[487,548],[261,119],[262,119],[253,2],[182,2],[260,549],[259,550],[248,551],[323,95],[383,95],[399,2],[387,552],[386,2],[271,422],[192,2],[280,119],[456,433],[463,553],[64,119],[67,554],[68,555],[65,119],[66,2],[360,556],[355,557],[354,2],[353,558],[352,2],[461,559],[472,560],[474,561],[478,562],[480,563],[484,564],[512,565],[488,565],[511,566],[490,567],[500,568],[501,569],[503,570],[507,571],[510,433],[509,2],[508,65],[1229,572],[842,573],[1222,574],[1226,575],[1227,576],[1228,577],[1217,575],[1218,2],[1219,578],[1221,575],[1220,575],[1223,579],[1224,580],[1225,581],[1216,582],[1215,2],[1201,583],[812,2],[811,584],[810,585],[813,586],[388,587],[601,2],[627,2],[805,588],[649,589],[646,590],[763,591],[647,592],[648,593],[736,594],[758,2],[760,2],[773,595],[717,596],[685,597],[669,598],[759,2],[695,2],[706,2],[727,599],[604,2],[776,600],[778,601],[777,602],[606,2],[711,603],[710,604],[713,605],[712,606],[667,2],[799,2],[780,607],[784,608],[782,609],[609,610],[610,610],[611,2],[724,611],[723,2],[737,612],[656,613],[687,614],[751,615],[804,2],[772,616],[707,617],[750,618],[803,2],[730,2],[719,619],[797,620],[800,2],[651,621],[650,622],[740,623],[744,624],[617,625],[747,626],[755,627],[612,628],[756,629],[765,630],[757,631],[619,629],[796,632],[754,633],[753,634],[622,635],[623,2],[654,636],[655,637],[635,638],[636,639],[642,640],[634,641],[653,642],[621,643],[697,2],[613,2],[638,2],[624,2],[625,644],[629,645],[768,592],[618,2],[630,2],[771,627],[614,627],[770,627],[742,646],[741,647],[708,648],[766,2],[676,649],[631,630],[769,592],[746,650],[722,2],[715,2],[605,2],[729,651],[728,652],[781,609],[785,653],[783,654],[735,2],[608,655],[798,2],[716,621],[652,656],[734,657],[733,2],[686,658],[671,659],[672,2],[641,660],[720,661],[721,661],[658,662],[659,2],[668,2],[703,663],[626,664],[666,665],[690,666],[639,2],[615,667],[696,2],[644,668],[645,669],[739,670],[801,671],[678,672],[691,673],[786,602],[788,674],[787,674],[683,675],[684,676],[640,2],[602,2],[694,2],[693,677],[743,678],[738,679],[779,680],[794,677],[674,681],[657,682],[673,681],[675,683],[680,684],[616,623],[732,685],[792,686],[761,687],[704,688],[702,2],[698,689],[726,690],[699,689],[701,691],[700,692],[725,631],[764,693],[762,694],[670,695],[637,2],[677,696],[789,609],[791,653],[790,654],[643,590],[749,697],[793,698],[748,699],[795,700],[718,701],[714,2],[731,702],[681,703],[682,704],[663,2],[628,705],[633,677],[802,2],[632,706],[709,707],[752,2],[603,2],[692,677],[774,708],[688,709],[607,2],[689,710],[620,2],[662,2],[660,2],[661,2],[679,2],[705,2],[775,711],[665,677],[745,624],[664,712],[767,713],[832,2],[59,2],[60,2],[10,2],[11,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[23,2],[24,2],[4,2],[25,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[58,2],[57,2],[1,2],[12,2],[96,714],[106,715],[95,714],[116,716],[87,717],[86,718],[115,65],[109,719],[114,720],[89,721],[103,722],[88,723],[112,724],[84,725],[83,65],[113,726],[85,727],[90,728],[91,2],[94,728],[81,2],[117,729],[107,730],[98,731],[99,732],[101,733],[97,734],[100,735],[110,65],[92,736],[93,737],[102,738],[82,739],[105,730],[104,728],[108,2],[111,740],[829,741],[821,742],[828,743],[823,2],[824,2],[822,744],[825,745],[816,2],[817,2],[818,741],[820,746],[826,2],[827,747],[819,748],[597,749],[591,750],[595,751],[592,751],[588,750],[596,752],[593,753],[594,751],[589,754],[590,755],[584,756],[525,757],[527,758],[583,2],[526,759],[587,760],[586,761],[585,762],[518,2],[528,757],[529,2],[520,763],[524,764],[519,2],[521,765],[522,766],[523,2],[530,767],[531,767],[532,767],[533,767],[534,767],[535,767],[536,767],[537,767],[538,767],[539,767],[540,767],[541,767],[542,767],[543,767],[545,767],[544,767],[546,767],[547,767],[548,767],[549,767],[550,767],[582,768],[551,767],[552,767],[553,767],[554,767],[555,767],[556,767],[557,767],[558,767],[559,767],[560,767],[561,767],[562,767],[563,767],[565,767],[564,767],[566,767],[567,767],[568,767],[569,767],[570,767],[571,767],[572,767],[573,767],[574,767],[575,767],[576,767],[577,767],[578,767],[581,767],[579,767],[580,767],[1270,769]],"affectedFilesPendingEmit":[1547,1238,1240,1239,1241,1242,1243,1244,1247,1246,1245,1250,1249,1541,1276,1542,1539,1543,1545,815,1271,1535,1536,1537,1538,1540,1272,1273,1544,1275,1274,1193,1192,517,1252,1253,1260,1262,831,830,1259,1263,1264,1265,1266,1237,1236,1268,1195,1269,1194,1212,1230,1206,1210,1202,1204,1199,1232,1208,1197,1248,1251,1213,1231,1207,1234,1211,1203,1205,1200,1233,1209,1198,1235,1196,1261,1267,809,1270],"version":"5.9.3"}
\ No newline at end of file