seriffic Claude Opus 4.7 (1M context) commited on
Commit
140c4f0
·
1 Parent(s): 1184305

ux v0.4.5: ship the proper landing page + nuke legacy fallback

Browse files

Two related changes that close out v0.4.5 — the landing page that the
README §"Landing page" called for, and the legacy custom-element
fallback routes that were silently masking the bug ("I see the
pre-v0.4.4 UI" was someone's tab on /single or /legacy).

LANDING PAGE — new at /, four sections per the README spec:

src/lib/components/landing/LandHeader.svelte
Wordmark · slash · "Flood Exposure Briefing · NYC" · nav links
(Open the app / Methodology / Sources). Distinct from AppHeader
so the marketing surface reads as its own page.

src/lib/components/landing/LandHero.svelte
Italic-serif headline ("A flood exposure briefing for *any place*
in New York City."), serif deck, big query box ("Brief this place
→"), cycling examples on a fixed dotted-underline rail (six NYC
queries, 2.2 s rotation, click to run). Submit + click both
navigate to /q/<query>.

src/lib/components/landing/LandPreview.svelte
"What you'll get back" three-pane grid: briefing excerpt with
inline citation pins · 2x2 evidence-card preview (2 empirical, 2
modeled) · mini SVG map (FEMA AE polygon, HWM contour, FloodNet
pin, 311 cluster, address pin, tier-legend overlay).

src/lib/components/landing/LandStones.svelte
Five-cell strip with oversized italic-serif numerals 01..05,
Stone name (serif 22px), role tagline, italic tag, dashed-rule
sources line at the bottom of each cell. 3px Stone-tinted
left-rule per cell mirrors the Findings region treatment.

src/lib/components/landing/LandFooter.svelte
Tier legend + build line. Tighter than AppFooter.

src/routes/+page.svelte → composes the five landing components.
src/routes/app/+page.svelte (new) → cold-start moves here so /
is free for the marketing surface.
src/routes/+layout.svelte → drops AppHeader/AppFooter on / and on
/print/<id> (both bring their own chrome). AppHeader's onResetCold
redirects to /app instead of /. Wordmark in AppHeader links to /app
(back to query) so analysts mid-flow don't bounce out to marketing.

LEGACY FALLBACK NUKED:

web/main.py drops the /legacy, /single, /compare, /agent, /report,
/register/<asset_class> page routes. They were serving the
pre-v0.4.4 custom-element bundle from web/static/, which is exactly
what was rendering when someone reported "the UI looks like before
v0.4.4". The /static/* mount stays in case anything external embeds
the old assets directly. /api/register/<asset_class> stays — that's
a JSON endpoint, not a page.

/ fallback removed. If the SvelteKit build is missing, / now
returns a 503 with a build instruction instead of silently serving
the legacy bundle.

ROUTING NOW:
/ marketing landing (NEW)
/app cold-start (moved from /)
/q/sample prerendered Red Hook briefing
/q/<id> live FSM briefing through SSE
/print/<id> print-target

Build clean. Type-check unchanged at 5 pre-existing errors / 3
pre-existing warnings. /, /app, /q/sample all 200; /single and
/legacy both 404 as intended.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Files changed (50) hide show
  1. web/main.py +22 -38
  2. web/sveltekit/build/200.html +14 -14
  3. web/sveltekit/build/_app/immutable/assets/2.DmqVqdyp.css +1 -0
  4. web/sveltekit/build/_app/immutable/assets/{2.BkIzAsIp.css → 3.BkIzAsIp.css} +0 -0
  5. web/sveltekit/build/_app/immutable/assets/{3.BZfqQRM0.css → 4.BZfqQRM0.css} +0 -0
  6. web/sveltekit/build/_app/immutable/assets/{4.BIuIAgmk.css → 5.BIuIAgmk.css} +0 -0
  7. web/sveltekit/build/_app/immutable/chunks/BSbUSrHo.js +1 -0
  8. web/sveltekit/build/_app/immutable/chunks/{Bu5KOiaf.js → BY5fDKuw.js} +1 -1
  9. web/sveltekit/build/_app/immutable/chunks/BwzbOVaY.js +0 -1
  10. web/sveltekit/build/_app/immutable/chunks/BzKJ9Ltj.js +1 -0
  11. web/sveltekit/build/_app/immutable/chunks/{CBcGqa-S.js → C1ZCxvXT.js} +2 -2
  12. web/sveltekit/build/_app/immutable/chunks/{B07kFGr7.js → C4Y7iDRY.js} +1 -1
  13. web/sveltekit/build/_app/immutable/chunks/{Dlpu43Tj.js → CBok_DXr.js} +2 -2
  14. web/sveltekit/build/_app/immutable/chunks/{DNaFzQeI.js → CXzWUZJN.js} +1 -1
  15. web/sveltekit/build/_app/immutable/chunks/{8F5LpR-T.js → ChZyCwev.js} +1 -1
  16. web/sveltekit/build/_app/immutable/chunks/Cl16PtNL.js +0 -1
  17. web/sveltekit/build/_app/immutable/chunks/DFFHaukH.js +0 -1
  18. web/sveltekit/build/_app/immutable/chunks/DVC_-Bbc.js +1 -0
  19. web/sveltekit/build/_app/immutable/chunks/Db2Wa-jW.js +1 -0
  20. web/sveltekit/build/_app/immutable/chunks/DcSynJCA.js +1 -0
  21. web/sveltekit/build/_app/immutable/chunks/DwbuJhNu.js +0 -1
  22. web/sveltekit/build/_app/immutable/chunks/UzzQz-LW.js +1 -0
  23. web/sveltekit/build/_app/immutable/chunks/{1oGnrPC6.js → a59FAUdi.js} +1 -1
  24. web/sveltekit/build/_app/immutable/entry/app.Bv9QCrbT.js +2 -0
  25. web/sveltekit/build/_app/immutable/entry/app.CWOfOFvh.js +0 -2
  26. web/sveltekit/build/_app/immutable/entry/start.CN51yZti.js +0 -1
  27. web/sveltekit/build/_app/immutable/entry/start.fpFIEWbC.js +1 -0
  28. web/sveltekit/build/_app/immutable/nodes/0.D8XZI90P.js +0 -2
  29. web/sveltekit/build/_app/immutable/nodes/0.M3y1IHJs.js +2 -0
  30. web/sveltekit/build/_app/immutable/nodes/{1.DGS2cZTl.js → 1.CLRoE3Vb.js} +1 -1
  31. web/sveltekit/build/_app/immutable/nodes/2.DoTgIlX_.js +4 -0
  32. web/sveltekit/build/_app/immutable/nodes/{2.CiK-Ot3Z.js → 3.Bxlt7XwE.js} +2 -2
  33. web/sveltekit/build/_app/immutable/nodes/3.DjnrtyPP.js +0 -7
  34. web/sveltekit/build/_app/immutable/nodes/4.CPSciXKD.js +7 -0
  35. web/sveltekit/build/_app/immutable/nodes/{4.rD3Yr4HV.js → 5.y-7CTBqe.js} +1 -1
  36. web/sveltekit/build/_app/immutable/nodes/{5.CAXEzxjD.js → 6.D9P7fTed.js} +1 -1
  37. web/sveltekit/build/_app/version.json +1 -1
  38. web/sveltekit/build/app.html +57 -0
  39. web/sveltekit/build/index.html +24 -23
  40. web/sveltekit/build/q/sample.html +0 -0
  41. web/sveltekit/src/lib/components/landing/LandFooter.svelte +63 -0
  42. web/sveltekit/src/lib/components/landing/LandHeader.svelte +57 -0
  43. web/sveltekit/src/lib/components/landing/LandHero.svelte +191 -0
  44. web/sveltekit/src/lib/components/landing/LandPreview.svelte +310 -0
  45. web/sveltekit/src/lib/components/landing/LandStones.svelte +147 -0
  46. web/sveltekit/src/lib/components/shell/AppHeader.svelte +1 -1
  47. web/sveltekit/src/routes/+layout.svelte +10 -5
  48. web/sveltekit/src/routes/+page.svelte +43 -5
  49. web/sveltekit/src/routes/app/+page.svelte +16 -0
  50. web/sveltekit/src/routes/app/+page.ts +2 -0
web/main.py CHANGED
@@ -312,14 +312,26 @@ async def api_backend():
312
 
313
  @app.get("/")
314
  def index():
315
- """SvelteKit cold-start page (the new design-system UI). Falls back to
316
- the legacy custom-element agent.html if the SvelteKit build hasn't been
317
- compiled yet — that lets `uvicorn` boot in a fresh checkout without a
318
- Node toolchain present."""
319
  sk = SVELTEKIT_BUILD / "index.html"
320
  if sk.exists():
321
  return FileResponse(sk)
322
- return FileResponse(STATIC / "agent.html")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
 
324
 
325
  @app.get("/q/sample")
@@ -352,39 +364,11 @@ def print_page(query_id: str): # noqa: ARG001 — captured by the SPA router
352
  return JSONResponse({"error": "sveltekit build not present"}, status_code=503)
353
 
354
 
355
- @app.get("/legacy")
356
- def legacy_index():
357
- """Original custom-element agent page, preserved for fallback / debugging."""
358
- return FileResponse(STATIC / "agent.html")
359
-
360
-
361
- @app.get("/single")
362
- def single_address_page():
363
- return FileResponse(STATIC / "index.html")
364
-
365
-
366
- @app.get("/compare")
367
- def compare_page():
368
- return FileResponse(STATIC / "compare.html")
369
-
370
-
371
- @app.get("/agent")
372
- def agent_page():
373
- return FileResponse(STATIC / "agent.html")
374
-
375
-
376
- @app.get("/report")
377
- def report_page():
378
- """Print-ready auditable report. Reads the prior agent run from
379
- the browser's sessionStorage; fully client-side render."""
380
- return FileResponse(STATIC / "report.html")
381
-
382
-
383
- @app.get("/register/{asset_class}")
384
- def register_page(asset_class: str):
385
- if asset_class not in ("schools", "nycha", "mta_entrances"):
386
- return JSONResponse({"error": f"unknown asset class {asset_class!r}"}, status_code=404)
387
- return FileResponse(STATIC / "register.html")
388
 
389
 
390
  @app.get("/api/register/{asset_class}")
 
312
 
313
  @app.get("/")
314
  def index():
315
+ """SvelteKit landing page (the new design-system UI)."""
 
 
 
316
  sk = SVELTEKIT_BUILD / "index.html"
317
  if sk.exists():
318
  return FileResponse(sk)
319
+ return JSONResponse(
320
+ {"error": "sveltekit build not present — run `cd web/sveltekit && npm run build`"},
321
+ status_code=503,
322
+ )
323
+
324
+
325
+ @app.get("/app")
326
+ def cold_start_page():
327
+ """SvelteKit cold-start (the analyst's "ready to query" page).
328
+ Distinct from the marketing landing at `/`. Per V0.4.5 README
329
+ §"Landing page" the two surfaces are separate.
330
+ """
331
+ sk = SVELTEKIT_BUILD / "app.html"
332
+ if sk.exists():
333
+ return FileResponse(sk)
334
+ return JSONResponse({"error": "sveltekit build not present"}, status_code=503)
335
 
336
 
337
  @app.get("/q/sample")
 
364
  return JSONResponse({"error": "sveltekit build not present"}, status_code=503)
365
 
366
 
367
+ # Legacy custom-element bundle routes (/legacy, /single, /compare, /agent,
368
+ # /report, /register/*) were retired in v0.4.5 — the SvelteKit UI fully
369
+ # subsumes them. Static assets at /static/* still mount in case anything
370
+ # external embeds them, but the page-level routes are gone. Hitting them
371
+ # now returns the framework default 404.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
 
373
 
374
  @app.get("/api/register/{asset_class}")
web/sveltekit/build/200.html CHANGED
@@ -6,17 +6,17 @@
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
- <link href="/_app/immutable/entry/start.CN51yZti.js" rel="modulepreload">
10
- <link href="/_app/immutable/chunks/BwzbOVaY.js" rel="modulepreload">
11
- <link href="/_app/immutable/chunks/DwbuJhNu.js" rel="modulepreload">
12
- <link href="/_app/immutable/entry/app.CWOfOFvh.js" rel="modulepreload">
13
- <link href="/_app/immutable/chunks/1oGnrPC6.js" rel="modulepreload">
14
- <link href="/_app/immutable/chunks/Dlpu43Tj.js" rel="modulepreload">
15
- <link href="/_app/immutable/chunks/8F5LpR-T.js" rel="modulepreload">
16
- <link href="/_app/immutable/nodes/0.D8XZI90P.js" rel="modulepreload">
17
- <link href="/_app/immutable/chunks/DNaFzQeI.js" rel="modulepreload">
18
- <link href="/_app/immutable/chunks/B07kFGr7.js" rel="modulepreload">
19
- <link href="/_app/immutable/chunks/DFFHaukH.js" rel="modulepreload">
20
 
21
  <link href="/_app/immutable/assets/0.MHa9rmVP.css" rel="stylesheet">
22
  </head>
@@ -24,15 +24,15 @@
24
  <div style="display: contents">
25
  <script>
26
  {
27
- __sveltekit_43llsk = {
28
  base: ""
29
  };
30
 
31
  const element = document.currentScript.parentElement;
32
 
33
  Promise.all([
34
- import("/_app/immutable/entry/start.CN51yZti.js"),
35
- import("/_app/immutable/entry/app.CWOfOFvh.js")
36
  ]).then(([kit, app]) => {
37
  kit.start(app, element);
38
  });
 
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
+ <link href="/_app/immutable/entry/start.fpFIEWbC.js" rel="modulepreload">
10
+ <link href="/_app/immutable/chunks/BzKJ9Ltj.js" rel="modulepreload">
11
+ <link href="/_app/immutable/chunks/Db2Wa-jW.js" rel="modulepreload">
12
+ <link href="/_app/immutable/entry/app.Bv9QCrbT.js" rel="modulepreload">
13
+ <link href="/_app/immutable/chunks/a59FAUdi.js" rel="modulepreload">
14
+ <link href="/_app/immutable/chunks/CBok_DXr.js" rel="modulepreload">
15
+ <link href="/_app/immutable/chunks/ChZyCwev.js" rel="modulepreload">
16
+ <link href="/_app/immutable/nodes/0.M3y1IHJs.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/CXzWUZJN.js" rel="modulepreload">
18
+ <link href="/_app/immutable/chunks/C4Y7iDRY.js" rel="modulepreload">
19
+ <link href="/_app/immutable/chunks/DVC_-Bbc.js" rel="modulepreload">
20
 
21
  <link href="/_app/immutable/assets/0.MHa9rmVP.css" rel="stylesheet">
22
  </head>
 
24
  <div style="display: contents">
25
  <script>
26
  {
27
+ __sveltekit_1il5pap = {
28
  base: ""
29
  };
30
 
31
  const element = document.currentScript.parentElement;
32
 
33
  Promise.all([
34
+ import("/_app/immutable/entry/start.fpFIEWbC.js"),
35
+ import("/_app/immutable/entry/app.Bv9QCrbT.js")
36
  ]).then(([kit, app]) => {
37
  kit.start(app, element);
38
  });
web/sveltekit/build/_app/immutable/assets/2.DmqVqdyp.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .land-header.svelte-1ct2rgk{display:flex;align-items:baseline;gap:12px;padding:20px 32px;border-bottom:1px solid var(--rule-soft)}.land-header.svelte-1ct2rgk .riprap-wordmark{font-family:var(--font-serif);font-weight:600;font-size:18px;letter-spacing:.02em}.land-header-sep.svelte-1ct2rgk{color:var(--ink-tertiary)}.land-header-context.svelte-1ct2rgk{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary)}.land-header-nav.svelte-1ct2rgk{margin-left:auto;display:flex;gap:18px;font-family:var(--font-mono);font-size:12px}.land-header-nav.svelte-1ct2rgk a:where(.svelte-1ct2rgk){color:var(--ink-secondary);text-decoration:none;border-bottom:1px dotted transparent}.land-header-nav.svelte-1ct2rgk a:where(.svelte-1ct2rgk):hover{border-bottom-color:var(--ink-secondary)}.land-header-nav.svelte-1ct2rgk a:where(.svelte-1ct2rgk):first-child{color:var(--ink);border-bottom:1px solid var(--ink)}.land-hero.svelte-drzq4r{padding:64px 32px 48px}.land-hero-h1.svelte-drzq4r{display:flex;flex-direction:column;gap:18px;margin:0 0 30px;max-width:880px}.land-hero-headline.svelte-drzq4r{font-family:var(--font-serif);font-weight:500;font-size:52px;line-height:1.08;color:var(--ink);letter-spacing:-.015em}.land-hero-headline.svelte-drzq4r em:where(.svelte-drzq4r){font-style:italic;font-weight:500}.land-hero-deck.svelte-drzq4r{font-family:var(--font-serif);font-size:18px;line-height:1.55;color:var(--ink-secondary);max-width:64ch}.land-query.svelte-drzq4r{display:flex;align-items:stretch;gap:0;max-width:760px;border:1px solid var(--ink);background:#fff;font-size:18px}.land-query-prompt.svelte-drzq4r{display:flex;align-items:center;padding:0 14px;font-family:var(--font-mono);font-size:22px;color:var(--ink-tertiary);background:var(--paper-deep);border-right:1px solid var(--rule-soft)}.land-query-input.svelte-drzq4r{flex:1;min-width:0;padding:18px 16px;font:inherit;font-family:var(--font-sans);border:none;outline:none;background:#fff;color:var(--ink)}.land-query-input.svelte-drzq4r::placeholder{color:var(--ink-tertiary)}.land-query-submit.svelte-drzq4r{padding:0 22px;font-family:var(--font-sans);font-weight:600;font-size:14px;background:var(--ink);color:var(--paper);border:none;cursor:pointer;white-space:nowrap;letter-spacing:.02em}.land-query-submit.svelte-drzq4r:hover{background:#000}.land-cycling.svelte-drzq4r{margin-top:18px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;font-family:var(--font-mono);font-size:13px;color:var(--ink-tertiary);max-width:760px}.land-cycling-label.svelte-drzq4r{letter-spacing:.06em;text-transform:uppercase;font-size:11px;line-height:1.4em}.land-cycling-rail.svelte-drzq4r{position:relative;min-width:0;height:1.4em;line-height:1.4em;background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.land-cycling-item.svelte-drzq4r{position:absolute;top:0;right:0;bottom:0;left:0;line-height:1.4em;opacity:0;transition:opacity .24s ease;color:var(--ink);border-bottom:1px dotted var(--rule-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:13px}.land-cycling-item.is-active.svelte-drzq4r{opacity:1}@media(max-width:640px){.land-hero-headline.svelte-drzq4r{font-size:38px}.land-hero.svelte-drzq4r{padding:40px 24px 32px}}.land-section.svelte-1anw2jf{padding:48px 32px;border-top:1px solid var(--rule-soft)}.land-section-head.svelte-1anw2jf{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;padding-bottom:10px;border-bottom:1px solid var(--rule-soft)}.land-section-meta.svelte-1anw2jf{font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-tertiary)}.land-preview-grid.svelte-1anw2jf{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.land-preview-pane.svelte-1anw2jf{background:#fff;border:1px solid var(--rule-soft);border-left:3px solid var(--ink);padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.land-preview-eyebrow.svelte-1anw2jf{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-tertiary);margin:0}.land-preview-pane-excerpt.svelte-1anw2jf .land-preview-body:where(.svelte-1anw2jf){font-family:var(--font-serif);font-size:15px;line-height:1.55;color:var(--ink);margin:0}.land-preview-cite.svelte-1anw2jf{background:linear-gradient(transparent 60%,#0b539424 60%)}.land-preview-cite.svelte-1anw2jf sup:where(.svelte-1anw2jf){font-family:var(--font-mono);font-size:10px;color:var(--tier-empirical);margin-left:2px;vertical-align:super}.land-preview-cites.svelte-1anw2jf{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px dashed var(--rule-soft)}.land-preview-cite-row.svelte-1anw2jf{display:grid;grid-template-columns:30px 1fr 70px;gap:8px;align-items:baseline;font-family:var(--font-mono);font-size:11px}.land-preview-cite-pin.svelte-1anw2jf{color:var(--tier-empirical);font-weight:600}.land-preview-cite-src.svelte-1anw2jf{color:var(--ink)}.land-preview-cite-tier.svelte-1anw2jf{color:var(--ink-tertiary);text-align:right;letter-spacing:.04em}.land-preview-pane-cards.svelte-1anw2jf{gap:8px}.land-evcard-grid.svelte-1anw2jf{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}.land-evcard.svelte-1anw2jf{background:var(--paper);border:1px solid var(--rule-soft);padding:8px 10px;display:flex;flex-direction:column;gap:3px}.land-evcard-empirical.svelte-1anw2jf{border-left:2px solid var(--tier-empirical)}.land-evcard-modeled.svelte-1anw2jf{border-left:2px solid var(--tier-modeled)}.land-evcard-head.svelte-1anw2jf{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em}.land-evcard-tier.svelte-1anw2jf{color:var(--ink-secondary);text-transform:uppercase}.land-evcard-empirical.svelte-1anw2jf .land-evcard-tier:where(.svelte-1anw2jf){color:var(--tier-empirical)}.land-evcard-modeled.svelte-1anw2jf .land-evcard-tier:where(.svelte-1anw2jf){color:var(--tier-modeled)}.land-evcard-id.svelte-1anw2jf{color:var(--ink-tertiary)}.land-evcard-claim.svelte-1anw2jf{font-family:var(--font-sans);font-size:12.5px;line-height:1.35;color:var(--ink)}.land-evcard-source.svelte-1anw2jf{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-tertiary)}.land-preview-pane-map.svelte-1anw2jf{padding:16px 18px}.land-mapmini.svelte-1anw2jf{position:relative;aspect-ratio:6 / 5;border:1px solid var(--rule-soft);overflow:hidden}.land-mapmini-legend.svelte-1anw2jf{position:absolute;left:6px;bottom:6px;right:6px;display:flex;gap:10px;padding:4px 6px;background:#ffffffeb;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;color:var(--ink-secondary)}.land-mapmini-legend.svelte-1anw2jf span:where(.svelte-1anw2jf){display:inline-flex;align-items:center;gap:4px}.lm-sw.svelte-1anw2jf{display:inline-block;width:8px;height:8px}.lm-sw-emp.svelte-1anw2jf{background:var(--tier-empirical)}.lm-sw-mod.svelte-1anw2jf{background:#2a6fa866;border:1px dashed var(--tier-modeled)}.lm-sw-prx.svelte-1anw2jf{background:transparent;border:1px solid #6B6B6B;border-radius:50%}.land-preview-mapmeta.svelte-1anw2jf{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-tertiary)}@media(max-width:1000px){.land-preview-grid.svelte-1anw2jf{grid-template-columns:1fr 1fr}.land-preview-pane-excerpt.svelte-1anw2jf{grid-column:1 / -1}}@media(max-width:640px){.land-preview-grid.svelte-1anw2jf{grid-template-columns:1fr}.land-preview-pane-excerpt.svelte-1anw2jf{grid-column:auto}}.land-section-stones-detail.svelte-1v6nt1t{background:var(--paper-deep);padding:56px 32px;border-top:1px solid var(--rule-soft)}.land-page.svelte-1v6nt1t{max-width:1200px;margin:0 auto}.land-section-head.svelte-1v6nt1t{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;padding-bottom:10px;border-bottom:1px solid var(--rule-soft)}.land-section-meta.svelte-1v6nt1t{font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-tertiary)}.land-stones-deck.svelte-1v6nt1t{font-family:var(--font-serif);font-size:17px;line-height:1.6;color:var(--ink-secondary);max-width:70ch;margin:0 0 22px}.land-stones-detail.svelte-1v6nt1t{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border:1px solid var(--rule-soft);border-bottom:2px solid var(--ink)}.land-stones-detail-cell.svelte-1v6nt1t{position:relative;padding:28px 18px 22px;border-right:1px solid var(--rule-soft);display:flex;flex-direction:column;gap:8px;overflow:hidden;border-left:3px solid var(--stone-tint, var(--rule-soft))}.land-stones-detail-cell.svelte-1v6nt1t:last-child{border-right:none}.land-stones-detail-num.svelte-1v6nt1t{position:absolute;top:6px;right:10px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:38px;line-height:1;color:var(--rule-soft);letter-spacing:-.02em;pointer-events:none}.land-stones-detail-name.svelte-1v6nt1t{font-family:var(--font-serif);font-size:22px;font-weight:500;margin:0;color:var(--ink)}.land-stones-detail-role.svelte-1v6nt1t{font-family:var(--font-sans);font-size:13px;color:var(--ink-secondary)}.land-stones-detail-tag.svelte-1v6nt1t{font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-tertiary);margin:0 0 6px;line-height:1.45}.land-stones-detail-sources.svelte-1v6nt1t{margin-top:auto;padding-top:10px;border-top:1px dashed var(--rule-soft);font-family:var(--font-mono);font-size:11px;color:var(--ink-secondary);line-height:1.55}@media(max-width:880px){.land-stones-detail.svelte-1v6nt1t{grid-template-columns:1fr}.land-stones-detail-cell.svelte-1v6nt1t{border-right:none;border-bottom:1px solid var(--rule-soft)}.land-stones-detail-cell.svelte-1v6nt1t:last-child{border-bottom:none}}.land-footer.svelte-1dcj612{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 32px;border-top:1px solid var(--rule-soft);font-family:var(--font-mono);font-size:11px;color:var(--ink-tertiary);letter-spacing:.02em}.land-footer-tiers.svelte-1dcj612{display:flex;gap:16px;flex-wrap:wrap}.land-footer-tier.svelte-1dcj612{display:inline-flex;align-items:center;gap:5px}.lm-sw.svelte-1dcj612{display:inline-block;width:8px;height:8px}.lm-sw-emp.svelte-1dcj612{background:var(--tier-empirical)}.lm-sw-mod.svelte-1dcj612{background:#2a6fa866;border:1px dashed var(--tier-modeled)}.lm-sw-prx.svelte-1dcj612{background:transparent;border:1px solid #6B6B6B;border-radius:50%}.lm-sw-syn.svelte-1dcj612{background:#2a6fa840;background-image:repeating-linear-gradient(45deg,transparent 0,transparent 2px,var(--tier-synthetic) 2px,var(--tier-synthetic) 3px);border:1px solid var(--tier-synthetic)}.land.svelte-1uha8ag{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}.land-page.svelte-1uha8ag{max-width:1200px;margin:0 auto;width:100%}
web/sveltekit/build/_app/immutable/assets/{2.BkIzAsIp.css → 3.BkIzAsIp.css} RENAMED
File without changes
web/sveltekit/build/_app/immutable/assets/{3.BZfqQRM0.css → 4.BZfqQRM0.css} RENAMED
File without changes
web/sveltekit/build/_app/immutable/assets/{4.BIuIAgmk.css → 5.BIuIAgmk.css} RENAMED
File without changes
web/sveltekit/build/_app/immutable/chunks/BSbUSrHo.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var Q=i=>{throw TypeError(i)};var dt=(i,t,e)=>t.has(i)||Q("Cannot "+e);var N=(i,t,e)=>(dt(i,t,"read from private field"),e?e.call(i):t.get(i)),X=(i,t,e)=>t.has(i)?Q("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e);import{k as Y,s as T,a as v,l as F,f as W,d as ht,b as vt,c as $,t as ft}from"./CBok_DXr.js";import{h as G,m as tt,o as L,t as w,T as et,x as ut,b7 as mt,n as rt,C as _t,j as gt,b6 as yt,b3 as bt,aX as pt,b8 as xt,b9 as wt,c as _,r as f,s as C,A as r,I as K,f as U,z as j,B as E,p as J,a as Z,L as Wt,K as at,J as Mt}from"./Db2Wa-jW.js";import{p as z,i as A}from"./ChZyCwev.js";import{s,a as nt,b as St,e as it,i as st}from"./C1ZCxvXT.js";import{s as Tt}from"./CXzWUZJN.js";function Ct(i,t,e=!1,a=!1,l=!1,c=!1){var h=i,d="";if(e){var o=i;G&&(h=tt(L(o)))}w(()=>{var u=ut;if(d===(d=t()??"")){G&&et();return}if(e&&!G){u.nodes=null,o.innerHTML=d,d!==""&&Y(L(o),o.lastChild);return}if(u.nodes!==null&&(mt(u.nodes.start,u.nodes.end),u.nodes=null),d!==""){if(G){rt.data;for(var y=et(),b=y;y!==null&&(y.nodeType!==_t||y.data!=="");)b=y,y=gt(y);if(y===null)throw yt(),bt;Y(rt,b),h=tt(y);return}var p=a?xt:l?wt:void 0,M=pt(a?"svg":l?"math":"template",p);M.innerHTML=d;var m=a||l?M:M.content;if(Y(L(m),m.lastChild),a||l)for(;L(m);)h.before(L(m));else h.before(m)}})}var Et=F('<rect x="0" y="0"></rect>'),kt=F('<rect fill="none"></rect>'),It=F("<circle></circle>"),Dt=F('<defs><pattern width="3" height="3" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="3" stroke-width="1.5"></line></pattern></defs><rect></rect>',1),At=F('<svg role="img" style="flex: none; display: inline-block; vertical-align: -0.12em;"><title> </title><!></svg>');function ot(i,t){let e=z(t,"size",3,12),a=z(t,"color",3,"currentColor");const l={empirical:"Empirical: directly measured or observed",modeled:"Modeled: scenario-based prediction",proxy:"Proxy: indirect indicator",synthetic:"Synthetic prior: generated, not observed"};let c=K(()=>Math.max(1,Math.round(e()/9))),h=K(()=>t.title??l[t.tier]),d=K(()=>`rip-stripe-${t.tier}-${e()}`);var o=At(),u=_(o),y=_(u,!0);f(u);var b=C(u);{var p=g=>{var n=Et();w(()=>{s(n,"width",e()),s(n,"height",e()),s(n,"fill",a())}),v(g,n)},M=g=>{var n=kt();w(()=>{s(n,"x",r(c)/2),s(n,"y",r(c)/2),s(n,"width",e()-r(c)),s(n,"height",e()-r(c)),s(n,"stroke",a()),s(n,"stroke-width",r(c))}),v(g,n)},m=g=>{var n=It();w(()=>{s(n,"cx",e()/2),s(n,"cy",e()/2),s(n,"r",e()/2-.5),s(n,"fill",a())}),v(g,n)},x=g=>{var n=Dt(),k=U(n),P=_(k),V=_(P);f(P),f(k);var S=C(k);w(()=>{s(P,"id",r(d)),s(V,"stroke",a()),s(S,"x",r(c)/2),s(S,"y",r(c)/2),s(S,"width",e()-r(c)),s(S,"height",e()-r(c)),s(S,"fill",`url(#${r(d)??""})`),s(S,"stroke",a()),s(S,"stroke-width",r(c))}),v(g,n)};A(b,g=>{t.tier==="empirical"?g(p):t.tier==="modeled"?g(M,1):t.tier==="proxy"?g(m,2):g(x,-1)})}f(o),w(()=>{s(o,"width",e()),s(o,"height",e()),s(o,"viewBox",`0 0 ${e()??""} ${e()??""}`),s(o,"aria-label",r(h)),T(y,r(h))}),v(i,o)}var Pt=W('<span><span class="claim-glyph" aria-hidden="false"><!></span> <span class="claim-body"><!></span></span>');function Rt(i,t){var e=Pt(),a=_(e),l=_(a);ot(l,{get tier(){return t.tier},size:11,get color(){return`var(--tier-${t.tier??""})`}}),f(a);var c=C(a,2),h=_(c);Tt(h,()=>t.children),f(c),f(e),w(()=>{nt(e,1,`claim claim-${t.tier??""}`),s(e,"data-tier",t.tier)}),v(i,e)}var B,O;class Nt{constructor(){X(this,B,j(null));X(this,O,j(null))}get active(){return r(N(this,B))}set active(t){E(N(this,B),t,!0)}get highlightDocId(){return r(N(this,O))}set highlightDocId(t){E(N(this,O),t,!0)}}B=new WeakMap,O=new WeakMap;const Lt=new Nt;var zt=W('<a class="inline-cite"><sup> </sup></a>');function Bt(i,t){J(t,!0);function e(h){h.preventDefault(),Lt.active=t.c.id;const d=document.getElementById(`cite-${t.c.id}`);d==null||d.scrollIntoView({block:"center",behavior:"smooth"})}var a=zt(),l=_(a),c=_(l);f(l),f(a),w(()=>{s(a,"href",`#cite-${t.c.id??""}`),s(a,"data-cite",t.c.id),s(a,"aria-label",`Citation ${t.c.n??""}: ${t.c.source??""}, ${t.c.title??""}`),T(c,`[${t.c.n??""}]`)}),vt("click",a,e),v(i,a),Z()}ht(["click"]);const Ot={empirical:{label:"Empirical",short:"EMP",desc:"Directly measured or observed",examples:"USGS high-water marks · FloodNet sensors · Sandy Inundation Zone"},modeled:{label:"Modeled",short:"MOD",desc:"Scenario-based prediction",examples:"FEMA flood zones · DEP stormwater scenarios · NPCC4 SLR"},proxy:{label:"Proxy",short:"PRX",desc:"Indirect indicator",examples:"311 flood complaints · NFIP claims · terrain indices"},synthetic:{label:"Synthetic prior",short:"SYN",desc:"Generated, not observed",examples:"TerraMind land-cover · synthetic SAR for occluded days"}};function se(i){const t=i.toLowerCase();return t.startsWith("syn")||t.startsWith("terramind")||t.includes("synthetic")?"synthetic":t.startsWith("sandy")||t.startsWith("floodnet")||t.startsWith("usgs")||t.startsWith("mta_entrance")||t.startsWith("nycha_dev")||t.startsWith("doe_school")||t.startsWith("doh_hospital")||t.startsWith("ida_hwm")||t.startsWith("hwm")||t.startsWith("noaa")||t.startsWith("nws_obs")||t.startsWith("prithvi_eo")?"empirical":t.startsWith("dep")||t.startsWith("fema_firm")||t.startsWith("npcc")||t.startsWith("wrp")||t.includes("scenario")||t.includes("forecast")||t.startsWith("prithvi")||t.startsWith("ttm")||t.startsWith("nws_alert")?"modeled":(t.startsWith("nyc311")||t.startsWith("311")||t.startsWith("nfip")||t.startsWith("rag")||t.startsWith("dob")||t.startsWith("hand")||t.startsWith("twi")||t.startsWith("microtopo"),"proxy")}function ne(i){const t=i.toLowerCase();return t==="geocode"||t.startsWith("fan")||t.startsWith("merge")||t==="plan"||t==="compose"||t==="reconcile"||t==="stream"?null:t==="sandy"||t==="sandy_inundation"||t==="floodnet"||t==="ida_hwm"||t==="noaa_tides"||t==="nws_obs"||t==="prithvi_eo_v2"||t==="prithvi_eo_live"||t==="mta_entrance_exposure"||t==="mta_entrances"||t==="nycha_developments"||t==="doe_school_exposure"||t==="doe_schools"||t==="doh_hospital_exposure"||t==="doh_hospitals"?"empirical":t==="dep"||t==="dep_stormwater"||t==="ttm_forecast"||t==="ttm_311_forecast"||t==="floodnet_forecast"||t==="nws_alerts"||t==="prithvi_water"?"modeled":t==="nyc311"||t==="microtopo"||t==="microtopo_lidar"||t==="rag"||t==="rag_mta"?"proxy":t==="terramind"||t==="terramind_synthesis"?"synthetic":null}var Ft=W("<span><!> </span>");function Ht(i,t){J(t,!0);let e=z(t,"compact",3,!1),a=K(()=>Ot[t.tier]);var l=Ft();let c;var h=_(l);ot(h,{get tier(){return t.tier},size:10,get color(){return`var(--tier-${t.tier??""})`}});var d=C(h);f(l),w(()=>{nt(l,1,`tier-badge tier-badge-${t.tier??""}`,"svelte-1acpjpp"),s(l,"title",r(a).desc),c=St(l,"",c,{color:`var(--tier-${t.tier??""})`}),T(d,` ${(e()?r(a).short:r(a).label)??""}`)}),v(i,l),Z()}var Gt=W('<span class="briefing-section-tier"><!></span>'),Kt=W('<span class="briefing-section-title"> </span>'),Ut=W('<h3 class="briefing-section-head"><span class="briefing-section-num"> </span> <span class="briefing-section-label"> </span> <!> <!></h3>');function jt(i,t){var e=Ut(),a=_(e),l=_(a,!0);f(a);var c=C(a,2),h=_(c,!0);f(c);var d=C(c,2);{var o=b=>{var p=Gt(),M=_(p);Ht(M,{get tier(){return t.tier},compact:!0}),f(p),v(b,p)};A(d,b=>{t.tier&&b(o)})}var u=C(d,2);{var y=b=>{var p=Kt(),M=_(p,!0);f(p),w(()=>T(M,t.title)),v(b,p)};A(u,b=>{t.title&&b(y)})}f(e),w(()=>{T(l,t.n),T(h,t.label)}),v(i,e)}var Vt=W('<div class="briefing-status briefing-fade-in svelte-cc2m0h"></div>'),Xt=W('<div class="briefing-fade-in svelte-cc2m0h"><!></div>'),Yt=W("<!><!>",1),Jt=W("<span> </span>"),Zt=W('<p class="briefing-para briefing-fade-in svelte-cc2m0h"></p>'),qt=W('<div class="briefing-prose" role="log" aria-live="polite" aria-atomic="false" aria-label="Streaming flood-exposure briefing"></div>');function oe(i,t){J(t,!0);let e=z(t,"streaming",3,!1),a=z(t,"replayKey",3,0),l=j(Wt(t.blocks.length)),c=j(!1);at(()=>{typeof window>"u"||E(c,window.matchMedia("(prefers-reduced-motion: reduce)").matches,!0)}),at(()=>{if(a(),!e()){E(l,t.blocks.length,!0);return}if(r(c)){E(l,t.blocks.length,!0);return}E(l,0);let d=0,o;const u=()=>{d++,E(l,d,!0),d<t.blocks.length&&(o=setTimeout(u,d<2?280:420))};return o=setTimeout(u,240),()=>clearTimeout(o)});var h=qt();it(h,21,()=>t.blocks.slice(0,r(l)),st,(d,o)=>{var u=$(),y=U(u);{var b=m=>{var x=Vt();Ct(x,()=>r(o).html,!0),f(x),v(m,x)},p=m=>{var x=Xt(),g=_(x);jt(g,{get n(){return r(o).n},get label(){return r(o).label},get tier(){return r(o).tier},get title(){return r(o).title}}),f(x),v(m,x)},M=m=>{var x=Zt();it(x,21,()=>r(o).parts,st,(g,n)=>{var k=$(),P=U(k);{var V=I=>{var D=Yt(),H=U(D);Rt(H,{get tier(){return r(n).tier},children:(R,Qt)=>{Mt();var q=ft();w(()=>T(q,r(n).text)),v(R,q)}});var lt=C(H);{var ct=R=>{Bt(R,{get c(){return t.citations[r(n).cite]}})};A(lt,R=>{r(n).cite&&t.citations[r(n).cite]&&R(ct)})}v(I,D)},S=I=>{var D=Jt(),H=_(D,!0);f(D),w(()=>T(H,r(n).text)),v(I,D)};A(P,I=>{r(n).tier?I(V):I(S,-1)})}v(g,k)}),f(x),v(m,x)};A(y,m=>{r(o).kind==="status"?m(b):r(o).kind==="head"?m(p,1):m(M,-1)})}v(d,u)}),f(h),v(i,h),Z()}export{oe as B,ot as T,ne as a,Ht as b,Lt as c,Ot as d,se as t};
web/sveltekit/build/_app/immutable/chunks/{Bu5KOiaf.js → BY5fDKuw.js} RENAMED
@@ -1,4 +1,4 @@
1
- import{k as Ie,o as De,a as v,f as p,s as f,t as ye,d as Ce,c as xe,b as Ae,l as _e}from"./Dlpu43Tj.js";import{q as ve,T as Be,B as we,ba as Oe,i as ze,E as He,aX as Ye,b8 as je,F as We,w as Ue,z as Re,A as ke,h as Ke,ax as Ge,p as X,t as C,a as J,s as i,c as r,r as t,v as re,k as a,J as q,K as ce,G as Qe,bb as Ve,l as pe,j as Se,f as ee}from"./DwbuJhNu.js";import{B as Ze,i as N,p as ie}from"./8F5LpR-T.js";import{e as te,s as m,a as ue,i as oe,b as le,c as Xe,C as Je}from"./CBcGqa-S.js";import{T as ge,c as $e,b as et,d as Fe}from"./Cl16PtNL.js";import{b as tt,_ as at}from"./1oGnrPC6.js";function rt(F,e,S,_,M,n){let u=ve;ve&&Be();var d=null;ve&&we.nodeType===Oe&&(d=we,Be());var x=ve?we:F,h=new Ze(x,!1);ze(()=>{const w=e()||null;var y=w==="svg"?je:void 0;if(w===null){h.ensure(null,null);return}return h.ensure(w,o=>{if(w){if(d=ve?d:Ye(w,y),Ie(d,d),_){ve&&De(w)&&d.append(document.createComment(""));var s=ve?We(d):d.appendChild(Ue());ve&&(s===null?Re(!1):ke(s)),_(d,s)}Ke.nodes.end=d,o.before(d)}ve&&ke(o)}),()=>{}},He),Ge(()=>{}),u&&(Re(!0),ke(x))}var st=p('<a target="_blank" rel="noopener noreferrer"> </a>'),it=p('<li><span class="citation-num"> </span> <div class="citation-body"><div class="citation-line-1"><!> <span class="citation-source"> </span> <span class="citation-vintage"> </span></div> <div class="citation-title"><!></div> <div class="citation-meta"><span class="citation-docid"> </span> <span class="citation-retrieved"> </span></div></div></li>'),nt=p(`<aside class="citation-drawer svelte-1p339fd" aria-label="Citations"><div class="citation-drawer-head"><span class="section-label"> </span> <span class="citation-drawer-meta">live · primary sources</span></div> <ol class="citation-list"></ol> <div class="citation-drawer-foot"><span class="section-label">Trust signals</span> <p class="citation-foot-copy">All foundation models Apache-2.0. All data from public-record federal,
2
  state, and city sources. No commercial APIs contacted at runtime.</p></div></aside>`);function Ar(F,e){X(e,!0);let S=q(()=>Object.values(e.citations).sort((x,h)=>x.n-h.n));var _=nt(),M=r(_),n=r(M),u=r(n);t(n),re(2),t(M);var d=i(M,2);te(d,21,()=>a(S),x=>x.id,(x,h)=>{var w=it();let y;var o=r(w),s=r(o);t(o);var l=i(o,2),b=r(l),A=r(b);ge(A,{get tier(){return a(h).tier},size:10,get color(){return`var(--tier-${a(h).tier??""})`}});var g=i(A,2),c=r(g,!0);t(g);var k=i(g,2),R=r(k);t(k),t(b);var T=i(b,2),D=r(T);{var j=L=>{var Y=st(),G=r(Y,!0);t(Y),C(()=>{m(Y,"href",a(h).url),f(G,a(h).title)}),v(L,Y)},I=q(()=>a(h).url&&a(h).url.startsWith("http")),O=L=>{var Y=ye();C(()=>f(Y,a(h).title)),v(L,Y)};N(D,L=>{a(I)?L(j):L(O,-1)})}t(T);var z=i(T,2),U=r(z),P=r(U,!0);t(U);var E=i(U,2),B=r(E);t(E),t(z),t(l),t(w),C(()=>{m(w,"id",`cite-${a(h).id??""}`),y=ue(w,1,"citation-item",null,y,{"is-active":$e.active===a(h).id}),f(s,`[${a(h).n??""}]`),f(c,a(h).source),f(R,`v. ${a(h).vintage??""}`),f(P,a(h).docId),f(B,`retr. ${a(h).retrieved??""}`)}),v(x,w)}),t(d),re(2),t(_),C(()=>f(u,`Citations · ${a(S).length??""}`)),v(F,_),J()}const lt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",Le=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
3
  <rect width="12" height="12" fill="rgba(42,111,168,0.18)"/>
4
  <g stroke="#2A6FA8" stroke-width="1.4">
 
1
+ import{k as Ie,o as De,a as v,f as p,s as f,t as ye,d as Ce,c as xe,b as Ae,l as _e}from"./CBok_DXr.js";import{h as ve,T as Be,n as we,bd as Oe,i as ze,y as He,aX as Ye,b8 as je,o as We,g as Ue,k as Re,m as ke,x as Ke,ax as Ge,p as X,t as C,a as J,s as i,c as r,r as t,J as re,A as a,I as q,K as ce,F as Qe,be as Ve,B as pe,z as Se,f as ee}from"./Db2Wa-jW.js";import{B as Ze,i as N,p as ie}from"./ChZyCwev.js";import{e as te,s as m,a as ue,i as oe,b as le,c as Xe,C as Je}from"./C1ZCxvXT.js";import{T as ge,c as $e,b as et,d as Fe}from"./BSbUSrHo.js";import{b as tt,_ as at}from"./a59FAUdi.js";function rt(F,e,S,_,M,n){let u=ve;ve&&Be();var d=null;ve&&we.nodeType===Oe&&(d=we,Be());var x=ve?we:F,h=new Ze(x,!1);ze(()=>{const w=e()||null;var y=w==="svg"?je:void 0;if(w===null){h.ensure(null,null);return}return h.ensure(w,o=>{if(w){if(d=ve?d:Ye(w,y),Ie(d,d),_){ve&&De(w)&&d.append(document.createComment(""));var s=ve?We(d):d.appendChild(Ue());ve&&(s===null?Re(!1):ke(s)),_(d,s)}Ke.nodes.end=d,o.before(d)}ve&&ke(o)}),()=>{}},He),Ge(()=>{}),u&&(Re(!0),ke(x))}var st=p('<a target="_blank" rel="noopener noreferrer"> </a>'),it=p('<li><span class="citation-num"> </span> <div class="citation-body"><div class="citation-line-1"><!> <span class="citation-source"> </span> <span class="citation-vintage"> </span></div> <div class="citation-title"><!></div> <div class="citation-meta"><span class="citation-docid"> </span> <span class="citation-retrieved"> </span></div></div></li>'),nt=p(`<aside class="citation-drawer svelte-1p339fd" aria-label="Citations"><div class="citation-drawer-head"><span class="section-label"> </span> <span class="citation-drawer-meta">live · primary sources</span></div> <ol class="citation-list"></ol> <div class="citation-drawer-foot"><span class="section-label">Trust signals</span> <p class="citation-foot-copy">All foundation models Apache-2.0. All data from public-record federal,
2
  state, and city sources. No commercial APIs contacted at runtime.</p></div></aside>`);function Ar(F,e){X(e,!0);let S=q(()=>Object.values(e.citations).sort((x,h)=>x.n-h.n));var _=nt(),M=r(_),n=r(M),u=r(n);t(n),re(2),t(M);var d=i(M,2);te(d,21,()=>a(S),x=>x.id,(x,h)=>{var w=it();let y;var o=r(w),s=r(o);t(o);var l=i(o,2),b=r(l),A=r(b);ge(A,{get tier(){return a(h).tier},size:10,get color(){return`var(--tier-${a(h).tier??""})`}});var g=i(A,2),c=r(g,!0);t(g);var k=i(g,2),R=r(k);t(k),t(b);var T=i(b,2),D=r(T);{var j=L=>{var Y=st(),G=r(Y,!0);t(Y),C(()=>{m(Y,"href",a(h).url),f(G,a(h).title)}),v(L,Y)},I=q(()=>a(h).url&&a(h).url.startsWith("http")),O=L=>{var Y=ye();C(()=>f(Y,a(h).title)),v(L,Y)};N(D,L=>{a(I)?L(j):L(O,-1)})}t(T);var z=i(T,2),U=r(z),P=r(U,!0);t(U);var E=i(U,2),B=r(E);t(E),t(z),t(l),t(w),C(()=>{m(w,"id",`cite-${a(h).id??""}`),y=ue(w,1,"citation-item",null,y,{"is-active":$e.active===a(h).id}),f(s,`[${a(h).n??""}]`),f(c,a(h).source),f(R,`v. ${a(h).vintage??""}`),f(P,a(h).docId),f(B,`retr. ${a(h).retrieved??""}`)}),v(x,w)}),t(d),re(2),t(_),C(()=>f(u,`Citations · ${a(S).length??""}`)),v(F,_),J()}const lt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",Le=`<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
3
  <rect width="12" height="12" fill="rgba(42,111,168,0.18)"/>
4
  <g stroke="#2A6FA8" stroke-width="1.4">
web/sveltekit/build/_app/immutable/chunks/BwzbOVaY.js DELETED
@@ -1 +0,0 @@
1
- var rt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var y=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{bc as Pe,bd as Vt,G as at,j as T,k as I,l as O,o as we,be as Bt}from"./DwbuJhNu.js";const M=[];function Ke(e,t=Pe){let n=null;const a=new Set;function r(o){if(Vt(e,o)&&(e=o,n)){const l=!M.length;for(const c of a)c[1](),M.push(c,e);if(l){for(let c=0;c<M.length;c+=2)M[c][0](M[c+1]);M.length=0}}}function i(o){r(o(e))}function s(o,l=Pe){const c=[o,l];return a.add(c),a.size===1&&(n=t(r,i)||Pe),o(e),()=>{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ge{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class ze extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Kt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Mt(e){return e.split("%25").map(decodeURI).join("%25")}function Gt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}function j(){}function zt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Ft(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Fe(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Fe(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Ft(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function Jt(e,t,n){if(X.size>0){const a=Fe(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Fe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${zt(...r)}"]`}return a}const Yt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Xt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return je(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return je(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Yt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return je(l)}).join("")}).join("")}/?$`),params:t}}function Qt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Qt)}function en(e,t,n){const a={},r=e.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=r[o-s];if(l.chained&&l.rest&&s&&(c=r.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function je(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function tn({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Xt(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return en(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[r.has(o),e[o]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ht;const U=((ht=globalThis.__sveltekit_43llsk)==null?void 0:ht.base)??"";var pt;const nn=((pt=globalThis.__sveltekit_43llsk)==null?void 0:pt.assets)??U??"",rn="1778023076697",vt="sveltekit:snapshot",yt="sveltekit:scroll",bt="sveltekit:states",an="sveltekit:pageurl",z="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ue=location.origin;function He(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function B(){return{x:pageXOffset,y:pageYOffset}}function G(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const st={...D,"":D.hover};function kt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function St(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=kt(e)}}function qe(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ae(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Ue&&e.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function ve(e){let t=null,n=null,a=null,r=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)a===null&&(a=G(o,"preload-code")),r===null&&(r=G(o,"preload-data")),t===null&&(t=G(o,"keepfocus")),n===null&&(n=G(o,"noscroll")),i===null&&(i=G(o,"reload")),s===null&&(s=G(o,"replacestate")),o=kt(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:st[a??"off"],preload_data:st[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function it(e){const t=Ke(e);let n=!0;function a(){n=!0,t.update(s=>s)}function r(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const Et={v:j};function on(){const{set:e,subscribe:t}=Ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${nn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==rn;return s&&(e(!0),Et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:a}}function Ae(e,t,n){return e.origin!==Ue||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Pn(e){}const Rt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Rt];const sn=new Set([...Rt]);[...sn];function ln(e){return e.filter(t=>t!=null)}function me(e,t){return e+"/"+t}function We(e){return e instanceof Me||e instanceof ze?e.status:500}function cn(e){return e instanceof ze?e.text:"Internal Error"}let R,ee,Ce;const fn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),lt="a:";var oe,se,ie,le,ce,fe,ue,de,gt,he,mt,pe,_t;fn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(lt)},ee={current:null},Ce={current:!1}):(R=new(gt=class{constructor(){A(this,oe,T({}));A(this,se,T(null));A(this,ie,T(null));A(this,le,T({}));A(this,ce,T({id:null}));A(this,fe,T({}));A(this,ue,T(-1));A(this,de,T(new URL(lt)))}get data(){return I(y(this,oe))}set data(t){O(y(this,oe),t)}get form(){return I(y(this,se))}set form(t){O(y(this,se),t)}get error(){return I(y(this,ie))}set error(t){O(y(this,ie),t)}get params(){return I(y(this,le))}set params(t){O(y(this,le),t)}get route(){return I(y(this,ce))}set route(t){O(y(this,ce),t)}get state(){return I(y(this,fe))}set state(t){O(y(this,fe),t)}get status(){return I(y(this,ue))}set status(t){O(y(this,ue),t)}get url(){return I(y(this,de))}set url(t){O(y(this,de),t)}},oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,gt),ee=new(mt=class{constructor(){A(this,he,T(null))}get current(){return I(y(this,he))}set current(t){O(y(this,he),t)}},he=new WeakMap,mt),Ce=new(_t=class{constructor(){A(this,pe,T(!1))}get current(){return I(y(this,pe))}set current(t){O(y(this,pe),t)}},pe=new WeakMap,_t),Et.v=()=>Ce.current=!0);function un(e){Object.assign(R,e)}const dn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=wt(yt)??{},te=wt(vt)??{},C={url:it({}),page:it({}),navigating:Ke(null),updated:on()};function Je(e){N[e]=B()}function hn(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;te[n];)delete te[n],n+=1}function ne(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(j)}async function xt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let Ye,De,ye,P,Ve,S;const be=[],ke=[];let v=null;function Se(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null}const _e=new Map,Lt=new Set,pn=new Set,Q=new Set;let _={branch:[],error:null,url:null},Ut=!1,Ee=!1,ct=!0,re=!1,Y=!1,At=!1,Xe=!1,Tt,k,L,V;const Re=new Set,ft=new Map,ut=new Map;async function Nn(e,t,n){var i,s,o,l;globalThis.__sveltekit_43llsk&&(globalThis.__sveltekit_43llsk.query,globalThis.__sveltekit_43llsk.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((s=(i=e.hooks).init)==null?void 0:s.call(i)),Ye=tn(e),P=document.documentElement,Ve=t,De=e.nodes[0],ye=e.nodes[1],De(),ye(),k=(o=history.state)==null?void 0:o[z],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[z]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(Ve,n)):(await F({type:"enter",url:He(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function gn(){be.length=0,Xe=!1}function It(e){ke.some(t=>t==null?void 0:t.snapshot)&&(te[e]=ke.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ot(e){var t;(t=te[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=ke[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function dt(){Je(k),ot(yt,N),It(L),ot(vt,te)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&Se(),await F({type:"goto",url:He(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Xe=!0,r=new Set;for(const[s,o]of ft)for(const l of o.keys())r.add(me(s,l));i=new Set;for(const[s,o]of ut)for(const l of o.keys())i.add(me(s,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&we().then(we).then(()=>{for(const[s,o]of ft)for(const[l,{resource:c}]of o)r!=null&&r.has(me(s,l))&&c.refresh();for(const[s,o]of ut)for(const[l,{resource:c}]of o)i!=null&&i.has(me(s,l))&&c.reconnect()})}async function mn(e){if(e.id!==(v==null?void 0:v.id)){Se();const t={};Re.add(t),v={id:e.id,token:t,promise:jt({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&Se(),n)),fork:null}}return v.promise}async function Ne(e){var n;const t=(n=await Te(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function $t(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),Tt=new S.root({target:t,props:{...e.props,stores:C,components:ke},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ot(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Ee=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Kt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:s},props:{constructors:ln(n).map(f=>f.node.component),page:nt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||o!==void 0&&o!==R.form||u)&&(c.props.page={error:i,params:t,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(e),form:o??null,data:u?d:R.data}),c}async function Qe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let s=null;const o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:s,uses:o}:null,data:s??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Ee?Jt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Xe)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const s of r.search_params)if(a.has(s))return!0;for(const s of r.params)if(i[s]!==_.params[s])return!0;for(const s of r.dependencies)if(be.some(o=>o(new URL(s))))return!0;return!1}function Ze(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function vn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function yn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:nt(R),constructors:[]}}}async function jt({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Re.delete(v.token),v.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(j)),c.forEach(h=>h==null?void 0:h[1]().catch(j));const d=_.url?e!==Le(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=vn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!wn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Qe({loader:h[1],url:n,params:a,route:r,parent:async()=>{var ge;const q={};for(let K=0;K<g;K+=1)Object.assign(q,(ge=await f[K])==null?void 0:ge.data);return q},server_data_node:Ze(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(j);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof Ge)return{type:"redirect",location:g.location};if(Re.has(i))return yn({error:await ae(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=We(g),x;if(g instanceof Me)x=g.body;else{if(await C.updated.check())return await xt(),await ne(n);x=await ae(g,{params:a,url:n,route:{id:r.id}})}const $=await bn(h,m,s);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:s,status:b,error:x,route:r}):await Nt(n,{id:r.id},x,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:s,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function et({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const s=await Qe({loader:De,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Ze(i)}),o={node:await ye(),loader:ye,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[s,o],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof Ge)return Pt(new URL(s.location,location.href),{},0);throw s}}async function kn(e){const t=e.href;if(_e.has(t))return _e.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,s)=>_n(i,s,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();_e.set(t,a),n=await a}catch{_e.delete(t);return}return n}async function Te(e,t){if(e&&!Ae(e,U,S.hash)){const n=await kn(e);if(!n)return;const a=Sn(n);for(const r of Ye){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:Gt(i),url:e}}}}function Sn(e){return Mt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function Le(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Ct({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=tt(_,n,e,t,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return re||Lt.forEach(c=>c(l)),s?null:o}async function F({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=j,block:d=j,event:u}){var K;const w=V;V=l;const p=await Te(t,!1),f=e==="enter"?tt(_,p,t,e):Ct({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),re=!0,Ee&&f.navigation.type!=="enter"&&C.navigating.set(ee.current=f.navigation);let g=p&&await jt(p);if(!g){if(Ae(t,U,S.hash))return await ne(t,i);g=await Nt(t,{id:null},await ae(new ze(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await F({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await et({status:500,error:await ae(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await C.updated.check()&&(await xt(),await ne(t,i));if(gn(),Je(m),It(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,H={[z]:k+=E,[Z]:L+=E,[bt]:s};(i?history.replaceState:history.pushState).call(history,H,"",t),i||hn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&Se(),v=null,g.props.page.state=s;let x;if(Ee){const E=(await Promise.all(Array.from(pn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(Oe=>{Q.delete(Oe)})};E.push(W),E.forEach(Oe=>{Q.add(Oe)})}const H=f.navigation.to;_={...g.state,nav:{params:H.params,route:H.route,url:H.url}},g.props.page&&(g.props.page.url=t);const Ie=b&&await b;Ie?x=Ie.commit():(J=null,Tt.$set(g.props),J&&Object.assign(g.props.page,J),un(g.props.page),x=(K=Bt)==null?void 0:K()),At=!0}else await $t(g,Ve,!1);const{activeElement:$}=document;await x,await we(),await we();let q=null;if(ct){const E=n?n.scroll:r?B():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(qt(t)))?q.scrollIntoView():scrollTo(0,0)}const ge=document.activeElement!==$&&document.activeElement!==document.body;!a&&!ge&&An(t,!q),ct=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),re=!1,e==="popstate"&&Ot(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(E=>E(f.navigation)),C.navigating.set(ee.current=null)}async function Nt(e,t,n,a,r){return e.origin===Ue&&e.pathname===location.pathname&&!Ut?await et({status:a,error:n,url:e,route:t}):await ne(e,r)}function En(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Ne(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=St(o,P),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=qe(c,U,S.hash);if(w||p)return;const f=ve(c),m=u&&Le(_.url)===Le(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=D.tap;const h=await Te(u,!1);if(!h)return;mn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ne(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=qe(o,U,S.hash);if(c||d)continue;const u=ve(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&Ne(l))}}Q.add(s),s()}function ae(e,t){if(e instanceof Me)return e.body;const n=We(e),a=cn(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function qn(e,t={}){return e=new URL(He(e)),e.origin!==Ue?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(dt(),!re){const r=tt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Lt.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&dt()}),(t=navigator.connection)!=null&&t.saveData||En(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=St(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=qe(a,U,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=ve(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===$e(location);if(i||l.reload&&(!w||!u)){Ct({url:r,type:"link",event:n})?re=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Je(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await F({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ae(o,U,!1))return;const l=n.target,c=ve(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),F({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Be){if((a=n.state)!=null&&a[z]){const r=n.state[z];if(V={},r===k)return;const i=N[r],s=n.state[bt]??{},o=new URL(n.state[an]??location.href),l=n.state[Z],c=_.url?$e(location)===$e(_.url):!1;if(l===L&&(At||c)){s!==R.state&&(R.state=s),e(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await F({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[z]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))dn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&C.navigating.set(ee.current=null)});function e(n){_.url=R.url=n,C.page.set(nt(R)),C.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){Ut=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Te(c,!1)||{}),d=Ye.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Qe({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x<h;x+=1)Object.assign(b,(await p[x]).data);return b},server_data_node:Ze(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await xe({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof Ge){await ne(new URL(p.location,location.href));return}u=await et({status:We(p),error:await ae(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await $t(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Be=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=qt(e);if(a&&document.getElementById(a)){const{x:i,y:s}=B();setTimeout(()=>{const o=history.state;Be=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),Be=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s<r.rangeCount;s+=1)i.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===i.length){for(let s=0;s<r.rangeCount;s+=1){const o=i[s],l=r.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function tt(e,t,n,a,r=null){var c,d;let i,s;const o=new Promise((u,w)=>{i=u,s=w});return o.catch(j),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:B()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:o},fulfil:i,reject:s}}function nt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Nn as a,qn as g,Pn as l,R as p,C as s};
 
 
web/sveltekit/build/_app/immutable/chunks/BzKJ9Ltj.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var rt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||rt("Cannot "+n);var y=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?rt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{bf as Pe,bg as Vt,F as at,z as T,A as I,B as O,d as we,bh as Bt}from"./Db2Wa-jW.js";const M=[];function Ke(e,t=Pe){let n=null;const a=new Set;function r(o){if(Vt(e,o)&&(e=o,n)){const l=!M.length;for(const c of a)c[1](),M.push(c,e);if(l){for(let c=0;c<M.length;c+=2)M[c][0](M[c+1]);M.length=0}}}function i(o){r(o(e))}function s(o,l=Pe){const c=[o,l];return a.add(c),a.size===1&&(n=t(r,i)||Pe),o(e),()=>{a.delete(c),a.size===0&&n&&(n(),n=null)}}return{set:r,update:i,subscribe:s}}class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class ze{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Fe extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Kt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Mt(e){return e.split("%25").map(decodeURI).join("%25")}function zt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function $e({href:e}){return e.split("#")[0]}function C(){}function Ft(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Gt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Ge(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Ge(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const s=a.getAttribute("data-ttl");return s&&X.set(n,{body:r,init:i,ttl:1e3*Number(s)}),a.getAttribute("data-b64")!==null&&(r=Gt(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function Jt(e,t,n){if(X.size>0){const a=Ge(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Ge(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${Ft(...r)}"]`}return a}const Yt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Xt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const s=a.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Ce(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Ce(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Yt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&s[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Ce(l)}).join("")}).join("")}/?$`),params:t}}function Qt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Qt)}function en(e,t,n){const a={},r=e.slice(1),i=r.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=r[o-s];if(l.chained&&l.rest&&s&&(c=r.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[o+1],u=r[o+1];d&&!d.rest&&d.optional&&u&&l.chained&&(s=0),!d&&!u&&Object.keys(a).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return a}function Ce(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function tn({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:u,params:w}=Xt(o),p={id:o,exec:f=>{const m=u.exec(f);if(m)return en(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(s),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[r.has(o),e[o]]}}function wt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ot(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ht;const U=((ht=globalThis.__sveltekit_1il5pap)==null?void 0:ht.base)??"";var pt;const nn=((pt=globalThis.__sveltekit_1il5pap)==null?void 0:pt.assets)??U??"",rn="1778024096613",vt="sveltekit:snapshot",yt="sveltekit:scroll",bt="sveltekit:states",an="sveltekit:pageurl",F="sveltekit:history",Z="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Ue=location.origin;function He(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function B(){return{x:pageXOffset,y:pageYOffset}}function z(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const st={...D,"":D.hover};function kt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function St(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=kt(e)}}function qe(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";a.hash=`#${o}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ae(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=(a==null?void 0:a.origin)===Ue&&e.hasAttribute("download");return{url:a,external:i,target:r,download:s}}function ve(e){let t=null,n=null,a=null,r=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)a===null&&(a=z(o,"preload-code")),r===null&&(r=z(o,"preload-data")),t===null&&(t=z(o,"keepfocus")),n===null&&(n=z(o,"noscroll")),i===null&&(i=z(o,"reload")),s===null&&(s=z(o,"replacestate")),o=kt(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:st[a??"off"],preload_data:st[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function it(e){const t=Ke(e);let n=!0;function a(){n=!0,t.update(s=>s)}function r(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:a,set:r,subscribe:i}}const Et={v:C};function on(){const{set:e,subscribe:t}=Ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${nn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const s=(await r.json()).version!==rn;return s&&(e(!0),Et.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:a}}function Ae(e,t,n){return e.origin!==Ue||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Pn(e){}const Rt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Rt];const sn=new Set([...Rt]);[...sn];function ln(e){return e.filter(t=>t!=null)}function me(e,t){return e+"/"+t}function We(e){return e instanceof Me||e instanceof Fe?e.status:500}function cn(e){return e instanceof Fe?e.text:"Internal Error"}let R,ee,je;const fn=at.toString().includes("$$")||/function \w+\(\) \{\}/.test(at.toString()),lt="a:";var oe,se,ie,le,ce,fe,ue,de,gt,he,mt,pe,_t;fn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(lt)},ee={current:null},je={current:!1}):(R=new(gt=class{constructor(){A(this,oe,T({}));A(this,se,T(null));A(this,ie,T(null));A(this,le,T({}));A(this,ce,T({id:null}));A(this,fe,T({}));A(this,ue,T(-1));A(this,de,T(new URL(lt)))}get data(){return I(y(this,oe))}set data(t){O(y(this,oe),t)}get form(){return I(y(this,se))}set form(t){O(y(this,se),t)}get error(){return I(y(this,ie))}set error(t){O(y(this,ie),t)}get params(){return I(y(this,le))}set params(t){O(y(this,le),t)}get route(){return I(y(this,ce))}set route(t){O(y(this,ce),t)}get state(){return I(y(this,fe))}set state(t){O(y(this,fe),t)}get status(){return I(y(this,ue))}set status(t){O(y(this,ue),t)}get url(){return I(y(this,de))}set url(t){O(y(this,de),t)}},oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,de=new WeakMap,gt),ee=new(mt=class{constructor(){A(this,he,T(null))}get current(){return I(y(this,he))}set current(t){O(y(this,he),t)}},he=new WeakMap,mt),je=new(_t=class{constructor(){A(this,pe,T(!1))}get current(){return I(y(this,pe))}set current(t){O(y(this,pe),t)}},pe=new WeakMap,_t),Et.v=()=>je.current=!0);function un(e){Object.assign(R,e)}const dn=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const N=wt(yt)??{},te=wt(vt)??{},j={url:it({}),page:it({}),navigating:Ke(null),updated:on()};function Je(e){N[e]=B()}function hn(e,t){let n=e+1;for(;N[n];)delete N[n],n+=1;for(n=t+1;te[n];)delete te[n],n+=1}function ne(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(C)}async function xt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let Ye,De,ye,P,Ve,S;const be=[],ke=[];let v=null;function Se(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null}const _e=new Map,Lt=new Set,pn=new Set,Q=new Set;let _={branch:[],error:null,url:null},Ut=!1,Ee=!1,ct=!0,re=!1,Y=!1,At=!1,Xe=!1,Tt,k,L,V;const Re=new Set,ft=new Map,ut=new Map;async function Nn(e,t,n){var i,s,o,l;globalThis.__sveltekit_1il5pap&&(globalThis.__sveltekit_1il5pap.query,globalThis.__sveltekit_1il5pap.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((s=(i=e.hooks).init)==null?void 0:s.call(i)),Ye=tn(e),P=document.documentElement,Ve=t,De=e.nodes[0],ye=e.nodes[1],De(),ye(),k=(o=history.state)==null?void 0:o[F],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[F]:k,[Z]:L},""));const a=N[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(Ve,n)):(await G({type:"enter",url:He(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function gn(){be.length=0,Xe=!1}function It(e){ke.some(t=>t==null?void 0:t.snapshot)&&(te[e]=ke.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function Ot(e){var t;(t=te[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=ke[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function dt(){Je(k),ot(yt,N),It(L),ot(vt,te)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&Se(),await G({type:"goto",url:He(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Xe=!0,r=new Set;for(const[s,o]of ft)for(const l of o.keys())r.add(me(s,l));i=new Set;for(const[s,o]of ut)for(const l of o.keys())i.add(me(s,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&we().then(we).then(()=>{for(const[s,o]of ft)for(const[l,{resource:c}]of o)r!=null&&r.has(me(s,l))&&c.refresh();for(const[s,o]of ut)for(const[l,{resource:c}]of o)i!=null&&i.has(me(s,l))&&c.reconnect()})}async function mn(e){if(e.id!==(v==null?void 0:v.id)){Se();const t={};Re.add(t),v={id:e.id,token:t,promise:Ct({...e,preload:t}).then(n=>(Re.delete(t),n.type==="loaded"&&n.state.error&&Se(),n)),fork:null}}return v.promise}async function Ne(e){var n;const t=(n=await Te(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function $t(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),Tt=new S.root({target:t,props:{...e.props,stores:j,components:ke},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),Ot(L),n){const s={from:null,to:{...a,scroll:N[k]??B()},willUnload:!1,type:"enter",complete:Promise.resolve()};Q.forEach(o=>o(s))}Ee=!0}async function xe({url:e,params:t,branch:n,errors:a,status:r,error:i,route:s,form:o}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Kt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:s},props:{constructors:ln(n).map(f=>f.node.component),page:nt(R)}};o!==void 0&&(c.props.form=o);let d={},u=!R,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||o!==void 0&&o!==R.form||u)&&(c.props.page={error:i,params:t,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(e),form:o??null,data:u?d:R.data}),c}async function Qe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let s=null;const o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:s,uses:o}:null,data:s??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function _n(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Ee?Jt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function wn(e,t,n,a,r,i){if(Xe)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const s of r.search_params)if(a.has(s))return!0;for(const s of r.params)if(i[s]!==_.params[s])return!0;for(const s of r.dependencies)if(be.some(o=>o(new URL(s))))return!0;return!1}function Ze(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function vn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(s=>i.includes(s))&&i.every(s=>r.includes(s))&&n.delete(a)}return n}function yn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:nt(R),constructors:[]}}}async function Ct({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Re.delete(v.token),v.promise;const{errors:s,layouts:o,leaf:l}=r,c=[...o,l];s.forEach(h=>h==null?void 0:h().catch(C)),c.forEach(h=>h==null?void 0:h[1]().catch(C));const d=_.url?e!==Le(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=vn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!wn(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Qe({loader:h[1],url:n,params:a,route:r,parent:async()=>{var ge;const q={};for(let K=0;K<g;K+=1)Object.assign(q,(ge=await f[K])==null?void 0:ge.data);return q},server_data_node:Ze(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(C);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof ze)return{type:"redirect",location:g.location};if(Re.has(i))return yn({error:await ae(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=We(g),x;if(g instanceof Me)x=g.body;else{if(await j.updated.check())return await xt(),await ne(n);x=await ae(g,{params:a,url:n,route:{id:r.id}})}const $=await bn(h,m,s);return $?xe({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:s,status:b,error:x,route:r}):await Nt(n,{id:r.id},x,b)}else m.push(void 0);return xe({url:n,params:a,branch:m,errors:s,status:200,error:null,route:r,form:t?void 0:null})}async function bn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function et({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const s=await Qe({loader:De,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Ze(i)}),o={node:await ye(),loader:ye,universal:null,server:null,data:null};return xe({url:n,params:r,branch:[s,o],status:e,error:t,errors:[],route:null})}catch(s){if(s instanceof ze)return Pt(new URL(s.location,location.href),{},0);throw s}}async function kn(e){const t=e.href;if(_e.has(t))return _e.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,s)=>_n(i,s,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();_e.set(t,a),n=await a}catch{_e.delete(t);return}return n}async function Te(e,t){if(e&&!Ae(e,U,S.hash)){const n=await kn(e);if(!n)return;const a=Sn(n);for(const r of Ye){const i=r.exec(a);if(i)return{id:Le(e),invalidating:t,route:r,params:zt(i),url:e}}}}function Sn(e){return Mt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function Le(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function jt({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let s=!1;const o=tt(_,n,e,t,i??null);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return re||Lt.forEach(c=>c(l)),s?null:o}async function G({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=C,block:d=C,event:u}){var K;const w=V;V=l;const p=await Te(t,!1),f=e==="enter"?tt(_,p,t,e):jt({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),V===l&&(V=w);return}const m=k,h=L;c(),re=!0,Ee&&f.navigation.type!=="enter"&&j.navigating.set(ee.current=f.navigation);let g=p&&await Ct(p);if(!g){if(Ae(t,U,S.hash))return await ne(t,i);g=await Nt(t,{id:null},await ae(new Fe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,V!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await G({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),f.fulfil(void 0);return}g=await et({status:500,error:await ae(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await j.updated.check()&&(await xt(),await ne(t,i));if(gn(),Je(m),It(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const E=i?0:1,H={[F]:k+=E,[Z]:L+=E,[bt]:s};(i?history.replaceState:history.pushState).call(history,H,"",t),i||hn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&Se(),v=null,g.props.page.state=s;let x;if(Ee){const E=(await Promise.all(Array.from(pn,W=>W(f.navigation)))).filter(W=>typeof W=="function");if(E.length>0){let W=function(){E.forEach(Oe=>{Q.delete(Oe)})};E.push(W),E.forEach(Oe=>{Q.add(Oe)})}const H=f.navigation.to;_={...g.state,nav:{params:H.params,route:H.route,url:H.url}},g.props.page&&(g.props.page.url=t);const Ie=b&&await b;Ie?x=Ie.commit():(J=null,Tt.$set(g.props),J&&Object.assign(g.props.page,J),un(g.props.page),x=(K=Bt)==null?void 0:K()),At=!0}else await $t(g,Ve,!1);const{activeElement:$}=document;await x,await we(),await we();let q=null;if(ct){const E=n?n.scroll:r?B():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(qt(t)))?q.scrollIntoView():scrollTo(0,0)}const ge=document.activeElement!==$&&document.activeElement!==document.body;!a&&!ge&&An(t,!q),ct=!0,g.props.page&&(J&&Object.assign(g.props.page,J),Object.assign(R,g.props.page)),re=!1,e==="popstate"&&Ot(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=B()),Q.forEach(E=>E(f.navigation)),j.navigating.set(ee.current=null)}async function Nt(e,t,n,a,r){return e.origin===Ue&&e.pathname===location.pathname&&!Ut?await et({status:a,error:n,url:e,route:t}):await ne(e,r)}function En(){let e,t={element:void 0,href:void 0},n;P.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,D.hover)},20)});function a(o){o.defaultPrevented||i(o.composedPath()[0],D.tap)}P.addEventListener("mousedown",a),P.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(Ne(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(o,l){const c=St(o,P),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=qe(c,U,S.hash);if(w||p)return;const f=ve(c),m=u&&Le(_.url)===Le(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=D.tap;const h=await Te(u,!1);if(!h)return;mn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ne(u))}function s(){r.disconnect();for(const o of P.querySelectorAll("a")){const{url:l,external:c,download:d}=qe(o,U,S.hash);if(c||d)continue;const u=ve(o);u.reload||(u.preload_code===D.viewport&&r.observe(o),u.preload_code===D.eager&&Ne(l))}}Q.add(s),s()}function ae(e,t){if(e instanceof Me)return e.body;const n=We(e),a=cn(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function qn(e,t={}){return e=new URL(He(e)),e.origin!==Ue?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")be.push(e);else{const{href:t}=new URL(e,location.href);be.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(dt(),!re){const r=tt(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};Lt.forEach(s=>s(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&dt()}),(t=navigator.connection)!=null&&t.saveData||En(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=St(n.composedPath()[0],P);if(!a)return;const{url:r,external:i,target:s,download:o}=qe(a,U,S.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const l=ve(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===$e(location);if(i||l.reload&&(!w||!u)){jt({url:r,type:"link",event:n})?re=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,Je(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await G({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const o=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ae(o,U,!1))return;const l=n.target,c=ve(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);o.search=new URLSearchParams(d).toString(),G({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!Be){if((a=n.state)!=null&&a[F]){const r=n.state[F];if(V={},r===k)return;const i=N[r],s=n.state[bt]??{},o=new URL(n.state[an]??location.href),l=n.state[Z],c=_.url?$e(location)===$e(_.url):!1;if(l===L&&(At||c)){s!==R.state&&(R.state=s),e(o),N[k]=B(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await G({type:"popstate",url:o,popped:{state:s,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:V,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[F]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))dn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&j.navigating.set(ee.current=null)});function e(n){_.url=R.url=n,j.page.set(nt(R)),j.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:s,data:o,form:l}){Ut=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Te(c,!1)||{}),d=Ye.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=o[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Qe({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let x=0;x<h;x+=1)Object.assign(b,(await p[x]).data);return b},server_data_node:Ze(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await xe({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof ze){await ne(new URL(p.location,location.href));return}u=await et({status:We(p),error:await ae(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await $t(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let Be=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=qt(e);if(a&&document.getElementById(a)){const{x:i,y:s}=B();setTimeout(()=>{const o=history.state;Be=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),Be=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let s=0;s<r.rangeCount;s+=1)i.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===i.length){for(let s=0;s<r.rangeCount;s+=1){const o=i[s],l=r.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function tt(e,t,n,a,r=null){var c,d;let i,s;const o=new Promise((u,w)=>{i=u,s=w});return o.catch(C),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:B()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:o},fulfil:i,reject:s}}function nt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function qt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Nn as a,qn as g,Pn as l,R as p,j as s};
web/sveltekit/build/_app/immutable/chunks/{CBcGqa-S.js → C1ZCxvXT.js} RENAMED
@@ -1,2 +1,2 @@
1
- import{w as y,i as Cr,ad as dr,q as O,A as K,F as Or,T as wr,k as J,U as Lr,ae as Mr,V as nr,z,B as G,C as kr,af as Rr,ag as ur,n as Dr,ah as L,P as U,ai as Hr,R as Fr,a5 as Pr,aj as gr,ak as x,al as zr,am as Ur,ab as Vr,an as sr,ao as Br,_ as Gr,M as hr,O as pr,ap as X,aq as _r,ar as Yr,as as $r,at as qr,Q as jr,N as $,y as yr,au as Ar,d as br,av as Kr,aw as Xr,ax as Qr,ay as Zr,az as Jr,aA as Wr,aB as j,aC as mr,aD as xr,aE as re,aF as ee,aG as fe,aH as ie}from"./DwbuJhNu.js";import{i as ae,b as ne,d as ue,g as se,n as te,j as le}from"./Dlpu43Tj.js";function ke(r,f){return f}function oe(r,f,e){for(var i=[],a=f.length,n,s=f.length,v=0;v<a;v++){let p=f[v];pr(p,()=>{if(n){if(n.pending.delete(p),n.done.add(p),n.pending.size===0){var t=r.outrogroups;W(r,x(n.done)),t.delete(n),t.size===0&&(r.outrogroups=null)}}else s-=1},!1)}if(s===0){var l=i.length===0&&e!==null;if(l){var d=e,o=d.parentNode;qr(o),o.append(d),r.items.clear()}W(r,f,!l)}else n={pending:new Set(f),done:new Set},(r.outrogroups??(r.outrogroups=new Set)).add(n)}function W(r,f,e=!0){var i;if(r.pending.size>0){i=new Set;for(const s of r.pending.values())for(const v of s)i.add(r.items.get(v).e)}for(var a=0;a<f.length;a++){var n=f[a];if(i!=null&&i.has(n)){n.f|=L;const s=document.createDocumentFragment();jr(n,s)}else $(f[a],e)}}var tr;function Re(r,f,e,i,a,n=null){var s=r,v=new Map,l=(f&dr)!==0;if(l){var d=r;s=O?K(Or(d)):d.appendChild(y())}O&&wr();var o=null,p=Pr(()=>{var b=e();return gr(b)?b:b==null?[]:x(b)}),t,N=new Map,A=!0;function S(b){(w.effect.f&Gr)===0&&(w.pending.delete(b),w.fallback=o,ce(w,t,s,f,i),o!==null&&(t.length===0?(o.f&L)===0?hr(o):(o.f^=L,P(o,null,s)):pr(o,()=>{o=null})))}function u(b){w.pending.delete(b)}var g=Cr(()=>{t=J(p);var b=t.length;let _=!1;if(O){var D=Lr(s)===Mr;D!==(b===0)&&(s=nr(),K(s),z(!1),_=!0)}for(var h=new Set,c=Dr,T=Fr(),I=0;I<b;I+=1){O&&G.nodeType===kr&&G.data===Rr&&(s=G,_=!0,z(!1));var E=t[I],M=i(E,I),C=A?null:v.get(M);C?(C.v&&ur(C.v,E),C.i&&ur(C.i,I),T&&c.unskip_effect(C.e)):(C=ve(v,A?s:tr??(tr=y()),E,M,I,a,f,e),A||(C.e.f|=L),v.set(M,C)),h.add(M)}if(b===0&&n&&!o&&(A?o=U(()=>n(s)):(o=U(()=>n(tr??(tr=y()))),o.f|=L)),b>h.size&&Hr(),O&&b>0&&K(nr()),!A)if(N.set(c,h),T){for(const[V,B]of v)h.has(V)||c.skip_effect(B.e);c.oncommit(S),c.ondiscard(u)}else S(c);_&&z(!0),J(p)}),w={effect:g,items:v,pending:N,outrogroups:null,fallback:o};A=!1,O&&(s=G)}function H(r){for(;r!==null&&(r.f&Yr)===0;)r=r.next;return r}function ce(r,f,e,i,a){var E,M,C,V,B,rr,er,fr,ir;var n=(i&$r)!==0,s=f.length,v=r.items,l=H(r.effect.first),d,o=null,p,t=[],N=[],A,S,u,g;if(n)for(g=0;g<s;g+=1)A=f[g],S=a(A,g),u=v.get(S).e,(u.f&L)===0&&((M=(E=u.nodes)==null?void 0:E.a)==null||M.measure(),(p??(p=new Set)).add(u));for(g=0;g<s;g+=1){if(A=f[g],S=a(A,g),u=v.get(S).e,r.outrogroups!==null)for(const k of r.outrogroups)k.pending.delete(u),k.done.delete(u);if((u.f&X)!==0&&(hr(u),n&&((V=(C=u.nodes)==null?void 0:C.a)==null||V.unfix(),(p??(p=new Set)).delete(u))),(u.f&L)!==0)if(u.f^=L,u===l)P(u,null,e);else{var w=o?o.next:l;u===r.effect.last&&(r.effect.last=u.prev),u.prev&&(u.prev.next=u.next),u.next&&(u.next.prev=u.prev),R(r,o,u),R(r,u,w),P(u,w,e),o=u,t=[],N=[],l=H(o.next);continue}if(u!==l){if(d!==void 0&&d.has(u)){if(t.length<N.length){var b=N[0],_;o=b.prev;var D=t[0],h=t[t.length-1];for(_=0;_<t.length;_+=1)P(t[_],b,e);for(_=0;_<N.length;_+=1)d.delete(N[_]);R(r,D.prev,h.next),R(r,o,D),R(r,h,b),l=b,o=h,g-=1,t=[],N=[]}else d.delete(u),P(u,l,e),R(r,u.prev,u.next),R(r,u,o===null?r.effect.first:o.next),R(r,o,u),o=u;continue}for(t=[],N=[];l!==null&&l!==u;)(d??(d=new Set)).add(l),N.push(l),l=H(l.next);if(l===null)continue}(u.f&L)===0&&t.push(u),o=u,l=H(u.next)}if(r.outrogroups!==null){for(const k of r.outrogroups)k.pending.size===0&&(W(r,x(k.done)),(B=r.outrogroups)==null||B.delete(k));r.outrogroups.size===0&&(r.outrogroups=null)}if(l!==null||d!==void 0){var c=[];if(d!==void 0)for(u of d)(u.f&X)===0&&c.push(u);for(;l!==null;)(l.f&X)===0&&l!==r.fallback&&c.push(l),l=H(l.next);var T=c.length;if(T>0){var I=(i&dr)!==0&&s===0?e:null;if(n){for(g=0;g<T;g+=1)(er=(rr=c[g].nodes)==null?void 0:rr.a)==null||er.measure();for(g=0;g<T;g+=1)(ir=(fr=c[g].nodes)==null?void 0:fr.a)==null||ir.fix()}oe(r,c,I)}}n&&_r(()=>{var k,ar;if(p!==void 0)for(u of p)(ar=(k=u.nodes)==null?void 0:k.a)==null||ar.apply()})}function ve(r,f,e,i,a,n,s,v){var l=(s&zr)!==0?(s&Ur)===0?Vr(e,!1,!1):sr(e):null,d=(s&Br)!==0?sr(a):null;return{v:l,i:d,e:U(()=>(n(f,l??e,d??a,v),()=>{r.delete(i)}))}}function P(r,f,e){if(r.nodes)for(var i=r.nodes.start,a=r.nodes.end,n=f&&(f.f&L)===0?f.nodes.start:e;i!==null;){var s=yr(i);if(n.before(i),i===a)return;i=s}}function R(r,f,e){f===null?r.effect.first=e:f.next=e,e===null?r.effect.last=f:e.prev=f}function de(r,f){var e=void 0,i;Ar(()=>{e!==(e=f())&&(i&&($(i),i=null),e&&(i=U(()=>{br(()=>e(r))})))})}function Er(r){var f,e,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var a=r.length;for(f=0;f<a;f++)r[f]&&(e=Er(r[f]))&&(i&&(i+=" "),i+=e)}else for(e in r)r[e]&&(i&&(i+=" "),i+=e);return i}function ge(){for(var r,f,e=0,i="",a=arguments.length;e<a;e++)(r=arguments[e])&&(f=Er(r))&&(i&&(i+=" "),i+=f);return i}function he(r){return typeof r=="object"?ge(r):r??""}const lr=[...`
2
- \r\f \v\uFEFF`];function pe(r,f,e){var i=r==null?"":""+r;if(f&&(i=i?i+" "+f:f),e){for(var a of Object.keys(e))if(e[a])i=i?i+" "+a:a;else if(i.length)for(var n=a.length,s=0;(s=i.indexOf(a,s))>=0;){var v=s+n;(s===0||lr.includes(i[s-1]))&&(v===i.length||lr.includes(i[v]))?i=(s===0?"":i.substring(0,s))+i.substring(v+1):s=v}}return i===""?null:i}function or(r,f=!1){var e=f?" !important;":";",i="";for(var a of Object.keys(r)){var n=r[a];n!=null&&n!==""&&(i+=" "+a+": "+n+e)}return i}function Q(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function _e(r,f){if(f){var e="",i,a;if(Array.isArray(f)?(i=f[0],a=f[1]):i=f,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var n=!1,s=0,v=!1,l=[];i&&l.push(...Object.keys(i).map(Q)),a&&l.push(...Object.keys(a).map(Q));var d=0,o=-1;const S=r.length;for(var p=0;p<S;p++){var t=r[p];if(v?t==="/"&&r[p-1]==="*"&&(v=!1):n?n===t&&(n=!1):t==="/"&&r[p+1]==="*"?v=!0:t==='"'||t==="'"?n=t:t==="("?s++:t===")"&&s--,!v&&n===!1&&s===0){if(t===":"&&o===-1)o=p;else if(t===";"||p===S-1){if(o!==-1){var N=Q(r.substring(d,o).trim());if(!l.includes(N)){t!==";"&&p++;var A=r.substring(d,p).trim();e+=" "+A+";"}}d=p+1,o=-1}}}}return i&&(e+=or(i)),a&&(e+=or(a,!0)),e=e.trim(),e===""?null:e}return r==null?null:String(r)}function Ae(r,f,e,i,a,n){var s=r.__className;if(O||s!==e||s===void 0){var v=pe(e,i,n);(!O||v!==r.getAttribute("class"))&&(v==null?r.removeAttribute("class"):f?r.className=v:r.setAttribute("class",v)),r.__className=e}else if(n&&a!==n)for(var l in n){var d=!!n[l];(a==null||d!==!!a[l])&&r.classList.toggle(l,d)}return n}function Z(r,f={},e,i){for(var a in e){var n=e[a];f[a]!==n&&(e[a]==null?r.style.removeProperty(a):r.style.setProperty(a,n,i))}}function be(r,f,e,i){var a=r.__style;if(O||a!==f){var n=_e(f,i);(!O||n!==r.getAttribute("style"))&&(n==null?r.removeAttribute("style"):r.style.cssText=n),r.__style=f}else i&&(Array.isArray(i)?(Z(r,e==null?void 0:e[0],i[0]),Z(r,e==null?void 0:e[1],i[1],"important")):Z(r,e,i));return i}function m(r,f,e=!1){if(r.multiple){if(f==null)return;if(!gr(f))return Kr();for(var i of r.options)i.selected=f.includes(cr(i));return}for(i of r.options){var a=cr(i);if(Xr(a,f)){i.selected=!0;return}}(!e||f!==void 0)&&(r.selectedIndex=-1)}function Ee(r){var f=new MutationObserver(()=>{m(r,r.__value)});f.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qr(()=>{f.disconnect()})}function cr(r){return"__value"in r?r.__value:r.value}const Y=Symbol("class"),F=Symbol("style"),Tr=Symbol("is custom element"),Nr=Symbol("is html"),Te=j?"link":"LINK",Ne=j?"input":"INPUT",Se=j?"option":"OPTION",Ie=j?"select":"SELECT";function Ce(r){if(O){var f=!1,e=()=>{if(!f){if(f=!0,r.hasAttribute("value")){var i=r.value;q(r,"value",null),r.value=i}if(r.hasAttribute("checked")){var a=r.checked;q(r,"checked",null),r.checked=a}}};r.__on_r=e,_r(e),Zr()}}function Oe(r,f){f?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function q(r,f,e,i){var a=Sr(r);O&&(a[f]=r.getAttribute(f),f==="src"||f==="srcset"||f==="href"&&r.nodeName===Te)||a[f]!==(a[f]=e)&&(f==="loading"&&(r[Jr]=e),e==null?r.removeAttribute(f):typeof e!="string"&&Ir(r).includes(f)?r[f]=e:r.setAttribute(f,e))}function we(r,f,e,i,a=!1,n=!1){if(O&&a&&r.nodeName===Ne){var s=r,v=s.type==="checkbox"?"defaultChecked":"defaultValue";v in e||Ce(s)}var l=Sr(r),d=l[Tr],o=!l[Nr];let p=O&&d;p&&z(!1);var t=f||{},N=r.nodeName===Se;for(var A in f)A in e||(e[A]=null);e.class?e.class=he(e.class):e.class=null,e[F]&&(e.style??(e.style=null));var S=Ir(r);for(const h in e){let c=e[h];if(N&&h==="value"&&c==null){r.value=r.__value="",t[h]=c;continue}if(h==="class"){var u=r.namespaceURI==="http://www.w3.org/1999/xhtml";Ae(r,u,c,i,f==null?void 0:f[Y],e[Y]),t[h]=c,t[Y]=e[Y];continue}if(h==="style"){be(r,c,f==null?void 0:f[F],e[F]),t[h]=c,t[F]=e[F];continue}var g=t[h];if(!(c===g&&!(c===void 0&&r.hasAttribute(h)))){t[h]=c;var w=h[0]+h[1];if(w!=="$$")if(w==="on"){const T={},I="$$"+h;let E=h.slice(2);var b=le(E);if(ae(E)&&(E=E.slice(0,-7),T.capture=!0),!b&&g){if(c!=null)continue;r.removeEventListener(E,t[I],T),t[I]=null}if(b)ne(E,r,c),ue([E]);else if(c!=null){let M=function(C){t[h].call(this,C)};t[I]=se(E,r,M,T)}}else if(h==="style")q(r,h,c);else if(h==="autofocus")fe(r,!!c);else if(!d&&(h==="__value"||h==="value"&&c!=null))r.value=r.__value=c;else if(h==="selected"&&N)Oe(r,c);else{var _=h;o||(_=te(_));var D=_==="defaultValue"||_==="defaultChecked";if(c==null&&!d&&!D)if(l[h]=null,_==="value"||_==="checked"){let T=r;const I=f===void 0;if(_==="value"){let E=T.defaultValue;T.removeAttribute(_),T.defaultValue=E,T.value=T.__value=I?E:null}else{let E=T.defaultChecked;T.removeAttribute(_),T.defaultChecked=E,T.checked=I?E:!1}}else r.removeAttribute(h);else D||S.includes(_)&&(d||typeof c!="string")?(r[_]=c,_ in l&&(l[_]=ie)):typeof c!="function"&&q(r,_,c)}}}return p&&z(!0),t}function De(r,f,e=[],i=[],a=[],n,s=!1,v=!1){re(a,e,i,l=>{var d=void 0,o={},p=r.nodeName===Ie,t=!1;if(Ar(()=>{var A=f(...l.map(J)),S=we(r,d,A,n,s,v);t&&p&&"value"in A&&m(r,A.value);for(let g of Object.getOwnPropertySymbols(o))A[g]||$(o[g]);for(let g of Object.getOwnPropertySymbols(A)){var u=A[g];g.description===ee&&(!d||u!==d[g])&&(o[g]&&$(o[g]),o[g]=U(()=>de(r,()=>u))),S[g]=u}d=S}),p){var N=r;br(()=>{m(N,d.value,!0),Ee(N)})}t=!0})}function Sr(r){return r.__attributes??(r.__attributes={[Tr]:r.nodeName.includes("-"),[Nr]:r.namespaceURI===Wr})}var vr=new Map;function Ir(r){var f=r.getAttribute("is")||r.nodeName,e=vr.get(f);if(e)return e;vr.set(f,e=[]);for(var i,a=r,n=Element.prototype;n!==a;){i=xr(a);for(var s in i)i[s].set&&e.push(s);a=mr(a)}return e}export{Y as C,Ae as a,be as b,De as c,Re as e,ke as i,Ce as r,q as s};
 
1
+ import{g as K,i as Cr,ad as dr,h as O,m as y,o as Or,T as wr,A as J,U as Lr,ae as Mr,V as nr,k as z,n as Y,C as kr,af as Rr,ag as ur,b as Dr,ah as L,P as U,ai as Hr,R as Pr,a5 as Fr,aj as gr,ak as x,al as zr,am as Ur,ab as Vr,an as sr,ao as Gr,_ as Yr,M as hr,O as pr,ap as X,aq as _r,ar as Br,as as $r,at as jr,Q as qr,N as $,j as Kr,au as br,w as Ar,av as yr,aw as Xr,ax as Qr,ay as Zr,az as Jr,aA as Wr,aB as mr,aC as xr,aD as q,aE as re,aF as ee,aG as fe,aH as ie}from"./Db2Wa-jW.js";import{i as ae,b as ne,d as ue,g as se,n as te,j as le}from"./CBok_DXr.js";function ke(r,f){return f}function oe(r,f,e){for(var i=[],a=f.length,n,s=f.length,v=0;v<a;v++){let p=f[v];pr(p,()=>{if(n){if(n.pending.delete(p),n.done.add(p),n.pending.size===0){var t=r.outrogroups;W(r,x(n.done)),t.delete(n),t.size===0&&(r.outrogroups=null)}}else s-=1},!1)}if(s===0){var l=i.length===0&&e!==null;if(l){var d=e,o=d.parentNode;jr(o),o.append(d),r.items.clear()}W(r,f,!l)}else n={pending:new Set(f),done:new Set},(r.outrogroups??(r.outrogroups=new Set)).add(n)}function W(r,f,e=!0){var i;if(r.pending.size>0){i=new Set;for(const s of r.pending.values())for(const v of s)i.add(r.items.get(v).e)}for(var a=0;a<f.length;a++){var n=f[a];if(i!=null&&i.has(n)){n.f|=L;const s=document.createDocumentFragment();qr(n,s)}else $(f[a],e)}}var tr;function Re(r,f,e,i,a,n=null){var s=r,v=new Map,l=(f&dr)!==0;if(l){var d=r;s=O?y(Or(d)):d.appendChild(K())}O&&wr();var o=null,p=Fr(()=>{var A=e();return gr(A)?A:A==null?[]:x(A)}),t,N=new Map,b=!0;function S(A){(w.effect.f&Yr)===0&&(w.pending.delete(A),w.fallback=o,ce(w,t,s,f,i),o!==null&&(t.length===0?(o.f&L)===0?hr(o):(o.f^=L,F(o,null,s)):pr(o,()=>{o=null})))}function u(A){w.pending.delete(A)}var g=Cr(()=>{t=J(p);var A=t.length;let _=!1;if(O){var D=Lr(s)===Mr;D!==(A===0)&&(s=nr(),y(s),z(!1),_=!0)}for(var h=new Set,c=Dr,T=Pr(),I=0;I<A;I+=1){O&&Y.nodeType===kr&&Y.data===Rr&&(s=Y,_=!0,z(!1));var E=t[I],M=i(E,I),C=b?null:v.get(M);C?(C.v&&ur(C.v,E),C.i&&ur(C.i,I),T&&c.unskip_effect(C.e)):(C=ve(v,b?s:tr??(tr=K()),E,M,I,a,f,e),b||(C.e.f|=L),v.set(M,C)),h.add(M)}if(A===0&&n&&!o&&(b?o=U(()=>n(s)):(o=U(()=>n(tr??(tr=K()))),o.f|=L)),A>h.size&&Hr(),O&&A>0&&y(nr()),!b)if(N.set(c,h),T){for(const[V,G]of v)h.has(V)||c.skip_effect(G.e);c.oncommit(S),c.ondiscard(u)}else S(c);_&&z(!0),J(p)}),w={effect:g,items:v,pending:N,outrogroups:null,fallback:o};b=!1,O&&(s=Y)}function H(r){for(;r!==null&&(r.f&Br)===0;)r=r.next;return r}function ce(r,f,e,i,a){var E,M,C,V,G,rr,er,fr,ir;var n=(i&$r)!==0,s=f.length,v=r.items,l=H(r.effect.first),d,o=null,p,t=[],N=[],b,S,u,g;if(n)for(g=0;g<s;g+=1)b=f[g],S=a(b,g),u=v.get(S).e,(u.f&L)===0&&((M=(E=u.nodes)==null?void 0:E.a)==null||M.measure(),(p??(p=new Set)).add(u));for(g=0;g<s;g+=1){if(b=f[g],S=a(b,g),u=v.get(S).e,r.outrogroups!==null)for(const k of r.outrogroups)k.pending.delete(u),k.done.delete(u);if((u.f&X)!==0&&(hr(u),n&&((V=(C=u.nodes)==null?void 0:C.a)==null||V.unfix(),(p??(p=new Set)).delete(u))),(u.f&L)!==0)if(u.f^=L,u===l)F(u,null,e);else{var w=o?o.next:l;u===r.effect.last&&(r.effect.last=u.prev),u.prev&&(u.prev.next=u.next),u.next&&(u.next.prev=u.prev),R(r,o,u),R(r,u,w),F(u,w,e),o=u,t=[],N=[],l=H(o.next);continue}if(u!==l){if(d!==void 0&&d.has(u)){if(t.length<N.length){var A=N[0],_;o=A.prev;var D=t[0],h=t[t.length-1];for(_=0;_<t.length;_+=1)F(t[_],A,e);for(_=0;_<N.length;_+=1)d.delete(N[_]);R(r,D.prev,h.next),R(r,o,D),R(r,h,A),l=A,o=h,g-=1,t=[],N=[]}else d.delete(u),F(u,l,e),R(r,u.prev,u.next),R(r,u,o===null?r.effect.first:o.next),R(r,o,u),o=u;continue}for(t=[],N=[];l!==null&&l!==u;)(d??(d=new Set)).add(l),N.push(l),l=H(l.next);if(l===null)continue}(u.f&L)===0&&t.push(u),o=u,l=H(u.next)}if(r.outrogroups!==null){for(const k of r.outrogroups)k.pending.size===0&&(W(r,x(k.done)),(G=r.outrogroups)==null||G.delete(k));r.outrogroups.size===0&&(r.outrogroups=null)}if(l!==null||d!==void 0){var c=[];if(d!==void 0)for(u of d)(u.f&X)===0&&c.push(u);for(;l!==null;)(l.f&X)===0&&l!==r.fallback&&c.push(l),l=H(l.next);var T=c.length;if(T>0){var I=(i&dr)!==0&&s===0?e:null;if(n){for(g=0;g<T;g+=1)(er=(rr=c[g].nodes)==null?void 0:rr.a)==null||er.measure();for(g=0;g<T;g+=1)(ir=(fr=c[g].nodes)==null?void 0:fr.a)==null||ir.fix()}oe(r,c,I)}}n&&_r(()=>{var k,ar;if(p!==void 0)for(u of p)(ar=(k=u.nodes)==null?void 0:k.a)==null||ar.apply()})}function ve(r,f,e,i,a,n,s,v){var l=(s&zr)!==0?(s&Ur)===0?Vr(e,!1,!1):sr(e):null,d=(s&Gr)!==0?sr(a):null;return{v:l,i:d,e:U(()=>(n(f,l??e,d??a,v),()=>{r.delete(i)}))}}function F(r,f,e){if(r.nodes)for(var i=r.nodes.start,a=r.nodes.end,n=f&&(f.f&L)===0?f.nodes.start:e;i!==null;){var s=Kr(i);if(n.before(i),i===a)return;i=s}}function R(r,f,e){f===null?r.effect.first=e:f.next=e,e===null?r.effect.last=f:e.prev=f}function de(r,f){var e=void 0,i;br(()=>{e!==(e=f())&&(i&&($(i),i=null),e&&(i=U(()=>{Ar(()=>e(r))})))})}function Er(r){var f,e,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var a=r.length;for(f=0;f<a;f++)r[f]&&(e=Er(r[f]))&&(i&&(i+=" "),i+=e)}else for(e in r)r[e]&&(i&&(i+=" "),i+=e);return i}function ge(){for(var r,f,e=0,i="",a=arguments.length;e<a;e++)(r=arguments[e])&&(f=Er(r))&&(i&&(i+=" "),i+=f);return i}function he(r){return typeof r=="object"?ge(r):r??""}const lr=[...`
2
+ \r\f \v\uFEFF`];function pe(r,f,e){var i=r==null?"":""+r;if(f&&(i=i?i+" "+f:f),e){for(var a of Object.keys(e))if(e[a])i=i?i+" "+a:a;else if(i.length)for(var n=a.length,s=0;(s=i.indexOf(a,s))>=0;){var v=s+n;(s===0||lr.includes(i[s-1]))&&(v===i.length||lr.includes(i[v]))?i=(s===0?"":i.substring(0,s))+i.substring(v+1):s=v}}return i===""?null:i}function or(r,f=!1){var e=f?" !important;":";",i="";for(var a of Object.keys(r)){var n=r[a];n!=null&&n!==""&&(i+=" "+a+": "+n+e)}return i}function Q(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function _e(r,f){if(f){var e="",i,a;if(Array.isArray(f)?(i=f[0],a=f[1]):i=f,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var n=!1,s=0,v=!1,l=[];i&&l.push(...Object.keys(i).map(Q)),a&&l.push(...Object.keys(a).map(Q));var d=0,o=-1;const S=r.length;for(var p=0;p<S;p++){var t=r[p];if(v?t==="/"&&r[p-1]==="*"&&(v=!1):n?n===t&&(n=!1):t==="/"&&r[p+1]==="*"?v=!0:t==='"'||t==="'"?n=t:t==="("?s++:t===")"&&s--,!v&&n===!1&&s===0){if(t===":"&&o===-1)o=p;else if(t===";"||p===S-1){if(o!==-1){var N=Q(r.substring(d,o).trim());if(!l.includes(N)){t!==";"&&p++;var b=r.substring(d,p).trim();e+=" "+b+";"}}d=p+1,o=-1}}}}return i&&(e+=or(i)),a&&(e+=or(a,!0)),e=e.trim(),e===""?null:e}return r==null?null:String(r)}function be(r,f,e,i,a,n){var s=r.__className;if(O||s!==e||s===void 0){var v=pe(e,i,n);(!O||v!==r.getAttribute("class"))&&(v==null?r.removeAttribute("class"):f?r.className=v:r.setAttribute("class",v)),r.__className=e}else if(n&&a!==n)for(var l in n){var d=!!n[l];(a==null||d!==!!a[l])&&r.classList.toggle(l,d)}return n}function Z(r,f={},e,i){for(var a in e){var n=e[a];f[a]!==n&&(e[a]==null?r.style.removeProperty(a):r.style.setProperty(a,n,i))}}function Ae(r,f,e,i){var a=r.__style;if(O||a!==f){var n=_e(f,i);(!O||n!==r.getAttribute("style"))&&(n==null?r.removeAttribute("style"):r.style.cssText=n),r.__style=f}else i&&(Array.isArray(i)?(Z(r,e==null?void 0:e[0],i[0]),Z(r,e==null?void 0:e[1],i[1],"important")):Z(r,e,i));return i}function m(r,f,e=!1){if(r.multiple){if(f==null)return;if(!gr(f))return yr();for(var i of r.options)i.selected=f.includes(cr(i));return}for(i of r.options){var a=cr(i);if(Xr(a,f)){i.selected=!0;return}}(!e||f!==void 0)&&(r.selectedIndex=-1)}function Ee(r){var f=new MutationObserver(()=>{m(r,r.__value)});f.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qr(()=>{f.disconnect()})}function cr(r){return"__value"in r?r.__value:r.value}const B=Symbol("class"),P=Symbol("style"),Tr=Symbol("is custom element"),Nr=Symbol("is html"),Te=q?"link":"LINK",Ne=q?"input":"INPUT",Se=q?"option":"OPTION",Ie=q?"select":"SELECT";function Ce(r){if(O){var f=!1,e=()=>{if(!f){if(f=!0,r.hasAttribute("value")){var i=r.value;j(r,"value",null),r.value=i}if(r.hasAttribute("checked")){var a=r.checked;j(r,"checked",null),r.checked=a}}};r.__on_r=e,_r(e),Zr()}}function Oe(r,f){f?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function j(r,f,e,i){var a=Sr(r);O&&(a[f]=r.getAttribute(f),f==="src"||f==="srcset"||f==="href"&&r.nodeName===Te)||a[f]!==(a[f]=e)&&(f==="loading"&&(r[mr]=e),e==null?r.removeAttribute(f):typeof e!="string"&&Ir(r).includes(f)?r[f]=e:r.setAttribute(f,e))}function we(r,f,e,i,a=!1,n=!1){if(O&&a&&r.nodeName===Ne){var s=r,v=s.type==="checkbox"?"defaultChecked":"defaultValue";v in e||Ce(s)}var l=Sr(r),d=l[Tr],o=!l[Nr];let p=O&&d;p&&z(!1);var t=f||{},N=r.nodeName===Se;for(var b in f)b in e||(e[b]=null);e.class?e.class=he(e.class):e.class=null,e[P]&&(e.style??(e.style=null));var S=Ir(r);for(const h in e){let c=e[h];if(N&&h==="value"&&c==null){r.value=r.__value="",t[h]=c;continue}if(h==="class"){var u=r.namespaceURI==="http://www.w3.org/1999/xhtml";be(r,u,c,i,f==null?void 0:f[B],e[B]),t[h]=c,t[B]=e[B];continue}if(h==="style"){Ae(r,c,f==null?void 0:f[P],e[P]),t[h]=c,t[P]=e[P];continue}var g=t[h];if(!(c===g&&!(c===void 0&&r.hasAttribute(h)))){t[h]=c;var w=h[0]+h[1];if(w!=="$$")if(w==="on"){const T={},I="$$"+h;let E=h.slice(2);var A=le(E);if(ae(E)&&(E=E.slice(0,-7),T.capture=!0),!A&&g){if(c!=null)continue;r.removeEventListener(E,t[I],T),t[I]=null}if(A)ne(E,r,c),ue([E]);else if(c!=null){let M=function(C){t[h].call(this,C)};t[I]=se(E,r,M,T)}}else if(h==="style")j(r,h,c);else if(h==="autofocus")fe(r,!!c);else if(!d&&(h==="__value"||h==="value"&&c!=null))r.value=r.__value=c;else if(h==="selected"&&N)Oe(r,c);else{var _=h;o||(_=te(_));var D=_==="defaultValue"||_==="defaultChecked";if(c==null&&!d&&!D)if(l[h]=null,_==="value"||_==="checked"){let T=r;const I=f===void 0;if(_==="value"){let E=T.defaultValue;T.removeAttribute(_),T.defaultValue=E,T.value=T.__value=I?E:null}else{let E=T.defaultChecked;T.removeAttribute(_),T.defaultChecked=E,T.checked=I?E:!1}}else r.removeAttribute(h);else D||S.includes(_)&&(d||typeof c!="string")?(r[_]=c,_ in l&&(l[_]=ie)):typeof c!="function"&&j(r,_,c)}}}return p&&z(!0),t}function De(r,f,e=[],i=[],a=[],n,s=!1,v=!1){re(a,e,i,l=>{var d=void 0,o={},p=r.nodeName===Ie,t=!1;if(br(()=>{var b=f(...l.map(J)),S=we(r,d,b,n,s,v);t&&p&&"value"in b&&m(r,b.value);for(let g of Object.getOwnPropertySymbols(o))b[g]||$(o[g]);for(let g of Object.getOwnPropertySymbols(b)){var u=b[g];g.description===ee&&(!d||u!==d[g])&&(o[g]&&$(o[g]),o[g]=U(()=>de(r,()=>u))),S[g]=u}d=S}),p){var N=r;Ar(()=>{m(N,d.value,!0),Ee(N)})}t=!0})}function Sr(r){return r.__attributes??(r.__attributes={[Tr]:r.nodeName.includes("-"),[Nr]:r.namespaceURI===Jr})}var vr=new Map;function Ir(r){var f=r.getAttribute("is")||r.nodeName,e=vr.get(f);if(e)return e;vr.set(f,e=[]);for(var i,a=r,n=Element.prototype;n!==a;){i=xr(a);for(var s in i)i[s].set&&e.push(s);a=Wr(a)}return e}export{B as C,be as a,Ae as b,De as c,Re as e,ke as i,Ce as r,j as s};
web/sveltekit/build/_app/immutable/chunks/{B07kFGr7.js → C4Y7iDRY.js} RENAMED
@@ -1 +1 @@
1
- import{s as e,p as r}from"./BwzbOVaY.js";const t={get error(){return r.error},get params(){return r.params},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p};
 
1
+ import{s as e,p as r}from"./BzKJ9Ltj.js";const t={get error(){return r.error},get params(){return r.params},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p};
web/sveltekit/build/_app/immutable/chunks/{Dlpu43Tj.js → CBok_DXr.js} RENAMED
@@ -1,2 +1,2 @@
1
- var We=Object.defineProperty;var me=t=>{throw TypeError(t)};var He=(t,e,r)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var J=(t,e,r)=>He(t,typeof e!="symbol"?e+"":e,r),ae=(t,e,r)=>e.has(t)||me("Cannot "+r);var s=(t,e,r)=>(ae(t,e,"read from private field"),r?r.call(t):e.get(t)),h=(t,e,r)=>e.has(t)?me("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),f=(t,e,r,n)=>(ae(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),_=(t,e,r)=>(ae(t,e,"access private method"),r);import{aI as Be,k as ke,g as $e,u as Ye,aJ as ye,aq as j,an as Ae,B as v,q as k,h as C,aK as be,i as je,T as Re,ae as qe,aL as Ee,P as V,w as q,O as oe,n as W,Q as Ue,aM as ze,aN as re,aO as se,aP as Te,aQ as Xe,aR as Ge,aS as Oe,b as De,ag as Je,N as fe,A as U,v as Qe,V as Ke,aT as Q,E as Ze,x as et,aU as tt,aV as rt,ax as st,aW as it,aa as nt,aX as at,F as M,aY as ot,aZ as Le,a_ as ft,a$ as lt,b0 as ut,b1 as ct,b2 as ue,C as Me,a8 as dt,y as ht,b3 as ce,z as K,b4 as _t,at as pt,b5 as vt,ak as gt,p as mt,af as yt,b6 as bt,a as Et}from"./DwbuJhNu.js";function Tt(t){let e=0,r=Ae(0),n;return()=>{Be()&&(ke(r),$e(()=>(e===0&&(n=Ye(()=>t(()=>ye(r)))),e+=1,()=>{j(()=>{e-=1,e===0&&(n==null||n(),n=void 0,ye(r))})})))}}var wt=Ze|et;function Nt(t,e,r,n){new St(t,e,r,n)}var T,z,N,B,m,S,p,w,R,$,I,Y,X,G,O,ie,l,Ie,Ce,Fe,de,ee,te,he,_e;class St{constructor(e,r,n,o){h(this,l);J(this,"parent");J(this,"is_pending",!1);J(this,"transform_error");h(this,T);h(this,z,k?v:null);h(this,N);h(this,B);h(this,m);h(this,S,null);h(this,p,null);h(this,w,null);h(this,R,null);h(this,$,0);h(this,I,0);h(this,Y,!1);h(this,X,new Set);h(this,G,new Set);h(this,O,null);h(this,ie,Tt(()=>(f(this,O,Ae(s(this,$))),()=>{f(this,O,null)})));var i;f(this,T,e),f(this,N,r),f(this,B,a=>{var d=C;d.b=this,d.f|=be,n(a)}),this.parent=C.b,this.transform_error=o??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),f(this,m,je(()=>{if(k){const a=s(this,z);Re();const d=a.data===qe;if(a.data.startsWith(Ee)){const c=JSON.parse(a.data.slice(Ee.length));_(this,l,Ce).call(this,c)}else d?_(this,l,Fe).call(this):_(this,l,Ie).call(this)}else _(this,l,de).call(this)},wt)),k&&f(this,T,v)}defer_effect(e){ze(e,s(this,X),s(this,G))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,N).pending}update_pending_count(e,r){_(this,l,he).call(this,e,r),f(this,$,s(this,$)+e),!(!s(this,O)||s(this,Y))&&(f(this,Y,!0),j(()=>{f(this,Y,!1),s(this,O)&&Je(s(this,O),s(this,$))}))}get_effect_pending(){return s(this,ie).call(this),ke(s(this,O))}error(e){var r;if(!s(this,N).onerror&&!s(this,N).failed)throw e;(r=W)!=null&&r.is_fork?(s(this,S)&&W.skip_effect(s(this,S)),s(this,p)&&W.skip_effect(s(this,p)),s(this,w)&&W.skip_effect(s(this,w)),W.on_fork_commit(()=>{_(this,l,_e).call(this,e)})):_(this,l,_e).call(this,e)}}T=new WeakMap,z=new WeakMap,N=new WeakMap,B=new WeakMap,m=new WeakMap,S=new WeakMap,p=new WeakMap,w=new WeakMap,R=new WeakMap,$=new WeakMap,I=new WeakMap,Y=new WeakMap,X=new WeakMap,G=new WeakMap,O=new WeakMap,ie=new WeakMap,l=new WeakSet,Ie=function(){try{f(this,S,V(()=>s(this,B).call(this,s(this,T))))}catch(e){this.error(e)}},Ce=function(e){const r=s(this,N).failed;r&&f(this,w,V(()=>{r(s(this,T),()=>e,()=>()=>{})}))},Fe=function(){const e=s(this,N).pending;e&&(this.is_pending=!0,f(this,p,V(()=>e(s(this,T)))),j(()=>{var r=f(this,R,document.createDocumentFragment()),n=q();r.append(n),f(this,S,_(this,l,te).call(this,()=>V(()=>s(this,B).call(this,n)))),s(this,I)===0&&(s(this,T).before(r),f(this,R,null),oe(s(this,p),()=>{f(this,p,null)}),_(this,l,ee).call(this,W))}))},de=function(){try{if(this.is_pending=this.has_pending_snippet(),f(this,I,0),f(this,$,0),f(this,S,V(()=>{s(this,B).call(this,s(this,T))})),s(this,I)>0){var e=f(this,R,document.createDocumentFragment());Ue(s(this,S),e);const r=s(this,N).pending;f(this,p,V(()=>r(s(this,T))))}else _(this,l,ee).call(this,W)}catch(r){this.error(r)}},ee=function(e){this.is_pending=!1,e.transfer_effects(s(this,X),s(this,G))},te=function(e){var r=C,n=Oe,o=De;re(s(this,m)),se(s(this,m)),Te(s(this,m).ctx);try{return Xe.ensure(),e()}catch(i){return Ge(i),null}finally{re(r),se(n),Te(o)}},he=function(e,r){var n;if(!this.has_pending_snippet()){this.parent&&_(n=this.parent,l,he).call(n,e,r);return}f(this,I,s(this,I)+e),s(this,I)===0&&(_(this,l,ee).call(this,r),s(this,p)&&oe(s(this,p),()=>{f(this,p,null)}),s(this,R)&&(s(this,T).before(s(this,R)),f(this,R,null)))},_e=function(e){s(this,S)&&(fe(s(this,S)),f(this,S,null)),s(this,p)&&(fe(s(this,p)),f(this,p,null)),s(this,w)&&(fe(s(this,w)),f(this,w,null)),k&&(U(s(this,z)),Qe(),U(Ke()));var r=s(this,N).onerror;let n=s(this,N).failed;var o=!1,i=!1;const a=()=>{if(o){rt();return}o=!0,i&&tt(),s(this,w)!==null&&oe(s(this,w),()=>{f(this,w,null)}),_(this,l,te).call(this,()=>{_(this,l,de).call(this)})},d=u=>{try{i=!0,r==null||r(u,a),i=!1}catch(c){Q(c,s(this,m)&&s(this,m).parent)}n&&f(this,w,_(this,l,te).call(this,()=>{try{return V(()=>{var c=C;c.b=this,c.f|=be,n(s(this,T),()=>u,()=>a)})}catch(c){return Q(c,s(this,m).parent),null}}))};j(()=>{var u;try{u=this.transform_error(e)}catch(c){Q(c,s(this,m)&&s(this,m).parent);return}u!==null&&typeof u=="object"&&typeof u.then=="function"?u.then(d,c=>Q(c,s(this,m)&&s(this,m).parent)):d(u)})};function Vt(t){return t.endsWith("capture")&&t!=="gotpointercapture"&&t!=="lostpointercapture"}const kt=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Wt(t){return kt.includes(t)}const At={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Ht(t){return t=t.toLowerCase(),At[t]??t}const Rt=["touchstart","touchmove"];function Ot(t){return Rt.includes(t)}const Dt=["textarea","script","style","title"];function Bt(t){return Dt.includes(t)}const H=Symbol("events"),Pe=new Set,pe=new Set;function Lt(t,e,r,n={}){function o(i){if(n.capture||ve.call(e,i),!i.cancelBubble)return it(()=>r==null?void 0:r.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?j(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function $t(t,e,r,n,o){var i={capture:n,passive:o},a=Lt(t,e,r,i);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&st(()=>{e.removeEventListener(t,a,i)})}function Yt(t,e,r){(e[H]??(e[H]={}))[t]=r}function jt(t){for(var e=0;e<t.length;e++)Pe.add(t[e]);for(var r of pe)r(t)}let we=null;function ve(t){var P,E;var e=this,r=e.ownerDocument,n=t.type,o=((P=t.composedPath)==null?void 0:P.call(t))||[],i=o[0]||t.target;we=t;var a=0,d=we===t&&t[H];if(d){var u=o.indexOf(d);if(u!==-1&&(e===document||e===window)){t[H]=e;return}var c=o.indexOf(e);if(c===-1)return;u<=c&&(a=u)}if(i=o[a]||t.target,i!==e){nt(t,"currentTarget",{configurable:!0,get(){return i||r}});var D=Oe,F=C;se(null),re(null);try{for(var L,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var b=(E=i[H])==null?void 0:E[n];b!=null&&(!i.disabled||t.target===i)&&b.call(i,t)}catch(x){L?y.push(x):L=x}if(t.cancelBubble||g===e||g===null)break;i=g}if(L){for(let x of y)queueMicrotask(()=>{throw x});throw L}}finally{t[H]=e,delete t.currentTarget,se(D),re(F)}}}var Ne;const le=((Ne=globalThis==null?void 0:globalThis.window)==null?void 0:Ne.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Mt(t){return(le==null?void 0:le.createHTML(t))??t}function xe(t){var e=at("template");return e.innerHTML=Mt(t.replaceAll("<!>","<!---->")),e.content}function A(t,e){var r=C;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function qt(t,e){var r=(e&Le)!==0,n=(e&ft)!==0,o,i=!t.startsWith("<!>");return()=>{if(k)return A(v,null),v;o===void 0&&(o=xe(i?t:"<!>"+t),r||(o=M(o)));var a=n||ot?document.importNode(o,!0):o.cloneNode(!0);if(r){var d=M(a),u=a.lastChild;A(d,u)}else A(a,a);return a}}function It(t,e,r="svg"){var n=!t.startsWith("<!>"),o=(e&Le)!==0,i=`<${r}>${n?t:"<!>"+t}</${r}>`,a;return()=>{if(k)return A(v,null),v;if(!a){var d=xe(i),u=M(d);if(o)for(a=document.createDocumentFragment();M(u);)a.appendChild(M(u));else a=M(u)}var c=a.cloneNode(!0);if(o){var D=M(c),F=c.lastChild;A(D,F)}else A(c,c);return c}}function Ut(t,e){return It(t,e,"svg")}function zt(t=""){if(!k){var e=q(t+"");return A(e,e),e}var r=v;return r.nodeType!==ut?(r.before(r=q()),U(r)):ct(r),A(r,r),r}function Xt(){if(k)return A(v,null),v;var t=document.createDocumentFragment(),e=document.createComment(""),r=q();return t.append(e,r),A(e,r),t}function Gt(t,e){if(k){var r=C;((r.f&lt)===0||r.nodes.end===null)&&(r.nodes.end=v),Re();return}t!==null&&t.before(e)}function Jt(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=`${r}`)}function Ct(t,e){return Ve(t,e)}function Qt(t,e){ue(),e.intro=e.intro??!1;const r=e.target,n=k,o=v;try{for(var i=M(r);i&&(i.nodeType!==Me||i.data!==dt);)i=ht(i);if(!i)throw ce;K(!0),U(i);const a=Ve(t,{...e,anchor:i});return K(!1),a}catch(a){if(a instanceof Error&&a.message.split(`
2
- `).some(d=>d.startsWith("https://svelte.dev/e/")))throw a;return a!==ce&&console.warn("Failed to hydrate: ",a),e.recover===!1&&_t(),ue(),pt(r),K(!1),Ct(t,e)}finally{K(n),U(o)}}const Z=new Map;function Ve(t,{target:e,anchor:r,props:n={},events:o,context:i,intro:a=!0,transformError:d}){ue();var u=void 0,c=vt(()=>{var D=r??e.appendChild(q());Nt(D,{pending:()=>{}},y=>{mt({});var g=De;if(i&&(g.c=i),o&&(n.$$events=o),k&&A(y,null),u=t(y,n)||{},k&&(C.nodes.end=v,v===null||v.nodeType!==Me||v.data!==yt))throw bt(),ce;Et()},d);var F=new Set,L=y=>{for(var g=0;g<y.length;g++){var b=y[g];if(!F.has(b)){F.add(b);var P=Ot(b);for(const ne of[e,document]){var E=Z.get(ne);E===void 0&&(E=new Map,Z.set(ne,E));var x=E.get(b);x===void 0?(ne.addEventListener(b,ve,{passive:P}),E.set(b,1)):E.set(b,x+1)}}}};return L(gt(Pe)),pe.add(L),()=>{var P;for(var y of F)for(const E of[e,document]){var g=Z.get(E),b=g.get(y);--b==0?(E.removeEventListener(y,ve),g.delete(y),g.size===0&&Z.delete(E)):g.set(y,b)}pe.delete(L),D!==r&&((P=D.parentNode)==null||P.removeChild(D))}});return ge.set(u,c),u}let ge=new WeakMap;function Kt(t,e){const r=ge.get(t);return r?(ge.delete(t),r(e)):Promise.resolve()}const Ft="5";var Se;typeof window<"u"&&((Se=window.__svelte??(window.__svelte={})).v??(Se.v=new Set)).add(Ft);export{Gt as a,Yt as b,Xt as c,jt as d,$t as e,qt as f,Lt as g,Qt as h,Vt as i,Wt as j,A as k,Ut as l,Ct as m,Ht as n,Bt as o,Jt as s,zt as t,Kt as u};
 
1
+ var We=Object.defineProperty;var me=t=>{throw TypeError(t)};var He=(t,e,r)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var G=(t,e,r)=>He(t,typeof e!="symbol"?e+"":e,r),ae=(t,e,r)=>e.has(t)||me("Cannot "+r);var s=(t,e,r)=>(ae(t,e,"read from private field"),r?r.call(t):e.get(t)),h=(t,e,r)=>e.has(t)?me("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),f=(t,e,r,n)=>(ae(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),_=(t,e,r)=>(ae(t,e,"access private method"),r);import{aI as $e,A as ke,e as Be,u as Ye,aJ as ye,aq as j,an as Ae,n as v,h as k,x as C,aK as be,i as je,T as Re,ae as Ue,aL as Ee,P as V,g as U,O as oe,b as W,Q as qe,aM as ze,aN as re,aO as se,aP as Te,aQ as Je,aR as Xe,aS as Oe,v as De,ag as Ge,N as fe,m as q,J as Qe,V as Ke,aT as Q,y as Ze,E as et,aU as tt,aV as rt,ax as st,aW as it,aa as nt,aX as at,o as M,aY as ot,aZ as Le,a_ as ft,a$ as lt,b0 as ut,b1 as ct,b2 as ue,C as Me,a8 as dt,j as ht,b3 as ce,k as K,b4 as _t,at as pt,b5 as vt,ak as gt,p as mt,af as yt,b6 as bt,a as Et}from"./Db2Wa-jW.js";function Tt(t){let e=0,r=Ae(0),n;return()=>{$e()&&(ke(r),Be(()=>(e===0&&(n=Ye(()=>t(()=>ye(r)))),e+=1,()=>{j(()=>{e-=1,e===0&&(n==null||n(),n=void 0,ye(r))})})))}}var wt=Ze|et;function Nt(t,e,r,n){new St(t,e,r,n)}var T,z,N,$,m,S,p,w,R,B,I,Y,J,X,O,ie,l,Ie,Ce,Pe,de,ee,te,he,_e;class St{constructor(e,r,n,o){h(this,l);G(this,"parent");G(this,"is_pending",!1);G(this,"transform_error");h(this,T);h(this,z,k?v:null);h(this,N);h(this,$);h(this,m);h(this,S,null);h(this,p,null);h(this,w,null);h(this,R,null);h(this,B,0);h(this,I,0);h(this,Y,!1);h(this,J,new Set);h(this,X,new Set);h(this,O,null);h(this,ie,Tt(()=>(f(this,O,Ae(s(this,B))),()=>{f(this,O,null)})));var i;f(this,T,e),f(this,N,r),f(this,$,a=>{var d=C;d.b=this,d.f|=be,n(a)}),this.parent=C.b,this.transform_error=o??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),f(this,m,je(()=>{if(k){const a=s(this,z);Re();const d=a.data===Ue;if(a.data.startsWith(Ee)){const c=JSON.parse(a.data.slice(Ee.length));_(this,l,Ce).call(this,c)}else d?_(this,l,Pe).call(this):_(this,l,Ie).call(this)}else _(this,l,de).call(this)},wt)),k&&f(this,T,v)}defer_effect(e){ze(e,s(this,J),s(this,X))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,N).pending}update_pending_count(e,r){_(this,l,he).call(this,e,r),f(this,B,s(this,B)+e),!(!s(this,O)||s(this,Y))&&(f(this,Y,!0),j(()=>{f(this,Y,!1),s(this,O)&&Ge(s(this,O),s(this,B))}))}get_effect_pending(){return s(this,ie).call(this),ke(s(this,O))}error(e){var r;if(!s(this,N).onerror&&!s(this,N).failed)throw e;(r=W)!=null&&r.is_fork?(s(this,S)&&W.skip_effect(s(this,S)),s(this,p)&&W.skip_effect(s(this,p)),s(this,w)&&W.skip_effect(s(this,w)),W.on_fork_commit(()=>{_(this,l,_e).call(this,e)})):_(this,l,_e).call(this,e)}}T=new WeakMap,z=new WeakMap,N=new WeakMap,$=new WeakMap,m=new WeakMap,S=new WeakMap,p=new WeakMap,w=new WeakMap,R=new WeakMap,B=new WeakMap,I=new WeakMap,Y=new WeakMap,J=new WeakMap,X=new WeakMap,O=new WeakMap,ie=new WeakMap,l=new WeakSet,Ie=function(){try{f(this,S,V(()=>s(this,$).call(this,s(this,T))))}catch(e){this.error(e)}},Ce=function(e){const r=s(this,N).failed;r&&f(this,w,V(()=>{r(s(this,T),()=>e,()=>()=>{})}))},Pe=function(){const e=s(this,N).pending;e&&(this.is_pending=!0,f(this,p,V(()=>e(s(this,T)))),j(()=>{var r=f(this,R,document.createDocumentFragment()),n=U();r.append(n),f(this,S,_(this,l,te).call(this,()=>V(()=>s(this,$).call(this,n)))),s(this,I)===0&&(s(this,T).before(r),f(this,R,null),oe(s(this,p),()=>{f(this,p,null)}),_(this,l,ee).call(this,W))}))},de=function(){try{if(this.is_pending=this.has_pending_snippet(),f(this,I,0),f(this,B,0),f(this,S,V(()=>{s(this,$).call(this,s(this,T))})),s(this,I)>0){var e=f(this,R,document.createDocumentFragment());qe(s(this,S),e);const r=s(this,N).pending;f(this,p,V(()=>r(s(this,T))))}else _(this,l,ee).call(this,W)}catch(r){this.error(r)}},ee=function(e){this.is_pending=!1,e.transfer_effects(s(this,J),s(this,X))},te=function(e){var r=C,n=Oe,o=De;re(s(this,m)),se(s(this,m)),Te(s(this,m).ctx);try{return Je.ensure(),e()}catch(i){return Xe(i),null}finally{re(r),se(n),Te(o)}},he=function(e,r){var n;if(!this.has_pending_snippet()){this.parent&&_(n=this.parent,l,he).call(n,e,r);return}f(this,I,s(this,I)+e),s(this,I)===0&&(_(this,l,ee).call(this,r),s(this,p)&&oe(s(this,p),()=>{f(this,p,null)}),s(this,R)&&(s(this,T).before(s(this,R)),f(this,R,null)))},_e=function(e){s(this,S)&&(fe(s(this,S)),f(this,S,null)),s(this,p)&&(fe(s(this,p)),f(this,p,null)),s(this,w)&&(fe(s(this,w)),f(this,w,null)),k&&(q(s(this,z)),Qe(),q(Ke()));var r=s(this,N).onerror;let n=s(this,N).failed;var o=!1,i=!1;const a=()=>{if(o){rt();return}o=!0,i&&tt(),s(this,w)!==null&&oe(s(this,w),()=>{f(this,w,null)}),_(this,l,te).call(this,()=>{_(this,l,de).call(this)})},d=u=>{try{i=!0,r==null||r(u,a),i=!1}catch(c){Q(c,s(this,m)&&s(this,m).parent)}n&&f(this,w,_(this,l,te).call(this,()=>{try{return V(()=>{var c=C;c.b=this,c.f|=be,n(s(this,T),()=>u,()=>a)})}catch(c){return Q(c,s(this,m).parent),null}}))};j(()=>{var u;try{u=this.transform_error(e)}catch(c){Q(c,s(this,m)&&s(this,m).parent);return}u!==null&&typeof u=="object"&&typeof u.then=="function"?u.then(d,c=>Q(c,s(this,m)&&s(this,m).parent)):d(u)})};function Vt(t){return t.endsWith("capture")&&t!=="gotpointercapture"&&t!=="lostpointercapture"}const kt=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Wt(t){return kt.includes(t)}const At={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Ht(t){return t=t.toLowerCase(),At[t]??t}const Rt=["touchstart","touchmove"];function Ot(t){return Rt.includes(t)}const Dt=["textarea","script","style","title"];function $t(t){return Dt.includes(t)}const H=Symbol("events"),Fe=new Set,pe=new Set;function Lt(t,e,r,n={}){function o(i){if(n.capture||ve.call(e,i),!i.cancelBubble)return it(()=>r==null?void 0:r.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?j(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function Bt(t,e,r,n,o){var i={capture:n,passive:o},a=Lt(t,e,r,i);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&st(()=>{e.removeEventListener(t,a,i)})}function Yt(t,e,r){(e[H]??(e[H]={}))[t]=r}function jt(t){for(var e=0;e<t.length;e++)Fe.add(t[e]);for(var r of pe)r(t)}let we=null;function ve(t){var F,E;var e=this,r=e.ownerDocument,n=t.type,o=((F=t.composedPath)==null?void 0:F.call(t))||[],i=o[0]||t.target;we=t;var a=0,d=we===t&&t[H];if(d){var u=o.indexOf(d);if(u!==-1&&(e===document||e===window)){t[H]=e;return}var c=o.indexOf(e);if(c===-1)return;u<=c&&(a=u)}if(i=o[a]||t.target,i!==e){nt(t,"currentTarget",{configurable:!0,get(){return i||r}});var D=Oe,P=C;se(null),re(null);try{for(var L,y=[];i!==null;){var g=i.assignedSlot||i.parentNode||i.host||null;try{var b=(E=i[H])==null?void 0:E[n];b!=null&&(!i.disabled||t.target===i)&&b.call(i,t)}catch(x){L?y.push(x):L=x}if(t.cancelBubble||g===e||g===null)break;i=g}if(L){for(let x of y)queueMicrotask(()=>{throw x});throw L}}finally{t[H]=e,delete t.currentTarget,se(D),re(P)}}}var Ne;const le=((Ne=globalThis==null?void 0:globalThis.window)==null?void 0:Ne.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Mt(t){return(le==null?void 0:le.createHTML(t))??t}function xe(t){var e=at("template");return e.innerHTML=Mt(t.replaceAll("<!>","<!---->")),e.content}function A(t,e){var r=C;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function Ut(t,e){var r=(e&Le)!==0,n=(e&ft)!==0,o,i=!t.startsWith("<!>");return()=>{if(k)return A(v,null),v;o===void 0&&(o=xe(i?t:"<!>"+t),r||(o=M(o)));var a=n||ot?document.importNode(o,!0):o.cloneNode(!0);if(r){var d=M(a),u=a.lastChild;A(d,u)}else A(a,a);return a}}function It(t,e,r="svg"){var n=!t.startsWith("<!>"),o=(e&Le)!==0,i=`<${r}>${n?t:"<!>"+t}</${r}>`,a;return()=>{if(k)return A(v,null),v;if(!a){var d=xe(i),u=M(d);if(o)for(a=document.createDocumentFragment();M(u);)a.appendChild(M(u));else a=M(u)}var c=a.cloneNode(!0);if(o){var D=M(c),P=c.lastChild;A(D,P)}else A(c,c);return c}}function qt(t,e){return It(t,e,"svg")}function zt(t=""){if(!k){var e=U(t+"");return A(e,e),e}var r=v;return r.nodeType!==ut?(r.before(r=U()),q(r)):ct(r),A(r,r),r}function Jt(){if(k)return A(v,null),v;var t=document.createDocumentFragment(),e=document.createComment(""),r=U();return t.append(e,r),A(e,r),t}function Xt(t,e){if(k){var r=C;((r.f&lt)===0||r.nodes.end===null)&&(r.nodes.end=v),Re();return}t!==null&&t.before(e)}function Gt(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=`${r}`)}function Ct(t,e){return Ve(t,e)}function Qt(t,e){ue(),e.intro=e.intro??!1;const r=e.target,n=k,o=v;try{for(var i=M(r);i&&(i.nodeType!==Me||i.data!==dt);)i=ht(i);if(!i)throw ce;K(!0),q(i);const a=Ve(t,{...e,anchor:i});return K(!1),a}catch(a){if(a instanceof Error&&a.message.split(`
2
+ `).some(d=>d.startsWith("https://svelte.dev/e/")))throw a;return a!==ce&&console.warn("Failed to hydrate: ",a),e.recover===!1&&_t(),ue(),pt(r),K(!1),Ct(t,e)}finally{K(n),q(o)}}const Z=new Map;function Ve(t,{target:e,anchor:r,props:n={},events:o,context:i,intro:a=!0,transformError:d}){ue();var u=void 0,c=vt(()=>{var D=r??e.appendChild(U());Nt(D,{pending:()=>{}},y=>{mt({});var g=De;if(i&&(g.c=i),o&&(n.$$events=o),k&&A(y,null),u=t(y,n)||{},k&&(C.nodes.end=v,v===null||v.nodeType!==Me||v.data!==yt))throw bt(),ce;Et()},d);var P=new Set,L=y=>{for(var g=0;g<y.length;g++){var b=y[g];if(!P.has(b)){P.add(b);var F=Ot(b);for(const ne of[e,document]){var E=Z.get(ne);E===void 0&&(E=new Map,Z.set(ne,E));var x=E.get(b);x===void 0?(ne.addEventListener(b,ve,{passive:F}),E.set(b,1)):E.set(b,x+1)}}}};return L(gt(Fe)),pe.add(L),()=>{var F;for(var y of P)for(const E of[e,document]){var g=Z.get(E),b=g.get(y);--b==0?(E.removeEventListener(y,ve),g.delete(y),g.size===0&&Z.delete(E)):g.set(y,b)}pe.delete(L),D!==r&&((F=D.parentNode)==null||F.removeChild(D))}});return ge.set(u,c),u}let ge=new WeakMap;function Kt(t,e){const r=ge.get(t);return r?(ge.delete(t),r(e)):Promise.resolve()}const Pt="5";var Se;typeof window<"u"&&((Se=window.__svelte??(window.__svelte={})).v??(Se.v=new Set)).add(Pt);export{Xt as a,Yt as b,Jt as c,jt as d,Bt as e,Ut as f,Lt as g,Qt as h,Vt as i,Wt as j,A as k,qt as l,Ct as m,Ht as n,$t as o,Gt as s,zt as t,Kt as u};
web/sveltekit/build/_app/immutable/chunks/{DNaFzQeI.js → CXzWUZJN.js} RENAMED
@@ -1 +1 @@
1
- var i=t=>{throw TypeError(t)};var f=(t,e,r)=>e.has(t)||i("Cannot "+r);var s=(t,e,r)=>(f(t,e,"read from private field"),r?r.call(t):e.get(t)),o=(t,e,r)=>e.has(t)?i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);import{i as p,E as d,j as y,k as h,l as S}from"./DwbuJhNu.js";import{B as g}from"./8F5LpR-T.js";function I(t,e,...r){var l=new g(t);p(()=>{const a=e()??null;l.ensure(a,a&&(c=>a(c,...r)))},d)}var n;class m{constructor(){o(this,n,y(!1))}get ready(){return h(s(this,n))}set ready(e){S(s(this,n),e,!0)}reset(){this.ready=!1}markReady(){this.ready=!0}}n=new WeakMap;const N=new m,w="riprap:print:";function u(t){return w+t}function T(t){if(!(typeof window>"u"))try{localStorage.setItem(u(t.queryId),JSON.stringify(t))}catch{}}function k(t){if(typeof window>"u")return null;try{const e=localStorage.getItem(u(t));return e?JSON.parse(e):null}catch{return null}}export{N as b,k as l,T as p,I as s};
 
1
+ var i=t=>{throw TypeError(t)};var f=(t,e,r)=>e.has(t)||i("Cannot "+r);var s=(t,e,r)=>(f(t,e,"read from private field"),r?r.call(t):e.get(t)),o=(t,e,r)=>e.has(t)?i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);import{i as p,y as d,z as y,A as h,B as S}from"./Db2Wa-jW.js";import{B as g}from"./ChZyCwev.js";function A(t,e,...r){var c=new g(t);p(()=>{const a=e()??null;c.ensure(a,a&&(l=>a(l,...r)))},d)}var n;class m{constructor(){o(this,n,y(!1))}get ready(){return h(s(this,n))}set ready(e){S(s(this,n),e,!0)}reset(){this.ready=!1}markReady(){this.ready=!0}}n=new WeakMap;const B=new m,w="riprap:print:";function u(t){return w+t}function I(t){if(!(typeof window>"u"))try{localStorage.setItem(u(t.queryId),JSON.stringify(t))}catch{}}function N(t){if(typeof window>"u")return null;try{const e=localStorage.getItem(u(t));return e?JSON.parse(e):null}catch{return null}}export{B as b,N as l,I as p,A as s};
web/sveltekit/build/_app/immutable/chunks/{8F5LpR-T.js → ChZyCwev.js} RENAMED
@@ -1 +1 @@
1
- var $=Object.defineProperty;var L=s=>{throw TypeError(s)};var G=(s,e,t)=>e in s?$(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var k=(s,e,t)=>G(s,typeof e!="symbol"?e+"":e,t),N=(s,e,t)=>e.has(s)||L("Cannot "+t);var a=(s,e,t)=>(N(s,e,"read from private field"),t?t.call(s):e.get(s)),g=(s,e,t)=>e.has(s)?L("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Y=(s,e,t,r)=>(N(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);import{M as Q,N as O,O as V,w as x,P as F,n as W,q as M,B as C,Q as X,R as j,i as H,T as J,E as K,U as ee,V as te,A as se,z as U,W as ae,X as re,Y as ie,k as y,L as ne,l as fe,Z as ce,h as ue,_ as de,a0 as he,u as oe,a1 as _e,a2 as le,a3 as ve,a4 as ge,a5 as be,a6 as me,S as Se,a7 as Pe}from"./DwbuJhNu.js";let I=!1;function Ae(s){var e=I;try{return I=!1,[s(),I]}finally{I=e}}var o,l,h,b,A,E,R;class Ee{constructor(e,t=!0){k(this,"anchor");g(this,o,new Map);g(this,l,new Map);g(this,h,new Map);g(this,b,new Set);g(this,A,!0);g(this,E,e=>{if(a(this,o).has(e)){var t=a(this,o).get(e),r=a(this,l).get(t);if(r)Q(r),a(this,b).delete(t);else{var n=a(this,h).get(t);n&&(a(this,l).set(t,n.effect),a(this,h).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),r=n.effect)}for(const[f,c]of a(this,o)){if(a(this,o).delete(f),f===e)break;const i=a(this,h).get(c);i&&(O(i.effect),a(this,h).delete(c))}for(const[f,c]of a(this,l)){if(f===t||a(this,b).has(f))continue;const i=()=>{if(Array.from(a(this,o).values()).includes(f)){var _=document.createDocumentFragment();X(c,_),_.append(x()),a(this,h).set(f,{effect:c,fragment:_})}else O(c);a(this,b).delete(f),a(this,l).delete(f)};a(this,A)||!r?(a(this,b).add(f),V(c,i,!1)):i()}}});g(this,R,e=>{a(this,o).delete(e);const t=Array.from(a(this,o).values());for(const[r,n]of a(this,h))t.includes(r)||(O(n.effect),a(this,h).delete(r))});this.anchor=e,Y(this,A,t)}ensure(e,t){var r=W,n=j();if(t&&!a(this,l).has(e)&&!a(this,h).has(e))if(n){var f=document.createDocumentFragment(),c=x();f.append(c),a(this,h).set(e,{effect:F(()=>t(c)),fragment:f})}else a(this,l).set(e,F(()=>t(this.anchor)));if(a(this,o).set(r,e),n){for(const[i,u]of a(this,l))i===e?r.unskip_effect(u):r.skip_effect(u);for(const[i,u]of a(this,h))i===e?r.unskip_effect(u.effect):r.skip_effect(u.effect);r.oncommit(a(this,E)),r.ondiscard(a(this,R))}else M&&(this.anchor=C),a(this,E).call(this,r)}}o=new WeakMap,l=new WeakMap,h=new WeakMap,b=new WeakMap,A=new WeakMap,E=new WeakMap,R=new WeakMap;function Re(s,e,t=!1){var r;M&&(r=C,J());var n=new Ee(s),f=t?K:0;function c(i,u){if(M){var _=ee(r);if(i!==parseInt(_.substring(1))){var v=te();se(v),n.anchor=v,U(!1),n.ensure(i,u),U(!0);return}}n.ensure(i,u)}H(()=>{var i=!1;e((u,_=0)=>{i=!0,c(_,u)}),i||c(-1,null)},f)}function Te(s,e,t,r){var B;var n=!_e||(t&le)!==0,f=(t&he)!==0,c=(t&me)!==0,i=r,u=!0,_=()=>(u&&(u=!1,i=c?oe(r):r),i);let v;if(f){var q=Se in s||Pe in s;v=((B=ae(s,e))==null?void 0:B.set)??(q&&e in s?d=>s[e]=d:void 0)}var S,w=!1;f?[S,w]=Ae(()=>s[e]):S=s[e],S===void 0&&r!==void 0&&(S=_(),v&&(n&&re(),v(S)));var m;if(n?m=()=>{var d=s[e];return d===void 0?_():(u=!0,d)}:m=()=>{var d=s[e];return d!==void 0&&(i=void 0),d===void 0?i:d},n&&(t&ie)===0)return m;if(v){var z=s.$$legacy;return(function(d,p){return arguments.length>0?((!n||!p||z||w)&&v(p?m():d),d):m()})}var T=!1,P=((t&ve)!==0?ge:be)(()=>(T=!1,m()));f&&y(P);var Z=ue;return(function(d,p){if(arguments.length>0){const D=p?y(P):n&&f?ne(d):d;return fe(P,D),T=!0,i!==void 0&&(i=D),d}return ce&&T||(Z.f&de)!==0?P.v:y(P)})}export{Ee as B,Re as i,Te as p};
 
1
+ var z=Object.defineProperty;var k=s=>{throw TypeError(s)};var G=(s,e,t)=>e in s?z(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var w=(s,e,t)=>G(s,typeof e!="symbol"?e+"":e,t),N=(s,e,t)=>e.has(s)||k("Cannot "+t);var a=(s,e,t)=>(N(s,e,"read from private field"),t?t.call(s):e.get(s)),g=(s,e,t)=>e.has(s)?k("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),x=(s,e,t,r)=>(N(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);import{M as Q,N as y,O as V,g as Y,P as F,b as W,h as M,n as C,Q as X,R as j,i as H,T as J,y as K,U as ee,V as te,m as se,k as U,W as ae,X as re,Y as ie,A as O,L as ne,B as fe,Z as ce,x as ue,_ as de,a0 as he,u as oe,a1 as _e,a2 as le,a3 as ve,a4 as ge,a5 as be,a6 as me,S as Se,a7 as Pe}from"./Db2Wa-jW.js";let I=!1;function Ae(s){var e=I;try{return I=!1,[s(),I]}finally{I=e}}var o,l,h,b,A,p,R;class pe{constructor(e,t=!0){w(this,"anchor");g(this,o,new Map);g(this,l,new Map);g(this,h,new Map);g(this,b,new Set);g(this,A,!0);g(this,p,e=>{if(a(this,o).has(e)){var t=a(this,o).get(e),r=a(this,l).get(t);if(r)Q(r),a(this,b).delete(t);else{var n=a(this,h).get(t);n&&(a(this,l).set(t,n.effect),a(this,h).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),r=n.effect)}for(const[f,c]of a(this,o)){if(a(this,o).delete(f),f===e)break;const i=a(this,h).get(c);i&&(y(i.effect),a(this,h).delete(c))}for(const[f,c]of a(this,l)){if(f===t||a(this,b).has(f))continue;const i=()=>{if(Array.from(a(this,o).values()).includes(f)){var _=document.createDocumentFragment();X(c,_),_.append(Y()),a(this,h).set(f,{effect:c,fragment:_})}else y(c);a(this,b).delete(f),a(this,l).delete(f)};a(this,A)||!r?(a(this,b).add(f),V(c,i,!1)):i()}}});g(this,R,e=>{a(this,o).delete(e);const t=Array.from(a(this,o).values());for(const[r,n]of a(this,h))t.includes(r)||(y(n.effect),a(this,h).delete(r))});this.anchor=e,x(this,A,t)}ensure(e,t){var r=W,n=j();if(t&&!a(this,l).has(e)&&!a(this,h).has(e))if(n){var f=document.createDocumentFragment(),c=Y();f.append(c),a(this,h).set(e,{effect:F(()=>t(c)),fragment:f})}else a(this,l).set(e,F(()=>t(this.anchor)));if(a(this,o).set(r,e),n){for(const[i,u]of a(this,l))i===e?r.unskip_effect(u):r.skip_effect(u);for(const[i,u]of a(this,h))i===e?r.unskip_effect(u.effect):r.skip_effect(u.effect);r.oncommit(a(this,p)),r.ondiscard(a(this,R))}else M&&(this.anchor=C),a(this,p).call(this,r)}}o=new WeakMap,l=new WeakMap,h=new WeakMap,b=new WeakMap,A=new WeakMap,p=new WeakMap,R=new WeakMap;function Re(s,e,t=!1){var r;M&&(r=C,J());var n=new pe(s),f=t?K:0;function c(i,u){if(M){var _=ee(r);if(i!==parseInt(_.substring(1))){var v=te();se(v),n.anchor=v,U(!1),n.ensure(i,u),U(!0);return}}n.ensure(i,u)}H(()=>{var i=!1;e((u,_=0)=>{i=!0,c(_,u)}),i||c(-1,null)},f)}function Te(s,e,t,r){var D;var n=!_e||(t&le)!==0,f=(t&he)!==0,c=(t&me)!==0,i=r,u=!0,_=()=>(u&&(u=!1,i=c?oe(r):r),i);let v;if(f){var Z=Se in s||Pe in s;v=((D=ae(s,e))==null?void 0:D.set)??(Z&&e in s?d=>s[e]=d:void 0)}var S,B=!1;f?[S,B]=Ae(()=>s[e]):S=s[e],S===void 0&&r!==void 0&&(S=_(),v&&(n&&re(),v(S)));var m;if(n?m=()=>{var d=s[e];return d===void 0?_():(u=!0,d)}:m=()=>{var d=s[e];return d!==void 0&&(i=void 0),d===void 0?i:d},n&&(t&ie)===0)return m;if(v){var $=s.$$legacy;return(function(d,E){return arguments.length>0?((!n||!E||$||B)&&v(E?m():d),d):m()})}var T=!1,P=((t&ve)!==0?ge:be)(()=>(T=!1,m()));f&&O(P);var q=ue;return(function(d,E){if(arguments.length>0){const L=E?O(P):n&&f?ne(d):d;return fe(P,L),T=!0,i!==void 0&&(i=L),d}return ce&&T||(q.f&de)!==0?P.v:O(P)})}export{pe as B,Re as i,Te as p};
web/sveltekit/build/_app/immutable/chunks/Cl16PtNL.js DELETED
@@ -1 +0,0 @@
1
- var Q=i=>{throw TypeError(i)};var dt=(i,t,e)=>t.has(i)||Q("Cannot "+e);var N=(i,t,e)=>(dt(i,t,"read from private field"),e?e.call(i):t.get(i)),X=(i,t,e)=>t.has(i)?Q("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,e);import{k as Y,s as T,a as v,l as z,f as W,d as ht,b as vt,c as $,t as ft}from"./Dlpu43Tj.js";import{q as G,A as tt,F as L,t as x,T as et,h as ut,b7 as mt,B as rt,C as _t,y as gt,b6 as yt,b3 as bt,aX as pt,b8 as wt,b9 as xt,c as _,r as f,s as k,k as r,J as K,f as U,j,l as C,p as q,a as J,L as Wt,K as at,v as Mt}from"./DwbuJhNu.js";import{p as B,i as A}from"./8F5LpR-T.js";import{s,a as nt,b as St,e as it,i as st}from"./CBcGqa-S.js";import{s as Tt}from"./DNaFzQeI.js";function kt(i,t,e=!1,a=!1,l=!1,c=!1){var h=i,d="";if(e){var o=i;G&&(h=tt(L(o)))}x(()=>{var u=ut;if(d===(d=t()??"")){G&&et();return}if(e&&!G){u.nodes=null,o.innerHTML=d,d!==""&&Y(L(o),o.lastChild);return}if(u.nodes!==null&&(mt(u.nodes.start,u.nodes.end),u.nodes=null),d!==""){if(G){rt.data;for(var y=et(),b=y;y!==null&&(y.nodeType!==_t||y.data!=="");)b=y,y=gt(y);if(y===null)throw yt(),bt;Y(rt,b),h=tt(y);return}var p=a?wt:l?xt:void 0,M=pt(a?"svg":l?"math":"template",p);M.innerHTML=d;var m=a||l?M:M.content;if(Y(L(m),m.lastChild),a||l)for(;L(m);)h.before(L(m));else h.before(m)}})}var Ct=z('<rect x="0" y="0"></rect>'),Et=z('<rect fill="none"></rect>'),It=z("<circle></circle>"),Dt=z('<defs><pattern width="3" height="3" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="3" stroke-width="1.5"></line></pattern></defs><rect></rect>',1),At=z('<svg role="img" style="flex: none; display: inline-block; vertical-align: -0.12em;"><title> </title><!></svg>');function ot(i,t){let e=B(t,"size",3,12),a=B(t,"color",3,"currentColor");const l={empirical:"Empirical: directly measured or observed",modeled:"Modeled: scenario-based prediction",proxy:"Proxy: indirect indicator",synthetic:"Synthetic prior: generated, not observed"};let c=K(()=>Math.max(1,Math.round(e()/9))),h=K(()=>t.title??l[t.tier]),d=K(()=>`rip-stripe-${t.tier}-${e()}`);var o=At(),u=_(o),y=_(u,!0);f(u);var b=k(u);{var p=g=>{var n=Ct();x(()=>{s(n,"width",e()),s(n,"height",e()),s(n,"fill",a())}),v(g,n)},M=g=>{var n=Et();x(()=>{s(n,"x",r(c)/2),s(n,"y",r(c)/2),s(n,"width",e()-r(c)),s(n,"height",e()-r(c)),s(n,"stroke",a()),s(n,"stroke-width",r(c))}),v(g,n)},m=g=>{var n=It();x(()=>{s(n,"cx",e()/2),s(n,"cy",e()/2),s(n,"r",e()/2-.5),s(n,"fill",a())}),v(g,n)},w=g=>{var n=Dt(),E=U(n),P=_(E),V=_(P);f(P),f(E);var S=k(E);x(()=>{s(P,"id",r(d)),s(V,"stroke",a()),s(S,"x",r(c)/2),s(S,"y",r(c)/2),s(S,"width",e()-r(c)),s(S,"height",e()-r(c)),s(S,"fill",`url(#${r(d)??""})`),s(S,"stroke",a()),s(S,"stroke-width",r(c))}),v(g,n)};A(b,g=>{t.tier==="empirical"?g(p):t.tier==="modeled"?g(M,1):t.tier==="proxy"?g(m,2):g(w,-1)})}f(o),x(()=>{s(o,"width",e()),s(o,"height",e()),s(o,"viewBox",`0 0 ${e()??""} ${e()??""}`),s(o,"aria-label",r(h)),T(y,r(h))}),v(i,o)}var Pt=W('<span><span class="claim-glyph" aria-hidden="false"><!></span> <span class="claim-body"><!></span></span>');function Rt(i,t){var e=Pt(),a=_(e),l=_(a);ot(l,{get tier(){return t.tier},size:11,get color(){return`var(--tier-${t.tier??""})`}}),f(a);var c=k(a,2),h=_(c);Tt(h,()=>t.children),f(c),f(e),x(()=>{nt(e,1,`claim claim-${t.tier??""}`),s(e,"data-tier",t.tier)}),v(i,e)}var F,O;class Nt{constructor(){X(this,F,j(null));X(this,O,j(null))}get active(){return r(N(this,F))}set active(t){C(N(this,F),t,!0)}get highlightDocId(){return r(N(this,O))}set highlightDocId(t){C(N(this,O),t,!0)}}F=new WeakMap,O=new WeakMap;const Lt=new Nt;var Bt=W('<a class="inline-cite"><sup> </sup></a>');function Ft(i,t){q(t,!0);function e(h){h.preventDefault(),Lt.active=t.c.id;const d=document.getElementById(`cite-${t.c.id}`);d==null||d.scrollIntoView({block:"center",behavior:"smooth"})}var a=Bt(),l=_(a),c=_(l);f(l),f(a),x(()=>{s(a,"href",`#cite-${t.c.id??""}`),s(a,"data-cite",t.c.id),s(a,"aria-label",`Citation ${t.c.n??""}: ${t.c.source??""}, ${t.c.title??""}`),T(c,`[${t.c.n??""}]`)}),vt("click",a,e),v(i,a),J()}ht(["click"]);const Ot={empirical:{label:"Empirical",short:"EMP",desc:"Directly measured or observed",examples:"USGS high-water marks · FloodNet sensors · Sandy Inundation Zone"},modeled:{label:"Modeled",short:"MOD",desc:"Scenario-based prediction",examples:"FEMA flood zones · DEP stormwater scenarios · NPCC4 SLR"},proxy:{label:"Proxy",short:"PRX",desc:"Indirect indicator",examples:"311 flood complaints · NFIP claims · terrain indices"},synthetic:{label:"Synthetic prior",short:"SYN",desc:"Generated, not observed",examples:"TerraMind land-cover · synthetic SAR for occluded days"}};function se(i){const t=i.toLowerCase();return t.startsWith("syn")||t.startsWith("terramind")||t.includes("synthetic")?"synthetic":t.startsWith("sandy")||t.startsWith("floodnet")||t.startsWith("usgs")||t.startsWith("mta_entrance")||t.startsWith("nycha_dev")||t.startsWith("doe_school")||t.startsWith("doh_hospital")||t.startsWith("ida_hwm")||t.startsWith("hwm")||t.startsWith("noaa")||t.startsWith("nws_obs")||t.startsWith("prithvi_eo")?"empirical":t.startsWith("dep")||t.startsWith("fema_firm")||t.startsWith("npcc")||t.startsWith("wrp")||t.includes("scenario")||t.includes("forecast")||t.startsWith("prithvi")||t.startsWith("ttm")||t.startsWith("nws_alert")?"modeled":(t.startsWith("nyc311")||t.startsWith("311")||t.startsWith("nfip")||t.startsWith("rag")||t.startsWith("dob")||t.startsWith("hand")||t.startsWith("twi")||t.startsWith("microtopo"),"proxy")}function ne(i){const t=i.toLowerCase();return t==="geocode"||t.startsWith("fan")||t.startsWith("merge")||t==="plan"||t==="compose"||t==="reconcile"||t==="stream"?null:t==="sandy"||t==="sandy_inundation"||t==="floodnet"||t==="ida_hwm"||t==="noaa_tides"||t==="nws_obs"||t==="prithvi_eo_v2"||t==="prithvi_eo_live"||t==="mta_entrance_exposure"||t==="mta_entrances"||t==="nycha_developments"||t==="doe_school_exposure"||t==="doe_schools"||t==="doh_hospital_exposure"||t==="doh_hospitals"?"empirical":t==="dep"||t==="dep_stormwater"||t==="ttm_forecast"||t==="ttm_311_forecast"||t==="floodnet_forecast"||t==="nws_alerts"||t==="prithvi_water"?"modeled":t==="nyc311"||t==="microtopo"||t==="microtopo_lidar"||t==="rag"||t==="rag_mta"?"proxy":t==="terramind"||t==="terramind_synthesis"?"synthetic":null}var zt=W("<span><!> </span>");function Ht(i,t){q(t,!0);let e=B(t,"compact",3,!1),a=K(()=>Ot[t.tier]);var l=zt();let c;var h=_(l);ot(h,{get tier(){return t.tier},size:10,get color(){return`var(--tier-${t.tier??""})`}});var d=k(h);f(l),x(()=>{nt(l,1,`tier-badge tier-badge-${t.tier??""}`,"svelte-1acpjpp"),s(l,"title",r(a).desc),c=St(l,"",c,{color:`var(--tier-${t.tier??""})`}),T(d,` ${(e()?r(a).short:r(a).label)??""}`)}),v(i,l),J()}var Gt=W('<span class="briefing-section-tier"><!></span>'),Kt=W('<span class="briefing-section-title"> </span>'),Ut=W('<h3 class="briefing-section-head"><span class="briefing-section-num"> </span> <span class="briefing-section-label"> </span> <!> <!></h3>');function jt(i,t){var e=Ut(),a=_(e),l=_(a,!0);f(a);var c=k(a,2),h=_(c,!0);f(c);var d=k(c,2);{var o=b=>{var p=Gt(),M=_(p);Ht(M,{get tier(){return t.tier},compact:!0}),f(p),v(b,p)};A(d,b=>{t.tier&&b(o)})}var u=k(d,2);{var y=b=>{var p=Kt(),M=_(p,!0);f(p),x(()=>T(M,t.title)),v(b,p)};A(u,b=>{t.title&&b(y)})}f(e),x(()=>{T(l,t.n),T(h,t.label)}),v(i,e)}var Vt=W('<div class="briefing-status briefing-fade-in svelte-cc2m0h"></div>'),Xt=W('<div class="briefing-fade-in svelte-cc2m0h"><!></div>'),Yt=W("<!><!>",1),qt=W("<span> </span>"),Jt=W('<p class="briefing-para briefing-fade-in svelte-cc2m0h"></p>'),Zt=W('<div class="briefing-prose" role="log" aria-live="polite" aria-atomic="false" aria-label="Streaming flood-exposure briefing"></div>');function oe(i,t){q(t,!0);let e=B(t,"streaming",3,!1),a=B(t,"replayKey",3,0),l=j(Wt(t.blocks.length)),c=j(!1);at(()=>{typeof window>"u"||C(c,window.matchMedia("(prefers-reduced-motion: reduce)").matches,!0)}),at(()=>{if(a(),!e()){C(l,t.blocks.length,!0);return}if(r(c)){C(l,t.blocks.length,!0);return}C(l,0);let d=0,o;const u=()=>{d++,C(l,d,!0),d<t.blocks.length&&(o=setTimeout(u,d<2?280:420))};return o=setTimeout(u,240),()=>clearTimeout(o)});var h=Zt();it(h,21,()=>t.blocks.slice(0,r(l)),st,(d,o)=>{var u=$(),y=U(u);{var b=m=>{var w=Vt();kt(w,()=>r(o).html,!0),f(w),v(m,w)},p=m=>{var w=Xt(),g=_(w);jt(g,{get n(){return r(o).n},get label(){return r(o).label},get tier(){return r(o).tier},get title(){return r(o).title}}),f(w),v(m,w)},M=m=>{var w=Jt();it(w,21,()=>r(o).parts,st,(g,n)=>{var E=$(),P=U(E);{var V=I=>{var D=Yt(),H=U(D);Rt(H,{get tier(){return r(n).tier},children:(R,Qt)=>{Mt();var Z=ft();x(()=>T(Z,r(n).text)),v(R,Z)}});var lt=k(H);{var ct=R=>{Ft(R,{get c(){return t.citations[r(n).cite]}})};A(lt,R=>{r(n).cite&&t.citations[r(n).cite]&&R(ct)})}v(I,D)},S=I=>{var D=qt(),H=_(D,!0);f(D),x(()=>T(H,r(n).text)),v(I,D)};A(P,I=>{r(n).tier?I(V):I(S,-1)})}v(g,E)}),f(w),v(m,w)};A(y,m=>{r(o).kind==="status"?m(b):r(o).kind==="head"?m(p,1):m(M,-1)})}v(d,u)}),f(h),v(i,h),J()}export{oe as B,ot as T,ne as a,Ht as b,Lt as c,Ot as d,se as t};
 
 
web/sveltekit/build/_app/immutable/chunks/DFFHaukH.js DELETED
@@ -1 +0,0 @@
1
- import{e}from"./DwbuJhNu.js";e();
 
 
web/sveltekit/build/_app/immutable/chunks/DVC_-Bbc.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{q as a}from"./Db2Wa-jW.js";a();
web/sveltekit/build/_app/immutable/chunks/Db2Wa-jW.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var bn=Object.defineProperty;var Ot=e=>{throw TypeError(e)};var Tn=(e,t,n)=>t in e?bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var se=(e,t,n)=>Tn(e,typeof t!="symbol"?t+"":t,n),st=(e,t,n)=>t.has(e)||Ot("Cannot "+n);var u=(e,t,n)=>(st(e,t,"read from private field"),n?n.call(e):t.get(e)),N=(e,t,n)=>t.has(e)?Ot("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),ge=(e,t,n,r)=>(st(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),I=(e,t,n)=>(st(e,t,"access private method"),n);var An=Array.isArray,Sn=Array.prototype.indexOf,ke=Array.prototype.includes,br=Array.from,Tr=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,Rn=Object.getOwnPropertyDescriptors,kn=Object.prototype,Nn=Array.prototype,Ht=Object.getPrototypeOf,xt=Object.isExtensible;const On=()=>{};function Ar(e){return e()}function xn(e){for(var t=0;t<e.length;t++)e[t]()}function qt(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const x=2,de=4,He=8,ht=1<<24,G=16,z=32,ee=64,Dn=128,F=512,b=1024,O=2048,K=4096,L=8192,U=16384,Ee=32768,Dt=1<<25,Ze=65536,ft=1<<17,In=1<<18,qe=1<<19,Ut=1<<20,Sr=1<<25,he=65536,We=1<<21,Fe=1<<22,Q=1<<23,ce=Symbol("$state"),Rr=Symbol("legacy props"),kr=Symbol(""),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Yt;const Or=!!((Yt=globalThis.document)!=null&&Yt.contentType)&&globalThis.document.contentType.includes("xml"),xr=1,rt=3,Vt=8;function Bt(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Mn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Dr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Pn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Cn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Fn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ln(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Ir(){throw new Error("https://svelte.dev/e/hydration_failed")}function Mr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function jn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Yn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Hn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Pr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Cr=1,Fr=2,Lr=4,jr=8,Yr=16,Hr=1,qr=2,Ur=4,Vr=8,Br=16,Gr=1,zr=2,qn="[",Un="[!",Kr="[?",Vn="]",pt={},S=Symbol(),Bn="http://www.w3.org/1999/xhtml",$r="http://www.w3.org/2000/svg",Xr="http://www.w3.org/1998/Math/MathML",Zr="@attach";function Gn(){console.warn("https://svelte.dev/e/derived_inert")}function wt(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Wr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Jr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let pe=!1;function Qr(e){pe=e}let R;function Ne(e){if(e===null)throw wt(),pt;return R=e}function es(){return Ne(re(R))}function ts(e){if(pe){if(re(R)!==null)throw wt(),pt;R=e}}function ns(e=1){if(pe){for(var t=e,n=R;t--;)n=re(n);R=n}}function rs(e=!0){for(var t=0,n=R;;){if(n.nodeType===Vt){var r=n.data;if(r===Vn){if(t===0)return n;t-=1}else(r===qn||r===Un||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=re(n);e&&n.remove(),n=s}}function ss(e){if(!e||e.nodeType!==Vt)throw wt(),pt;return e.data}function Gt(e){return e===this.v}function zn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function zt(e){return!zn(e,this.v)}let Ue=!1;function is(){Ue=!0}let T=null;function Je(e){T=e}function ls(e,t=!1,n){T={p:T,i:!1,c:null,e:null,s:e,x:null,r:y,l:Ue&&!t?{s:null,u:null,$:[]}:null}}function fs(e){var t=T,n=t.e;if(n!==null){t.e=null;for(var r of n)on(r)}return t.i=!0,T=t.p,{}}function Ve(){return!Ue||T!==null&&T.l===null}let fe=[];function Kt(){var e=fe;fe=[],xn(e)}function at(e){if(fe.length===0&&!Ce){var t=fe;queueMicrotask(()=>{t===fe&&Kt()})}fe.push(e)}function Kn(){for(;fe.length>0;)Kt()}function $n(e){var t=y;if(t===null)return w.f|=Q,e;if((t.f&Ee)===0&&(t.f&de)===0)throw e;Qe(e,t)}function Qe(e,t){for(;t!==null;){if((t.f&Dn)!==0){if((t.f&Ee)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Xn=-7169;function E(e,t){e.f=e.f&Xn|t}function yt(e){(e.f&F)!==0||e.deps===null?E(e,b):E(e,K)}function $t(e){if(e!==null)for(const t of e)(t.f&x)===0||(t.f&he)===0||(t.f^=he,$t(t.deps))}function Zn(e,t,n){(e.f&O)!==0?t.add(e):(e.f&K)!==0&&n.add(e),$t(e.deps),E(e,b)}const ie=new Set;let p=null,k=null,ot=null,Ce=!1,it=!1,me=null,Ge=null;var It=0;let Wn=1;var Te,Ae,oe,X,V,je,P,Ye,J,Z,B,Se,Re,ue,g,ze,Xt,Ke,ut,$e,Jn;const nt=class nt{constructor(){N(this,g);se(this,"id",Wn++);se(this,"current",new Map);se(this,"previous",new Map);N(this,Te,new Set);N(this,Ae,new Set);N(this,oe,new Set);N(this,X,new Map);N(this,V,new Map);N(this,je,null);N(this,P,[]);N(this,Ye,[]);N(this,J,new Set);N(this,Z,new Set);N(this,B,new Map);N(this,Se,new Set);se(this,"is_fork",!1);N(this,Re,!1);N(this,ue,new Set)}skip_effect(t){u(this,B).has(t)||u(this,B).set(t,{d:[],m:[]}),u(this,Se).delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=u(this,B).get(t);if(r){u(this,B).delete(t);for(var s of r.d)E(s,O),n(s);for(s of r.m)E(s,K),n(s)}u(this,Se).add(t)}capture(t,n,r=!1){t.v!==S&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&Q)===0&&(this.current.set(t,[n,r]),k==null||k.set(t,n)),this.is_fork||(t.v=n)}activate(){p=this}deactivate(){p=null,k=null}flush(){try{it=!0,p=this,I(this,g,Ke).call(this)}finally{It=0,ot=null,me=null,Ge=null,it=!1,p=null,k=null,_e.clear()}}discard(){for(const t of u(this,Ae))t(this);u(this,Ae).clear(),u(this,oe).clear(),ie.delete(this)}register_created_effect(t){u(this,Ye).push(t)}increment(t,n){let r=u(this,X).get(n)??0;if(u(this,X).set(n,r+1),t){let s=u(this,V).get(n)??0;u(this,V).set(n,s+1)}}decrement(t,n,r){let s=u(this,X).get(n)??0;if(s===1?u(this,X).delete(n):u(this,X).set(n,s-1),t){let i=u(this,V).get(n)??0;i===1?u(this,V).delete(n):u(this,V).set(n,i-1)}u(this,Re)||r||(ge(this,Re,!0),at(()=>{ge(this,Re,!1),this.flush()}))}transfer_effects(t,n){for(const r of t)u(this,J).add(r);for(const r of n)u(this,Z).add(r);t.clear(),n.clear()}oncommit(t){u(this,Te).add(t)}ondiscard(t){u(this,Ae).add(t)}on_fork_commit(t){u(this,oe).add(t)}run_fork_commit_callbacks(){for(const t of u(this,oe))t(this);u(this,oe).clear()}settled(){return(u(this,je)??ge(this,je,qt())).promise}static ensure(){if(p===null){const t=p=new nt;it||(ie.add(p),Ce||at(()=>{p===t&&t.flush()}))}return p}apply(){{k=null;return}}schedule(t){var s;if(ot=t,(s=t.b)!=null&&s.is_pending&&(t.f&(de|He|ht))!==0&&(t.f&Ee)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(me!==null&&n===y&&(w===null||(w.f&x)===0))return;if((r&(ee|z))!==0){if((r&b)===0)return;n.f^=b}}u(this,P).push(n)}};Te=new WeakMap,Ae=new WeakMap,oe=new WeakMap,X=new WeakMap,V=new WeakMap,je=new WeakMap,P=new WeakMap,Ye=new WeakMap,J=new WeakMap,Z=new WeakMap,B=new WeakMap,Se=new WeakMap,Re=new WeakMap,ue=new WeakMap,g=new WeakSet,ze=function(){return this.is_fork||u(this,V).size>0},Xt=function(){for(const r of u(this,ue))for(const s of u(r,V).keys()){for(var t=!1,n=s;n.parent!==null;){if(u(this,B).has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1},Ke=function(){var a,f;if(It++>1e3&&(ie.delete(this),er()),!I(this,g,ze).call(this)){for(const l of u(this,J))u(this,Z).delete(l),E(l,O),this.schedule(l);for(const l of u(this,Z))E(l,K),this.schedule(l)}const t=u(this,P);ge(this,P,[]),this.apply();var n=me=[],r=[],s=Ge=[];for(const l of t)try{I(this,g,ut).call(this,l,n,r)}catch(c){throw Jt(l),c}if(p=null,s.length>0){var i=nt.ensure();for(const l of s)i.schedule(l)}if(me=null,Ge=null,I(this,g,ze).call(this)||I(this,g,Xt).call(this)){I(this,g,$e).call(this,r),I(this,g,$e).call(this,n);for(const[l,c]of u(this,B))Wt(l,c)}else{u(this,X).size===0&&ie.delete(this),u(this,J).clear(),u(this,Z).clear();for(const l of u(this,Te))l(this);u(this,Te).clear(),Mt(r),Mt(n),(a=u(this,je))==null||a.resolve()}var o=p;if(u(this,P).length>0){const l=o??(o=this);u(l,P).push(...u(this,P).filter(c=>!u(l,P).includes(c)))}o!==null&&(ie.add(o),I(f=o,g,Ke).call(f))},ut=function(t,n,r){t.f^=b;for(var s=t.first;s!==null;){var i=s.f,o=(i&(z|ee))!==0,a=o&&(i&b)!==0,f=a||(i&L)!==0||u(this,B).has(s);if(!f&&s.fn!==null){o?s.f^=b:(i&de)!==0?n.push(s):Be(s)&&((i&G)!==0&&u(this,Z).add(s),xe(s));var l=s.first;if(l!==null){s=l;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},$e=function(t){for(var n=0;n<t.length;n+=1)Zn(t[n],u(this,J),u(this,Z))},Jn=function(){var c,h,d;for(const v of ie){var t=v.id<this.id,n=[];for(const[_,[A,m]]of this.current){if(v.current.has(_)){var r=v.current.get(_)[0];if(t&&A!==r)v.current.set(_,[A,m]);else continue}n.push(_)}var s=[...v.current.keys()].filter(_=>!this.current.has(_));if(s.length===0)t&&v.discard();else if(n.length>0){if(t)for(const _ of u(this,Se))v.unskip_effect(_,A=>{var m;(A.f&(G|Fe))!==0?v.schedule(A):I(m=v,g,$e).call(m,[A])});v.activate();var i=new Set,o=new Map;for(var a of n)Zt(a,s,i,o);o=new Map;var f=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,Ye))(_.f&(U|L|ft))===0&&Et(_,f,o)&&((_.f&(Fe|G))!==0?(E(_,O),v.schedule(_)):u(v,J).add(_));if(u(v,P).length>0){v.apply();for(var l of u(v,P))I(c=v,g,ut).call(c,l,[],[]);ge(v,P,[])}v.deactivate()}}for(const v of ie)u(v,ue).has(this)&&(u(v,ue).delete(this),u(v,ue).size===0&&!I(h=v,g,ze).call(h)&&(v.activate(),I(d=v,g,Ke).call(d)))};let we=nt;function Qn(e){var t=Ce;Ce=!0;try{for(var n;;){if(Kn(),p===null)return n;p.flush()}}finally{Ce=t}}function er(){try{Ln()}catch(e){Qe(e,ot)}}let H=null;function Mt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(U|L))===0&&Be(r)&&(H=new Set,xe(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&cn(r),(H==null?void 0:H.size)>0)){_e.clear();for(const s of H){if((s.f&(U|L))!==0)continue;const i=[s];let o=s.parent;for(;o!==null;)H.has(o)&&(H.delete(o),i.push(o)),o=o.parent;for(let a=i.length-1;a>=0;a--){const f=i[a];(f.f&(U|L))===0&&xe(f)}}H.clear()}}H=null}}function Zt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&x)!==0?Zt(s,t,n,r):(i&(Fe|G))!==0&&(i&O)===0&&Et(s,t,r)&&(E(s,O),gt(s))}}function Et(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(ke.call(t,s))return!0;if((s.f&x)!==0&&Et(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function gt(e){p.schedule(e)}function Wt(e,t){if(!((e.f&z)!==0&&(e.f&b)!==0)){(e.f&O)!==0?t.d.push(e):(e.f&K)!==0&&t.m.push(e),E(e,b);for(var n=e.first;n!==null;)Wt(n,t),n=n.next}}function Jt(e){E(e,b);for(var t=e.first;t!==null;)Jt(t),t=t.next}function Qt(e,t,n,r){const s=Ve()?bt:rr;var i=e.filter(d=>!d.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var o=y,a=tr(),f=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(d=>d.promise)):null;function l(d){a();try{r(d)}catch(v){(o.f&U)===0&&Qe(v,o)}et()}if(n.length===0){f.then(()=>l(t.map(s)));return}var c=mt();function h(){Promise.all(n.map(d=>nr(d))).then(d=>l([...t.map(s),...d])).catch(d=>Qe(d,o)).finally(()=>c())}f?f.then(()=>{a(),h(),et()}):h()}function tr(){var e=y,t=w,n=T,r=p;return function(i=!0){Oe(e),ne(t),Je(n),i&&(e.f&U)===0&&(r==null||r.activate(),r==null||r.apply())}}function et(e=!0){Oe(null),ne(null),Je(null),e&&(p==null||p.deactivate())}function mt(){var e=y,t=e.b,n=p,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(s=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,s)}}function bt(e){var t=x|O;return y!==null&&(y.f|=qe),{ctx:T,deps:null,effects:null,equals:Gt,f:t,fn:e,reactions:null,rv:0,v:S,wv:0,parent:y,ac:null}}function nr(e,t,n){let r=y;r===null&&Mn();var s=void 0,i=At(S),o=!w,a=new Map;return vr(()=>{var v;var f=y,l=qt();s=l.promise;try{Promise.resolve(e()).then(l.resolve,l.reject).finally(et)}catch(_){l.reject(_),et()}var c=p;if(o){if((f.f&Ee)!==0)var h=mt();if(r.b.is_rendered())(v=a.get(c))==null||v.reject($),a.delete(c);else{for(const _ of a.values())_.reject($);a.clear()}a.set(c,l)}const d=(_,A=void 0)=>{if(h){var m=A===$;h(m)}if(!(A===$||(f.f&U)!==0)){if(c.activate(),A)i.f|=Q,_t(i,A);else{(i.f&Q)!==0&&(i.f^=Q),_t(i,_);for(const[De,Ie]of a){if(a.delete(De),De===c)break;Ie.reject($)}}c.deactivate()}};l.promise.then(d,_=>d(null,_||"unknown"))}),cr(()=>{for(const f of a.values())f.reject($)}),new Promise(f=>{function l(c){function h(){c===s?f(i):l(s)}c.then(h,h)}l(s)})}function as(e){const t=bt(e);return dn(t),t}function rr(e){const t=bt(e);return t.equals=zt,t}function sr(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)ye(t[n])}}function Tt(e){var t,n=y,r=e.parent;if(!te&&r!==null&&(r.f&(U|L))!==0)return Gn(),e.v;Oe(r);try{e.f&=~he,sr(e),t=yn(e)}finally{Oe(n)}return t}function en(e){var t=Tt(e);if(!e.equals(t)&&(e.wv=pn(),(!(p!=null&&p.is_fork)||e.deps===null)&&(p!==null?p.capture(e,t,!0):e.v=t,e.deps===null))){E(e,b);return}te||(k!==null?(an()||p!=null&&p.is_fork)&&k.set(e,t):yt(e))}function ir(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort($),r.teardown=On,r.ac=null,Le(r,0),kt(r))}function tn(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&xe(t)}let ct=new Set;const _e=new Map;let nn=!1;function At(e,t){var n={f:0,v:e,reactions:null,equals:Gt,rv:0,wv:0};return n}function W(e,t){const n=At(e);return dn(n),n}function os(e,t=!1,n=!0){var s;const r=At(e);return t||(r.equals=zt),Ue&&n&&T!==null&&T.l!==null&&((s=T.l).s??(s.s=[])).push(r),r}function le(e,t,n=!1){w!==null&&(!q||(w.f&ft)!==0)&&Ve()&&(w.f&(x|G|Fe|ft))!==0&&(j===null||!ke.call(j,e))&&Hn();let r=n?Me(t):t;return _t(e,r,Ge)}function _t(e,t,n=null){if(!e.equals(t)){_e.set(e,te?t:e.v);var r=we.ensure();if(r.capture(e,t),(e.f&x)!==0){const s=e;(e.f&O)!==0&&Tt(s),k===null&&yt(s)}e.wv=pn(),rn(e,O,n),Ve()&&y!==null&&(y.f&b)!==0&&(y.f&(z|ee))===0&&(C===null?wr([e]):C.push(e)),!r.is_fork&&ct.size>0&&!nn&&lr()}return t}function lr(){nn=!1;for(const e of ct)(e.f&b)!==0&&E(e,K),Be(e)&&xe(e);ct.clear()}function lt(e){le(e,e.v+1)}function rn(e,t,n){var r=e.reactions;if(r!==null)for(var s=Ve(),i=r.length,o=0;o<i;o++){var a=r[o],f=a.f;if(!(!s&&a===y)){var l=(f&O)===0;if(l&&E(a,t),(f&x)!==0){var c=a;k==null||k.delete(c),(f&he)===0&&(f&F&&(y===null||(y.f&We)===0)&&(a.f|=he),rn(c,K,n))}else if(l){var h=a;(f&G)!==0&&H!==null&&H.add(h),n!==null?n.push(h):gt(h)}}}}function Me(e){if(typeof e!="object"||e===null||ce in e)return e;const t=Ht(e);if(t!==kn&&t!==Nn)return e;var n=new Map,r=An(e),s=W(0),i=ve,o=a=>{if(ve===i)return a();var f=w,l=ve;ne(null),jt(i);var c=a();return ne(f),jt(l),c};return r&&n.set("length",W(e.length)),new Proxy(e,{defineProperty(a,f,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&jn();var c=n.get(f);return c===void 0?o(()=>{var h=W(l.value);return n.set(f,h),h}):le(c,l.value,!0),!0},deleteProperty(a,f){var l=n.get(f);if(l===void 0){if(f in a){const c=o(()=>W(S));n.set(f,c),lt(s)}}else le(l,S),lt(s);return!0},get(a,f,l){var v;if(f===ce)return e;var c=n.get(f),h=f in a;if(c===void 0&&(!h||(v=Pe(a,f))!=null&&v.writable)&&(c=o(()=>{var _=Me(h?a[f]:S),A=W(_);return A}),n.set(f,c)),c!==void 0){var d=be(c);return d===S?void 0:d}return Reflect.get(a,f,l)},getOwnPropertyDescriptor(a,f){var l=Reflect.getOwnPropertyDescriptor(a,f);if(l&&"value"in l){var c=n.get(f);c&&(l.value=be(c))}else if(l===void 0){var h=n.get(f),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return l},has(a,f){var d;if(f===ce)return!0;var l=n.get(f),c=l!==void 0&&l.v!==S||Reflect.has(a,f);if(l!==void 0||y!==null&&(!c||(d=Pe(a,f))!=null&&d.writable)){l===void 0&&(l=o(()=>{var v=c?Me(a[f]):S,_=W(v);return _}),n.set(f,l));var h=be(l);if(h===S)return!1}return c},set(a,f,l,c){var Nt;var h=n.get(f),d=f in a;if(r&&f==="length")for(var v=l;v<h.v;v+=1){var _=n.get(v+"");_!==void 0?le(_,S):v in a&&(_=o(()=>W(S)),n.set(v+"",_))}if(h===void 0)(!d||(Nt=Pe(a,f))!=null&&Nt.writable)&&(h=o(()=>W(void 0)),le(h,Me(l)),n.set(f,h));else{d=h.v!==S;var A=o(()=>Me(l));le(h,A)}var m=Reflect.getOwnPropertyDescriptor(a,f);if(m!=null&&m.set&&m.set.call(c,l),!d){if(r&&typeof f=="string"){var De=n.get("length"),Ie=Number(f);Number.isInteger(Ie)&&Ie>=De.v&&le(De,Ie+1)}lt(s)}return!0},ownKeys(a){be(s);var f=Reflect.ownKeys(a).filter(h=>{var d=n.get(h);return d===void 0||d.v!==S});for(var[l,c]of n)c.v!==S&&!(l in a)&&f.push(l);return f},setPrototypeOf(){Yn()}})}function Pt(e){try{if(e!==null&&typeof e=="object"&&ce in e)return e[ce]}catch{}return e}function us(e,t){return Object.is(Pt(e),Pt(t))}var Ct,fr,ar,sn,ln;function cs(){if(Ct===void 0){Ct=window,fr=document,ar=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;sn=Pe(t,"firstChild").get,ln=Pe(t,"nextSibling").get,xt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),xt(n)&&(n.__t=void 0)}}function tt(e=""){return document.createTextNode(e)}function vt(e){return sn.call(e)}function re(e){return ln.call(e)}function _s(e,t){if(!pe)return vt(e);var n=vt(R);if(n===null)n=R.appendChild(tt());else if(t&&n.nodeType!==rt){var r=tt();return n==null||n.before(r),Ne(r),r}return t&&St(n),Ne(n),n}function vs(e,t=!1){if(!pe){var n=vt(e);return n instanceof Comment&&n.data===""?re(n):n}if(t){if((R==null?void 0:R.nodeType)!==rt){var r=tt();return R==null||R.before(r),Ne(r),r}St(R)}return R}function ds(e,t=1,n=!1){let r=pe?R:e;for(var s;t--;)s=r,r=re(r);if(!pe)return r;if(n){if((r==null?void 0:r.nodeType)!==rt){var i=tt();return r===null?s==null||s.after(i):r.before(i),Ne(i),i}St(r)}return Ne(r),r}function hs(e){e.textContent=""}function ps(){return!1}function ws(e,t,n){return document.createElementNS(t??Bn,e,void 0)}function St(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===rt;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function ys(e,t){if(t){const n=document.body;e.autofocus=!0,at(()=>{document.activeElement===n&&e.focus()})}}let Ft=!1;function or(){Ft||(Ft=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function Rt(e){var t=w,n=y;ne(null),Oe(null);try{return e()}finally{ne(t),Oe(n)}}function Es(e,t,n,r=n){e.addEventListener(t,()=>Rt(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),or()}function fn(e){y===null&&(w===null&&Fn(),Cn()),te&&Pn()}function ur(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Y(e,t){var n=y;n!==null&&(n.f&L)!==0&&(e|=L);var r={ctx:T,deps:null,nodes:null,f:e|O|F,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if((e&de)!==0)me!==null?me.push(r):we.ensure().schedule(r);else if(t!==null){try{xe(r)}catch(o){throw ye(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&qe)===0&&(s=s.first,(e&G)!==0&&(e&Ze)!==0&&s!==null&&(s.f|=Ze))}if(s!==null&&(s.parent=n,n!==null&&ur(s,n),w!==null&&(w.f&x)!==0&&(e&ee)===0)){var i=w;(i.effects??(i.effects=[])).push(s)}return r}function an(){return w!==null&&!q}function cr(e){const t=Y(He,null);return E(t,b),t.teardown=e,t}function _r(e){fn();var t=y.f,n=!w&&(t&z)!==0&&(t&Ee)===0;if(n){var r=T;(r.e??(r.e=[])).push(e)}else return on(e)}function on(e){return Y(de|Ut,e)}function gs(e){return fn(),Y(He|Ut,e)}function ms(e){we.ensure();const t=Y(ee|qe,e);return(n={})=>new Promise(r=>{n.outro?pr(t,()=>{ye(t),r(void 0)}):(ye(t),r(void 0))})}function bs(e){return Y(de,e)}function vr(e){return Y(Fe|qe,e)}function Ts(e,t=0){return Y(He|t,e)}function As(e,t=[],n=[],r=[]){Qt(r,t,n,s=>{Y(He,()=>e(...s.map(be)))})}function Ss(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=mt();Qt(r,t,n,i=>{Y(de,()=>e(...i.map(be))),s&&s()})}function Rs(e,t=0){var n=Y(G|t,e);return n}function ks(e,t=0){var n=Y(ht|t,e);return n}function Ns(e){return Y(z|qe,e)}function un(e){var t=e.teardown;if(t!==null){const n=te,r=w;Lt(!0),ne(null);try{t.call(null)}finally{Lt(n),ne(r)}}}function kt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Rt(()=>{s.abort($)});var r=n.next;(n.f&ee)!==0?n.parent=null:ye(n,t),n=r}}function dr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&z)===0&&ye(t),t=n}}function ye(e,t=!0){var n=!1;(t||(e.f&In)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(hr(e.nodes.start,e.nodes.end),n=!0),E(e,Dt),kt(e,t&&!n),Le(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();un(e),e.f^=Dt,e.f|=U;var s=e.parent;s!==null&&s.first!==null&&cn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function hr(e,t){for(;e!==null;){var n=e===t?null:re(e);e.remove(),e=n}}function cn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function pr(e,t,n=!0){var r=[];_n(e,r,!0);var s=()=>{n&&ye(e),t&&t()},i=r.length;if(i>0){var o=()=>--i||s();for(var a of r)a.out(o)}else s()}function _n(e,t,n){if((e.f&L)===0){e.f^=L;var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)(a.is_global||n)&&t.push(a);for(var s=e.first;s!==null;){var i=s.next;if((s.f&ee)===0){var o=(s.f&Ze)!==0||(s.f&z)!==0&&(e.f&G)!==0;_n(s,t,o?n:!1)}s=i}}}function Os(e){vn(e,!0)}function vn(e,t){if((e.f&L)!==0){e.f^=L,(e.f&b)===0&&(E(e,O),we.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ze)!==0||(n.f&z)!==0;vn(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const o of i)(o.is_global||t)&&o.in()}}function xs(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:re(n);t.append(n),n=s}}let Xe=!1,te=!1;function Lt(e){te=e}let w=null,q=!1;function ne(e){w=e}let y=null;function Oe(e){y=e}let j=null;function dn(e){w!==null&&(j===null?j=[e]:j.push(e))}let D=null,M=0,C=null;function wr(e){C=e}let hn=1,ae=0,ve=ae;function jt(e){ve=e}function pn(){return++hn}function Be(e){var t=e.f;if((t&O)!==0)return!0;if(t&x&&(e.f&=~he),(t&K)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(Be(i)&&en(i),i.wv>e.wv)return!0}(t&F)!==0&&k===null&&E(e,b)}return!1}function wn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(j!==null&&ke.call(j,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&x)!==0?wn(i,t,!1):t===i&&(n?E(i,O):(i.f&b)!==0&&E(i,K),gt(i))}}function yn(e){var A;var t=D,n=M,r=C,s=w,i=j,o=T,a=q,f=ve,l=e.f;D=null,M=0,C=null,w=(l&(z|ee))===0?e:null,j=null,Je(e.ctx),q=!1,ve=++ae,e.ac!==null&&(Rt(()=>{e.ac.abort($)}),e.ac=null);try{e.f|=We;var c=e.fn,h=c();e.f|=Ee;var d=e.deps,v=p==null?void 0:p.is_fork;if(D!==null){var _;if(v||Le(e,M),d!==null&&M>0)for(d.length=M+D.length,_=0;_<D.length;_++)d[M+_]=D[_];else e.deps=d=D;if(an()&&(e.f&F)!==0)for(_=M;_<d.length;_++)((A=d[_]).reactions??(A.reactions=[])).push(e)}else!v&&d!==null&&M<d.length&&(Le(e,M),d.length=M);if(Ve()&&C!==null&&!q&&d!==null&&(e.f&(x|K|O))===0)for(_=0;_<C.length;_++)wn(C[_],e);if(s!==null&&s!==e){if(ae++,s.deps!==null)for(let m=0;m<n;m+=1)s.deps[m].rv=ae;if(t!==null)for(const m of t)m.rv=ae;C!==null&&(r===null?r=C:r.push(...C))}return(e.f&Q)!==0&&(e.f^=Q),h}catch(m){return $n(m)}finally{e.f^=We,D=t,M=n,C=r,w=s,j=i,Je(o),q=a,ve=f}}function yr(e,t){let n=t.reactions;if(n!==null){var r=Sn.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&x)!==0&&(D===null||!ke.call(D,t))){var i=t;(i.f&F)!==0&&(i.f^=F,i.f&=~he),i.v!==S&&yt(i),ir(i),Le(i,0)}}function Le(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)yr(e,n[r])}function xe(e){var t=e.f;if((t&U)===0){E(e,b);var n=y,r=Xe;y=e,Xe=!0;try{(t&(G|ht))!==0?dr(e):kt(e),un(e);var s=yn(e);e.teardown=typeof s=="function"?s:null,e.wv=hn;var i}finally{Xe=r,y=n}}}async function Ds(){await Promise.resolve(),Qn()}function Is(){return we.ensure().settled()}function be(e){var t=e.f,n=(t&x)!==0;if(w!==null&&!q){var r=y!==null&&(y.f&U)!==0;if(!r&&(j===null||!ke.call(j,e))){var s=w.deps;if((w.f&We)!==0)e.rv<ae&&(e.rv=ae,D===null&&s!==null&&s[M]===e?M++:D===null?D=[e]:D.push(e));else{(w.deps??(w.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[w]:ke.call(i,w)||i.push(w)}}}if(te&&_e.has(e))return _e.get(e);if(n){var o=e;if(te){var a=o.v;return((o.f&b)===0&&o.reactions!==null||gn(o))&&(a=Tt(o)),_e.set(o,a),a}var f=(o.f&F)===0&&!q&&w!==null&&(Xe||(w.f&F)!==0),l=(o.f&Ee)===0;Be(o)&&(f&&(o.f|=F),en(o)),f&&!l&&(tn(o),En(o))}if(k!=null&&k.has(e))return k.get(e);if((e.f&Q)!==0)throw e.v;return e.v}function En(e){if(e.f|=F,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&x)!==0&&(t.f&F)===0&&(tn(t),En(t))}function gn(e){if(e.v===S)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(_e.has(t)||(t.f&x)!==0&&gn(t))return!0;return!1}function mn(e){var t=q;try{return q=!0,e()}finally{q=t}}function Ms(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(ce in e)dt(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&ce in n&&dt(n)}}}function dt(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{dt(e[r],t)}catch{}const n=Ht(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Rn(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Er(e){T===null&&Bt(),Ue&&T.l!==null?gr(T).m.push(e):_r(()=>{const t=mn(e);if(typeof t=="function")return t})}function Ps(e){T===null&&Bt(),Er(()=>()=>mn(e))}function gr(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}export{fr as $,be as A,le as B,Vt as C,Dt as D,qe as E,Er as F,Ss as G,In as H,as as I,ns as J,_r as K,Me as L,Os as M,ye as N,pr as O,Ns as P,xs as Q,ps as R,ce as S,es as T,ss as U,rs as V,Pe as W,Mr as X,Ur as Y,te as Z,U as _,fs as a,Ee as a$,Vr as a0,Ue as a1,qr as a2,Hr as a3,bt as a4,rr as a5,Br as a6,Rr as a7,qn as a8,Qn as a9,Ht as aA,kr as aB,Rn as aC,Or as aD,Qt as aE,Zr as aF,ys as aG,S as aH,an as aI,lt as aJ,Dn as aK,Kr as aL,Zn as aM,Oe as aN,ne as aO,Je as aP,we as aQ,$n as aR,w as aS,Qe as aT,Pr as aU,Jr as aV,Rt as aW,ws as aX,ar as aY,Gr as aZ,zr as a_,Tr as aa,os as ab,gs as ac,Lr as ad,Un as ae,Vn as af,_t as ag,Sr as ah,Dr as ai,An as aj,br as ak,Cr as al,Yr as am,At as an,Fr as ao,L as ap,at as aq,z as ar,jr as as,hs as at,ks as au,Wr as av,us as aw,cr as ax,or as ay,Bn as az,p as b,rt as b0,St as b1,cs as b2,pt as b3,Ir as b4,ms as b5,wt as b6,hr as b7,$r as b8,Xr as b9,xn as ba,Ar as bb,Ms as bc,xr as bd,Ps as be,On as bf,zn as bg,Is as bh,_s as c,Ds as d,Ts as e,vs as f,tt as g,pe as h,Rs as i,re as j,Qr as k,Es as l,Ne as m,R as n,vt as o,ls as p,is as q,ts as r,ds as s,As as t,mn as u,T as v,bs as w,y as x,Ze as y,W as z};
web/sveltekit/build/_app/immutable/chunks/DcSynJCA.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{g as y,i as o,H as u,E as _,h as t,C as g,j as i,k as l,m as n,n as m,o as p}from"./Db2Wa-jW.js";function C(d,r){let s=null,E=t;var a;if(t){s=m;for(var e=p(document.head);e!==null&&(e.nodeType!==g||e.data!==d);)e=i(e);if(e===null)l(!1);else{var f=i(e);e.remove(),n(f)}}t||(a=document.head.appendChild(y()));try{o(()=>r(a),u|_)}finally{E&&(l(!0),n(s))}}export{C as h};
web/sveltekit/build/_app/immutable/chunks/DwbuJhNu.js DELETED
@@ -1 +0,0 @@
1
- var mt=Object.defineProperty;var On=e=>{throw TypeError(e)};var yt=(e,n,t)=>n in e?mt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var se=(e,n,t)=>yt(e,typeof n!="symbol"?n+"":n,t),sn=(e,n,t)=>n.has(e)||On("Cannot "+t);var u=(e,n,t)=>(sn(e,n,"read from private field"),t?t.call(e):n.get(e)),k=(e,n,t)=>n.has(e)?On("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),ge=(e,n,t,r)=>(sn(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t),D=(e,n,t)=>(sn(e,n,"access private method"),t);var bt=Array.isArray,Tt=Array.prototype.indexOf,Re=Array.prototype.includes,mr=Array.from,yr=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,br=Object.getOwnPropertyDescriptors,At=Object.prototype,St=Array.prototype,Rt=Object.getPrototypeOf,xn=Object.isExtensible;const Nt=()=>{};function kt(e){for(var n=0;n<e.length;n++)e[n]()}function Hn(){var e,n,t=new Promise((r,s)=>{e=r,n=s});return{promise:t,resolve:e,reject:n}}const x=2,ve=4,He=8,hn=1<<24,G=16,z=32,ee=64,Ot=128,F=512,b=1024,O=2048,K=4096,L=8192,U=16384,Ee=32768,In=1<<25,Ze=65536,fn=1<<17,xt=1<<18,qe=1<<19,qn=1<<20,Tr=1<<25,de=65536,We=1<<21,Fe=1<<22,Q=1<<23,Pe=Symbol("$state"),Ar=Symbol("legacy props"),Sr=Symbol(""),$=new class extends Error{constructor(){super(...arguments);se(this,"name","StaleReactionError");se(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Yn;const Nr=!!((Yn=globalThis.document)!=null&&Yn.contentType)&&globalThis.document.contentType.includes("xml"),kr=1,rn=3,Un=8;function Vn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function It(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Or(e,n,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Dt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Mt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Pt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ct(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function xr(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ir(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ft(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Lt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function jt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Dr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Mr=1,Pr=2,Cr=4,Fr=8,Lr=16,jr=1,Yr=2,Hr=4,qr=8,Ur=16,Vr=1,Br=2,Yt="[",Ht="[!",Gr="[?",qt="]",pn={},S=Symbol(),Ut="http://www.w3.org/1999/xhtml",zr="http://www.w3.org/2000/svg",Kr="http://www.w3.org/1998/Math/MathML",$r="@attach";function Vt(){console.warn("https://svelte.dev/e/derived_inert")}function wn(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Xr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Zr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let he=!1;function Wr(e){he=e}let R;function Ne(e){if(e===null)throw wn(),pn;return R=e}function Jr(){return Ne(re(R))}function Qr(e){if(he){if(re(R)!==null)throw wn(),pn;R=e}}function es(e=1){if(he){for(var n=e,t=R;n--;)t=re(t);R=t}}function ns(e=!0){for(var n=0,t=R;;){if(t.nodeType===Un){var r=t.data;if(r===qt){if(n===0)return t;n-=1}else(r===Yt||r===Ht||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(n+=1)}var s=re(t);e&&t.remove(),t=s}}function ts(e){if(!e||e.nodeType!==Un)throw wn(),pn;return e.data}function Bn(e){return e===this.v}function Bt(e,n){return e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function"}function Gn(e){return!Bt(e,this.v)}let Ue=!1;function rs(){Ue=!0}let T=null;function Je(e){T=e}function ss(e,n=!1,t){T={p:T,i:!1,c:null,e:null,s:e,x:null,r:E,l:Ue&&!n?{s:null,u:null,$:[]}:null}}function ls(e){var n=T,t=n.e;if(t!==null){n.e=null;for(var r of t)at(r)}return n.i=!0,T=n.p,{}}function Ve(){return!Ue||T!==null&&T.l===null}let ae=[];function zn(){var e=ae;ae=[],kt(e)}function un(e){if(ae.length===0&&!Ce){var n=ae;queueMicrotask(()=>{n===ae&&zn()})}ae.push(e)}function Gt(){for(;ae.length>0;)zn()}function zt(e){var n=E;if(n===null)return w.f|=Q,e;if((n.f&Ee)===0&&(n.f&ve)===0)throw e;Qe(e,n)}function Qe(e,n){for(;n!==null;){if((n.f&Ot)!==0){if((n.f&Ee)===0)throw e;try{n.b.error(e);return}catch(t){e=t}}n=n.parent}throw e}const Kt=-7169;function g(e,n){e.f=e.f&Kt|n}function En(e){(e.f&F)!==0||e.deps===null?g(e,b):g(e,K)}function Kn(e){if(e!==null)for(const n of e)(n.f&x)===0||(n.f&de)===0||(n.f^=de,Kn(n.deps))}function $t(e,n,t){(e.f&O)!==0?n.add(e):(e.f&K)!==0&&t.add(e),Kn(e.deps),g(e,b)}const le=new Set;let p=null,N=null,on=null,Ce=!1,ln=!1,me=null,Ge=null;var Dn=0;let Xt=1;var be,Te,ue,X,V,je,P,Ye,J,Z,B,Ae,Se,oe,m,ze,$n,Ke,cn,$e,Zt;const tn=class tn{constructor(){k(this,m);se(this,"id",Xt++);se(this,"current",new Map);se(this,"previous",new Map);k(this,be,new Set);k(this,Te,new Set);k(this,ue,new Set);k(this,X,new Map);k(this,V,new Map);k(this,je,null);k(this,P,[]);k(this,Ye,[]);k(this,J,new Set);k(this,Z,new Set);k(this,B,new Map);k(this,Ae,new Set);se(this,"is_fork",!1);k(this,Se,!1);k(this,oe,new Set)}skip_effect(n){u(this,B).has(n)||u(this,B).set(n,{d:[],m:[]}),u(this,Ae).delete(n)}unskip_effect(n,t=r=>this.schedule(r)){var r=u(this,B).get(n);if(r){u(this,B).delete(n);for(var s of r.d)g(s,O),t(s);for(s of r.m)g(s,K),t(s)}u(this,Ae).add(n)}capture(n,t,r=!1){n.v!==S&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&Q)===0&&(this.current.set(n,[t,r]),N==null||N.set(n,t)),this.is_fork||(n.v=t)}activate(){p=this}deactivate(){p=null,N=null}flush(){try{ln=!0,p=this,D(this,m,Ke).call(this)}finally{Dn=0,on=null,me=null,Ge=null,ln=!1,p=null,N=null,ce.clear()}}discard(){for(const n of u(this,Te))n(this);u(this,Te).clear(),u(this,ue).clear(),le.delete(this)}register_created_effect(n){u(this,Ye).push(n)}increment(n,t){let r=u(this,X).get(t)??0;if(u(this,X).set(t,r+1),n){let s=u(this,V).get(t)??0;u(this,V).set(t,s+1)}}decrement(n,t,r){let s=u(this,X).get(t)??0;if(s===1?u(this,X).delete(t):u(this,X).set(t,s-1),n){let l=u(this,V).get(t)??0;l===1?u(this,V).delete(t):u(this,V).set(t,l-1)}u(this,Se)||r||(ge(this,Se,!0),un(()=>{ge(this,Se,!1),this.flush()}))}transfer_effects(n,t){for(const r of n)u(this,J).add(r);for(const r of t)u(this,Z).add(r);n.clear(),t.clear()}oncommit(n){u(this,be).add(n)}ondiscard(n){u(this,Te).add(n)}on_fork_commit(n){u(this,ue).add(n)}run_fork_commit_callbacks(){for(const n of u(this,ue))n(this);u(this,ue).clear()}settled(){return(u(this,je)??ge(this,je,Hn())).promise}static ensure(){if(p===null){const n=p=new tn;ln||(le.add(p),Ce||un(()=>{p===n&&n.flush()}))}return p}apply(){{N=null;return}}schedule(n){var s;if(on=n,(s=n.b)!=null&&s.is_pending&&(n.f&(ve|He|hn))!==0&&(n.f&Ee)===0){n.b.defer_effect(n);return}for(var t=n;t.parent!==null;){t=t.parent;var r=t.f;if(me!==null&&t===E&&(w===null||(w.f&x)===0))return;if((r&(ee|z))!==0){if((r&b)===0)return;t.f^=b}}u(this,P).push(t)}};be=new WeakMap,Te=new WeakMap,ue=new WeakMap,X=new WeakMap,V=new WeakMap,je=new WeakMap,P=new WeakMap,Ye=new WeakMap,J=new WeakMap,Z=new WeakMap,B=new WeakMap,Ae=new WeakMap,Se=new WeakMap,oe=new WeakMap,m=new WeakSet,ze=function(){return this.is_fork||u(this,V).size>0},$n=function(){for(const r of u(this,oe))for(const s of u(r,V).keys()){for(var n=!1,t=s;t.parent!==null;){if(u(this,B).has(t)){n=!0;break}t=t.parent}if(!n)return!0}return!1},Ke=function(){var f,a;if(Dn++>1e3&&(le.delete(this),Jt()),!D(this,m,ze).call(this)){for(const i of u(this,J))u(this,Z).delete(i),g(i,O),this.schedule(i);for(const i of u(this,Z))g(i,K),this.schedule(i)}const n=u(this,P);ge(this,P,[]),this.apply();var t=me=[],r=[],s=Ge=[];for(const i of n)try{D(this,m,cn).call(this,i,t,r)}catch(c){throw Wn(i),c}if(p=null,s.length>0){var l=tn.ensure();for(const i of s)l.schedule(i)}if(me=null,Ge=null,D(this,m,ze).call(this)||D(this,m,$n).call(this)){D(this,m,$e).call(this,r),D(this,m,$e).call(this,t);for(const[i,c]of u(this,B))Zn(i,c)}else{u(this,X).size===0&&le.delete(this),u(this,J).clear(),u(this,Z).clear();for(const i of u(this,be))i(this);u(this,be).clear(),Mn(r),Mn(t),(f=u(this,je))==null||f.resolve()}var o=p;if(u(this,P).length>0){const i=o??(o=this);u(i,P).push(...u(this,P).filter(c=>!u(i,P).includes(c)))}o!==null&&(le.add(o),D(a=o,m,Ke).call(a))},cn=function(n,t,r){n.f^=b;for(var s=n.first;s!==null;){var l=s.f,o=(l&(z|ee))!==0,f=o&&(l&b)!==0,a=f||(l&L)!==0||u(this,B).has(s);if(!a&&s.fn!==null){o?s.f^=b:(l&ve)!==0?t.push(s):Be(s)&&((l&G)!==0&&u(this,Z).add(s),Oe(s));var i=s.first;if(i!==null){s=i;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},$e=function(n){for(var t=0;t<n.length;t+=1)$t(n[t],u(this,J),u(this,Z))},Zt=function(){var c,h,d;for(const v of le){var n=v.id<this.id,t=[];for(const[_,[A,y]]of this.current){if(v.current.has(_)){var r=v.current.get(_)[0];if(n&&A!==r)v.current.set(_,[A,y]);else continue}t.push(_)}var s=[...v.current.keys()].filter(_=>!this.current.has(_));if(s.length===0)n&&v.discard();else if(t.length>0){if(n)for(const _ of u(this,Ae))v.unskip_effect(_,A=>{var y;(A.f&(G|Fe))!==0?v.schedule(A):D(y=v,m,$e).call(y,[A])});v.activate();var l=new Set,o=new Map;for(var f of t)Xn(f,s,l,o);o=new Map;var a=[...v.current.keys()].filter(_=>this.current.has(_)?this.current.get(_)[0]!==_:!0);for(const _ of u(this,Ye))(_.f&(U|L|fn))===0&&gn(_,a,o)&&((_.f&(Fe|G))!==0?(g(_,O),v.schedule(_)):u(v,J).add(_));if(u(v,P).length>0){v.apply();for(var i of u(v,P))D(c=v,m,cn).call(c,i,[],[]);ge(v,P,[])}v.deactivate()}}for(const v of le)u(v,oe).has(this)&&(u(v,oe).delete(this),u(v,oe).size===0&&!D(h=v,m,ze).call(h)&&(v.activate(),D(d=v,m,Ke).call(d)))};let pe=tn;function Wt(e){var n=Ce;Ce=!0;try{for(var t;;){if(Gt(),p===null)return t;p.flush()}}finally{Ce=n}}function Jt(){try{Ct()}catch(e){Qe(e,on)}}let H=null;function Mn(e){var n=e.length;if(n!==0){for(var t=0;t<n;){var r=e[t++];if((r.f&(U|L))===0&&Be(r)&&(H=new Set,Oe(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&ut(r),(H==null?void 0:H.size)>0)){ce.clear();for(const s of H){if((s.f&(U|L))!==0)continue;const l=[s];let o=s.parent;for(;o!==null;)H.has(o)&&(H.delete(o),l.push(o)),o=o.parent;for(let f=l.length-1;f>=0;f--){const a=l[f];(a.f&(U|L))===0&&Oe(a)}}H.clear()}}H=null}}function Xn(e,n,t,r){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const s of e.reactions){const l=s.f;(l&x)!==0?Xn(s,n,t,r):(l&(Fe|G))!==0&&(l&O)===0&&gn(s,n,r)&&(g(s,O),mn(s))}}function gn(e,n,t){const r=t.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Re.call(n,s))return!0;if((s.f&x)!==0&&gn(s,n,t))return t.set(s,!0),!0}return t.set(e,!1),!1}function mn(e){p.schedule(e)}function Zn(e,n){if(!((e.f&z)!==0&&(e.f&b)!==0)){(e.f&O)!==0?n.d.push(e):(e.f&K)!==0&&n.m.push(e),g(e,b);for(var t=e.first;t!==null;)Zn(t,n),t=t.next}}function Wn(e){g(e,b);for(var n=e.first;n!==null;)Wn(n),n=n.next}function Jn(e,n,t,r){const s=Ve()?bn:nr;var l=e.filter(d=>!d.settled);if(t.length===0&&l.length===0){r(n.map(s));return}var o=E,f=Qt(),a=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(d=>d.promise)):null;function i(d){f();try{r(d)}catch(v){(o.f&U)===0&&Qe(v,o)}en()}if(t.length===0){a.then(()=>i(n.map(s)));return}var c=yn();function h(){Promise.all(t.map(d=>er(d))).then(d=>i([...n.map(s),...d])).catch(d=>Qe(d,o)).finally(()=>c())}a?a.then(()=>{f(),h(),en()}):h()}function Qt(){var e=E,n=w,t=T,r=p;return function(l=!0){ke(e),te(n),Je(t),l&&(e.f&U)===0&&(r==null||r.activate(),r==null||r.apply())}}function en(e=!0){ke(null),te(null),Je(null),e&&(p==null||p.deactivate())}function yn(){var e=E,n=e.b,t=p,r=n.is_rendered();return n.update_pending_count(1,t),t.increment(r,e),(s=!1)=>{n.update_pending_count(-1,t),t.decrement(r,e,s)}}function bn(e){var n=x|O;return E!==null&&(E.f|=qe),{ctx:T,deps:null,effects:null,equals:Bn,f:n,fn:e,reactions:null,rv:0,v:S,wv:0,parent:E,ac:null}}function er(e,n,t){let r=E;r===null&&It();var s=void 0,l=An(S),o=!w,f=new Map;return cr(()=>{var v;var a=E,i=Hn();s=i.promise;try{Promise.resolve(e()).then(i.resolve,i.reject).finally(en)}catch(_){i.reject(_),en()}var c=p;if(o){if((a.f&Ee)!==0)var h=yn();if(r.b.is_rendered())(v=f.get(c))==null||v.reject($),f.delete(c);else{for(const _ of f.values())_.reject($);f.clear()}f.set(c,i)}const d=(_,A=void 0)=>{if(h){var y=A===$;h(y)}if(!(A===$||(a.f&U)!==0)){if(c.activate(),A)l.f|=Q,vn(l,A);else{(l.f&Q)!==0&&(l.f^=Q),vn(l,_);for(const[xe,Ie]of f){if(f.delete(xe),xe===c)break;Ie.reject($)}}c.deactivate()}};i.promise.then(d,_=>d(null,_||"unknown"))}),ur(()=>{for(const a of f.values())a.reject($)}),new Promise(a=>{function i(c){function h(){c===s?a(l):i(s)}c.then(h,h)}i(s)})}function is(e){const n=bn(e);return _t(n),n}function nr(e){const n=bn(e);return n.equals=Gn,n}function tr(e){var n=e.effects;if(n!==null){e.effects=null;for(var t=0;t<n.length;t+=1)we(n[t])}}function Tn(e){var n,t=E,r=e.parent;if(!ne&&r!==null&&(r.f&(U|L))!==0)return Vt(),e.v;ke(r);try{e.f&=~de,tr(e),n=pt(e)}finally{ke(t)}return n}function Qn(e){var n=Tn(e);if(!e.equals(n)&&(e.wv=dt(),(!(p!=null&&p.is_fork)||e.deps===null)&&(p!==null?p.capture(e,n,!0):e.v=n,e.deps===null))){g(e,b);return}ne||(N!==null?(it()||p!=null&&p.is_fork)&&N.set(e,n):En(e))}function rr(e){var n,t;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((n=r.teardown)==null||n.call(r),(t=r.ac)==null||t.abort($),r.teardown=Nt,r.ac=null,Le(r,0),Nn(r))}function et(e){if(e.effects!==null)for(const n of e.effects)n.teardown&&Oe(n)}let _n=new Set;const ce=new Map;let nt=!1;function An(e,n){var t={f:0,v:e,reactions:null,equals:Bn,rv:0,wv:0};return t}function W(e,n){const t=An(e);return _t(t),t}function as(e,n=!1,t=!0){var s;const r=An(e);return n||(r.equals=Gn),Ue&&t&&T!==null&&T.l!==null&&((s=T.l).s??(s.s=[])).push(r),r}function ie(e,n,t=!1){w!==null&&(!q||(w.f&fn)!==0)&&Ve()&&(w.f&(x|G|Fe|fn))!==0&&(j===null||!Re.call(j,e))&&jt();let r=t?De(n):n;return vn(e,r,Ge)}function vn(e,n,t=null){if(!e.equals(n)){ce.set(e,ne?n:e.v);var r=pe.ensure();if(r.capture(e,n),(e.f&x)!==0){const s=e;(e.f&O)!==0&&Tn(s),N===null&&En(s)}e.wv=dt(),tt(e,O,t),Ve()&&E!==null&&(E.f&b)!==0&&(E.f&(z|ee))===0&&(C===null?hr([e]):C.push(e)),!r.is_fork&&_n.size>0&&!nt&&sr()}return n}function sr(){nt=!1;for(const e of _n)(e.f&b)!==0&&g(e,K),Be(e)&&Oe(e);_n.clear()}function an(e){ie(e,e.v+1)}function tt(e,n,t){var r=e.reactions;if(r!==null)for(var s=Ve(),l=r.length,o=0;o<l;o++){var f=r[o],a=f.f;if(!(!s&&f===E)){var i=(a&O)===0;if(i&&g(f,n),(a&x)!==0){var c=f;N==null||N.delete(c),(a&de)===0&&(a&F&&(E===null||(E.f&We)===0)&&(f.f|=de),tt(c,K,t))}else if(i){var h=f;(a&G)!==0&&H!==null&&H.add(h),t!==null?t.push(h):mn(h)}}}}function De(e){if(typeof e!="object"||e===null||Pe in e)return e;const n=Rt(e);if(n!==At&&n!==St)return e;var t=new Map,r=bt(e),s=W(0),l=_e,o=f=>{if(_e===l)return f();var a=w,i=_e;te(null),jn(l);var c=f();return te(a),jn(i),c};return r&&t.set("length",W(e.length)),new Proxy(e,{defineProperty(f,a,i){(!("value"in i)||i.configurable===!1||i.enumerable===!1||i.writable===!1)&&Ft();var c=t.get(a);return c===void 0?o(()=>{var h=W(i.value);return t.set(a,h),h}):ie(c,i.value,!0),!0},deleteProperty(f,a){var i=t.get(a);if(i===void 0){if(a in f){const c=o(()=>W(S));t.set(a,c),an(s)}}else ie(i,S),an(s);return!0},get(f,a,i){var v;if(a===Pe)return e;var c=t.get(a),h=a in f;if(c===void 0&&(!h||(v=Me(f,a))!=null&&v.writable)&&(c=o(()=>{var _=De(h?f[a]:S),A=W(_);return A}),t.set(a,c)),c!==void 0){var d=ye(c);return d===S?void 0:d}return Reflect.get(f,a,i)},getOwnPropertyDescriptor(f,a){var i=Reflect.getOwnPropertyDescriptor(f,a);if(i&&"value"in i){var c=t.get(a);c&&(i.value=ye(c))}else if(i===void 0){var h=t.get(a),d=h==null?void 0:h.v;if(h!==void 0&&d!==S)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return i},has(f,a){var d;if(a===Pe)return!0;var i=t.get(a),c=i!==void 0&&i.v!==S||Reflect.has(f,a);if(i!==void 0||E!==null&&(!c||(d=Me(f,a))!=null&&d.writable)){i===void 0&&(i=o(()=>{var v=c?De(f[a]):S,_=W(v);return _}),t.set(a,i));var h=ye(i);if(h===S)return!1}return c},set(f,a,i,c){var kn;var h=t.get(a),d=a in f;if(r&&a==="length")for(var v=i;v<h.v;v+=1){var _=t.get(v+"");_!==void 0?ie(_,S):v in f&&(_=o(()=>W(S)),t.set(v+"",_))}if(h===void 0)(!d||(kn=Me(f,a))!=null&&kn.writable)&&(h=o(()=>W(void 0)),ie(h,De(i)),t.set(a,h));else{d=h.v!==S;var A=o(()=>De(i));ie(h,A)}var y=Reflect.getOwnPropertyDescriptor(f,a);if(y!=null&&y.set&&y.set.call(c,i),!d){if(r&&typeof a=="string"){var xe=t.get("length"),Ie=Number(a);Number.isInteger(Ie)&&Ie>=xe.v&&ie(xe,Ie+1)}an(s)}return!0},ownKeys(f){ye(s);var a=Reflect.ownKeys(f).filter(h=>{var d=t.get(h);return d===void 0||d.v!==S});for(var[i,c]of t)c.v!==S&&!(i in f)&&a.push(i);return a},setPrototypeOf(){Lt()}})}function Pn(e){try{if(e!==null&&typeof e=="object"&&Pe in e)return e[Pe]}catch{}return e}function fs(e,n){return Object.is(Pn(e),Pn(n))}var Cn,lr,ir,rt,st;function us(){if(Cn===void 0){Cn=window,lr=document,ir=/Firefox/.test(navigator.userAgent);var e=Element.prototype,n=Node.prototype,t=Text.prototype;rt=Me(n,"firstChild").get,st=Me(n,"nextSibling").get,xn(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),xn(t)&&(t.__t=void 0)}}function nn(e=""){return document.createTextNode(e)}function dn(e){return rt.call(e)}function re(e){return st.call(e)}function os(e,n){if(!he)return dn(e);var t=dn(R);if(t===null)t=R.appendChild(nn());else if(n&&t.nodeType!==rn){var r=nn();return t==null||t.before(r),Ne(r),r}return n&&Sn(t),Ne(t),t}function cs(e,n=!1){if(!he){var t=dn(e);return t instanceof Comment&&t.data===""?re(t):t}if(n){if((R==null?void 0:R.nodeType)!==rn){var r=nn();return R==null||R.before(r),Ne(r),r}Sn(R)}return R}function _s(e,n=1,t=!1){let r=he?R:e;for(var s;n--;)s=r,r=re(r);if(!he)return r;if(t){if((r==null?void 0:r.nodeType)!==rn){var l=nn();return r===null?s==null||s.after(l):r.before(l),Ne(l),l}Sn(r)}return Ne(r),r}function vs(e){e.textContent=""}function ds(){return!1}function hs(e,n,t){return document.createElementNS(n??Ut,e,void 0)}function Sn(e){if(e.nodeValue.length<65536)return;let n=e.nextSibling;for(;n!==null&&n.nodeType===rn;)n.remove(),e.nodeValue+=n.nodeValue,n=e.nextSibling}function ps(e,n){if(n){const t=document.body;e.autofocus=!0,un(()=>{document.activeElement===t&&e.focus()})}}let Fn=!1;function ar(){Fn||(Fn=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var n;if(!e.defaultPrevented)for(const t of e.target.elements)(n=t.__on_r)==null||n.call(t)})},{capture:!0}))}function Rn(e){var n=w,t=E;te(null),ke(null);try{return e()}finally{te(n),ke(t)}}function ws(e,n,t,r=t){e.addEventListener(n,()=>Rn(t));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ar()}function lt(e){E===null&&(w===null&&Pt(),Mt()),ne&&Dt()}function fr(e,n){var t=n.last;t===null?n.last=n.first=e:(t.next=e,e.prev=t,n.last=e)}function Y(e,n){var t=E;t!==null&&(t.f&L)!==0&&(e|=L);var r={ctx:T,deps:null,nodes:null,f:e|O|F,first:null,fn:n,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};p==null||p.register_created_effect(r);var s=r;if((e&ve)!==0)me!==null?me.push(r):pe.ensure().schedule(r);else if(n!==null){try{Oe(r)}catch(o){throw we(r),o}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&qe)===0&&(s=s.first,(e&G)!==0&&(e&Ze)!==0&&s!==null&&(s.f|=Ze))}if(s!==null&&(s.parent=t,t!==null&&fr(s,t),w!==null&&(w.f&x)!==0&&(e&ee)===0)){var l=w;(l.effects??(l.effects=[])).push(s)}return r}function it(){return w!==null&&!q}function ur(e){const n=Y(He,null);return g(n,b),n.teardown=e,n}function or(e){lt();var n=E.f,t=!w&&(n&z)!==0&&(n&Ee)===0;if(t){var r=T;(r.e??(r.e=[])).push(e)}else return at(e)}function at(e){return Y(ve|qn,e)}function Es(e){return lt(),Y(He|qn,e)}function gs(e){pe.ensure();const n=Y(ee|qe,e);return(t={})=>new Promise(r=>{t.outro?dr(n,()=>{we(n),r(void 0)}):(we(n),r(void 0))})}function ms(e){return Y(ve,e)}function cr(e){return Y(Fe|qe,e)}function ys(e,n=0){return Y(He|n,e)}function bs(e,n=[],t=[],r=[]){Jn(r,n,t,s=>{Y(He,()=>e(...s.map(ye)))})}function Ts(e,n=[],t=[],r=[]){if(t.length>0||r.length>0)var s=yn();Jn(r,n,t,l=>{Y(ve,()=>e(...l.map(ye))),s&&s()})}function As(e,n=0){var t=Y(G|n,e);return t}function Ss(e,n=0){var t=Y(hn|n,e);return t}function Rs(e){return Y(z|qe,e)}function ft(e){var n=e.teardown;if(n!==null){const t=ne,r=w;Ln(!0),te(null);try{n.call(null)}finally{Ln(t),te(r)}}}function Nn(e,n=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const s=t.ac;s!==null&&Rn(()=>{s.abort($)});var r=t.next;(t.f&ee)!==0?t.parent=null:we(t,n),t=r}}function _r(e){for(var n=e.first;n!==null;){var t=n.next;(n.f&z)===0&&we(n),n=t}}function we(e,n=!0){var t=!1;(n||(e.f&xt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(vr(e.nodes.start,e.nodes.end),t=!0),g(e,In),Nn(e,n&&!t),Le(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)l.stop();ft(e),e.f^=In,e.f|=U;var s=e.parent;s!==null&&s.first!==null&&ut(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function vr(e,n){for(;e!==null;){var t=e===n?null:re(e);e.remove(),e=t}}function ut(e){var n=e.parent,t=e.prev,r=e.next;t!==null&&(t.next=r),r!==null&&(r.prev=t),n!==null&&(n.first===e&&(n.first=r),n.last===e&&(n.last=t))}function dr(e,n,t=!0){var r=[];ot(e,r,!0);var s=()=>{t&&we(e),n&&n()},l=r.length;if(l>0){var o=()=>--l||s();for(var f of r)f.out(o)}else s()}function ot(e,n,t){if((e.f&L)===0){e.f^=L;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||t)&&n.push(f);for(var s=e.first;s!==null;){var l=s.next;if((s.f&ee)===0){var o=(s.f&Ze)!==0||(s.f&z)!==0&&(e.f&G)!==0;ot(s,n,o?t:!1)}s=l}}}function Ns(e){ct(e,!0)}function ct(e,n){if((e.f&L)!==0){e.f^=L,(e.f&b)===0&&(g(e,O),pe.ensure().schedule(e));for(var t=e.first;t!==null;){var r=t.next,s=(t.f&Ze)!==0||(t.f&z)!==0;ct(t,s?n:!1),t=r}var l=e.nodes&&e.nodes.t;if(l!==null)for(const o of l)(o.is_global||n)&&o.in()}}function ks(e,n){if(e.nodes)for(var t=e.nodes.start,r=e.nodes.end;t!==null;){var s=t===r?null:re(t);n.append(t),t=s}}let Xe=!1,ne=!1;function Ln(e){ne=e}let w=null,q=!1;function te(e){w=e}let E=null;function ke(e){E=e}let j=null;function _t(e){w!==null&&(j===null?j=[e]:j.push(e))}let I=null,M=0,C=null;function hr(e){C=e}let vt=1,fe=0,_e=fe;function jn(e){_e=e}function dt(){return++vt}function Be(e){var n=e.f;if((n&O)!==0)return!0;if(n&x&&(e.f&=~de),(n&K)!==0){for(var t=e.deps,r=t.length,s=0;s<r;s++){var l=t[s];if(Be(l)&&Qn(l),l.wv>e.wv)return!0}(n&F)!==0&&N===null&&g(e,b)}return!1}function ht(e,n,t=!0){var r=e.reactions;if(r!==null&&!(j!==null&&Re.call(j,e)))for(var s=0;s<r.length;s++){var l=r[s];(l.f&x)!==0?ht(l,n,!1):n===l&&(t?g(l,O):(l.f&b)!==0&&g(l,K),mn(l))}}function pt(e){var A;var n=I,t=M,r=C,s=w,l=j,o=T,f=q,a=_e,i=e.f;I=null,M=0,C=null,w=(i&(z|ee))===0?e:null,j=null,Je(e.ctx),q=!1,_e=++fe,e.ac!==null&&(Rn(()=>{e.ac.abort($)}),e.ac=null);try{e.f|=We;var c=e.fn,h=c();e.f|=Ee;var d=e.deps,v=p==null?void 0:p.is_fork;if(I!==null){var _;if(v||Le(e,M),d!==null&&M>0)for(d.length=M+I.length,_=0;_<I.length;_++)d[M+_]=I[_];else e.deps=d=I;if(it()&&(e.f&F)!==0)for(_=M;_<d.length;_++)((A=d[_]).reactions??(A.reactions=[])).push(e)}else!v&&d!==null&&M<d.length&&(Le(e,M),d.length=M);if(Ve()&&C!==null&&!q&&d!==null&&(e.f&(x|K|O))===0)for(_=0;_<C.length;_++)ht(C[_],e);if(s!==null&&s!==e){if(fe++,s.deps!==null)for(let y=0;y<t;y+=1)s.deps[y].rv=fe;if(n!==null)for(const y of n)y.rv=fe;C!==null&&(r===null?r=C:r.push(...C))}return(e.f&Q)!==0&&(e.f^=Q),h}catch(y){return zt(y)}finally{e.f^=We,I=n,M=t,C=r,w=s,j=l,Je(o),q=f,_e=a}}function pr(e,n){let t=n.reactions;if(t!==null){var r=Tt.call(t,e);if(r!==-1){var s=t.length-1;s===0?t=n.reactions=null:(t[r]=t[s],t.pop())}}if(t===null&&(n.f&x)!==0&&(I===null||!Re.call(I,n))){var l=n;(l.f&F)!==0&&(l.f^=F,l.f&=~de),l.v!==S&&En(l),rr(l),Le(l,0)}}function Le(e,n){var t=e.deps;if(t!==null)for(var r=n;r<t.length;r++)pr(e,t[r])}function Oe(e){var n=e.f;if((n&U)===0){g(e,b);var t=E,r=Xe;E=e,Xe=!0;try{(n&(G|hn))!==0?_r(e):Nn(e),ft(e);var s=pt(e);e.teardown=typeof s=="function"?s:null,e.wv=vt;var l}finally{Xe=r,E=t}}}async function Os(){await Promise.resolve(),Wt()}function xs(){return pe.ensure().settled()}function ye(e){var n=e.f,t=(n&x)!==0;if(w!==null&&!q){var r=E!==null&&(E.f&U)!==0;if(!r&&(j===null||!Re.call(j,e))){var s=w.deps;if((w.f&We)!==0)e.rv<fe&&(e.rv=fe,I===null&&s!==null&&s[M]===e?M++:I===null?I=[e]:I.push(e));else{(w.deps??(w.deps=[])).push(e);var l=e.reactions;l===null?e.reactions=[w]:Re.call(l,w)||l.push(w)}}}if(ne&&ce.has(e))return ce.get(e);if(t){var o=e;if(ne){var f=o.v;return((o.f&b)===0&&o.reactions!==null||Et(o))&&(f=Tn(o)),ce.set(o,f),f}var a=(o.f&F)===0&&!q&&w!==null&&(Xe||(w.f&F)!==0),i=(o.f&Ee)===0;Be(o)&&(a&&(o.f|=F),Qn(o)),a&&!i&&(et(o),wt(o))}if(N!=null&&N.has(e))return N.get(e);if((e.f&Q)!==0)throw e.v;return e.v}function wt(e){if(e.f|=F,e.deps!==null)for(const n of e.deps)(n.reactions??(n.reactions=[])).push(e),(n.f&x)!==0&&(n.f&F)===0&&(et(n),wt(n))}function Et(e){if(e.v===S)return!0;if(e.deps===null)return!1;for(const n of e.deps)if(ce.has(n)||(n.f&x)!==0&&Et(n))return!0;return!1}function gt(e){var n=q;try{return q=!0,e()}finally{q=n}}function wr(e){T===null&&Vn(),Ue&&T.l!==null?Er(T).m.push(e):or(()=>{const n=gt(e);if(typeof n=="function")return n})}function Is(e){T===null&&Vn(),wr(()=>()=>gt(e))}function Er(e){var n=e.l;return n.u??(n.u={a:[],b:[],m:[]})}export{lr as $,Ne as A,R as B,Un as C,In as D,Ze as E,dn as F,wr as G,xt as H,Ts as I,is as J,or as K,De as L,Ns as M,we as N,dr as O,Rs as P,ks as Q,ds as R,Pe as S,Jr as T,ts as U,ns as V,Me as W,Ir as X,Hr as Y,ne as Z,U as _,ls as a,Ee as a$,qr as a0,Ue as a1,Yr as a2,jr as a3,bn as a4,nr as a5,Ur as a6,Ar as a7,Yt as a8,Wt as a9,Ut as aA,Nr as aB,Rt as aC,br as aD,Jn as aE,$r as aF,ps as aG,S as aH,it as aI,an as aJ,Ot as aK,Gr as aL,$t as aM,ke as aN,te as aO,Je as aP,pe as aQ,zt as aR,w as aS,Qe as aT,Dr as aU,Zr as aV,Rn as aW,hs as aX,ir as aY,Vr as aZ,Br as a_,yr as aa,as as ab,Es as ac,Cr as ad,Ht as ae,qt as af,vn as ag,Tr as ah,Or as ai,bt as aj,mr as ak,Mr as al,Lr as am,An as an,Pr as ao,L as ap,un as aq,z as ar,Fr as as,vs as at,Ss as au,Xr as av,fs as aw,ur as ax,ar as ay,Sr as az,T as b,rn as b0,Sn as b1,us as b2,pn as b3,xr as b4,gs as b5,wn as b6,vr as b7,zr as b8,Kr as b9,kr as ba,Is as bb,Nt as bc,Bt as bd,xs as be,os as c,ms as d,rs as e,cs as f,ys as g,E as h,As as i,W as j,ye as k,ie as l,ws as m,p as n,Os as o,ss as p,he as q,Qr as r,_s as s,bs as t,gt as u,es as v,nn as w,qe as x,re as y,Wr as z};
 
 
web/sveltekit/build/_app/immutable/chunks/UzzQz-LW.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{l as b,b as v,d as m,u as _,e as i,h as y}from"./Db2Wa-jW.js";function k(e,l,u=l){var s=new WeakSet;b(e,"input",async r=>{var a=r?e.defaultValue:e.value;if(a=t(e)?o(a):a,u(a),v!==null&&s.add(v),await m(),a!==(a=l())){var d=e.selectionStart,f=e.selectionEnd,n=e.value.length;if(e.value=a??"",f!==null){var c=e.value.length;d===f&&f===n&&c>n?(e.selectionStart=c,e.selectionEnd=c):(e.selectionStart=d,e.selectionEnd=Math.min(f,c))}}}),(y&&e.defaultValue!==e.value||_(l)==null&&e.value)&&(u(t(e)?o(e.value):e.value),v!==null&&s.add(v)),i(()=>{var r=l();if(e===document.activeElement){var a=v;if(s.has(a))return}t(e)&&r===o(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function t(e){var l=e.type;return l==="number"||l==="range"}function o(e){return e===""?null:+e}export{k as b};
web/sveltekit/build/_app/immutable/chunks/{1oGnrPC6.js → a59FAUdi.js} RENAMED
@@ -1 +1 @@
1
- import{b as v,d as p,g as y,u as k,h as P,D as R,S as g}from"./DwbuJhNu.js";function w(n,i){return n===i||(n==null?void 0:n[g])===i}function A(n={},i,a,E){var u=v.r,h=P;return p(()=>{var s,e;return y(()=>{s=e,e=[],k(()=>{n!==a(...e)&&(i(n,...e),s&&w(a(...s),n)&&i(null,...s))})}),()=>{let r=h;for(;r!==u&&r.parent!==null&&r.parent.f&R;)r=r.parent;const d=()=>{e&&w(a(...e),n)&&i(null,...e)},t=r.teardown;r.teardown=()=>{d(),t==null||t()}}}),n}const L="modulepreload",B=function(n,i){return new URL(n,i).href},S={},C=function(i,a,E){let u=Promise.resolve();if(a&&a.length>0){let s=function(t){return Promise.all(t.map(c=>Promise.resolve(c).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};const e=document.getElementsByTagName("link"),r=document.querySelector("meta[property=csp-nonce]"),d=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));u=s(a.map(t=>{if(t=B(t,E),t in S)return;S[t]=!0;const c=t.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(!!E)for(let f=e.length-1;f>=0;f--){const m=e[f];if(m.href===t&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=c?"stylesheet":L,c||(o.as="script"),o.crossOrigin="",o.href=t,d&&o.setAttribute("nonce",d),document.head.appendChild(o),c)return new Promise((f,m)=>{o.addEventListener("load",f),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(s){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=s,window.dispatchEvent(e),!e.defaultPrevented)throw s}return u.then(s=>{for(const e of s||[])e.status==="rejected"&&h(e.reason);return i().catch(h)})};export{C as _,A as b};
 
1
+ import{v as S,w as p,e as y,u as k,x as P,D as R,S as L}from"./Db2Wa-jW.js";function E(n,i){return n===i||(n==null?void 0:n[L])===i}function A(n={},i,a,w){var u=S.r,h=P;return p(()=>{var s,e;return y(()=>{s=e,e=[],k(()=>{n!==a(...e)&&(i(n,...e),s&&E(a(...s),n)&&i(null,...s))})}),()=>{let r=h;for(;r!==u&&r.parent!==null&&r.parent.f&R;)r=r.parent;const d=()=>{e&&E(a(...e),n)&&i(null,...e)},t=r.teardown;r.teardown=()=>{d(),t==null||t()}}}),n}const g="modulepreload",B=function(n,i){return new URL(n,i).href},v={},C=function(i,a,w){let u=Promise.resolve();if(a&&a.length>0){let s=function(t){return Promise.all(t.map(c=>Promise.resolve(c).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};const e=document.getElementsByTagName("link"),r=document.querySelector("meta[property=csp-nonce]"),d=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));u=s(a.map(t=>{if(t=B(t,w),t in v)return;v[t]=!0;const c=t.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(!!w)for(let f=e.length-1;f>=0;f--){const m=e[f];if(m.href===t&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=c?"stylesheet":g,c||(o.as="script"),o.crossOrigin="",o.href=t,d&&o.setAttribute("nonce",d),document.head.appendChild(o),c)return new Promise((f,m)=>{o.addEventListener("load",f),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(s){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=s,window.dispatchEvent(e),!e.defaultPrevented)throw s}return u.then(s=>{for(const e of s||[])e.status==="rejected"&&h(e.reason);return i().catch(h)})};export{C as _,A as b};
web/sveltekit/build/_app/immutable/entry/app.Bv9QCrbT.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.M3y1IHJs.js","../chunks/CBok_DXr.js","../chunks/Db2Wa-jW.js","../chunks/CXzWUZJN.js","../chunks/ChZyCwev.js","../chunks/C4Y7iDRY.js","../chunks/BzKJ9Ltj.js","../chunks/DVC_-Bbc.js","../assets/0.MHa9rmVP.css","../nodes/1.CLRoE3Vb.js","../nodes/2.DoTgIlX_.js","../chunks/DcSynJCA.js","../chunks/C1ZCxvXT.js","../chunks/UzzQz-LW.js","../assets/2.DmqVqdyp.css","../nodes/3.Bxlt7XwE.js","../assets/3.BkIzAsIp.css","../nodes/4.CPSciXKD.js","../chunks/BSbUSrHo.js","../assets/Briefing.Dmn9LgiV.css","../assets/4.BZfqQRM0.css","../nodes/5.y-7CTBqe.js","../chunks/BY5fDKuw.js","../chunks/a59FAUdi.js","../assets/stoneRegistry.bHiraU77.css","../assets/5.BIuIAgmk.css","../nodes/6.D9P7fTed.js"])))=>i.map(i=>d[i]);
2
+ var q=e=>{throw TypeError(e)};var B=(e,t,r)=>t.has(e)||q("Cannot "+r);var c=(e,t,r)=>(B(e,t,"read from private field"),r?r.call(e):t.get(e)),x=(e,t,r)=>t.has(e)?q("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),I=(e,t,r,n)=>(B(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);import{b as k,_ as y}from"../chunks/a59FAUdi.js";import{h as F,T as W,i as X,y as Z,U as $,V as tt,m as et,k as M,a8 as rt,n as at,B as p,a7 as st,A as l,a9 as nt,aa as ot,ab as it,p as ct,ac as ut,K as _t,F as dt,d as mt,f as A,s as lt,a as ft,z as D,c as ht,r as vt,t as gt,I as L}from"../chunks/Db2Wa-jW.js";import{h as yt,m as Et,u as bt,a as R,c as V,f as N,t as Rt,s as Pt}from"../chunks/CBok_DXr.js";import{B as Ot,p as w,i as j}from"../chunks/ChZyCwev.js";function C(e,t,r){var n;F&&(n=at,W());var o=new Ot(e);X(()=>{var i=t()??null;if(F){var a=$(n),s=a===rt,m=i!==null;if(s!==m){var P=tt();et(P),o.anchor=P,M(!1),o.ensure(i,i&&(E=>r(E,i))),M(!0);return}}o.ensure(i,i&&(E=>r(E,i)))},Z)}function Tt(e){return class extends At{constructor(t){super({component:e,...t})}}}var f,_;class At{constructor(t){x(this,f);x(this,_);var i;var r=new Map,n=(a,s)=>{var m=it(s,!1,!1);return r.set(a,m),m};const o=new Proxy({...t.props||{},$$events:{}},{get(a,s){return l(r.get(s)??n(s,Reflect.get(a,s)))},has(a,s){return s===st?!0:(l(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,m){return p(r.get(s)??n(s,m),m),Reflect.set(a,s,m)}});I(this,_,(t.hydrate?yt:Et)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((i=t==null?void 0:t.props)!=null&&i.$$host)||t.sync===!1)&&nt(),I(this,f,o.$$events);for(const a of Object.keys(c(this,_)))a==="$set"||a==="$destroy"||a==="$on"||ot(this,a,{get(){return c(this,_)[a]},set(s){c(this,_)[a]=s},enumerable:!0});c(this,_).$set=a=>{Object.assign(o,a)},c(this,_).$destroy=()=>{bt(c(this,_))}}$set(t){c(this,_).$set(t)}$on(t,r){c(this,f)[t]=c(this,f)[t]||[];const n=(...o)=>r.call(this,...o);return c(this,f)[t].push(n),()=>{c(this,f)[t]=c(this,f)[t].filter(o=>o!==n)}}$destroy(){c(this,_).$destroy()}}f=new WeakMap,_=new WeakMap;const St={};var pt=N('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),xt=N("<!> <!>",1);function It(e,t){ct(t,!0);let r=w(t,"components",23,()=>[]),n=w(t,"data_0",3,null),o=w(t,"data_1",3,null);ut(()=>t.stores.page.set(t.page)),_t(()=>{t.stores,t.page,t.constructors,r(),t.form,n(),o(),t.stores.page.notify()});let i=D(!1),a=D(!1),s=D(null);dt(()=>{const u=t.stores.page.subscribe(()=>{l(i)&&(p(a,!0),mt().then(()=>{p(s,document.title||"untitled page",!0)}))});return p(i,!0),u});const m=L(()=>t.constructors[1]);var P=xt(),E=A(P);{var z=u=>{const h=L(()=>t.constructors[0]);var v=V(),O=A(v);C(O,()=>l(h),(g,b)=>{k(b(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(d,Dt)=>{var S=V(),U=A(S);C(U,()=>l(m),(J,Q)=>{k(Q(J,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),T=>r()[1]=T,()=>{var T;return(T=r())==null?void 0:T[1]})}),R(d,S)},$$slots:{default:!0}}),d=>r()[0]=d,()=>{var d;return(d=r())==null?void 0:d[0]})}),R(u,v)},G=u=>{const h=L(()=>t.constructors[0]);var v=V(),O=A(v);C(O,()=>l(h),(g,b)=>{k(b(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),d=>r()[0]=d,()=>{var d;return(d=r())==null?void 0:d[0]})}),R(u,v)};j(E,u=>{t.constructors[1]?u(z):u(G,-1)})}var H=lt(E,2);{var K=u=>{var h=pt(),v=ht(h);{var O=g=>{var b=Rt();gt(()=>Pt(b,l(s))),R(g,b)};j(v,g=>{l(a)&&g(O)})}vt(h),R(u,h)};j(H,u=>{l(i)&&u(K)})}R(e,P),ft()}const qt=Tt(It),Bt=[()=>y(()=>import("../nodes/0.M3y1IHJs.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>y(()=>import("../nodes/1.CLRoE3Vb.js"),__vite__mapDeps([9,1,2,5,6]),import.meta.url),()=>y(()=>import("../nodes/2.DoTgIlX_.js"),__vite__mapDeps([10,1,2,7,11,12,13,6,14]),import.meta.url),()=>y(()=>import("../nodes/3.Bxlt7XwE.js"),__vite__mapDeps([15,1,2,7,12,13,6,16]),import.meta.url),()=>y(()=>import("../nodes/4.CPSciXKD.js"),__vite__mapDeps([17,1,2,4,12,11,5,6,18,3,19,20]),import.meta.url),()=>y(()=>import("../nodes/5.y-7CTBqe.js"),__vite__mapDeps([21,1,2,4,5,6,18,12,3,19,22,23,24,7,25]),import.meta.url),()=>y(()=>import("../nodes/6.D9P7fTed.js"),__vite__mapDeps([26,1,2,18,4,12,3,19,22,23,24]),import.meta.url)],Ft=[],Mt={"/":[2],"/app":[3],"/print/[queryId]":[4],"/q/sample":[6],"/q/[queryId]":[5]},Y={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},kt=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.decode])),Nt=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.encode])),Yt=!1,zt=(e,t)=>kt[e](t);export{zt as decode,kt as decoders,Mt as dictionary,Nt as encoders,Yt as hash,Y as hooks,St as matchers,Bt as nodes,qt as root,Ft as server_loads};
web/sveltekit/build/_app/immutable/entry/app.CWOfOFvh.js DELETED
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.D8XZI90P.js","../chunks/Dlpu43Tj.js","../chunks/DwbuJhNu.js","../chunks/DNaFzQeI.js","../chunks/8F5LpR-T.js","../chunks/B07kFGr7.js","../chunks/BwzbOVaY.js","../chunks/DFFHaukH.js","../assets/0.MHa9rmVP.css","../nodes/1.DGS2cZTl.js","../nodes/2.CiK-Ot3Z.js","../chunks/CBcGqa-S.js","../assets/2.BkIzAsIp.css","../nodes/3.DjnrtyPP.js","../chunks/Cl16PtNL.js","../assets/Briefing.Dmn9LgiV.css","../assets/3.BZfqQRM0.css","../nodes/4.rD3Yr4HV.js","../chunks/Bu5KOiaf.js","../chunks/1oGnrPC6.js","../assets/stoneRegistry.bHiraU77.css","../assets/4.BIuIAgmk.css","../nodes/5.CAXEzxjD.js"])))=>i.map(i=>d[i]);
2
- var S=e=>{throw TypeError(e)};var B=(e,t,r)=>t.has(e)||S("Cannot "+r);var c=(e,t,r)=>(B(e,t,"read from private field"),r?r.call(e):t.get(e)),I=(e,t,r)=>t.has(e)?S("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),k=(e,t,r,n)=>(B(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);import{b as j,_ as b}from"../chunks/1oGnrPC6.js";import{q as M,T as W,i as X,E as Z,U as $,V as tt,A as et,z as N,a8 as rt,B as at,l as x,a7 as st,k as l,a9 as nt,aa as ot,ab as it,p as ct,ac as ut,K as dt,G as _t,o as mt,f as A,s as lt,a as ft,j as p,c as ht,r as vt,t as gt,J as w}from"../chunks/DwbuJhNu.js";import{h as yt,m as Et,u as bt,a as R,c as D,f as F,t as Rt,s as Pt}from"../chunks/Dlpu43Tj.js";import{B as Ot,p as L,i as V}from"../chunks/8F5LpR-T.js";function q(e,t,r){var n;M&&(n=at,W());var o=new Ot(e);X(()=>{var i=t()??null;if(M){var a=$(n),s=a===rt,m=i!==null;if(s!==m){var P=tt();et(P),o.anchor=P,N(!1),o.ensure(i,i&&(y=>r(y,i))),N(!0);return}}o.ensure(i,i&&(y=>r(y,i)))},Z)}function Tt(e){return class extends At{constructor(t){super({component:e,...t})}}}var f,d;class At{constructor(t){I(this,f);I(this,d);var i;var r=new Map,n=(a,s)=>{var m=it(s,!1,!1);return r.set(a,m),m};const o=new Proxy({...t.props||{},$$events:{}},{get(a,s){return l(r.get(s)??n(s,Reflect.get(a,s)))},has(a,s){return s===st?!0:(l(r.get(s)??n(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,m){return x(r.get(s)??n(s,m),m),Reflect.set(a,s,m)}});k(this,d,(t.hydrate?yt:Et)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((i=t==null?void 0:t.props)!=null&&i.$$host)||t.sync===!1)&&nt(),k(this,f,o.$$events);for(const a of Object.keys(c(this,d)))a==="$set"||a==="$destroy"||a==="$on"||ot(this,a,{get(){return c(this,d)[a]},set(s){c(this,d)[a]=s},enumerable:!0});c(this,d).$set=a=>{Object.assign(o,a)},c(this,d).$destroy=()=>{bt(c(this,d))}}$set(t){c(this,d).$set(t)}$on(t,r){c(this,f)[t]=c(this,f)[t]||[];const n=(...o)=>r.call(this,...o);return c(this,f)[t].push(n),()=>{c(this,f)[t]=c(this,f)[t].filter(o=>o!==n)}}$destroy(){c(this,d).$destroy()}}f=new WeakMap,d=new WeakMap;const Ct={};var xt=F('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),It=F("<!> <!>",1);function kt(e,t){ct(t,!0);let r=L(t,"components",23,()=>[]),n=L(t,"data_0",3,null),o=L(t,"data_1",3,null);ut(()=>t.stores.page.set(t.page)),dt(()=>{t.stores,t.page,t.constructors,r(),t.form,n(),o(),t.stores.page.notify()});let i=p(!1),a=p(!1),s=p(null);_t(()=>{const u=t.stores.page.subscribe(()=>{l(i)&&(x(a,!0),mt().then(()=>{x(s,document.title||"untitled page",!0)}))});return x(i,!0),u});const m=w(()=>t.constructors[1]);var P=It(),y=A(P);{var Y=u=>{const h=w(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{j(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(_,pt)=>{var C=D(),K=A(C);q(K,()=>l(m),(U,Q)=>{j(Q(U,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),T=>r()[1]=T,()=>{var T;return(T=r())==null?void 0:T[1]})}),R(_,C)},$$slots:{default:!0}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)},z=u=>{const h=w(()=>t.constructors[0]);var v=D(),O=A(v);q(O,()=>l(h),(g,E)=>{j(E(g,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),_=>r()[0]=_,()=>{var _;return(_=r())==null?void 0:_[0]})}),R(u,v)};V(y,u=>{t.constructors[1]?u(Y):u(z,-1)})}var H=lt(y,2);{var J=u=>{var h=xt(),v=ht(h);{var O=g=>{var E=Rt();gt(()=>Pt(E,l(s))),R(g,E)};V(v,g=>{l(a)&&g(O)})}vt(h),R(u,h)};V(H,u=>{l(i)&&u(J)})}R(e,P),ft()}const St=Tt(kt),Bt=[()=>b(()=>import("../nodes/0.D8XZI90P.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>b(()=>import("../nodes/1.DGS2cZTl.js"),__vite__mapDeps([9,1,2,5,6]),import.meta.url),()=>b(()=>import("../nodes/2.CiK-Ot3Z.js"),__vite__mapDeps([10,1,2,7,11,6,12]),import.meta.url),()=>b(()=>import("../nodes/3.DjnrtyPP.js"),__vite__mapDeps([13,1,2,4,11,5,6,14,3,15,16]),import.meta.url),()=>b(()=>import("../nodes/4.rD3Yr4HV.js"),__vite__mapDeps([17,1,2,4,5,6,14,11,3,15,18,19,20,7,21]),import.meta.url),()=>b(()=>import("../nodes/5.CAXEzxjD.js"),__vite__mapDeps([22,1,2,14,4,11,3,15,18,19,20]),import.meta.url)],Mt=[],Nt={"/":[2],"/print/[queryId]":[3],"/q/sample":[5],"/q/[queryId]":[4]},G={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},jt=Object.fromEntries(Object.entries(G.transport).map(([e,t])=>[e,t.decode])),Ft=Object.fromEntries(Object.entries(G.transport).map(([e,t])=>[e,t.encode])),Gt=!1,Yt=(e,t)=>jt[e](t);export{Yt as decode,jt as decoders,Nt as dictionary,Ft as encoders,Gt as hash,G as hooks,Ct as matchers,Bt as nodes,St as root,Mt as server_loads};
 
 
 
web/sveltekit/build/_app/immutable/entry/start.CN51yZti.js DELETED
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/BwzbOVaY.js";export{o as load_css,r as start};
 
 
web/sveltekit/build/_app/immutable/entry/start.fpFIEWbC.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{l as o,a as r}from"../chunks/BzKJ9Ltj.js";export{o as load_css,r as start};
web/sveltekit/build/_app/immutable/nodes/0.D8XZI90P.js DELETED
@@ -1,2 +0,0 @@
1
- import{d as N,a as i,s as O,b as R,f as l}from"../chunks/Dlpu43Tj.js";import{p as P,c as n,s as p,r as s,v as S,a as C,t as j,f as F,k as y,J as x}from"../chunks/DwbuJhNu.js";import{b as D,s as H}from"../chunks/DNaFzQeI.js";import{p as T,i as g}from"../chunks/8F5LpR-T.js";import{p as _}from"../chunks/B07kFGr7.js";import"../chunks/DFFHaukH.js";const U=!0,Y=!0,z="never",te=Object.freeze(Object.defineProperty({__proto__:null,prerender:U,ssr:Y,trailingSlash:z},Symbol.toStringTag,{value:"Module"}));var E=l('<button type="button" class="app-header-query" aria-label="Edit query"><span class="app-header-query-icon" aria-hidden="true">⌕</span> <span class="app-header-query-text"> </span> <span class="app-header-query-edit">edit</span></button>'),J=l('<button type="button" class="app-header-link app-header-link-button svelte-f1belb" aria-label="Open curated PDF view of completed briefing in new tab">export PDF</button>'),L=l('<header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/" class="riprap-wordmark" aria-label="Riprap home">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header>');function M(o,r){P(r,!0);let v=T(r,"query",3,null);function h(){if(typeof window>"u")return;const a=_.params.queryId??(_.url.pathname==="/q/sample"?"sample":"");a&&window.open(`/print/${encodeURIComponent(a)}`,"_blank","noopener")}var d=L(),c=n(d),f=p(n(c),2),u=n(f);{var k=a=>{var t=E(),b=p(n(t),2),q=n(b,!0);s(b),S(2),s(t),j(()=>O(q,v())),R("click",t,function(...I){var A;(A=r.onResetCold)==null||A.apply(this,I)}),i(a,t)};g(u,a=>{v()&&a(k)})}s(f);var m=p(f,2),w=p(n(m),2);{var e=a=>{var t=J();R("click",t,h),i(a,t)};g(w,a=>{D.ready&&a(e)})}S(2),s(m),s(c),s(d),i(o,d),C()}N(["click"]);var V=l(`<footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
2
- For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer>`);function W(o){var r=V();i(o,r)}var $=l('<a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a>',1);function B(o){var r=$();S(4),i(o,r)}var G=l("<!> <!>",1),K=l('<!> <main class="svelte-12qhfyh"><!></main> <!>',1);function oe(o,r){P(r,!0);let v=x(()=>()=>{const e=_.params.queryId;if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}),h=x(()=>_.url.pathname.startsWith("/print/"));var d=K(),c=F(d);{var f=e=>{var a=G(),t=F(a);B(t);var b=p(t,2);{let q=x(()=>y(v)());M(b,{get query(){return y(q)},onResetCold:()=>window.location.href="/"})}i(e,a)};g(c,e=>{y(h)||e(f)})}var u=p(c,2),k=n(u);H(k,()=>r.children),s(u);var m=p(u,2);{var w=e=>{W(e)};g(m,e=>{y(h)||e(w)})}i(o,d),C()}export{oe as component,te as universal};
 
 
 
web/sveltekit/build/_app/immutable/nodes/0.M3y1IHJs.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ import{d as N,a as p,s as O,b as R,f as i}from"../chunks/CBok_DXr.js";import{p as P,c as o,s,r as n,J as F,a as C,t as j,f as I,A as c,I as h}from"../chunks/Db2Wa-jW.js";import{b as D,s as H}from"../chunks/CXzWUZJN.js";import{p as L,i as k}from"../chunks/ChZyCwev.js";import{p as m}from"../chunks/C4Y7iDRY.js";import"../chunks/DVC_-Bbc.js";const T=!0,U=!0,Y="never",te=Object.freeze(Object.defineProperty({__proto__:null,prerender:T,ssr:U,trailingSlash:Y},Symbol.toStringTag,{value:"Module"}));var z=i('<button type="button" class="app-header-query" aria-label="Edit query"><span class="app-header-query-icon" aria-hidden="true">⌕</span> <span class="app-header-query-text"> </span> <span class="app-header-query-edit">edit</span></button>'),E=i('<button type="button" class="app-header-link app-header-link-button svelte-f1belb" aria-label="Open curated PDF view of completed briefing in new tab">export PDF</button>'),J=i('<header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/app" class="riprap-wordmark" aria-label="Riprap — back to query">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header>');function M(t,r){P(r,!0);let b=L(r,"query",3,null);function w(){if(typeof window>"u")return;const a=m.params.queryId??(m.url.pathname==="/q/sample"?"sample":"");a&&window.open(`/print/${encodeURIComponent(a)}`,"_blank","noopener")}var f=J(),u=o(f),l=s(o(u),2),y=o(l);{var q=a=>{var e=z(),v=s(o(e),2),g=o(v,!0);n(v),F(2),n(e),j(()=>O(g,b())),R("click",e,function(...S){var _;(_=r.onResetCold)==null||_.apply(this,S)}),p(a,e)};k(y,a=>{b()&&a(q)})}n(l);var d=s(l,2),x=s(o(d),2);{var A=a=>{var e=E();R("click",e,w),p(a,e)};k(x,a=>{D.ready&&a(A)})}F(2),n(d),n(u),n(f),p(t,f),C()}N(["click"]);var V=i(`<footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
2
+ For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer>`);function W(t){var r=V();p(t,r)}var $=i('<a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a>',1);function B(t){var r=$();F(4),p(t,r)}var G=i("<!> <!>",1),K=i('<!> <main class="svelte-12qhfyh"><!></main> <!>',1);function oe(t,r){P(r,!0);let b=h(()=>()=>{const e=m.params.queryId;if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}),w=h(()=>m.url.pathname.startsWith("/print/")),f=h(()=>m.url.pathname==="/"),u=h(()=>c(w)||c(f));var l=K(),y=I(l);{var q=e=>{var v=G(),g=I(v);B(g);var S=s(g,2);{let _=h(()=>c(b)());M(S,{get query(){return c(_)},onResetCold:()=>window.location.href="/app"})}p(e,v)};k(y,e=>{c(u)||e(q)})}var d=s(y,2),x=o(d);H(x,()=>r.children),n(d);var A=s(d,2);{var a=e=>{W(e)};k(A,e=>{c(u)||e(a)})}p(t,l),C()}export{oe as component,te as universal};
web/sveltekit/build/_app/immutable/nodes/{1.DGS2cZTl.js → 1.CLRoE3Vb.js} RENAMED
@@ -1 +1 @@
1
- import{a as c,f as u,s as e}from"../chunks/Dlpu43Tj.js";import{p as v,f as l,t as _,a as g,c as p,r as o,s as x}from"../chunks/DwbuJhNu.js";import{p as m}from"../chunks/B07kFGr7.js";var d=u("<h1> </h1> <p> </p>",1);function k(f,i){v(i,!0);var t=d(),r=l(t),h=p(r,!0);o(r);var a=x(r,2),n=p(a,!0);o(a),_(()=>{var s;e(h,m.status),e(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{k as component};
 
1
+ import{a as c,f as u,s as e}from"../chunks/CBok_DXr.js";import{p as v,f as l,t as _,a as g,c as p,r as o,s as x}from"../chunks/Db2Wa-jW.js";import{p as m}from"../chunks/C4Y7iDRY.js";var d=u("<h1> </h1> <p> </p>",1);function k(f,i){v(i,!0);var t=d(),r=l(t),h=p(r,!0);o(r);var a=x(r,2),n=p(a,!0);o(a),_(()=>{var s;e(h,m.status),e(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{k as component};
web/sveltekit/build/_app/immutable/nodes/2.DoTgIlX_.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ import{a as m,f as u,d as T,e as D,b as $,s as j}from"../chunks/CBok_DXr.js";import"../chunks/DVC_-Bbc.js";import{v as W,ac as Y,K as L,u as G,ba as A,bb as U,A as r,bc as I,a4 as O,p as C,B as E,a as B,z as M,s as v,c as o,J as K,r as l,t as q,w as Q,$ as Z}from"../chunks/Db2Wa-jW.js";import{h as J}from"../chunks/DcSynJCA.js";import{e as z,r as V,a as X,s as ee,b as ae}from"../chunks/C1ZCxvXT.js";import{b as se}from"../chunks/UzzQz-LW.js";import{g as N}from"../chunks/BzKJ9Ltj.js";function te(s=!1){const e=W,a=e.l.u;if(!a)return;let i=()=>I(e.s);if(s){let t=0,p={};const w=O(()=>{let d=!1;const f=e.s;for(const c in f)f[c]!==p[c]&&(p[c]=f[c],d=!0);return d&&t++,t});i=()=>r(w)}a.b.length&&Y(()=>{F(e,i),A(a.b)}),L(()=>{const t=G(()=>a.m.map(U));return()=>{for(const p of t)typeof p=="function"&&p()}}),a.a.length&&L(()=>{F(e,i),A(a.a)})}function F(s,e){if(s.l.s)for(const a of s.l.s)r(a);e()}var ne=u('<header class="land-header svelte-1ct2rgk"><span class="riprap-wordmark">riprap</span> <span class="land-header-sep svelte-1ct2rgk">/</span> <span class="land-header-context svelte-1ct2rgk">Flood Exposure Briefing · NYC</span> <nav class="land-header-nav svelte-1ct2rgk"><a href="/app" class="svelte-1ct2rgk">Open the app</a> <a href="#methodology" class="svelte-1ct2rgk">Methodology</a> <a href="#sources" class="svelte-1ct2rgk">Sources</a></nav></header>');function le(s){var e=ne();m(s,e)}var re=u("<span> </span>"),ie=u('<main class="land-hero svelte-drzq4r"><h1 class="land-hero-h1 svelte-drzq4r"><span class="land-hero-headline svelte-drzq4r">A flood exposure briefing<br/> for <em class="svelte-drzq4r">any place</em> in New York City.</span> <span class="land-hero-deck svelte-drzq4r">Type an address. Get a written briefing where every numeric claim links to its primary public-record source.</span></h1> <form class="land-query svelte-drzq4r" role="search"><span class="land-query-prompt svelte-drzq4r" aria-hidden="true">›</span> <input type="text" placeholder="Address, neighborhood, or BBL. e.g. 80 Pioneer Street, Red Hook" class="land-query-input svelte-drzq4r" aria-label="Query an address, neighborhood, or BBL"/> <button type="submit" class="land-query-submit svelte-drzq4r">Brief this place →</button></form> <div class="land-cycling svelte-drzq4r" aria-live="polite"><span class="land-cycling-label svelte-drzq4r">Try:</span> <button type="button" class="land-cycling-rail svelte-drzq4r" title="Run this example"></button></div></main>');function de(s,e){C(e,!0);const a=["80 Pioneer Street, Red Hook","Coney Island Hospital","PS 188, Lower East Side","Hammels Houses, Rockaway","Bowling Green station","555 W 57th Street"];let i=M(""),t=M(0);L(()=>{if(typeof window>"u")return;const n=setInterval(()=>{E(t,(r(t)+1)%a.length)},2200);return()=>clearInterval(n)});function p(){const n=r(i).trim();n&&N(`/q/${encodeURIComponent(n)}`)}function w(){const n=a[r(t)];N(`/q/${encodeURIComponent(n)}`)}var d=ie(),f=v(o(d),2),c=v(o(f),2);V(c),K(2),l(f);var y=v(f,2),g=v(o(y),2);z(g,22,()=>a,n=>n,(n,b,_)=>{var h=re();let x;var k=o(h,!0);l(h),q(()=>{x=X(h,1,"land-cycling-item svelte-drzq4r",null,x,{"is-active":r(_)===r(t)}),ee(h,"aria-hidden",r(_)!==r(t)),j(k,b)}),m(n,h)}),l(g),l(y),l(d),D("submit",f,n=>{n.preventDefault(),p()}),se(c,()=>r(i),n=>E(i,n)),$("click",g,w),m(s,d),B()}T(["click"]);var ce=u(`<section class="land-section svelte-1anw2jf"><div class="land-section-head svelte-1anw2jf"><span class="section-label">What you'll get back</span> <span class="land-section-meta svelte-1anw2jf">A grounded paragraph with citations, not a chatbot answer.</span></div> <div class="land-preview-grid svelte-1anw2jf"><div class="land-preview-pane land-preview-pane-excerpt svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Briefing excerpt</div> <p class="land-preview-body svelte-1anw2jf">The lot sits inside the FEMA <span class="land-preview-cite svelte-1anw2jf">1% AE flood zone <sup class="svelte-1anw2jf">[c3]</sup></span>,
2
+ with Sandy high-water marks recorded <span class="land-preview-cite svelte-1anw2jf">4.7 ft above grade <sup class="svelte-1anw2jf">[c1]</sup></span>.
3
+ FloodNet FN-BK-018 has logged <span class="land-preview-cite svelte-1anw2jf">14 nuisance floods since 2023 <sup class="svelte-1anw2jf">[c2]</sup></span>.</p> <div class="land-preview-cites svelte-1anw2jf"><div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c1]</span> <span class="land-preview-cite-src svelte-1anw2jf">USGS HWM · Sandy 2012</span> <span class="land-preview-cite-tier svelte-1anw2jf">empirical</span></div> <div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c2]</span> <span class="land-preview-cite-src svelte-1anw2jf">FloodNet FN-BK-018</span> <span class="land-preview-cite-tier svelte-1anw2jf">empirical</span></div> <div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c3]</span> <span class="land-preview-cite-src svelte-1anw2jf">FEMA NFHL · 36047C0207</span> <span class="land-preview-cite-tier svelte-1anw2jf">modeled</span></div></div></div> <div class="land-preview-pane land-preview-pane-cards svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Evidence cards</div> <div class="land-evcard-grid svelte-1anw2jf"><article class="land-evcard land-evcard-empirical svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">empirical</span> <span class="land-evcard-id svelte-1anw2jf">e1</span></header> <div class="land-evcard-claim svelte-1anw2jf">4.7 ft Sandy storm-surge HWM at address</div> <div class="land-evcard-source svelte-1anw2jf">USGS High-Water Mark database · 2012</div></article> <article class="land-evcard land-evcard-empirical svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">empirical</span> <span class="land-evcard-id svelte-1anw2jf">e2</span></header> <div class="land-evcard-claim svelte-1anw2jf">14 nuisance-flood events, 2023–2026</div> <div class="land-evcard-source svelte-1anw2jf">FloodNet FN-BK-018 · 2 blocks north</div></article> <article class="land-evcard land-evcard-modeled svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">modeled</span> <span class="land-evcard-id svelte-1anw2jf">e3</span></header> <div class="land-evcard-claim svelte-1anw2jf">FEMA 1% annual-chance (AE) flood zone</div> <div class="land-evcard-source svelte-1anw2jf">FEMA NFHL · panel 36047C0207</div></article> <article class="land-evcard land-evcard-modeled svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">modeled</span> <span class="land-evcard-id svelte-1anw2jf">e5</span></header> <div class="land-evcard-claim svelte-1anw2jf">+30 in MSL by 2070 (NPCC4 high)</div> <div class="land-evcard-source svelte-1anw2jf">NPCC4 SLR projection · 2024</div></article></div></div> <div class="land-preview-pane land-preview-pane-map svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Map</div> <div class="land-mapmini svelte-1anw2jf" role="img" aria-label="Sample exposure map of Red Hook"><svg viewBox="0 0 240 200" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" style="display: block; width: 100%; height: 100%;"><rect width="240" height="200" fill="#F2F2EE"></rect><path d="M0,150 Q60,140 120,148 T240,140 L240,200 L0,200 Z" fill="#D6DDE0"></path><path d="M0,90 Q40,82 90,88 L120,86 L120,150 L0,150 Z" fill="#D6DDE0"></path><path d="M30,80 L130,76 L160,140 L40,148 Z" fill="rgba(42,111,168,0.22)" stroke="#2A6FA8" stroke-width="0.8" stroke-dasharray="3 2"></path><path d="M50,90 Q90,84 130,90 T200,108" fill="none" stroke="#0B5394" stroke-width="1.2"></path><g stroke="#B8B5AE" stroke-width="0.5" fill="none"><path d="M0,60 L240,52"></path><path d="M0,110 L240,102"></path><path d="M60,0 L72,200"></path><path d="M120,0 L132,200"></path><path d="M180,0 L192,200"></path></g><g transform="translate(108 92)"><rect x="-3" y="-3" width="6" height="6" fill="#0B5394" stroke="white" stroke-width="0.8"></rect></g><g fill="none" stroke="#6B6B6B" stroke-width="0.8"><circle cx="80" cy="120" r="3"></circle><circle cx="86" cy="124" r="3"></circle><circle cx="92" cy="118" r="3"></circle></g><g transform="translate(118 112)"><circle r="8" fill="none" stroke="#1A1A1A" stroke-width="1.2"></circle><circle r="2.4" fill="#1A1A1A"></circle></g></svg> <div class="land-mapmini-legend svelte-1anw2jf"><span class="svelte-1anw2jf"><span class="lm-sw lm-sw-emp svelte-1anw2jf"></span>empirical</span> <span class="svelte-1anw2jf"><span class="lm-sw lm-sw-mod svelte-1anw2jf"></span>modeled</span> <span class="svelte-1anw2jf"><span class="lm-sw lm-sw-prx svelte-1anw2jf"></span>proxy</span></div></div> <div class="land-preview-mapmeta svelte-1anw2jf">Red Hook · z16 · Carto Positron</div></div></div></section>`);function oe(s){var e=ce();m(s,e)}var ve=u('<article class="land-stones-detail-cell svelte-1v6nt1t"><div class="land-stones-detail-num svelte-1v6nt1t"> </div> <h3 class="land-stones-detail-name svelte-1v6nt1t"> </h3> <div class="land-stones-detail-role svelte-1v6nt1t"> </div> <p class="land-stones-detail-tag svelte-1v6nt1t"> </p> <div class="land-stones-detail-sources svelte-1v6nt1t"> </div></article>'),pe=u(`<section class="land-section-stones-detail svelte-1v6nt1t" id="methodology"><div class="land-page svelte-1v6nt1t"><div class="land-section-head svelte-1v6nt1t"><span class="section-label">How Riprap reads a place</span> <span class="land-section-meta svelte-1v6nt1t">Five Stones · one taxonomy · every briefing</span></div> <p class="land-stones-deck svelte-1v6nt1t">Each briefing routes through a fixed taxonomy of public-record specialists. Each Stone is a class of evidence.
4
+ Together they form the briefing, and every claim in the output traces back to the Stone that produced it.</p> <div class="land-stones-detail svelte-1v6nt1t"></div></div></section>`);function fe(s,e){C(e,!1);const a=[{name:"Cornerstone",role:"the hazard reader",tag:"what NYC's ground remembers",sources:"USGS HWMs �� FEMA NFHL · DEP stormwater · Prithvi historical",tint:"var(--stone-cornerstone)"},{name:"Keystone",role:"the asset register",tag:"what's exposed",sources:"MTA · NYCHA · DOE · DOH · PLUTO",tint:"var(--stone-keystone)"},{name:"Touchstone",role:"the live observer",tag:"what's happening now",sources:"FloodNet sensors · 311 complaints · NWS · NOAA tide gauges",tint:"var(--stone-touchstone)"},{name:"Lodestone",role:"the projector",tag:"what's coming",sources:"NPCC4 · Granite TTM (zero-shot + NYC fine-tune) · NWS alerts",tint:"var(--stone-lodestone)"},{name:"Capstone",role:"the synthesizer",tag:"writes it all down",sources:"Granite 4.1 composer · Mellea grounding-check · WeasyPrint",tint:"var(--stone-capstone)"}];te();var i=pe(),t=o(i),p=v(o(t),4);z(p,7,()=>a,w=>w.name,(w,d,f)=>{var c=ve();let y;var g=o(c),n=o(g,!0);l(g);var b=v(g,2),_=o(b,!0);l(b);var h=v(b,2),x=o(h,!0);l(h);var k=v(h,2),H=o(k,!0);l(k);var S=v(k,2),R=o(S,!0);l(S),l(c),q(P=>{y=ae(c,"",y,{"--stone-tint":r(d).tint}),j(n,P),j(_,r(d).name),j(x,r(d).role),j(H,r(d).tag),j(R,r(d).sources)},[()=>String(r(f)+1).padStart(2,"0")]),m(w,c)}),l(p),l(t),l(i),m(s,i),B()}var we=u('<footer class="land-footer svelte-1dcj612"><span class="land-footer-tiers svelte-1dcj612"><span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-emp svelte-1dcj612"></span>empirical</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-mod svelte-1dcj612"></span>modeled</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-prx svelte-1dcj612"></span>proxy</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-syn svelte-1dcj612"></span>synthetic</span></span> <span class="land-footer-build">Riprap v0.4.5 · NYC OpenData · FEMA NFHL · USGS · NPCC4</span></footer>');function he(s){var e=we();m(s,e)}var me=u('<meta name="description" content="A citation-grounded flood-exposure briefing tool for any address, neighborhood, or BBL in New York City."/>'),ue=u('<div class="land svelte-1uha8ag"><!> <div class="land-page svelte-1uha8ag"><!> <!></div> <!> <!></div>');function Le(s){var e=ue();J("1uha8ag",f=>{var c=me();Q(()=>{Z.title="Riprap — Flood Exposure Briefing for NYC"}),m(f,c)});var a=o(e);le(a);var i=v(a,2),t=o(i);de(t,{});var p=v(t,2);oe(p),l(i);var w=v(i,2);fe(w,{});var d=v(w,2);he(d),l(e),m(s,e)}export{Le as component};
web/sveltekit/build/_app/immutable/nodes/{2.CiK-Ot3Z.js → 3.Bxlt7XwE.js} RENAMED
@@ -1,4 +1,4 @@
1
- import{d as H,e as Y,a as S,f as q,s as x,b as I}from"../chunks/Dlpu43Tj.js";import"../chunks/DFFHaukH.js";import{m as P,n as f,o as j,u as B,g as L,q as M,p as Q,k as v,a as D,c as o,s as m,v as k,r as t,t as T,l as U,j as V}from"../chunks/DwbuJhNu.js";import{e as $,r as z,i as G}from"../chunks/CBcGqa-S.js";import{g as K}from"../chunks/BwzbOVaY.js";function W(e,s,i=s){var r=new WeakSet;P(e,"input",async l=>{var a=l?e.defaultValue:e.value;if(a=w(e)?_(a):a,i(a),f!==null&&r.add(f),await j(),a!==(a=s())){var u=e.selectionStart,n=e.selectionEnd,b=e.value.length;if(e.value=a??"",n!==null){var c=e.value.length;u===n&&n===b&&c>b?(e.selectionStart=c,e.selectionEnd=c):(e.selectionStart=u,e.selectionEnd=Math.min(n,c))}}}),(M&&e.defaultValue!==e.value||B(s)==null&&e.value)&&(i(w(e)?_(e.value):e.value),f!==null&&r.add(f)),L(()=>{var l=s();if(e===document.activeElement){var a=f;if(r.has(a))return}w(e)&&l===_(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}function w(e){var s=e.type;return s==="number"||s==="range"}function _(e){return e===""?null:+e}var Z=q('<button type="button" class="cold-start-sample"><span class="cold-start-sample-mode"> </span> <span class="cold-start-sample-q"> </span> <span class="cold-start-sample-sub"> </span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button>'),J=q(`<section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
2
  Type an address, neighborhood, or proposed development — Riprap returns a written briefing
3
  where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
4
- For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-stones svelte-7xcb6n"><li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-cornerstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Cornerstone</em> remembers — what NYC's ground remembers.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-keystone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Keystone</em> tallies — what's exposed.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-touchstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Touchstone</em> watches — what's happening now.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-lodestone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Lodestone</em> projects — what's coming.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-capstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Capstone</em> writes it all down with citations.</li></ul> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section>`);function O(e,s){Q(s,!0);const i=[{mode:"address",q:"80 Pioneer Street, Red Hook, Brooklyn",sub:"Address-mode · Sandy edge · IBZ · NYCHA proximity"},{mode:"neighborhood",q:"Far Rockaway flood exposure briefing",sub:"Neighborhood-mode · chronic stormwater · 2050 SLR"},{mode:"development",q:"Hunts Point proposed rezoning — flood-context check",sub:"Development-check · CEQR §817 · 311 proxy density"}];let r=V("");function l(d){const p=d.trim();p&&K(`/q/${encodeURIComponent(p)}`)}function a(d){d.preventDefault(),l(v(r))}var u=J(),n=m(o(u),2),b=m(o(n),2),c=o(b);z(c),k(2),t(b),t(n);var C=m(n,2),E=m(o(C),2);$(E,21,()=>i,G,(d,p)=>{var h=Z(),y=o(h),N=o(y,!0);t(y);var g=m(y,2),A=o(g,!0);t(g);var R=m(g,2),F=o(R,!0);t(R),k(2),t(h),T(()=>{x(N,v(p).mode),x(A,v(p).q),x(F,v(p).sub)}),I("click",h,()=>l(v(p).q)),S(d,h)}),t(E),t(C),k(2),t(u),Y("submit",n,a),W(c,()=>v(r),d=>U(r,d)),S(e,u),D()}H(["click"]);var X=q('<section class="hero-band"><div class="hero-band-inner"><!></div></section>');function re(e){var s=X(),i=o(s),r=o(i);O(r,{}),t(i),t(s),S(e,s)}export{re as component};
 
1
+ import{d as N,e as F,a as f,f as g,s as v,b as E}from"../chunks/CBok_DXr.js";import"../chunks/DVC_-Bbc.js";import{p as H,A as o,a as P,c as s,B as Y,s as r,z as j,J as h,r as e,t as B}from"../chunks/Db2Wa-jW.js";import{e as I,r as z,i as L}from"../chunks/C1ZCxvXT.js";import{b as M}from"../chunks/UzzQz-LW.js";import{g as Q}from"../chunks/BzKJ9Ltj.js";const T=!0,X=Object.freeze(Object.defineProperty({__proto__:null,prerender:T},Symbol.toStringTag,{value:"Module"}));var $=g('<button type="button" class="cold-start-sample"><span class="cold-start-sample-mode"> </span> <span class="cold-start-sample-q"> </span> <span class="cold-start-sample-sub"> </span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button>'),D=g(`<section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
2
  Type an address, neighborhood, or proposed development — Riprap returns a written briefing
3
  where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
4
+ For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-stones svelte-7xcb6n"><li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-cornerstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Cornerstone</em> remembers — what NYC's ground remembers.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-keystone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Keystone</em> tallies — what's exposed.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-touchstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Touchstone</em> watches — what's happening now.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-lodestone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Lodestone</em> projects — what's coming.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-capstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Capstone</em> writes it all down with citations.</li></ul> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section>`);function O(p,n){H(n,!0);const i=[{mode:"address",q:"80 Pioneer Street, Red Hook, Brooklyn",sub:"Address-mode · Sandy edge · IBZ · NYCHA proximity"},{mode:"neighborhood",q:"Far Rockaway flood exposure briefing",sub:"Neighborhood-mode · chronic stormwater · 2050 SLR"},{mode:"development",q:"Hunts Point proposed rezoning — flood-context check",sub:"Development-check · CEQR §817 · 311 proxy density"}];let l=j("");function y(t){const a=t.trim();a&&Q(`/q/${encodeURIComponent(a)}`)}function S(t){t.preventDefault(),y(o(l))}var u=D(),c=r(s(u),2),x=r(s(c),2),w=s(x);z(w),h(2),e(x),e(c);var k=r(c,2),_=r(s(k),2);I(_,21,()=>i,L,(t,a)=>{var d=$(),m=s(d),C=s(m,!0);e(m);var b=r(m,2),R=s(b,!0);e(b);var q=r(b,2),A=s(q,!0);e(q),h(2),e(d),B(()=>{v(C,o(a).mode),v(R,o(a).q),v(A,o(a).sub)}),E("click",d,()=>y(o(a).q)),f(t,d)}),e(_),e(k),h(2),e(u),F("submit",c,S),M(w,()=>o(l),t=>Y(l,t)),f(p,u),P()}N(["click"]);var U=g('<section class="hero-band"><div class="hero-band-inner"><!></div></section>');function ee(p){var n=U(),i=s(n),l=s(i);O(l,{}),e(i),e(n),f(p,n)}export{ee as component,X as universal};
web/sveltekit/build/_app/immutable/nodes/3.DjnrtyPP.js DELETED
@@ -1,7 +0,0 @@
1
- import{d as we,c as Ee,a as p,s as l,b as Fe,f as d}from"../chunks/Dlpu43Tj.js";import{w as $e,i as ke,H as Te,x as qe,q as D,C as Me,y as Z,z as ee,A as te,B as Oe,F as Se,p as je,G as Ce,f as De,a as Ie,k as e,l as I,I as Re,J as m,j as R,$ as Ae,c as a,s,r as t,t as A}from"../chunks/DwbuJhNu.js";import{i as P}from"../chunks/8F5LpR-T.js";import{e as Pe}from"../chunks/CBcGqa-S.js";import{p as Be}from"../chunks/B07kFGr7.js";import{B as Ge,T as Ne}from"../chunks/Cl16PtNL.js";import{l as ze}from"../chunks/DNaFzQeI.js";function He(f,_){let c=null,r=D;var u;if(D){c=Oe;for(var o=Se(document.head);o!==null&&(o.nodeType!==Me||o.data!==f);)o=Z(o);if(o===null)ee(!1);else{var b=Z(o);o.remove(),te(b)}}D||(u=document.head.appendChild($e()));try{ke(()=>_(u),Te|qe)}finally{r&&(ee(!0),te(c))}}const Le=!1,Je=!1,it=Object.freeze(Object.defineProperty({__proto__:null,prerender:Le,ssr:Je},Symbol.toStringTag,{value:"Module"}));var Ve=d(`<div class="empty svelte-uialbm"><h1 class="svelte-uialbm">No briefing snapshot found</h1> <p>Run a briefing first at <a href="/" class="svelte-uialbm">riprap home</a>; once it finishes,
2
- use <strong>export PDF</strong> from the header to open this view.
3
- Snapshots are stored per-browser and persist between runs of the same query.</p></div>`),We=d('<div class="curl svelte-uialbm"> </div>'),Ke=d('<li class="svelte-uialbm"><span class="cn svelte-uialbm"> </span> <span class="cglyph svelte-uialbm"><!></span> <span class="csrc svelte-uialbm"> </span> <span class="cvint svelte-uialbm"> </span> <div class="ctitle svelte-uialbm"> </div> <!> <div class="cdocid svelte-uialbm">doc_id <code> </code></div></li>'),Qe=d('<section class="print-citations svelte-uialbm"><h2 class="svelte-uialbm">Citations</h2> <ol class="svelte-uialbm"></ol></section>'),Ue=d('<article class="print-doc svelte-uialbm"><header class="print-head svelte-uialbm"><div class="print-head-top svelte-uialbm"><span class="wordmark svelte-uialbm">riprap</span> <span class="meta"> </span></div> <h1 class="print-title svelte-uialbm"> </h1> <div class="print-sub svelte-uialbm">intent <strong> </strong> </div></header> <div class="print-controls no-print svelte-uialbm"><button type="button" class="svelte-uialbm">print / save as PDF</button> <span class="hint svelte-uialbm"> </span></div> <!> <!> <footer class="print-foot svelte-uialbm"> </footer></article>'),Xe=d('<div class="empty svelte-uialbm"><p>Loading…</p></div>');function nt(f,_){je(_,!0);let c=m(()=>Be.params.queryId??""),r=R(null),u=R(!1),o=R(!1);Ce(()=>{const i=ze(e(c));if(!i){I(u,!0);return}I(r,i,!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{typeof window<"u"&&(window.print(),I(o,!0))})})});function b(){typeof window<"u"&&window.print()}let B=m(()=>e(r)?Object.values(e(r).citations).sort((i,n)=>i.n-n.n):[]),G=m(()=>e(r)?new Date(e(r).generatedAt).toISOString().slice(0,10):"");var N=Ee();He("uialbm",i=>{Re(()=>{var n;Ae.title=`Riprap briefing — ${((n=e(r))==null?void 0:n.queryText)??"export"??""}`})});var ae=De(N);{var se=i=>{var n=Ve();p(i,n)},re=i=>{var n=Ue(),g=a(n),h=a(g),z=s(a(h),2),ne=a(z);t(z),t(h);var y=s(h,2),le=a(y,!0);t(y);var H=s(y,2),x=s(a(H)),oe=a(x,!0);t(x);var ve=s(x);t(H),t(g);var w=s(g,2),L=a(w),J=s(L,2),pe=a(J,!0);t(J),t(w);var V=s(w,2);Ge(V,{get blocks(){return e(r).blocks},get citations(){return e(r).citations},streaming:!1});var W=s(V,2);{var de=E=>{var F=Qe(),Q=s(a(F),2);Pe(Q,21,()=>e(B),$=>$.id,($,v)=>{var k=Ke(),T=a(k),ce=a(T);t(T);var q=s(T,2),me=a(q);Ne(me,{get tier(){return e(v).tier},size:9,get color(){return`var(--tier-${e(v).tier??""})`}}),t(q);var M=s(q,2),fe=a(M,!0);t(M);var O=s(M,2),_e=a(O);t(O);var S=s(O,2),be=a(S,!0);t(S);var U=s(S,2);{var ge=j=>{var C=We(),xe=a(C,!0);t(C),A(()=>l(xe,e(v).url)),p(j,C)},he=m(()=>e(v).url&&e(v).url.startsWith("http"));P(U,j=>{e(he)&&j(ge)})}var X=s(U,2),Y=s(a(X)),ye=a(Y,!0);t(Y),t(X),t(k),A(()=>{l(ce,`[${e(v).n??""}]`),l(fe,e(v).source),l(_e,`v. ${e(v).vintage??""}`),l(be,e(v).title),l(ye,e(v).docId)}),p($,k)}),t(Q),t(F),p(E,F)};P(W,E=>{e(B).length&&E(de)})}var K=s(W,2),ue=a(K);t(K),t(n),A(()=>{l(ne,`flood-exposure briefing · v0.4.2 · ${e(G)??""}`),l(le,e(r).queryText),l(oe,e(r).intent??"briefing"),l(ve,` · ${e(r).specialists??""} specialists
4
- · ${e(r).attempts??1??""} reconcile${(e(r).attempts??1)===1?"":"s"}
5
- · grounded by Mellea rejection sampling`),l(pe,e(o)?"Print dialog opened. Re-print anytime.":"Opening print dialog…"),l(ue,`Generated ${e(G)??""} ·
6
- Riprap is grounded by Mellea rejection sampling over IBM Granite 4.1.
7
- Numbers without bracketed citations are not present in source documents.`)}),Fe("click",L,b),p(i,n)},ie=i=>{var n=Xe();p(i,n)};P(ae,i=>{e(u)?i(se):e(r)?i(re,1):i(ie,-1)})}p(f,N),Ie()}we(["click"]);export{nt as component,it as universal};
 
 
 
 
 
 
 
 
web/sveltekit/build/_app/immutable/nodes/4.CPSciXKD.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import{d as ge,c as he,a as v,s as l,b as xe,f as p}from"../chunks/CBok_DXr.js";import{p as ye,F as we,f as $e,a as ke,G as qe,A as e,B as S,$ as Fe,I as d,z as j,c as a,s,r as t,t as M}from"../chunks/Db2Wa-jW.js";import{i as O}from"../chunks/ChZyCwev.js";import{e as Ie}from"../chunks/C1ZCxvXT.js";import{h as Se}from"../chunks/DcSynJCA.js";import{p as je}from"../chunks/C4Y7iDRY.js";import{B as Me,T as Oe}from"../chunks/BSbUSrHo.js";import{l as Te}from"../chunks/CXzWUZJN.js";const Ae=!1,Be=!1,Ue=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ae,ssr:Be},Symbol.toStringTag,{value:"Module"}));var Ge=p(`<div class="empty svelte-uialbm"><h1 class="svelte-uialbm">No briefing snapshot found</h1> <p>Run a briefing first at <a href="/" class="svelte-uialbm">riprap home</a>; once it finishes,
2
+ use <strong>export PDF</strong> from the header to open this view.
3
+ Snapshots are stored per-browser and persist between runs of the same query.</p></div>`),Pe=p('<div class="curl svelte-uialbm"> </div>'),Re=p('<li class="svelte-uialbm"><span class="cn svelte-uialbm"> </span> <span class="cglyph svelte-uialbm"><!></span> <span class="csrc svelte-uialbm"> </span> <span class="cvint svelte-uialbm"> </span> <div class="ctitle svelte-uialbm"> </div> <!> <div class="cdocid svelte-uialbm">doc_id <code> </code></div></li>'),ze=p('<section class="print-citations svelte-uialbm"><h2 class="svelte-uialbm">Citations</h2> <ol class="svelte-uialbm"></ol></section>'),De=p('<article class="print-doc svelte-uialbm"><header class="print-head svelte-uialbm"><div class="print-head-top svelte-uialbm"><span class="wordmark svelte-uialbm">riprap</span> <span class="meta"> </span></div> <h1 class="print-title svelte-uialbm"> </h1> <div class="print-sub svelte-uialbm">intent <strong> </strong> </div></header> <div class="print-controls no-print svelte-uialbm"><button type="button" class="svelte-uialbm">print / save as PDF</button> <span class="hint svelte-uialbm"> </span></div> <!> <!> <footer class="print-foot svelte-uialbm"> </footer></article>'),Le=p('<div class="empty svelte-uialbm"><p>Loading…</p></div>');function Ve(Q,U){ye(U,!0);let V=d(()=>je.params.queryId??""),i=j(null),T=j(!1),A=j(!1);we(()=>{const r=Te(e(V));if(!r){S(T,!0);return}S(i,r,!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{typeof window<"u"&&(window.print(),S(A,!0))})})});function X(){typeof window<"u"&&window.print()}let B=d(()=>e(i)?Object.values(e(i).citations).sort((r,n)=>r.n-n.n):[]),G=d(()=>e(i)?new Date(e(i).generatedAt).toISOString().slice(0,10):"");var P=he();Se("uialbm",r=>{qe(()=>{var n;Fe.title=`Riprap briefing — ${((n=e(i))==null?void 0:n.queryText)??"export"??""}`})});var Y=$e(P);{var Z=r=>{var n=Ge();v(r,n)},ee=r=>{var n=De(),c=a(n),u=a(c),R=s(a(u),2),ae=a(R);t(R),t(u);var m=s(u,2),se=a(m,!0);t(m);var z=s(m,2),f=s(a(z)),re=a(f,!0);t(f);var ie=s(f);t(z),t(c);var b=s(c,2),D=a(b),L=s(D,2),ne=a(L,!0);t(L),t(b);var N=s(b,2);Me(N,{get blocks(){return e(i).blocks},get citations(){return e(i).citations},streaming:!1});var C=s(N,2);{var le=_=>{var g=ze(),W=s(a(g),2);Ie(W,21,()=>e(B),h=>h.id,(h,o)=>{var x=Re(),y=a(x),ve=a(y);t(y);var w=s(y,2),pe=a(w);Oe(pe,{get tier(){return e(o).tier},size:9,get color(){return`var(--tier-${e(o).tier??""})`}}),t(w);var $=s(w,2),de=a($,!0);t($);var k=s($,2),ce=a(k);t(k);var q=s(k,2),ue=a(q,!0);t(q);var H=s(q,2);{var me=F=>{var I=Pe(),_e=a(I,!0);t(I),M(()=>l(_e,e(o).url)),v(F,I)},fe=d(()=>e(o).url&&e(o).url.startsWith("http"));O(H,F=>{e(fe)&&F(me)})}var J=s(H,2),K=s(a(J)),be=a(K,!0);t(K),t(J),t(x),M(()=>{l(ve,`[${e(o).n??""}]`),l(de,e(o).source),l(ce,`v. ${e(o).vintage??""}`),l(ue,e(o).title),l(be,e(o).docId)}),v(h,x)}),t(W),t(g),v(_,g)};O(C,_=>{e(B).length&&_(le)})}var E=s(C,2),oe=a(E);t(E),t(n),M(()=>{l(ae,`flood-exposure briefing · v0.4.2 · ${e(G)??""}`),l(se,e(i).queryText),l(re,e(i).intent??"briefing"),l(ie,` · ${e(i).specialists??""} specialists
4
+ · ${e(i).attempts??1??""} reconcile${(e(i).attempts??1)===1?"":"s"}
5
+ · grounded by Mellea rejection sampling`),l(ne,e(A)?"Print dialog opened. Re-print anytime.":"Opening print dialog…"),l(oe,`Generated ${e(G)??""} ·
6
+ Riprap is grounded by Mellea rejection sampling over IBM Granite 4.1.
7
+ Numbers without bracketed citations are not present in source documents.`)}),xe("click",D,X),v(r,n)},te=r=>{var n=Le();v(r,n)};O(Y,r=>{e(T)?r(Z):e(i)?r(ee,1):r(te,-1)})}v(Q,P),ke()}ge(["click"]);export{Ve as component,Ue as universal};
web/sveltekit/build/_app/immutable/nodes/{4.rD3Yr4HV.js → 5.y-7CTBqe.js} RENAMED
@@ -1 +1 @@
1
- import{d as ze,s as R,a as q,f as L,c as Ft,b as Lt,t as Et}from"../chunks/Dlpu43Tj.js";import{c as x,s as $,r as b,v as De,t as W,k as a,f as ye,J as ne,p as jt,j as k,L as te,K as Pe,l as v,G as Pt,a as Ot}from"../chunks/DwbuJhNu.js";import{p as Xe,i as H}from"../chunks/8F5LpR-T.js";import{p as zt}from"../chunks/B07kFGr7.js";import{T as ot,t as lt,a as Dt,B as Rt}from"../chunks/Cl16PtNL.js";import{f as Yt,C as Bt,F as Ht,R as Gt,M as Ut}from"../chunks/Bu5KOiaf.js";import"../chunks/DFFHaukH.js";import{b as se,e as ct,a as Oe,s as Wt,i as Kt}from"../chunks/CBcGqa-S.js";import{b as Qe,p as Jt}from"../chunks/DNaFzQeI.js";const Vt=!1,Zt=!1,pr=Object.freeze(Object.defineProperty({__proto__:null,prerender:Vt,ssr:Zt},Symbol.toStringTag,{value:"Module"}));ze(["click"]);ze(["click"]);var Xt=L('<div class="skeleton-section"><div class="skeleton-head"><span class="skeleton-num"> </span> <span class="skeleton-label"> </span> <span class="skeleton-spinner" aria-hidden="true">▍</span></div> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span></div>'),Qt=L('<div class="skeleton-brief" role="status" aria-live="polite" aria-label="Loading briefing — geocode complete, dispatching specialists"><div class="skeleton-status"><span class="skeleton-pulse"></span> <span class="skeleton-pulse skeleton-pulse-meta"></span></div> <!></div>');function en(n){const e=[{n:"01",label:"Status"},{n:"02",label:"Empirical evidence"},{n:"03",label:"Modeled scenarios"},{n:"04",label:"Policy context"}];var t=Qt(),r=x(t),s=x(r);se(s,"",{},{width:"62%"});var d=$(s,2);se(d,"",{},{width:"40%"}),b(r);var o=$(r,2);ct(o,1,()=>e,p=>p.n,(p,m)=>{var l=Xt(),c=x(l),h=x(c),E=x(h,!0);b(h);var Y=$(h,2),j=x(Y,!0);b(Y),De(2),b(c);var G=$(c,2);se(G,"",{},{width:"92%"});var F=$(G,2);se(F,"",{},{width:"78%"});var O=$(F,2);se(O,"",{},{width:"85%"}),b(l),W(()=>{R(E,a(m).n),R(j,a(m).label)}),q(p,l)}),b(t),q(n,t)}var tn=L('<div class="reroll-banner" role="status" aria-live="polite"><!> <div class="reroll-body"><span class="reroll-head">Regenerating to satisfy citation grounding</span> <span class="reroll-sub"> </span></div> <span class="reroll-spinner" aria-hidden="true">↻</span></div>');function nn(n,e){let t=Xe(e,"attempt",3,2),r=Xe(e,"max",3,3);var s=tn(),d=x(s);ot(d,{tier:"modeled",size:11,color:"var(--tier-modeled)"});var o=$(d,2),p=$(x(o),2),m=x(p);b(p),b(o),De(2),b(s),W(()=>R(m,`Mellea reconciler · attempt ${t()??""} of ${r()??""} · previous draft dimmed below`)),q(n,s)}var rn=L("<a> </a>"),an=L('<button type="button"> </button>'),sn=L('<article role="alert" aria-live="assertive"><header class="error-card-head"><!> <span class="error-card-eyebrow"> </span></header> <h3 class="error-card-headline"> </h3> <p class="error-card-body"> </p> <div class="error-card-actions"></div> <footer class="error-card-foot"><span class="section-label">Trust signals · still on</span> <span class="error-card-foot-copy">All foundation models Apache-2.0 · No commercial APIs at runtime</span></footer></article>');function on(n,e){const t={geocoder:{eyebrow:"Address not resolved",headline:"We couldn't resolve that to a NYC address.",body:`Try a more specific street address — for example, "80 Pioneer Street, Brooklyn." Riprap covers the five boroughs only; international addresses, NJ addresses, and points outside NYC aren't supported.`,tier:"proxy",defaultActions:["Use a sample query","Edit query"]},"all-silent":{eyebrow:"Outside evidence coverage",headline:"No specialists found evidence at this point.",body:"The address resolved, but every flood-evidence specialist returned silent. This is rare and usually means parkland, water, or a point with no nearby 311, no FloodNet sensor, and no Sandy overlap. Try a nearby street address or expand to neighborhood-mode.",tier:"proxy",defaultActions:["Try nearby address","Switch to neighborhood-mode"]},grounding:{eyebrow:"Grounding failure",headline:"Briefing prose couldn't be composed within citation constraints.",body:"Mellea rejected all reroll attempts. The underlying evidence is fine — only the prose composition failed. Download the structured evidence below, or contact support.",tier:"modeled",defaultActions:["Download evidence (JSON)","Contact support","Try again"]},backend:{eyebrow:"Backend unavailable",headline:"All routing targets exhausted.",body:"LiteLLM tried Local Ollama → HF Space T4 → AMD MI300X and didn't reach a healthy backend. This usually clears within 5 minutes during a deploy window. The hardware-pill in the header is currently red.",tier:"proxy",defaultActions:["Retry now","Switch backend"]}};let r=ne(()=>t[e.state]),s=ne(()=>e.actions??a(r).defaultActions.map(G=>({label:G})));var d=sn(),o=x(d),p=x(o);ot(p,{get tier(){return a(r).tier},size:11,get color(){return`var(--tier-${a(r).tier??""})`}});var m=$(p,2),l=x(m,!0);b(m),b(o);var c=$(o,2),h=x(c,!0);b(c);var E=$(c,2),Y=x(E,!0);b(E);var j=$(E,2);ct(j,21,()=>a(s),Kt,(G,F,O)=>{var Q=Ft(),Ne=ye(Q);{var Ae=U=>{var P=rn();Oe(P,1,"error-card-action",null,{},{"is-primary":O===0});var X=x(P,!0);b(P),W(()=>{Wt(P,"href",a(F).href),R(X,a(F).label)}),q(U,P)},ce=U=>{var P=an();Oe(P,1,"error-card-action",null,{},{"is-primary":O===0});var X=x(P,!0);b(P),W(()=>R(X,a(F).label)),Lt("click",P,function(...re){var de;(de=a(F).onClick)==null||de.apply(this,re)}),q(U,P)};H(Ne,U=>{a(F).href?U(Ae):U(ce,-1)})}q(G,Q)}),b(j),De(2),b(d),W(()=>{Oe(d,1,`error-card error-card-${e.state??""}`),R(l,e.eyebrowOverride??a(r).eyebrow),R(h,e.headlineOverride??a(r).headline),R(Y,e.bodyOverride??a(r).body)}),q(n,d)}ze(["click"]);const Z="2026-05";function ln(n){return n==="fan"||n==="merge"?"fired":n==="silent"?"silent_by_design":n==="error"?"errored":"fired"}function dt(n){return[n,...(n.children??[]).flatMap(dt)]}function cn(n){const e=n.toLowerCase();return e==="sandy_inundation"||e==="sandy"||e==="dep_stormwater"||e==="dep"||e==="ida_hwm_2021"||e==="ida_hwm"||e==="prithvi_eo_v2"||e==="prithvi_water"||e==="microtopo_lidar"||e==="microtopo"?"cornerstone":e==="mta_entrance_exposure"||e==="mta_entrances"||e==="nycha_development_exposure"||e==="nycha_developments"||e==="doe_school_exposure"||e==="doe_schools"||e==="doh_hospital_exposure"||e==="doh_hospitals"||e==="terramind_synthesis"||e==="terramind"||e==="terramind_buildings"||e==="eo_chip_fetch"?"keystone":e==="floodnet"||e==="nyc311"||e==="nws_obs"||e==="noaa_tides"||e==="prithvi_eo_live"||e==="prithvi_live"||e==="terramind_lulc"?"touchstone":e==="nws_alerts"||e==="ttm_forecast"||e==="ttm_311_forecast"||e==="floodnet_forecast"||e==="ttm_battery_surge"?"lodestone":e.startsWith("reconcile")||e.startsWith("mellea")||e==="rag_granite_embedding"||e==="gliner_extract"?"capstone":null}function dn(n){const e={cornerstone:[],keystone:[],touchstone:[],lodestone:[],capstone:[]};if(n)for(const t of dt(n)){const r=cn(t.name);r&&e[r].push({id:t.id||t.name,name:t.name,status:ln(t.status),tier:t.tier,ms:t.ms,note:t.note??t.error??void 0})}return Object.keys(e).map(t=>({key:t,members:Yt(t,e[t])}))}function w(n){return typeof n=="number"&&Number.isFinite(n)?n:null}function T(n){return typeof n=="string"?n:null}function C(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function un(n,e){return n.sandy!==!0?null:{id:"fsm-sandy",stone:"cornerstone",tier:"empirical",variant:"headline",source:"NYC OEM",agency:"NYC OpenData 5xsi-dfpx · Sandy 2012 inundation",vintage:"2012-10-29",title:"Hurricane Sandy 2012 inundation",headline:"Inside zone",subhead:(e&&T(e.address))??"address inside the empirical 2012 extent",body:"Address sits within the empirical Hurricane Sandy 2012 inundation extent. This is a historical fact, not a model prediction.",docId:"sandy",citeId:"sandy",mapLayer:"sandy"}}function pn(n){const e=C(n.dep);if(!e)return null;const t=[];for(const[r,s]of Object.entries(e)){const d=C(s);if(!d)continue;const o=w(d.depth_class)??0;o<=0||t.push([r.replace("dep_",""),T(d.depth_label)??"—",`class ${o}`])}return t.length?{id:"fsm-dep",stone:"cornerstone",tier:"modeled",variant:"tabular",source:"NYC DEP",agency:"NYC Department of Environmental Protection · Stormwater Flood Maps",vintage:"2021",title:"Stormwater flood scenarios at this address",columns:["scenario","depth label","class"],rows:t,sub:`${t.length} scenario${t.length===1?"":"s"} place this lot in modeled flooding`,docId:"dep_stormwater",citeId:"dep",mapLayer:"stormwater"}:null}function fn(n){const e=C(n.ida_hwm);if(!e)return null;const t=w(e.n_within_radius);if(!t||t<=0)return null;const r=[];return r.push(["count",`${t}`,`${w(e.radius_m)??800} m radius`]),w(e.max_height_above_gnd_ft)!=null&&r.push(["max above gnd",`${e.max_height_above_gnd_ft} ft`,"—"]),w(e.nearest_dist_m)!=null&&r.push(["nearest",T(e.nearest_site)??"HWM",`${e.nearest_dist_m} m`]),{id:"fsm-ida-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"USGS STN Hurricane Ida 2021 high-water marks (Event 312)",vintage:"2021-09",title:"Hurricane Ida 2021 high-water marks nearby",columns:["field","value","context"],rows:r,docId:"ida_hwm",citeId:"ida_hwm",mapLayer:"hwm"}}function mn(n){const e=C(n.prithvi_water);if(!e)return null;const t=w(e.nearest_distance_m);return t==null?null:{id:"fsm-prithvi-water",stone:"cornerstone",tier:"modeled",variant:"raster",source:"Prithvi-EO 2.0",agency:"IBM/NASA Prithvi-EO 2.0 · baked Hurricane Ida 2021 polygons",vintage:"2021-09-02",title:"Hurricane Ida 2021 — satellite-attributable inundation",rasterKind:"prithvi",headline:e.inside_water_polygon?"Inside polygon":`${t} m away`,subhead:"pre/post HLS Sentinel-2 segmentation",sub:`${w(e.n_polygons_within_500m)??0} distinct polygons within 500 m`,docId:"prithvi_water",citeId:"prithvi_water",mapLayer:"prithvi"}}function _n(n){const e=C(n.microtopo);if(!e)return null;const t=w(e.point_elev_m);if(t==null)return null;const r=[{value:`${t.toFixed(1)} m`,label:"elevation"}];return w(e.hand_m)!=null&&r.push({value:`${e.hand_m.toFixed(1)} m`,label:"HAND"}),w(e.twi)!=null&&r.push({value:`${e.twi.toFixed(1)}`,label:"TWI"}),w(e.rel_elev_pct_200m)!=null&&r.push({value:`${e.rel_elev_pct_200m}%`,label:"pct lower 200m"}),{id:"fsm-microtopo",stone:"cornerstone",tier:"proxy",variant:"scalars",source:"USGS 3DEP",agency:"USGS 3DEP DEM (LiDAR-derived) + whitebox-workflows hydrology",vintage:"2018",title:"Microtopography at this point",scalars:r,sub:"Lower percentile = topographic low point; runoff routes here.",docId:"microtopo",citeId:"microtopo"}}function hn(n){const e=[],t=C(n.mta_entrances);if(t!=null&&t.available&&Array.isArray(t.entrances))for(const o of t.entrances.slice(0,4))e.push({reg:"MTA",tier:"empirical",label:T(o.station_name)??T(o.entrance_id)??"entrance",detail:`${w(o.distance_m)??"—"} m · ${T(o.daytime_routes)??""}`.trim(),sourceId:T(o.station_id)??"MTA",note:null});else t&&t.available===!1&&e.push({reg:"MTA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no subway entrances within 1.0 mi (silent)"});const r=C(n.nycha_developments);if(r!=null&&r.available&&Array.isArray(r.developments))for(const o of r.developments.slice(0,3))e.push({reg:"NYCHA",tier:"empirical",label:T(o.development)??"development",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.tds_num)??null,note:null});else r&&r.available===!1&&e.push({reg:"NYCHA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no NYCHA developments within 1.0 mi (silent)"});const s=C(n.doe_schools);if(s!=null&&s.available&&Array.isArray(s.schools))for(const o of s.schools.slice(0,3))e.push({reg:"DOE",tier:"empirical",label:T(o.loc_name)??"school",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.loc_code)??null,note:null});else s&&s.available===!1&&e.push({reg:"DOE",tier:"empirical",label:null,detail:null,sourceId:null,note:"no schools within 1.0 mi (silent)"});const d=C(n.doh_hospitals);if(d!=null&&d.available&&Array.isArray(d.hospitals))for(const o of d.hospitals.slice(0,3))e.push({reg:"DOH",tier:"empirical",label:T(o.facility_name)??"hospital",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.fac_id)??null,note:null});else d&&d.available===!1&&e.push({reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,note:"no acute-care hospital within 1.0 mi (silent)"});return e.length?{id:"fsm-registers",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:Z,title:"Nearby exposed assets",registers:e,sub:`${e.filter(o=>o.label).length} of ${e.length} registers fired · joined within 1.0 mi`,docId:"registers",citeId:"registers",mapLayer:"registers"}:null}function vn(n){const e=C(n.terramind_buildings);return e!=null&&e.ok?{id:"fsm-tm-buildings",stone:"keystone",tier:"modeled",variant:"raster-pred",source:"TerraMind-NYC",agency:"msradam/TerraMind-NYC-Adapters · Buildings LoRA",vintage:"2026",title:"NYC building footprints — TerraMind LoRA",rasterKind:"buildings",headline:`${w(e.pct_buildings)??0}%`,subhead:"building-footprint coverage in chip",sub:`${w(e.n_building_components)??0} distinct components · test mIoU 0.5511`,illustrative:!0,docId:"tm_buildings",citeId:"tm_buildings",mapLayer:"buildings"}:null}function gn(n){const e=C(n.floodnet);if(!e||(w(e.n_sensors)??0)<=0)return null;const t=w(e.n_flood_events_3y)??0;return{id:"fsm-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC ultrasonic depth sensor network",vintage:"2026",title:"FloodNet sensors near this address",headline:`${t} events`,subhead:`${w(e.n_sensors)??0} sensors · last 3 y`,spark:Array.from({length:24},(r,s)=>Math.max(0,Math.round(t/24*1.4*Math.exp(-Math.pow((s-14)/4,2))+t/24))),sparkSub:"Above-curb depth events ≥ 2 cm. Synthetic monthly distribution; raw deployment-id history is in the audit panel.",docId:"floodnet",citeId:"floodnet",mapLayer:"floodnet"}}function yn(n){var p;const e=C(n.nyc311);if(!e)return null;const t=w(e.n)??0;if(t<=0)return null;const r=C(e.by_year),s=C(e.by_descriptor),d=r?Object.values(r).map(m=>w(m)??0):Array.from({length:12},()=>Math.round(t/12)),o=s?(p=Object.entries(s).sort((m,l)=>(w(l[1])??0)-(w(m[1])??0))[0])==null?void 0:p[0]:null;return{id:"fsm-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests (Socrata erm2-nwe9)",vintage:Z,title:"Recent 311 flood complaints",headline:`${t} calls`,subhead:o?`top descriptor: ${o}`:"all flood-related descriptors",histogram:d,sparkSub:`Within ${w(e.radius_m)??200} m · ${w(e.years)??5} y window. Filtered to flood-relevant descriptors.`,docId:"nyc311",citeId:"nyc311",mapLayer:"complaints"}}function bn(n){var r;const e=C(n.nws_obs);if(!e||e.error||e.station_id==null)return null;const t=[];return w(e.precip_last_hour_mm)!=null&&t.push({value:`${e.precip_last_hour_mm} mm`,label:"precip · 1h"}),w(e.precip_last_6h_mm)!=null&&t.push({value:`${e.precip_last_6h_mm} mm`,label:"precip · 6h"}),t.length?{id:"fsm-nws-obs",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS",agency:`NWS ASOS station ${T(e.station_id)??"?"}`,vintage:((r=T(e.obs_time))==null?void 0:r.slice(0,10))??Z,title:"Recent precipitation",scalars:t,sub:`Nearest hourly METAR: ${T(e.station_name)??"?"} (${w(e.distance_km)??"?"} km).`,docId:"nws_obs",citeId:"nws_obs",mapLayer:"nws"}:null}function wn(n){var r;const e=C(n.noaa_tides);if(!e||e.error||w(e.observed_ft_mllw)==null)return null;const t=[{value:`${e.observed_ft_mllw} ft`,label:"observed (MLLW)"}];return w(e.predicted_ft_mllw)!=null&&t.push({value:`${e.predicted_ft_mllw} ft`,label:"predicted"}),w(e.residual_ft)!=null&&t.push({value:`${e.residual_ft} ft`,label:"residual"}),{id:"fsm-noaa",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NOAA CO-OPS",agency:`NOAA tide gauge ${T(e.station_name)??T(e.station_id)??"?"}`,vintage:((r=T(e.obs_time))==null?void 0:r.slice(0,10))??Z,title:"Live water level (nearest tide gauge)",scalars:t,sub:"Residual = observed − astronomical tide; positive residual is wind / surge component.",docId:"noaa_tides",citeId:"noaa_tides",mapLayer:"noaa"}}function xn(n){var r;const e=C(n.prithvi_live);if(!(e!=null&&e.ok))return null;const t=(r=T(e.item_datetime))==null?void 0:r.slice(0,10);return{id:"fsm-prithvi-live",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC-Pluvial",agency:"NASA-IBM Prithvi v2 · NYC fine-tune",vintage:t?`${t} · Sentinel-2`:"Sentinel-2",title:"Pluvial flood prediction · Prithvi-NYC-Pluvial",rasterKind:"prithvi",headline:`${w(e.pct_water_within_500m)??0}% flooded`,subhead:`water within 500 m · cloud ${w(e.cloud_cover)??"?"}%`,sub:"Test flood IoU 0.5979 on held-out NYC chips. Model interpretation, not a measurement.",illustrative:!0,docId:"prithvi_live",citeId:"prithvi_live",mapLayer:"prithvi-pluvial"}}const Sn={urban:"#C66",water:"#5B7FB4",vegetation:"#5B8A4A",barren:"#A89A78",wetland:"#D9C75A"};function kn(n){const e=C(n.terramind_lulc);if(!(e!=null&&e.ok))return null;const t=C(e.class_fractions)??{},r={urban:0,water:0,vegetation:0,barren:0,wetland:0};for(const[d,o]of Object.entries(t)){const p=d.toLowerCase();p.includes("urban")||p.includes("built")||p.includes("impervious")?r.urban+=o:p.includes("water")?r.water+=o:p.includes("tree")||p.includes("vegetation")||p.includes("crop")||p.includes("grass")?r.vegetation+=o:p.includes("bare")||p.includes("barren")||p.includes("soil")?r.barren+=o:p.includes("wet")||p.includes("marsh")?r.wetland+=o:r.barren+=o}const s=Object.entries(r).filter(([,d])=>d>0).map(([d,o])=>({k:d,pct:Math.round(o),color:Sn[d]}));return{id:"fsm-tm-lulc",stone:"touchstone",tier:"synthetic",variant:"lulc",source:"TerraMind v1.2",agency:"IBM TerraMind v1.2 · Sentinel-2 inputs",vintage:"Sentinel-2",title:"Land use / land cover · TerraMind v1.2",rasterKind:"lulc",classMix:s.length?s:void 0,sub:"Synthetic prior. LULC palette is a layer convention, not a tier signal.",illustrative:!0,docId:"tm_lulc",citeId:"tm_lulc",mapLayer:"terramind-lulc"}}function $n(n){const e=C(n.ttm_forecast);if(!(e!=null&&e.available)||!e.interesting)return null;const t=w(e.forecast_peak_ft),r=w(e.forecast_peak_minutes_ahead);return t==null||r==null?null:{id:"fsm-ttm-fc",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2 (zero-shot)",agency:"IBM Granite-TimeSeries · regional",vintage:Z,title:"Storm surge nowcast at The Battery — 9.6 h horizon (regional)",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:`${t} ft @ +${Math.round(r/60)}h`},headline:`${t} ft`,subhead:"peak surge residual · 9.6h horizon · 6-min cadence",sub:"Regional disclosure. Distinct from the fine-tuned Battery surge nowcast.",spatialNote:"regional · Battery, not point-of-query",docId:"ttm_forecast",citeId:"ttm_forecast"}}function Nn(n){const e=C(n.ttm_battery_surge);if(!(e!=null&&e.available)||!e.interesting)return null;const t=w(e.forecast_peak_m),r=w(e.forecast_peak_hours_ahead);return t==null||r==null?null:{id:"fsm-ttm-batt",stone:"lodestone",tier:"modeled",variant:"timeseries-ft",source:"msradam/Granite-TTM-r2-Battery-Surge",agency:"Granite TTM r2 · NYC-specialized fine-tune",vintage:Z,title:"Storm surge nowcast at The Battery — 96 h horizon (NYC-specialized fine-tune)",timeseries:{hours:96,peak:{x:r,y:Math.round(t*100)},peakLabel:`${(t*100).toFixed(0)} cm @ +${r}h`},headline:`${(t*100).toFixed(0)} cm`,subhead:"peak surge · 96h horizon · hourly cadence",sub:"Fine-tuned on NYC tide-gauge history. Hourly cadence; applies city-wide via NOAA station 8518750.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery",citeId:"ttm_battery",hfModelCard:"huggingface.co/msradam/Granite-TTM-r2-Battery-Surge",rmse:"0.157 m",skillVsPersistence:"−35% vs persistence",hardwareBadge:"MI300X"}}function An(n){const e=C(n.nws_alerts);if(!e)return null;const t=w(e.n_active)??0;if(t<=0)return null;const r=Array.isArray(e.alerts)?e.alerts:[];return{id:"fsm-nws-alerts",stone:"lodestone",tier:"modeled",variant:"tabular",source:"NWS",agency:"NWS Public Alerts API · flood-relevant filter",vintage:Z,title:`${t} active flood-relevant alert${t===1?"":"s"}`,columns:["event","severity","expires"],rows:r.slice(0,4).map(s=>[T(s.event)??"?",T(s.severity)??"?",(T(s.expires)??"").slice(0,16)]),sub:"Live NWS feed. If a FLOOD or FLASH FLOOD WARNING is in this list, foreground it.",docId:"nws_alerts",citeId:"nws_alerts"}}function Tn(n,e){var l,c,h;const t=n.mellea,r=((l=t==null?void 0:t.passed)==null?void 0:l.length)??0,s=((c=t==null?void 0:t.failed)==null?void 0:c.length)??0,d=r+s>0?r+s:4,o=(t==null?void 0:t.attempts)??0,p=Math.max(0,o-1),m=((h=n.citations)==null?void 0:h.length)??0;return{id:"fsm-capstone-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · Granite 4.1 + Mellea grounding check",vintage:Z,title:"Briefing reconciliation",metaRows:[{k:"mellea reroll",v:`${p} reroll${p===1?"":"s"}`},{k:"grounding checks",v:`${r}/${d} passed`},{k:"citations resolved",v:`${m}`},{k:"wall-clock",v:e!=null?`${e.toFixed(1)} s`:"—"}],sub:"Capstone produces prose, not cards. This meta-card is the integrity-narration UI for the entire pipeline.",docId:"capstone"}}function et(n,e,t,r=!0){const s=n??{},d=C(s.geocode);return{cards:[un(s,d),pn(s),fn(s),mn(s),_n(s),hn(s),vn(s),gn(s),yn(s),bn(s),wn(s),xn(s),kn(s),An(s),$n(s),Nn(s),r?Tn(n??{},t):null].filter(p=>p!=null),stones:dn(e),wallSeconds:t}}function In(n,e,t,r){const d={sandy_inundation:"sandy",dep_stormwater:"dep",floodnet:"floodnet",nyc311:"nyc311",noaa_tides:"noaa_tides",nws_alerts:"nws_alerts",nws_obs:"nws_obs",ttm_forecast:"ttm_forecast",ttm_311_forecast:"ttm_311_forecast",ttm_battery_surge:"ttm_battery_surge",floodnet_forecast:"floodnet_forecast",ida_hwm_2021:"ida_hwm",prithvi_eo_v2:"prithvi_water",prithvi_eo_live:"prithvi_live",microtopo_lidar:"microtopo",mta_entrance_exposure:"mta_entrances",nycha_development_exposure:"nycha_developments",doe_school_exposure:"doe_schools",doh_hospital_exposure:"doh_hospitals",terramind_synthesis:"terramind",terramind_lulc:"terramind_lulc",terramind_buildings:"terramind_buildings",eo_chip_fetch:"eo_chip",geocode:"geocode"}[e];if(!d)return[];if(e==="sandy_inundation"){const o=t;n[d]=r&&(o==null?void 0:o.inside)===!0?!0:r?!1:null}else if(e==="dep_stormwater"){const o=t??{},p={};for(const[m,l]of Object.entries(o)){const c=typeof l=="string"?l:"";c&&(p[m]={depth_class:1,depth_label:c})}n[d]=Object.keys(p).length?p:null}else r&&t!=null?n[d]=t:n[d]=null;return[d]}const be={subway:"MTA · USGS · FEMA · NYC OEM · NYC DEP",nycha:"NYC HA · USGS · NYC OEM · NYC DEP",school:"NYC DOE · USGS · NYC OEM · NYC DEP",hospital:"NYS DOH · USGS · NYC OEM · NYC DEP"},we={subway:"subway entrances",nycha:"NYCHA developments",school:"public schools",hospital:"hospitals"};function xe(n){return!n||!Number.isFinite(n)?"—":`${Math.round(n)}m`}function Se(n){return n==null||!Number.isFinite(n)?"—":`${(n*3.28084).toFixed(1)} ft`}function ke(n,e){return typeof e=="number"?e>=.5?`Inundated 2012 (${Math.round(e*100)}%)`:e>0?`Edge (${Math.round(e*100)}%)`:"—":n?"Inundated 2012":"—"}function $e(n,e,t){return typeof t=="number"?t>=.5?`≥${Math.round(t*100)}% in scenario`:t>0?`${Math.round(t*100)}% edge`:"minimal":n&&n.length?n:e&&e>0?`class ${e}`:"minimal"}function Cn(n){return n?/elevator|easement|stair.*ramp/i.test(n):!1}function Mn(n){if(!n.available)return null;const t=(n.entrances??[]).map(r=>{const s=Cn(r.entrance_type);return{name:`${r.station_name??"?"}${r.daytime_routes?` (${String(r.daytime_routes).split(/\s+/).slice(0,3).join("/")})`:""}`,elev:Se(r.elev_m),ada:s,fema:"Zone X",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"subway",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}});return{type:we.subway,radius:xe(n.radius_m),count:n.n_entrances??t.length,rows:t,sourceLabel:be.subway}}function qn(n){if(!n.available)return null;const t=(n.developments??[]).map(r=>{const s=r.pct_inside_sandy_2012,d=r.pct_in_dep_extreme_2080;return{name:`${r.development??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.rep_elevation_m),ada:!1,fema:"—",sandy:ke(void 0,s),dep:$e(void 0,void 0,d),asset:"nycha",primaryTier:s&&s>0?"empirical":"modeled"}});return{type:we.nycha,radius:xe(n.radius_m),count:n.n_developments??t.length,rows:t,sourceLabel:be.nycha}}function Fn(n){if(!n.available)return null;const t=(n.schools??[]).map(r=>({name:`${r.school_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.elev_m),ada:!1,fema:"—",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"school",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:we.school,radius:xe(n.radius_m),count:n.n_schools??t.length,rows:t,sourceLabel:be.school}}function Ln(n){if(!n.available)return null;const t=(n.hospitals??[]).map(r=>({name:`${r.facility_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.elev_m),ada:!0,fema:"—",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"hospital",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:we.hospital,radius:xe(n.radius_m),count:n.n_hospitals??t.length,rows:t,sourceLabel:be.hospital}}function En(n){if(!n)return[];const e=[],t=Mn(n.mta_entrances??{});t&&t.rows.length&&e.push(t);const r=qn(n.nycha_developments??{});r&&r.rows.length&&e.push(r);const s=Fn(n.doe_schools??{});s&&s.rows.length&&e.push(s);const d=Ln(n.doh_hospitals??{});return d&&d.rows.length&&e.push(d),e}function jn(n,e){const t=`/api/agent/stream?q=${encodeURIComponent(n)}`,r=new EventSource(t);let s="",d;const o=/([.?!])(\s|$)/;function p(l=!1){var h,E;let c;for(;c=o.exec(s);){const Y=c.index+c[1].length+(c[2]?c[2].length:0),j=s.slice(0,Y).trim();s=s.slice(Y),j&&((h=e.onSentence)==null||h.call(e,j,d))}l&&s.trim()&&((E=e.onSentence)==null||E.call(e,s.trim(),d),s="")}function m(l,c){r.addEventListener(l,h=>{try{c(JSON.parse(h.data))}catch{}})}return m("hello",l=>{var c;return(c=e.onHello)==null?void 0:c.call(e,l.query)}),m("plan_token",l=>{var c;return(c=e.onPlanToken)==null?void 0:c.call(e,l.delta)}),m("plan",l=>{var c;return(c=e.onPlan)==null?void 0:c.call(e,l)}),m("step",l=>{var c;return(c=e.onStep)==null?void 0:c.call(e,l)}),m("token",l=>{var c,h;l.attempt!==d&&(d=l.attempt,s="",(c=e.onAttemptStart)==null||c.call(e,l.attempt??1)),(h=e.onToken)==null||h.call(e,l.delta,l.attempt),s+=l.delta,p(!1)}),m("mellea_attempt",l=>{var c;return(c=e.onMelleaAttempt)==null?void 0:c.call(e,l)}),m("final",l=>{var c;p(!0),(c=e.onFinal)==null||c.call(e,l)}),m("error",l=>{var c;return(c=e.onError)==null?void 0:c.call(e,l.err)}),r.addEventListener("done",()=>{var l;p(!0),(l=e.onDone)==null||l.call(e),r.close()}),r.addEventListener("error",()=>{var l;p(!0),(l=e.onError)==null||l.call(e,"SSE connection error"),r.close()}),{close:()=>r.close()}}const ut=[{key:"status",label:"Status",n:"01",aliases:["status"]},{key:"empirical",label:"Empirical evidence",n:"02",tier:"empirical",aliases:["empirical evidence","empirical"]},{key:"modeled",label:"Modeled scenarios",n:"03",tier:"modeled",aliases:["modeled scenarios","modeled"]},{key:"policy",label:"Policy context",n:"04",aliases:["policy context","policy"]}];function tt(n){const e=n.toLowerCase().replace(/[.:]+\s*$/,"").trim();return ut.find(t=>t.aliases.includes(e))}const nt=/(^|\n)\s*(?:\*\*([A-Z][A-Za-z\s/]+?)\.\s*\*\*|#{1,3}\s*(0[1-4])\s*[:\-—.]?\s*([^\n]+))/g;function pt(n,e,t){return{id:e,n,tier:lt(e),source:(t==null?void 0:t.source)??e.split(/[_-]/)[0].toUpperCase(),title:(t==null?void 0:t.title)??e,docId:e,url:(t==null?void 0:t.url)??"",vintage:(t==null?void 0:t.vintage)??"",retrieved:(t==null?void 0:t.retrieved)??""}}const Pn=/\[([a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)\]/gi;function rt(n){return n.split(new RegExp("(?<=[.!?])\\s+(?=[A-Z(])","g")).filter(t=>t.trim().length>0)}function it(n,e,t){let r=0;const s=[],d=[...n.matchAll(Pn)];if(d.length===0)return[{text:n}];for(const o of d){const p=n.slice(r,o.index??0),m=o[1].split(/\s*,\s*/).filter(Boolean);r=(o.index??0)+o[0].length;const l=lt(m[0]);s.push({text:p,tier:l,cite:m[0]});for(const c of m)e[c]||(e[c]=t(c))}if(r<n.length){const o=n.slice(r);o.trim()&&s.push({text:o})}return s}function On(n,e={}){const t={...e};let r=Object.values(t).reduce((l,c)=>Math.max(l,c.n),0)+1;const s=new Set,d=l=>(e[l]||s.add(l),pt(r++,l)),o=[],p=[];let m;for(nt.lastIndex=0;m=nt.exec(n);)if(m[2]!==void 0){const l=tt(m[2]);if(!l)continue;p.push({num:l.n,label:l.label,tier:l.tier,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}else if(m[3]!==void 0){const l=m[3],c=(m[4]??"").trim(),h=ut.find(E=>E.n===l)??tt(c);p.push({num:l,label:(h==null?void 0:h.label)??c,tier:h==null?void 0:h.tier,titleExtra:h&&c.toLowerCase()!==h.label.toLowerCase()?c:void 0,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}for(let l=0;l<p.length;l++){const c=p[l],h=p[l+1],E=n.slice(c.bodyStart,h?h.start:n.length).trim();if(E){o.push({kind:"head",n:c.num,label:c.label,tier:c.tier,title:c.titleExtra});for(const Y of E.split(/\n\s*\n/)){const j=Y.replace(/\s+/g," ").trim();if(!j)continue;const G=rt(j),F=[];for(const O of G)F.push(...it(O,t,d)),F.push({text:" "});for(;F.length&&F[F.length-1].text.trim()===""&&!F[F.length-1].tier;)F.pop();F.length&&o.push({kind:"prose",parts:F})}}}if(o.length===0&&n.trim()){o.push({kind:"head",n:"01",label:"Status"});const l=n.replace(/\s+/g," ").trim(),c=rt(l),h=[];for(const E of c)h.push(...it(E,t,d)),h.push({text:" "});for(;h.length&&h[h.length-1].text.trim()===""&&!h[h.length-1].tier;)h.pop();h.length&&o.push({kind:"prose",parts:h})}return{blocks:o,citations:t,unresolvedDocIds:[...s]}}const oe={type:"FeatureCollection",features:[]};async function le(n){try{const e=await fetch(n);if(!e.ok)return oe;const t=await e.json();return!t||t.type!=="FeatureCollection"?oe:t}catch{return oe}}async function zn(n,e,t=1500){return le(`/api/layers/sandy?lat=${n}&lon=${e}&r=${t}`)}async function Dn(n,e,t=1500){return le(`/api/layers/dep_extreme_2080?lat=${n}&lon=${e}&r=${t}`)}async function at(n,e,t=1500){return le(`/api/layers/prithvi_water?lat=${n}&lon=${e}&r=${t}`)}async function Rn(n){return le(`/api/layers/sandy_clipped?code=${encodeURIComponent(n)}`)}async function Yn(n,e="dep_extreme_2080"){return le(`/api/layers/dep_clipped?code=${encodeURIComponent(n)}&scenario=${e}`)}async function st(n,e,t=1500){try{const r=await fetch(`/api/floodnet_near?lat=${n}&lon=${e}&r=${t}`);return r.ok?{type:"FeatureCollection",features:(await r.json()).features.map(o=>{const p=o.properties??{};return{...o,properties:{...p,count:typeof p.n_events_3y=="number"?p.n_events_3y:1}}})}:oe}catch{return oe}}var Bn=L('<span class="region-head-meta svelte-1q8jizq"> <!></span>'),Hn=L('<span class="region-head-meta svelte-1q8jizq">planning…</span>'),Gn=L('<div class="reroll-prev svelte-1q8jizq" aria-hidden="true"><p class="reroll-prev-line svelte-1q8jizq"> </p></div>'),Un=L("<!> <!>",1),Wn=L('<span class="streaming-caret svelte-1q8jizq" aria-hidden="true">▍</span>'),Kn=L("<!> <!>",1),Jn=L('<details class="plan-details svelte-1q8jizq"><summary class="svelte-1q8jizq"> </summary> <pre class="plan-stream svelte-1q8jizq"> </pre></details>'),Vn=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Planning intent… <!></div>'),Zn=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Resolving address…</div>'),Xn=L("<!> <!>",1),Qn=L('<span class="region-head-meta svelte-1q8jizq"> </span>'),er=L('<span class="region-head-meta svelte-1q8jizq">awaiting geocode…</span>'),tr=L('<div style="position: relative; flex: 1; min-height: 0;" class="svelte-1q8jizq"><!> <!></div>'),nr=L('<section class="hero-band svelte-1q8jizq"><div class="hero-band-inner svelte-1q8jizq"><div class="app-shell-top is-desktop svelte-1q8jizq"><main id="region-briefing" class="app-region app-region-brief svelte-1q8jizq" aria-labelledby="brief-h1"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Briefing</span> <!></header> <h1 id="brief-h1" class="brief-h1 svelte-1q8jizq">Flood-exposure briefing <span class="brief-h1-addr svelte-1q8jizq"> </span></h1> <!></main> <div class="app-region-side svelte-1q8jizq" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map svelte-1q8jizq" aria-label="Map region"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Map</span> <!></header> <!></aside> <aside id="region-cites" class="app-region app-region-cites svelte-1q8jizq" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom svelte-1q8jizq"><section class="app-region app-region-findings svelte-1q8jizq" aria-label="Findings"><!></section></div></div></section>');function fr(n,e){jt(e,!0);let t=ne(()=>zt.params.queryId??""),r=ne(()=>()=>{try{return decodeURIComponent(a(t))}catch{return a(t)}}),s=k(null),d=k(""),o=k(""),p=k(null),m=k(!1),l=k(0),c=2,h=k(!1),E=k(!1),Y=k(""),j=k(null),G=k(te([])),F=ne(()=>{var u,i,_,f;return{empirical:((u=a(pe))==null?void 0:u.features.length)??0,modeled:((i=a(fe))==null?void 0:i.features.length)??0,synthetic:((_=a(me))==null?void 0:_.features.length)??0,proxy:((f=a(_e))==null?void 0:f.features.length)??0}}),O=k(te({id:"root",name:"briefing.run",status:"ok",ms:0,tier:null,children:[]})),Q=k(null),Ne="comfortable",Ae="smart",ce=k(!1);Pe(()=>{typeof window<"u"&&v(ce,new URL(window.location.href).searchParams.get("grammar")==="1")});let U=k(null),P=k(void 0),X=te({}),re=k(0),de=ne(()=>{if(a(re),a(p)){const u={...X,...a(p)};return et(u,a(O),a(P),!0)}return et(X,a(O),a(P),!1)});function ft(u){v(Q,u,!0)}function mt(u){const i=document.getElementById("region-cites");i&&i.scrollIntoView({behavior:"smooth",block:"start"})}const Re=new Set(["ttm_forecast","ttm_311_forecast","floodnet_forecast"]),Te="group-ttm-r2";function _t(u,i,_,f){if(f==="error")return _??void 0;if(f==="silent")return _??"no data";if(i==null||typeof i!="object")return;const A=i,g={sandy_inundation:["inside"],dep_stormwater:["dep_extreme_2080","dep_moderate_2050"],floodnet:["n_sensors","n_events_3y"],nyc311:["n"],noaa_tides:["observed_ft_mllw","residual_ft","station"],nws_alerts:["n_active"],nws_obs:["p1h_mm","p6h_mm","station"],ttm_forecast:["forecast_peak_ft","forecast_peak_min_ahead"],ttm_311_forecast:["forecast_mean","forecast_peak","accelerating"],ida_hwm_2021:["n_within_800m","max_height_above_gnd_ft"],prithvi_eo_v2:["inside_water_polygon","nearest_distance_m"],prithvi_eo_live:["scene_date","pct_water_500m"],microtopo_lidar:["elev_m","pct_200m","relief_m"],mta_entrance_exposure:["n_entrances","n_inside_sandy_2012","n_in_dep_extreme_2080"],nycha_development_exposure:["n_developments","n_majority_inside_sandy_2012"],doe_school_exposure:["n_schools","n_inside_sandy_2012"],doh_hospital_exposure:["n_hospitals","n_inside_sandy_2012"],floodnet_forecast:["sensor_id","distance_m","forecast_28d","accelerating"],terramind_synthesis:["tim_chain","dem_mean_m"],rag_granite_embedding:["hits"],gliner_extract:["sources"]}[u],M=[];if(g){for(const I of g)if(A[I]!==void 0&&M.push(Be(I,A[I])),M.length>=3)break}else for(const[I,y]of Object.entries(A))if(y!==null&&typeof y!="object"&&(M.push(Be(I,y)),M.length>=2))break;return M.join(" · ")||void 0}function ht(u){const i=[],_=u.mta_entrances;if(_&&Array.isArray(_.entrances))for(const g of _.entrances){const M=Number(g.entrance_lat),I=Number(g.entrance_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"subway",name:`${g.station_name??"?"} (${g.daytime_routes??"?"})`,doc_id:`mta_entrance_${g.station_id??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}const f=u.doe_schools;if(f&&Array.isArray(f.schools))for(const g of f.schools){const M=Number(g.school_lat),I=Number(g.school_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"school",name:String(g.loc_name??g.school_name??"?"),doc_id:`doe_school_${g.loc_code??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}const A=u.nycha_developments;if(A&&Array.isArray(A.developments))for(const g of A.developments){const M=Number(g.centroid_lat),I=Number(g.centroid_lon);if(!Number.isFinite(M)||!Number.isFinite(I))continue;const y=Number(g.pct_inside_sandy_2012??0);i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"nycha",name:String(g.development??"?"),doc_id:`nycha_dev_${g.tds_num??""}`,inside_sandy_2012:y>=50,pct_inside_sandy:y}})}const S=u.doh_hospitals;if(S&&Array.isArray(S.hospitals))for(const g of S.hospitals){const M=Number(g.hospital_lat),I=Number(g.hospital_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"hospital",name:String(g.facility_name??"?"),doc_id:`nyc_hospital_${g.fac_id??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}return{type:"FeatureCollection",features:i}}function vt(u){return{type:"FeatureCollection",features:[]}}function Ye(u){return 1+(u.children??[]).reduce((_,f)=>_+Ye(f),0)}function Be(u,i){if(typeof i=="number"){const _=Number.isInteger(i)?`${i}`:i.toFixed(2);return`${u}=${_}`}if(typeof i=="boolean")return`${u}=${i}`;if(typeof i=="string"){const _=i.length>24?i.slice(0,22)+"…":i;return`${u}=${_}`}return u}let ie=k(te({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),K=k(null),ue=k(null),He=k(void 0),Ge=k(void 0),pe=k(void 0),fe=k(void 0),me=k(void 0),_e=k(void 0),ee=k(te([])),ae=k(te({})),he=[];function gt(){var A;if(!a(o)){v(ee,[],!0),v(ae,{},!0),he=[];return}const u={};(A=a(p))!=null&&A.citations&&a(p).citations.forEach((S,g)=>{u[S.doc_id]=pt(g+1,S.doc_id,{source:S.source,title:S.title,url:S.url,vintage:S.vintage})});const i=On(a(o),u),_={};let f=1;for(const S of he){const g=i.citations[S];g&&(_[S]={...g,n:f++})}for(const[S,g]of Object.entries(i.citations))_[S]||(_[S]={...g,n:f++},he.push(S));v(ee,i.blocks,!0),v(ae,_,!0)}Pe(()=>{a(o),a(p),gt()}),Pe(()=>{if(!a(K))return;const{lat:u,lon:i,source:_}=a(K);_==="nta"&&a(ue)?(Rn(a(ue)).then(f=>v(pe,f,!0)),Yn(a(ue)).then(f=>v(fe,f,!0)),at(u,i,2500).then(f=>v(me,f,!0)),st(u,i,3e3).then(f=>v(_e,f,!0))):(zn(u,i).then(f=>v(pe,f,!0)),Dn(u,i).then(f=>v(fe,f,!0)),at(u,i).then(f=>v(me,f,!0)),st(u,i).then(f=>v(_e,f,!0)))}),Pt(()=>{if(Qe.reset(),!a(r)())return;v(U,Date.now(),!0);const u=jn(a(r)(),{onPlanToken:i=>v(d,a(d)+i),onPlan:i=>v(s,i,!0),onStep:i=>{if(In(X,i.step,i.result,i.ok),v(re,a(re)+1),i.step==="geocode")if(i.ok&&i.result&&typeof i.result=="object"){const y=i.result;if(typeof y.lat=="number"&&typeof y.lon=="number"){const N=typeof y.address=="string"?y.address:a(r)();v(K,{label:N,lat:y.lat,lon:y.lon,source:"geocode"},!0),v(E,!0)}}else v(j,"geocoder");if(i.step==="nta_resolve"&&i.ok&&i.result&&typeof i.result=="object"){const y=i.result,N=Array.isArray(y.bbox)?y.bbox:null,z=typeof y.nta_code=="string"?y.nta_code:null;if(N&&N.length===4&&z){v(ue,z,!0);const J=(N[0]+N[2])/2,D=(N[1]+N[3])/2,B=typeof y.nta_name=="string"?y.nta_name:a(r)();v(K,{label:B,lat:D,lon:J,source:"nta"},!0)}}const _=Dt(i.step),f=i.ok?i.result==null&&i.err==null?"silent":"ok":"error",A=Math.round((i.elapsed_s??0)*1e3),S=i.result!=null?i.result:i.err??null,g=_t(i.step,i.result,i.err,f),M={id:`step-${Ye(a(O))}`,name:i.step,status:f,ms:A,tier:_,note:g,output:S,error:f==="error"?i.err??"unknown error":void 0,model:Re.has(i.step)?"granite-timeseries-ttm-r2":void 0},I={...a(O),ms:(a(O).ms??0)+A};if(Re.has(i.step)){const y=[...I.children??[]];let N=y.find(D=>D.id===Te);N||(N={id:Te,name:"forecasting.granite-timeseries-ttm-r2",status:"fan",ms:0,tier:"modeled",note:"1 instance",model:"granite-timeseries-ttm-r2",children:[]},y.push(N));const z=[...N.children??[],M],J={...N,ms:(N.ms??0)+A,note:`${z.length} instance${z.length===1?"":"s"}`,children:z};v(O,{...I,children:y.map(D=>D.id===Te?J:D)},!0)}else v(O,{...I,children:[...I.children??[],M]},!0)},onAttemptStart:i=>{v(l,i,!0),i>1&&(v(Y,a(o),!0),v(o,""),he=[])},onToken:i=>{a(h)||(v(h,!0),a(l)===0&&v(l,1)),v(o,a(o)+i)},onMelleaAttempt:i=>{i.attempt>0&&v(l,i.attempt,!0)},onFinal:i=>{v(p,i,!0),i.paragraph&&v(o,i.paragraph,!0),v(G,En(i),!0),v(He,ht(i),!0),v(Ge,vt(),!0);const f=i.mellea;f&&f.failed&&f.failed.length>0&&f.attempts&&f.attempts>=c&&v(j,"grounding")},onError:i=>{const _=i.toLowerCase();(_.includes("connection")||_.includes("502")||_.includes("503")||_.includes("timeout")||_.includes("routing"))&&v(j,"backend")},onDone:()=>{var i,_,f,A,S;v(m,!0),a(U)!=null&&v(P,(Date.now()-a(U))/1e3),!a(h)&&!a(j)&&a(E)&&v(j,"all-silent"),!a(j)&&a(ee).length>0&&(Jt({queryId:a(t),queryText:a(r)(),intent:((i=a(s))==null?void 0:i.intent)??null,specialists:((f=(_=a(s))==null?void 0:_.specialists)==null?void 0:f.length)??0,blocks:a(ee),citations:a(ae),generatedAt:new Date().toISOString(),attempts:((S=(A=a(p))==null?void 0:A.mellea)==null?void 0:S.attempts)??a(l)}),Qe.markReady())}});return()=>u.close()});var Ie=nr(),Ue=x(Ie),Ce=x(Ue),Me=x(Ce),qe=x(Me),yt=$(x(qe),2);{var bt=u=>{var i=Bn(),_=x(i),f=$(_);{var A=S=>{var g=Et("· ✓ done");q(S,g)};H(f,S=>{a(m)&&S(A)})}b(i),W(()=>{var S;return R(_,`intent: ${a(s).intent??""} · ${((S=a(s).specialists)==null?void 0:S.length)??0??""} specialists · attempt ${a(l)??""} `)}),q(u,i)},wt=u=>{var i=Hn();q(u,i)};H(yt,u=>{a(s)?u(bt):u(wt,-1)})}b(qe);var Fe=$(qe,2),We=$(x(Fe)),xt=x(We,!0);b(We),b(Fe);var St=$(Fe,2);{var kt=u=>{on(u,{get state(){return a(j)}})},$t=u=>{var i=Xn(),_=ye(i);{var f=y=>{var N=Un(),z=ye(N);nn(z,{get attempt(){return a(l)},max:c});var J=$(z,2);{var D=B=>{var V=Gn(),ve=x(V),ge=x(ve);b(ve),b(V),W(je=>R(ge,`${je??""}…`),[()=>a(Y).slice(0,360)]),q(B,V)};H(J,B=>{a(Y)&&B(D)})}q(y,N)};H(_,y=>{a(l)>1&&y(f)})}var A=$(_,2);{var S=y=>{var N=Kn(),z=ye(N);Rt(z,{get blocks(){return a(ee)},get citations(){return a(ae)},streaming:!1});var J=$(z,2);{var D=B=>{var V=Wn();q(B,V)};H(J,B=>{a(m)||B(D)})}q(y,N)},g=y=>{en(y)},M=y=>{var N=Vn(),z=$(x(N),2);{var J=D=>{var B=Jn(),V=x(B),ve=x(V);b(V);var ge=$(V,2),je=x(ge,!0);b(ge),b(B),W(()=>{R(ve,`Planner streaming (${a(d).length??""} chars)`),R(je,a(d))}),q(D,B)};H(z,D=>{a(d)&&D(J)})}b(N),q(y,N)},I=y=>{var N=Zn();q(y,N)};H(A,y=>{a(ee).length?y(S):a(E)&&!a(h)?y(g,1):a(s)?y(I,-1):y(M,2)})}q(u,i)};H(St,u=>{a(j)?u(kt):u($t,-1)})}b(Me);var Ke=$(Me,2),Le=x(Ke),Ee=x(Le),Nt=$(x(Ee),2);{var At=u=>{var i=Qn(),_=x(i);b(i),W((f,A)=>R(_,`Carto Positron · z15 · ${f??""}°N ${A??""}°W`),[()=>a(K).lat.toFixed(4),()=>Math.abs(a(K).lon).toFixed(4)]),q(u,i)},Tt=u=>{var i=er();q(u,i)};H(Nt,u=>{a(K)?u(At):u(Tt,-1)})}b(Ee);var It=$(Ee,2);{var Ct=u=>{var i=tr(),_=x(i);Gt(_,{get address(){return a(K)},get activeLayers(){return a(ie)},get sandyEmpirical(){return a(pe)},get depModeled(){return a(fe)},get syntheticPrior(){return a(me)},get proxy311(){return a(_e)},get registerPoints(){return a(He)},get registerPolygons(){return a(Ge)},get linkedKey(){return a(Q)}});var f=$(_,2);Ut(f,{get active(){return a(ie)},get featureCounts(){return a(F)},onToggle:A=>v(ie,{...a(ie),[A]:!a(ie)[A]},!0)}),b(i),q(u,i)};H(It,u=>{a(K)&&u(Ct)})}b(Le);var Je=$(Le,2),Mt=x(Je);Bt(Mt,{get citations(){return a(ae)}}),b(Je),b(Ke),b(Ce);var Ve=$(Ce,2),Ze=x(Ve),qt=x(Ze);Ht(qt,{get data(){return a(de)},density:Ne,provenanceMode:Ae,get showGrammar(){return a(ce)},get linkedKey(){return a(Q)},onLink:ft,onCite:mt}),b(Ze),b(Ve),b(Ue),b(Ie),W(u=>R(xt,u),[()=>a(r)()]),q(n,Ie),Ot()}export{fr as component,pr as universal};
 
1
+ import{d as ze,s as R,a as q,f as L,c as Ft,b as Lt,t as Et}from"../chunks/CBok_DXr.js";import{c as x,s as $,r as b,J as De,t as W,A as a,f as ye,I as ne,p as Pt,z as k,L as te,K as je,B as v,F as jt,a as Ot}from"../chunks/Db2Wa-jW.js";import{p as Xe,i as H}from"../chunks/ChZyCwev.js";import{p as zt}from"../chunks/C4Y7iDRY.js";import{T as ot,t as lt,a as Dt,B as Rt}from"../chunks/BSbUSrHo.js";import{f as Yt,C as Bt,F as Ht,R as Ut,M as Gt}from"../chunks/BY5fDKuw.js";import"../chunks/DVC_-Bbc.js";import{b as se,e as ct,a as Oe,s as Wt,i as Kt}from"../chunks/C1ZCxvXT.js";import{b as Qe,p as Jt}from"../chunks/CXzWUZJN.js";const Vt=!1,Zt=!1,pr=Object.freeze(Object.defineProperty({__proto__:null,prerender:Vt,ssr:Zt},Symbol.toStringTag,{value:"Module"}));ze(["click"]);ze(["click"]);var Xt=L('<div class="skeleton-section"><div class="skeleton-head"><span class="skeleton-num"> </span> <span class="skeleton-label"> </span> <span class="skeleton-spinner" aria-hidden="true">▍</span></div> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span> <span class="skeleton-pulse"></span></div>'),Qt=L('<div class="skeleton-brief" role="status" aria-live="polite" aria-label="Loading briefing — geocode complete, dispatching specialists"><div class="skeleton-status"><span class="skeleton-pulse"></span> <span class="skeleton-pulse skeleton-pulse-meta"></span></div> <!></div>');function en(n){const e=[{n:"01",label:"Status"},{n:"02",label:"Empirical evidence"},{n:"03",label:"Modeled scenarios"},{n:"04",label:"Policy context"}];var t=Qt(),r=x(t),s=x(r);se(s,"",{},{width:"62%"});var d=$(s,2);se(d,"",{},{width:"40%"}),b(r);var o=$(r,2);ct(o,1,()=>e,p=>p.n,(p,m)=>{var l=Xt(),c=x(l),h=x(c),E=x(h,!0);b(h);var Y=$(h,2),P=x(Y,!0);b(Y),De(2),b(c);var U=$(c,2);se(U,"",{},{width:"92%"});var F=$(U,2);se(F,"",{},{width:"78%"});var O=$(F,2);se(O,"",{},{width:"85%"}),b(l),W(()=>{R(E,a(m).n),R(P,a(m).label)}),q(p,l)}),b(t),q(n,t)}var tn=L('<div class="reroll-banner" role="status" aria-live="polite"><!> <div class="reroll-body"><span class="reroll-head">Regenerating to satisfy citation grounding</span> <span class="reroll-sub"> </span></div> <span class="reroll-spinner" aria-hidden="true">↻</span></div>');function nn(n,e){let t=Xe(e,"attempt",3,2),r=Xe(e,"max",3,3);var s=tn(),d=x(s);ot(d,{tier:"modeled",size:11,color:"var(--tier-modeled)"});var o=$(d,2),p=$(x(o),2),m=x(p);b(p),b(o),De(2),b(s),W(()=>R(m,`Mellea reconciler · attempt ${t()??""} of ${r()??""} · previous draft dimmed below`)),q(n,s)}var rn=L("<a> </a>"),an=L('<button type="button"> </button>'),sn=L('<article role="alert" aria-live="assertive"><header class="error-card-head"><!> <span class="error-card-eyebrow"> </span></header> <h3 class="error-card-headline"> </h3> <p class="error-card-body"> </p> <div class="error-card-actions"></div> <footer class="error-card-foot"><span class="section-label">Trust signals · still on</span> <span class="error-card-foot-copy">All foundation models Apache-2.0 · No commercial APIs at runtime</span></footer></article>');function on(n,e){const t={geocoder:{eyebrow:"Address not resolved",headline:"We couldn't resolve that to a NYC address.",body:`Try a more specific street address — for example, "80 Pioneer Street, Brooklyn." Riprap covers the five boroughs only; international addresses, NJ addresses, and points outside NYC aren't supported.`,tier:"proxy",defaultActions:["Use a sample query","Edit query"]},"all-silent":{eyebrow:"Outside evidence coverage",headline:"No specialists found evidence at this point.",body:"The address resolved, but every flood-evidence specialist returned silent. This is rare and usually means parkland, water, or a point with no nearby 311, no FloodNet sensor, and no Sandy overlap. Try a nearby street address or expand to neighborhood-mode.",tier:"proxy",defaultActions:["Try nearby address","Switch to neighborhood-mode"]},grounding:{eyebrow:"Grounding failure",headline:"Briefing prose couldn't be composed within citation constraints.",body:"Mellea rejected all reroll attempts. The underlying evidence is fine — only the prose composition failed. Download the structured evidence below, or contact support.",tier:"modeled",defaultActions:["Download evidence (JSON)","Contact support","Try again"]},backend:{eyebrow:"Backend unavailable",headline:"All routing targets exhausted.",body:"LiteLLM tried Local Ollama → HF Space T4 → AMD MI300X and didn't reach a healthy backend. This usually clears within 5 minutes during a deploy window. The hardware-pill in the header is currently red.",tier:"proxy",defaultActions:["Retry now","Switch backend"]}};let r=ne(()=>t[e.state]),s=ne(()=>e.actions??a(r).defaultActions.map(U=>({label:U})));var d=sn(),o=x(d),p=x(o);ot(p,{get tier(){return a(r).tier},size:11,get color(){return`var(--tier-${a(r).tier??""})`}});var m=$(p,2),l=x(m,!0);b(m),b(o);var c=$(o,2),h=x(c,!0);b(c);var E=$(c,2),Y=x(E,!0);b(E);var P=$(E,2);ct(P,21,()=>a(s),Kt,(U,F,O)=>{var Q=Ft(),Ae=ye(Q);{var Ne=G=>{var j=rn();Oe(j,1,"error-card-action",null,{},{"is-primary":O===0});var X=x(j,!0);b(j),W(()=>{Wt(j,"href",a(F).href),R(X,a(F).label)}),q(G,j)},ce=G=>{var j=an();Oe(j,1,"error-card-action",null,{},{"is-primary":O===0});var X=x(j,!0);b(j),W(()=>R(X,a(F).label)),Lt("click",j,function(...re){var de;(de=a(F).onClick)==null||de.apply(this,re)}),q(G,j)};H(Ae,G=>{a(F).href?G(Ne):G(ce,-1)})}q(U,Q)}),b(P),De(2),b(d),W(()=>{Oe(d,1,`error-card error-card-${e.state??""}`),R(l,e.eyebrowOverride??a(r).eyebrow),R(h,e.headlineOverride??a(r).headline),R(Y,e.bodyOverride??a(r).body)}),q(n,d)}ze(["click"]);const Z="2026-05";function ln(n){return n==="fan"||n==="merge"?"fired":n==="silent"?"silent_by_design":n==="error"?"errored":"fired"}function dt(n){return[n,...(n.children??[]).flatMap(dt)]}function cn(n){const e=n.toLowerCase();return e==="sandy_inundation"||e==="sandy"||e==="dep_stormwater"||e==="dep"||e==="ida_hwm_2021"||e==="ida_hwm"||e==="prithvi_eo_v2"||e==="prithvi_water"||e==="microtopo_lidar"||e==="microtopo"?"cornerstone":e==="mta_entrance_exposure"||e==="mta_entrances"||e==="nycha_development_exposure"||e==="nycha_developments"||e==="doe_school_exposure"||e==="doe_schools"||e==="doh_hospital_exposure"||e==="doh_hospitals"||e==="terramind_synthesis"||e==="terramind"||e==="terramind_buildings"||e==="eo_chip_fetch"?"keystone":e==="floodnet"||e==="nyc311"||e==="nws_obs"||e==="noaa_tides"||e==="prithvi_eo_live"||e==="prithvi_live"||e==="terramind_lulc"?"touchstone":e==="nws_alerts"||e==="ttm_forecast"||e==="ttm_311_forecast"||e==="floodnet_forecast"||e==="ttm_battery_surge"?"lodestone":e.startsWith("reconcile")||e.startsWith("mellea")||e==="rag_granite_embedding"||e==="gliner_extract"?"capstone":null}function dn(n){const e={cornerstone:[],keystone:[],touchstone:[],lodestone:[],capstone:[]};if(n)for(const t of dt(n)){const r=cn(t.name);r&&e[r].push({id:t.id||t.name,name:t.name,status:ln(t.status),tier:t.tier,ms:t.ms,note:t.note??t.error??void 0})}return Object.keys(e).map(t=>({key:t,members:Yt(t,e[t])}))}function w(n){return typeof n=="number"&&Number.isFinite(n)?n:null}function T(n){return typeof n=="string"?n:null}function C(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function un(n,e){return n.sandy!==!0?null:{id:"fsm-sandy",stone:"cornerstone",tier:"empirical",variant:"headline",source:"NYC OEM",agency:"NYC OpenData 5xsi-dfpx · Sandy 2012 inundation",vintage:"2012-10-29",title:"Hurricane Sandy 2012 inundation",headline:"Inside zone",subhead:(e&&T(e.address))??"address inside the empirical 2012 extent",body:"Address sits within the empirical Hurricane Sandy 2012 inundation extent. This is a historical fact, not a model prediction.",docId:"sandy",citeId:"sandy",mapLayer:"sandy"}}function pn(n){const e=C(n.dep);if(!e)return null;const t=[];for(const[r,s]of Object.entries(e)){const d=C(s);if(!d)continue;const o=w(d.depth_class)??0;o<=0||t.push([r.replace("dep_",""),T(d.depth_label)??"—",`class ${o}`])}return t.length?{id:"fsm-dep",stone:"cornerstone",tier:"modeled",variant:"tabular",source:"NYC DEP",agency:"NYC Department of Environmental Protection · Stormwater Flood Maps",vintage:"2021",title:"Stormwater flood scenarios at this address",columns:["scenario","depth label","class"],rows:t,sub:`${t.length} scenario${t.length===1?"":"s"} place this lot in modeled flooding`,docId:"dep_stormwater",citeId:"dep",mapLayer:"stormwater"}:null}function fn(n){const e=C(n.ida_hwm);if(!e)return null;const t=w(e.n_within_radius);if(!t||t<=0)return null;const r=[];return r.push(["count",`${t}`,`${w(e.radius_m)??800} m radius`]),w(e.max_height_above_gnd_ft)!=null&&r.push(["max above gnd",`${e.max_height_above_gnd_ft} ft`,"—"]),w(e.nearest_dist_m)!=null&&r.push(["nearest",T(e.nearest_site)??"HWM",`${e.nearest_dist_m} m`]),{id:"fsm-ida-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"USGS STN Hurricane Ida 2021 high-water marks (Event 312)",vintage:"2021-09",title:"Hurricane Ida 2021 high-water marks nearby",columns:["field","value","context"],rows:r,docId:"ida_hwm",citeId:"ida_hwm",mapLayer:"hwm"}}function mn(n){const e=C(n.prithvi_water);if(!e)return null;const t=w(e.nearest_distance_m);return t==null?null:{id:"fsm-prithvi-water",stone:"cornerstone",tier:"modeled",variant:"raster",source:"Prithvi-EO 2.0",agency:"IBM/NASA Prithvi-EO 2.0 · baked Hurricane Ida 2021 polygons",vintage:"2021-09-02",title:"Hurricane Ida 2021 — satellite-attributable inundation",rasterKind:"prithvi",headline:e.inside_water_polygon?"Inside polygon":`${t} m away`,subhead:"pre/post HLS Sentinel-2 segmentation",sub:`${w(e.n_polygons_within_500m)??0} distinct polygons within 500 m`,docId:"prithvi_water",citeId:"prithvi_water",mapLayer:"prithvi"}}function _n(n){const e=C(n.microtopo);if(!e)return null;const t=w(e.point_elev_m);if(t==null)return null;const r=[{value:`${t.toFixed(1)} m`,label:"elevation"}];return w(e.hand_m)!=null&&r.push({value:`${e.hand_m.toFixed(1)} m`,label:"HAND"}),w(e.twi)!=null&&r.push({value:`${e.twi.toFixed(1)}`,label:"TWI"}),w(e.rel_elev_pct_200m)!=null&&r.push({value:`${e.rel_elev_pct_200m}%`,label:"pct lower 200m"}),{id:"fsm-microtopo",stone:"cornerstone",tier:"proxy",variant:"scalars",source:"USGS 3DEP",agency:"USGS 3DEP DEM (LiDAR-derived) + whitebox-workflows hydrology",vintage:"2018",title:"Microtopography at this point",scalars:r,sub:"Lower percentile = topographic low point; runoff routes here.",docId:"microtopo",citeId:"microtopo"}}function hn(n){const e=[],t=C(n.mta_entrances);if(t!=null&&t.available&&Array.isArray(t.entrances))for(const o of t.entrances.slice(0,4))e.push({reg:"MTA",tier:"empirical",label:T(o.station_name)??T(o.entrance_id)??"entrance",detail:`${w(o.distance_m)??"—"} m · ${T(o.daytime_routes)??""}`.trim(),sourceId:T(o.station_id)??"MTA",note:null});else t&&t.available===!1&&e.push({reg:"MTA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no subway entrances within 1.0 mi (silent)"});const r=C(n.nycha_developments);if(r!=null&&r.available&&Array.isArray(r.developments))for(const o of r.developments.slice(0,3))e.push({reg:"NYCHA",tier:"empirical",label:T(o.development)??"development",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.tds_num)??null,note:null});else r&&r.available===!1&&e.push({reg:"NYCHA",tier:"empirical",label:null,detail:null,sourceId:null,note:"no NYCHA developments within 1.0 mi (silent)"});const s=C(n.doe_schools);if(s!=null&&s.available&&Array.isArray(s.schools))for(const o of s.schools.slice(0,3))e.push({reg:"DOE",tier:"empirical",label:T(o.loc_name)??"school",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.loc_code)??null,note:null});else s&&s.available===!1&&e.push({reg:"DOE",tier:"empirical",label:null,detail:null,sourceId:null,note:"no schools within 1.0 mi (silent)"});const d=C(n.doh_hospitals);if(d!=null&&d.available&&Array.isArray(d.hospitals))for(const o of d.hospitals.slice(0,3))e.push({reg:"DOH",tier:"empirical",label:T(o.facility_name)??"hospital",detail:`${w(o.distance_m)??"—"} m · ${T(o.borough)??""}`.trim(),sourceId:T(o.fac_id)??null,note:null});else d&&d.available===!1&&e.push({reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,note:"no acute-care hospital within 1.0 mi (silent)"});return e.length?{id:"fsm-registers",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:Z,title:"Nearby exposed assets",registers:e,sub:`${e.filter(o=>o.label).length} of ${e.length} registers fired · joined within 1.0 mi`,docId:"registers",citeId:"registers",mapLayer:"registers"}:null}function vn(n){const e=C(n.terramind_buildings);return e!=null&&e.ok?{id:"fsm-tm-buildings",stone:"keystone",tier:"modeled",variant:"raster-pred",source:"TerraMind-NYC",agency:"msradam/TerraMind-NYC-Adapters · Buildings LoRA",vintage:"2026",title:"NYC building footprints — TerraMind LoRA",rasterKind:"buildings",headline:`${w(e.pct_buildings)??0}%`,subhead:"building-footprint coverage in chip",sub:`${w(e.n_building_components)??0} distinct components · test mIoU 0.5511`,illustrative:!0,docId:"tm_buildings",citeId:"tm_buildings",mapLayer:"buildings"}:null}function gn(n){const e=C(n.floodnet);if(!e||(w(e.n_sensors)??0)<=0)return null;const t=w(e.n_flood_events_3y)??0;return{id:"fsm-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC ultrasonic depth sensor network",vintage:"2026",title:"FloodNet sensors near this address",headline:`${t} events`,subhead:`${w(e.n_sensors)??0} sensors · last 3 y`,spark:Array.from({length:24},(r,s)=>Math.max(0,Math.round(t/24*1.4*Math.exp(-Math.pow((s-14)/4,2))+t/24))),sparkSub:"Above-curb depth events ≥ 2 cm. Synthetic monthly distribution; raw deployment-id history is in the audit panel.",docId:"floodnet",citeId:"floodnet",mapLayer:"floodnet"}}function yn(n){var p;const e=C(n.nyc311);if(!e)return null;const t=w(e.n)??0;if(t<=0)return null;const r=C(e.by_year),s=C(e.by_descriptor),d=r?Object.values(r).map(m=>w(m)??0):Array.from({length:12},()=>Math.round(t/12)),o=s?(p=Object.entries(s).sort((m,l)=>(w(l[1])??0)-(w(m[1])??0))[0])==null?void 0:p[0]:null;return{id:"fsm-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests (Socrata erm2-nwe9)",vintage:Z,title:"Recent 311 flood complaints",headline:`${t} calls`,subhead:o?`top descriptor: ${o}`:"all flood-related descriptors",histogram:d,sparkSub:`Within ${w(e.radius_m)??200} m · ${w(e.years)??5} y window. Filtered to flood-relevant descriptors.`,docId:"nyc311",citeId:"nyc311",mapLayer:"complaints"}}function bn(n){var r;const e=C(n.nws_obs);if(!e||e.error||e.station_id==null)return null;const t=[];return w(e.precip_last_hour_mm)!=null&&t.push({value:`${e.precip_last_hour_mm} mm`,label:"precip · 1h"}),w(e.precip_last_6h_mm)!=null&&t.push({value:`${e.precip_last_6h_mm} mm`,label:"precip · 6h"}),t.length?{id:"fsm-nws-obs",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS",agency:`NWS ASOS station ${T(e.station_id)??"?"}`,vintage:((r=T(e.obs_time))==null?void 0:r.slice(0,10))??Z,title:"Recent precipitation",scalars:t,sub:`Nearest hourly METAR: ${T(e.station_name)??"?"} (${w(e.distance_km)??"?"} km).`,docId:"nws_obs",citeId:"nws_obs",mapLayer:"nws"}:null}function wn(n){var r;const e=C(n.noaa_tides);if(!e||e.error||w(e.observed_ft_mllw)==null)return null;const t=[{value:`${e.observed_ft_mllw} ft`,label:"observed (MLLW)"}];return w(e.predicted_ft_mllw)!=null&&t.push({value:`${e.predicted_ft_mllw} ft`,label:"predicted"}),w(e.residual_ft)!=null&&t.push({value:`${e.residual_ft} ft`,label:"residual"}),{id:"fsm-noaa",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NOAA CO-OPS",agency:`NOAA tide gauge ${T(e.station_name)??T(e.station_id)??"?"}`,vintage:((r=T(e.obs_time))==null?void 0:r.slice(0,10))??Z,title:"Live water level (nearest tide gauge)",scalars:t,sub:"Residual = observed − astronomical tide; positive residual is wind / surge component.",docId:"noaa_tides",citeId:"noaa_tides",mapLayer:"noaa"}}function xn(n){var r;const e=C(n.prithvi_live);if(!(e!=null&&e.ok))return null;const t=(r=T(e.item_datetime))==null?void 0:r.slice(0,10);return{id:"fsm-prithvi-live",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC-Pluvial",agency:"NASA-IBM Prithvi v2 · NYC fine-tune",vintage:t?`${t} · Sentinel-2`:"Sentinel-2",title:"Pluvial flood prediction · Prithvi-NYC-Pluvial",rasterKind:"prithvi",headline:`${w(e.pct_water_within_500m)??0}% flooded`,subhead:`water within 500 m · cloud ${w(e.cloud_cover)??"?"}%`,sub:"Test flood IoU 0.5979 on held-out NYC chips. Model interpretation, not a measurement.",illustrative:!0,docId:"prithvi_live",citeId:"prithvi_live",mapLayer:"prithvi-pluvial"}}const Sn={urban:"#C66",water:"#5B7FB4",vegetation:"#5B8A4A",barren:"#A89A78",wetland:"#D9C75A"};function kn(n){const e=C(n.terramind_lulc);if(!(e!=null&&e.ok))return null;const t=C(e.class_fractions)??{},r={urban:0,water:0,vegetation:0,barren:0,wetland:0};for(const[d,o]of Object.entries(t)){const p=d.toLowerCase();p.includes("urban")||p.includes("built")||p.includes("impervious")?r.urban+=o:p.includes("water")?r.water+=o:p.includes("tree")||p.includes("vegetation")||p.includes("crop")||p.includes("grass")?r.vegetation+=o:p.includes("bare")||p.includes("barren")||p.includes("soil")?r.barren+=o:p.includes("wet")||p.includes("marsh")?r.wetland+=o:r.barren+=o}const s=Object.entries(r).filter(([,d])=>d>0).map(([d,o])=>({k:d,pct:Math.round(o),color:Sn[d]}));return{id:"fsm-tm-lulc",stone:"touchstone",tier:"synthetic",variant:"lulc",source:"TerraMind v1.2",agency:"IBM TerraMind v1.2 · Sentinel-2 inputs",vintage:"Sentinel-2",title:"Land use / land cover · TerraMind v1.2",rasterKind:"lulc",classMix:s.length?s:void 0,sub:"Synthetic prior. LULC palette is a layer convention, not a tier signal.",illustrative:!0,docId:"tm_lulc",citeId:"tm_lulc",mapLayer:"terramind-lulc"}}function $n(n){const e=C(n.ttm_forecast);if(!(e!=null&&e.available)||!e.interesting)return null;const t=w(e.forecast_peak_ft),r=w(e.forecast_peak_minutes_ahead);return t==null||r==null?null:{id:"fsm-ttm-fc",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2 (zero-shot)",agency:"IBM Granite-TimeSeries · regional",vintage:Z,title:"Storm surge nowcast at The Battery — 9.6 h horizon (regional)",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:`${t} ft @ +${Math.round(r/60)}h`},headline:`${t} ft`,subhead:"peak surge residual · 9.6h horizon · 6-min cadence",sub:"Regional disclosure. Distinct from the fine-tuned Battery surge nowcast.",spatialNote:"regional · Battery, not point-of-query",docId:"ttm_forecast",citeId:"ttm_forecast"}}function An(n){const e=C(n.ttm_battery_surge);if(!(e!=null&&e.available)||!e.interesting)return null;const t=w(e.forecast_peak_m),r=w(e.forecast_peak_hours_ahead);return t==null||r==null?null:{id:"fsm-ttm-batt",stone:"lodestone",tier:"modeled",variant:"timeseries-ft",source:"msradam/Granite-TTM-r2-Battery-Surge",agency:"Granite TTM r2 · NYC-specialized fine-tune",vintage:Z,title:"Storm surge nowcast at The Battery — 96 h horizon (NYC-specialized fine-tune)",timeseries:{hours:96,peak:{x:r,y:Math.round(t*100)},peakLabel:`${(t*100).toFixed(0)} cm @ +${r}h`},headline:`${(t*100).toFixed(0)} cm`,subhead:"peak surge · 96h horizon · hourly cadence",sub:"Fine-tuned on NYC tide-gauge history. Hourly cadence; applies city-wide via NOAA station 8518750.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery",citeId:"ttm_battery",hfModelCard:"huggingface.co/msradam/Granite-TTM-r2-Battery-Surge",rmse:"0.157 m",skillVsPersistence:"−35% vs persistence",hardwareBadge:"MI300X"}}function Nn(n){const e=C(n.nws_alerts);if(!e)return null;const t=w(e.n_active)??0;if(t<=0)return null;const r=Array.isArray(e.alerts)?e.alerts:[];return{id:"fsm-nws-alerts",stone:"lodestone",tier:"modeled",variant:"tabular",source:"NWS",agency:"NWS Public Alerts API · flood-relevant filter",vintage:Z,title:`${t} active flood-relevant alert${t===1?"":"s"}`,columns:["event","severity","expires"],rows:r.slice(0,4).map(s=>[T(s.event)??"?",T(s.severity)??"?",(T(s.expires)??"").slice(0,16)]),sub:"Live NWS feed. If a FLOOD or FLASH FLOOD WARNING is in this list, foreground it.",docId:"nws_alerts",citeId:"nws_alerts"}}function Tn(n,e){var l,c,h;const t=n.mellea,r=((l=t==null?void 0:t.passed)==null?void 0:l.length)??0,s=((c=t==null?void 0:t.failed)==null?void 0:c.length)??0,d=r+s>0?r+s:4,o=(t==null?void 0:t.attempts)??0,p=Math.max(0,o-1),m=((h=n.citations)==null?void 0:h.length)??0;return{id:"fsm-capstone-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · Granite 4.1 + Mellea grounding check",vintage:Z,title:"Briefing reconciliation",metaRows:[{k:"mellea reroll",v:`${p} reroll${p===1?"":"s"}`},{k:"grounding checks",v:`${r}/${d} passed`},{k:"citations resolved",v:`${m}`},{k:"wall-clock",v:e!=null?`${e.toFixed(1)} s`:"—"}],sub:"Capstone produces prose, not cards. This meta-card is the integrity-narration UI for the entire pipeline.",docId:"capstone"}}function et(n,e,t,r=!0){const s=n??{},d=C(s.geocode);return{cards:[un(s,d),pn(s),fn(s),mn(s),_n(s),hn(s),vn(s),gn(s),yn(s),bn(s),wn(s),xn(s),kn(s),Nn(s),$n(s),An(s),r?Tn(n??{},t):null].filter(p=>p!=null),stones:dn(e),wallSeconds:t}}function In(n,e,t,r){const d={sandy_inundation:"sandy",dep_stormwater:"dep",floodnet:"floodnet",nyc311:"nyc311",noaa_tides:"noaa_tides",nws_alerts:"nws_alerts",nws_obs:"nws_obs",ttm_forecast:"ttm_forecast",ttm_311_forecast:"ttm_311_forecast",ttm_battery_surge:"ttm_battery_surge",floodnet_forecast:"floodnet_forecast",ida_hwm_2021:"ida_hwm",prithvi_eo_v2:"prithvi_water",prithvi_eo_live:"prithvi_live",microtopo_lidar:"microtopo",mta_entrance_exposure:"mta_entrances",nycha_development_exposure:"nycha_developments",doe_school_exposure:"doe_schools",doh_hospital_exposure:"doh_hospitals",terramind_synthesis:"terramind",terramind_lulc:"terramind_lulc",terramind_buildings:"terramind_buildings",eo_chip_fetch:"eo_chip",geocode:"geocode"}[e];if(!d)return[];if(e==="sandy_inundation"){const o=t;n[d]=r&&(o==null?void 0:o.inside)===!0?!0:r?!1:null}else if(e==="dep_stormwater"){const o=t??{},p={};for(const[m,l]of Object.entries(o)){const c=typeof l=="string"?l:"";c&&(p[m]={depth_class:1,depth_label:c})}n[d]=Object.keys(p).length?p:null}else r&&t!=null?n[d]=t:n[d]=null;return[d]}const be={subway:"MTA · USGS · FEMA · NYC OEM · NYC DEP",nycha:"NYC HA · USGS · NYC OEM · NYC DEP",school:"NYC DOE · USGS · NYC OEM · NYC DEP",hospital:"NYS DOH · USGS · NYC OEM · NYC DEP"},we={subway:"subway entrances",nycha:"NYCHA developments",school:"public schools",hospital:"hospitals"};function xe(n){return!n||!Number.isFinite(n)?"—":`${Math.round(n)}m`}function Se(n){return n==null||!Number.isFinite(n)?"—":`${(n*3.28084).toFixed(1)} ft`}function ke(n,e){return typeof e=="number"?e>=.5?`Inundated 2012 (${Math.round(e*100)}%)`:e>0?`Edge (${Math.round(e*100)}%)`:"—":n?"Inundated 2012":"—"}function $e(n,e,t){return typeof t=="number"?t>=.5?`≥${Math.round(t*100)}% in scenario`:t>0?`${Math.round(t*100)}% edge`:"minimal":n&&n.length?n:e&&e>0?`class ${e}`:"minimal"}function Cn(n){return n?/elevator|easement|stair.*ramp/i.test(n):!1}function Mn(n){if(!n.available)return null;const t=(n.entrances??[]).map(r=>{const s=Cn(r.entrance_type);return{name:`${r.station_name??"?"}${r.daytime_routes?` (${String(r.daytime_routes).split(/\s+/).slice(0,3).join("/")})`:""}`,elev:Se(r.elev_m),ada:s,fema:"Zone X",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"subway",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}});return{type:we.subway,radius:xe(n.radius_m),count:n.n_entrances??t.length,rows:t,sourceLabel:be.subway}}function qn(n){if(!n.available)return null;const t=(n.developments??[]).map(r=>{const s=r.pct_inside_sandy_2012,d=r.pct_in_dep_extreme_2080;return{name:`${r.development??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.rep_elevation_m),ada:!1,fema:"—",sandy:ke(void 0,s),dep:$e(void 0,void 0,d),asset:"nycha",primaryTier:s&&s>0?"empirical":"modeled"}});return{type:we.nycha,radius:xe(n.radius_m),count:n.n_developments??t.length,rows:t,sourceLabel:be.nycha}}function Fn(n){if(!n.available)return null;const t=(n.schools??[]).map(r=>({name:`${r.school_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.elev_m),ada:!1,fema:"—",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"school",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:we.school,radius:xe(n.radius_m),count:n.n_schools??t.length,rows:t,sourceLabel:be.school}}function Ln(n){if(!n.available)return null;const t=(n.hospitals??[]).map(r=>({name:`${r.facility_name??r.name??"?"}${r.borough?` · ${r.borough}`:""}`,elev:Se(r.elev_m),ada:!0,fema:"—",sandy:ke(r.inside_sandy_2012),dep:$e(r.dep_extreme_2080_label,r.dep_extreme_2080_class),asset:"hospital",primaryTier:r.inside_sandy_2012?"empirical":"modeled"}));return{type:we.hospital,radius:xe(n.radius_m),count:n.n_hospitals??t.length,rows:t,sourceLabel:be.hospital}}function En(n){if(!n)return[];const e=[],t=Mn(n.mta_entrances??{});t&&t.rows.length&&e.push(t);const r=qn(n.nycha_developments??{});r&&r.rows.length&&e.push(r);const s=Fn(n.doe_schools??{});s&&s.rows.length&&e.push(s);const d=Ln(n.doh_hospitals??{});return d&&d.rows.length&&e.push(d),e}function Pn(n,e){const t=`/api/agent/stream?q=${encodeURIComponent(n)}`,r=new EventSource(t);let s="",d;const o=/([.?!])(\s|$)/;function p(l=!1){var h,E;let c;for(;c=o.exec(s);){const Y=c.index+c[1].length+(c[2]?c[2].length:0),P=s.slice(0,Y).trim();s=s.slice(Y),P&&((h=e.onSentence)==null||h.call(e,P,d))}l&&s.trim()&&((E=e.onSentence)==null||E.call(e,s.trim(),d),s="")}function m(l,c){r.addEventListener(l,h=>{try{c(JSON.parse(h.data))}catch{}})}return m("hello",l=>{var c;return(c=e.onHello)==null?void 0:c.call(e,l.query)}),m("plan_token",l=>{var c;return(c=e.onPlanToken)==null?void 0:c.call(e,l.delta)}),m("plan",l=>{var c;return(c=e.onPlan)==null?void 0:c.call(e,l)}),m("step",l=>{var c;return(c=e.onStep)==null?void 0:c.call(e,l)}),m("token",l=>{var c,h;l.attempt!==d&&(d=l.attempt,s="",(c=e.onAttemptStart)==null||c.call(e,l.attempt??1)),(h=e.onToken)==null||h.call(e,l.delta,l.attempt),s+=l.delta,p(!1)}),m("mellea_attempt",l=>{var c;return(c=e.onMelleaAttempt)==null?void 0:c.call(e,l)}),m("final",l=>{var c;p(!0),(c=e.onFinal)==null||c.call(e,l)}),m("error",l=>{var c;return(c=e.onError)==null?void 0:c.call(e,l.err)}),r.addEventListener("done",()=>{var l;p(!0),(l=e.onDone)==null||l.call(e),r.close()}),r.addEventListener("error",()=>{var l;p(!0),(l=e.onError)==null||l.call(e,"SSE connection error"),r.close()}),{close:()=>r.close()}}const ut=[{key:"status",label:"Status",n:"01",aliases:["status"]},{key:"empirical",label:"Empirical evidence",n:"02",tier:"empirical",aliases:["empirical evidence","empirical"]},{key:"modeled",label:"Modeled scenarios",n:"03",tier:"modeled",aliases:["modeled scenarios","modeled"]},{key:"policy",label:"Policy context",n:"04",aliases:["policy context","policy"]}];function tt(n){const e=n.toLowerCase().replace(/[.:]+\s*$/,"").trim();return ut.find(t=>t.aliases.includes(e))}const nt=/(^|\n)\s*(?:\*\*([A-Z][A-Za-z\s/]+?)\.\s*\*\*|#{1,3}\s*(0[1-4])\s*[:\-—.]?\s*([^\n]+))/g;function pt(n,e,t){return{id:e,n,tier:lt(e),source:(t==null?void 0:t.source)??e.split(/[_-]/)[0].toUpperCase(),title:(t==null?void 0:t.title)??e,docId:e,url:(t==null?void 0:t.url)??"",vintage:(t==null?void 0:t.vintage)??"",retrieved:(t==null?void 0:t.retrieved)??""}}const jn=/\[([a-z][a-z0-9_]*(?:\s*,\s*[a-z][a-z0-9_]*)*)\]/gi;function rt(n){return n.split(new RegExp("(?<=[.!?])\\s+(?=[A-Z(])","g")).filter(t=>t.trim().length>0)}function it(n,e,t){let r=0;const s=[],d=[...n.matchAll(jn)];if(d.length===0)return[{text:n}];for(const o of d){const p=n.slice(r,o.index??0),m=o[1].split(/\s*,\s*/).filter(Boolean);r=(o.index??0)+o[0].length;const l=lt(m[0]);s.push({text:p,tier:l,cite:m[0]});for(const c of m)e[c]||(e[c]=t(c))}if(r<n.length){const o=n.slice(r);o.trim()&&s.push({text:o})}return s}function On(n,e={}){const t={...e};let r=Object.values(t).reduce((l,c)=>Math.max(l,c.n),0)+1;const s=new Set,d=l=>(e[l]||s.add(l),pt(r++,l)),o=[],p=[];let m;for(nt.lastIndex=0;m=nt.exec(n);)if(m[2]!==void 0){const l=tt(m[2]);if(!l)continue;p.push({num:l.n,label:l.label,tier:l.tier,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}else if(m[3]!==void 0){const l=m[3],c=(m[4]??"").trim(),h=ut.find(E=>E.n===l)??tt(c);p.push({num:l,label:(h==null?void 0:h.label)??c,tier:h==null?void 0:h.tier,titleExtra:h&&c.toLowerCase()!==h.label.toLowerCase()?c:void 0,start:m.index+m[1].length,bodyStart:m.index+m[0].length})}for(let l=0;l<p.length;l++){const c=p[l],h=p[l+1],E=n.slice(c.bodyStart,h?h.start:n.length).trim();if(E){o.push({kind:"head",n:c.num,label:c.label,tier:c.tier,title:c.titleExtra});for(const Y of E.split(/\n\s*\n/)){const P=Y.replace(/\s+/g," ").trim();if(!P)continue;const U=rt(P),F=[];for(const O of U)F.push(...it(O,t,d)),F.push({text:" "});for(;F.length&&F[F.length-1].text.trim()===""&&!F[F.length-1].tier;)F.pop();F.length&&o.push({kind:"prose",parts:F})}}}if(o.length===0&&n.trim()){o.push({kind:"head",n:"01",label:"Status"});const l=n.replace(/\s+/g," ").trim(),c=rt(l),h=[];for(const E of c)h.push(...it(E,t,d)),h.push({text:" "});for(;h.length&&h[h.length-1].text.trim()===""&&!h[h.length-1].tier;)h.pop();h.length&&o.push({kind:"prose",parts:h})}return{blocks:o,citations:t,unresolvedDocIds:[...s]}}const oe={type:"FeatureCollection",features:[]};async function le(n){try{const e=await fetch(n);if(!e.ok)return oe;const t=await e.json();return!t||t.type!=="FeatureCollection"?oe:t}catch{return oe}}async function zn(n,e,t=1500){return le(`/api/layers/sandy?lat=${n}&lon=${e}&r=${t}`)}async function Dn(n,e,t=1500){return le(`/api/layers/dep_extreme_2080?lat=${n}&lon=${e}&r=${t}`)}async function at(n,e,t=1500){return le(`/api/layers/prithvi_water?lat=${n}&lon=${e}&r=${t}`)}async function Rn(n){return le(`/api/layers/sandy_clipped?code=${encodeURIComponent(n)}`)}async function Yn(n,e="dep_extreme_2080"){return le(`/api/layers/dep_clipped?code=${encodeURIComponent(n)}&scenario=${e}`)}async function st(n,e,t=1500){try{const r=await fetch(`/api/floodnet_near?lat=${n}&lon=${e}&r=${t}`);return r.ok?{type:"FeatureCollection",features:(await r.json()).features.map(o=>{const p=o.properties??{};return{...o,properties:{...p,count:typeof p.n_events_3y=="number"?p.n_events_3y:1}}})}:oe}catch{return oe}}var Bn=L('<span class="region-head-meta svelte-1q8jizq"> <!></span>'),Hn=L('<span class="region-head-meta svelte-1q8jizq">planning…</span>'),Un=L('<div class="reroll-prev svelte-1q8jizq" aria-hidden="true"><p class="reroll-prev-line svelte-1q8jizq"> </p></div>'),Gn=L("<!> <!>",1),Wn=L('<span class="streaming-caret svelte-1q8jizq" aria-hidden="true">▍</span>'),Kn=L("<!> <!>",1),Jn=L('<details class="plan-details svelte-1q8jizq"><summary class="svelte-1q8jizq"> </summary> <pre class="plan-stream svelte-1q8jizq"> </pre></details>'),Vn=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Planning intent… <!></div>'),Zn=L('<div class="generating-status svelte-1q8jizq" aria-live="polite"><span class="pulse svelte-1q8jizq"></span> Resolving address…</div>'),Xn=L("<!> <!>",1),Qn=L('<span class="region-head-meta svelte-1q8jizq"> </span>'),er=L('<span class="region-head-meta svelte-1q8jizq">awaiting geocode…</span>'),tr=L('<div style="position: relative; flex: 1; min-height: 0;" class="svelte-1q8jizq"><!> <!></div>'),nr=L('<section class="hero-band svelte-1q8jizq"><div class="hero-band-inner svelte-1q8jizq"><div class="app-shell-top is-desktop svelte-1q8jizq"><main id="region-briefing" class="app-region app-region-brief svelte-1q8jizq" aria-labelledby="brief-h1"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Briefing</span> <!></header> <h1 id="brief-h1" class="brief-h1 svelte-1q8jizq">Flood-exposure briefing <span class="brief-h1-addr svelte-1q8jizq"> </span></h1> <!></main> <div class="app-region-side svelte-1q8jizq" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map svelte-1q8jizq" aria-label="Map region"><header class="region-head svelte-1q8jizq"><span class="section-label svelte-1q8jizq">Map</span> <!></header> <!></aside> <aside id="region-cites" class="app-region app-region-cites svelte-1q8jizq" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom svelte-1q8jizq"><section class="app-region app-region-findings svelte-1q8jizq" aria-label="Findings"><!></section></div></div></section>');function fr(n,e){Pt(e,!0);let t=ne(()=>zt.params.queryId??""),r=ne(()=>()=>{try{return decodeURIComponent(a(t))}catch{return a(t)}}),s=k(null),d=k(""),o=k(""),p=k(null),m=k(!1),l=k(0),c=2,h=k(!1),E=k(!1),Y=k(""),P=k(null),U=k(te([])),F=ne(()=>{var u,i,_,f;return{empirical:((u=a(pe))==null?void 0:u.features.length)??0,modeled:((i=a(fe))==null?void 0:i.features.length)??0,synthetic:((_=a(me))==null?void 0:_.features.length)??0,proxy:((f=a(_e))==null?void 0:f.features.length)??0}}),O=k(te({id:"root",name:"briefing.run",status:"ok",ms:0,tier:null,children:[]})),Q=k(null),Ae="comfortable",Ne="smart",ce=k(!1);je(()=>{typeof window<"u"&&v(ce,new URL(window.location.href).searchParams.get("grammar")==="1")});let G=k(null),j=k(void 0),X=te({}),re=k(0),de=ne(()=>{if(a(re),a(p)){const u={...X,...a(p)};return et(u,a(O),a(j),!0)}return et(X,a(O),a(j),!1)});function ft(u){v(Q,u,!0)}function mt(u){const i=document.getElementById("region-cites");i&&i.scrollIntoView({behavior:"smooth",block:"start"})}const Re=new Set(["ttm_forecast","ttm_311_forecast","floodnet_forecast"]),Te="group-ttm-r2";function _t(u,i,_,f){if(f==="error")return _??void 0;if(f==="silent")return _??"no data";if(i==null||typeof i!="object")return;const N=i,g={sandy_inundation:["inside"],dep_stormwater:["dep_extreme_2080","dep_moderate_2050"],floodnet:["n_sensors","n_events_3y"],nyc311:["n"],noaa_tides:["observed_ft_mllw","residual_ft","station"],nws_alerts:["n_active"],nws_obs:["p1h_mm","p6h_mm","station"],ttm_forecast:["forecast_peak_ft","forecast_peak_min_ahead"],ttm_311_forecast:["forecast_mean","forecast_peak","accelerating"],ida_hwm_2021:["n_within_800m","max_height_above_gnd_ft"],prithvi_eo_v2:["inside_water_polygon","nearest_distance_m"],prithvi_eo_live:["scene_date","pct_water_500m"],microtopo_lidar:["elev_m","pct_200m","relief_m"],mta_entrance_exposure:["n_entrances","n_inside_sandy_2012","n_in_dep_extreme_2080"],nycha_development_exposure:["n_developments","n_majority_inside_sandy_2012"],doe_school_exposure:["n_schools","n_inside_sandy_2012"],doh_hospital_exposure:["n_hospitals","n_inside_sandy_2012"],floodnet_forecast:["sensor_id","distance_m","forecast_28d","accelerating"],terramind_synthesis:["tim_chain","dem_mean_m"],rag_granite_embedding:["hits"],gliner_extract:["sources"]}[u],M=[];if(g){for(const I of g)if(N[I]!==void 0&&M.push(Be(I,N[I])),M.length>=3)break}else for(const[I,y]of Object.entries(N))if(y!==null&&typeof y!="object"&&(M.push(Be(I,y)),M.length>=2))break;return M.join(" · ")||void 0}function ht(u){const i=[],_=u.mta_entrances;if(_&&Array.isArray(_.entrances))for(const g of _.entrances){const M=Number(g.entrance_lat),I=Number(g.entrance_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"subway",name:`${g.station_name??"?"} (${g.daytime_routes??"?"})`,doc_id:`mta_entrance_${g.station_id??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}const f=u.doe_schools;if(f&&Array.isArray(f.schools))for(const g of f.schools){const M=Number(g.school_lat),I=Number(g.school_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"school",name:String(g.loc_name??g.school_name??"?"),doc_id:`doe_school_${g.loc_code??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}const N=u.nycha_developments;if(N&&Array.isArray(N.developments))for(const g of N.developments){const M=Number(g.centroid_lat),I=Number(g.centroid_lon);if(!Number.isFinite(M)||!Number.isFinite(I))continue;const y=Number(g.pct_inside_sandy_2012??0);i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"nycha",name:String(g.development??"?"),doc_id:`nycha_dev_${g.tds_num??""}`,inside_sandy_2012:y>=50,pct_inside_sandy:y}})}const S=u.doh_hospitals;if(S&&Array.isArray(S.hospitals))for(const g of S.hospitals){const M=Number(g.hospital_lat),I=Number(g.hospital_lon);!Number.isFinite(M)||!Number.isFinite(I)||i.push({type:"Feature",geometry:{type:"Point",coordinates:[I,M]},properties:{kind:"hospital",name:String(g.facility_name??"?"),doc_id:`nyc_hospital_${g.fac_id??""}`,inside_sandy_2012:g.inside_sandy_2012===!0}})}return{type:"FeatureCollection",features:i}}function vt(u){return{type:"FeatureCollection",features:[]}}function Ye(u){return 1+(u.children??[]).reduce((_,f)=>_+Ye(f),0)}function Be(u,i){if(typeof i=="number"){const _=Number.isInteger(i)?`${i}`:i.toFixed(2);return`${u}=${_}`}if(typeof i=="boolean")return`${u}=${i}`;if(typeof i=="string"){const _=i.length>24?i.slice(0,22)+"…":i;return`${u}=${_}`}return u}let ie=k(te({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),K=k(null),ue=k(null),He=k(void 0),Ue=k(void 0),pe=k(void 0),fe=k(void 0),me=k(void 0),_e=k(void 0),ee=k(te([])),ae=k(te({})),he=[];function gt(){var N;if(!a(o)){v(ee,[],!0),v(ae,{},!0),he=[];return}const u={};(N=a(p))!=null&&N.citations&&a(p).citations.forEach((S,g)=>{u[S.doc_id]=pt(g+1,S.doc_id,{source:S.source,title:S.title,url:S.url,vintage:S.vintage})});const i=On(a(o),u),_={};let f=1;for(const S of he){const g=i.citations[S];g&&(_[S]={...g,n:f++})}for(const[S,g]of Object.entries(i.citations))_[S]||(_[S]={...g,n:f++},he.push(S));v(ee,i.blocks,!0),v(ae,_,!0)}je(()=>{a(o),a(p),gt()}),je(()=>{if(!a(K))return;const{lat:u,lon:i,source:_}=a(K);_==="nta"&&a(ue)?(Rn(a(ue)).then(f=>v(pe,f,!0)),Yn(a(ue)).then(f=>v(fe,f,!0)),at(u,i,2500).then(f=>v(me,f,!0)),st(u,i,3e3).then(f=>v(_e,f,!0))):(zn(u,i).then(f=>v(pe,f,!0)),Dn(u,i).then(f=>v(fe,f,!0)),at(u,i).then(f=>v(me,f,!0)),st(u,i).then(f=>v(_e,f,!0)))}),jt(()=>{if(Qe.reset(),!a(r)())return;v(G,Date.now(),!0);const u=Pn(a(r)(),{onPlanToken:i=>v(d,a(d)+i),onPlan:i=>v(s,i,!0),onStep:i=>{if(In(X,i.step,i.result,i.ok),v(re,a(re)+1),i.step==="geocode")if(i.ok&&i.result&&typeof i.result=="object"){const y=i.result;if(typeof y.lat=="number"&&typeof y.lon=="number"){const A=typeof y.address=="string"?y.address:a(r)();v(K,{label:A,lat:y.lat,lon:y.lon,source:"geocode"},!0),v(E,!0)}}else v(P,"geocoder");if(i.step==="nta_resolve"&&i.ok&&i.result&&typeof i.result=="object"){const y=i.result,A=Array.isArray(y.bbox)?y.bbox:null,z=typeof y.nta_code=="string"?y.nta_code:null;if(A&&A.length===4&&z){v(ue,z,!0);const J=(A[0]+A[2])/2,D=(A[1]+A[3])/2,B=typeof y.nta_name=="string"?y.nta_name:a(r)();v(K,{label:B,lat:D,lon:J,source:"nta"},!0)}}const _=Dt(i.step),f=i.ok?i.result==null&&i.err==null?"silent":"ok":"error",N=Math.round((i.elapsed_s??0)*1e3),S=i.result!=null?i.result:i.err??null,g=_t(i.step,i.result,i.err,f),M={id:`step-${Ye(a(O))}`,name:i.step,status:f,ms:N,tier:_,note:g,output:S,error:f==="error"?i.err??"unknown error":void 0,model:Re.has(i.step)?"granite-timeseries-ttm-r2":void 0},I={...a(O),ms:(a(O).ms??0)+N};if(Re.has(i.step)){const y=[...I.children??[]];let A=y.find(D=>D.id===Te);A||(A={id:Te,name:"forecasting.granite-timeseries-ttm-r2",status:"fan",ms:0,tier:"modeled",note:"1 instance",model:"granite-timeseries-ttm-r2",children:[]},y.push(A));const z=[...A.children??[],M],J={...A,ms:(A.ms??0)+N,note:`${z.length} instance${z.length===1?"":"s"}`,children:z};v(O,{...I,children:y.map(D=>D.id===Te?J:D)},!0)}else v(O,{...I,children:[...I.children??[],M]},!0)},onAttemptStart:i=>{v(l,i,!0),i>1&&(v(Y,a(o),!0),v(o,""),he=[])},onToken:i=>{a(h)||(v(h,!0),a(l)===0&&v(l,1)),v(o,a(o)+i)},onMelleaAttempt:i=>{i.attempt>0&&v(l,i.attempt,!0)},onFinal:i=>{v(p,i,!0),i.paragraph&&v(o,i.paragraph,!0),v(U,En(i),!0),v(He,ht(i),!0),v(Ue,vt(),!0);const f=i.mellea;f&&f.failed&&f.failed.length>0&&f.attempts&&f.attempts>=c&&v(P,"grounding")},onError:i=>{const _=i.toLowerCase();(_.includes("connection")||_.includes("502")||_.includes("503")||_.includes("timeout")||_.includes("routing"))&&v(P,"backend")},onDone:()=>{var i,_,f,N,S;v(m,!0),a(G)!=null&&v(j,(Date.now()-a(G))/1e3),!a(h)&&!a(P)&&a(E)&&v(P,"all-silent"),!a(P)&&a(ee).length>0&&(Jt({queryId:a(t),queryText:a(r)(),intent:((i=a(s))==null?void 0:i.intent)??null,specialists:((f=(_=a(s))==null?void 0:_.specialists)==null?void 0:f.length)??0,blocks:a(ee),citations:a(ae),generatedAt:new Date().toISOString(),attempts:((S=(N=a(p))==null?void 0:N.mellea)==null?void 0:S.attempts)??a(l)}),Qe.markReady())}});return()=>u.close()});var Ie=nr(),Ge=x(Ie),Ce=x(Ge),Me=x(Ce),qe=x(Me),yt=$(x(qe),2);{var bt=u=>{var i=Bn(),_=x(i),f=$(_);{var N=S=>{var g=Et("· ✓ done");q(S,g)};H(f,S=>{a(m)&&S(N)})}b(i),W(()=>{var S;return R(_,`intent: ${a(s).intent??""} · ${((S=a(s).specialists)==null?void 0:S.length)??0??""} specialists · attempt ${a(l)??""} `)}),q(u,i)},wt=u=>{var i=Hn();q(u,i)};H(yt,u=>{a(s)?u(bt):u(wt,-1)})}b(qe);var Fe=$(qe,2),We=$(x(Fe)),xt=x(We,!0);b(We),b(Fe);var St=$(Fe,2);{var kt=u=>{on(u,{get state(){return a(P)}})},$t=u=>{var i=Xn(),_=ye(i);{var f=y=>{var A=Gn(),z=ye(A);nn(z,{get attempt(){return a(l)},max:c});var J=$(z,2);{var D=B=>{var V=Un(),ve=x(V),ge=x(ve);b(ve),b(V),W(Pe=>R(ge,`${Pe??""}…`),[()=>a(Y).slice(0,360)]),q(B,V)};H(J,B=>{a(Y)&&B(D)})}q(y,A)};H(_,y=>{a(l)>1&&y(f)})}var N=$(_,2);{var S=y=>{var A=Kn(),z=ye(A);Rt(z,{get blocks(){return a(ee)},get citations(){return a(ae)},streaming:!1});var J=$(z,2);{var D=B=>{var V=Wn();q(B,V)};H(J,B=>{a(m)||B(D)})}q(y,A)},g=y=>{en(y)},M=y=>{var A=Vn(),z=$(x(A),2);{var J=D=>{var B=Jn(),V=x(B),ve=x(V);b(V);var ge=$(V,2),Pe=x(ge,!0);b(ge),b(B),W(()=>{R(ve,`Planner streaming (${a(d).length??""} chars)`),R(Pe,a(d))}),q(D,B)};H(z,D=>{a(d)&&D(J)})}b(A),q(y,A)},I=y=>{var A=Zn();q(y,A)};H(N,y=>{a(ee).length?y(S):a(E)&&!a(h)?y(g,1):a(s)?y(I,-1):y(M,2)})}q(u,i)};H(St,u=>{a(P)?u(kt):u($t,-1)})}b(Me);var Ke=$(Me,2),Le=x(Ke),Ee=x(Le),At=$(x(Ee),2);{var Nt=u=>{var i=Qn(),_=x(i);b(i),W((f,N)=>R(_,`Carto Positron · z15 · ${f??""}°N ${N??""}°W`),[()=>a(K).lat.toFixed(4),()=>Math.abs(a(K).lon).toFixed(4)]),q(u,i)},Tt=u=>{var i=er();q(u,i)};H(At,u=>{a(K)?u(Nt):u(Tt,-1)})}b(Ee);var It=$(Ee,2);{var Ct=u=>{var i=tr(),_=x(i);Ut(_,{get address(){return a(K)},get activeLayers(){return a(ie)},get sandyEmpirical(){return a(pe)},get depModeled(){return a(fe)},get syntheticPrior(){return a(me)},get proxy311(){return a(_e)},get registerPoints(){return a(He)},get registerPolygons(){return a(Ue)},get linkedKey(){return a(Q)}});var f=$(_,2);Gt(f,{get active(){return a(ie)},get featureCounts(){return a(F)},onToggle:N=>v(ie,{...a(ie),[N]:!a(ie)[N]},!0)}),b(i),q(u,i)};H(It,u=>{a(K)&&u(Ct)})}b(Le);var Je=$(Le,2),Mt=x(Je);Bt(Mt,{get citations(){return a(ae)}}),b(Je),b(Ke),b(Ce);var Ve=$(Ce,2),Ze=x(Ve),qt=x(Ze);Ht(qt,{get data(){return a(de)},density:Ae,provenanceMode:Ne,get showGrammar(){return a(ce)},get linkedKey(){return a(Q)},onLink:ft,onCite:mt}),b(Ze),b(Ve),b(Ge),b(Ie),W(u=>R(xt,u),[()=>a(r)()]),q(n,Ie),Ot()}export{fr as component,pr as universal};
web/sveltekit/build/_app/immutable/nodes/{5.CAXEzxjD.js → 6.D9P7fTed.js} RENAMED
@@ -1 +1 @@
1
- import{d as z,b as V,a as U,f as q,s as j}from"../chunks/Dlpu43Tj.js";import{p as Z,K as X,l as d,j as l,L as Q,G as J,t as $,a as ee,s as r,c as e,k as i,r as t,J as te}from"../chunks/DwbuJhNu.js";import{B as ie}from"../chunks/Cl16PtNL.js";import{f as re,R as ae,M as ne,C as se,F as oe}from"../chunks/Bu5KOiaf.js";import{p as de,b as M}from"../chunks/DNaFzQeI.js";const le=!0,fe=Object.freeze(Object.defineProperty({__proto__:null,prerender:le},Symbol.toStringTag,{value:"Module"})),R="80 Pioneer Street · Red Hook · Brooklyn",y={c1:{id:"c1",n:1,tier:"empirical",source:"USGS",title:"Hurricane Sandy storm tide elevations, NY-NJ Harbor",docId:"USGS-OFR-2013-1234",url:"https://pubs.usgs.gov/of/2013/1234/",vintage:"2013-05",retrieved:"2026-04-28"},c2:{id:"c2",n:2,tier:"empirical",source:"NYC OEM",title:"Hurricane Sandy Inundation Zone (2012)",docId:"NYCOEM-SIZ-2013",url:"https://data.cityofnewyork.us/dataset/sandy-inundation-zone",vintage:"2013-01",retrieved:"2026-04-28"},c3:{id:"c3",n:3,tier:"empirical",source:"FloodNet NYC",title:"Sensor BK-RH-002 — Coffey Park, monthly exceedance",docId:"FN-BK-RH-002",url:"https://floodnet.nyc/sensor/BK-RH-002",vintage:"2026-04",retrieved:"2026-05-02"},c4:{id:"c4",n:4,tier:"modeled",source:"FEMA",title:"Preliminary Flood Insurance Rate Map, panel 36047C0207G",docId:"FEMA-FIRM-36047C0207G",url:"https://msc.fema.gov/portal/search",vintage:"2024-09",retrieved:"2026-04-28"},c5:{id:"c5",n:5,tier:"modeled",source:"NYC DEP",title:"Stormwater Flood Map — Moderate Stormwater Scenario",docId:"NYCDEP-SWFM-2024",url:"https://nyc.gov/stormwater-map",vintage:"2024-06",retrieved:"2026-04-28"},c6:{id:"c6",n:6,tier:"modeled",source:"NPCC4",title:"Sea-level rise projections, 2050 90th percentile",docId:"NPCC4-Ch3-Tbl3.2",url:"https://nyas.org/npcc4",vintage:"2024-03",retrieved:"2026-04-28"},c7:{id:"c7",n:7,tier:"proxy",source:"NYC 311",title:"Flooding service requests, BK CB6 2019–2025",docId:"NYC311-FLD-CB6",url:"https://data.cityofnewyork.us/311",vintage:"2025-12",retrieved:"2026-05-01"},c8:{id:"c8",n:8,tier:"proxy",source:"FEMA NFIP",title:"National Flood Insurance Program claims, tract 36047008500",docId:"NFIP-T36047008500",url:"https://www.fema.gov/openfema",vintage:"2024-12",retrieved:"2026-04-28"},c9:{id:"c9",n:9,tier:"synthetic",source:"TerraMind v1.2",title:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded)",docId:"RIPRAP-SYN-20250914",url:"#methodology-synthetic",vintage:"2025-09",retrieved:"2026-05-02"},c10:{id:"c10",n:10,tier:"modeled",source:"NYC DCP",title:"Waterfront Revitalization Program — Coastal Risk Area",docId:"NYCDCP-WRP-2022",url:"https://nyc.gov/dcp/wrp",vintage:"2022-11",retrieved:"2026-04-28"}},x=[{kind:"status",html:'<p class="briefing-deck"><strong>80 Pioneer Street, Red Hook, Brooklyn 11231.</strong> Block 597, Lot 30. Industrial Business Zone (IBZ-RH). Queried 2026-05-02 14:22 ET. <span class="briefing-meta">Briefing v0.4.2 · 9 specialists fired · 1 silent (TidalGauge: out of range)</span></p>'},{kind:"head",n:"01",label:"Status",title:"Coastal-edge, post-Sandy, multi-hazard"},{kind:"prose",parts:[{tier:"empirical",text:"The address sits 380 ft inland of the Erie Basin bulkhead, at a ground elevation of 6.2 ft NAVD88",cite:"c1"},{text:" — within the "},{tier:"empirical",text:"2012 Sandy Inundation Zone, which recorded a peak storm tide of 11.4 ft NAVD88 at the Battery",cite:"c2"},{text:" 2.4 mi to the northwest. "},{tier:"modeled",text:"FEMA's preliminary FIRM places the parcel in Zone AE (BFE 11 ft NAVD88)",cite:"c4"},{text:", a 4.8 ft freeboard above current grade. The site is upgradient of two FloodNet sensors and three blocks from a chronic 311 cluster."}]},{kind:"head",n:"02",label:"Empirical evidence",tier:"empirical"},{kind:"prose",parts:[{tier:"empirical",text:"FloodNet sensor BK-RH-002 (Coffey Park, 1,200 ft south) recorded 7 above-curb events between 2024-06 and 2026-04",cite:"c3"},{text:", with a peak depth of 14.3 cm during the 2025-09-29 nor'easter. "},{tier:"empirical",text:"USGS post-Sandy high-water marks within 500 ft cluster between 6.8 and 8.1 ft NAVD88",cite:"c1"},{text:", consistent with 0.6–1.9 ft of standing water at the queried address during the storm."}]},{kind:"head",n:"03",label:"Modeled scenarios",tier:"modeled"},{kind:"prose",parts:[{tier:"modeled",text:"DEP's Moderate Stormwater Scenario (2.13 in/hr design storm) shows ponding ≥4 in across the western half of the lot",cite:"c5"},{text:", routed by the 1.2% slope toward Imlay St. "},{tier:"modeled",text:"Under NPCC4's 2050 90th-percentile sea-level rise (30 in)",cite:"c6"},{text:", the parcel falls within the projected daily-tidal floodplain by mid-century. "},{tier:"synthetic",text:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded) was generated by TerraMind v1.2 and is presented as a prior, not an observation",cite:"c9"},{text:"; treat with appropriate caution."}]},{kind:"head",n:"04",label:"Policy context"},{kind:"prose",parts:[{tier:"proxy",text:"311 flood complaints within the surrounding census tract total 89 calls over 2019–2025, with seasonal clustering in Aug–Oct",cite:"c7"},{text:". "},{tier:"proxy",text:"NFIP claims aggregated to tract 36047008500 total $4.1M across 47 paid losses since 2000",cite:"c8"},{text:". "},{tier:"modeled",text:"The site lies within the NYC Waterfront Revitalization Program Coastal Risk Area; CEQR §817 review applies to any discretionary action",cite:"c10"},{text:"."}]}],ce={wallSeconds:14,cacheHit:.92,cards:[{id:"fc-fema",stone:"cornerstone",tier:"modeled",variant:"headline",source:"FEMA",agency:"Federal Emergency Management Agency",vintage:"2024-09",title:"Preliminary FIRM, panel 36047C0207G",headline:"Zone AE",subhead:"BFE 11 ft NAVD88 · freeboard +4.8 ft",body:"Address sits within the regulatory 1% annual-chance floodplain. Base Flood Elevation 11.0 ft NAVD88; first floor must be at or above this datum for NFIP rating.",docId:"FEMA-FIRM-36047C0207G",citeId:"c4",mapLayer:"fema-ae"},{id:"fc-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"U.S. Geological Survey",vintage:"2013-05",title:"Post-Sandy high-water marks within 500 ft",columns:["id","elev.","dist."],rows:[["HWM-NY-3081","7.4 ft NAVD88","0.18 mi"],["HWM-NY-3082","8.1 ft NAVD88","0.22 mi"],["HWM-NY-3105","6.8 ft NAVD88","0.31 mi"]],sub:"3 marks · max 8.1 ft · surveyed Nov 2012",docId:"USGS-OFR-2013-1234",citeId:"c1",mapLayer:"hwm"},{id:"fc-stormwater",stone:"cornerstone",tier:"modeled",variant:"raster",source:"NYC DEP",agency:"NYC Dept. of Environmental Protection",vintage:"2024-06",title:"Stormwater Flood Map · moderate scenario",rasterKind:"stormwater",sub:"2.13 in/hr · ponding ≥4 in W half of lot · routed toward Imlay St",docId:"NYCDEP-SWFM-2024",citeId:"c5",mapLayer:"stormwater"},{id:"fc-register-rh",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:"2026-05",title:"Nearby exposed assets",registers:[{reg:"MTA",tier:"empirical",label:"Smith–9 St subway entrance",detail:"0.34 mi · F · G",sourceId:"MTA-ENT-N048",vintage:"2025-11",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook East Houses",detail:"0.41 mi · 2,878 res.",sourceId:"NYCHA-RHE",vintage:"2025-Q3",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook West Houses",detail:"0.52 mi · 3,142 res.",sourceId:"NYCHA-RHW",vintage:"2025-Q3",note:null},{reg:"DOE",tier:"empirical",label:"PS 27 Agnes Y. Humphrey",detail:"0.29 mi · 271 K-5",sourceId:"DOE-K027",vintage:"2024-25",note:null},{reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,vintage:null,note:"no acute-care hospital within 1.0 mi (silent)"},{reg:"PLUTO",tier:"empirical",label:"Lot 36047 / 521 / 7",detail:"BIN 3018472 · MX-1",sourceId:"PLUTO-2024v2",vintage:"2024-12",note:null}],sub:"5 of 6 registers fired · 1 silent · joined within 1.0 mi",docId:"RIPRAP-EXP-RH80",citeId:"c-reg-rh",mapLayer:"registers"},{id:"fc-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC sensor network",vintage:"2026-04",title:"Sensor BK-RH-002, monthly above-curb events",headline:"7 events",subhead:"Jun 2024 → Apr 2026 · peak 14.3 cm",spark:[0,0,1,0,2,1,0,0,3,0,1,0,0,0,2,1,0,0,1,0,2,4,1,1],sparkSub:"Sensor located 0.21 mi N at Coffey & Van Brunt. Above-curb depth in cm; events ≥2 cm.",docId:"FN-BK-RH-002",citeId:"c3",mapLayer:"floodnet"},{id:"fc-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests",vintage:"2025-12",title:"Recent 311 flood complaints, BK CB6",headline:"89 calls",subhead:"2019–2025 · seasonal cluster Aug–Oct",histogram:[3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0],sparkSub:"Filtered to complaint types: Sewer (Backup), Street Flooding, Catch Basin Clogged. Within 200 m of address.",docId:"NYC311-FLD-CB6",citeId:"c7",mapLayer:"complaints"},{id:"fc-prithvi-pluvial",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC-Pluvial",agency:"NASA-IBM Prithvi v2 · NYC fine-tune",vintage:"2026-05-02 · Sentinel-2",title:"Pluvial flood prediction · Prithvi-NYC-Pluvial",rasterKind:"prithvi",headline:"0.3% flooded",subhead:"no flooding apparent · scene 2026-05-02",sub:"Model interpretation of imagery, not real-time observation. Confidence-mean 0.84 across non-flooded pixels.",docId:"PRITHVI-NYC-PLUV-V2-20260502",citeId:"c-prithvi",illustrative:!0,mapLayer:"prithvi-pluvial"},{id:"fc-terramind-lulc",stone:"touchstone",tier:"synthetic",variant:"lulc",source:"TerraMind v1.2",agency:"IBM TerraMind v1.2 · Sentinel-2 inputs",vintage:"Sentinel-2 · 2024-09-18",title:"Land use / land cover · TerraMind v1.2",rasterKind:"lulc",classMix:[{k:"urban",pct:62,color:"#C66"},{k:"water",pct:18,color:"#5B7FB4"},{k:"vegetation",pct:12,color:"#5B8A4A"},{k:"barren",pct:6,color:"#A89A78"},{k:"wetland",pct:2,color:"#D9C75A"}],sub:"Synthetic prior. LULC palette is a layer convention, not a tier signal.",docId:"TERRAMIND-LULC-20240918",citeId:"c-tm-lulc",illustrative:!0,mapLayer:"terramind-lulc"},{id:"fc-nws",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS KNYC",agency:"NOAA · National Weather Service",vintage:"2026-05-05",title:"Current weather, station KNYC",scalars:[{value:"0.02 in",label:"precip · last 24h"},{value:"67°F",label:"temp · current"},{value:"PC",label:"conditions"}],sub:"Observation timestamp 2026-05-05 14:18 ET. Central Park station; not point-of-query.",docId:"NWS-KNYC",citeId:"c-nws",mapLayer:"nws"},{id:"fc-ttm-surge",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2 (zero-shot)",agency:"IBM Granite-TimeSeries · regional",vintage:"2026-05-05 12:00 ET",title:"Storm surge nowcast at The Battery — 9.6 h horizon (regional)",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:"+47 cm @ +38h"},headline:"+47 cm",subhead:"peak surge residual · 9.6h horizon · 6-min cadence",sub:"Regional disclosure. Nowcast applies city-wide via NOAA station 8518750. Distinct from the fine-tuned Battery surge nowcast.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery_surge_zeroshot",citeId:"c-ttm",mapLayer:null},{id:"fc-ttm-surge-ft",stone:"lodestone",tier:"modeled",variant:"timeseries-ft",source:"msradam/Granite-TTM-r2-Battery-Surge",agency:"Granite TTM r2 · NYC-specialized fine-tune",vintage:"2026-05-05 12:00 ET",title:"Storm surge nowcast at The Battery — 96 h horizon (NYC-specialized fine-tune)",timeseries:{hours:96,peak:{x:38,y:53},peakLabel:"+53 cm @ +38h"},headline:"+53 cm",subhead:"peak surge · 96h horizon · hourly cadence",sub:"Fine-tuned on NYC tide-gauge history. Trained on AMD MI300X.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery_surge_finetune",citeId:"c-ttm-ft",mapLayer:null,hfModelCard:"huggingface.co/msradam/Granite-TTM-r2-Battery-Surge",rmse:"0.157 m",skillVsPersistence:"−35% vs persistence",hardwareBadge:"MI300X"},{id:"fc-npcc4",stone:"lodestone",tier:"modeled",variant:"forecast",source:"NPCC4",agency:"NYC Panel on Climate Change, 4th Assessment",vintage:"2024-03",title:"Sea-level rise projections, Lower NY Harbor",forecast:[{year:2030,low:4,mid:6,high:9},{year:2050,low:13,mid:22,high:30},{year:2080,low:28,mid:49,high:75},{year:2100,low:38,mid:71,high:114}],sub:"inches MSL · 17th–83rd %ile range, median line. Battery tide-gauge baseline.",docId:"NPCC4-Ch3-Tbl3.2",citeId:"c6",mapLayer:null},{id:"fc-mellea-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · grounding check",vintage:"2026-05-05 14:22 ET",title:"Briefing reconciliation",metaRows:[{k:"mellea reroll",v:"1 reroll"},{k:"grounding checks",v:"4/4 passed"},{k:"citations resolved",v:"4"},{k:"wall-clock",v:"24.0 s"}],sub:"Capstone produces prose, not cards. This meta-card summarizes the reconciler chain that wrote the four-section briefing above.",docId:"RIPRAP-CAP-RH80",citeId:null,mapLayer:null}],stones:[{key:"cornerstone",members:[{id:"CORN-001",name:"sandy_inundation",status:"fired",tier:"empirical",ms:412},{id:"CORN-002",name:"dep_stormwater",status:"fired",tier:"modeled",ms:540},{id:"CORN-003",name:"ida_hwm_2021",status:"fired",tier:"empirical",ms:612},{id:"CORN-004",name:"prithvi_eo_v2",status:"fired",tier:"modeled",ms:980},{id:"CORN-005",name:"microtopo_lidar",status:"fired",tier:"proxy",ms:1240}]},{key:"keystone",members:[{id:"KEY-001",name:"mta_entrance_exposure",status:"silent_by_design",tier:"empirical",ms:30,note:"no entrances within radius"},{id:"KEY-002",name:"nycha_development_exposure",status:"silent_by_design",tier:"empirical",ms:28,note:"no NYCHA developments within 1.0 mi"},{id:"KEY-003",name:"doe_school_exposure",status:"silent_by_design",tier:"empirical",ms:24,note:"no DOE schools within 1.0 mi"},{id:"KEY-004",name:"doh_hospital_exposure",status:"silent_by_design",tier:"empirical",ms:22,note:"no acute-care hospitals within 1.0 mi"}]},{key:"touchstone",members:[{id:"TCH-001",name:"floodnet",status:"fired",tier:"empirical",ms:285},{id:"TCH-002",name:"nyc311",status:"fired",tier:"proxy",ms:410},{id:"TCH-003",name:"nws_obs",status:"fired",tier:"empirical",ms:240},{id:"TCH-004",name:"noaa_tides",status:"fired",tier:"empirical",ms:196},{id:"TCH-005",name:"prithvi_eo_live",status:"fired",tier:"modeled",ms:4920},{id:"TCH-006",name:"terramind_lulc",status:"fired",tier:"synthetic",ms:2100}]},{key:"lodestone",members:[{id:"LOD-001",name:"nws_alerts",status:"fired",tier:"modeled",ms:110},{id:"LOD-002",name:"ttm_forecast",status:"fired",tier:"modeled",ms:1500},{id:"LOD-003",name:"ttm_battery_surge",status:"fired",tier:"modeled",ms:1480},{id:"LOD-004",name:"floodnet_forecast",status:"silent_by_design",tier:"modeled",ms:14,note:"sensor has only 2 historical events; forecast omitted (silent-floor: 5)"},{id:"LOD-005",name:"ttm_311_forecast",status:"errored",tier:"modeled",ms:0,note:"311 history fetch failed: HTTP 503 at NYC OpenData (3 retries)"}]},{key:"capstone",members:[{id:"CAP-001",name:"rag_granite_embedding",status:"fired",tier:"proxy",ms:410},{id:"CAP-002",name:"gliner_extract",status:"fired",tier:"proxy",ms:280},{id:"CAP-003",name:"reconcile_granite41",status:"fired",tier:"modeled",ms:6240}]}].map(a=>({key:a.key,members:re(a.key,a.members)}))};var me=q('<section class="hero-band"><div class="hero-band-inner"><div class="app-shell-top is-desktop"><main id="region-briefing" class="app-region app-region-brief" aria-labelledby="brief-h1"><header class="region-head"><span class="section-label">Briefing</span> <button type="button" class="region-action" aria-label="Replay streaming">↻ replay stream</button></header> <h1 id="brief-h1" class="brief-h1">Flood-exposure briefing <span class="brief-h1-addr"> </span></h1> <!></main> <div class="app-region-side" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map" aria-label="Map region"><header class="region-head"><span class="section-label">Map</span> <span class="region-head-meta">Carto Positron · z15 · 40.6776°N 74.0096°W</span></header> <div style="position: relative; flex: 1; min-height: 0;"><!> <!></div></aside> <aside id="region-cites" class="app-region app-region-cites" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom"><section class="app-region app-region-findings" aria-label="Findings"><!></section></div></div></section>');function ye(a,T){Z(T,!0);let c=l(null),F="comfortable",B="smart",b=l(!1);X(()=>{typeof window<"u"&&d(b,new URL(window.location.href).searchParams.get("grammar")==="1")});function Y(o){d(c,o,!0)}function E(o){const s=document.getElementById("region-cites");s&&s.scrollIntoView({behavior:"smooth",block:"start"})}let n=l(Q({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),m=l(0);J(()=>(de({queryId:"sample",queryText:R,intent:"single_address",specialists:9,blocks:x,citations:y,generatedAt:new Date().toISOString(),attempts:1}),M.markReady(),()=>M.reset()));const L={label:"80 Pioneer St",lat:40.6776,lon:-74.0096},C={type:"FeatureCollection",features:[{type:"Feature",properties:{source:"sample-fixture",tier:"synthetic"},geometry:{type:"Polygon",coordinates:[[[-74.014,40.679],[-74.007,40.68],[-74.005,40.677],[-74.009,40.6755],[-74.014,40.679]]]}}]};var u=me(),N=e(u),p=e(N),h=e(p),g=e(h),D=r(e(g),2);t(g);var v=r(g,2),w=r(e(v)),H=e(w,!0);t(w),t(v);var O=r(v,2);ie(O,{get blocks(){return x},get citations(){return y},streaming:!0,get replayKey(){return i(m)}}),t(h);var I=r(h,2),f=e(I),S=r(e(f),2),k=e(S);ae(k,{get address(){return L},get activeLayers(){return i(n)},get syntheticPrior(){return C},get linkedKey(){return i(c)}});var K=r(k,2);{let o=te(()=>({empirical:0,modeled:0,synthetic:C.features.length,proxy:0}));ne(K,{get active(){return i(n)},get featureCounts(){return i(o)},onToggle:s=>d(n,{...i(n),[s]:!i(n)[s]},!0)})}t(S),t(f);var _=r(f,2),G=e(_);se(G,{get citations(){return y}}),t(_),t(I),t(p);var P=r(p,2),A=e(P),W=e(A);oe(W,{get data(){return ce},density:F,provenanceMode:B,get showGrammar(){return i(b)},get linkedKey(){return i(c)},onLink:Y,onCite:E}),t(A),t(P),t(N),t(u),$(()=>j(H,R)),V("click",D,()=>d(m,i(m)+1)),U(a,u),ee()}z(["click"]);export{ye as component,fe as universal};
 
1
+ import{d as W,b as V,a as U,f as q,s as j}from"../chunks/CBok_DXr.js";import{p as Z,K as X,B as d,z as l,L as Q,F as $,t as J,a as ee,s as r,c as e,A as i,r as t,I as te}from"../chunks/Db2Wa-jW.js";import{B as ie}from"../chunks/BSbUSrHo.js";import{f as re,R as ae,M as ne,C as se,F as oe}from"../chunks/BY5fDKuw.js";import{p as de,b as M}from"../chunks/CXzWUZJN.js";const le=!0,fe=Object.freeze(Object.defineProperty({__proto__:null,prerender:le},Symbol.toStringTag,{value:"Module"})),R="80 Pioneer Street · Red Hook · Brooklyn",y={c1:{id:"c1",n:1,tier:"empirical",source:"USGS",title:"Hurricane Sandy storm tide elevations, NY-NJ Harbor",docId:"USGS-OFR-2013-1234",url:"https://pubs.usgs.gov/of/2013/1234/",vintage:"2013-05",retrieved:"2026-04-28"},c2:{id:"c2",n:2,tier:"empirical",source:"NYC OEM",title:"Hurricane Sandy Inundation Zone (2012)",docId:"NYCOEM-SIZ-2013",url:"https://data.cityofnewyork.us/dataset/sandy-inundation-zone",vintage:"2013-01",retrieved:"2026-04-28"},c3:{id:"c3",n:3,tier:"empirical",source:"FloodNet NYC",title:"Sensor BK-RH-002 — Coffey Park, monthly exceedance",docId:"FN-BK-RH-002",url:"https://floodnet.nyc/sensor/BK-RH-002",vintage:"2026-04",retrieved:"2026-05-02"},c4:{id:"c4",n:4,tier:"modeled",source:"FEMA",title:"Preliminary Flood Insurance Rate Map, panel 36047C0207G",docId:"FEMA-FIRM-36047C0207G",url:"https://msc.fema.gov/portal/search",vintage:"2024-09",retrieved:"2026-04-28"},c5:{id:"c5",n:5,tier:"modeled",source:"NYC DEP",title:"Stormwater Flood Map — Moderate Stormwater Scenario",docId:"NYCDEP-SWFM-2024",url:"https://nyc.gov/stormwater-map",vintage:"2024-06",retrieved:"2026-04-28"},c6:{id:"c6",n:6,tier:"modeled",source:"NPCC4",title:"Sea-level rise projections, 2050 90th percentile",docId:"NPCC4-Ch3-Tbl3.2",url:"https://nyas.org/npcc4",vintage:"2024-03",retrieved:"2026-04-28"},c7:{id:"c7",n:7,tier:"proxy",source:"NYC 311",title:"Flooding service requests, BK CB6 2019–2025",docId:"NYC311-FLD-CB6",url:"https://data.cityofnewyork.us/311",vintage:"2025-12",retrieved:"2026-05-01"},c8:{id:"c8",n:8,tier:"proxy",source:"FEMA NFIP",title:"National Flood Insurance Program claims, tract 36047008500",docId:"NFIP-T36047008500",url:"https://www.fema.gov/openfema",vintage:"2024-12",retrieved:"2026-04-28"},c9:{id:"c9",n:9,tier:"synthetic",source:"TerraMind v1.2",title:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded)",docId:"RIPRAP-SYN-20250914",url:"#methodology-synthetic",vintage:"2025-09",retrieved:"2026-05-02"},c10:{id:"c10",n:10,tier:"modeled",source:"NYC DCP",title:"Waterfront Revitalization Program — Coastal Risk Area",docId:"NYCDCP-WRP-2022",url:"https://nyc.gov/dcp/wrp",vintage:"2022-11",retrieved:"2026-04-28"}},x=[{kind:"status",html:'<p class="briefing-deck"><strong>80 Pioneer Street, Red Hook, Brooklyn 11231.</strong> Block 597, Lot 30. Industrial Business Zone (IBZ-RH). Queried 2026-05-02 14:22 ET. <span class="briefing-meta">Briefing v0.4.2 · 9 specialists fired · 1 silent (TidalGauge: out of range)</span></p>'},{kind:"head",n:"01",label:"Status",title:"Coastal-edge, post-Sandy, multi-hazard"},{kind:"prose",parts:[{tier:"empirical",text:"The address sits 380 ft inland of the Erie Basin bulkhead, at a ground elevation of 6.2 ft NAVD88",cite:"c1"},{text:" — within the "},{tier:"empirical",text:"2012 Sandy Inundation Zone, which recorded a peak storm tide of 11.4 ft NAVD88 at the Battery",cite:"c2"},{text:" 2.4 mi to the northwest. "},{tier:"modeled",text:"FEMA's preliminary FIRM places the parcel in Zone AE (BFE 11 ft NAVD88)",cite:"c4"},{text:", a 4.8 ft freeboard above current grade. The site is upgradient of two FloodNet sensors and three blocks from a chronic 311 cluster."}]},{kind:"head",n:"02",label:"Empirical evidence",tier:"empirical"},{kind:"prose",parts:[{tier:"empirical",text:"FloodNet sensor BK-RH-002 (Coffey Park, 1,200 ft south) recorded 7 above-curb events between 2024-06 and 2026-04",cite:"c3"},{text:", with a peak depth of 14.3 cm during the 2025-09-29 nor'easter. "},{tier:"empirical",text:"USGS post-Sandy high-water marks within 500 ft cluster between 6.8 and 8.1 ft NAVD88",cite:"c1"},{text:", consistent with 0.6–1.9 ft of standing water at the queried address during the storm."}]},{kind:"head",n:"03",label:"Modeled scenarios",tier:"modeled"},{kind:"prose",parts:[{tier:"modeled",text:"DEP's Moderate Stormwater Scenario (2.13 in/hr design storm) shows ponding ≥4 in across the western half of the lot",cite:"c5"},{text:", routed by the 1.2% slope toward Imlay St. "},{tier:"modeled",text:"Under NPCC4's 2050 90th-percentile sea-level rise (30 in)",cite:"c6"},{text:", the parcel falls within the projected daily-tidal floodplain by mid-century. "},{tier:"synthetic",text:"Synthetic SAR backscatter for 2025-09-14 (Sentinel-1 cloud-occluded) was generated by TerraMind v1.2 and is presented as a prior, not an observation",cite:"c9"},{text:"; treat with appropriate caution."}]},{kind:"head",n:"04",label:"Policy context"},{kind:"prose",parts:[{tier:"proxy",text:"311 flood complaints within the surrounding census tract total 89 calls over 2019–2025, with seasonal clustering in Aug–Oct",cite:"c7"},{text:". "},{tier:"proxy",text:"NFIP claims aggregated to tract 36047008500 total $4.1M across 47 paid losses since 2000",cite:"c8"},{text:". "},{tier:"modeled",text:"The site lies within the NYC Waterfront Revitalization Program Coastal Risk Area; CEQR §817 review applies to any discretionary action",cite:"c10"},{text:"."}]}],ce={wallSeconds:14,cacheHit:.92,cards:[{id:"fc-fema",stone:"cornerstone",tier:"modeled",variant:"headline",source:"FEMA",agency:"Federal Emergency Management Agency",vintage:"2024-09",title:"Preliminary FIRM, panel 36047C0207G",headline:"Zone AE",subhead:"BFE 11 ft NAVD88 · freeboard +4.8 ft",body:"Address sits within the regulatory 1% annual-chance floodplain. Base Flood Elevation 11.0 ft NAVD88; first floor must be at or above this datum for NFIP rating.",docId:"FEMA-FIRM-36047C0207G",citeId:"c4",mapLayer:"fema-ae"},{id:"fc-hwm",stone:"cornerstone",tier:"empirical",variant:"tabular",source:"USGS",agency:"U.S. Geological Survey",vintage:"2013-05",title:"Post-Sandy high-water marks within 500 ft",columns:["id","elev.","dist."],rows:[["HWM-NY-3081","7.4 ft NAVD88","0.18 mi"],["HWM-NY-3082","8.1 ft NAVD88","0.22 mi"],["HWM-NY-3105","6.8 ft NAVD88","0.31 mi"]],sub:"3 marks · max 8.1 ft · surveyed Nov 2012",docId:"USGS-OFR-2013-1234",citeId:"c1",mapLayer:"hwm"},{id:"fc-stormwater",stone:"cornerstone",tier:"modeled",variant:"raster",source:"NYC DEP",agency:"NYC Dept. of Environmental Protection",vintage:"2024-06",title:"Stormwater Flood Map · moderate scenario",rasterKind:"stormwater",sub:"2.13 in/hr · ponding ≥4 in W half of lot · routed toward Imlay St",docId:"NYCDEP-SWFM-2024",citeId:"c5",mapLayer:"stormwater"},{id:"fc-register-rh",stone:"keystone",tier:"empirical",variant:"register",source:"NYC OpenData",agency:"NYC OpenData · multi-agency join",vintage:"2026-05",title:"Nearby exposed assets",registers:[{reg:"MTA",tier:"empirical",label:"Smith–9 St subway entrance",detail:"0.34 mi · F · G",sourceId:"MTA-ENT-N048",vintage:"2025-11",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook East Houses",detail:"0.41 mi · 2,878 res.",sourceId:"NYCHA-RHE",vintage:"2025-Q3",note:null},{reg:"NYCHA",tier:"empirical",label:"Red Hook West Houses",detail:"0.52 mi · 3,142 res.",sourceId:"NYCHA-RHW",vintage:"2025-Q3",note:null},{reg:"DOE",tier:"empirical",label:"PS 27 Agnes Y. Humphrey",detail:"0.29 mi · 271 K-5",sourceId:"DOE-K027",vintage:"2024-25",note:null},{reg:"DOH",tier:"empirical",label:null,detail:null,sourceId:null,vintage:null,note:"no acute-care hospital within 1.0 mi (silent)"},{reg:"PLUTO",tier:"empirical",label:"Lot 36047 / 521 / 7",detail:"BIN 3018472 · MX-1",sourceId:"PLUTO-2024v2",vintage:"2024-12",note:null}],sub:"5 of 6 registers fired · 1 silent · joined within 1.0 mi",docId:"RIPRAP-EXP-RH80",citeId:"c-reg-rh",mapLayer:"registers"},{id:"fc-floodnet",stone:"touchstone",tier:"empirical",variant:"spark",source:"FloodNet",agency:"FloodNet NYC sensor network",vintage:"2026-04",title:"Sensor BK-RH-002, monthly above-curb events",headline:"7 events",subhead:"Jun 2024 → Apr 2026 · peak 14.3 cm",spark:[0,0,1,0,2,1,0,0,3,0,1,0,0,0,2,1,0,0,1,0,2,4,1,1],sparkSub:"Sensor located 0.21 mi N at Coffey & Van Brunt. Above-curb depth in cm; events ≥2 cm.",docId:"FN-BK-RH-002",citeId:"c3",mapLayer:"floodnet"},{id:"fc-311",stone:"touchstone",tier:"proxy",variant:"histogram",source:"NYC 311",agency:"NYC 311 service requests",vintage:"2025-12",title:"Recent 311 flood complaints, BK CB6",headline:"89 calls",subhead:"2019–2025 · seasonal cluster Aug–Oct",histogram:[3,2,1,0,1,4,7,12,18,11,5,3,4,2,1,0,2,3,8,9,4,2,1,0],sparkSub:"Filtered to complaint types: Sewer (Backup), Street Flooding, Catch Basin Clogged. Within 200 m of address.",docId:"NYC311-FLD-CB6",citeId:"c7",mapLayer:"complaints"},{id:"fc-prithvi-pluvial",stone:"touchstone",tier:"modeled",variant:"raster-pred",source:"Prithvi-NYC-Pluvial",agency:"NASA-IBM Prithvi v2 · NYC fine-tune",vintage:"2026-05-02 · Sentinel-2",title:"Pluvial flood prediction · Prithvi-NYC-Pluvial",rasterKind:"prithvi",headline:"0.3% flooded",subhead:"no flooding apparent · scene 2026-05-02",sub:"Model interpretation of imagery, not real-time observation. Confidence-mean 0.84 across non-flooded pixels.",docId:"PRITHVI-NYC-PLUV-V2-20260502",citeId:"c-prithvi",illustrative:!0,mapLayer:"prithvi-pluvial"},{id:"fc-terramind-lulc",stone:"touchstone",tier:"synthetic",variant:"lulc",source:"TerraMind v1.2",agency:"IBM TerraMind v1.2 · Sentinel-2 inputs",vintage:"Sentinel-2 · 2024-09-18",title:"Land use / land cover · TerraMind v1.2",rasterKind:"lulc",classMix:[{k:"urban",pct:62,color:"#C66"},{k:"water",pct:18,color:"#5B7FB4"},{k:"vegetation",pct:12,color:"#5B8A4A"},{k:"barren",pct:6,color:"#A89A78"},{k:"wetland",pct:2,color:"#D9C75A"}],sub:"Synthetic prior. LULC palette is a layer convention, not a tier signal.",docId:"TERRAMIND-LULC-20240918",citeId:"c-tm-lulc",illustrative:!0,mapLayer:"terramind-lulc"},{id:"fc-nws",stone:"touchstone",tier:"empirical",variant:"scalars",source:"NWS KNYC",agency:"NOAA · National Weather Service",vintage:"2026-05-05",title:"Current weather, station KNYC",scalars:[{value:"0.02 in",label:"precip · last 24h"},{value:"67°F",label:"temp · current"},{value:"PC",label:"conditions"}],sub:"Observation timestamp 2026-05-05 14:18 ET. Central Park station; not point-of-query.",docId:"NWS-KNYC",citeId:"c-nws",mapLayer:"nws"},{id:"fc-ttm-surge",stone:"lodestone",tier:"modeled",variant:"timeseries",source:"Granite TTM r2 (zero-shot)",agency:"IBM Granite-TimeSeries · regional",vintage:"2026-05-05 12:00 ET",title:"Storm surge nowcast at The Battery — 9.6 h horizon (regional)",timeseries:{hours:96,peak:{x:38,y:47},peakLabel:"+47 cm @ +38h"},headline:"+47 cm",subhead:"peak surge residual · 9.6h horizon · 6-min cadence",sub:"Regional disclosure. Nowcast applies city-wide via NOAA station 8518750. Distinct from the fine-tuned Battery surge nowcast.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery_surge_zeroshot",citeId:"c-ttm",mapLayer:null},{id:"fc-ttm-surge-ft",stone:"lodestone",tier:"modeled",variant:"timeseries-ft",source:"msradam/Granite-TTM-r2-Battery-Surge",agency:"Granite TTM r2 · NYC-specialized fine-tune",vintage:"2026-05-05 12:00 ET",title:"Storm surge nowcast at The Battery — 96 h horizon (NYC-specialized fine-tune)",timeseries:{hours:96,peak:{x:38,y:53},peakLabel:"+53 cm @ +38h"},headline:"+53 cm",subhead:"peak surge · 96h horizon · hourly cadence",sub:"Fine-tuned on NYC tide-gauge history. Trained on AMD MI300X.",spatialNote:"regional · The Battery, not point-of-query",docId:"ttm_battery_surge_finetune",citeId:"c-ttm-ft",mapLayer:null,hfModelCard:"huggingface.co/msradam/Granite-TTM-r2-Battery-Surge",rmse:"0.157 m",skillVsPersistence:"−35% vs persistence",hardwareBadge:"MI300X"},{id:"fc-npcc4",stone:"lodestone",tier:"modeled",variant:"forecast",source:"NPCC4",agency:"NYC Panel on Climate Change, 4th Assessment",vintage:"2024-03",title:"Sea-level rise projections, Lower NY Harbor",forecast:[{year:2030,low:4,mid:6,high:9},{year:2050,low:13,mid:22,high:30},{year:2080,low:28,mid:49,high:75},{year:2100,low:38,mid:71,high:114}],sub:"inches MSL · 17th–83rd %ile range, median line. Battery tide-gauge baseline.",docId:"NPCC4-Ch3-Tbl3.2",citeId:"c6",mapLayer:null},{id:"fc-mellea-meta",stone:"capstone",tier:"modeled",variant:"meta",source:"Mellea",agency:"Capstone synthesis · grounding check",vintage:"2026-05-05 14:22 ET",title:"Briefing reconciliation",metaRows:[{k:"mellea reroll",v:"1 reroll"},{k:"grounding checks",v:"4/4 passed"},{k:"citations resolved",v:"4"},{k:"wall-clock",v:"24.0 s"}],sub:"Capstone produces prose, not cards. This meta-card summarizes the reconciler chain that wrote the four-section briefing above.",docId:"RIPRAP-CAP-RH80",citeId:null,mapLayer:null}],stones:[{key:"cornerstone",members:[{id:"CORN-001",name:"sandy_inundation",status:"fired",tier:"empirical",ms:412},{id:"CORN-002",name:"dep_stormwater",status:"fired",tier:"modeled",ms:540},{id:"CORN-003",name:"ida_hwm_2021",status:"fired",tier:"empirical",ms:612},{id:"CORN-004",name:"prithvi_eo_v2",status:"fired",tier:"modeled",ms:980},{id:"CORN-005",name:"microtopo_lidar",status:"fired",tier:"proxy",ms:1240}]},{key:"keystone",members:[{id:"KEY-001",name:"mta_entrance_exposure",status:"silent_by_design",tier:"empirical",ms:30,note:"no entrances within radius"},{id:"KEY-002",name:"nycha_development_exposure",status:"silent_by_design",tier:"empirical",ms:28,note:"no NYCHA developments within 1.0 mi"},{id:"KEY-003",name:"doe_school_exposure",status:"silent_by_design",tier:"empirical",ms:24,note:"no DOE schools within 1.0 mi"},{id:"KEY-004",name:"doh_hospital_exposure",status:"silent_by_design",tier:"empirical",ms:22,note:"no acute-care hospitals within 1.0 mi"}]},{key:"touchstone",members:[{id:"TCH-001",name:"floodnet",status:"fired",tier:"empirical",ms:285},{id:"TCH-002",name:"nyc311",status:"fired",tier:"proxy",ms:410},{id:"TCH-003",name:"nws_obs",status:"fired",tier:"empirical",ms:240},{id:"TCH-004",name:"noaa_tides",status:"fired",tier:"empirical",ms:196},{id:"TCH-005",name:"prithvi_eo_live",status:"fired",tier:"modeled",ms:4920},{id:"TCH-006",name:"terramind_lulc",status:"fired",tier:"synthetic",ms:2100}]},{key:"lodestone",members:[{id:"LOD-001",name:"nws_alerts",status:"fired",tier:"modeled",ms:110},{id:"LOD-002",name:"ttm_forecast",status:"fired",tier:"modeled",ms:1500},{id:"LOD-003",name:"ttm_battery_surge",status:"fired",tier:"modeled",ms:1480},{id:"LOD-004",name:"floodnet_forecast",status:"silent_by_design",tier:"modeled",ms:14,note:"sensor has only 2 historical events; forecast omitted (silent-floor: 5)"},{id:"LOD-005",name:"ttm_311_forecast",status:"errored",tier:"modeled",ms:0,note:"311 history fetch failed: HTTP 503 at NYC OpenData (3 retries)"}]},{key:"capstone",members:[{id:"CAP-001",name:"rag_granite_embedding",status:"fired",tier:"proxy",ms:410},{id:"CAP-002",name:"gliner_extract",status:"fired",tier:"proxy",ms:280},{id:"CAP-003",name:"reconcile_granite41",status:"fired",tier:"modeled",ms:6240}]}].map(a=>({key:a.key,members:re(a.key,a.members)}))};var me=q('<section class="hero-band"><div class="hero-band-inner"><div class="app-shell-top is-desktop"><main id="region-briefing" class="app-region app-region-brief" aria-labelledby="brief-h1"><header class="region-head"><span class="section-label">Briefing</span> <button type="button" class="region-action" aria-label="Replay streaming">↻ replay stream</button></header> <h1 id="brief-h1" class="brief-h1">Flood-exposure briefing <span class="brief-h1-addr"> </span></h1> <!></main> <div class="app-region-side" style="grid-area: side;"><aside id="region-map" class="app-region app-region-map" aria-label="Map region"><header class="region-head"><span class="section-label">Map</span> <span class="region-head-meta">Carto Positron · z15 · 40.6776°N 74.0096°W</span></header> <div style="position: relative; flex: 1; min-height: 0;"><!> <!></div></aside> <aside id="region-cites" class="app-region app-region-cites" aria-label="Citations"><!></aside></div></div> <div class="app-shell-bottom"><section class="app-region app-region-findings" aria-label="Findings"><!></section></div></div></section>');function ye(a,F){Z(F,!0);let c=l(null),T="comfortable",B="smart",b=l(!1);X(()=>{typeof window<"u"&&d(b,new URL(window.location.href).searchParams.get("grammar")==="1")});function Y(o){d(c,o,!0)}function E(o){const s=document.getElementById("region-cites");s&&s.scrollIntoView({behavior:"smooth",block:"start"})}let n=l(Q({empirical:!0,modeled:!0,synthetic:!0,proxy:!0})),m=l(0);$(()=>(de({queryId:"sample",queryText:R,intent:"single_address",specialists:9,blocks:x,citations:y,generatedAt:new Date().toISOString(),attempts:1}),M.markReady(),()=>M.reset()));const L={label:"80 Pioneer St",lat:40.6776,lon:-74.0096},C={type:"FeatureCollection",features:[{type:"Feature",properties:{source:"sample-fixture",tier:"synthetic"},geometry:{type:"Polygon",coordinates:[[[-74.014,40.679],[-74.007,40.68],[-74.005,40.677],[-74.009,40.6755],[-74.014,40.679]]]}}]};var u=me(),N=e(u),p=e(N),h=e(p),g=e(h),D=r(e(g),2);t(g);var v=r(g,2),w=r(e(v)),H=e(w,!0);t(w),t(v);var O=r(v,2);ie(O,{get blocks(){return x},get citations(){return y},streaming:!0,get replayKey(){return i(m)}}),t(h);var I=r(h,2),f=e(I),S=r(e(f),2),k=e(S);ae(k,{get address(){return L},get activeLayers(){return i(n)},get syntheticPrior(){return C},get linkedKey(){return i(c)}});var K=r(k,2);{let o=te(()=>({empirical:0,modeled:0,synthetic:C.features.length,proxy:0}));ne(K,{get active(){return i(n)},get featureCounts(){return i(o)},onToggle:s=>d(n,{...i(n),[s]:!i(n)[s]},!0)})}t(S),t(f);var _=r(f,2),G=e(_);se(G,{get citations(){return y}}),t(_),t(I),t(p);var P=r(p,2),A=e(P),z=e(A);oe(z,{get data(){return ce},density:T,provenanceMode:B,get showGrammar(){return i(b)},get linkedKey(){return i(c)},onLink:Y,onCite:E}),t(A),t(P),t(N),t(u),J(()=>j(H,R)),V("click",D,()=>d(m,i(m)+1)),U(a,u),ee()}W(["click"]);export{ye as component,fe as universal};
web/sveltekit/build/_app/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"1778023076697"}
 
1
+ {"version":"1778024096613"}
web/sveltekit/build/app.html ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect width='16' height='16' fill='%23FAFAF7'/%3E%3Crect x='2' y='2' width='5' height='12' fill='%23D17C00'/%3E%3C/svg%3E" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
+ <title>Riprap — flood-exposure briefing</title>
9
+ <link href="./_app/immutable/entry/start.fpFIEWbC.js" rel="modulepreload">
10
+ <link href="./_app/immutable/chunks/BzKJ9Ltj.js" rel="modulepreload">
11
+ <link href="./_app/immutable/chunks/Db2Wa-jW.js" rel="modulepreload">
12
+ <link href="./_app/immutable/entry/app.Bv9QCrbT.js" rel="modulepreload">
13
+ <link href="./_app/immutable/chunks/a59FAUdi.js" rel="modulepreload">
14
+ <link href="./_app/immutable/chunks/CBok_DXr.js" rel="modulepreload">
15
+ <link href="./_app/immutable/chunks/ChZyCwev.js" rel="modulepreload">
16
+ <link href="./_app/immutable/nodes/0.M3y1IHJs.js" rel="modulepreload">
17
+ <link href="./_app/immutable/chunks/CXzWUZJN.js" rel="modulepreload">
18
+ <link href="./_app/immutable/chunks/C4Y7iDRY.js" rel="modulepreload">
19
+ <link href="./_app/immutable/chunks/DVC_-Bbc.js" rel="modulepreload">
20
+ <link href="./_app/immutable/nodes/3.Bxlt7XwE.js" rel="modulepreload">
21
+ <link href="./_app/immutable/chunks/C1ZCxvXT.js" rel="modulepreload">
22
+ <link href="./_app/immutable/chunks/UzzQz-LW.js" rel="modulepreload">
23
+
24
+ <link href="./_app/immutable/assets/0.MHa9rmVP.css" rel="stylesheet">
25
+ <link href="./_app/immutable/assets/3.BkIzAsIp.css" rel="stylesheet">
26
+ </head>
27
+ <body data-sveltekit-preload-data="hover">
28
+ <div style="display: contents"><!--[--><!--[0--><!--[--><!--[0--><a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a><!----> <header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/app" class="riprap-wordmark" aria-label="Riprap — back to query">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!--[-1--><!--]--></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!--[-1--><!--]--> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header><!----><!--]--> <main class="svelte-12qhfyh"><!--[--><section class="hero-band"><div class="hero-band-inner"><section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
29
+ Type an address, neighborhood, or proposed development — Riprap returns a written briefing
30
+ where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
31
+ For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" value="" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"><!--[--><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">address</span> <span class="cold-start-sample-q">80 Pioneer Street, Red Hook, Brooklyn</span> <span class="cold-start-sample-sub">Address-mode · Sandy edge · IBZ · NYCHA proximity</span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">neighborhood</span> <span class="cold-start-sample-q">Far Rockaway flood exposure briefing</span> <span class="cold-start-sample-sub">Neighborhood-mode · chronic stormwater · 2050 SLR</span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">development</span> <span class="cold-start-sample-q">Hunts Point proposed rezoning — flood-context check</span> <span class="cold-start-sample-sub">Development-check · CEQR §817 · 311 proxy density</span> <span class="cold-start-sample-arrow" aria-hidden="true">↗</span></button><!--]--></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-stones svelte-7xcb6n"><li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-cornerstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Cornerstone</em> remembers — what NYC's ground remembers.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-keystone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Keystone</em> tallies — what's exposed.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-touchstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Touchstone</em> watches — what's happening now.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-lodestone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Lodestone</em> projects — what's coming.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-capstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Capstone</em> writes it all down with citations.</li></ul> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section><!----></div></section><!--]--><!----></main> <!--[0--><footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
32
+ For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
33
+
34
+ <script>
35
+ {
36
+ __sveltekit_1il5pap = {
37
+ base: new URL(".", location).pathname.slice(0, -1)
38
+ };
39
+
40
+ const element = document.currentScript.parentElement;
41
+
42
+ Promise.all([
43
+ import("./_app/immutable/entry/start.fpFIEWbC.js"),
44
+ import("./_app/immutable/entry/app.Bv9QCrbT.js")
45
+ ]).then(([kit, app]) => {
46
+ kit.start(app, element, {
47
+ node_ids: [0, 3],
48
+ data: [null,null],
49
+ form: null,
50
+ error: null
51
+ });
52
+ });
53
+ }
54
+ </script>
55
+ </div>
56
+ </body>
57
+ </html>
web/sveltekit/build/index.html CHANGED
@@ -6,41 +6,42 @@
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
- <link href="./_app/immutable/entry/start.CN51yZti.js" rel="modulepreload">
10
- <link href="./_app/immutable/chunks/BwzbOVaY.js" rel="modulepreload">
11
- <link href="./_app/immutable/chunks/DwbuJhNu.js" rel="modulepreload">
12
- <link href="./_app/immutable/entry/app.CWOfOFvh.js" rel="modulepreload">
13
- <link href="./_app/immutable/chunks/1oGnrPC6.js" rel="modulepreload">
14
- <link href="./_app/immutable/chunks/Dlpu43Tj.js" rel="modulepreload">
15
- <link href="./_app/immutable/chunks/8F5LpR-T.js" rel="modulepreload">
16
- <link href="./_app/immutable/nodes/0.D8XZI90P.js" rel="modulepreload">
17
- <link href="./_app/immutable/chunks/DNaFzQeI.js" rel="modulepreload">
18
- <link href="./_app/immutable/chunks/B07kFGr7.js" rel="modulepreload">
19
- <link href="./_app/immutable/chunks/DFFHaukH.js" rel="modulepreload">
20
- <link href="./_app/immutable/nodes/2.CiK-Ot3Z.js" rel="modulepreload">
21
- <link href="./_app/immutable/chunks/CBcGqa-S.js" rel="modulepreload">
22
-
 
 
23
  <link href="./_app/immutable/assets/0.MHa9rmVP.css" rel="stylesheet">
24
- <link href="./_app/immutable/assets/2.BkIzAsIp.css" rel="stylesheet">
25
  </head>
26
  <body data-sveltekit-preload-data="hover">
27
- <div style="display: contents"><!--[--><!--[0--><!--[--><!--[0--><a href="#region-briefing" class="skip-link">Skip to briefing</a> <a href="#region-map" class="skip-link" style="left: -9999px;">Skip to map</a> <a href="#region-trace" class="skip-link" style="left: -9999px;">Skip to trace</a><!----> <header class="app-header no-print" data-screen-label="App header"><div class="app-header-inner"><div class="app-header-left"><a href="/" class="riprap-wordmark" aria-label="Riprap home">riprap</a> <span class="app-header-sep">/</span> <span class="app-header-context">flood-exposure briefing</span></div> <div class="app-header-mid"><!--[-1--><!--]--></div> <div class="app-header-right"><a class="app-header-link" href="#methodology">methodology</a> <!--[-1--><!--]--> <span class="app-header-status" aria-live="polite"><span class="app-header-status-dot" aria-hidden="true"></span> live</span></div></div></header><!----><!--]--> <main class="svelte-12qhfyh"><!--[--><section class="hero-band"><div class="hero-band-inner"><section class="cold-start" aria-label="Empty query state"><div class="cold-start-band"><p class="cold-start-deck"><strong>Riprap</strong> is a citation-grounded flood-exposure briefing tool for New York City.
28
- Type an address, neighborhood, or proposed development Riprap returns a written briefing
29
- where every numeric claim links to its primary public-record source.</p> <p class="cold-start-deck cold-start-deck-secondary">Built for agency analysts, planners, journalists, community boards, and researchers. <strong>Not for individual residents making personal property decisions.</strong> For residents seeking flood guidance, see <a href="https://www.floodhelpny.org" class="cold-start-redir">FloodHelpNY</a>.
30
- For real-time conditions, see <a href="https://www.floodnet.nyc" class="cold-start-redir">FloodNet NYC</a>.</p></div> <form class="cold-start-form" role="search"><label for="riprap-query" class="cold-start-label section-label">Query</label> <div class="cold-start-input-row"><input id="riprap-query" type="text" value="" placeholder="address · neighborhood · proposed development" class="cold-start-input" autocomplete="off"/> <button type="submit" class="cold-start-submit">Generate briefing →</button></div></form> <div class="cold-start-samples"><span class="section-label cold-start-samples-label">Sample queries</span> <div class="cold-start-samples-grid"><!--[--><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">address</span> <span class="cold-start-sample-q">80 Pioneer Street, Red Hook, Brooklyn</span> <span class="cold-start-sample-sub">Address-mode · Sandy edge · IBZ · NYCHA proximity</span> <span class="cold-start-sample-arrow" aria-hidden="true"></span></button><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">neighborhood</span> <span class="cold-start-sample-q">Far Rockaway flood exposure briefing</span> <span class="cold-start-sample-sub">Neighborhood-mode · chronic stormwater · 2050 SLR</span> <span class="cold-start-sample-arrow" aria-hidden="true"></span></button><button type="button" class="cold-start-sample"><span class="cold-start-sample-mode">development</span> <span class="cold-start-sample-q">Hunts Point proposed rezoning — flood-context check</span> <span class="cold-start-sample-sub">Development-check · CEQR §817 · 311 proxy density</span> <span class="cold-start-sample-arrow" aria-hidden="true"></span></button><!--]--></div></div> <div class="cold-start-trust"><span class="section-label">How Riprap is built</span> <ul class="cold-start-stones svelte-7xcb6n"><li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-cornerstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Cornerstone</em> remembers what NYC's ground remembers.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-keystone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Keystone</em> tallies — what's exposed.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-touchstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Touchstone</em> watches what's happening now.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-lodestone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Lodestone</em> projects — what's coming.</li> <li class="svelte-7xcb6n"><span class="stone-dot svelte-7xcb6n" style="background: var(--stone-capstone);" aria-hidden="true"></span> <em class="svelte-7xcb6n">Capstone</em> writes it all down with citations.</li></ul> <ul class="cold-start-trust-list"><li>All foundation models <strong>Apache-2.0</strong>; no commercial APIs at runtime.</li> <li>All data from public-record federal, state, and city sources.</li> <li>Four epistemic tiers — empirical, modeled, proxy, synthetic prior — visible in the briefing margin and the trace.</li> <li>Sections without supporting documents are omitted entirely. Silence over confabulation.</li></ul> <a href="#methodology" class="cold-start-method-link">Methodology paper →</a></div></section><!----></div></section><!--]--><!----></main> <!--[0--><footer class="app-footer no-print"><div class="app-footer-inner"><p class="app-footer-guard"><strong>Riprap does not predict damage.</strong> This tool is for professional analytical work, not personal property decisions.
31
- For residents, see <a href="https://www.floodhelpny.org">FloodHelpNY</a> · <a href="https://www.floodnet.nyc">FloodNet NYC</a>.</p> <p class="app-footer-build">All foundation models Apache-2.0 · All data from public-record federal, state, and city sources · No commercial APIs contacted at runtime · Riprap v0.4.2 · build 2026-05-03</p></div></footer><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
32
 
33
  <script>
34
  {
35
- __sveltekit_43llsk = {
36
  base: new URL(".", location).pathname.slice(0, -1)
37
  };
38
 
39
  const element = document.currentScript.parentElement;
40
 
41
  Promise.all([
42
- import("./_app/immutable/entry/start.CN51yZti.js"),
43
- import("./_app/immutable/entry/app.CWOfOFvh.js")
44
  ]).then(([kit, app]) => {
45
  kit.start(app, element, {
46
  node_ids: [0, 2],
 
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <meta name="description" content="Riprap — citation-grounded NYC flood-exposure briefings." />
8
  <title>Riprap — flood-exposure briefing</title>
9
+ <link href="./_app/immutable/entry/start.fpFIEWbC.js" rel="modulepreload">
10
+ <link href="./_app/immutable/chunks/BzKJ9Ltj.js" rel="modulepreload">
11
+ <link href="./_app/immutable/chunks/Db2Wa-jW.js" rel="modulepreload">
12
+ <link href="./_app/immutable/entry/app.Bv9QCrbT.js" rel="modulepreload">
13
+ <link href="./_app/immutable/chunks/a59FAUdi.js" rel="modulepreload">
14
+ <link href="./_app/immutable/chunks/CBok_DXr.js" rel="modulepreload">
15
+ <link href="./_app/immutable/chunks/ChZyCwev.js" rel="modulepreload">
16
+ <link href="./_app/immutable/nodes/0.M3y1IHJs.js" rel="modulepreload">
17
+ <link href="./_app/immutable/chunks/CXzWUZJN.js" rel="modulepreload">
18
+ <link href="./_app/immutable/chunks/C4Y7iDRY.js" rel="modulepreload">
19
+ <link href="./_app/immutable/chunks/DVC_-Bbc.js" rel="modulepreload">
20
+ <link href="./_app/immutable/nodes/2.DoTgIlX_.js" rel="modulepreload">
21
+ <link href="./_app/immutable/chunks/DcSynJCA.js" rel="modulepreload">
22
+ <link href="./_app/immutable/chunks/C1ZCxvXT.js" rel="modulepreload">
23
+ <link href="./_app/immutable/chunks/UzzQz-LW.js" rel="modulepreload">
24
+ <!--1uha8ag--><meta name="description" content="A citation-grounded flood-exposure briefing tool for any address, neighborhood, or BBL in New York City."/><!----><title>Riprap — Flood Exposure Briefing for NYC</title>
25
  <link href="./_app/immutable/assets/0.MHa9rmVP.css" rel="stylesheet">
26
+ <link href="./_app/immutable/assets/2.DmqVqdyp.css" rel="stylesheet">
27
  </head>
28
  <body data-sveltekit-preload-data="hover">
29
+ <div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><!--]--> <main class="svelte-12qhfyh"><!--[--><div class="land svelte-1uha8ag"><header class="land-header svelte-1ct2rgk"><span class="riprap-wordmark">riprap</span> <span class="land-header-sep svelte-1ct2rgk">/</span> <span class="land-header-context svelte-1ct2rgk">Flood Exposure Briefing · NYC</span> <nav class="land-header-nav svelte-1ct2rgk"><a href="/app" class="svelte-1ct2rgk">Open the app</a> <a href="#methodology" class="svelte-1ct2rgk">Methodology</a> <a href="#sources" class="svelte-1ct2rgk">Sources</a></nav></header><!----> <div class="land-page svelte-1uha8ag"><main class="land-hero svelte-drzq4r"><h1 class="land-hero-h1 svelte-drzq4r"><span class="land-hero-headline svelte-drzq4r">A flood exposure briefing<br/> for <em class="svelte-drzq4r">any place</em> in New York City.</span> <span class="land-hero-deck svelte-drzq4r">Type an address. Get a written briefing where every numeric claim links to its primary public-record source.</span></h1> <form class="land-query svelte-drzq4r" role="search"><span class="land-query-prompt svelte-drzq4r" aria-hidden="true"></span> <input type="text" value="" placeholder="Address, neighborhood, or BBL. e.g. 80 Pioneer Street, Red Hook" class="land-query-input svelte-drzq4r" aria-label="Query an address, neighborhood, or BBL"/> <button type="submit" class="land-query-submit svelte-drzq4r">Brief this place →</button></form> <div class="land-cycling svelte-drzq4r" aria-live="polite"><span class="land-cycling-label svelte-drzq4r">Try:</span> <button type="button" class="land-cycling-rail svelte-drzq4r" title="Run this example"><!--[--><span class="land-cycling-item svelte-drzq4r is-active" aria-hidden="false">80 Pioneer Street, Red Hook</span><span class="land-cycling-item svelte-drzq4r" aria-hidden="true">Coney Island Hospital</span><span class="land-cycling-item svelte-drzq4r" aria-hidden="true">PS 188, Lower East Side</span><span class="land-cycling-item svelte-drzq4r" aria-hidden="true">Hammels Houses, Rockaway</span><span class="land-cycling-item svelte-drzq4r" aria-hidden="true">Bowling Green station</span><span class="land-cycling-item svelte-drzq4r" aria-hidden="true">555 W 57th Street</span><!--]--></button></div></main><!----> <section class="land-section svelte-1anw2jf"><div class="land-section-head svelte-1anw2jf"><span class="section-label">What you'll get back</span> <span class="land-section-meta svelte-1anw2jf">A grounded paragraph with citations, not a chatbot answer.</span></div> <div class="land-preview-grid svelte-1anw2jf"><div class="land-preview-pane land-preview-pane-excerpt svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Briefing excerpt</div> <p class="land-preview-body svelte-1anw2jf">The lot sits inside the FEMA <span class="land-preview-cite svelte-1anw2jf">1% AE flood zone <sup class="svelte-1anw2jf">[c3]</sup></span>,
30
+ with Sandy high-water marks recorded <span class="land-preview-cite svelte-1anw2jf">4.7 ft above grade <sup class="svelte-1anw2jf">[c1]</sup></span>.
31
+ FloodNet FN-BK-018 has logged <span class="land-preview-cite svelte-1anw2jf">14 nuisance floods since 2023 <sup class="svelte-1anw2jf">[c2]</sup></span>.</p> <div class="land-preview-cites svelte-1anw2jf"><div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c1]</span> <span class="land-preview-cite-src svelte-1anw2jf">USGS HWM · Sandy 2012</span> <span class="land-preview-cite-tier svelte-1anw2jf">empirical</span></div> <div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c2]</span> <span class="land-preview-cite-src svelte-1anw2jf">FloodNet FN-BK-018</span> <span class="land-preview-cite-tier svelte-1anw2jf">empirical</span></div> <div class="land-preview-cite-row svelte-1anw2jf"><span class="land-preview-cite-pin svelte-1anw2jf">[c3]</span> <span class="land-preview-cite-src svelte-1anw2jf">FEMA NFHL · 36047C0207</span> <span class="land-preview-cite-tier svelte-1anw2jf">modeled</span></div></div></div> <div class="land-preview-pane land-preview-pane-cards svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Evidence cards</div> <div class="land-evcard-grid svelte-1anw2jf"><article class="land-evcard land-evcard-empirical svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">empirical</span> <span class="land-evcard-id svelte-1anw2jf">e1</span></header> <div class="land-evcard-claim svelte-1anw2jf">4.7 ft Sandy storm-surge HWM at address</div> <div class="land-evcard-source svelte-1anw2jf">USGS High-Water Mark database · 2012</div></article> <article class="land-evcard land-evcard-empirical svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">empirical</span> <span class="land-evcard-id svelte-1anw2jf">e2</span></header> <div class="land-evcard-claim svelte-1anw2jf">14 nuisance-flood events, 2023–2026</div> <div class="land-evcard-source svelte-1anw2jf">FloodNet FN-BK-018 · 2 blocks north</div></article> <article class="land-evcard land-evcard-modeled svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">modeled</span> <span class="land-evcard-id svelte-1anw2jf">e3</span></header> <div class="land-evcard-claim svelte-1anw2jf">FEMA 1% annual-chance (AE) flood zone</div> <div class="land-evcard-source svelte-1anw2jf">FEMA NFHL · panel 36047C0207</div></article> <article class="land-evcard land-evcard-modeled svelte-1anw2jf"><header class="land-evcard-head svelte-1anw2jf"><span class="land-evcard-tier svelte-1anw2jf">modeled</span> <span class="land-evcard-id svelte-1anw2jf">e5</span></header> <div class="land-evcard-claim svelte-1anw2jf">+30 in MSL by 2070 (NPCC4 high)</div> <div class="land-evcard-source svelte-1anw2jf">NPCC4 SLR projection · 2024</div></article></div></div> <div class="land-preview-pane land-preview-pane-map svelte-1anw2jf"><div class="land-preview-eyebrow svelte-1anw2jf">Map</div> <div class="land-mapmini svelte-1anw2jf" role="img" aria-label="Sample exposure map of Red Hook"><svg viewBox="0 0 240 200" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" style="display: block; width: 100%; height: 100%;"><rect width="240" height="200" fill="#F2F2EE"></rect><path d="M0,150 Q60,140 120,148 T240,140 L240,200 L0,200 Z" fill="#D6DDE0"></path><path d="M0,90 Q40,82 90,88 L120,86 L120,150 L0,150 Z" fill="#D6DDE0"></path><path d="M30,80 L130,76 L160,140 L40,148 Z" fill="rgba(42,111,168,0.22)" stroke="#2A6FA8" stroke-width="0.8" stroke-dasharray="3 2"></path><path d="M50,90 Q90,84 130,90 T200,108" fill="none" stroke="#0B5394" stroke-width="1.2"></path><g stroke="#B8B5AE" stroke-width="0.5" fill="none"><path d="M0,60 L240,52"></path><path d="M0,110 L240,102"></path><path d="M60,0 L72,200"></path><path d="M120,0 L132,200"></path><path d="M180,0 L192,200"></path></g><g transform="translate(108 92)"><rect x="-3" y="-3" width="6" height="6" fill="#0B5394" stroke="white" stroke-width="0.8"></rect></g><g fill="none" stroke="#6B6B6B" stroke-width="0.8"><circle cx="80" cy="120" r="3"></circle><circle cx="86" cy="124" r="3"></circle><circle cx="92" cy="118" r="3"></circle></g><g transform="translate(118 112)"><circle r="8" fill="none" stroke="#1A1A1A" stroke-width="1.2"></circle><circle r="2.4" fill="#1A1A1A"></circle></g></svg> <div class="land-mapmini-legend svelte-1anw2jf"><span class="svelte-1anw2jf"><span class="lm-sw lm-sw-emp svelte-1anw2jf"></span>empirical</span> <span class="svelte-1anw2jf"><span class="lm-sw lm-sw-mod svelte-1anw2jf"></span>modeled</span> <span class="svelte-1anw2jf"><span class="lm-sw lm-sw-prx svelte-1anw2jf"></span>proxy</span></div></div> <div class="land-preview-mapmeta svelte-1anw2jf">Red Hook · z16 · Carto Positron</div></div></div></section><!----></div> <section class="land-section-stones-detail svelte-1v6nt1t" id="methodology"><div class="land-page svelte-1v6nt1t"><div class="land-section-head svelte-1v6nt1t"><span class="section-label">How Riprap reads a place</span> <span class="land-section-meta svelte-1v6nt1t">Five Stones · one taxonomy · every briefing</span></div> <p class="land-stones-deck svelte-1v6nt1t">Each briefing routes through a fixed taxonomy of public-record specialists. Each Stone is a class of evidence.
32
+ Together they form the briefing, and every claim in the output traces back to the Stone that produced it.</p> <div class="land-stones-detail svelte-1v6nt1t"><!--[--><article class="land-stones-detail-cell svelte-1v6nt1t" style="--stone-tint: var(--stone-cornerstone);"><div class="land-stones-detail-num svelte-1v6nt1t">01</div> <h3 class="land-stones-detail-name svelte-1v6nt1t">Cornerstone</h3> <div class="land-stones-detail-role svelte-1v6nt1t">the hazard reader</div> <p class="land-stones-detail-tag svelte-1v6nt1t">what NYC's ground remembers</p> <div class="land-stones-detail-sources svelte-1v6nt1t">USGS HWMs · FEMA NFHL · DEP stormwater · Prithvi historical</div></article><article class="land-stones-detail-cell svelte-1v6nt1t" style="--stone-tint: var(--stone-keystone);"><div class="land-stones-detail-num svelte-1v6nt1t">02</div> <h3 class="land-stones-detail-name svelte-1v6nt1t">Keystone</h3> <div class="land-stones-detail-role svelte-1v6nt1t">the asset register</div> <p class="land-stones-detail-tag svelte-1v6nt1t">what's exposed</p> <div class="land-stones-detail-sources svelte-1v6nt1t">MTA · NYCHA · DOE · DOH · PLUTO</div></article><article class="land-stones-detail-cell svelte-1v6nt1t" style="--stone-tint: var(--stone-touchstone);"><div class="land-stones-detail-num svelte-1v6nt1t">03</div> <h3 class="land-stones-detail-name svelte-1v6nt1t">Touchstone</h3> <div class="land-stones-detail-role svelte-1v6nt1t">the live observer</div> <p class="land-stones-detail-tag svelte-1v6nt1t">what's happening now</p> <div class="land-stones-detail-sources svelte-1v6nt1t">FloodNet sensors · 311 complaints · NWS · NOAA tide gauges</div></article><article class="land-stones-detail-cell svelte-1v6nt1t" style="--stone-tint: var(--stone-lodestone);"><div class="land-stones-detail-num svelte-1v6nt1t">04</div> <h3 class="land-stones-detail-name svelte-1v6nt1t">Lodestone</h3> <div class="land-stones-detail-role svelte-1v6nt1t">the projector</div> <p class="land-stones-detail-tag svelte-1v6nt1t">what's coming</p> <div class="land-stones-detail-sources svelte-1v6nt1t">NPCC4 · Granite TTM (zero-shot + NYC fine-tune) · NWS alerts</div></article><article class="land-stones-detail-cell svelte-1v6nt1t" style="--stone-tint: var(--stone-capstone);"><div class="land-stones-detail-num svelte-1v6nt1t">05</div> <h3 class="land-stones-detail-name svelte-1v6nt1t">Capstone</h3> <div class="land-stones-detail-role svelte-1v6nt1t">the synthesizer</div> <p class="land-stones-detail-tag svelte-1v6nt1t">writes it all down</p> <div class="land-stones-detail-sources svelte-1v6nt1t">Granite 4.1 composer · Mellea grounding-check · WeasyPrint</div></article><!--]--></div></div></section><!----> <footer class="land-footer svelte-1dcj612"><span class="land-footer-tiers svelte-1dcj612"><span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-emp svelte-1dcj612"></span>empirical</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-mod svelte-1dcj612"></span>modeled</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-prx svelte-1dcj612"></span>proxy</span> <span class="land-footer-tier svelte-1dcj612"><span class="lm-sw lm-sw-syn svelte-1dcj612"></span>synthetic</span></span> <span class="land-footer-build">Riprap v0.4.5 · NYC OpenData · FEMA NFHL · USGS · NPCC4</span></footer><!----></div><!--]--><!----></main> <!--[-1--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
 
33
 
34
  <script>
35
  {
36
+ __sveltekit_1il5pap = {
37
  base: new URL(".", location).pathname.slice(0, -1)
38
  };
39
 
40
  const element = document.currentScript.parentElement;
41
 
42
  Promise.all([
43
+ import("./_app/immutable/entry/start.fpFIEWbC.js"),
44
+ import("./_app/immutable/entry/app.Bv9QCrbT.js")
45
  ]).then(([kit, app]) => {
46
  kit.start(app, element, {
47
  node_ids: [0, 2],
web/sveltekit/build/q/sample.html CHANGED
The diff for this file is too large to render. See raw diff
 
web/sveltekit/src/lib/components/landing/LandFooter.svelte ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ /** Landing-page footer. Tier legend swatches + a build line. The
3
+ * in-app AppFooter has more detail; this one is intentionally tighter
4
+ * so the landing page closes cleanly. */
5
+ </script>
6
+
7
+ <footer class="land-footer">
8
+ <span class="land-footer-tiers">
9
+ <span class="land-footer-tier"><span class="lm-sw lm-sw-emp"></span>empirical</span>
10
+ <span class="land-footer-tier"><span class="lm-sw lm-sw-mod"></span>modeled</span>
11
+ <span class="land-footer-tier"><span class="lm-sw lm-sw-prx"></span>proxy</span>
12
+ <span class="land-footer-tier"><span class="lm-sw lm-sw-syn"></span>synthetic</span>
13
+ </span>
14
+ <span class="land-footer-build">Riprap v0.4.5 · NYC OpenData · FEMA NFHL · USGS · NPCC4</span>
15
+ </footer>
16
+
17
+ <style>
18
+ .land-footer {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ gap: 16px;
23
+ flex-wrap: wrap;
24
+ padding: 16px 32px;
25
+ border-top: 1px solid var(--rule-soft);
26
+ font-family: var(--font-mono);
27
+ font-size: 11px;
28
+ color: var(--ink-tertiary);
29
+ letter-spacing: 0.02em;
30
+ }
31
+ .land-footer-tiers {
32
+ display: flex;
33
+ gap: 16px;
34
+ flex-wrap: wrap;
35
+ }
36
+ .land-footer-tier {
37
+ display: inline-flex;
38
+ align-items: center;
39
+ gap: 5px;
40
+ }
41
+ .lm-sw { display: inline-block; width: 8px; height: 8px; }
42
+ .lm-sw-emp { background: var(--tier-empirical); }
43
+ .lm-sw-mod {
44
+ background: rgba(42, 111, 168, 0.4);
45
+ border: 1px dashed var(--tier-modeled);
46
+ }
47
+ .lm-sw-prx {
48
+ background: transparent;
49
+ border: 1px solid #6B6B6B;
50
+ border-radius: 50%;
51
+ }
52
+ .lm-sw-syn {
53
+ background: rgba(42, 111, 168, 0.25);
54
+ background-image: repeating-linear-gradient(
55
+ 45deg,
56
+ transparent 0,
57
+ transparent 2px,
58
+ var(--tier-synthetic) 2px,
59
+ var(--tier-synthetic) 3px
60
+ );
61
+ border: 1px solid var(--tier-synthetic);
62
+ }
63
+ </style>
web/sveltekit/src/lib/components/landing/LandHeader.svelte ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ /** Landing-page header. Wordmark · slash · context line · nav links.
3
+ * Subtly different from the in-app AppHeader so the marketing surface
4
+ * reads as a separate page. */
5
+ </script>
6
+
7
+ <header class="land-header">
8
+ <span class="riprap-wordmark">riprap</span>
9
+ <span class="land-header-sep">/</span>
10
+ <span class="land-header-context">Flood Exposure Briefing · NYC</span>
11
+ <nav class="land-header-nav">
12
+ <a href="/app">Open the app</a>
13
+ <a href="#methodology">Methodology</a>
14
+ <a href="#sources">Sources</a>
15
+ </nav>
16
+ </header>
17
+
18
+ <style>
19
+ .land-header {
20
+ display: flex;
21
+ align-items: baseline;
22
+ gap: 12px;
23
+ padding: 20px 32px;
24
+ border-bottom: 1px solid var(--rule-soft);
25
+ }
26
+ .land-header :global(.riprap-wordmark) {
27
+ font-family: var(--font-serif);
28
+ font-weight: 600;
29
+ font-size: 18px;
30
+ letter-spacing: 0.02em;
31
+ }
32
+ .land-header-sep { color: var(--ink-tertiary); }
33
+ .land-header-context {
34
+ font-family: var(--font-mono);
35
+ font-size: 11px;
36
+ letter-spacing: 0.06em;
37
+ text-transform: uppercase;
38
+ color: var(--ink-secondary);
39
+ }
40
+ .land-header-nav {
41
+ margin-left: auto;
42
+ display: flex;
43
+ gap: 18px;
44
+ font-family: var(--font-mono);
45
+ font-size: 12px;
46
+ }
47
+ .land-header-nav a {
48
+ color: var(--ink-secondary);
49
+ text-decoration: none;
50
+ border-bottom: 1px dotted transparent;
51
+ }
52
+ .land-header-nav a:hover { border-bottom-color: var(--ink-secondary); }
53
+ .land-header-nav a:first-child {
54
+ color: var(--ink);
55
+ border-bottom: 1px solid var(--ink);
56
+ }
57
+ </style>
web/sveltekit/src/lib/components/landing/LandHero.svelte ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { goto } from '$app/navigation';
3
+
4
+ /** v0.4.5 landing hero: serif italic emphasis on "any place", deck,
5
+ * query box, cycling examples on a fixed dotted-underline rail.
6
+ * Mirrors docs/design_handoff/design_files/Riprap Landing.html. */
7
+
8
+ const SAMPLE_QUERIES = [
9
+ '80 Pioneer Street, Red Hook',
10
+ 'Coney Island Hospital',
11
+ 'PS 188, Lower East Side',
12
+ 'Hammels Houses, Rockaway',
13
+ 'Bowling Green station',
14
+ '555 W 57th Street',
15
+ ];
16
+
17
+ let q = $state('');
18
+ let i = $state(0);
19
+
20
+ $effect(() => {
21
+ if (typeof window === 'undefined') return;
22
+ const t = setInterval(() => {
23
+ i = (i + 1) % SAMPLE_QUERIES.length;
24
+ }, 2200);
25
+ return () => clearInterval(t);
26
+ });
27
+
28
+ function submit() {
29
+ const v = q.trim();
30
+ if (!v) return;
31
+ goto(`/q/${encodeURIComponent(v)}`);
32
+ }
33
+
34
+ function pickExample() {
35
+ const v = SAMPLE_QUERIES[i];
36
+ goto(`/q/${encodeURIComponent(v)}`);
37
+ }
38
+ </script>
39
+
40
+ <main class="land-hero">
41
+ <h1 class="land-hero-h1">
42
+ <span class="land-hero-headline">A flood exposure briefing<br /> for <em>any place</em> in New York City.</span>
43
+ <span class="land-hero-deck">
44
+ Type an address. Get a written briefing where every numeric claim links to its primary public-record source.
45
+ </span>
46
+ </h1>
47
+
48
+ <form class="land-query" onsubmit={(e) => { e.preventDefault(); submit(); }} role="search">
49
+ <span class="land-query-prompt" aria-hidden="true">›</span>
50
+ <input
51
+ type="text"
52
+ bind:value={q}
53
+ placeholder="Address, neighborhood, or BBL. e.g. 80 Pioneer Street, Red Hook"
54
+ class="land-query-input"
55
+ aria-label="Query an address, neighborhood, or BBL"
56
+ />
57
+ <button type="submit" class="land-query-submit">Brief this place →</button>
58
+ </form>
59
+
60
+ <div class="land-cycling" aria-live="polite">
61
+ <span class="land-cycling-label">Try:</span>
62
+ <button type="button" class="land-cycling-rail" onclick={pickExample} title="Run this example">
63
+ {#each SAMPLE_QUERIES as s, idx (s)}
64
+ <span class="land-cycling-item" class:is-active={idx === i} aria-hidden={idx !== i}>
65
+ {s}
66
+ </span>
67
+ {/each}
68
+ </button>
69
+ </div>
70
+ </main>
71
+
72
+ <style>
73
+ .land-hero { padding: 64px 32px 48px; }
74
+ .land-hero-h1 {
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: 18px;
78
+ margin: 0 0 30px;
79
+ max-width: 880px;
80
+ }
81
+ .land-hero-headline {
82
+ font-family: var(--font-serif);
83
+ font-weight: 500;
84
+ font-size: 52px;
85
+ line-height: 1.08;
86
+ color: var(--ink);
87
+ letter-spacing: -0.015em;
88
+ }
89
+ .land-hero-headline em { font-style: italic; font-weight: 500; }
90
+ .land-hero-deck {
91
+ font-family: var(--font-serif);
92
+ font-size: 18px;
93
+ line-height: 1.55;
94
+ color: var(--ink-secondary);
95
+ max-width: 64ch;
96
+ }
97
+
98
+ .land-query {
99
+ display: flex;
100
+ align-items: stretch;
101
+ gap: 0;
102
+ max-width: 760px;
103
+ border: 1px solid var(--ink);
104
+ background: white;
105
+ font-size: 18px;
106
+ }
107
+ .land-query-prompt {
108
+ display: flex;
109
+ align-items: center;
110
+ padding: 0 14px;
111
+ font-family: var(--font-mono);
112
+ font-size: 22px;
113
+ color: var(--ink-tertiary);
114
+ background: var(--paper-deep);
115
+ border-right: 1px solid var(--rule-soft);
116
+ }
117
+ .land-query-input {
118
+ flex: 1;
119
+ min-width: 0;
120
+ padding: 18px 16px;
121
+ font: inherit;
122
+ font-family: var(--font-sans);
123
+ border: none;
124
+ outline: none;
125
+ background: white;
126
+ color: var(--ink);
127
+ }
128
+ .land-query-input::placeholder { color: var(--ink-tertiary); }
129
+ .land-query-submit {
130
+ padding: 0 22px;
131
+ font-family: var(--font-sans);
132
+ font-weight: 600;
133
+ font-size: 14px;
134
+ background: var(--ink);
135
+ color: var(--paper);
136
+ border: none;
137
+ cursor: pointer;
138
+ white-space: nowrap;
139
+ letter-spacing: 0.02em;
140
+ }
141
+ .land-query-submit:hover { background: #000; }
142
+
143
+ .land-cycling {
144
+ margin-top: 18px;
145
+ display: grid;
146
+ grid-template-columns: auto 1fr;
147
+ align-items: baseline;
148
+ column-gap: 10px;
149
+ font-family: var(--font-mono);
150
+ font-size: 13px;
151
+ color: var(--ink-tertiary);
152
+ max-width: 760px;
153
+ }
154
+ .land-cycling-label {
155
+ letter-spacing: 0.06em;
156
+ text-transform: uppercase;
157
+ font-size: 11px;
158
+ line-height: 1.4em;
159
+ }
160
+ .land-cycling-rail {
161
+ position: relative;
162
+ min-width: 0;
163
+ height: 1.4em;
164
+ line-height: 1.4em;
165
+ background: transparent;
166
+ border: 0;
167
+ padding: 0;
168
+ cursor: pointer;
169
+ text-align: left;
170
+ }
171
+ .land-cycling-item {
172
+ position: absolute;
173
+ inset: 0;
174
+ line-height: 1.4em;
175
+ opacity: 0;
176
+ transition: opacity 240ms ease;
177
+ color: var(--ink);
178
+ border-bottom: 1px dotted var(--rule-soft);
179
+ white-space: nowrap;
180
+ overflow: hidden;
181
+ text-overflow: ellipsis;
182
+ font-family: var(--font-mono);
183
+ font-size: 13px;
184
+ }
185
+ .land-cycling-item.is-active { opacity: 1; }
186
+
187
+ @media (max-width: 640px) {
188
+ .land-hero-headline { font-size: 38px; }
189
+ .land-hero { padding: 40px 24px 32px; }
190
+ }
191
+ </style>
web/sveltekit/src/lib/components/landing/LandPreview.svelte ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ /** "What you'll get back" three-pane preview: briefing excerpt with
3
+ * inline citations · 2x2 evidence-card grid · mini SVG map.
4
+ * Lifted as-is from docs/design_handoff/design_files/Riprap Landing.html. */
5
+ </script>
6
+
7
+ <section class="land-section">
8
+ <div class="land-section-head">
9
+ <span class="section-label">What you'll get back</span>
10
+ <span class="land-section-meta">A grounded paragraph with citations, not a chatbot answer.</span>
11
+ </div>
12
+
13
+ <div class="land-preview-grid">
14
+
15
+ <!-- Pane 1 — briefing excerpt -->
16
+ <div class="land-preview-pane land-preview-pane-excerpt">
17
+ <div class="land-preview-eyebrow">Briefing excerpt</div>
18
+ <p class="land-preview-body">
19
+ The lot sits inside the FEMA <span class="land-preview-cite">1% AE flood zone <sup>[c3]</sup></span>,
20
+ with Sandy high-water marks recorded
21
+ <span class="land-preview-cite"> 4.7 ft above grade <sup>[c1]</sup></span>.
22
+ FloodNet FN-BK-018 has logged
23
+ <span class="land-preview-cite"> 14 nuisance floods since 2023 <sup>[c2]</sup></span>.
24
+ </p>
25
+ <div class="land-preview-cites">
26
+ <div class="land-preview-cite-row">
27
+ <span class="land-preview-cite-pin">[c1]</span>
28
+ <span class="land-preview-cite-src">USGS HWM · Sandy 2012</span>
29
+ <span class="land-preview-cite-tier">empirical</span>
30
+ </div>
31
+ <div class="land-preview-cite-row">
32
+ <span class="land-preview-cite-pin">[c2]</span>
33
+ <span class="land-preview-cite-src">FloodNet FN-BK-018</span>
34
+ <span class="land-preview-cite-tier">empirical</span>
35
+ </div>
36
+ <div class="land-preview-cite-row">
37
+ <span class="land-preview-cite-pin">[c3]</span>
38
+ <span class="land-preview-cite-src">FEMA NFHL · 36047C0207</span>
39
+ <span class="land-preview-cite-tier">modeled</span>
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ <!-- Pane 2 — evidence cards 2x2 -->
45
+ <div class="land-preview-pane land-preview-pane-cards">
46
+ <div class="land-preview-eyebrow">Evidence cards</div>
47
+ <div class="land-evcard-grid">
48
+ <article class="land-evcard land-evcard-empirical">
49
+ <header class="land-evcard-head">
50
+ <span class="land-evcard-tier">empirical</span>
51
+ <span class="land-evcard-id">e1</span>
52
+ </header>
53
+ <div class="land-evcard-claim">4.7 ft Sandy storm-surge HWM at address</div>
54
+ <div class="land-evcard-source">USGS High-Water Mark database · 2012</div>
55
+ </article>
56
+ <article class="land-evcard land-evcard-empirical">
57
+ <header class="land-evcard-head">
58
+ <span class="land-evcard-tier">empirical</span>
59
+ <span class="land-evcard-id">e2</span>
60
+ </header>
61
+ <div class="land-evcard-claim">14 nuisance-flood events, 2023–2026</div>
62
+ <div class="land-evcard-source">FloodNet FN-BK-018 · 2 blocks north</div>
63
+ </article>
64
+ <article class="land-evcard land-evcard-modeled">
65
+ <header class="land-evcard-head">
66
+ <span class="land-evcard-tier">modeled</span>
67
+ <span class="land-evcard-id">e3</span>
68
+ </header>
69
+ <div class="land-evcard-claim">FEMA 1% annual-chance (AE) flood zone</div>
70
+ <div class="land-evcard-source">FEMA NFHL · panel 36047C0207</div>
71
+ </article>
72
+ <article class="land-evcard land-evcard-modeled">
73
+ <header class="land-evcard-head">
74
+ <span class="land-evcard-tier">modeled</span>
75
+ <span class="land-evcard-id">e5</span>
76
+ </header>
77
+ <div class="land-evcard-claim">+30 in MSL by 2070 (NPCC4 high)</div>
78
+ <div class="land-evcard-source">NPCC4 SLR projection · 2024</div>
79
+ </article>
80
+ </div>
81
+ </div>
82
+
83
+ <!-- Pane 3 — mini SVG map -->
84
+ <div class="land-preview-pane land-preview-pane-map">
85
+ <div class="land-preview-eyebrow">Map</div>
86
+ <div class="land-mapmini" role="img" aria-label="Sample exposure map of Red Hook">
87
+ <svg viewBox="0 0 240 200" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice"
88
+ style="display: block; width: 100%; height: 100%;">
89
+ <rect width="240" height="200" fill="#F2F2EE" />
90
+ <path d="M0,150 Q60,140 120,148 T240,140 L240,200 L0,200 Z" fill="#D6DDE0" />
91
+ <path d="M0,90 Q40,82 90,88 L120,86 L120,150 L0,150 Z" fill="#D6DDE0" />
92
+ <path d="M30,80 L130,76 L160,140 L40,148 Z"
93
+ fill="rgba(42,111,168,0.22)" stroke="#2A6FA8"
94
+ stroke-width="0.8" stroke-dasharray="3 2" />
95
+ <path d="M50,90 Q90,84 130,90 T200,108"
96
+ fill="none" stroke="#0B5394" stroke-width="1.2" />
97
+ <g stroke="#B8B5AE" stroke-width="0.5" fill="none">
98
+ <path d="M0,60 L240,52" />
99
+ <path d="M0,110 L240,102" />
100
+ <path d="M60,0 L72,200" />
101
+ <path d="M120,0 L132,200" />
102
+ <path d="M180,0 L192,200" />
103
+ </g>
104
+ <g transform="translate(108 92)">
105
+ <rect x="-3" y="-3" width="6" height="6" fill="#0B5394" stroke="white" stroke-width="0.8" />
106
+ </g>
107
+ <g fill="none" stroke="#6B6B6B" stroke-width="0.8">
108
+ <circle cx="80" cy="120" r="3" />
109
+ <circle cx="86" cy="124" r="3" />
110
+ <circle cx="92" cy="118" r="3" />
111
+ </g>
112
+ <g transform="translate(118 112)">
113
+ <circle r="8" fill="none" stroke="#1A1A1A" stroke-width="1.2" />
114
+ <circle r="2.4" fill="#1A1A1A" />
115
+ </g>
116
+ </svg>
117
+ <div class="land-mapmini-legend">
118
+ <span><span class="lm-sw lm-sw-emp"></span>empirical</span>
119
+ <span><span class="lm-sw lm-sw-mod"></span>modeled</span>
120
+ <span><span class="lm-sw lm-sw-prx"></span>proxy</span>
121
+ </div>
122
+ </div>
123
+ <div class="land-preview-mapmeta">Red Hook · z16 · Carto Positron</div>
124
+ </div>
125
+
126
+ </div>
127
+ </section>
128
+
129
+ <style>
130
+ .land-section {
131
+ padding: 48px 32px;
132
+ border-top: 1px solid var(--rule-soft);
133
+ }
134
+ .land-section-head {
135
+ display: flex;
136
+ justify-content: space-between;
137
+ align-items: baseline;
138
+ gap: 16px;
139
+ margin-bottom: 22px;
140
+ padding-bottom: 10px;
141
+ border-bottom: 1px solid var(--rule-soft);
142
+ }
143
+ .land-section-meta {
144
+ font-family: var(--font-serif);
145
+ font-style: italic;
146
+ font-size: 14px;
147
+ color: var(--ink-tertiary);
148
+ }
149
+
150
+ .land-preview-grid {
151
+ display: grid;
152
+ grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
153
+ gap: 14px;
154
+ align-items: stretch;
155
+ }
156
+ .land-preview-pane {
157
+ background: white;
158
+ border: 1px solid var(--rule-soft);
159
+ border-left: 3px solid var(--ink);
160
+ padding: 16px 18px;
161
+ display: flex;
162
+ flex-direction: column;
163
+ gap: 10px;
164
+ min-width: 0;
165
+ }
166
+ .land-preview-eyebrow {
167
+ font-family: var(--font-mono);
168
+ font-size: 11px;
169
+ letter-spacing: 0.06em;
170
+ text-transform: uppercase;
171
+ color: var(--ink-tertiary);
172
+ margin: 0;
173
+ }
174
+
175
+ /* Excerpt pane */
176
+ .land-preview-pane-excerpt .land-preview-body {
177
+ font-family: var(--font-serif);
178
+ font-size: 15px;
179
+ line-height: 1.55;
180
+ color: var(--ink);
181
+ margin: 0;
182
+ }
183
+ .land-preview-cite {
184
+ background: linear-gradient(transparent 60%, rgba(11, 83, 148, 0.14) 60%);
185
+ }
186
+ .land-preview-cite sup {
187
+ font-family: var(--font-mono);
188
+ font-size: 10px;
189
+ color: var(--tier-empirical);
190
+ margin-left: 2px;
191
+ vertical-align: super;
192
+ }
193
+ .land-preview-cites {
194
+ display: flex;
195
+ flex-direction: column;
196
+ gap: 4px;
197
+ padding-top: 10px;
198
+ border-top: 1px dashed var(--rule-soft);
199
+ }
200
+ .land-preview-cite-row {
201
+ display: grid;
202
+ grid-template-columns: 30px 1fr 70px;
203
+ gap: 8px;
204
+ align-items: baseline;
205
+ font-family: var(--font-mono);
206
+ font-size: 11px;
207
+ }
208
+ .land-preview-cite-pin { color: var(--tier-empirical); font-weight: 600; }
209
+ .land-preview-cite-src { color: var(--ink); }
210
+ .land-preview-cite-tier {
211
+ color: var(--ink-tertiary);
212
+ text-align: right;
213
+ letter-spacing: 0.04em;
214
+ }
215
+
216
+ /* Cards pane */
217
+ .land-preview-pane-cards { gap: 8px; }
218
+ .land-evcard-grid {
219
+ display: grid;
220
+ grid-template-columns: 1fr 1fr;
221
+ gap: 6px;
222
+ flex: 1;
223
+ }
224
+ .land-evcard {
225
+ background: var(--paper);
226
+ border: 1px solid var(--rule-soft);
227
+ padding: 8px 10px;
228
+ display: flex;
229
+ flex-direction: column;
230
+ gap: 3px;
231
+ }
232
+ .land-evcard-empirical { border-left: 2px solid var(--tier-empirical); }
233
+ .land-evcard-modeled { border-left: 2px solid var(--tier-modeled); }
234
+ .land-evcard-head {
235
+ display: flex;
236
+ justify-content: space-between;
237
+ align-items: baseline;
238
+ font-family: var(--font-mono);
239
+ font-size: 10px;
240
+ letter-spacing: 0.06em;
241
+ }
242
+ .land-evcard-tier { color: var(--ink-secondary); text-transform: uppercase; }
243
+ .land-evcard-empirical .land-evcard-tier { color: var(--tier-empirical); }
244
+ .land-evcard-modeled .land-evcard-tier { color: var(--tier-modeled); }
245
+ .land-evcard-id { color: var(--ink-tertiary); }
246
+ .land-evcard-claim {
247
+ font-family: var(--font-sans);
248
+ font-size: 12.5px;
249
+ line-height: 1.35;
250
+ color: var(--ink);
251
+ }
252
+ .land-evcard-source {
253
+ font-family: var(--font-mono);
254
+ font-size: 10.5px;
255
+ color: var(--ink-tertiary);
256
+ }
257
+
258
+ /* Map pane */
259
+ .land-preview-pane-map { padding: 16px 18px; }
260
+ .land-mapmini {
261
+ position: relative;
262
+ aspect-ratio: 6 / 5;
263
+ border: 1px solid var(--rule-soft);
264
+ overflow: hidden;
265
+ }
266
+ .land-mapmini-legend {
267
+ position: absolute;
268
+ left: 6px;
269
+ bottom: 6px;
270
+ right: 6px;
271
+ display: flex;
272
+ gap: 10px;
273
+ padding: 4px 6px;
274
+ background: rgba(255, 255, 255, 0.92);
275
+ font-family: var(--font-mono);
276
+ font-size: 9.5px;
277
+ letter-spacing: 0.04em;
278
+ color: var(--ink-secondary);
279
+ }
280
+ .land-mapmini-legend span {
281
+ display: inline-flex;
282
+ align-items: center;
283
+ gap: 4px;
284
+ }
285
+ .lm-sw { display: inline-block; width: 8px; height: 8px; }
286
+ .lm-sw-emp { background: var(--tier-empirical); }
287
+ .lm-sw-mod {
288
+ background: rgba(42, 111, 168, 0.4);
289
+ border: 1px dashed var(--tier-modeled);
290
+ }
291
+ .lm-sw-prx {
292
+ background: transparent;
293
+ border: 1px solid #6B6B6B;
294
+ border-radius: 50%;
295
+ }
296
+ .land-preview-mapmeta {
297
+ font-family: var(--font-mono);
298
+ font-size: 10.5px;
299
+ color: var(--ink-tertiary);
300
+ }
301
+
302
+ @media (max-width: 1000px) {
303
+ .land-preview-grid { grid-template-columns: 1fr 1fr; }
304
+ .land-preview-pane-excerpt { grid-column: 1 / -1; }
305
+ }
306
+ @media (max-width: 640px) {
307
+ .land-preview-grid { grid-template-columns: 1fr; }
308
+ .land-preview-pane-excerpt { grid-column: auto; }
309
+ }
310
+ </style>
web/sveltekit/src/lib/components/landing/LandStones.svelte ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ /** v0.4.5 §"Landing page" — Five Stones strip. 5-column grid, one
3
+ * cell per Stone, oversized italic-serif numerals 01..05 top-right
4
+ * of each cell (in --rule-soft, decorative). Stone tints applied as
5
+ * a 3px left-rule per cell to mirror the Findings region. */
6
+
7
+ type Frieze = {
8
+ name: string;
9
+ role: string;
10
+ tag: string;
11
+ sources: string;
12
+ tint: string;
13
+ };
14
+
15
+ const STONE_FRIEZE: Frieze[] = [
16
+ { name: 'Cornerstone', role: 'the hazard reader', tag: "what NYC's ground remembers", sources: 'USGS HWMs · FEMA NFHL · DEP stormwater · Prithvi historical', tint: 'var(--stone-cornerstone)' },
17
+ { name: 'Keystone', role: 'the asset register', tag: "what's exposed", sources: 'MTA · NYCHA · DOE · DOH · PLUTO', tint: 'var(--stone-keystone)' },
18
+ { name: 'Touchstone', role: 'the live observer', tag: "what's happening now", sources: 'FloodNet sensors · 311 complaints · NWS · NOAA tide gauges', tint: 'var(--stone-touchstone)' },
19
+ { name: 'Lodestone', role: 'the projector', tag: "what's coming", sources: 'NPCC4 · Granite TTM (zero-shot + NYC fine-tune) · NWS alerts', tint: 'var(--stone-lodestone)' },
20
+ { name: 'Capstone', role: 'the synthesizer', tag: 'writes it all down', sources: 'Granite 4.1 composer · Mellea grounding-check · WeasyPrint', tint: 'var(--stone-capstone)' },
21
+ ];
22
+ </script>
23
+
24
+ <section class="land-section-stones-detail" id="methodology">
25
+ <div class="land-page">
26
+ <div class="land-section-head">
27
+ <span class="section-label">How Riprap reads a place</span>
28
+ <span class="land-section-meta">Five Stones · one taxonomy · every briefing</span>
29
+ </div>
30
+ <p class="land-stones-deck">
31
+ Each briefing routes through a fixed taxonomy of public-record specialists. Each Stone is a class of evidence.
32
+ Together they form the briefing, and every claim in the output traces back to the Stone that produced it.
33
+ </p>
34
+ <div class="land-stones-detail">
35
+ {#each STONE_FRIEZE as s, i (s.name)}
36
+ <article class="land-stones-detail-cell" style:--stone-tint={s.tint}>
37
+ <div class="land-stones-detail-num">{String(i + 1).padStart(2, '0')}</div>
38
+ <h3 class="land-stones-detail-name">{s.name}</h3>
39
+ <div class="land-stones-detail-role">{s.role}</div>
40
+ <p class="land-stones-detail-tag">{s.tag}</p>
41
+ <div class="land-stones-detail-sources">{s.sources}</div>
42
+ </article>
43
+ {/each}
44
+ </div>
45
+ </div>
46
+ </section>
47
+
48
+ <style>
49
+ .land-section-stones-detail {
50
+ background: var(--paper-deep);
51
+ padding: 56px 32px;
52
+ border-top: 1px solid var(--rule-soft);
53
+ }
54
+ .land-page { max-width: 1200px; margin: 0 auto; }
55
+ .land-section-head {
56
+ display: flex;
57
+ justify-content: space-between;
58
+ align-items: baseline;
59
+ gap: 16px;
60
+ margin-bottom: 22px;
61
+ padding-bottom: 10px;
62
+ border-bottom: 1px solid var(--rule-soft);
63
+ }
64
+ .land-section-meta {
65
+ font-family: var(--font-serif);
66
+ font-style: italic;
67
+ font-size: 14px;
68
+ color: var(--ink-tertiary);
69
+ }
70
+ .land-stones-deck {
71
+ font-family: var(--font-serif);
72
+ font-size: 17px;
73
+ line-height: 1.6;
74
+ color: var(--ink-secondary);
75
+ max-width: 70ch;
76
+ margin: 0 0 22px;
77
+ }
78
+ .land-stones-detail {
79
+ display: grid;
80
+ grid-template-columns: repeat(5, 1fr);
81
+ gap: 0;
82
+ background: white;
83
+ border: 1px solid var(--rule-soft);
84
+ border-bottom: 2px solid var(--ink);
85
+ }
86
+ .land-stones-detail-cell {
87
+ position: relative;
88
+ padding: 28px 18px 22px;
89
+ border-right: 1px solid var(--rule-soft);
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 8px;
93
+ overflow: hidden;
94
+ border-left: 3px solid var(--stone-tint, var(--rule-soft));
95
+ }
96
+ .land-stones-detail-cell:last-child { border-right: none; }
97
+ .land-stones-detail-num {
98
+ position: absolute;
99
+ top: 6px;
100
+ right: 10px;
101
+ font-family: var(--font-serif);
102
+ font-style: italic;
103
+ font-weight: 400;
104
+ font-size: 38px;
105
+ line-height: 1;
106
+ color: var(--rule-soft);
107
+ letter-spacing: -0.02em;
108
+ pointer-events: none;
109
+ }
110
+ .land-stones-detail-name {
111
+ font-family: var(--font-serif);
112
+ font-size: 22px;
113
+ font-weight: 500;
114
+ margin: 0;
115
+ color: var(--ink);
116
+ }
117
+ .land-stones-detail-role {
118
+ font-family: var(--font-sans);
119
+ font-size: 13px;
120
+ color: var(--ink-secondary);
121
+ }
122
+ .land-stones-detail-tag {
123
+ font-family: var(--font-serif);
124
+ font-style: italic;
125
+ font-size: 14px;
126
+ color: var(--ink-tertiary);
127
+ margin: 0 0 6px;
128
+ line-height: 1.45;
129
+ }
130
+ .land-stones-detail-sources {
131
+ margin-top: auto;
132
+ padding-top: 10px;
133
+ border-top: 1px dashed var(--rule-soft);
134
+ font-family: var(--font-mono);
135
+ font-size: 11px;
136
+ color: var(--ink-secondary);
137
+ line-height: 1.55;
138
+ }
139
+ @media (max-width: 880px) {
140
+ .land-stones-detail { grid-template-columns: 1fr; }
141
+ .land-stones-detail-cell {
142
+ border-right: none;
143
+ border-bottom: 1px solid var(--rule-soft);
144
+ }
145
+ .land-stones-detail-cell:last-child { border-bottom: none; }
146
+ }
147
+ </style>
web/sveltekit/src/lib/components/shell/AppHeader.svelte CHANGED
@@ -26,7 +26,7 @@
26
  <header class="app-header no-print" data-screen-label="App header">
27
  <div class="app-header-inner">
28
  <div class="app-header-left">
29
- <a href="/" class="riprap-wordmark" aria-label="Riprap home">riprap</a>
30
  <span class="app-header-sep">/</span>
31
  <span class="app-header-context">flood-exposure briefing</span>
32
  </div>
 
26
  <header class="app-header no-print" data-screen-label="App header">
27
  <div class="app-header-inner">
28
  <div class="app-header-left">
29
+ <a href="/app" class="riprap-wordmark" aria-label="Riprap — back to query">riprap</a>
30
  <span class="app-header-sep">/</span>
31
  <span class="app-header-context">flood-exposure briefing</span>
32
  </div>
web/sveltekit/src/routes/+layout.svelte CHANGED
@@ -19,17 +19,22 @@
19
  }
20
  });
21
 
22
- // The /print/<id> route renders its own self-contained artifact (no
23
- // header / footer / skip-links). It's a print target, not an app surface.
 
 
 
24
  let isPrint = $derived(page.url.pathname.startsWith('/print/'));
 
 
25
  </script>
26
 
27
- {#if !isPrint}
28
  <SkipLinks />
29
- <AppHeader query={query()} onResetCold={() => (window.location.href = '/')} />
30
  {/if}
31
  <main>{@render children()}</main>
32
- {#if !isPrint}
33
  <AppFooter />
34
  {/if}
35
 
 
19
  }
20
  });
21
 
22
+ // The /print/<id> route renders its own self-contained artifact and
23
+ // the landing at `/` is a self-contained marketing surface both
24
+ // bring their own chrome, so the layout's AppHeader / AppFooter sit
25
+ // out for them. The cold-start at /app and the briefing at /q/<id>
26
+ // still get the app chrome.
27
  let isPrint = $derived(page.url.pathname.startsWith('/print/'));
28
+ let isLanding = $derived(page.url.pathname === '/');
29
+ let chromeFree = $derived(isPrint || isLanding);
30
  </script>
31
 
32
+ {#if !chromeFree}
33
  <SkipLinks />
34
+ <AppHeader query={query()} onResetCold={() => (window.location.href = '/app')} />
35
  {/if}
36
  <main>{@render children()}</main>
37
+ {#if !chromeFree}
38
  <AppFooter />
39
  {/if}
40
 
web/sveltekit/src/routes/+page.svelte CHANGED
@@ -1,9 +1,47 @@
1
  <script lang="ts">
2
- import ColdStart from '$lib/components/shell/ColdStart.svelte';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  </script>
4
 
5
- <section class="hero-band">
6
- <div class="hero-band-inner">
7
- <ColdStart />
 
 
 
 
 
 
 
8
  </div>
9
- </section>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <script lang="ts">
2
+ /** v0.4.5 marketing landing page at `/`.
3
+ *
4
+ * Per docs/design_handoff/README.md §"Landing page": four-section
5
+ * vertical scroll inside a 1200px-max paper-background frame:
6
+ *
7
+ * 1. Header (wordmark · context · nav)
8
+ * 2. Hero (italic-serif headline · deck · query box · cycling examples)
9
+ * 3. "What you'll get back" preview (excerpt · evidence cards · mini map)
10
+ * 4. Five Stones strip (5-cell explanation grid with oversized numerals)
11
+ * 5. Footer (tier legend + build line)
12
+ *
13
+ * Cold-start (the analyst's "ready to query" page) lives at /app.
14
+ * Live briefings remain at /q/<query>; sample at /q/sample.
15
+ */
16
+ import LandHeader from '$lib/components/landing/LandHeader.svelte';
17
+ import LandHero from '$lib/components/landing/LandHero.svelte';
18
+ import LandPreview from '$lib/components/landing/LandPreview.svelte';
19
+ import LandStones from '$lib/components/landing/LandStones.svelte';
20
+ import LandFooter from '$lib/components/landing/LandFooter.svelte';
21
  </script>
22
 
23
+ <svelte:head>
24
+ <title>Riprap — Flood Exposure Briefing for NYC</title>
25
+ <meta name="description" content="A citation-grounded flood-exposure briefing tool for any address, neighborhood, or BBL in New York City." />
26
+ </svelte:head>
27
+
28
+ <div class="land">
29
+ <LandHeader />
30
+ <div class="land-page">
31
+ <LandHero />
32
+ <LandPreview />
33
  </div>
34
+ <LandStones />
35
+ <LandFooter />
36
+ </div>
37
+
38
+ <style>
39
+ .land {
40
+ min-height: 100vh;
41
+ display: flex;
42
+ flex-direction: column;
43
+ background: var(--paper);
44
+ color: var(--ink);
45
+ }
46
+ .land-page { max-width: 1200px; margin: 0 auto; width: 100%; }
47
+ </style>
web/sveltekit/src/routes/app/+page.svelte ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ /** Cold-start state at /app — the "I'm ready to query" page.
3
+ *
4
+ * Separated from the marketing landing at / per V0.4.5 README
5
+ * §"Landing page". The landing pulls a curious visitor in with a
6
+ * hero, a "what you'll get back" preview, and the five-Stones
7
+ * strip; the cold-start is what an analyst lands on once they
8
+ * click through to do work. */
9
+ import ColdStart from '$lib/components/shell/ColdStart.svelte';
10
+ </script>
11
+
12
+ <section class="hero-band">
13
+ <div class="hero-band-inner">
14
+ <ColdStart />
15
+ </div>
16
+ </section>
web/sveltekit/src/routes/app/+page.ts ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ // Static prerender — the cold-start page is identical across visitors.
2
+ export const prerender = true;