@meridiona/meridian-darwin-arm64 1.8.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/bin/meridian +0 -0
- package/package.json +1 -1
- package/services/agents/llm_selector.py +171 -8
- package/services/agents/run_task_linker_mlx.py +64 -9
- package/services/agents/server.py +3 -3
- package/services/pyproject.toml +1 -1
- package/ui/.next/BUILD_ID +1 -1
- package/ui/.next/build-manifest.json +3 -3
- package/ui/.next/prerender-manifest.json +3 -3
- package/ui/.next/server/app/_global-error.html +1 -1
- package/ui/.next/server/app/_global-error.rsc +1 -1
- package/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.html +1 -1
- package/ui/.next/server/app/_not-found.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/ui/.next/server/app/index.html +1 -1
- package/ui/.next/server/app/index.rsc +1 -1
- package/ui/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/ui/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/ui/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/ui/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/ui/.next/server/app/settings.html +1 -1
- package/ui/.next/server/app/settings.rsc +1 -1
- package/ui/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/ui/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/ui/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/ui/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/ui/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/ui/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/ui/.next/server/chunks/_0-v4kl~._.js +1 -1
- package/ui/.next/server/middleware-build-manifest.js +3 -3
- package/ui/.next/server/pages/404.html +1 -1
- package/ui/.next/server/pages/500.html +1 -1
- package/ui/.next/server/server-reference-manifest.js +1 -1
- package/ui/.next/server/server-reference-manifest.json +1 -1
- package/ui/instrumentation.ts +21 -1
- package/ui/package.json +1 -1
- /package/ui/.next/static/{Cnx8sqiLMSS4KgRGDOgme → 0zQc82iq7ATvDDTkZyLpW}/_buildManifest.js +0 -0
- /package/ui/.next/static/{Cnx8sqiLMSS4KgRGDOgme → 0zQc82iq7ATvDDTkZyLpW}/_clientMiddlewareManifest.js +0 -0
- /package/ui/.next/static/{Cnx8sqiLMSS4KgRGDOgme → 0zQc82iq7ATvDDTkZyLpW}/_ssgManifest.js +0 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.9.0
|
package/bin/meridian
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meridiona/meridian-darwin-arm64",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
|
|
5
5
|
"homepage": "https://github.com/Meridiona/meridian",
|
|
6
6
|
"repository": {
|
|
@@ -79,6 +79,7 @@ _MODELS = [
|
|
|
79
79
|
("phi-4", "mlx", 8.5, 80, "mlx-community/phi-4-4bit"),
|
|
80
80
|
("r1-14b", "mlx", 8.5, 78, "mlx-community/DeepSeek-R1-Distill-Qwen-14B-4bit"),
|
|
81
81
|
("gemma3-12b", "mlx", 7.0, 75, "mlx-community/gemma-3-12b-it-qat-4bit"),
|
|
82
|
+
("qwen3.5-9b-optiq","mlx", 6.5, 74, "mlx-community/Qwen3.5-9B-OptiQ-4bit"), # eval-tuned classifier default
|
|
82
83
|
("qwen3.5-4b", "mlx", 2.5, 65, "mlx-community/Qwen3.5-4B-MLX-4bit"),
|
|
83
84
|
("llama3.2-3b", "mlx", 1.8, 62, "mlx-community/Llama-3.2-3B-Instruct-4bit"),
|
|
84
85
|
("apple-intelligence", "apple_fm", 0.0, 60, None),
|
|
@@ -203,16 +204,23 @@ def discover_running_servers() -> list[RunningServer]:
|
|
|
203
204
|
else:
|
|
204
205
|
log.debug("llm_selector: no server on port 8080")
|
|
205
206
|
|
|
206
|
-
# 4. Apple FoundationModels — in-process, no port, macOS 26
|
|
207
|
+
# 4. Apple FoundationModels — in-process, no port, macOS 26+.
|
|
208
|
+
# is_available() is an INSTANCE method returning (bool, reason).
|
|
209
|
+
# Catch broadly (not just ImportError): an absent OR API-skewed
|
|
210
|
+
# apple_fm_sdk must degrade to "not found", never crash the whole
|
|
211
|
+
# discovery sweep (which would push every caller to cloud).
|
|
207
212
|
try:
|
|
208
213
|
from apple_fm_sdk import SystemLanguageModel # type: ignore[import]
|
|
209
|
-
|
|
214
|
+
available, reason = SystemLanguageModel().is_available()
|
|
215
|
+
if available:
|
|
210
216
|
found.append(RunningServer(
|
|
211
217
|
"apple_fm", "", ["apple-intelligence"], "apple-intelligence"))
|
|
212
218
|
log.info("llm_selector: Apple Intelligence available")
|
|
213
219
|
span.add_event("apple_fm_found")
|
|
214
|
-
|
|
215
|
-
|
|
220
|
+
else:
|
|
221
|
+
log.debug("llm_selector: Apple Intelligence unavailable: %s", reason)
|
|
222
|
+
except Exception as exc: # noqa: BLE001 — SDK absent or version-skewed
|
|
223
|
+
log.debug("llm_selector: Apple FM probe skipped: %s", exc)
|
|
216
224
|
|
|
217
225
|
span.set_attribute("servers.found", len(found))
|
|
218
226
|
span.set_attribute("servers.names", str([s.runtime for s in found]))
|
|
@@ -457,9 +465,13 @@ def _infer_apple_intelligence(system: str, user: str, max_tokens: int) -> Option
|
|
|
457
465
|
import asyncio
|
|
458
466
|
from apple_fm_sdk import LanguageModelSession # type: ignore[import]
|
|
459
467
|
async def _run() -> str:
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
return
|
|
468
|
+
# Constructor kwarg is `instructions` (the system prompt). respond()
|
|
469
|
+
# is a coroutine; in free-form mode it resolves to a plain str, while
|
|
470
|
+
# guided modes return a GeneratedContent with a .content attr — handle
|
|
471
|
+
# both. (max_tokens is governed by the SDK's own GenerationOptions.)
|
|
472
|
+
session = LanguageModelSession(instructions=system)
|
|
473
|
+
r = await session.respond(user)
|
|
474
|
+
return getattr(r, "content", r)
|
|
463
475
|
return asyncio.run(_run())
|
|
464
476
|
except Exception as exc:
|
|
465
477
|
log.warning("llm_selector: apple_fm failed: %s", exc)
|
|
@@ -801,6 +813,156 @@ def select_model_for_hermes(budget_pct: Optional[float] = None) -> Optional[Loca
|
|
|
801
813
|
raise
|
|
802
814
|
|
|
803
815
|
|
|
816
|
+
def _hf_model_cached(hf_id: "str | None") -> bool:
|
|
817
|
+
"""True when a HuggingFace repo's weights are already in the local cache.
|
|
818
|
+
|
|
819
|
+
A best-effort filesystem check so dynamic selection never picks a catalog
|
|
820
|
+
model that would trigger a multi-GB ``snapshot_download`` (online) or raise
|
|
821
|
+
(offline) inside ``mlx_lm.load`` at server startup. Honours HF_HUB_CACHE /
|
|
822
|
+
HF_HOME, falling back to ~/.cache/huggingface/hub. Mirrors the
|
|
823
|
+
"best among what's present" philosophy of discover_running_servers().
|
|
824
|
+
"""
|
|
825
|
+
if not hf_id:
|
|
826
|
+
return False
|
|
827
|
+
hf_home = os.environ.get("HF_HOME")
|
|
828
|
+
cache = (
|
|
829
|
+
os.environ.get("HF_HUB_CACHE")
|
|
830
|
+
or (os.path.join(hf_home, "hub") if hf_home else None)
|
|
831
|
+
or str(Path.home() / ".cache" / "huggingface" / "hub")
|
|
832
|
+
)
|
|
833
|
+
snapshots = Path(cache) / ("models--" + hf_id.replace("/", "--")) / "snapshots"
|
|
834
|
+
if not snapshots.is_dir():
|
|
835
|
+
return False
|
|
836
|
+
# A revision directory that actually contains files (not just an empty shell).
|
|
837
|
+
for rev in snapshots.iterdir():
|
|
838
|
+
if rev.is_dir() and any(rev.iterdir()):
|
|
839
|
+
return True
|
|
840
|
+
return False
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
def select_mlx_model_id(
|
|
844
|
+
preferred_hf_id: "str | None" = None,
|
|
845
|
+
preferred_min_ram_gb: float = 0.0,
|
|
846
|
+
budget_pct: "float | None" = None,
|
|
847
|
+
) -> "str | None":
|
|
848
|
+
"""Pick the best **in-process** MLX model id for this machine.
|
|
849
|
+
|
|
850
|
+
Selection-only sibling of select_model_for_hermes(): returns a HuggingFace
|
|
851
|
+
repo id the caller loads directly via mlx_lm + outlines (FSM-constrained
|
|
852
|
+
decoding). It deliberately does NOT discover external servers
|
|
853
|
+
(Ollama / LM Studio / Apple Intelligence give no constrained decoding) and
|
|
854
|
+
does NOT spawn a managed mlx_lm.server — the MLX classifier server loads the
|
|
855
|
+
chosen model in-process and is the single LLM host for every stage.
|
|
856
|
+
|
|
857
|
+
Priority:
|
|
858
|
+
1. ``preferred_hf_id`` when it fits the Metal headroom budget — the
|
|
859
|
+
eval-tuned classifier model. Keep it on capable machines; degrade only
|
|
860
|
+
when it physically won't fit, so a generic catalog ``quality_score``
|
|
861
|
+
never silently swaps out the tuned model on a big box.
|
|
862
|
+
2. The largest catalog model that fits (``_select_mlx_entry``).
|
|
863
|
+
3. ``preferred_hf_id`` as a best-effort fallback when nothing in the
|
|
864
|
+
catalog fits — let ``mlx_lm.load`` try rather than returning None and
|
|
865
|
+
breaking the load.
|
|
866
|
+
|
|
867
|
+
Returns None only when no ``preferred_hf_id`` is given and nothing fits.
|
|
868
|
+
"""
|
|
869
|
+
if budget_pct is None:
|
|
870
|
+
try:
|
|
871
|
+
from agents.config import LLM_BUDGET_PCT
|
|
872
|
+
budget_pct = LLM_BUDGET_PCT
|
|
873
|
+
except Exception:
|
|
874
|
+
budget_pct = 0.5
|
|
875
|
+
|
|
876
|
+
with _tracer.start_as_current_span("llm_selector.select_mlx_model_id") as span:
|
|
877
|
+
span.set_attribute("llm.preferred_hf_id", preferred_hf_id or "")
|
|
878
|
+
span.set_attribute("llm.preferred_min_ram_gb", preferred_min_ram_gb)
|
|
879
|
+
span.set_attribute("llm.budget_pct", budget_pct)
|
|
880
|
+
|
|
881
|
+
# Non-Apple-Silicon: no MLX runtime — return the preferred default so the
|
|
882
|
+
# caller's behaviour is unchanged (the load path no-ops/fails as before).
|
|
883
|
+
if platform.system() != "Darwin":
|
|
884
|
+
span.set_attribute("llm.reason", "not_darwin")
|
|
885
|
+
span.set_attribute("llm.selected_model", preferred_hf_id or "")
|
|
886
|
+
return preferred_hf_id
|
|
887
|
+
brand = _sysctl("machdep.cpu.brand_string") or ""
|
|
888
|
+
if not brand.startswith("Apple M"):
|
|
889
|
+
span.set_attribute("llm.reason", "not_apple_silicon")
|
|
890
|
+
span.set_attribute("llm.selected_model", preferred_hf_id or "")
|
|
891
|
+
return preferred_hf_id
|
|
892
|
+
|
|
893
|
+
try:
|
|
894
|
+
snap = probe_compute()
|
|
895
|
+
except Exception as exc: # noqa: BLE001
|
|
896
|
+
span.record_exception(exc)
|
|
897
|
+
span.set_attribute("llm.reason", "compute_probe_failed")
|
|
898
|
+
span.set_attribute("llm.selected_model", preferred_hf_id or "")
|
|
899
|
+
log.warning("llm_selector: compute probe failed (%s) — using %s",
|
|
900
|
+
exc, preferred_hf_id)
|
|
901
|
+
return preferred_hf_id
|
|
902
|
+
|
|
903
|
+
# Relax the budget when the screen is locked — the user won't feel the
|
|
904
|
+
# latency — and mirror _select_mlx_entry's heavy-throttle cap so the
|
|
905
|
+
# preferred-fit check sees the same budget the catalog ladder does.
|
|
906
|
+
effective_pct = (
|
|
907
|
+
min(0.8, budget_pct * 1.5) if snap.screen_locked else budget_pct
|
|
908
|
+
)
|
|
909
|
+
budget = snap.metal_headroom_gb * effective_pct
|
|
910
|
+
if snap.thermal_level >= 2:
|
|
911
|
+
budget = min(budget, 9.0)
|
|
912
|
+
|
|
913
|
+
span.set_attribute("llm.headroom_gb", round(snap.metal_headroom_gb, 2))
|
|
914
|
+
span.set_attribute("llm.effective_pct", round(effective_pct, 3))
|
|
915
|
+
span.set_attribute("llm.budget_gb", round(budget, 2))
|
|
916
|
+
span.set_attribute("llm.thermal_level", snap.thermal_level)
|
|
917
|
+
span.set_attribute("llm.screen_locked", snap.screen_locked)
|
|
918
|
+
|
|
919
|
+
# 1. Keep the tuned classifier model when it fits.
|
|
920
|
+
if preferred_hf_id and preferred_min_ram_gb <= budget:
|
|
921
|
+
span.set_attribute("llm.reason", "preferred_fits")
|
|
922
|
+
span.set_attribute("llm.selected_model", preferred_hf_id)
|
|
923
|
+
log.info(
|
|
924
|
+
"llm_selector: MLX in-process model=%s (preferred — min_ram=%.1f GB "
|
|
925
|
+
"fits budget=%.1f GB)",
|
|
926
|
+
preferred_hf_id, preferred_min_ram_gb, budget,
|
|
927
|
+
)
|
|
928
|
+
return preferred_hf_id
|
|
929
|
+
|
|
930
|
+
# 2. Largest catalog model that BOTH fits the budget AND is already in
|
|
931
|
+
# the HF cache. Gating on the cache keeps "dynamic" meaning "best
|
|
932
|
+
# among what's present" — never a surprise multi-GB download (or an
|
|
933
|
+
# offline load failure that would kill server startup) on exactly the
|
|
934
|
+
# constrained machines this degradation path targets. The `budget`
|
|
935
|
+
# here is already thermal-capped, matching _select_mlx_entry.
|
|
936
|
+
for model_id, backend, min_ram, quality, hf_id in _MODELS:
|
|
937
|
+
if backend != "mlx" or min_ram > budget:
|
|
938
|
+
continue
|
|
939
|
+
if not _hf_model_cached(hf_id):
|
|
940
|
+
log.debug(
|
|
941
|
+
"llm_selector: skip %s — fits budget=%.1f GB but not in HF cache",
|
|
942
|
+
hf_id, budget,
|
|
943
|
+
)
|
|
944
|
+
continue
|
|
945
|
+
span.set_attribute("llm.reason", "catalog_fit_cached")
|
|
946
|
+
span.set_attribute("llm.selected_model", hf_id)
|
|
947
|
+
log.info(
|
|
948
|
+
"llm_selector: MLX in-process model=%s hf=%s min_ram=%.1f GB "
|
|
949
|
+
"quality=%d cached (preferred=%s did not fit budget=%.1f GB)",
|
|
950
|
+
model_id, hf_id, min_ram, quality, preferred_hf_id, budget,
|
|
951
|
+
)
|
|
952
|
+
return hf_id
|
|
953
|
+
|
|
954
|
+
# 3. Nothing cached fits the budget — best effort with the preferred id.
|
|
955
|
+
# (Loading preferred-when-absent is the pre-existing single-model
|
|
956
|
+
# behaviour, not a regression introduced by dynamic selection.)
|
|
957
|
+
span.set_attribute("llm.reason", "nothing_cached_fits_use_preferred")
|
|
958
|
+
span.set_attribute("llm.selected_model", preferred_hf_id or "")
|
|
959
|
+
log.warning(
|
|
960
|
+
"llm_selector: no cached MLX model fits budget=%.1f GB — falling back to %s",
|
|
961
|
+
budget, preferred_hf_id,
|
|
962
|
+
)
|
|
963
|
+
return preferred_hf_id
|
|
964
|
+
|
|
965
|
+
|
|
804
966
|
def resolve_model(name: str) -> "dict | None":
|
|
805
967
|
"""Resolve a short name ('phi-4') or HF ID to its catalog entry.
|
|
806
968
|
|
|
@@ -837,7 +999,8 @@ def discover_mlx_eval_server(port: int = 7823) -> "str | None":
|
|
|
837
999
|
|
|
838
1000
|
__all__ = ["local_infer", "discover_running_servers", "probe_compute",
|
|
839
1001
|
"RunningServer", "ComputeSnapshot", "LocalModelEndpoint",
|
|
840
|
-
"select_model_for_hermes", "
|
|
1002
|
+
"select_model_for_hermes", "select_mlx_model_id",
|
|
1003
|
+
"shutdown_managed_server",
|
|
841
1004
|
"resolve_model", "discover_mlx_eval_server"]
|
|
842
1005
|
|
|
843
1006
|
# Public alias (no underscore) for external callers
|
|
@@ -50,9 +50,63 @@ _CONTEXT_WINDOW = 5
|
|
|
50
50
|
_MAX_TOKENS = 1024
|
|
51
51
|
_TEMPERATURE = 0.0 # greedy decoding — deterministic classification
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
# The eval-tuned default classifier model. It lives in the llm_selector catalog
|
|
54
|
+
# (_MODELS) as "qwen3.5-9b-optiq"; llm_selector keeps it on machines where it
|
|
55
|
+
# fits and degrades only when Metal headroom can't accommodate it. The catalog
|
|
56
|
+
# is the single source of truth for its working-set footprint — the constant
|
|
57
|
+
# below is only the fallback used if the lookup ever fails (~5-6 GB resident for
|
|
58
|
+
# the 9B-4bit weights, plus KV cache at our 1024-token generation budget).
|
|
59
|
+
_DEFAULT_MLX_MODEL_ID = "mlx-community/Qwen3.5-9B-OptiQ-4bit"
|
|
60
|
+
_DEFAULT_MLX_MODEL_MIN_RAM_GB = 6.5
|
|
61
|
+
|
|
62
|
+
# Explicit pin — set MLX_MODEL_ID to bypass dynamic selection entirely (eval
|
|
63
|
+
# experiments, reproducible benchmarks). When unset, the model is chosen at
|
|
64
|
+
# runtime by llm_selector.select_mlx_model_id() based on available compute.
|
|
65
|
+
_MLX_MODEL_ID_PIN = os.environ.get("MLX_MODEL_ID")
|
|
66
|
+
|
|
67
|
+
# Resolved lazily and cached for the process lifetime by _resolve_model_id().
|
|
68
|
+
# Kept as a module attribute (not just a function return) so /info, /v1/models,
|
|
69
|
+
# and the llm_inference span all report the same, truthful id.
|
|
70
|
+
_MLX_MODEL_ID: str | None = None
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def _resolve_model_id() -> str:
|
|
74
|
+
"""Resolve the MLX model id for this process — once, then cached.
|
|
75
|
+
|
|
76
|
+
Order: explicit MLX_MODEL_ID pin → dynamic selection via llm_selector →
|
|
77
|
+
the hardcoded eval-tuned default on any failure. Never returns None so the
|
|
78
|
+
in-process load always has a concrete id to hand mlx_lm.load.
|
|
79
|
+
"""
|
|
80
|
+
global _MLX_MODEL_ID
|
|
81
|
+
if _MLX_MODEL_ID is not None:
|
|
82
|
+
return _MLX_MODEL_ID
|
|
83
|
+
|
|
84
|
+
if _MLX_MODEL_ID_PIN:
|
|
85
|
+
_MLX_MODEL_ID = _MLX_MODEL_ID_PIN
|
|
86
|
+
log.info("run_task_linker_mlx: model pinned via MLX_MODEL_ID=%s", _MLX_MODEL_ID)
|
|
87
|
+
return _MLX_MODEL_ID
|
|
88
|
+
|
|
89
|
+
try:
|
|
90
|
+
from agents.llm_selector import resolve_model, select_mlx_model_id
|
|
91
|
+
entry = resolve_model(_DEFAULT_MLX_MODEL_ID)
|
|
92
|
+
preferred_min_ram = (
|
|
93
|
+
entry["min_ram_gb"] if entry else _DEFAULT_MLX_MODEL_MIN_RAM_GB
|
|
94
|
+
)
|
|
95
|
+
_MLX_MODEL_ID = select_mlx_model_id(
|
|
96
|
+
preferred_hf_id=_DEFAULT_MLX_MODEL_ID,
|
|
97
|
+
preferred_min_ram_gb=preferred_min_ram,
|
|
98
|
+
) or _DEFAULT_MLX_MODEL_ID
|
|
99
|
+
except Exception as exc: # noqa: BLE001
|
|
100
|
+
log.warning(
|
|
101
|
+
"run_task_linker_mlx: dynamic model selection failed (%s) — "
|
|
102
|
+
"using default %s", exc, _DEFAULT_MLX_MODEL_ID,
|
|
103
|
+
)
|
|
104
|
+
_MLX_MODEL_ID = _DEFAULT_MLX_MODEL_ID
|
|
105
|
+
|
|
106
|
+
log.info("run_task_linker_mlx: resolved MLX model=%s", _MLX_MODEL_ID)
|
|
107
|
+
return _MLX_MODEL_ID
|
|
108
|
+
|
|
109
|
+
|
|
56
110
|
_SKILL_PATH = (
|
|
57
111
|
_SERVICES_DIR / "skills" / "activity" / "task-classifier" / "SKILL.md"
|
|
58
112
|
)
|
|
@@ -185,8 +239,9 @@ _model_cache: dict[str, Any] = {}
|
|
|
185
239
|
|
|
186
240
|
def _get_model() -> Any:
|
|
187
241
|
"""Return an outlines-wrapped model, loading from disk on the first call."""
|
|
188
|
-
|
|
189
|
-
|
|
242
|
+
model_id = _resolve_model_id()
|
|
243
|
+
if model_id in _model_cache:
|
|
244
|
+
return _model_cache[model_id]
|
|
190
245
|
|
|
191
246
|
try:
|
|
192
247
|
import mlx_lm
|
|
@@ -198,17 +253,17 @@ def _get_model() -> Any:
|
|
|
198
253
|
) from exc
|
|
199
254
|
|
|
200
255
|
log.info(
|
|
201
|
-
"run_task_linker_mlx: loading %s (first call this process)",
|
|
256
|
+
"run_task_linker_mlx: loading %s (first call this process)", model_id
|
|
202
257
|
)
|
|
203
258
|
t0 = time.time()
|
|
204
259
|
mlx_model, tokenizer = mlx_lm.load(
|
|
205
|
-
|
|
260
|
+
model_id,
|
|
206
261
|
tokenizer_config={"trust_remote_code": True},
|
|
207
262
|
)
|
|
208
263
|
outlines_model = outlines.from_mlxlm(mlx_model, tokenizer)
|
|
209
264
|
log.info("run_task_linker_mlx: model loaded in %.1fs", time.time() - t0)
|
|
210
265
|
|
|
211
|
-
_model_cache[
|
|
266
|
+
_model_cache[model_id] = outlines_model
|
|
212
267
|
return outlines_model
|
|
213
268
|
|
|
214
269
|
|
|
@@ -369,7 +424,7 @@ def _classify_one(
|
|
|
369
424
|
# ── llm_inference ─────────────────────────────────────────────────────────
|
|
370
425
|
t0 = time.time()
|
|
371
426
|
with tracer.start_as_current_span("llm_inference") as llm_span:
|
|
372
|
-
llm_span.set_attribute("model",
|
|
427
|
+
llm_span.set_attribute("model", _resolve_model_id())
|
|
373
428
|
llm_span.set_attribute("max_tokens", _MAX_TOKENS)
|
|
374
429
|
llm_span.set_attribute("temperature", _TEMPERATURE)
|
|
375
430
|
llm_span.add_event("inference_started", {"session_id": session_id})
|
|
@@ -95,7 +95,7 @@ async def info() -> dict:
|
|
|
95
95
|
m = _app_state.get("mlx_module")
|
|
96
96
|
return {
|
|
97
97
|
"backend": _app_state.get("backend", "hermes"),
|
|
98
|
-
"model_id": m.
|
|
98
|
+
"model_id": m._resolve_model_id() if m else None,
|
|
99
99
|
"loaded_at": _app_state.get("loaded_at"),
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -646,8 +646,8 @@ async def openai_models_list() -> dict:
|
|
|
646
646
|
model_id = "qwen3.5-9b-instruct"
|
|
647
647
|
if _app_state.get("backend") == "mlx":
|
|
648
648
|
m = _app_state.get("mlx_module")
|
|
649
|
-
if m is not None and hasattr(m, "
|
|
650
|
-
model_id = m.
|
|
649
|
+
if m is not None and hasattr(m, "_resolve_model_id"):
|
|
650
|
+
model_id = m._resolve_model_id()
|
|
651
651
|
return {
|
|
652
652
|
"object": "list",
|
|
653
653
|
"data": [
|
package/services/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "meridian-agents"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.9.0"
|
|
8
8
|
description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
authors = [{ name = "Meridiona" }]
|
package/ui/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
0zQc82iq7ATvDDTkZyLpW
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/0zQc82iq7ATvDDTkZyLpW/_buildManifest.js",
|
|
11
|
+
"static/0zQc82iq7ATvDDTkZyLpW/_ssgManifest.js",
|
|
12
|
+
"static/0zQc82iq7ATvDDTkZyLpW/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/120gq8w9i9o8g.js",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
"dynamicRoutes": {},
|
|
103
103
|
"notFoundRoutes": [],
|
|
104
104
|
"preview": {
|
|
105
|
-
"previewModeId": "
|
|
106
|
-
"previewModeSigningKey": "
|
|
107
|
-
"previewModeEncryptionKey": "
|
|
105
|
+
"previewModeId": "5a7bf11a6db244976f50c9c83fd52582",
|
|
106
|
+
"previewModeSigningKey": "79cd379108d629f7c8f639e36d6260dc62f34017fa2a5a9dbe8c2cc8d1f5a8ed",
|
|
107
|
+
"previewModeEncryptionKey": "04d91cfe492d7d72a3f917a732a17070323eedb72c73c2845909835a6c075d32"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/120gq8w9i9o8g.js"/><script src="/_next/static/chunks/140ovxvjat1ch.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0_6a5_lndzekh.js" async=""></script><script src="/_next/static/chunks/0dbhjjzl8qfwv.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/120gq8w9i9o8g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/120gq8w9i9o8g.js"/><script src="/_next/static/chunks/140ovxvjat1ch.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0_6a5_lndzekh.js" async=""></script><script src="/_next/static/chunks/0dbhjjzl8qfwv.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/120gq8w9i9o8g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/0dbhjjzl8qfwv.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"0zQc82iq7ATvDDTkZyLpW\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
8:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[68027,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"default",1]
|
|
9
|
-
0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
9
|
+
0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"0zQc82iq7ATvDDTkZyLpW"}
|
|
10
10
|
d:[]
|
|
11
11
|
7:"$Wd"
|
|
12
12
|
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"OutletBoundary"]
|
|
3
3
|
3:"$Sreact.suspense"
|
|
4
|
-
0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
4
|
+
0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"0zQc82iq7ATvDDTkZyLpW"}
|
|
5
5
|
4:null
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
8:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[68027,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"default",1]
|
|
9
|
-
0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
9
|
+
0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"0zQc82iq7ATvDDTkZyLpW"}
|
|
10
10
|
d:[]
|
|
11
11
|
7:"$Wd"
|
|
12
12
|
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"ViewportBoundary"]
|
|
3
3
|
3:I[97367,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"0zQc82iq7ATvDDTkZyLpW"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[39756,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"default"]
|
|
3
3
|
3:I[37457,["/_next/static/chunks/0dbhjjzl8qfwv.js"],"default"]
|
|
4
4
|
4:[]
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"0zQc82iq7ATvDDTkZyLpW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"
|
|
1
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"0zQc82iq7ATvDDTkZyLpW"}
|