gentiq 0.7.26 → 0.7.27

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,27 +1,27 @@
1
- import { jsx as l, Fragment as J, jsxs as w } from "react/jsx-runtime";
2
- import * as an from "react";
3
- import { useState as $, useCallback as ne, useMemo as wt, useEffect as Q, Children as ln, useRef as je, memo as ue, createContext as de, useContext as Oe } from "react";
4
- import { useTranslation as M, initReactI18next as sn } from "react-i18next";
5
- import { ArrowDownIcon as cn, ChevronDownIcon as ae, BookIcon as un, XIcon as pe, CheckIcon as Fe, ArrowUpIcon as dn, Loader2Icon as pn, SquareIcon as hn, FileIcon as xt, PaperclipIcon as gn, MessageCircle as mn, RefreshCcwIcon as fn, ThumbsUpIcon as bn, ThumbsDownIcon as kn, CopyIcon as _t, BrainIcon as yn, WrenchIcon as vn, ImagePlusIcon as wn, CodeIcon as xn, DownloadIcon as ce, GlobeIcon as _n, XCircleIcon as St, CheckCircleIcon as Sn, ClockIcon as En, CircleIcon as Nn, ChevronUpIcon as Tn } from "lucide-react";
6
- import { Slot as Et } from "@radix-ui/react-slot";
7
- import { cva as Le } from "class-variance-authority";
8
- import { StickToBottom as Nt, useStickToBottomContext as Cn } from "use-stick-to-bottom";
9
- import * as De from "@radix-ui/react-collapsible";
1
+ import { jsx as i, Fragment as J, jsxs as w } from "react/jsx-runtime";
2
+ import * as Ce from "react";
3
+ import { useState as B, useCallback as oe, useMemo as _t, useEffect as Q, Children as sn, useRef as Ge, memo as de, createContext as pe, useContext as Le } from "react";
4
+ import { useTranslation as M, initReactI18next as cn } from "react-i18next";
5
+ import { ArrowDownIcon as un, ChevronDownIcon as ie, BookIcon as dn, XIcon as he, CheckIcon as De, ArrowUpIcon as pn, Loader2Icon as hn, SquareIcon as gn, FileIcon as St, PaperclipIcon as mn, MessageCircle as fn, RefreshCcwIcon as bn, ThumbsUpIcon as kn, ThumbsDownIcon as yn, CopyIcon as Et, BrainIcon as vn, WrenchIcon as wn, ImagePlusIcon as xn, CodeIcon as _n, DownloadIcon as ue, GlobeIcon as Sn, XCircleIcon as Nt, CheckCircleIcon as En, ClockIcon as Nn, CircleIcon as Tn, ChevronUpIcon as Cn } from "lucide-react";
6
+ import { Slot as Tt } from "@radix-ui/react-slot";
7
+ import { cva as Pe } from "class-variance-authority";
8
+ import { StickToBottom as Ct, useStickToBottomContext as An } from "use-stick-to-bottom";
9
+ import * as Me from "@radix-ui/react-collapsible";
10
10
  import * as K from "@radix-ui/react-tooltip";
11
- import { toast as An } from "sonner";
11
+ import { toast as In } from "sonner";
12
12
  import "@radix-ui/react-scroll-area";
13
- import { Streamdown as In } from "streamdown";
14
- import qe from "katex";
15
- import { useControllableState as Ge } from "@radix-ui/react-use-controllable-state";
16
- import * as U from "@radix-ui/react-dialog";
17
- import { PrismLight as z } from "react-syntax-highlighter";
18
- import Rn from "i18next";
13
+ import { Streamdown as Rn } from "streamdown";
14
+ import We from "katex";
15
+ import { useControllableState as Ve } from "@radix-ui/react-use-controllable-state";
16
+ import * as H from "@radix-ui/react-dialog";
17
+ import { PrismLight as $ } from "react-syntax-highlighter";
18
+ import On from "i18next";
19
19
  import * as L from "@radix-ui/react-select";
20
- import * as oe from "@radix-ui/react-dropdown-menu";
21
- import * as Ve from "@radix-ui/react-checkbox";
22
- import { clsx as On } from "clsx";
23
- import { twMerge as Fn } from "tailwind-merge";
24
- class Ln extends Error {
20
+ import * as re from "@radix-ui/react-dropdown-menu";
21
+ import * as Ye from "@radix-ui/react-checkbox";
22
+ import { clsx as Fn } from "clsx";
23
+ import { twMerge as Ln } from "tailwind-merge";
24
+ class Dn extends Error {
25
25
  code;
26
26
  status;
27
27
  details;
@@ -29,7 +29,7 @@ class Ln extends Error {
29
29
  super(t.error.message), this.name = "GentiqError", this.code = t.error.code, this.status = n, this.details = t.error.details;
30
30
  }
31
31
  }
32
- function fl(e, t) {
32
+ function ki(e, t) {
33
33
  const n = typeof e == "string" ? e : e.code, o = `errors.${n}`, r = t(o);
34
34
  return r === o ? typeof e != "string" && e.message ? e.message : n.replace(/_/g, " ").replace(/\b\w/g, (a) => a.toUpperCase()) : r;
35
35
  }
@@ -42,7 +42,7 @@ let N = {
42
42
  cacheNamespace: "gentiq"
43
43
  }
44
44
  };
45
- const Dn = {
45
+ const Pn = {
46
46
  getToken: () => localStorage.getItem("token"),
47
47
  setToken: (e) => localStorage.setItem("token", e),
48
48
  clearToken: () => {
@@ -53,7 +53,7 @@ const Dn = {
53
53
  return e ? { Authorization: `Bearer ${e}` } : {};
54
54
  }
55
55
  };
56
- let O = Dn;
56
+ let F = Pn;
57
57
  const S = {
58
58
  init: (e) => {
59
59
  if (N = {
@@ -63,7 +63,7 @@ const S = {
63
63
  app: e.app ? { ...N.app, ...e.app } : N.app
64
64
  }, e.api?.authAdapter) {
65
65
  const t = e.api.authAdapter;
66
- O = {
66
+ F = {
67
67
  ...t,
68
68
  getHeaders: t.getHeaders || (() => {
69
69
  const n = t.getToken();
@@ -73,14 +73,14 @@ const S = {
73
73
  }
74
74
  },
75
75
  getConfig: () => N,
76
- getToken: () => O.getToken(),
76
+ getToken: () => F.getToken(),
77
77
  setToken: (e) => {
78
- O.setToken(e);
78
+ F.setToken(e);
79
79
  },
80
80
  clearToken: () => {
81
- O.clearToken();
81
+ F.clearToken();
82
82
  },
83
- getHeaders: () => O.getHeaders(),
83
+ getHeaders: () => F.getHeaders(),
84
84
  getEndpoint: (e, t, ...n) => {
85
85
  const o = N.api?.endpoints?.[e];
86
86
  return o ? typeof o == "function" ? o(...n) : o : typeof t == "function" ? t(...n) : t;
@@ -89,7 +89,7 @@ const S = {
89
89
  if (!e.ok) {
90
90
  const n = await e.json().catch(() => ({}));
91
91
  if (n.error && (n.error.code || n.error.message))
92
- throw new Ln(n, e.status);
92
+ throw new Dn(n, e.status);
93
93
  const o = n.error || n.message || t, r = new Error(o);
94
94
  throw r.status = e.status, r;
95
95
  }
@@ -104,17 +104,17 @@ const S = {
104
104
  return r.token && S.setToken(r.token), r;
105
105
  },
106
106
  register: async (e, t, n, o, r) => {
107
- const a = S.getEndpoint("register", "/public/auth/register"), i = await fetch(`${N.api?.basePath}${a}`, {
107
+ const a = S.getEndpoint("register", "/public/auth/register"), l = await fetch(`${N.api?.basePath}${a}`, {
108
108
  method: "POST",
109
109
  headers: { "Content-Type": "application/json" },
110
110
  body: JSON.stringify({ phone: e, password: t, name: n, surname: o, metadata: r })
111
- }), c = await S.handleResponse(i, "Registration failed");
111
+ }), c = await S.handleResponse(l, "Registration failed");
112
112
  return c.token && S.setToken(c.token), c;
113
113
  },
114
114
  getBalance: async () => {
115
115
  const e = S.getEndpoint("balance", "/users/balance"), t = await fetch(`${N.api?.basePath}${e}`, {
116
116
  headers: {
117
- ...O.getHeaders()
117
+ ...F.getHeaders()
118
118
  }
119
119
  });
120
120
  return S.handleResponse(t, "Failed to fetch balance");
@@ -122,7 +122,7 @@ const S = {
122
122
  getHistory: async (e = 0, t = 50) => {
123
123
  const n = S.getEndpoint("threads", "/chat/threads"), o = await fetch(`${N.api?.basePath}${n}?skip=${e}&limit=${t}`, {
124
124
  headers: {
125
- ...O.getHeaders()
125
+ ...F.getHeaders()
126
126
  }
127
127
  });
128
128
  return S.handleResponse(o, "Failed to fetch chat history");
@@ -131,7 +131,7 @@ const S = {
131
131
  if (!S.getToken()) throw new Error("No token found");
132
132
  const n = S.getEndpoint("threadMessages", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
133
133
  headers: {
134
- ...O.getHeaders()
134
+ ...F.getHeaders()
135
135
  }
136
136
  });
137
137
  return S.handleResponse(o, "Failed to fetch thread messages");
@@ -141,7 +141,7 @@ const S = {
141
141
  const n = S.getEndpoint("deleteThread", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
142
142
  method: "DELETE",
143
143
  headers: {
144
- ...O.getHeaders()
144
+ ...F.getHeaders()
145
145
  }
146
146
  });
147
147
  return S.handleResponse(o, "Failed to delete thread");
@@ -152,7 +152,7 @@ const S = {
152
152
  method: "PATCH",
153
153
  headers: {
154
154
  "Content-Type": "application/json",
155
- ...O.getHeaders()
155
+ ...F.getHeaders()
156
156
  },
157
157
  body: JSON.stringify({ title: t })
158
158
  });
@@ -167,7 +167,7 @@ const S = {
167
167
  if (N.api?.attachmentResolver)
168
168
  return N.api.attachmentResolver(e);
169
169
  const t = S.getEndpoint("attachments", (r) => `/chat/attachments/${r}`, e), n = await fetch(`${N.api?.basePath}${t}`, {
170
- headers: { ...O.getHeaders() }
170
+ headers: { ...F.getHeaders() }
171
171
  });
172
172
  if (!n.ok) return S.handleResponse(n, "Failed to fetch attachment");
173
173
  const o = await n.blob();
@@ -192,7 +192,7 @@ const S = {
192
192
  method: "POST",
193
193
  headers: {
194
194
  "Content-Type": "application/json",
195
- ...O.getHeaders()
195
+ ...F.getHeaders()
196
196
  },
197
197
  body: JSON.stringify({
198
198
  thread_id: e.replace(/^\//, ""),
@@ -205,7 +205,7 @@ const S = {
205
205
  getMe: async () => {
206
206
  const e = S.getEndpoint("me", "/users/me"), t = await fetch(`${N.api?.basePath}${e}`, {
207
207
  headers: {
208
- ...O.getHeaders()
208
+ ...F.getHeaders()
209
209
  }
210
210
  });
211
211
  return S.handleResponse(t, "Failed to fetch user profile");
@@ -215,7 +215,7 @@ const S = {
215
215
  method: "PATCH",
216
216
  headers: {
217
217
  "Content-Type": "application/json",
218
- ...O.getHeaders()
218
+ ...F.getHeaders()
219
219
  },
220
220
  body: JSON.stringify(e)
221
221
  });
@@ -227,7 +227,7 @@ const S = {
227
227
  method: "PATCH",
228
228
  headers: {
229
229
  "Content-Type": "application/json",
230
- ...O.getHeaders()
230
+ ...F.getHeaders()
231
231
  },
232
232
  body: JSON.stringify({ pinned: t })
233
233
  });
@@ -238,7 +238,7 @@ const S = {
238
238
  const n = S.getEndpoint("shareThread", (r) => `/chat/threads/${r.replace(/^\//, "")}/share`, e), o = await fetch(`${N.api?.basePath}${n}`, {
239
239
  method: "POST",
240
240
  headers: {
241
- ...O.getHeaders()
241
+ ...F.getHeaders()
242
242
  }
243
243
  });
244
244
  return S.handleResponse(o, "Failed to share thread");
@@ -256,15 +256,15 @@ const S = {
256
256
  return S.handleResponse(e, "Failed to fetch app configuration");
257
257
  }
258
258
  };
259
- function Pn(e, t) {
260
- const [n, o] = $(
259
+ function Mn(e, t) {
260
+ const [n, o] = B(
261
261
  e.metadata?.feedback
262
- ), r = ne((i) => {
263
- navigator.clipboard.writeText(i).catch((c) => {
262
+ ), r = oe((l) => {
263
+ navigator.clipboard.writeText(l).catch((c) => {
264
264
  console.error("Error copying text:", c);
265
265
  });
266
- }, []), a = ne(async (i) => {
267
- const c = n === i ? void 0 : i;
266
+ }, []), a = oe(async (l) => {
267
+ const c = n === l ? void 0 : l;
268
268
  o(c);
269
269
  try {
270
270
  const s = e.parts.find((h) => h.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
@@ -279,10 +279,10 @@ function Pn(e, t) {
279
279
  copy: r
280
280
  };
281
281
  }
282
- const Mn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
283
- function zn() {
284
- const { i18n: e } = M(["translation"]), { app: t } = W(), n = wt(() => {
285
- const i = S.getConfig(), c = t || i.app;
282
+ const zn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
283
+ function $n() {
284
+ const { i18n: e } = M(["translation"]), { app: t } = V(), n = _t(() => {
285
+ const l = S.getConfig(), c = t || l.app;
286
286
  return {
287
287
  name: c?.name || "Gentiq App",
288
288
  // Use i18n.language as the primary source for the UI state.
@@ -290,11 +290,11 @@ function zn() {
290
290
  language: e.language || c?.language || "en",
291
291
  showToolDetails: c?.showToolDetails ?? !0
292
292
  };
293
- }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Mn.has(o), a = t?.language;
293
+ }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = zn.has(o), a = t?.language;
294
294
  return Q(() => {
295
295
  if (typeof window > "u") return;
296
- const i = localStorage.getItem("gentiq-last-default-lang");
297
- a && a !== i && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
296
+ const l = localStorage.getItem("gentiq-last-default-lang");
297
+ a && a !== l && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
298
298
  }, [r, e, e.language, a]), {
299
299
  appName: n.name || "Gentiq",
300
300
  language: n.language || e.language,
@@ -305,55 +305,55 @@ function zn() {
305
305
  error: null
306
306
  };
307
307
  }
308
- function $n(e) {
308
+ function Un(e) {
309
309
  const {
310
310
  part: t,
311
311
  message: n,
312
312
  status: o,
313
313
  regen: r,
314
314
  index: a,
315
- lastMessage: i,
315
+ lastMessage: l,
316
316
  conversationId: c,
317
317
  isFinished: s,
318
318
  renderMessagePart: p,
319
319
  chat: h,
320
320
  readonly: f
321
- } = e, { showToolDetails: b } = zn(), { TextPart: m, ReasoningPart: k, ToolPart: d, FilePart: v, toolComponents: x, threadActions: g } = W(), { feedback: E, handleFeedback: C, copy: F } = Pn(n, c);
321
+ } = e, { showToolDetails: b } = $n(), { TextPart: m, ReasoningPart: k, ToolPart: d, FilePart: v, toolComponents: x, threadActions: g } = V(), { feedback: R, handleFeedback: E, copy: I } = Mn(n, c);
322
322
  if (p) {
323
- const R = p(t, n);
324
- if (R !== void 0)
325
- return /* @__PURE__ */ l(J, { children: R });
323
+ const O = p(t, n);
324
+ if (O !== void 0)
325
+ return /* @__PURE__ */ i(J, { children: O });
326
326
  }
327
327
  if (["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(t.type)) return null;
328
- const j = n.parts.filter(
329
- (R) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(R.type)
330
- ), me = t === j[j.length - 1];
331
- return t.type === "text" ? /* @__PURE__ */ l(
328
+ const z = n.parts.filter(
329
+ (O) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(O.type)
330
+ ), ne = t === z[z.length - 1];
331
+ return t.type === "text" ? /* @__PURE__ */ i(
332
332
  m,
333
333
  {
334
334
  part: t,
335
335
  message: n,
336
336
  status: o,
337
337
  isFinished: !!s,
338
- lastMessage: i,
339
- isLastVisiblePart: me,
338
+ lastMessage: l,
339
+ isLastVisiblePart: ne,
340
340
  regen: r,
341
- feedback: E,
342
- handleFeedback: C,
343
- copyHost: F,
341
+ feedback: R,
342
+ handleFeedback: E,
343
+ copyHost: I,
344
344
  feedbackEnabled: f ? !1 : g?.feedback ?? !1,
345
345
  retryEnabled: f ? !1 : g?.retry ?? !1
346
346
  }
347
- ) : t.type === "reasoning" ? /* @__PURE__ */ l(
347
+ ) : t.type === "reasoning" ? /* @__PURE__ */ i(
348
348
  k,
349
349
  {
350
350
  part: t,
351
351
  status: o,
352
352
  index: a,
353
353
  partsCount: n.parts.length,
354
- lastMessage: i
354
+ lastMessage: l
355
355
  }
356
- ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ l(
356
+ ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ i(
357
357
  d,
358
358
  {
359
359
  part: t,
@@ -362,7 +362,7 @@ function $n(e) {
362
362
  toolComponents: x,
363
363
  showToolCalls: !!b
364
364
  }
365
- ) : t.type === "file" ? /* @__PURE__ */ l(
365
+ ) : t.type === "file" ? /* @__PURE__ */ i(
366
366
  v,
367
367
  {
368
368
  part: t,
@@ -371,14 +371,14 @@ function $n(e) {
371
371
  ) : null;
372
372
  }
373
373
  function y(...e) {
374
- return Fn(On(e));
374
+ return Ln(Fn(e));
375
375
  }
376
- function bl(e, t) {
376
+ function yi(e, t) {
377
377
  if (t === "/") return e;
378
378
  const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
379
379
  return n + o;
380
380
  }
381
- const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
381
+ const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
382
382
  "div",
383
383
  {
384
384
  className: y(
@@ -386,7 +386,7 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
386
386
  e
387
387
  ),
388
388
  ...t,
389
- children: [0, 1, 2].map((n) => /* @__PURE__ */ l(
389
+ children: [0, 1, 2].map((n) => /* @__PURE__ */ i(
390
390
  "span",
391
391
  {
392
392
  className: "size-2 rounded-full bg-primary/70",
@@ -398,18 +398,18 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
398
398
  n
399
399
  ))
400
400
  }
401
- ), Un = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
402
- function he(e, t = "ltr") {
401
+ ), Bn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
402
+ function ge(e, t = "ltr") {
403
403
  if (!e) return t;
404
404
  for (const n of e) {
405
- if (Un.test(n))
405
+ if (Bn.test(n))
406
406
  return "rtl";
407
407
  if (/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8]/.test(n))
408
408
  return "ltr";
409
409
  }
410
410
  return "ltr";
411
411
  }
412
- const Bn = Le(
412
+ const Hn = Pe(
413
413
  "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",
414
414
  {
415
415
  variants: {
@@ -441,10 +441,10 @@ function ee({
441
441
  asChild: o = !1,
442
442
  ...r
443
443
  }) {
444
- return /* @__PURE__ */ l(o ? Et : "button", { "data-slot": "button", className: y(Bn({ variant: t, size: n, className: e })), ...r });
444
+ return /* @__PURE__ */ i(o ? Tt : "button", { "data-slot": "button", className: y(Hn({ variant: t, size: n, className: e })), ...r });
445
445
  }
446
- const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
447
- Nt,
446
+ const qn = ({ className: e, ...t }) => /* @__PURE__ */ i(
447
+ Ct,
448
448
  {
449
449
  className: y("relative flex-1 overflow-hidden", e),
450
450
  initial: "smooth",
@@ -452,18 +452,18 @@ const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
452
452
  role: "log",
453
453
  ...t
454
454
  }
455
- ), jn = ({ className: e, ...t }) => /* @__PURE__ */ l(
456
- Nt.Content,
455
+ ), jn = ({ className: e, ...t }) => /* @__PURE__ */ i(
456
+ Ct.Content,
457
457
  {
458
458
  className: y("p-4 pb-6 stick-to-bottom", e),
459
459
  scrollClassName: "custom-scrollbar",
460
460
  ...t
461
461
  }
462
- ), qn = ({ className: e, ...t }) => {
463
- const { isAtBottom: n, scrollToBottom: o } = Cn(), r = ne(() => {
462
+ ), Gn = ({ className: e, ...t }) => {
463
+ const { isAtBottom: n, scrollToBottom: o } = An(), r = oe(() => {
464
464
  o();
465
465
  }, [o]);
466
- return n ? null : /* @__PURE__ */ l(
466
+ return n ? null : /* @__PURE__ */ i(
467
467
  "button",
468
468
  {
469
469
  className: y(
@@ -479,27 +479,27 @@ const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
479
479
  onClick: r,
480
480
  type: "button",
481
481
  ...t,
482
- children: /* @__PURE__ */ l(cn, { className: "size-3.5" })
482
+ children: /* @__PURE__ */ i(un, { className: "size-3.5" })
483
483
  }
484
484
  );
485
485
  };
486
- function Pe({ ...e }) {
487
- return /* @__PURE__ */ l(De.Root, { "data-slot": "collapsible", ...e });
486
+ function ze({ ...e }) {
487
+ return /* @__PURE__ */ i(Me.Root, { "data-slot": "collapsible", ...e });
488
488
  }
489
- function Me({ ...e }) {
490
- return /* @__PURE__ */ l(De.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...e });
489
+ function $e({ ...e }) {
490
+ return /* @__PURE__ */ i(Me.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...e });
491
491
  }
492
- function ze({ ...e }) {
493
- return /* @__PURE__ */ l(De.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
492
+ function Ue({ ...e }) {
493
+ return /* @__PURE__ */ i(Me.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
494
494
  }
495
- const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not-prose mb-4 text-primary text-xs", e), ...t }), Vn = ({ className: e, count: t, children: n, ...o }) => {
495
+ const Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not-prose mb-4 text-primary text-xs", e), ...t }), Vn = ({ className: e, count: t, children: n, ...o }) => {
496
496
  const { t: r } = M(["chat"]);
497
- return /* @__PURE__ */ l(Me, { className: y("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
498
- /* @__PURE__ */ l("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
499
- /* @__PURE__ */ l(ae, { className: "h-4 w-4" })
497
+ return /* @__PURE__ */ i($e, { className: y("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
498
+ /* @__PURE__ */ i("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
499
+ /* @__PURE__ */ i(ie, { className: "h-4 w-4" })
500
500
  ] }) });
501
- }, Wn = ({ className: e, ...t }) => /* @__PURE__ */ l(
502
- ze,
501
+ }, Yn = ({ className: e, ...t }) => /* @__PURE__ */ i(
502
+ Ue,
503
503
  {
504
504
  className: y(
505
505
  "mt-3 flex w-fit flex-col gap-2",
@@ -508,45 +508,45 @@ const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not
508
508
  ),
509
509
  ...t
510
510
  }
511
- ), Yn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ l("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
512
- /* @__PURE__ */ l(un, { className: "h-4 w-4" }),
513
- /* @__PURE__ */ l("span", { className: "block font-medium", children: t })
514
- ] }) }), Xn = ({ latestProgress: e, parts: t }) => {
511
+ ), Xn = ({ 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: [
512
+ /* @__PURE__ */ i(dn, { className: "h-4 w-4" }),
513
+ /* @__PURE__ */ i("span", { className: "block font-medium", children: t })
514
+ ] }) }), Kn = ({ latestProgress: e, parts: t }) => {
515
515
  const n = e.data[0].status, o = e.data[0].message, r = t.lastIndexOf(e);
516
516
  if (!!(t.slice(r + 1).some(
517
517
  (f) => f.type === "text" && (f.text || "").trim().length > 0 || f.type === "tool-invocation" || f.type === "tool-call"
518
518
  ) && n !== "running")) return null;
519
- const s = n === "running", p = n === "error", h = he(o);
520
- return /* @__PURE__ */ l("div", { className: y(
519
+ const s = n === "running", p = n === "error", h = ge(o);
520
+ return /* @__PURE__ */ i("div", { className: y(
521
521
  "flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
522
522
  h === "rtl" ? "justify-end" : "justify-start"
523
523
  ), children: /* @__PURE__ */ w("div", { className: y("flex items-center gap-3 text-sm text-muted-foreground", h === "rtl" && "flex-row-reverse"), dir: h, children: [
524
- s ? /* @__PURE__ */ l("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ l(pe, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ l(Fe, { className: "size-4 text-green-500 shrink-0" }),
525
- /* @__PURE__ */ l("span", { className: y("font-medium", s && "animate-pulse"), children: o })
524
+ 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" }),
525
+ /* @__PURE__ */ i("span", { className: y("font-medium", s && "animate-pulse"), children: o })
526
526
  ] }) });
527
527
  };
528
- function Kn({
528
+ function Zn({
529
529
  messages: e,
530
530
  status: t,
531
531
  isLoadingHistory: n,
532
532
  error: o,
533
533
  conversationId: r,
534
534
  regen: a,
535
- onSuggestionClick: i,
535
+ onSuggestionClick: l,
536
536
  chat: c,
537
537
  className: s,
538
538
  readonly: p
539
539
  }) {
540
- const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = W(), k = e[e.length - 1], d = k?.role === "assistant" && (t === "ready" || k.parts.some((v) => v.type === "data-chat-finished"));
541
- return /* @__PURE__ */ w(Hn, { className: y("min-h-0 flex-1", s), children: [
540
+ const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = V(), k = e[e.length - 1], d = k?.role === "assistant" && (t === "ready" || k.parts.some((v) => v.type === "data-chat-finished"));
541
+ return /* @__PURE__ */ w(qn, { className: y("min-h-0 flex-1", s), children: [
542
542
  /* @__PURE__ */ w(jn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
543
- e.length === 0 && !n ? /* @__PURE__ */ l(m, { onSuggestionClick: i }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
544
- v.role === "assistant" && v.parts.filter((x) => x.type === "source-url").length > 0 && /* @__PURE__ */ w(Gn, { children: [
545
- /* @__PURE__ */ l(Vn, { count: v.parts.filter((x) => x.type === "source-url").length }),
546
- v.parts.filter((x) => x.type === "source-url").map((x, g) => /* @__PURE__ */ l(Wn, { children: /* @__PURE__ */ l(Yn, { href: x.url, title: x.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
543
+ e.length === 0 && !n ? /* @__PURE__ */ i(m, { onSuggestionClick: l }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
544
+ v.role === "assistant" && v.parts.filter((x) => x.type === "source-url").length > 0 && /* @__PURE__ */ w(Wn, { children: [
545
+ /* @__PURE__ */ i(Vn, { count: v.parts.filter((x) => x.type === "source-url").length }),
546
+ v.parts.filter((x) => x.type === "source-url").map((x, g) => /* @__PURE__ */ i(Yn, { children: /* @__PURE__ */ i(Xn, { href: x.url, title: x.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
547
547
  ] }),
548
- v.parts.map((x, g) => /* @__PURE__ */ l(
549
- $n,
548
+ v.parts.map((x, g) => /* @__PURE__ */ i(
549
+ Un,
550
550
  {
551
551
  part: x,
552
552
  message: v,
@@ -567,32 +567,32 @@ function Kn({
567
567
  const v = k.parts.filter((g) => g.type === "data-progress-update");
568
568
  if (v.length === 0) return null;
569
569
  const x = v[v.length - 1];
570
- return x ? /* @__PURE__ */ l(Xn, { latestProgress: x, parts: k.parts }) : null;
570
+ return x ? /* @__PURE__ */ i(Kn, { latestProgress: x, parts: k.parts }) : null;
571
571
  })(),
572
- (n || t === "submitted") && /* @__PURE__ */ l("div", { className: "animate-in-bubble", children: /* @__PURE__ */ l(fe, {}) }),
572
+ (n || t === "submitted") && /* @__PURE__ */ i("div", { className: "animate-in-bubble", children: /* @__PURE__ */ i(fe, {}) }),
573
573
  t === "streaming" && (() => {
574
574
  const v = e[e.length - 1];
575
- return !v || v.role === "user" ? /* @__PURE__ */ l(fe, {}) : v.parts?.some(
575
+ return !v || v.role === "user" ? /* @__PURE__ */ i(fe, {}) : v.parts?.some(
576
576
  (g) => g.type === "text" && g.text?.trim().length > 0 || g.type === "reasoning" || g.type === "tool-invocation" || g.type === "tool-call"
577
- ) ? null : /* @__PURE__ */ l(fe, {});
577
+ ) ? null : /* @__PURE__ */ i(fe, {});
578
578
  })(),
579
- t === "error" && o && /* @__PURE__ */ l("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: y(
579
+ 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: y(
580
580
  "flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
581
581
  b ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
582
582
  ), dir: b ? "rtl" : "ltr", children: [
583
- /* @__PURE__ */ l("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
583
+ /* @__PURE__ */ i("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
584
584
  /* @__PURE__ */ w("div", { className: y("text-sm text-destructive/90 leading-relaxed flex-1", b ? "text-right" : "text-left"), children: [
585
- /* @__PURE__ */ l("span", { className: "font-semibold", children: f("error") }),
585
+ /* @__PURE__ */ i("span", { className: "font-semibold", children: f("error") }),
586
586
  " ",
587
587
  o.message
588
588
  ] })
589
589
  ] }) })
590
590
  ] }),
591
- /* @__PURE__ */ l(qn, {})
591
+ /* @__PURE__ */ i(Gn, {})
592
592
  ] });
593
593
  }
594
- function Zn({ className: e, ...t }) {
595
- return /* @__PURE__ */ l(
594
+ function Jn({ className: e, ...t }) {
595
+ return /* @__PURE__ */ i(
596
596
  "textarea",
597
597
  {
598
598
  "data-slot": "textarea",
@@ -604,7 +604,7 @@ function Zn({ className: e, ...t }) {
604
604
  }
605
605
  );
606
606
  }
607
- const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ l(
607
+ const Qn = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
608
608
  "form",
609
609
  {
610
610
  className: y(
@@ -619,7 +619,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
619
619
  ),
620
620
  ...t
621
621
  }
622
- ) }), Qn = ({
622
+ ) }), eo = ({
623
623
  onChange: e,
624
624
  className: t,
625
625
  placeholder: n = "What would you like to know?",
@@ -633,11 +633,11 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
633
633
  const s = c.currentTarget.form;
634
634
  s && s.requestSubmit();
635
635
  }
636
- }, { i18n: a } = M(["chat"]), i = he(o.value, a.dir());
637
- return /* @__PURE__ */ l(
638
- Zn,
636
+ }, { i18n: a } = M(["chat"]), l = ge(o.value, a.dir());
637
+ return /* @__PURE__ */ i(
638
+ Jn,
639
639
  {
640
- dir: i,
640
+ dir: l,
641
641
  className: y(
642
642
  "flex-1 resize-none rounded-none border-none shadow-none outline-none ring-0",
643
643
  "px-2 py-2.5",
@@ -656,9 +656,9 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
656
656
  ...o
657
657
  }
658
658
  );
659
- }, eo = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: y("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), to = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: y("flex items-center gap-0.5", e), ...t }), no = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
660
- const r = n ?? ln.count(o.children) > 1 ? "default" : "icon";
661
- return /* @__PURE__ */ l(
659
+ }, to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: y("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: y("flex items-center gap-0.5", e), ...t }), oo = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
660
+ const r = n ?? sn.count(o.children) > 1 ? "default" : "icon";
661
+ return /* @__PURE__ */ i(
662
662
  ee,
663
663
  {
664
664
  className: y(
@@ -675,7 +675,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
675
675
  ...o
676
676
  }
677
677
  );
678
- }, oo = ({
678
+ }, ro = ({
679
679
  className: e,
680
680
  variant: t = "default",
681
681
  size: n = "icon",
@@ -683,8 +683,8 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
683
683
  children: r,
684
684
  ...a
685
685
  }) => {
686
- let i = /* @__PURE__ */ l(dn, { className: "size-4" });
687
- return o === "submitted" ? i = /* @__PURE__ */ l(pn, { className: "size-4 animate-spin" }) : o === "streaming" ? i = /* @__PURE__ */ l(hn, { className: "size-3.5 fill-current" }) : o === "error" && (i = /* @__PURE__ */ l(pe, { className: "size-4" })), /* @__PURE__ */ l(
686
+ let l = /* @__PURE__ */ i(pn, { className: "size-4" });
687
+ return o === "submitted" ? l = /* @__PURE__ */ i(hn, { className: "size-4 animate-spin" }) : o === "streaming" ? l = /* @__PURE__ */ i(gn, { className: "size-3.5 fill-current" }) : o === "error" && (l = /* @__PURE__ */ i(he, { className: "size-4" })), /* @__PURE__ */ i(
688
688
  ee,
689
689
  {
690
690
  className: y(
@@ -705,26 +705,26 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
705
705
  type: o === "streaming" ? "button" : "submit",
706
706
  variant: t,
707
707
  ...a,
708
- children: r ?? i
708
+ children: r ?? l
709
709
  }
710
710
  );
711
711
  };
712
- function Tt({ delayDuration: e = 400, ...t }) {
713
- return /* @__PURE__ */ l(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
712
+ function At({ delayDuration: e = 400, ...t }) {
713
+ return /* @__PURE__ */ i(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
714
714
  }
715
- function Ct({ ...e }) {
716
- return /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ l(K.Root, { "data-slot": "tooltip", ...e }) });
715
+ function It({ ...e }) {
716
+ return /* @__PURE__ */ i(At, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
717
717
  }
718
- function At({ ...e }) {
719
- return /* @__PURE__ */ l(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
718
+ function Rt({ ...e }) {
719
+ return /* @__PURE__ */ i(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
720
720
  }
721
- function It({
721
+ function Ot({
722
722
  className: e,
723
723
  sideOffset: t = 0,
724
724
  children: n,
725
725
  ...o
726
726
  }) {
727
- return /* @__PURE__ */ l(K.Portal, { children: /* @__PURE__ */ w(
727
+ return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ w(
728
728
  K.Content,
729
729
  {
730
730
  "data-slot": "tooltip-content",
@@ -736,78 +736,90 @@ function It({
736
736
  ...o,
737
737
  children: [
738
738
  n,
739
- /* @__PURE__ */ l(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
739
+ /* @__PURE__ */ i(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
740
740
  ]
741
741
  }
742
742
  ) });
743
743
  }
744
- function ro({
744
+ const be = 768;
745
+ function ao() {
746
+ const [e, t] = Ce.useState(void 0);
747
+ return Ce.useEffect(() => {
748
+ const n = window.matchMedia(`(max-width: ${be - 1}px)`), o = () => {
749
+ t(window.innerWidth < be);
750
+ };
751
+ return n.addEventListener("change", o), t(window.innerWidth < be), () => {
752
+ n.removeEventListener("change", o);
753
+ };
754
+ }, []), !!e;
755
+ }
756
+ function io({
745
757
  onSend: e,
746
758
  status: t,
747
759
  isLastMessageFinished: n,
748
760
  stop: o,
749
761
  isErrorVisible: r,
750
762
  conversationId: a,
751
- className: i
763
+ className: l
752
764
  }) {
753
- const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = $(""), [f, b] = $([]), m = je(null), k = je(null);
765
+ const { t: c } = M(["chat", "translation"]), { composer: s } = V(), [p, h] = B(""), [f, b] = B([]), m = ao(), k = Ge(null), d = Ge(null);
754
766
  Q(() => {
755
- a === "/" && m.current && m.current.focus();
756
- }, [a]);
757
- const d = ne((E) => {
767
+ !m && a === "/" && k.current && k.current.focus();
768
+ }, [a, m]);
769
+ const v = oe((E) => {
758
770
  if (E.target.files) {
759
- const C = Array.from(E.target.files), F = s?.attachments?.maxSize;
760
- if (F && C.filter((j) => j.size > F).length > 0) {
761
- An.error(c("file_too_large", { size: F }));
771
+ const I = Array.from(E.target.files), U = s?.attachments?.maxSize;
772
+ if (U && I.filter((ne) => ne.size > U).length > 0) {
773
+ In.error(c("file_too_large", { size: U }));
762
774
  return;
763
775
  }
764
- b((H) => [...H, ...C]);
776
+ b((z) => [...z, ...I]);
765
777
  }
766
778
  E.target.value = "";
767
- }, [s, c]), v = ne((E) => {
768
- b((C) => C.filter((F, H) => H !== E));
769
- }, []), x = t === "streaming" && !n, g = (E) => {
770
- if (E.preventDefault(), !x && (p.trim() || f.length > 0)) {
771
- const C = new DataTransfer();
772
- f.forEach((F) => C.items.add(F)), e(p, C.files), h(""), b([]);
779
+ }, [s, c]), x = oe((E) => {
780
+ b((I) => I.filter((U, z) => z !== E));
781
+ }, []), g = t === "streaming" && !n, R = (E) => {
782
+ if (E.preventDefault(), !g && (p.trim() || f.length > 0)) {
783
+ const I = new DataTransfer();
784
+ f.forEach((U) => I.items.add(U)), e(p, I.files), h(""), b([]);
773
785
  }
774
786
  };
775
- return /* @__PURE__ */ l("div", { className: y("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", i), children: /* @__PURE__ */ l("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(Jn, { onSubmit: g, children: [
776
- /* @__PURE__ */ l(
787
+ 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__ */ w(Qn, { onSubmit: R, children: [
788
+ /* @__PURE__ */ i(
777
789
  "input",
778
790
  {
779
791
  type: "file",
780
- ref: k,
781
- onChange: d,
792
+ ref: d,
793
+ onChange: v,
782
794
  multiple: !0,
783
795
  accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
784
796
  className: "hidden"
785
797
  }
786
798
  ),
787
799
  /* @__PURE__ */ w("div", { className: "flex flex-col flex-1 gap-2", children: [
788
- f.length > 0 && /* @__PURE__ */ l("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: f.map((E, C) => /* @__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: [
789
- E.type.startsWith("image/") ? /* @__PURE__ */ l("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ l(xt, { className: "size-3.5 text-muted-foreground shrink-0" }),
790
- /* @__PURE__ */ l("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
791
- /* @__PURE__ */ l("button", { type: "button", onClick: () => v(C), 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__ */ l(pe, { className: "size-2.5" }) })
792
- ] }, `${E.name}-${C}`)) }),
793
- /* @__PURE__ */ l(
794
- Qn,
800
+ 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: [
801
+ 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(St, { className: "size-3.5 text-muted-foreground shrink-0" }),
802
+ /* @__PURE__ */ i("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
803
+ /* @__PURE__ */ i("button", { type: "button", onClick: () => x(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" }) })
804
+ ] }, `${E.name}-${I}`)) }),
805
+ /* @__PURE__ */ i(
806
+ eo,
795
807
  {
796
- ref: m,
808
+ ref: k,
797
809
  onChange: (E) => h(E.target.value),
798
810
  value: p,
799
- autoFocus: !0,
811
+ autoFocus: !m,
800
812
  placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
801
813
  }
802
814
  )
803
815
  ] }),
804
- /* @__PURE__ */ w(eo, { children: [
805
- /* @__PURE__ */ l(to, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Ct, { children: [
806
- /* @__PURE__ */ l(At, { asChild: !0, children: /* @__PURE__ */ l(no, { variant: "ghost", onClick: () => k.current?.click(), disabled: x, children: /* @__PURE__ */ l(gn, { className: "size-4" }) }) }),
807
- /* @__PURE__ */ l(It, { children: c("attach_file") })
816
+ /* @__PURE__ */ w(to, { children: [
817
+ /* @__PURE__ */ i(no, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(It, { children: [
818
+ /* @__PURE__ */ i(Rt, { asChild: !0, children: /* @__PURE__ */ i(oo, { variant: "ghost", onClick: () => d.current?.click(), disabled: g, children: /* @__PURE__ */ i(mn, { className: "size-4" }) }) }),
819
+ /* @__PURE__ */ i(Ot, { children: c("attach_file") })
808
820
  ] }) }),
809
- /* @__PURE__ */ l(
810
- oo,
821
+ /* @__PURE__ */ i(
822
+ ro,
811
823
  {
812
824
  disabled: t !== "streaming" && !p && f.length === 0,
813
825
  status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
@@ -817,19 +829,19 @@ function ro({
817
829
  ] })
818
830
  ] }) }) });
819
831
  }
820
- const ao = ({
832
+ const lo = ({
821
833
  suggestion: e,
822
834
  onClick: t,
823
835
  className: n,
824
836
  variant: o = "outline",
825
837
  size: r = "sm",
826
838
  children: a,
827
- ...i
839
+ ...l
828
840
  }) => {
829
841
  const c = () => {
830
842
  t?.(e);
831
843
  };
832
- return /* @__PURE__ */ l(
844
+ return /* @__PURE__ */ i(
833
845
  ee,
834
846
  {
835
847
  className: y("cursor-pointer rounded-full px-4", n),
@@ -837,12 +849,12 @@ const ao = ({
837
849
  size: r,
838
850
  type: "button",
839
851
  variant: o,
840
- ...i,
852
+ ...l,
841
853
  children: a ?? e
842
854
  }
843
855
  );
844
- }, lo = ({ onSuggestionClick: e, icons: t }) => {
845
- const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], i = a.map((h) => {
856
+ }, so = ({ onSuggestionClick: e, icons: t }) => {
857
+ const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = V(), a = r?.prompts ?? [], l = a.map((h) => {
846
858
  const f = typeof h == "string" ? h : h.text;
847
859
  return n(f);
848
860
  }).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;
@@ -853,22 +865,22 @@ const ao = ({
853
865
  className: "flex flex-col items-center justify-center min-h-[60vh] text-center px-6 animate-in fade-in duration-700 ease-out",
854
866
  children: [
855
867
  r?.icon && /* @__PURE__ */ w("div", { className: "mb-8 relative flex items-center justify-center", children: [
856
- /* @__PURE__ */ l("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
857
- /* @__PURE__ */ l("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__ */ l(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
868
+ /* @__PURE__ */ i("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
869
+ /* @__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 })
858
870
  ] }),
859
871
  (s || p) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
860
- s && /* @__PURE__ */ l("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
861
- p && /* @__PURE__ */ l("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 })
872
+ s && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
873
+ 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 })
862
874
  ] }),
863
- i.length > 0 && /* @__PURE__ */ l("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: i.map((h, f) => {
864
- const b = a[f], m = typeof b != "string" ? b.icon : null, k = t && t[f % t.length] ? t[f % t.length] : mn, d = m || k;
865
- return /* @__PURE__ */ l(
875
+ 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) => {
876
+ const b = a[f], m = typeof b != "string" ? b.icon : null, k = t && t[f % t.length] ? t[f % t.length] : fn, d = m || k;
877
+ return /* @__PURE__ */ i(
866
878
  "div",
867
879
  {
868
880
  className: "animate-in fade-in slide-in-from-bottom-3 duration-700 fill-mode-both",
869
881
  style: { animationDelay: `${f * 80}ms` },
870
882
  children: /* @__PURE__ */ w(
871
- ao,
883
+ lo,
872
884
  {
873
885
  onClick: () => e(h),
874
886
  suggestion: h,
@@ -882,10 +894,10 @@ const ao = ({
882
894
  ),
883
895
  children: [
884
896
  /* @__PURE__ */ w("div", { className: "flex items-center gap-3 w-full text-start", children: [
885
- /* @__PURE__ */ l("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__ */ l(d, { className: "size-4" }) }),
886
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ l("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 }) })
897
+ /* @__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" }) }),
898
+ /* @__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 }) })
887
899
  ] }),
888
- /* @__PURE__ */ l("div", { className: y(
900
+ /* @__PURE__ */ i("div", { className: y(
889
901
  "absolute bottom-0 left-0 w-full h-[1.5px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform duration-500",
890
902
  c ? "origin-right" : "origin-left"
891
903
  ) })
@@ -899,7 +911,7 @@ const ao = ({
899
911
  ]
900
912
  }
901
913
  );
902
- }, Rt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ l(
914
+ }, Ft = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
903
915
  "div",
904
916
  {
905
917
  className: y(
@@ -909,7 +921,7 @@ const ao = ({
909
921
  ),
910
922
  ...n
911
923
  }
912
- ), Ot = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ l(
924
+ ), Lt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
913
925
  "div",
914
926
  {
915
927
  className: y(
@@ -933,7 +945,7 @@ const ao = ({
933
945
  ...o,
934
946
  children: e
935
947
  }
936
- ), io = ({ className: e, children: t, ...n }) => /* @__PURE__ */ l(
948
+ ), co = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
937
949
  "div",
938
950
  {
939
951
  className: y(
@@ -945,14 +957,14 @@ const ao = ({
945
957
  ...n,
946
958
  children: t
947
959
  }
948
- ), ie = ({
960
+ ), se = ({
949
961
  tooltip: e,
950
962
  children: t,
951
963
  label: n,
952
964
  className: o,
953
965
  variant: r = "ghost",
954
966
  size: a = "sm",
955
- ...i
967
+ ...l
956
968
  }) => {
957
969
  const c = /* @__PURE__ */ w(
958
970
  ee,
@@ -968,16 +980,16 @@ const ao = ({
968
980
  size: a,
969
981
  type: "button",
970
982
  variant: r,
971
- ...i,
983
+ ...l,
972
984
  children: [
973
985
  t,
974
- /* @__PURE__ */ l("span", { className: "sr-only", children: n ?? e })
986
+ /* @__PURE__ */ i("span", { className: "sr-only", children: n ?? e })
975
987
  ]
976
988
  }
977
989
  );
978
- return e ? /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ w(Ct, { children: [
979
- /* @__PURE__ */ l(At, { asChild: !0, children: c }),
980
- /* @__PURE__ */ l(It, { children: /* @__PURE__ */ l("p", { children: e }) })
990
+ return e ? /* @__PURE__ */ i(At, { children: /* @__PURE__ */ w(It, { children: [
991
+ /* @__PURE__ */ i(Rt, { asChild: !0, children: c }),
992
+ /* @__PURE__ */ i(Ot, { children: /* @__PURE__ */ i("p", { children: e }) })
981
993
  ] }) }) : c;
982
994
  };
983
995
  class le {
@@ -998,13 +1010,13 @@ class le {
998
1010
  le.prototype.normal = {};
999
1011
  le.prototype.property = {};
1000
1012
  le.prototype.space = void 0;
1001
- function Ft(e, t) {
1013
+ function Dt(e, t) {
1002
1014
  const n = {}, o = {};
1003
1015
  for (const r of e)
1004
1016
  Object.assign(n, r.property), Object.assign(o, r.normal);
1005
1017
  return new le(n, o, t);
1006
1018
  }
1007
- function re(e) {
1019
+ function ae(e) {
1008
1020
  return e.toLowerCase();
1009
1021
  }
1010
1022
  class D {
@@ -1032,25 +1044,25 @@ D.prototype.overloadedBoolean = !1;
1032
1044
  D.prototype.property = "";
1033
1045
  D.prototype.spaceSeparated = !1;
1034
1046
  D.prototype.space = void 0;
1035
- let so = 0;
1036
- const _ = G(), I = G(), Te = G(), u = G(), T = G(), Z = G(), P = G();
1047
+ let uo = 0;
1048
+ const _ = G(), A = G(), Ae = G(), u = G(), T = G(), Z = G(), P = G();
1037
1049
  function G() {
1038
- return 2 ** ++so;
1050
+ return 2 ** ++uo;
1039
1051
  }
1040
- const Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1052
+ const Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1041
1053
  __proto__: null,
1042
1054
  boolean: _,
1043
- booleanish: I,
1055
+ booleanish: A,
1044
1056
  commaOrSpaceSeparated: P,
1045
1057
  commaSeparated: Z,
1046
1058
  number: u,
1047
- overloadedBoolean: Te,
1059
+ overloadedBoolean: Ae,
1048
1060
  spaceSeparated: T
1049
- }, Symbol.toStringTag, { value: "Module" })), be = (
1061
+ }, Symbol.toStringTag, { value: "Module" })), ke = (
1050
1062
  /** @type {ReadonlyArray<keyof typeof types>} */
1051
- Object.keys(Ce)
1063
+ Object.keys(Ie)
1052
1064
  );
1053
- class $e extends D {
1065
+ class Be extends D {
1054
1066
  /**
1055
1067
  * @constructor
1056
1068
  * @param {string} property
@@ -1066,37 +1078,37 @@ class $e extends D {
1066
1078
  */
1067
1079
  constructor(t, n, o, r) {
1068
1080
  let a = -1;
1069
- if (super(t, n), We(this, "space", r), typeof o == "number")
1070
- for (; ++a < be.length; ) {
1071
- const i = be[a];
1072
- We(this, be[a], (o & Ce[i]) === Ce[i]);
1081
+ if (super(t, n), Xe(this, "space", r), typeof o == "number")
1082
+ for (; ++a < ke.length; ) {
1083
+ const l = ke[a];
1084
+ Xe(this, ke[a], (o & Ie[l]) === Ie[l]);
1073
1085
  }
1074
1086
  }
1075
1087
  }
1076
- $e.prototype.defined = !0;
1077
- function We(e, t, n) {
1088
+ Be.prototype.defined = !0;
1089
+ function Xe(e, t, n) {
1078
1090
  n && (e[t] = n);
1079
1091
  }
1080
1092
  function te(e) {
1081
1093
  const t = {}, n = {};
1082
1094
  for (const [o, r] of Object.entries(e.properties)) {
1083
- const a = new $e(
1095
+ const a = new Be(
1084
1096
  o,
1085
1097
  e.transform(e.attributes || {}, o),
1086
1098
  r,
1087
1099
  e.space
1088
1100
  );
1089
- e.mustUseProperty && e.mustUseProperty.includes(o) && (a.mustUseProperty = !0), t[o] = a, n[re(o)] = o, n[re(a.attribute)] = o;
1101
+ e.mustUseProperty && e.mustUseProperty.includes(o) && (a.mustUseProperty = !0), t[o] = a, n[ae(o)] = o, n[ae(a.attribute)] = o;
1090
1102
  }
1091
1103
  return new le(t, n, e.space);
1092
1104
  }
1093
- const Lt = te({
1105
+ const Pt = te({
1094
1106
  properties: {
1095
1107
  ariaActiveDescendant: null,
1096
- ariaAtomic: I,
1108
+ ariaAtomic: A,
1097
1109
  ariaAutoComplete: null,
1098
- ariaBusy: I,
1099
- ariaChecked: I,
1110
+ ariaBusy: A,
1111
+ ariaChecked: A,
1100
1112
  ariaColCount: u,
1101
1113
  ariaColIndex: u,
1102
1114
  ariaColSpan: u,
@@ -1104,36 +1116,36 @@ const Lt = te({
1104
1116
  ariaCurrent: null,
1105
1117
  ariaDescribedBy: T,
1106
1118
  ariaDetails: null,
1107
- ariaDisabled: I,
1119
+ ariaDisabled: A,
1108
1120
  ariaDropEffect: T,
1109
1121
  ariaErrorMessage: null,
1110
- ariaExpanded: I,
1122
+ ariaExpanded: A,
1111
1123
  ariaFlowTo: T,
1112
- ariaGrabbed: I,
1124
+ ariaGrabbed: A,
1113
1125
  ariaHasPopup: null,
1114
- ariaHidden: I,
1126
+ ariaHidden: A,
1115
1127
  ariaInvalid: null,
1116
1128
  ariaKeyShortcuts: null,
1117
1129
  ariaLabel: null,
1118
1130
  ariaLabelledBy: T,
1119
1131
  ariaLevel: u,
1120
1132
  ariaLive: null,
1121
- ariaModal: I,
1122
- ariaMultiLine: I,
1123
- ariaMultiSelectable: I,
1133
+ ariaModal: A,
1134
+ ariaMultiLine: A,
1135
+ ariaMultiSelectable: A,
1124
1136
  ariaOrientation: null,
1125
1137
  ariaOwns: T,
1126
1138
  ariaPlaceholder: null,
1127
1139
  ariaPosInSet: u,
1128
- ariaPressed: I,
1129
- ariaReadOnly: I,
1140
+ ariaPressed: A,
1141
+ ariaReadOnly: A,
1130
1142
  ariaRelevant: null,
1131
- ariaRequired: I,
1143
+ ariaRequired: A,
1132
1144
  ariaRoleDescription: T,
1133
1145
  ariaRowCount: u,
1134
1146
  ariaRowIndex: u,
1135
1147
  ariaRowSpan: u,
1136
- ariaSelected: I,
1148
+ ariaSelected: A,
1137
1149
  ariaSetSize: u,
1138
1150
  ariaSort: null,
1139
1151
  ariaValueMax: u,
@@ -1146,13 +1158,13 @@ const Lt = te({
1146
1158
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
1147
1159
  }
1148
1160
  });
1149
- function Dt(e, t) {
1161
+ function Mt(e, t) {
1150
1162
  return t in e ? e[t] : t;
1151
1163
  }
1152
- function Pt(e, t) {
1153
- return Dt(e, t.toLowerCase());
1164
+ function zt(e, t) {
1165
+ return Mt(e, t.toLowerCase());
1154
1166
  }
1155
- const co = te({
1167
+ const po = te({
1156
1168
  attributes: {
1157
1169
  acceptcharset: "accept-charset",
1158
1170
  classname: "class",
@@ -1187,7 +1199,7 @@ const co = te({
1187
1199
  cols: u,
1188
1200
  colSpan: null,
1189
1201
  content: null,
1190
- contentEditable: I,
1202
+ contentEditable: A,
1191
1203
  controls: _,
1192
1204
  controlsList: T,
1193
1205
  coords: u | Z,
@@ -1200,8 +1212,8 @@ const co = te({
1200
1212
  dir: null,
1201
1213
  dirName: null,
1202
1214
  disabled: _,
1203
- download: Te,
1204
- draggable: I,
1215
+ download: Ae,
1216
+ draggable: A,
1205
1217
  encType: null,
1206
1218
  enterKeyHint: null,
1207
1219
  fetchPriority: null,
@@ -1213,7 +1225,7 @@ const co = te({
1213
1225
  formTarget: null,
1214
1226
  headers: T,
1215
1227
  height: u,
1216
- hidden: Te,
1228
+ hidden: Ae,
1217
1229
  high: u,
1218
1230
  href: null,
1219
1231
  hrefLang: null,
@@ -1372,7 +1384,7 @@ const co = te({
1372
1384
  sizes: null,
1373
1385
  slot: null,
1374
1386
  span: u,
1375
- spellCheck: I,
1387
+ spellCheck: A,
1376
1388
  src: null,
1377
1389
  srcDoc: null,
1378
1390
  srcLang: null,
@@ -1387,7 +1399,7 @@ const co = te({
1387
1399
  type: null,
1388
1400
  typeMustMatch: _,
1389
1401
  useMap: null,
1390
- value: I,
1402
+ value: A,
1391
1403
  width: u,
1392
1404
  wrap: null,
1393
1405
  writingSuggestions: null,
@@ -1479,7 +1491,7 @@ const co = te({
1479
1491
  // `<table>`
1480
1492
  scheme: null,
1481
1493
  // `<meta>`
1482
- scrolling: I,
1494
+ scrolling: A,
1483
1495
  // `<frame>`. Use overflow in the child context
1484
1496
  standby: null,
1485
1497
  // `<object>`
@@ -1512,8 +1524,8 @@ const co = te({
1512
1524
  unselectable: null
1513
1525
  },
1514
1526
  space: "html",
1515
- transform: Pt
1516
- }), uo = te({
1527
+ transform: zt
1528
+ }), ho = te({
1517
1529
  attributes: {
1518
1530
  accentHeight: "accent-height",
1519
1531
  alignmentBaseline: "alignment-baseline",
@@ -2071,8 +2083,8 @@ const co = te({
2071
2083
  zoomAndPan: null
2072
2084
  },
2073
2085
  space: "svg",
2074
- transform: Dt
2075
- }), Mt = te({
2086
+ transform: Mt
2087
+ }), $t = te({
2076
2088
  properties: {
2077
2089
  xLinkActuate: null,
2078
2090
  xLinkArcRole: null,
@@ -2086,103 +2098,103 @@ const co = te({
2086
2098
  transform(e, t) {
2087
2099
  return "xlink:" + t.slice(5).toLowerCase();
2088
2100
  }
2089
- }), zt = te({
2101
+ }), Ut = te({
2090
2102
  attributes: { xmlnsxlink: "xmlns:xlink" },
2091
2103
  properties: { xmlnsXLink: null, xmlns: null },
2092
2104
  space: "xmlns",
2093
- transform: Pt
2094
- }), $t = te({
2105
+ transform: zt
2106
+ }), Bt = te({
2095
2107
  properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
2096
2108
  space: "xml",
2097
2109
  transform(e, t) {
2098
2110
  return "xml:" + t.slice(3).toLowerCase();
2099
2111
  }
2100
- }), po = /[A-Z]/g, Ye = /-[a-z]/g, ho = /^data[-\w.:]+$/i;
2101
- function go(e, t) {
2102
- const n = re(t);
2112
+ }), go = /[A-Z]/g, Ke = /-[a-z]/g, mo = /^data[-\w.:]+$/i;
2113
+ function fo(e, t) {
2114
+ const n = ae(t);
2103
2115
  let o = t, r = D;
2104
2116
  if (n in e.normal)
2105
2117
  return e.property[e.normal[n]];
2106
- if (n.length > 4 && n.slice(0, 4) === "data" && ho.test(t)) {
2118
+ if (n.length > 4 && n.slice(0, 4) === "data" && mo.test(t)) {
2107
2119
  if (t.charAt(4) === "-") {
2108
- const a = t.slice(5).replace(Ye, fo);
2120
+ const a = t.slice(5).replace(Ke, ko);
2109
2121
  o = "data" + a.charAt(0).toUpperCase() + a.slice(1);
2110
2122
  } else {
2111
2123
  const a = t.slice(4);
2112
- if (!Ye.test(a)) {
2113
- let i = a.replace(po, mo);
2114
- i.charAt(0) !== "-" && (i = "-" + i), t = "data" + i;
2124
+ if (!Ke.test(a)) {
2125
+ let l = a.replace(go, bo);
2126
+ l.charAt(0) !== "-" && (l = "-" + l), t = "data" + l;
2115
2127
  }
2116
2128
  }
2117
- r = $e;
2129
+ r = Be;
2118
2130
  }
2119
2131
  return new r(o, t);
2120
2132
  }
2121
- function mo(e) {
2133
+ function bo(e) {
2122
2134
  return "-" + e.toLowerCase();
2123
2135
  }
2124
- function fo(e) {
2136
+ function ko(e) {
2125
2137
  return e.charAt(1).toUpperCase();
2126
2138
  }
2127
- const bo = Ft([Lt, co, Mt, zt, $t], "html"), ko = Ft([Lt, uo, Mt, zt, $t], "svg");
2128
- function Xe(e) {
2139
+ const yo = Dt([Pt, po, $t, Ut, Bt], "html"), vo = Dt([Pt, ho, $t, Ut, Bt], "svg");
2140
+ function Ze(e) {
2129
2141
  const t = [], n = String(e || "");
2130
2142
  let o = n.indexOf(","), r = 0, a = !1;
2131
2143
  for (; !a; ) {
2132
2144
  o === -1 && (o = n.length, a = !0);
2133
- const i = n.slice(r, o).trim();
2134
- (i || !a) && t.push(i), r = o + 1, o = n.indexOf(",", r);
2145
+ const l = n.slice(r, o).trim();
2146
+ (l || !a) && t.push(l), r = o + 1, o = n.indexOf(",", r);
2135
2147
  }
2136
2148
  return t;
2137
2149
  }
2138
- const Ke = /[#.]/g;
2139
- function yo(e, t) {
2150
+ const Je = /[#.]/g;
2151
+ function wo(e, t) {
2140
2152
  const n = e || "", o = {};
2141
- let r = 0, a, i;
2153
+ let r = 0, a, l;
2142
2154
  for (; r < n.length; ) {
2143
- Ke.lastIndex = r;
2144
- const c = Ke.exec(n), s = n.slice(r, c ? c.index : n.length);
2145
- s && (a ? a === "#" ? o.id = s : Array.isArray(o.className) ? o.className.push(s) : o.className = [s] : i = s, r += s.length), c && (a = c[0], r++);
2155
+ Je.lastIndex = r;
2156
+ const c = Je.exec(n), s = n.slice(r, c ? c.index : n.length);
2157
+ s && (a ? a === "#" ? o.id = s : Array.isArray(o.className) ? o.className.push(s) : o.className = [s] : l = s, r += s.length), c && (a = c[0], r++);
2146
2158
  }
2147
2159
  return {
2148
2160
  type: "element",
2149
2161
  // @ts-expect-error: tag name is parsed.
2150
- tagName: i || t || "div",
2162
+ tagName: l || t || "div",
2151
2163
  properties: o,
2152
2164
  children: []
2153
2165
  };
2154
2166
  }
2155
- function Ze(e) {
2167
+ function Qe(e) {
2156
2168
  const t = String(e || "").trim();
2157
2169
  return t ? t.split(/[ \t\n\r\f]+/g) : [];
2158
2170
  }
2159
- function Ut(e, t, n) {
2160
- const o = n ? _o(n) : void 0;
2161
- function r(a, i, ...c) {
2171
+ function Ht(e, t, n) {
2172
+ const o = n ? Eo(n) : void 0;
2173
+ function r(a, l, ...c) {
2162
2174
  let s;
2163
2175
  if (a == null) {
2164
2176
  s = { type: "root", children: [] };
2165
2177
  const p = (
2166
2178
  /** @type {Child} */
2167
- i
2179
+ l
2168
2180
  );
2169
2181
  c.unshift(p);
2170
2182
  } else {
2171
- s = yo(a, t);
2183
+ s = wo(a, t);
2172
2184
  const p = s.tagName.toLowerCase(), h = o ? o.get(p) : void 0;
2173
- if (s.tagName = h || p, vo(i))
2174
- c.unshift(i);
2185
+ if (s.tagName = h || p, xo(l))
2186
+ c.unshift(l);
2175
2187
  else
2176
- for (const [f, b] of Object.entries(i))
2177
- wo(e, s.properties, f, b);
2188
+ for (const [f, b] of Object.entries(l))
2189
+ _o(e, s.properties, f, b);
2178
2190
  }
2179
2191
  for (const p of c)
2180
- Ae(s.children, p);
2192
+ Re(s.children, p);
2181
2193
  return s.type === "element" && s.tagName === "template" && (s.content = { type: "root", children: s.children }, s.children = []), s;
2182
2194
  }
2183
2195
  return r;
2184
2196
  }
2185
- function vo(e) {
2197
+ function xo(e) {
2186
2198
  if (e === null || typeof e != "object" || Array.isArray(e))
2187
2199
  return !0;
2188
2200
  if (typeof e.type != "string") return !1;
@@ -2198,29 +2210,29 @@ function vo(e) {
2198
2210
  /** @type {ReadonlyArray<unknown>} */
2199
2211
  r
2200
2212
  );
2201
- for (const i of a)
2202
- if (typeof i != "number" && typeof i != "string")
2213
+ for (const l of a)
2214
+ if (typeof l != "number" && typeof l != "string")
2203
2215
  return !0;
2204
2216
  }
2205
2217
  }
2206
2218
  return !!("children" in e && Array.isArray(e.children));
2207
2219
  }
2208
- function wo(e, t, n, o) {
2209
- const r = go(e, n);
2220
+ function _o(e, t, n, o) {
2221
+ const r = fo(e, n);
2210
2222
  let a;
2211
2223
  if (o != null) {
2212
2224
  if (typeof o == "number") {
2213
2225
  if (Number.isNaN(o)) return;
2214
2226
  a = o;
2215
- } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = Ze(o) : r.commaSeparated ? a = Xe(o) : r.commaOrSpaceSeparated ? a = Ze(Xe(o).join(" ")) : a = Je(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? xo(o) : String(o);
2227
+ } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = Qe(o) : r.commaSeparated ? a = Ze(o) : r.commaOrSpaceSeparated ? a = Qe(Ze(o).join(" ")) : a = et(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? So(o) : String(o);
2216
2228
  if (Array.isArray(a)) {
2217
- const i = [];
2229
+ const l = [];
2218
2230
  for (const c of a)
2219
- i.push(
2231
+ l.push(
2220
2232
  /** @type {number | string} */
2221
- Je(r, r.property, c)
2233
+ et(r, r.property, c)
2222
2234
  );
2223
- a = i;
2235
+ a = l;
2224
2236
  }
2225
2237
  r.property === "className" && Array.isArray(t.className) && (a = t.className.concat(
2226
2238
  /** @type {Array<number | string> | number | string} */
@@ -2228,39 +2240,39 @@ function wo(e, t, n, o) {
2228
2240
  )), t[r.property] = a;
2229
2241
  }
2230
2242
  }
2231
- function Ae(e, t) {
2243
+ function Re(e, t) {
2232
2244
  if (t != null) if (typeof t == "number" || typeof t == "string")
2233
2245
  e.push({ type: "text", value: String(t) });
2234
2246
  else if (Array.isArray(t))
2235
2247
  for (const n of t)
2236
- Ae(e, n);
2248
+ Re(e, n);
2237
2249
  else if (typeof t == "object" && "type" in t)
2238
- t.type === "root" ? Ae(e, t.children) : e.push(t);
2250
+ t.type === "root" ? Re(e, t.children) : e.push(t);
2239
2251
  else
2240
2252
  throw new Error("Expected node, nodes, or string, got `" + t + "`");
2241
2253
  }
2242
- function Je(e, t, n) {
2254
+ function et(e, t, n) {
2243
2255
  if (typeof n == "string") {
2244
2256
  if (e.number && n && !Number.isNaN(Number(n)))
2245
2257
  return Number(n);
2246
- if ((e.boolean || e.overloadedBoolean) && (n === "" || re(n) === re(t)))
2258
+ if ((e.boolean || e.overloadedBoolean) && (n === "" || ae(n) === ae(t)))
2247
2259
  return !0;
2248
2260
  }
2249
2261
  return n;
2250
2262
  }
2251
- function xo(e) {
2263
+ function So(e) {
2252
2264
  const t = [];
2253
2265
  for (const [n, o] of Object.entries(e))
2254
2266
  t.push([n, o].join(": "));
2255
2267
  return t.join("; ");
2256
2268
  }
2257
- function _o(e) {
2269
+ function Eo(e) {
2258
2270
  const t = /* @__PURE__ */ new Map();
2259
2271
  for (const n of e)
2260
2272
  t.set(n.toLowerCase(), n);
2261
2273
  return t;
2262
2274
  }
2263
- const So = [
2275
+ const No = [
2264
2276
  "altGlyph",
2265
2277
  "altGlyphDef",
2266
2278
  "altGlyphItem",
@@ -2300,28 +2312,28 @@ const So = [
2300
2312
  "solidColor",
2301
2313
  "textArea",
2302
2314
  "textPath"
2303
- ], Eo = Ut(bo, "div"), No = Ut(ko, "g", So), ke = {
2315
+ ], To = Ht(yo, "div"), Co = Ht(vo, "g", No), ye = {
2304
2316
  html: "http://www.w3.org/1999/xhtml",
2305
2317
  svg: "http://www.w3.org/2000/svg"
2306
2318
  };
2307
- function To(e, t) {
2308
- return Bt(e, {}) || { type: "root", children: [] };
2319
+ function Ao(e, t) {
2320
+ return qt(e, {}) || { type: "root", children: [] };
2309
2321
  }
2310
- function Bt(e, t) {
2311
- const n = Co(e, t);
2322
+ function qt(e, t) {
2323
+ const n = Io(e, t);
2312
2324
  return n && t.afterTransform && t.afterTransform(e, n), n;
2313
2325
  }
2314
- function Co(e, t) {
2326
+ function Io(e, t) {
2315
2327
  switch (e.nodeType) {
2316
2328
  case 1:
2317
- return Oo(
2329
+ return Lo(
2318
2330
  /** @type {Element} */
2319
2331
  e,
2320
2332
  t
2321
2333
  );
2322
2334
  // Ignore: Attr (2).
2323
2335
  case 3:
2324
- return Io(
2336
+ return Oo(
2325
2337
  /** @type {Text} */
2326
2338
  e
2327
2339
  );
@@ -2330,20 +2342,20 @@ function Co(e, t) {
2330
2342
  // Removed: Entity (6)
2331
2343
  // Ignore: Processing instruction (7).
2332
2344
  case 8:
2333
- return Ro(
2345
+ return Fo(
2334
2346
  /** @type {Comment} */
2335
2347
  e
2336
2348
  );
2337
2349
  case 9:
2338
- return Qe(
2350
+ return tt(
2339
2351
  /** @type {Document} */
2340
2352
  e,
2341
2353
  t
2342
2354
  );
2343
2355
  case 10:
2344
- return Ao();
2356
+ return Ro();
2345
2357
  case 11:
2346
- return Qe(
2358
+ return tt(
2347
2359
  /** @type {DocumentFragment} */
2348
2360
  e,
2349
2361
  t
@@ -2352,50 +2364,50 @@ function Co(e, t) {
2352
2364
  return;
2353
2365
  }
2354
2366
  }
2355
- function Qe(e, t) {
2356
- return { type: "root", children: Ht(e, t) };
2367
+ function tt(e, t) {
2368
+ return { type: "root", children: jt(e, t) };
2357
2369
  }
2358
- function Ao() {
2370
+ function Ro() {
2359
2371
  return { type: "doctype" };
2360
2372
  }
2361
- function Io(e) {
2373
+ function Oo(e) {
2362
2374
  return { type: "text", value: e.nodeValue || "" };
2363
2375
  }
2364
- function Ro(e) {
2376
+ function Fo(e) {
2365
2377
  return { type: "comment", value: e.nodeValue || "" };
2366
2378
  }
2367
- function Oo(e, t) {
2368
- const n = e.namespaceURI, o = n === ke.svg ? No : Eo, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2379
+ function Lo(e, t) {
2380
+ const n = e.namespaceURI, o = n === ye.svg ? Co : To, r = n === ye.html ? e.tagName.toLowerCase() : e.tagName, a = (
2369
2381
  // @ts-expect-error: DOM types are wrong, content can exist.
2370
- n === ke.html && r === "template" ? e.content : e
2371
- ), i = e.getAttributeNames(), c = {};
2382
+ n === ye.html && r === "template" ? e.content : e
2383
+ ), l = e.getAttributeNames(), c = {};
2372
2384
  let s = -1;
2373
- for (; ++s < i.length; )
2374
- c[i[s]] = e.getAttribute(i[s]) || "";
2375
- return o(r, c, Ht(a, t));
2385
+ for (; ++s < l.length; )
2386
+ c[l[s]] = e.getAttribute(l[s]) || "";
2387
+ return o(r, c, jt(a, t));
2376
2388
  }
2377
- function Ht(e, t) {
2389
+ function jt(e, t) {
2378
2390
  const n = e.childNodes, o = [];
2379
2391
  let r = -1;
2380
2392
  for (; ++r < n.length; ) {
2381
- const a = Bt(n[r], t);
2393
+ const a = qt(n[r], t);
2382
2394
  a !== void 0 && o.push(a);
2383
2395
  }
2384
2396
  return o;
2385
2397
  }
2386
2398
  new DOMParser();
2387
- function Fo(e, t) {
2388
- const n = Lo(e);
2399
+ function Do(e, t) {
2400
+ const n = Po(e);
2389
2401
  return (
2390
2402
  /** @type {Root} */
2391
- To(n)
2403
+ Ao(n)
2392
2404
  );
2393
2405
  }
2394
- function Lo(e) {
2406
+ function Po(e) {
2395
2407
  const t = document.createElement("template");
2396
2408
  return t.innerHTML = e, t.content;
2397
2409
  }
2398
- const Ue = (
2410
+ const He = (
2399
2411
  // Note: overloads in JSDoc can’t yet use different `@template`s.
2400
2412
  /**
2401
2413
  * @type {(
@@ -2412,29 +2424,29 @@ const Ue = (
2412
2424
  */
2413
2425
  (function(e) {
2414
2426
  if (e == null)
2415
- return zo;
2427
+ return Uo;
2416
2428
  if (typeof e == "function")
2417
- return ge(e);
2429
+ return me(e);
2418
2430
  if (typeof e == "object")
2419
- return Array.isArray(e) ? Do(e) : (
2431
+ return Array.isArray(e) ? Mo(e) : (
2420
2432
  // Cast because `ReadonlyArray` goes into the above but `isArray`
2421
2433
  // narrows to `Array`.
2422
- Po(
2434
+ zo(
2423
2435
  /** @type {Props} */
2424
2436
  e
2425
2437
  )
2426
2438
  );
2427
2439
  if (typeof e == "string")
2428
- return Mo(e);
2440
+ return $o(e);
2429
2441
  throw new Error("Expected function, string, or object as test");
2430
2442
  })
2431
2443
  );
2432
- function Do(e) {
2444
+ function Mo(e) {
2433
2445
  const t = [];
2434
2446
  let n = -1;
2435
2447
  for (; ++n < e.length; )
2436
- t[n] = Ue(e[n]);
2437
- return ge(o);
2448
+ t[n] = He(e[n]);
2449
+ return me(o);
2438
2450
  function o(...r) {
2439
2451
  let a = -1;
2440
2452
  for (; ++a < t.length; )
@@ -2442,12 +2454,12 @@ function Do(e) {
2442
2454
  return !1;
2443
2455
  }
2444
2456
  }
2445
- function Po(e) {
2457
+ function zo(e) {
2446
2458
  const t = (
2447
2459
  /** @type {Record<string, unknown>} */
2448
2460
  e
2449
2461
  );
2450
- return ge(n);
2462
+ return me(n);
2451
2463
  function n(o) {
2452
2464
  const r = (
2453
2465
  /** @type {Record<string, unknown>} */
@@ -2460,16 +2472,16 @@ function Po(e) {
2460
2472
  return !0;
2461
2473
  }
2462
2474
  }
2463
- function Mo(e) {
2464
- return ge(t);
2475
+ function $o(e) {
2476
+ return me(t);
2465
2477
  function t(n) {
2466
2478
  return n && n.type === e;
2467
2479
  }
2468
2480
  }
2469
- function ge(e) {
2481
+ function me(e) {
2470
2482
  return t;
2471
2483
  function t(n, o, r) {
2472
- return !!($o(n) && e.call(
2484
+ return !!(Bo(n) && e.call(
2473
2485
  this,
2474
2486
  n,
2475
2487
  typeof o == "number" ? o : void 0,
@@ -2477,13 +2489,13 @@ function ge(e) {
2477
2489
  ));
2478
2490
  }
2479
2491
  }
2480
- function zo() {
2492
+ function Uo() {
2481
2493
  return !0;
2482
2494
  }
2483
- function $o(e) {
2495
+ function Bo(e) {
2484
2496
  return e !== null && typeof e == "object" && "type" in e;
2485
2497
  }
2486
- const et = (
2498
+ const nt = (
2487
2499
  // Note: overloads like this are needed to support optional generics.
2488
2500
  /**
2489
2501
  * @type {(
@@ -2498,7 +2510,7 @@ const et = (
2498
2510
  * @returns {UnistNode | undefined}
2499
2511
  */
2500
2512
  (function(e, t, n) {
2501
- const o = Ue(n);
2513
+ const o = He(n);
2502
2514
  if (!e || !e.type || !e.children)
2503
2515
  throw new Error("Expected parent node");
2504
2516
  if (typeof t == "number") {
@@ -2510,7 +2522,7 @@ const et = (
2510
2522
  if (o(e.children[t], t, e))
2511
2523
  return e.children[t];
2512
2524
  })
2513
- ), V = (
2525
+ ), W = (
2514
2526
  // Note: overloads in JSDoc can’t yet use different `@template`s.
2515
2527
  /**
2516
2528
  * @type {(
@@ -2526,22 +2538,22 @@ const et = (
2526
2538
  */
2527
2539
  (function(e) {
2528
2540
  if (e == null)
2529
- return Ho;
2541
+ return jo;
2530
2542
  if (typeof e == "string")
2531
- return Bo(e);
2543
+ return qo(e);
2532
2544
  if (typeof e == "object")
2533
- return Uo(e);
2545
+ return Ho(e);
2534
2546
  if (typeof e == "function")
2535
- return Be(e);
2547
+ return qe(e);
2536
2548
  throw new Error("Expected function, string, or array as `test`");
2537
2549
  })
2538
2550
  );
2539
- function Uo(e) {
2551
+ function Ho(e) {
2540
2552
  const t = [];
2541
2553
  let n = -1;
2542
2554
  for (; ++n < e.length; )
2543
- t[n] = V(e[n]);
2544
- return Be(o);
2555
+ t[n] = W(e[n]);
2556
+ return qe(o);
2545
2557
  function o(...r) {
2546
2558
  let a = -1;
2547
2559
  for (; ++a < t.length; )
@@ -2549,16 +2561,16 @@ function Uo(e) {
2549
2561
  return !1;
2550
2562
  }
2551
2563
  }
2552
- function Bo(e) {
2553
- return Be(t);
2564
+ function qo(e) {
2565
+ return qe(t);
2554
2566
  function t(n) {
2555
2567
  return n.tagName === e;
2556
2568
  }
2557
2569
  }
2558
- function Be(e) {
2570
+ function qe(e) {
2559
2571
  return t;
2560
2572
  function t(n, o, r) {
2561
- return !!(jo(n) && e.call(
2573
+ return !!(Go(n) && e.call(
2562
2574
  this,
2563
2575
  n,
2564
2576
  typeof o == "number" ? o : void 0,
@@ -2566,13 +2578,13 @@ function Be(e) {
2566
2578
  ));
2567
2579
  }
2568
2580
  }
2569
- function Ho(e) {
2581
+ function jo(e) {
2570
2582
  return !!(e && typeof e == "object" && "type" in e && e.type === "element" && "tagName" in e && typeof e.tagName == "string");
2571
2583
  }
2572
- function jo(e) {
2584
+ function Go(e) {
2573
2585
  return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
2574
2586
  }
2575
- const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V("tr"), Go = V([
2587
+ const ot = /\n/g, rt = /[\t ]+/g, Oe = W("br"), at = W(Qo), Wo = W("p"), it = W("tr"), Vo = W([
2576
2588
  // List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
2577
2589
  "datalist",
2578
2590
  "head",
@@ -2586,10 +2598,10 @@ const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V(
2586
2598
  "template",
2587
2599
  "title",
2588
2600
  // Hidden attribute.
2589
- Ko,
2601
+ Jo,
2590
2602
  // From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
2591
- Jo
2592
- ]), jt = V([
2603
+ er
2604
+ ]), Gt = W([
2593
2605
  "address",
2594
2606
  // Flow content
2595
2607
  "article",
@@ -2671,71 +2683,71 @@ const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V(
2671
2683
  "xmp"
2672
2684
  // Flow content (legacy)
2673
2685
  ]);
2674
- function Vo(e, t) {
2675
- const n = t || {}, o = "children" in e ? e.children : [], r = jt(e), a = Vt(e, {
2686
+ function Yo(e, t) {
2687
+ const n = t || {}, o = "children" in e ? e.children : [], r = Gt(e), a = Yt(e, {
2676
2688
  whitespace: n.whitespace || "normal"
2677
- }), i = [];
2678
- (e.type === "text" || e.type === "comment") && i.push(
2679
- ...Gt(e, {
2689
+ }), l = [];
2690
+ (e.type === "text" || e.type === "comment") && l.push(
2691
+ ...Vt(e, {
2680
2692
  breakBefore: !0,
2681
2693
  breakAfter: !0
2682
2694
  })
2683
2695
  );
2684
2696
  let c = -1;
2685
2697
  for (; ++c < o.length; )
2686
- i.push(
2687
- ...qt(
2698
+ l.push(
2699
+ ...Wt(
2688
2700
  o[c],
2689
2701
  // @ts-expect-error: `tree` is a parent if we’re here.
2690
2702
  e,
2691
2703
  {
2692
2704
  whitespace: a,
2693
2705
  breakBefore: c ? void 0 : r,
2694
- breakAfter: c < o.length - 1 ? Ie(o[c + 1]) : r
2706
+ breakAfter: c < o.length - 1 ? Oe(o[c + 1]) : r
2695
2707
  }
2696
2708
  )
2697
2709
  );
2698
2710
  const s = [];
2699
2711
  let p;
2700
- for (c = -1; ++c < i.length; ) {
2701
- const h = i[c];
2712
+ for (c = -1; ++c < l.length; ) {
2713
+ const h = l[c];
2702
2714
  typeof h == "number" ? p !== void 0 && h > p && (p = h) : h && (p !== void 0 && p > -1 && s.push(`
2703
2715
  `.repeat(p) || " "), p = -1, s.push(h));
2704
2716
  }
2705
2717
  return s.join("");
2706
2718
  }
2707
- function qt(e, t, n) {
2708
- return e.type === "element" ? Wo(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Gt(e, n) : Yo(e) : [];
2719
+ function Wt(e, t, n) {
2720
+ return e.type === "element" ? Xo(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Vt(e, n) : Ko(e) : [];
2709
2721
  }
2710
- function Wo(e, t, n) {
2711
- const o = Vt(e, n), r = e.children || [];
2712
- let a = -1, i = [];
2713
- if (Go(e))
2714
- return i;
2722
+ function Xo(e, t, n) {
2723
+ const o = Yt(e, n), r = e.children || [];
2724
+ let a = -1, l = [];
2725
+ if (Vo(e))
2726
+ return l;
2715
2727
  let c, s;
2716
- for (Ie(e) || rt(e) && // @ts-expect-error: something up with types of parents.
2717
- et(t, e, rt) ? s = `
2718
- ` : qo(e) ? (c = 2, s = 2) : jt(e) && (c = 1, s = 1); ++a < r.length; )
2719
- i = i.concat(
2720
- qt(r[a], e, {
2728
+ for (Oe(e) || it(e) && // @ts-expect-error: something up with types of parents.
2729
+ nt(t, e, it) ? s = `
2730
+ ` : Wo(e) ? (c = 2, s = 2) : Gt(e) && (c = 1, s = 1); ++a < r.length; )
2731
+ l = l.concat(
2732
+ Wt(r[a], e, {
2721
2733
  whitespace: o,
2722
2734
  breakBefore: a ? void 0 : c,
2723
- breakAfter: a < r.length - 1 ? Ie(r[a + 1]) : s
2735
+ breakAfter: a < r.length - 1 ? Oe(r[a + 1]) : s
2724
2736
  })
2725
2737
  );
2726
- return ot(e) && // @ts-expect-error: something up with types of parents.
2727
- et(t, e, ot) && i.push(" "), c && i.unshift(c), s && i.push(s), i;
2738
+ return at(e) && // @ts-expect-error: something up with types of parents.
2739
+ nt(t, e, at) && l.push(" "), c && l.unshift(c), s && l.push(s), l;
2728
2740
  }
2729
- function Gt(e, t) {
2741
+ function Vt(e, t) {
2730
2742
  const n = String(e.value), o = [], r = [];
2731
2743
  let a = 0;
2732
2744
  for (; a <= n.length; ) {
2733
- tt.lastIndex = a;
2734
- const s = tt.exec(n), p = s && "index" in s ? s.index : n.length;
2745
+ ot.lastIndex = a;
2746
+ const s = ot.exec(n), p = s && "index" in s ? s.index : n.length;
2735
2747
  o.push(
2736
2748
  // Any sequence of collapsible spaces and tabs immediately preceding or
2737
2749
  // following a segment break is removed.
2738
- Xo(
2750
+ Zo(
2739
2751
  // […] ignoring bidi formatting characters (characters with the
2740
2752
  // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
2741
2753
  // they were not there.
@@ -2745,25 +2757,25 @@ function Gt(e, t) {
2745
2757
  )
2746
2758
  ), a = p + 1;
2747
2759
  }
2748
- let i = -1, c;
2749
- for (; ++i < o.length; )
2750
- o[i].charCodeAt(o[i].length - 1) === 8203 || i < o.length - 1 && o[i + 1].charCodeAt(0) === 8203 ? (r.push(o[i]), c = void 0) : o[i] ? (typeof c == "number" && r.push(c), r.push(o[i]), c = 0) : (i === 0 || i === o.length - 1) && r.push(0);
2760
+ let l = -1, c;
2761
+ for (; ++l < o.length; )
2762
+ 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);
2751
2763
  return r;
2752
2764
  }
2753
- function Yo(e) {
2765
+ function Ko(e) {
2754
2766
  return [String(e.value)];
2755
2767
  }
2756
- function Xo(e, t, n) {
2768
+ function Zo(e, t, n) {
2757
2769
  const o = [];
2758
2770
  let r = 0, a;
2759
2771
  for (; r < e.length; ) {
2760
- nt.lastIndex = r;
2761
- const i = nt.exec(e);
2762
- a = i ? i.index : e.length, !r && !a && i && !t && o.push(""), r !== a && o.push(e.slice(r, a)), r = i ? a + i[0].length : a;
2772
+ rt.lastIndex = r;
2773
+ const l = rt.exec(e);
2774
+ a = l ? l.index : e.length, !r && !a && l && !t && o.push(""), r !== a && o.push(e.slice(r, a)), r = l ? a + l[0].length : a;
2763
2775
  }
2764
2776
  return r !== a && !n && o.push(""), o.join(" ");
2765
2777
  }
2766
- function Vt(e, t) {
2778
+ function Yt(e, t) {
2767
2779
  if (e.type === "element") {
2768
2780
  const n = e.properties || {};
2769
2781
  switch (e.tagName) {
@@ -2784,20 +2796,20 @@ function Vt(e, t) {
2784
2796
  }
2785
2797
  return t.whitespace;
2786
2798
  }
2787
- function Ko(e) {
2799
+ function Jo(e) {
2788
2800
  return !!(e.properties || {}).hidden;
2789
2801
  }
2790
- function Zo(e) {
2802
+ function Qo(e) {
2791
2803
  return e.tagName === "td" || e.tagName === "th";
2792
2804
  }
2793
- function Jo(e) {
2805
+ function er(e) {
2794
2806
  return e.tagName === "dialog" && !(e.properties || {}).open;
2795
2807
  }
2796
- const Wt = [], Qo = !0, at = !1, Yt = "skip";
2797
- function er(e, t, n, o) {
2808
+ const Xt = [], tr = !0, lt = !1, Kt = "skip";
2809
+ function nr(e, t, n, o) {
2798
2810
  let r;
2799
2811
  r = t;
2800
- const a = Ue(r), i = 1;
2812
+ const a = He(r), l = 1;
2801
2813
  c(e, void 0, [])();
2802
2814
  function c(s, p, h) {
2803
2815
  const f = (
@@ -2818,44 +2830,44 @@ function er(e, t, n, o) {
2818
2830
  }
2819
2831
  return b;
2820
2832
  function b() {
2821
- let m = Wt, k, d, v;
2822
- if (a(s, p, h[h.length - 1] || void 0) && (m = tr(n(s, h)), m[0] === at))
2833
+ let m = Xt, k, d, v;
2834
+ if (a(s, p, h[h.length - 1] || void 0) && (m = or(n(s, h)), m[0] === lt))
2823
2835
  return m;
2824
2836
  if ("children" in s && s.children) {
2825
2837
  const x = (
2826
2838
  /** @type {UnistParent} */
2827
2839
  s
2828
2840
  );
2829
- if (x.children && m[0] !== Yt)
2830
- for (d = -1 + i, v = h.concat(x); d > -1 && d < x.children.length; ) {
2841
+ if (x.children && m[0] !== Kt)
2842
+ for (d = -1 + l, v = h.concat(x); d > -1 && d < x.children.length; ) {
2831
2843
  const g = x.children[d];
2832
- if (k = c(g, d, v)(), k[0] === at)
2844
+ if (k = c(g, d, v)(), k[0] === lt)
2833
2845
  return k;
2834
- d = typeof k[1] == "number" ? k[1] : d + i;
2846
+ d = typeof k[1] == "number" ? k[1] : d + l;
2835
2847
  }
2836
2848
  }
2837
2849
  return m;
2838
2850
  }
2839
2851
  }
2840
2852
  }
2841
- function tr(e) {
2842
- return Array.isArray(e) ? e : typeof e == "number" ? [Qo, e] : e == null ? Wt : [e];
2853
+ function or(e) {
2854
+ return Array.isArray(e) ? e : typeof e == "number" ? [tr, e] : e == null ? Xt : [e];
2843
2855
  }
2844
- const nr = {}, or = [];
2845
- function rr(e) {
2846
- const t = e || nr;
2856
+ const rr = {}, ar = [];
2857
+ function ir(e) {
2858
+ const t = e || rr;
2847
2859
  return function(n, o) {
2848
- er(n, "element", function(r, a) {
2849
- const i = Array.isArray(r.properties.className) ? r.properties.className : or, c = i.includes("language-math"), s = i.includes("math-display"), p = i.includes("math-inline");
2860
+ nr(n, "element", function(r, a) {
2861
+ const l = Array.isArray(r.properties.className) ? r.properties.className : ar, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2850
2862
  let h = s;
2851
2863
  if (!c && !s && !p)
2852
2864
  return;
2853
2865
  let f = a[a.length - 1], b = r;
2854
2866
  if (r.tagName === "code" && c && f && f.type === "element" && f.tagName === "pre" && (b = f, f = a[a.length - 2], h = !0), !f) return;
2855
- const m = Vo(b, { whitespace: "pre" });
2867
+ const m = Yo(b, { whitespace: "pre" });
2856
2868
  let k;
2857
2869
  try {
2858
- k = qe.renderToString(m, {
2870
+ k = We.renderToString(m, {
2859
2871
  ...t,
2860
2872
  displayMode: h,
2861
2873
  throwOnError: !0
@@ -2873,7 +2885,7 @@ function rr(e) {
2873
2885
  source: "rehype-katex"
2874
2886
  });
2875
2887
  try {
2876
- k = qe.renderToString(m, {
2888
+ k = We.renderToString(m, {
2877
2889
  ...t,
2878
2890
  displayMode: h,
2879
2891
  strict: "ignore",
@@ -2895,20 +2907,20 @@ function rr(e) {
2895
2907
  }
2896
2908
  }
2897
2909
  typeof k == "string" && (k = /** @type {Array<ElementContent>} */
2898
- Fo(k).children);
2910
+ Do(k).children);
2899
2911
  const d = f.children.indexOf(b);
2900
- return f.children.splice(d, 1, ...k), Yt;
2912
+ return f.children.splice(d, 1, ...k), Kt;
2901
2913
  });
2902
2914
  };
2903
2915
  }
2904
- function ar(e, t) {
2916
+ function lr(e, t) {
2905
2917
  const n = String(e);
2906
- let o = n.indexOf(t), r = o, a = 0, i = 0;
2918
+ let o = n.indexOf(t), r = o, a = 0, l = 0;
2907
2919
  for (; o !== -1; )
2908
- o === r ? ++a > i && (i = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2909
- return i;
2920
+ o === r ? ++a > l && (l = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2921
+ return l;
2910
2922
  }
2911
- function lr() {
2923
+ function sr() {
2912
2924
  return {
2913
2925
  enter: {
2914
2926
  mathFlow: e,
@@ -2920,7 +2932,7 @@ function lr() {
2920
2932
  mathFlowFence: o,
2921
2933
  mathFlowFenceMeta: n,
2922
2934
  mathFlowValue: c,
2923
- mathText: i,
2935
+ mathText: l,
2924
2936
  mathTextData: c
2925
2937
  }
2926
2938
  };
@@ -2974,7 +2986,7 @@ function lr() {
2974
2986
  s
2975
2987
  ), this.buffer();
2976
2988
  }
2977
- function i(s) {
2989
+ function l(s) {
2978
2990
  const p = this.resume(), h = this.stack[this.stack.length - 1];
2979
2991
  h.type, this.exit(s), h.value = p, /** @type {Array<HastElementContent>} */
2980
2992
  // @ts-expect-error: we defined it in `enterMathFlow`.
@@ -2984,7 +2996,7 @@ function lr() {
2984
2996
  this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
2985
2997
  }
2986
2998
  }
2987
- function ir(e) {
2999
+ function cr(e) {
2988
3000
  let t = (e || {}).singleDollarTextMath;
2989
3001
  return t == null && (t = !0), o.peek = r, {
2990
3002
  unsafe: [
@@ -3001,8 +3013,8 @@ function ir(e) {
3001
3013
  ],
3002
3014
  handlers: { math: n, inlineMath: o }
3003
3015
  };
3004
- function n(a, i, c, s) {
3005
- const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(ar(p, "$") + 1, 2)), b = c.enter("mathFlow");
3016
+ function n(a, l, c, s) {
3017
+ const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(lr(p, "$") + 1, 2)), b = c.enter("mathFlow");
3006
3018
  let m = h.move(f);
3007
3019
  if (a.meta) {
3008
3020
  const k = c.enter("mathFlowMeta");
@@ -3020,7 +3032,7 @@ function ir(e) {
3020
3032
  `), p && (m += h.move(p + `
3021
3033
  `)), m += h.move(f), b(), m;
3022
3034
  }
3023
- function o(a, i, c) {
3035
+ function o(a, l, c) {
3024
3036
  let s = a.value || "", p = 1;
3025
3037
  for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
3026
3038
  p++;
@@ -3046,51 +3058,51 @@ function ir(e) {
3046
3058
  return "$";
3047
3059
  }
3048
3060
  }
3049
- function q(e) {
3061
+ function j(e) {
3050
3062
  return e !== null && e < -2;
3051
3063
  }
3052
- function lt(e) {
3064
+ function st(e) {
3053
3065
  return e === -2 || e === -1 || e === 32;
3054
3066
  }
3055
- function se(e, t, n, o) {
3067
+ function ce(e, t, n, o) {
3056
3068
  const r = o ? o - 1 : Number.POSITIVE_INFINITY;
3057
3069
  let a = 0;
3058
- return i;
3059
- function i(s) {
3060
- return lt(s) ? (e.enter(n), c(s)) : t(s);
3070
+ return l;
3071
+ function l(s) {
3072
+ return st(s) ? (e.enter(n), c(s)) : t(s);
3061
3073
  }
3062
3074
  function c(s) {
3063
- return lt(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3075
+ return st(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3064
3076
  }
3065
3077
  }
3066
- const sr = {
3067
- tokenize: cr,
3078
+ const ur = {
3079
+ tokenize: dr,
3068
3080
  concrete: !0,
3069
3081
  name: "mathFlow"
3070
- }, it = {
3071
- tokenize: ur,
3082
+ }, ct = {
3083
+ tokenize: pr,
3072
3084
  partial: !0
3073
3085
  };
3074
- function cr(e, t, n) {
3086
+ function dr(e, t, n) {
3075
3087
  const o = this, r = o.events[o.events.length - 1], a = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0;
3076
- let i = 0;
3088
+ let l = 0;
3077
3089
  return c;
3078
3090
  function c(g) {
3079
3091
  return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(g);
3080
3092
  }
3081
3093
  function s(g) {
3082
- return g === 36 ? (e.consume(g), i++, s) : i < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), se(e, p, "whitespace")(g));
3094
+ return g === 36 ? (e.consume(g), l++, s) : l < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(g));
3083
3095
  }
3084
3096
  function p(g) {
3085
- return g === null || q(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3097
+ return g === null || j(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3086
3098
  contentType: "string"
3087
3099
  }), h(g));
3088
3100
  }
3089
3101
  function h(g) {
3090
- return g === null || q(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3102
+ return g === null || j(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3091
3103
  }
3092
3104
  function f(g) {
3093
- return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(it, b, v)(g);
3105
+ return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(ct, b, v)(g);
3094
3106
  }
3095
3107
  function b(g) {
3096
3108
  return e.attempt({
@@ -3099,70 +3111,70 @@ function cr(e, t, n) {
3099
3111
  }, v, m)(g);
3100
3112
  }
3101
3113
  function m(g) {
3102
- return (a ? se(e, k, "linePrefix", a + 1) : k)(g);
3114
+ return (a ? ce(e, k, "linePrefix", a + 1) : k)(g);
3103
3115
  }
3104
3116
  function k(g) {
3105
- return g === null ? v(g) : q(g) ? e.attempt(it, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3117
+ return g === null ? v(g) : j(g) ? e.attempt(ct, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3106
3118
  }
3107
3119
  function d(g) {
3108
- return g === null || q(g) ? (e.exit("mathFlowValue"), k(g)) : (e.consume(g), d);
3120
+ return g === null || j(g) ? (e.exit("mathFlowValue"), k(g)) : (e.consume(g), d);
3109
3121
  }
3110
3122
  function v(g) {
3111
3123
  return e.exit("mathFlow"), t(g);
3112
3124
  }
3113
- function x(g, E, C) {
3114
- let F = 0;
3115
- return se(g, H, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3116
- function H(R) {
3117
- return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), j(R);
3125
+ function x(g, R, E) {
3126
+ let I = 0;
3127
+ return ce(g, U, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3128
+ function U(O) {
3129
+ return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), z(O);
3118
3130
  }
3119
- function j(R) {
3120
- return R === 36 ? (F++, g.consume(R), j) : F < i ? C(R) : (g.exit("mathFlowFenceSequence"), se(g, me, "whitespace")(R));
3131
+ function z(O) {
3132
+ return O === 36 ? (I++, g.consume(O), z) : I < l ? E(O) : (g.exit("mathFlowFenceSequence"), ce(g, ne, "whitespace")(O));
3121
3133
  }
3122
- function me(R) {
3123
- return R === null || q(R) ? (g.exit("mathFlowFence"), E(R)) : C(R);
3134
+ function ne(O) {
3135
+ return O === null || j(O) ? (g.exit("mathFlowFence"), R(O)) : E(O);
3124
3136
  }
3125
3137
  }
3126
3138
  }
3127
- function ur(e, t, n) {
3139
+ function pr(e, t, n) {
3128
3140
  const o = this;
3129
3141
  return r;
3130
- function r(i) {
3131
- return i === null ? t(i) : (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), a);
3142
+ function r(l) {
3143
+ return l === null ? t(l) : (e.enter("lineEnding"), e.consume(l), e.exit("lineEnding"), a);
3132
3144
  }
3133
- function a(i) {
3134
- return o.parser.lazy[o.now().line] ? n(i) : t(i);
3145
+ function a(l) {
3146
+ return o.parser.lazy[o.now().line] ? n(l) : t(l);
3135
3147
  }
3136
3148
  }
3137
- function dr(e) {
3149
+ function hr(e) {
3138
3150
  let n = (e || {}).singleDollarTextMath;
3139
3151
  return n == null && (n = !0), {
3140
3152
  tokenize: o,
3141
- resolve: pr,
3142
- previous: hr,
3153
+ resolve: gr,
3154
+ previous: mr,
3143
3155
  name: "mathText"
3144
3156
  };
3145
- function o(r, a, i) {
3157
+ function o(r, a, l) {
3146
3158
  let c = 0, s, p;
3147
3159
  return h;
3148
3160
  function h(d) {
3149
3161
  return r.enter("mathText"), r.enter("mathTextSequence"), f(d);
3150
3162
  }
3151
3163
  function f(d) {
3152
- return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? i(d) : (r.exit("mathTextSequence"), b(d));
3164
+ return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? l(d) : (r.exit("mathTextSequence"), b(d));
3153
3165
  }
3154
3166
  function b(d) {
3155
- return d === null ? i(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, k(d)) : d === 32 ? (r.enter("space"), r.consume(d), r.exit("space"), b) : q(d) ? (r.enter("lineEnding"), r.consume(d), r.exit("lineEnding"), b) : (r.enter("mathTextData"), m(d));
3167
+ return d === null ? l(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, k(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));
3156
3168
  }
3157
3169
  function m(d) {
3158
- return d === null || d === 32 || d === 36 || q(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3170
+ return d === null || d === 32 || d === 36 || j(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3159
3171
  }
3160
3172
  function k(d) {
3161
3173
  return d === 36 ? (r.consume(d), s++, k) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(d)) : (p.type = "mathTextData", m(d));
3162
3174
  }
3163
3175
  }
3164
3176
  }
3165
- function pr(e) {
3177
+ function gr(e) {
3166
3178
  let t = e.length - 4, n = 3, o, r;
3167
3179
  if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
3168
3180
  for (o = n; ++o < t; )
@@ -3175,67 +3187,67 @@ function pr(e) {
3175
3187
  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);
3176
3188
  return e;
3177
3189
  }
3178
- function hr(e) {
3190
+ function mr(e) {
3179
3191
  return e !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
3180
3192
  }
3181
- function gr(e) {
3193
+ function fr(e) {
3182
3194
  return {
3183
3195
  flow: {
3184
- 36: sr
3196
+ 36: ur
3185
3197
  },
3186
3198
  text: {
3187
- 36: dr(e)
3199
+ 36: hr(e)
3188
3200
  }
3189
3201
  };
3190
3202
  }
3191
- const mr = {};
3192
- function fr(e) {
3203
+ const br = {};
3204
+ function kr(e) {
3193
3205
  const t = (
3194
3206
  /** @type {Processor} */
3195
3207
  this
3196
- ), n = e || mr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), i = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3197
- r.push(gr(n)), a.push(lr()), i.push(ir(n));
3208
+ ), n = e || br, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3209
+ r.push(fr(n)), a.push(sr()), l.push(cr(n));
3198
3210
  }
3199
- function br(e = {}) {
3211
+ function yr(e = {}) {
3200
3212
  var t, n;
3201
- let o = [fr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [rr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3213
+ let o = [kr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [ir, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3202
3214
  return { name: "katex", type: "math", remarkPlugin: o, rehypePlugin: r, getStyles() {
3203
3215
  return "katex/dist/katex.min.css";
3204
3216
  } };
3205
3217
  }
3206
- var st = br();
3207
- const He = ue(
3208
- ({ className: e, ...t }) => /* @__PURE__ */ l(
3209
- In,
3218
+ var ut = yr();
3219
+ const je = de(
3220
+ ({ className: e, ...t }) => /* @__PURE__ */ i(
3221
+ Rn,
3210
3222
  {
3211
3223
  className: y("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
3212
3224
  ...t,
3213
- remarkPlugins: [st.remarkPlugin, ...t.remarkPlugins || []],
3214
- rehypePlugins: [st.rehypePlugin, ...t.rehypePlugins || []]
3225
+ remarkPlugins: [ut.remarkPlugin, ...t.remarkPlugins || []],
3226
+ rehypePlugins: [ut.rehypePlugin, ...t.rehypePlugins || []]
3215
3227
  }
3216
3228
  ),
3217
3229
  (e, t) => e.children === t.children
3218
3230
  );
3219
- He.displayName = "Response";
3220
- function kr({
3231
+ je.displayName = "Response";
3232
+ function vr({
3221
3233
  part: e,
3222
3234
  message: t,
3223
3235
  status: n,
3224
3236
  isFinished: o,
3225
3237
  lastMessage: r,
3226
3238
  isLastVisiblePart: a,
3227
- regen: i,
3239
+ regen: l,
3228
3240
  feedback: c,
3229
3241
  handleFeedback: s,
3230
3242
  copyHost: p,
3231
3243
  feedbackEnabled: h,
3232
3244
  retryEnabled: f
3233
3245
  }) {
3234
- const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: k, rehypePlugins: d } = W(), v = he(e.text), x = !o && r && (n === "streaming" || n === "submitted"), g = i || (() => {
3246
+ const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: k, rehypePlugins: d } = V(), v = ge(e.text), x = !o && r && (n === "streaming" || n === "submitted"), g = l || (() => {
3235
3247
  });
3236
3248
  return /* @__PURE__ */ w("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3237
- /* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(Ot, { dir: v, children: /* @__PURE__ */ l(
3238
- He,
3249
+ /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Lt, { dir: v, children: /* @__PURE__ */ i(
3250
+ je,
3239
3251
  {
3240
3252
  components: m,
3241
3253
  remarkPlugins: k,
@@ -3243,60 +3255,60 @@ function kr({
3243
3255
  children: e.text
3244
3256
  }
3245
3257
  ) }) }),
3246
- a && !x && /* @__PURE__ */ w(io, { className: y("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3258
+ a && !x && /* @__PURE__ */ w(co, { className: y("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3247
3259
  t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
3248
- r && f && /* @__PURE__ */ l(
3249
- ie,
3260
+ r && f && /* @__PURE__ */ i(
3261
+ se,
3250
3262
  {
3251
3263
  onClick: () => g(t.id),
3252
3264
  label: b("retry"),
3253
3265
  tooltip: b("retry"),
3254
- children: /* @__PURE__ */ l(fn, { className: "size-3" })
3266
+ children: /* @__PURE__ */ i(bn, { className: "size-3" })
3255
3267
  }
3256
3268
  ),
3257
3269
  h && /* @__PURE__ */ w(J, { children: [
3258
- /* @__PURE__ */ l(
3259
- ie,
3270
+ /* @__PURE__ */ i(
3271
+ se,
3260
3272
  {
3261
3273
  onClick: () => s("like"),
3262
3274
  label: b("like"),
3263
3275
  tooltip: b("like"),
3264
3276
  className: c === "like" ? "text-primary" : "",
3265
- children: /* @__PURE__ */ l(bn, { className: "size-3" })
3277
+ children: /* @__PURE__ */ i(kn, { className: "size-3" })
3266
3278
  }
3267
3279
  ),
3268
- /* @__PURE__ */ l(
3269
- ie,
3280
+ /* @__PURE__ */ i(
3281
+ se,
3270
3282
  {
3271
3283
  onClick: () => s("dislike"),
3272
3284
  label: b("dislike"),
3273
3285
  tooltip: b("dislike"),
3274
3286
  className: c === "dislike" ? "text-destructive" : "",
3275
- children: /* @__PURE__ */ l(kn, { className: "size-3" })
3287
+ children: /* @__PURE__ */ i(yn, { className: "size-3" })
3276
3288
  }
3277
3289
  )
3278
3290
  ] })
3279
3291
  ] }),
3280
- /* @__PURE__ */ l(
3281
- ie,
3292
+ /* @__PURE__ */ i(
3293
+ se,
3282
3294
  {
3283
3295
  onClick: () => {
3284
3296
  p(e.text);
3285
3297
  },
3286
3298
  label: b("copy"),
3287
3299
  tooltip: b("copy"),
3288
- children: /* @__PURE__ */ l(_t, { className: "size-3" })
3300
+ children: /* @__PURE__ */ i(Et, { className: "size-3" })
3289
3301
  }
3290
3302
  )
3291
3303
  ] })
3292
3304
  ] });
3293
3305
  }
3294
- const Xt = de(null), yr = () => {
3295
- const e = Oe(Xt);
3306
+ const Zt = pe(null), wr = () => {
3307
+ const e = Le(Zt);
3296
3308
  if (!e)
3297
3309
  throw new Error("Reasoning components must be used within Reasoning");
3298
3310
  return e;
3299
- }, vr = 1e3, wr = 1e3, Kt = ue(
3311
+ }, xr = 1e3, _r = 1e3, Jt = de(
3300
3312
  ({
3301
3313
  className: e,
3302
3314
  isStreaming: t = !1,
@@ -3305,24 +3317,24 @@ const Xt = de(null), yr = () => {
3305
3317
  // eslint-disable-next-line @typescript-eslint/unbound-method
3306
3318
  onOpenChange: r,
3307
3319
  duration: a,
3308
- children: i,
3320
+ children: l,
3309
3321
  ...c
3310
3322
  }) => {
3311
- const [s, p] = Ge({
3323
+ const [s, p] = Ve({
3312
3324
  prop: n,
3313
3325
  defaultProp: o,
3314
3326
  onChange: r
3315
- }), [h, f] = Ge({
3327
+ }), [h, f] = Ve({
3316
3328
  prop: a,
3317
3329
  defaultProp: 0
3318
- }), [b, m] = $(!1), [k, d] = $(null);
3330
+ }), [b, m] = B(!1), [k, d] = B(null);
3319
3331
  Q(() => {
3320
- t ? k === null && d(Date.now()) : k !== null && (f(Math.ceil((Date.now() - k) / wr)), d(null));
3332
+ t ? k === null && d(Date.now()) : k !== null && (f(Math.ceil((Date.now() - k) / _r)), d(null));
3321
3333
  }, [t, k, f]), Q(() => {
3322
3334
  if (o && !t && s && !b) {
3323
3335
  const x = setTimeout(() => {
3324
3336
  p(!1), m(!0);
3325
- }, vr);
3337
+ }, xr);
3326
3338
  return () => {
3327
3339
  clearTimeout(x);
3328
3340
  };
@@ -3331,36 +3343,36 @@ const Xt = de(null), yr = () => {
3331
3343
  const v = (x) => {
3332
3344
  p(x);
3333
3345
  };
3334
- return /* @__PURE__ */ l(Xt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ l(
3335
- Pe,
3346
+ return /* @__PURE__ */ i(Zt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ i(
3347
+ ze,
3336
3348
  {
3337
3349
  className: y("not-prose mb-4", e),
3338
3350
  onOpenChange: v,
3339
3351
  open: s,
3340
3352
  ...c,
3341
- children: i
3353
+ children: l
3342
3354
  }
3343
3355
  ) });
3344
3356
  }
3345
- ), Zt = ue(({ className: e, children: t, ...n }) => {
3346
- const { isStreaming: o, isOpen: r, duration: a } = yr();
3347
- return /* @__PURE__ */ l(Me, { className: y("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3348
- /* @__PURE__ */ l(yn, { className: "size-4" }),
3349
- o || a === 0 ? /* @__PURE__ */ l("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3357
+ ), Qt = de(({ className: e, children: t, ...n }) => {
3358
+ const { isStreaming: o, isOpen: r, duration: a } = wr();
3359
+ return /* @__PURE__ */ i($e, { className: y("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3360
+ /* @__PURE__ */ i(vn, { className: "size-4" }),
3361
+ o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3350
3362
  "Thought for ",
3351
3363
  a,
3352
3364
  " ",
3353
3365
  a === 1 ? "second" : "seconds"
3354
3366
  ] }),
3355
- /* @__PURE__ */ l(
3356
- ae,
3367
+ /* @__PURE__ */ i(
3368
+ ie,
3357
3369
  {
3358
3370
  className: y("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
3359
3371
  }
3360
3372
  )
3361
3373
  ] }) });
3362
- }), Jt = ue(({ className: e, children: t, ...n }) => /* @__PURE__ */ l(
3363
- ze,
3374
+ }), en = de(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3375
+ Ue,
3364
3376
  {
3365
3377
  className: y(
3366
3378
  "mt-4 text-base",
@@ -3368,33 +3380,33 @@ const Xt = de(null), yr = () => {
3368
3380
  e
3369
3381
  ),
3370
3382
  ...n,
3371
- children: /* @__PURE__ */ l(He, { className: "grid gap-2", children: t })
3383
+ children: /* @__PURE__ */ i(je, { className: "grid gap-2", children: t })
3372
3384
  }
3373
3385
  ));
3374
- Kt.displayName = "Reasoning";
3375
- Zt.displayName = "ReasoningTrigger";
3376
- Jt.displayName = "ReasoningContent";
3377
- function xr({
3386
+ Jt.displayName = "Reasoning";
3387
+ Qt.displayName = "ReasoningTrigger";
3388
+ en.displayName = "ReasoningContent";
3389
+ function Sr({
3378
3390
  part: e,
3379
3391
  status: t,
3380
3392
  index: n,
3381
3393
  partsCount: o,
3382
3394
  lastMessage: r
3383
3395
  }) {
3384
- const a = he(e.text);
3396
+ const a = ge(e.text);
3385
3397
  return /* @__PURE__ */ w(
3386
- Kt,
3398
+ Jt,
3387
3399
  {
3388
3400
  className: "w-full animate-in-bubble",
3389
3401
  isStreaming: t === "streaming" && n === o - 1 && r,
3390
3402
  children: [
3391
- /* @__PURE__ */ l(Zt, {}),
3392
- /* @__PURE__ */ l(Jt, { dir: a, children: e.text })
3403
+ /* @__PURE__ */ i(Qt, {}),
3404
+ /* @__PURE__ */ i(en, { dir: a, children: e.text })
3393
3405
  ]
3394
3406
  }
3395
3407
  );
3396
3408
  }
3397
- const _r = Le(
3409
+ const Er = Pe(
3398
3410
  "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",
3399
3411
  {
3400
3412
  variants: {
@@ -3410,29 +3422,29 @@ const _r = Le(
3410
3422
  }
3411
3423
  }
3412
3424
  );
3413
- function Sr({
3425
+ function Nr({
3414
3426
  className: e,
3415
3427
  variant: t,
3416
3428
  asChild: n = !1,
3417
3429
  ...o
3418
3430
  }) {
3419
- return /* @__PURE__ */ l(n ? Et : "span", { "data-slot": "badge", className: y(_r({ variant: t }), e), ...o });
3431
+ return /* @__PURE__ */ i(n ? Tt : "span", { "data-slot": "badge", className: y(Er({ variant: t }), e), ...o });
3420
3432
  }
3421
- function Er({ ...e }) {
3422
- return /* @__PURE__ */ l(U.Root, { "data-slot": "dialog", ...e });
3433
+ function Tr({ ...e }) {
3434
+ return /* @__PURE__ */ i(H.Root, { "data-slot": "dialog", ...e });
3423
3435
  }
3424
- function Nr({ ...e }) {
3425
- return /* @__PURE__ */ l(U.Trigger, { "data-slot": "dialog-trigger", ...e });
3436
+ function Cr({ ...e }) {
3437
+ return /* @__PURE__ */ i(H.Trigger, { "data-slot": "dialog-trigger", ...e });
3426
3438
  }
3427
- function Tr({ ...e }) {
3428
- return /* @__PURE__ */ l(U.Portal, { "data-slot": "dialog-portal", ...e });
3439
+ function Ar({ ...e }) {
3440
+ return /* @__PURE__ */ i(H.Portal, { "data-slot": "dialog-portal", ...e });
3429
3441
  }
3430
- function kl({ ...e }) {
3431
- return /* @__PURE__ */ l(U.Close, { "data-slot": "dialog-close", ...e });
3442
+ function vi({ ...e }) {
3443
+ return /* @__PURE__ */ i(H.Close, { "data-slot": "dialog-close", ...e });
3432
3444
  }
3433
- function Cr({ className: e, ...t }) {
3434
- return /* @__PURE__ */ l(
3435
- U.Overlay,
3445
+ function Ir({ className: e, ...t }) {
3446
+ return /* @__PURE__ */ i(
3447
+ H.Overlay,
3436
3448
  {
3437
3449
  "data-slot": "dialog-overlay",
3438
3450
  className: y(
@@ -3443,16 +3455,16 @@ function Cr({ className: e, ...t }) {
3443
3455
  }
3444
3456
  );
3445
3457
  }
3446
- function Ar({
3458
+ function Rr({
3447
3459
  className: e,
3448
3460
  children: t,
3449
3461
  showCloseButton: n = !0,
3450
3462
  ...o
3451
3463
  }) {
3452
- return /* @__PURE__ */ w(Tr, { "data-slot": "dialog-portal", children: [
3453
- /* @__PURE__ */ l(Cr, {}),
3464
+ return /* @__PURE__ */ w(Ar, { "data-slot": "dialog-portal", children: [
3465
+ /* @__PURE__ */ i(Ir, {}),
3454
3466
  /* @__PURE__ */ w(
3455
- U.Content,
3467
+ H.Content,
3456
3468
  {
3457
3469
  "data-slot": "dialog-content",
3458
3470
  className: y(
@@ -3463,13 +3475,13 @@ function Ar({
3463
3475
  children: [
3464
3476
  t,
3465
3477
  n && /* @__PURE__ */ w(
3466
- U.Close,
3478
+ H.Close,
3467
3479
  {
3468
3480
  "data-slot": "dialog-close",
3469
3481
  className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rtl:left-4 rtl:right-auto rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
3470
3482
  children: [
3471
- /* @__PURE__ */ l(pe, {}),
3472
- /* @__PURE__ */ l("span", { className: "sr-only", children: "Close" })
3483
+ /* @__PURE__ */ i(he, {}),
3484
+ /* @__PURE__ */ i("span", { className: "sr-only", children: "Close" })
3473
3485
  ]
3474
3486
  }
3475
3487
  )
@@ -3478,8 +3490,8 @@ function Ar({
3478
3490
  )
3479
3491
  ] });
3480
3492
  }
3481
- function Ir({ className: e, ...t }) {
3482
- return /* @__PURE__ */ l(
3493
+ function Or({ className: e, ...t }) {
3494
+ return /* @__PURE__ */ i(
3483
3495
  "div",
3484
3496
  {
3485
3497
  "data-slot": "dialog-header",
@@ -3488,8 +3500,8 @@ function Ir({ className: e, ...t }) {
3488
3500
  }
3489
3501
  );
3490
3502
  }
3491
- function yl({ className: e, ...t }) {
3492
- return /* @__PURE__ */ l(
3503
+ function wi({ className: e, ...t }) {
3504
+ return /* @__PURE__ */ i(
3493
3505
  "div",
3494
3506
  {
3495
3507
  "data-slot": "dialog-footer",
@@ -3498,9 +3510,9 @@ function yl({ className: e, ...t }) {
3498
3510
  }
3499
3511
  );
3500
3512
  }
3501
- function Rr({ className: e, ...t }) {
3502
- return /* @__PURE__ */ l(
3503
- U.Title,
3513
+ function Fr({ className: e, ...t }) {
3514
+ return /* @__PURE__ */ i(
3515
+ H.Title,
3504
3516
  {
3505
3517
  "data-slot": "dialog-title",
3506
3518
  className: y("text-xl leading-none font-semibold", e),
@@ -3508,9 +3520,9 @@ function Rr({ className: e, ...t }) {
3508
3520
  }
3509
3521
  );
3510
3522
  }
3511
- function vl({ className: e, ...t }) {
3512
- return /* @__PURE__ */ l(
3513
- U.Description,
3523
+ function xi({ className: e, ...t }) {
3524
+ return /* @__PURE__ */ i(
3525
+ H.Description,
3514
3526
  {
3515
3527
  "data-slot": "dialog-description",
3516
3528
  className: y("text-muted-foreground text-base", e),
@@ -3518,7 +3530,7 @@ function vl({ className: e, ...t }) {
3518
3530
  }
3519
3531
  );
3520
3532
  }
3521
- const Or = {
3533
+ const Lr = {
3522
3534
  'code[class*="language-"]': {
3523
3535
  background: "hsl(220, 13%, 18%)",
3524
3536
  color: "hsl(220, 14%, 71%)",
@@ -4018,7 +4030,7 @@ const Or = {
4018
4030
  ".prism-previewer-easing.prism-previewer-easing line": {
4019
4031
  stroke: "hsl(220, 14%, 71%)"
4020
4032
  }
4021
- }, Fr = {
4033
+ }, Dr = {
4022
4034
  'code[class*="language-"]': {
4023
4035
  background: "hsl(230, 1%, 98%)",
4024
4036
  color: "hsl(230, 8%, 24%)",
@@ -4507,13 +4519,13 @@ const Or = {
4507
4519
  stroke: "hsl(230, 8%, 24%)"
4508
4520
  }
4509
4521
  };
4510
- function B(e) {
4522
+ function q(e) {
4511
4523
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4512
4524
  }
4513
- var ye, ct;
4514
- function Lr() {
4515
- if (ct) return ye;
4516
- ct = 1, ye = e, e.displayName = "python", e.aliases = ["py"];
4525
+ var ve, dt;
4526
+ function Pr() {
4527
+ if (dt) return ve;
4528
+ dt = 1, ve = e, e.displayName = "python", e.aliases = ["py"];
4517
4529
  function e(t) {
4518
4530
  t.languages.python = {
4519
4531
  comment: {
@@ -4577,14 +4589,14 @@ function Lr() {
4577
4589
  punctuation: /[{}[\];(),.:]/
4578
4590
  }, t.languages.python["string-interpolation"].inside.interpolation.inside.rest = t.languages.python, t.languages.py = t.languages.python;
4579
4591
  }
4580
- return ye;
4581
- }
4582
- var Dr = Lr();
4583
- const Pr = /* @__PURE__ */ B(Dr);
4584
- var ve, ut;
4585
- function Mr() {
4586
- if (ut) return ve;
4587
- ut = 1, ve = e, e.displayName = "javascript", e.aliases = ["js"];
4592
+ return ve;
4593
+ }
4594
+ var Mr = Pr();
4595
+ const zr = /* @__PURE__ */ q(Mr);
4596
+ var we, pt;
4597
+ function $r() {
4598
+ if (pt) return we;
4599
+ pt = 1, we = e, e.displayName = "javascript", e.aliases = ["js"];
4588
4600
  function e(t) {
4589
4601
  t.languages.javascript = t.languages.extend("clike", {
4590
4602
  "class-name": [
@@ -4709,14 +4721,14 @@ function Mr() {
4709
4721
  "javascript"
4710
4722
  )), t.languages.js = t.languages.javascript;
4711
4723
  }
4712
- return ve;
4724
+ return we;
4713
4725
  }
4714
- var zr = Mr();
4715
- const $r = /* @__PURE__ */ B(zr);
4716
- var we, dt;
4717
- function Ur() {
4718
- if (dt) return we;
4719
- dt = 1, we = e, e.displayName = "typescript", e.aliases = ["ts"];
4726
+ var Ur = $r();
4727
+ const Br = /* @__PURE__ */ q(Ur);
4728
+ var xe, ht;
4729
+ function Hr() {
4730
+ if (ht) return xe;
4731
+ ht = 1, xe = e, e.displayName = "typescript", e.aliases = ["ts"];
4720
4732
  function e(t) {
4721
4733
  (function(n) {
4722
4734
  n.languages.typescript = n.languages.extend("javascript", {
@@ -4764,14 +4776,14 @@ function Ur() {
4764
4776
  }), n.languages.ts = n.languages.typescript;
4765
4777
  })(t);
4766
4778
  }
4767
- return we;
4779
+ return xe;
4768
4780
  }
4769
- var Br = Ur();
4770
- const Hr = /* @__PURE__ */ B(Br);
4771
- var xe, pt;
4772
- function jr() {
4773
- if (pt) return xe;
4774
- pt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
4781
+ var qr = Hr();
4782
+ const jr = /* @__PURE__ */ q(qr);
4783
+ var _e, gt;
4784
+ function Gr() {
4785
+ if (gt) return _e;
4786
+ gt = 1, _e = e, e.displayName = "json", e.aliases = ["webmanifest"];
4775
4787
  function e(t) {
4776
4788
  t.languages.json = {
4777
4789
  property: {
@@ -4798,14 +4810,14 @@ function jr() {
4798
4810
  }
4799
4811
  }, t.languages.webmanifest = t.languages.json;
4800
4812
  }
4801
- return xe;
4813
+ return _e;
4802
4814
  }
4803
- var qr = jr();
4804
- const Gr = /* @__PURE__ */ B(qr);
4805
- var _e, ht;
4806
- function Vr() {
4807
- if (ht) return _e;
4808
- ht = 1, _e = e, e.displayName = "bash", e.aliases = ["shell"];
4815
+ var Wr = Gr();
4816
+ const Vr = /* @__PURE__ */ q(Wr);
4817
+ var Se, mt;
4818
+ function Yr() {
4819
+ if (mt) return Se;
4820
+ mt = 1, Se = e, e.displayName = "bash", e.aliases = ["shell"];
4809
4821
  function e(t) {
4810
4822
  (function(n) {
4811
4823
  var o = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", r = {
@@ -5000,7 +5012,7 @@ function Vr() {
5000
5012
  lookbehind: !0
5001
5013
  }
5002
5014
  }, r.inside = n.languages.bash;
5003
- for (var i = [
5015
+ for (var l = [
5004
5016
  "comment",
5005
5017
  "function-name",
5006
5018
  "for-or-select",
@@ -5015,19 +5027,19 @@ function Vr() {
5015
5027
  "operator",
5016
5028
  "punctuation",
5017
5029
  "number"
5018
- ], c = a.variable[1].inside, s = 0; s < i.length; s++)
5019
- c[i[s]] = n.languages.bash[i[s]];
5030
+ ], c = a.variable[1].inside, s = 0; s < l.length; s++)
5031
+ c[l[s]] = n.languages.bash[l[s]];
5020
5032
  n.languages.shell = n.languages.bash;
5021
5033
  })(t);
5022
5034
  }
5023
- return _e;
5035
+ return Se;
5024
5036
  }
5025
- var Wr = Vr();
5026
- const Yr = /* @__PURE__ */ B(Wr);
5027
- var Se, gt;
5028
- function Xr() {
5029
- if (gt) return Se;
5030
- gt = 1, Se = e, e.displayName = "sql", e.aliases = [];
5037
+ var Xr = Yr();
5038
+ const Kr = /* @__PURE__ */ q(Xr);
5039
+ var Ee, ft;
5040
+ function Zr() {
5041
+ if (ft) return Ee;
5042
+ ft = 1, Ee = e, e.displayName = "sql", e.aliases = [];
5031
5043
  function e(t) {
5032
5044
  t.languages.sql = {
5033
5045
  comment: {
@@ -5063,17 +5075,17 @@ function Xr() {
5063
5075
  punctuation: /[;[\]()`,.]/
5064
5076
  };
5065
5077
  }
5066
- return Se;
5078
+ return Ee;
5067
5079
  }
5068
- var Kr = Xr();
5069
- const Zr = /* @__PURE__ */ B(Kr);
5070
- var Ee, mt;
5071
- function Jr() {
5072
- if (mt) return Ee;
5073
- mt = 1, Ee = e, e.displayName = "yaml", e.aliases = ["yml"];
5080
+ var Jr = Zr();
5081
+ const Qr = /* @__PURE__ */ q(Jr);
5082
+ var Ne, bt;
5083
+ function ea() {
5084
+ if (bt) return Ne;
5085
+ bt = 1, Ne = e, e.displayName = "yaml", e.aliases = ["yml"];
5074
5086
  function e(t) {
5075
5087
  (function(n) {
5076
- var o = /[*&][^\s[\]{},]+/, r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + r.source + "(?:[ ]+" + o.source + ")?|" + o.source + "(?:[ ]+" + r.source + ")?)", i = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
5088
+ var o = /[*&][^\s[\]{},]+/, r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + r.source + "(?:[ ]+" + o.source + ")?|" + o.source + "(?:[ ]+" + r.source + ")?)", l = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
5077
5089
  /<PLAIN>/g,
5078
5090
  function() {
5079
5091
  return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
@@ -5107,7 +5119,7 @@ function Jr() {
5107
5119
  /((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
5108
5120
  return a;
5109
5121
  }).replace(/<<key>>/g, function() {
5110
- return "(?:" + i + "|" + c + ")";
5122
+ return "(?:" + l + "|" + c + ")";
5111
5123
  })
5112
5124
  ),
5113
5125
  lookbehind: !0,
@@ -5154,14 +5166,14 @@ function Jr() {
5154
5166
  }, n.languages.yml = n.languages.yaml;
5155
5167
  })(t);
5156
5168
  }
5157
- return Ee;
5169
+ return Ne;
5158
5170
  }
5159
- var Qr = Jr();
5160
- const ea = /* @__PURE__ */ B(Qr);
5161
- var Ne, ft;
5162
- function ta() {
5163
- if (ft) return Ne;
5164
- ft = 1, Ne = e, e.displayName = "markdown", e.aliases = ["md"];
5171
+ var ta = ea();
5172
+ const na = /* @__PURE__ */ q(ta);
5173
+ var Te, kt;
5174
+ function oa() {
5175
+ if (kt) return Te;
5176
+ kt = 1, Te = e, e.displayName = "markdown", e.aliases = ["md"];
5165
5177
  function e(t) {
5166
5178
  (function(n) {
5167
5179
  var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
@@ -5170,7 +5182,7 @@ function ta() {
5170
5182
  return o;
5171
5183
  }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + b + ")");
5172
5184
  }
5173
- var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, i = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5185
+ var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, l = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5174
5186
  /__/g,
5175
5187
  function() {
5176
5188
  return a;
@@ -5197,13 +5209,13 @@ function ta() {
5197
5209
  },
5198
5210
  table: {
5199
5211
  pattern: RegExp(
5200
- "^" + i + c + "(?:" + i + ")*",
5212
+ "^" + l + c + "(?:" + l + ")*",
5201
5213
  "m"
5202
5214
  ),
5203
5215
  inside: {
5204
5216
  "table-data-rows": {
5205
5217
  pattern: RegExp(
5206
- "^(" + i + c + ")(?:" + i + ")*$"
5218
+ "^(" + l + c + ")(?:" + l + ")*$"
5207
5219
  ),
5208
5220
  lookbehind: !0,
5209
5221
  inside: {
@@ -5215,14 +5227,14 @@ function ta() {
5215
5227
  }
5216
5228
  },
5217
5229
  "table-line": {
5218
- pattern: RegExp("^(" + i + ")" + c + "$"),
5230
+ pattern: RegExp("^(" + l + ")" + c + "$"),
5219
5231
  lookbehind: !0,
5220
5232
  inside: {
5221
5233
  punctuation: /\||:?-{3,}:?/
5222
5234
  }
5223
5235
  },
5224
5236
  "table-header-row": {
5225
- pattern: RegExp("^" + i + "$"),
5237
+ pattern: RegExp("^" + l + "$"),
5226
5238
  inside: {
5227
5239
  "table-header": {
5228
5240
  pattern: RegExp(a),
@@ -5426,12 +5438,12 @@ function ta() {
5426
5438
  m(x.content);
5427
5439
  continue;
5428
5440
  }
5429
- var g = x.content[1], E = x.content[3];
5430
- if (g && E && g.type === "code-language" && E.type === "code-block" && typeof g.content == "string") {
5431
- var C = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5432
- C = (/[a-z][\w-]*/i.exec(C) || [""])[0].toLowerCase();
5433
- var F = "language-" + C;
5434
- E.alias ? typeof E.alias == "string" ? E.alias = [E.alias, F] : E.alias.push(F) : E.alias = [F];
5441
+ var g = x.content[1], R = x.content[3];
5442
+ if (g && R && g.type === "code-language" && R.type === "code-block" && typeof g.content == "string") {
5443
+ var E = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5444
+ E = (/[a-z][\w-]*/i.exec(E) || [""])[0].toLowerCase();
5445
+ var I = "language-" + E;
5446
+ R.alias ? typeof R.alias == "string" ? R.alias = [R.alias, I] : R.alias.push(I) : R.alias = [I];
5435
5447
  }
5436
5448
  }
5437
5449
  }
@@ -5453,11 +5465,11 @@ function ta() {
5453
5465
  m
5454
5466
  );
5455
5467
  else if (m && m !== "none" && n.plugins.autoloader) {
5456
- var E = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5457
- b.attributes.id = E, n.plugins.autoloader.loadLanguages(m, function() {
5458
- var C = document.getElementById(E);
5459
- C && (C.innerHTML = n.highlight(
5460
- C.textContent,
5468
+ var R = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5469
+ b.attributes.id = R, n.plugins.autoloader.loadLanguages(m, function() {
5470
+ var E = document.getElementById(R);
5471
+ E && (E.innerHTML = n.highlight(
5472
+ E.textContent,
5461
5473
  n.languages[m],
5462
5474
  m
5463
5475
  ));
@@ -5486,36 +5498,36 @@ function ta() {
5486
5498
  n.languages.md = n.languages.markdown;
5487
5499
  })(t);
5488
5500
  }
5489
- return Ne;
5490
- }
5491
- var na = ta();
5492
- const oa = /* @__PURE__ */ B(na);
5493
- z.registerLanguage("python", Pr);
5494
- z.registerLanguage("javascript", $r);
5495
- z.registerLanguage("typescript", Hr);
5496
- z.registerLanguage("json", Gr);
5497
- z.registerLanguage("bash", Yr);
5498
- z.registerLanguage("sql", Zr);
5499
- z.registerLanguage("yaml", ea);
5500
- z.registerLanguage("markdown", oa);
5501
- const ra = de({
5501
+ return Te;
5502
+ }
5503
+ var ra = oa();
5504
+ const aa = /* @__PURE__ */ q(ra);
5505
+ $.registerLanguage("python", zr);
5506
+ $.registerLanguage("javascript", Br);
5507
+ $.registerLanguage("typescript", jr);
5508
+ $.registerLanguage("json", Vr);
5509
+ $.registerLanguage("bash", Kr);
5510
+ $.registerLanguage("sql", Qr);
5511
+ $.registerLanguage("yaml", na);
5512
+ $.registerLanguage("markdown", aa);
5513
+ const ia = pe({
5502
5514
  code: ""
5503
- }), Re = ({
5515
+ }), Fe = ({
5504
5516
  code: e,
5505
5517
  language: t,
5506
5518
  showLineNumbers: n = !1,
5507
5519
  className: o,
5508
5520
  children: r,
5509
5521
  ...a
5510
- }) => /* @__PURE__ */ l(ra.Provider, { value: { code: e }, children: /* @__PURE__ */ l(
5522
+ }) => /* @__PURE__ */ i(ia.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5511
5523
  "div",
5512
5524
  {
5513
5525
  className: y("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5514
5526
  dir: "ltr",
5515
5527
  ...a,
5516
5528
  children: /* @__PURE__ */ w("div", { className: "relative", children: [
5517
- /* @__PURE__ */ l(
5518
- z,
5529
+ /* @__PURE__ */ i(
5530
+ $,
5519
5531
  {
5520
5532
  className: "overflow-hidden dark:hidden",
5521
5533
  codeTagProps: {
@@ -5535,12 +5547,12 @@ const ra = de({
5535
5547
  minWidth: "2.5rem"
5536
5548
  },
5537
5549
  showLineNumbers: n,
5538
- style: Fr,
5550
+ style: Dr,
5539
5551
  children: e
5540
5552
  }
5541
5553
  ),
5542
- /* @__PURE__ */ l(
5543
- z,
5554
+ /* @__PURE__ */ i(
5555
+ $,
5544
5556
  {
5545
5557
  className: "hidden overflow-hidden dark:block",
5546
5558
  codeTagProps: {
@@ -5560,50 +5572,50 @@ const ra = de({
5560
5572
  minWidth: "2.5rem"
5561
5573
  },
5562
5574
  showLineNumbers: n,
5563
- style: Or,
5575
+ style: Lr,
5564
5576
  children: e
5565
5577
  }
5566
5578
  ),
5567
- r && /* @__PURE__ */ l("div", { className: "absolute top-2 right-2 flex items-center gap-2", children: r })
5579
+ r && /* @__PURE__ */ i("div", { className: "absolute top-2 right-2 flex items-center gap-2", children: r })
5568
5580
  ] })
5569
5581
  }
5570
5582
  ) });
5571
- function aa(e, t = "size-4") {
5583
+ function la(e, t = "size-4") {
5572
5584
  return {
5573
- web_search: /* @__PURE__ */ l(_n, { className: t }),
5574
- web_fetch: /* @__PURE__ */ l(ce, { className: t }),
5575
- code_execution: /* @__PURE__ */ l(xn, { className: t }),
5576
- image_generation: /* @__PURE__ */ l(wn, { className: t })
5577
- }[e] ?? /* @__PURE__ */ l(vn, { className: t });
5585
+ web_search: /* @__PURE__ */ i(Sn, { className: t }),
5586
+ web_fetch: /* @__PURE__ */ i(ue, { className: t }),
5587
+ code_execution: /* @__PURE__ */ i(_n, { className: t }),
5588
+ image_generation: /* @__PURE__ */ i(xn, { className: t })
5589
+ }[e] ?? /* @__PURE__ */ i(wn, { className: t });
5578
5590
  }
5579
- const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not-prose mb-4 w-full rounded-md border", e), ...t }), ia = ({ status: e }) => {
5591
+ const sa = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not-prose mb-4 w-full rounded-md border", e), ...t }), ca = ({ status: e }) => {
5580
5592
  const { t } = M(["tools_ui"]), n = {
5581
5593
  "input-streaming": t("pending"),
5582
5594
  "input-available": t("running"),
5583
5595
  "output-available": t("completed"),
5584
5596
  "output-error": t("error")
5585
5597
  };
5586
- return /* @__PURE__ */ w(Sr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5598
+ return /* @__PURE__ */ w(Nr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5587
5599
  {
5588
- "input-streaming": /* @__PURE__ */ l(Nn, { className: "size-4" }),
5589
- "input-available": /* @__PURE__ */ l(En, { className: "size-4 animate-pulse" }),
5590
- "output-available": /* @__PURE__ */ l(Sn, { className: "size-4 text-green-600" }),
5591
- "output-error": /* @__PURE__ */ l(St, { className: "size-4 text-red-600" })
5600
+ "input-streaming": /* @__PURE__ */ i(Tn, { className: "size-4" }),
5601
+ "input-available": /* @__PURE__ */ i(Nn, { className: "size-4 animate-pulse" }),
5602
+ "output-available": /* @__PURE__ */ i(En, { className: "size-4 text-green-600" }),
5603
+ "output-error": /* @__PURE__ */ i(Nt, { className: "size-4 text-red-600" })
5592
5604
  }[e],
5593
5605
  n[e]
5594
5606
  ] });
5595
- }, sa = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5596
- const a = o || (t.startsWith("tool-") ? t.slice(5) : t), i = aa(a, "size-4 text-muted-foreground");
5597
- return /* @__PURE__ */ w(Me, { className: y("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5607
+ }, ua = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5608
+ const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = la(a, "size-4 text-muted-foreground");
5609
+ return /* @__PURE__ */ w($e, { className: y("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5598
5610
  /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
5599
- i,
5600
- /* @__PURE__ */ l("span", { className: "font-medium text-sm", children: a }),
5601
- /* @__PURE__ */ l(ia, { status: n })
5611
+ l,
5612
+ /* @__PURE__ */ i("span", { className: "font-medium text-sm", children: a }),
5613
+ /* @__PURE__ */ i(ca, { status: n })
5602
5614
  ] }),
5603
- /* @__PURE__ */ l(ae, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5615
+ /* @__PURE__ */ i(ie, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5604
5616
  ] });
5605
- }, ca = ({ className: e, ...t }) => /* @__PURE__ */ l(
5606
- ze,
5617
+ }, da = ({ className: e, ...t }) => /* @__PURE__ */ i(
5618
+ Ue,
5607
5619
  {
5608
5620
  className: y(
5609
5621
  "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",
@@ -5611,7 +5623,7 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not
5611
5623
  ),
5612
5624
  ...t
5613
5625
  }
5614
- ), Qt = (e) => {
5626
+ ), tn = (e) => {
5615
5627
  if (typeof e == "string")
5616
5628
  try {
5617
5629
  return JSON.stringify(JSON.parse(e), null, 2);
@@ -5619,52 +5631,52 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not
5619
5631
  return e;
5620
5632
  }
5621
5633
  return JSON.stringify(e, null, 2);
5622
- }, ua = ({ className: e, input: t, ...n }) => {
5634
+ }, pa = ({ className: e, input: t, ...n }) => {
5623
5635
  const { t: o } = M(["tools_ui"]);
5624
5636
  return /* @__PURE__ */ w("div", { className: y("space-y-2 overflow-hidden p-4", e), ...n, children: [
5625
- /* @__PURE__ */ l("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5626
- /* @__PURE__ */ l("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ l(Re, { code: Qt(t), language: "json" }) })
5637
+ /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5638
+ /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Fe, { code: tn(t), language: "json" }) })
5627
5639
  ] });
5628
- }, da = ({ className: e, output: t, errorText: n, ...o }) => {
5629
- const { t: r } = M(["tools_ui"]), [a, i] = $(!1);
5640
+ }, ha = ({ className: e, output: t, errorText: n, ...o }) => {
5641
+ const { t: r } = M(["tools_ui"]), [a, l] = B(!1);
5630
5642
  if (!(t || n))
5631
5643
  return null;
5632
5644
  const c = () => {
5633
5645
  n && navigator.clipboard.writeText(n).then(() => {
5634
- i(!0), setTimeout(() => i(!1), 2e3);
5646
+ l(!0), setTimeout(() => l(!1), 2e3);
5635
5647
  });
5636
5648
  }, s = () => {
5637
5649
  if (typeof t == "string")
5638
5650
  try {
5639
5651
  const p = JSON.parse(t);
5640
- return /* @__PURE__ */ l(Re, { code: JSON.stringify(p, null, 2), language: "json" });
5652
+ return /* @__PURE__ */ i(Fe, { code: JSON.stringify(p, null, 2), language: "json" });
5641
5653
  } catch {
5642
- return /* @__PURE__ */ l("div", { className: "p-4 text-sm whitespace-pre-wrap", dir: "ltr", children: t });
5654
+ return /* @__PURE__ */ i("div", { className: "p-4 text-sm whitespace-pre-wrap", dir: "ltr", children: t });
5643
5655
  }
5644
- return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ l(Re, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5656
+ return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ i(Fe, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5645
5657
  };
5646
5658
  return /* @__PURE__ */ w("div", { className: y("space-y-2 p-4", e), ...o, children: [
5647
- /* @__PURE__ */ l("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5648
- n && /* @__PURE__ */ w(Er, { children: [
5649
- /* @__PURE__ */ l(Nr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5650
- /* @__PURE__ */ l(St, { className: "mr-1.5 size-4" }),
5659
+ /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5660
+ n && /* @__PURE__ */ w(Tr, { children: [
5661
+ /* @__PURE__ */ i(Cr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5662
+ /* @__PURE__ */ i(Nt, { className: "mr-1.5 size-4" }),
5651
5663
  r("view_error")
5652
5664
  ] }) }),
5653
- /* @__PURE__ */ w(Ar, { className: "max-w-2xl", children: [
5654
- /* @__PURE__ */ l(Ir, { children: /* @__PURE__ */ l(Rr, { className: "text-destructive", children: r("tool_error") }) }),
5665
+ /* @__PURE__ */ w(Rr, { className: "max-w-2xl", children: [
5666
+ /* @__PURE__ */ i(Or, { children: /* @__PURE__ */ i(Fr, { className: "text-destructive", children: r("tool_error") }) }),
5655
5667
  /* @__PURE__ */ w("div", { className: "space-y-4", children: [
5656
- /* @__PURE__ */ l("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ l("pre", { className: "whitespace-pre-wrap break-words", children: Qt(n) }) }),
5668
+ /* @__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: tn(n) }) }),
5657
5669
  /* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
5658
- /* @__PURE__ */ l(_t, { className: "mr-1.5 size-4" }),
5670
+ /* @__PURE__ */ i(Et, { className: "mr-1.5 size-4" }),
5659
5671
  r(a ? "copied" : "copy_error")
5660
5672
  ] })
5661
5673
  ] })
5662
5674
  ] })
5663
5675
  ] }),
5664
- t && !n && /* @__PURE__ */ l("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ l("div", { children: s() }) })
5676
+ 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() }) })
5665
5677
  ] });
5666
5678
  };
5667
- function pa({
5679
+ function ga({
5668
5680
  part: e,
5669
5681
  message: t,
5670
5682
  chat: n,
@@ -5672,43 +5684,43 @@ function pa({
5672
5684
  showToolCalls: r
5673
5685
  }) {
5674
5686
  const a = e;
5675
- let i = a.toolName;
5676
- if (!i && e.type.startsWith("tool-")) {
5687
+ let l = a.toolName;
5688
+ if (!l && e.type.startsWith("tool-")) {
5677
5689
  const c = e.type.slice(5);
5678
- c !== "invocation" && c !== "result" && (i = c);
5690
+ c !== "invocation" && c !== "result" && (l = c);
5679
5691
  }
5680
- if (!i && a.toolCallId && Array.isArray(t.parts))
5692
+ if (!l && a.toolCallId && Array.isArray(t.parts))
5681
5693
  try {
5682
5694
  const c = t.parts.find(
5683
5695
  (s) => s && typeof s == "object" && s.toolCallId === a.toolCallId && (s.toolName || s.type && s.type.startsWith("tool-"))
5684
5696
  );
5685
- c && (i = c.toolName || (c.type.startsWith("tool-") ? c.type.slice(5) : void 0));
5697
+ c && (l = c.toolName || (c.type.startsWith("tool-") ? c.type.slice(5) : void 0));
5686
5698
  } catch (c) {
5687
5699
  console.error("Error resolving toolName in ToolPart:", c);
5688
5700
  }
5689
- if (o && i && o[i]) {
5690
- const c = o[i];
5691
- return /* @__PURE__ */ l(c, { part: e, message: t, chat: n });
5701
+ if (o && l && o[l]) {
5702
+ const c = o[l];
5703
+ return /* @__PURE__ */ i(c, { part: e, message: t, chat: n });
5692
5704
  }
5693
- return r ? /* @__PURE__ */ w(la, { className: "animate-in-bubble", children: [
5694
- /* @__PURE__ */ l(sa, { type: e.type, state: a.state, toolName: i }),
5695
- /* @__PURE__ */ w(ca, { children: [
5696
- /* @__PURE__ */ l(ua, { input: a.input }),
5697
- (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ l(da, { errorText: a.errorText, output: a.output })
5705
+ return r ? /* @__PURE__ */ w(sa, { className: "animate-in-bubble", children: [
5706
+ /* @__PURE__ */ i(ua, { type: e.type, state: a.state, toolName: l }),
5707
+ /* @__PURE__ */ w(da, { children: [
5708
+ /* @__PURE__ */ i(pa, { input: a.input }),
5709
+ (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ha, { errorText: a.errorText, output: a.output })
5698
5710
  ] })
5699
5711
  ] }) : null;
5700
5712
  }
5701
- function ha({
5713
+ function ma({
5702
5714
  part: e,
5703
5715
  message: t
5704
5716
  }) {
5705
- const { t: n } = M(["chat", "admin"]), o = e, r = (o.mediaType || o.media_type)?.startsWith("image/"), a = o.filename ?? "file", i = (c) => {
5717
+ const { t: n } = M(["chat", "admin"]), o = e, r = (o.mediaType || o.media_type)?.startsWith("image/"), a = o.filename ?? "file", l = (c) => {
5706
5718
  if (c.preventDefault(), !o.url) return;
5707
5719
  const s = document.createElement("a");
5708
5720
  s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
5709
5721
  };
5710
- return /* @__PURE__ */ l("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(Ot, { 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: [
5711
- /* @__PURE__ */ l(
5722
+ return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Ft, { from: t.role, children: /* @__PURE__ */ i(Lt, { 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: [
5723
+ /* @__PURE__ */ i(
5712
5724
  "img",
5713
5725
  {
5714
5726
  src: o.url,
@@ -5717,50 +5729,50 @@ function ha({
5717
5729
  }
5718
5730
  ),
5719
5731
  /* @__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: [
5720
- /* @__PURE__ */ l("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5721
- /* @__PURE__ */ l(
5732
+ /* @__PURE__ */ i("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5733
+ /* @__PURE__ */ i(
5722
5734
  "button",
5723
5735
  {
5724
- onClick: i,
5736
+ onClick: l,
5725
5737
  className: "p-1.5 bg-white/20 hover:bg-white/30 backdrop-blur-md rounded-full text-white transition-all hover:scale-110 active:scale-95",
5726
5738
  title: n("download", "Download"),
5727
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5739
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5728
5740
  }
5729
5741
  )
5730
5742
  ] }),
5731
- /* @__PURE__ */ l("div", { className: "absolute top-2 right-2 md:hidden", children: /* @__PURE__ */ l(
5743
+ /* @__PURE__ */ i("div", { className: "absolute top-2 right-2 md:hidden", children: /* @__PURE__ */ i(
5732
5744
  "button",
5733
5745
  {
5734
- onClick: i,
5746
+ onClick: l,
5735
5747
  className: "p-1.5 bg-black/40 backdrop-blur-md rounded-full text-white",
5736
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5748
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5737
5749
  }
5738
5750
  ) })
5739
- ] }) : /* @__PURE__ */ l("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: [
5740
- /* @__PURE__ */ l("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__ */ l(xt, { className: "size-4 shrink-0" }) }),
5751
+ ] }) : /* @__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: [
5752
+ /* @__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(St, { className: "size-4 shrink-0" }) }),
5741
5753
  /* @__PURE__ */ w("div", { className: "flex flex-col min-w-0 mr-4", children: [
5742
- /* @__PURE__ */ l("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
5743
- (o.mediaType || o.media_type) && /* @__PURE__ */ l("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
5754
+ /* @__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 }),
5755
+ (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() })
5744
5756
  ] }),
5745
- /* @__PURE__ */ l(
5757
+ /* @__PURE__ */ i(
5746
5758
  "button",
5747
5759
  {
5748
- onClick: i,
5760
+ onClick: l,
5749
5761
  className: "ml-auto p-2 hover:bg-primary hover:text-primary-foreground rounded-lg text-muted-foreground transition-all active:scale-90",
5750
5762
  title: n("download", "Download"),
5751
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5763
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5752
5764
  }
5753
5765
  )
5754
5766
  ] }) }) }) }) });
5755
5767
  }
5756
- const A = {
5757
- MessageList: Kn,
5758
- PromptInput: ro,
5759
- WelcomeScreen: lo,
5760
- TextPart: kr,
5761
- ReasoningPart: xr,
5762
- ToolPart: pa,
5763
- FilePart: ha,
5768
+ const C = {
5769
+ MessageList: Zn,
5770
+ PromptInput: io,
5771
+ WelcomeScreen: so,
5772
+ TextPart: vr,
5773
+ ReasoningPart: Sr,
5774
+ ToolPart: ga,
5775
+ FilePart: ma,
5764
5776
  toolComponents: void 0,
5765
5777
  textComponents: void 0,
5766
5778
  remarkPlugins: void 0,
@@ -5803,75 +5815,75 @@ const A = {
5803
5815
  account: { enabled: !0, fields: {} }
5804
5816
  }
5805
5817
  }
5806
- }, en = de(A);
5807
- function W() {
5808
- return Oe(en);
5818
+ }, nn = pe(C);
5819
+ function V() {
5820
+ return Le(nn);
5809
5821
  }
5810
- function wl({
5822
+ function _i({
5811
5823
  components: e,
5812
5824
  history: t,
5813
5825
  welcome: n,
5814
5826
  threadActions: o,
5815
5827
  composer: r,
5816
5828
  theme: a,
5817
- disclaimer: i,
5829
+ disclaimer: l,
5818
5830
  app: c,
5819
5831
  i18n: s,
5820
5832
  settings: p,
5821
5833
  children: h
5822
5834
  }) {
5823
- const f = wt(
5835
+ const f = _t(
5824
5836
  () => ({
5825
- ...A,
5837
+ ...C,
5826
5838
  ...e,
5827
5839
  // toolComponents is a plain merge (not nested-spread) — callers
5828
5840
  // provide the full map for all tool names they want to override.
5829
- toolComponents: e?.toolComponents ?? A.toolComponents,
5830
- history: t ? { ...A.history, ...t } : A.history,
5831
- welcome: n ? { ...A.welcome, ...n } : A.welcome,
5832
- threadActions: o ? { ...A.threadActions, ...o } : A.threadActions,
5841
+ toolComponents: e?.toolComponents ?? C.toolComponents,
5842
+ history: t ? { ...C.history, ...t } : C.history,
5843
+ welcome: n ? { ...C.welcome, ...n } : C.welcome,
5844
+ threadActions: o ? { ...C.threadActions, ...o } : C.threadActions,
5833
5845
  composer: r ? {
5834
- ...A.composer,
5846
+ ...C.composer,
5835
5847
  ...r,
5836
- attachments: r.attachments ? { ...A.composer?.attachments, ...r.attachments } : A.composer?.attachments
5837
- } : A.composer,
5838
- theme: a ?? A.theme,
5839
- disclaimer: i ?? A.disclaimer,
5840
- app: c ? { ...A.app, ...c } : A.app,
5841
- i18n: s ?? A.i18n,
5848
+ attachments: r.attachments ? { ...C.composer?.attachments, ...r.attachments } : C.composer?.attachments
5849
+ } : C.composer,
5850
+ theme: a ?? C.theme,
5851
+ disclaimer: l ?? C.disclaimer,
5852
+ app: c ? { ...C.app, ...c } : C.app,
5853
+ i18n: s ?? C.i18n,
5842
5854
  settings: p ? {
5843
- ...A.settings,
5855
+ ...C.settings,
5844
5856
  sections: {
5845
- ...A.settings?.sections,
5857
+ ...C.settings?.sections,
5846
5858
  ...p.sections
5847
5859
  }
5848
- } : A.settings
5860
+ } : C.settings
5849
5861
  }),
5850
- [e, t, n, o, r, a, i, c, s, p]
5862
+ [e, t, n, o, r, a, l, c, s, p]
5851
5863
  );
5852
- return /* @__PURE__ */ l(en.Provider, { value: f, children: h });
5864
+ return /* @__PURE__ */ i(nn.Provider, { value: f, children: h });
5853
5865
  }
5854
- const ga = {
5866
+ const fa = {
5855
5867
  theme: "system",
5856
5868
  setTheme: () => null,
5857
5869
  accent: void 0,
5858
5870
  setAccent: () => null,
5859
5871
  radius: void 0,
5860
5872
  setRadius: () => null
5861
- }, tn = de(ga);
5862
- function xl({
5873
+ }, on = pe(fa);
5874
+ function Si({
5863
5875
  children: e,
5864
5876
  defaultTheme: t = "system",
5865
5877
  storageKey: n = "chatbot-theme",
5866
5878
  ...o
5867
5879
  }) {
5868
- const [r, a] = $(
5880
+ const [r, a] = B(
5869
5881
  () => window.localStorage.getItem(n) ?? t
5870
- ), [i, c] = $(
5882
+ ), [l, c] = B(
5871
5883
  () => window.localStorage.getItem(n + "-accent") || void 0
5872
- ), [s, p] = $(
5884
+ ), [s, p] = B(
5873
5885
  () => window.localStorage.getItem(n + "-radius") || "1.25rem"
5874
- ), { theme: h } = W(), { i18n: f } = M(["theme"]);
5886
+ ), { theme: h } = V(), { i18n: f } = M(["theme"]);
5875
5887
  Q(() => {
5876
5888
  const m = window.document.documentElement;
5877
5889
  if (m.classList.remove("light", "dark"), r === "system") {
@@ -5889,15 +5901,15 @@ function xl({
5889
5901
  }
5890
5902
  const v = s || (typeof h?.radius == "number" ? `${h.radius}px` : h?.radius);
5891
5903
  v !== void 0 && m.style.setProperty("--radius", v);
5892
- const x = i || h?.accent;
5904
+ const x = l || h?.accent;
5893
5905
  x !== void 0 && m.style.setProperty("--gentiq-primary", x), window.document.documentElement.dir = f.dir();
5894
- }, [h, f, f.language, i, s]);
5906
+ }, [h, f, f.language, l, s]);
5895
5907
  const b = {
5896
5908
  theme: r,
5897
5909
  setTheme: (m) => {
5898
5910
  window.localStorage.setItem(n, m), a(m);
5899
5911
  },
5900
- accent: i,
5912
+ accent: l,
5901
5913
  setAccent: (m) => {
5902
5914
  m ? window.localStorage.setItem(n + "-accent", m) : window.localStorage.removeItem(n + "-accent"), c(m);
5903
5915
  },
@@ -5906,39 +5918,39 @@ function xl({
5906
5918
  m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"), p(m);
5907
5919
  }
5908
5920
  };
5909
- return /* @__PURE__ */ l(tn.Provider, { ...o, value: b, children: e });
5921
+ return /* @__PURE__ */ i(on.Provider, { ...o, value: b, children: e });
5910
5922
  }
5911
- const _l = () => Oe(tn), {
5912
- slice: ma,
5913
- forEach: fa
5923
+ const Ei = () => Le(on), {
5924
+ slice: ba,
5925
+ forEach: ka
5914
5926
  } = [];
5915
- function ba(e) {
5916
- return fa.call(ma.call(arguments, 1), (t) => {
5927
+ function ya(e) {
5928
+ return ka.call(ba.call(arguments, 1), (t) => {
5917
5929
  if (t)
5918
5930
  for (const n in t)
5919
5931
  e[n] === void 0 && (e[n] = t[n]);
5920
5932
  }), e;
5921
5933
  }
5922
- function ka(e) {
5934
+ function va(e) {
5923
5935
  return typeof e != "string" ? !1 : [/<\s*script.*?>/i, /<\s*\/\s*script\s*>/i, /<\s*img.*?on\w+\s*=/i, /<\s*\w+\s*on\w+\s*=.*?>/i, /javascript\s*:/i, /vbscript\s*:/i, /expression\s*\(/i, /eval\s*\(/i, /alert\s*\(/i, /document\.cookie/i, /document\.write\s*\(/i, /window\.location/i, /innerHTML/i].some((n) => n.test(e));
5924
5936
  }
5925
- const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5937
+ const yt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, wa = function(e, t) {
5926
5938
  const o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
5927
5939
  path: "/"
5928
5940
  }, r = encodeURIComponent(t);
5929
5941
  let a = `${e}=${r}`;
5930
5942
  if (o.maxAge > 0) {
5931
- const i = o.maxAge - 0;
5932
- if (Number.isNaN(i)) throw new Error("maxAge should be a Number");
5933
- a += `; Max-Age=${Math.floor(i)}`;
5943
+ const l = o.maxAge - 0;
5944
+ if (Number.isNaN(l)) throw new Error("maxAge should be a Number");
5945
+ a += `; Max-Age=${Math.floor(l)}`;
5934
5946
  }
5935
5947
  if (o.domain) {
5936
- if (!bt.test(o.domain))
5948
+ if (!yt.test(o.domain))
5937
5949
  throw new TypeError("option domain is invalid");
5938
5950
  a += `; Domain=${o.domain}`;
5939
5951
  }
5940
5952
  if (o.path) {
5941
- if (!bt.test(o.path))
5953
+ if (!yt.test(o.path))
5942
5954
  throw new TypeError("option path is invalid");
5943
5955
  a += `; Path=${o.path}`;
5944
5956
  }
@@ -5965,13 +5977,13 @@ const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5965
5977
  throw new TypeError("option sameSite is invalid");
5966
5978
  }
5967
5979
  return o.partitioned && (a += "; Partitioned"), a;
5968
- }, kt = {
5980
+ }, vt = {
5969
5981
  create(e, t, n, o) {
5970
5982
  let r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {
5971
5983
  path: "/",
5972
5984
  sameSite: "strict"
5973
5985
  };
5974
- n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = ya(e, t, r);
5986
+ n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = wa(e, t, r);
5975
5987
  },
5976
5988
  read(e) {
5977
5989
  const t = `${e}=`, n = document.cookie.split(";");
@@ -5986,7 +5998,7 @@ const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5986
5998
  this.create(e, "", -1, t);
5987
5999
  }
5988
6000
  };
5989
- var va = {
6001
+ var xa = {
5990
6002
  name: "cookie",
5991
6003
  // Deconstruct the options object and extract the lookupCookie property
5992
6004
  lookup(e) {
@@ -5994,7 +6006,7 @@ var va = {
5994
6006
  lookupCookie: t
5995
6007
  } = e;
5996
6008
  if (t && typeof document < "u")
5997
- return kt.read(t) || void 0;
6009
+ return vt.read(t) || void 0;
5998
6010
  },
5999
6011
  // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties
6000
6012
  cacheUserLanguage(e, t) {
@@ -6004,9 +6016,9 @@ var va = {
6004
6016
  cookieDomain: r,
6005
6017
  cookieOptions: a
6006
6018
  } = t;
6007
- n && typeof document < "u" && kt.create(n, e, o, r, a);
6019
+ n && typeof document < "u" && vt.create(n, e, o, r, a);
6008
6020
  }
6009
- }, wa = {
6021
+ }, _a = {
6010
6022
  name: "querystring",
6011
6023
  // Deconstruct the options object and extract the lookupQuerystring property
6012
6024
  lookup(e) {
@@ -6019,14 +6031,14 @@ var va = {
6019
6031
  } = window.location;
6020
6032
  !window.location.search && window.location.hash?.indexOf("?") > -1 && (o = window.location.hash.substring(window.location.hash.indexOf("?")));
6021
6033
  const a = o.substring(1).split("&");
6022
- for (let i = 0; i < a.length; i++) {
6023
- const c = a[i].indexOf("=");
6024
- c > 0 && a[i].substring(0, c) === t && (n = a[i].substring(c + 1));
6034
+ for (let l = 0; l < a.length; l++) {
6035
+ const c = a[l].indexOf("=");
6036
+ c > 0 && a[l].substring(0, c) === t && (n = a[l].substring(c + 1));
6025
6037
  }
6026
6038
  }
6027
6039
  return n;
6028
6040
  }
6029
- }, xa = {
6041
+ }, Sa = {
6030
6042
  name: "hash",
6031
6043
  // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property
6032
6044
  lookup(e) {
@@ -6041,16 +6053,16 @@ var va = {
6041
6053
  if (r && r.length > 2) {
6042
6054
  const a = r.substring(1);
6043
6055
  if (t) {
6044
- const i = a.split("&");
6045
- for (let c = 0; c < i.length; c++) {
6046
- const s = i[c].indexOf("=");
6047
- s > 0 && i[c].substring(0, s) === t && (o = i[c].substring(s + 1));
6056
+ const l = a.split("&");
6057
+ for (let c = 0; c < l.length; c++) {
6058
+ const s = l[c].indexOf("=");
6059
+ s > 0 && l[c].substring(0, s) === t && (o = l[c].substring(s + 1));
6048
6060
  }
6049
6061
  }
6050
6062
  if (o) return o;
6051
6063
  if (!o && n > -1) {
6052
- const i = r.match(/\/([a-zA-Z-]*)/g);
6053
- return Array.isArray(i) ? i[typeof n == "number" ? n : 0]?.replace("/", "") : void 0;
6064
+ const l = r.match(/\/([a-zA-Z-]*)/g);
6065
+ return Array.isArray(l) ? l[typeof n == "number" ? n : 0]?.replace("/", "") : void 0;
6054
6066
  }
6055
6067
  }
6056
6068
  }
@@ -6058,7 +6070,7 @@ var va = {
6058
6070
  }
6059
6071
  };
6060
6072
  let Y = null;
6061
- const yt = () => {
6073
+ const wt = () => {
6062
6074
  if (Y !== null) return Y;
6063
6075
  try {
6064
6076
  if (Y = typeof window < "u" && window.localStorage !== null, !Y)
@@ -6070,14 +6082,14 @@ const yt = () => {
6070
6082
  }
6071
6083
  return Y;
6072
6084
  };
6073
- var _a = {
6085
+ var Ea = {
6074
6086
  name: "localStorage",
6075
6087
  // Deconstruct the options object and extract the lookupLocalStorage property
6076
6088
  lookup(e) {
6077
6089
  let {
6078
6090
  lookupLocalStorage: t
6079
6091
  } = e;
6080
- if (t && yt())
6092
+ if (t && wt())
6081
6093
  return window.localStorage.getItem(t) || void 0;
6082
6094
  },
6083
6095
  // Deconstruct the options object and extract the lookupLocalStorage property
@@ -6085,11 +6097,11 @@ var _a = {
6085
6097
  let {
6086
6098
  lookupLocalStorage: n
6087
6099
  } = t;
6088
- n && yt() && window.localStorage.setItem(n, e);
6100
+ n && wt() && window.localStorage.setItem(n, e);
6089
6101
  }
6090
6102
  };
6091
6103
  let X = null;
6092
- const vt = () => {
6104
+ const xt = () => {
6093
6105
  if (X !== null) return X;
6094
6106
  try {
6095
6107
  if (X = typeof window < "u" && window.sessionStorage !== null, !X)
@@ -6101,22 +6113,22 @@ const vt = () => {
6101
6113
  }
6102
6114
  return X;
6103
6115
  };
6104
- var Sa = {
6116
+ var Na = {
6105
6117
  name: "sessionStorage",
6106
6118
  lookup(e) {
6107
6119
  let {
6108
6120
  lookupSessionStorage: t
6109
6121
  } = e;
6110
- if (t && vt())
6122
+ if (t && xt())
6111
6123
  return window.sessionStorage.getItem(t) || void 0;
6112
6124
  },
6113
6125
  cacheUserLanguage(e, t) {
6114
6126
  let {
6115
6127
  lookupSessionStorage: n
6116
6128
  } = t;
6117
- n && vt() && window.sessionStorage.setItem(n, e);
6129
+ n && xt() && window.sessionStorage.setItem(n, e);
6118
6130
  }
6119
- }, Ea = {
6131
+ }, Ta = {
6120
6132
  name: "navigator",
6121
6133
  lookup(e) {
6122
6134
  const t = [];
@@ -6133,7 +6145,7 @@ var Sa = {
6133
6145
  }
6134
6146
  return t.length > 0 ? t : void 0;
6135
6147
  }
6136
- }, Na = {
6148
+ }, Ca = {
6137
6149
  name: "htmlTag",
6138
6150
  // Deconstruct the options object and extract the htmlTag property
6139
6151
  lookup(e) {
@@ -6143,7 +6155,7 @@ var Sa = {
6143
6155
  const o = t || (typeof document < "u" ? document.documentElement : null);
6144
6156
  return o && typeof o.getAttribute == "function" && (n = o.getAttribute("lang")), n;
6145
6157
  }
6146
- }, Ta = {
6158
+ }, Aa = {
6147
6159
  name: "path",
6148
6160
  // Deconstruct the options object and extract the lookupFromPathIndex property
6149
6161
  lookup(e) {
@@ -6154,7 +6166,7 @@ var Sa = {
6154
6166
  const n = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
6155
6167
  return Array.isArray(n) ? n[typeof t == "number" ? t : 0]?.replace("/", "") : void 0;
6156
6168
  }
6157
- }, Ca = {
6169
+ }, Ia = {
6158
6170
  name: "subdomain",
6159
6171
  lookup(e) {
6160
6172
  let {
@@ -6165,15 +6177,15 @@ var Sa = {
6165
6177
  return o[n];
6166
6178
  }
6167
6179
  };
6168
- let nn = !1;
6180
+ let rn = !1;
6169
6181
  try {
6170
- document.cookie, nn = !0;
6182
+ document.cookie, rn = !0;
6171
6183
  } catch {
6172
6184
  }
6173
- const on = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
6174
- nn || on.splice(1, 1);
6175
- const Aa = () => ({
6176
- order: on,
6185
+ const an = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
6186
+ rn || an.splice(1, 1);
6187
+ const Ra = () => ({
6188
+ order: an,
6177
6189
  lookupQuerystring: "lng",
6178
6190
  lookupCookie: "i18next",
6179
6191
  lookupLocalStorage: "i18nextLng",
@@ -6185,7 +6197,7 @@ const Aa = () => ({
6185
6197
  // cookieDomain: 'myDomain'
6186
6198
  convertDetectedLanguage: (e) => e
6187
6199
  });
6188
- class rn {
6200
+ class ln {
6189
6201
  constructor(t) {
6190
6202
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6191
6203
  this.type = "languageDetector", this.detectors = {}, this.init(t, n);
@@ -6194,7 +6206,7 @@ class rn {
6194
6206
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
6195
6207
  languageUtils: {}
6196
6208
  }, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
6197
- this.services = t, this.options = ba(n, this.options || {}, Aa()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(va), this.addDetector(wa), this.addDetector(_a), this.addDetector(Sa), this.addDetector(Ea), this.addDetector(Na), this.addDetector(Ta), this.addDetector(Ca), this.addDetector(xa);
6209
+ this.services = t, this.options = ya(n, this.options || {}, Ra()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(xa), this.addDetector(_a), this.addDetector(Ea), this.addDetector(Na), this.addDetector(Ta), this.addDetector(Ca), this.addDetector(Aa), this.addDetector(Ia), this.addDetector(Sa);
6198
6210
  }
6199
6211
  addDetector(t) {
6200
6212
  return this.detectors[t.name] = t, this;
@@ -6206,7 +6218,7 @@ class rn {
6206
6218
  let r = this.detectors[o].lookup(this.options);
6207
6219
  r && typeof r == "string" && (r = [r]), r && (n = n.concat(r));
6208
6220
  }
6209
- }), n = n.filter((o) => o != null && !ka(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6221
+ }), n = n.filter((o) => o != null && !va(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6210
6222
  }
6211
6223
  cacheUserLanguage(t) {
6212
6224
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.caches;
@@ -6215,31 +6227,31 @@ class rn {
6215
6227
  }));
6216
6228
  }
6217
6229
  }
6218
- rn.type = "languageDetector";
6219
- const Ia = { 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" }, Ra = { 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." }, Oa = { 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" }, Fa = { 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...", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, La = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Da = { 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" }, 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.", 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." }, 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", 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" } }, Pa = { 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" } }, Ma = { 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.", 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." }, za = {
6220
- sidebar: Ia,
6221
- chat: Ra,
6222
- tools_ui: Oa,
6223
- login: Fa,
6224
- theme: La,
6225
- admin: Da,
6226
- settings: Pa,
6227
- errors: Ma
6228
- }, $a = { 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: "اشتراک‌گذاری" }, Ua = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, Ba = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ha = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, ja = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, qa = { 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: "تنظیمات گفتگو" }, 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: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", 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: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, 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: "شارژ موجودی", 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: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Ga = { 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: "آخرین بروزرسانی اعتبار در تاریخ" } }, Va = { 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: "خطا در اشتراک‌گذاری گفتگو.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Wa = {
6229
- sidebar: $a,
6230
- chat: Ua,
6231
- tools_ui: Ba,
6232
- login: Ha,
6233
- theme: ja,
6234
- admin: qa,
6235
- settings: Ga,
6236
- errors: Va
6237
- }, Ya = {
6238
- en: za,
6239
- fa: Wa
6240
- }, Xa = Rn.createInstance();
6241
- Xa.use(rn).use(sn).init({
6242
- resources: Ya,
6230
+ ln.type = "languageDetector";
6231
+ const Oa = { 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." }, La = { 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" }, Da = { 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...", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Pa = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Ma = { 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.", 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" } }, za = { 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.", 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." }, Ua = {
6232
+ sidebar: Oa,
6233
+ chat: Fa,
6234
+ tools_ui: La,
6235
+ login: Da,
6236
+ theme: Pa,
6237
+ admin: Ma,
6238
+ settings: za,
6239
+ errors: $a
6240
+ }, Ba = { 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: "اشتراک‌گذاری" }, Ha = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, qa = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, ja = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Ga = { 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: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", 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: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Va = { 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: "آخرین بروزرسانی اعتبار در تاریخ" } }, Ya = { 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: "خطا در اشتراک‌گذاری گفتگو.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Xa = {
6241
+ sidebar: Ba,
6242
+ chat: Ha,
6243
+ tools_ui: qa,
6244
+ login: ja,
6245
+ theme: Ga,
6246
+ admin: Wa,
6247
+ settings: Va,
6248
+ errors: Ya
6249
+ }, Ka = {
6250
+ en: Ua,
6251
+ fa: Xa
6252
+ }, Za = On.createInstance();
6253
+ Za.use(ln).use(cn).init({
6254
+ resources: Ka,
6243
6255
  fallbackLng: "en",
6244
6256
  returnNull: !1,
6245
6257
  returnEmptyString: !1,
@@ -6253,8 +6265,8 @@ Xa.use(rn).use(sn).init({
6253
6265
  caches: ["localStorage"]
6254
6266
  }
6255
6267
  });
6256
- function Sl({ className: e, type: t, ...n }) {
6257
- return /* @__PURE__ */ l(
6268
+ function Ni({ className: e, type: t, ...n }) {
6269
+ return /* @__PURE__ */ i(
6258
6270
  "input",
6259
6271
  {
6260
6272
  type: t,
@@ -6269,27 +6281,27 @@ function Sl({ className: e, type: t, ...n }) {
6269
6281
  }
6270
6282
  );
6271
6283
  }
6272
- const El = "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", Ka = Le(
6284
+ const Ti = "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", Ja = Pe(
6273
6285
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
6274
- ), Za = an.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ l(
6286
+ ), Qa = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
6275
6287
  "label",
6276
6288
  {
6277
6289
  ref: n,
6278
- className: y(Ka(), e),
6290
+ className: y(Ja(), e),
6279
6291
  ...t
6280
6292
  }
6281
6293
  ));
6282
- Za.displayName = "Label";
6283
- function Nl({ ...e }) {
6284
- return /* @__PURE__ */ l(L.Root, { "data-slot": "select", ...e });
6294
+ Qa.displayName = "Label";
6295
+ function Ci({ ...e }) {
6296
+ return /* @__PURE__ */ i(L.Root, { "data-slot": "select", ...e });
6285
6297
  }
6286
- function Tl({ ...e }) {
6287
- return /* @__PURE__ */ l(L.Group, { "data-slot": "select-group", ...e });
6298
+ function Ai({ ...e }) {
6299
+ return /* @__PURE__ */ i(L.Group, { "data-slot": "select-group", ...e });
6288
6300
  }
6289
- function Cl({ ...e }) {
6290
- return /* @__PURE__ */ l(L.Value, { "data-slot": "select-value", ...e });
6301
+ function Ii({ ...e }) {
6302
+ return /* @__PURE__ */ i(L.Value, { "data-slot": "select-value", ...e });
6291
6303
  }
6292
- function Al({
6304
+ function Ri({
6293
6305
  className: e,
6294
6306
  size: t = "default",
6295
6307
  children: n,
@@ -6307,18 +6319,18 @@ function Al({
6307
6319
  ...o,
6308
6320
  children: [
6309
6321
  n,
6310
- /* @__PURE__ */ l(L.Icon, { asChild: !0, children: /* @__PURE__ */ l(ae, { className: "size-4 opacity-50" }) })
6322
+ /* @__PURE__ */ i(L.Icon, { asChild: !0, children: /* @__PURE__ */ i(ie, { className: "size-4 opacity-50" }) })
6311
6323
  ]
6312
6324
  }
6313
6325
  );
6314
6326
  }
6315
- function Il({
6327
+ function Oi({
6316
6328
  className: e,
6317
6329
  children: t,
6318
6330
  position: n = "popper",
6319
6331
  ...o
6320
6332
  }) {
6321
- return /* @__PURE__ */ l(L.Portal, { children: /* @__PURE__ */ w(
6333
+ return /* @__PURE__ */ i(L.Portal, { children: /* @__PURE__ */ w(
6322
6334
  L.Content,
6323
6335
  {
6324
6336
  "data-slot": "select-content",
@@ -6330,8 +6342,8 @@ function Il({
6330
6342
  position: n,
6331
6343
  ...o,
6332
6344
  children: [
6333
- /* @__PURE__ */ l(Ja, {}),
6334
- /* @__PURE__ */ l(
6345
+ /* @__PURE__ */ i(ei, {}),
6346
+ /* @__PURE__ */ i(
6335
6347
  L.Viewport,
6336
6348
  {
6337
6349
  className: y(
@@ -6341,13 +6353,13 @@ function Il({
6341
6353
  children: t
6342
6354
  }
6343
6355
  ),
6344
- /* @__PURE__ */ l(Qa, {})
6356
+ /* @__PURE__ */ i(ti, {})
6345
6357
  ]
6346
6358
  }
6347
6359
  ) });
6348
6360
  }
6349
- function Rl({ className: e, ...t }) {
6350
- return /* @__PURE__ */ l(
6361
+ function Fi({ className: e, ...t }) {
6362
+ return /* @__PURE__ */ i(
6351
6363
  L.Label,
6352
6364
  {
6353
6365
  "data-slot": "select-label",
@@ -6356,7 +6368,7 @@ function Rl({ className: e, ...t }) {
6356
6368
  }
6357
6369
  );
6358
6370
  }
6359
- function Ol({ className: e, children: t, ...n }) {
6371
+ function Li({ className: e, children: t, ...n }) {
6360
6372
  return /* @__PURE__ */ w(
6361
6373
  L.Item,
6362
6374
  {
@@ -6367,14 +6379,14 @@ function Ol({ className: e, children: t, ...n }) {
6367
6379
  ),
6368
6380
  ...n,
6369
6381
  children: [
6370
- /* @__PURE__ */ l("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ l(L.ItemIndicator, { children: /* @__PURE__ */ l(Fe, { className: "size-4" }) }) }),
6371
- /* @__PURE__ */ l(L.ItemText, { children: t })
6382
+ /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(L.ItemIndicator, { children: /* @__PURE__ */ i(De, { className: "size-4" }) }) }),
6383
+ /* @__PURE__ */ i(L.ItemText, { children: t })
6372
6384
  ]
6373
6385
  }
6374
6386
  );
6375
6387
  }
6376
- function Fl({ className: e, ...t }) {
6377
- return /* @__PURE__ */ l(
6388
+ function Di({ className: e, ...t }) {
6389
+ return /* @__PURE__ */ i(
6378
6390
  L.Separator,
6379
6391
  {
6380
6392
  "data-slot": "select-separator",
@@ -6383,32 +6395,32 @@ function Fl({ className: e, ...t }) {
6383
6395
  }
6384
6396
  );
6385
6397
  }
6386
- function Ja({ className: e, ...t }) {
6387
- return /* @__PURE__ */ l(
6398
+ function ei({ className: e, ...t }) {
6399
+ return /* @__PURE__ */ i(
6388
6400
  L.ScrollUpButton,
6389
6401
  {
6390
6402
  "data-slot": "select-scroll-up-button",
6391
6403
  className: y("flex cursor-default items-center justify-center py-1", e),
6392
6404
  ...t,
6393
- children: /* @__PURE__ */ l(Tn, { className: "size-4" })
6405
+ children: /* @__PURE__ */ i(Cn, { className: "size-4" })
6394
6406
  }
6395
6407
  );
6396
6408
  }
6397
- function Qa({
6409
+ function ti({
6398
6410
  className: e,
6399
6411
  ...t
6400
6412
  }) {
6401
- return /* @__PURE__ */ l(
6413
+ return /* @__PURE__ */ i(
6402
6414
  L.ScrollDownButton,
6403
6415
  {
6404
6416
  "data-slot": "select-scroll-down-button",
6405
6417
  className: y("flex cursor-default items-center justify-center py-1", e),
6406
6418
  ...t,
6407
- children: /* @__PURE__ */ l(ae, { className: "size-4" })
6419
+ children: /* @__PURE__ */ i(ie, { className: "size-4" })
6408
6420
  }
6409
6421
  );
6410
6422
  }
6411
- function Ll(e, t) {
6423
+ function Pi(e, t) {
6412
6424
  if (!e) return !0;
6413
6425
  const { field: n, operator: o = "equals", value: r } = e, a = t[n];
6414
6426
  switch (o) {
@@ -6424,19 +6436,19 @@ function Ll(e, t) {
6424
6436
  return !0;
6425
6437
  }
6426
6438
  }
6427
- function Dl({ ...e }) {
6428
- return /* @__PURE__ */ l(oe.Root, { "data-slot": "dropdown-menu", ...e });
6439
+ function Mi({ ...e }) {
6440
+ return /* @__PURE__ */ i(re.Root, { "data-slot": "dropdown-menu", ...e });
6429
6441
  }
6430
- function Pl({ ...e }) {
6431
- return /* @__PURE__ */ l(oe.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
6442
+ function zi({ ...e }) {
6443
+ return /* @__PURE__ */ i(re.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
6432
6444
  }
6433
- function Ml({
6445
+ function $i({
6434
6446
  className: e,
6435
6447
  sideOffset: t = 4,
6436
6448
  ...n
6437
6449
  }) {
6438
- return /* @__PURE__ */ l(oe.Portal, { children: /* @__PURE__ */ l(
6439
- oe.Content,
6450
+ return /* @__PURE__ */ i(re.Portal, { children: /* @__PURE__ */ i(
6451
+ re.Content,
6440
6452
  {
6441
6453
  "data-slot": "dropdown-menu-content",
6442
6454
  sideOffset: t,
@@ -6448,14 +6460,14 @@ function Ml({
6448
6460
  }
6449
6461
  ) });
6450
6462
  }
6451
- function zl({
6463
+ function Ui({
6452
6464
  className: e,
6453
6465
  inset: t,
6454
6466
  variant: n = "default",
6455
6467
  ...o
6456
6468
  }) {
6457
- return /* @__PURE__ */ l(
6458
- oe.Item,
6469
+ return /* @__PURE__ */ i(
6470
+ re.Item,
6459
6471
  {
6460
6472
  "data-slot": "dropdown-menu-item",
6461
6473
  "data-inset": t,
@@ -6468,9 +6480,9 @@ function zl({
6468
6480
  }
6469
6481
  );
6470
6482
  }
6471
- function $l({ className: e, ...t }) {
6472
- return /* @__PURE__ */ l(
6473
- Ve.Root,
6483
+ function Bi({ className: e, ...t }) {
6484
+ return /* @__PURE__ */ i(
6485
+ Ye.Root,
6474
6486
  {
6475
6487
  "data-slot": "checkbox",
6476
6488
  className: y(
@@ -6478,72 +6490,73 @@ function $l({ className: e, ...t }) {
6478
6490
  e
6479
6491
  ),
6480
6492
  ...t,
6481
- children: /* @__PURE__ */ l(
6482
- Ve.Indicator,
6493
+ children: /* @__PURE__ */ i(
6494
+ Ye.Indicator,
6483
6495
  {
6484
6496
  "data-slot": "checkbox-indicator",
6485
6497
  className: "grid place-content-center text-current transition-none",
6486
- children: /* @__PURE__ */ l(Fe, { className: "size-3.5" })
6498
+ children: /* @__PURE__ */ i(De, { className: "size-3.5" })
6487
6499
  }
6488
6500
  )
6489
6501
  }
6490
6502
  );
6491
6503
  }
6492
6504
  export {
6493
- kl as $,
6494
- Ir as A,
6505
+ so as $,
6506
+ Ui as A,
6495
6507
  ee as B,
6496
- wl as C,
6497
- Er as D,
6498
- Rr as E,
6499
- vl as F,
6500
- Ln as G,
6501
- yl as H,
6502
- Sl as I,
6503
- $l as J,
6504
- fe as K,
6505
- Za as L,
6506
- ha as M,
6507
- Kn as N,
6508
- ro as O,
6509
- $n as P,
6510
- Tl as Q,
6511
- xr as R,
6512
- Nl as S,
6513
- xl as T,
6514
- Rl as U,
6515
- Qa as V,
6516
- Ja as W,
6517
- Fl as X,
6518
- kr as Y,
6519
- pa as Z,
6520
- lo as _,
6521
- W as a,
6522
- Zn as a0,
6523
- rn as a1,
6524
- zn as b,
6525
- fl as c,
6526
- Ya as d,
6508
+ _i as C,
6509
+ Tr as D,
6510
+ Or as E,
6511
+ Fr as F,
6512
+ Dn as G,
6513
+ xi as H,
6514
+ Ni as I,
6515
+ wi as J,
6516
+ Bi as K,
6517
+ Qa as L,
6518
+ fe as M,
6519
+ ma as N,
6520
+ Zn as O,
6521
+ Un as P,
6522
+ io as Q,
6523
+ Sr as R,
6524
+ Ci as S,
6525
+ Si as T,
6526
+ Ai as U,
6527
+ Fi as V,
6528
+ ti as W,
6529
+ ei as X,
6530
+ Di as Y,
6531
+ vr as Z,
6532
+ ga as _,
6533
+ V as a,
6534
+ vi as a0,
6535
+ Jn as a1,
6536
+ ln as a2,
6537
+ $n as b,
6538
+ ki as c,
6539
+ Ka as d,
6527
6540
  y as e,
6528
- Tt as f,
6529
- Xa as g,
6530
- Ct as h,
6531
- At as i,
6532
- bl as j,
6533
- It as k,
6534
- _l as l,
6535
- Ll as m,
6536
- Nr as n,
6537
- Ar as o,
6538
- Al as p,
6539
- Cl as q,
6540
- Il as r,
6541
- Ol as s,
6542
- El as t,
6541
+ ao as f,
6542
+ Za as g,
6543
+ At as h,
6544
+ It as i,
6545
+ yi as j,
6546
+ Rt as k,
6547
+ Ot as l,
6548
+ Ei as m,
6549
+ Pi as n,
6550
+ Cr as o,
6551
+ Rr as p,
6552
+ Ri as q,
6553
+ Ii as r,
6554
+ Oi as s,
6555
+ Li as t,
6543
6556
  S as u,
6544
- he as v,
6545
- Dl as w,
6546
- Pl as x,
6547
- Ml as y,
6548
- zl as z
6557
+ Ti as v,
6558
+ ge as w,
6559
+ Mi as x,
6560
+ zi as y,
6561
+ $i as z
6549
6562
  };