gentiq 0.7.30 → 0.7.31

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.
@@ -1,20 +1,20 @@
1
- import { jsx as i, Fragment as J, jsxs as w } from "react/jsx-runtime";
1
+ import { jsx as i, Fragment as Z, jsxs as _ } from "react/jsx-runtime";
2
2
  import * as Ce from "react";
3
- import { useState as B, useCallback as oe, useMemo as St, useEffect as Q, Children as cn, useRef as Ge, memo as de, createContext as pe, useContext as Fe } from "react";
3
+ import { createContext as de, useContext as Fe, useState as B, useEffect as J, useCallback as oe, useMemo as St, Children as cn, useRef as Ge, memo as pe } from "react";
4
4
  import { useTranslation as M, initReactI18next as un } from "react-i18next";
5
- import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as De, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Et, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Nt, BrainIcon as wn, WrenchIcon as _n, ImagePlusIcon as xn, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Tt, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
6
- import { Slot as Ct } from "@radix-ui/react-slot";
7
- import { cva as Pe } from "class-variance-authority";
8
- import { StickToBottom as At, useStickToBottomContext as In } from "use-stick-to-bottom";
9
- import * as Me from "@radix-ui/react-collapsible";
10
- import * as K from "@radix-ui/react-tooltip";
11
- import { toast as Rn } from "sonner";
5
+ import { Slot as Et } from "@radix-ui/react-slot";
6
+ import { cva as De } from "class-variance-authority";
7
+ import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as Pe, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Nt, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Tt, BrainIcon as wn, WrenchIcon as _n, ImagePlusIcon as xn, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Ct, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
8
+ import * as X from "@radix-ui/react-tooltip";
9
+ import { toast as In } from "sonner";
12
10
  import "@radix-ui/react-scroll-area";
13
- import { Streamdown as On } from "streamdown";
11
+ import { Streamdown as Rn } from "streamdown";
14
12
  import Ve from "katex";
15
13
  import { useControllableState as We } from "@radix-ui/react-use-controllable-state";
14
+ import * as Me from "@radix-ui/react-collapsible";
16
15
  import * as H from "@radix-ui/react-dialog";
17
16
  import { PrismLight as U } from "react-syntax-highlighter";
17
+ import { StickToBottom as At, useStickToBottomContext as On } from "use-stick-to-bottom";
18
18
  import Ln from "i18next";
19
19
  import * as F from "@radix-ui/react-select";
20
20
  import * as re from "@radix-ui/react-dropdown-menu";
@@ -22,6 +22,63 @@ import * as Ye from "@radix-ui/react-checkbox";
22
22
  import { clsx as Fn } from "clsx";
23
23
  import { twMerge as Dn } from "tailwind-merge";
24
24
  const Pn = {
25
+ theme: "system",
26
+ setTheme: () => null,
27
+ accent: void 0,
28
+ setAccent: () => null,
29
+ radius: void 0,
30
+ setRadius: () => null
31
+ }, It = de(Pn);
32
+ function ki({
33
+ children: e,
34
+ defaultTheme: t = "system",
35
+ storageKey: n = "chatbot-theme",
36
+ config: o,
37
+ ...r
38
+ }) {
39
+ const [a, l] = B(() => {
40
+ const u = window.localStorage.getItem(n);
41
+ return u === "system" || u === "light" || u === "dark" ? u : void 0;
42
+ }), [c, s] = B(
43
+ () => window.localStorage.getItem(n + "-accent") || void 0
44
+ ), [p, g] = B(
45
+ () => window.localStorage.getItem(n + "-radius") || "1.25rem"
46
+ ), { i18n: m } = M(["theme"]), f = a ?? o?.defaultTheme ?? t, b = c ?? o?.accent;
47
+ J(() => {
48
+ const u = window.document.documentElement;
49
+ if (u.classList.remove("light", "dark"), f === "system") {
50
+ const w = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
51
+ u.classList.add(w);
52
+ return;
53
+ }
54
+ u.classList.add(f);
55
+ }, [f]), J(() => {
56
+ const u = window.document.documentElement, w = m.language?.split("-")[0] || m.language;
57
+ let v = o?.typography?.fontFamily;
58
+ if (typeof v == "object" && v !== null && (v = v[m.language] || v[w] || v.en || Object.values(v)[0]), v) {
59
+ const C = v.includes(" ") && !v.startsWith("'") && !v.startsWith('"') ? `"${v}"` : v;
60
+ u.style.setProperty("--gentiq-font-family", C), u.style.fontFamily = C, window.document.body && (window.document.body.style.fontFamily = C);
61
+ }
62
+ const h = p || (typeof o?.radius == "number" ? `${o.radius}px` : o?.radius);
63
+ h !== void 0 && u.style.setProperty("--radius", h), b !== void 0 ? u.style.setProperty("--gentiq-primary", b) : u.style.removeProperty("--gentiq-primary"), window.document.documentElement.dir = m.dir();
64
+ }, [o, m, m.language, b, p]);
65
+ const k = {
66
+ theme: f,
67
+ setTheme: (u) => {
68
+ window.localStorage.setItem(n, u), l(u);
69
+ },
70
+ accent: b,
71
+ setAccent: (u) => {
72
+ u ? window.localStorage.setItem(n + "-accent", u) : window.localStorage.removeItem(n + "-accent"), s(u);
73
+ },
74
+ radius: p,
75
+ setRadius: (u) => {
76
+ u ? window.localStorage.setItem(n + "-radius", u) : window.localStorage.removeItem(n + "-radius"), g(u);
77
+ }
78
+ };
79
+ return /* @__PURE__ */ i(It.Provider, { ...r, value: k, children: e });
80
+ }
81
+ const vi = () => Fe(It), Mn = {
25
82
  // Auth Errors
26
83
  UNAUTHORIZED: "unauthorized",
27
84
  INVALID_CREDENTIALS: "invalid_credentials",
@@ -61,8 +118,8 @@ class Xe extends Error {
61
118
  super(t.error.message), this.name = "GentiqError", this.code = t.error.code, this.status = n, this.details = t.error.details;
62
119
  }
63
120
  }
64
- function ki(e, t) {
65
- const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(Pn).includes(n) ? n : void 0);
121
+ function wi(e, t) {
122
+ const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(Mn).includes(n) ? n : void 0);
66
123
  if (typeof o != "string")
67
124
  return n || String(e);
68
125
  const r = `errors:${o}`, a = t(r);
@@ -77,7 +134,7 @@ let N = {
77
134
  cacheNamespace: "gentiq"
78
135
  }
79
136
  };
80
- const Mn = {
137
+ const zn = {
81
138
  getToken: () => localStorage.getItem("token"),
82
139
  setToken: (e) => localStorage.setItem("token", e),
83
140
  clearToken: () => {
@@ -88,7 +145,7 @@ const Mn = {
88
145
  return e ? { Authorization: `Bearer ${e}` } : {};
89
146
  }
90
147
  };
91
- let L = Mn;
148
+ let L = zn;
92
149
  const S = {
93
150
  init: (e) => {
94
151
  if (N = {
@@ -297,7 +354,7 @@ const S = {
297
354
  return S.handleResponse(e, "Failed to fetch app configuration");
298
355
  }
299
356
  };
300
- function zn(e, t) {
357
+ function Un(e, t) {
301
358
  const [n, o] = B(
302
359
  e.metadata?.feedback
303
360
  ), r = oe((l) => {
@@ -308,7 +365,7 @@ function zn(e, t) {
308
365
  const c = n === l ? void 0 : l;
309
366
  o(c);
310
367
  try {
311
- const s = e.parts.find((h) => h.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
368
+ const s = e.parts.find((g) => g.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
312
369
  await S.saveFeedback(t, p, c ?? null);
313
370
  } catch (s) {
314
371
  console.error("Error saving feedback:", s);
@@ -320,9 +377,9 @@ function zn(e, t) {
320
377
  copy: r
321
378
  };
322
379
  }
323
- const Un = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
324
- function $n() {
325
- const { i18n: e } = M(["translation"]), { app: t } = W(), n = St(() => {
380
+ const $n = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
381
+ function Bn() {
382
+ const { i18n: e } = M(["translation"]), { app: t } = te(), n = St(() => {
326
383
  const l = S.getConfig(), c = t || l.app;
327
384
  return {
328
385
  name: c?.name || "Gentiq App",
@@ -331,8 +388,8 @@ function $n() {
331
388
  language: e.language || c?.language || "en",
332
389
  showToolDetails: c?.showToolDetails ?? !0
333
390
  };
334
- }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Un.has(o), a = t?.language;
335
- return Q(() => {
391
+ }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = $n.has(o), a = t?.language;
392
+ return J(() => {
336
393
  if (typeof window > "u") return;
337
394
  const l = localStorage.getItem("gentiq-last-default-lang");
338
395
  a && a !== l && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
@@ -346,7 +403,7 @@ function $n() {
346
403
  error: null
347
404
  };
348
405
  }
349
- function Bn(e) {
406
+ function Hn(e) {
350
407
  const {
351
408
  part: t,
352
409
  message: n,
@@ -357,20 +414,20 @@ function Bn(e) {
357
414
  conversationId: c,
358
415
  isFinished: s,
359
416
  renderMessagePart: p,
360
- chat: h,
361
- readonly: f
362
- } = e, { showToolDetails: b } = $n(), { TextPart: m, ReasoningPart: y, ToolPart: d, FilePart: v, toolComponents: _, threadActions: g } = W(), { feedback: R, handleFeedback: E, copy: I } = zn(n, c);
417
+ chat: g,
418
+ readonly: m
419
+ } = e, { showToolDetails: f } = Bn(), { TextPart: b, ReasoningPart: k, ToolPart: u, FilePart: w, toolComponents: v, threadActions: h } = te(), { feedback: C, handleFeedback: E, copy: R } = Un(n, c);
363
420
  if (p) {
364
421
  const O = p(t, n);
365
422
  if (O !== void 0)
366
- return /* @__PURE__ */ i(J, { children: O });
423
+ return /* @__PURE__ */ i(Z, { children: O });
367
424
  }
368
425
  if (["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(t.type)) return null;
369
426
  const z = n.parts.filter(
370
427
  (O) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(O.type)
371
428
  ), ne = t === z[z.length - 1];
372
429
  return t.type === "text" ? /* @__PURE__ */ i(
373
- m,
430
+ b,
374
431
  {
375
432
  part: t,
376
433
  message: n,
@@ -379,14 +436,14 @@ function Bn(e) {
379
436
  lastMessage: l,
380
437
  isLastVisiblePart: ne,
381
438
  regen: r,
382
- feedback: R,
439
+ feedback: C,
383
440
  handleFeedback: E,
384
- copyHost: I,
385
- feedbackEnabled: f ? !1 : g?.feedback ?? !1,
386
- retryEnabled: f ? !1 : g?.retry ?? !1
441
+ copyHost: R,
442
+ feedbackEnabled: m ? !1 : h?.feedback ?? !1,
443
+ retryEnabled: m ? !1 : h?.retry ?? !1
387
444
  }
388
445
  ) : t.type === "reasoning" ? /* @__PURE__ */ i(
389
- y,
446
+ k,
390
447
  {
391
448
  part: t,
392
449
  status: o,
@@ -395,26 +452,26 @@ function Bn(e) {
395
452
  lastMessage: l
396
453
  }
397
454
  ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ i(
398
- d,
455
+ u,
399
456
  {
400
457
  part: t,
401
458
  message: n,
402
- chat: h,
403
- toolComponents: _,
404
- showToolCalls: !!b
459
+ chat: g,
460
+ toolComponents: v,
461
+ showToolCalls: !!f
405
462
  }
406
463
  ) : t.type === "file" ? /* @__PURE__ */ i(
407
- v,
464
+ w,
408
465
  {
409
466
  part: t,
410
467
  message: n
411
468
  }
412
469
  ) : null;
413
470
  }
414
- function k(...e) {
471
+ function y(...e) {
415
472
  return Dn(Fn(e));
416
473
  }
417
- function vi(e, t) {
474
+ function _i(e, t) {
418
475
  if (t === "/") return e;
419
476
  const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
420
477
  return n + o;
@@ -422,7 +479,7 @@ function vi(e, t) {
422
479
  const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
423
480
  "div",
424
481
  {
425
- className: k(
482
+ className: y(
426
483
  "flex items-center gap-1.5 px-1 py-3",
427
484
  e
428
485
  ),
@@ -439,18 +496,18 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
439
496
  n
440
497
  ))
441
498
  }
442
- ), Hn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
499
+ ), qn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
443
500
  function ge(e, t = "ltr") {
444
501
  if (!e) return t;
445
502
  for (const n of e) {
446
- if (Hn.test(n))
503
+ if (qn.test(n))
447
504
  return "rtl";
448
505
  if (/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8]/.test(n))
449
506
  return "ltr";
450
507
  }
451
508
  return "ltr";
452
509
  }
453
- const qn = Pe(
510
+ const jn = De(
454
511
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
455
512
  {
456
513
  variants: {
@@ -475,39 +532,39 @@ const qn = Pe(
475
532
  }
476
533
  }
477
534
  );
478
- function ee({
535
+ function Q({
479
536
  className: e,
480
537
  variant: t,
481
538
  size: n,
482
539
  asChild: o = !1,
483
540
  ...r
484
541
  }) {
485
- return /* @__PURE__ */ i(o ? Ct : "button", { "data-slot": "button", className: k(qn({ variant: t, size: n, className: e })), ...r });
542
+ return /* @__PURE__ */ i(o ? Et : "button", { "data-slot": "button", className: y(jn({ variant: t, size: n, className: e })), ...r });
486
543
  }
487
- const jn = ({ className: e, ...t }) => /* @__PURE__ */ i(
544
+ const Gn = ({ className: e, ...t }) => /* @__PURE__ */ i(
488
545
  At,
489
546
  {
490
- className: k("relative flex-1 overflow-hidden", e),
547
+ className: y("relative flex-1 overflow-hidden", e),
491
548
  initial: "smooth",
492
549
  resize: "smooth",
493
550
  role: "log",
494
551
  ...t
495
552
  }
496
- ), Gn = ({ className: e, ...t }) => /* @__PURE__ */ i(
553
+ ), Vn = ({ className: e, ...t }) => /* @__PURE__ */ i(
497
554
  At.Content,
498
555
  {
499
- className: k("p-4 pb-6 stick-to-bottom", e),
556
+ className: y("p-4 pb-6 stick-to-bottom", e),
500
557
  scrollClassName: "custom-scrollbar",
501
558
  ...t
502
559
  }
503
- ), Vn = ({ className: e, ...t }) => {
504
- const { isAtBottom: n, scrollToBottom: o } = In(), r = oe(() => {
560
+ ), Wn = ({ className: e, ...t }) => {
561
+ const { isAtBottom: n, scrollToBottom: o } = On(), r = oe(() => {
505
562
  o();
506
563
  }, [o]);
507
564
  return n ? null : /* @__PURE__ */ i(
508
565
  "button",
509
566
  {
510
- className: k(
567
+ className: y(
511
568
  "absolute bottom-32 left-1/2 -translate-x-1/2 z-10",
512
569
  "flex items-center gap-1.5 px-4 py-2 rounded-full text-sm font-medium",
513
570
  "glass border border-border/50 shadow-lg shadow-black/10",
@@ -533,40 +590,40 @@ function Ue({ ...e }) {
533
590
  function $e({ ...e }) {
534
591
  return /* @__PURE__ */ i(Me.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
535
592
  }
536
- const Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 text-primary text-xs", e), ...t }), Yn = ({ className: e, count: t, children: n, ...o }) => {
593
+ const Yn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not-prose mb-4 text-primary text-xs", e), ...t }), Xn = ({ className: e, count: t, children: n, ...o }) => {
537
594
  const { t: r } = M(["chat"]);
538
- return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
595
+ return /* @__PURE__ */ i(Ue, { className: y("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ _(Z, { children: [
539
596
  /* @__PURE__ */ i("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
540
597
  /* @__PURE__ */ i(ie, { className: "h-4 w-4" })
541
598
  ] }) });
542
- }, Xn = ({ className: e, ...t }) => /* @__PURE__ */ i(
599
+ }, Kn = ({ className: e, ...t }) => /* @__PURE__ */ i(
543
600
  $e,
544
601
  {
545
- className: k(
602
+ className: y(
546
603
  "mt-3 flex w-fit flex-col gap-2",
547
604
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
548
605
  e
549
606
  ),
550
607
  ...t
551
608
  }
552
- ), Kn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
609
+ ), Zn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ _(Z, { children: [
553
610
  /* @__PURE__ */ i(pn, { className: "h-4 w-4" }),
554
611
  /* @__PURE__ */ i("span", { className: "block font-medium", children: t })
555
- ] }) }), Zn = ({ latestProgress: e, parts: t }) => {
612
+ ] }) }), Jn = ({ latestProgress: e, parts: t }) => {
556
613
  const n = e.data[0].status, o = e.data[0].message, r = t.lastIndexOf(e);
557
614
  if (!!(t.slice(r + 1).some(
558
- (f) => f.type === "text" && (f.text || "").trim().length > 0 || f.type === "tool-invocation" || f.type === "tool-call"
615
+ (m) => m.type === "text" && (m.text || "").trim().length > 0 || m.type === "tool-invocation" || m.type === "tool-call"
559
616
  ) && n !== "running")) return null;
560
- const s = n === "running", p = n === "error", h = ge(o);
561
- return /* @__PURE__ */ i("div", { className: k(
617
+ const s = n === "running", p = n === "error", g = ge(o);
618
+ return /* @__PURE__ */ i("div", { className: y(
562
619
  "flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
563
- h === "rtl" ? "justify-end" : "justify-start"
564
- ), children: /* @__PURE__ */ w("div", { className: k("flex items-center gap-3 text-sm text-muted-foreground", h === "rtl" && "flex-row-reverse"), dir: h, children: [
565
- s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(De, { className: "size-4 text-green-500 shrink-0" }),
566
- /* @__PURE__ */ i("span", { className: k("font-medium", s && "animate-pulse"), children: o })
620
+ g === "rtl" ? "justify-end" : "justify-start"
621
+ ), children: /* @__PURE__ */ _("div", { className: y("flex items-center gap-3 text-sm text-muted-foreground", g === "rtl" && "flex-row-reverse"), dir: g, children: [
622
+ s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(Pe, { className: "size-4 text-green-500 shrink-0" }),
623
+ /* @__PURE__ */ i("span", { className: y("font-medium", s && "animate-pulse"), children: o })
567
624
  ] }) });
568
625
  };
569
- function Jn({
626
+ function Qn({
570
627
  messages: e,
571
628
  status: t,
572
629
  isLoadingHistory: n,
@@ -578,66 +635,66 @@ function Jn({
578
635
  className: s,
579
636
  readonly: p
580
637
  }) {
581
- const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = W(), y = e[e.length - 1], d = y?.role === "assistant" && (t === "ready" || y.parts.some((v) => v.type === "data-chat-finished"));
582
- return /* @__PURE__ */ w(jn, { className: k("min-h-0 flex-1", s), children: [
583
- /* @__PURE__ */ w(Gn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
584
- e.length === 0 && !n ? /* @__PURE__ */ i(m, { onSuggestionClick: l }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
585
- v.role === "assistant" && v.parts.filter((_) => _.type === "source-url").length > 0 && /* @__PURE__ */ w(Wn, { children: [
586
- /* @__PURE__ */ i(Yn, { count: v.parts.filter((_) => _.type === "source-url").length }),
587
- v.parts.filter((_) => _.type === "source-url").map((_, g) => /* @__PURE__ */ i(Xn, { children: /* @__PURE__ */ i(Kn, { href: _.url, title: _.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
638
+ const { i18n: g, t: m } = M(["chat", "translation"]), f = g.language === "fa", { WelcomeScreen: b } = te(), k = e[e.length - 1], u = k?.role === "assistant" && (t === "ready" || k.parts.some((w) => w.type === "data-chat-finished"));
639
+ return /* @__PURE__ */ _(Gn, { className: y("min-h-0 flex-1", s), children: [
640
+ /* @__PURE__ */ _(Vn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
641
+ e.length === 0 && !n ? /* @__PURE__ */ i(b, { onSuggestionClick: l }) : e.map((w) => /* @__PURE__ */ _("div", { children: [
642
+ w.role === "assistant" && w.parts.filter((v) => v.type === "source-url").length > 0 && /* @__PURE__ */ _(Yn, { children: [
643
+ /* @__PURE__ */ i(Xn, { count: w.parts.filter((v) => v.type === "source-url").length }),
644
+ w.parts.filter((v) => v.type === "source-url").map((v, h) => /* @__PURE__ */ i(Kn, { children: /* @__PURE__ */ i(Zn, { href: v.url, title: v.url }, `${w.id}-${h}`) }, `${w.id}-${h}`))
588
645
  ] }),
589
- v.parts.map((_, g) => /* @__PURE__ */ i(
590
- Bn,
646
+ w.parts.map((v, h) => /* @__PURE__ */ i(
647
+ Hn,
591
648
  {
592
- part: _,
593
- message: v,
649
+ part: v,
650
+ message: w,
594
651
  status: t,
595
- index: g,
652
+ index: h,
596
653
  regen: a,
597
- lastMessage: v.id === e.at(-1)?.id,
654
+ lastMessage: w.id === e.at(-1)?.id,
598
655
  conversationId: r,
599
- isFinished: d,
656
+ isFinished: u,
600
657
  chat: c,
601
658
  readonly: p
602
659
  },
603
- `${v.id}-${g}`
660
+ `${w.id}-${h}`
604
661
  ))
605
- ] }, v.id)),
662
+ ] }, w.id)),
606
663
  (() => {
607
- if (!y || y.role !== "assistant") return null;
608
- const v = y.parts.filter((g) => g.type === "data-progress-update");
609
- if (v.length === 0) return null;
610
- const _ = v[v.length - 1];
611
- return _ ? /* @__PURE__ */ i(Zn, { latestProgress: _, parts: y.parts }) : null;
664
+ if (!k || k.role !== "assistant") return null;
665
+ const w = k.parts.filter((h) => h.type === "data-progress-update");
666
+ if (w.length === 0) return null;
667
+ const v = w[w.length - 1];
668
+ return v ? /* @__PURE__ */ i(Jn, { latestProgress: v, parts: k.parts }) : null;
612
669
  })(),
613
670
  (n || t === "submitted") && /* @__PURE__ */ i("div", { className: "animate-in-bubble", children: /* @__PURE__ */ i(fe, {}) }),
614
671
  t === "streaming" && (() => {
615
- const v = e[e.length - 1];
616
- return !v || v.role === "user" ? /* @__PURE__ */ i(fe, {}) : v.parts?.some(
617
- (g) => g.type === "text" && g.text?.trim().length > 0 || g.type === "reasoning" || g.type === "tool-invocation" || g.type === "tool-call"
672
+ const w = e[e.length - 1];
673
+ return !w || w.role === "user" ? /* @__PURE__ */ i(fe, {}) : w.parts?.some(
674
+ (h) => h.type === "text" && h.text?.trim().length > 0 || h.type === "reasoning" || h.type === "tool-invocation" || h.type === "tool-call"
618
675
  ) ? null : /* @__PURE__ */ i(fe, {});
619
676
  })(),
620
- t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: k(
677
+ t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ _("div", { className: y(
621
678
  "flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
622
- b ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
623
- ), dir: b ? "rtl" : "ltr", children: [
679
+ f ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
680
+ ), dir: f ? "rtl" : "ltr", children: [
624
681
  /* @__PURE__ */ i("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
625
- /* @__PURE__ */ w("div", { className: k("text-sm text-destructive/90 leading-relaxed flex-1", b ? "text-right" : "text-left"), children: [
626
- /* @__PURE__ */ i("span", { className: "font-semibold", children: f("error") }),
682
+ /* @__PURE__ */ _("div", { className: y("text-sm text-destructive/90 leading-relaxed flex-1", f ? "text-right" : "text-left"), children: [
683
+ /* @__PURE__ */ i("span", { className: "font-semibold", children: m("error") }),
627
684
  " ",
628
685
  o.message
629
686
  ] })
630
687
  ] }) })
631
688
  ] }),
632
- /* @__PURE__ */ i(Vn, {})
689
+ /* @__PURE__ */ i(Wn, {})
633
690
  ] });
634
691
  }
635
- function Qn({ className: e, ...t }) {
692
+ function eo({ className: e, ...t }) {
636
693
  return /* @__PURE__ */ i(
637
694
  "textarea",
638
695
  {
639
696
  "data-slot": "textarea",
640
- className: k(
697
+ className: y(
641
698
  "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
642
699
  e
643
700
  ),
@@ -645,10 +702,10 @@ function Qn({ className: e, ...t }) {
645
702
  }
646
703
  );
647
704
  }
648
- const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
705
+ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
649
706
  "form",
650
707
  {
651
- className: k(
708
+ className: y(
652
709
  "w-full flex items-end gap-2 overflow-hidden",
653
710
  "rounded-lg bg-surface glow-primary",
654
711
  "px-3 py-2",
@@ -660,7 +717,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
660
717
  ),
661
718
  ...t
662
719
  }
663
- ) }), to = ({
720
+ ) }), no = ({
664
721
  onChange: e,
665
722
  className: t,
666
723
  placeholder: n = "What would you like to know?",
@@ -676,10 +733,10 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
676
733
  }
677
734
  }, { i18n: a } = M(["chat"]), l = ge(o.value, a.dir());
678
735
  return /* @__PURE__ */ i(
679
- Qn,
736
+ eo,
680
737
  {
681
738
  dir: l,
682
- className: k(
739
+ className: y(
683
740
  "flex-1 resize-none rounded-none border-none shadow-none outline-none ring-0",
684
741
  "px-2 py-2.5",
685
742
  "field-sizing-content max-h-[6lh] bg-transparent dark:bg-transparent",
@@ -697,12 +754,12 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
697
754
  ...o
698
755
  }
699
756
  );
700
- }, no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), oo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex items-center gap-0.5", e), ...t }), ro = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
757
+ }, oo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: y("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), ro = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: y("flex items-center gap-0.5", e), ...t }), ao = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
701
758
  const r = n ?? cn.count(o.children) > 1 ? "default" : "icon";
702
759
  return /* @__PURE__ */ i(
703
- ee,
760
+ Q,
704
761
  {
705
- className: k(
762
+ className: y(
706
763
  "shrink-0 gap-1.5 rounded-xl",
707
764
  "text-muted-foreground hover:text-foreground",
708
765
  "hover:bg-accent/60 transition-all duration-200",
@@ -716,7 +773,7 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
716
773
  ...o
717
774
  }
718
775
  );
719
- }, ao = ({
776
+ }, io = ({
720
777
  className: e,
721
778
  variant: t = "default",
722
779
  size: n = "icon",
@@ -726,9 +783,9 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
726
783
  }) => {
727
784
  let l = /* @__PURE__ */ i(hn, { className: "size-4" });
728
785
  return o === "submitted" ? l = /* @__PURE__ */ i(gn, { className: "size-4 animate-spin" }) : o === "streaming" ? l = /* @__PURE__ */ i(mn, { className: "size-3.5 fill-current" }) : o === "error" && (l = /* @__PURE__ */ i(he, { className: "size-4" })), /* @__PURE__ */ i(
729
- ee,
786
+ Q,
730
787
  {
731
- className: k(
788
+ className: y(
732
789
  "shrink-0 rounded-lg size-9",
733
790
  "bg-gradient-to-br from-primary to-primary/80",
734
791
  "text-primary-foreground",
@@ -750,40 +807,40 @@ const eo = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
750
807
  }
751
808
  );
752
809
  };
753
- function It({ delayDuration: e = 400, ...t }) {
754
- return /* @__PURE__ */ i(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
755
- }
756
- function Rt({ ...e }) {
757
- return /* @__PURE__ */ i(It, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
810
+ function Rt({ delayDuration: e = 400, ...t }) {
811
+ return /* @__PURE__ */ i(X.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
758
812
  }
759
813
  function Ot({ ...e }) {
760
- return /* @__PURE__ */ i(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
814
+ return /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ i(X.Root, { "data-slot": "tooltip", ...e }) });
815
+ }
816
+ function Lt({ ...e }) {
817
+ return /* @__PURE__ */ i(X.Trigger, { "data-slot": "tooltip-trigger", ...e });
761
818
  }
762
- function Lt({
819
+ function Ft({
763
820
  className: e,
764
821
  sideOffset: t = 0,
765
822
  children: n,
766
823
  ...o
767
824
  }) {
768
- return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ w(
769
- K.Content,
825
+ return /* @__PURE__ */ i(X.Portal, { children: /* @__PURE__ */ _(
826
+ X.Content,
770
827
  {
771
828
  "data-slot": "tooltip-content",
772
829
  sideOffset: t,
773
- className: k(
830
+ className: y(
774
831
  "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-sm text-balance",
775
832
  e
776
833
  ),
777
834
  ...o,
778
835
  children: [
779
836
  n,
780
- /* @__PURE__ */ i(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
837
+ /* @__PURE__ */ i(X.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
781
838
  ]
782
839
  }
783
840
  ) });
784
841
  }
785
842
  const be = 768;
786
- function io() {
843
+ function lo() {
787
844
  const [e, t] = Ce.useState(void 0);
788
845
  return Ce.useEffect(() => {
789
846
  const n = window.matchMedia(`(max-width: ${be - 1}px)`), o = () => {
@@ -794,7 +851,7 @@ function io() {
794
851
  };
795
852
  }, []), !!e;
796
853
  }
797
- function lo({
854
+ function so({
798
855
  onSend: e,
799
856
  status: t,
800
857
  isLastMessageFinished: n,
@@ -803,66 +860,66 @@ function lo({
803
860
  conversationId: a,
804
861
  className: l
805
862
  }) {
806
- const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = B(""), [f, b] = B([]), m = io(), y = Ge(null), d = Ge(null);
807
- Q(() => {
808
- !m && a === "/" && y.current && y.current.focus();
809
- }, [a, m]);
810
- const v = oe((E) => {
863
+ const { t: c } = M(["chat", "translation"]), { composer: s } = te(), [p, g] = B(""), [m, f] = B([]), b = lo(), k = Ge(null), u = Ge(null);
864
+ J(() => {
865
+ !b && a === "/" && k.current && k.current.focus();
866
+ }, [a, b]);
867
+ const w = oe((E) => {
811
868
  if (E.target.files) {
812
- const I = Array.from(E.target.files), $ = s?.attachments?.maxSize;
813
- if ($ && I.filter((ne) => ne.size > $).length > 0) {
814
- Rn.error(c("file_too_large", { size: $ }));
869
+ const R = Array.from(E.target.files), $ = s?.attachments?.maxSize;
870
+ if ($ && R.filter((ne) => ne.size > $).length > 0) {
871
+ In.error(c("file_too_large", { size: $ }));
815
872
  return;
816
873
  }
817
- b((z) => [...z, ...I]);
874
+ f((z) => [...z, ...R]);
818
875
  }
819
876
  E.target.value = "";
820
- }, [s, c]), _ = oe((E) => {
821
- b((I) => I.filter(($, z) => z !== E));
822
- }, []), g = t === "streaming" && !n, R = (E) => {
823
- if (E.preventDefault(), !g && (p.trim() || f.length > 0)) {
824
- const I = new DataTransfer();
825
- f.forEach(($) => I.items.add($)), e(p, I.files), h(""), b([]);
877
+ }, [s, c]), v = oe((E) => {
878
+ f((R) => R.filter(($, z) => z !== E));
879
+ }, []), h = t === "streaming" && !n, C = (E) => {
880
+ if (E.preventDefault(), !h && (p.trim() || m.length > 0)) {
881
+ const R = new DataTransfer();
882
+ m.forEach(($) => R.items.add($)), e(p, R.files), g(""), f([]);
826
883
  }
827
884
  };
828
- return /* @__PURE__ */ i("div", { className: k("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(eo, { onSubmit: R, children: [
885
+ return /* @__PURE__ */ i("div", { className: y("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ _(to, { onSubmit: C, children: [
829
886
  /* @__PURE__ */ i(
830
887
  "input",
831
888
  {
832
889
  type: "file",
833
- ref: d,
834
- onChange: v,
890
+ ref: u,
891
+ onChange: w,
835
892
  multiple: !0,
836
893
  accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
837
894
  className: "hidden"
838
895
  }
839
896
  ),
840
- /* @__PURE__ */ w("div", { className: "flex flex-col flex-1 gap-2", children: [
841
- f.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: f.map((E, I) => /* @__PURE__ */ w("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
842
- E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Et, { className: "size-3.5 text-muted-foreground shrink-0" }),
897
+ /* @__PURE__ */ _("div", { className: "flex flex-col flex-1 gap-2", children: [
898
+ m.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: m.map((E, R) => /* @__PURE__ */ _("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
899
+ E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Nt, { className: "size-3.5 text-muted-foreground shrink-0" }),
843
900
  /* @__PURE__ */ i("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
844
- /* @__PURE__ */ i("button", { type: "button", onClick: () => _(I), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
845
- ] }, `${E.name}-${I}`)) }),
901
+ /* @__PURE__ */ i("button", { type: "button", onClick: () => v(R), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
902
+ ] }, `${E.name}-${R}`)) }),
846
903
  /* @__PURE__ */ i(
847
- to,
904
+ no,
848
905
  {
849
- ref: y,
850
- onChange: (E) => h(E.target.value),
906
+ ref: k,
907
+ onChange: (E) => g(E.target.value),
851
908
  value: p,
852
- autoFocus: !m,
909
+ autoFocus: !b,
853
910
  placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
854
911
  }
855
912
  )
856
913
  ] }),
857
- /* @__PURE__ */ w(no, { children: [
858
- /* @__PURE__ */ i(oo, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Rt, { children: [
859
- /* @__PURE__ */ i(Ot, { asChild: !0, children: /* @__PURE__ */ i(ro, { variant: "ghost", onClick: () => d.current?.click(), disabled: g, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
860
- /* @__PURE__ */ i(Lt, { children: c("attach_file") })
914
+ /* @__PURE__ */ _(oo, { children: [
915
+ /* @__PURE__ */ i(ro, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ _(Ot, { children: [
916
+ /* @__PURE__ */ i(Lt, { asChild: !0, children: /* @__PURE__ */ i(ao, { variant: "ghost", onClick: () => u.current?.click(), disabled: h, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
917
+ /* @__PURE__ */ i(Ft, { children: c("attach_file") })
861
918
  ] }) }),
862
919
  /* @__PURE__ */ i(
863
- ao,
920
+ io,
864
921
  {
865
- disabled: t !== "streaming" && !p && f.length === 0,
922
+ disabled: t !== "streaming" && !p && m.length === 0,
866
923
  status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
867
924
  onClick: t === "streaming" && !n ? o : void 0
868
925
  }
@@ -870,7 +927,7 @@ function lo({
870
927
  ] })
871
928
  ] }) }) });
872
929
  }
873
- const so = ({
930
+ const co = ({
874
931
  suggestion: e,
875
932
  onClick: t,
876
933
  className: n,
@@ -883,9 +940,9 @@ const so = ({
883
940
  t?.(e);
884
941
  };
885
942
  return /* @__PURE__ */ i(
886
- ee,
943
+ Q,
887
944
  {
888
- className: k("cursor-pointer rounded-full px-4", n),
945
+ className: y("cursor-pointer rounded-full px-4", n),
889
946
  onClick: c,
890
947
  size: r,
891
948
  type: "button",
@@ -894,39 +951,39 @@ const so = ({
894
951
  children: a ?? e
895
952
  }
896
953
  );
897
- }, co = ({ onSuggestionClick: e, icons: t }) => {
898
- const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], l = a.map((h) => {
899
- const f = typeof h == "string" ? h : h.text;
900
- return n(f);
901
- }).filter((h) => h !== null && h !== ""), c = o.dir() === "rtl", s = r?.greeting ? n(r.greeting) ?? r.greeting : n("welcome.title"), p = r?.subtitle ? n(r.subtitle) : null;
902
- return /* @__PURE__ */ w(
954
+ }, uo = ({ onSuggestionClick: e, icons: t }) => {
955
+ const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = te(), a = r?.prompts ?? [], l = a.map((g) => {
956
+ const m = typeof g == "string" ? g : g.text;
957
+ return n(m);
958
+ }).filter((g) => g !== null && g !== ""), c = o.dir() === "rtl", s = r?.greeting ? n(r.greeting) ?? r.greeting : n("welcome.title"), p = r?.subtitle ? n(r.subtitle) : null;
959
+ return /* @__PURE__ */ _(
903
960
  "div",
904
961
  {
905
962
  dir: c ? "rtl" : "ltr",
906
963
  className: "flex flex-col items-center justify-center min-h-[60vh] text-center px-6 animate-in fade-in duration-700 ease-out",
907
964
  children: [
908
- r?.icon && /* @__PURE__ */ w("div", { className: "mb-8 relative flex items-center justify-center", children: [
965
+ r?.icon && /* @__PURE__ */ _("div", { className: "mb-8 relative flex items-center justify-center", children: [
909
966
  /* @__PURE__ */ i("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
910
967
  /* @__PURE__ */ i("div", { className: "relative size-12 md:size-16 rounded-xl bg-gradient-to-br from-surface to-secondary flex items-center justify-center border border-border/10 dark:border-border/5 shadow-xl shadow-black/10", children: typeof r.icon == "function" ? /* @__PURE__ */ i(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
911
968
  ] }),
912
- (s || p) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
969
+ (s || p) && /* @__PURE__ */ _("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
913
970
  s && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
914
971
  p && /* @__PURE__ */ i("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: p })
915
972
  ] }),
916
- l.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: l.map((h, f) => {
917
- const b = a[f], m = typeof b != "string" ? b.icon : null, y = t && t[f % t.length] ? t[f % t.length] : bn, d = m || y;
973
+ l.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: l.map((g, m) => {
974
+ const f = a[m], b = typeof f != "string" ? f.icon : null, k = t && t[m % t.length] ? t[m % t.length] : bn, u = b || k;
918
975
  return /* @__PURE__ */ i(
919
976
  "div",
920
977
  {
921
978
  className: "animate-in fade-in slide-in-from-bottom-3 duration-700 fill-mode-both",
922
- style: { animationDelay: `${f * 80}ms` },
923
- children: /* @__PURE__ */ w(
924
- so,
979
+ style: { animationDelay: `${m * 80}ms` },
980
+ children: /* @__PURE__ */ _(
981
+ co,
925
982
  {
926
- onClick: () => e(h),
927
- suggestion: h,
983
+ onClick: () => e(g),
984
+ suggestion: g,
928
985
  variant: "ghost",
929
- className: k(
986
+ className: y(
930
987
  "h-full py-4 px-5 justify-start text-start items-center whitespace-normal w-full",
931
988
  "group rounded-xl relative overflow-hidden",
932
989
  "bg-secondary/45 border border-border/12 dark:bg-secondary/20 dark:border-border/5",
@@ -934,11 +991,11 @@ const so = ({
934
991
  "hover:-translate-y-0.5 transition-[background-color,border-color,transform] duration-300 ease-out-quint"
935
992
  ),
936
993
  children: [
937
- /* @__PURE__ */ w("div", { className: "flex items-center gap-3 w-full text-start", children: [
938
- /* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(d, { className: "size-4" }) }),
939
- /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: h.length > 60 ? h.substring(0, 60) + "..." : h }) })
994
+ /* @__PURE__ */ _("div", { className: "flex items-center gap-3 w-full text-start", children: [
995
+ /* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(u, { className: "size-4" }) }),
996
+ /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: g.length > 60 ? g.substring(0, 60) + "..." : g }) })
940
997
  ] }),
941
- /* @__PURE__ */ i("div", { className: k(
998
+ /* @__PURE__ */ i("div", { className: y(
942
999
  "absolute bottom-0 left-0 w-full h-[1.5px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform duration-500",
943
1000
  c ? "origin-right" : "origin-left"
944
1001
  ) })
@@ -946,26 +1003,26 @@ const so = ({
946
1003
  }
947
1004
  )
948
1005
  },
949
- f
1006
+ m
950
1007
  );
951
1008
  }) })
952
1009
  ]
953
1010
  }
954
1011
  );
955
- }, Ft = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
1012
+ }, Dt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
956
1013
  "div",
957
1014
  {
958
- className: k(
1015
+ className: y(
959
1016
  "group flex w-full items-end gap-3",
960
1017
  t === "user" ? "is-user justify-end" : "is-assistant",
961
1018
  e
962
1019
  ),
963
1020
  ...n
964
1021
  }
965
- ), Dt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
1022
+ ), Pt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
966
1023
  "div",
967
1024
  {
968
- className: k(
1025
+ className: y(
969
1026
  "flex flex-col gap-2 overflow-hidden text-[1.0625rem]",
970
1027
  // User bubble: gradient pill with glow shadow
971
1028
  !n && [
@@ -986,10 +1043,10 @@ const so = ({
986
1043
  ...o,
987
1044
  children: e
988
1045
  }
989
- ), uo = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
1046
+ ), po = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
990
1047
  "div",
991
1048
  {
992
- className: k(
1049
+ className: y(
993
1050
  "flex items-center gap-0.5",
994
1051
  "opacity-100",
995
1052
  "transition-opacity duration-200",
@@ -1007,10 +1064,10 @@ const so = ({
1007
1064
  size: a = "sm",
1008
1065
  ...l
1009
1066
  }) => {
1010
- const c = /* @__PURE__ */ w(
1011
- ee,
1067
+ const c = /* @__PURE__ */ _(
1068
+ Q,
1012
1069
  {
1013
- className: k(
1070
+ className: y(
1014
1071
  "size-7 p-1 rounded-lg",
1015
1072
  "text-muted-foreground/60 hover:text-foreground",
1016
1073
  "hover:bg-accent/70",
@@ -1028,9 +1085,9 @@ const so = ({
1028
1085
  ]
1029
1086
  }
1030
1087
  );
1031
- return e ? /* @__PURE__ */ i(It, { children: /* @__PURE__ */ w(Rt, { children: [
1032
- /* @__PURE__ */ i(Ot, { asChild: !0, children: c }),
1033
- /* @__PURE__ */ i(Lt, { children: /* @__PURE__ */ i("p", { children: e }) })
1088
+ return e ? /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ _(Ot, { children: [
1089
+ /* @__PURE__ */ i(Lt, { asChild: !0, children: c }),
1090
+ /* @__PURE__ */ i(Ft, { children: /* @__PURE__ */ i("p", { children: e }) })
1034
1091
  ] }) }) : c;
1035
1092
  };
1036
1093
  class le {
@@ -1051,7 +1108,7 @@ class le {
1051
1108
  le.prototype.normal = {};
1052
1109
  le.prototype.property = {};
1053
1110
  le.prototype.space = void 0;
1054
- function Pt(e, t) {
1111
+ function Mt(e, t) {
1055
1112
  const n = {}, o = {};
1056
1113
  for (const r of e)
1057
1114
  Object.assign(n, r.property), Object.assign(o, r.normal);
@@ -1085,18 +1142,18 @@ D.prototype.overloadedBoolean = !1;
1085
1142
  D.prototype.property = "";
1086
1143
  D.prototype.spaceSeparated = !1;
1087
1144
  D.prototype.space = void 0;
1088
- let po = 0;
1089
- const x = G(), A = G(), Ae = G(), u = G(), T = G(), Z = G(), P = G();
1145
+ let ho = 0;
1146
+ const x = G(), I = G(), Ae = G(), d = G(), T = G(), K = G(), P = G();
1090
1147
  function G() {
1091
- return 2 ** ++po;
1148
+ return 2 ** ++ho;
1092
1149
  }
1093
1150
  const Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1094
1151
  __proto__: null,
1095
1152
  boolean: x,
1096
- booleanish: A,
1153
+ booleanish: I,
1097
1154
  commaOrSpaceSeparated: P,
1098
- commaSeparated: Z,
1099
- number: u,
1155
+ commaSeparated: K,
1156
+ number: d,
1100
1157
  overloadedBoolean: Ae,
1101
1158
  spaceSeparated: T
1102
1159
  }, Symbol.toStringTag, { value: "Module" })), ye = (
@@ -1130,7 +1187,7 @@ Be.prototype.defined = !0;
1130
1187
  function Ke(e, t, n) {
1131
1188
  n && (e[t] = n);
1132
1189
  }
1133
- function te(e) {
1190
+ function ee(e) {
1134
1191
  const t = {}, n = {};
1135
1192
  for (const [o, r] of Object.entries(e.properties)) {
1136
1193
  const a = new Be(
@@ -1143,55 +1200,55 @@ function te(e) {
1143
1200
  }
1144
1201
  return new le(t, n, e.space);
1145
1202
  }
1146
- const Mt = te({
1203
+ const zt = ee({
1147
1204
  properties: {
1148
1205
  ariaActiveDescendant: null,
1149
- ariaAtomic: A,
1206
+ ariaAtomic: I,
1150
1207
  ariaAutoComplete: null,
1151
- ariaBusy: A,
1152
- ariaChecked: A,
1153
- ariaColCount: u,
1154
- ariaColIndex: u,
1155
- ariaColSpan: u,
1208
+ ariaBusy: I,
1209
+ ariaChecked: I,
1210
+ ariaColCount: d,
1211
+ ariaColIndex: d,
1212
+ ariaColSpan: d,
1156
1213
  ariaControls: T,
1157
1214
  ariaCurrent: null,
1158
1215
  ariaDescribedBy: T,
1159
1216
  ariaDetails: null,
1160
- ariaDisabled: A,
1217
+ ariaDisabled: I,
1161
1218
  ariaDropEffect: T,
1162
1219
  ariaErrorMessage: null,
1163
- ariaExpanded: A,
1220
+ ariaExpanded: I,
1164
1221
  ariaFlowTo: T,
1165
- ariaGrabbed: A,
1222
+ ariaGrabbed: I,
1166
1223
  ariaHasPopup: null,
1167
- ariaHidden: A,
1224
+ ariaHidden: I,
1168
1225
  ariaInvalid: null,
1169
1226
  ariaKeyShortcuts: null,
1170
1227
  ariaLabel: null,
1171
1228
  ariaLabelledBy: T,
1172
- ariaLevel: u,
1229
+ ariaLevel: d,
1173
1230
  ariaLive: null,
1174
- ariaModal: A,
1175
- ariaMultiLine: A,
1176
- ariaMultiSelectable: A,
1231
+ ariaModal: I,
1232
+ ariaMultiLine: I,
1233
+ ariaMultiSelectable: I,
1177
1234
  ariaOrientation: null,
1178
1235
  ariaOwns: T,
1179
1236
  ariaPlaceholder: null,
1180
- ariaPosInSet: u,
1181
- ariaPressed: A,
1182
- ariaReadOnly: A,
1237
+ ariaPosInSet: d,
1238
+ ariaPressed: I,
1239
+ ariaReadOnly: I,
1183
1240
  ariaRelevant: null,
1184
- ariaRequired: A,
1241
+ ariaRequired: I,
1185
1242
  ariaRoleDescription: T,
1186
- ariaRowCount: u,
1187
- ariaRowIndex: u,
1188
- ariaRowSpan: u,
1189
- ariaSelected: A,
1190
- ariaSetSize: u,
1243
+ ariaRowCount: d,
1244
+ ariaRowIndex: d,
1245
+ ariaRowSpan: d,
1246
+ ariaSelected: I,
1247
+ ariaSetSize: d,
1191
1248
  ariaSort: null,
1192
- ariaValueMax: u,
1193
- ariaValueMin: u,
1194
- ariaValueNow: u,
1249
+ ariaValueMax: d,
1250
+ ariaValueMin: d,
1251
+ ariaValueNow: d,
1195
1252
  ariaValueText: null,
1196
1253
  role: null
1197
1254
  },
@@ -1199,13 +1256,13 @@ const Mt = te({
1199
1256
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
1200
1257
  }
1201
1258
  });
1202
- function zt(e, t) {
1259
+ function Ut(e, t) {
1203
1260
  return t in e ? e[t] : t;
1204
1261
  }
1205
- function Ut(e, t) {
1206
- return zt(e, t.toLowerCase());
1262
+ function $t(e, t) {
1263
+ return Ut(e, t.toLowerCase());
1207
1264
  }
1208
- const ho = te({
1265
+ const go = ee({
1209
1266
  attributes: {
1210
1267
  acceptcharset: "accept-charset",
1211
1268
  classname: "class",
@@ -1216,7 +1273,7 @@ const ho = te({
1216
1273
  properties: {
1217
1274
  // Standard Properties.
1218
1275
  abbr: null,
1219
- accept: Z,
1276
+ accept: K,
1220
1277
  acceptCharset: T,
1221
1278
  accessKey: T,
1222
1279
  action: null,
@@ -1237,13 +1294,13 @@ const ho = te({
1237
1294
  checked: x,
1238
1295
  cite: null,
1239
1296
  className: T,
1240
- cols: u,
1297
+ cols: d,
1241
1298
  colSpan: null,
1242
1299
  content: null,
1243
- contentEditable: A,
1300
+ contentEditable: I,
1244
1301
  controls: x,
1245
1302
  controlsList: T,
1246
- coords: u | Z,
1303
+ coords: d | K,
1247
1304
  crossOrigin: null,
1248
1305
  data: null,
1249
1306
  dateTime: null,
@@ -1254,7 +1311,7 @@ const ho = te({
1254
1311
  dirName: null,
1255
1312
  disabled: x,
1256
1313
  download: Ae,
1257
- draggable: A,
1314
+ draggable: I,
1258
1315
  encType: null,
1259
1316
  enterKeyHint: null,
1260
1317
  fetchPriority: null,
@@ -1265,9 +1322,9 @@ const ho = te({
1265
1322
  formNoValidate: x,
1266
1323
  formTarget: null,
1267
1324
  headers: T,
1268
- height: u,
1325
+ height: d,
1269
1326
  hidden: Ae,
1270
- high: u,
1327
+ high: d,
1271
1328
  href: null,
1272
1329
  hrefLang: null,
1273
1330
  htmlFor: T,
@@ -1292,14 +1349,14 @@ const ho = te({
1292
1349
  list: null,
1293
1350
  loading: null,
1294
1351
  loop: x,
1295
- low: u,
1352
+ low: d,
1296
1353
  manifest: null,
1297
1354
  max: null,
1298
- maxLength: u,
1355
+ maxLength: d,
1299
1356
  media: null,
1300
1357
  method: null,
1301
1358
  min: null,
1302
- minLength: u,
1359
+ minLength: d,
1303
1360
  multiple: x,
1304
1361
  muted: x,
1305
1362
  name: null,
@@ -1395,7 +1452,7 @@ const ho = te({
1395
1452
  onWaiting: null,
1396
1453
  onWheel: null,
1397
1454
  open: x,
1398
- optimum: u,
1455
+ optimum: d,
1399
1456
  pattern: null,
1400
1457
  ping: T,
1401
1458
  placeholder: null,
@@ -1410,8 +1467,8 @@ const ho = te({
1410
1467
  rel: T,
1411
1468
  required: x,
1412
1469
  reversed: x,
1413
- rows: u,
1414
- rowSpan: u,
1470
+ rows: d,
1471
+ rowSpan: d,
1415
1472
  sandbox: T,
1416
1473
  scope: null,
1417
1474
  scoped: x,
@@ -1421,27 +1478,27 @@ const ho = te({
1421
1478
  shadowRootDelegatesFocus: x,
1422
1479
  shadowRootMode: null,
1423
1480
  shape: null,
1424
- size: u,
1481
+ size: d,
1425
1482
  sizes: null,
1426
1483
  slot: null,
1427
- span: u,
1428
- spellCheck: A,
1484
+ span: d,
1485
+ spellCheck: I,
1429
1486
  src: null,
1430
1487
  srcDoc: null,
1431
1488
  srcLang: null,
1432
1489
  srcSet: null,
1433
- start: u,
1490
+ start: d,
1434
1491
  step: null,
1435
1492
  style: null,
1436
- tabIndex: u,
1493
+ tabIndex: d,
1437
1494
  target: null,
1438
1495
  title: null,
1439
1496
  translate: null,
1440
1497
  type: null,
1441
1498
  typeMustMatch: x,
1442
1499
  useMap: null,
1443
- value: A,
1444
- width: u,
1500
+ value: I,
1501
+ width: d,
1445
1502
  wrap: null,
1446
1503
  writingSuggestions: null,
1447
1504
  // Legacy.
@@ -1458,11 +1515,11 @@ const ho = te({
1458
1515
  // `<body>`. Use CSS `background-image` instead
1459
1516
  bgColor: null,
1460
1517
  // `<body>` and table elements. Use CSS `background-color` instead
1461
- border: u,
1518
+ border: d,
1462
1519
  // `<table>`. Use CSS `border-width` instead,
1463
1520
  borderColor: null,
1464
1521
  // `<table>`. Use CSS `border-color` instead,
1465
- bottomMargin: u,
1522
+ bottomMargin: d,
1466
1523
  // `<body>`
1467
1524
  cellPadding: null,
1468
1525
  // `<table>`
@@ -1496,9 +1553,9 @@ const ho = te({
1496
1553
  // `<table>`
1497
1554
  frameBorder: null,
1498
1555
  // `<iframe>`. Use CSS `border` instead
1499
- hSpace: u,
1556
+ hSpace: d,
1500
1557
  // `<img>` and `<object>`
1501
- leftMargin: u,
1558
+ leftMargin: d,
1502
1559
  // `<body>`
1503
1560
  link: null,
1504
1561
  // `<body>`. Use CSS `a:link {color: *}` instead
@@ -1506,9 +1563,9 @@ const ho = te({
1506
1563
  // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
1507
1564
  lowSrc: null,
1508
1565
  // `<img>`. Use a `<picture>`
1509
- marginHeight: u,
1566
+ marginHeight: d,
1510
1567
  // `<body>`
1511
- marginWidth: u,
1568
+ marginWidth: d,
1512
1569
  // `<body>`
1513
1570
  noResize: x,
1514
1571
  // `<frame>`
@@ -1526,13 +1583,13 @@ const ho = te({
1526
1583
  // `<isindex>`
1527
1584
  rev: null,
1528
1585
  // `<link>`
1529
- rightMargin: u,
1586
+ rightMargin: d,
1530
1587
  // `<body>`
1531
1588
  rules: null,
1532
1589
  // `<table>`
1533
1590
  scheme: null,
1534
1591
  // `<meta>`
1535
- scrolling: A,
1592
+ scrolling: I,
1536
1593
  // `<frame>`. Use overflow in the child context
1537
1594
  standby: null,
1538
1595
  // `<object>`
@@ -1540,7 +1597,7 @@ const ho = te({
1540
1597
  // `<table>`
1541
1598
  text: null,
1542
1599
  // `<body>`. Use CSS `color` instead
1543
- topMargin: u,
1600
+ topMargin: d,
1544
1601
  // `<body>`
1545
1602
  valueType: null,
1546
1603
  // `<param>`
@@ -1550,7 +1607,7 @@ const ho = te({
1550
1607
  // Several. Use CSS `vertical-align` instead
1551
1608
  vLink: null,
1552
1609
  // `<body>`. Use CSS `a:visited {color}` instead
1553
- vSpace: u,
1610
+ vSpace: d,
1554
1611
  // `<img>` and `<object>`
1555
1612
  // Non-standard Properties.
1556
1613
  allowTransparency: null,
@@ -1560,13 +1617,13 @@ const ho = te({
1560
1617
  disableRemotePlayback: x,
1561
1618
  prefix: null,
1562
1619
  property: null,
1563
- results: u,
1620
+ results: d,
1564
1621
  security: null,
1565
1622
  unselectable: null
1566
1623
  },
1567
1624
  space: "html",
1568
- transform: Ut
1569
- }), go = te({
1625
+ transform: $t
1626
+ }), mo = ee({
1570
1627
  attributes: {
1571
1628
  accentHeight: "accent-height",
1572
1629
  alignmentBaseline: "alignment-baseline",
@@ -1744,27 +1801,27 @@ const ho = te({
1744
1801
  },
1745
1802
  properties: {
1746
1803
  about: P,
1747
- accentHeight: u,
1804
+ accentHeight: d,
1748
1805
  accumulate: null,
1749
1806
  additive: null,
1750
1807
  alignmentBaseline: null,
1751
- alphabetic: u,
1752
- amplitude: u,
1808
+ alphabetic: d,
1809
+ amplitude: d,
1753
1810
  arabicForm: null,
1754
- ascent: u,
1811
+ ascent: d,
1755
1812
  attributeName: null,
1756
1813
  attributeType: null,
1757
- azimuth: u,
1814
+ azimuth: d,
1758
1815
  bandwidth: null,
1759
1816
  baselineShift: null,
1760
1817
  baseFrequency: null,
1761
1818
  baseProfile: null,
1762
1819
  bbox: null,
1763
1820
  begin: null,
1764
- bias: u,
1821
+ bias: d,
1765
1822
  by: null,
1766
1823
  calcMode: null,
1767
- capHeight: u,
1824
+ capHeight: d,
1768
1825
  className: T,
1769
1826
  clip: null,
1770
1827
  clipPath: null,
@@ -1785,26 +1842,26 @@ const ho = te({
1785
1842
  d: null,
1786
1843
  dataType: null,
1787
1844
  defaultAction: null,
1788
- descent: u,
1789
- diffuseConstant: u,
1845
+ descent: d,
1846
+ diffuseConstant: d,
1790
1847
  direction: null,
1791
1848
  display: null,
1792
1849
  dur: null,
1793
- divisor: u,
1850
+ divisor: d,
1794
1851
  dominantBaseline: null,
1795
1852
  download: x,
1796
1853
  dx: null,
1797
1854
  dy: null,
1798
1855
  edgeMode: null,
1799
1856
  editable: null,
1800
- elevation: u,
1857
+ elevation: d,
1801
1858
  enableBackground: null,
1802
1859
  end: null,
1803
1860
  event: null,
1804
- exponent: u,
1861
+ exponent: d,
1805
1862
  externalResourcesRequired: null,
1806
1863
  fill: null,
1807
- fillOpacity: u,
1864
+ fillOpacity: d,
1808
1865
  fillRule: null,
1809
1866
  filter: null,
1810
1867
  filterRes: null,
@@ -1825,36 +1882,36 @@ const ho = te({
1825
1882
  from: null,
1826
1883
  fx: null,
1827
1884
  fy: null,
1828
- g1: Z,
1829
- g2: Z,
1830
- glyphName: Z,
1885
+ g1: K,
1886
+ g2: K,
1887
+ glyphName: K,
1831
1888
  glyphOrientationHorizontal: null,
1832
1889
  glyphOrientationVertical: null,
1833
1890
  glyphRef: null,
1834
1891
  gradientTransform: null,
1835
1892
  gradientUnits: null,
1836
1893
  handler: null,
1837
- hanging: u,
1894
+ hanging: d,
1838
1895
  hatchContentUnits: null,
1839
1896
  hatchUnits: null,
1840
1897
  height: null,
1841
1898
  href: null,
1842
1899
  hrefLang: null,
1843
- horizAdvX: u,
1844
- horizOriginX: u,
1845
- horizOriginY: u,
1900
+ horizAdvX: d,
1901
+ horizOriginX: d,
1902
+ horizOriginY: d,
1846
1903
  id: null,
1847
- ideographic: u,
1904
+ ideographic: d,
1848
1905
  imageRendering: null,
1849
1906
  initialVisibility: null,
1850
1907
  in: null,
1851
1908
  in2: null,
1852
- intercept: u,
1853
- k: u,
1854
- k1: u,
1855
- k2: u,
1856
- k3: u,
1857
- k4: u,
1909
+ intercept: d,
1910
+ k: d,
1911
+ k1: d,
1912
+ k2: d,
1913
+ k3: d,
1914
+ k4: d,
1858
1915
  kernelMatrix: P,
1859
1916
  kernelUnitLength: null,
1860
1917
  keyPoints: null,
@@ -1868,7 +1925,7 @@ const ho = te({
1868
1925
  lengthAdjust: null,
1869
1926
  letterSpacing: null,
1870
1927
  lightingColor: null,
1871
- limitingConeAngle: u,
1928
+ limitingConeAngle: d,
1872
1929
  local: null,
1873
1930
  markerEnd: null,
1874
1931
  markerMid: null,
@@ -1884,7 +1941,7 @@ const ho = te({
1884
1941
  media: null,
1885
1942
  mediaCharacterEncoding: null,
1886
1943
  mediaContentEncodings: null,
1887
- mediaSize: u,
1944
+ mediaSize: d,
1888
1945
  mediaTime: null,
1889
1946
  method: null,
1890
1947
  min: null,
@@ -1990,12 +2047,12 @@ const ho = te({
1990
2047
  origin: null,
1991
2048
  overflow: null,
1992
2049
  overlay: null,
1993
- overlinePosition: u,
1994
- overlineThickness: u,
2050
+ overlinePosition: d,
2051
+ overlineThickness: d,
1995
2052
  paintOrder: null,
1996
2053
  panose1: null,
1997
2054
  path: null,
1998
- pathLength: u,
2055
+ pathLength: d,
1999
2056
  patternContentUnits: null,
2000
2057
  patternTransform: null,
2001
2058
  patternUnits: null,
@@ -2005,9 +2062,9 @@ const ho = te({
2005
2062
  playbackOrder: null,
2006
2063
  pointerEvents: null,
2007
2064
  points: null,
2008
- pointsAtX: u,
2009
- pointsAtY: u,
2010
- pointsAtZ: u,
2065
+ pointsAtX: d,
2066
+ pointsAtY: d,
2067
+ pointsAtZ: d,
2011
2068
  preserveAlpha: null,
2012
2069
  preserveAspectRatio: null,
2013
2070
  primitiveUnits: null,
@@ -2039,8 +2096,8 @@ const ho = te({
2039
2096
  side: null,
2040
2097
  slope: null,
2041
2098
  snapshotTime: null,
2042
- specularConstant: u,
2043
- specularExponent: u,
2099
+ specularConstant: d,
2100
+ specularExponent: d,
2044
2101
  spreadMethod: null,
2045
2102
  spacing: null,
2046
2103
  startOffset: null,
@@ -2050,30 +2107,30 @@ const ho = te({
2050
2107
  stitchTiles: null,
2051
2108
  stopColor: null,
2052
2109
  stopOpacity: null,
2053
- strikethroughPosition: u,
2054
- strikethroughThickness: u,
2110
+ strikethroughPosition: d,
2111
+ strikethroughThickness: d,
2055
2112
  string: null,
2056
2113
  stroke: null,
2057
2114
  strokeDashArray: P,
2058
2115
  strokeDashOffset: null,
2059
2116
  strokeLineCap: null,
2060
2117
  strokeLineJoin: null,
2061
- strokeMiterLimit: u,
2062
- strokeOpacity: u,
2118
+ strokeMiterLimit: d,
2119
+ strokeOpacity: d,
2063
2120
  strokeWidth: null,
2064
2121
  style: null,
2065
- surfaceScale: u,
2122
+ surfaceScale: d,
2066
2123
  syncBehavior: null,
2067
2124
  syncBehaviorDefault: null,
2068
2125
  syncMaster: null,
2069
2126
  syncTolerance: null,
2070
2127
  syncToleranceDefault: null,
2071
2128
  systemLanguage: P,
2072
- tabIndex: u,
2129
+ tabIndex: d,
2073
2130
  tableValues: null,
2074
2131
  target: null,
2075
- targetX: u,
2076
- targetY: u,
2132
+ targetX: d,
2133
+ targetY: d,
2077
2134
  textAnchor: null,
2078
2135
  textDecoration: null,
2079
2136
  textRendering: null,
@@ -2088,22 +2145,22 @@ const ho = te({
2088
2145
  transformOrigin: null,
2089
2146
  u1: null,
2090
2147
  u2: null,
2091
- underlinePosition: u,
2092
- underlineThickness: u,
2148
+ underlinePosition: d,
2149
+ underlineThickness: d,
2093
2150
  unicode: null,
2094
2151
  unicodeBidi: null,
2095
2152
  unicodeRange: null,
2096
- unitsPerEm: u,
2153
+ unitsPerEm: d,
2097
2154
  values: null,
2098
- vAlphabetic: u,
2099
- vMathematical: u,
2155
+ vAlphabetic: d,
2156
+ vMathematical: d,
2100
2157
  vectorEffect: null,
2101
- vHanging: u,
2102
- vIdeographic: u,
2158
+ vHanging: d,
2159
+ vIdeographic: d,
2103
2160
  version: null,
2104
- vertAdvY: u,
2105
- vertOriginX: u,
2106
- vertOriginY: u,
2161
+ vertAdvY: d,
2162
+ vertOriginX: d,
2163
+ vertOriginY: d,
2107
2164
  viewBox: null,
2108
2165
  viewTarget: null,
2109
2166
  visibility: null,
@@ -2115,7 +2172,7 @@ const ho = te({
2115
2172
  x1: null,
2116
2173
  x2: null,
2117
2174
  xChannelSelector: null,
2118
- xHeight: u,
2175
+ xHeight: d,
2119
2176
  y: null,
2120
2177
  y1: null,
2121
2178
  y2: null,
@@ -2124,8 +2181,8 @@ const ho = te({
2124
2181
  zoomAndPan: null
2125
2182
  },
2126
2183
  space: "svg",
2127
- transform: zt
2128
- }), $t = te({
2184
+ transform: Ut
2185
+ }), Bt = ee({
2129
2186
  properties: {
2130
2187
  xLinkActuate: null,
2131
2188
  xLinkArcRole: null,
@@ -2139,31 +2196,31 @@ const ho = te({
2139
2196
  transform(e, t) {
2140
2197
  return "xlink:" + t.slice(5).toLowerCase();
2141
2198
  }
2142
- }), Bt = te({
2199
+ }), Ht = ee({
2143
2200
  attributes: { xmlnsxlink: "xmlns:xlink" },
2144
2201
  properties: { xmlnsXLink: null, xmlns: null },
2145
2202
  space: "xmlns",
2146
- transform: Ut
2147
- }), Ht = te({
2203
+ transform: $t
2204
+ }), qt = ee({
2148
2205
  properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
2149
2206
  space: "xml",
2150
2207
  transform(e, t) {
2151
2208
  return "xml:" + t.slice(3).toLowerCase();
2152
2209
  }
2153
- }), mo = /[A-Z]/g, Ze = /-[a-z]/g, fo = /^data[-\w.:]+$/i;
2154
- function bo(e, t) {
2210
+ }), fo = /[A-Z]/g, Ze = /-[a-z]/g, bo = /^data[-\w.:]+$/i;
2211
+ function yo(e, t) {
2155
2212
  const n = ae(t);
2156
2213
  let o = t, r = D;
2157
2214
  if (n in e.normal)
2158
2215
  return e.property[e.normal[n]];
2159
- if (n.length > 4 && n.slice(0, 4) === "data" && fo.test(t)) {
2216
+ if (n.length > 4 && n.slice(0, 4) === "data" && bo.test(t)) {
2160
2217
  if (t.charAt(4) === "-") {
2161
- const a = t.slice(5).replace(Ze, ko);
2218
+ const a = t.slice(5).replace(Ze, vo);
2162
2219
  o = "data" + a.charAt(0).toUpperCase() + a.slice(1);
2163
2220
  } else {
2164
2221
  const a = t.slice(4);
2165
2222
  if (!Ze.test(a)) {
2166
- let l = a.replace(mo, yo);
2223
+ let l = a.replace(fo, ko);
2167
2224
  l.charAt(0) !== "-" && (l = "-" + l), t = "data" + l;
2168
2225
  }
2169
2226
  }
@@ -2171,13 +2228,13 @@ function bo(e, t) {
2171
2228
  }
2172
2229
  return new r(o, t);
2173
2230
  }
2174
- function yo(e) {
2231
+ function ko(e) {
2175
2232
  return "-" + e.toLowerCase();
2176
2233
  }
2177
- function ko(e) {
2234
+ function vo(e) {
2178
2235
  return e.charAt(1).toUpperCase();
2179
2236
  }
2180
- const vo = Pt([Mt, ho, $t, Bt, Ht], "html"), wo = Pt([Mt, go, $t, Bt, Ht], "svg");
2237
+ const wo = Mt([zt, go, Bt, Ht, qt], "html"), _o = Mt([zt, mo, Bt, Ht, qt], "svg");
2181
2238
  function Je(e) {
2182
2239
  const t = [], n = String(e || "");
2183
2240
  let o = n.indexOf(","), r = 0, a = !1;
@@ -2189,7 +2246,7 @@ function Je(e) {
2189
2246
  return t;
2190
2247
  }
2191
2248
  const Qe = /[#.]/g;
2192
- function _o(e, t) {
2249
+ function xo(e, t) {
2193
2250
  const n = e || "", o = {};
2194
2251
  let r = 0, a, l;
2195
2252
  for (; r < n.length; ) {
@@ -2209,8 +2266,8 @@ function et(e) {
2209
2266
  const t = String(e || "").trim();
2210
2267
  return t ? t.split(/[ \t\n\r\f]+/g) : [];
2211
2268
  }
2212
- function qt(e, t, n) {
2213
- const o = n ? No(n) : void 0;
2269
+ function jt(e, t, n) {
2270
+ const o = n ? To(n) : void 0;
2214
2271
  function r(a, l, ...c) {
2215
2272
  let s;
2216
2273
  if (a == null) {
@@ -2221,13 +2278,13 @@ function qt(e, t, n) {
2221
2278
  );
2222
2279
  c.unshift(p);
2223
2280
  } else {
2224
- s = _o(a, t);
2225
- const p = s.tagName.toLowerCase(), h = o ? o.get(p) : void 0;
2226
- if (s.tagName = h || p, xo(l))
2281
+ s = xo(a, t);
2282
+ const p = s.tagName.toLowerCase(), g = o ? o.get(p) : void 0;
2283
+ if (s.tagName = g || p, So(l))
2227
2284
  c.unshift(l);
2228
2285
  else
2229
- for (const [f, b] of Object.entries(l))
2230
- So(e, s.properties, f, b);
2286
+ for (const [m, f] of Object.entries(l))
2287
+ Eo(e, s.properties, m, f);
2231
2288
  }
2232
2289
  for (const p of c)
2233
2290
  Re(s.children, p);
@@ -2235,7 +2292,7 @@ function qt(e, t, n) {
2235
2292
  }
2236
2293
  return r;
2237
2294
  }
2238
- function xo(e) {
2295
+ function So(e) {
2239
2296
  if (e === null || typeof e != "object" || Array.isArray(e))
2240
2297
  return !0;
2241
2298
  if (typeof e.type != "string") return !1;
@@ -2258,14 +2315,14 @@ function xo(e) {
2258
2315
  }
2259
2316
  return !!("children" in e && Array.isArray(e.children));
2260
2317
  }
2261
- function So(e, t, n, o) {
2262
- const r = bo(e, n);
2318
+ function Eo(e, t, n, o) {
2319
+ const r = yo(e, n);
2263
2320
  let a;
2264
2321
  if (o != null) {
2265
2322
  if (typeof o == "number") {
2266
2323
  if (Number.isNaN(o)) return;
2267
2324
  a = o;
2268
- } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? Eo(o) : String(o);
2325
+ } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? No(o) : String(o);
2269
2326
  if (Array.isArray(a)) {
2270
2327
  const l = [];
2271
2328
  for (const c of a)
@@ -2301,19 +2358,19 @@ function tt(e, t, n) {
2301
2358
  }
2302
2359
  return n;
2303
2360
  }
2304
- function Eo(e) {
2361
+ function No(e) {
2305
2362
  const t = [];
2306
2363
  for (const [n, o] of Object.entries(e))
2307
2364
  t.push([n, o].join(": "));
2308
2365
  return t.join("; ");
2309
2366
  }
2310
- function No(e) {
2367
+ function To(e) {
2311
2368
  const t = /* @__PURE__ */ new Map();
2312
2369
  for (const n of e)
2313
2370
  t.set(n.toLowerCase(), n);
2314
2371
  return t;
2315
2372
  }
2316
- const To = [
2373
+ const Co = [
2317
2374
  "altGlyph",
2318
2375
  "altGlyphDef",
2319
2376
  "altGlyphItem",
@@ -2353,28 +2410,28 @@ const To = [
2353
2410
  "solidColor",
2354
2411
  "textArea",
2355
2412
  "textPath"
2356
- ], Co = qt(vo, "div"), Ao = qt(wo, "g", To), ke = {
2413
+ ], Ao = jt(wo, "div"), Io = jt(_o, "g", Co), ke = {
2357
2414
  html: "http://www.w3.org/1999/xhtml",
2358
2415
  svg: "http://www.w3.org/2000/svg"
2359
2416
  };
2360
- function Io(e, t) {
2361
- return jt(e, {}) || { type: "root", children: [] };
2417
+ function Ro(e, t) {
2418
+ return Gt(e, {}) || { type: "root", children: [] };
2362
2419
  }
2363
- function jt(e, t) {
2364
- const n = Ro(e, t);
2420
+ function Gt(e, t) {
2421
+ const n = Oo(e, t);
2365
2422
  return n && t.afterTransform && t.afterTransform(e, n), n;
2366
2423
  }
2367
- function Ro(e, t) {
2424
+ function Oo(e, t) {
2368
2425
  switch (e.nodeType) {
2369
2426
  case 1:
2370
- return Do(
2427
+ return Po(
2371
2428
  /** @type {Element} */
2372
2429
  e,
2373
2430
  t
2374
2431
  );
2375
2432
  // Ignore: Attr (2).
2376
2433
  case 3:
2377
- return Lo(
2434
+ return Fo(
2378
2435
  /** @type {Text} */
2379
2436
  e
2380
2437
  );
@@ -2383,7 +2440,7 @@ function Ro(e, t) {
2383
2440
  // Removed: Entity (6)
2384
2441
  // Ignore: Processing instruction (7).
2385
2442
  case 8:
2386
- return Fo(
2443
+ return Do(
2387
2444
  /** @type {Comment} */
2388
2445
  e
2389
2446
  );
@@ -2394,7 +2451,7 @@ function Ro(e, t) {
2394
2451
  t
2395
2452
  );
2396
2453
  case 10:
2397
- return Oo();
2454
+ return Lo();
2398
2455
  case 11:
2399
2456
  return nt(
2400
2457
  /** @type {DocumentFragment} */
@@ -2406,45 +2463,45 @@ function Ro(e, t) {
2406
2463
  }
2407
2464
  }
2408
2465
  function nt(e, t) {
2409
- return { type: "root", children: Gt(e, t) };
2466
+ return { type: "root", children: Vt(e, t) };
2410
2467
  }
2411
- function Oo() {
2468
+ function Lo() {
2412
2469
  return { type: "doctype" };
2413
2470
  }
2414
- function Lo(e) {
2471
+ function Fo(e) {
2415
2472
  return { type: "text", value: e.nodeValue || "" };
2416
2473
  }
2417
- function Fo(e) {
2474
+ function Do(e) {
2418
2475
  return { type: "comment", value: e.nodeValue || "" };
2419
2476
  }
2420
- function Do(e, t) {
2421
- const n = e.namespaceURI, o = n === ke.svg ? Ao : Co, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2477
+ function Po(e, t) {
2478
+ const n = e.namespaceURI, o = n === ke.svg ? Io : Ao, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2422
2479
  // @ts-expect-error: DOM types are wrong, content can exist.
2423
2480
  n === ke.html && r === "template" ? e.content : e
2424
2481
  ), l = e.getAttributeNames(), c = {};
2425
2482
  let s = -1;
2426
2483
  for (; ++s < l.length; )
2427
2484
  c[l[s]] = e.getAttribute(l[s]) || "";
2428
- return o(r, c, Gt(a, t));
2485
+ return o(r, c, Vt(a, t));
2429
2486
  }
2430
- function Gt(e, t) {
2487
+ function Vt(e, t) {
2431
2488
  const n = e.childNodes, o = [];
2432
2489
  let r = -1;
2433
2490
  for (; ++r < n.length; ) {
2434
- const a = jt(n[r], t);
2491
+ const a = Gt(n[r], t);
2435
2492
  a !== void 0 && o.push(a);
2436
2493
  }
2437
2494
  return o;
2438
2495
  }
2439
2496
  new DOMParser();
2440
- function Po(e, t) {
2441
- const n = Mo(e);
2497
+ function Mo(e, t) {
2498
+ const n = zo(e);
2442
2499
  return (
2443
2500
  /** @type {Root} */
2444
- Io(n)
2501
+ Ro(n)
2445
2502
  );
2446
2503
  }
2447
- function Mo(e) {
2504
+ function zo(e) {
2448
2505
  const t = document.createElement("template");
2449
2506
  return t.innerHTML = e, t.content;
2450
2507
  }
@@ -2465,24 +2522,24 @@ const He = (
2465
2522
  */
2466
2523
  (function(e) {
2467
2524
  if (e == null)
2468
- return Bo;
2525
+ return Ho;
2469
2526
  if (typeof e == "function")
2470
2527
  return me(e);
2471
2528
  if (typeof e == "object")
2472
- return Array.isArray(e) ? zo(e) : (
2529
+ return Array.isArray(e) ? Uo(e) : (
2473
2530
  // Cast because `ReadonlyArray` goes into the above but `isArray`
2474
2531
  // narrows to `Array`.
2475
- Uo(
2532
+ $o(
2476
2533
  /** @type {Props} */
2477
2534
  e
2478
2535
  )
2479
2536
  );
2480
2537
  if (typeof e == "string")
2481
- return $o(e);
2538
+ return Bo(e);
2482
2539
  throw new Error("Expected function, string, or object as test");
2483
2540
  })
2484
2541
  );
2485
- function zo(e) {
2542
+ function Uo(e) {
2486
2543
  const t = [];
2487
2544
  let n = -1;
2488
2545
  for (; ++n < e.length; )
@@ -2495,7 +2552,7 @@ function zo(e) {
2495
2552
  return !1;
2496
2553
  }
2497
2554
  }
2498
- function Uo(e) {
2555
+ function $o(e) {
2499
2556
  const t = (
2500
2557
  /** @type {Record<string, unknown>} */
2501
2558
  e
@@ -2513,7 +2570,7 @@ function Uo(e) {
2513
2570
  return !0;
2514
2571
  }
2515
2572
  }
2516
- function $o(e) {
2573
+ function Bo(e) {
2517
2574
  return me(t);
2518
2575
  function t(n) {
2519
2576
  return n && n.type === e;
@@ -2522,7 +2579,7 @@ function $o(e) {
2522
2579
  function me(e) {
2523
2580
  return t;
2524
2581
  function t(n, o, r) {
2525
- return !!(Ho(n) && e.call(
2582
+ return !!(qo(n) && e.call(
2526
2583
  this,
2527
2584
  n,
2528
2585
  typeof o == "number" ? o : void 0,
@@ -2530,10 +2587,10 @@ function me(e) {
2530
2587
  ));
2531
2588
  }
2532
2589
  }
2533
- function Bo() {
2590
+ function Ho() {
2534
2591
  return !0;
2535
2592
  }
2536
- function Ho(e) {
2593
+ function qo(e) {
2537
2594
  return e !== null && typeof e == "object" && "type" in e;
2538
2595
  }
2539
2596
  const ot = (
@@ -2579,17 +2636,17 @@ const ot = (
2579
2636
  */
2580
2637
  (function(e) {
2581
2638
  if (e == null)
2582
- return Go;
2639
+ return Vo;
2583
2640
  if (typeof e == "string")
2584
- return jo(e);
2641
+ return Go(e);
2585
2642
  if (typeof e == "object")
2586
- return qo(e);
2643
+ return jo(e);
2587
2644
  if (typeof e == "function")
2588
2645
  return qe(e);
2589
2646
  throw new Error("Expected function, string, or array as `test`");
2590
2647
  })
2591
2648
  );
2592
- function qo(e) {
2649
+ function jo(e) {
2593
2650
  const t = [];
2594
2651
  let n = -1;
2595
2652
  for (; ++n < e.length; )
@@ -2602,7 +2659,7 @@ function qo(e) {
2602
2659
  return !1;
2603
2660
  }
2604
2661
  }
2605
- function jo(e) {
2662
+ function Go(e) {
2606
2663
  return qe(t);
2607
2664
  function t(n) {
2608
2665
  return n.tagName === e;
@@ -2611,7 +2668,7 @@ function jo(e) {
2611
2668
  function qe(e) {
2612
2669
  return t;
2613
2670
  function t(n, o, r) {
2614
- return !!(Vo(n) && e.call(
2671
+ return !!(Wo(n) && e.call(
2615
2672
  this,
2616
2673
  n,
2617
2674
  typeof o == "number" ? o : void 0,
@@ -2619,13 +2676,13 @@ function qe(e) {
2619
2676
  ));
2620
2677
  }
2621
2678
  }
2622
- function Go(e) {
2679
+ function Vo(e) {
2623
2680
  return !!(e && typeof e == "object" && "type" in e && e.type === "element" && "tagName" in e && typeof e.tagName == "string");
2624
2681
  }
2625
- function Vo(e) {
2682
+ function Wo(e) {
2626
2683
  return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
2627
2684
  }
2628
- const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V("tr"), Yo = V([
2685
+ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(tr), Yo = V("p"), lt = V("tr"), Xo = V([
2629
2686
  // List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
2630
2687
  "datalist",
2631
2688
  "head",
@@ -2639,10 +2696,10 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V(
2639
2696
  "template",
2640
2697
  "title",
2641
2698
  // Hidden attribute.
2642
- Qo,
2699
+ er,
2643
2700
  // From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
2644
- tr
2645
- ]), Vt = V([
2701
+ nr
2702
+ ]), Wt = V([
2646
2703
  "address",
2647
2704
  // Flow content
2648
2705
  "article",
@@ -2724,12 +2781,12 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(er), Wo = V("p"), lt = V(
2724
2781
  "xmp"
2725
2782
  // Flow content (legacy)
2726
2783
  ]);
2727
- function Xo(e, t) {
2728
- const n = t || {}, o = "children" in e ? e.children : [], r = Vt(e), a = Xt(e, {
2784
+ function Ko(e, t) {
2785
+ const n = t || {}, o = "children" in e ? e.children : [], r = Wt(e), a = Kt(e, {
2729
2786
  whitespace: n.whitespace || "normal"
2730
2787
  }), l = [];
2731
2788
  (e.type === "text" || e.type === "comment") && l.push(
2732
- ...Yt(e, {
2789
+ ...Xt(e, {
2733
2790
  breakBefore: !0,
2734
2791
  breakAfter: !0
2735
2792
  })
@@ -2737,7 +2794,7 @@ function Xo(e, t) {
2737
2794
  let c = -1;
2738
2795
  for (; ++c < o.length; )
2739
2796
  l.push(
2740
- ...Wt(
2797
+ ...Yt(
2741
2798
  o[c],
2742
2799
  // @ts-expect-error: `tree` is a parent if we’re here.
2743
2800
  e,
@@ -2751,26 +2808,26 @@ function Xo(e, t) {
2751
2808
  const s = [];
2752
2809
  let p;
2753
2810
  for (c = -1; ++c < l.length; ) {
2754
- const h = l[c];
2755
- typeof h == "number" ? p !== void 0 && h > p && (p = h) : h && (p !== void 0 && p > -1 && s.push(`
2756
- `.repeat(p) || " "), p = -1, s.push(h));
2811
+ const g = l[c];
2812
+ typeof g == "number" ? p !== void 0 && g > p && (p = g) : g && (p !== void 0 && p > -1 && s.push(`
2813
+ `.repeat(p) || " "), p = -1, s.push(g));
2757
2814
  }
2758
2815
  return s.join("");
2759
2816
  }
2760
- function Wt(e, t, n) {
2761
- return e.type === "element" ? Ko(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Yt(e, n) : Zo(e) : [];
2817
+ function Yt(e, t, n) {
2818
+ return e.type === "element" ? Zo(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Xt(e, n) : Jo(e) : [];
2762
2819
  }
2763
- function Ko(e, t, n) {
2764
- const o = Xt(e, n), r = e.children || [];
2820
+ function Zo(e, t, n) {
2821
+ const o = Kt(e, n), r = e.children || [];
2765
2822
  let a = -1, l = [];
2766
- if (Yo(e))
2823
+ if (Xo(e))
2767
2824
  return l;
2768
2825
  let c, s;
2769
2826
  for (Oe(e) || lt(e) && // @ts-expect-error: something up with types of parents.
2770
2827
  ot(t, e, lt) ? s = `
2771
- ` : Wo(e) ? (c = 2, s = 2) : Vt(e) && (c = 1, s = 1); ++a < r.length; )
2828
+ ` : Yo(e) ? (c = 2, s = 2) : Wt(e) && (c = 1, s = 1); ++a < r.length; )
2772
2829
  l = l.concat(
2773
- Wt(r[a], e, {
2830
+ Yt(r[a], e, {
2774
2831
  whitespace: o,
2775
2832
  breakBefore: a ? void 0 : c,
2776
2833
  breakAfter: a < r.length - 1 ? Oe(r[a + 1]) : s
@@ -2779,7 +2836,7 @@ function Ko(e, t, n) {
2779
2836
  return it(e) && // @ts-expect-error: something up with types of parents.
2780
2837
  ot(t, e, it) && l.push(" "), c && l.unshift(c), s && l.push(s), l;
2781
2838
  }
2782
- function Yt(e, t) {
2839
+ function Xt(e, t) {
2783
2840
  const n = String(e.value), o = [], r = [];
2784
2841
  let a = 0;
2785
2842
  for (; a <= n.length; ) {
@@ -2788,7 +2845,7 @@ function Yt(e, t) {
2788
2845
  o.push(
2789
2846
  // Any sequence of collapsible spaces and tabs immediately preceding or
2790
2847
  // following a segment break is removed.
2791
- Jo(
2848
+ Qo(
2792
2849
  // […] ignoring bidi formatting characters (characters with the
2793
2850
  // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
2794
2851
  // they were not there.
@@ -2803,10 +2860,10 @@ function Yt(e, t) {
2803
2860
  o[l].charCodeAt(o[l].length - 1) === 8203 || l < o.length - 1 && o[l + 1].charCodeAt(0) === 8203 ? (r.push(o[l]), c = void 0) : o[l] ? (typeof c == "number" && r.push(c), r.push(o[l]), c = 0) : (l === 0 || l === o.length - 1) && r.push(0);
2804
2861
  return r;
2805
2862
  }
2806
- function Zo(e) {
2863
+ function Jo(e) {
2807
2864
  return [String(e.value)];
2808
2865
  }
2809
- function Jo(e, t, n) {
2866
+ function Qo(e, t, n) {
2810
2867
  const o = [];
2811
2868
  let r = 0, a;
2812
2869
  for (; r < e.length; ) {
@@ -2816,7 +2873,7 @@ function Jo(e, t, n) {
2816
2873
  }
2817
2874
  return r !== a && !n && o.push(""), o.join(" ");
2818
2875
  }
2819
- function Xt(e, t) {
2876
+ function Kt(e, t) {
2820
2877
  if (e.type === "element") {
2821
2878
  const n = e.properties || {};
2822
2879
  switch (e.tagName) {
@@ -2837,131 +2894,131 @@ function Xt(e, t) {
2837
2894
  }
2838
2895
  return t.whitespace;
2839
2896
  }
2840
- function Qo(e) {
2897
+ function er(e) {
2841
2898
  return !!(e.properties || {}).hidden;
2842
2899
  }
2843
- function er(e) {
2900
+ function tr(e) {
2844
2901
  return e.tagName === "td" || e.tagName === "th";
2845
2902
  }
2846
- function tr(e) {
2903
+ function nr(e) {
2847
2904
  return e.tagName === "dialog" && !(e.properties || {}).open;
2848
2905
  }
2849
- const Kt = [], nr = !0, st = !1, Zt = "skip";
2850
- function or(e, t, n, o) {
2906
+ const Zt = [], or = !0, st = !1, Jt = "skip";
2907
+ function rr(e, t, n, o) {
2851
2908
  let r;
2852
2909
  r = t;
2853
2910
  const a = He(r), l = 1;
2854
2911
  c(e, void 0, [])();
2855
- function c(s, p, h) {
2856
- const f = (
2912
+ function c(s, p, g) {
2913
+ const m = (
2857
2914
  /** @type {Record<string, unknown>} */
2858
2915
  s && typeof s == "object" ? s : {}
2859
2916
  );
2860
- if (typeof f.type == "string") {
2861
- const m = (
2917
+ if (typeof m.type == "string") {
2918
+ const b = (
2862
2919
  // `hast`
2863
- typeof f.tagName == "string" ? f.tagName : (
2920
+ typeof m.tagName == "string" ? m.tagName : (
2864
2921
  // `xast`
2865
- typeof f.name == "string" ? f.name : void 0
2922
+ typeof m.name == "string" ? m.name : void 0
2866
2923
  )
2867
2924
  );
2868
- Object.defineProperty(b, "name", {
2869
- value: "node (" + (s.type + (m ? "<" + m + ">" : "")) + ")"
2925
+ Object.defineProperty(f, "name", {
2926
+ value: "node (" + (s.type + (b ? "<" + b + ">" : "")) + ")"
2870
2927
  });
2871
2928
  }
2872
- return b;
2873
- function b() {
2874
- let m = Kt, y, d, v;
2875
- if (a(s, p, h[h.length - 1] || void 0) && (m = rr(n(s, h)), m[0] === st))
2876
- return m;
2929
+ return f;
2930
+ function f() {
2931
+ let b = Zt, k, u, w;
2932
+ if (a(s, p, g[g.length - 1] || void 0) && (b = ar(n(s, g)), b[0] === st))
2933
+ return b;
2877
2934
  if ("children" in s && s.children) {
2878
- const _ = (
2935
+ const v = (
2879
2936
  /** @type {UnistParent} */
2880
2937
  s
2881
2938
  );
2882
- if (_.children && m[0] !== Zt)
2883
- for (d = -1 + l, v = h.concat(_); d > -1 && d < _.children.length; ) {
2884
- const g = _.children[d];
2885
- if (y = c(g, d, v)(), y[0] === st)
2886
- return y;
2887
- d = typeof y[1] == "number" ? y[1] : d + l;
2939
+ if (v.children && b[0] !== Jt)
2940
+ for (u = -1 + l, w = g.concat(v); u > -1 && u < v.children.length; ) {
2941
+ const h = v.children[u];
2942
+ if (k = c(h, u, w)(), k[0] === st)
2943
+ return k;
2944
+ u = typeof k[1] == "number" ? k[1] : u + l;
2888
2945
  }
2889
2946
  }
2890
- return m;
2947
+ return b;
2891
2948
  }
2892
2949
  }
2893
2950
  }
2894
- function rr(e) {
2895
- return Array.isArray(e) ? e : typeof e == "number" ? [nr, e] : e == null ? Kt : [e];
2951
+ function ar(e) {
2952
+ return Array.isArray(e) ? e : typeof e == "number" ? [or, e] : e == null ? Zt : [e];
2896
2953
  }
2897
- const ar = {}, ir = [];
2898
- function lr(e) {
2899
- const t = e || ar;
2954
+ const ir = {}, lr = [];
2955
+ function sr(e) {
2956
+ const t = e || ir;
2900
2957
  return function(n, o) {
2901
- or(n, "element", function(r, a) {
2902
- const l = Array.isArray(r.properties.className) ? r.properties.className : ir, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2903
- let h = s;
2958
+ rr(n, "element", function(r, a) {
2959
+ const l = Array.isArray(r.properties.className) ? r.properties.className : lr, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2960
+ let g = s;
2904
2961
  if (!c && !s && !p)
2905
2962
  return;
2906
- let f = a[a.length - 1], b = r;
2907
- if (r.tagName === "code" && c && f && f.type === "element" && f.tagName === "pre" && (b = f, f = a[a.length - 2], h = !0), !f) return;
2908
- const m = Xo(b, { whitespace: "pre" });
2909
- let y;
2963
+ let m = a[a.length - 1], f = r;
2964
+ if (r.tagName === "code" && c && m && m.type === "element" && m.tagName === "pre" && (f = m, m = a[a.length - 2], g = !0), !m) return;
2965
+ const b = Ko(f, { whitespace: "pre" });
2966
+ let k;
2910
2967
  try {
2911
- y = Ve.renderToString(m, {
2968
+ k = Ve.renderToString(b, {
2912
2969
  ...t,
2913
- displayMode: h,
2970
+ displayMode: g,
2914
2971
  throwOnError: !0
2915
2972
  });
2916
- } catch (v) {
2917
- const _ = (
2973
+ } catch (w) {
2974
+ const v = (
2918
2975
  /** @type {Error} */
2919
- v
2920
- ), g = _.name.toLowerCase();
2976
+ w
2977
+ ), h = v.name.toLowerCase();
2921
2978
  o.message("Could not render math with KaTeX", {
2922
2979
  ancestors: [...a, r],
2923
- cause: _,
2980
+ cause: v,
2924
2981
  place: r.position,
2925
- ruleId: g,
2982
+ ruleId: h,
2926
2983
  source: "rehype-katex"
2927
2984
  });
2928
2985
  try {
2929
- y = Ve.renderToString(m, {
2986
+ k = Ve.renderToString(b, {
2930
2987
  ...t,
2931
- displayMode: h,
2988
+ displayMode: g,
2932
2989
  strict: "ignore",
2933
2990
  throwOnError: !1
2934
2991
  });
2935
2992
  } catch {
2936
- y = [
2993
+ k = [
2937
2994
  {
2938
2995
  type: "element",
2939
2996
  tagName: "span",
2940
2997
  properties: {
2941
2998
  className: ["katex-error"],
2942
2999
  style: "color:" + (t.errorColor || "#cc0000"),
2943
- title: String(v)
3000
+ title: String(w)
2944
3001
  },
2945
- children: [{ type: "text", value: m }]
3002
+ children: [{ type: "text", value: b }]
2946
3003
  }
2947
3004
  ];
2948
3005
  }
2949
3006
  }
2950
- typeof y == "string" && (y = /** @type {Array<ElementContent>} */
2951
- Po(y).children);
2952
- const d = f.children.indexOf(b);
2953
- return f.children.splice(d, 1, ...y), Zt;
3007
+ typeof k == "string" && (k = /** @type {Array<ElementContent>} */
3008
+ Mo(k).children);
3009
+ const u = m.children.indexOf(f);
3010
+ return m.children.splice(u, 1, ...k), Jt;
2954
3011
  });
2955
3012
  };
2956
3013
  }
2957
- function sr(e, t) {
3014
+ function cr(e, t) {
2958
3015
  const n = String(e);
2959
3016
  let o = n.indexOf(t), r = o, a = 0, l = 0;
2960
3017
  for (; o !== -1; )
2961
3018
  o === r ? ++a > l && (l = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2962
3019
  return l;
2963
3020
  }
2964
- function cr() {
3021
+ function ur() {
2965
3022
  return {
2966
3023
  enter: {
2967
3024
  mathFlow: e,
@@ -3005,13 +3062,13 @@ function cr() {
3005
3062
  this.data.mathFlowInside || (this.buffer(), this.data.mathFlowInside = !0);
3006
3063
  }
3007
3064
  function r(s) {
3008
- const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), h = this.stack[this.stack.length - 1];
3009
- h.type, this.exit(s), h.value = p;
3010
- const f = (
3065
+ const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), g = this.stack[this.stack.length - 1];
3066
+ g.type, this.exit(s), g.value = p;
3067
+ const m = (
3011
3068
  /** @type {HastElement} */
3012
- h.data.hChildren[0]
3069
+ g.data.hChildren[0]
3013
3070
  );
3014
- f.type, f.tagName, f.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
3071
+ m.type, m.tagName, m.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
3015
3072
  }
3016
3073
  function a(s) {
3017
3074
  this.enter(
@@ -3028,16 +3085,16 @@ function cr() {
3028
3085
  ), this.buffer();
3029
3086
  }
3030
3087
  function l(s) {
3031
- const p = this.resume(), h = this.stack[this.stack.length - 1];
3032
- h.type, this.exit(s), h.value = p, /** @type {Array<HastElementContent>} */
3088
+ const p = this.resume(), g = this.stack[this.stack.length - 1];
3089
+ g.type, this.exit(s), g.value = p, /** @type {Array<HastElementContent>} */
3033
3090
  // @ts-expect-error: we defined it in `enterMathFlow`.
3034
- h.data.hChildren.push({ type: "text", value: p });
3091
+ g.data.hChildren.push({ type: "text", value: p });
3035
3092
  }
3036
3093
  function c(s) {
3037
3094
  this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
3038
3095
  }
3039
3096
  }
3040
- function ur(e) {
3097
+ function dr(e) {
3041
3098
  let t = (e || {}).singleDollarTextMath;
3042
3099
  return t == null && (t = !0), o.peek = r, {
3043
3100
  unsafe: [
@@ -3055,45 +3112,45 @@ function ur(e) {
3055
3112
  handlers: { math: n, inlineMath: o }
3056
3113
  };
3057
3114
  function n(a, l, c, s) {
3058
- const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(sr(p, "$") + 1, 2)), b = c.enter("mathFlow");
3059
- let m = h.move(f);
3115
+ const p = a.value || "", g = c.createTracker(s), m = "$".repeat(Math.max(cr(p, "$") + 1, 2)), f = c.enter("mathFlow");
3116
+ let b = g.move(m);
3060
3117
  if (a.meta) {
3061
- const y = c.enter("mathFlowMeta");
3062
- m += h.move(
3118
+ const k = c.enter("mathFlowMeta");
3119
+ b += g.move(
3063
3120
  c.safe(a.meta, {
3064
3121
  after: `
3065
3122
  `,
3066
- before: m,
3123
+ before: b,
3067
3124
  encode: ["$"],
3068
- ...h.current()
3125
+ ...g.current()
3069
3126
  })
3070
- ), y();
3127
+ ), k();
3071
3128
  }
3072
- return m += h.move(`
3073
- `), p && (m += h.move(p + `
3074
- `)), m += h.move(f), b(), m;
3129
+ return b += g.move(`
3130
+ `), p && (b += g.move(p + `
3131
+ `)), b += g.move(m), f(), b;
3075
3132
  }
3076
3133
  function o(a, l, c) {
3077
3134
  let s = a.value || "", p = 1;
3078
3135
  for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
3079
3136
  p++;
3080
- const h = "$".repeat(p);
3137
+ const g = "$".repeat(p);
3081
3138
  // Contains non-space.
3082
3139
  /[^ \r\n]/.test(s) && // Starts with space and ends with space.
3083
3140
  (/^[ \r\n]/.test(s) && /[ \r\n]$/.test(s) || // Starts or ends with dollar.
3084
3141
  /^\$|\$$/.test(s)) && (s = " " + s + " ");
3085
- let f = -1;
3086
- for (; ++f < c.unsafe.length; ) {
3087
- const b = c.unsafe[f];
3088
- if (!b.atBreak) continue;
3089
- const m = c.compilePattern(b);
3090
- let y;
3091
- for (; y = m.exec(s); ) {
3092
- let d = y.index;
3093
- s.codePointAt(d) === 10 && s.codePointAt(d - 1) === 13 && d--, s = s.slice(0, d) + " " + s.slice(y.index + 1);
3142
+ let m = -1;
3143
+ for (; ++m < c.unsafe.length; ) {
3144
+ const f = c.unsafe[m];
3145
+ if (!f.atBreak) continue;
3146
+ const b = c.compilePattern(f);
3147
+ let k;
3148
+ for (; k = b.exec(s); ) {
3149
+ let u = k.index;
3150
+ s.codePointAt(u) === 10 && s.codePointAt(u - 1) === 13 && u--, s = s.slice(0, u) + " " + s.slice(k.index + 1);
3094
3151
  }
3095
3152
  }
3096
- return h + s + h;
3153
+ return g + s + g;
3097
3154
  }
3098
3155
  function r() {
3099
3156
  return "$";
@@ -3116,68 +3173,68 @@ function ce(e, t, n, o) {
3116
3173
  return ct(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3117
3174
  }
3118
3175
  }
3119
- const dr = {
3120
- tokenize: pr,
3176
+ const pr = {
3177
+ tokenize: hr,
3121
3178
  concrete: !0,
3122
3179
  name: "mathFlow"
3123
3180
  }, ut = {
3124
- tokenize: hr,
3181
+ tokenize: gr,
3125
3182
  partial: !0
3126
3183
  };
3127
- function pr(e, t, n) {
3184
+ function hr(e, t, n) {
3128
3185
  const o = this, r = o.events[o.events.length - 1], a = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0;
3129
3186
  let l = 0;
3130
3187
  return c;
3131
- function c(g) {
3132
- return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(g);
3188
+ function c(h) {
3189
+ return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(h);
3133
3190
  }
3134
- function s(g) {
3135
- return g === 36 ? (e.consume(g), l++, s) : l < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(g));
3191
+ function s(h) {
3192
+ return h === 36 ? (e.consume(h), l++, s) : l < 2 ? n(h) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(h));
3136
3193
  }
3137
- function p(g) {
3138
- return g === null || j(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3194
+ function p(h) {
3195
+ return h === null || j(h) ? m(h) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3139
3196
  contentType: "string"
3140
- }), h(g));
3197
+ }), g(h));
3141
3198
  }
3142
- function h(g) {
3143
- return g === null || j(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3199
+ function g(h) {
3200
+ return h === null || j(h) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), m(h)) : h === 36 ? n(h) : (e.consume(h), g);
3144
3201
  }
3145
- function f(g) {
3146
- return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(ut, b, v)(g);
3202
+ function m(h) {
3203
+ return e.exit("mathFlowFence"), o.interrupt ? t(h) : e.attempt(ut, f, w)(h);
3147
3204
  }
3148
- function b(g) {
3205
+ function f(h) {
3149
3206
  return e.attempt({
3150
- tokenize: _,
3207
+ tokenize: v,
3151
3208
  partial: !0
3152
- }, v, m)(g);
3209
+ }, w, b)(h);
3153
3210
  }
3154
- function m(g) {
3155
- return (a ? ce(e, y, "linePrefix", a + 1) : y)(g);
3211
+ function b(h) {
3212
+ return (a ? ce(e, k, "linePrefix", a + 1) : k)(h);
3156
3213
  }
3157
- function y(g) {
3158
- return g === null ? v(g) : j(g) ? e.attempt(ut, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3214
+ function k(h) {
3215
+ return h === null ? w(h) : j(h) ? e.attempt(ut, f, w)(h) : (e.enter("mathFlowValue"), u(h));
3159
3216
  }
3160
- function d(g) {
3161
- return g === null || j(g) ? (e.exit("mathFlowValue"), y(g)) : (e.consume(g), d);
3217
+ function u(h) {
3218
+ return h === null || j(h) ? (e.exit("mathFlowValue"), k(h)) : (e.consume(h), u);
3162
3219
  }
3163
- function v(g) {
3164
- return e.exit("mathFlow"), t(g);
3220
+ function w(h) {
3221
+ return e.exit("mathFlow"), t(h);
3165
3222
  }
3166
- function _(g, R, E) {
3167
- let I = 0;
3168
- return ce(g, $, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3223
+ function v(h, C, E) {
3224
+ let R = 0;
3225
+ return ce(h, $, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3169
3226
  function $(O) {
3170
- return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), z(O);
3227
+ return h.enter("mathFlowFence"), h.enter("mathFlowFenceSequence"), z(O);
3171
3228
  }
3172
3229
  function z(O) {
3173
- return O === 36 ? (I++, g.consume(O), z) : I < l ? E(O) : (g.exit("mathFlowFenceSequence"), ce(g, ne, "whitespace")(O));
3230
+ return O === 36 ? (R++, h.consume(O), z) : R < l ? E(O) : (h.exit("mathFlowFenceSequence"), ce(h, ne, "whitespace")(O));
3174
3231
  }
3175
3232
  function ne(O) {
3176
- return O === null || j(O) ? (g.exit("mathFlowFence"), R(O)) : E(O);
3233
+ return O === null || j(O) ? (h.exit("mathFlowFence"), C(O)) : E(O);
3177
3234
  }
3178
3235
  }
3179
3236
  }
3180
- function hr(e, t, n) {
3237
+ function gr(e, t, n) {
3181
3238
  const o = this;
3182
3239
  return r;
3183
3240
  function r(l) {
@@ -3187,35 +3244,35 @@ function hr(e, t, n) {
3187
3244
  return o.parser.lazy[o.now().line] ? n(l) : t(l);
3188
3245
  }
3189
3246
  }
3190
- function gr(e) {
3247
+ function mr(e) {
3191
3248
  let n = (e || {}).singleDollarTextMath;
3192
3249
  return n == null && (n = !0), {
3193
3250
  tokenize: o,
3194
- resolve: mr,
3195
- previous: fr,
3251
+ resolve: fr,
3252
+ previous: br,
3196
3253
  name: "mathText"
3197
3254
  };
3198
3255
  function o(r, a, l) {
3199
3256
  let c = 0, s, p;
3200
- return h;
3201
- function h(d) {
3202
- return r.enter("mathText"), r.enter("mathTextSequence"), f(d);
3257
+ return g;
3258
+ function g(u) {
3259
+ return r.enter("mathText"), r.enter("mathTextSequence"), m(u);
3203
3260
  }
3204
- function f(d) {
3205
- return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? l(d) : (r.exit("mathTextSequence"), b(d));
3261
+ function m(u) {
3262
+ return u === 36 ? (r.consume(u), c++, m) : c < 2 && !n ? l(u) : (r.exit("mathTextSequence"), f(u));
3206
3263
  }
3207
- function b(d) {
3208
- return d === null ? l(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, y(d)) : d === 32 ? (r.enter("space"), r.consume(d), r.exit("space"), b) : j(d) ? (r.enter("lineEnding"), r.consume(d), r.exit("lineEnding"), b) : (r.enter("mathTextData"), m(d));
3264
+ function f(u) {
3265
+ return u === null ? l(u) : u === 36 ? (p = r.enter("mathTextSequence"), s = 0, k(u)) : u === 32 ? (r.enter("space"), r.consume(u), r.exit("space"), f) : j(u) ? (r.enter("lineEnding"), r.consume(u), r.exit("lineEnding"), f) : (r.enter("mathTextData"), b(u));
3209
3266
  }
3210
- function m(d) {
3211
- return d === null || d === 32 || d === 36 || j(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3267
+ function b(u) {
3268
+ return u === null || u === 32 || u === 36 || j(u) ? (r.exit("mathTextData"), f(u)) : (r.consume(u), b);
3212
3269
  }
3213
- function y(d) {
3214
- return d === 36 ? (r.consume(d), s++, y) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(d)) : (p.type = "mathTextData", m(d));
3270
+ function k(u) {
3271
+ return u === 36 ? (r.consume(u), s++, k) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(u)) : (p.type = "mathTextData", b(u));
3215
3272
  }
3216
3273
  }
3217
3274
  }
3218
- function mr(e) {
3275
+ function fr(e) {
3219
3276
  let t = e.length - 4, n = 3, o, r;
3220
3277
  if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
3221
3278
  for (o = n; ++o < t; )
@@ -3228,40 +3285,40 @@ function mr(e) {
3228
3285
  r === void 0 ? o !== t && e[o][1].type !== "lineEnding" && (r = o) : (o === t || e[o][1].type === "lineEnding") && (e[r][1].type = "mathTextData", o !== r + 2 && (e[r][1].end = e[o - 1][1].end, e.splice(r + 2, o - r - 2), t -= o - r - 2, o = r + 2), r = void 0);
3229
3286
  return e;
3230
3287
  }
3231
- function fr(e) {
3288
+ function br(e) {
3232
3289
  return e !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
3233
3290
  }
3234
- function br(e) {
3291
+ function yr(e) {
3235
3292
  return {
3236
3293
  flow: {
3237
- 36: dr
3294
+ 36: pr
3238
3295
  },
3239
3296
  text: {
3240
- 36: gr(e)
3297
+ 36: mr(e)
3241
3298
  }
3242
3299
  };
3243
3300
  }
3244
- const yr = {};
3245
- function kr(e) {
3301
+ const kr = {};
3302
+ function vr(e) {
3246
3303
  const t = (
3247
3304
  /** @type {Processor} */
3248
3305
  this
3249
- ), n = e || yr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3250
- r.push(br(n)), a.push(cr()), l.push(ur(n));
3306
+ ), n = e || kr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3307
+ r.push(yr(n)), a.push(ur()), l.push(dr(n));
3251
3308
  }
3252
- function vr(e = {}) {
3309
+ function wr(e = {}) {
3253
3310
  var t, n;
3254
- let o = [kr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [lr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3311
+ let o = [vr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [sr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3255
3312
  return { name: "katex", type: "math", remarkPlugin: o, rehypePlugin: r, getStyles() {
3256
3313
  return "katex/dist/katex.min.css";
3257
3314
  } };
3258
3315
  }
3259
- var dt = vr();
3260
- const je = de(
3316
+ var dt = wr();
3317
+ const je = pe(
3261
3318
  ({ className: e, ...t }) => /* @__PURE__ */ i(
3262
- On,
3319
+ Rn,
3263
3320
  {
3264
- className: k("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
3321
+ className: y("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
3265
3322
  ...t,
3266
3323
  remarkPlugins: [dt.remarkPlugin, ...t.remarkPlugins || []],
3267
3324
  rehypePlugins: [dt.rehypePlugin, ...t.rehypePlugins || []]
@@ -3270,7 +3327,7 @@ const je = de(
3270
3327
  (e, t) => e.children === t.children
3271
3328
  );
3272
3329
  je.displayName = "Response";
3273
- function wr({
3330
+ function _r({
3274
3331
  part: e,
3275
3332
  message: t,
3276
3333
  status: n,
@@ -3281,39 +3338,40 @@ function wr({
3281
3338
  feedback: c,
3282
3339
  handleFeedback: s,
3283
3340
  copyHost: p,
3284
- feedbackEnabled: h,
3285
- retryEnabled: f
3341
+ feedbackEnabled: g,
3342
+ retryEnabled: m
3286
3343
  }) {
3287
- const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: y, rehypePlugins: d } = W(), v = ge(e.text), _ = !o && r && (n === "streaming" || n === "submitted"), g = l || (() => {
3344
+ const { t: f } = M(["chat"]), { textComponents: b, remarkPlugins: k, rehypePlugins: u } = te(), w = ge(e.text), v = !o && r && (n === "streaming" || n === "submitted"), h = l || (() => {
3288
3345
  });
3289
- return /* @__PURE__ */ w("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3290
- /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Dt, { dir: v, children: /* @__PURE__ */ i(
3346
+ return /* @__PURE__ */ _("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3347
+ /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { dir: w, children: /* @__PURE__ */ i(
3291
3348
  je,
3292
3349
  {
3293
- components: m,
3294
- remarkPlugins: y,
3295
- rehypePlugins: d,
3350
+ className: y(t.role === "user" && "whitespace-pre-wrap break-words"),
3351
+ components: b,
3352
+ remarkPlugins: k,
3353
+ rehypePlugins: u,
3296
3354
  children: e.text
3297
3355
  }
3298
3356
  ) }) }),
3299
- a && !_ && /* @__PURE__ */ w(uo, { className: k("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3300
- t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
3301
- r && f && /* @__PURE__ */ i(
3357
+ a && !v && /* @__PURE__ */ _(po, { className: y("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3358
+ t.role === "assistant" && /* @__PURE__ */ _(Z, { children: [
3359
+ r && m && /* @__PURE__ */ i(
3302
3360
  se,
3303
3361
  {
3304
- onClick: () => g(t.id),
3305
- label: b("retry"),
3306
- tooltip: b("retry"),
3362
+ onClick: () => h(t.id),
3363
+ label: f("retry"),
3364
+ tooltip: f("retry"),
3307
3365
  children: /* @__PURE__ */ i(yn, { className: "size-3" })
3308
3366
  }
3309
3367
  ),
3310
- h && /* @__PURE__ */ w(J, { children: [
3368
+ g && /* @__PURE__ */ _(Z, { children: [
3311
3369
  /* @__PURE__ */ i(
3312
3370
  se,
3313
3371
  {
3314
3372
  onClick: () => s("like"),
3315
- label: b("like"),
3316
- tooltip: b("like"),
3373
+ label: f("like"),
3374
+ tooltip: f("like"),
3317
3375
  className: c === "like" ? "text-primary" : "",
3318
3376
  children: /* @__PURE__ */ i(kn, { className: "size-3" })
3319
3377
  }
@@ -3322,8 +3380,8 @@ function wr({
3322
3380
  se,
3323
3381
  {
3324
3382
  onClick: () => s("dislike"),
3325
- label: b("dislike"),
3326
- tooltip: b("dislike"),
3383
+ label: f("dislike"),
3384
+ tooltip: f("dislike"),
3327
3385
  className: c === "dislike" ? "text-destructive" : "",
3328
3386
  children: /* @__PURE__ */ i(vn, { className: "size-3" })
3329
3387
  }
@@ -3336,20 +3394,20 @@ function wr({
3336
3394
  onClick: () => {
3337
3395
  p(e.text);
3338
3396
  },
3339
- label: b("copy"),
3340
- tooltip: b("copy"),
3341
- children: /* @__PURE__ */ i(Nt, { className: "size-3" })
3397
+ label: f("copy"),
3398
+ tooltip: f("copy"),
3399
+ children: /* @__PURE__ */ i(Tt, { className: "size-3" })
3342
3400
  }
3343
3401
  )
3344
3402
  ] })
3345
3403
  ] });
3346
3404
  }
3347
- const Jt = pe(null), _r = () => {
3348
- const e = Fe(Jt);
3405
+ const Qt = de(null), xr = () => {
3406
+ const e = Fe(Qt);
3349
3407
  if (!e)
3350
3408
  throw new Error("Reasoning components must be used within Reasoning");
3351
3409
  return e;
3352
- }, xr = 1e3, Sr = 1e3, Qt = de(
3410
+ }, Sr = 1e3, Er = 1e3, en = pe(
3353
3411
  ({
3354
3412
  className: e,
3355
3413
  isStreaming: t = !1,
@@ -3365,41 +3423,41 @@ const Jt = pe(null), _r = () => {
3365
3423
  prop: n,
3366
3424
  defaultProp: o,
3367
3425
  onChange: r
3368
- }), [h, f] = We({
3426
+ }), [g, m] = We({
3369
3427
  prop: a,
3370
3428
  defaultProp: 0
3371
- }), [b, m] = B(!1), [y, d] = B(null);
3372
- Q(() => {
3373
- t ? y === null && d(Date.now()) : y !== null && (f(Math.ceil((Date.now() - y) / Sr)), d(null));
3374
- }, [t, y, f]), Q(() => {
3375
- if (o && !t && s && !b) {
3376
- const _ = setTimeout(() => {
3377
- p(!1), m(!0);
3378
- }, xr);
3429
+ }), [f, b] = B(!1), [k, u] = B(null);
3430
+ J(() => {
3431
+ t ? k === null && u(Date.now()) : k !== null && (m(Math.ceil((Date.now() - k) / Er)), u(null));
3432
+ }, [t, k, m]), J(() => {
3433
+ if (o && !t && s && !f) {
3434
+ const v = setTimeout(() => {
3435
+ p(!1), b(!0);
3436
+ }, Sr);
3379
3437
  return () => {
3380
- clearTimeout(_);
3438
+ clearTimeout(v);
3381
3439
  };
3382
3440
  }
3383
- }, [t, s, o, p, b]);
3384
- const v = (_) => {
3385
- p(_);
3441
+ }, [t, s, o, p, f]);
3442
+ const w = (v) => {
3443
+ p(v);
3386
3444
  };
3387
- return /* @__PURE__ */ i(Jt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ i(
3445
+ return /* @__PURE__ */ i(Qt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: g }, children: /* @__PURE__ */ i(
3388
3446
  ze,
3389
3447
  {
3390
- className: k("not-prose mb-4", e),
3391
- onOpenChange: v,
3448
+ className: y("not-prose mb-4", e),
3449
+ onOpenChange: w,
3392
3450
  open: s,
3393
3451
  ...c,
3394
3452
  children: l
3395
3453
  }
3396
3454
  ) });
3397
3455
  }
3398
- ), en = de(({ className: e, children: t, ...n }) => {
3399
- const { isStreaming: o, isOpen: r, duration: a } = _r();
3400
- return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3456
+ ), tn = pe(({ className: e, children: t, ...n }) => {
3457
+ const { isStreaming: o, isOpen: r, duration: a } = xr();
3458
+ return /* @__PURE__ */ i(Ue, { className: y("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ _(Z, { children: [
3401
3459
  /* @__PURE__ */ i(wn, { className: "size-4" }),
3402
- o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3460
+ o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ _("p", { children: [
3403
3461
  "Thought for ",
3404
3462
  a,
3405
3463
  " ",
@@ -3408,14 +3466,14 @@ const Jt = pe(null), _r = () => {
3408
3466
  /* @__PURE__ */ i(
3409
3467
  ie,
3410
3468
  {
3411
- className: k("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
3469
+ className: y("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
3412
3470
  }
3413
3471
  )
3414
3472
  ] }) });
3415
- }), tn = de(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3473
+ }), nn = pe(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3416
3474
  $e,
3417
3475
  {
3418
- className: k(
3476
+ className: y(
3419
3477
  "mt-4 text-base",
3420
3478
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
3421
3479
  e
@@ -3424,10 +3482,10 @@ const Jt = pe(null), _r = () => {
3424
3482
  children: /* @__PURE__ */ i(je, { className: "grid gap-2", children: t })
3425
3483
  }
3426
3484
  ));
3427
- Qt.displayName = "Reasoning";
3428
- en.displayName = "ReasoningTrigger";
3429
- tn.displayName = "ReasoningContent";
3430
- function Er({
3485
+ en.displayName = "Reasoning";
3486
+ tn.displayName = "ReasoningTrigger";
3487
+ nn.displayName = "ReasoningContent";
3488
+ function Nr({
3431
3489
  part: e,
3432
3490
  status: t,
3433
3491
  index: n,
@@ -3435,19 +3493,19 @@ function Er({
3435
3493
  lastMessage: r
3436
3494
  }) {
3437
3495
  const a = ge(e.text);
3438
- return /* @__PURE__ */ w(
3439
- Qt,
3496
+ return /* @__PURE__ */ _(
3497
+ en,
3440
3498
  {
3441
3499
  className: "w-full animate-in-bubble",
3442
3500
  isStreaming: t === "streaming" && n === o - 1 && r,
3443
3501
  children: [
3444
- /* @__PURE__ */ i(en, {}),
3445
- /* @__PURE__ */ i(tn, { dir: a, children: e.text })
3502
+ /* @__PURE__ */ i(tn, {}),
3503
+ /* @__PURE__ */ i(nn, { dir: a, children: e.text })
3446
3504
  ]
3447
3505
  }
3448
3506
  );
3449
3507
  }
3450
- const Nr = Pe(
3508
+ const Tr = De(
3451
3509
  "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
3452
3510
  {
3453
3511
  variants: {
@@ -3463,32 +3521,32 @@ const Nr = Pe(
3463
3521
  }
3464
3522
  }
3465
3523
  );
3466
- function Tr({
3524
+ function Cr({
3467
3525
  className: e,
3468
3526
  variant: t,
3469
3527
  asChild: n = !1,
3470
3528
  ...o
3471
3529
  }) {
3472
- return /* @__PURE__ */ i(n ? Ct : "span", { "data-slot": "badge", className: k(Nr({ variant: t }), e), ...o });
3530
+ return /* @__PURE__ */ i(n ? Et : "span", { "data-slot": "badge", className: y(Tr({ variant: t }), e), ...o });
3473
3531
  }
3474
- function Cr({ ...e }) {
3532
+ function Ar({ ...e }) {
3475
3533
  return /* @__PURE__ */ i(H.Root, { "data-slot": "dialog", ...e });
3476
3534
  }
3477
- function Ar({ ...e }) {
3535
+ function Ir({ ...e }) {
3478
3536
  return /* @__PURE__ */ i(H.Trigger, { "data-slot": "dialog-trigger", ...e });
3479
3537
  }
3480
- function Ir({ ...e }) {
3538
+ function Rr({ ...e }) {
3481
3539
  return /* @__PURE__ */ i(H.Portal, { "data-slot": "dialog-portal", ...e });
3482
3540
  }
3483
- function wi({ ...e }) {
3541
+ function xi({ ...e }) {
3484
3542
  return /* @__PURE__ */ i(H.Close, { "data-slot": "dialog-close", ...e });
3485
3543
  }
3486
- function Rr({ className: e, ...t }) {
3544
+ function Or({ className: e, ...t }) {
3487
3545
  return /* @__PURE__ */ i(
3488
3546
  H.Overlay,
3489
3547
  {
3490
3548
  "data-slot": "dialog-overlay",
3491
- className: k(
3549
+ className: y(
3492
3550
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
3493
3551
  e
3494
3552
  ),
@@ -3496,26 +3554,26 @@ function Rr({ className: e, ...t }) {
3496
3554
  }
3497
3555
  );
3498
3556
  }
3499
- function Or({
3557
+ function Lr({
3500
3558
  className: e,
3501
3559
  children: t,
3502
3560
  showCloseButton: n = !0,
3503
3561
  ...o
3504
3562
  }) {
3505
- return /* @__PURE__ */ w(Ir, { "data-slot": "dialog-portal", children: [
3506
- /* @__PURE__ */ i(Rr, {}),
3507
- /* @__PURE__ */ w(
3563
+ return /* @__PURE__ */ _(Rr, { "data-slot": "dialog-portal", children: [
3564
+ /* @__PURE__ */ i(Or, {}),
3565
+ /* @__PURE__ */ _(
3508
3566
  H.Content,
3509
3567
  {
3510
3568
  "data-slot": "dialog-content",
3511
- className: k(
3569
+ className: y(
3512
3570
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
3513
3571
  e
3514
3572
  ),
3515
3573
  ...o,
3516
3574
  children: [
3517
3575
  t,
3518
- n && /* @__PURE__ */ w(
3576
+ n && /* @__PURE__ */ _(
3519
3577
  H.Close,
3520
3578
  {
3521
3579
  "data-slot": "dialog-close",
@@ -3531,47 +3589,47 @@ function Or({
3531
3589
  )
3532
3590
  ] });
3533
3591
  }
3534
- function Lr({ className: e, ...t }) {
3592
+ function Fr({ className: e, ...t }) {
3535
3593
  return /* @__PURE__ */ i(
3536
3594
  "div",
3537
3595
  {
3538
3596
  "data-slot": "dialog-header",
3539
- className: k("flex flex-col gap-2 text-center sm:text-start", e),
3597
+ className: y("flex flex-col gap-2 text-center sm:text-start", e),
3540
3598
  ...t
3541
3599
  }
3542
3600
  );
3543
3601
  }
3544
- function _i({ className: e, ...t }) {
3602
+ function Si({ className: e, ...t }) {
3545
3603
  return /* @__PURE__ */ i(
3546
3604
  "div",
3547
3605
  {
3548
3606
  "data-slot": "dialog-footer",
3549
- className: k("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
3607
+ className: y("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
3550
3608
  ...t
3551
3609
  }
3552
3610
  );
3553
3611
  }
3554
- function Fr({ className: e, ...t }) {
3612
+ function Dr({ className: e, ...t }) {
3555
3613
  return /* @__PURE__ */ i(
3556
3614
  H.Title,
3557
3615
  {
3558
3616
  "data-slot": "dialog-title",
3559
- className: k("text-xl leading-none font-semibold", e),
3617
+ className: y("text-xl leading-none font-semibold", e),
3560
3618
  ...t
3561
3619
  }
3562
3620
  );
3563
3621
  }
3564
- function xi({ className: e, ...t }) {
3622
+ function Ei({ className: e, ...t }) {
3565
3623
  return /* @__PURE__ */ i(
3566
3624
  H.Description,
3567
3625
  {
3568
3626
  "data-slot": "dialog-description",
3569
- className: k("text-muted-foreground text-base", e),
3627
+ className: y("text-muted-foreground text-base", e),
3570
3628
  ...t
3571
3629
  }
3572
3630
  );
3573
3631
  }
3574
- const Dr = {
3632
+ const Pr = {
3575
3633
  'code[class*="language-"]': {
3576
3634
  background: "hsl(220, 13%, 18%)",
3577
3635
  color: "hsl(220, 14%, 71%)",
@@ -4071,7 +4129,7 @@ const Dr = {
4071
4129
  ".prism-previewer-easing.prism-previewer-easing line": {
4072
4130
  stroke: "hsl(220, 14%, 71%)"
4073
4131
  }
4074
- }, Pr = {
4132
+ }, Mr = {
4075
4133
  'code[class*="language-"]': {
4076
4134
  background: "hsl(230, 1%, 98%)",
4077
4135
  color: "hsl(230, 8%, 24%)",
@@ -4564,7 +4622,7 @@ function q(e) {
4564
4622
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4565
4623
  }
4566
4624
  var ve, pt;
4567
- function Mr() {
4625
+ function zr() {
4568
4626
  if (pt) return ve;
4569
4627
  pt = 1, ve = e, e.displayName = "python", e.aliases = ["py"];
4570
4628
  function e(t) {
@@ -4632,10 +4690,10 @@ function Mr() {
4632
4690
  }
4633
4691
  return ve;
4634
4692
  }
4635
- var zr = Mr();
4636
- const Ur = /* @__PURE__ */ q(zr);
4693
+ var Ur = zr();
4694
+ const $r = /* @__PURE__ */ q(Ur);
4637
4695
  var we, ht;
4638
- function $r() {
4696
+ function Br() {
4639
4697
  if (ht) return we;
4640
4698
  ht = 1, we = e, e.displayName = "javascript", e.aliases = ["js"];
4641
4699
  function e(t) {
@@ -4764,10 +4822,10 @@ function $r() {
4764
4822
  }
4765
4823
  return we;
4766
4824
  }
4767
- var Br = $r();
4768
- const Hr = /* @__PURE__ */ q(Br);
4825
+ var Hr = Br();
4826
+ const qr = /* @__PURE__ */ q(Hr);
4769
4827
  var _e, gt;
4770
- function qr() {
4828
+ function jr() {
4771
4829
  if (gt) return _e;
4772
4830
  gt = 1, _e = e, e.displayName = "typescript", e.aliases = ["ts"];
4773
4831
  function e(t) {
@@ -4819,10 +4877,10 @@ function qr() {
4819
4877
  }
4820
4878
  return _e;
4821
4879
  }
4822
- var jr = qr();
4823
- const Gr = /* @__PURE__ */ q(jr);
4880
+ var Gr = jr();
4881
+ const Vr = /* @__PURE__ */ q(Gr);
4824
4882
  var xe, mt;
4825
- function Vr() {
4883
+ function Wr() {
4826
4884
  if (mt) return xe;
4827
4885
  mt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
4828
4886
  function e(t) {
@@ -4853,10 +4911,10 @@ function Vr() {
4853
4911
  }
4854
4912
  return xe;
4855
4913
  }
4856
- var Wr = Vr();
4857
- const Yr = /* @__PURE__ */ q(Wr);
4914
+ var Yr = Wr();
4915
+ const Xr = /* @__PURE__ */ q(Yr);
4858
4916
  var Se, ft;
4859
- function Xr() {
4917
+ function Kr() {
4860
4918
  if (ft) return Se;
4861
4919
  ft = 1, Se = e, e.displayName = "bash", e.aliases = ["shell"];
4862
4920
  function e(t) {
@@ -5075,10 +5133,10 @@ function Xr() {
5075
5133
  }
5076
5134
  return Se;
5077
5135
  }
5078
- var Kr = Xr();
5079
- const Zr = /* @__PURE__ */ q(Kr);
5136
+ var Zr = Kr();
5137
+ const Jr = /* @__PURE__ */ q(Zr);
5080
5138
  var Ee, bt;
5081
- function Jr() {
5139
+ function Qr() {
5082
5140
  if (bt) return Ee;
5083
5141
  bt = 1, Ee = e, e.displayName = "sql", e.aliases = [];
5084
5142
  function e(t) {
@@ -5118,10 +5176,10 @@ function Jr() {
5118
5176
  }
5119
5177
  return Ee;
5120
5178
  }
5121
- var Qr = Jr();
5122
- const ea = /* @__PURE__ */ q(Qr);
5179
+ var ea = Qr();
5180
+ const ta = /* @__PURE__ */ q(ea);
5123
5181
  var Ne, yt;
5124
- function ta() {
5182
+ function na() {
5125
5183
  if (yt) return Ne;
5126
5184
  yt = 1, Ne = e, e.displayName = "yaml", e.aliases = ["yml"];
5127
5185
  function e(t) {
@@ -5132,14 +5190,14 @@ function ta() {
5132
5190
  return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
5133
5191
  }
5134
5192
  ), c = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
5135
- function s(p, h) {
5136
- h = (h || "").replace(/m/g, "") + "m";
5137
- var f = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
5193
+ function s(p, g) {
5194
+ g = (g || "").replace(/m/g, "") + "m";
5195
+ var m = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
5138
5196
  return a;
5139
5197
  }).replace(/<<value>>/g, function() {
5140
5198
  return p;
5141
5199
  });
5142
- return RegExp(f, h);
5200
+ return RegExp(m, g);
5143
5201
  }
5144
5202
  n.languages.yaml = {
5145
5203
  scalar: {
@@ -5209,19 +5267,19 @@ function ta() {
5209
5267
  }
5210
5268
  return Ne;
5211
5269
  }
5212
- var na = ta();
5213
- const oa = /* @__PURE__ */ q(na);
5270
+ var oa = na();
5271
+ const ra = /* @__PURE__ */ q(oa);
5214
5272
  var Te, kt;
5215
- function ra() {
5273
+ function aa() {
5216
5274
  if (kt) return Te;
5217
5275
  kt = 1, Te = e, e.displayName = "markdown", e.aliases = ["md"];
5218
5276
  function e(t) {
5219
5277
  (function(n) {
5220
5278
  var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
5221
- function r(b) {
5222
- return b = b.replace(/<inner>/g, function() {
5279
+ function r(f) {
5280
+ return f = f.replace(/<inner>/g, function() {
5223
5281
  return o;
5224
- }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + b + ")");
5282
+ }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + f + ")");
5225
5283
  }
5226
5284
  var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, l = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5227
5285
  /__/g,
@@ -5464,55 +5522,55 @@ function ra() {
5464
5522
  }
5465
5523
  }
5466
5524
  }
5467
- }), ["url", "bold", "italic", "strike"].forEach(function(b) {
5468
- ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(m) {
5469
- b !== m && (n.languages.markdown[b].inside.content.inside[m] = n.languages.markdown[m]);
5525
+ }), ["url", "bold", "italic", "strike"].forEach(function(f) {
5526
+ ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(b) {
5527
+ f !== b && (n.languages.markdown[f].inside.content.inside[b] = n.languages.markdown[b]);
5470
5528
  });
5471
- }), n.hooks.add("after-tokenize", function(b) {
5472
- if (b.language !== "markdown" && b.language !== "md")
5529
+ }), n.hooks.add("after-tokenize", function(f) {
5530
+ if (f.language !== "markdown" && f.language !== "md")
5473
5531
  return;
5474
- function m(y) {
5475
- if (!(!y || typeof y == "string"))
5476
- for (var d = 0, v = y.length; d < v; d++) {
5477
- var _ = y[d];
5478
- if (_.type !== "code") {
5479
- m(_.content);
5532
+ function b(k) {
5533
+ if (!(!k || typeof k == "string"))
5534
+ for (var u = 0, w = k.length; u < w; u++) {
5535
+ var v = k[u];
5536
+ if (v.type !== "code") {
5537
+ b(v.content);
5480
5538
  continue;
5481
5539
  }
5482
- var g = _.content[1], R = _.content[3];
5483
- if (g && R && g.type === "code-language" && R.type === "code-block" && typeof g.content == "string") {
5484
- var E = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5540
+ var h = v.content[1], C = v.content[3];
5541
+ if (h && C && h.type === "code-language" && C.type === "code-block" && typeof h.content == "string") {
5542
+ var E = h.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5485
5543
  E = (/[a-z][\w-]*/i.exec(E) || [""])[0].toLowerCase();
5486
- var I = "language-" + E;
5487
- R.alias ? typeof R.alias == "string" ? R.alias = [R.alias, I] : R.alias.push(I) : R.alias = [I];
5544
+ var R = "language-" + E;
5545
+ C.alias ? typeof C.alias == "string" ? C.alias = [C.alias, R] : C.alias.push(R) : C.alias = [R];
5488
5546
  }
5489
5547
  }
5490
5548
  }
5491
- m(b.tokens);
5492
- }), n.hooks.add("wrap", function(b) {
5493
- if (b.type === "code-block") {
5494
- for (var m = "", y = 0, d = b.classes.length; y < d; y++) {
5495
- var v = b.classes[y], _ = /language-(.+)/.exec(v);
5496
- if (_) {
5497
- m = _[1];
5549
+ b(f.tokens);
5550
+ }), n.hooks.add("wrap", function(f) {
5551
+ if (f.type === "code-block") {
5552
+ for (var b = "", k = 0, u = f.classes.length; k < u; k++) {
5553
+ var w = f.classes[k], v = /language-(.+)/.exec(w);
5554
+ if (v) {
5555
+ b = v[1];
5498
5556
  break;
5499
5557
  }
5500
5558
  }
5501
- var g = n.languages[m];
5502
- if (g)
5503
- b.content = n.highlight(
5504
- f(b.content.value),
5505
- g,
5506
- m
5559
+ var h = n.languages[b];
5560
+ if (h)
5561
+ f.content = n.highlight(
5562
+ m(f.content.value),
5563
+ h,
5564
+ b
5507
5565
  );
5508
- else if (m && m !== "none" && n.plugins.autoloader) {
5509
- var R = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5510
- b.attributes.id = R, n.plugins.autoloader.loadLanguages(m, function() {
5511
- var E = document.getElementById(R);
5566
+ else if (b && b !== "none" && n.plugins.autoloader) {
5567
+ var C = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5568
+ f.attributes.id = C, n.plugins.autoloader.loadLanguages(b, function() {
5569
+ var E = document.getElementById(C);
5512
5570
  E && (E.innerHTML = n.highlight(
5513
5571
  E.textContent,
5514
- n.languages[m],
5515
- m
5572
+ n.languages[b],
5573
+ b
5516
5574
  ));
5517
5575
  });
5518
5576
  }
@@ -5523,35 +5581,35 @@ function ra() {
5523
5581
  lt: "<",
5524
5582
  gt: ">",
5525
5583
  quot: '"'
5526
- }, h = String.fromCodePoint || String.fromCharCode;
5527
- function f(b) {
5528
- var m = b.replace(s, "");
5529
- return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, d) {
5530
- if (d = d.toLowerCase(), d[0] === "#") {
5531
- var v;
5532
- return d[1] === "x" ? v = parseInt(d.slice(2), 16) : v = Number(d.slice(1)), h(v);
5584
+ }, g = String.fromCodePoint || String.fromCharCode;
5585
+ function m(f) {
5586
+ var b = f.replace(s, "");
5587
+ return b = b.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(k, u) {
5588
+ if (u = u.toLowerCase(), u[0] === "#") {
5589
+ var w;
5590
+ return u[1] === "x" ? w = parseInt(u.slice(2), 16) : w = Number(u.slice(1)), g(w);
5533
5591
  } else {
5534
- var _ = p[d];
5535
- return _ || y;
5592
+ var v = p[u];
5593
+ return v || k;
5536
5594
  }
5537
- }), m;
5595
+ }), b;
5538
5596
  }
5539
5597
  n.languages.md = n.languages.markdown;
5540
5598
  })(t);
5541
5599
  }
5542
5600
  return Te;
5543
5601
  }
5544
- var aa = ra();
5545
- const ia = /* @__PURE__ */ q(aa);
5546
- U.registerLanguage("python", Ur);
5547
- U.registerLanguage("javascript", Hr);
5548
- U.registerLanguage("typescript", Gr);
5549
- U.registerLanguage("json", Yr);
5550
- U.registerLanguage("bash", Zr);
5551
- U.registerLanguage("sql", ea);
5552
- U.registerLanguage("yaml", oa);
5553
- U.registerLanguage("markdown", ia);
5554
- const la = pe({
5602
+ var ia = aa();
5603
+ const la = /* @__PURE__ */ q(ia);
5604
+ U.registerLanguage("python", $r);
5605
+ U.registerLanguage("javascript", qr);
5606
+ U.registerLanguage("typescript", Vr);
5607
+ U.registerLanguage("json", Xr);
5608
+ U.registerLanguage("bash", Jr);
5609
+ U.registerLanguage("sql", ta);
5610
+ U.registerLanguage("yaml", ra);
5611
+ U.registerLanguage("markdown", la);
5612
+ const sa = de({
5555
5613
  code: ""
5556
5614
  }), Le = ({
5557
5615
  code: e,
@@ -5560,13 +5618,13 @@ const la = pe({
5560
5618
  className: o,
5561
5619
  children: r,
5562
5620
  ...a
5563
- }) => /* @__PURE__ */ i(la.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5621
+ }) => /* @__PURE__ */ i(sa.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5564
5622
  "div",
5565
5623
  {
5566
- className: k("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5624
+ className: y("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5567
5625
  dir: "ltr",
5568
5626
  ...a,
5569
- children: /* @__PURE__ */ w("div", { className: "relative", children: [
5627
+ children: /* @__PURE__ */ _("div", { className: "relative", children: [
5570
5628
  /* @__PURE__ */ i(
5571
5629
  U,
5572
5630
  {
@@ -5588,7 +5646,7 @@ const la = pe({
5588
5646
  minWidth: "2.5rem"
5589
5647
  },
5590
5648
  showLineNumbers: n,
5591
- style: Pr,
5649
+ style: Mr,
5592
5650
  children: e
5593
5651
  }
5594
5652
  ),
@@ -5613,7 +5671,7 @@ const la = pe({
5613
5671
  minWidth: "2.5rem"
5614
5672
  },
5615
5673
  showLineNumbers: n,
5616
- style: Dr,
5674
+ style: Pr,
5617
5675
  children: e
5618
5676
  }
5619
5677
  ),
@@ -5621,7 +5679,7 @@ const la = pe({
5621
5679
  ] })
5622
5680
  }
5623
5681
  ) });
5624
- function sa(e, t = "size-4") {
5682
+ function ca(e, t = "size-4") {
5625
5683
  return {
5626
5684
  web_search: /* @__PURE__ */ i(En, { className: t }),
5627
5685
  web_fetch: /* @__PURE__ */ i(ue, { className: t }),
@@ -5629,42 +5687,42 @@ function sa(e, t = "size-4") {
5629
5687
  image_generation: /* @__PURE__ */ i(xn, { className: t })
5630
5688
  }[e] ?? /* @__PURE__ */ i(_n, { className: t });
5631
5689
  }
5632
- const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 w-full rounded-md border", e), ...t }), ua = ({ status: e }) => {
5690
+ const ua = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not-prose mb-4 w-full rounded-md border", e), ...t }), da = ({ status: e }) => {
5633
5691
  const { t } = M(["tools_ui"]), n = {
5634
5692
  "input-streaming": t("pending"),
5635
5693
  "input-available": t("running"),
5636
5694
  "output-available": t("completed"),
5637
5695
  "output-error": t("error")
5638
5696
  };
5639
- return /* @__PURE__ */ w(Tr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5697
+ return /* @__PURE__ */ _(Cr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5640
5698
  {
5641
5699
  "input-streaming": /* @__PURE__ */ i(Cn, { className: "size-4" }),
5642
5700
  "input-available": /* @__PURE__ */ i(Tn, { className: "size-4 animate-pulse" }),
5643
5701
  "output-available": /* @__PURE__ */ i(Nn, { className: "size-4 text-green-600" }),
5644
- "output-error": /* @__PURE__ */ i(Tt, { className: "size-4 text-red-600" })
5702
+ "output-error": /* @__PURE__ */ i(Ct, { className: "size-4 text-red-600" })
5645
5703
  }[e],
5646
5704
  n[e]
5647
5705
  ] });
5648
- }, da = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5649
- const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = sa(a, "size-4 text-muted-foreground");
5650
- return /* @__PURE__ */ w(Ue, { className: k("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5651
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
5706
+ }, pa = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5707
+ const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = ca(a, "size-4 text-muted-foreground");
5708
+ return /* @__PURE__ */ _(Ue, { className: y("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5709
+ /* @__PURE__ */ _("div", { className: "flex items-center gap-2", children: [
5652
5710
  l,
5653
5711
  /* @__PURE__ */ i("span", { className: "font-medium text-sm", children: a }),
5654
- /* @__PURE__ */ i(ua, { status: n })
5712
+ /* @__PURE__ */ i(da, { status: n })
5655
5713
  ] }),
5656
5714
  /* @__PURE__ */ i(ie, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5657
5715
  ] });
5658
- }, pa = ({ className: e, ...t }) => /* @__PURE__ */ i(
5716
+ }, ha = ({ className: e, ...t }) => /* @__PURE__ */ i(
5659
5717
  $e,
5660
5718
  {
5661
- className: k(
5719
+ className: y(
5662
5720
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
5663
5721
  e
5664
5722
  ),
5665
5723
  ...t
5666
5724
  }
5667
- ), nn = (e) => {
5725
+ ), on = (e) => {
5668
5726
  if (typeof e == "string")
5669
5727
  try {
5670
5728
  return JSON.stringify(JSON.parse(e), null, 2);
@@ -5672,13 +5730,13 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5672
5730
  return e;
5673
5731
  }
5674
5732
  return JSON.stringify(e, null, 2);
5675
- }, ha = ({ className: e, input: t, ...n }) => {
5733
+ }, ga = ({ className: e, input: t, ...n }) => {
5676
5734
  const { t: o } = M(["tools_ui"]);
5677
- return /* @__PURE__ */ w("div", { className: k("space-y-2 overflow-hidden p-4", e), ...n, children: [
5735
+ return /* @__PURE__ */ _("div", { className: y("space-y-2 overflow-hidden p-4", e), ...n, children: [
5678
5736
  /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5679
- /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Le, { code: nn(t), language: "json" }) })
5737
+ /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Le, { code: on(t), language: "json" }) })
5680
5738
  ] });
5681
- }, ga = ({ className: e, output: t, errorText: n, ...o }) => {
5739
+ }, ma = ({ className: e, output: t, errorText: n, ...o }) => {
5682
5740
  const { t: r } = M(["tools_ui"]), [a, l] = B(!1);
5683
5741
  if (!(t || n))
5684
5742
  return null;
@@ -5696,19 +5754,19 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5696
5754
  }
5697
5755
  return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ i(Le, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5698
5756
  };
5699
- return /* @__PURE__ */ w("div", { className: k("space-y-2 p-4", e), ...o, children: [
5757
+ return /* @__PURE__ */ _("div", { className: y("space-y-2 p-4", e), ...o, children: [
5700
5758
  /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5701
- n && /* @__PURE__ */ w(Cr, { children: [
5702
- /* @__PURE__ */ i(Ar, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5703
- /* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
5759
+ n && /* @__PURE__ */ _(Ar, { children: [
5760
+ /* @__PURE__ */ i(Ir, { asChild: !0, children: /* @__PURE__ */ _(Q, { variant: "destructive", size: "sm", children: [
5761
+ /* @__PURE__ */ i(Ct, { className: "mr-1.5 size-4" }),
5704
5762
  r("view_error")
5705
5763
  ] }) }),
5706
- /* @__PURE__ */ w(Or, { className: "max-w-2xl", children: [
5707
- /* @__PURE__ */ i(Lr, { children: /* @__PURE__ */ i(Fr, { className: "text-destructive", children: r("tool_error") }) }),
5708
- /* @__PURE__ */ w("div", { className: "space-y-4", children: [
5709
- /* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: nn(n) }) }),
5710
- /* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
5711
- /* @__PURE__ */ i(Nt, { className: "mr-1.5 size-4" }),
5764
+ /* @__PURE__ */ _(Lr, { className: "max-w-2xl", children: [
5765
+ /* @__PURE__ */ i(Fr, { children: /* @__PURE__ */ i(Dr, { className: "text-destructive", children: r("tool_error") }) }),
5766
+ /* @__PURE__ */ _("div", { className: "space-y-4", children: [
5767
+ /* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: on(n) }) }),
5768
+ /* @__PURE__ */ _(Q, { variant: "outline", size: "sm", onClick: c, children: [
5769
+ /* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
5712
5770
  r(a ? "copied" : "copy_error")
5713
5771
  ] })
5714
5772
  ] })
@@ -5717,7 +5775,7 @@ const ca = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not
5717
5775
  t && !n && /* @__PURE__ */ i("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ i("div", { children: s() }) })
5718
5776
  ] });
5719
5777
  };
5720
- function ma({
5778
+ function fa({
5721
5779
  part: e,
5722
5780
  message: t,
5723
5781
  chat: n,
@@ -5743,15 +5801,15 @@ function ma({
5743
5801
  const c = o[l];
5744
5802
  return /* @__PURE__ */ i(c, { part: e, message: t, chat: n });
5745
5803
  }
5746
- return r ? /* @__PURE__ */ w(ca, { className: "animate-in-bubble", children: [
5747
- /* @__PURE__ */ i(da, { type: e.type, state: a.state, toolName: l }),
5748
- /* @__PURE__ */ w(pa, { children: [
5749
- /* @__PURE__ */ i(ha, { input: a.input }),
5750
- (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ga, { errorText: a.errorText, output: a.output })
5804
+ return r ? /* @__PURE__ */ _(ua, { className: "animate-in-bubble", children: [
5805
+ /* @__PURE__ */ i(pa, { type: e.type, state: a.state, toolName: l }),
5806
+ /* @__PURE__ */ _(ha, { children: [
5807
+ /* @__PURE__ */ i(ga, { input: a.input }),
5808
+ (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ma, { errorText: a.errorText, output: a.output })
5751
5809
  ] })
5752
5810
  ] }) : null;
5753
5811
  }
5754
- function fa({
5812
+ function ba({
5755
5813
  part: e,
5756
5814
  message: t
5757
5815
  }) {
@@ -5760,7 +5818,7 @@ function fa({
5760
5818
  const s = document.createElement("a");
5761
5819
  s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
5762
5820
  };
5763
- return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Dt, { isPlain: !0, children: r ? /* @__PURE__ */ w("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5821
+ return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { isPlain: !0, children: r ? /* @__PURE__ */ _("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5764
5822
  /* @__PURE__ */ i(
5765
5823
  "img",
5766
5824
  {
@@ -5769,7 +5827,7 @@ function fa({
5769
5827
  className: "max-h-[280px] w-full rounded-xl object-cover transition-transform duration-500 group-hover:scale-105"
5770
5828
  }
5771
5829
  ),
5772
- /* @__PURE__ */ w("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
5830
+ /* @__PURE__ */ _("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
5773
5831
  /* @__PURE__ */ i("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5774
5832
  /* @__PURE__ */ i(
5775
5833
  "button",
@@ -5789,9 +5847,9 @@ function fa({
5789
5847
  children: /* @__PURE__ */ i(ue, { className: "size-4" })
5790
5848
  }
5791
5849
  ) })
5792
- ] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ w("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5793
- /* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Et, { className: "size-4 shrink-0" }) }),
5794
- /* @__PURE__ */ w("div", { className: "flex flex-col min-w-0 mr-4", children: [
5850
+ ] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ _("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5851
+ /* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Nt, { className: "size-4 shrink-0" }) }),
5852
+ /* @__PURE__ */ _("div", { className: "flex flex-col min-w-0 mr-4", children: [
5795
5853
  /* @__PURE__ */ i("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
5796
5854
  (o.mediaType || o.media_type) && /* @__PURE__ */ i("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
5797
5855
  ] }),
@@ -5806,14 +5864,14 @@ function fa({
5806
5864
  )
5807
5865
  ] }) }) }) }) });
5808
5866
  }
5809
- const C = {
5810
- MessageList: Jn,
5811
- PromptInput: lo,
5812
- WelcomeScreen: co,
5813
- TextPart: wr,
5814
- ReasoningPart: Er,
5815
- ToolPart: ma,
5816
- FilePart: fa,
5867
+ const A = {
5868
+ MessageList: Qn,
5869
+ PromptInput: so,
5870
+ WelcomeScreen: uo,
5871
+ TextPart: _r,
5872
+ ReasoningPart: Nr,
5873
+ ToolPart: fa,
5874
+ FilePart: ba,
5817
5875
  toolComponents: void 0,
5818
5876
  textComponents: void 0,
5819
5877
  remarkPlugins: void 0,
@@ -5858,11 +5916,11 @@ const C = {
5858
5916
  account: { enabled: !0, fields: {} }
5859
5917
  }
5860
5918
  }
5861
- }, on = pe(C);
5862
- function W() {
5863
- return Fe(on);
5919
+ }, rn = de(A);
5920
+ function te() {
5921
+ return Fe(rn);
5864
5922
  }
5865
- function Si({
5923
+ function Ni({
5866
5924
  components: e,
5867
5925
  history: t,
5868
5926
  welcome: n,
@@ -5873,97 +5931,40 @@ function Si({
5873
5931
  app: c,
5874
5932
  i18n: s,
5875
5933
  settings: p,
5876
- children: h
5934
+ children: g
5877
5935
  }) {
5878
- const f = St(
5936
+ const m = St(
5879
5937
  () => ({
5880
- ...C,
5938
+ ...A,
5881
5939
  ...e,
5882
5940
  // toolComponents is a plain merge (not nested-spread) — callers
5883
5941
  // provide the full map for all tool names they want to override.
5884
- toolComponents: e?.toolComponents ?? C.toolComponents,
5885
- history: t ? { ...C.history, ...t } : C.history,
5886
- welcome: n ? { ...C.welcome, ...n } : C.welcome,
5887
- threadActions: o ? { ...C.threadActions, ...o } : C.threadActions,
5942
+ toolComponents: e?.toolComponents ?? A.toolComponents,
5943
+ history: t ? { ...A.history, ...t } : A.history,
5944
+ welcome: n ? { ...A.welcome, ...n } : A.welcome,
5945
+ threadActions: o ? { ...A.threadActions, ...o } : A.threadActions,
5888
5946
  composer: r ? {
5889
- ...C.composer,
5947
+ ...A.composer,
5890
5948
  ...r,
5891
- attachments: r.attachments ? { ...C.composer?.attachments, ...r.attachments } : C.composer?.attachments
5892
- } : C.composer,
5893
- theme: a ?? C.theme,
5894
- disclaimer: l ?? C.disclaimer,
5895
- app: c ? { ...C.app, ...c } : C.app,
5896
- i18n: s ?? C.i18n,
5949
+ attachments: r.attachments ? { ...A.composer?.attachments, ...r.attachments } : A.composer?.attachments
5950
+ } : A.composer,
5951
+ theme: a ?? A.theme,
5952
+ disclaimer: l ?? A.disclaimer,
5953
+ app: c ? { ...A.app, ...c } : A.app,
5954
+ i18n: s ?? A.i18n,
5897
5955
  settings: p ? {
5898
- ...C.settings,
5956
+ ...A.settings,
5899
5957
  sections: {
5900
- ...C.settings?.sections,
5958
+ ...A.settings?.sections,
5901
5959
  ...p.sections
5902
5960
  }
5903
- } : C.settings
5961
+ } : A.settings
5904
5962
  }),
5905
5963
  [e, t, n, o, r, a, l, c, s, p]
5906
5964
  );
5907
- return /* @__PURE__ */ i(on.Provider, { value: f, children: h });
5965
+ return /* @__PURE__ */ i(rn.Provider, { value: m, children: g });
5908
5966
  }
5909
- const ba = {
5910
- theme: "system",
5911
- setTheme: () => null,
5912
- accent: void 0,
5913
- setAccent: () => null,
5914
- radius: void 0,
5915
- setRadius: () => null
5916
- }, rn = pe(ba);
5917
- function Ei({
5918
- children: e,
5919
- defaultTheme: t = "system",
5920
- storageKey: n = "chatbot-theme",
5921
- ...o
5922
- }) {
5923
- const [r, a] = B(
5924
- () => window.localStorage.getItem(n) ?? t
5925
- ), [l, c] = B(
5926
- () => window.localStorage.getItem(n + "-accent") || void 0
5927
- ), [s, p] = B(
5928
- () => window.localStorage.getItem(n + "-radius") || "1.25rem"
5929
- ), { theme: h } = W(), { i18n: f } = M(["theme"]);
5930
- Q(() => {
5931
- const m = window.document.documentElement;
5932
- if (m.classList.remove("light", "dark"), r === "system") {
5933
- const y = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
5934
- m.classList.add(y);
5935
- return;
5936
- }
5937
- m.classList.add(r);
5938
- }, [r]), Q(() => {
5939
- const m = window.document.documentElement, y = f.language?.split("-")[0] || f.language;
5940
- let d = h?.typography?.fontFamily;
5941
- if (typeof d == "object" && d !== null && (d = d[f.language] || d[y] || d.en || Object.values(d)[0]), d) {
5942
- const g = d.includes(" ") && !d.startsWith("'") && !d.startsWith('"') ? `"${d}"` : d;
5943
- m.style.setProperty("--gentiq-font-family", g), m.style.fontFamily = g, window.document.body && (window.document.body.style.fontFamily = g);
5944
- }
5945
- const v = s || (typeof h?.radius == "number" ? `${h.radius}px` : h?.radius);
5946
- v !== void 0 && m.style.setProperty("--radius", v);
5947
- const _ = l || h?.accent;
5948
- _ !== void 0 && m.style.setProperty("--gentiq-primary", _), window.document.documentElement.dir = f.dir();
5949
- }, [h, f, f.language, l, s]);
5950
- const b = {
5951
- theme: r,
5952
- setTheme: (m) => {
5953
- window.localStorage.setItem(n, m), a(m);
5954
- },
5955
- accent: l,
5956
- setAccent: (m) => {
5957
- m ? window.localStorage.setItem(n + "-accent", m) : window.localStorage.removeItem(n + "-accent"), c(m);
5958
- },
5959
- radius: s,
5960
- setRadius: (m) => {
5961
- m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"), p(m);
5962
- }
5963
- };
5964
- return /* @__PURE__ */ i(rn.Provider, { ...o, value: b, children: e });
5965
- }
5966
- const Ni = () => Fe(rn), {
5967
+ const {
5967
5968
  slice: ya,
5968
5969
  forEach: ka
5969
5970
  } = [];
@@ -6112,18 +6113,18 @@ var xa = {
6112
6113
  return o;
6113
6114
  }
6114
6115
  };
6115
- let Y = null;
6116
+ let W = null;
6116
6117
  const _t = () => {
6117
- if (Y !== null) return Y;
6118
+ if (W !== null) return W;
6118
6119
  try {
6119
- if (Y = typeof window < "u" && window.localStorage !== null, !Y)
6120
+ if (W = typeof window < "u" && window.localStorage !== null, !W)
6120
6121
  return !1;
6121
6122
  const e = "i18next.translate.boo";
6122
6123
  window.localStorage.setItem(e, "foo"), window.localStorage.removeItem(e);
6123
6124
  } catch {
6124
- Y = !1;
6125
+ W = !1;
6125
6126
  }
6126
- return Y;
6127
+ return W;
6127
6128
  };
6128
6129
  var Na = {
6129
6130
  name: "localStorage",
@@ -6143,18 +6144,18 @@ var Na = {
6143
6144
  n && _t() && window.localStorage.setItem(n, e);
6144
6145
  }
6145
6146
  };
6146
- let X = null;
6147
+ let Y = null;
6147
6148
  const xt = () => {
6148
- if (X !== null) return X;
6149
+ if (Y !== null) return Y;
6149
6150
  try {
6150
- if (X = typeof window < "u" && window.sessionStorage !== null, !X)
6151
+ if (Y = typeof window < "u" && window.sessionStorage !== null, !Y)
6151
6152
  return !1;
6152
6153
  const e = "i18next.translate.boo";
6153
6154
  window.sessionStorage.setItem(e, "foo"), window.sessionStorage.removeItem(e);
6154
6155
  } catch {
6155
- X = !1;
6156
+ Y = !1;
6156
6157
  }
6157
- return X;
6158
+ return Y;
6158
6159
  };
6159
6160
  var Ta = {
6160
6161
  name: "sessionStorage",
@@ -6271,7 +6272,7 @@ class sn {
6271
6272
  }
6272
6273
  }
6273
6274
  sn.type = "languageDetector";
6274
- const La = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Fa = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, Da = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Pa = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Ma = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, za = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected)." }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Ua = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, $a = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, Ba = {
6275
+ const La = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Fa = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, Da = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Pa = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Ma = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, za = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected).", appearance: "Default Appearance", appearance_help: "These values apply when a user has not saved their own appearance preferences.", default_theme: "Default Theme", default_accent: "Default Accent Color", default_accent_help: "Enter any browser-supported CSS color, such as #3b82f6, rgb(59 130 246), or oklch(0.623 0.214 259.815).", default_accent_invalid: "Enter a valid browser-supported CSS color.", default_accent_preview: "Accent color preview" }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Ua = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, $a = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, Ba = {
6275
6276
  sidebar: La,
6276
6277
  chat: Fa,
6277
6278
  tools_ui: Da,
@@ -6280,7 +6281,7 @@ const La = { new_conversation: "New conversation", tooltip_new_conversation: "St
6280
6281
  admin: za,
6281
6282
  settings: Ua,
6282
6283
  errors: $a
6283
- }, Ha = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, qa = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, ja = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ga = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Va = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Wa = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار)." }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش می‌دهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعال‌سازی ثبت‌نام", disable_signup_help: "تب ثبت‌نام را مخفی می‌کند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعال‌سازی صفحه ورود/ثبت‌نام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی می‌کند و دسترسی به فرم‌های ورود و ثبت‌نام را می‌بندد.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیش‌فرض", initial_balance_requests: "تعداد درخواست اولیه پیش‌فرض", initial_balance_help: "این مقادیر به‌صورت خودکار به کاربران جدید اختصاص داده می‌شوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Ya = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Xa = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخ‌گویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Ka = {
6284
+ }, Ha = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, qa = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, ja = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ga = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Va = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Wa = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار).", appearance: "ظاهر پیش‌فرض", appearance_help: "این مقادیر زمانی اعمال می‌شوند که کاربر تنظیمات ظاهری خود را ذخیره نکرده باشد.", default_theme: "پوسته پیش‌فرض", default_accent: "رنگ اصلی پیش‌فرض", default_accent_help: "هر رنگ CSS پشتیبانی‌شده توسط مرورگر را وارد کنید؛ مانند #3b82f6 یا rgb(59 130 246).", default_accent_invalid: "یک رنگ CSS معتبر و پشتیبانی‌شده توسط مرورگر وارد کنید.", default_accent_preview: "پیش‌نمایش رنگ اصلی" }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش می‌دهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعال‌سازی ثبت‌نام", disable_signup_help: "تب ثبت‌نام را مخفی می‌کند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعال‌سازی صفحه ورود/ثبت‌نام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی می‌کند و دسترسی به فرم‌های ورود و ثبت‌نام را می‌بندد.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیش‌فرض", initial_balance_requests: "تعداد درخواست اولیه پیش‌فرض", initial_balance_help: "این مقادیر به‌صورت خودکار به کاربران جدید اختصاص داده می‌شوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Ya = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Xa = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخ‌گویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Ka = {
6284
6285
  sidebar: Ha,
6285
6286
  chat: qa,
6286
6287
  tools_ui: ja,
@@ -6314,7 +6315,7 @@ function Ti({ className: e, type: t, ...n }) {
6314
6315
  {
6315
6316
  type: t,
6316
6317
  "data-slot": "input",
6317
- className: k(
6318
+ className: y(
6318
6319
  "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
6319
6320
  "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
6320
6321
  "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
@@ -6324,13 +6325,13 @@ function Ti({ className: e, type: t, ...n }) {
6324
6325
  }
6325
6326
  );
6326
6327
  }
6327
- const Ci = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", Qa = Pe(
6328
+ const Ci = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", Qa = De(
6328
6329
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
6329
6330
  ), ei = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
6330
6331
  "label",
6331
6332
  {
6332
6333
  ref: n,
6333
- className: k(Qa(), e),
6334
+ className: y(Qa(), e),
6334
6335
  ...t
6335
6336
  }
6336
6337
  ));
@@ -6350,12 +6351,12 @@ function Oi({
6350
6351
  children: n,
6351
6352
  ...o
6352
6353
  }) {
6353
- return /* @__PURE__ */ w(
6354
+ return /* @__PURE__ */ _(
6354
6355
  F.Trigger,
6355
6356
  {
6356
6357
  "data-slot": "select-trigger",
6357
6358
  "data-size": t,
6358
- className: k(
6359
+ className: y(
6359
6360
  "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
6360
6361
  e
6361
6362
  ),
@@ -6373,11 +6374,11 @@ function Li({
6373
6374
  position: n = "popper",
6374
6375
  ...o
6375
6376
  }) {
6376
- return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */ w(
6377
+ return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */ _(
6377
6378
  F.Content,
6378
6379
  {
6379
6380
  "data-slot": "select-content",
6380
- className: k(
6381
+ className: y(
6381
6382
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
6382
6383
  n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
6383
6384
  e
@@ -6389,7 +6390,7 @@ function Li({
6389
6390
  /* @__PURE__ */ i(
6390
6391
  F.Viewport,
6391
6392
  {
6392
- className: k(
6393
+ className: y(
6393
6394
  "p-1",
6394
6395
  n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
6395
6396
  ),
@@ -6406,23 +6407,23 @@ function Fi({ className: e, ...t }) {
6406
6407
  F.Label,
6407
6408
  {
6408
6409
  "data-slot": "select-label",
6409
- className: k("text-muted-foreground px-2 py-1.5 text-xs", e),
6410
+ className: y("text-muted-foreground px-2 py-1.5 text-xs", e),
6410
6411
  ...t
6411
6412
  }
6412
6413
  );
6413
6414
  }
6414
6415
  function Di({ className: e, children: t, ...n }) {
6415
- return /* @__PURE__ */ w(
6416
+ return /* @__PURE__ */ _(
6416
6417
  F.Item,
6417
6418
  {
6418
6419
  "data-slot": "select-item",
6419
- className: k(
6420
+ className: y(
6420
6421
  "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 text-start",
6421
6422
  e
6422
6423
  ),
6423
6424
  ...n,
6424
6425
  children: [
6425
- /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(F.ItemIndicator, { children: /* @__PURE__ */ i(De, { className: "size-4" }) }) }),
6426
+ /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(F.ItemIndicator, { children: /* @__PURE__ */ i(Pe, { className: "size-4" }) }) }),
6426
6427
  /* @__PURE__ */ i(F.ItemText, { children: t })
6427
6428
  ]
6428
6429
  }
@@ -6433,7 +6434,7 @@ function Pi({ className: e, ...t }) {
6433
6434
  F.Separator,
6434
6435
  {
6435
6436
  "data-slot": "select-separator",
6436
- className: k("bg-border pointer-events-none -mx-1 my-1 h-px", e),
6437
+ className: y("bg-border pointer-events-none -mx-1 my-1 h-px", e),
6437
6438
  ...t
6438
6439
  }
6439
6440
  );
@@ -6443,7 +6444,7 @@ function ti({ className: e, ...t }) {
6443
6444
  F.ScrollUpButton,
6444
6445
  {
6445
6446
  "data-slot": "select-scroll-up-button",
6446
- className: k("flex cursor-default items-center justify-center py-1", e),
6447
+ className: y("flex cursor-default items-center justify-center py-1", e),
6447
6448
  ...t,
6448
6449
  children: /* @__PURE__ */ i(An, { className: "size-4" })
6449
6450
  }
@@ -6457,7 +6458,7 @@ function ni({
6457
6458
  F.ScrollDownButton,
6458
6459
  {
6459
6460
  "data-slot": "select-scroll-down-button",
6460
- className: k("flex cursor-default items-center justify-center py-1", e),
6461
+ className: y("flex cursor-default items-center justify-center py-1", e),
6461
6462
  ...t,
6462
6463
  children: /* @__PURE__ */ i(ie, { className: "size-4" })
6463
6464
  }
@@ -6495,7 +6496,7 @@ function $i({
6495
6496
  {
6496
6497
  "data-slot": "dropdown-menu-content",
6497
6498
  sideOffset: t,
6498
- className: k(
6499
+ className: y(
6499
6500
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
6500
6501
  e
6501
6502
  ),
@@ -6515,7 +6516,7 @@ function Bi({
6515
6516
  "data-slot": "dropdown-menu-item",
6516
6517
  "data-inset": t,
6517
6518
  "data-variant": n,
6518
- className: k(
6519
+ className: y(
6519
6520
  "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
6520
6521
  e
6521
6522
  ),
@@ -6528,7 +6529,7 @@ function Hi({ className: e, ...t }) {
6528
6529
  Ye.Root,
6529
6530
  {
6530
6531
  "data-slot": "checkbox",
6531
- className: k(
6532
+ className: y(
6532
6533
  "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
6533
6534
  e
6534
6535
  ),
@@ -6538,60 +6539,60 @@ function Hi({ className: e, ...t }) {
6538
6539
  {
6539
6540
  "data-slot": "checkbox-indicator",
6540
6541
  className: "grid place-content-center text-current transition-none",
6541
- children: /* @__PURE__ */ i(De, { className: "size-3.5" })
6542
+ children: /* @__PURE__ */ i(Pe, { className: "size-3.5" })
6542
6543
  }
6543
6544
  )
6544
6545
  }
6545
6546
  );
6546
6547
  }
6547
6548
  export {
6548
- co as $,
6549
+ uo as $,
6549
6550
  Bi as A,
6550
- ee as B,
6551
- Si as C,
6552
- Cr as D,
6553
- Lr as E,
6554
- Fr as F,
6551
+ Q as B,
6552
+ Ni as C,
6553
+ Ar as D,
6554
+ Fr as E,
6555
+ Dr as F,
6555
6556
  Xe as G,
6556
- xi as H,
6557
+ Ei as H,
6557
6558
  Ti as I,
6558
- _i as J,
6559
+ Si as J,
6559
6560
  Hi as K,
6560
6561
  ei as L,
6561
6562
  fe as M,
6562
- fa as N,
6563
- Jn as O,
6564
- Bn as P,
6565
- lo as Q,
6566
- Er as R,
6563
+ ba as N,
6564
+ Qn as O,
6565
+ Hn as P,
6566
+ so as Q,
6567
+ Nr as R,
6567
6568
  Ai as S,
6568
- Ei as T,
6569
+ ki as T,
6569
6570
  Ii as U,
6570
6571
  Fi as V,
6571
6572
  ni as W,
6572
6573
  ti as X,
6573
6574
  Pi as Y,
6574
- wr as Z,
6575
- ma as _,
6576
- W as a,
6577
- wi as a0,
6578
- Qn as a1,
6575
+ _r as Z,
6576
+ fa as _,
6577
+ te as a,
6578
+ xi as a0,
6579
+ eo as a1,
6579
6580
  sn as a2,
6580
- $n as b,
6581
- ki as c,
6581
+ Bn as b,
6582
+ wi as c,
6582
6583
  Za as d,
6583
- k as e,
6584
- io as f,
6584
+ y as e,
6585
+ lo as f,
6585
6586
  Ja as g,
6586
- It as h,
6587
- Rt as i,
6588
- vi as j,
6589
- Ot as k,
6590
- Lt as l,
6591
- Ni as m,
6587
+ Rt as h,
6588
+ Ot as i,
6589
+ _i as j,
6590
+ Lt as k,
6591
+ Ft as l,
6592
+ vi as m,
6592
6593
  Mi as n,
6593
- Ar as o,
6594
- Or as p,
6594
+ Ir as o,
6595
+ Lr as p,
6595
6596
  Oi as q,
6596
6597
  Ri as r,
6597
6598
  Li as s,