@alxxsck/ai-assistant 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { jsx as U, jsxs as Ne, Fragment as Qi } from "react/jsx-runtime";
2
2
  import * as g from "react";
3
- import pt, { createContext as Ut, useState as Y, useEffect as q, useContext as Tn, useRef as J, useCallback as be, useLayoutEffect as $i, Suspense as ea, lazy as ta, Component as na, createElement as Qn, useMemo as ra } from "react";
3
+ import gt, { createContext as Ht, useState as Y, useEffect as _, useContext as Tn, useRef as J, useCallback as be, useLayoutEffect as $i, Suspense as ea, lazy as ta, Component as na, createElement as Qn, useMemo as ra } from "react";
4
4
  import { createRoot as ia } from "react-dom/client";
5
5
  function $n(n) {
6
6
  return typeof n == "object" && n != null && "pathname" in n && "search" in n && "hash" in n && "state" in n && "key" in n;
@@ -40,7 +40,7 @@ function aa(n = {}) {
40
40
  ), A;
41
41
  }
42
42
  function u(h) {
43
- return typeof h == "string" ? h : Ot(h);
43
+ return typeof h == "string" ? h : zt(h);
44
44
  }
45
45
  return {
46
46
  get index() {
@@ -57,7 +57,7 @@ function aa(n = {}) {
57
57
  return new URL(u(h), "http://localhost");
58
58
  },
59
59
  encodeLocation(h) {
60
- let w = typeof h == "string" ? Xe(h) : h;
60
+ let w = typeof h == "string" ? Ze(h) : h;
61
61
  return {
62
62
  pathname: w.pathname || "",
63
63
  search: w.search || "",
@@ -107,7 +107,7 @@ function oa(n, e, t = null, r, i) {
107
107
  pathname: typeof n == "string" ? n : n.pathname,
108
108
  search: "",
109
109
  hash: "",
110
- ...typeof e == "string" ? Xe(e) : e,
110
+ ...typeof e == "string" ? Ze(e) : e,
111
111
  state: t,
112
112
  // TODO: This could be cleaned up. push/replace should probably just take
113
113
  // full Locations now and avoid the need to run through this flow at all
@@ -117,14 +117,14 @@ function oa(n, e, t = null, r, i) {
117
117
  unstable_mask: i
118
118
  };
119
119
  }
120
- function Ot({
120
+ function zt({
121
121
  pathname: n = "/",
122
122
  search: e = "",
123
123
  hash: t = ""
124
124
  }) {
125
125
  return e && e !== "?" && (n += e.charAt(0) === "?" ? e : "?" + e), t && t !== "#" && (n += t.charAt(0) === "#" ? t : "#" + t), n;
126
126
  }
127
- function Xe(n) {
127
+ function Ze(n) {
128
128
  let e = {};
129
129
  if (n) {
130
130
  let t = n.indexOf("#");
@@ -138,7 +138,7 @@ function Zr(n, e, t = "/") {
138
138
  return ca(n, e, t, !1);
139
139
  }
140
140
  function ca(n, e, t, r) {
141
- let i = typeof e == "string" ? Xe(e) : e, a = Re(i.pathname || "/", t);
141
+ let i = typeof e == "string" ? Ze(e) : e, a = Re(i.pathname || "/", t);
142
142
  if (a == null)
143
143
  return null;
144
144
  let s = Ur(n);
@@ -243,11 +243,11 @@ function ba(n, e) {
243
243
  function wa(n, e, t = !1) {
244
244
  let { routesMeta: r } = n, i = {}, a = "/", s = [];
245
245
  for (let o = 0; o < r.length; ++o) {
246
- let c = r[o], l = o === r.length - 1, d = a === "/" ? e : e.slice(a.length) || "/", u = zt(
246
+ let c = r[o], l = o === r.length - 1, d = a === "/" ? e : e.slice(a.length) || "/", u = Gt(
247
247
  { path: c.relativePath, caseSensitive: c.caseSensitive, end: l },
248
248
  d
249
249
  ), f = c.route;
250
- if (!u && l && t && !r[r.length - 1].route.index && (u = zt(
250
+ if (!u && l && t && !r[r.length - 1].route.index && (u = Gt(
251
251
  {
252
252
  path: c.relativePath,
253
253
  caseSensitive: c.caseSensitive,
@@ -268,7 +268,7 @@ function wa(n, e, t = !1) {
268
268
  }
269
269
  return s;
270
270
  }
271
- function zt(n, e) {
271
+ function Gt(n, e) {
272
272
  typeof n == "string" && (n = { path: n, caseSensitive: !1, end: !0 });
273
273
  let [t, r] = ya(
274
274
  n.path,
@@ -334,7 +334,7 @@ function Ia(n, e = "/") {
334
334
  pathname: t,
335
335
  search: r = "",
336
336
  hash: i = ""
337
- } = typeof n == "string" ? Xe(n) : n, a;
337
+ } = typeof n == "string" ? Ze(n) : n, a;
338
338
  return t ? (t = t.replace(/\/\/+/g, "/"), t.startsWith("/") ? a = tr(t.substring(1), "/") : a = tr(t, e)) : a = e, {
339
339
  pathname: a,
340
340
  search: xa(r),
@@ -347,7 +347,7 @@ function tr(n, e) {
347
347
  i === ".." ? t.length > 1 && t.pop() : i !== "." && t.push(i);
348
348
  }), t.length > 1 ? t.join("/") : "/";
349
349
  }
350
- function en(n, e, t, r) {
350
+ function tn(n, e, t, r) {
351
351
  return `Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(
352
352
  r
353
353
  )}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`;
@@ -363,17 +363,17 @@ function En(n) {
363
363
  (t, r) => r === e.length - 1 ? t.pathname : t.pathnameBase
364
364
  );
365
365
  }
366
- function Ht(n, e, t, r = !1) {
366
+ function jt(n, e, t, r = !1) {
367
367
  let i;
368
- typeof n == "string" ? i = Xe(n) : (i = { ...n }, j(
368
+ typeof n == "string" ? i = Ze(n) : (i = { ...n }, j(
369
369
  !i.pathname || !i.pathname.includes("?"),
370
- en("?", "pathname", "search", i)
370
+ tn("?", "pathname", "search", i)
371
371
  ), j(
372
372
  !i.pathname || !i.pathname.includes("#"),
373
- en("#", "pathname", "hash", i)
373
+ tn("#", "pathname", "hash", i)
374
374
  ), j(
375
375
  !i.search || !i.search.includes("#"),
376
- en("#", "search", "hash", i)
376
+ tn("#", "search", "hash", i)
377
377
  ));
378
378
  let a = n === "" || i.pathname === "", s = a ? "/" : i.pathname, o;
379
379
  if (s == null)
@@ -403,7 +403,7 @@ function Ra(n) {
403
403
  return n.map((e) => e.route.path).filter(Boolean).join("/").replace(/\/\/*/g, "/") || "/";
404
404
  }
405
405
  var jr = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u";
406
- function qr(n, e) {
406
+ function _r(n, e) {
407
407
  let t = n;
408
408
  if (typeof t != "string" || !Ca.test(t))
409
409
  return {
@@ -429,24 +429,24 @@ function qr(n, e) {
429
429
  };
430
430
  }
431
431
  Object.getOwnPropertyNames(Object.prototype).sort().join("\0");
432
- var _r = [
432
+ var qr = [
433
433
  "POST",
434
434
  "PUT",
435
435
  "PATCH",
436
436
  "DELETE"
437
437
  ];
438
438
  new Set(
439
- _r
439
+ qr
440
440
  );
441
441
  var Ma = [
442
442
  "GET",
443
- ..._r
443
+ ...qr
444
444
  ];
445
445
  new Set(Ma);
446
- var Ke = g.createContext(null);
447
- Ke.displayName = "DataRouter";
448
- var jt = g.createContext(null);
449
- jt.displayName = "DataRouterState";
446
+ var Ye = g.createContext(null);
447
+ Ye.displayName = "DataRouter";
448
+ var _t = g.createContext(null);
449
+ _t.displayName = "DataRouterState";
450
450
  var La = g.createContext(!1), Kr = g.createContext({
451
451
  isTransitioning: !1
452
452
  });
@@ -461,10 +461,10 @@ var se = g.createContext(
461
461
  null
462
462
  );
463
463
  se.displayName = "Navigation";
464
- var ot = g.createContext(
464
+ var ct = g.createContext(
465
465
  null
466
466
  );
467
- ot.displayName = "Location";
467
+ ct.displayName = "Location";
468
468
  var Se = g.createContext({
469
469
  outlet: null,
470
470
  matches: [],
@@ -500,24 +500,24 @@ function Ga(n) {
500
500
  }
501
501
  function Fa(n, { relative: e } = {}) {
502
502
  j(
503
- Ye(),
503
+ Je(),
504
504
  // TODO: This error is probably because they somehow have 2 versions of the
505
505
  // router loaded. We can help them understand how to avoid that.
506
506
  "useHref() may be used only in the context of a <Router> component."
507
507
  );
508
- let { basename: t, navigator: r } = g.useContext(se), { hash: i, pathname: a, search: s } = ct(n, { relative: e }), o = a;
508
+ let { basename: t, navigator: r } = g.useContext(se), { hash: i, pathname: a, search: s } = lt(n, { relative: e }), o = a;
509
509
  return t !== "/" && (o = a === "/" ? t : Ae([t, a])), r.createHref({ pathname: o, search: s, hash: i });
510
510
  }
511
- function Ye() {
512
- return g.useContext(ot) != null;
511
+ function Je() {
512
+ return g.useContext(ct) != null;
513
513
  }
514
514
  function ye() {
515
515
  return j(
516
- Ye(),
516
+ Je(),
517
517
  // TODO: This error is probably because they somehow have 2 versions of the
518
518
  // router loaded. We can help them understand how to avoid that.
519
519
  "useLocation() may be used only in the context of a <Router> component."
520
- ), g.useContext(ot).location;
520
+ ), g.useContext(ct).location;
521
521
  }
522
522
  var Jr = "You should call navigate() in a React.useEffect(), not when your component is first rendered.";
523
523
  function Qr(n) {
@@ -529,12 +529,12 @@ function qt() {
529
529
  }
530
530
  function Da() {
531
531
  j(
532
- Ye(),
532
+ Je(),
533
533
  // TODO: This error is probably because they somehow have 2 versions of the
534
534
  // router loaded. We can help them understand how to avoid that.
535
535
  "useNavigate() may be used only in the context of a <Router> component."
536
536
  );
537
- let n = g.useContext(Ke), { basename: e, navigator: t } = g.useContext(se), { matches: r } = g.useContext(Se), { pathname: i } = ye(), a = JSON.stringify(En(r)), s = g.useRef(!1);
537
+ let n = g.useContext(Ye), { basename: e, navigator: t } = g.useContext(se), { matches: r } = g.useContext(Se), { pathname: i } = ye(), a = JSON.stringify(En(r)), s = g.useRef(!1);
538
538
  return Qr(() => {
539
539
  s.current = !0;
540
540
  }), g.useCallback(
@@ -544,7 +544,7 @@ function Da() {
544
544
  t.go(c);
545
545
  return;
546
546
  }
547
- let d = Ht(
547
+ let d = jt(
548
548
  c,
549
549
  JSON.parse(a),
550
550
  i,
@@ -566,10 +566,10 @@ function Da() {
566
566
  );
567
567
  }
568
568
  g.createContext(null);
569
- function ct(n, { relative: e } = {}) {
569
+ function lt(n, { relative: e } = {}) {
570
570
  let { matches: t } = g.useContext(Se), { pathname: r } = ye(), i = JSON.stringify(En(t));
571
571
  return g.useMemo(
572
- () => Ht(
572
+ () => jt(
573
573
  n,
574
574
  JSON.parse(i),
575
575
  r,
@@ -583,7 +583,7 @@ function Ba(n, e) {
583
583
  }
584
584
  function $r(n, e, t) {
585
585
  j(
586
- Ye(),
586
+ Je(),
587
587
  // TODO: This error is probably because they somehow have 2 versions of the
588
588
  // router loaded. We can help them understand how to avoid that.
589
589
  "useRoutes() may be used only in the context of a <Router> component."
@@ -601,7 +601,7 @@ Please change the parent <Route path="${b}"> to <Route path="${b === "/" ? "*" :
601
601
  }
602
602
  let d = ye(), u;
603
603
  if (e) {
604
- let b = typeof e == "string" ? Xe(e) : e;
604
+ let b = typeof e == "string" ? Ze(e) : e;
605
605
  j(
606
606
  c === "/" || b.pathname?.startsWith(c),
607
607
  `When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${b.pathname}" was given in the \`location\` prop.`
@@ -651,7 +651,7 @@ Please change the parent <Route path="${b}"> to <Route path="${b === "/" ? "*" :
651
651
  t
652
652
  );
653
653
  return e && p ? /* @__PURE__ */ g.createElement(
654
- ot.Provider,
654
+ ct.Provider,
655
655
  {
656
656
  value: {
657
657
  location: {
@@ -722,7 +722,7 @@ var Xa = /* @__PURE__ */ g.createElement(Wa, null), ei = class extends g.Compone
722
722
  }
723
723
  };
724
724
  ei.contextType = La;
725
- var tn = /* @__PURE__ */ new WeakMap();
725
+ var nn = /* @__PURE__ */ new WeakMap();
726
726
  function Za({
727
727
  children: n,
728
728
  error: e
@@ -731,10 +731,10 @@ function Za({
731
731
  if (typeof e == "object" && e && "digest" in e && typeof e.digest == "string") {
732
732
  let r = za(e.digest);
733
733
  if (r) {
734
- let i = tn.get(e);
734
+ let i = nn.get(e);
735
735
  if (i) throw i;
736
- let a = qr(r.location, t);
737
- if (jr && !tn.get(e))
736
+ let a = _r(r.location, t);
737
+ if (jr && !nn.get(e))
738
738
  if (a.isExternal || r.reloadDocument)
739
739
  window.location.href = a.absoluteURL || a.to;
740
740
  else {
@@ -743,7 +743,7 @@ function Za({
743
743
  replace: r.replace
744
744
  })
745
745
  );
746
- throw tn.set(e, s), s;
746
+ throw nn.set(e, s), s;
747
747
  }
748
748
  return /* @__PURE__ */ g.createElement(
749
749
  "meta",
@@ -757,7 +757,7 @@ function Za({
757
757
  return n;
758
758
  }
759
759
  function Ua({ routeContext: n, match: e, children: t }) {
760
- let r = g.useContext(Ke);
760
+ let r = g.useContext(Ye);
761
761
  return r && r.static && r.staticContext && (e.route.errorElement || e.route.ErrorBoundary) && (r.staticContext._deepestRenderedBoundaryId = e.route.id), /* @__PURE__ */ g.createElement(Se.Provider, { value: n }, t);
762
762
  }
763
763
  function Ha(n, e = [], t) {
@@ -852,19 +852,19 @@ function Mn(n) {
852
852
  return `${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;
853
853
  }
854
854
  function ja(n) {
855
- let e = g.useContext(Ke);
855
+ let e = g.useContext(Ye);
856
856
  return j(e, Mn(n)), e;
857
857
  }
858
- function qa(n) {
859
- let e = g.useContext(jt);
858
+ function _a(n) {
859
+ let e = g.useContext(_t);
860
860
  return j(e, Mn(n)), e;
861
861
  }
862
- function _a(n) {
862
+ function qa(n) {
863
863
  let e = g.useContext(Se);
864
864
  return j(e, Mn(n)), e;
865
865
  }
866
866
  function Ln(n) {
867
- let e = _a(n), t = e.matches[e.matches.length - 1];
867
+ let e = qa(n), t = e.matches[e.matches.length - 1];
868
868
  return j(
869
869
  t.route.id,
870
870
  `${n} can only be used on routes that contain a unique "id"`
@@ -877,7 +877,7 @@ function Ka() {
877
877
  );
878
878
  }
879
879
  function Ya() {
880
- let n = g.useContext(Rn), e = qa(
880
+ let n = g.useContext(Rn), e = _a(
881
881
  "useRouteError"
882
882
  /* UseRouteError */
883
883
  ), t = Ln(
@@ -951,14 +951,14 @@ function $a({
951
951
  }
952
952
  );
953
953
  }
954
- function ku({
954
+ function Su({
955
955
  to: n,
956
956
  replace: e,
957
957
  state: t,
958
958
  relative: r
959
959
  }) {
960
960
  j(
961
- Ye(),
961
+ Je(),
962
962
  // TODO: This error is probably because they somehow have 2 versions of
963
963
  // the router loaded. We can help them understand how to avoid that.
964
964
  "<Navigate> may be used only in the context of a <Router> component."
@@ -968,7 +968,7 @@ function ku({
968
968
  !i,
969
969
  "<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change."
970
970
  );
971
- let { matches: a } = g.useContext(Se), { pathname: s } = ye(), o = qt(), c = Ht(
971
+ let { matches: a } = g.useContext(Se), { pathname: s } = ye(), o = qt(), c = jt(
972
972
  n,
973
973
  En(a),
974
974
  s,
@@ -994,7 +994,7 @@ function ts({
994
994
  unstable_useTransitions: s
995
995
  }) {
996
996
  j(
997
- !Ye(),
997
+ !Je(),
998
998
  "You cannot render a <Router> inside another <Router>. You should never have more than one in your app."
999
999
  );
1000
1000
  let o = n.replace(/^\/*/, "/"), c = g.useMemo(
@@ -1007,7 +1007,7 @@ function ts({
1007
1007
  }),
1008
1008
  [o, i, a, s]
1009
1009
  );
1010
- typeof t == "string" && (t = Xe(t));
1010
+ typeof t == "string" && (t = Ze(t));
1011
1011
  let {
1012
1012
  pathname: l = "/",
1013
1013
  search: d = "",
@@ -1041,15 +1041,15 @@ function ts({
1041
1041
  return ue(
1042
1042
  p != null,
1043
1043
  `<Router basename="${o}"> is not able to match the URL "${l}${d}${u}" because it does not start with the basename, so the <Router> won't render anything.`
1044
- ), p == null ? null : /* @__PURE__ */ g.createElement(se.Provider, { value: c }, /* @__PURE__ */ g.createElement(ot.Provider, { children: e, value: p }));
1044
+ ), p == null ? null : /* @__PURE__ */ g.createElement(se.Provider, { value: c }, /* @__PURE__ */ g.createElement(ct.Provider, { children: e, value: p }));
1045
1045
  }
1046
- function xu({
1046
+ function Tu({
1047
1047
  children: n,
1048
1048
  location: e
1049
1049
  }) {
1050
- return Ba(pn(n), e);
1050
+ return Ba(gn(n), e);
1051
1051
  }
1052
- function pn(n, e = []) {
1052
+ function gn(n, e = []) {
1053
1053
  let t = [];
1054
1054
  return g.Children.forEach(n, (r, i) => {
1055
1055
  if (!g.isValidElement(r))
@@ -1058,7 +1058,7 @@ function pn(n, e = []) {
1058
1058
  if (r.type === g.Fragment) {
1059
1059
  t.push.apply(
1060
1060
  t,
1061
- pn(r.props.children, a)
1061
+ gn(r.props.children, a)
1062
1062
  );
1063
1063
  return;
1064
1064
  }
@@ -1088,24 +1088,24 @@ function pn(n, e = []) {
1088
1088
  handle: r.props.handle,
1089
1089
  lazy: r.props.lazy
1090
1090
  };
1091
- r.props.children && (s.children = pn(
1091
+ r.props.children && (s.children = gn(
1092
1092
  r.props.children,
1093
1093
  a
1094
1094
  )), t.push(s);
1095
1095
  }), t;
1096
1096
  }
1097
- var kt = "get", xt = "application/x-www-form-urlencoded";
1098
- function _t(n) {
1097
+ var xt = "get", St = "application/x-www-form-urlencoded";
1098
+ function Kt(n) {
1099
1099
  return typeof HTMLElement < "u" && n instanceof HTMLElement;
1100
1100
  }
1101
1101
  function ns(n) {
1102
- return _t(n) && n.tagName.toLowerCase() === "button";
1102
+ return Kt(n) && n.tagName.toLowerCase() === "button";
1103
1103
  }
1104
1104
  function rs(n) {
1105
- return _t(n) && n.tagName.toLowerCase() === "form";
1105
+ return Kt(n) && n.tagName.toLowerCase() === "form";
1106
1106
  }
1107
1107
  function is(n) {
1108
- return _t(n) && n.tagName.toLowerCase() === "input";
1108
+ return Kt(n) && n.tagName.toLowerCase() === "input";
1109
1109
  }
1110
1110
  function as(n) {
1111
1111
  return !!(n.metaKey || n.altKey || n.ctrlKey || n.shiftKey);
@@ -1115,36 +1115,36 @@ function ss(n, e) {
1115
1115
  (!e || e === "_self") && // Let browser handle "target=_blank" etc.
1116
1116
  !as(n);
1117
1117
  }
1118
- var gt = null;
1118
+ var ft = null;
1119
1119
  function os() {
1120
- if (gt === null)
1120
+ if (ft === null)
1121
1121
  try {
1122
1122
  new FormData(
1123
1123
  document.createElement("form"),
1124
1124
  // @ts-expect-error if FormData supports the submitter parameter, this will throw
1125
1125
  0
1126
- ), gt = !1;
1126
+ ), ft = !1;
1127
1127
  } catch {
1128
- gt = !0;
1128
+ ft = !0;
1129
1129
  }
1130
- return gt;
1130
+ return ft;
1131
1131
  }
1132
1132
  var cs = /* @__PURE__ */ new Set([
1133
1133
  "application/x-www-form-urlencoded",
1134
1134
  "multipart/form-data",
1135
1135
  "text/plain"
1136
1136
  ]);
1137
- function nn(n) {
1137
+ function rn(n) {
1138
1138
  return n != null && !cs.has(n) ? (ue(
1139
1139
  !1,
1140
- `"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${xt}"`
1140
+ `"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${St}"`
1141
1141
  ), null) : n;
1142
1142
  }
1143
1143
  function ls(n, e) {
1144
1144
  let t, r, i, a, s;
1145
1145
  if (rs(n)) {
1146
1146
  let o = n.getAttribute("action");
1147
- r = o ? Re(o, e) : null, t = n.getAttribute("method") || kt, i = nn(n.getAttribute("enctype")) || xt, a = new FormData(n);
1147
+ r = o ? Re(o, e) : null, t = n.getAttribute("method") || xt, i = rn(n.getAttribute("enctype")) || St, a = new FormData(n);
1148
1148
  } else if (ns(n) || is(n) && (n.type === "submit" || n.type === "image")) {
1149
1149
  let o = n.form;
1150
1150
  if (o == null)
@@ -1152,7 +1152,7 @@ function ls(n, e) {
1152
1152
  'Cannot submit a <button> or <input type="submit"> without a <form>'
1153
1153
  );
1154
1154
  let c = n.getAttribute("formaction") || o.getAttribute("action");
1155
- if (r = c ? Re(c, e) : null, t = n.getAttribute("formmethod") || o.getAttribute("method") || kt, i = nn(n.getAttribute("formenctype")) || nn(o.getAttribute("enctype")) || xt, a = new FormData(o, n), !os()) {
1155
+ if (r = c ? Re(c, e) : null, t = n.getAttribute("formmethod") || o.getAttribute("method") || xt, i = rn(n.getAttribute("formenctype")) || rn(o.getAttribute("enctype")) || St, a = new FormData(o, n), !os()) {
1156
1156
  let { name: l, type: d, value: u } = n;
1157
1157
  if (d === "image") {
1158
1158
  let f = l ? `${l}.` : "";
@@ -1160,11 +1160,11 @@ function ls(n, e) {
1160
1160
  } else l && a.append(l, u);
1161
1161
  }
1162
1162
  } else {
1163
- if (_t(n))
1163
+ if (Kt(n))
1164
1164
  throw new Error(
1165
1165
  'Cannot submit element that is not <form>, <button>, or <input type="submit|image">'
1166
1166
  );
1167
- t = kt, r = null, i = xt, s = n;
1167
+ t = xt, r = null, i = St, s = n;
1168
1168
  }
1169
1169
  return a && i === "text/plain" && (s = a, a = void 0), { action: r, method: t.toLowerCase(), encType: i, formData: a, body: s };
1170
1170
  }
@@ -1278,14 +1278,14 @@ function bs(n, e) {
1278
1278
  }, []);
1279
1279
  }
1280
1280
  function ni() {
1281
- let n = g.useContext(Ke);
1281
+ let n = g.useContext(Ye);
1282
1282
  return Nn(
1283
1283
  n,
1284
1284
  "You must render this element inside a <DataRouterContext.Provider> element"
1285
1285
  ), n;
1286
1286
  }
1287
1287
  function ws() {
1288
- let n = g.useContext(jt);
1288
+ let n = g.useContext(_t);
1289
1289
  return Nn(
1290
1290
  n,
1291
1291
  "You must render this element inside a <DataRouterStateContext.Provider> element"
@@ -1332,15 +1332,15 @@ function ys(n, e) {
1332
1332
  a,
1333
1333
  f,
1334
1334
  {
1335
- onFocus: Qe(o, h),
1336
- onBlur: Qe(c, w),
1337
- onMouseEnter: Qe(l, h),
1338
- onMouseLeave: Qe(d, w),
1339
- onTouchStart: Qe(u, h)
1335
+ onFocus: $e(o, h),
1336
+ onBlur: $e(c, w),
1337
+ onMouseEnter: $e(l, h),
1338
+ onMouseLeave: $e(d, w),
1339
+ onTouchStart: $e(u, h)
1340
1340
  }
1341
1341
  ] : [!1, f, {}];
1342
1342
  }
1343
- function Qe(n, e) {
1343
+ function $e(n, e) {
1344
1344
  return (t) => {
1345
1345
  n && n(t), t.defaultPrevented || e(t);
1346
1346
  };
@@ -1467,11 +1467,11 @@ var ii = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, ai = g.forwardRef(
1467
1467
  unstable_defaultShouldRevalidate: h,
1468
1468
  ...w
1469
1469
  }, p) {
1470
- let { basename: b, navigator: A, unstable_useTransitions: C } = g.useContext(se), S = typeof d == "string" && ii.test(d), N = qr(d, b);
1470
+ let { basename: b, navigator: A, unstable_useTransitions: C } = g.useContext(se), S = typeof d == "string" && ii.test(d), N = _r(d, b);
1471
1471
  d = N.to;
1472
1472
  let x = Fa(d, { relative: i }), y = ye(), P = null;
1473
1473
  if (o) {
1474
- let te = Ht(
1474
+ let te = jt(
1475
1475
  o,
1476
1476
  [],
1477
1477
  y.unstable_mask ? y.unstable_mask.pathname : "/",
@@ -1527,7 +1527,7 @@ var xs = g.forwardRef(
1527
1527
  children: c,
1528
1528
  ...l
1529
1529
  }, d) {
1530
- let u = ct(s, { relative: l.relative }), f = ye(), h = g.useContext(jt), { navigator: w, basename: p } = g.useContext(se), b = h != null && // Conditional usage is OK here because the usage of a data router is static
1530
+ let u = lt(s, { relative: l.relative }), f = ye(), h = g.useContext(_t), { navigator: w, basename: p } = g.useContext(se), b = h != null && // Conditional usage is OK here because the usage of a data router is static
1531
1531
  // eslint-disable-next-line react-hooks/rules-of-hooks
1532
1532
  Ps(u) && o === !0, A = w.encodeLocation ? w.encodeLocation(u).pathname : u.pathname, C = f.pathname, S = h && h.navigation && h.navigation.location ? h.navigation.location.pathname : null;
1533
1533
  t || (C = C.toLowerCase(), S = S ? S.toLowerCase() : null, A = A.toLowerCase()), S && p && (S = Re(S, p) || S);
@@ -1568,7 +1568,7 @@ var Ss = g.forwardRef(
1568
1568
  reloadDocument: r,
1569
1569
  replace: i,
1570
1570
  state: a,
1571
- method: s = kt,
1571
+ method: s = xt,
1572
1572
  action: o,
1573
1573
  onSubmit: c,
1574
1574
  relative: l,
@@ -1611,7 +1611,7 @@ function Ts(n) {
1611
1611
  return `${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;
1612
1612
  }
1613
1613
  function si(n) {
1614
- let e = g.useContext(Ke);
1614
+ let e = g.useContext(Ye);
1615
1615
  return j(e, Ts(n)), e;
1616
1616
  }
1617
1617
  function Es(n, {
@@ -1625,12 +1625,12 @@ function Es(n, {
1625
1625
  unstable_defaultShouldRevalidate: c,
1626
1626
  unstable_useTransitions: l
1627
1627
  } = {}) {
1628
- let d = qt(), u = ye(), f = ct(n, { relative: s });
1628
+ let d = qt(), u = ye(), f = lt(n, { relative: s });
1629
1629
  return g.useCallback(
1630
1630
  (h) => {
1631
1631
  if (ss(h, e)) {
1632
1632
  h.preventDefault();
1633
- let w = t !== void 0 ? t : Ot(u) === Ot(f), p = () => d(n, {
1633
+ let w = t !== void 0 ? t : zt(u) === zt(f), p = () => d(n, {
1634
1634
  replace: w,
1635
1635
  unstable_mask: r,
1636
1636
  state: i,
@@ -1703,7 +1703,7 @@ function Ls() {
1703
1703
  function Ns(n, { relative: e } = {}) {
1704
1704
  let { basename: t } = g.useContext(se), r = g.useContext(Se);
1705
1705
  j(r, "useFormAction must be used inside a RouteContext");
1706
- let [i] = r.matches.slice(-1), a = { ...ct(n || ".", { relative: e }) }, s = ye();
1706
+ let [i] = r.matches.slice(-1), a = { ...lt(n || ".", { relative: e }) }, s = ye();
1707
1707
  if (n == null) {
1708
1708
  a.search = s.search;
1709
1709
  let o = new URLSearchParams(a.search), c = o.getAll("index");
@@ -1713,7 +1713,7 @@ function Ns(n, { relative: e } = {}) {
1713
1713
  a.search = d ? `?${d}` : "";
1714
1714
  }
1715
1715
  }
1716
- return (!n || n === ".") && i.route.index && (a.search = a.search ? a.search.replace(/^\?/, "?index&") : "?index"), t !== "/" && (a.pathname = a.pathname === "/" ? t : Ae([t, a.pathname])), Ot(a);
1716
+ return (!n || n === ".") && i.route.index && (a.search = a.search ? a.search.replace(/^\?/, "?index&") : "?index"), t !== "/" && (a.pathname = a.pathname === "/" ? t : Ae([t, a.pathname])), zt(a);
1717
1717
  }
1718
1718
  function Ps(n, { relative: e } = {}) {
1719
1719
  let t = g.useContext(Kr);
@@ -1724,13 +1724,13 @@ function Ps(n, { relative: e } = {}) {
1724
1724
  let { basename: r } = si(
1725
1725
  "useViewTransitionState"
1726
1726
  /* useViewTransitionState */
1727
- ), i = ct(n, { relative: e });
1727
+ ), i = lt(n, { relative: e });
1728
1728
  if (!t.isTransitioning)
1729
1729
  return !1;
1730
1730
  let a = Re(t.currentLocation.pathname, r) || t.currentLocation.pathname, s = Re(t.nextLocation.pathname, r) || t.nextLocation.pathname;
1731
- return zt(i.pathname, s) != null || zt(i.pathname, a) != null;
1731
+ return Gt(i.pathname, s) != null || Gt(i.pathname, a) != null;
1732
1732
  }
1733
- let Kt = () => ({
1733
+ let Yt = () => ({
1734
1734
  emit(n, ...e) {
1735
1735
  for (let t = this.events[n] || [], r = 0, i = t.length; r < i; r++)
1736
1736
  t[r](...e);
@@ -1742,22 +1742,22 @@ let Kt = () => ({
1742
1742
  };
1743
1743
  }
1744
1744
  });
1745
- class lt extends Error {
1745
+ class dt extends Error {
1746
1746
  constructor(e, t) {
1747
1747
  e instanceof Error ? (super(e.message), this.cause = e) : super(e), this.reason = t, this.name = "ReasonError";
1748
1748
  }
1749
1749
  }
1750
- class oi extends lt {
1750
+ class oi extends dt {
1751
1751
  constructor(e) {
1752
1752
  super("Rejected", e), this.name = "SubscriptionRejectedError";
1753
1753
  }
1754
1754
  }
1755
- class Vs extends lt {
1755
+ class Vs extends dt {
1756
1756
  constructor(e) {
1757
1757
  super(e || "Timed out to receive subscription ack"), this.name = "SubscriptionTimeoutError";
1758
1758
  }
1759
1759
  }
1760
- class fe extends lt {
1760
+ class fe extends dt {
1761
1761
  constructor(e, t) {
1762
1762
  t ? super(e, t) : super("Disconnected", e), this.name = "DisconnectedError";
1763
1763
  }
@@ -1826,7 +1826,7 @@ class Vn {
1826
1826
  // Unique channel identifier
1827
1827
  // static identifier = ''
1828
1828
  constructor(e = {}) {
1829
- this.emitter = Kt(), this.params = Object.freeze(e), this.presence = new zs(this), this.initialConnect = !0, this[ze] = "idle";
1829
+ this.emitter = Yt(), this.params = Object.freeze(e), this.presence = new zs(this), this.initialConnect = !0, this[ze] = "idle";
1830
1830
  }
1831
1831
  get identifier() {
1832
1832
  return this._identifier ? this._identifier : (this._identifier = ci({
@@ -1919,7 +1919,7 @@ class Vn {
1919
1919
  ), r.push(
1920
1920
  this.on("close", (i) => {
1921
1921
  r.forEach((a) => a()), t(
1922
- i || new lt(
1922
+ i || new dt(
1923
1923
  "Channel was disconnected before subscribing",
1924
1924
  "canceled"
1925
1925
  )
@@ -2100,7 +2100,7 @@ class li {
2100
2100
  this.log("error", e, t);
2101
2101
  }
2102
2102
  }
2103
- class dt extends li {
2103
+ class ut extends li {
2104
2104
  writeLogEntry() {
2105
2105
  }
2106
2106
  }
@@ -2119,7 +2119,7 @@ let Xs = 0;
2119
2119
  class di {
2120
2120
  constructor(e = {}) {
2121
2121
  let { logger: t } = e;
2122
- this.logger = t || new dt(), this.pendingSubscriptions = {}, this.pendingUnsubscriptions = {}, this.subscribeCooldownInterval = e.subscribeCooldownInterval || 250, this.subscribeRetryInterval = e.subscribeRetryInterval || 5e3;
2122
+ this.logger = t || new ut(), this.pendingSubscriptions = {}, this.pendingUnsubscriptions = {}, this.subscribeCooldownInterval = e.subscribeCooldownInterval || 250, this.subscribeRetryInterval = e.subscribeRetryInterval || 5e3;
2123
2123
  }
2124
2124
  attached(e) {
2125
2125
  this.cable = e;
@@ -2387,7 +2387,7 @@ class Zs extends di {
2387
2387
  });
2388
2388
  }
2389
2389
  }
2390
- class Us extends lt {
2390
+ class Us extends dt {
2391
2391
  constructor() {
2392
2392
  super("No connection", "closed"), this.name = "NoConnectionError";
2393
2393
  }
@@ -2414,7 +2414,7 @@ class sr extends Vn {
2414
2414
  }
2415
2415
  }
2416
2416
  const Ge = /* @__PURE__ */ Symbol("state");
2417
- class qs {
2417
+ class _s {
2418
2418
  constructor({
2419
2419
  transport: e,
2420
2420
  protocol: t,
@@ -2425,7 +2425,7 @@ class qs {
2425
2425
  performFailures: o,
2426
2426
  transportConfigurator: c
2427
2427
  }) {
2428
- this.emitter = Kt(), this.transport = e, this.encoder = r, this.logger = i || new dt(), this.protocol = t, this.performFailures = o || "throw", this.protocol.attached(this), this.hub = new Bs(s || {}), this[Ge] = "idle", this.handleClose = this.handleClose.bind(this), this.handleIncoming = this.handleIncoming.bind(this), this.transportConfigurator = c, this.transport.on("close", this.handleClose), this.transport.on("data", this.handleIncoming), this.initialConnect = !0, this.recovering = !1, a === !1 && this.connect().catch(() => {
2428
+ this.emitter = Yt(), this.transport = e, this.encoder = r, this.logger = i || new ut(), this.protocol = t, this.performFailures = o || "throw", this.protocol.attached(this), this.hub = new Bs(s || {}), this[Ge] = "idle", this.handleClose = this.handleClose.bind(this), this.handleIncoming = this.handleIncoming.bind(this), this.transportConfigurator = c, this.transport.on("close", this.handleClose), this.transport.on("data", this.handleIncoming), this.initialConnect = !0, this.recovering = !1, a === !1 && this.connect().catch(() => {
2429
2429
  });
2430
2430
  }
2431
2431
  get state() {
@@ -2716,10 +2716,10 @@ class qs {
2716
2716
  }), this._pendingConnect);
2717
2717
  }
2718
2718
  }
2719
- const _s = {
2719
+ const qs = {
2720
2720
  maxMissingPings: 2,
2721
2721
  maxReconnectAttempts: 1 / 0
2722
- }, je = () => Date.now(), ui = (n, e) => {
2722
+ }, _e = () => Date.now(), ui = (n, e) => {
2723
2723
  e = e || {};
2724
2724
  let { backoffRate: t, jitterRatio: r, maxInterval: i } = e;
2725
2725
  return t = t || 2, r === void 0 && (r = 0.5), (a) => {
@@ -2731,9 +2731,9 @@ let hi = class {
2731
2731
  constructor({ pingInterval: e, ...t }) {
2732
2732
  if (this.pingInterval = e, !this.pingInterval)
2733
2733
  throw Error(`Incorrect pingInterval is provided: ${e}`);
2734
- if (t = Object.assign({}, _s, t), this.strategy = t.reconnectStrategy, !this.strategy)
2734
+ if (t = Object.assign({}, qs, t), this.strategy = t.reconnectStrategy, !this.strategy)
2735
2735
  throw Error("Reconnect strategy must be provided");
2736
- this.maxMissingPings = t.maxMissingPings, this.maxReconnectAttempts = t.maxReconnectAttempts, this.logger = t.logger || new dt(), this.state = "pending_connect", this.attempts = 0, this.disconnectedAt = je();
2736
+ this.maxMissingPings = t.maxMissingPings, this.maxReconnectAttempts = t.maxReconnectAttempts, this.logger = t.logger || new ut(), this.state = "pending_connect", this.attempts = 0, this.disconnectedAt = _e();
2737
2737
  }
2738
2738
  watch(e) {
2739
2739
  this.target = e, this.initListeners();
@@ -2746,19 +2746,19 @@ let hi = class {
2746
2746
  initListeners() {
2747
2747
  this.unbind = [], this.unbind.push(
2748
2748
  this.target.on("connect", () => {
2749
- this.attempts = 0, this.pingedAt = je(), this.state = "connected", this.cancelReconnect(), this.startPolling();
2749
+ this.attempts = 0, this.pingedAt = _e(), this.state = "connected", this.cancelReconnect(), this.startPolling();
2750
2750
  })
2751
2751
  ), this.unbind.push(
2752
2752
  this.target.on("disconnect", () => {
2753
- this.disconnectedAt = je(), this.state = "disconnected", this.stopPolling(), this.scheduleReconnect();
2753
+ this.disconnectedAt = _e(), this.state = "disconnected", this.stopPolling(), this.scheduleReconnect();
2754
2754
  })
2755
2755
  ), this.unbind.push(
2756
2756
  this.target.on("close", () => {
2757
- this.disconnectedAt = je(), this.state = "closed", this.cancelReconnect(), this.stopPolling();
2757
+ this.disconnectedAt = _e(), this.state = "closed", this.cancelReconnect(), this.stopPolling();
2758
2758
  })
2759
2759
  ), this.unbind.push(
2760
2760
  this.target.on("keepalive", () => {
2761
- this.pingedAt = je();
2761
+ this.pingedAt = _e();
2762
2762
  })
2763
2763
  ), this.unbind.push(() => {
2764
2764
  this.cancelReconnect(), this.stopPolling();
@@ -2778,7 +2778,7 @@ let hi = class {
2778
2778
  this.pollId && clearTimeout(this.pollId);
2779
2779
  }
2780
2780
  checkStale() {
2781
- let e = je() - this.pingedAt;
2781
+ let e = _e() - this.pingedAt;
2782
2782
  e > this.maxMissingPings * this.pingInterval && (this.logger.warn(`Stale connection: ${e}ms without pings`), this.state = "pending_disconnect", this.target.disconnected(new Os()));
2783
2783
  }
2784
2784
  scheduleReconnect() {
@@ -2795,7 +2795,7 @@ let hi = class {
2795
2795
  };
2796
2796
  class Ks {
2797
2797
  constructor(e, t = {}) {
2798
- this.transports = e, this.transport = null, this.emitter = Kt(), this.unbind = [], this.logger = t.logger || new dt();
2798
+ this.transports = e, this.transport = null, this.emitter = Yt(), this.unbind = [], this.logger = t.logger || new ut();
2799
2799
  }
2800
2800
  displayName() {
2801
2801
  return "fallbacked transport";
@@ -2876,7 +2876,7 @@ class Ys {
2876
2876
  this.Impl = WebSocket;
2877
2877
  else
2878
2878
  throw new Error("No WebSocket support");
2879
- this.connected = !1, this.emitter = Kt();
2879
+ this.connected = !1, this.emitter = Yt();
2880
2880
  let { format: i, subprotocol: a, authStrategy: s } = t;
2881
2881
  this.format = i || "text", this.connectionOptions = t.websocketOptions, this.authStrategy = s || "param", this.authProtocol = "", this.subprotocol = a;
2882
2882
  }
@@ -2991,7 +2991,7 @@ function Js(n, e) {
2991
2991
  transportConfigurator: F,
2992
2992
  auth: D
2993
2993
  } = e;
2994
- if (l = l || new dt(c), typeof t == "string") {
2994
+ if (l = l || new ut(c), typeof t == "string") {
2995
2995
  C = C || t;
2996
2996
  let H = t.substring(0, t.lastIndexOf("-")), ne = t.substring(t.lastIndexOf("-") + 1);
2997
2997
  if (x = x || {}, H === "actioncable-v1")
@@ -3033,7 +3033,7 @@ function Js(n, e) {
3033
3033
  maxReconnectAttempts: A,
3034
3034
  logger: l
3035
3035
  }));
3036
- let V = { concurrentSubscribes: y }, W = new qs({
3036
+ let V = { concurrentSubscribes: y }, W = new _s({
3037
3037
  protocol: t,
3038
3038
  transport: d,
3039
3039
  encoder: u,
@@ -3090,7 +3090,7 @@ class eo extends hi {
3090
3090
  this.state === "disconnected" || this.state === "closed" || (this.logger.info("Disconnecting", { reason: e.message }), this.cancelReconnect(), this.stopPolling(), this.state = "pending_disconnect", this.target.disconnected(e));
3091
3091
  }
3092
3092
  }
3093
- const to = ["cable", "action-cable"], no = "/cable", Yt = (n, e) => {
3093
+ const to = ["cable", "action-cable"], no = "/cable", Jt = (n, e) => {
3094
3094
  for (let t of to) {
3095
3095
  let r = n.head.querySelector(`meta[name='${t}-${e}']`);
3096
3096
  if (r)
@@ -3098,23 +3098,23 @@ const to = ["cable", "action-cable"], no = "/cable", Yt = (n, e) => {
3098
3098
  }
3099
3099
  }, or = (n) => n.match(/wss?:\/\//) ? n : typeof window < "u" ? `${window.location.protocol.replace("http", "ws")}//${window.location.host}${n}` : n, ro = () => {
3100
3100
  if (typeof document < "u" && document.head) {
3101
- let n = Yt(document, "url");
3101
+ let n = Jt(document, "url");
3102
3102
  if (n)
3103
3103
  return or(n);
3104
3104
  }
3105
3105
  return or(no);
3106
3106
  }, io = () => {
3107
3107
  if (typeof document < "u" && document.head) {
3108
- let n = Yt(document, "history-timestamp");
3108
+ let n = Jt(document, "history-timestamp");
3109
3109
  if (n)
3110
3110
  return n | 0;
3111
3111
  }
3112
3112
  }, ao = () => {
3113
3113
  if (typeof document < "u" && document.head)
3114
- return Yt(document, "token");
3114
+ return Jt(document, "token");
3115
3115
  }, so = () => {
3116
3116
  if (typeof document < "u" && document.head)
3117
- return Yt(document, "token-param");
3117
+ return Jt(document, "token-param");
3118
3118
  };
3119
3119
  function oo(n, e) {
3120
3120
  typeof n == "object" && typeof e > "u" && (e = n, n = void 0), n = n || ro(), e = e || {}, e.historyTimestamp ||= io();
@@ -3179,13 +3179,13 @@ class lo {
3179
3179
  this.isEnabled("error") && console.error(this.prefix, ...e);
3180
3180
  }
3181
3181
  }
3182
- const uo = "warn", z = new lo("Lola-Widget", uo), lr = /401|403|auth|token|unauthori[sz]ed|forbidden/i, Jt = (n) => {
3182
+ const uo = "warn", z = new lo("Lola-Widget", uo), lr = /401|403|auth|token|unauthori[sz]ed|forbidden/i, Qt = (n) => {
3183
3183
  if (!n || typeof n != "object")
3184
3184
  return typeof n == "string" && lr.test(n);
3185
3185
  const e = n;
3186
3186
  return e.status === 401 || e.status === 403 ? !0 : [e.code, e.message, e.type, e.reason].some(
3187
3187
  (t) => typeof t == "string" && lr.test(t)
3188
- ) || Jt(e.cause);
3188
+ ) || Qt(e.cause);
3189
3189
  };
3190
3190
  class ho {
3191
3191
  constructor(e, t, r) {
@@ -3243,7 +3243,7 @@ class ho {
3243
3243
  this.channels.chat.identifier
3244
3244
  );
3245
3245
  }).catch((e) => {
3246
- Jt(e) && this.onAuthenticationError?.(), z.warn("[AnyCableService] Cable connection failed", e);
3246
+ Qt(e) && this.onAuthenticationError?.(), z.warn("[AnyCableService] Cable connection failed", e);
3247
3247
  })), this;
3248
3248
  }
3249
3249
  /** Unregisters the cable and disconnects from the WebSocket server */
@@ -3264,25 +3264,25 @@ const dr = (n) => {
3264
3264
  return o;
3265
3265
  }, po = ((n) => n ? dr(n) : dr), go = (n) => n;
3266
3266
  function fo(n, e = go) {
3267
- const t = pt.useSyncExternalStore(
3267
+ const t = gt.useSyncExternalStore(
3268
3268
  n.subscribe,
3269
- pt.useCallback(() => e(n.getState()), [n, e]),
3270
- pt.useCallback(() => e(n.getInitialState()), [n, e])
3269
+ gt.useCallback(() => e(n.getState()), [n, e]),
3270
+ gt.useCallback(() => e(n.getInitialState()), [n, e])
3271
3271
  );
3272
- return pt.useDebugValue(t), t;
3272
+ return gt.useDebugValue(t), t;
3273
3273
  }
3274
3274
  const ur = (n) => {
3275
3275
  const e = po(n), t = (r) => fo(e, r);
3276
3276
  return Object.assign(t, e), t;
3277
3277
  }, gi = ((n) => n ? ur(n) : ur);
3278
3278
  var Ee = /* @__PURE__ */ ((n) => (n.Customer = "PARTICIPANT_TYPE_CUSTOMER", n.Agent = "PARTICIPANT_TYPE_AGENT", n))(Ee || {}), Q = /* @__PURE__ */ ((n) => (n.Completed = "MESSAGE_STATUS_COMPLETED", n.Writing = "MESSAGE_STATUS_WRITING", n.Failed = "MESSAGE_STATUS_FAILED", n))(Q || {});
3279
- const St = {
3279
+ const Tt = {
3280
3280
  connectionFailed: "error.connectionFailed",
3281
3281
  offline: "error.offline",
3282
3282
  agentResponseFailed: "error.agentResponseFailed",
3283
3283
  sendMessageFallback: "error.sendMessageFailed",
3284
3284
  conversationClosed: "error.conversationClosed"
3285
- }, mo = new Set(Object.values(St)), Eu = (n, e) => mo.has(n) ? e(n) : n, Ru = {
3285
+ }, mo = new Set(Object.values(Tt)), Mu = (n, e) => mo.has(n) ? e(n) : n, Lu = {
3286
3286
  audio_playback_failed: "voice.audioPlaybackFailed",
3287
3287
  session_failed: "voice.sessionFailed",
3288
3288
  connection_closed: "voice.connectionClosed",
@@ -3302,7 +3302,7 @@ class mi extends Error {
3302
3302
  super(t), this.status = e;
3303
3303
  }
3304
3304
  }
3305
- const ft = (n) => n instanceof mi && n.status === 409, ut = async (n, e, t, r) => {
3305
+ const mt = (n) => n instanceof mi && n.status === 409, ht = async (n, e, t, r) => {
3306
3306
  const i = await fetch(`${Oe}${t}`, {
3307
3307
  ...r,
3308
3308
  headers: {
@@ -3357,7 +3357,7 @@ const ft = (n) => n instanceof mi && n.status === 409, ut = async (n, e, t, r) =
3357
3357
  }), bi = (n, e) => {
3358
3358
  const t = new URLSearchParams(n);
3359
3359
  return e && t.set("cursor", e), t.toString();
3360
- }, hr = (n, e, t, r) => ut(
3360
+ }, hr = (n, e, t, r) => ht(
3361
3361
  n,
3362
3362
  e,
3363
3363
  `/chat/conversations?${bi(
@@ -3366,7 +3366,7 @@ const ft = (n) => n instanceof mi && n.status === 409, ut = async (n, e, t, r) =
3366
3366
  )}`,
3367
3367
  { signal: r }
3368
3368
  ), pr = async (n, e, t, r, i) => {
3369
- const a = await ut(
3369
+ const a = await ht(
3370
3370
  n,
3371
3371
  e,
3372
3372
  `/chat/conversations/${encodeURIComponent(
@@ -3381,17 +3381,17 @@ const ft = (n) => n instanceof mi && n.status === 409, ut = async (n, e, t, r) =
3381
3381
  items: a.items.map((s) => On(s, n)).reverse(),
3382
3382
  nextCursor: a.nextCursor
3383
3383
  };
3384
- }, Io = (n, e) => ut(n, e, "/chat/conversations", {
3384
+ }, Io = (n, e) => ht(n, e, "/chat/conversations", {
3385
3385
  method: "POST",
3386
3386
  body: JSON.stringify({})
3387
- }), Ao = (n, e, t, r) => ut(
3387
+ }), Ao = (n, e, t, r) => ht(
3388
3388
  n,
3389
3389
  e,
3390
3390
  `/chat/conversations/${encodeURIComponent(t)}/select`,
3391
3391
  { method: "POST", signal: r }
3392
3392
  );
3393
3393
  async function gr(n, e, t, r, i = crypto.randomUUID()) {
3394
- const a = await ut(
3394
+ const a = await ht(
3395
3395
  n,
3396
3396
  e,
3397
3397
  "/chat/messages",
@@ -3431,17 +3431,17 @@ const ko = (n, e) => {
3431
3431
  }, xo = (n, e) => ({
3432
3432
  ...e,
3433
3433
  ...ko(n?.text ?? "", e.text)
3434
- }), rn = [], So = 100;
3435
- let $e = 0, Te = null, ce = null, To = 0, Eo = 0, ge = null;
3436
- const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n.name === "AbortError", fr = (n) => {
3434
+ }), an = [], So = 100;
3435
+ let et = 0, Te = null, ce = null, To = 0, Eo = 0, ge = null;
3436
+ const Ce = /* @__PURE__ */ new Map(), bt = (n) => n instanceof DOMException && n.name === "AbortError", fr = (n) => {
3437
3437
  Ce.get(n)?.controller.abort();
3438
3438
  const e = {
3439
3439
  controller: new AbortController(),
3440
3440
  generation: ++To
3441
3441
  };
3442
3442
  return Ce.set(n, e), e;
3443
- }, rt = (n, e) => Ce.get(n)?.generation === e.generation, mr = (n, e) => {
3444
- rt(n, e) && Ce.delete(n);
3443
+ }, it = (n, e) => Ce.get(n)?.generation === e.generation, mr = (n, e) => {
3444
+ it(n, e) && Ce.delete(n);
3445
3445
  }, Ro = () => {
3446
3446
  ge?.controller.abort(), ge = null, Te?.abort(), Te = null, ce?.abort(), ce = null;
3447
3447
  for (const { controller: n } of Ce.values())
@@ -3449,16 +3449,16 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3449
3449
  Ce.clear();
3450
3450
  }, br = (n, e) => n.flatMap(
3451
3451
  (t) => t.messages?.[0] ? [On(t.messages[0], e)] : []
3452
- ), Tt = (n) => n.status === Q.Completed || n.status === Q.Failed, gn = (n) => {
3452
+ ), Et = (n) => n.status === Q.Completed || n.status === Q.Failed, fn = (n) => {
3453
3453
  if (!n) return !1;
3454
3454
  const e = n;
3455
- return e.text?.trim() ? !0 : e.content?.some(gn) ?? !1;
3456
- }, fn = (n) => {
3455
+ return e.text?.trim() ? !0 : e.content?.some(fn) ?? !1;
3456
+ }, mn = (n) => {
3457
3457
  if (n.author.type !== Ee.Agent || n.status !== Q.Completed)
3458
3458
  return !1;
3459
3459
  const e = n.data?.commands;
3460
- return !n.content || !Array.isArray(e) ? !1 : !gn(n.content) && !(n.agenticSteps ?? []).some(({ text: t }) => gn(t)) && e.length === 0;
3461
- }, bt = (n, e) => {
3460
+ return !n.content || !Array.isArray(e) ? !1 : !fn(n.content) && !(n.agenticSteps ?? []).some(({ text: t }) => fn(t)) && e.length === 0;
3461
+ }, wt = (n, e) => {
3462
3462
  const t = new Set(
3463
3463
  e.filter(({ status: r }) => r === Q.Failed).map(({ id: r }) => r)
3464
3464
  );
@@ -3508,7 +3508,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3508
3508
  canonicalMessageId: null
3509
3509
  }), Po = (n, e) => n && e.some(
3510
3510
  ({ id: t }) => t === n.id || t === n.canonicalMessageId
3511
- ) ? null : n, wt = (n, e, t) => {
3511
+ ) ? null : n, yt = (n, e, t) => {
3512
3512
  if (!n || n.canonicalMessageId) return n;
3513
3513
  const r = new Set(t.map(({ id: a }) => a)), i = e.find((a) => {
3514
3514
  const s = a.conversationId ?? a.threadId;
@@ -3520,18 +3520,18 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3520
3520
  conversationId: n.conversationId ?? i.conversationId ?? i.threadId,
3521
3521
  canonicalMessageId: i.id
3522
3522
  } : n;
3523
- }, yt = (n, e, t = /* @__PURE__ */ new Set()) => {
3523
+ }, vt = (n, e, t = /* @__PURE__ */ new Set()) => {
3524
3524
  const r = new Map(
3525
3525
  n.filter(
3526
- (i) => t.has(i.id) || !fn(i)
3526
+ (i) => t.has(i.id) || !mn(i)
3527
3527
  ).map((i) => [i.id, i])
3528
3528
  );
3529
3529
  for (const i of e) {
3530
- if (!t.has(i.id) && fn(i)) {
3530
+ if (!t.has(i.id) && mn(i)) {
3531
3531
  r.delete(i.id);
3532
3532
  continue;
3533
3533
  }
3534
- const a = r.get(i.id), s = a && Date.parse(a.updatedAt) > Date.parse(i.updatedAt), o = a && Tt(a) && i.status === Q.Writing;
3534
+ const a = r.get(i.id), s = a && Date.parse(a.updatedAt) > Date.parse(i.updatedAt), o = a && Et(a) && i.status === Q.Writing;
3535
3535
  s || o || r.set(
3536
3536
  i.id,
3537
3537
  a && t.has(i.id) && i.status === Q.Writing ? {
@@ -3544,7 +3544,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3544
3544
  );
3545
3545
  }
3546
3546
  return [...r.values()];
3547
- }, _ = gi((n, e) => ({
3547
+ }, q = gi((n, e) => ({
3548
3548
  currentThreadId: void 0,
3549
3549
  currentThreadMessages: [],
3550
3550
  conversations: [],
@@ -3575,7 +3575,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3575
3575
  },
3576
3576
  initMessageStore: async (t, r) => {
3577
3577
  const i = e().config?.customerInteractionSession.interactionSessionId !== t.customerInteractionSession.interactionSessionId;
3578
- i && ($e += 1, Ro()), n({
3578
+ i && (et += 1, Ro()), n({
3579
3579
  config: t,
3580
3580
  api: r,
3581
3581
  ...i ? {
@@ -3618,7 +3618,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3618
3618
  a.signal
3619
3619
  );
3620
3620
  } catch (y) {
3621
- if (Te === a && (Te = null), mt(y)) return;
3621
+ if (Te === a && (Te = null), bt(y)) return;
3622
3622
  throw y;
3623
3623
  }
3624
3624
  if (Te !== a || e().config?.customerInteractionSession.interactionSessionId !== s)
@@ -3645,7 +3645,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3645
3645
  ), A = br(
3646
3646
  f,
3647
3647
  r
3648
- ), C = e().currentThreadId, S = u || (C && h.includes(C) ? C : void 0), N = bt(
3648
+ ), C = e().currentThreadId, S = u || (C && h.includes(C) ? C : void 0), N = wt(
3649
3649
  e().messageStreams,
3650
3650
  A
3651
3651
  ), x = e().messages;
@@ -3657,12 +3657,12 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3657
3657
  threadMessagesNextCursor: b,
3658
3658
  currentThreadId: S,
3659
3659
  messageStreams: N,
3660
- messages: yt(
3660
+ messages: vt(
3661
3661
  x,
3662
3662
  A,
3663
3663
  new Set(N.keys())
3664
3664
  ),
3665
- pendingCustomerMessage: wt(
3665
+ pendingCustomerMessage: yt(
3666
3666
  e().pendingCustomerMessage,
3667
3667
  A,
3668
3668
  x
@@ -3694,7 +3694,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3694
3694
  ), l = o.items.filter(({ id: h }) => c.has(h) ? !1 : (c.add(h), !0)), d = br(
3695
3695
  l,
3696
3696
  t
3697
- ), u = e().messages, f = bt(
3697
+ ), u = e().messages, f = wt(
3698
3698
  e().messageStreams,
3699
3699
  d
3700
3700
  );
@@ -3706,19 +3706,19 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3706
3706
  ...l.map(({ id: h }) => h)
3707
3707
  ],
3708
3708
  messageStreams: f,
3709
- messages: yt(
3709
+ messages: vt(
3710
3710
  u,
3711
3711
  d,
3712
3712
  new Set(f.keys())
3713
3713
  ),
3714
- pendingCustomerMessage: wt(
3714
+ pendingCustomerMessage: yt(
3715
3715
  e().pendingCustomerMessage,
3716
3716
  d,
3717
3717
  u
3718
3718
  )
3719
3719
  }), e().actions.updateThreads();
3720
3720
  } catch (o) {
3721
- if (!mt(o)) throw o;
3721
+ if (!bt(o)) throw o;
3722
3722
  } finally {
3723
3723
  const o = ce === s;
3724
3724
  o && (ce = null), (o || ce === null) && e().config?.customerInteractionSession.interactionSessionId === a && n({ isLoadingMoreConversations: !1 });
@@ -3740,7 +3740,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3740
3740
  const o = e().currentThreadId, c = e().currentThreadMessages;
3741
3741
  n({
3742
3742
  currentThreadId: t,
3743
- currentThreadMessages: e().loadedThreadIds.has(t) ? [...e().threads.get(t) ?? rn] : [],
3743
+ currentThreadMessages: e().loadedThreadIds.has(t) ? [...e().threads.get(t) ?? an] : [],
3744
3744
  sendError: null,
3745
3745
  responsePhase: "idle"
3746
3746
  });
@@ -3756,11 +3756,11 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3756
3756
  } catch (l) {
3757
3757
  if (ge?.generation !== s.generation || e().config?.customerInteractionSession.interactionSessionId !== a)
3758
3758
  return;
3759
- if (ft(l)) {
3759
+ if (mt(l)) {
3760
3760
  e().currentThreadId === t && n({
3761
3761
  currentThreadId: void 0,
3762
3762
  currentThreadMessages: [],
3763
- sendError: St.conversationClosed,
3763
+ sendError: Tt.conversationClosed,
3764
3764
  responsePhase: "idle"
3765
3765
  }), await e().actions.recoverMessages();
3766
3766
  return;
@@ -3854,7 +3854,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3854
3854
  return;
3855
3855
  }
3856
3856
  const s = e().messages[a];
3857
- if (s.author.type !== Ee.Agent || Tt(s))
3857
+ if (s.author.type !== Ee.Agent || Et(s))
3858
3858
  return;
3859
3859
  const o = new Map(e().messageStreams).set(
3860
3860
  t.messageId,
@@ -3890,12 +3890,12 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3890
3890
  ...t,
3891
3891
  conversationId: r,
3892
3892
  threadId: r
3893
- }, s = Tt(a), o = a.author.type === Ee.Agent, c = e().messageStreams.get(a.id), l = !!c || !fn(a), d = e().messages.findIndex(
3893
+ }, s = Et(a), o = a.author.type === Ee.Agent, c = e().messageStreams.get(a.id), l = !!c || !mn(a), d = e().messages.findIndex(
3894
3894
  ({ id: C }) => C === a.id
3895
3895
  );
3896
3896
  let u = a;
3897
3897
  if (d !== -1) {
3898
- const C = e().messages[d], S = a.status === Q.Writing && Tt(C), N = a.status === Q.Writing && !!c;
3898
+ const C = e().messages[d], S = a.status === Q.Writing && Et(C), N = a.status === Q.Writing && !!c;
3899
3899
  u = S ? C : N ? {
3900
3900
  ...a,
3901
3901
  status: c.done ? Q.Completed : Q.Writing,
@@ -3956,7 +3956,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3956
3956
  sendMessage: async (t) => {
3957
3957
  if (e().sendInFlight || e().responsePhase !== "idle")
3958
3958
  return;
3959
- const r = ++$e, i = crypto.randomUUID(), a = No(
3959
+ const r = ++et, i = crypto.randomUUID(), a = No(
3960
3960
  i,
3961
3961
  t,
3962
3962
  e().currentThreadId,
@@ -3976,7 +3976,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3976
3976
  e().currentThreadId,
3977
3977
  i
3978
3978
  );
3979
- if (r !== $e) return;
3979
+ if (r !== et) return;
3980
3980
  const o = e().pendingCustomerMessage;
3981
3981
  return n({
3982
3982
  currentThreadId: s.conversationId,
@@ -3987,17 +3987,17 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
3987
3987
  } : o
3988
3988
  }), e().actions.handleMessage(s), await e().actions.recoverMessages(!0), s;
3989
3989
  } catch (s) {
3990
- if (r !== $e) return;
3990
+ if (r !== et) return;
3991
3991
  const o = e().pendingCustomerMessage;
3992
3992
  n({
3993
- sendError: ft(s) ? St.conversationClosed : s instanceof Error ? s.message : St.sendMessageFallback,
3993
+ sendError: mt(s) ? Tt.conversationClosed : s instanceof Error ? s.message : Tt.sendMessageFallback,
3994
3994
  responsePhase: "idle",
3995
3995
  pendingCustomerMessage: o?.id === i && !o.acknowledged ? null : o,
3996
- ...ft(s) ? { currentThreadId: void 0, currentThreadMessages: [] } : {}
3997
- }), ft(s) && e().actions.recoverMessages();
3996
+ ...mt(s) ? { currentThreadId: void 0, currentThreadMessages: [] } : {}
3997
+ }), mt(s) && e().actions.recoverMessages();
3998
3998
  return;
3999
3999
  } finally {
4000
- r === $e && n({ sendInFlight: !1 });
4000
+ r === et && n({ sendInFlight: !1 });
4001
4001
  }
4002
4002
  },
4003
4003
  clearSendError: () => n({ sendError: null }),
@@ -4023,7 +4023,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4023
4023
  threads: r,
4024
4024
  threadsPreviews: i,
4025
4025
  currentThreadMessages: [
4026
- ...r.get(a) ?? rn
4026
+ ...r.get(a) ?? an
4027
4027
  ],
4028
4028
  pendingCustomerMessage: Po(
4029
4029
  e().pendingCustomerMessage,
@@ -4034,7 +4034,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4034
4034
  setCurrentThreadMessages: (t) => {
4035
4035
  n({
4036
4036
  currentThreadMessages: [
4037
- ...e().threads.get(t) ?? rn
4037
+ ...e().threads.get(t) ?? an
4038
4038
  ]
4039
4039
  });
4040
4040
  },
@@ -4058,9 +4058,9 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4058
4058
  void 0,
4059
4059
  s.controller.signal
4060
4060
  );
4061
- if (!rt(t, s) || e().config?.customerInteractionSession.interactionSessionId !== a)
4061
+ if (!it(t, s) || e().config?.customerInteractionSession.interactionSessionId !== a)
4062
4062
  return;
4063
- const l = bt(
4063
+ const l = wt(
4064
4064
  e().messageStreams,
4065
4065
  o
4066
4066
  ), d = e().messages, u = new Set(e().loadedThreadIds).add(
@@ -4071,21 +4071,21 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4071
4071
  n({
4072
4072
  messageStreams: l,
4073
4073
  threadMessagesNextCursor: f,
4074
- messages: yt(
4074
+ messages: vt(
4075
4075
  d,
4076
4076
  o,
4077
4077
  new Set(l.keys())
4078
4078
  ),
4079
- pendingCustomerMessage: wt(
4079
+ pendingCustomerMessage: yt(
4080
4080
  e().pendingCustomerMessage,
4081
4081
  o,
4082
4082
  d
4083
4083
  )
4084
4084
  }), e().actions.updateThreads(), n({ loadedThreadIds: u });
4085
4085
  } catch (o) {
4086
- if (!mt(o)) throw o;
4086
+ if (!bt(o)) throw o;
4087
4087
  } finally {
4088
- const o = rt(
4088
+ const o = it(
4089
4089
  t,
4090
4090
  s
4091
4091
  );
@@ -4120,9 +4120,9 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4120
4120
  a,
4121
4121
  o.controller.signal
4122
4122
  );
4123
- if (!rt(t, o) || e().config?.customerInteractionSession.interactionSessionId !== s || e().threadMessagesNextCursor.get(t) !== a)
4123
+ if (!it(t, o) || e().config?.customerInteractionSession.interactionSessionId !== s || e().threadMessagesNextCursor.get(t) !== a)
4124
4124
  return;
4125
- const d = bt(
4125
+ const d = wt(
4126
4126
  e().messageStreams,
4127
4127
  c
4128
4128
  ), u = e().messages;
@@ -4132,21 +4132,21 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4132
4132
  t,
4133
4133
  l
4134
4134
  ),
4135
- messages: yt(
4135
+ messages: vt(
4136
4136
  u,
4137
4137
  c,
4138
4138
  new Set(d.keys())
4139
4139
  ),
4140
- pendingCustomerMessage: wt(
4140
+ pendingCustomerMessage: yt(
4141
4141
  e().pendingCustomerMessage,
4142
4142
  c,
4143
4143
  u
4144
4144
  )
4145
4145
  }), e().actions.updateThreads();
4146
4146
  } catch (c) {
4147
- if (!mt(c)) throw c;
4147
+ if (!bt(c)) throw c;
4148
4148
  } finally {
4149
- const c = rt(t, o);
4149
+ const c = it(t, o);
4150
4150
  if (mr(t, o), c && e().config?.customerInteractionSession.interactionSessionId === s) {
4151
4151
  const l = new Set(e().loadingOlderThreadIds);
4152
4152
  l.delete(t), n({ loadingOlderThreadIds: l });
@@ -4164,16 +4164,16 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4164
4164
  n({ currentThreadId: r.conversationId }), e().actions.handleMessage(r);
4165
4165
  }
4166
4166
  }
4167
- })), Mu = () => _((n) => n.currentThreadId), Vo = () => _((n) => n.currentThreadMessages), Lu = () => _((n) => n.threadsPreviews), Nu = () => _((n) => !!n.conversationsNextCursor), Pu = () => _((n) => n.isLoadingMoreConversations), Oo = () => _((n) => n.currentThreadId), Vu = () => _(
4167
+ })), Nu = () => q((n) => n.currentThreadId), Vo = () => q((n) => n.currentThreadMessages), Pu = () => q((n) => n.threadsPreviews), Vu = () => q((n) => !!n.conversationsNextCursor), Ou = () => q((n) => n.isLoadingMoreConversations), Oo = () => q((n) => n.currentThreadId), zu = () => q(
4168
4168
  (n) => n.currentThreadId ? !n.refreshingThreadIds.has(n.currentThreadId) && !!n.threadMessagesNextCursor.get(n.currentThreadId) : !1
4169
- ), Ou = () => _(
4169
+ ), Gu = () => q(
4170
4170
  (n) => n.currentThreadId ? n.loadingOlderThreadIds.has(n.currentThreadId) : !1
4171
- ), zo = () => _((n) => n.latestReadMessageDate), wi = () => _((n) => n.latestMessageDate), zu = () => _((n) => n.sendError), Go = (n) => !!(n.currentThreadId && !n.loadedThreadIds.has(n.currentThreadId)), Gu = () => _(Go), Fu = () => _((n) => n.responsePhase === "awaiting-first-token"), Du = () => _(
4171
+ ), zo = () => q((n) => n.latestReadMessageDate), wi = () => q((n) => n.latestMessageDate), Fu = () => q((n) => n.sendError), Go = (n) => !!(n.currentThreadId && !n.loadedThreadIds.has(n.currentThreadId)), Du = () => q(Go), Bu = () => q((n) => n.responsePhase === "awaiting-first-token"), Wu = () => q(
4172
4172
  (n) => n.sendInFlight || n.responsePhase !== "idle"
4173
- ), Fo = (n) => n.pendingCustomerMessage?.conversationId === n.currentThreadId ? n.pendingCustomerMessage : null, Bu = () => _(Fo), Wu = (n) => _((e) => e.messageStreams.get(n)), Do = () => _((n) => n.actions), Gt = (n) => !!n && typeof n == "object" && !Array.isArray(n), Bo = 2e5, Wo = (n) => {
4174
- if (!Gt(n)) return null;
4173
+ ), Fo = (n) => n.pendingCustomerMessage?.conversationId === n.currentThreadId ? n.pendingCustomerMessage : null, Xu = () => q(Fo), Zu = (n) => q((e) => e.messageStreams.get(n)), Do = () => q((n) => n.actions), Ft = (n) => !!n && typeof n == "object" && !Array.isArray(n), Bo = 2e5, Wo = (n) => {
4174
+ if (!Ft(n)) return null;
4175
4175
  const e = n.event?.conversationCreated;
4176
- if (!e || !Gt(e.conversation)) return null;
4176
+ if (!e || !Ft(e.conversation)) return null;
4177
4177
  const t = e.conversation, r = t.id, i = t.title, a = t.status, s = t.createdAt, o = t.updatedAt;
4178
4178
  return typeof r != "string" || r !== e.conversationId || i !== null && typeof i != "string" || a !== "OPEN" && a !== "CLOSED" || typeof s != "string" || typeof o != "string" ? null : { id: r, title: i, status: a, createdAt: s, updatedAt: o, isCurrent: !0 };
4179
4179
  }, Xo = (n) => {
@@ -4183,9 +4183,9 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4183
4183
  const r = t.conversationId ?? t.threadId;
4184
4184
  return r ? { ...t, conversationId: r, threadId: r } : null;
4185
4185
  }, Zo = (n) => {
4186
- if (!Gt(n)) return null;
4186
+ if (!Ft(n)) return null;
4187
4187
  const t = n.messageDelta;
4188
- if (!Gt(t) || t.contractVersion !== 1) return null;
4188
+ if (!Ft(t) || t.contractVersion !== 1) return null;
4189
4189
  const { messageId: r, sequence: i, text: a, done: s } = t;
4190
4190
  return typeof r != "string" || !r || !Number.isSafeInteger(i) || i < 0 || typeof a != "string" || a.length > Bo || typeof s != "boolean" ? null : {
4191
4191
  messageId: r,
@@ -4197,7 +4197,7 @@ const Ce = /* @__PURE__ */ new Map(), mt = (n) => n instanceof DOMException && n
4197
4197
  if (!n || typeof n != "object") return null;
4198
4198
  const e = n.event;
4199
4199
  return e?.messageAgenticStepsAppended ?? e?.messageAgenticStepsUpdated ?? null;
4200
- }, Ho = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]), jo = 8, qo = 16, _o = 256, wr = 128, Ko = 32;
4200
+ }, Ho = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]), jo = 8, _o = 16, qo = 256, wr = 128, Ko = 32;
4201
4201
  class Yo {
4202
4202
  playbacks = /* @__PURE__ */ new Map();
4203
4203
  terminalPlaybackIds = /* @__PURE__ */ new Set();
@@ -4206,7 +4206,7 @@ class Yo {
4206
4206
  if (!t || this.terminalPlaybackIds.has(t.playbackId)) return;
4207
4207
  const r = this.bufferFor(t.playbackId);
4208
4208
  if (!(!r || r.final)) {
4209
- if (r.batches.length >= qo || r.cueCount + t.cues.length > _o) {
4209
+ if (r.batches.length >= _o || r.cueCount + t.cues.length > qo) {
4210
4210
  r.batches = [], r.cueCount = 0, r.final = !0, r.wake?.();
4211
4211
  return;
4212
4212
  }
@@ -4320,11 +4320,11 @@ const ec = (n) => {
4320
4320
  e.session,
4321
4321
  e.sendAck
4322
4322
  ) : null;
4323
- }, Ci = Ut(void 0), nc = (n, e, t) => {
4323
+ }, Ci = Ht(void 0), nc = (n, e, t) => {
4324
4324
  const [r, i] = Y(
4325
4325
  Le.Pending
4326
4326
  ), [a, s] = Y(null);
4327
- return q(() => {
4327
+ return _(() => {
4328
4328
  const o = { current: null }, c = () => {
4329
4329
  i(Le.Available);
4330
4330
  }, l = () => {
@@ -4335,7 +4335,7 @@ const ec = (n) => {
4335
4335
  yo(n.customerInteractionSession.accessToken),
4336
4336
  (h) => {
4337
4337
  c();
4338
- const w = _.getState().actions, p = tc(h, {
4338
+ const w = q.getState().actions, p = tc(h, {
4339
4339
  messageActions: w,
4340
4340
  commandRuntime: e,
4341
4341
  session: n.customerInteractionSession,
@@ -4356,7 +4356,7 @@ const ec = (n) => {
4356
4356
  }), d.channels.chat.on("connect", () => {
4357
4357
  console.info("[CableContext] Connected to the chat channel"), s(d), c();
4358
4358
  }), d.channels.chat.on("disconnect", (h) => {
4359
- Jt(h) && t?.(), i(
4359
+ Qt(h) && t?.(), i(
4360
4360
  navigator.onLine ? Le.Unavailable : Le.Offline
4361
4361
  ), console.warn("[CableContext] Disconnected from the chat channel", h);
4362
4362
  });
@@ -4394,43 +4394,43 @@ const de = {
4394
4394
  voice: "/chat/voice",
4395
4395
  text: "/chat/text"
4396
4396
  };
4397
- function Xu(n) {
4397
+ function Uu(n) {
4398
4398
  if (!n || typeof n != "object" || !("chatMode" in n))
4399
4399
  return null;
4400
4400
  const { chatMode: e } = n;
4401
4401
  return e === "text" || e === "voice" ? e : null;
4402
4402
  }
4403
- function Zu(n) {
4403
+ function Hu(n) {
4404
4404
  return n === de.text || n.endsWith(de.text) ? "text" : "voice";
4405
4405
  }
4406
- function mn(n) {
4406
+ function bn(n) {
4407
4407
  return n === de.list || n.endsWith(de.list);
4408
4408
  }
4409
- function bn(n) {
4409
+ function wn(n) {
4410
4410
  return n === de.voice || n.endsWith(de.voice) || n === de.text || n.endsWith(de.text);
4411
4411
  }
4412
- function Uu(n, e) {
4413
- return bn(n) && mn(e) ? "forward" : mn(n) && bn(e) ? "backward" : null;
4412
+ function ju(n, e) {
4413
+ return wn(n) && bn(e) ? "forward" : bn(n) && wn(e) ? "backward" : null;
4414
4414
  }
4415
4415
  function sc(n) {
4416
- return !bn(n);
4416
+ return !wn(n);
4417
4417
  }
4418
- const wn = 300 * 1e3;
4418
+ const yn = 300 * 1e3;
4419
4419
  function oc(n, e = Date.now()) {
4420
4420
  const t = Date.parse(n.expiresAt);
4421
- return !Number.isFinite(t) || t <= e + wn;
4421
+ return !Number.isFinite(t) || t <= e + yn;
4422
4422
  }
4423
4423
  const cc = 60 * 1e3;
4424
4424
  function lc(n, e) {
4425
4425
  const t = J(e), r = n.customerInteractionSession, i = be(() => {
4426
4426
  oc(r) && t.current.onSessionExpired();
4427
4427
  }, [r]);
4428
- q(() => {
4428
+ _(() => {
4429
4429
  i();
4430
- }, [i]), q(() => {
4430
+ }, [i]), _(() => {
4431
4431
  const a = () => i();
4432
4432
  return window.addEventListener("focus", a), () => window.removeEventListener("focus", a);
4433
- }, [i]), q(() => {
4433
+ }, [i]), _(() => {
4434
4434
  const a = window.setInterval(i, cc);
4435
4435
  return () => window.clearInterval(a);
4436
4436
  }, [i]);
@@ -4454,11 +4454,11 @@ xe.pong = "3";
4454
4454
  xe.message = "4";
4455
4455
  xe.upgrade = "5";
4456
4456
  xe.noop = "6";
4457
- const Et = /* @__PURE__ */ Object.create(null);
4457
+ const Rt = /* @__PURE__ */ Object.create(null);
4458
4458
  Object.keys(xe).forEach((n) => {
4459
- Et[xe[n]] = n;
4459
+ Rt[xe[n]] = n;
4460
4460
  });
4461
- const yn = { type: "error", data: "parser error" }, Ii = typeof Blob == "function" || typeof Blob < "u" && Object.prototype.toString.call(Blob) === "[object BlobConstructor]", Ai = typeof ArrayBuffer == "function", ki = (n) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(n) : n && n.buffer instanceof ArrayBuffer, zn = ({ type: n, data: e }, t, r) => Ii && e instanceof Blob ? t ? r(e) : vr(e, r) : Ai && (e instanceof ArrayBuffer || ki(e)) ? t ? r(e) : vr(new Blob([e]), r) : r(xe[n] + (e || "")), vr = (n, e) => {
4461
+ const vn = { type: "error", data: "parser error" }, Ii = typeof Blob == "function" || typeof Blob < "u" && Object.prototype.toString.call(Blob) === "[object BlobConstructor]", Ai = typeof ArrayBuffer == "function", ki = (n) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(n) : n && n.buffer instanceof ArrayBuffer, zn = ({ type: n, data: e }, t, r) => Ii && e instanceof Blob ? t ? r(e) : vr(e, r) : Ai && (e instanceof ArrayBuffer || ki(e)) ? t ? r(e) : vr(new Blob([e]), r) : r(xe[n] + (e || "")), vr = (n, e) => {
4462
4462
  const t = new FileReader();
4463
4463
  return t.onload = function() {
4464
4464
  const r = t.result.split(",")[1];
@@ -4468,25 +4468,25 @@ const yn = { type: "error", data: "parser error" }, Ii = typeof Blob == "functio
4468
4468
  function Cr(n) {
4469
4469
  return n instanceof Uint8Array ? n : n instanceof ArrayBuffer ? new Uint8Array(n) : new Uint8Array(n.buffer, n.byteOffset, n.byteLength);
4470
4470
  }
4471
- let an;
4471
+ let sn;
4472
4472
  function hc(n, e) {
4473
4473
  if (Ii && n.data instanceof Blob)
4474
4474
  return n.data.arrayBuffer().then(Cr).then(e);
4475
4475
  if (Ai && (n.data instanceof ArrayBuffer || ki(n.data)))
4476
4476
  return e(Cr(n.data));
4477
4477
  zn(n, !1, (t) => {
4478
- an || (an = new TextEncoder()), e(an.encode(t));
4478
+ sn || (sn = new TextEncoder()), e(sn.encode(t));
4479
4479
  });
4480
4480
  }
4481
- const Ir = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", it = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
4481
+ const Ir = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", at = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
4482
4482
  for (let n = 0; n < Ir.length; n++)
4483
- it[Ir.charCodeAt(n)] = n;
4483
+ at[Ir.charCodeAt(n)] = n;
4484
4484
  const pc = (n) => {
4485
4485
  let e = n.length * 0.75, t = n.length, r, i = 0, a, s, o, c;
4486
4486
  n[n.length - 1] === "=" && (e--, n[n.length - 2] === "=" && e--);
4487
4487
  const l = new ArrayBuffer(e), d = new Uint8Array(l);
4488
4488
  for (r = 0; r < t; r += 4)
4489
- a = it[n.charCodeAt(r)], s = it[n.charCodeAt(r + 1)], o = it[n.charCodeAt(r + 2)], c = it[n.charCodeAt(r + 3)], d[i++] = a << 2 | s >> 4, d[i++] = (s & 15) << 4 | o >> 2, d[i++] = (o & 3) << 6 | c & 63;
4489
+ a = at[n.charCodeAt(r)], s = at[n.charCodeAt(r + 1)], o = at[n.charCodeAt(r + 2)], c = at[n.charCodeAt(r + 3)], d[i++] = a << 2 | s >> 4, d[i++] = (s & 15) << 4 | o >> 2, d[i++] = (o & 3) << 6 | c & 63;
4490
4490
  return l;
4491
4491
  }, gc = typeof ArrayBuffer == "function", Gn = (n, e) => {
4492
4492
  if (typeof n != "string")
@@ -4498,12 +4498,12 @@ const pc = (n) => {
4498
4498
  return t === "b" ? {
4499
4499
  type: "message",
4500
4500
  data: fc(n.substring(1), e)
4501
- } : Et[t] ? n.length > 1 ? {
4502
- type: Et[t],
4501
+ } : Rt[t] ? n.length > 1 ? {
4502
+ type: Rt[t],
4503
4503
  data: n.substring(1)
4504
4504
  } : {
4505
- type: Et[t]
4506
- } : yn;
4505
+ type: Rt[t]
4506
+ } : vn;
4507
4507
  }, fc = (n, e) => {
4508
4508
  if (gc) {
4509
4509
  const t = pc(n);
@@ -4549,11 +4549,11 @@ function wc() {
4549
4549
  }
4550
4550
  });
4551
4551
  }
4552
- let sn;
4553
- function vt(n) {
4552
+ let on;
4553
+ function Ct(n) {
4554
4554
  return n.reduce((e, t) => e + t.length, 0);
4555
4555
  }
4556
- function Ct(n, e) {
4556
+ function It(n, e) {
4557
4557
  if (n[0].length === e)
4558
4558
  return n.shift();
4559
4559
  const t = new Uint8Array(e);
@@ -4563,39 +4563,39 @@ function Ct(n, e) {
4563
4563
  return n.length && r < n[0].length && (n[0] = n[0].slice(r)), t;
4564
4564
  }
4565
4565
  function yc(n, e) {
4566
- sn || (sn = new TextDecoder());
4566
+ on || (on = new TextDecoder());
4567
4567
  const t = [];
4568
4568
  let r = 0, i = -1, a = !1;
4569
4569
  return new TransformStream({
4570
4570
  transform(s, o) {
4571
4571
  for (t.push(s); ; ) {
4572
4572
  if (r === 0) {
4573
- if (vt(t) < 1)
4573
+ if (Ct(t) < 1)
4574
4574
  break;
4575
- const c = Ct(t, 1);
4575
+ const c = It(t, 1);
4576
4576
  a = (c[0] & 128) === 128, i = c[0] & 127, i < 126 ? r = 3 : i === 126 ? r = 1 : r = 2;
4577
4577
  } else if (r === 1) {
4578
- if (vt(t) < 2)
4578
+ if (Ct(t) < 2)
4579
4579
  break;
4580
- const c = Ct(t, 2);
4580
+ const c = It(t, 2);
4581
4581
  i = new DataView(c.buffer, c.byteOffset, c.length).getUint16(0), r = 3;
4582
4582
  } else if (r === 2) {
4583
- if (vt(t) < 8)
4583
+ if (Ct(t) < 8)
4584
4584
  break;
4585
- const c = Ct(t, 8), l = new DataView(c.buffer, c.byteOffset, c.length), d = l.getUint32(0);
4585
+ const c = It(t, 8), l = new DataView(c.buffer, c.byteOffset, c.length), d = l.getUint32(0);
4586
4586
  if (d > Math.pow(2, 21) - 1) {
4587
- o.enqueue(yn);
4587
+ o.enqueue(vn);
4588
4588
  break;
4589
4589
  }
4590
4590
  i = d * Math.pow(2, 32) + l.getUint32(4), r = 3;
4591
4591
  } else {
4592
- if (vt(t) < i)
4592
+ if (Ct(t) < i)
4593
4593
  break;
4594
- const c = Ct(t, i);
4595
- o.enqueue(Gn(a ? c : sn.decode(c), e)), r = 0;
4594
+ const c = It(t, i);
4595
+ o.enqueue(Gn(a ? c : on.decode(c), e)), r = 0;
4596
4596
  }
4597
4597
  if (i === 0 || i > n) {
4598
- o.enqueue(yn);
4598
+ o.enqueue(vn);
4599
4599
  break;
4600
4600
  }
4601
4601
  }
@@ -4652,12 +4652,12 @@ $.prototype.listeners = function(n) {
4652
4652
  $.prototype.hasListeners = function(n) {
4653
4653
  return !!this.listeners(n).length;
4654
4654
  };
4655
- const Qt = typeof Promise == "function" && typeof Promise.resolve == "function" ? (e) => Promise.resolve().then(e) : (e, t) => t(e, 0), le = typeof self < "u" ? self : typeof window < "u" ? window : Function("return this")(), Cc = "arraybuffer";
4655
+ const $t = typeof Promise == "function" && typeof Promise.resolve == "function" ? (e) => Promise.resolve().then(e) : (e, t) => t(e, 0), le = typeof self < "u" ? self : typeof window < "u" ? window : Function("return this")(), Cc = "arraybuffer";
4656
4656
  function Ei(n, ...e) {
4657
4657
  return e.reduce((t, r) => (n.hasOwnProperty(r) && (t[r] = n[r]), t), {});
4658
4658
  }
4659
4659
  const Ic = le.setTimeout, Ac = le.clearTimeout;
4660
- function $t(n, e) {
4660
+ function en(n, e) {
4661
4661
  e.useNativeTimers ? (n.setTimeoutFn = Ic.bind(le), n.clearTimeoutFn = Ac.bind(le)) : (n.setTimeoutFn = le.setTimeout.bind(le), n.clearTimeoutFn = le.clearTimeout.bind(le));
4662
4662
  }
4663
4663
  const kc = 1.33;
@@ -4700,7 +4700,7 @@ class Fn extends $ {
4700
4700
  * @protected
4701
4701
  */
4702
4702
  constructor(e) {
4703
- super(), this.writable = !1, $t(this, e), this.opts = e, this.query = e.query, this.socket = e.socket, this.supportsBinary = !e.forceBase64;
4703
+ super(), this.writable = !1, en(this, e), this.opts = e, this.query = e.query, this.socket = e.socket, this.supportsBinary = !e.forceBase64;
4704
4704
  }
4705
4705
  /**
4706
4706
  * Emits an error.
@@ -4932,7 +4932,7 @@ class Pc extends Mc {
4932
4932
  }), this.pollXhr = e;
4933
4933
  }
4934
4934
  }
4935
- let _e = class Rt extends $ {
4935
+ let Ke = class Mt extends $ {
4936
4936
  /**
4937
4937
  * Request constructor
4938
4938
  *
@@ -4940,7 +4940,7 @@ let _e = class Rt extends $ {
4940
4940
  * @package
4941
4941
  */
4942
4942
  constructor(e, t, r) {
4943
- super(), this.createRequest = e, $t(this, r), this._opts = r, this._method = r.method || "GET", this._uri = t, this._data = r.data !== void 0 ? r.data : null, this._create();
4943
+ super(), this.createRequest = e, en(this, r), this._opts = r, this._method = r.method || "GET", this._uri = t, this._data = r.data !== void 0 ? r.data : null, this._create();
4944
4944
  }
4945
4945
  /**
4946
4946
  * Creates the XHR object and sends the request.
@@ -4986,7 +4986,7 @@ let _e = class Rt extends $ {
4986
4986
  }, 0);
4987
4987
  return;
4988
4988
  }
4989
- typeof document < "u" && (this._index = Rt.requestsCount++, Rt.requests[this._index] = this);
4989
+ typeof document < "u" && (this._index = Mt.requestsCount++, Mt.requests[this._index] = this);
4990
4990
  }
4991
4991
  /**
4992
4992
  * Called upon error.
@@ -5008,7 +5008,7 @@ let _e = class Rt extends $ {
5008
5008
  this._xhr.abort();
5009
5009
  } catch {
5010
5010
  }
5011
- typeof document < "u" && delete Rt.requests[this._index], this._xhr = null;
5011
+ typeof document < "u" && delete Mt.requests[this._index], this._xhr = null;
5012
5012
  }
5013
5013
  }
5014
5014
  /**
@@ -5029,8 +5029,8 @@ let _e = class Rt extends $ {
5029
5029
  this._cleanup();
5030
5030
  }
5031
5031
  };
5032
- _e.requestsCount = 0;
5033
- _e.requests = {};
5032
+ Ke.requestsCount = 0;
5033
+ Ke.requests = {};
5034
5034
  if (typeof document < "u") {
5035
5035
  if (typeof attachEvent == "function")
5036
5036
  attachEvent("onunload", Ar);
@@ -5040,8 +5040,8 @@ if (typeof document < "u") {
5040
5040
  }
5041
5041
  }
5042
5042
  function Ar() {
5043
- for (let n in _e.requests)
5044
- _e.requests.hasOwnProperty(n) && _e.requests[n].abort();
5043
+ for (let n in Ke.requests)
5044
+ Ke.requests.hasOwnProperty(n) && Ke.requests[n].abort();
5045
5045
  }
5046
5046
  const Vc = (function() {
5047
5047
  const n = Li({
@@ -5056,7 +5056,7 @@ class Oc extends Pc {
5056
5056
  this.supportsBinary = Vc && !t;
5057
5057
  }
5058
5058
  request(e = {}) {
5059
- return Object.assign(e, { xd: this.xd }, this.opts), new _e(Li, this.uri(), e);
5059
+ return Object.assign(e, { xd: this.xd }, this.opts), new Ke(Li, this.uri(), e);
5060
5060
  }
5061
5061
  }
5062
5062
  function Li(n) {
@@ -5109,7 +5109,7 @@ class zc extends Fn {
5109
5109
  this.doWrite(r, a);
5110
5110
  } catch {
5111
5111
  }
5112
- i && Qt(() => {
5112
+ i && $t(() => {
5113
5113
  this.writable = !0, this.emitReserved("drain");
5114
5114
  }, this.setTimeoutFn);
5115
5115
  });
@@ -5129,10 +5129,10 @@ class zc extends Fn {
5129
5129
  return this.opts.timestampRequests && (t[this.opts.timestampParam] = Ri()), this.supportsBinary || (t.b64 = 1), this.createUri(e, t);
5130
5130
  }
5131
5131
  }
5132
- const on = le.WebSocket || le.MozWebSocket;
5132
+ const cn = le.WebSocket || le.MozWebSocket;
5133
5133
  class Gc extends zc {
5134
5134
  createSocket(e, t, r) {
5135
- return Ni ? new on(e, t, r) : t ? new on(e, t) : new on(e);
5135
+ return Ni ? new cn(e, t, r) : t ? new cn(e, t) : new cn(e);
5136
5136
  }
5137
5137
  doWrite(e, t) {
5138
5138
  this.ws.send(t);
@@ -5173,7 +5173,7 @@ class Fc extends Fn {
5173
5173
  for (let t = 0; t < e.length; t++) {
5174
5174
  const r = e[t], i = t === e.length - 1;
5175
5175
  this._writer.write(r).then(() => {
5176
- i && Qt(() => {
5176
+ i && $t(() => {
5177
5177
  this.writable = !0, this.emitReserved("drain");
5178
5178
  }, this.setTimeoutFn);
5179
5179
  });
@@ -5204,7 +5204,7 @@ const Dc = {
5204
5204
  "query",
5205
5205
  "anchor"
5206
5206
  ];
5207
- function vn(n) {
5207
+ function Cn(n) {
5208
5208
  if (n.length > 8e3)
5209
5209
  throw "URI too long";
5210
5210
  const e = n, t = n.indexOf("["), r = n.indexOf("]");
@@ -5224,9 +5224,9 @@ function Zc(n, e) {
5224
5224
  i && (t[i] = a);
5225
5225
  }), t;
5226
5226
  }
5227
- const Cn = typeof addEventListener == "function" && typeof removeEventListener == "function", Mt = [];
5228
- Cn && addEventListener("offline", () => {
5229
- Mt.forEach((n) => n());
5227
+ const In = typeof addEventListener == "function" && typeof removeEventListener == "function", Lt = [];
5228
+ In && addEventListener("offline", () => {
5229
+ Lt.forEach((n) => n());
5230
5230
  }, !1);
5231
5231
  class Ve extends $ {
5232
5232
  /**
@@ -5237,10 +5237,10 @@ class Ve extends $ {
5237
5237
  */
5238
5238
  constructor(e, t) {
5239
5239
  if (super(), this.binaryType = Cc, this.writeBuffer = [], this._prevBufferLen = 0, this._pingInterval = -1, this._pingTimeout = -1, this._maxPayload = -1, this._pingTimeoutTime = 1 / 0, e && typeof e == "object" && (t = e, e = null), e) {
5240
- const r = vn(e);
5240
+ const r = Cn(e);
5241
5241
  t.hostname = r.host, t.secure = r.protocol === "https" || r.protocol === "wss", t.port = r.port, r.query && (t.query = r.query);
5242
- } else t.host && (t.hostname = vn(t.host).host);
5243
- $t(this, t), this.secure = t.secure != null ? t.secure : typeof location < "u" && location.protocol === "https:", t.hostname && !t.port && (t.port = this.secure ? "443" : "80"), this.hostname = t.hostname || (typeof location < "u" ? location.hostname : "localhost"), this.port = t.port || (typeof location < "u" && location.port ? location.port : this.secure ? "443" : "80"), this.transports = [], this._transportsByName = {}, t.transports.forEach((r) => {
5242
+ } else t.host && (t.hostname = Cn(t.host).host);
5243
+ en(this, t), this.secure = t.secure != null ? t.secure : typeof location < "u" && location.protocol === "https:", t.hostname && !t.port && (t.port = this.secure ? "443" : "80"), this.hostname = t.hostname || (typeof location < "u" ? location.hostname : "localhost"), this.port = t.port || (typeof location < "u" && location.port ? location.port : this.secure ? "443" : "80"), this.transports = [], this._transportsByName = {}, t.transports.forEach((r) => {
5244
5244
  const i = r.prototype.name;
5245
5245
  this.transports.push(i), this._transportsByName[i] = r;
5246
5246
  }), this.opts = Object.assign({
@@ -5257,13 +5257,13 @@ class Ve extends $ {
5257
5257
  },
5258
5258
  transportOptions: {},
5259
5259
  closeOnBeforeunload: !1
5260
- }, t), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query = Ec(this.opts.query)), Cn && (this.opts.closeOnBeforeunload && (this._beforeunloadEventListener = () => {
5260
+ }, t), this.opts.path = this.opts.path.replace(/\/$/, "") + (this.opts.addTrailingSlash ? "/" : ""), typeof this.opts.query == "string" && (this.opts.query = Ec(this.opts.query)), In && (this.opts.closeOnBeforeunload && (this._beforeunloadEventListener = () => {
5261
5261
  this.transport && (this.transport.removeAllListeners(), this.transport.close());
5262
5262
  }, addEventListener("beforeunload", this._beforeunloadEventListener, !1)), this.hostname !== "localhost" && (this._offlineEventListener = () => {
5263
5263
  this._onClose("transport close", {
5264
5264
  description: "network connection lost"
5265
5265
  });
5266
- }, Mt.push(this._offlineEventListener))), this.opts.withCredentials && (this._cookieJar = void 0), this._open();
5266
+ }, Lt.push(this._offlineEventListener))), this.opts.withCredentials && (this._cookieJar = void 0), this._open();
5267
5267
  }
5268
5268
  /**
5269
5269
  * Creates transport of the given type.
@@ -5412,7 +5412,7 @@ class Ve extends $ {
5412
5412
  if (!this._pingTimeoutTime)
5413
5413
  return !0;
5414
5414
  const e = Date.now() > this._pingTimeoutTime;
5415
- return e && (this._pingTimeoutTime = 0, Qt(() => {
5415
+ return e && (this._pingTimeoutTime = 0, $t(() => {
5416
5416
  this._onClose("ping timeout");
5417
5417
  }, this.setTimeoutFn)), e;
5418
5418
  }
@@ -5490,9 +5490,9 @@ class Ve extends $ {
5490
5490
  */
5491
5491
  _onClose(e, t) {
5492
5492
  if (this.readyState === "opening" || this.readyState === "open" || this.readyState === "closing") {
5493
- if (this.clearTimeoutFn(this._pingTimeoutTimer), this.transport.removeAllListeners("close"), this.transport.close(), this.transport.removeAllListeners(), Cn && (this._beforeunloadEventListener && removeEventListener("beforeunload", this._beforeunloadEventListener, !1), this._offlineEventListener)) {
5494
- const r = Mt.indexOf(this._offlineEventListener);
5495
- r !== -1 && Mt.splice(r, 1);
5493
+ if (this.clearTimeoutFn(this._pingTimeoutTimer), this.transport.removeAllListeners("close"), this.transport.close(), this.transport.removeAllListeners(), In && (this._beforeunloadEventListener && removeEventListener("beforeunload", this._beforeunloadEventListener, !1), this._offlineEventListener)) {
5494
+ const r = Lt.indexOf(this._offlineEventListener);
5495
+ r !== -1 && Lt.splice(r, 1);
5496
5496
  }
5497
5497
  this.readyState = "closed", this.id = null, this.emitReserved("close", e, t), this.writeBuffer = [], this._prevBufferLen = 0;
5498
5498
  }
@@ -5579,37 +5579,37 @@ let Hc = class extends Uc {
5579
5579
  };
5580
5580
  function jc(n, e = "", t) {
5581
5581
  let r = n;
5582
- t = t || typeof location < "u" && location, n == null && (n = t.protocol + "//" + t.host), typeof n == "string" && (n.charAt(0) === "/" && (n.charAt(1) === "/" ? n = t.protocol + n : n = t.host + n), /^(https?|wss?):\/\//.test(n) || (typeof t < "u" ? n = t.protocol + "//" + n : n = "https://" + n), r = vn(n)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = "80" : /^(http|ws)s$/.test(r.protocol) && (r.port = "443")), r.path = r.path || "/";
5582
+ t = t || typeof location < "u" && location, n == null && (n = t.protocol + "//" + t.host), typeof n == "string" && (n.charAt(0) === "/" && (n.charAt(1) === "/" ? n = t.protocol + n : n = t.host + n), /^(https?|wss?):\/\//.test(n) || (typeof t < "u" ? n = t.protocol + "//" + n : n = "https://" + n), r = Cn(n)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = "80" : /^(http|ws)s$/.test(r.protocol) && (r.port = "443")), r.path = r.path || "/";
5583
5583
  const a = r.host.indexOf(":") !== -1 ? "[" + r.host + "]" : r.host;
5584
5584
  return r.id = r.protocol + "://" + a + ":" + r.port + e, r.href = r.protocol + "://" + a + (t && t.port === r.port ? "" : ":" + r.port), r;
5585
5585
  }
5586
- const qc = typeof ArrayBuffer == "function", _c = (n) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(n) : n.buffer instanceof ArrayBuffer, Pi = Object.prototype.toString, Kc = typeof Blob == "function" || typeof Blob < "u" && Pi.call(Blob) === "[object BlobConstructor]", Yc = typeof File == "function" || typeof File < "u" && Pi.call(File) === "[object FileConstructor]";
5586
+ const _c = typeof ArrayBuffer == "function", qc = (n) => typeof ArrayBuffer.isView == "function" ? ArrayBuffer.isView(n) : n.buffer instanceof ArrayBuffer, Pi = Object.prototype.toString, Kc = typeof Blob == "function" || typeof Blob < "u" && Pi.call(Blob) === "[object BlobConstructor]", Yc = typeof File == "function" || typeof File < "u" && Pi.call(File) === "[object FileConstructor]";
5587
5587
  function Dn(n) {
5588
- return qc && (n instanceof ArrayBuffer || _c(n)) || Kc && n instanceof Blob || Yc && n instanceof File;
5588
+ return _c && (n instanceof ArrayBuffer || qc(n)) || Kc && n instanceof Blob || Yc && n instanceof File;
5589
5589
  }
5590
- function Lt(n, e) {
5590
+ function Nt(n, e) {
5591
5591
  if (!n || typeof n != "object")
5592
5592
  return !1;
5593
5593
  if (Array.isArray(n)) {
5594
5594
  for (let t = 0, r = n.length; t < r; t++)
5595
- if (Lt(n[t]))
5595
+ if (Nt(n[t]))
5596
5596
  return !0;
5597
5597
  return !1;
5598
5598
  }
5599
5599
  if (Dn(n))
5600
5600
  return !0;
5601
5601
  if (n.toJSON && typeof n.toJSON == "function" && arguments.length === 1)
5602
- return Lt(n.toJSON(), !0);
5602
+ return Nt(n.toJSON(), !0);
5603
5603
  for (const t in n)
5604
- if (Object.prototype.hasOwnProperty.call(n, t) && Lt(n[t]))
5604
+ if (Object.prototype.hasOwnProperty.call(n, t) && Nt(n[t]))
5605
5605
  return !0;
5606
5606
  return !1;
5607
5607
  }
5608
5608
  function Jc(n) {
5609
5609
  const e = [], t = n.data, r = n;
5610
- return r.data = Nt(t, e), r.attachments = e.length, { packet: r, buffers: e };
5610
+ return r.data = Pt(t, e), r.attachments = e.length, { packet: r, buffers: e };
5611
5611
  }
5612
- function Nt(n, e, t) {
5612
+ function Pt(n, e, t) {
5613
5613
  if (!n)
5614
5614
  return n;
5615
5615
  if (Dn(n)) {
@@ -5618,22 +5618,22 @@ function Nt(n, e, t) {
5618
5618
  } else if (Array.isArray(n)) {
5619
5619
  const r = new Array(n.length);
5620
5620
  for (let i = 0; i < n.length; i++)
5621
- r[i] = Nt(n[i], e);
5621
+ r[i] = Pt(n[i], e);
5622
5622
  return r;
5623
5623
  } else if (typeof n == "object" && !(n instanceof Date)) {
5624
5624
  if (n.toJSON && typeof n.toJSON == "function" && !t)
5625
- return Nt(n.toJSON(), e, !0);
5625
+ return Pt(n.toJSON(), e, !0);
5626
5626
  const r = {};
5627
5627
  for (const i in n)
5628
- Object.prototype.hasOwnProperty.call(n, i) && (r[i] = Nt(n[i], e));
5628
+ Object.prototype.hasOwnProperty.call(n, i) && (r[i] = Pt(n[i], e));
5629
5629
  return r;
5630
5630
  }
5631
5631
  return n;
5632
5632
  }
5633
5633
  function Qc(n, e) {
5634
- return n.data = In(n.data, e), delete n.attachments, n;
5634
+ return n.data = An(n.data, e), delete n.attachments, n;
5635
5635
  }
5636
- function In(n, e) {
5636
+ function An(n, e) {
5637
5637
  if (!n)
5638
5638
  return n;
5639
5639
  if (n && n._placeholder === !0) {
@@ -5642,10 +5642,10 @@ function In(n, e) {
5642
5642
  throw new Error("illegal attachments");
5643
5643
  } else if (Array.isArray(n))
5644
5644
  for (let t = 0; t < n.length; t++)
5645
- n[t] = In(n[t], e);
5645
+ n[t] = An(n[t], e);
5646
5646
  else if (typeof n == "object")
5647
5647
  for (const t in n)
5648
- Object.prototype.hasOwnProperty.call(n, t) && (n[t] = In(n[t], e));
5648
+ Object.prototype.hasOwnProperty.call(n, t) && (n[t] = An(n[t], e));
5649
5649
  return n;
5650
5650
  }
5651
5651
  const Vi = [
@@ -5682,7 +5682,7 @@ class el {
5682
5682
  * @param {Object} obj - packet object
5683
5683
  */
5684
5684
  encode(e) {
5685
- return (e.type === G.EVENT || e.type === G.ACK) && Lt(e) ? this.encodeAsBinary({
5685
+ return (e.type === G.EVENT || e.type === G.ACK) && Nt(e) ? this.encodeAsBinary({
5686
5686
  type: e.type === G.EVENT ? G.BINARY_EVENT : G.BINARY_ACK,
5687
5687
  nsp: e.nsp,
5688
5688
  data: e.data,
@@ -5804,11 +5804,11 @@ class Bn extends $ {
5804
5804
  static isPayloadValid(e, t) {
5805
5805
  switch (e) {
5806
5806
  case G.CONNECT:
5807
- return Ft(t);
5807
+ return Dt(t);
5808
5808
  case G.DISCONNECT:
5809
5809
  return t === void 0;
5810
5810
  case G.CONNECT_ERROR:
5811
- return typeof t == "string" || Ft(t);
5811
+ return typeof t == "string" || Dt(t);
5812
5812
  case G.EVENT:
5813
5813
  case G.BINARY_EVENT:
5814
5814
  return Array.isArray(t) && (typeof t[0] == "number" || typeof t[0] == "string" && Vi.indexOf(t[0]) === -1);
@@ -5859,13 +5859,13 @@ const Oi = Number.isInteger || function(n) {
5859
5859
  function rl(n) {
5860
5860
  return n === void 0 || Oi(n);
5861
5861
  }
5862
- function Ft(n) {
5862
+ function Dt(n) {
5863
5863
  return Object.prototype.toString.call(n) === "[object Object]";
5864
5864
  }
5865
5865
  function il(n, e) {
5866
5866
  switch (n) {
5867
5867
  case G.CONNECT:
5868
- return e === void 0 || Ft(e);
5868
+ return e === void 0 || Dt(e);
5869
5869
  case G.DISCONNECT:
5870
5870
  return e === void 0;
5871
5871
  case G.EVENT:
@@ -5873,7 +5873,7 @@ function il(n, e) {
5873
5873
  case G.ACK:
5874
5874
  return Array.isArray(e);
5875
5875
  case G.CONNECT_ERROR:
5876
- return typeof e == "string" || Ft(e);
5876
+ return typeof e == "string" || Dt(e);
5877
5877
  default:
5878
5878
  return !1;
5879
5879
  }
@@ -6497,10 +6497,10 @@ class zi extends $ {
6497
6497
  }
6498
6498
  }
6499
6499
  }
6500
- function Je(n) {
6500
+ function Qe(n) {
6501
6501
  n = n || {}, this.ms = n.min || 100, this.max = n.max || 1e4, this.factor = n.factor || 2, this.jitter = n.jitter > 0 && n.jitter <= 1 ? n.jitter : 0, this.attempts = 0;
6502
6502
  }
6503
- Je.prototype.duration = function() {
6503
+ Qe.prototype.duration = function() {
6504
6504
  var n = this.ms * Math.pow(this.factor, this.attempts++);
6505
6505
  if (this.jitter) {
6506
6506
  var e = Math.random(), t = Math.floor(e * this.jitter * n);
@@ -6508,22 +6508,22 @@ Je.prototype.duration = function() {
6508
6508
  }
6509
6509
  return Math.min(n, this.max) | 0;
6510
6510
  };
6511
- Je.prototype.reset = function() {
6511
+ Qe.prototype.reset = function() {
6512
6512
  this.attempts = 0;
6513
6513
  };
6514
- Je.prototype.setMin = function(n) {
6514
+ Qe.prototype.setMin = function(n) {
6515
6515
  this.ms = n;
6516
6516
  };
6517
- Je.prototype.setMax = function(n) {
6517
+ Qe.prototype.setMax = function(n) {
6518
6518
  this.max = n;
6519
6519
  };
6520
- Je.prototype.setJitter = function(n) {
6520
+ Qe.prototype.setJitter = function(n) {
6521
6521
  this.jitter = n;
6522
6522
  };
6523
- class An extends $ {
6523
+ class kn extends $ {
6524
6524
  constructor(e, t) {
6525
6525
  var r;
6526
- super(), this.nsps = {}, this.subs = [], e && typeof e == "object" && (t = e, e = void 0), t = t || {}, t.path = t.path || "/socket.io", this.opts = t, $t(this, t), this.reconnection(t.reconnection !== !1), this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0), this.reconnectionDelay(t.reconnectionDelay || 1e3), this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3), this.randomizationFactor((r = t.randomizationFactor) !== null && r !== void 0 ? r : 0.5), this.backoff = new Je({
6526
+ super(), this.nsps = {}, this.subs = [], e && typeof e == "object" && (t = e, e = void 0), t = t || {}, t.path = t.path || "/socket.io", this.opts = t, en(this, t), this.reconnection(t.reconnection !== !1), this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0), this.reconnectionDelay(t.reconnectionDelay || 1e3), this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3), this.randomizationFactor((r = t.randomizationFactor) !== null && r !== void 0 ? r : 0.5), this.backoff = new Qe({
6527
6527
  min: this.reconnectionDelay(),
6528
6528
  max: this.reconnectionDelayMax(),
6529
6529
  jitter: this.randomizationFactor()
@@ -6641,7 +6641,7 @@ class An extends $ {
6641
6641
  * @private
6642
6642
  */
6643
6643
  ondecoded(e) {
6644
- Qt(() => {
6644
+ $t(() => {
6645
6645
  this.emitReserved("packet", e);
6646
6646
  }, this.setTimeoutFn);
6647
6647
  }
@@ -6758,33 +6758,33 @@ class An extends $ {
6758
6758
  this._reconnecting = !1, this.backoff.reset(), this.emitReserved("reconnect", e);
6759
6759
  }
6760
6760
  }
6761
- const et = {};
6762
- function Pt(n, e) {
6761
+ const tt = {};
6762
+ function Vt(n, e) {
6763
6763
  typeof n == "object" && (e = n, n = void 0), e = e || {};
6764
- const t = jc(n, e.path || "/socket.io"), r = t.source, i = t.id, a = t.path, s = et[i] && a in et[i].nsps, o = e.forceNew || e["force new connection"] || e.multiplex === !1 || s;
6764
+ const t = jc(n, e.path || "/socket.io"), r = t.source, i = t.id, a = t.path, s = tt[i] && a in tt[i].nsps, o = e.forceNew || e["force new connection"] || e.multiplex === !1 || s;
6765
6765
  let c;
6766
- return o ? c = new An(r, e) : (et[i] || (et[i] = new An(r, e)), c = et[i]), t.query && !e.query && (e.query = t.queryKey), c.socket(t.path, e);
6766
+ return o ? c = new kn(r, e) : (tt[i] || (tt[i] = new kn(r, e)), c = tt[i]), t.query && !e.query && (e.query = t.queryKey), c.socket(t.path, e);
6767
6767
  }
6768
- Object.assign(Pt, {
6769
- Manager: An,
6768
+ Object.assign(Vt, {
6769
+ Manager: kn,
6770
6770
  Socket: zi,
6771
- io: Pt,
6772
- connect: Pt
6771
+ io: Vt,
6772
+ connect: Vt
6773
6773
  });
6774
6774
  const cl = "data:text/javascript;base64,Y2xhc3MgUGNtQ2FwdHVyZVByb2Nlc3NvciBleHRlbmRzIEF1ZGlvV29ya2xldFByb2Nlc3NvciB7CiAgY29uc3RydWN0b3Iob3B0aW9ucykgewogICAgc3VwZXIoKTsKICAgIGNvbnN0IGNvbmZpZyA9IG9wdGlvbnMucHJvY2Vzc29yT3B0aW9ucyA/PyB7fTsKICAgIHRoaXMudGFyZ2V0U2FtcGxlUmF0ZSA9IE1hdGgubWF4KDEsIE51bWJlcihjb25maWcudGFyZ2V0U2FtcGxlUmF0ZSkgfHwgMjQwMDApOwogICAgdGhpcy5jaHVua1NhbXBsZXMgPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKCh0aGlzLnRhcmdldFNhbXBsZVJhdGUgKiAoTnVtYmVyKGNvbmZpZy5jaHVua0R1cmF0aW9uTXMpIHx8IDEwMCkpIC8gMTAwMCkpOwogICAgdGhpcy5zb3VyY2VTdGVwID0gc2FtcGxlUmF0ZSAvIHRoaXMudGFyZ2V0U2FtcGxlUmF0ZTsKICAgIHRoaXMuZmlsdGVyVGFwcyA9IDQ4OwogICAgdGhpcy5yaW5nQ2FwYWNpdHkgPSAyNTY7CiAgICB0aGlzLnJpbmcgPSBuZXcgRmxvYXQzMkFycmF5KHRoaXMucmluZ0NhcGFjaXR5KTsKICAgIHRoaXMuaW5wdXRDb3VudCA9IDA7CiAgICB0aGlzLmZpcnN0U2FtcGxlID0gMDsKICAgIHRoaXMubmV4dFNvdXJjZVBvc2l0aW9uID0gMDsKICAgIHRoaXMub3V0cHV0U2FtcGxlcyA9IG5ldyBJbnQxNkFycmF5KHRoaXMuY2h1bmtTYW1wbGVzKTsKICAgIHRoaXMub3V0cHV0T2Zmc2V0ID0gMDsKICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7CiAgICB0aGlzLnBvcnQub25tZXNzYWdlID0gKHsgZGF0YSB9KSA9PiB7CiAgICAgIGlmIChkYXRhLnR5cGUgPT09ICJlbmFibGVkIikgdGhpcy5lbmFibGVkID0gQm9vbGVhbihkYXRhLnZhbHVlKTsKICAgICAgaWYgKGRhdGEudHlwZSA9PT0gInJlc2V0IikgdGhpcy5yZXNldCgpOwogICAgfTsKICB9CgogIHJlc2V0KCkgewogICAgdGhpcy5pbnB1dENvdW50ID0gMDsKICAgIHRoaXMubmV4dFNvdXJjZVBvc2l0aW9uID0gMDsKICAgIHRoaXMub3V0cHV0T2Zmc2V0ID0gMDsKICB9CgogIHB1c2hNaXhlZFNhbXBsZSh2YWx1ZSkgewogICAgY29uc3Qgc2FtcGxlID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIHZhbHVlKSk7CiAgICBpZiAodGhpcy5pbnB1dENvdW50ID09PSAwKSB0aGlzLmZpcnN0U2FtcGxlID0gc2FtcGxlOwogICAgdGhpcy5yaW5nW3RoaXMuaW5wdXRDb3VudCAlIHRoaXMucmluZ0NhcGFjaXR5XSA9IHNhbXBsZTsKICAgIHRoaXMuaW5wdXRDb3VudCArPSAxOwogIH0KCiAgc2FtcGxlQXQoaW5kZXgpIHsKICAgIGlmIChpbmRleCA8IDApIHJldHVybiB0aGlzLmZpcnN0U2FtcGxlOwogICAgaWYgKGluZGV4ID49IHRoaXMuaW5wdXRDb3VudCkgcmV0dXJuIHRoaXMucmluZ1sodGhpcy5pbnB1dENvdW50IC0gMSkgJSB0aGlzLnJpbmdDYXBhY2l0eV07CiAgICBpZiAodGhpcy5pbnB1dENvdW50IC0gaW5kZXggPiB0aGlzLnJpbmdDYXBhY2l0eSkgcmV0dXJuIHRoaXMuZmlyc3RTYW1wbGU7CiAgICByZXR1cm4gdGhpcy5yaW5nW2luZGV4ICUgdGhpcy5yaW5nQ2FwYWNpdHldOwogIH0KCiAgZmlsdGVyZWRTYW1wbGUocG9zaXRpb24pIHsKICAgIGNvbnN0IGN1dG9mZiA9IE1hdGgubWluKDAuNDgsIDAuNDUgLyBNYXRoLm1heCgxLCB0aGlzLnNvdXJjZVN0ZXApKTsKICAgIGNvbnN0IGNlbnRyZSA9IE1hdGguZmxvb3IocG9zaXRpb24pOwogICAgY29uc3QgaGFsZiA9IHRoaXMuZmlsdGVyVGFwcyAvIDI7CiAgICBsZXQgd2VpZ2h0ZWQgPSAwOwogICAgbGV0IHdlaWdodCA9IDA7CiAgICBmb3IgKGxldCB0YXAgPSAtaGFsZiArIDE7IHRhcCA8PSBoYWxmOyB0YXAgKz0gMSkgewogICAgICBjb25zdCBkaXN0YW5jZSA9IGNlbnRyZSArIHRhcCAtIHBvc2l0aW9uOwogICAgICBjb25zdCBzaW5jID0gZGlzdGFuY2UgPT09IDAgPyAxIDogTWF0aC5zaW4oMiAqIE1hdGguUEkgKiBjdXRvZmYgKiBkaXN0YW5jZSkgLyAoTWF0aC5QSSAqIGRpc3RhbmNlKTsKICAgICAgY29uc3Qgd2luZG93ID0gMC41NCArIDAuNDYgKiBNYXRoLmNvcygoTWF0aC5QSSAqIHRhcCkgLyBoYWxmKTsKICAgICAgY29uc3QgY29lZmZpY2llbnQgPSBzaW5jICogd2luZG93OwogICAgICB3ZWlnaHRlZCArPSB0aGlzLnNhbXBsZUF0KGNlbnRyZSArIHRhcCkgKiBjb2VmZmljaWVudDsKICAgICAgd2VpZ2h0ICs9IGNvZWZmaWNpZW50OwogICAgfQogICAgcmV0dXJuIHdlaWdodCA/IHdlaWdodGVkIC8gd2VpZ2h0IDogMDsKICB9CgogIGVtaXRTYW1wbGUoc2FtcGxlKSB7CiAgICBjb25zdCBjbGlwcGVkID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIHNhbXBsZSkpOwogICAgdGhpcy5vdXRwdXRTYW1wbGVzW3RoaXMub3V0cHV0T2Zmc2V0XSA9IGNsaXBwZWQgPCAwID8gTWF0aC5yb3VuZChjbGlwcGVkICogMzI3NjgpIDogTWF0aC5yb3VuZChjbGlwcGVkICogMzI3NjcpOwogICAgdGhpcy5vdXRwdXRPZmZzZXQgKz0gMTsKICAgIGlmICh0aGlzLm91dHB1dE9mZnNldCA8IHRoaXMuY2h1bmtTYW1wbGVzKSByZXR1cm47CiAgICBjb25zdCBieXRlcyA9IHRoaXMub3V0cHV0U2FtcGxlcy5idWZmZXI7CiAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoeyB0eXBlOiAiY2h1bmsiLCBieXRlcyB9LCBbYnl0ZXNdKTsKICAgIHRoaXMub3V0cHV0U2FtcGxlcyA9IG5ldyBJbnQxNkFycmF5KHRoaXMuY2h1bmtTYW1wbGVzKTsKICAgIHRoaXMub3V0cHV0T2Zmc2V0ID0gMDsKICB9CgogIHByb2Nlc3MoaW5wdXRzKSB7CiAgICBjb25zdCBjaGFubmVscyA9IGlucHV0c1swXTsKICAgIGNvbnN0IGZpcnN0Q2hhbm5lbCA9IGNoYW5uZWxzPy5bMF07CiAgICBpZiAoIWZpcnN0Q2hhbm5lbD8ubGVuZ3RoKSByZXR1cm4gdHJ1ZTsKICAgIGlmICghdGhpcy5lbmFibGVkKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlyc3RDaGFubmVsLmxlbmd0aDsgaW5kZXggKz0gMSkgewogICAgICBsZXQgbWl4ZWQgPSAwOwogICAgICBmb3IgKGNvbnN0IGNoYW5uZWwgb2YgY2hhbm5lbHMpIG1peGVkICs9IGNoYW5uZWxbaW5kZXhdID8/IDA7CiAgICAgIHRoaXMucHVzaE1peGVkU2FtcGxlKG1peGVkIC8gY2hhbm5lbHMubGVuZ3RoKTsKICAgICAgd2hpbGUgKHRoaXMubmV4dFNvdXJjZVBvc2l0aW9uIDw9IHRoaXMuaW5wdXRDb3VudCAtIDEpIHsKICAgICAgICB0aGlzLmVtaXRTYW1wbGUodGhpcy5maWx0ZXJlZFNhbXBsZSh0aGlzLm5leHRTb3VyY2VQb3NpdGlvbikpOwogICAgICAgIHRoaXMubmV4dFNvdXJjZVBvc2l0aW9uICs9IHRoaXMuc291cmNlU3RlcDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfQp9CgpyZWdpc3RlclByb2Nlc3NvcigibG9sYS1wY20tY2FwdHVyZSIsIFBjbUNhcHR1cmVQcm9jZXNzb3IpOwo=";
6775
6775
  class Wn extends Error {
6776
- constructor(e, t) {
6777
- super(t), this.status = e;
6776
+ constructor(e, t, r, i) {
6777
+ super(t), this.status = e, this.code = r, this.details = i;
6778
6778
  }
6779
6779
  }
6780
- const kn = (n) => !!n && typeof n == "object" && !Array.isArray(n), ll = /* @__PURE__ */ new Set([
6780
+ const We = (n) => !!n && typeof n == "object" && !Array.isArray(n), ll = /* @__PURE__ */ new Set([
6781
6781
  "CREATED",
6782
6782
  "CONNECTING",
6783
6783
  "ACTIVE",
6784
6784
  "ENDED",
6785
6785
  "FAILED",
6786
6786
  "EXPIRED"
6787
- ]), kr = {
6787
+ ]), dl = {
6788
6788
  path: "/socket.io/assistant",
6789
6789
  namespace: "/assistant",
6790
6790
  connectEvent: "voice.connect",
@@ -6792,7 +6792,16 @@ const kn = (n) => !!n && typeof n == "object" && !Array.isArray(n), ll = /* @__P
6792
6792
  disconnectEvent: "voice.disconnect",
6793
6793
  serverEvent: "voice.event",
6794
6794
  eventProtocol: "xai-realtime-v1"
6795
- }, dl = (n) => {
6795
+ }, ul = {
6796
+ path: "/socket.io/assistant",
6797
+ namespace: "/assistant",
6798
+ connectEvent: "voice.connect",
6799
+ audioAppendEvent: "voice.audio.append",
6800
+ playbackInterruptEvent: "voice.playback.interrupt",
6801
+ disconnectEvent: "voice.disconnect",
6802
+ serverEvent: "voice.event",
6803
+ eventProtocol: "lola-voice-v5"
6804
+ }, hl = (n) => {
6796
6805
  if (typeof n != "string" || !n.startsWith("/")) return !1;
6797
6806
  try {
6798
6807
  const e = new URL(n, "https://lola.invalid");
@@ -6800,38 +6809,60 @@ const kn = (n) => !!n && typeof n == "object" && !Array.isArray(n), ll = /* @__P
6800
6809
  } catch {
6801
6810
  return !1;
6802
6811
  }
6803
- }, ul = (n) => {
6804
- if (!kn(n))
6812
+ }, pl = (n, e) => {
6813
+ if (!We(n))
6805
6814
  throw new Error("Invalid voice session websocket contract");
6806
- if (!dl(n.path))
6815
+ if (!hl(n.path))
6807
6816
  throw new Error("Invalid voice session websocket contract");
6808
- for (const [e, t] of Object.entries(kr))
6809
- if (e !== "path" && n[e] !== t)
6817
+ const t = e === 5 ? ul : dl;
6818
+ for (const [r, i] of Object.entries(t))
6819
+ if (r !== "path" && n[r] !== i)
6810
6820
  throw new Error("Invalid voice session websocket contract");
6811
- return { ...kr, path: n.path };
6821
+ return { ...t, path: n.path };
6822
+ }, gl = (n, e) => {
6823
+ if (e !== 5) return;
6824
+ if (!We(n) || !We(n.input))
6825
+ throw new Error("Invalid voice session quality profile");
6826
+ const t = n.input;
6827
+ if (typeof n.id != "string" || !n.id || t.encoding !== "pcm_s16le" || t.sampleRate !== 24e3 || t.channels !== 1 || t.chunkDurationMs !== 100 || t.chunkBytes !== 4800)
6828
+ throw new Error("Invalid voice session quality profile");
6829
+ return {
6830
+ id: n.id,
6831
+ input: {
6832
+ encoding: "pcm_s16le",
6833
+ sampleRate: 24e3,
6834
+ channels: 1,
6835
+ chunkDurationMs: 100,
6836
+ chunkBytes: 4800
6837
+ }
6838
+ };
6812
6839
  }, Xn = (n) => {
6813
- if (!kn(n)) throw new Error("Invalid voice session response");
6840
+ if (!We(n)) throw new Error("Invalid voice session response");
6814
6841
  const e = n.voiceConfig;
6815
- if (typeof n.voiceSessionId != "string" || !n.voiceSessionId || typeof n.conversationId != "string" || !n.conversationId || typeof n.status != "string" || !ll.has(n.status) || !kn(e) || typeof e.voice != "string" || !e.voice || !Number.isSafeInteger(n.voiceProtocolVersion))
6842
+ if (typeof n.voiceSessionId != "string" || !n.voiceSessionId || typeof n.conversationId != "string" || !n.conversationId || typeof n.status != "string" || !ll.has(n.status) || !We(e) || typeof e.voice != "string" || !e.voice || !Number.isSafeInteger(n.voiceProtocolVersion))
6816
6843
  throw new Error("Invalid voice session response");
6844
+ const t = n.voiceProtocolVersion, r = gl(n.qualityProfile, t);
6817
6845
  return {
6818
6846
  voiceSessionId: n.voiceSessionId,
6819
6847
  conversationId: n.conversationId,
6820
6848
  status: n.status,
6821
6849
  voiceConfig: { voice: e.voice },
6822
- voiceProtocolVersion: n.voiceProtocolVersion,
6823
- websocket: ul(n.websocket)
6850
+ voiceProtocolVersion: t,
6851
+ ...r ? { qualityProfile: r } : {},
6852
+ websocket: pl(n.websocket, t)
6824
6853
  };
6825
- }, hl = async (n) => {
6854
+ }, fl = async (n) => {
6826
6855
  try {
6827
- const e = await n.json();
6828
- if (typeof e.error == "object" && e.error?.message)
6829
- return e.error.message;
6830
- if (typeof e.message == "string") return e.message;
6831
- if (typeof e.error == "string") return e.error;
6856
+ const e = await n.json(), t = We(e.error) ? e.error : e, r = typeof t.message == "string" ? t.message : typeof e.error == "string" ? e.error : void 0;
6857
+ if (r)
6858
+ return {
6859
+ message: r,
6860
+ ...typeof t.code == "string" ? { code: t.code } : {},
6861
+ ...We(t.details) ? { details: t.details } : {}
6862
+ };
6832
6863
  } catch {
6833
6864
  }
6834
- return `Voice request failed: ${n.status} ${n.statusText}`;
6865
+ return { message: `Voice request failed: ${n.status} ${n.statusText}` };
6835
6866
  }, Zn = async (n, e, t, r) => {
6836
6867
  const i = await fetch(`${Oe}${t}`, {
6837
6868
  method: r.method,
@@ -6842,15 +6873,18 @@ const kn = (n) => !!n && typeof n == "object" && !Array.isArray(n), ll = /* @__P
6842
6873
  },
6843
6874
  ...r.body ? { body: JSON.stringify(r.body) } : {}
6844
6875
  });
6845
- if (!i.ok)
6846
- throw i.status === 401 && e.onSessionExpired(), new Wn(i.status, await hl(i));
6876
+ if (!i.ok) {
6877
+ i.status === 401 && e.onSessionExpired();
6878
+ const a = await fl(i);
6879
+ throw new Wn(i.status, a.message ?? "Voice request failed", a.code, a.details);
6880
+ }
6847
6881
  return i.json();
6848
- }, xr = (n, e, t) => Zn(n, e, "/voice/sessions", {
6882
+ }, kr = (n, e, t) => Zn(n, e, "/voice/sessions", {
6849
6883
  method: "POST",
6850
6884
  body: {
6851
6885
  ...t ? { conversationId: t } : {}
6852
6886
  }
6853
- }).then(Xn), pl = (n, e, t) => Zn(
6887
+ }).then(Xn), ml = (n, e, t) => Zn(
6854
6888
  n,
6855
6889
  e,
6856
6890
  `/voice/sessions/${encodeURIComponent(t)}`,
@@ -6876,7 +6910,7 @@ const Gi = async (n) => {
6876
6910
  } catch {
6877
6911
  }
6878
6912
  return `Audio request failed: ${n.status} ${n.statusText}`;
6879
- }, gl = async (n, e, t) => {
6913
+ }, bl = async (n, e, t) => {
6880
6914
  if (!t.audioPath.startsWith("/") || t.audioPath.startsWith("//"))
6881
6915
  throw new Pe(0, "Audio path must be relative to Lola API");
6882
6916
  const r = await fetch(`${Oe}${t.audioPath}`, {
@@ -6898,7 +6932,7 @@ const Gi = async (n) => {
6898
6932
  if (a.size === 0)
6899
6933
  throw new Pe(r.status, "Audio response is empty");
6900
6934
  return a;
6901
- }, fl = async (n, e, t, r) => {
6935
+ }, wl = async (n, e, t, r) => {
6902
6936
  if (!t.audioPath.startsWith("/") || t.audioPath.startsWith("//"))
6903
6937
  throw new Pe(0, "Audio path must be relative to Lola API");
6904
6938
  const i = await fetch(`${Oe}${t.audioPath}`, {
@@ -6920,8 +6954,8 @@ const Gi = async (n) => {
6920
6954
  if (!i.body)
6921
6955
  throw new Pe(i.status, "Audio response has no body");
6922
6956
  return i.body;
6923
- }, ml = "audio/wav", Sr = "audio/pcm", bl = 24e3 * 5;
6924
- class wl {
6957
+ }, yl = "audio/wav", xr = "audio/pcm", vl = 24e3 * 5;
6958
+ class Cl {
6925
6959
  constructor(e, t) {
6926
6960
  this.send = e, this.onFailure = t;
6927
6961
  }
@@ -6932,7 +6966,7 @@ class wl {
6932
6966
  firstDispatchAtMs = null;
6933
6967
  enqueue(e) {
6934
6968
  if (this.closed) return;
6935
- if (this.queue.reduce((r, i) => r + i.sampleCount, 0) + e.sampleCount > bl) {
6969
+ if (this.queue.reduce((r, i) => r + i.sampleCount, 0) + e.sampleCount > vl) {
6936
6970
  this.onFailure(new Error("audio_queue_overflow"));
6937
6971
  return;
6938
6972
  }
@@ -6973,7 +7007,7 @@ class wl {
6973
7007
  r > 1 && await new Promise((i) => setTimeout(i, r));
6974
7008
  }
6975
7009
  }
6976
- const yl = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3IgewogIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHsKICAgIHN1cGVyKCk7CiAgICBjb25zdCBjb25maWcgPSBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnMgPz8ge307CiAgICB0aGlzLnNvdXJjZVNhbXBsZVJhdGUgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTnVtYmVyKGNvbmZpZy5zb3VyY2VTYW1wbGVSYXRlKSB8fCAyNDAwMCwKICAgICk7CiAgICB0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTWF0aC5yb3VuZCgKICAgICAgICAodGhpcy5zb3VyY2VTYW1wbGVSYXRlICogKE51bWJlcihjb25maWcuaml0dGVyQnVmZmVyTXMpIHx8IDUwMCkpIC8gMTAwMCwKICAgICAgKSwKICAgICk7CiAgICB0aGlzLmNodW5rcyA9IFtdOwogICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB0aGlzLnF1ZXVlZFNhbXBsZXMgPSAwOwogICAgdGhpcy5zb3VyY2VQb3NpdGlvbiA9IDA7CiAgICB0aGlzLmNhcnJ5Qnl0ZSA9IG51bGw7CiAgICB0aGlzLmlucHV0RW5kZWQgPSBmYWxzZTsKICAgIHRoaXMucGxheWluZyA9IGZhbHNlOwogICAgdGhpcy5zdGFydGVkID0gZmFsc2U7CiAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7CiAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICB0aGlzLnBsYXllZFNvdXJjZVNhbXBsZXMgPSAwOwogICAgdGhpcy5ybXNXaW5kb3dGcmFtZXMgPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKHNhbXBsZVJhdGUgKiAwLjAxKSk7CiAgICB0aGlzLnByb2dyZXNzUmVwb3J0RnJhbWVzID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChzYW1wbGVSYXRlICogMC4wMikpOwogICAgdGhpcy5ybXNGcmFtZXMgPSAwOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgPSAwOwogICAgdGhpcy5zdW1TcXVhcmVzID0gMDsKICAgIHRoaXMud2luZG93UGVhayA9IDA7CiAgICB0aGlzLmxhc3RQZWFrID0gMDsKICAgIHRoaXMubW91dGhPcGVuID0gMDsKICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSAwOwogICAgdGhpcy5wcmV2aW91c1JtcyA9IDA7CiAgICB0aGlzLnNpbGVuY2VXaW5kb3dzID0gMDsKICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSAwOwogICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gMDsKICAgIHRoaXMubGFzdFJlbmRlckNvbnRleHRGcmFtZSA9IDA7CiAgICB0aGlzLmF0dGFja0NvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMTUpKTsKICAgIHRoaXMucmVsZWFzZUNvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMjUpKTsKICAgIHRoaXMubGV2ZWxBdHRhY2tDb2VmZmljaWVudCA9CiAgICAgIDEgLSBNYXRoLmV4cCgtdGhpcy5ybXNXaW5kb3dGcmFtZXMgLyAoc2FtcGxlUmF0ZSAqIDAuMTIpKTsKICAgIHRoaXMubGV2ZWxSZWxlYXNlQ29lZmZpY2llbnQgPQogICAgICAxIC0gTWF0aC5leHAoLXRoaXMucm1zV2luZG93RnJhbWVzIC8gKHNhbXBsZVJhdGUgKiAwLjQpKTsKICAgIHRoaXMuY2xvc3VyZUhvbGRXaW5kb3dzID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjAzKSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CiAgICB0aGlzLmNsb3N1cmVDb29sZG93bkR1cmF0aW9uID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjA4KSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CgogICAgdGhpcy5wb3J0Lm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4gewogICAgICBpZiAoZGF0YS50eXBlID09PSAiY2h1bmsiICYmIGRhdGEuYnl0ZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewogICAgICAgIHRoaXMuZW5xdWV1ZVBjbTE2KG5ldyBVaW50OEFycmF5KGRhdGEuYnl0ZXMpKTsKICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09ICJlbmQiKSB7CiAgICAgICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7IHR5cGU6ICJlcnJvciIgfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRoaXMuaW5wdXRFbmRlZCA9IHRydWU7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAic3RvcCIpIHsKICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgfQogICAgfTsKICB9CgogIGVucXVldWVQY20xNihieXRlcykgewogICAgY29uc3Qgc2FtcGxlQ291bnQgPSBNYXRoLmZsb29yKAogICAgICAoYnl0ZXMubGVuZ3RoICsgKHRoaXMuY2FycnlCeXRlID09PSBudWxsID8gMCA6IDEpKSAvIDIsCiAgICApOwogICAgaWYgKCFzYW1wbGVDb3VudCkgewogICAgICBpZiAoYnl0ZXMubGVuZ3RoKSB0aGlzLmNhcnJ5Qnl0ZSA9IGJ5dGVzWzBdOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3Qgc2FtcGxlcyA9IG5ldyBGbG9hdDMyQXJyYXkoc2FtcGxlQ291bnQpOwogICAgbGV0IGJ5dGVJbmRleCA9IDA7CiAgICBsZXQgc2FtcGxlSW5kZXggPSAwOwogICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYXJyeUJ5dGUgfCAoYnl0ZXNbYnl0ZUluZGV4KytdIDw8IDgpOwogICAgICBzYW1wbGVzW3NhbXBsZUluZGV4KytdID0gKHZhbHVlIDw8IDE2KSAvIDIxNDc0ODM2NDg7CiAgICAgIHRoaXMuY2FycnlCeXRlID0gbnVsbDsKICAgIH0KICAgIHdoaWxlIChieXRlSW5kZXggKyAxIDwgYnl0ZXMubGVuZ3RoKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gYnl0ZXNbYnl0ZUluZGV4XSB8IChieXRlc1tieXRlSW5kZXggKyAxXSA8PCA4KTsKICAgICAgc2FtcGxlc1tzYW1wbGVJbmRleCsrXSA9ICh2YWx1ZSA8PCAxNikgLyAyMTQ3NDgzNjQ4OwogICAgICBieXRlSW5kZXggKz0gMjsKICAgIH0KICAgIGlmIChieXRlSW5kZXggPCBieXRlcy5sZW5ndGgpIHRoaXMuY2FycnlCeXRlID0gYnl0ZXNbYnl0ZUluZGV4XTsKICAgIGlmICh0aGlzLmNodW5rSGVhZCA9PT0gdGhpcy5jaHVua3MubGVuZ3RoKSB7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuY2h1bmtIZWFkID0gMDsKICAgIH0gZWxzZSBpZiAodGhpcy5jaHVua0hlYWQgPj0gNjQpIHsKICAgICAgdGhpcy5jaHVua3MuY29weVdpdGhpbigwLCB0aGlzLmNodW5rSGVhZCk7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCAtPSB0aGlzLmNodW5rSGVhZDsKICAgICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgfQogICAgdGhpcy5jaHVua3MucHVzaChzYW1wbGVzKTsKICAgIHRoaXMucXVldWVkU2FtcGxlcyArPSBzYW1wbGVzLmxlbmd0aDsKICB9CgogIHNhbXBsZUF0KGluZGV4KSB7CiAgICBsZXQgcmVtYWluaW5nID0gaW5kZXggKyB0aGlzLmNodW5rT2Zmc2V0OwogICAgZm9yICgKICAgICAgbGV0IGNodW5rSW5kZXggPSB0aGlzLmNodW5rSGVhZDsKICAgICAgY2h1bmtJbmRleCA8IHRoaXMuY2h1bmtzLmxlbmd0aDsKICAgICAgY2h1bmtJbmRleCArPSAxCiAgICApIHsKICAgICAgY29uc3QgY2h1bmsgPSB0aGlzLmNodW5rc1tjaHVua0luZGV4XTsKICAgICAgaWYgKHJlbWFpbmluZyA8IGNodW5rLmxlbmd0aCkgcmV0dXJuIGNodW5rW3JlbWFpbmluZ107CiAgICAgIHJlbWFpbmluZyAtPSBjaHVuay5sZW5ndGg7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGRpc2NhcmQoY291bnQpIHsKICAgIGNvbnN0IGRpc2NhcmRlZCA9IE1hdGgubWluKGNvdW50LCB0aGlzLnF1ZXVlZFNhbXBsZXMpOwogICAgbGV0IHJlbWFpbmluZyA9IGRpc2NhcmRlZDsKICAgIHRoaXMucXVldWVkU2FtcGxlcyAtPSBkaXNjYXJkZWQ7CiAgICB3aGlsZSAocmVtYWluaW5nID4gMCAmJiB0aGlzLmNodW5rSGVhZCA8IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLmNodW5rc1t0aGlzLmNodW5rSGVhZF0ubGVuZ3RoIC0gdGhpcy5jaHVua09mZnNldDsKICAgICAgaWYgKHJlbWFpbmluZyA8IGF2YWlsYWJsZSkgewogICAgICAgIHRoaXMuY2h1bmtPZmZzZXQgKz0gcmVtYWluaW5nOwogICAgICAgIHJldHVybiBkaXNjYXJkZWQ7CiAgICAgIH0KICAgICAgcmVtYWluaW5nIC09IGF2YWlsYWJsZTsKICAgICAgdGhpcy5jaHVua0hlYWQgKz0gMTsKICAgICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB9CiAgICBpZiAodGhpcy5jaHVua0hlYWQgPT09IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICB0aGlzLmNodW5rcy5sZW5ndGggPSAwOwogICAgICB0aGlzLmNodW5rSGVhZCA9IDA7CiAgICB9CiAgICByZXR1cm4gZGlzY2FyZGVkOwogIH0KCiAgZmluaXNoUm1zV2luZG93KCkgewogICAgaWYgKHRoaXMucm1zRnJhbWVzID09PSAwKSByZXR1cm47CiAgICBjb25zdCBybXMgPSBNYXRoLnNxcnQodGhpcy5zdW1TcXVhcmVzIC8gdGhpcy5ybXNGcmFtZXMpOwogICAgY29uc3QgYWJzb2x1dGVUYXJnZXQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAocm1zIC0gMC4wMDgpIC8gMC4xMTIpKTsKICAgIGlmIChybXMgPD0gMC4wMDgpIHsKICAgICAgdGhpcy5zaWxlbmNlV2luZG93cyArPSAxOwogICAgICBpZiAodGhpcy5zaWxlbmNlV2luZG93cyA+PSA4KSB0aGlzLnNwZWVjaExldmVsID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuc2lsZW5jZVdpbmRvd3MgPSAwOwogICAgICBpZiAodGhpcy5zcGVlY2hMZXZlbCA9PT0gMCkgewogICAgICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSBybXM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgbGV2ZWxDb2VmZmljaWVudCA9CiAgICAgICAgICBybXMgPiB0aGlzLnNwZWVjaExldmVsCiAgICAgICAgICAgID8gdGhpcy5sZXZlbEF0dGFja0NvZWZmaWNpZW50CiAgICAgICAgICAgIDogdGhpcy5sZXZlbFJlbGVhc2VDb2VmZmljaWVudDsKICAgICAgICB0aGlzLnNwZWVjaExldmVsICs9IChybXMgLSB0aGlzLnNwZWVjaExldmVsKSAqIGxldmVsQ29lZmZpY2llbnQ7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdCByZWxhdGl2ZUxldmVsID0KICAgICAgdGhpcy5zcGVlY2hMZXZlbCA+IDAgPyBybXMgLyB0aGlzLnNwZWVjaExldmVsIDogYWJzb2x1dGVUYXJnZXQ7CiAgICBjb25zdCByZWxhdGl2ZVRhcmdldCA9IE1hdGgubWF4KAogICAgICAwLAogICAgICBNYXRoLm1pbigxLCAocmVsYXRpdmVMZXZlbCAtIDAuMzUpIC8gMC42NSksCiAgICApOwogICAgbGV0IHRhcmdldCA9IE1hdGgubWluKGFic29sdXRlVGFyZ2V0LCByZWxhdGl2ZVRhcmdldCk7CgogICAgaWYgKHRoaXMuY2xvc3VyZUNvb2xkb3duV2luZG93cyA+IDApIHsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzIC09IDE7CiAgICB9CiAgICBjb25zdCBmZWxsU2hhcnBseSA9IHRoaXMucHJldmlvdXNSbXMgPiAwICYmIHJtcyA8IHRoaXMucHJldmlvdXNSbXMgKiAwLjU1OwogICAgaWYgKAogICAgICBybXMgPiAwLjAwOCAmJgogICAgICB0aGlzLmNsb3N1cmVDb29sZG93bldpbmRvd3MgPT09IDAgJiYKICAgICAgKHJlbGF0aXZlTGV2ZWwgPCAwLjU1IHx8IGZlbGxTaGFycGx5KQogICAgKSB7CiAgICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSB0aGlzLmNsb3N1cmVIb2xkV2luZG93czsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gdGhpcy5jbG9zdXJlQ29vbGRvd25EdXJhdGlvbjsKICAgIH0KICAgIGlmICh0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nID4gMCkgewogICAgICB0YXJnZXQgPSAwOwogICAgICB0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgY29uc3QgY29lZmZpY2llbnQgPQogICAgICB0YXJnZXQgPiB0aGlzLm1vdXRoT3BlbgogICAgICAgID8gdGhpcy5hdHRhY2tDb2VmZmljaWVudAogICAgICAgIDogdGhpcy5yZWxlYXNlQ29lZmZpY2llbnQ7CiAgICB0aGlzLm1vdXRoT3BlbiArPSAodGFyZ2V0IC0gdGhpcy5tb3V0aE9wZW4pICogY29lZmZpY2llbnQ7CiAgICB0aGlzLnByZXZpb3VzUm1zID0gcm1zOwogICAgdGhpcy5sYXN0UGVhayA9IHRoaXMud2luZG93UGVhazsKICAgIHRoaXMucm1zRnJhbWVzID0gMDsKICAgIHRoaXMuc3VtU3F1YXJlcyA9IDA7CiAgICB0aGlzLndpbmRvd1BlYWsgPSAwOwogIH0KCiAgY29tcGxldGUoKSB7CiAgICBpZiAodGhpcy5maW5pc2hlZCkgcmV0dXJuOwogICAgaWYgKHRoaXMuc3RhcnRlZCAmJiB0aGlzLnJlcG9ydEZyYW1lcyA+IDApIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgICB0eXBlOiAicHJvZ3Jlc3MiLAogICAgICAgIHNvdXJjZVNhbXBsZTogdGhpcy5wbGF5ZWRTb3VyY2VTYW1wbGVzLAogICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lLAogICAgICAgIG1vdXRoT3BlbjogdGhpcy5tb3V0aE9wZW4sCiAgICAgICAgcGVhazogdGhpcy5sYXN0UGVhaywKICAgICAgfSk7CiAgICAgIHRoaXMucmVwb3J0RnJhbWVzID0gMDsKICAgIH0KICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlOwogICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgdHlwZTogImVuZGVkIiwKICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiB0aGlzLmxhc3RSZW5kZXJDb250ZXh0RnJhbWUsCiAgICB9KTsKICB9CgogIGNvbGxlY3RQcm9ncmVzcyhzYW1wbGUsIHJlbmRlckNvbnRleHRGcmFtZSkgewogICAgdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lID0gcmVuZGVyQ29udGV4dEZyYW1lOwogICAgdGhpcy5zdW1TcXVhcmVzICs9IHNhbXBsZSAqIHNhbXBsZTsKICAgIHRoaXMud2luZG93UGVhayA9IE1hdGgubWF4KHRoaXMud2luZG93UGVhaywgTWF0aC5hYnMoc2FtcGxlKSk7CiAgICB0aGlzLnJtc0ZyYW1lcyArPSAxOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgKz0gMTsKCiAgICBpZiAodGhpcy5ybXNGcmFtZXMgPj0gdGhpcy5ybXNXaW5kb3dGcmFtZXMpIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgIH0KCiAgICBpZiAodGhpcy5yZXBvcnRGcmFtZXMgPj0gdGhpcy5wcm9ncmVzc1JlcG9ydEZyYW1lcykgewogICAgICB0aGlzLnJlcG9ydEZyYW1lcyA9IDA7CiAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgdHlwZTogInByb2dyZXNzIiwKICAgICAgICBzb3VyY2VTYW1wbGU6IHRoaXMucGxheWVkU291cmNlU2FtcGxlcywKICAgICAgICByZW5kZXJDb250ZXh0RnJhbWUsCiAgICAgICAgbW91dGhPcGVuOiB0aGlzLm1vdXRoT3BlbiwKICAgICAgICBwZWFrOiB0aGlzLmxhc3RQZWFrLAogICAgICB9KTsKICAgIH0KICB9CgogIHByb2Nlc3MoX2lucHV0cywgb3V0cHV0cykgewogICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1swXT8uWzBdOwogICAgaWYgKCFvdXRwdXQpIHJldHVybiAhdGhpcy5maW5pc2hlZDsKICAgIG91dHB1dC5maWxsKDApOwogICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybiBmYWxzZTsKCiAgICBjb25zdCBzb3VyY2VTdGVwID0gdGhpcy5zb3VyY2VTYW1wbGVSYXRlIC8gc2FtcGxlUmF0ZTsKICAgIGNvbnN0IHJlcXVpcmVkU2FtcGxlcyA9CiAgICAgIE1hdGguY2VpbCh0aGlzLnNvdXJjZVBvc2l0aW9uICsgb3V0cHV0Lmxlbmd0aCAqIHNvdXJjZVN0ZXApICsgMTsKICAgIGlmICgKICAgICAgdGhpcy5wbGF5aW5nICYmCiAgICAgICF0aGlzLmlucHV0RW5kZWQgJiYKICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzIDwgcmVxdWlyZWRTYW1wbGVzCiAgICApIHsKICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7CiAgICAgIGlmICghdGhpcy51bmRlcnJ1bikgewogICAgICAgIHRoaXMudW5kZXJydW4gPSB0cnVlOwogICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAidW5kZXJydW4iLAogICAgICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiBjdXJyZW50RnJhbWUsCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIXRoaXMucGxheWluZykgewogICAgICBpZiAoCiAgICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzID49CiAgICAgICAgICBNYXRoLm1heCh0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMsIHJlcXVpcmVkU2FtcGxlcykgfHwKICAgICAgICAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA+IDApCiAgICAgICkgewogICAgICAgIHRoaXMucGxheWluZyA9IHRydWU7CiAgICAgICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHsKICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3RhcnRlZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuZGVycnVuKSB7CiAgICAgICAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAicmVzdW1lZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbmRlZCkgewogICAgICAgIHRoaXMuY29tcGxldGUoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICBmb3IgKGxldCBvdXRwdXRJbmRleCA9IDA7IG91dHB1dEluZGV4IDwgb3V0cHV0Lmxlbmd0aDsgb3V0cHV0SW5kZXggKz0gMSkgewogICAgICBjb25zdCBsb3dlckluZGV4ID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGxvd2VySW5kZXggPj0gdGhpcy5xdWV1ZWRTYW1wbGVzKSBicmVhazsKICAgICAgY29uc3QgdXBwZXJJbmRleCA9IGxvd2VySW5kZXggKyAxOwogICAgICBpZiAoIXRoaXMuaW5wdXRFbmRlZCAmJiB1cHBlckluZGV4ID49IHRoaXMucXVldWVkU2FtcGxlcykgYnJlYWs7CiAgICAgIGNvbnN0IGxvd2VyID0gdGhpcy5zYW1wbGVBdChsb3dlckluZGV4KTsKICAgICAgY29uc3QgdXBwZXIgPSB0aGlzLnNhbXBsZUF0KE1hdGgubWluKHVwcGVySW5kZXgsIHRoaXMucXVldWVkU2FtcGxlcyAtIDEpKTsKICAgICAgY29uc3QgZnJhY3Rpb24gPSB0aGlzLnNvdXJjZVBvc2l0aW9uIC0gbG93ZXJJbmRleDsKICAgICAgb3V0cHV0W291dHB1dEluZGV4XSA9IGxvd2VyICsgKHVwcGVyIC0gbG93ZXIpICogZnJhY3Rpb247CgogICAgICB0aGlzLnNvdXJjZVBvc2l0aW9uICs9IHNvdXJjZVN0ZXA7CiAgICAgIGNvbnN0IGNvbnN1bWVkID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGNvbnN1bWVkID4gMCkgewogICAgICAgIHRoaXMucGxheWVkU291cmNlU2FtcGxlcyArPSB0aGlzLmRpc2NhcmQoY29uc3VtZWQpOwogICAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gLT0gY29uc3VtZWQ7CiAgICAgIH0KICAgICAgdGhpcy5jb2xsZWN0UHJvZ3Jlc3Mob3V0cHV0W291dHB1dEluZGV4XSwgY3VycmVudEZyYW1lICsgb3V0cHV0SW5kZXggKyAxKTsKICAgIH0KCiAgICBpZiAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA9PT0gMCkgewogICAgICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoImxvbGEtcGNtLXBsYXliYWNrIiwgUGNtUGxheWJhY2tQcm9jZXNzb3IpOwo=", vl = 1e3, Cl = 3e3, Il = 45e3, Fi = (n, e, t, r) => new Promise((i, a) => {
7010
+ const Il = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0ZW5kcyBBdWRpb1dvcmtsZXRQcm9jZXNzb3IgewogIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHsKICAgIHN1cGVyKCk7CiAgICBjb25zdCBjb25maWcgPSBvcHRpb25zLnByb2Nlc3Nvck9wdGlvbnMgPz8ge307CiAgICB0aGlzLnNvdXJjZVNhbXBsZVJhdGUgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTnVtYmVyKGNvbmZpZy5zb3VyY2VTYW1wbGVSYXRlKSB8fCAyNDAwMCwKICAgICk7CiAgICB0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMgPSBNYXRoLm1heCgKICAgICAgMSwKICAgICAgTWF0aC5yb3VuZCgKICAgICAgICAodGhpcy5zb3VyY2VTYW1wbGVSYXRlICogKE51bWJlcihjb25maWcuaml0dGVyQnVmZmVyTXMpIHx8IDUwMCkpIC8gMTAwMCwKICAgICAgKSwKICAgICk7CiAgICB0aGlzLmNodW5rcyA9IFtdOwogICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB0aGlzLnF1ZXVlZFNhbXBsZXMgPSAwOwogICAgdGhpcy5zb3VyY2VQb3NpdGlvbiA9IDA7CiAgICB0aGlzLmNhcnJ5Qnl0ZSA9IG51bGw7CiAgICB0aGlzLmlucHV0RW5kZWQgPSBmYWxzZTsKICAgIHRoaXMucGxheWluZyA9IGZhbHNlOwogICAgdGhpcy5zdGFydGVkID0gZmFsc2U7CiAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7CiAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICB0aGlzLnBsYXllZFNvdXJjZVNhbXBsZXMgPSAwOwogICAgdGhpcy5ybXNXaW5kb3dGcmFtZXMgPSBNYXRoLm1heCgxLCBNYXRoLnJvdW5kKHNhbXBsZVJhdGUgKiAwLjAxKSk7CiAgICB0aGlzLnByb2dyZXNzUmVwb3J0RnJhbWVzID0gTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChzYW1wbGVSYXRlICogMC4wMikpOwogICAgdGhpcy5ybXNGcmFtZXMgPSAwOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgPSAwOwogICAgdGhpcy5zdW1TcXVhcmVzID0gMDsKICAgIHRoaXMud2luZG93UGVhayA9IDA7CiAgICB0aGlzLmxhc3RQZWFrID0gMDsKICAgIHRoaXMubW91dGhPcGVuID0gMDsKICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSAwOwogICAgdGhpcy5wcmV2aW91c1JtcyA9IDA7CiAgICB0aGlzLnNpbGVuY2VXaW5kb3dzID0gMDsKICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSAwOwogICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gMDsKICAgIHRoaXMubGFzdFJlbmRlckNvbnRleHRGcmFtZSA9IDA7CiAgICB0aGlzLmF0dGFja0NvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMTUpKTsKICAgIHRoaXMucmVsZWFzZUNvZWZmaWNpZW50ID0KICAgICAgMSAtIE1hdGguZXhwKC10aGlzLnJtc1dpbmRvd0ZyYW1lcyAvIChzYW1wbGVSYXRlICogMC4wMjUpKTsKICAgIHRoaXMubGV2ZWxBdHRhY2tDb2VmZmljaWVudCA9CiAgICAgIDEgLSBNYXRoLmV4cCgtdGhpcy5ybXNXaW5kb3dGcmFtZXMgLyAoc2FtcGxlUmF0ZSAqIDAuMTIpKTsKICAgIHRoaXMubGV2ZWxSZWxlYXNlQ29lZmZpY2llbnQgPQogICAgICAxIC0gTWF0aC5leHAoLXRoaXMucm1zV2luZG93RnJhbWVzIC8gKHNhbXBsZVJhdGUgKiAwLjQpKTsKICAgIHRoaXMuY2xvc3VyZUhvbGRXaW5kb3dzID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjAzKSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CiAgICB0aGlzLmNsb3N1cmVDb29sZG93bkR1cmF0aW9uID0gTWF0aC5tYXgoCiAgICAgIDEsCiAgICAgIE1hdGgucm91bmQoKHNhbXBsZVJhdGUgKiAwLjA4KSAvIHRoaXMucm1zV2luZG93RnJhbWVzKSwKICAgICk7CgogICAgdGhpcy5wb3J0Lm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4gewogICAgICBpZiAoZGF0YS50eXBlID09PSAiY2h1bmsiICYmIGRhdGEuYnl0ZXMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewogICAgICAgIHRoaXMuZW5xdWV1ZVBjbTE2KG5ldyBVaW50OEFycmF5KGRhdGEuYnl0ZXMpKTsKICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09ICJlbmQiKSB7CiAgICAgICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7IHR5cGU6ICJlcnJvciIgfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHRoaXMuaW5wdXRFbmRlZCA9IHRydWU7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAic3RvcCIpIHsKICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTsKICAgICAgfQogICAgfTsKICB9CgogIGVucXVldWVQY20xNihieXRlcykgewogICAgY29uc3Qgc2FtcGxlQ291bnQgPSBNYXRoLmZsb29yKAogICAgICAoYnl0ZXMubGVuZ3RoICsgKHRoaXMuY2FycnlCeXRlID09PSBudWxsID8gMCA6IDEpKSAvIDIsCiAgICApOwogICAgaWYgKCFzYW1wbGVDb3VudCkgewogICAgICBpZiAoYnl0ZXMubGVuZ3RoKSB0aGlzLmNhcnJ5Qnl0ZSA9IGJ5dGVzWzBdOwogICAgICByZXR1cm47CiAgICB9CgogICAgY29uc3Qgc2FtcGxlcyA9IG5ldyBGbG9hdDMyQXJyYXkoc2FtcGxlQ291bnQpOwogICAgbGV0IGJ5dGVJbmRleCA9IDA7CiAgICBsZXQgc2FtcGxlSW5kZXggPSAwOwogICAgaWYgKHRoaXMuY2FycnlCeXRlICE9PSBudWxsKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYXJyeUJ5dGUgfCAoYnl0ZXNbYnl0ZUluZGV4KytdIDw8IDgpOwogICAgICBzYW1wbGVzW3NhbXBsZUluZGV4KytdID0gKHZhbHVlIDw8IDE2KSAvIDIxNDc0ODM2NDg7CiAgICAgIHRoaXMuY2FycnlCeXRlID0gbnVsbDsKICAgIH0KICAgIHdoaWxlIChieXRlSW5kZXggKyAxIDwgYnl0ZXMubGVuZ3RoKSB7CiAgICAgIGNvbnN0IHZhbHVlID0gYnl0ZXNbYnl0ZUluZGV4XSB8IChieXRlc1tieXRlSW5kZXggKyAxXSA8PCA4KTsKICAgICAgc2FtcGxlc1tzYW1wbGVJbmRleCsrXSA9ICh2YWx1ZSA8PCAxNikgLyAyMTQ3NDgzNjQ4OwogICAgICBieXRlSW5kZXggKz0gMjsKICAgIH0KICAgIGlmIChieXRlSW5kZXggPCBieXRlcy5sZW5ndGgpIHRoaXMuY2FycnlCeXRlID0gYnl0ZXNbYnl0ZUluZGV4XTsKICAgIGlmICh0aGlzLmNodW5rSGVhZCA9PT0gdGhpcy5jaHVua3MubGVuZ3RoKSB7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCA9IDA7CiAgICAgIHRoaXMuY2h1bmtIZWFkID0gMDsKICAgIH0gZWxzZSBpZiAodGhpcy5jaHVua0hlYWQgPj0gNjQpIHsKICAgICAgdGhpcy5jaHVua3MuY29weVdpdGhpbigwLCB0aGlzLmNodW5rSGVhZCk7CiAgICAgIHRoaXMuY2h1bmtzLmxlbmd0aCAtPSB0aGlzLmNodW5rSGVhZDsKICAgICAgdGhpcy5jaHVua0hlYWQgPSAwOwogICAgfQogICAgdGhpcy5jaHVua3MucHVzaChzYW1wbGVzKTsKICAgIHRoaXMucXVldWVkU2FtcGxlcyArPSBzYW1wbGVzLmxlbmd0aDsKICB9CgogIHNhbXBsZUF0KGluZGV4KSB7CiAgICBsZXQgcmVtYWluaW5nID0gaW5kZXggKyB0aGlzLmNodW5rT2Zmc2V0OwogICAgZm9yICgKICAgICAgbGV0IGNodW5rSW5kZXggPSB0aGlzLmNodW5rSGVhZDsKICAgICAgY2h1bmtJbmRleCA8IHRoaXMuY2h1bmtzLmxlbmd0aDsKICAgICAgY2h1bmtJbmRleCArPSAxCiAgICApIHsKICAgICAgY29uc3QgY2h1bmsgPSB0aGlzLmNodW5rc1tjaHVua0luZGV4XTsKICAgICAgaWYgKHJlbWFpbmluZyA8IGNodW5rLmxlbmd0aCkgcmV0dXJuIGNodW5rW3JlbWFpbmluZ107CiAgICAgIHJlbWFpbmluZyAtPSBjaHVuay5sZW5ndGg7CiAgICB9CiAgICByZXR1cm4gMDsKICB9CgogIGRpc2NhcmQoY291bnQpIHsKICAgIGNvbnN0IGRpc2NhcmRlZCA9IE1hdGgubWluKGNvdW50LCB0aGlzLnF1ZXVlZFNhbXBsZXMpOwogICAgbGV0IHJlbWFpbmluZyA9IGRpc2NhcmRlZDsKICAgIHRoaXMucXVldWVkU2FtcGxlcyAtPSBkaXNjYXJkZWQ7CiAgICB3aGlsZSAocmVtYWluaW5nID4gMCAmJiB0aGlzLmNodW5rSGVhZCA8IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLmNodW5rc1t0aGlzLmNodW5rSGVhZF0ubGVuZ3RoIC0gdGhpcy5jaHVua09mZnNldDsKICAgICAgaWYgKHJlbWFpbmluZyA8IGF2YWlsYWJsZSkgewogICAgICAgIHRoaXMuY2h1bmtPZmZzZXQgKz0gcmVtYWluaW5nOwogICAgICAgIHJldHVybiBkaXNjYXJkZWQ7CiAgICAgIH0KICAgICAgcmVtYWluaW5nIC09IGF2YWlsYWJsZTsKICAgICAgdGhpcy5jaHVua0hlYWQgKz0gMTsKICAgICAgdGhpcy5jaHVua09mZnNldCA9IDA7CiAgICB9CiAgICBpZiAodGhpcy5jaHVua0hlYWQgPT09IHRoaXMuY2h1bmtzLmxlbmd0aCkgewogICAgICB0aGlzLmNodW5rcy5sZW5ndGggPSAwOwogICAgICB0aGlzLmNodW5rSGVhZCA9IDA7CiAgICB9CiAgICByZXR1cm4gZGlzY2FyZGVkOwogIH0KCiAgZmluaXNoUm1zV2luZG93KCkgewogICAgaWYgKHRoaXMucm1zRnJhbWVzID09PSAwKSByZXR1cm47CiAgICBjb25zdCBybXMgPSBNYXRoLnNxcnQodGhpcy5zdW1TcXVhcmVzIC8gdGhpcy5ybXNGcmFtZXMpOwogICAgY29uc3QgYWJzb2x1dGVUYXJnZXQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAocm1zIC0gMC4wMDgpIC8gMC4xMTIpKTsKICAgIGlmIChybXMgPD0gMC4wMDgpIHsKICAgICAgdGhpcy5zaWxlbmNlV2luZG93cyArPSAxOwogICAgICBpZiAodGhpcy5zaWxlbmNlV2luZG93cyA+PSA4KSB0aGlzLnNwZWVjaExldmVsID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuc2lsZW5jZVdpbmRvd3MgPSAwOwogICAgICBpZiAodGhpcy5zcGVlY2hMZXZlbCA9PT0gMCkgewogICAgICAgIHRoaXMuc3BlZWNoTGV2ZWwgPSBybXM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgbGV2ZWxDb2VmZmljaWVudCA9CiAgICAgICAgICBybXMgPiB0aGlzLnNwZWVjaExldmVsCiAgICAgICAgICAgID8gdGhpcy5sZXZlbEF0dGFja0NvZWZmaWNpZW50CiAgICAgICAgICAgIDogdGhpcy5sZXZlbFJlbGVhc2VDb2VmZmljaWVudDsKICAgICAgICB0aGlzLnNwZWVjaExldmVsICs9IChybXMgLSB0aGlzLnNwZWVjaExldmVsKSAqIGxldmVsQ29lZmZpY2llbnQ7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdCByZWxhdGl2ZUxldmVsID0KICAgICAgdGhpcy5zcGVlY2hMZXZlbCA+IDAgPyBybXMgLyB0aGlzLnNwZWVjaExldmVsIDogYWJzb2x1dGVUYXJnZXQ7CiAgICBjb25zdCByZWxhdGl2ZVRhcmdldCA9IE1hdGgubWF4KAogICAgICAwLAogICAgICBNYXRoLm1pbigxLCAocmVsYXRpdmVMZXZlbCAtIDAuMzUpIC8gMC42NSksCiAgICApOwogICAgbGV0IHRhcmdldCA9IE1hdGgubWluKGFic29sdXRlVGFyZ2V0LCByZWxhdGl2ZVRhcmdldCk7CgogICAgaWYgKHRoaXMuY2xvc3VyZUNvb2xkb3duV2luZG93cyA+IDApIHsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzIC09IDE7CiAgICB9CiAgICBjb25zdCBmZWxsU2hhcnBseSA9IHRoaXMucHJldmlvdXNSbXMgPiAwICYmIHJtcyA8IHRoaXMucHJldmlvdXNSbXMgKiAwLjU1OwogICAgaWYgKAogICAgICBybXMgPiAwLjAwOCAmJgogICAgICB0aGlzLmNsb3N1cmVDb29sZG93bldpbmRvd3MgPT09IDAgJiYKICAgICAgKHJlbGF0aXZlTGV2ZWwgPCAwLjU1IHx8IGZlbGxTaGFycGx5KQogICAgKSB7CiAgICAgIHRoaXMuY2xvc3VyZVdpbmRvd3NSZW1haW5pbmcgPSB0aGlzLmNsb3N1cmVIb2xkV2luZG93czsKICAgICAgdGhpcy5jbG9zdXJlQ29vbGRvd25XaW5kb3dzID0gdGhpcy5jbG9zdXJlQ29vbGRvd25EdXJhdGlvbjsKICAgIH0KICAgIGlmICh0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nID4gMCkgewogICAgICB0YXJnZXQgPSAwOwogICAgICB0aGlzLmNsb3N1cmVXaW5kb3dzUmVtYWluaW5nIC09IDE7CiAgICB9CgogICAgY29uc3QgY29lZmZpY2llbnQgPQogICAgICB0YXJnZXQgPiB0aGlzLm1vdXRoT3BlbgogICAgICAgID8gdGhpcy5hdHRhY2tDb2VmZmljaWVudAogICAgICAgIDogdGhpcy5yZWxlYXNlQ29lZmZpY2llbnQ7CiAgICB0aGlzLm1vdXRoT3BlbiArPSAodGFyZ2V0IC0gdGhpcy5tb3V0aE9wZW4pICogY29lZmZpY2llbnQ7CiAgICB0aGlzLnByZXZpb3VzUm1zID0gcm1zOwogICAgdGhpcy5sYXN0UGVhayA9IHRoaXMud2luZG93UGVhazsKICAgIHRoaXMucm1zRnJhbWVzID0gMDsKICAgIHRoaXMuc3VtU3F1YXJlcyA9IDA7CiAgICB0aGlzLndpbmRvd1BlYWsgPSAwOwogIH0KCiAgY29tcGxldGUoKSB7CiAgICBpZiAodGhpcy5maW5pc2hlZCkgcmV0dXJuOwogICAgaWYgKHRoaXMuc3RhcnRlZCAmJiB0aGlzLnJlcG9ydEZyYW1lcyA+IDApIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgICB0eXBlOiAicHJvZ3Jlc3MiLAogICAgICAgIHNvdXJjZVNhbXBsZTogdGhpcy5wbGF5ZWRTb3VyY2VTYW1wbGVzLAogICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lLAogICAgICAgIG1vdXRoT3BlbjogdGhpcy5tb3V0aE9wZW4sCiAgICAgICAgcGVhazogdGhpcy5sYXN0UGVhaywKICAgICAgfSk7CiAgICAgIHRoaXMucmVwb3J0RnJhbWVzID0gMDsKICAgIH0KICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlOwogICAgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKHsKICAgICAgdHlwZTogImVuZGVkIiwKICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiB0aGlzLmxhc3RSZW5kZXJDb250ZXh0RnJhbWUsCiAgICB9KTsKICB9CgogIGNvbGxlY3RQcm9ncmVzcyhzYW1wbGUsIHJlbmRlckNvbnRleHRGcmFtZSkgewogICAgdGhpcy5sYXN0UmVuZGVyQ29udGV4dEZyYW1lID0gcmVuZGVyQ29udGV4dEZyYW1lOwogICAgdGhpcy5zdW1TcXVhcmVzICs9IHNhbXBsZSAqIHNhbXBsZTsKICAgIHRoaXMud2luZG93UGVhayA9IE1hdGgubWF4KHRoaXMud2luZG93UGVhaywgTWF0aC5hYnMoc2FtcGxlKSk7CiAgICB0aGlzLnJtc0ZyYW1lcyArPSAxOwogICAgdGhpcy5yZXBvcnRGcmFtZXMgKz0gMTsKCiAgICBpZiAodGhpcy5ybXNGcmFtZXMgPj0gdGhpcy5ybXNXaW5kb3dGcmFtZXMpIHsKICAgICAgdGhpcy5maW5pc2hSbXNXaW5kb3coKTsKICAgIH0KCiAgICBpZiAodGhpcy5yZXBvcnRGcmFtZXMgPj0gdGhpcy5wcm9ncmVzc1JlcG9ydEZyYW1lcykgewogICAgICB0aGlzLnJlcG9ydEZyYW1lcyA9IDA7CiAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgdHlwZTogInByb2dyZXNzIiwKICAgICAgICBzb3VyY2VTYW1wbGU6IHRoaXMucGxheWVkU291cmNlU2FtcGxlcywKICAgICAgICByZW5kZXJDb250ZXh0RnJhbWUsCiAgICAgICAgbW91dGhPcGVuOiB0aGlzLm1vdXRoT3BlbiwKICAgICAgICBwZWFrOiB0aGlzLmxhc3RQZWFrLAogICAgICB9KTsKICAgIH0KICB9CgogIHByb2Nlc3MoX2lucHV0cywgb3V0cHV0cykgewogICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1swXT8uWzBdOwogICAgaWYgKCFvdXRwdXQpIHJldHVybiAhdGhpcy5maW5pc2hlZDsKICAgIG91dHB1dC5maWxsKDApOwogICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybiBmYWxzZTsKCiAgICBjb25zdCBzb3VyY2VTdGVwID0gdGhpcy5zb3VyY2VTYW1wbGVSYXRlIC8gc2FtcGxlUmF0ZTsKICAgIGNvbnN0IHJlcXVpcmVkU2FtcGxlcyA9CiAgICAgIE1hdGguY2VpbCh0aGlzLnNvdXJjZVBvc2l0aW9uICsgb3V0cHV0Lmxlbmd0aCAqIHNvdXJjZVN0ZXApICsgMTsKICAgIGlmICgKICAgICAgdGhpcy5wbGF5aW5nICYmCiAgICAgICF0aGlzLmlucHV0RW5kZWQgJiYKICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzIDwgcmVxdWlyZWRTYW1wbGVzCiAgICApIHsKICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7CiAgICAgIGlmICghdGhpcy51bmRlcnJ1bikgewogICAgICAgIHRoaXMudW5kZXJydW4gPSB0cnVlOwogICAgICAgIHRoaXMucG9ydC5wb3N0TWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAidW5kZXJydW4iLAogICAgICAgICAgcmVuZGVyQ29udGV4dEZyYW1lOiBjdXJyZW50RnJhbWUsCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoIXRoaXMucGxheWluZykgewogICAgICBpZiAoCiAgICAgICAgdGhpcy5xdWV1ZWRTYW1wbGVzID49CiAgICAgICAgICBNYXRoLm1heCh0aGlzLmppdHRlckJ1ZmZlclNhbXBsZXMsIHJlcXVpcmVkU2FtcGxlcykgfHwKICAgICAgICAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA+IDApCiAgICAgICkgewogICAgICAgIHRoaXMucGxheWluZyA9IHRydWU7CiAgICAgICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIHsKICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3RhcnRlZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVuZGVycnVuKSB7CiAgICAgICAgICB0aGlzLnVuZGVycnVuID0gZmFsc2U7CiAgICAgICAgICB0aGlzLnBvcnQucG9zdE1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAicmVzdW1lZCIsCiAgICAgICAgICAgIHJlbmRlckNvbnRleHRGcmFtZTogY3VycmVudEZyYW1lLAogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbmRlZCkgewogICAgICAgIHRoaXMuY29tcGxldGUoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICBmb3IgKGxldCBvdXRwdXRJbmRleCA9IDA7IG91dHB1dEluZGV4IDwgb3V0cHV0Lmxlbmd0aDsgb3V0cHV0SW5kZXggKz0gMSkgewogICAgICBjb25zdCBsb3dlckluZGV4ID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGxvd2VySW5kZXggPj0gdGhpcy5xdWV1ZWRTYW1wbGVzKSBicmVhazsKICAgICAgY29uc3QgdXBwZXJJbmRleCA9IGxvd2VySW5kZXggKyAxOwogICAgICBpZiAoIXRoaXMuaW5wdXRFbmRlZCAmJiB1cHBlckluZGV4ID49IHRoaXMucXVldWVkU2FtcGxlcykgYnJlYWs7CiAgICAgIGNvbnN0IGxvd2VyID0gdGhpcy5zYW1wbGVBdChsb3dlckluZGV4KTsKICAgICAgY29uc3QgdXBwZXIgPSB0aGlzLnNhbXBsZUF0KE1hdGgubWluKHVwcGVySW5kZXgsIHRoaXMucXVldWVkU2FtcGxlcyAtIDEpKTsKICAgICAgY29uc3QgZnJhY3Rpb24gPSB0aGlzLnNvdXJjZVBvc2l0aW9uIC0gbG93ZXJJbmRleDsKICAgICAgb3V0cHV0W291dHB1dEluZGV4XSA9IGxvd2VyICsgKHVwcGVyIC0gbG93ZXIpICogZnJhY3Rpb247CgogICAgICB0aGlzLnNvdXJjZVBvc2l0aW9uICs9IHNvdXJjZVN0ZXA7CiAgICAgIGNvbnN0IGNvbnN1bWVkID0gTWF0aC5mbG9vcih0aGlzLnNvdXJjZVBvc2l0aW9uKTsKICAgICAgaWYgKGNvbnN1bWVkID4gMCkgewogICAgICAgIHRoaXMucGxheWVkU291cmNlU2FtcGxlcyArPSB0aGlzLmRpc2NhcmQoY29uc3VtZWQpOwogICAgICAgIHRoaXMuc291cmNlUG9zaXRpb24gLT0gY29uc3VtZWQ7CiAgICAgIH0KICAgICAgdGhpcy5jb2xsZWN0UHJvZ3Jlc3Mob3V0cHV0W291dHB1dEluZGV4XSwgY3VycmVudEZyYW1lICsgb3V0cHV0SW5kZXggKyAxKTsKICAgIH0KCiAgICBpZiAodGhpcy5pbnB1dEVuZGVkICYmIHRoaXMucXVldWVkU2FtcGxlcyA9PT0gMCkgewogICAgICB0aGlzLmNvbXBsZXRlKCk7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0KfQoKcmVnaXN0ZXJQcm9jZXNzb3IoImxvbGEtcGNtLXBsYXliYWNrIiwgUGNtUGxheWJhY2tQcm9jZXNzb3IpOwo=", Al = 1e3, kl = 3e3, xl = 45e3, Fi = (n, e, t, r) => new Promise((i, a) => {
6977
7011
  let s = !1;
6978
7012
  const o = (d) => {
6979
7013
  s || (s = !0, clearTimeout(l), r.removeEventListener("abort", c), d());
@@ -6985,12 +7019,12 @@ const yl = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0
6985
7019
  (d) => o(() => i(d)),
6986
7020
  (d) => o(() => a(d))
6987
7021
  );
6988
- }), Al = (n, e) => Fi(
7022
+ }), Sl = (n, e) => Fi(
6989
7023
  n.resume(),
6990
- Cl,
7024
+ kl,
6991
7025
  "Audio playback was blocked",
6992
7026
  e
6993
- ), kl = (n) => {
7027
+ ), Tl = (n) => {
6994
7028
  let e = Number.NaN;
6995
7029
  try {
6996
7030
  const r = n.getOutputTimestamp?.()?.contextTime;
@@ -6999,7 +7033,7 @@ const yl = "data:text/javascript;base64,Y2xhc3MgUGNtUGxheWJhY2tQcm9jZXNzb3IgZXh0
6999
7033
  }
7000
7034
  return Number.isFinite(e) || (e = n.currentTime - n.baseLatency - (n.outputLatency || 0)), !Number.isFinite(e) || !Number.isFinite(n.sampleRate) || n.sampleRate <= 0 ? null : Math.max(0, e * n.sampleRate);
7001
7035
  };
7002
- class xl {
7036
+ class El {
7003
7037
  active = null;
7004
7038
  get isPlaying() {
7005
7039
  return this.active !== null;
@@ -7057,13 +7091,13 @@ class xl {
7057
7091
  }), this.active === S && (this.active = null));
7058
7092
  }, p = (x, y) => {
7059
7093
  if (l) return;
7060
- const P = i ? kl(i) : null;
7094
+ const P = i ? Tl(i) : null;
7061
7095
  if (P === null || !Number.isFinite(x) || !i || x <= P) {
7062
7096
  y();
7063
7097
  return;
7064
7098
  }
7065
7099
  const F = Math.min(
7066
- vl,
7100
+ Al,
7067
7101
  (x - P) / i.sampleRate * 1e3
7068
7102
  ), D = setTimeout(() => {
7069
7103
  c.delete(D), l || y();
@@ -7092,7 +7126,7 @@ class xl {
7092
7126
  return this.active = S, (async () => {
7093
7127
  try {
7094
7128
  i = new AudioContext({ latencyHint: "interactive" });
7095
- const x = Al(
7129
+ const x = Sl(
7096
7130
  i,
7097
7131
  r.signal
7098
7132
  );
@@ -7103,10 +7137,10 @@ class xl {
7103
7137
  const [, , y] = await Fi(
7104
7138
  Promise.all([
7105
7139
  x,
7106
- i.audioWorklet.addModule(yl),
7140
+ i.audioWorklet.addModule(Il),
7107
7141
  o
7108
7142
  ]),
7109
- Il,
7143
+ xl,
7110
7144
  "Audio playback setup timed out",
7111
7145
  r.signal
7112
7146
  );
@@ -7205,7 +7239,7 @@ class xl {
7205
7239
  this.active?.stop();
7206
7240
  }
7207
7241
  }
7208
- const Sl = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]), Tl = 128, El = 256, Rl = 5, Tr = {
7242
+ const Rl = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]), Ml = 128, Ll = 256, Nl = 5, Sr = {
7209
7243
  playbackId: null,
7210
7244
  phase: "idle",
7211
7245
  sampleRate: 0,
@@ -7213,8 +7247,8 @@ const Sl = /* @__PURE__ */ new Set(["A", "B", "C", "D", "E", "F", "G", "H", "X"]
7213
7247
  mouthOpen: 0,
7214
7248
  activeViseme: null
7215
7249
  };
7216
- class Ml {
7217
- snapshot = Tr;
7250
+ class Pl {
7251
+ snapshot = Sr;
7218
7252
  listeners = /* @__PURE__ */ new Set();
7219
7253
  cues = [];
7220
7254
  cueIndex = 0;
@@ -7235,7 +7269,7 @@ class Ml {
7235
7269
  }
7236
7270
  if (e.playbackId === this.snapshot.playbackId) {
7237
7271
  if (e.type === "playback-stopped") {
7238
- this.cues = [], this.cueIndex = 0, this.rmsMouthOpen = 0, this.publish(Tr);
7272
+ this.cues = [], this.cueIndex = 0, this.rmsMouthOpen = 0, this.publish(Sr);
7239
7273
  return;
7240
7274
  }
7241
7275
  if (e.type === "playback-underrun") {
@@ -7285,26 +7319,26 @@ class Ml {
7285
7319
  };
7286
7320
  }
7287
7321
  acceptCueBatch(e, t) {
7288
- if (!this.cuesEnabled || !Number.isSafeInteger(e) || e !== this.nextCueSequence || t.length > Tl)
7322
+ if (!this.cuesEnabled || !Number.isSafeInteger(e) || e !== this.nextCueSequence || t.length > Ml)
7289
7323
  return !1;
7290
7324
  this.cueIndex > 0 && (this.cues.splice(0, this.cueIndex), this.cueIndex = 0);
7291
7325
  let r = this.cues.at(-1)?.endSample ?? -1;
7292
- const i = this.snapshot.sourceSample + this.snapshot.sampleRate * Rl;
7326
+ const i = this.snapshot.sourceSample + this.snapshot.sampleRate * Nl;
7293
7327
  let a = 0;
7294
7328
  for (let s = 0; s < t.length; s += 1) {
7295
7329
  const o = t[s];
7296
- if (!Sl.has(o.viseme) || !Number.isSafeInteger(o.startSample) || !Number.isSafeInteger(o.endSample) || o.startSample < 0 || o.startSample < r || o.endSample <= o.startSample || o.endSample > i)
7330
+ if (!Rl.has(o.viseme) || !Number.isSafeInteger(o.startSample) || !Number.isSafeInteger(o.endSample) || o.startSample < 0 || o.startSample < r || o.endSample <= o.startSample || o.endSample > i)
7297
7331
  return !1;
7298
7332
  r = o.endSample, o.endSample > this.snapshot.sourceSample && (a += 1);
7299
7333
  }
7300
- if (this.cues.length + a > El) return !1;
7334
+ if (this.cues.length + a > Ll) return !1;
7301
7335
  for (let s = 0; s < t.length; s += 1)
7302
7336
  t[s].endSample > this.snapshot.sourceSample && this.cues.push(t[s]);
7303
7337
  return this.nextCueSequence += 1, !0;
7304
7338
  }
7305
7339
  }
7306
- const we = new Ml(), Ll = 256;
7307
- async function Nl({
7340
+ const we = new Pl(), Vl = 256;
7341
+ async function Ol({
7308
7342
  source: n,
7309
7343
  runtime: e,
7310
7344
  playbackId: t,
@@ -7318,17 +7352,17 @@ async function Nl({
7318
7352
  if (i.aborted) return;
7319
7353
  if (o.playbackId !== t)
7320
7354
  continue;
7321
- const c = Pl(o);
7355
+ const c = zl(o);
7322
7356
  if (o.sequence < a) {
7323
7357
  if (s.get(o.sequence) === c) continue;
7324
- cn(e, o, r);
7358
+ ln(e, o, r);
7325
7359
  return;
7326
7360
  }
7327
7361
  if (o.sequence > a) {
7328
- cn(e, o, r);
7362
+ ln(e, o, r);
7329
7363
  return;
7330
7364
  }
7331
- for (cn(e, o, r), s.set(o.sequence, c); s.size > Ll; ) {
7365
+ for (ln(e, o, r), s.set(o.sequence, c); s.size > Vl; ) {
7332
7366
  const l = s.keys().next().value;
7333
7367
  if (l === void 0) break;
7334
7368
  s.delete(l);
@@ -7338,7 +7372,7 @@ async function Nl({
7338
7372
  } catch {
7339
7373
  }
7340
7374
  }
7341
- function cn(n, e, t) {
7375
+ function ln(n, e, t) {
7342
7376
  n.dispatch({
7343
7377
  type: "cue-batch",
7344
7378
  playbackId: e.playbackId,
@@ -7350,7 +7384,7 @@ function cn(n, e, t) {
7350
7384
  }))
7351
7385
  });
7352
7386
  }
7353
- function Pl(n) {
7387
+ function zl(n) {
7354
7388
  return JSON.stringify(
7355
7389
  n.cues.map((e) => [e.viseme, e.startMs, e.endMs])
7356
7390
  );
@@ -7373,7 +7407,7 @@ const Fe = {
7373
7407
  assistantMessageTranscriptVisible: !1,
7374
7408
  assistantResponseInProgress: !1,
7375
7409
  microphoneEnabled: !1
7376
- }, ve = 24e3, Un = 5, Vl = 100, Er = 120, Ol = 1e4, zl = 1e4, xn = 256 * 1024, Gl = 4 * 1024 * 1024, Fl = 6e4, Rr = 1e5, Dl = 200, Bl = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i, Mr = (n) => ({
7410
+ }, ve = 24e3, Un = 5, Gl = 100, Tr = 120, Fl = 1e4, Dl = 1e4, xn = 256 * 1024, Bl = 4 * 1024 * 1024, Wl = 6e4, Er = 1e5, Xl = 200, Rr = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i, Mr = (n) => ({
7377
7411
  onProgress: ({ sourceSample: e, mouthOpen: t }) => we.dispatch({
7378
7412
  type: "playback-progress",
7379
7413
  playbackId: n,
@@ -7383,7 +7417,7 @@ const Fe = {
7383
7417
  onUnderrun: () => we.dispatch({ type: "playback-underrun", playbackId: n }),
7384
7418
  onResumed: () => we.dispatch({ type: "playback-resumed", playbackId: n }),
7385
7419
  onStopped: () => we.dispatch({ type: "playback-stopped", playbackId: n })
7386
- }), Wl = /* @__PURE__ */ new Set([
7420
+ }), Zl = /* @__PURE__ */ new Set([
7387
7421
  "input_audio_buffer.speech_started",
7388
7422
  "input_audio_buffer.speech_stopped",
7389
7423
  "conversation.item.input_audio_transcription.updated",
@@ -7397,23 +7431,23 @@ const Fe = {
7397
7431
  "response.text.delta",
7398
7432
  "response.done",
7399
7433
  "error"
7400
- ]), ke = (n) => !!n && typeof n == "object" && !Array.isArray(n), Xl = (n) => n instanceof Error ? n.message : "Voice session failed";
7401
- class at extends Error {
7434
+ ]), ke = (n) => !!n && typeof n == "object" && !Array.isArray(n), Ul = (n) => n instanceof Error ? n.message : "Voice session failed";
7435
+ class st extends Error {
7402
7436
  constructor(e, t) {
7403
7437
  super(t), this.code = e;
7404
7438
  }
7405
7439
  }
7406
- const Zl = (n) => {
7440
+ const Hl = (n) => {
7407
7441
  const e = ke(n) ? n.error : void 0, t = ke(e) ? e.message : ke(n) ? n.message : void 0;
7408
7442
  return typeof t == "string" ? t : null;
7409
7443
  }, Lr = (n) => {
7410
7444
  n?.getTracks().forEach((e) => e.stop());
7411
- }, Ul = (n) => {
7445
+ }, jl = (n) => {
7412
7446
  let e = "";
7413
7447
  for (let t = 0; t < n.length; t += 1)
7414
7448
  e += String.fromCharCode(n[t]);
7415
7449
  return btoa(e);
7416
- }, Hl = (n) => {
7450
+ }, _l = (n) => {
7417
7451
  if (n.length > Math.ceil(xn * 4 / 3) + 4)
7418
7452
  throw new Error("Voice audio chunk is too large");
7419
7453
  const e = atob(n);
@@ -7423,26 +7457,26 @@ const Zl = (n) => {
7423
7457
  for (let r = 0; r < e.length; r += 1)
7424
7458
  t[r] = e.charCodeAt(r);
7425
7459
  return t;
7426
- }, jl = (n) => {
7427
- const e = ke(n) ? n.delta ?? n.audio : n, t = e instanceof Uint8Array ? e.slice() : e instanceof ArrayBuffer ? new Uint8Array(e.slice(0)) : typeof e == "string" && e ? Hl(e) : null;
7460
+ }, ql = (n) => {
7461
+ const e = ke(n) ? n.delta ?? n.audio : n, t = e instanceof Uint8Array ? e.slice() : e instanceof ArrayBuffer ? new Uint8Array(e.slice(0)) : typeof e == "string" && e ? _l(e) : null;
7428
7462
  if (!t || !t.byteLength || t.byteLength % 2 !== 0)
7429
7463
  throw new Error("Voice audio delta is invalid");
7430
7464
  if (t.byteLength > xn)
7431
7465
  throw new Error("Voice audio chunk is too large");
7432
7466
  return t;
7433
- }, It = (n, e = !1) => {
7467
+ }, At = (n, e = !1) => {
7434
7468
  if (typeof n == "string") {
7435
- if (n.length > Rr)
7469
+ if (n.length > Er)
7436
7470
  throw new Error("Voice transcript is too large");
7437
7471
  return n;
7438
7472
  }
7439
7473
  if (!ke(n)) return "";
7440
7474
  const t = e ? n.transcript ?? n.text ?? n.delta : n.delta ?? n.transcript ?? n.text;
7441
7475
  if (typeof t != "string") return "";
7442
- if (t.length > Rr)
7476
+ if (t.length > Er)
7443
7477
  throw new Error("Voice transcript is too large");
7444
7478
  return t;
7445
- }, qe = (n) => ke(n) ? typeof n.response_id == "string" ? n.response_id : ke(n.response) && typeof n.response.id == "string" ? n.response.id : null : null, ql = (n) => {
7479
+ }, qe = (n) => ke(n) ? typeof n.response_id == "string" ? n.response_id : ke(n.response) && typeof n.response.id == "string" ? n.response.id : null : null, Kl = (n) => {
7446
7480
  const e = new URL(Oe);
7447
7481
  if (e.protocol !== "https:" && !["localhost", "127.0.0.1", "[::1]"].includes(e.hostname))
7448
7482
  throw new Error("Voice proxy must use HTTPS");
@@ -7450,7 +7484,7 @@ const Zl = (n) => {
7450
7484
  url: `${e.origin}${n.websocket.namespace}`,
7451
7485
  path: n.websocket.path
7452
7486
  };
7453
- }, _l = (n, e) => {
7487
+ }, Yl = (n, e) => {
7454
7488
  if (e.voiceProtocolVersion !== Un)
7455
7489
  throw new Error(
7456
7490
  `Unsupported voice protocol version: ${e.voiceProtocolVersion}`
@@ -7461,8 +7495,8 @@ const Zl = (n) => {
7461
7495
  throw new Error(
7462
7496
  `Voice session cannot connect from status ${e.status}`
7463
7497
  );
7464
- const t = ql(e);
7465
- return Pt(t.url, {
7498
+ const t = Kl(e);
7499
+ return Vt(t.url, {
7466
7500
  path: t.path,
7467
7501
  transports: ["websocket"],
7468
7502
  reconnection: !1,
@@ -7471,15 +7505,15 @@ const Zl = (n) => {
7471
7505
  token: n.customerInteractionSession.accessToken
7472
7506
  }
7473
7507
  });
7474
- }, Kl = (n) => new Promise((e, t) => {
7508
+ }, Jl = (n) => new Promise((e, t) => {
7475
7509
  const r = setTimeout(() => {
7476
7510
  i(), t(
7477
- new at(
7511
+ new st(
7478
7512
  "connection_timed_out",
7479
7513
  "Voice connection timed out"
7480
7514
  )
7481
7515
  );
7482
- }, Ol), i = () => {
7516
+ }, Fl), i = () => {
7483
7517
  clearTimeout(r), n.off("connect", a), n.off("connect_error", s);
7484
7518
  }, a = () => {
7485
7519
  i(), e();
@@ -7487,13 +7521,13 @@ const Zl = (n) => {
7487
7521
  i(), t(o);
7488
7522
  };
7489
7523
  n.once("connect", a), n.once("connect_error", s), n.connect();
7490
- }), Yl = (n) => {
7524
+ }), Ql = (n) => {
7491
7525
  const e = n.error?.code ?? "VOICE_OPERATION_FAILED", t = n.error?.message;
7492
7526
  return new Error(t ? `${e}: ${t}` : e);
7493
- }, Dt = (n, e, t) => new Promise((r, i) => {
7527
+ }, Bt = (n, e, t) => new Promise((r, i) => {
7494
7528
  const a = setTimeout(
7495
7529
  () => i(new Error(`${e} timed out`)),
7496
- zl
7530
+ Dl
7497
7531
  );
7498
7532
  n.emit(e, t, (s) => {
7499
7533
  clearTimeout(a);
@@ -7503,13 +7537,13 @@ const Zl = (n) => {
7503
7537
  r(o);
7504
7538
  return;
7505
7539
  }
7506
- i(Yl(o));
7540
+ i(Ql(o));
7507
7541
  return;
7508
7542
  }
7509
7543
  r(o);
7510
7544
  });
7511
- }), Jl = async (n, e, t) => {
7512
- const r = await Dt(n, e.websocket.connectEvent, {
7545
+ }), $l = async (n, e, t) => {
7546
+ const r = await Bt(n, e.websocket.connectEvent, {
7513
7547
  voiceSessionId: e.voiceSessionId,
7514
7548
  client: {
7515
7549
  protocolVersion: Un,
@@ -7520,35 +7554,35 @@ const Zl = (n) => {
7520
7554
  });
7521
7555
  if (r.voiceSessionId !== e.voiceSessionId || r.protocol !== e.websocket.eventProtocol || r.turnDetection !== "server_vad" || r.protocol !== "lola-voice-v5")
7522
7556
  throw new Error("Invalid voice.connect acknowledgement");
7523
- }, Ql = async (n, e, t) => !n?.connected || !e ? !1 : (await Dt(n, e.websocket.disconnectEvent, {
7557
+ }, ed = async (n, e, t) => !n?.connected || !e ? !1 : (await Bt(n, e.websocket.disconnectEvent, {
7524
7558
  voiceSessionId: e.voiceSessionId,
7525
7559
  reason: t
7526
- }), !0), $l = (n, e, t) => {
7560
+ }), !0), td = (n, e, t) => {
7527
7561
  if (!ke(n) || !ke(n.event))
7528
7562
  throw new Error("Invalid voice.event envelope");
7529
7563
  if (n.contractVersion !== Un || n.protocol !== e.websocket.eventProtocol || n.voiceSessionId !== e.voiceSessionId || n.sequence !== t)
7530
7564
  throw new Error("Invalid voice.event envelope");
7531
7565
  const r = n.event.type;
7532
- if (typeof r != "string" || !Wl.has(r))
7566
+ if (typeof r != "string" || !Zl.has(r))
7533
7567
  throw new Error("Unsupported voice provider event");
7534
7568
  return { type: r, event: n.event };
7535
- }, ed = async (n, e) => {
7536
- const t = _.getState().currentThreadId;
7569
+ }, nd = async (n, e) => {
7570
+ const t = q.getState().currentThreadId;
7537
7571
  try {
7538
- return await xr(n, e, t);
7572
+ return await kr(n, e, t);
7539
7573
  } catch (r) {
7540
7574
  if (!(r instanceof Wn) || r.status !== 409) throw r;
7541
- const i = r.message.match(Bl)?.[0];
7542
- if (!i) throw r;
7575
+ const a = (r.code === "VOICE_SESSION_ACTIVE" && typeof r.details?.activeVoiceSessionId == "string" && Rr.test(r.details.activeVoiceSessionId) ? r.details.activeVoiceSessionId : void 0) ?? r.message.match(Rr)?.[0];
7576
+ if (!a) throw r;
7543
7577
  return await De(
7544
7578
  n,
7545
7579
  e,
7546
- i,
7580
+ a,
7547
7581
  "replace_stale_session"
7548
- ), xr(n, e, t);
7582
+ ), kr(n, e, t);
7549
7583
  }
7550
- }, Vt = gi((n, e) => {
7551
- const t = new xl();
7584
+ }, Ot = gi((n, e) => {
7585
+ const t = new El();
7552
7586
  let r = !1, i = null, a = null, s = null, o = null, c = 0, l = 0, d = null, u = null, f = 0, h = 0;
7553
7587
  const w = /* @__PURE__ */ new Set();
7554
7588
  let p = !1, b = !0, A = 0, C = !1;
@@ -7591,11 +7625,11 @@ const Zl = (n) => {
7591
7625
  });
7592
7626
  a = I, c = Math.max(
7593
7627
  c,
7594
- performance.now() + Er
7628
+ performance.now() + Tr
7595
7629
  ), n({ assistantResponseInProgress: !0 });
7596
7630
  const R = t.playPcm16(async () => v, {
7597
7631
  sampleRate: ve,
7598
- jitterBufferMs: Er,
7632
+ jitterBufferMs: Tr,
7599
7633
  onStarted: () => {
7600
7634
  e().generation === T && (we.dispatch({
7601
7635
  type: "playback-started",
@@ -7630,7 +7664,7 @@ const Zl = (n) => {
7630
7664
  const v = d, R = u, L = f;
7631
7665
  x();
7632
7666
  const m = e();
7633
- v && R && m.socket?.connected && m.session && Dt(m.socket, "voice.playback.interrupt", {
7667
+ v && R && m.socket?.connected && m.session && Bt(m.socket, "voice.playback.interrupt", {
7634
7668
  voiceSessionId: m.session.voiceSessionId,
7635
7669
  responseId: v,
7636
7670
  itemId: R,
@@ -7650,7 +7684,7 @@ const Zl = (n) => {
7650
7684
  });
7651
7685
  break;
7652
7686
  case "conversation.item.input_audio_transcription.updated": {
7653
- const v = It(k, !0);
7687
+ const v = At(k, !0);
7654
7688
  n({
7655
7689
  customerMessageTranscript: v,
7656
7690
  customerMessageTranscriptVisible: !!v
@@ -7658,7 +7692,7 @@ const Zl = (n) => {
7658
7692
  break;
7659
7693
  }
7660
7694
  case "conversation.item.input_audio_transcription.completed": {
7661
- const v = It(k, !0);
7695
+ const v = At(k, !0);
7662
7696
  n({
7663
7697
  customerMessageTranscript: v,
7664
7698
  customerMessageTranscriptVisible: !!v
@@ -7681,10 +7715,10 @@ const Zl = (n) => {
7681
7715
  if (v && w.has(v) || d && v && v !== d)
7682
7716
  break;
7683
7717
  !d && v && (d = v), typeof k.item_id == "string" && (u = k.item_id);
7684
- const R = jl(k);
7685
- if (l += R.byteLength, l > Gl)
7718
+ const R = ql(k);
7719
+ if (l += R.byteLength, l > Bl)
7686
7720
  throw new Error("Voice audio response is too large");
7687
- if (P(I), c = Math.max(performance.now(), c) + R.byteLength / 2 / ve * 1e3, c - performance.now() > Fl)
7721
+ if (P(I), c = Math.max(performance.now(), c) + R.byteLength / 2 / ve * 1e3, c - performance.now() > Wl)
7688
7722
  throw new Error("Voice audio buffer is too large");
7689
7723
  n({ status: "speaking", assistantResponseInProgress: !0 }), a.enqueue(R);
7690
7724
  break;
@@ -7693,7 +7727,7 @@ const Zl = (n) => {
7693
7727
  const v = qe(k);
7694
7728
  if (v && w.has(v) || d && v && v !== d)
7695
7729
  break;
7696
- const R = It(k);
7730
+ const R = At(k);
7697
7731
  n((L) => ({
7698
7732
  assistantMessageTranscript: L.assistantMessageTranscript + R,
7699
7733
  assistantMessageTranscriptVisible: L.assistantMessageTranscriptVisible || !!R
@@ -7704,7 +7738,7 @@ const Zl = (n) => {
7704
7738
  const v = qe(k);
7705
7739
  if (v && w.has(v) || d && v && v !== d)
7706
7740
  break;
7707
- const R = It(k, !0);
7741
+ const R = At(k, !0);
7708
7742
  n({
7709
7743
  assistantMessageTranscript: R,
7710
7744
  assistantMessageTranscriptVisible: !!R
@@ -7726,7 +7760,7 @@ const Zl = (n) => {
7726
7760
  break;
7727
7761
  }
7728
7762
  case "error": {
7729
- const v = Zl(k);
7763
+ const v = Hl(k);
7730
7764
  x(), n((R) => ({
7731
7765
  status: R.microphoneEnabled ? "listening" : "idle",
7732
7766
  errorMessage: v,
@@ -7811,7 +7845,7 @@ const Zl = (n) => {
7811
7845
  type: "playback-started",
7812
7846
  playbackId: v,
7813
7847
  sampleRate: k
7814
- }), R && (m = Nl({
7848
+ }), R && (m = Ol({
7815
7849
  source: R,
7816
7850
  runtime: we,
7817
7851
  playbackId: v,
@@ -7837,7 +7871,7 @@ const Zl = (n) => {
7837
7871
  L.resume(),
7838
7872
  L.audioWorklet.addModule(cl)
7839
7873
  ]), L.state !== "running")
7840
- throw new at(
7874
+ throw new st(
7841
7875
  "microphone_blocked",
7842
7876
  "Microphone processing was blocked"
7843
7877
  );
@@ -7848,12 +7882,12 @@ const Zl = (n) => {
7848
7882
  outputChannelCount: [1],
7849
7883
  processorOptions: {
7850
7884
  targetSampleRate: ve,
7851
- chunkDurationMs: Vl
7885
+ chunkDurationMs: Gl
7852
7886
  }
7853
7887
  });
7854
7888
  let B = 1, X = 0;
7855
- const K = new wl(
7856
- (Z) => Dt(k, I.websocket.audioAppendEvent, {
7889
+ const K = new Cl(
7890
+ (Z) => Bt(k, I.websocket.audioAppendEvent, {
7857
7891
  voiceSessionId: I.voiceSessionId,
7858
7892
  ...Z
7859
7893
  }),
@@ -7874,7 +7908,7 @@ const Zl = (n) => {
7874
7908
  captureStartSample: X,
7875
7909
  sampleCount: 2400,
7876
7910
  capturedAtMonotonicMs: performance.now(),
7877
- audio: Ul(ee)
7911
+ audio: jl(ee)
7878
7912
  }), X += 2400;
7879
7913
  }, m.port.postMessage({ type: "enabled", value: R }), E.connect(m);
7880
7914
  const M = L.createGain();
@@ -7939,7 +7973,7 @@ const Zl = (n) => {
7939
7973
  return;
7940
7974
  }
7941
7975
  if (await new Promise(
7942
- (X) => setTimeout(X, Dl)
7976
+ (X) => setTimeout(X, Xl)
7943
7977
  ), !p || A !== E) {
7944
7978
  C = !1;
7945
7979
  return;
@@ -7968,12 +8002,12 @@ const Zl = (n) => {
7968
8002
  generation: X
7969
8003
  });
7970
8004
  let K = null, M = null, Z = v ?? null, ee = null, re = null;
7971
- const Ze = () => p && A === B && e().generation === X, Ue = () => {
7972
- if (!Ze()) throw new S();
8005
+ const Ue = () => p && A === B && e().generation === X, He = () => {
8006
+ if (!Ue()) throw new S();
7973
8007
  };
7974
8008
  try {
7975
8009
  if (!navigator.mediaDevices?.getUserMedia)
7976
- throw new at(
8010
+ throw new st(
7977
8011
  "microphone_unsupported",
7978
8012
  "Microphone access is not supported in this browser"
7979
8013
  );
@@ -7985,25 +8019,25 @@ const Zl = (n) => {
7985
8019
  autoGainControl: { ideal: !0 },
7986
8020
  sampleRate: { ideal: ve }
7987
8021
  }
7988
- }), Ue();
8022
+ }), He();
7989
8023
  const ie = K.getAudioTracks().find((oe) => oe.readyState === void 0 || oe.readyState === "live");
7990
- if (!ie) throw new at("microphone_blocked", "No live microphone track");
7991
- const Me = ie.getSettings?.() ?? {}, He = {
8024
+ if (!ie) throw new st("microphone_blocked", "No live microphone track");
8025
+ const Me = ie.getSettings?.() ?? {}, je = {
7992
8026
  ...typeof Me.sampleRate == "number" ? { trackSampleRate: Me.sampleRate } : {},
7993
8027
  contextSampleRate: ve,
7994
8028
  echoCancellation: Me.echoCancellation === !0,
7995
8029
  noiseSuppression: Me.noiseSuppression === !0,
7996
8030
  autoGainControl: Me.autoGainControl === !0
7997
- }, qn = () => {
8031
+ }, _n = () => {
7998
8032
  e().generation === X && W("microphone_blocked", "microphone_track_ended");
7999
8033
  };
8000
- ie.addEventListener?.("ended", qn, { once: !0 }), ie.addEventListener?.("mute", qn, { once: !0 }), K.getAudioTracks().forEach(
8034
+ ie.addEventListener?.("ended", _n, { once: !0 }), ie.addEventListener?.("mute", _n, { once: !0 }), K.getAudioTracks().forEach(
8001
8035
  (oe) => oe.enabled = !m && E
8002
- ), Z ??= R ? await R() : await ed(T, k), Ue(), M = _l(T, Z);
8003
- let _n = !1, Kn = 1;
8036
+ ), Z ??= R ? await R() : await nd(T, k), He(), M = Yl(T, Z);
8037
+ let qn = !1, Kn = 1;
8004
8038
  M.on(Z.websocket.serverEvent, (oe) => {
8005
8039
  try {
8006
- const Jn = $l(
8040
+ const Jn = td(
8007
8041
  oe,
8008
8042
  Z,
8009
8043
  Kn
@@ -8013,14 +8047,14 @@ const Zl = (n) => {
8013
8047
  W("session_failed", "invalid_event");
8014
8048
  }
8015
8049
  }), M.on("disconnect", (oe) => {
8016
- _n && te(M, oe);
8050
+ qn && te(M, oe);
8017
8051
  }), n({ session: Z, socket: M, localStream: K });
8018
8052
  try {
8019
- await Kl(M), Ue(), await Jl(M, Z, He);
8053
+ await Jl(M), He(), await $l(M, Z, je);
8020
8054
  } catch (oe) {
8021
- throw Jt(oe) && k.onSessionExpired(), oe;
8055
+ throw Qt(oe) && k.onSessionExpired(), oe;
8022
8056
  }
8023
- _n = !0, Ue();
8057
+ qn = !0, He();
8024
8058
  const Yn = await he(
8025
8059
  K,
8026
8060
  M,
@@ -8028,21 +8062,21 @@ const Zl = (n) => {
8028
8062
  X,
8029
8063
  !m && E
8030
8064
  );
8031
- if (ee = Yn.context, re = Yn.node, Ue(), n({
8065
+ if (ee = Yn.context, re = Yn.node, He(), n({
8032
8066
  inputAudioContext: ee,
8033
8067
  inputAudioNode: re,
8034
8068
  microphoneEnabled: !m && E
8035
8069
  }), m) {
8036
8070
  if (!await H(
8037
- () => gl(T, k, {
8071
+ () => bl(T, k, {
8038
8072
  audioPath: m.path,
8039
8073
  method: "POST",
8040
- mimeType: ml
8074
+ mimeType: yl
8041
8075
  }),
8042
8076
  X,
8043
8077
  m.text
8044
8078
  )) throw new S();
8045
- Ue();
8079
+ He();
8046
8080
  }
8047
8081
  N(E, !1), n({ assistantResponseInProgress: !1 });
8048
8082
  } catch (ie) {
@@ -8061,17 +8095,17 @@ const Zl = (n) => {
8061
8095
  Me,
8062
8096
  ie instanceof S ? "cancelled" : "bootstrap_failed"
8063
8097
  );
8064
- } catch (He) {
8065
- z.warn("Failed to end rejected voice session", He);
8098
+ } catch (je) {
8099
+ z.warn("Failed to end rejected voice session", je);
8066
8100
  }
8067
- if (!(ie instanceof S) && Ze()) {
8101
+ if (!(ie instanceof S) && Ue()) {
8068
8102
  z.error("Voice bootstrap failed", ie), p = !1;
8069
- const He = ie instanceof at ? ie.code : ie instanceof DOMException ? "microphone_blocked" : ie instanceof Wn ? null : "session_failed";
8103
+ const je = ie instanceof st ? ie.code : ie instanceof DOMException ? "microphone_blocked" : ie instanceof Wn ? null : "session_failed";
8070
8104
  n({
8071
8105
  ...Fe,
8072
8106
  status: "error",
8073
- errorMessage: He ? null : Xl(ie),
8074
- errorCode: He,
8107
+ errorMessage: je ? null : Ul(ie),
8108
+ errorCode: je,
8075
8109
  generation: X
8076
8110
  });
8077
8111
  }
@@ -8116,12 +8150,12 @@ const Zl = (n) => {
8116
8150
  const I = e().pendingInvitation, v = i;
8117
8151
  if (!I || v?.commandId !== I.commandId)
8118
8152
  throw new Error("Voice invitation is no longer available");
8119
- _.setState({
8153
+ q.setState({
8120
8154
  currentThreadId: I.conversationId
8121
- }), _.getState().actions.setCurrentThreadMessages(I.conversationId);
8155
+ }), q.getState().actions.setCurrentThreadMessages(I.conversationId);
8122
8156
  try {
8123
8157
  p = !0, b = !0, await pe(T, k, {
8124
- loadSession: () => pl(T, k, I.voiceSessionId),
8158
+ loadSession: () => ml(T, k, I.voiceSessionId),
8125
8159
  existingSessionId: I.voiceSessionId,
8126
8160
  scriptedIntro: {
8127
8161
  path: I.introAudioPath,
@@ -8159,7 +8193,7 @@ const Zl = (n) => {
8159
8193
  }), n({ microphoneEnabled: !1 });
8160
8194
  try {
8161
8195
  if (!await ne(
8162
- (B) => fl(
8196
+ (B) => wl(
8163
8197
  T,
8164
8198
  k,
8165
8199
  {
@@ -8199,7 +8233,7 @@ const Zl = (n) => {
8199
8233
  i = null, I?.reject(new Error("Voice invitation was dismissed"));
8200
8234
  let v = !1;
8201
8235
  try {
8202
- v = await Ql(
8236
+ v = await ed(
8203
8237
  k.socket,
8204
8238
  k.session,
8205
8239
  T
@@ -8222,7 +8256,7 @@ const Zl = (n) => {
8222
8256
  }
8223
8257
  }
8224
8258
  };
8225
- }), ju = () => Vt((n) => n.actions);
8259
+ }), qu = () => Ot((n) => n.actions);
8226
8260
  class Di extends Error {
8227
8261
  constructor(e, t) {
8228
8262
  super(t), this.status = e;
@@ -8242,12 +8276,12 @@ const Hn = async (n, e, t, r) => {
8242
8276
  `Telegram link request failed: ${i.status} ${i.statusText}`
8243
8277
  );
8244
8278
  return await i.json();
8245
- }, td = (n) => {
8279
+ }, rd = (n) => {
8246
8280
  const e = new URL(n.deepLink), t = decodeURIComponent(e.pathname.slice(1));
8247
8281
  if (e.protocol !== "https:" || e.hostname !== "t.me" || e.username || e.password || !t || t.toLowerCase() !== n.botUsername.toLowerCase() || !e.searchParams.get("start")?.startsWith("link_"))
8248
8282
  throw new TypeError("Invalid Telegram deep link");
8249
8283
  return n;
8250
- }, nd = async (n, e, t) => td(
8284
+ }, id = async (n, e, t) => rd(
8251
8285
  await Hn(
8252
8286
  n,
8253
8287
  e,
@@ -8257,16 +8291,16 @@ const Hn = async (n, e, t, r) => {
8257
8291
  headers: { "Idempotency-Key": `telegram-link:${t}` }
8258
8292
  }
8259
8293
  )
8260
- ), rd = (n, e, t) => Hn(
8294
+ ), ad = (n, e, t) => Hn(
8261
8295
  n,
8262
8296
  e,
8263
8297
  `/chat/telegram-link/challenges/${encodeURIComponent(t)}`
8264
- ), id = (n, e, t) => Hn(
8298
+ ), sd = (n, e, t) => Hn(
8265
8299
  n,
8266
8300
  e,
8267
8301
  `/chat/telegram-link/challenges/${encodeURIComponent(t)}/confirm`,
8268
8302
  { method: "POST" }
8269
- ), ad = async (n, e, t) => {
8303
+ ), od = async (n, e, t) => {
8270
8304
  const r = await fetch(
8271
8305
  `${Oe}/chat/telegram-link/challenges/${encodeURIComponent(t)}`,
8272
8306
  {
@@ -8295,14 +8329,14 @@ const Hn = async (n, e, t, r) => {
8295
8329
  "sw",
8296
8330
  "so",
8297
8331
  "ar"
8298
- ], sd = new Set(Bi), od = /^(?:(?:[a-z]{2,3}(?:-[a-z]{3}){0,3}|[a-z]{4}|[a-z]{5,8})(?:-[a-z]{4})?(?:-(?:[a-z]{2}|[0-9]{3}))?(?:-(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(?:-[0-9a-wy-z](?:-[a-z0-9]{2,8})+)*(?:-x(?:-[a-z0-9]{1,8})+)?|x(?:-[a-z0-9]{1,8})+)$/i;
8299
- function cd(n) {
8332
+ ], cd = new Set(Bi), ld = /^(?:(?:[a-z]{2,3}(?:-[a-z]{3}){0,3}|[a-z]{4}|[a-z]{5,8})(?:-[a-z]{4})?(?:-(?:[a-z]{2}|[0-9]{3}))?(?:-(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(?:-[0-9a-wy-z](?:-[a-z0-9]{2,8})+)*(?:-x(?:-[a-z0-9]{1,8})+)?|x(?:-[a-z0-9]{1,8})+)$/i;
8333
+ function dd(n) {
8300
8334
  const e = n?.trim().replace(/_/g, "-");
8301
- if (!e || !od.test(e)) return "en";
8335
+ if (!e || !ld.test(e)) return "en";
8302
8336
  const t = e.split("-", 1)[0].toLowerCase();
8303
- return sd.has(t) ? t : "en";
8337
+ return cd.has(t) ? t : "en";
8304
8338
  }
8305
- const ld = {
8339
+ const ud = {
8306
8340
  app: { restart: "Restart Lola" },
8307
8341
  launcher: { open: "Open Lola" },
8308
8342
  widget: {
@@ -8384,8 +8418,8 @@ const ld = {
8384
8418
  confirmTelegram: "Confirm Telegram",
8385
8419
  confirming: "Confirming…"
8386
8420
  }
8387
- }, dd = {
8388
- en: ld,
8421
+ }, hd = {
8422
+ en: ud,
8389
8423
  ru: {
8390
8424
  app: { restart: "Перезапустить Lola" },
8391
8425
  launcher: { open: "Открыть Lola" },
@@ -9382,7 +9416,7 @@ const ld = {
9382
9416
  confirming: "جارٍ التأكيد…"
9383
9417
  }
9384
9418
  }
9385
- }, ud = (n) => {
9419
+ }, pd = (n) => {
9386
9420
  const e = {}, t = n;
9387
9421
  for (const r of Object.keys(t)) {
9388
9422
  const i = t[r];
@@ -9394,9 +9428,9 @@ const ld = {
9394
9428
  return e;
9395
9429
  }, Wi = {};
9396
9430
  for (const n of Bi)
9397
- Wi[n] = ud(dd[n]);
9431
+ Wi[n] = pd(hd[n]);
9398
9432
  const Xi = (n) => {
9399
- const e = cd(n);
9433
+ const e = dd(n);
9400
9434
  return {
9401
9435
  locale: e,
9402
9436
  direction: e === "ar" ? "rtl" : "ltr",
@@ -9408,16 +9442,16 @@ const Xi = (n) => {
9408
9442
  }, i) : i;
9409
9443
  }
9410
9444
  };
9411
- }, Zi = Ut(Xi());
9412
- function ht() {
9445
+ }, Zi = Ht(Xi());
9446
+ function pt() {
9413
9447
  return Tn(Zi);
9414
9448
  }
9415
- const Ui = Ut(null), hd = ({
9449
+ const Ui = Ht(null), gd = ({
9416
9450
  children: n,
9417
9451
  config: e,
9418
9452
  api: t
9419
9453
  }) => {
9420
- const { t: r } = ht(), [i, a] = Y(!1), [s, o] = Y(!1), [c, l] = Y(!1), [d, u] = Y(!1), [f, h] = Y(null), w = Oo(), [p, b] = Y(null), [A, C] = Y("idle"), [S, N] = Y(
9454
+ const { t: r } = pt(), [i, a] = Y(!1), [s, o] = Y(!1), [c, l] = Y(!1), [d, u] = Y(!1), [f, h] = Y(null), w = Oo(), [p, b] = Y(null), [A, C] = Y("idle"), [S, N] = Y(
9421
9455
  null
9422
9456
  ), [x, y] = Y(null), P = J(0), F = J(!1), [D, V] = Y(
9423
9457
  () => !!e.hideOpenButton
@@ -9429,15 +9463,15 @@ const Ui = Ut(null), hd = ({
9429
9463
  ), ne = J(null), he = !e.hideOpenButton || !D, [te, pe] = Y(0), [T, k] = Y(
9430
9464
  () => window.innerWidth <= yr
9431
9465
  );
9432
- lc(e, t), q(() => {
9433
- Vt.getState().actions.updateSession(e, t).catch((M) => z.warn("Voice session renewal failed", M));
9434
- }, [t, e]), q(() => {
9466
+ lc(e, t), _(() => {
9467
+ Ot.getState().actions.updateSession(e, t).catch((M) => z.warn("Voice session renewal failed", M));
9468
+ }, [t, e]), _(() => {
9435
9469
  const M = () => {
9436
9470
  const Z = window.innerWidth <= yr;
9437
9471
  k(Z), Z || o(!1);
9438
9472
  };
9439
9473
  return window.addEventListener("resize", M), () => window.removeEventListener("resize", M);
9440
- }, []), q(() => (t.registerSetOpen(H), () => {
9474
+ }, []), _(() => (t.registerSetOpen(H), () => {
9441
9475
  t.registerSetOpen(null);
9442
9476
  }), [t, H]);
9443
9477
  const I = be(
@@ -9446,10 +9480,10 @@ const Ui = Ut(null), hd = ({
9446
9480
  const ee = window.open("about:blank", "_blank");
9447
9481
  ee && (ee.opener = null), C("creating"), N(null);
9448
9482
  try {
9449
- const re = await nd(
9483
+ const re = await id(
9450
9484
  e,
9451
9485
  t,
9452
- [M.commandId, P.current || null].filter((Ze) => Ze !== null).join(":")
9486
+ [M.commandId, P.current || null].filter((Ue) => Ue !== null).join(":")
9453
9487
  );
9454
9488
  ee && !ee.closed && (ee.location.href = re.deepLink), y({
9455
9489
  challengeId: re.id,
@@ -9465,7 +9499,7 @@ const Ui = Ut(null), hd = ({
9465
9499
  return;
9466
9500
  }
9467
9501
  C("confirming"), N(null);
9468
- const Z = await rd(
9502
+ const Z = await ad(
9469
9503
  e,
9470
9504
  t,
9471
9505
  x.challengeId
@@ -9475,7 +9509,7 @@ const Ui = Ut(null), hd = ({
9475
9509
  return;
9476
9510
  }
9477
9511
  if (Z.challengeStatus === "PENDING_CONFIRMATION") {
9478
- if (!(await id(
9512
+ if (!(await sd(
9479
9513
  e,
9480
9514
  t,
9481
9515
  x.challengeId
@@ -9494,14 +9528,14 @@ const Ui = Ut(null), hd = ({
9494
9528
  },
9495
9529
  [t, e, x]
9496
9530
  ), v = be((M) => {
9497
- const { currentThreadId: Z, currentThreadMessages: ee, pendingCustomerMessage: re } = _.getState(), Ze = re && re.conversationId === Z;
9531
+ const { currentThreadId: Z, currentThreadMessages: ee, pendingCustomerMessage: re } = q.getState(), Ue = re && re.conversationId === Z;
9498
9532
  b({
9499
9533
  context: M,
9500
9534
  threadId: Z,
9501
- afterMessageId: Ze ? re.id : ee.at(-1)?.id ?? null
9535
+ afterMessageId: Ue ? re.id : ee.at(-1)?.id ?? null
9502
9536
  });
9503
9537
  }, []);
9504
- q(() => t.commandRuntime.setInternalHandlers({
9538
+ _(() => t.commandRuntime.setInternalHandlers({
9505
9539
  setAssistantVisible: (M) => {
9506
9540
  V(!M), M || a(!1);
9507
9541
  },
@@ -9515,9 +9549,9 @@ const Ui = Ut(null), hd = ({
9515
9549
  },
9516
9550
  showCta: v,
9517
9551
  connectTelegram: I,
9518
- speakText: (M) => Vt.getState().actions.speakText(e, t, M),
9552
+ speakText: (M) => Ot.getState().actions.speakText(e, t, M),
9519
9553
  startVoiceConversation: async (M) => {
9520
- H(!0), W(de.voice), await Vt.getState().actions.offerConversation(M);
9554
+ H(!0), W(de.voice), await Ot.getState().actions.offerConversation(M);
9521
9555
  }
9522
9556
  }), [t, e, I, W, H, v]);
9523
9557
  const R = p && p.threadId === w ? p.context : null, L = p && p.threadId === w ? p.afterMessageId : null, m = be(async () => {
@@ -9532,7 +9566,7 @@ const Ui = Ut(null), hd = ({
9532
9566
  }
9533
9567
  }
9534
9568
  }, [t.commandRuntime, R, x]), E = be(() => {
9535
- x && ad(
9569
+ x && od(
9536
9570
  e,
9537
9571
  t,
9538
9572
  x.challengeId
@@ -9542,7 +9576,7 @@ const Ui = Ut(null), hd = ({
9542
9576
  }, [t, e, x]), B = be(() => {
9543
9577
  F.current || E();
9544
9578
  }, [E]);
9545
- q(() => {
9579
+ _(() => {
9546
9580
  p && p.threadId !== w && E();
9547
9581
  }, [p, E, w]);
9548
9582
  const X = A === "creating" ? r("cta.preparingLink") : A === "awaiting_confirmation" ? r("cta.confirmTelegram") : A === "confirming" ? r("cta.confirming") : R?.label ?? null, K = {
@@ -9581,17 +9615,17 @@ function jn() {
9581
9615
  throw new Error("ChatWidget components must be used inside <ChatWidget>");
9582
9616
  return n;
9583
9617
  }
9584
- const pd = (n) => {
9618
+ const fd = (n) => {
9585
9619
  if (!n || typeof n != "object") return !1;
9586
9620
  const e = n;
9587
9621
  return typeof e.id == "string" && e.id.trim().length > 0 && typeof e.label == "string" && e.label.trim().length > 0;
9588
- }, gd = (n) => {
9622
+ }, md = (n) => {
9589
9623
  const e = n.data?.commands;
9590
9624
  if (!Array.isArray(e)) return null;
9591
9625
  for (const t of e) {
9592
9626
  if (!t || typeof t != "object") continue;
9593
9627
  const r = t;
9594
- if (!(r.type !== "ask_choice" || typeof r.inputRequestId != "string" || !r.inputRequestId.trim() || !Array.isArray(r.options) || r.options.length < 2 || !r.options.every(pd)))
9628
+ if (!(r.type !== "ask_choice" || typeof r.inputRequestId != "string" || !r.inputRequestId.trim() || !Array.isArray(r.options) || r.options.length < 2 || !r.options.every(fd)))
9595
9629
  return {
9596
9630
  type: "ask_choice",
9597
9631
  inputRequestId: r.inputRequestId,
@@ -9599,13 +9633,13 @@ const pd = (n) => {
9599
9633
  };
9600
9634
  }
9601
9635
  return null;
9602
- }, fd = (n) => {
9636
+ }, bd = (n) => {
9603
9637
  for (let e = n.length - 1; e >= 0; e -= 1) {
9604
- const t = gd(n[e]);
9638
+ const t = md(n[e]);
9605
9639
  if (t) return t;
9606
9640
  }
9607
9641
  return null;
9608
- }, Ie = 52, ae = 16, Hi = 240, md = 360, ji = 320, bd = 680;
9642
+ }, Ie = 52, ae = 16, Hi = 240, wd = 360, ji = 320, yd = 680;
9609
9643
  function Be() {
9610
9644
  const n = window.visualViewport;
9611
9645
  return {
@@ -9613,8 +9647,8 @@ function Be() {
9613
9647
  height: n?.height || window.innerHeight
9614
9648
  };
9615
9649
  }
9616
- function wd(n) {
9617
- return Bt(
9650
+ function vd(n) {
9651
+ return Wt(
9618
9652
  {
9619
9653
  x: n.width - Ie - 24,
9620
9654
  y: n.height - Ie - 24
@@ -9622,29 +9656,29 @@ function wd(n) {
9622
9656
  n
9623
9657
  );
9624
9658
  }
9625
- function Bt(n, e) {
9659
+ function Wt(n, e) {
9626
9660
  return {
9627
- x: We(
9661
+ x: Xe(
9628
9662
  n.x,
9629
9663
  ae,
9630
9664
  e.width - ae - Ie
9631
9665
  ),
9632
- y: We(
9666
+ y: Xe(
9633
9667
  n.y,
9634
9668
  ae,
9635
9669
  e.height - ae - Ie
9636
9670
  )
9637
9671
  };
9638
9672
  }
9639
- function st(n, e) {
9673
+ function ot(n, e) {
9640
9674
  const t = Math.max(1, e.width - ae * 2), r = Math.max(1, e.height - ae * 2), i = Nr(n.width, Hi, t), a = Nr(
9641
9675
  n.height,
9642
9676
  ji,
9643
9677
  r
9644
9678
  );
9645
9679
  return {
9646
- x: We(n.x, ae, e.width - ae - i),
9647
- y: We(
9680
+ x: Xe(n.x, ae, e.width - ae - i),
9681
+ y: Xe(
9648
9682
  n.y,
9649
9683
  ae,
9650
9684
  e.height - ae - a
@@ -9653,9 +9687,9 @@ function st(n, e) {
9653
9687
  height: a
9654
9688
  };
9655
9689
  }
9656
- function qi(n, e, t) {
9690
+ function _i(n, e, t) {
9657
9691
  const r = n.x + Ie / 2 > t.width / 2, i = n.y + Ie / 2 > t.height / 2;
9658
- return st(
9692
+ return ot(
9659
9693
  {
9660
9694
  x: r ? n.x + Ie - e.width : n.x,
9661
9695
  y: i ? n.y + Ie - e.height : n.y,
@@ -9665,9 +9699,9 @@ function qi(n, e, t) {
9665
9699
  t
9666
9700
  );
9667
9701
  }
9668
- function yd(n, e, t, r) {
9669
- const i = n.x + n.width, a = n.y + n.height, s = Math.max(1, i - ae), o = Math.max(1, a - ae), c = Math.min(Hi, s), l = Math.min(ji, o), d = t === "left" || t === "corner" ? We(n.x + e.x, ae, i - c) : n.x, u = t === "top" || t === "corner" ? We(n.y + e.y, ae, a - l) : n.y;
9670
- return st(
9702
+ function Cd(n, e, t, r) {
9703
+ const i = n.x + n.width, a = n.y + n.height, s = Math.max(1, i - ae), o = Math.max(1, a - ae), c = Math.min(Hi, s), l = Math.min(ji, o), d = t === "left" || t === "corner" ? Xe(n.x + e.x, ae, i - c) : n.x, u = t === "top" || t === "corner" ? Xe(n.y + e.y, ae, a - l) : n.y;
9704
+ return ot(
9671
9705
  {
9672
9706
  x: d,
9673
9707
  y: u,
@@ -9678,61 +9712,61 @@ function yd(n, e, t, r) {
9678
9712
  );
9679
9713
  }
9680
9714
  function Nr(n, e, t) {
9681
- return We(n, Math.min(e, t), t);
9715
+ return Xe(n, Math.min(e, t), t);
9682
9716
  }
9683
- function We(n, e, t) {
9717
+ function Xe(n, e, t) {
9684
9718
  return t < e ? Math.max(0, t) : Math.min(t, Math.max(e, n));
9685
9719
  }
9686
- const _i = "bridge-chat-widget-ui";
9687
- function vd() {
9720
+ const qi = "bridge-chat-widget-ui";
9721
+ function Id() {
9688
9722
  try {
9689
- const n = localStorage.getItem(_i);
9723
+ const n = localStorage.getItem(qi);
9690
9724
  if (!n) return null;
9691
9725
  const e = JSON.parse(n);
9692
- if (!Wt(e)) return null;
9693
- if (At(e.width) && At(e.height))
9726
+ if (!Xt(e)) return null;
9727
+ if (kt(e.width) && kt(e.height))
9694
9728
  return {
9695
9729
  version: 2,
9696
9730
  panel: { width: e.width, height: e.height }
9697
9731
  };
9698
- if (e.version !== 2 || !Wt(e.panel)) return null;
9732
+ if (e.version !== 2 || !Xt(e.panel)) return null;
9699
9733
  const t = e.panel;
9700
- return !At(t.width) || !At(t.height) || !Cd(t) || e.launcher !== void 0 && !Id(e.launcher) ? null : e;
9734
+ return !kt(t.width) || !kt(t.height) || !Ad(t) || e.launcher !== void 0 && !kd(e.launcher) ? null : e;
9701
9735
  } catch {
9702
9736
  return null;
9703
9737
  }
9704
9738
  }
9705
9739
  function Pr(n) {
9706
9740
  try {
9707
- localStorage.setItem(_i, JSON.stringify(n));
9741
+ localStorage.setItem(qi, JSON.stringify(n));
9708
9742
  } catch {
9709
9743
  }
9710
9744
  }
9711
- function Wt(n) {
9745
+ function Xt(n) {
9712
9746
  return typeof n == "object" && n !== null;
9713
9747
  }
9714
- function At(n) {
9748
+ function kt(n) {
9715
9749
  return typeof n == "number" && Number.isFinite(n) && n > 0;
9716
9750
  }
9717
- function Cd(n) {
9718
- if (!Wt(n)) return !1;
9751
+ function Ad(n) {
9752
+ if (!Xt(n)) return !1;
9719
9753
  const e = n.x !== void 0, t = n.y !== void 0;
9720
- return e !== t ? !1 : !e || Xt(n.x) && Xt(n.y);
9754
+ return e !== t ? !1 : !e || Zt(n.x) && Zt(n.y);
9721
9755
  }
9722
- function Id(n) {
9723
- return Wt(n) && Xt(n.x) && Xt(n.y);
9756
+ function kd(n) {
9757
+ return Xt(n) && Zt(n.x) && Zt(n.y);
9724
9758
  }
9725
- function Xt(n) {
9759
+ function Zt(n) {
9726
9760
  return typeof n == "number" && Number.isFinite(n);
9727
9761
  }
9728
- const Vr = 5, Or = 16, Ad = {
9762
+ const Vr = 5, Or = 16, xd = {
9729
9763
  launcher: "grabbing",
9730
9764
  panel: "grabbing",
9731
9765
  top: "ns-resize",
9732
9766
  left: "ew-resize",
9733
9767
  northWestCorner: "nwse-resize"
9734
9768
  };
9735
- function kd({
9769
+ function Sd({
9736
9770
  open: n,
9737
9771
  onOpenChange: e,
9738
9772
  isMobile: t,
@@ -9743,7 +9777,7 @@ function kd({
9743
9777
  unreadIndicator: o,
9744
9778
  children: c
9745
9779
  }) {
9746
- const { direction: l, locale: d, t: u } = ht(), [f] = Y(xd), [h, w] = Y(f.launcher), [p, b] = Y(f.panel), [A, C] = Y(null), S = J({ launcher: h, panel: p }), N = J({ launcher: h, panel: p }), x = J(!1), y = J(!1), P = J(null), F = J(!1), D = J(null), V = J(null), W = J(r), H = be((m, E = !0) => {
9780
+ const { direction: l, locale: d, t: u } = pt(), [f] = Y(Td), [h, w] = Y(f.launcher), [p, b] = Y(f.panel), [A, C] = Y(null), S = J({ launcher: h, panel: p }), N = J({ launcher: h, panel: p }), x = J(!1), y = J(!1), P = J(null), F = J(!1), D = J(null), V = J(null), W = J(r), H = be((m, E = !0) => {
9747
9781
  S.current = { ...S.current, launcher: m }, E && (N.current = {
9748
9782
  ...N.current,
9749
9783
  launcher: m
@@ -9765,7 +9799,7 @@ function kd({
9765
9799
  switch (m) {
9766
9800
  case "launcher":
9767
9801
  H(
9768
- Bt(
9802
+ Wt(
9769
9803
  {
9770
9804
  x: E.x + X.x,
9771
9805
  y: E.y + X.y
@@ -9776,7 +9810,7 @@ function kd({
9776
9810
  return;
9777
9811
  case "panel":
9778
9812
  ne(
9779
- st(
9813
+ ot(
9780
9814
  {
9781
9815
  ...B,
9782
9816
  x: B.x + X.x,
@@ -9788,7 +9822,7 @@ function kd({
9788
9822
  return;
9789
9823
  default:
9790
9824
  ne(
9791
- yd(
9825
+ Cd(
9792
9826
  B,
9793
9827
  X,
9794
9828
  m === "northWestCorner" ? "corner" : m,
@@ -9799,10 +9833,10 @@ function kd({
9799
9833
  },
9800
9834
  [H, ne]
9801
9835
  );
9802
- q(() => {
9836
+ _(() => {
9803
9837
  if (!A) return;
9804
9838
  const m = document.body.style.cursor, E = document.body.style.userSelect;
9805
- document.body.style.cursor = Ad[A.kind], document.body.style.userSelect = "none";
9839
+ document.body.style.cursor = xd[A.kind], document.body.style.userSelect = "none";
9806
9840
  const B = (K) => {
9807
9841
  if (K.pointerId !== A.pointerId) return;
9808
9842
  const M = {
@@ -9848,18 +9882,18 @@ function kd({
9848
9882
  easing: "cubic-bezier(0.16, 1, 0.3, 1)"
9849
9883
  }
9850
9884
  );
9851
- }, [r, t, n, p.height, p.width, p.x, p.y]), q(
9885
+ }, [r, t, n, p.height, p.width, p.x, p.y]), _(
9852
9886
  () => () => {
9853
9887
  P.current !== null && window.clearTimeout(P.current);
9854
9888
  },
9855
9889
  []
9856
- ), q(() => {
9890
+ ), _(() => {
9857
9891
  const m = () => {
9858
9892
  const E = N.current;
9859
9893
  H(
9860
- Bt(E.launcher, Be()),
9894
+ Wt(E.launcher, Be()),
9861
9895
  !1
9862
- ), ne(st(E.panel, Be()), !1);
9896
+ ), ne(ot(E.panel, Be()), !1);
9863
9897
  };
9864
9898
  return window.addEventListener("resize", m), window.visualViewport?.addEventListener("resize", m), () => {
9865
9899
  window.removeEventListener("resize", m), window.visualViewport?.removeEventListener("resize", m);
@@ -9882,7 +9916,7 @@ function kd({
9882
9916
  y.current = !1;
9883
9917
  return;
9884
9918
  }
9885
- const m = qi(
9919
+ const m = _i(
9886
9920
  S.current.launcher,
9887
9921
  S.current.panel,
9888
9922
  Be()
@@ -10013,14 +10047,14 @@ function kd({
10013
10047
  }
10014
10048
  );
10015
10049
  }
10016
- function xd() {
10017
- const n = Be(), e = vd(), t = Bt(
10018
- e?.launcher ?? wd(n),
10050
+ function Td() {
10051
+ const n = Be(), e = Id(), t = Wt(
10052
+ e?.launcher ?? vd(n),
10019
10053
  n
10020
10054
  ), r = e?.panel;
10021
10055
  return {
10022
10056
  launcher: t,
10023
- panel: r?.x !== void 0 && r.y !== void 0 ? st(
10057
+ panel: r?.x !== void 0 && r.y !== void 0 ? ot(
10024
10058
  {
10025
10059
  x: r.x,
10026
10060
  y: r.y,
@@ -10028,18 +10062,18 @@ function xd() {
10028
10062
  height: r.height
10029
10063
  },
10030
10064
  n
10031
- ) : qi(
10065
+ ) : _i(
10032
10066
  t,
10033
10067
  {
10034
- width: r?.width ?? md,
10035
- height: r?.height ?? bd
10068
+ width: r?.width ?? wd,
10069
+ height: r?.height ?? yd
10036
10070
  },
10037
10071
  n
10038
10072
  )
10039
10073
  };
10040
10074
  }
10041
- function Sd() {
10042
- const { open: n, loadingProgress: e } = jn(), { t } = ht(), r = zo(), i = wi(), a = e >= 1, s = i && r && new Date(i) > new Date(r);
10075
+ function Ed() {
10076
+ const { open: n, loadingProgress: e } = jn(), { t } = pt(), r = zo(), i = wi(), a = e >= 1, s = i && r && new Date(i) > new Date(r);
10043
10077
  return /* @__PURE__ */ U(
10044
10078
  "div",
10045
10079
  {
@@ -10049,8 +10083,8 @@ function Sd() {
10049
10083
  );
10050
10084
  }
10051
10085
  const Ki = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIgAAACFCAYAAACAJLCMAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAaJtJREFUeAHtvQeYXFeVLbzurZxTV+ek0MqSJUuWnGTLGZtgDJhggsmZGcCEeQzMiDQDDGEYHslmyNmAwRgbB5xlWbJyjp1zdVVXznXvv/a5bR4vfO+bx3uWWv7nmqZb3VXV1ffss/faa+29D/Cf139e/5tLw/+/Lvl7zf/uO1u36r2Pwlly5m2OUMNoiRTqu2+/vYb/vNT1fDeQ/84gWq79kA8Le6/wtK+6WQvHL67XKp1mrepq1MqaadOgO1ywQQc8PsPmck4bKA/YXKF7S/sf+s3kl9585H/1ms/36/loIM/+Teb6t7/d0Z9bucmzYMWHdbv9ilp2JFArVGHYaAYOB0zdBs1uB+z8t3ztcAIuN0yHHRpfRatWodfrsDldcHcsNFwu/Z7yrns+1P8v7zzJ16clwcDz/Ho+GYgsmLlly1bbiSVrX2l0RD/XSI53GekEatUyYHPA5vXDZnfQIMQAdBqKHYbLyX86aSC8GcpIaDj8z5APtxduN39eLsI0+G/+n8Pp0YJLVoyWJwZeeewta7bjee5Rng8Gov6Gxde/z1m85GXfrs+mb62Mn0DDtDNccN3EC3DR624f7G4PNHoI3UkjoTGYtArxFLpdHsmvxYBMPsemo0Ej0vlzW6MKWyAMh9aAXi7wOXZU6qZhd2h6sLVvqHjw4StPbn1FP56nHuVcNxDGB9QXffapD+eTE1+ojA+YmjfEBbZp9dQU9AbXKxyD7gvCzjChycJz0bnGXEldHgfZ/JrNyTBihymehoYDX5jGVYfpdkFci71ehceuI0gDqtKbyNe5agN102b4HXZd7+754e7rgrfyxeQFG3geXeeygdiIMfTskncOJXY+1GprajURiulaIQszOY7q1BjDh58m5IRp1iEmYSO2cC1aAy3aAqNahGY0YKd3EaPRGg0YEl7oXVz0FFU+l0AVLk2e56SnMeCmd4n5fKhXK3AQ1FaqdWTKVQQZqWqtSzLVvfe3Ht76SjGQ542RnIsGIu9ZW/rxu3uquqt/dvhUw7N4ta2enUV1+ASQn7VCQVM3NE8AOr2AhA+o0OJEKTkJY7IfzvMvg6upGSgRXxCPQDwILBzS4L89DCn1Wg2OQAQhowa31wOnhBwaWshpQ7XeQIVGRbvBbKkMt8NumN6wbqCyePer+wbwPAk355qBKOPY8G/HN0wO7N6Rqet1d7TJbk+OoZxKWFkJwwE8IeiaSQ/ghcHv1V3EHhrjikMXeAEt1ITK4AmY6XH4N9+ASqWiQKmEGQESfCqNhg93OeDMpWCLdyNuVhD1emkQhnqNYqWqHlsmeNX44CzDk8fhqNcaNnsjGj9vz43RQ3geGMm5ZiD65u8e3Xxq/55HK9zgtkDA7sjNoKy5oM9OoeGLEELYIQHFZkp6ypSVWYsp2YpgC0ljGWbEVWjEEaCh5O6/E96rXwTN50KjwjDitHCJaQo2sSHE57v42h09fXDVS/Aw7JQrNbgIbGdLFRqHiQqNpEpvkqXH8TpsdYIeu9NpX/zUq7sHcY6Hm3PJQGznf2X3kpnJoSPZXN4wXT7dXcuh4Y2iPjVCXNFEkEkClDhCbXF+rfmD/NquwoKktA1JVT00JuFBxEvwcVoojtz2BxFYtRbOWAiluimYAl6GE9M0GHLsCNEDuWYm0L1oMcoMSZIiJ/NFhJkCp4pldRP5NBToVXLEJVG3vVH1Bm3240nf7q0bKjiHjeRcMRDblq3fc0zpnaXExHi97HDa7bUi9AAxRDGtMIThJsaoG4r4Eo9hMn9t0Gs4xVjoNQyGhhoXGpUSdL/f8iB8vElcYvMGkd+3DeG+5WhrjdG2CEbpbGyGPNUJL19Dp/exJUYQ6ejF2GwGNRJoyUoZXT4vP9dh8N+SNJVpmDRfxBxmoxTuKh5+ZQut9NxNgXXM/0veY6PQfclYJjHGZTbsmkGcwXS2wc917mgjHOVCu2F4A+QvHDCcFiNqM+oqrDToBSTU2Lmgmi+gvAsthGksjcoQrqSIyAUXoTQ8CDsf2+51wO9wo5k/j7jtCLrs8NsYcmJtyCam4OJrJhlmqkx1D2SK8NMoK7LX5H8MPXwnmC41bM7xk741d+Z+h3MYi5wLBmJc/qPhb0zu2RYpm3bdpBE4K3Tz9AaK6CI3wVVmikrOglyHKSwpcYIslEEvYXAxTV0jBhGyzAOdOIFAQi2mzp/XiT1s/GwjMu3dvBkjO7ajNRykgXChCVq9Is3wazs9kkFPUqCnKNeqqNEgi/UaPUkDhxhmTD62COuG6jRGmiiyuk03Rva95Lwf9G/EuXGv/6drvr9p/eIv/qEncfrwu0wHMxIxgMQQzPbFDA9VmJUC9EicaSlxhjCjYhyio7hcKqxozjnjkNDi1Pg1VDjSuJjiXUyPBzF6B93rRgv5j3YayZYbXoTdTz6JhUGPMhAXw1WZIUexqsQk1VgLpk8dg4PgNKfTDMiJpLNlpPMl5PgLcuLj6JVMYqGKQQGQwp9dq2+D5UXOOSOZz29Y8JERW3Lh46Vy1axWKxpEcRWSi/S36fHyp6Yit8RL1GkMDaeuMIXBHQ8xDjKogj00/rtB4xJORPc4hOyAHvTDYBbS5Pdgqd+LOHFJ3O1A0Kxh4wXrMT09rUKHXdhX8iB5UvYlWXx+ji9bidETR2ltBgoMM65aGROTSb5hK6Mp0ygFA4nXKRQrej01abvsseoPcA6GmnltIK/4Y2rzxJ4nu6uVomaQwWyMD8DOHay0E4aROrMR8QQitDUkOxWSi98z+I0aMwx43HyVmlJvneRAHPxeVV6YC+3nY1fHfPAwRPR4nVjstaOZxhMk1mgPBnFwdBqxgFtpNXYaSpGA1qCHKNAApmkIrbYGyjQ6Q+w4l6YxMM0dHlJknHAjVX5QQSYOJnVm2rTGqWNvuOZnx9ph0fHnzDWfDYQpRuNX5XLF0Ct5ZItV2JtaYBID1IglDAkxBKeGUzgOu1oY8ub0Etz1IsY57ZbnkFRVFpKAs0FjaIsGEaKnCHCZOpiB9IX8iPCxERqHU8IRf3GJGKNn6VLc/ciT9ATiFaAMRb5f44IXS1W4Vq9DfecTCsdUGdLsBMuFmRSK+bLiRBqGMLF1hYvKDDWZQsXw9/XuhpXynjP0wnw1EO1V39pz3tje3c25bF7XQjF4pk/B2dpFY9DUYmvctXoorDIWu1u30lviDI1pqUYDEVlfMhcjGIbGLEXn80IMQfFAAL0BH9NTNwJ2E21+N+GJSayhKX6jTE8xSTzRaFRwOJHmArstWl15BUPwsLppE4UK4mE/Ktm8UowbDRJzfO3c/l38HFJioHgyJtuoEq9Ua1V9ZPvu1hsfTb0Y/2kg/9eX6Vm17FvVYpH3voQseYYGw4VT2C3S3fD54RG+1OlVRT5VehAb8YXLoTG7taGDGLWDqarbZUNbdxscpOFjfP7C7g7M9p/CInqRFi8fxD/fRowhOGMkXUSaqWuGBpKjMUyks4iuXoMn739Qgdp0w1SYp6FChhgKvcjK81Dfv4PZEnGPiH35PLEzU+/pSQahhvJeJh8vgmCBJEnadBsuOH6Jcwiwzsc3qd1888223NDQhaVSCX6Gk/zgcdhbe3mzG2gKe7n4TlXSIwbgJWYIeezEETpW0iusDvnQ4/FhETOTVTSC5Uxp3UP7sLi1DU30IovyA6i4vVjM14kzrAgTKt4hz9A1TG+Qo6aSJBta5sJ66FkOzeZVPYmN3qDEtLZCzOMwFT5FrkGvFKSRkmXVNE2JfY5wHPnHH4QzFFEiYYUfUoKkNKF6WT914rjrnXuKt+EcKTKal1bsfu2/XDc91I+MuPoQSbB0ko7DP1e6ZWd48KBGPBCnoUQZbmJcvAU0hiCNqYWewkNM0EzDaOHOD3InL+1qRWRwD782sPjG16Dt5x9Fxu6Fm+BV6oOmsiXiBgNDuSIGFHXOMMNbkyFn4lqxAvsf30YDMZEhl1KmJ6kzFAn4bNCYfOdfjMrxg/QJ9CB8T8jOKPLOpNdqmPweDUoMndwvajS8dM1mTiXzX9yydauC1Zjn13x8g6YZir2/zh1tMp1NFyvEBxL4NdS5OEV+3xAaPTWJbhqKk0BU0lE/sYiPHyLJR8hthIlHCEsRtmuIXXItFj56B3yRMFzlOi64/hXY/cAfUKJ11MT10zNkqKOEqN6O0VgmVY2HZCzMrOlt+k+Q9xDgC8m0NRQFrEp4YmipRCJwyHuaTav3aVLZtbd0YPo336M3iSjvUddsVqUaDatSLumHT40b3a/82E9wDqS989KC9UqZ4aUMN9PZwuQw7M0dKElUpwspcFcPZ3IITp1g2uqChztUqHQ7DUjEuDmowAyC1Di/EIMJ+GN4SbyEsekUeYky7otegh/Ed+P3BweRL1fUE4bKkqEwxfU4MZnKQAzURuMxxaO0dWL01IDUNiMra2oY1o0jMG0U8/AsWkT8kYWZz/H7ZGrLRTSGTtCjmFbokfBULMAlNSl8/6WGqQ8fG33lC39yIIJ5nvbOOwO5/n0/Ds6MDQbyNBCh0yuTI/A3N6PBlFFVgDVqGB0fx/l6Djni1CLduUTzXKWCFD2BGEemZmCs3FD5ZJYLbKtVULvm7dj4yJcxLvC2nMNTK1+Pbye+j/tTdaREvucuFyOxc/FDDFuJxCw84hFoeN62DkwdO0yDdMNHZlW4lAY9giHpLzMcfcU61MbJ8ArdLxVt4ixaFyL9i6+hTmnATgPJ21yqRkVqWg2+17HpjBHduOoBzHOld94ZiK23aUGlWEKJiyZsqM6YbpDSrhaKKt2sCmE1cARrAnUkmN1kUyk+zIVR0t2VWkPhhjSNaZaLLVXpxwdHUaMRnSzb8d4NYWT3b0M2V8AXxnzY8MZb8b19/4ijRYfiV9xcwFFyHBKWdI14I5WD126VBeSnpulB7FxNU8QWVaJoKpjJ9Ngfgd4ow6CXgNsPnUaCSBvKj/0IppdcjS4UjR058SIeERFr1HSgH9t+bMMLHk4sxTz2IvPOQJpWb1pTIE6Qus8S47leKqh0kf5a4QU6B8RKCYJSAwkuZq2QQZl8xyBJKmGzJko1pbTO0EAm6iZS0yOYosE8nbbBs/wCfCX3axyt8mujjL/dZuAlt70fPzr29+jPcNFoYHZij3GCVS/T5Cq9WH1ylhmLppTcIul1qvgKkFrVyYbCIgqEtnfCKORJ3NKwXV7YqwXYo90ob/s97ATNLjKtBdFu5Hn0NAJwR9JloyUYfArzmDybdwai2crnSQmgtBvI25OwIqBUk4WpCoFVw4LKJJqZaxZmJhVBVZK+lUIaNaaS2TI9CUNNsV7GTFrqU/NI0WieKgW4y4tYdO0L8Y87/wkHqh78yWzC/uEsbnjnB/DY+OfRGJ4ijtHJjTG0lWvwxZtQICFnyxfhau/CyIGD1GucqsZENeHI+xX+g6yurWMRhcQxRetLE4VGAzCb+5D95efhjbWqCnon8Y1UxXulCJqv4DRr+vZ9xyOv2Zl6Hf7TQP5jl90X6jOZJYhRFCTMiM4iK1EpcSFqqNOrLGlkECfZFc9MwfSHMDNwCi6GowyJNap68FWKBJlVTGYz3MUU9wYP4mSFGVCxpirEbrzqAnx8/5cw1XDgwmPdaJRmcN6bP4jDzfehde+DyGs+pbtUSHx52ttQGh2Eg++pys9lTVfeoyz1r6LTqM47GxztHRZ7OtFPvMRQ4w1C5/s10yOYPXyI9L9TZTRJPtelC3Orq9S6kC2YOdP5I8xT8mz+GUgNzcJWkv9ChQvOLcqUhPGe8VujBzEKJfR5ST9FY9hUHUQp3glt3yNwt9OdH9kHv1GBg8bkoduXRZ1uXYKuw39CnUDxdNZKcfRwM9591Qp8+9RXyWfoWP5EF1z2WcSuuQUHXhXH3x/+N9iYcQj2MRjG3IuXonTyCA3ChsnEjKLmxX9I4is1IkKcaaT07f6gBVSlv4aYpC5pF382+7PPIRoOq2zGQe+UzeXgUAyulENC3//MEfOWI9WfYx6mvfPOQKqm3izpppQLGsQQhhiH8AzkKUwBhnT3C90NOIIRvN44iUymivbcKOV8DxrEG063D1NcAJ9I7tK/Us1jgZNZChft/rGKSoeF/ka4DS/ZvAbbpr5ED5LHlseaUdjzGO57ph+9rjpef/uL4Xr4lyg6IiqVdS1dA3NmlCB3t8IpyjhMpSgCChsZcETDEiMpGFIKmDyBbe9djZPf+wdcO/ooZosGpQAKgqbwLsQwkjPz2QUi3XIiqY2dnHrVVXc83YJ5Bljnnwex2fyGyhPVfadh5Ek3MMWtlxS9DmKKFp+dBJkTa2ImOlOnkdxwPVbt+CECi5cQSB5CiJqMjyDRSxePdAKPdlyK29L34usjUe5gtaSQ3+Fl+Om+4GJ8dNttGLrvB1ixvwXTJ4kzoiG856MfxfabIvjGvr9Dc+Ik8vQkts0vQv3BX6PCzMTLTEdCn5QOmASmmpQddPeotLjU34+Z778OS1adh+PbduGtW1ag9eE74PUHiF+4/hT1CqT17YJE+G830+dndu83mi9dvxfzDLDOOwPhwrnJLynuQHpTTGYSBj0BavzMbMRfmEaEEr2NNzbvb8I/BY5hLLoarxm5DzOta+E/9Tj83giMqTF0Uwmxz87isL0V7whNYZqZTo4ZkpupZrVcwLfv+CE+8tmvYG+ygo/4TuGByD70XPtqXHn5Jejo7ERr30q87l3vxBPnTeCOme+iOzeCSqCVgLgo8FlpQ6pRR7yGgM7mdpIwaXx4o5+Emh9/+tevoLt3AUYydbzu9K+Q1X3EHgSrNKocQbdTGsnpTUp8fiCb1A/sPNV21SMzt2IeXXbMs4sY0KGke1XH4QZKWdpGCbq0MXBBWssTcATCqnrLFwjiqvo4lk4ew0PLXobPHfw83n/RG3D97t+gsvxiNMZGsZiu3Mkw9Ann5Th9/j789tgKeA7dg+27D6oU9eq1K3DDtVvgoUJcZZrbQz2/XCgoSl3CWpWg19nUgxfe0IHLhk/hvtGD+KfhY7C1dKvdz3wFNXIzulTWx2KoM5S88crF2PO97+OyV75ckWKtzRFok0PwHnwC3r5lqsptRvPwtckWE7AWCGC9bb04ev89RtOb3vj99W//9k933/4O8SRnHZPMOwORqlHVkS09KzYaCFlPm6SMVSkJ1rAcMzBdvap6TKOXKUS7cF91J/pSL8YnF4zjZ9M/ww+dTVgxtZfaDIGu3YcrzASBZRzOzj4Uf34XZmkI569ajssvPB8+gtFynq9PvONgeMhNT6GYnMVUIoUwMYOHi1dwORFrCcNJQHzxlsuwdnQP9rQvJI1vI2biWxH5n66kzNtpo0q80F1HkQbnpsDoWb4efSeO45mZWbx033dw74pvUQ+i+GhzEJcUEeVjDKbmeb5OmMh1344Dxoa3vPn3uP0dL8A8uOadgdjIR7ulh1ZaCHxBWkpe7UIBDnW4sNadh42ZgmgcQmU66SHqrd3YgwfwxeoqfGDxNL7CR46kSvAz1rfGqH/YA0yDHegfmcCShd1oikXR1trMzLmEAsOFm9nE0QcfgEmge5je5ulT/RifnkGWPMrQ9Czed/VFaG4K4YarNqOldyH6Du7ADsJUm62sQoskK6L7VEsV3LyxF3kC46Zly+CPx8jGTqHvyqux4/GncHF9ED9KJNEUcsNLZbfi8VIzqqh5JFLc5Fi9EenffE9PLV103fqvPN62+wOXTeEse5H550GkdEIqKTRJA01VY9pgiisjGBpc0I3NOllOp6pOF/dfJ0aRghzJID6AKVS4yNLF3xNqYpjQVYOUKTI9gW7Y50N88UIFJItMl6U/pkCqfmTgNO4ZK+Bf7/k1asKEahY0sysFuYFP3P8kbj5/BS7ZfBE622LkYRLw0CoUlcf3Z1dLzPcrwLp9AfWcPfjBP38DflsVN73h1Yhv2oKuRT3qb0g+8ksseM27iafS8FI9LjF82hhSG/y9QvAFV5yHgT37jFXXveBBvvwqnOVr3hlIpWE2XHZLWtcp5WvuEMmmCbJLDsRzgxh01fDrf78LeS5wtVZT2UiAsn9XLIJL1yzF8iWLVNWXGJAUNwt5pWtWlbnbR26DO9eU1LnaUBXqhcQ0vrhvCLtOD8IVa0KsYyFeQpDqiDTh65/6JH750+9j55c/hXe//51o7+4kHipj/YI4mlKjGAuHmGFZgp5mo8zPTGY01IGZQ9/DLe94ndJqBo/sh6+3D+1LVmD41HE0/vBT2N7yIYTLWTSoJc3yuRLaTFGGGTI9nYsx/eCd+mR768rzvvmnjv3vumocZ7G4aP6JdbpWl2pwnXfXTgCnh9phUtqvOX3oHngMDx4YQDfd/aUrF+O6dcvxwrV9uLC3FV0BJxLTk0hMTlFaJ5NKwa9OokxxHhoBr00mBkkhs6b6VuQqpmZwomTi0Pg0fvvTH6OycB189ETf/9cv4s4f/QBLX/1GDI6PwcOFbO/qosG6FSO6gPK+f5h8iCFRrqGwEKlfomsNQ7kG2i+4BCe3P4FIbxfivYuUd/DT6x3N8gn5GcySkfXydTwyacDrg0kvQs2A8gIVaObOvgWLkTh8wNB8rd/HWa48m38GYkEL7nibKvMDMwjeUWhUda/qsOETr7sRN166CZedtxybVyzG2p5OLGuNY0lbGzoiMczOJJGcnEQxm2X4qaiMQbgnNYfMJsyDTTV0S6bU0RLHV399D35w+7ew4ry1CPJ7W177ekQW9+H8V91KfaUHp375I1x688vhoOBmKqN1oLlvOXpmjjG0OZVx6GpigAGR8FLilNsWY/GmTQh19ZG4c/JzD2LEHfceS5BxbUZi232oaaqLSwHcerWums6lrrUoE7AIvGu7HtCLmdLVW7ZuPateft6FGIdhOiR5VLM+RKBr6oR5IIMGAeOCVXGMTyUQFOl8eAz7TgxZbZQMSZ2hICJ+p2qvFNW3Sh1H+lnsFMhczBSkHVKmBBl1aikua6hMTavgDeevVnL+wMgo7vnU+3Hrd+/CS//lW5ihcvu2HffgqlteiFWbt6BWeXZ0Kp/p9GKtq4ht0tZJ3CBtm/yNaopA3ubE5Ewage5uJPsPI0zjKI0PIspUd/tAjjS/D+ln/oTCTW8hZsmqURUNu24N1SMmMhkWHVIHU0wb4+Ojuu5efhUfcj/O0jXvDIQZi1OyAvEeTqa2tqZW0tgNxXv84XACrw2GsO9QPx44PYqBcgXjTEmlLVI8RZAE2Ac3r8W6RV1IERs4J6bg9LrhCVDbESqeCq1NakzsHnhCdmYYddy0fj3GTh1BLRaGl/b4m0sWonbwD+hkWht5/9uIffyqOk2nR9Ma0sVPWp2ZxwWtbtL3NWSlPlWRn6aSBEQMPDSYxILZI1h6/U0oTY6RcdXwgwe3oxFr52tkYU5Q9MtnFE5qmHUFohvUj+yiVjPjEpnBtWrzUOX4Xof9mhd/AGfRQOZdiJnNp2wCKl2y+ymNO4IBupUQtFIS9x0aR342iz8cO41tY5MCaPH1L/4zIotWoIOZwivf/Db8XmvDPQdPwsddmWIKW0znCCSrqk9X5p3aaShSn+GJtSBIQBh4wWVY2hNDl6OOHg+JsoVx9F2yCcFVa/l7vVB7iKJdg0YlozClzFBGUy2MBWBLThF6mOr70iwuHsRhVHEoXUVzZ4cqbhbjjrZH8KG7TsMekjYNl+q1yZDSF8VaMJIaRVEgaJWyBqVkmzJZsc3pC36q1rBfhLN4zTsDMavcq1wEJ72B3iDXSdYU/mYgO4UGKfSf7j2NvTMZBNwufHbrx7Fo8WKUgq2wE+x95+tfw8mDu/HjtFdVl7kZirKZjCpXlHEPut2lRDIJCQ1S7TKPzC5FxuRbnOEm2mEMdneAWYWD2EBT3kA1e8siiltj1mPOZUHCsbRlh/h8Qw3bFV7GJpmX1K90L0N09XrUZ6n8+r349g/uRTrQroQ8plIgBYz8iQNM4QWM60qEhBiGgGhKCtJoZXc53TVH+A/l3GwQN9981gS8+WUgW7fqZBc1m+xI6SORjjVPkIRZlDexprr2tw3OwO+0Y2NXGzc4F6mtA3FmxVfe8gZc+Jpbsf5t70PIZUdTa5ui4qtkSKUFUk01lB0q2EYCFl9vrmZQpcFqsrIYgjCjMq5K5ocYapgDhUKGqGKGTF1dpcaiMDs8ftizE8oopAVCQqCEH7kSJjEODVD+6Stn8M6fHoYjLNOOZG6JT3X/lQePIaO7FN9TJ2aSkZ2q7oVhU7QonaGtOPGrZI3ZUTy+xYOzdM0rA1k/Pm5L5bLMci3qGmIUTC31WBeBJF1zMUknHsCTH34T6kxRjYlBHOsfxH3f+Bx2/fbXCJMKf6c+g6F/uJVunQYks1G54sJdqB0qc8dgVZoLYNWU0garC0oWSdHmsLhLwxJUNRqFvA+zXlbFSEZD2jFoMATDAQqHMnDGrsZp6qoKXqexJOsU7/j4aGESGz/8Uzh6ehUPY9qkLdRrTVJMTSucVatb474l9dbk9xRzylCd9Czt0102u9NlBgK5s+ZB5hVIDbzmNbbROw/Dt7hb5bsy88Pe4A2MtdIdO9TMjXqljG1DSbz55hfhVz/4Ic5buQIjzW345oWdWNrG2O7wYbwsw+UM1axUp5HUCSalqUkWRO1xuwU65VLeRDkSQ33958IuKRUQ4Kkq1yvKezSkap7G0KBxmaRNIyS7pAhIGrUd1HwaWklVjR2creNfPvkVfP4Q09bmBeoxovzKOHDJmMRMG4UM7DJdkSBVjKr+rHJdKapCE5eLnMru20vL33UbvCf7izhL17wykIU7s44DDAW93FVCecskwSINRAvHGV681qL5fXhqeBpvu2IdPvral6pQ4fcSdEaDyNMtS2uCXNJiIJ33suCyqKYhoQEWqSUcudtumYNgBnoFcfHiNAQTSFGyYtsF3AorW6+qmSTCdBi6VZUmeLWpkoJD2iA0q76EbwYO2sFINoePPTUE5/LLeIe9CnuI15GwJR5RsIaA3UohJ09Rf5co1aYURRGY28SD2NwqNYq1dWtPnsXjSeaVgYw5Kg7hFSoy5qlagZeKaIrhwRlrRk3AnUwYpGfZOUIBTWaBBYPWsH23NSRXqHULTJiq6qummpzUflXlA6ZYCHSVORh5ehRvyKo1Ec+gFlDmt5tqgUxjTpMxLQOTnc59bnkgZUMm/NWMmjSk5rwDlqEJKpFMJUTPIXUpxCvC4sqjrJMlXOotmjL0Jmf10EjBkYQxCYMSZqSWNeiNzmD9eodhK+7DWbzmFQbxygR9065aIkUCV0P3yQ84oxEqrV7LVfO/06kKnDU1CkZFBFWuYyo4aWUSUrwjUwnpzisFqr8knkSTcXcuV2yoMKnyUcmm+DtkyAtTVy6unArRqEh/DTMJGk69ViRGKDO6WNX0dXEbQppyhWsMW556ka9nU7NSVbBqmCqUKHY/1ok5xMOw4lBfSYixuqocijmt8W+T3yctEAJ+NVF2+WOPSSySGf1e10X/cH3i2NN/i7NYYTb/Wi8ly2DaV2d8lgFxTrOi5m2A2EIqt4SertCIDo2kUC3WeHMbigBTkwslnW1YrZHCTIqpSD9vhVpKnR+ZY8+gMHIateQ0wWAeufERbmg/kwufcv817twSQWIln1VEVpmPqUmFvBocY4UXxXwyLkgRk7NeYGiqK4pcqu3NuVGYMp5bY4ZlwurHffbQAMwZioQ5jam0Cksi9tE4VKEzvZY8J+rxYHrbPV8Jnr/umpPvf+HjOIt6zPyT+wkqPY0CjUCDX7IDfksm+OhUV80MVV3CQJ2C29f2j+Ob7Qw9JOZluLGcGKUWQqtbnkbQpRqEq+H4MztR6ulSnMWBfYcwTa1mTV8HLnzj2xXppfN3yuLJVMTqbAL5ZAKSanuCEWYr1sREqGJnq+5DQK+UGgjwrXOBpWZWhRbpkREjkLAh047EOIRGlxAj3sNhn8PAupogYCMfYiST6nX0Uk5Vy5e8MaO1KTp9sMNe0R/d/zmc5Rmr88pACgwHDmorRmE2U6g3Qk2M+1IzkaE3cbb2ojp6TLGWUqv61OkZbro86gwlUrchoFR7NgmxQTVUSQO2DMDV6A3u/dUuLF3Ui+WrV+JFb34tfPF2Psaq6jPn0l27x0vupAuJY4f4Xspoaq8iSMFOCDPFc2jWUBhZ0ApDg7SC6nyP8jNpp6xLpiJOQ0g4WCUGmkw6ElDqMJWaLINlZMnFu8kxJCa9nnT+19IphDuoXNs9upGsvGl25coctr44i7Os5s4rA2ly2WpOie8d3e/TskM/lGzCzUXTkpNwdS9Ceb9H6reI9CvQfT7801P9+PgVHlB/Q0WEOE21LikOQxUTMWS4ZYDuslW4lLK7N+BDx/I+lBkHpEnb7rGIKpmPKS2T2d278Z5/+ToBZhjf/KcPIDEypkCvqitpzIFVMqny2lJwJG2gUseheBIJNZJOe2iduZRK0805NlbOqSFfO9eNZ6p+G41/l0AarVZSZ9NUSA9qhazRvumq1JMf2fRHzJOTrOaVgewcf7oYW/kylHbhkbauZlQmp+Fze1W9hKtjoTWDXfamVlYp7F1HkvjIBcQK3MlBw2XpGkJk6ZaBSOGQgE95bKS1GVHuUFcgigbV1uKOA4xdXOzENAb37cXJTBpjGy/Bqq4F+NDnP4TMbJoiX0QZiGqTEsVWOvv4umVqPOkMtZOaoTCJokzVzIm6UmONfAHKjYlnUzPirXoUqR0Rwk1SXQelBGkGMyVLq2QbHo+WKvZuyHlPHLgcZzms/OU1rwzk1Ne+Vrn0R7ehLfPhifG178KRo6cocMXgltkfBG56KA5kptUsdhG2bM0x3PKbvbj3TZcjQ69Sl/TWdCrwV2WGUOPj3H6PYj3NQg0Tj+4iZV7k69nVSO1xeg3bsqW45PYfwBjsR8e3voUrP/hW5PJFNcLSTqreaFg1JQ2SZQ16CJkUUBQDoQhYJjguqYZsi24XikV30h/MJq0MWTwT5vqKyQQLeQcaCDw+uFvjKOaKcJWKhCd2W7Bzyc1mS8emU196hVSQzZsOu3kHUt2xeP7Obf2ua17RWcqlkp62BQvQ5HdjmCDO3bGAEv2YOndOcRk0gIGijjv2DeHmFR0o0kiE9rZJUxN38/jQAAan8ogwS9G447OFgpqvGlq2BO0vfQle8PJb6JQc+MW73o7z8ilc8trXIud1WHS79ODKyRHCmhJzNOhtGkx9pbFchtscP9ZP3c1HRdkQHAoHs5Aa8Y6MoijTQBSvobIjXQlwMpu7ocu8+DzswWaY8V44khMMgZrW0rXwU7OzY57Rj1z0BcyzJu55ZyABMz+F3i1xRzl7wObxbGpQJPOHGBa44wOrN6C49xHocpKUzGsXwqE5ji8/PIhLOnyIBvwqa7AT/IU6OolT3Ai3FPH7H9+NhycSePlbb8VFN9yAllgcpalJPPmJ/wL/6RN4/StfCYNq7kxiCJ6mTitcmNrcUmkK8Ir3qDIclOmBBk8MoERjdAblZIgyfx+Nij9r8Pd6+NRkLg1NyDuprX2WZjetM2hqwTbEzTxSmhuuylSjZ/XSPc/8/Y3/OPfnz7sTNOfd4JIlN71t/WT/UK4pgpMNd/hF9clhGJT8hbcADaT0yO8I8HyW2xZmkhS8zSziZ09P4q0XNKPQsCYjS04qM8RcBINrLl6PjU0taB+fgLntcTh270R8chyLu7rRuf4ChqMqpkdOwLO0G1bv/hzuMC0qXjiPKsNOKZfD8Il+nO4fRpCGmfA0YXvLehoFF1/Vc9jgLM2gMHDCousktAl3I2OyfFEjUJqueVp7bRWha+0+8+L1C0ee+OiNUrkuG3Veziubd0SZKzH03fCqdW/MnT76q9auLkz0n2aq60ZLNIxCJgP3kvPUDTdlQL9kATLQTlodYh5s/sZudQihYIhirqCwgxQZy5LHVy2Ao71FVZe3Ll8JR3MrsUQZ00ePYWjyONzLaBzSsqVZnsNUO97SYeoyc4Tk2fTgME4fP41Fq5ZIDzGSYXqpaklR6DUCU01aOo8T/PpCFq0uuET6erxN9bALFWf7ip0Rs/yMHu8pLVve+/CDH7xxAeZO7sQ8veadgdz5yB1PLtyw7urdt2+daW7vypv+CGqZJDxeCnHDpxG48kY1yQcieskOV0eftqBBBtQRD2PLN5/B+GxRDYsr0EiEapcswk4A61vchgmtiiODp3Ds1BEcGtyP2XAd8XVr4fFHVUhQaa9SeMlYCOXOTKNMzzF+egCHdh/Cuks3wC1kHh82EuyCg5mNZCoyBy1IwTB3+JBVqsAwKBVsXn+gEWxtszfFY28NGTP3OVdecnzB2su/uOfvXngNLA8+b41Drvk3G+vIEfPi9/zjmxN5/Kyls81Pd3xhbnoS3mBApbB63yoUnnxAuW8lzysw6VQzwuoEhQ6fE7/ZPaqqy29aEMB0tmTVe0gXPUFnIOqHvz2K5hWLsGjjRWhdthpOb1CN7hbjMOemI8so7iq9QnFmBuNHTuDIgcNYvn4lOlcsR2pqBg2Sb3e1XWu1W8pc9mKZ4h3p+5F+epAIGi6v0W5mpzyrrwyGdeOS1CM/e8J73nUd5uyhnx/+7Kt+jXmUyv7vrvk49ki7/t/uWlgMdd+euOfHN8evfFlyxz2/x5KVS1WF2KGyHeFGCuO//Tk00u8yflJmmQoQ1GeGUPfF1Zhso2rAx939vZf2oa/Ji3TDpogyl9eDgKjAcpo2aXSH061SWgkJ6oAAKTVgtiLd/6VEAie278bRYyfRt3IRll16qdKIThw+hvRUAm9b9XHKAmXYkqMwQ60IntpZnDy4U3f1bXI3R3zbQ5Gmh5Knhr48+NutwoiqEiicI4bx7DUPm7dh3vc3N51+3ROZ8OHx07VlHZ0Hgs3Nq7LpvB7w+xEuphHccgUmf/0zpcjKidqG9JcIJuF9t7ukel3qORoo+X14xS9P4vzFMdxxbScMZiAVYgypNLPbikx4FIepPIAm46IIfCWsVCjDV1IzOPjINkzSEPr6erD84gvVKZg2XVMtnadcnapIWSceqpUaWBTJmwfu/U7/wg/dscg9OPHWQ995y7/P/T3/o0GcU2fGzNdTB9RNfeXuzFTym59fU1l11eSJXU+jubUNdoaWwZqOWJMLA9+/A1prh6LiJeYbUnC897dGY/k1uplPM7pXVP2FKKWNYhVvOi+GT129GBN1O6KRCFw0IKfToTCEanyi96jQc5SZ7ex8/GlVBtDUHMXySy+GzetVYahAxnX8wD583P0CHHa3wz01Av+yFVi/9a14dPWqzYkn73oSc+f74hwzhv/VNV/nc0qWaXMHmr4bXPuCt0VCttGpmcwar1nXfD4vGtlZmAtWoD50XBUBy1hJjSBV1Y+QRLVlx4/Xwl1x3ahpSlXlh81lw74UQ84Tp3DTsiaEme3I9OMaRbcygWw1m0F1agJDew9i194DTI89CId8WHbJRXAwLMlriLeqEOQmTpzG15puIClXRSc91Ru+/mms3PIiLKwXP/vkwMH03PufV3zGX3vN5zHQ5sT2B5iHju4LrLh8x8Kupncd6h8zQ42q6Q+GzNTQgN75qrdh8sf/Fa6FKymDNGCnutuIdtqducQnXc3tvgpcPVqZ2U20RZPKcRsNqB6J4t/v3YWdO59AhEKZPpNCcngMJ44cx97DJ5CmwUhaHfB70XfRBfBGA6g1ihTm6NRqfpS/tR2/ynXhGWo2qypJbLzv16pyva2rBxuXXDr+3afv2obn0XUuHGyjws2WN251u65/TWlgxxMfaw0GPpbLFzxDFdMWX70KiR/8KxwdvUglkjBLBdPt92va8PG4Y9W6zxYLxtsxO1KMdS16OJMrvajAUHLh6QPY1f+k8v+3rF4AFwm13kgQsbAfTrcOb8yPxVSAXVPEJf1Z9Ky+AgFvBEe++l8xPHIAN3/pZ1h07ADe9uOvoM3pR5EA18nHX3n9TadbPvzCxXgeXefMyUcQb7d1q3l93825iT0PbmkKxu6cGk92JRw+PdTShtruP95b0zw3ZLOz6bphhk05Jiyb3BhCvhRcec2dhVqjz+WqX1hJJi59jSf6X8x9u5sPHXqMWMRFZdWuBtEEajbESjo66i6ESMl6CUpd8QhCL9mCRnMEvuEhfLL3IgwMDOCtP/gMPJ2rESCTW5TsJxLDipfehH0nT4de95NPkqg59/GHXOfSMZ0NGoh232tX+jyBtneiuPBvl/V1P9JFXSObmKxXLrp52chd/6I5s+NXRMxEX7Mv8P34kvPvCSy//BeH73j/8tjB4576vscDg7/64r8FqfNkHQZirhB8GSf84xqiw6QvEqTVS3UM2xuYXBRFbt0i+C7ZgKVr1mJ1vAPHHBFUCZbfe+e34e9ei7ZQRJ1s6aEG46CAlzp+0nz5zTd+Hs8T/CHXueRBnr1UhtDUtNQ3M3M8f/k7vnIhccLvco5QqbhgaXc1OfiN8re++cFTp+6r/MVzrNHqc9febz9++uef//TCyuQQaXqb+qnPYUOoriFmc6PZxoyFYly0KYRwextar7gIXmovIzv3YeSp7TCYGYUJXKXOVYqS5OABB1PmVDxidl53jdZutsa6tr4g8xe/U/3+rdiq51t+4xkzPf6AvR55oUPz3GNzF+KmK+O8dXNi69atxl/8jfPCyM5FA/kfrz/zDJ0X3exxrXvBhR7v7OszB45+eeSBfz/0v3rC6V/uTX3x/e+MZHxlLBqtQGOG4yGX4q0baGJGtLfdgRWxZqxO6/C3xtF6+cXwUsdJ7TqI/MAQ02dTEWZVUvm2holTuSSmZX6rNwxb33LjoquvrMQ+9FLv3HvT3o71+g0B++MZv+fCBG0lINVnNh05Ypc2B8Ob2452qsjRpvB02qHf/eDwwc9v3X73qbnnn9WM6FwxkL92R/2Pz1N/b/8vdhufe+874dYKiJY1uLhIXgp1Tkr6PtL2ksG4+TkWCiBCD9Ky5SJ4erpQHxhDeWgU9dmskvcPjQwgLRR7hYKhjORmuEkVckh7A411176g+tDJHasnDv5p/GWp9uIOb8loqui6HJCojm53OdRUaLsc1uhyKvFPHcuq62Y40qot6O2bHNRKr1rz1fdLVft/5wHP5DUfmdS/vNQCSx3nrVe/dV2nM3Sj2+baUilUujRd91erda2cnc1PlbK5olHf3chO7w9U8o/+In14P/7b7vvL18KdH/3qReOU+gP8OmR44CDecHMn+4gj3JTmPVJJxqXweBxwyOhsUvFOkmT2tjjsDCvFbB7jMwl4m4JYWOnFpHTwSwVbaha5YlG1W3gbFdsffvxDl7e9+9RL0104EG3UlxbpJvzkYzzEK945wyDpJ0SdDAUWdlb5QZGnSzkcP7GvuRKMPFb7zO8Pf/bju9cwPJ0VI5mvHkTdjM+85baeFfbVt4+UUtccPHpAm5waRaXE0E73bpdBLmaBu9EPe3EWdeoz06ipfpO1vvZ6pHvRtV8+fP8jz77Wlc0XL1q6eOU/Xn7hBa/v6Ik37tn6GZuM7HbLSG4uvN+QM2RoLFwwl80Bj9uNeDCEphWLYSNQTRVLNIoQsUgzbCfHMXv0CJwUAo3RaaQpJk6LelyvI5HOIa578NP0MVygObCgsxv15KwaF2GjZ3KQgBNWVirPHDRIB72XQwbySrmiac1Pky7/WqOBinwEw8aKy67Ss4XSqp6/e8lRnOHsaL4ZiAKgP3nX34U29F3/1DODx5eNnzhhJkf6tWxyDBkKczmSW9KqaDpNBIwA9Oo07kWa/5nKZUhWQcBodFBpuWz5RT88lCt9tcP03DOZz7bd+ob3MDSkzamTh7XaiaOI1hrwyVG8oSBcBYYXun2X9Oy6HTC4gOEwQeqyPoQu2gAH09zycAJyIKuf4aR+bADFgRGqvRmcLKfhypQwOD2DFhrW60YfVka3PXAF7vWlsUjzwKTnAD2GzvTbSaMQT+Wg1/LKEfI0EBmnKb5SWjpV5x6NVQqv5YQtW3t7vXXzlXaH5twYet06Ob37jBnJfDIQtdOTd+67bSaV/OLu3XuMoYMH9OLEKGrUR+SsOgGSNt6wskdHI0dZvpLGF4wh9X1V4MMXkFoNOec2Q25iobvV7K07tazNYa5fc5m2bHEfZuXIEOm8HJQzZlzqlO5IW4xZSw322bwaqgu3lCrG4aVeE+psR2T5Ejj7uqHRO5gj46hOJ0jzTyDFh04ePQ0PX2f4VD9CNLQrT/8OMX8I3wyuRW9rF4ZHBxD2B5ktOVUJpJyeGaBhyAGHPp9HDceThippAVXjvKVXh9lRVWlDDdTLVZT4d3n6ljbimy+3FRLTLa1vuESOnTkj4Wa+YBBVVWXszDx+dNe2S0/uO2AM79qpF6YnlGG4acYyykGXhmmvCxPcWau4228tDCFObUZ6ZmWKkPTiylinPMW5iwKd6K56tDy5Cr/NrUX9HpSGTyFIY/MVs+pY96pNQzyVh3NghuDUgdLSDjhyVTQzk/GRXXUTPIq3EK9y5NEHsFDzURjMo2TWMR3kz8dm4F+/AqlHnsG6dSvRc//XsaqlA1OVPK7yd+FJAp0mdwgVu65GWUgIkfo2KYaWBjEbDUQaz+0+l8I3MiZLnS5CTkXPFWEwfa5Jp16piPrUiK0yeKjRcuW1TKMg0vUZKRuYDwaiqqrMU5U9Q08+ft7ogQPa8R3btPJsQt0FccVumfAvzde6gbGAC+szLvxLci8iQb9VUcbd5pZph3J3ZeY5Bbyr7S1I0FU47GF6igaajQzqmTxcVs8/7IWCGg9lJx7Q25sYslxon8hR+JubpeqwKX2nmE6jtOcQas4qCtzdhfYQHIeHEedznyjMwD5dxiW+Jrzw8V9iTWePGuOwzhmDJypHfkyhgwufIeiME3vI5EYBxDI+0y7in3ymcTgDxFGk+vVYRBVAGfkibAxX9WRWeUXhWur0Xrljx2z2cEgr75v+N/fa5r/FGbjONpOqimjMXO3+6X27zps4eEQ/vONpVNIzyiiCdMdBl7WbveKGQ34E5FixiA87HCW0MgTEo2H4uAheObKUj01qdXzCswxj3U3w1gpYynAUCMXgTFbgb1ThqFUUjnDSSzSXGeeXLUSIYNOVyqDiYOiyQY3frhEI17M5IDFL9ZgLHCWdT4DatXsIznVLGVtSOH/RUoROT2Nfi4nTvrp1VFmphPXRThWmXORLTtn4+66/ADOzGabTNitjUZOZbXI4DuwMNXbp+WFIQ1c7tN5O6J1tcLU1wx4goGXokf5idULEyRHkj5/WHC7H++7e+m0PzgBEOOsGUp+svyr/9JFrE8dO6fue3oZiKqEO2vHQDfu5w6R1MsIbSLSALN36tb0rcdupx7GE2ofb5VBppcxml2NHq7yJLw0uQL4lgI1+P6qRJrj5vaYmL/xS98FMxFOHwhlSJNTo6kD36LRq/FYz3YljdBlqK66dHind0YTs2qVwkgtpPzqClkQBwxtXYvCeR3BqZRv2JQawIb4IH3jqbiz2h9UUAEP8Ez2FdPpX6e2kVOD0E0+jr71DeQ3b3IgKdRiBHDkiKYsAVeIXjWIhguTXIoxNciYOQ5DgKWn9VMUlZHdH9h7W0s/sN6+98WVbcQaus2kgtkceeUQ3K5mf5wZGjT3bnkRqelrtLsccceVgzF7Y3IodqREEujrhmcpiJuLEqK2KIN2yOVd9rm68kFSagTeHFlPy98HDhdfDEXg9PnTXnMjFvIgSUwgl7hbthMbXTCMy6DXEIGW3G+EA6ssXw7VpDeLhKHpTZTTtOUGeo46R83owMjaG/FM7sWbhYnQfnEBsOIvxuAPTZsmaMSZn79rd+O3QQXWq1ObuFdD5uhtDXUg7TPh0u5pdYqpZaKaaaiTeQU0lECMRDOJ1gzGRdL4UMulzRfaGqpUVAJumYp04QoDdGnwXzgDDejYNpLHlki2PZJ8+YhzasUsfO31a3TAnb6JPs1jF7lAUv5g+ho1bLsBkJoWX3nIrbv797VgQjfCe2tUg/YY6q4XAlJ/fEejDTFcUnSNFTDtqaCrkoXd3c+eVEKc6m6b7DtCTyBgI36qlzGSG1ejvUmsE9dV9FN9i6JxMwrX3mOqznWwLYri3CePHTiP65BE0+QNcUAPZ4XFk7VX0wIuvHHkSPU0tfzZUd8CLwzNT2FZOwTM2hS2BZvR4I3ztZsw0hzFCHsep+n3NPxu48ibSd2zX5mCnKtdXRicjMmVytEwqkP+qlTImBoa10pFR/57v3hvHc3ydLQPRn77j3s7y7oFLZweH9aP79ir3LCMc7FwAYTTFg6RLBVypNyE33cDKaDu+dvfPkBEPHJUj7001C1VCjBhImATZm1ZeBJyahq/VhyKDUhPTzWp6Ep6AD3WGkJaaCzNtYWZCHnTQtecXtjDMdKLH9CB4YhQmafJU1I/p3hYaZAaB/km0J0oqLa0yqzw6NYJFwSZMuRvIccHaFi7CQ4OHVYYlhzAHiIecDAlReqmr7vk63r//QewoZpA2azSQEBaNZ7Fs7VqMpRPq/YtX0HUrRVeNvYK3pRG8ygxW5swzpMgxbPJRpQwgG0ImERXJByVPDKKtu+9yPMfX2TIQY8PNV/576WS/efzAQWTpHXSlRdAzN5itUDwrRFzINfmRoOvtmEpjLJXFPw9uQ7PTQ1DqRUVumLQ00kBytTLuWvUSPOipoqMjjv2jY4gyRMiAudaKifHiDGl13ncSYL2hdmSW9qLEENNb1OEZmVSZx2zEjUkBr7NFtKZKCErLJZXeEom5Bo3X6XahzN8zNjmJ0qXL4Dg1ibyrgQRFOhkzxW2u2NIyF7W5pQmtNJo7J47iuid/jIV3fxX67X+H2c44wgMTSMcD8MrseLkT4kZkQI1KV+RA5joNtSTDUmAWqyqTqhIwV6TDT5rHGw11lFmGWU6sveNiPMfX2UhzLQEtmb02RRd88tBB5c6lYCci0z26YiilKmjh4vlqBil1J/7rqSfwW30W5zONzJMTkIG1WSqpOkGqhwt91yWvxS8mT+CyvAeHSKw183ECFJ3iqWtFrOBrDLWbaMrnMMHMZ5NJ7zQ2ggqznkZHDMcTCbSLxC8lrcwayrp13ozqw6lZ2UmRBuKnZwsyo+rZm0Q/Q0muWoRbamSFq6FXyvP1pXfX7/PBS2PJp5Ioy8gsCns9bW249d5/x6NXvAERGqpmWLPUVHixW8sgw2QgA+3SlBOyBWWYckS9tIbW6DlKYigSkuQgxEIRlVxhAZ7j66x4kNmnB24sHhnC0OmTyGXSSgUNVOk+F3TDQV5BMoFvD+3C2/b+Hpcf+Q0edRdpHN0o8Aa1NEUxNjWNBr3MhkALfrmanuOxx/CieBd2jA3C3dauenM9dNl23lz5A3OVIjw0KKn5CDA7yNM9+1pbMGCrIzs6yfDkQkk3qe001NQh+SzzyhTVLZ39XLjJfAZhO42ARvOQLweDBuPzBKjb0KDIW4TJYczMpBRNHmRGkpoh+UYyrsLXWLt8qbrTRabYclCjXQg90xrkq4b62qxZItKqaTLT0pJpciGluWbxsgovZRpJSQxGZp6IOFiWHp6GE8/xdTYMxAyt7P6HEtXPfgpeMijUzRsQOX8VXKMzJKZm8fZj92EbxbdKyI3Lli9HSzCoqGnhArKMzWmthtctXI93XPYSHDp4EJe/8Crc88xOtPQsVCmvnITtkClE0kwlO474I8obPkNuomciiVpfFw4P98NfkJzXpYbYyiBSOaBQxkpVuBjSKScDbtV0IWYWp7JJhONx1dbdWbahylQ6FG9FiF5IRk9JQ5acqK3K8bngfobBkfEJrFm6GIOj4yjIwqspjTRcAmUxOvuzk52dcyFGOgCFzs9mlScqFyso8X0U6VVyNJYSP6uBV/RkatxVufKcD9g9OxgknT0/MTiEacrusoCtzDQmDx/HKi7wO2a2Y3VLO1NSj1I5BfRJD654Dy8l8sHEJD6y5Aq8KLgYyT37oXW3ECiOYem6TSoD8hDxe/hYmT5ol1RSsxqd7IztrtYwSiEbJo6dJC/iRZVZgzTGloUTkUG2gJLhazSorNuGaXqgdL6gdvNV0V48cXgfNZkuLKqRmKP3qNCYNnYsUgBTsqpnB/pnCHCLNPqlC7sxQuOQ9FQmChVlDioNzmfIeXv8zfSaEl7keDQ5ccqkBqPJ4QNkfKsMIUK6lYg38tSVchJe6nMTmedINrfXP4Ln+DrjBrLj5w8tKRwcwPBAvxoP5We2MtUo4db112D9fV/HAgpbcvBxtpgnV+RX04Lko8LFGsym8PdrbsCFOR0nk0Nwd/RQuAtiGd22jIXSCWg9BHhuWpRTpoLpUsSjqxHcMgLbSUOaOdyvDiGSaUTyupI+Ol3MQsiHJIgp+sl1VGazcOWroPJCFpfcBXPhvFHBlkWrME4Fd7rdRyEwjJNUkt/UthEVm6FmpYreIvPIJCT4SO5lMgU1yCYSCyPGcHM8Te9FL9RZ0jEecmImbIeTPI2erwCjU9AYosDfXeLfUOZHkV6kQM8hg2/Eq1Vk0pVQ9cRBMn1xdmJsN57j64wbyLK1570qMzGFyUQKTv7RrlV9uGnxRlzz2y+SnAqoeR5yWGEkGFBpYImGIZMNE5USXksSrJsLN9zko8LpxCRvuMwOq3LnNskUn1yW2oZ37rw7be6D3oM701zRBydJJnhFs7ExGzCVQCZeZCaRRp2UuqSWNnoPwmB1MjbzCOS54GUaT5V3KtcoY2lzOxozWaQ6gnAkiti0eYvyUjWZTzZHY8jX6hxdLmykKabOoctmM2iJhvDmOz4F55rl2OCPIEwIsaeUQK6ZRjLL0HK8H6WpGdTosQTXyHiKPL1ImSm0TJ9uyHxNGWchSjAN7uCxvc/gOb7OuIEEXcG3zs7MospcPrB4BS6ksHX79ntxTC8iROPwMqaXCey62tsxlZxlSM4jT4O51N+CNUxRs8QjghWCsRiC3H0e4gQbM5sGjajVtGHW64CXq+QQw5gbvOvsaoMxNKkkdwF4bjm2jBnLJN0/ciULQMpBAVKj4ZISQJeq9JLuOhe9jcIlzKhq9BAlGm0bFduJ4RH0kdMYTA/hte3nMVo0rDqOWk29l1ImR14kgjwX2RrhSl0pEMRiw43lt93CbCuB8MtvwPm+bjT6Z3BIF3BOjzbFe0PcIZmPhNUCvVGpVlfYQ0KZCHzyHjvau3D1x249gef4OpMGoh//9ycWzhw42H3s5Clo7ggu4E3/yRO/xz+P7UKr16+yD0l3PVygougmBIeFkhUy3rz8KnSevwmtPb2IBqjQShjhjZNjwVzcoUKu1bkSPXneUGY6ElrESORxRb6O1JDK9EM39Y6x1KQithwSwmgETn72U1UNUwcJRYNc2BCC4SC8VFjDsSYE4lF1RGtDneXCxedyLV/Qh32zo6ifGMH7r34lTmemVRWaeD9p6RTMIempl9lWlfhCShBu6VyBj57/Qqzwx3HVL7+AjZesw4nUKKI3XYtVWTsmRhOYcNGzFSpqgrTMQyvKaHAZwSlkmo8ZkNsHGz1fJBx+GmfgOlMGorSmJddd+ruhRMoM1MmUHj6Av9n5W94EA52RqCKipGBGDnZy00CyjL9yIGGfpxk/f+On4erpQX06AXNiAnZK8G4usBQZ22kcYgx2qbMgUAxxkYoibSgegxnM0h44+sfgDoaQNsoqo9BDETUL1UXDELzjYwjxy2eGNR/DXDDoR9nvQTwYhZ1G4yFD6u1sgT0WJK/ClDOVRmpyCkvohowVCxkGslhVtPM1mMkIyVU31KFEboanIoU/8YpVm0lPsxbTTU7ctuYy3HXxa7CpuQerPvseXL1yGRIuHd0E6W2TeRx28G8TsY/vv8pNZMhkZrcMo6HRen1wMlU/cfTAh3EG1NwzVVFmM9O1qyZ3HL//p+94D346+CR2k7p+Zu3NuO7QXWgh8+h1W2fCSSYR9PtwfHwIn77yLbhw+XpMnj6OhozH5k1Th/fMNc+LQc2dCcVwYp0WJT+boidpJ/Vek2amiA8hGuGeidO8uWFVXijKr0MOOCRI9ognYpoptSFu4hOHTqGMMruPRuwgRa+OFLFbx59K6Kjl82gwRZdTHKR8MM3wZsbDmDp0FB9O7sTB/cexnCqyy0MBUUg0/kWzs2lkaDgzt/wTnrQncGHDjyKhUJbeITk8ia/ufADfSw/ik73r8A+vfiemH9+BHSGGxokUBvgYw+FU6XgwFIcv1mRsuuSaesf7LnXhDPTPnAkmVZUSHr3r4fvf+6YbjWdQ0Uv8m17tbUOCwNIIulVoUUd5SGUY3enQ1BjuftdX1Xza8YP7gfwsHAwnTiEddesIUYcav20dBmSzOEmVzoqq20vPMEU+xU1xzjcxid2jA4h0LYCTGEDmodsZttToSmaXLn7hcDlVIY+D6WfI48dQMkXKvhcVqeqryVkzFTUxWZRmnTip6OfuJllnZLLKsFMU+BZGW1DuL6gwFpCj1inVT5Asi9IrLezuwmKdEj7/AFuK1EVLDF6GsmBfD1qIoT7d0oxrdu3G+48+hF987j148uW3YcnBY9hOb0PYTnU6Dg9BrdSO2EJ+3VmovxdnqKLsTISYxu4Pf3f7+970amNac+kBzYWr4cGHL78FHzrxJ3R5Qmo+hyiXbt6AZCaJR//xJwSTdZROHAeSU8x2ynATHErviGJJpWdWygH4PBeBp1u1JzhVvaeEqqBbWhVcNEUNz5w4gtCChXATMAq+sREAy65wE7y6NE0NkZHWSRe/66w0MMxMZXVrj5prZjPVRHXqI/ROcooViSvm2wrASjZRJps5M01DGZ3AVEDHtWhClO+lSI80zYxpcWcHfKTdJ7NpvGjBKmT9OkVCJ9NxYiKGMoNey9bahI7NG7CqtwvfXHI1Dd+Fpb/+PCrETT2z5D8CLgRirYi0dfNvaDLWL99Ujf/dljtwhpqpnnMD2bJli/3pP/7hQpfdr/t0D6Jc+Jtf/l5mFf04rlfgZziRhZc6jeGJYez6t/tQogCWOTUEc3ocbjkBUxZSHsPPAkbd5D1cvIFSM+rigtjJCTjdbmtyED/LdOVMezMO3HMPIkuXcrc2KePQhXqngciAO0WkSRmjmjZkV4qsv62FoLeMBlNfmZhsm6s2t4t3kzoOIbSE4qZXEWlfzp4zmEIXGMqKQ1O42BOF5mMaSkB78aaNyBNHCVBO0EA2hDqJjTQMBzQMuGlokRBjqU+9XmkqyTDbhlaC4/c2n49WzYcX7Pulot2bnUFioChCnW1whEJ6rpi/Fv9zz89zdj33BvLoo4acDxd0e8xEYxo/+ec7sTYQwW3HHkAvXf7hwQEE6KZHkxN49Eu/QYP6yLF9B+BmWLBzEeUGO5kiioHImAYZa2l3WQU/TnocD4Ghh8DNTUNzhXxw0HC8TXEM3vMA3N0d8De38OcedXCgnBFnpx4ir+uU16W3ka42MRIZzz2uNbCkexEafqfKGOCR06xcajCNgwYkR6qqs+toEOrcFzEgdTgyweT4NKb5+8NMvYMUBHcd2D83j1dT2VaLL4bR/Aw6An4aNSm4prA6Fk2EuVohT5a1zPcfJHb24mXeRTJMC58eegyebBl1jx3Nvd3GpiWrty//2A2P4Qy2Yj7nBrKVf0ynP/7lTGUW//CeT6Ia4M7cvgtPucpMCz1YwezksYOHcPs7P4UowerpXXvgZYYgh385bLoyDNnJEkJkMZ0eKePjwnIx3NxxrqYIXExdpVBH0lUXNZBDJ44qhlSORw+SqHIIhSDegwKcKLxOOStX2h8lrZbXpVH529sU3Y14BA4unpMYwR5n+OPr6vy56XUKuQKZIyOZjBy1KoScTV6DXqyFjO69/Qfgo7EOjo1ieHIaARlxRSC7oZWiq5OGxFC1INaFTmo4Br2cHBfRIHtaL8nRIhQH+Tc7acxhZlQvcXTicaKgR/c9hM7mVunI03+0527xHnOnE52Z60yAVO3FT339tq9edsvFSxb3XRj50w68avAhLA5HlZ4gCuWtl2zB1S++EYkDhzFxkh4lnWD48BAUWl1nqm9VPAZvnpM728ZdLadn2+Z2t33uoB5FFfj8ePiHP0DHsqWIkjPxS7FQKa8ORZbz5SSsONTIS8060lT6VRgqZjw29HYuB5rDxAguJfBJDw6knZICGkUZ1bClFy1s2BAjkfntNKpmuw//NLoNJx0V1IkbppjltFMtVufFMNysCschVurh7zLcfD4zK8Ew5lQCtXSWxFhJcSUV4p6SHD/CkNlWCuCCegjfqU3guoMHcN6WLcPv+cbWPM7wdSYMRCHtd//qu2M7v/pDnN63DUeJPRY6/CojGZkYw6PfugfJwUEM05O4cmlroK2whjJRcA54Cs6QKm87F9zJ9NFJrkIXWp27TbIaobnF3R+ma4/RuFydAuyaoEvdBBdMJ9DV6lC6jJwa5ZD60LmCYDe9Torpc/uqxVxA3hK/dbatOiosW1SGKMeMqZOlmNaiaJ2WLYU8DaOGPTOjuKsyih5HgDudQl6bG62RsALANrcD57tbufgUG+Www3AIZiSoQlSdXqaaK1pSvlFXhxFU5fwZCW1ZHQv0EPY0Mrjzd9/DpZ/8aBpn4ToTBqKPPrRj8cSp8ZevfeYwOrnTuprEe5CnoJt+8zU3Myy4MDuQw+TkJByzGSvum5KyWk3NspDKe8iHxHCynDaGFj0su/3ZgfnMOkiGHfjy1xAgoIv3MXNhaEidPo0KFVLp5RU2UnQRabASXkM4DvFAOg3JJYyF1IQyvGj8PeqIs3JN+XJNDmZmSNBkXrwYFazaDR/fW5na0Ffyx7GpqVMxnKIKC2Vul/fMj+27D+Bj16xDzamrkoKcFwiEmPLScA1ptVDhpa4o9TyNWLygn6BaWi795SxiDTseL47CMTByVkZAPNcGohjUjqs2bjt28yeNTx++T5fudon7UiwzkpjG37z5vSSLhpAhS1qaTqkjScXp6FZXgPIkqvBbeki44PKh0XvYiD80yQIk5RTAyPjO/APZk4PouXgDQs1NKCaTKHCXyglVqhuBO1qKgYRxlYIddbg2FyLNzCpKrCJGppClQmbWEdzq3FyR5i1T4XNMdexqhETcV5PH8UczQeHMjwkaj1YuqpBTnav+mskXsHzJIjzN7Gzzqk18zBQ89BAhMrON00MoM3SpKYtq/GZFHcAoYclN8N7bvQD9g6f5F8kZWjY89qWvTeAsXM81SNVKR9Nvu/vmjzSdPrVT/0V6FAva2tXNkLXpCragta0DWYaA1PCgmm1uOOyKIBPCTD6kJEAWTf+Ld6zOnZV9KrZERlNOjmJujKN/+CM6yD346aEk3ORpgKVcwTp9iq9VpscSVbQigLBmfchhxlM0JC/TTWOKcjtJL3Oa3jyR5UcaBo1WCnjqZEIF+FpHktVwIj2N76SOq9cfSs4oUuzI8CiOj02gnxzINNXYJV2dWNrZiY88dQ9K3S24fPO1MEp8v6ksTMr7BsOLnH1XllqPSk0VREkLhJcyQOfKNUgzIvl5p8JkbU4c3Hs/zsL1nHqQN1z5orZ9Dz50u+/pvca10w/ra9o7SUzW1RDbYWoqr950DRKTE1Q8CygyDMiubsjJk1xMBxdDekbspLzrlao6D04wQV1OgxKAxzChC3FFryAAVOe93fbjO7HMH1MFNVUaYZGvW2Vs16zD4azmaDHNasVKUxlS5FSqEr1Xnq7cnEnCwQzKRs+kyfx3qTwngKznubuJPapUaEsMCxrDw21P/BaRqFtVkUmhUJTguL3Jmvch5ttE7kImQ0vMuPGyS9DylhcgvXcE3Qxdh5/eieWZImpyxgy5lWq5oU7flGZtO9XqAKn65p4FGHXW0FTWzRtDi4vvmNj+rzgLo6n+XxqIEkje/va3R/224KfS06Ov2L7zifi+zz1TP53N2Fe1dijwKS5a6j0lVnc1dyJBJjIv0jYVUHXkuZwkJWhehupXTdUWIGGmwoUy0wwzcx3vOsklwTHiSUQXcXFjTkxNIlaoI5Jth52PlypwMTYbrJkbThm5LdVp6hDkhuV9ZHALXfxMoaYUWH3CrY53F/ArRTlypLocflwtMQyQWi9y9z/w2MNoLGtHq2HVljZMy6NJWusmfhJsJUXGWRq9n4A3TmO5+potaFrXhZmnTmPZsX48nZrC0mwJyVKOxldRj5d2/UA4An+82ZjNpPXOfG06HFzwmf+S2f81nKVjQ/5fGoj+mdu2XrT36MEnBrL9OHp4F3o72kTDsK+kCimew5zDFTW66RrTWy/jeC6bVzu9QppbnTtrWFMN3LzrZbPGuG5aR3RkSTjJmfZy7JjUiSp0IwcN1lW/yJhMDSIXkRcSazYFOz9Kcs6LHNfBx9lUZZo6rBQuehtpVpC6TqPiUq2WGWIYnZjB7pLsxq74C6kOk3OLZHfLSdwiugWLdXw7mIanQKFO0l0Jh4ZV5JzJ51Sa7RZuxWGN+5ZBMSf7B7FsyWJced2VaL24D9M/eQRrD57E7yqT8C7sQmjHSVXB7qCU76bSrEfCeqhefc/PjOQ3kE3KXyoR9qwcG/L/ykD0N77xjYFHnn78iR27txtej1cX0SwnzUQktrw+aQkoKMZR3LFUegvyzHDHJ6TPhGxiiSBPjhKzqcopqJOspb5U/msUDXqCKtwMF86yU3kUWRmjZhmUZDonma0I2ZRmOKilksQTfF3ueGnCVse2K+BiqlBU5WeXHFJJT5SlS4nqblRpNU7+YrNqpcKKWldnxjQUDhIv52JYeEtmn5oHkkpT8qdBFOsNJRAK4yunb0rlvOhFbnXenY4MeZQtG9YpABxi+NlCI+l47VUY/cTXsemRCezfcZwh1NoUTjGuYBgdLT3ouHX9N/DfQso5f/K20X/o1JdmMjPmysWL9FQqhUHG8gJ3ey+VyoCfVDvjsRTSpBjHVUrKGzh87JgqzvVEqGFUSqTUJRupqg7Emjohl4JaQ3BCXU3cqXGxRJxTJ0nKCdj1hjoGRJTYCWKDot1QA/iNsSTq9ADSPyNnzcljrQIBUwlwQoDl6Rq8zDszDrKr0tLY0NXpEQISDTmQUEKQeCj+TuEmvBUTX0keQTQWQowZT3O5pGaRCDeSyeWRIBaZpocpSDpNOl/KF+WKMC1vb21Tx7lXa3KMfBlrLtuEZf/8Nzj8ig9jZqCME6UhKsoBKrZhZmcx02/X7pm7r+f8ubnqvn/w3R/scNkd19358+9oRjRG1xpCazyOWcbgaUrn+VIB0RBpcak65wLPUIqXtHU0Oa1ir4Nx2lOqwUsPosuOJGfgEjqcO9ApQ+H4a9RUQNV9ZyOO0JTrN+VAYz5eQlWyTMMLuFExuTDSwHR6FFrAOXcUumZlr1amqkKO4I8Cja/qNTHJxaw4rJE9xpwpSbGRrpxOA866iW3lJMZ9qtCU/IXVzyJN5kLmRZlyL6YaWyX2mKb3ErApfEYzDamtrVXdKOFfhAiTTEpOv2pZvxI33v0t3H7+SzAYicEoVFVvjTsU1h4++NjfYJ6cK/N/WzCkf/Zjn73i2MmTD+3f84RRLBV0AYZBsp1uVWQjC+tVeEOwgjoqna44OTWFLHflwrIDC/1Nqj3BrmpFKb7VdUVkOeYUXpeayqOp+g8R1OSzTe0rU5X/1ZjhyNiHmTwRAZXUmWwOQTl+1OZUOEJ+X+PZnmjrjCor1IjRSe1oyAF/roGynN6tm6oIWh1raFiFSGF6jgO+MrY7S2gnPzGdSau/Q0ohpXE87A+oOWNN9IJeEQ75N0glutSOtDY3q0mJUjog+EV1xsnckUZDrf5xbpCX5H14XaQPA72dSLkr5i2v+cB4+DXndWKeXP83HkSh6lw+99DTT/7BiEVjesDXJAQj4/MsMtkkIuEYsQTTUtM6aElX8zDqCHNn1RiChs08omXeVM1m4QQahRTmGIb0tOgIGJanqAq4nIvGEn401RYPlcKWuUg10t1MKNUpl8Q/pNWtY0iFszDt1oEWz1aeyc7WVDWaBZirxCzEqKhppnotqRwX7yBh0MO/5fZYQY1tiFOldTGz6fG0qteI0EsmyN9sP3yEin0Nrfy6I96sUtt4cwwLyH8cPXEcPd29KgMTrUV4FzEO6SsWz9Tm8uGO6WFc07oEYWKfjNetVY/OfADPg0nLqkrsq5/7Sv6LX/q8h0Kj7uPNE3erzTURSXme3GTxHqrPlb/JYcj0PkvgkpaGwfEJ9JluRG3UZbjoQae0TLpVyijzvARI+iVdMaweFrELqR6TGlQ1GVA1RRHs1orwE6D6ScIlSlm40iVVge5yWJmIYmNVeNEsLUZXKEZ5o5lGBQG+sBhHQXpeGbYadB/yXo/oOeRbgwroStuD4BL5neLpxADsdsvTSRjdcfS4Oks3wFAYYrqb49dbNm5AjJlMVirzKemXaYllZkPiTaUJWzyLlFmOk1X93XV/g7ZLNqPnH15uxbh5YiB/7Xkx5sc/+o+7v/CFz3SRGNJnCdBm6dobynWbdL8WEVXnTfd4vepg4mf/Wu3ZEyW5GNKeOJjPoIlBpEK6e4YLrXY6MxSpj8jVK6oXVT1PsxbVPlcC4FCDZnQ1EVmOLdX4/OZIHEUqtzmhWOWgQcPyGMpQNUPhEAtnmAr0SgtEQY49FXzARZNTGypCwfPpY05S5a0+Je3nCEinaATJfB6zZE4TksGkU8rQxRsEia8Wd7SrVDhNbzFL1lXA+cqlS2gYRdUAVRaj4GtJCBYgLYYhm0g2TpJ/54KCZl5w0yt+9oXffuc3mEfXXxVirr/++s7vfvfb5y9evAgU0xkaWhX4SvLGFZg6NsdiikKWzCXLnaM6zgC1Y6yGZUt9FZIp1hTHodlZfLxrPa5euBSzcoAxF7bu0VFkapsancCBxCgmCEI9mhMhza0WWWR7G0NDwaiqQmaP4VRhQvpR2lcswcyREygxp7WbdnXIMRoyAbFuGehcvJJ5JCTRydpqKrSIkYrkLjUj/VGTmYu0PJZV+6V4lxYqtNLQNUM8McnfM5HJW5CWr9dKAfHKizYpbyczUuV3FGgc4lWqijirKGOqz20W6aOxCA4HYoGQuSszqIXvu+/DmGeHHv5VIebiVRteX3PoP9SqRRQIDlVRj7hx9dmqZ/ERC8zQYITU0nXrVginIEZhzmksRaa2XdFm/KrnOjytp1GZLaj5GCKj56Sznrsxy90VpawfIEM5y504m88iTWItx5stVsbkl1kOuQyTqXRHN9zUUk65ijB9lNWZ+oo3qZlqcpj6qEsHv6S7qiK+gTwX0s/357d7MFmleMbXpGyIcRqotESkqMMI13HewgVIMitLZDPo4AZYu2ghpvgzAaESXsXwBITK5pACJ7FByVrEQGSzyNcq3DYMJRgKW6xrUsrgbbSa7tqWnO8Tt408+kXMs+uvMRB9/fr1tiWdi6p/fPBuUsmU3jVTddLL7HGvi0CRoaPAxZRqK2t4jm712Aq1DesMe7lRMkLhqZar8SdmCfEcsxymJ8Rq6uY1VIW7pYzW55jXgoyDlL4ZXQp+GiqEibguczwEzNZknHWJGYbM64gFUJjJWYPyJRzpdhWOZJ6ITQqkbQ6l5/S0dWJqfBw7MsOk113YnhnHcL2oDFhjdjLM0HIRFdkjE5PwkNrvaYnj6OAgDaWAzeetQjzexHQ+y9Q+rIquc8KmcnOUJLui1ygLmyvdcZWKCjHiOVWjuCmh0mF0ty3A7x6/3zoPfh4ehPjXhBjD7/Zf9aeH/6DGFYxSS1na3UMESmKKiyiMowAwIbQURT6XLag+Frs1wE3YT5HHf9J7FZ70ldDENLNmt1JQGd1gyIgEokpDhs8KI+m1wpGfiybuWmajOrjIMnZbnwOhUh/qUFnQs7UefF6XXeENqJlgmkphJQS4+Ptn6L36QnF84anf4fFgFT0hknVaGfZmP9qYE6n3yd8piuy9O3fhFddcgQcosmFawwWrVmJobBz7T57Car5u34Ju6kDTKoSGAgGkaTASYiRrUTPXJXsRJdi0jN6cA9cut0/XilnGpT+HlXkBTP/y+qswSCY1uyLN+Er+CCTI0D8+popeIuQEhCCrCYHFHeOU6YMynE232iBlYr0aVs/vSSawqATs9hA/aJamYSpooP0FhDdVH4sKD2JsujXCWs30mutVVbU7Vu6Kxlyxt+q0l/lf1fJcWjt3cIskP5U6chEPugwf7jq1D9uCBIj+CF/DSsUl/IjooSnjsymvtaSjhaDWxHkMK08fOYaWWBSrCEClIGhwdAzhIFNbpu4zcuID8UqIxJ+ElCKlBjUEVz7mhtKpWb/KV9iM5mjkd7997OGdmMfHsvxV9SANs76IN8yUnSsD4Zp4Q5oJ3kiUYYzu2pjrnpeRDZVa3Zo5LiqtgFO6e9lpjgy9DQ0jX65hVpfxCnW106QzvjY3r0N2cH2uhkfFED6GypnKUKx/CyVe+/NnjaBWKtbtfIxUr9v4ex18DTU4l5YivIa0WUgRURvV5U8PPYUuX1iN8jZMy9D+m383lbGINxLBLUuv0NQUxXqKbk8fPqpCl9SddrY148jJ0wSkJdWCofP3jU8leC9KCFKDkrENVdV8BeVxpXdQN3WjM95Wufuxh1+GM9jC8Ndcf02aq0/PJO69/pobPui1aS4hwUSckh4Q2QaSLuYJ3txS06kaohqqWEdSTRmkIjdoYmJa7ZkrvC04np1VxmOS5Co4NGvko3AR8j3TmgT4bAmAYZpzhJkKGJZXEE8hf4gUIT/7WdfmSDdN1ZaKF5N/y9i4fIjye97AnTPHMKqX4XU4/7w8mmmFI6vizFRV7/J7pQK+wJDY2damGrKXdHfgt49uw4uu2IzJ6QS62ttw4NhJNEXD6v0JyyqpbYpKdYzfk2kFdabQ8kNdI9fj8fPt25YMTo7mMM8PP/yreJCbrrvpvKnxkb8VjsPBLCXMLKNZCKGSVYMhzlq60j1KCTUUeyiLLvghz5smN3mGj71S2i81yvfUYY47KbXPFNQgFyG5pH5TeArJQKqmJczJ/hOBzFQ1IjYVy1XmZJPWTZmxbrcKfUTQU30sDqvmVL7Pr0UHSjbKWN7cib/f9Qf4At45ncYyQHk9i8SzeoSVkcIqN5ARUjECUemP8VN1rZAbOTkwjIvWryNjepo4pAt7Dx9Xg2N89C5ZmS2mtJlZxOhdNZtDiY3ESsaalt6nfrfz0S9jHnuOZ6+/ykBe/6pbdhSL5eBQ/1EtlUwy/cuq05YiBGhCGA1yV4VkVgddvtRzehR0N1X9Z6FcVB5AeABJDkMOt2p9OFmaRXPDwbSwhApDVVHSXC5enQZAeQZVzZwLBcbcORgCYjWlsyhf8qzXmAPGikuXYmbNwiuqsVvaG5iax90+fPHQI4gGQxbeUYSV1H5YBUoKfwAKWEoaq6mw2FBF1KFgUIXMBQSvj+zei572FqXBTE7PoJue5Eh/P1/DTnHSTxxSVW8jSZ6ntbVLUt56Z6zNNjs8fv5AbqaC56GB2N797ne3jPYPf/reP/5GCzLFbW1q4o1p5Y20YZiGUUkX8Ku2zXgF9YXVZgDtriAyJnEGU8c0jaPGm1ubY0f3l9N4oRHDaC2PFkNEd1Odei0eREBdTWZ0lUuq8Ef+rSahy5AWQIHGWt3yThK6anN1pupxQmNLxmBYZXxSrKRmqlYbSJXzapzl90b2I0JPoEKXnOcujVC6pt6feAw1jE6zCmDFWwnPI4VJUtsigFa8S1dzHPdte5ohp5OEYFHhjjgBrBiL6DMBPlbCq+q+45NjTa02an7R+0/tyeIsnUH3f3r9nxqIuai9+/4HHr2/85KLt2iCP9LZFE4NDpMWr+JVC9bim80X4ICN1DJFMOmf7fX4scEewWZ3Ky70tpKDoDzOHRwgl0EFBn8sjWOzESR2qSgWM1nMoqJJ3HepHlxjrkpZwKvUpgrp1KjU1HhKVdrXsAxHjEs1H0mJ4BxmUSMjG1ZqKQtvMnWeKeTQRsP+4cBeRLw+KwNSBexzQ1os3tWaqQ7F2sCalG1T1exq2jE9oniXID3m6ZFR9XiR/kv0GIr/sVklkjLkTnkg/rxQr2t9bQveedfTDz2Fc8Q45Po/Sa9sWy64IF6raRNLlq3E7qcexODEuJK55eSkZdEu/KvWh4cbU2hquFQqqwbVz6WhItIJYSSQ7EhyAqPVghLxpCrrSC2FLs2FRY4QYlQ4axTtCgxPmo1cAQ2sKRRTQ1jES5gNq2xAUy0KhhLhJJOW/l1pgpJ6ERkzKQuqRkXIOzcsACojJEaMMraQnLrmiR8qRlSYXlPqSwAVjnQlC1gVYipS2edArnxfiX1WI7k+9yFE3l4qun0LepUhFoUH4t8pXI14JMFBxEPGdSsvMP713l87MI+EuP/I9X/CgzQ2brr8vqnJaeOhP/5ST+XL6JahtbxJCYaQB/Rl2NncQNcYF9ijq+IeVeY3R7PLNpR/VrjzNzBmryBRNZhLYlIqwin591eS+FN1Uo2PXGkLYH2gC6aaQUq1c3yYWY5dFfQ2R2JUeU1VaFRXBUN1lfmIqCbV7VWZHVLSFN0tmEMVPcvsEJmxms6jQQ4klyuq2pIRer82f0gVJckUH8EssshiCIY1YJupMlQ9q81mZThShiAsr00qzkTZ5XuU8ZwSBuXvlRZRVZykzyElPrdomPr1yy96AQ1kXuks/5HrP+pBtNfe/NrlIU/w8C9+eYca5Nocb1ZrX2GYec+Szbii4caJmQnu9qja0qogx+G0+GPdWiwr4zdVTUh1bpdJOBhMT2Pf2LA6NTJZKmLGKGLSLCLAJ6zztaGjfQGqDDfV9AyqFO00hqhYaxsiTo/iWkSGF7q9Ru7DXdcUMWWo/nhroIxc0ipJvR1JBqQ2fxghygKxnm78YfQEfnRqF7oDQUGxMOYOF3x2CrKMhnhWZ9L+rCSrBNsao81rZjal/g5J9yWkyLx21b8rBzA73cYnr3tD/+tv/1QfzjHvIdd/GIO8/IabvvntO766wsPdEo22wbpBdmR5Uz/jWoJT3jpadUr7Dssdy9QemXosvbVSXqi77Wpkgxzi5/b5mGIGEaBMHmJ6vKijC+sW9KmZHU6C3U4C2w7dB7/hIIAt4ERyCAbT405mAqH2LlUElB+bwvjsjMpuPGRwfTQgP1/7qJlB2HQpj2DOja0WcWwoP4tgNKoat0UnkaFyYwMDWBiI4e+ufAU+t/N+RBRLC1Uxb84RZ/K5oRhQayivpLkqxOjWnHUR41RthxighDu+vsxuN0SRJkp7/cbr9LZKZeWdR56RqcjnlHHI9R82EK3R+FpydsIXCjfPFd3oSoxz8ybdGliA3bkJBO0uizGFFc9VeijPFapddqLD4iTsLocyIKtD36lOfLQTxyxdsBjtgQgqep2sZUxR2p38d5s3rHb30NQw8kyro14aRFOzAsGSJcwkxjEym5COWHqmojpEMOT1q7bMfK2sZqS3SnWbnCQldSE+ciIyzilISpzq7IkTJ/CFF96CL+x5BGHp7tMwR+dbhiGXNdDX0pVEZxJvIVmTEITqIEKVmVkFU/KepAzy0q6V5ic2vPg7G7/99z/DOWgccv2HDcSpaZ/zUFwSL6DEMHqJIvWWS4JtWECAOEEpXNftf2Y9rVYizaLFJbYY1rlrqmWyYRFflqppql0uSq8on6KIRim9p4oFRbnbVGWYAyGXByGGFFFZx6dHUcgk4QvGEPYEVZmhKxBiBCmjRPVVq/E3U+tJ5bPw8r35NSczCmZAAReaPQHYi9aEZTl+NBom09moMBMbxFsvuAI/ObkXARqJOac6a3OhxGJ11Xf/zOjmCgUrY5r7mZrFTiuSA5FXRruMr1/3Hr35c6/bgHlOp//vrv8PdoOna4aDnqkAAAAASUVORK5CYII=";
10052
- function Td() {
10053
- const { t: n } = ht(), {
10086
+ function Rd() {
10087
+ const { t: n } = pt(), {
10054
10088
  open: e,
10055
10089
  isChromeVisible: t,
10056
10090
  api: r,
@@ -10058,8 +10092,8 @@ function Td() {
10058
10092
  loadingProgress: a,
10059
10093
  isAvatarCoveredByChatList: s,
10060
10094
  assistantRef: o
10061
- } = jn(), c = ye(), d = mn(c.pathname) && s, u = J(null), f = J(null), h = J(null), w = e && t && !d, p = J(w);
10062
- return p.current = w, q(() => {
10095
+ } = jn(), c = ye(), d = bn(c.pathname) && s, u = J(null), f = J(null), h = J(null), w = e && t && !d, p = J(w);
10096
+ return p.current = w, _(() => {
10063
10097
  const b = u.current, A = f.current;
10064
10098
  if (!b || !A) return;
10065
10099
  let C = !1;
@@ -10079,7 +10113,7 @@ function Td() {
10079
10113
  });
10080
10114
  let y = null;
10081
10115
  const P = r.onAvatarLoadStarted();
10082
- return import("./Avatar-CXBRZKvb.js").then(({ Avatar: F }) => {
10116
+ return import("./Avatar-C3jiPjI_.js").then(({ Avatar: F }) => {
10083
10117
  if (C) return;
10084
10118
  const D = {
10085
10119
  ...r,
@@ -10098,14 +10132,14 @@ function Td() {
10098
10132
  new Error("Avatar was unmounted before animation playback")
10099
10133
  )), N !== null && window.clearTimeout(N), x.disconnect();
10100
10134
  };
10101
- }, [r, o, i]), q(() => {
10135
+ }, [r, o, i]), _(() => {
10102
10136
  const b = () => {
10103
10137
  o.current?.setRenderingEnabled(
10104
10138
  w && document.visibilityState !== "hidden"
10105
10139
  );
10106
10140
  };
10107
10141
  return b(), document.addEventListener("visibilitychange", b), () => document.removeEventListener("visibilitychange", b);
10108
- }, [o, w]), q(() => we.subscribe((b) => {
10142
+ }, [o, w]), _(() => we.subscribe((b) => {
10109
10143
  h.current = b, o.current?.applyLipSyncSnapshot(b);
10110
10144
  }), [o]), /* @__PURE__ */ Ne("div", { className: "pointer-events-none absolute inset-0 z-0", children: [
10111
10145
  /* @__PURE__ */ U("div", { className: "absolute inset-0 bg-black/8" }),
@@ -10140,12 +10174,12 @@ function Td() {
10140
10174
  )
10141
10175
  ] });
10142
10176
  }
10143
- const Ed = ta(() => import("./ChatWidgetContent-zUHVNXLa.js")), tt = (n) => {
10177
+ const Md = ta(() => import("./ChatWidgetContent-CEsq_0Pe.js")), nt = (n) => {
10144
10178
  n.catch(
10145
10179
  (e) => console.warn("[ChatWidget] Message history recovery failed", e)
10146
10180
  );
10147
10181
  };
10148
- function Rd() {
10182
+ function Ld() {
10149
10183
  const {
10150
10184
  open: n,
10151
10185
  setOpen: e,
@@ -10156,39 +10190,39 @@ function Rd() {
10156
10190
  api: s,
10157
10191
  isChromeVisible: o,
10158
10192
  loadingProgress: c
10159
- } = jn(), { anycableService: l } = ic(), d = qt(), u = ye(), f = Vo(), h = wi(), w = fd(
10193
+ } = jn(), { anycableService: l } = ic(), d = qt(), u = ye(), f = Vo(), h = wi(), w = bd(
10160
10194
  f
10161
10195
  )?.inputRequestId, p = J(void 0), b = J(h), { initMessageStore: A, recoverMessages: C, updateConfig: S } = Do(), N = J({
10162
10196
  accessToken: a.customerInteractionSession.accessToken,
10163
10197
  interactionSessionId: a.customerInteractionSession.interactionSessionId
10164
10198
  });
10165
- return q(() => {
10166
- tt(A(a, s));
10167
- }, []), q(() => {
10199
+ return _(() => {
10200
+ nt(A(a, s));
10201
+ }, []), _(() => {
10168
10202
  const x = N.current, y = a.customerInteractionSession;
10169
10203
  if (N.current = {
10170
10204
  accessToken: y.accessToken,
10171
10205
  interactionSessionId: y.interactionSessionId
10172
10206
  }, x.interactionSessionId !== y.interactionSessionId) {
10173
- tt(A(a, s));
10207
+ nt(A(a, s));
10174
10208
  return;
10175
10209
  }
10176
- S(a, s), x.accessToken !== y.accessToken && tt(C());
10177
- }, [a, s, A, C, S]), q(() => {
10210
+ S(a, s), x.accessToken !== y.accessToken && nt(C());
10211
+ }, [a, s, A, C, S]), _(() => {
10178
10212
  !w || p.current === w || (p.current = w, d(de.text));
10179
- }, [d, w]), q(() => {
10213
+ }, [d, w]), _(() => {
10180
10214
  !h || b.current === h || (b.current = h, sc(u.pathname) && d(de.text));
10181
- }, [h, u.pathname, d]), q(() => {
10215
+ }, [h, u.pathname, d]), _(() => {
10182
10216
  if (!l?.channels.chat) return;
10183
10217
  const x = l.channels.chat.on(
10184
10218
  "connect",
10185
10219
  (P) => {
10186
- (P.reconnect || P.restored) && tt(C());
10220
+ (P.reconnect || P.restored) && nt(C());
10187
10221
  }
10188
10222
  ), y = l.channels.chat.on(
10189
10223
  "info",
10190
10224
  (P) => {
10191
- P.type === "reject_history" && tt(C());
10225
+ P.type === "reject_history" && nt(C());
10192
10226
  }
10193
10227
  );
10194
10228
  return () => {
@@ -10201,7 +10235,7 @@ function Rd() {
10201
10235
  "aria-hidden": !o,
10202
10236
  inert: o ? void 0 : !0,
10203
10237
  children: /* @__PURE__ */ Ne(
10204
- kd,
10238
+ Sd,
10205
10239
  {
10206
10240
  open: n,
10207
10241
  onOpenChange: e,
@@ -10210,23 +10244,23 @@ function Rd() {
10210
10244
  hideOpenButton: !!a.hideOpenButton,
10211
10245
  loadingProgress: c,
10212
10246
  launcherImageSrc: Ki,
10213
- unreadIndicator: /* @__PURE__ */ U(Sd, {}),
10247
+ unreadIndicator: /* @__PURE__ */ U(Ed, {}),
10214
10248
  children: [
10215
- /* @__PURE__ */ U(Td, {}),
10216
- r && /* @__PURE__ */ U(ea, { fallback: null, children: /* @__PURE__ */ U(Ed, {}) })
10249
+ /* @__PURE__ */ U(Rd, {}),
10250
+ r && /* @__PURE__ */ U(ea, { fallback: null, children: /* @__PURE__ */ U(Md, {}) })
10217
10251
  ]
10218
10252
  }
10219
10253
  )
10220
10254
  }
10221
10255
  );
10222
10256
  }
10223
- const Md = Ut(null), ln = {
10257
+ const Nd = Ht(null), dn = {
10224
10258
  didCatch: !1,
10225
10259
  error: null
10226
10260
  };
10227
- class Ld extends na {
10261
+ class Pd extends na {
10228
10262
  constructor(e) {
10229
- super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = ln;
10263
+ super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = dn;
10230
10264
  }
10231
10265
  static getDerivedStateFromError(e) {
10232
10266
  return { didCatch: !0, error: e };
@@ -10236,18 +10270,18 @@ class Ld extends na {
10236
10270
  t !== null && (this.props.onReset?.({
10237
10271
  args: e,
10238
10272
  reason: "imperative-api"
10239
- }), this.setState(ln));
10273
+ }), this.setState(dn));
10240
10274
  }
10241
10275
  componentDidCatch(e, t) {
10242
10276
  this.props.onError?.(e, t);
10243
10277
  }
10244
10278
  componentDidUpdate(e, t) {
10245
10279
  const { didCatch: r } = this.state, { resetKeys: i } = this.props;
10246
- r && t.error !== null && Nd(e.resetKeys, i) && (this.props.onReset?.({
10280
+ r && t.error !== null && Vd(e.resetKeys, i) && (this.props.onReset?.({
10247
10281
  next: i,
10248
10282
  prev: e.resetKeys,
10249
10283
  reason: "keys"
10250
- }), this.setState(ln));
10284
+ }), this.setState(dn));
10251
10285
  }
10252
10286
  render() {
10253
10287
  const { children: e, fallbackRender: t, FallbackComponent: r, fallback: i } = this.props, { didCatch: a, error: s } = this.state;
@@ -10267,7 +10301,7 @@ class Ld extends na {
10267
10301
  throw s;
10268
10302
  }
10269
10303
  return Qn(
10270
- Md.Provider,
10304
+ Nd.Provider,
10271
10305
  {
10272
10306
  value: {
10273
10307
  didCatch: a,
@@ -10279,31 +10313,31 @@ class Ld extends na {
10279
10313
  );
10280
10314
  }
10281
10315
  }
10282
- function Nd(n = [], e = []) {
10316
+ function Vd(n = [], e = []) {
10283
10317
  return n.length !== e.length || n.some((t, r) => !Object.is(t, e[r]));
10284
10318
  }
10285
- function Pd({
10319
+ function Od({
10286
10320
  children: n,
10287
10321
  locale: e
10288
10322
  }) {
10289
10323
  const t = ra(() => Xi(e), [e]);
10290
10324
  return /* @__PURE__ */ U(Zi.Provider, { value: t, children: n });
10291
10325
  }
10292
- function Vd({ reset: n }) {
10293
- const { t: e } = ht();
10326
+ function zd({ reset: n }) {
10327
+ const { t: e } = pt();
10294
10328
  return /* @__PURE__ */ U("button", { type: "button", onClick: n, children: e("app.restart") });
10295
10329
  }
10296
- function Od({ config: n, api: e }) {
10330
+ function Gd({ config: n, api: e }) {
10297
10331
  const [t, r] = Y(n), [i, a] = Y(n.locale);
10298
- return q(() => (e.registerSetSession((s) => {
10332
+ return _(() => (e.registerSetSession((s) => {
10299
10333
  r((o) => ({
10300
10334
  ...o,
10301
10335
  customerInteractionSession: s
10302
10336
  }));
10303
- }), () => e.registerSetSession(null)), [e]), q(() => (e.registerSetLocale(a), () => e.registerSetLocale(null)), [e]), /* @__PURE__ */ U(Pd, { locale: i, children: /* @__PURE__ */ U(
10304
- Ld,
10337
+ }), () => e.registerSetSession(null)), [e]), _(() => (e.registerSetLocale(a), () => e.registerSetLocale(null)), [e]), /* @__PURE__ */ U(Od, { locale: i, children: /* @__PURE__ */ U(
10338
+ Pd,
10305
10339
  {
10306
- fallbackRender: ({ resetErrorBoundary: s }) => /* @__PURE__ */ U(Vd, { reset: s }),
10340
+ fallbackRender: ({ resetErrorBoundary: s }) => /* @__PURE__ */ U(zd, { reset: s }),
10307
10341
  onError: (s, o) => {
10308
10342
  z.error("Widget render failed", s, o.componentStack);
10309
10343
  },
@@ -10313,62 +10347,62 @@ function Od({ config: n, api: e }) {
10313
10347
  config: t,
10314
10348
  commandRuntime: e.commandRuntime,
10315
10349
  onSessionExpired: e.onSessionExpired,
10316
- children: /* @__PURE__ */ U($a, { children: /* @__PURE__ */ U(hd, { config: t, api: e, children: /* @__PURE__ */ U(Rd, {}) }) })
10350
+ children: /* @__PURE__ */ U($a, { children: /* @__PURE__ */ U(gd, { config: t, api: e, children: /* @__PURE__ */ U(Ld, {}) }) })
10317
10351
  }
10318
10352
  )
10319
10353
  }
10320
10354
  ) });
10321
10355
  }
10322
- function zd(n, e, t) {
10356
+ function Fd(n, e, t) {
10323
10357
  const r = ia(n);
10324
- return r.render(/* @__PURE__ */ U(Od, { config: { ...e }, api: t })), r;
10358
+ return r.render(/* @__PURE__ */ U(Gd, { config: { ...e }, api: t })), r;
10325
10359
  }
10326
- const Gd = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-200:oklch(89.4% .057 293.283);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.bridge-ai-chat-widget [class~=text-start]{text-align:left;text-align:start}.bridge-ai-chat-widget[dir=rtl] [class~=text-start]{text-align:right;text-align:start}.chat-message-row[data-author=agent]>.message,.message[data-author=agent],.chat-message-skeleton-bubble.self-start{border-bottom-left-radius:5px}.chat-message-row[data-author=customer]>.message,.message[data-author=customer],.chat-message-skeleton-bubble.self-end{border-bottom-right-radius:5px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=agent]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-start{border-bottom-right-radius:5px;border-bottom-left-radius:17px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=customer]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-end{border-bottom-right-radius:17px;border-bottom-left-radius:5px}.message[data-author=agent]{margin-left:8px}.message[data-author=customer]{margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent]{margin-left:0;margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer]{margin-left:8px;margin-right:0}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{padding-left:20px;margin:6px 0;padding-inline-start:20px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content ul,.bridge-ai-chat-widget[dir=rtl] .chat-message-content ol{padding-left:0;padding-right:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;padding-left:9px;border-inline-start:2px solid #68d8ff7a;margin:6px 0;padding-inline-start:9px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content blockquote{border-left:0;border-right:2px solid #68d8ff7a;padding-left:0;padding-right:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;margin-inline-start:1px;font-size:.72em;line-height:0}.bridge-ai-chat-widget[dir=rtl] .chat-citation{margin-left:0;margin-right:1px}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;width:100%;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{width:var(--chat-talk-expanded-width);flex:none;transition:width .22s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true]{width:32px}.chat-unread-indicator{right:-2px}.bridge-ai-chat-widget[dir=rtl] .chat-unread-indicator{left:-2px;right:auto}.chat-talk-button__content{z-index:1;pointer-events:none;align-items:center;gap:8px;padding:0 12px;display:flex;position:absolute;inset:0}.chat-talk-button__label{opacity:1;flex:none;line-height:16px;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true] .chat-talk-button__content{justify-content:center;gap:0;padding:0}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;position:absolute;inset-inline-start:38px;transform:translate(-6px)}.bridge-ai-chat-widget[dir=rtl] .chat-talk-button[data-compact=true] .chat-talk-button__label{left:auto;right:38px;transform:translate(6px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{border-radius:9999px;padding:7px 12px;font-size:12px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-action{color:#fff;background:linear-gradient(135deg,#45c7ff,#288cff);box-shadow:0 8px 24px #288cff57,inset 0 1px #ffffff47}.chat-cta-action:hover{filter:brightness(1.12)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate3d(var(--chat-route-offset-x),0,0)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate3d(var(--chat-route-offset-x),0,0)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-pending-assistant-message{transform-origin:100% 100%}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__icon,.chat-talk-button__label{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-end-0\\.5{inset-inline-end:calc(var(--spacing)*-.5)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-5{top:calc(var(--spacing)*5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-51{z-index:51}.z-\\[9999999\\]{z-index:9999999}.\\!container{width:100%!important}@media(min-width:40rem){.\\!container{max-width:40rem!important}}@media(min-width:48rem){.\\!container{max-width:48rem!important}}@media(min-width:64rem){.\\!container{max-width:64rem!important}}@media(min-width:80rem){.\\!container{max-width:80rem!important}}@media(min-width:96rem){.\\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-14{width:calc(var(--spacing)*14)}.w-\\[42\\%\\]{width:42%}.w-\\[48\\%\\]{width:48%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[68\\%\\]{width:68%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[76\\%\\]{width:76%}.w-\\[78\\%\\]{width:78%}.w-\\[86\\%\\]{width:86%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-\\[3px\\]{gap:3px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-ee-\\[5px\\]{border-end-end-radius:5px}.rounded-es-\\[5px\\]{border-end-start-radius:5px}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/65{border-color:#68d8ffa6}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/16{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.border-white\\/16{border-color:color-mix(in oklab,var(--color-white)16%,transparent)}}.border-white\\/\\[0\\.05\\]{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.05\\]{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/12{background-color:#68d8ff1f}.bg-\\[\\#68d8ff\\]\\/\\[0\\.1\\]{background-color:#68d8ff1a}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/28{background-color:#00000047}@supports (color:color-mix(in lab,red,red)){.bg-black\\/28{background-color:color-mix(in oklab,var(--color-black)28%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-current{background-color:currentColor}.bg-transparent{background-color:#0000}.bg-white\\/\\[0\\.04\\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-white)4%,transparent)}}.bg-white\\/\\[0\\.06\\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-white\\/\\[0\\.07\\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.bg-white\\/\\[0\\.09\\]{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.09\\]{background-color:color-mix(in oklab,var(--color-white)9%,transparent)}}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-white\\/\\[0\\.035\\]{background-color:#ffffff09}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.035\\]{background-color:color-mix(in oklab,var(--color-white)3.5%,transparent)}}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-start{text-align:start}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-red-200{color:var(--color-red-200)}.text-violet-200{color:var(--color-violet-200)}.text-white{color:var(--color-white)}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.\\[overflow-anchor\\:none\\]{overflow-anchor:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:border-\\[\\#68d8ff\\]\\/30:hover{border-color:#68d8ff4d}.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.hover\\:text-white\\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/90:hover{color:color-mix(in oklab,var(--color-white)90%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-disabled\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\\:opacity-45[data-disabled]{opacity:.45}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-hover\\:border-\\[\\#68d8ff\\]\\/55[data-hover]{border-color:#68d8ff8c}.data-hover\\:bg-white\\/10[data-hover]{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/10[data-hover]{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-talk-expanded-width:80px;--chat-route-offset-x:100%;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget[dir=rtl]{--chat-route-offset-x:-100%}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}';
10327
- var Fd = typeof global == "object" && global && global.Object === Object && global, Dd = typeof self == "object" && self && self.Object === Object && self, Yi = Fd || Dd || Function("return this")(), Zt = Yi.Symbol, Ji = Object.prototype, Bd = Ji.hasOwnProperty, Wd = Ji.toString, nt = Zt ? Zt.toStringTag : void 0;
10328
- function Xd(n) {
10329
- var e = Bd.call(n, nt), t = n[nt];
10360
+ const Dd = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-200:oklch(89.4% .057 293.283);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-preview{border-style:var(--tw-border-style);border-width:5px;border-color:var(--color-blue-500);border-radius:3.40282e38px}.message{background:var(--chat-surface-agent);max-width:100%;color:var(--chat-text-primary);border:0;border-radius:17px;padding:7px 11px;font-size:14px;font-weight:400;line-height:20px;box-shadow:0 6px 18px #00000029}.chat-message-row[data-author=customer]>.message,.message[data-author=customer]{background:var(--chat-surface-customer)}.bridge-ai-chat-widget [class~=text-start]{text-align:left;text-align:start}.bridge-ai-chat-widget[dir=rtl] [class~=text-start]{text-align:right;text-align:start}.chat-message-row[data-author=agent]>.message,.message[data-author=agent],.chat-message-skeleton-bubble.self-start{border-bottom-left-radius:5px}.chat-message-row[data-author=customer]>.message,.message[data-author=customer],.chat-message-skeleton-bubble.self-end{border-bottom-right-radius:5px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=agent]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-start{border-bottom-right-radius:5px;border-bottom-left-radius:17px}.bridge-ai-chat-widget[dir=rtl] .chat-message-row[data-author=customer]>.message,.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer],.bridge-ai-chat-widget[dir=rtl] .chat-message-skeleton-bubble.self-end{border-bottom-right-radius:17px;border-bottom-left-radius:5px}.message[data-author=agent]{margin-left:8px}.message[data-author=customer]{margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=agent]{margin-left:0;margin-right:8px}.bridge-ai-chat-widget[dir=rtl] .message[data-author=customer]{margin-left:8px;margin-right:0}.chat-message-row[data-author=agent]+.chat-message-row[data-author=agent],.chat-message-row[data-author=customer]+.chat-message-row[data-author=customer]{margin-top:-4px}.chat-message-content p+p{margin-top:8px}.chat-message-content strong{font-weight:650}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:8px 0 4px;font-weight:650;line-height:1.3}.chat-message-content h1,.chat-message-content h2{font-size:1.12em}.chat-message-content ul,.chat-message-content ol{padding-left:20px;margin:6px 0;padding-inline-start:20px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content ul,.bridge-ai-chat-widget[dir=rtl] .chat-message-content ol{padding-left:0;padding-right:20px}.chat-message-content ul{list-style:outside}.chat-message-content ol{list-style:decimal}.chat-message-content blockquote{color:#f3f0f4c2;border-left:2px solid #68d8ff7a;padding-left:9px;border-inline-start:2px solid #68d8ff7a;margin:6px 0;padding-inline-start:9px}.bridge-ai-chat-widget[dir=rtl] .chat-message-content blockquote{border-left:0;border-right:2px solid #68d8ff7a;padding-left:0;padding-right:9px}.chat-message-content code{background:#ffffff17;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.chat-message-content pre{background:#0003;border:1px solid #ffffff14;border-radius:8px;max-width:100%;margin:7px 0;padding:8px;overflow-x:auto}.chat-message-content pre code{background:0 0;padding:0}.chat-message-link{color:var(--chat-accent-cyan);text-underline-offset:2px;-webkit-text-decoration:underline #68d8ff61;text-decoration:underline #68d8ff61}.chat-message-link:hover{text-decoration-color:currentColor}.chat-message-link:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px;border-radius:2px}.chat-citation{vertical-align:super;margin-left:1px;margin-inline-start:1px;font-size:.72em;line-height:0}.bridge-ai-chat-widget[dir=rtl] .chat-citation{margin-left:0;margin-right:1px}.chat-citation .chat-message-link{text-decoration:none}.chat-icon-button{color:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f157a;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-icon-button:hover{color:var(--chat-accent-cyan);background:#141921c7;border-color:#68d8ff57}.chat-icon-button:active{transform:scale(.96)}.chat-icon-button:focus-visible,.chat-launcher:focus-visible,.chat-composer-button:focus-visible,.chat-send-button:focus-visible,.chat-microphone-button:focus-visible{outline:2px solid var(--chat-accent-cyan);outline-offset:2px}[data-lola-widget-shell]{backface-visibility:hidden;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 100%;transition:visibility 0s linear .2s,opacity .13s ease-in,transform .2s cubic-bezier(.4,0,.7,.2);transform:translateY(10px)scale(.985);box-shadow:0 24px 64px #00000052,0 8px 24px #0003}[data-lola-widget-shell][data-state=open]{visibility:visible;opacity:1;pointer-events:auto;transition:visibility,opacity .15s ease-out,transform .28s cubic-bezier(.16,1,.3,1);transition-timing-function:linear,ease-out,var(--chat-route-enter-easing);transform:translate(0)scale(1)}[data-lola-widget-shell][data-layout=fullscreen]{width:100vw;height:100vh}@supports (width:100dvw) and (height:100dvh){[data-lola-widget-shell][data-layout=fullscreen]{width:100dvw;height:100dvh}}[data-lola-widget-shell][data-layout=fullscreen] .chat-widget-panel{padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}.chat-widget-panel{transform:translateZ(0)}.chat-launcher{visibility:visible;opacity:1;transition:visibility,opacity .14s ease-out,transform .18s ease-out;transform:translateZ(0)scale(1)}.chat-launcher[aria-expanded=true]{visibility:hidden;opacity:0;pointer-events:none;transition:visibility 0s linear .16s,opacity .12s ease-in,transform .16s ease-in;transform:translateZ(0)scale(.88)}.chat-launcher{color:#fff;cursor:grab;isolation:isolate;touch-action:none;background:#090f16e0;border:0;border-radius:9999px;place-items:center;padding:3px;display:grid}.chat-launcher:active{cursor:grabbing}.chat-launcher__portrait{z-index:2;border:3px solid var(--chat-accent-cyan);background:radial-gradient(circle at 50% 35%,#3d4c5d,#0c1219 72%);border-radius:9999px;width:46px;height:46px;animation:2.8s ease-in-out infinite lola-launcher-breathe;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d,0 0 13px #68d8ffa3,0 0 30px #45bdff42}.chat-launcher__portrait img{object-fit:cover;object-position:50% 20%;-webkit-user-select:none;user-select:none;width:100%;height:100%;transform:scale(1.22)translateY(6%)}.chat-launcher__aura{z-index:1;filter:blur(7px);opacity:.7;background:conic-gradient(from 45deg,#68d8ff47,#775cff14,#68d8ff5c,#775cff14,#68d8ff47);border:1px solid #68d8ff61;border-radius:9999px;animation:3.6s ease-in-out infinite lola-launcher-aura;position:absolute;inset:-7px}.chat-widget-resize-corner:after{content:"";border-top:2px solid #68d8ffc2;border-left:2px solid #68d8ffc2;border-radius:3px 0 0;width:8px;height:8px;position:absolute;top:5px;left:5px}.bridge-ai-chat-widget[data-mobile=true] .chat-icon-button{width:48px;height:48px}@keyframes lola-launcher-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes lola-launcher-aura{0%,to{opacity:.48;transform:scale(.94)rotate(0)}50%{opacity:.82;transform:scale(1.08)rotate(18deg)}}.chat-composer{background:linear-gradient(145deg,#1d142af0,#0a0f16f5);border:0;border-radius:22px;min-height:42px;box-shadow:0 12px 34px #0000004d,0 0 0 1px #b564ff29,inset 0 1px #ffffff12}.chat-composer:focus-within{box-shadow:0 12px 34px #0000004d,0 0 0 1px #68d8ff57,0 0 24px #68d8ff14,inset 0 1px #ffffff14}.chat-composer-button{background:var(--chat-surface-customer);border-radius:15px;box-shadow:0 4px 14px #00000024}.chat-composer-button:hover{background:#684b6c}.chat-talk-button{width:var(--chat-talk-expanded-width);flex:none;transition:width .22s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true]{width:32px}.chat-unread-indicator{right:-2px}.bridge-ai-chat-widget[dir=rtl] .chat-unread-indicator{left:-2px;right:auto}.chat-talk-button__content{z-index:1;pointer-events:none;align-items:center;gap:8px;padding:0 12px;display:flex;position:absolute;inset:0}.chat-talk-button__label{opacity:1;flex:none;line-height:16px;transition:opacity 90ms ease-out,transform .18s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.chat-talk-button[data-compact=true] .chat-talk-button__content{justify-content:center;gap:0;padding:0}.chat-talk-button[data-compact=true] .chat-talk-button__label{opacity:0;position:absolute;inset-inline-start:38px;transform:translate(-6px)}.bridge-ai-chat-widget[dir=rtl] .chat-talk-button[data-compact=true] .chat-talk-button__label{left:auto;right:38px;transform:translate(6px)}.chat-send-button{background:var(--chat-accent-lime);color:#081207;border-radius:9999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;transition:filter .16s,transform .16s,opacity .16s;display:flex;box-shadow:0 6px 18px #d7ff6438}.chat-send-button:hover:not(:disabled){filter:brightness(1.08)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{box-shadow:none;color:#ffffff3d;background:#ffffff13}.chat-cta-primary,.chat-cta-secondary{border-radius:9999px;padding:7px 12px;font-size:12px;font-weight:600;line-height:16px;transition:background-color .16s,border-color .16s,transform .16s}.chat-cta-primary{background:var(--chat-accent-lime);color:#081207;border:0;box-shadow:0 6px 18px #d7ff642e}.chat-cta-primary:hover{filter:brightness(1.07)}.chat-cta-action{color:#fff;background:linear-gradient(135deg,#45c7ff,#288cff);box-shadow:0 8px 24px #288cff57,inset 0 1px #ffffff47}.chat-cta-action:hover{filter:brightness(1.12)}.chat-cta-secondary{color:#ffffffb8;background:#fff1;border:1px solid #ffffff1f}.chat-cta-secondary:hover{background:#68d8ff14;border-color:#68d8ff47}.chat-voice-card{-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#0d1016c7;border:1px solid #ffffff1c;border-radius:20px;box-shadow:0 12px 36px #0000003d}.chat-microphone-button{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1016a6;border:1px solid #ffffff21;border-radius:9999px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .16s,border-color .16s,background-color .16s;display:flex;position:relative;box-shadow:0 12px 32px #0000003d,inset 0 1px #ffffff0f}.chat-microphone-button:hover{border-color:#68d8ff6b;transform:translateY(-1px)}.chat-microphone-button_active{background:#68d8ff2e;border-color:#68d8ff75;box-shadow:0 12px 32px #0000003d,0 0 0 6px #68d8ff0f}.chat-list-surface{background:radial-gradient(circle at 92% 0,#68d8ff1a,#0000 26%),radial-gradient(circle at 8% 0,#ef6b7f1a,#0000 28%),#0d1016;box-shadow:inset 0 1px #ffffff0d}.chat-list-item_selected{background:linear-gradient(100deg,#70265757,#14475e47);box-shadow:inset 0 1px #ffffff0d}.chat-list-entry{content-visibility:auto;contain-intrinsic-block-size:64px}.chat-route-stage{border-radius:inherit;isolation:isolate;overflow:hidden}.chat-route-page{border-radius:inherit;height:100%;position:absolute;inset:0;overflow:hidden}.chat-route-page_background{z-index:1}.chat-route-pane{z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}.chat-route-pane_exit{pointer-events:none}.chat-route-pane .chat-list-entry{content-visibility:visible}.chat-route-pane_enter.chat-route-pane_forward{animation:.3s cubic-bezier(.16,1,.3,1) both chat-route-forward-enter;animation-timing-function:var(--chat-route-enter-easing)}.chat-route-pane_exit.chat-route-pane_backward{animation:.24s cubic-bezier(.4,0,.7,.2) both chat-route-backward-exit}@keyframes chat-route-forward-enter{0%{opacity:.88;transform:translate3d(var(--chat-route-offset-x),0,0)}to{opacity:1;transform:translate(0)}}@keyframes chat-route-backward-exit{0%{opacity:1;transform:translate(0)}to{opacity:.94;transform:translate3d(var(--chat-route-offset-x),0,0)}}.chat-message-skeleton{justify-content:flex-end;min-height:min(420px,62vh)}.chat-message-skeleton-bubble{animation:1.2s ease-in-out infinite alternate chat-message-skeleton-pulse;animation-delay:var(--chat-skeleton-delay);will-change:opacity;position:relative;overflow:hidden}.chat-message-skeleton-bubble:after{content:"";pointer-events:none;animation:1.45s cubic-bezier(.4,0,.2,1) infinite chat-message-skeleton-shimmer;animation-delay:var(--chat-skeleton-delay);will-change:transform;background:linear-gradient(105deg,#0000 24%,#ffffff16,#0000 72%);position:absolute;inset:-1px;transform:translate(-125%)}.chat-avatar-ring{background:linear-gradient(145deg,var(--chat-accent-cherry),var(--chat-accent-cyan));border-radius:9999px;padding:1px;display:inline-flex;box-shadow:0 4px 14px #0003}.chat-scrollbar{overscroll-behavior:contain;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-y}.chat-scrollbar:hover{scrollbar-color:#ffffff38 transparent}.chat-scrollbar::-webkit-scrollbar{width:4px;height:4px}.chat-scrollbar::-webkit-scrollbar-track{background:0 0}.chat-scrollbar::-webkit-scrollbar-thumb{background:0 0;border-radius:9999px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:#ffffff38}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.chat-pending-assistant-message{transform-origin:0 100%;animation:.22s cubic-bezier(.22,1,.36,1) both chat-pending-assistant-message-in}.bridge-ai-chat-widget[dir=rtl] .chat-pending-assistant-message{transform-origin:100% 100%}.chat-typing-indicator{align-items:center;gap:5px;display:flex}.chat-typing-indicator__dot{background-color:var(--chat-accent-cyan);opacity:.38;border-radius:50%;width:7px;height:7px;animation:1.2s cubic-bezier(.45,0,.55,1) infinite both chat-typing-dot;transform:translateY(0)scale(.82)}.chat-typing-indicator__dot_left{animation-delay:0s}.chat-typing-indicator__dot_center{animation-delay:.14s}.chat-typing-indicator__dot_right{animation-delay:.28s}.chat-stream-fragment{animation:.12s cubic-bezier(.22,1,.36,1) both chat-stream-fragment-in}@keyframes chat-stream-fragment-in{0%{opacity:.15}to{opacity:1}}@keyframes chat-message-skeleton-pulse{0%{opacity:.58}to{opacity:1}}@keyframes chat-message-skeleton-shimmer{to{transform:translate(125%)}}@media(prefers-reduced-motion:reduce){[data-lola-widget-shell],.chat-widget-panel,.chat-launcher,.chat-talk-button,.chat-talk-button__icon,.chat-talk-button__label{transition:none}.chat-launcher__portrait,.chat-launcher__aura,.chat-pending-assistant-message,.chat-typing-indicator__dot{animation:none}.chat-route-pane{animation-duration:1ms!important}.chat-typing-indicator__dot{opacity:.72;transform:none}.chat-stream-fragment{animation:none}.chat-message-skeleton-bubble{opacity:.82;will-change:auto;animation:none}.chat-message-skeleton-bubble:after{will-change:auto;animation:none;display:none}}@keyframes chat-pending-assistant-message-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes chat-typing-dot{0%,60%,to{opacity:.38;transform:translateY(0)scale(.82)}30%{opacity:1;transform:translateY(-3px)scale(1.05)}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-end-0\\.5{inset-inline-end:calc(var(--spacing)*-.5)}.-top-0\\.5{top:calc(var(--spacing)*-.5)}.top-0{top:calc(var(--spacing)*0)}.top-5{top:calc(var(--spacing)*5)}.right-0{right:calc(var(--spacing)*0)}.right-5{right:calc(var(--spacing)*5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-5{bottom:calc(var(--spacing)*5)}.left-0{left:calc(var(--spacing)*0)}.left-5{left:calc(var(--spacing)*5)}.z-0{z-index:0}.z-1{z-index:1}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-51{z-index:51}.z-\\[9999999\\]{z-index:9999999}.\\!container{width:100%!important}@media(min-width:40rem){.\\!container{max-width:40rem!important}}@media(min-width:48rem){.\\!container{max-width:48rem!important}}@media(min-width:64rem){.\\!container{max-width:64rem!important}}@media(min-width:80rem){.\\!container{max-width:80rem!important}}@media(min-width:96rem){.\\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-content{box-sizing:content-box}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-14{width:calc(var(--spacing)*14)}.w-\\[42\\%\\]{width:42%}.w-\\[48\\%\\]{width:48%}.w-\\[52\\%\\]{width:52%}.w-\\[56\\%\\]{width:56%}.w-\\[58\\%\\]{width:58%}.w-\\[62\\%\\]{width:62%}.w-\\[64\\%\\]{width:64%}.w-\\[66\\%\\]{width:66%}.w-\\[68\\%\\]{width:68%}.w-\\[70\\%\\]{width:70%}.w-\\[72\\%\\]{width:72%}.w-\\[74\\%\\]{width:74%}.w-\\[76\\%\\]{width:76%}.w-\\[78\\%\\]{width:78%}.w-\\[86\\%\\]{width:86%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-8{max-width:calc(var(--spacing)*8)}.max-w-70{max-width:calc(var(--spacing)*70)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-\\[86\\%\\]{max-width:86%}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\\.5{--tw-translate-y:calc(var(--spacing)*1.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-n-resize{cursor:n-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-w-resize{cursor:w-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-\\[3px\\]{gap:3px}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\\[17px\\]{border-radius:17px}.rounded-\\[24px\\]{border-radius:24px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-ee-\\[5px\\]{border-end-end-radius:5px}.rounded-es-\\[5px\\]{border-end-start-radius:5px}.rounded-br-\\[5px\\]{border-bottom-right-radius:5px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#68d8ff\\]\\/10{border-color:#68d8ff1a}.border-\\[\\#68d8ff\\]\\/65{border-color:#68d8ffa6}.border-white\\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/16{border-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.border-white\\/16{border-color:color-mix(in oklab,var(--color-white)16%,transparent)}}.border-white\\/\\[0\\.05\\]{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.05\\]{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\\/\\[0\\.06\\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-\\[\\#5b405f\\]\\/70{background-color:#5b405fb3}.bg-\\[\\#68d8ff\\]{background-color:#68d8ff}.bg-\\[\\#68d8ff\\]\\/12{background-color:#68d8ff1f}.bg-\\[\\#68d8ff\\]\\/\\[0\\.1\\]{background-color:#68d8ff1a}.bg-\\[\\#68d8ff\\]\\/\\[0\\.13\\]{background-color:#68d8ff21}.bg-\\[\\#090b10\\]\\/58{background-color:#090b1094}.bg-\\[\\#17131b\\]{background-color:#17131b}.bg-\\[\\#111319\\]{background-color:#111319}.bg-\\[\\#ef6b7f\\]{background-color:#ef6b7f}.bg-\\[var\\(--chat-surface-agent\\)\\]{background-color:var(--chat-surface-agent)}.bg-black{background-color:var(--color-black)}.bg-black\\/8{background-color:#00000014}@supports (color:color-mix(in lab,red,red)){.bg-black\\/8{background-color:color-mix(in oklab,var(--color-black)8%,transparent)}}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/28{background-color:#00000047}@supports (color:color-mix(in lab,red,red)){.bg-black\\/28{background-color:color-mix(in oklab,var(--color-black)28%,transparent)}}.bg-black\\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\\/35{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.bg-current{background-color:currentColor}.bg-transparent{background-color:#0000}.bg-white\\/\\[0\\.04\\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--color-white)4%,transparent)}}.bg-white\\/\\[0\\.06\\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.bg-white\\/\\[0\\.07\\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.bg-white\\/\\[0\\.09\\]{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.09\\]{background-color:color-mix(in oklab,var(--color-white)9%,transparent)}}.bg-white\\/\\[0\\.11\\]{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.11\\]{background-color:color-mix(in oklab,var(--color-white)11%,transparent)}}.bg-white\\/\\[0\\.035\\]{background-color:#ffffff09}@supports (color:color-mix(in lab,red,red)){.bg-white\\/\\[0\\.035\\]{background-color:color-mix(in oklab,var(--color-white)3.5%,transparent)}}.bg-\\[linear-gradient\\(to_bottom\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_0\\%\\,rgba\\(0\\,0\\,0\\,0\\.7\\)_20\\%\\,rgba\\(0\\,0\\,0\\,0\\.2\\)_60\\%\\,rgba\\(0\\,0\\,0\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#000000b3 0% 20%,#0003 60%,#0000)}.bg-\\[linear-gradient\\(to_top\\,rgba\\(8\\,10\\,15\\,0\\.78\\)_0\\%\\,rgba\\(8\\,10\\,15\\,0\\.42\\)_42\\%\\,rgba\\(8\\,10\\,15\\,0\\)_100\\%\\)\\]{background-image:linear-gradient(#080a0f00,#080a0f6b 58%,#080a0fc7)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-3{padding-top:calc(var(--spacing)*3)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-start{text-align:start}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\\[-0\\.005em\\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#68d8ff\\]{color:#68d8ff}.text-red-200{color:var(--color-red-200)}.text-violet-200{color:var(--color-violet-200)}.text-white{color:var(--color-white)}.text-white\\/42{color:#ffffff6b}@supports (color:color-mix(in lab,red,red)){.text-white\\/42{color:color-mix(in oklab,var(--color-white)42%,transparent)}}.text-white\\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-\\[\\#111319\\]{outline-color:#111319}.outline-black\\/9{outline-color:#00000017}@supports (color:color-mix(in lab,red,red)){.outline-black\\/9{outline-color:color-mix(in oklab,var(--color-black)9%,transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\!transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,transform\\]{transition-property:background-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-75{transition-delay:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.delay-75{--tw-animation-delay:75ms;animation-delay:75ms}.outline-none{--tw-outline-style:none;outline-style:none}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-none{-webkit-user-select:none;user-select:none}.\\[overflow-anchor\\:none\\]{overflow-anchor:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:hidden:is(:where(.group):hover *){display:none}.group-hover\\:opacity-70:is(:where(.group):hover *){opacity:.7}}.group-aria-\\[current\\=page\\]\\:opacity-100:is(:where(.group)[aria-current=page] *){opacity:1}.placeholder\\:text-white\\/38::placeholder{color:#ffffff61}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/38::placeholder{color:color-mix(in oklab,var(--color-white)38%,transparent)}}@media(hover:hover){.hover\\:border-\\[\\#68d8ff\\]\\/30:hover{border-color:#68d8ff4d}.hover\\:bg-white\\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/6:hover{background-color:color-mix(in oklab,var(--color-white)6%,transparent)}}.hover\\:text-white\\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/90:hover{color:color-mix(in oklab,var(--color-white)90%,transparent)}}}.active\\:scale-\\[0\\.992\\]:active{scale:.992}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-white\\/8:active{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.active\\:bg-white\\/8:active{background-color:color-mix(in oklab,var(--color-white)8%,transparent)}}.data-disabled\\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\\:opacity-45[data-disabled]{opacity:.45}.data-disabled\\:opacity-50[data-disabled]{opacity:.5}.data-hover\\:border-\\[\\#68d8ff\\]\\/55[data-hover]{border-color:#68d8ff8c}.data-hover\\:bg-white\\/10[data-hover]{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.data-hover\\:bg-white\\/10[data-hover]{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.motion-reduce\\:transition-none{transition-property:none}.motion-reduce\\:delay-0{--tw-animation-delay:0s;transition-delay:0s;animation-delay:0s}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.bridge-ai-chat-widget{--radius:.625rem;--chat-accent-cherry:#ef6b7f;--chat-accent-cyan:#68d8ff;--chat-accent-lime:#d7ff64;--chat-surface-agent:#1a191bd1;--chat-surface-customer:#5b405f;--chat-text-primary:#f3f0f4;--chat-talk-expanded-width:80px;--chat-route-offset-x:100%;--chat-route-enter-easing:linear(0,.062 5%,.192 10%,.338 15%,.477 20%,.596 25%,.694 30%,.771 35%,.831 40%,.877 45%,.911 50%,.937 55%,.955 60%,.969 65%,.979 70%,.986 75%,.991 80%,.994 85%,.997 90%,.999 95%,1);color-scheme:dark;font-synthesis:none;letter-spacing:-.006em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:InterVariable,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bridge-ai-chat-widget[dir=rtl]{--chat-route-offset-x:-100%}.bridge-ai-chat-widget button,.bridge-ai-chat-widget textarea{font-family:inherit}.bridge-ai-chat-widget :where(button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href]){cursor:pointer}.bridge-ai-chat-widget button:disabled{cursor:not-allowed}.bridge-ai-chat-widget .chat-launcher,.bridge-ai-chat-widget [data-lola-drag-handle]{cursor:grab}.bridge-ai-chat-widget .chat-launcher:active,.bridge-ai-chat-widget [data-lola-drag-handle]:active{cursor:grabbing}.bridge-ai-chat-widget [data-lola-resize=top]{cursor:n-resize}.bridge-ai-chat-widget [data-lola-resize=left]{cursor:w-resize}.bridge-ai-chat-widget [data-lola-resize=corner]{cursor:nwse-resize}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}';
10361
+ var Bd = typeof global == "object" && global && global.Object === Object && global, Wd = typeof self == "object" && self && self.Object === Object && self, Yi = Bd || Wd || Function("return this")(), Ut = Yi.Symbol, Ji = Object.prototype, Xd = Ji.hasOwnProperty, Zd = Ji.toString, rt = Ut ? Ut.toStringTag : void 0;
10362
+ function Ud(n) {
10363
+ var e = Xd.call(n, rt), t = n[rt];
10330
10364
  try {
10331
- n[nt] = void 0;
10365
+ n[rt] = void 0;
10332
10366
  var r = !0;
10333
10367
  } catch {
10334
10368
  }
10335
- var i = Wd.call(n);
10336
- return r && (e ? n[nt] = t : delete n[nt]), i;
10337
- }
10338
- var Zd = Object.prototype, Ud = Zd.toString;
10339
- function Hd(n) {
10340
- return Ud.call(n);
10369
+ var i = Zd.call(n);
10370
+ return r && (e ? n[rt] = t : delete n[rt]), i;
10341
10371
  }
10342
- var jd = "[object Null]", qd = "[object Undefined]", zr = Zt ? Zt.toStringTag : void 0;
10372
+ var Hd = Object.prototype, jd = Hd.toString;
10343
10373
  function _d(n) {
10344
- return n == null ? n === void 0 ? qd : jd : zr && zr in Object(n) ? Xd(n) : Hd(n);
10374
+ return jd.call(n);
10345
10375
  }
10346
- function Kd(n) {
10347
- return n != null && typeof n == "object";
10376
+ var qd = "[object Null]", Kd = "[object Undefined]", zr = Ut ? Ut.toStringTag : void 0;
10377
+ function Yd(n) {
10378
+ return n == null ? n === void 0 ? Kd : qd : zr && zr in Object(n) ? Ud(n) : _d(n);
10348
10379
  }
10349
- var Yd = "[object Symbol]";
10350
10380
  function Jd(n) {
10351
- return typeof n == "symbol" || Kd(n) && _d(n) == Yd;
10381
+ return n != null && typeof n == "object";
10352
10382
  }
10353
- var Qd = /\s/;
10383
+ var Qd = "[object Symbol]";
10354
10384
  function $d(n) {
10355
- for (var e = n.length; e-- && Qd.test(n.charAt(e)); )
10385
+ return typeof n == "symbol" || Jd(n) && Yd(n) == Qd;
10386
+ }
10387
+ var eu = /\s/;
10388
+ function tu(n) {
10389
+ for (var e = n.length; e-- && eu.test(n.charAt(e)); )
10356
10390
  ;
10357
10391
  return e;
10358
10392
  }
10359
- var eu = /^\s+/;
10360
- function tu(n) {
10361
- return n && n.slice(0, $d(n) + 1).replace(eu, "");
10393
+ var nu = /^\s+/;
10394
+ function ru(n) {
10395
+ return n && n.slice(0, tu(n) + 1).replace(nu, "");
10362
10396
  }
10363
10397
  function Sn(n) {
10364
10398
  var e = typeof n;
10365
10399
  return n != null && (e == "object" || e == "function");
10366
10400
  }
10367
- var Gr = NaN, nu = /^[-+]0x[0-9a-f]+$/i, ru = /^0b[01]+$/i, iu = /^0o[0-7]+$/i, au = parseInt;
10401
+ var Gr = NaN, iu = /^[-+]0x[0-9a-f]+$/i, au = /^0b[01]+$/i, su = /^0o[0-7]+$/i, ou = parseInt;
10368
10402
  function Fr(n) {
10369
10403
  if (typeof n == "number")
10370
10404
  return n;
10371
- if (Jd(n))
10405
+ if ($d(n))
10372
10406
  return Gr;
10373
10407
  if (Sn(n)) {
10374
10408
  var e = typeof n.valueOf == "function" ? n.valueOf() : n;
@@ -10376,18 +10410,18 @@ function Fr(n) {
10376
10410
  }
10377
10411
  if (typeof n != "string")
10378
10412
  return n === 0 ? n : +n;
10379
- n = tu(n);
10380
- var t = ru.test(n);
10381
- return t || iu.test(n) ? au(n.slice(2), t ? 2 : 8) : nu.test(n) ? Gr : +n;
10413
+ n = ru(n);
10414
+ var t = au.test(n);
10415
+ return t || su.test(n) ? ou(n.slice(2), t ? 2 : 8) : iu.test(n) ? Gr : +n;
10382
10416
  }
10383
- var dn = function() {
10417
+ var un = function() {
10384
10418
  return Yi.Date.now();
10385
- }, su = "Expected a function", ou = Math.max, cu = Math.min;
10386
- function lu(n, e, t) {
10419
+ }, cu = "Expected a function", lu = Math.max, du = Math.min;
10420
+ function uu(n, e, t) {
10387
10421
  var r, i, a, s, o, c, l = 0, d = !1, u = !1, f = !0;
10388
10422
  if (typeof n != "function")
10389
- throw new TypeError(su);
10390
- e = Fr(e) || 0, Sn(t) && (d = !0, u = "maxWait" in t, a = u ? ou(Fr(t.maxWait) || 0, e) : a, f = "trailing" in t ? !!t.trailing : f);
10423
+ throw new TypeError(cu);
10424
+ e = Fr(e) || 0, Sn(t) && (d = !0, u = "maxWait" in t, a = u ? lu(Fr(t.maxWait) || 0, e) : a, f = "trailing" in t ? !!t.trailing : f);
10391
10425
  function h(y) {
10392
10426
  var P = r, F = i;
10393
10427
  return r = i = void 0, l = y, s = n.apply(F, P), s;
@@ -10397,14 +10431,14 @@ function lu(n, e, t) {
10397
10431
  }
10398
10432
  function p(y) {
10399
10433
  var P = y - c, F = y - l, D = e - P;
10400
- return u ? cu(D, a - F) : D;
10434
+ return u ? du(D, a - F) : D;
10401
10435
  }
10402
10436
  function b(y) {
10403
10437
  var P = y - c, F = y - l;
10404
10438
  return c === void 0 || P >= e || P < 0 || u && F >= a;
10405
10439
  }
10406
10440
  function A() {
10407
- var y = dn();
10441
+ var y = un();
10408
10442
  if (b(y))
10409
10443
  return C(y);
10410
10444
  o = setTimeout(A, p(y));
@@ -10416,10 +10450,10 @@ function lu(n, e, t) {
10416
10450
  o !== void 0 && clearTimeout(o), l = 0, r = c = i = o = void 0;
10417
10451
  }
10418
10452
  function N() {
10419
- return o === void 0 ? s : C(dn());
10453
+ return o === void 0 ? s : C(un());
10420
10454
  }
10421
10455
  function x() {
10422
- var y = dn(), P = b(y);
10456
+ var y = un(), P = b(y);
10423
10457
  if (r = arguments, i = this, c = y, P) {
10424
10458
  if (o === void 0)
10425
10459
  return w(c);
@@ -10435,13 +10469,13 @@ class O extends Error {
10435
10469
  super(e, r), this.code = e, this.status = t;
10436
10470
  }
10437
10471
  }
10438
- const du = /^[a-zA-Z0-9_.:-]{1,200}$/, uu = /* @__PURE__ */ new Set([
10472
+ const hu = /^[a-zA-Z0-9_.:-]{1,200}$/, pu = /* @__PURE__ */ new Set([
10439
10473
  "button",
10440
10474
  "element",
10441
10475
  "modal",
10442
10476
  "page"
10443
10477
  ]);
10444
- class hu {
10478
+ class gu {
10445
10479
  targets = /* @__PURE__ */ new Map();
10446
10480
  handlers = {};
10447
10481
  constructor(e = {}, t = {}) {
@@ -10573,7 +10607,7 @@ class hu {
10573
10607
  });
10574
10608
  }
10575
10609
  assertLegacyTarget(e) {
10576
- if (!e || typeof e != "object" || !uu.has(e.kind))
10610
+ if (!e || typeof e != "object" || !pu.has(e.kind))
10577
10611
  throw new O("TARGET_INVALID");
10578
10612
  for (const t of [
10579
10613
  e.selector,
@@ -10628,11 +10662,11 @@ class hu {
10628
10662
  return e.trim();
10629
10663
  }
10630
10664
  assertTargetCode(e) {
10631
- if (!du.test(e))
10665
+ if (!hu.test(e))
10632
10666
  throw new O("TARGET_INVALID");
10633
10667
  }
10634
10668
  }
10635
- const pu = [
10669
+ const fu = [
10636
10670
  "show_assistant",
10637
10671
  "hide_assistant",
10638
10672
  "open_chat",
@@ -10651,10 +10685,10 @@ const pu = [
10651
10685
  "failed",
10652
10686
  "expired",
10653
10687
  "unsupported"
10654
- ]), gu = 600 * 1e3, fu = /^[a-zA-Z0-9_.:-]{1,200}$/, un = "rgba(167, 139, 250, 0.82)", mu = "rgba(196, 181, 253, 1)", hn = "0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 4px rgba(139, 92, 246, 0.12), 0 0 18px 2px rgba(124, 58, 237, 0.28), inset 0 0 12px rgba(139, 92, 246, 0.06)", bu = "0 0 0 1px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(139, 92, 246, 0.2), 0 0 26px 4px rgba(124, 58, 237, 0.5), inset 0 0 14px rgba(139, 92, 246, 0.12)";
10655
- class wu {
10688
+ ]), mu = 600 * 1e3, bu = /^[a-zA-Z0-9_.:-]{1,200}$/, hn = "rgba(167, 139, 250, 0.82)", wu = "rgba(196, 181, 253, 1)", pn = "0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 0 4px rgba(139, 92, 246, 0.12), 0 0 18px 2px rgba(124, 58, 237, 0.28), inset 0 0 12px rgba(139, 92, 246, 0.06)", yu = "0 0 0 1px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(139, 92, 246, 0.2), 0 0 26px 4px rgba(124, 58, 237, 0.5), inset 0 0 14px rgba(139, 92, 246, 0.12)";
10689
+ class vu {
10656
10690
  constructor(e = {}, t = {}, r) {
10657
- this.onStatus = r, this.uiCommands = new hu(e, t), this.internalHandlersReady = new Promise((i) => {
10691
+ this.onStatus = r, this.uiCommands = new gu(e, t), this.internalHandlersReady = new Promise((i) => {
10658
10692
  this.resolveInternalHandlers = i;
10659
10693
  });
10660
10694
  }
@@ -10760,7 +10794,7 @@ class wu {
10760
10794
  );
10761
10795
  return;
10762
10796
  }
10763
- if (!pu.includes(a)) {
10797
+ if (!fu.includes(a)) {
10764
10798
  await this.finish(
10765
10799
  { commandId: i, status: "unsupported", errorCode: "COMMAND_UNSUPPORTED" },
10766
10800
  t,
@@ -10850,7 +10884,7 @@ class wu {
10850
10884
  t.audioPath,
10851
10885
  "SPEECH_AUDIO_INVALID"
10852
10886
  );
10853
- if (s !== `/scenario-commands/${r}/audio` || t.method !== "POST" || t.mimeType !== Sr || t.format !== "pcm16" || t.sampleRate !== 24e3 || t.channels !== 1)
10887
+ if (s !== `/scenario-commands/${r}/audio` || t.method !== "POST" || t.mimeType !== xr || t.format !== "pcm16" || t.sampleRate !== 24e3 || t.channels !== 1)
10854
10888
  throw new O("SPEECH_AUDIO_INVALID");
10855
10889
  const o = this.readLipSyncDescriptor(t.lipSync, r);
10856
10890
  try {
@@ -10859,7 +10893,7 @@ class wu {
10859
10893
  commandType: e,
10860
10894
  audioPath: s,
10861
10895
  method: "POST",
10862
- mimeType: Sr,
10896
+ mimeType: xr,
10863
10897
  format: "pcm16",
10864
10898
  sampleRate: 24e3,
10865
10899
  channels: 1,
@@ -10969,7 +11003,7 @@ class wu {
10969
11003
  }
10970
11004
  requireTarget(e, t) {
10971
11005
  const r = e && typeof e == "object" ? e.code ?? e.id : e, i = this.requireString(r, "TARGET_INVALID");
10972
- if (!fu.test(i))
11006
+ if (!bu.test(i))
10973
11007
  throw new O("TARGET_INVALID");
10974
11008
  const a = this.uiCommands.getTarget(i);
10975
11009
  if (a && !t.includes(a.kind))
@@ -11006,8 +11040,8 @@ class wu {
11006
11040
  position: "fixed",
11007
11041
  pointerEvents: "none",
11008
11042
  zIndex: "2147483647",
11009
- border: `2px solid ${un}`,
11010
- boxShadow: hn,
11043
+ border: `2px solid ${hn}`,
11044
+ boxShadow: pn,
11011
11045
  boxSizing: "border-box"
11012
11046
  }), document.body.appendChild(i);
11013
11047
  const a = () => {
@@ -11030,16 +11064,16 @@ class wu {
11030
11064
  }, d = !(typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) && typeof i.animate == "function" ? i.animate(
11031
11065
  [
11032
11066
  {
11033
- borderColor: un,
11034
- boxShadow: hn
11067
+ borderColor: hn,
11068
+ boxShadow: pn
11035
11069
  },
11036
11070
  {
11037
- borderColor: mu,
11038
- boxShadow: bu
11071
+ borderColor: wu,
11072
+ boxShadow: yu
11039
11073
  },
11040
11074
  {
11041
- borderColor: un,
11042
- boxShadow: hn
11075
+ borderColor: hn,
11076
+ boxShadow: pn
11043
11077
  }
11044
11078
  ],
11045
11079
  {
@@ -11077,7 +11111,7 @@ class wu {
11077
11111
  async finish(e, t, r, i) {
11078
11112
  Dr.has(e.status) && (this.completed.set(e.commandId, {
11079
11113
  ...e,
11080
- storedUntil: Date.now() + gu
11114
+ storedUntil: Date.now() + mu
11081
11115
  }), this.saveCompleted(t)), this.onStatus?.({ ...e, commandType: i }), await r(e);
11082
11116
  }
11083
11117
  storageKey(e) {
@@ -11112,7 +11146,7 @@ class wu {
11112
11146
  };
11113
11147
  }
11114
11148
  }
11115
- class yu {
11149
+ class Cu {
11116
11150
  constructor(e, t) {
11117
11151
  this.getSession = e, this.onSessionExpired = t;
11118
11152
  }
@@ -11151,10 +11185,10 @@ class yu {
11151
11185
  }
11152
11186
  }
11153
11187
  }
11154
- const Br = wo, Wr = 3e4, vu = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/, Xr = (n) => {
11188
+ const Br = wo, Wr = 3e4, Iu = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:\d{2})$/, Xr = (n) => {
11155
11189
  z.error("Session renewal callback failed", n);
11156
11190
  };
11157
- class qu extends EventTarget {
11191
+ class Ku extends EventTarget {
11158
11192
  root = null;
11159
11193
  hostElement;
11160
11194
  shadowRoot;
@@ -11172,12 +11206,12 @@ class qu extends EventTarget {
11172
11206
  setLocaleImpl = null;
11173
11207
  commandRuntime;
11174
11208
  eventTracker;
11175
- onSessionExpired = lu(
11209
+ onSessionExpired = uu(
11176
11210
  () => {
11177
11211
  this.destroyed || this.runRenewSessionCallback();
11178
11212
  },
11179
- wn,
11180
- { leading: !0, maxWait: wn }
11213
+ yn,
11214
+ { leading: !0, maxWait: yn }
11181
11215
  );
11182
11216
  runRenewSessionCallback() {
11183
11217
  try {
@@ -11192,10 +11226,10 @@ class qu extends EventTarget {
11192
11226
  super.addEventListener(e, t, r);
11193
11227
  }
11194
11228
  constructor(e) {
11195
- if (super(), this.validateCustomerInteractionSession(e.customerInteractionSession), this.config = e, this.eventTracker = new yu(
11229
+ if (super(), this.validateCustomerInteractionSession(e.customerInteractionSession), this.config = e, this.eventTracker = new Cu(
11196
11230
  () => this.config.customerInteractionSession,
11197
11231
  this.onSessionExpired
11198
- ), this.commandRuntime = new wu(
11232
+ ), this.commandRuntime = new vu(
11199
11233
  {},
11200
11234
  e.handlers,
11201
11235
  this.onCommandStatus
@@ -11233,7 +11267,7 @@ class qu extends EventTarget {
11233
11267
  },
11234
11268
  commandRuntime: this.commandRuntime
11235
11269
  };
11236
- this.destroyed || (this.root = zd(e, this.config, a));
11270
+ this.destroyed || (this.root = Fd(e, this.config, a));
11237
11271
  }
11238
11272
  onAvatarReady = (e) => {
11239
11273
  if (!this.destroyed) {
@@ -11313,7 +11347,7 @@ class qu extends EventTarget {
11313
11347
  };
11314
11348
  injectStyles(e) {
11315
11349
  const t = document.createElement("style");
11316
- t.textContent = Gd, e.appendChild(t);
11350
+ t.textContent = Dd, e.appendChild(t);
11317
11351
  }
11318
11352
  validateCustomerInteractionSession(e) {
11319
11353
  if (!e?.accessToken?.trim())
@@ -11324,7 +11358,7 @@ class qu extends EventTarget {
11324
11358
  throw new Error(
11325
11359
  "ChatWidget: customerInteractionSession.interactionSessionId is invalid"
11326
11360
  );
11327
- if (!vu.test(e.expiresAt) || !Number.isFinite(Date.parse(e.expiresAt)))
11361
+ if (!Iu.test(e.expiresAt) || !Number.isFinite(Date.parse(e.expiresAt)))
11328
11362
  throw new Error(
11329
11363
  "ChatWidget: customerInteractionSession.expiresAt is invalid"
11330
11364
  );
@@ -11351,48 +11385,48 @@ class qu extends EventTarget {
11351
11385
  }
11352
11386
  }
11353
11387
  export {
11354
- Nu as A,
11355
- Pu as B,
11388
+ Vu as A,
11389
+ Ou as B,
11356
11390
  de as C,
11357
- Xu as D,
11358
- Uu as E,
11359
- mn as F,
11391
+ Uu as D,
11392
+ ju as E,
11393
+ bn as F,
11360
11394
  es as G,
11361
- ku as H,
11395
+ Su as H,
11362
11396
  z as I,
11363
- qu as J,
11397
+ Ku as J,
11364
11398
  dc as K,
11365
11399
  uc as L,
11366
11400
  Q as M,
11367
11401
  Le as N,
11368
11402
  Ee as P,
11369
- xu as R,
11403
+ Tu as R,
11370
11404
  Bi as S,
11371
- Ru as V,
11405
+ Lu as V,
11372
11406
  jn as a,
11373
11407
  qt as b,
11374
11408
  ic as c,
11375
- ju as d,
11376
- Vt as e,
11377
- St as f,
11409
+ qu as d,
11410
+ Ot as e,
11411
+ Tt as f,
11378
11412
  Do as g,
11379
- Wu as h,
11380
- gd as i,
11381
- zu as j,
11382
- Fu as k,
11383
- Gu as l,
11384
- Vu as m,
11385
- Ou as n,
11386
- Du as o,
11387
- Bu as p,
11413
+ Zu as h,
11414
+ md as i,
11415
+ Fu as j,
11416
+ Bu as k,
11417
+ Du as l,
11418
+ zu as m,
11419
+ Gu as n,
11420
+ Wu as o,
11421
+ Xu as p,
11388
11422
  Vo as q,
11389
11423
  Oo as r,
11390
11424
  ye as s,
11391
- Eu as t,
11392
- ht as u,
11393
- Zu as v,
11425
+ Mu as t,
11426
+ pt as u,
11427
+ Hu as v,
11394
11428
  ac as w,
11395
11429
  Ki as x,
11396
- Mu as y,
11397
- Lu as z
11430
+ Nu as y,
11431
+ Pu as z
11398
11432
  };