@enegelai/bot-widget 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -25,12 +25,12 @@ import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
25
25
  import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
26
26
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
27
27
  import { repeat as te } from "lit/directives/repeat.js";
28
- import { when as W } from "lit/directives/when.js";
29
- import { until as ze } from "lit-html/directives/until.js";
28
+ import { when as Z } from "lit/directives/when.js";
29
+ import { until as Le } from "lit-html/directives/until.js";
30
30
  import pc from "markdown-it";
31
31
  import hc from "markdown-it-link-attributes";
32
32
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
33
- function Ze(c) {
33
+ function Ne(c) {
34
34
  return typeof c == "function" ? c() : c;
35
35
  }
36
36
  const ue = class ue extends Event {
@@ -49,7 +49,7 @@ const ue = class ue extends Event {
49
49
  }
50
50
  };
51
51
  A(ue, "eventName", "lit-state-changed");
52
- let Z = ue;
52
+ let N = ue;
53
53
  const uc = (c, e) => e !== c && (e === e || c === c);
54
54
  class fe extends EventTarget {
55
55
  constructor() {
@@ -58,7 +58,7 @@ class fe extends EventTarget {
58
58
  A(this, "hookMap", /* @__PURE__ */ new Map());
59
59
  this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([a, t]) => {
60
60
  if (t.initialValue !== void 0) {
61
- const f = Ze(t.initialValue);
61
+ const f = Ne(t.initialValue);
62
62
  this[a] = f, t.value = f;
63
63
  }
64
64
  });
@@ -119,15 +119,15 @@ class fe extends EventTarget {
119
119
  const o = (r) => {
120
120
  (!t || t.includes(r.key)) && a(r.key, r.value, this);
121
121
  };
122
- return this.addEventListener(Z.eventName, o, f), () => this.removeEventListener(Z.eventName, o);
122
+ return this.addEventListener(N.eventName, o, f), () => this.removeEventListener(N.eventName, o);
123
123
  }
124
124
  dispatchStateEvent(a, t, f) {
125
- this.dispatchEvent(new Z(a, t, f));
125
+ this.dispatchEvent(new N(a, t, f));
126
126
  }
127
127
  }
128
128
  // a map holding decorators definition.
129
129
  A(fe, "propertyMap"), A(fe, "properties"), A(fe, "finalized", !1);
130
- class Ne {
130
+ class We {
131
131
  constructor(e, a, t) {
132
132
  A(this, "host");
133
133
  A(this, "state");
@@ -135,10 +135,10 @@ class Ne {
135
135
  this.host = e, this.state = a, this.host.addController(this), this.callback = t || (() => this.host.requestUpdate());
136
136
  }
137
137
  hostConnected() {
138
- this.state.addEventListener(Z.eventName, this.callback), this.callback();
138
+ this.state.addEventListener(N.eventName, this.callback), this.callback();
139
139
  }
140
140
  hostDisconnected() {
141
- this.state.removeEventListener(Z.eventName, this.callback);
141
+ this.state.removeEventListener(N.eventName, this.callback);
142
142
  }
143
143
  }
144
144
  /**
@@ -146,7 +146,7 @@ class Ne {
146
146
  * Copyright 2017 Google LLC
147
147
  * SPDX-License-Identifier: BSD-3-Clause
148
148
  */
149
- const We = ({ finisher: c, descriptor: e }) => (a, t) => {
149
+ const Ze = ({ finisher: c, descriptor: e }) => (a, t) => {
150
150
  var f;
151
151
  if (t === void 0) {
152
152
  const o = (f = a.originalKey) !== null && f !== void 0 ? f : a.key, r = e != null ? { kind: "method", placement: "prototype", key: o, descriptor: e(a.key) } : { ...a, key: o };
@@ -159,8 +159,8 @@ const We = ({ finisher: c, descriptor: e }) => (a, t) => {
159
159
  e !== void 0 && Object.defineProperty(a, t, e(t)), c == null || c(o, t);
160
160
  }
161
161
  };
162
- function M(c) {
163
- return We({
162
+ function S(c) {
163
+ return Ze({
164
164
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
165
165
  finisher: (e, a) => {
166
166
  if (Object.getOwnPropertyDescriptor(e.prototype, a))
@@ -182,8 +182,8 @@ new URL(window.location.href);
182
182
  const mc = {
183
183
  prefix: "_ls"
184
184
  };
185
- function V(c) {
186
- return c = { ...mc, ...c }, We({
185
+ function R(c) {
186
+ return c = { ...mc, ...c }, Ze({
187
187
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
188
188
  finisher: (e, a) => {
189
189
  const t = Object.getOwnPropertyDescriptor(e.prototype, a);
@@ -191,13 +191,13 @@ function V(c) {
191
191
  throw new Error("@local-storage decorator need to be called after @property");
192
192
  const f = `${(c == null ? void 0 : c.prefix) || ""}_${(c == null ? void 0 : c.key) || String(a)}`, o = e.propertyMap.get(a), r = o == null ? void 0 : o.type;
193
193
  if (o) {
194
- const C = o.initialValue;
195
- o.initialValue = () => gc(localStorage.getItem(f), r) ?? Ze(C), e.propertyMap.set(a, { ...o, ...c });
194
+ const j = o.initialValue;
195
+ o.initialValue = () => gc(localStorage.getItem(f), r) ?? Ne(j), e.propertyMap.set(a, { ...o, ...c });
196
196
  }
197
197
  const s = t == null ? void 0 : t.set, k = {
198
198
  ...t,
199
- set: function(C) {
200
- C !== void 0 && localStorage.setItem(f, r === Object || r === Array ? JSON.stringify(C) : C), s && s.call(this, C);
199
+ set: function(j) {
200
+ j !== void 0 && localStorage.setItem(f, r === Object || r === Array ? JSON.stringify(j) : j), s && s.call(this, j);
201
201
  }
202
202
  };
203
203
  Object.defineProperty(e.prototype, a, k);
@@ -239,7 +239,7 @@ var Ke = { exports: {} };
239
239
  function s(p) {
240
240
  return p === "debug" && (p = "log"), typeof console === a ? !1 : p === "trace" && t ? r : console[p] !== void 0 ? o(console, p) : console.log !== void 0 ? o(console, "log") : e;
241
241
  }
242
- function m(p, y) {
242
+ function h(p, y) {
243
243
  for (var w = 0; w < f.length; w++) {
244
244
  var l = f[w];
245
245
  this[l] = w < p ? e : this.methodFactory(l, p, y);
@@ -248,42 +248,42 @@ var Ke = { exports: {} };
248
248
  }
249
249
  function k(p, y, w) {
250
250
  return function() {
251
- typeof console !== a && (m.call(this, y, w), this[p].apply(this, arguments));
251
+ typeof console !== a && (h.call(this, y, w), this[p].apply(this, arguments));
252
252
  };
253
253
  }
254
- function C(p, y, w) {
254
+ function j(p, y, w) {
255
255
  return s(p) || k.apply(this, arguments);
256
256
  }
257
257
  function we(p, y, w) {
258
258
  var l = this, He;
259
259
  y = y ?? "WARN";
260
- var P = "loglevel";
261
- typeof p == "string" ? P += ":" + p : typeof p == "symbol" && (P = void 0);
260
+ var O = "loglevel";
261
+ typeof p == "string" ? O += ":" + p : typeof p == "symbol" && (O = void 0);
262
262
  function dc(i) {
263
263
  var F = (f[i] || "silent").toUpperCase();
264
- if (!(typeof window === a || !P)) {
264
+ if (!(typeof window === a || !O)) {
265
265
  try {
266
- window.localStorage[P] = F;
266
+ window.localStorage[O] = F;
267
267
  return;
268
268
  } catch {
269
269
  }
270
270
  try {
271
- window.document.cookie = encodeURIComponent(P) + "=" + F + ";";
271
+ window.document.cookie = encodeURIComponent(O) + "=" + F + ";";
272
272
  } catch {
273
273
  }
274
274
  }
275
275
  }
276
- function Ee() {
276
+ function ze() {
277
277
  var i;
278
- if (!(typeof window === a || !P)) {
278
+ if (!(typeof window === a || !O)) {
279
279
  try {
280
- i = window.localStorage[P];
280
+ i = window.localStorage[O];
281
281
  } catch {
282
282
  }
283
283
  if (typeof i === a)
284
284
  try {
285
285
  var F = window.document.cookie, ce = F.indexOf(
286
- encodeURIComponent(P) + "="
286
+ encodeURIComponent(O) + "="
287
287
  );
288
288
  ce !== -1 && (i = /^([^;]+)/.exec(F.slice(ce))[1]);
289
289
  } catch {
@@ -292,14 +292,14 @@ var Ke = { exports: {} };
292
292
  }
293
293
  }
294
294
  function bc() {
295
- if (!(typeof window === a || !P)) {
295
+ if (!(typeof window === a || !O)) {
296
296
  try {
297
- window.localStorage.removeItem(P);
297
+ window.localStorage.removeItem(O);
298
298
  return;
299
299
  } catch {
300
300
  }
301
301
  try {
302
- window.document.cookie = encodeURIComponent(P) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
302
+ window.document.cookie = encodeURIComponent(O) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
303
303
  } catch {
304
304
  }
305
305
  }
@@ -311,16 +311,16 @@ var Ke = { exports: {} };
311
311
  WARN: 3,
312
312
  ERROR: 4,
313
313
  SILENT: 5
314
- }, l.methodFactory = w || C, l.getLevel = function() {
314
+ }, l.methodFactory = w || j, l.getLevel = function() {
315
315
  return He;
316
316
  }, l.setLevel = function(i, F) {
317
317
  if (typeof i == "string" && l.levels[i.toUpperCase()] !== void 0 && (i = l.levels[i.toUpperCase()]), typeof i == "number" && i >= 0 && i <= l.levels.SILENT) {
318
- if (He = i, F !== !1 && dc(i), m.call(l, i, p), typeof console === a && i < l.levels.SILENT)
318
+ if (He = i, F !== !1 && dc(i), h.call(l, i, p), typeof console === a && i < l.levels.SILENT)
319
319
  return "No console available for logging";
320
320
  } else
321
321
  throw "log.setLevel() called with invalid level: " + i;
322
322
  }, l.setDefaultLevel = function(i) {
323
- y = i, Ee() || l.setLevel(i, !1);
323
+ y = i, ze() || l.setLevel(i, !1);
324
324
  }, l.resetLevel = function() {
325
325
  l.setLevel(y, !1), bc();
326
326
  }, l.enableAll = function(i) {
@@ -328,26 +328,26 @@ var Ke = { exports: {} };
328
328
  }, l.disableAll = function(i) {
329
329
  l.setLevel(l.levels.SILENT, i);
330
330
  };
331
- var ke = Ee();
331
+ var ke = ze();
332
332
  ke == null && (ke = y), l.setLevel(ke, !1);
333
333
  }
334
- var O = new we(), xe = {};
335
- O.getLogger = function(y) {
334
+ var P = new we(), xe = {};
335
+ P.getLogger = function(y) {
336
336
  if (typeof y != "symbol" && typeof y != "string" || y === "")
337
337
  throw new TypeError("You must supply a name when creating a logger.");
338
338
  var w = xe[y];
339
339
  return w || (w = xe[y] = new we(
340
340
  y,
341
- O.getLevel(),
342
- O.methodFactory
341
+ P.getLevel(),
342
+ P.methodFactory
343
343
  )), w;
344
344
  };
345
345
  var rc = typeof window !== a ? window.log : void 0;
346
- return O.noConflict = function() {
347
- return typeof window !== a && window.log === O && (window.log = rc), O;
348
- }, O.getLoggers = function() {
346
+ return P.noConflict = function() {
347
+ return typeof window !== a && window.log === P && (window.log = rc), P;
348
+ }, P.getLoggers = function() {
349
349
  return xe;
350
- }, O.default = O, O;
350
+ }, P.default = P, P;
351
351
  });
352
352
  })(Ke);
353
353
  var wc = Ke.exports;
@@ -418,7 +418,7 @@ const me = /* @__PURE__ */ vc(wc), xc = x`
418
418
  border-radius: 0;
419
419
  }
420
420
  }
421
- `, R = x`
421
+ `, T = x`
422
422
  :host {
423
423
  --primary-color: var(--sl-color-primary-600);
424
424
  }
@@ -486,7 +486,7 @@ const me = /* @__PURE__ */ vc(wc), xc = x`
486
486
  text-decoration: underline;
487
487
  }
488
488
  `, Je = x`
489
- ${R}
489
+ ${T}
490
490
 
491
491
  :host {
492
492
  display: inline-flex;
@@ -513,7 +513,7 @@ var kc = Object.defineProperty, _c = Object.getOwnPropertyDescriptor, Ae = (c, e
513
513
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
514
514
  return t && f && kc(e, a, f), f;
515
515
  };
516
- let G = class extends ge {
516
+ let Y = class extends ge {
517
517
  constructor() {
518
518
  super(...arguments), this.color = "primary", this.svg = "";
519
519
  }
@@ -521,24 +521,24 @@ let G = class extends ge {
521
521
  return d`<span class="cb-icon" part="base">${U(this.svg)}</span>`;
522
522
  }
523
523
  };
524
- G.styles = Je;
524
+ Y.styles = Je;
525
525
  Ae([
526
526
  b({ type: String })
527
- ], G.prototype, "color", 2);
527
+ ], Y.prototype, "color", 2);
528
528
  Ae([
529
529
  b({ type: String })
530
- ], G.prototype, "svg", 2);
531
- G = Ae([
530
+ ], Y.prototype, "svg", 2);
531
+ Y = Ae([
532
532
  _("cb-icon")
533
- ], G);
533
+ ], Y);
534
534
  let $c = (c) => crypto.getRandomValues(new Uint8Array(c)), Cc = (c, e, a) => {
535
535
  let t = (2 << Math.log(c.length - 1) / Math.LN2) - 1, f = -~(1.6 * t * e / c.length);
536
536
  return (o = e) => {
537
537
  let r = "";
538
538
  for (; ; ) {
539
- let s = a(f), m = f;
540
- for (; m--; )
541
- if (r += c[s[m] & t] || "", r.length === o)
539
+ let s = a(f), h = f;
540
+ for (; h--; )
541
+ if (r += c[s[h] & t] || "", r.length === o)
542
542
  return r;
543
543
  }
544
544
  };
@@ -677,116 +677,116 @@ class Ac {
677
677
  });
678
678
  }*/
679
679
  }
680
- function h(c) {
680
+ function u(c) {
681
681
  return c != null && typeof c == "object" && c["@@functional/placeholder"] === !0;
682
682
  }
683
683
  function q(c) {
684
684
  return function e(a) {
685
- return arguments.length === 0 || h(a) ? e : c.apply(this, arguments);
685
+ return arguments.length === 0 || u(a) ? e : c.apply(this, arguments);
686
686
  };
687
687
  }
688
- function H(c) {
688
+ function z(c) {
689
689
  return function e(a, t) {
690
690
  switch (arguments.length) {
691
691
  case 0:
692
692
  return e;
693
693
  case 1:
694
- return h(a) ? e : q(function(f) {
694
+ return u(a) ? e : q(function(f) {
695
695
  return c(a, f);
696
696
  });
697
697
  default:
698
- return h(a) && h(t) ? e : h(a) ? q(function(f) {
698
+ return u(a) && u(t) ? e : u(a) ? q(function(f) {
699
699
  return c(f, t);
700
- }) : h(t) ? q(function(f) {
700
+ }) : u(t) ? q(function(f) {
701
701
  return c(a, f);
702
702
  }) : c(a, t);
703
703
  }
704
704
  };
705
705
  }
706
- function Oc(c) {
706
+ function Pc(c) {
707
707
  return function e(a, t, f) {
708
708
  switch (arguments.length) {
709
709
  case 0:
710
710
  return e;
711
711
  case 1:
712
- return h(a) ? e : H(function(o, r) {
712
+ return u(a) ? e : z(function(o, r) {
713
713
  return c(a, o, r);
714
714
  });
715
715
  case 2:
716
- return h(a) && h(t) ? e : h(a) ? H(function(o, r) {
716
+ return u(a) && u(t) ? e : u(a) ? z(function(o, r) {
717
717
  return c(o, t, r);
718
- }) : h(t) ? H(function(o, r) {
718
+ }) : u(t) ? z(function(o, r) {
719
719
  return c(a, o, r);
720
720
  }) : q(function(o) {
721
721
  return c(a, t, o);
722
722
  });
723
723
  default:
724
- return h(a) && h(t) && h(f) ? e : h(a) && h(t) ? H(function(o, r) {
724
+ return u(a) && u(t) && u(f) ? e : u(a) && u(t) ? z(function(o, r) {
725
725
  return c(o, r, f);
726
- }) : h(a) && h(f) ? H(function(o, r) {
726
+ }) : u(a) && u(f) ? z(function(o, r) {
727
727
  return c(o, t, r);
728
- }) : h(t) && h(f) ? H(function(o, r) {
728
+ }) : u(t) && u(f) ? z(function(o, r) {
729
729
  return c(a, o, r);
730
- }) : h(a) ? q(function(o) {
730
+ }) : u(a) ? q(function(o) {
731
731
  return c(o, t, f);
732
- }) : h(t) ? q(function(o) {
732
+ }) : u(t) ? q(function(o) {
733
733
  return c(a, o, f);
734
- }) : h(f) ? q(function(o) {
734
+ }) : u(f) ? q(function(o) {
735
735
  return c(a, t, o);
736
736
  }) : c(a, t, f);
737
737
  }
738
738
  };
739
739
  }
740
- const Pc = Number.isInteger || function(e) {
740
+ const Oc = Number.isInteger || function(e) {
741
741
  return e << 0 === e;
742
742
  };
743
- function Lc(c) {
743
+ function Ec(c) {
744
744
  return Object.prototype.toString.call(c) === "[object String]";
745
745
  }
746
- var Hc = /* @__PURE__ */ H(function(e, a) {
746
+ var Hc = /* @__PURE__ */ z(function(e, a) {
747
747
  var t = e < 0 ? a.length + e : e;
748
- return Lc(a) ? a.charAt(t) : a[t];
748
+ return Ec(a) ? a.charAt(t) : a[t];
749
749
  });
750
- const Ec = Hc;
751
- var zc = /* @__PURE__ */ H(function(e, a) {
750
+ const zc = Hc;
751
+ var Lc = /* @__PURE__ */ z(function(e, a) {
752
752
  return a == null || a !== a ? e : a;
753
753
  });
754
- const Rc = zc;
755
- var Tc = /* @__PURE__ */ H(function(e, a) {
754
+ const Tc = Lc;
755
+ var Rc = /* @__PURE__ */ z(function(e, a) {
756
756
  return e.map(function(t) {
757
757
  for (var f = a, o = 0, r; o < t.length; ) {
758
758
  if (f == null)
759
759
  return;
760
- r = t[o], f = Pc(r) ? Ec(r, f) : f[r], o += 1;
760
+ r = t[o], f = Oc(r) ? zc(r, f) : f[r], o += 1;
761
761
  }
762
762
  return f;
763
763
  });
764
764
  });
765
- const Bc = Tc;
766
- var Vc = /* @__PURE__ */ H(function(e, a) {
765
+ const Bc = Rc;
766
+ var Vc = /* @__PURE__ */ z(function(e, a) {
767
767
  return Bc([e], a)[0];
768
768
  });
769
769
  const Dc = Vc;
770
- var Fc = /* @__PURE__ */ Oc(function(e, a, t) {
771
- return Rc(e, Dc(a, t));
770
+ var Fc = /* @__PURE__ */ Pc(function(e, a, t) {
771
+ return Tc(e, Dc(a, t));
772
772
  });
773
773
  const _e = Fc, qc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
774
- var Uc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, I = (c, e, a, t) => {
775
- for (var f = t > 1 ? void 0 : t ? Zc(e, a) : e, o = c.length - 1, r; o >= 0; o--)
774
+ var Uc = Object.defineProperty, Nc = Object.getOwnPropertyDescriptor, M = (c, e, a, t) => {
775
+ for (var f = t > 1 ? void 0 : t ? Nc(e, a) : e, o = c.length - 1, r; o >= 0; o--)
776
776
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
777
777
  return t && f && Uc(e, a, f), f;
778
778
  };
779
- const u = me.noConflict();
780
- u.setLevel("info");
779
+ const g = me.noConflict();
780
+ g.setLevel("info");
781
781
  const E = "cb_";
782
- class j extends fe {
782
+ class C extends fe {
783
783
  constructor() {
784
784
  super(...arguments), this.actionIdCounter = 0, this.wsClient = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
785
785
  }
786
786
  // this is called at startup
787
787
  setSetting(e) {
788
- u.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
789
- u.info(`Exception during bot initialization: ${a.message}`);
788
+ g.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
789
+ g.info(`Exception during bot initialization: ${a.message}`);
790
790
  });
791
791
  }
792
792
  // set language
@@ -800,7 +800,7 @@ class j extends fe {
800
800
  async initBot() {
801
801
  if (!this.botSettingsInitialized) {
802
802
  const a = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
803
- u.info(`Getting bot settings at ${a} ...`);
803
+ g.info(`Getting bot settings at ${a} ...`);
804
804
  let t = null, f = null;
805
805
  try {
806
806
  t = await fetch(a, {
@@ -808,20 +808,20 @@ class j extends fe {
808
808
  "Access-Control-Allow-Origin": "null",
809
809
  "X-Enegel-Signature": this.setting.botId
810
810
  }
811
- }), !t.ok || t.status !== 200 ? u.error(`Failed to get bot ${this.setting.botId} settings: ${t.status} ${t.statusText}`) : f = await t.json();
811
+ }), !t.ok || t.status !== 200 ? g.error(`Failed to get bot ${this.setting.botId} settings: ${t.status} ${t.statusText}`) : f = await t.json();
812
812
  } catch (o) {
813
- u.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), f = null;
813
+ g.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), f = null;
814
814
  }
815
815
  if (this.botSettingsInitialized = !0, this.botSettings = f, !f) {
816
- u.error("No bot settings available - bot disabled"), this.disabled = !0;
816
+ g.error("No bot settings available - bot disabled"), this.disabled = !0;
817
817
  return;
818
818
  }
819
- u.info("Got bot settings - bot is enabled", f), this.disabled = !1, this.setting.welcomeMessage = (f == null ? void 0 : f.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (f == null ? void 0 : f.engageMessage) || "How can I help ?", this.setting.engageTimeout = (f == null ? void 0 : f.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in f ? f.splitMessagesAtBreak : !1, this.initConversation(), setTimeout(() => {
819
+ g.info("Got bot settings - bot is enabled", f), this.disabled = !1, this.setting.welcomeMessage = (f == null ? void 0 : f.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (f == null ? void 0 : f.engageMessage) || "How can I help ?", this.setting.engageTimeout = (f == null ? void 0 : f.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in f ? f.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
820
820
  this.showEngagePopup();
821
821
  }, this.setting.engageTimeout * 1e3);
822
822
  }
823
- this.connectWs === "true" && (u.info("appState: connectWs is true"), this.getWsClient().catch((e) => {
824
- u.error(`Exception during ws client startup: ${e.message}`);
823
+ this.connectWs === "true" && (g.info("appState: connectWs is true"), this.getWsClient().catch((e) => {
824
+ g.error(`Exception during ws client startup: ${e.message}`);
825
825
  }));
826
826
  }
827
827
  initConversation() {
@@ -833,7 +833,7 @@ class j extends fe {
833
833
  }
834
834
  clearConversation() {
835
835
  this.wsClient && (this.wsClient.stop().then(() => {
836
- }), this.wsClient = null), this.conversationId = Ce(), this.lastConversationUpdate = Date.now(), this.connectWs = "false", this.messages = [], this.actions = [], this.addMessage({
836
+ }), this.wsClient = null), this.conversationId = Ce(), this.lastConversationUpdate = Date.now(), this.connectWs = "false", this.shouldEngage = "true", this.messages = [], this.actions = [], this.addMessage({
837
837
  author: "assistant",
838
838
  type: "text",
839
839
  data: {
@@ -842,37 +842,46 @@ class j extends fe {
842
842
  }), this.initStartupForm();
843
843
  }
844
844
  initStartupForm() {
845
- const e = _e(null, ["startupForm"], this.botSettings), a = _e(null, ["startupForm", "name"], this.botSettings);
846
- if (!e || !a) {
847
- u.info("Startup form not present");
845
+ const e = _e(null, ["startupForm"], this.botSettings);
846
+ if (!e || !(e != null && e.name)) {
847
+ g.info("Startup form not present");
848
848
  return;
849
849
  }
850
- const t = _e(null, ["startupForm", "fields"], this.botSettings);
851
- if (!Array.isArray(t) || t.length <= 0) {
852
- u.info("Startup form has no fields");
850
+ this.initForm(e);
851
+ }
852
+ initForm(e = null) {
853
+ const a = e, t = _e(null, ["name"], e);
854
+ if (!a || !t)
855
+ return;
856
+ const f = _e(null, ["fields"], e);
857
+ if (!Array.isArray(f) || f.length <= 0) {
858
+ g.info("form has no fields", e);
853
859
  return;
854
860
  }
855
- const f = `${E}${this.setting.botId}.${this.conversationId}.form.${a}`, o = localStorage.getItem(f);
856
- if (o) {
857
- let r = null;
861
+ const o = `${E}${this.setting.botId}.${this.conversationId}.form.${t}`, r = localStorage.getItem(o);
862
+ if (r) {
863
+ let s = null;
858
864
  try {
859
- r = JSON.parse(o);
860
- } catch (s) {
861
- u.error(`Failed to parse stored form data: ${s.message}`), r = null;
865
+ s = JSON.parse(r);
866
+ } catch (h) {
867
+ g.error(`Failed to parse stored form data: ${h.message}`), s = null;
862
868
  }
863
- if (r) {
864
- this.sendFormData(a, r).catch((s) => {
865
- u.error(`Error when submitting form: ${s.message}`);
869
+ if (s) {
870
+ this.sendFormData(t, s).catch((h) => {
871
+ g.error(`Error when submitting form: ${h.message}`);
866
872
  });
867
873
  return;
868
874
  }
869
875
  }
870
- this.form = e;
876
+ this.form = a;
877
+ }
878
+ suppressEngagePopup() {
879
+ this.engage = !1, this.shouldEngage = "false";
871
880
  }
872
881
  showEngagePopup() {
873
882
  if (this.open)
874
883
  return;
875
- u.info("Engaging User !"), this.engage = !0;
884
+ g.info("Engaging User !"), this.engage = !0;
876
885
  const e = (o) => {
877
886
  const r = new Uint8Array(o.length / 2);
878
887
  for (let s = 0; s < r.length; s++)
@@ -890,7 +899,7 @@ class j extends fe {
890
899
  if (this.wsClient)
891
900
  return this.wsClient;
892
901
  const a = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
893
- return u.info(`Initiating ws connection to ${a} ...`), this.wsClient = new Ac({
902
+ return g.info(`Initiating ws connection to ${a} ...`), this.wsClient = new Ac({
894
903
  url: a,
895
904
  orgId: this.setting.orgId,
896
905
  botId: this.setting.botId,
@@ -900,26 +909,27 @@ class j extends fe {
900
909
  }, this.wsClient;
901
910
  }
902
911
  handleWscMessage(e) {
912
+ var a;
903
913
  switch (this.lastConversationUpdate = Date.now(), e == null ? void 0 : e.type) {
904
914
  case "message": {
905
915
  if (this.replyMessage)
906
916
  this.streamingResponseInProgress ? (this.finishStreamingResponse(e.text), this.streamingResponseInProgress = !1) : (this.replyMessage.data.text = e.text, this.updateMessage(this.replyMessage, "")), this.replyMessage = null;
907
917
  else {
908
- const a = {
918
+ const t = {
909
919
  type: "text",
910
920
  author: "assistant",
911
921
  data: {
912
922
  text: e.text
913
923
  }
914
924
  };
915
- "userName" in e && (a.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (a.data.userAvatar = e.userAvatar, this.connectWs = "true");
916
- const t = this.formatMessage(a);
917
- this.messages = this.messages.concat([t]);
925
+ "userName" in e && (t.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (t.data.userAvatar = e.userAvatar, this.connectWs = "true");
926
+ const f = this.formatMessage(t);
927
+ this.messages = this.messages.concat([f]);
918
928
  }
919
929
  break;
920
930
  }
921
931
  case "message-chunk": {
922
- this.processStreamingResponse(e.text);
932
+ e.text && this.processStreamingResponse(e.text);
923
933
  break;
924
934
  }
925
935
  case "typing": {
@@ -933,6 +943,14 @@ class j extends fe {
933
943
  }, this.addMessage(this.replyMessage);
934
944
  break;
935
945
  }
946
+ case "form": {
947
+ if (g.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
948
+ const t = ((a = this.replyMessage.data) == null ? void 0 : a.text) || "";
949
+ (this.replyMessage.isThinking || t.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
950
+ }
951
+ this.initForm(e.form);
952
+ break;
953
+ }
936
954
  case "actions": {
937
955
  this.addActions((e == null ? void 0 : e.actions) || []);
938
956
  break;
@@ -954,7 +972,7 @@ class j extends fe {
954
972
  if (t !== -1) {
955
973
  if (this.setting.splitMessagesAtBreak) {
956
974
  const f = this.streamingResponseBuffer.substring(0, t).trim(), o = this.streamingResponseBuffer.substring(t + 4).trim();
957
- u.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${f} next: ${o}`), this.replyMessage = this.updateMessage(this.replyMessage, f), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), a = o;
975
+ g.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${f} next: ${o}`), this.replyMessage = this.updateMessage(this.replyMessage, f), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), a = o;
958
976
  } else
959
977
  a = this.streamingResponseBuffer;
960
978
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
@@ -990,10 +1008,10 @@ class j extends fe {
990
1008
  }
991
1009
  }
992
1010
  async sendMessage(e) {
993
- e = this.formatMessage(e), u.info("Send Message:", e), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
1011
+ e = this.formatMessage(e), g.info("Send Message:", e), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
994
1012
  const a = await this.getWsClient();
995
1013
  if (!a) {
996
- u.error("Error - failed to obtain ws client"), this.replyMessage = null;
1014
+ g.error("Error - failed to obtain ws client"), this.replyMessage = null;
997
1015
  return;
998
1016
  }
999
1017
  a.sendMessage({
@@ -1036,7 +1054,7 @@ class j extends fe {
1036
1054
  // Submit current form data
1037
1055
  async submitForm(e) {
1038
1056
  if (!this.form) {
1039
- u.info("submitForm: No form is active - ignored");
1057
+ g.info("submitForm: No form is active - ignored");
1040
1058
  return;
1041
1059
  }
1042
1060
  const a = `${E}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -1045,7 +1063,7 @@ class j extends fe {
1045
1063
  async sendFormData(e, a) {
1046
1064
  const t = await this.getWsClient();
1047
1065
  if (!t) {
1048
- u.error("Error - failed to obtain ws client");
1066
+ g.error("Error - failed to obtain ws client");
1049
1067
  return;
1050
1068
  }
1051
1069
  t.sendMessage({
@@ -1055,36 +1073,36 @@ class j extends fe {
1055
1073
  });
1056
1074
  }
1057
1075
  }
1058
- I([
1059
- V({ prefix: E }),
1060
- M({ value: "en" })
1061
- ], j.prototype, "language", 2);
1062
- I([
1063
- V({ prefix: E }),
1064
- M({ value: "light" })
1065
- ], j.prototype, "theme", 2);
1066
- I([
1067
- V({ prefix: E }),
1068
- M({ type: Boolean, value: !1 })
1069
- ], j.prototype, "open", 2);
1070
- I([
1071
- V({ prefix: E }),
1072
- M({ value: "false" })
1073
- ], j.prototype, "connectWs", 2);
1074
- I([
1075
- V({ prefix: E }),
1076
- M({ value: Ce() })
1077
- ], j.prototype, "conversationId", 2);
1078
- I([
1079
- V({ prefix: E }),
1080
- M({ value: 0 })
1081
- ], j.prototype, "lastConversationUpdate", 2);
1082
- I([
1083
- V({ prefix: E }),
1084
- M({ type: Array, value: [] })
1085
- ], j.prototype, "messages", 2);
1086
- I([
1087
- M({
1076
+ M([
1077
+ R({ prefix: E }),
1078
+ S({ value: "en" })
1079
+ ], C.prototype, "language", 2);
1080
+ M([
1081
+ R({ prefix: E }),
1082
+ S({ value: "light" })
1083
+ ], C.prototype, "theme", 2);
1084
+ M([
1085
+ R({ prefix: E }),
1086
+ S({ type: Boolean, value: !1 })
1087
+ ], C.prototype, "open", 2);
1088
+ M([
1089
+ R({ prefix: E }),
1090
+ S({ value: "false" })
1091
+ ], C.prototype, "connectWs", 2);
1092
+ M([
1093
+ R({ prefix: E }),
1094
+ S({ value: Ce() })
1095
+ ], C.prototype, "conversationId", 2);
1096
+ M([
1097
+ R({ prefix: E }),
1098
+ S({ value: 0 })
1099
+ ], C.prototype, "lastConversationUpdate", 2);
1100
+ M([
1101
+ R({ prefix: E }),
1102
+ S({ type: Array, value: [] })
1103
+ ], C.prototype, "messages", 2);
1104
+ M([
1105
+ S({
1088
1106
  type: Array,
1089
1107
  value: []
1090
1108
  /*
@@ -1126,25 +1144,29 @@ I([
1126
1144
  },
1127
1145
  ],*/
1128
1146
  })
1129
- ], j.prototype, "actions", 2);
1130
- I([
1131
- M({ type: Object, value: null })
1132
- ], j.prototype, "form", 2);
1133
- I([
1134
- M({ type: Boolean, value: !1 })
1135
- ], j.prototype, "botSettingsInitialized", 2);
1136
- I([
1137
- M({ type: Object, value: null })
1138
- ], j.prototype, "botSettings", 2);
1139
- I([
1140
- M({ type: Boolean, value: !0 })
1141
- ], j.prototype, "disabled", 2);
1142
- I([
1143
- M({ type: Boolean, value: !1 })
1144
- ], j.prototype, "engage", 2);
1145
- I([
1146
- V({ prefix: E }),
1147
- M({
1147
+ ], C.prototype, "actions", 2);
1148
+ M([
1149
+ S({ type: Object, value: null })
1150
+ ], C.prototype, "form", 2);
1151
+ M([
1152
+ S({ type: Boolean, value: !1 })
1153
+ ], C.prototype, "botSettingsInitialized", 2);
1154
+ M([
1155
+ S({ type: Object, value: null })
1156
+ ], C.prototype, "botSettings", 2);
1157
+ M([
1158
+ S({ type: Boolean, value: !0 })
1159
+ ], C.prototype, "disabled", 2);
1160
+ M([
1161
+ R({ prefix: E }),
1162
+ S({ value: "true" })
1163
+ ], C.prototype, "shouldEngage", 2);
1164
+ M([
1165
+ S({ type: Boolean, value: !1 })
1166
+ ], C.prototype, "engage", 2);
1167
+ M([
1168
+ R({ prefix: E }),
1169
+ S({
1148
1170
  type: Object,
1149
1171
  value: {
1150
1172
  orgId: null,
@@ -1154,9 +1176,9 @@ I([
1154
1176
  splitMessagesAtBreak: !1
1155
1177
  }
1156
1178
  })
1157
- ], j.prototype, "setting", 2);
1158
- const n = new j(), Nc = x`
1159
- ${R}
1179
+ ], C.prototype, "setting", 2);
1180
+ const n = new C(), Wc = x`
1181
+ ${T}
1160
1182
  :host {
1161
1183
  position: relative;
1162
1184
  font-weight: bold;
@@ -1209,12 +1231,12 @@ const n = new j(), Nc = x`
1209
1231
  display: inline;
1210
1232
  }
1211
1233
  `;
1212
- var Wc = Object.defineProperty, Kc = Object.getOwnPropertyDescriptor, Jc = (c, e, a, t) => {
1234
+ var Zc = Object.defineProperty, Kc = Object.getOwnPropertyDescriptor, Jc = (c, e, a, t) => {
1213
1235
  for (var f = t > 1 ? void 0 : t ? Kc(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1214
1236
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1215
- return t && f && Wc(e, a, f), f;
1237
+ return t && f && Zc(e, a, f), f;
1216
1238
  };
1217
- class S extends ge {
1239
+ class I extends ge {
1218
1240
  constructor() {
1219
1241
  super(...arguments), this.lang = "en";
1220
1242
  }
@@ -1231,14 +1253,14 @@ class S extends ge {
1231
1253
  }
1232
1254
  Jc([
1233
1255
  b({ type: String })
1234
- ], S.prototype, "lang", 2);
1235
- const be = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8L2.146 2.854Z"/></svg>';
1236
- var Yc = Object.defineProperty, Gc = Object.getOwnPropertyDescriptor, Ye = (c, e, a, t) => {
1237
- for (var f = t > 1 ? void 0 : t ? Gc(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1256
+ ], I.prototype, "lang", 2);
1257
+ const be = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>';
1258
+ var Gc = Object.defineProperty, Yc = Object.getOwnPropertyDescriptor, Ge = (c, e, a, t) => {
1259
+ for (var f = t > 1 ? void 0 : t ? Yc(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1238
1260
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1239
- return t && f && Yc(e, a, f), f;
1261
+ return t && f && Gc(e, a, f), f;
1240
1262
  };
1241
- let se = class extends S {
1263
+ let se = class extends I {
1242
1264
  constructor() {
1243
1265
  super(...arguments), this.title = "ChatBot";
1244
1266
  }
@@ -1273,15 +1295,15 @@ let se = class extends S {
1273
1295
  });
1274
1296
  }
1275
1297
  };
1276
- se.styles = Nc;
1277
- Ye([
1298
+ se.styles = Wc;
1299
+ Ge([
1278
1300
  b({ type: String, attribute: "title" })
1279
1301
  ], se.prototype, "title", 2);
1280
- se = Ye([
1302
+ se = Ge([
1281
1303
  _("cb-header")
1282
1304
  ], se);
1283
1305
  const Xc = x`
1284
- ${R}
1306
+ ${T}
1285
1307
  .cb-footer {
1286
1308
  line-height: 60px;
1287
1309
  font-size: 16px;
@@ -1300,7 +1322,7 @@ var Qc = Object.defineProperty, ea = Object.getOwnPropertyDescriptor, ca = (c, e
1300
1322
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1301
1323
  return t && f && Qc(e, a, f), f;
1302
1324
  };
1303
- let je = class extends S {
1325
+ let je = class extends I {
1304
1326
  constructor() {
1305
1327
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1306
1328
  }
@@ -1340,7 +1362,7 @@ je = ca([
1340
1362
  _("cb-footer")
1341
1363
  ], je);
1342
1364
  const aa = x`
1343
- ${R}
1365
+ ${T}
1344
1366
 
1345
1367
  :host {
1346
1368
  width: 100%;
@@ -1517,12 +1539,12 @@ Se.styles = x`
1517
1539
  Se = oa([
1518
1540
  _("cb-thinking")
1519
1541
  ], Se);
1520
- var ra = Object.defineProperty, da = Object.getOwnPropertyDescriptor, Ge = (c, e, a, t) => {
1542
+ var ra = Object.defineProperty, da = Object.getOwnPropertyDescriptor, Ye = (c, e, a, t) => {
1521
1543
  for (var f = t > 1 ? void 0 : t ? da(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1522
1544
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1523
1545
  return t && f && ra(e, a, f), f;
1524
1546
  };
1525
- let ne = class extends S {
1547
+ let ne = class extends I {
1526
1548
  constructor() {
1527
1549
  super(...arguments), this.files = [];
1528
1550
  }
@@ -1556,14 +1578,14 @@ ne.styles = x`
1556
1578
  margin-right: 5px;
1557
1579
  }
1558
1580
  `;
1559
- Ge([
1581
+ Ye([
1560
1582
  b({ type: Array })
1561
1583
  ], ne.prototype, "files", 2);
1562
- ne = Ge([
1584
+ ne = Ye([
1563
1585
  _("cb-uploading")
1564
1586
  ], ne);
1565
1587
  const ba = x`
1566
- ${R}
1588
+ ${T}
1567
1589
  :host {
1568
1590
  }
1569
1591
 
@@ -1583,7 +1605,7 @@ const ba = x`
1583
1605
  margin-right: 0.2em;
1584
1606
  }
1585
1607
  `;
1586
- var sa = Object.defineProperty, na = Object.getOwnPropertyDescriptor, Oe = (c, e, a, t) => {
1608
+ var sa = Object.defineProperty, na = Object.getOwnPropertyDescriptor, Pe = (c, e, a, t) => {
1587
1609
  for (var f = t > 1 ? void 0 : t ? na(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1588
1610
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1589
1611
  return t && f && sa(e, a, f), f;
@@ -1633,22 +1655,22 @@ X.styles = x`
1633
1655
  text-decoration: underline;
1634
1656
  }
1635
1657
  `;
1636
- Oe([
1658
+ Pe([
1637
1659
  b({ type: String })
1638
1660
  ], X.prototype, "url", 2);
1639
- Oe([
1661
+ Pe([
1640
1662
  b({ type: Boolean })
1641
1663
  ], X.prototype, "inverse", 2);
1642
- X = Oe([
1664
+ X = Pe([
1643
1665
  _("cb-external-link")
1644
1666
  ], X);
1645
- const ia = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992l1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', la = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', pa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', ha = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', ua = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5ZM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', ga = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', ma = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5L14 4.5Zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972ZM1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035l.823-1.439Z"/></svg>';
1646
- var ya = Object.defineProperty, va = Object.getOwnPropertyDescriptor, Pe = (c, e, a, t) => {
1667
+ const ia = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', la = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', pa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', ha = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', ua = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', ga = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', ma = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972M1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035l.823-1.439Z"/></svg>';
1668
+ var ya = Object.defineProperty, va = Object.getOwnPropertyDescriptor, Oe = (c, e, a, t) => {
1647
1669
  for (var f = t > 1 ? void 0 : t ? va(e, a) : e, o = c.length - 1, r; o >= 0; o--)
1648
1670
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
1649
1671
  return t && f && ya(e, a, f), f;
1650
1672
  };
1651
- const Re = {
1673
+ const Te = {
1652
1674
  pdf: la,
1653
1675
  txt: ia,
1654
1676
  md: pa,
@@ -1657,7 +1679,7 @@ const Re = {
1657
1679
  doc: ga,
1658
1680
  docx: ma
1659
1681
  };
1660
- let Q = class extends S {
1682
+ let Q = class extends I {
1661
1683
  constructor() {
1662
1684
  super(...arguments), this.filename = "", this.url = "";
1663
1685
  }
@@ -1682,22 +1704,22 @@ let Q = class extends S {
1682
1704
  return d`
1683
1705
  <cb-icon
1684
1706
  class="cb-file-icon"
1685
- svg="${Re[this.type] || Re.txt}"
1707
+ svg="${Te[this.type] || Te.txt}"
1686
1708
  ></cb-icon>
1687
1709
  `;
1688
1710
  }
1689
1711
  };
1690
1712
  Q.styles = ba;
1691
- Pe([
1713
+ Oe([
1692
1714
  b({ type: String })
1693
1715
  ], Q.prototype, "filename", 2);
1694
- Pe([
1716
+ Oe([
1695
1717
  b({ type: String })
1696
1718
  ], Q.prototype, "url", 2);
1697
- Q = Pe([
1719
+ Q = Oe([
1698
1720
  _("cb-file")
1699
1721
  ], Q);
1700
- const wa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1ZM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z"/></g></svg>', xa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664h10Z"/></svg>', ka = x`
1722
+ const wa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z"/></g></svg>', xa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', ka = x`
1701
1723
  pre code.hljs {
1702
1724
  display: block;
1703
1725
  overflow-x: auto;
@@ -2863,7 +2885,7 @@ const wa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
2863
2885
  background-color: #282c34;
2864
2886
  }
2865
2887
  `, _a = x`
2866
- ${R}
2888
+ ${T}
2867
2889
  ${ka}
2868
2890
 
2869
2891
  .cb-message-row {
@@ -3029,7 +3051,7 @@ function $a() {
3029
3051
  });
3030
3052
  return c.use(hc, { attrs: { target: "_blank", rel: "noopener" } }), c;
3031
3053
  }
3032
- async function Te(c) {
3054
+ async function Re(c) {
3033
3055
  const a = $a().render(c);
3034
3056
  return d`${U(a)}`;
3035
3057
  }
@@ -3038,7 +3060,7 @@ var Ca = Object.defineProperty, ja = Object.getOwnPropertyDescriptor, ye = (c, e
3038
3060
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3039
3061
  return t && f && Ca(e, a, f), f;
3040
3062
  };
3041
- let K = class extends S {
3063
+ let K = class extends I {
3042
3064
  constructor() {
3043
3065
  super(...arguments), this.type = "assistant";
3044
3066
  }
@@ -3082,12 +3104,12 @@ let K = class extends S {
3082
3104
  });
3083
3105
  }
3084
3106
  render() {
3085
- return W(
3107
+ return Z(
3086
3108
  this.message.data || this.message.isThinking,
3087
3109
  () => d`
3088
3110
  <div class="cb-message-row" part="cb-message-row">
3089
3111
  <!-- message -->
3090
- ${W(
3112
+ ${Z(
3091
3113
  this._isBot,
3092
3114
  () => this.renderBotMessage(this.message),
3093
3115
  () => this.renderUserMessage(this.message)
@@ -3119,17 +3141,17 @@ let K = class extends S {
3119
3141
  `;
3120
3142
  }
3121
3143
  async _getMessageText(c) {
3122
- return Te(c.data.text);
3144
+ return Re(c.data.text);
3123
3145
  }
3124
3146
  renderMessageContent(c) {
3125
3147
  var e;
3126
3148
  return c.isThinking ? d`<cb-thinking></cb-thinking>` : c.isUploading ? d`<cb-uploading .files="${c.data.files || []}"></cb-uploading>` : c.type === "text" ? d`<div class="cb-message-text">
3127
- ${W(
3149
+ ${Z(
3128
3150
  c.data.userName,
3129
3151
  () => d`<div style="font-size: 12px; color:#9ca3af">${c.data.userName}</div>`,
3130
3152
  () => null
3131
3153
  )}
3132
- ${ze(
3154
+ ${Le(
3133
3155
  this._getMessageText(c).then((a) => d`${a}`)
3134
3156
  )}
3135
3157
  </div>` : c.type === "file" ? d`${te(
@@ -3137,8 +3159,8 @@ let K = class extends S {
3137
3159
  (a) => a.id,
3138
3160
  (a) => d`<cb-file filename="${a.name}" url="${a.url}"></cb-file>`
3139
3161
  )}` : d`<div class="cb-message-text">
3140
- ${ze(
3141
- Te(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => d`${a}`)
3162
+ ${Le(
3163
+ Re(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => d`${a}`)
3142
3164
  )}
3143
3165
  </div>`;
3144
3166
  }
@@ -3187,9 +3209,9 @@ var Sa = Object.defineProperty, Ma = Object.getOwnPropertyDescriptor, D = (c, e,
3187
3209
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3188
3210
  return t && f && Sa(e, a, f), f;
3189
3211
  };
3190
- const N = me.noConflict();
3191
- N.setLevel("info");
3192
- let z = class extends S {
3212
+ const W = me.noConflict();
3213
+ W.setLevel("info");
3214
+ let L = class extends I {
3193
3215
  constructor() {
3194
3216
  super(...arguments), this.messages = [], this.actions = [], this.form = null, this.calendlyInjected = !1, this.activeCalendlyAction = -1;
3195
3217
  }
@@ -3239,13 +3261,13 @@ let z = class extends S {
3239
3261
  }
3240
3262
  }
3241
3263
  n.submitForm(e).then(() => {
3242
- N.info("Form submitted", e), this.emit("form:submit", {
3264
+ W.info("Form submitted", e), this.emit("form:submit", {
3243
3265
  detail: {
3244
3266
  formData: e
3245
3267
  }
3246
3268
  });
3247
3269
  }).catch((a) => {
3248
- N.error(`Error when submitting form: ${a.message}`);
3270
+ W.error(`Error when submitting form: ${a.message}`);
3249
3271
  });
3250
3272
  }
3251
3273
  /* Form sample
@@ -3283,7 +3305,7 @@ let z = class extends S {
3283
3305
  return null;
3284
3306
  }
3285
3307
  handleCalendlyEvent(c) {
3286
- switch (N.info("Got Calendly Event:", c.data), c.data.event) {
3308
+ switch (W.info("Got Calendly Event:", c.data), c.data.event) {
3287
3309
  case "calendly.event_scheduled": {
3288
3310
  const e = this.activeCalendlyAction;
3289
3311
  e >= 0 && (n.removeAction(e), n.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
@@ -3291,10 +3313,10 @@ let z = class extends S {
3291
3313
  }
3292
3314
  }
3293
3315
  invokeLinkAction(c = {}) {
3294
- N.info("invokeLinkAction:", c), window.open(c.url, "_blank");
3316
+ W.info("invokeLinkAction:", c), window.open(c.url, "_blank");
3295
3317
  }
3296
3318
  invokeCalendlyAction(c = {}) {
3297
- return N.info("invokeCalendlyAction:", c), "Calendly" in window && (this.activeCalendlyAction = c.internalId, window.Calendly.initPopupWidget({ url: c.url })), !1;
3319
+ return W.info("invokeCalendlyAction:", c), "Calendly" in window && (this.activeCalendlyAction = c.internalId, window.Calendly.initPopupWidget({ url: c.url })), !1;
3298
3320
  }
3299
3321
  renderCalendlyAction(c) {
3300
3322
  if (!("Calendly" in window) && !this.calendlyInjected) {
@@ -3336,33 +3358,33 @@ let z = class extends S {
3336
3358
  `;
3337
3359
  }
3338
3360
  };
3339
- z.styles = aa;
3361
+ L.styles = aa;
3340
3362
  D([
3341
3363
  b({ type: Array })
3342
- ], z.prototype, "messages", 2);
3364
+ ], L.prototype, "messages", 2);
3343
3365
  D([
3344
3366
  b({ type: Array })
3345
- ], z.prototype, "actions", 2);
3367
+ ], L.prototype, "actions", 2);
3346
3368
  D([
3347
3369
  b({ type: Object })
3348
- ], z.prototype, "form", 2);
3370
+ ], L.prototype, "form", 2);
3349
3371
  D([
3350
3372
  ee("#cb-message-list-bottom-anchor")
3351
- ], z.prototype, "_messageListBottomAnchor", 2);
3373
+ ], L.prototype, "_messageListBottomAnchor", 2);
3352
3374
  D([
3353
3375
  ee(".cb-input-form")
3354
- ], z.prototype, "_inputForm", 2);
3376
+ ], L.prototype, "_inputForm", 2);
3355
3377
  D([
3356
3378
  Ue({ capture: !1, passive: !0 })
3357
- ], z.prototype, "invokeLinkAction", 1);
3379
+ ], L.prototype, "invokeLinkAction", 1);
3358
3380
  D([
3359
3381
  Ue({ capture: !1, passive: !0 })
3360
- ], z.prototype, "invokeCalendlyAction", 1);
3361
- z = D([
3382
+ ], L.prototype, "invokeCalendlyAction", 1);
3383
+ L = D([
3362
3384
  _("cb-message-list")
3363
- ], z);
3385
+ ], L);
3364
3386
  const Ia = x`
3365
- ${R}
3387
+ ${T}
3366
3388
 
3367
3389
  :host {
3368
3390
  width: 100%;
@@ -3404,13 +3426,13 @@ const Ia = x`
3404
3426
  .cb-input-buttons {
3405
3427
  padding: 0 5px;
3406
3428
  }
3407
- `, Aa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576L6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', Oa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0V3z"/></svg>';
3408
- var Pa = Object.defineProperty, La = Object.getOwnPropertyDescriptor, T = (c, e, a, t) => {
3409
- for (var f = t > 1 ? void 0 : t ? La(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3429
+ `, Aa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', Pa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>';
3430
+ var Oa = Object.defineProperty, Ea = Object.getOwnPropertyDescriptor, B = (c, e, a, t) => {
3431
+ for (var f = t > 1 ? void 0 : t ? Ea(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3410
3432
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3411
- return t && f && Pa(e, a, f), f;
3433
+ return t && f && Oa(e, a, f), f;
3412
3434
  };
3413
- let L = class extends S {
3435
+ let H = class extends I {
3414
3436
  constructor() {
3415
3437
  super(...arguments), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
3416
3438
  }
@@ -3466,11 +3488,11 @@ let L = class extends S {
3466
3488
  ></sl-textarea>
3467
3489
 
3468
3490
  <span class="cb-input-buttons">
3469
- ${W(
3491
+ ${Z(
3470
3492
  this.enableFileUpload,
3471
3493
  () => d`
3472
3494
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
3473
- <cb-icon svg="${Oa}"></cb-icon>
3495
+ <cb-icon svg="${Pa}"></cb-icon>
3474
3496
  <!-- select file input -->
3475
3497
  <input type="file" id="file" name="file" class="file-input" />
3476
3498
  </sl-button>
@@ -3488,36 +3510,36 @@ let L = class extends S {
3488
3510
  c.key === "Enter" && !c.shiftKey && this._sendHandler();
3489
3511
  }
3490
3512
  };
3491
- L.styles = Ia;
3492
- T([
3513
+ H.styles = Ia;
3514
+ B([
3493
3515
  b({ type: String, attribute: "placeholder" })
3494
- ], L.prototype, "placeholder", 2);
3495
- T([
3516
+ ], H.prototype, "placeholder", 2);
3517
+ B([
3496
3518
  b({ type: String, attribute: "send-button-label" })
3497
- ], L.prototype, "sendButtonLabel", 2);
3498
- T([
3519
+ ], H.prototype, "sendButtonLabel", 2);
3520
+ B([
3499
3521
  b({ type: Boolean, attribute: "enable-file-upload" })
3500
- ], L.prototype, "enableFileUpload", 2);
3501
- T([
3522
+ ], H.prototype, "enableFileUpload", 2);
3523
+ B([
3502
3524
  b({ type: String })
3503
- ], L.prototype, "value", 2);
3504
- T([
3525
+ ], H.prototype, "value", 2);
3526
+ B([
3505
3527
  b({ type: Boolean })
3506
- ], L.prototype, "loading", 2);
3507
- T([
3528
+ ], H.prototype, "loading", 2);
3529
+ B([
3508
3530
  b({ type: Boolean })
3509
- ], L.prototype, "disabled", 2);
3510
- T([
3531
+ ], H.prototype, "disabled", 2);
3532
+ B([
3511
3533
  b({ type: String })
3512
- ], L.prototype, "currentKey", 2);
3513
- T([
3534
+ ], H.prototype, "currentKey", 2);
3535
+ B([
3514
3536
  ee("sl-textarea")
3515
- ], L.prototype, "inputElement", 2);
3516
- L = T([
3537
+ ], H.prototype, "inputElement", 2);
3538
+ H = B([
3517
3539
  _("cb-user-input")
3518
- ], L);
3540
+ ], H);
3519
3541
  const Ha = x`
3520
- ${R}
3542
+ ${T}
3521
3543
 
3522
3544
  sl-dialog::part(base) {
3523
3545
  z-index: 1000;
@@ -3551,12 +3573,12 @@ const Ha = x`
3551
3573
  gap: 8px;
3552
3574
  }
3553
3575
  `;
3554
- var Ea = Object.defineProperty, za = Object.getOwnPropertyDescriptor, ve = (c, e, a, t) => {
3555
- for (var f = t > 1 ? void 0 : t ? za(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3576
+ var za = Object.defineProperty, La = Object.getOwnPropertyDescriptor, ve = (c, e, a, t) => {
3577
+ for (var f = t > 1 ? void 0 : t ? La(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3556
3578
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3557
- return t && f && Ea(e, a, f), f;
3579
+ return t && f && za(e, a, f), f;
3558
3580
  };
3559
- let J = class extends S {
3581
+ let J = class extends I {
3560
3582
  constructor() {
3561
3583
  super(...arguments), this.open = !1, this.label = "Dialog", this.zindex = 100;
3562
3584
  }
@@ -3613,12 +3635,12 @@ ve([
3613
3635
  J = ve([
3614
3636
  _("cb-dialog")
3615
3637
  ], J);
3616
- var Ra = Object.defineProperty, Ta = Object.getOwnPropertyDescriptor, Xe = (c, e, a, t) => {
3617
- for (var f = t > 1 ? void 0 : t ? Ta(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3638
+ var Ta = Object.defineProperty, Ra = Object.getOwnPropertyDescriptor, Xe = (c, e, a, t) => {
3639
+ for (var f = t > 1 ? void 0 : t ? Ra(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3618
3640
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3619
- return t && f && Ra(e, a, f), f;
3641
+ return t && f && Ta(e, a, f), f;
3620
3642
  };
3621
- let ie = class extends S {
3643
+ let ie = class extends I {
3622
3644
  constructor() {
3623
3645
  super(...arguments), this.open = !1;
3624
3646
  }
@@ -3726,12 +3748,12 @@ const Ba = x`
3726
3748
  grid-column-start: 2;
3727
3749
  }
3728
3750
  `;
3729
- var Va = Object.defineProperty, Da = Object.getOwnPropertyDescriptor, Y = (c, e, a, t) => {
3751
+ var Va = Object.defineProperty, Da = Object.getOwnPropertyDescriptor, G = (c, e, a, t) => {
3730
3752
  for (var f = t > 1 ? void 0 : t ? Da(e, a) : e, o = c.length - 1, r; o >= 0; o--)
3731
3753
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
3732
3754
  return t && f && Va(e, a, f), f;
3733
3755
  };
3734
- let B = class extends S {
3756
+ let V = class extends I {
3735
3757
  constructor() {
3736
3758
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
3737
3759
  }
@@ -3770,7 +3792,7 @@ let B = class extends S {
3770
3792
  Enable it for your own backend.
3771
3793
  </sl-switch>
3772
3794
  </div> -->
3773
- ${W(
3795
+ ${Z(
3774
3796
  this.customRequest,
3775
3797
  () => null,
3776
3798
  () => this.renderInternalServices()
@@ -3894,27 +3916,27 @@ let B = class extends S {
3894
3916
  });
3895
3917
  }
3896
3918
  };
3897
- B.styles = Ba;
3898
- Y([
3919
+ V.styles = Ba;
3920
+ G([
3899
3921
  b({ type: Boolean })
3900
- ], B.prototype, "open", 2);
3901
- Y([
3922
+ ], V.prototype, "open", 2);
3923
+ G([
3902
3924
  b({ type: Object })
3903
- ], B.prototype, "setting", 2);
3904
- Y([
3925
+ ], V.prototype, "setting", 2);
3926
+ G([
3905
3927
  b({ type: Boolean })
3906
- ], B.prototype, "clearMessageDialogOpen", 2);
3907
- Y([
3928
+ ], V.prototype, "clearMessageDialogOpen", 2);
3929
+ G([
3908
3930
  ee("sl-dialog")
3909
- ], B.prototype, "dialog", 2);
3910
- Y([
3931
+ ], V.prototype, "dialog", 2);
3932
+ G([
3911
3933
  b({ type: Boolean })
3912
- ], B.prototype, "customRequest", 2);
3913
- B = Y([
3934
+ ], V.prototype, "customRequest", 2);
3935
+ V = G([
3914
3936
  _("cb-setting")
3915
- ], B);
3937
+ ], V);
3916
3938
  const Fa = x`
3917
- ${R}
3939
+ ${T}
3918
3940
  :host {
3919
3941
  --primary-color: var(--sl-color-primary-600);
3920
3942
 
@@ -4004,15 +4026,15 @@ const Fa = x`
4004
4026
  align-items: start;
4005
4027
  gap: 10px;
4006
4028
  }
4007
- `, qa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"/></svg>';
4008
- var Ua = Object.defineProperty, Za = Object.getOwnPropertyDescriptor, Qe = (c, e, a, t) => {
4009
- for (var f = t > 1 ? void 0 : t ? Za(e, a) : e, o = c.length - 1, r; o >= 0; o--)
4029
+ `, qa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>';
4030
+ var Ua = Object.defineProperty, Na = Object.getOwnPropertyDescriptor, Qe = (c, e, a, t) => {
4031
+ for (var f = t > 1 ? void 0 : t ? Na(e, a) : e, o = c.length - 1, r; o >= 0; o--)
4010
4032
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
4011
4033
  return t && f && Ua(e, a, f), f;
4012
4034
  };
4013
- let le = class extends S {
4035
+ let le = class extends I {
4014
4036
  constructor() {
4015
- super(...arguments), this.store = new Ne(this, n), this.open = !1;
4037
+ super(...arguments), this.store = new We(this, n), this.open = !1;
4016
4038
  }
4017
4039
  // handler click
4018
4040
  _clickHandler() {
@@ -4024,14 +4046,14 @@ let le = class extends S {
4024
4046
  }), this.open = c;
4025
4047
  }
4026
4048
  _engageClickHandler(c) {
4027
- console.log("engage close clicked!"), n.engage = !1, c.stopPropagation();
4049
+ console.log("engage close clicked!"), n.suppressEngagePopup(), c.stopPropagation();
4028
4050
  }
4029
4051
  render() {
4030
4052
  return d`
4031
4053
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
4032
4054
  <sl-popup placement="top-end" distance="16" ?active="${n.engage && !n.open}">
4033
4055
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
4034
- ${W(
4056
+ ${Z(
4035
4057
  this.open,
4036
4058
  () => d`<cb-icon color="white" svg="${be}"></cb-icon>`,
4037
4059
  () => d`<cb-icon color="white" svg="${qa}"></cb-icon>`
@@ -4057,13 +4079,13 @@ Qe([
4057
4079
  le = Qe([
4058
4080
  _("cb-anchor")
4059
4081
  ], le);
4060
- const Na = x`
4061
- ${R}
4062
- `, Be = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></g></svg>', Wa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06a.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017a.163.163 0 0 1-.054-.06a.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></g></svg>', Ka = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0z"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z"/></g></svg>', Ja = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0z"/></g></svg>';
4063
- var Ya = Object.defineProperty, Ga = Object.getOwnPropertyDescriptor, ec = (c, e, a, t) => {
4064
- for (var f = t > 1 ? void 0 : t ? Ga(e, a) : e, o = c.length - 1, r; o >= 0; o--)
4082
+ const Wa = x`
4083
+ ${T}
4084
+ `, Be = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Za = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06a.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017a.163.163 0 0 1-.054-.06a.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Ka = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z"/></g></svg>', Ja = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0"/></g></svg>';
4085
+ var Ga = Object.defineProperty, Ya = Object.getOwnPropertyDescriptor, ec = (c, e, a, t) => {
4086
+ for (var f = t > 1 ? void 0 : t ? Ya(e, a) : e, o = c.length - 1, r; o >= 0; o--)
4065
4087
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
4066
- return t && f && Ya(e, a, f), f;
4088
+ return t && f && Ga(e, a, f), f;
4067
4089
  };
4068
4090
  const Ve = {
4069
4091
  error: {
@@ -4076,7 +4098,7 @@ const Ve = {
4076
4098
  },
4077
4099
  warning: {
4078
4100
  variant: "warning",
4079
- icon: Wa
4101
+ icon: Za
4080
4102
  },
4081
4103
  success: {
4082
4104
  variant: "success",
@@ -4087,7 +4109,7 @@ const Ve = {
4087
4109
  icon: Ja
4088
4110
  }
4089
4111
  };
4090
- let pe = class extends S {
4112
+ let pe = class extends I {
4091
4113
  constructor() {
4092
4114
  super(...arguments), this.status = "info";
4093
4115
  }
@@ -4108,7 +4130,7 @@ var Xa = Object.defineProperty, Qa = Object.getOwnPropertyDescriptor, e1 = (c, e
4108
4130
  (r = c[o]) && (f = (t ? r(e, a, f) : r(f)) || f);
4109
4131
  return t && f && Xa(e, a, f), f;
4110
4132
  };
4111
- let Me = class extends S {
4133
+ let Me = class extends I {
4112
4134
  render() {
4113
4135
  return d` <sl-alert variant="danger" open>
4114
4136
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
@@ -4124,7 +4146,7 @@ let Me = class extends S {
4124
4146
  this.emit("setting:show");
4125
4147
  }
4126
4148
  };
4127
- Me.styles = Na;
4149
+ Me.styles = Wa;
4128
4150
  Me = e1([
4129
4151
  _("cb-auth-alert")
4130
4152
  ], Me);
@@ -4163,20 +4185,20 @@ const oe = (c) => c !== null && typeof c == "object", ae = (...c) => {
4163
4185
  for (const e of c)
4164
4186
  if ((!oe(e) || Array.isArray(e)) && typeof e < "u")
4165
4187
  throw new TypeError("The `options` argument must be an object");
4166
- return Le({}, ...c);
4188
+ return Ee({}, ...c);
4167
4189
  }, ac = (c = {}, e = {}) => {
4168
4190
  const a = new globalThis.Headers(c), t = e instanceof globalThis.Headers, f = new globalThis.Headers(e);
4169
4191
  for (const [o, r] of f.entries())
4170
4192
  t && r === "undefined" || r === void 0 ? a.delete(o) : a.set(o, r);
4171
4193
  return a;
4172
- }, Le = (...c) => {
4194
+ }, Ee = (...c) => {
4173
4195
  let e = {}, a = {};
4174
4196
  for (const t of c)
4175
4197
  if (Array.isArray(t))
4176
4198
  Array.isArray(e) || (e = []), e = [...e, ...t];
4177
4199
  else if (oe(t)) {
4178
4200
  for (let [f, o] of Object.entries(t))
4179
- oe(o) && f in e && (o = Le(e[f], o)), e = { ...e, [f]: o };
4201
+ oe(o) && f in e && (o = Ee(e[f], o)), e = { ...e, [f]: o };
4180
4202
  oe(t.headers) && (a = ac(a, t.headers), e.headers = a);
4181
4203
  }
4182
4204
  return e;
@@ -4262,15 +4284,15 @@ class he {
4262
4284
  throw new RangeError(`The \`timeout\` option cannot be greater than ${$e}`);
4263
4285
  await Promise.resolve();
4264
4286
  let s = await t._fetch();
4265
- for (const m of t._options.hooks.afterResponse) {
4266
- const k = await m(t.request, t._options, t._decorateResponse(s.clone()));
4287
+ for (const h of t._options.hooks.afterResponse) {
4288
+ const k = await h(t.request, t._options, t._decorateResponse(s.clone()));
4267
4289
  k instanceof globalThis.Response && (s = k);
4268
4290
  }
4269
4291
  if (t._decorateResponse(s), !s.ok && t._options.throwHttpErrors) {
4270
- let m = new De(s, t.request, t._options);
4292
+ let h = new De(s, t.request, t._options);
4271
4293
  for (const k of t._options.hooks.beforeError)
4272
- m = await k(m);
4273
- throw m;
4294
+ h = await k(h);
4295
+ throw h;
4274
4296
  }
4275
4297
  if (t._options.onDownloadProgress) {
4276
4298
  if (typeof t._options.onDownloadProgress != "function")
@@ -4281,17 +4303,17 @@ class he {
4281
4303
  }
4282
4304
  return s;
4283
4305
  }, r = t._options.retry.methods.includes(t.request.method.toLowerCase()) ? t._retry(f) : f();
4284
- for (const [s, m] of Object.entries(o1))
4306
+ for (const [s, h] of Object.entries(o1))
4285
4307
  r[s] = async () => {
4286
- t.request.headers.set("accept", t.request.headers.get("accept") || m);
4287
- const C = (await r).clone();
4308
+ t.request.headers.set("accept", t.request.headers.get("accept") || h);
4309
+ const j = (await r).clone();
4288
4310
  if (s === "json") {
4289
- if (C.status === 204 || (await C.clone().arrayBuffer()).byteLength === 0)
4311
+ if (j.status === 204 || (await j.clone().arrayBuffer()).byteLength === 0)
4290
4312
  return "";
4291
4313
  if (a.parseJson)
4292
- return a.parseJson(await C.text());
4314
+ return a.parseJson(await j.text());
4293
4315
  }
4294
- return C[s]();
4316
+ return j[s]();
4295
4317
  };
4296
4318
  return r;
4297
4319
  }
@@ -4327,7 +4349,7 @@ class he {
4327
4349
  credentials: this._input.credentials || "same-origin",
4328
4350
  ...a,
4329
4351
  headers: ac(this._input.headers, a.headers),
4330
- hooks: Le({
4352
+ hooks: Ee({
4331
4353
  beforeRequest: [],
4332
4354
  beforeRetry: [],
4333
4355
  beforeError: [],
@@ -4428,15 +4450,15 @@ class he {
4428
4450
  const r = e.body.getReader();
4429
4451
  a && a({ percent: 0, transferredBytes: 0, totalBytes: t }, new Uint8Array());
4430
4452
  async function s() {
4431
- const { done: m, value: k } = await r.read();
4432
- if (m) {
4453
+ const { done: h, value: k } = await r.read();
4454
+ if (h) {
4433
4455
  o.close();
4434
4456
  return;
4435
4457
  }
4436
4458
  if (a) {
4437
4459
  f += k.byteLength;
4438
- const C = t === 0 ? 0 : f / t;
4439
- a({ percent: C, transferredBytes: f, totalBytes: t }, k);
4460
+ const j = t === 0 ? 0 : f / t;
4461
+ a({ percent: j, transferredBytes: f, totalBytes: t }, k);
4440
4462
  }
4441
4463
  o.enqueue(k), await s();
4442
4464
  }
@@ -4465,8 +4487,8 @@ const Ie = (c) => {
4465
4487
  });
4466
4488
  async function g1(c, e) {
4467
4489
  const { onmessage: a, onclose: t, ...f } = e, o = async (r, s) => {
4468
- const { value: m, done: k } = await s.read();
4469
- k ? (r.close(), t == null || t()) : (a == null || a(m), r.enqueue(m), o(r, s));
4490
+ const { value: h, done: k } = await s.read();
4491
+ k ? (r.close(), t == null || t()) : (a == null || a(h), r.enqueue(h), o(r, s));
4470
4492
  };
4471
4493
  return f.body && typeof f.body == "object" && (f.body = JSON.stringify(f.body)), console.log("Fetching:", f), fetch(c, f).then((r) => {
4472
4494
  const s = r.body.getReader();
@@ -4508,9 +4530,9 @@ var y1 = Object.defineProperty, v1 = Object.getOwnPropertyDescriptor, v = (c, e,
4508
4530
  };
4509
4531
  const re = me.noConflict();
4510
4532
  re.setLevel("info");
4511
- let g = class extends S {
4533
+ let m = class extends I {
4512
4534
  constructor() {
4513
- super(...arguments), this.store = new Ne(this, n), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4535
+ super(...arguments), this.store = new We(this, n), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4514
4536
  <path
4515
4537
  d="M34.728 0.275L2.245 15.267c-3.748 1.749 -2.498 7.246 1.499 7.246h13.743v13.743c0 3.998 5.497 5.248 7.246 1.499l14.992 -32.483c1.249 -2.999 -1.999 -6.248 -4.998 -4.998z"
4516
4538
  fill="#E24D42"
@@ -4565,7 +4587,7 @@ let g = class extends S {
4565
4587
  this.showSetting = !1;
4566
4588
  }), addEventListener("chatbot:toggle", (c) => {
4567
4589
  const e = c.detail;
4568
- n.open = e.open, n.engage = !1;
4590
+ n.open = e.open, n.suppressEngagePopup();
4569
4591
  }), addEventListener("message:clear", () => {
4570
4592
  n.clearMessages();
4571
4593
  }), addEventListener("message:send:file", this._sendFileHandler.bind(this)), addEventListener("setting:show", () => {
@@ -4712,64 +4734,64 @@ let g = class extends S {
4712
4734
  (e = this._messageList) == null || e.scrollToBottom();
4713
4735
  }
4714
4736
  };
4715
- g.styles = xc;
4737
+ m.styles = xc;
4716
4738
  v([
4717
4739
  b({ type: Boolean, attribute: "display-license" })
4718
- ], g.prototype, "displayLicense", 2);
4740
+ ], m.prototype, "displayLicense", 2);
4719
4741
  v([
4720
4742
  b({ type: String, attribute: "name" })
4721
- ], g.prototype, "name", 2);
4743
+ ], m.prototype, "name", 2);
4722
4744
  v([
4723
4745
  b({ type: String, attribute: "org-id" })
4724
- ], g.prototype, "orgId", 2);
4746
+ ], m.prototype, "orgId", 2);
4725
4747
  v([
4726
4748
  b({ type: String, attribute: "bot-id" })
4727
- ], g.prototype, "botId", 2);
4749
+ ], m.prototype, "botId", 2);
4728
4750
  v([
4729
4751
  b({ type: String, attribute: "url" })
4730
- ], g.prototype, "url", 2);
4752
+ ], m.prototype, "url", 2);
4731
4753
  v([
4732
4754
  b({ type: String, attribute: "logo-svg" })
4733
- ], g.prototype, "logoSvg", 2);
4755
+ ], m.prototype, "logoSvg", 2);
4734
4756
  v([
4735
4757
  b({ type: String, attribute: "bot-icon-svg" })
4736
- ], g.prototype, "botIconSvg", 2);
4758
+ ], m.prototype, "botIconSvg", 2);
4737
4759
  v([
4738
4760
  b({ type: String, attribute: "user-icon-svg" })
4739
- ], g.prototype, "userIconSvg", 2);
4761
+ ], m.prototype, "userIconSvg", 2);
4740
4762
  v([
4741
4763
  b({ type: String, attribute: "system-icon-svg" })
4742
- ], g.prototype, "systemIconSvg", 2);
4764
+ ], m.prototype, "systemIconSvg", 2);
4743
4765
  v([
4744
4766
  b({ type: Boolean, attribute: "stream" })
4745
- ], g.prototype, "stream", 2);
4767
+ ], m.prototype, "stream", 2);
4746
4768
  v([
4747
4769
  b({ type: Boolean, attribute: "custom-request" })
4748
- ], g.prototype, "customRequest", 2);
4770
+ ], m.prototype, "customRequest", 2);
4749
4771
  v([
4750
4772
  b({ type: Boolean, attribute: "enable-file-upload" })
4751
- ], g.prototype, "enableFileUpload", 2);
4773
+ ], m.prototype, "enableFileUpload", 2);
4752
4774
  v([
4753
4775
  b({ type: String, attribute: "upload-file-url" })
4754
- ], g.prototype, "uploadFileUrl", 2);
4776
+ ], m.prototype, "uploadFileUrl", 2);
4755
4777
  v([
4756
4778
  b({ type: Boolean, attribute: "open" })
4757
- ], g.prototype, "open", 2);
4779
+ ], m.prototype, "open", 2);
4758
4780
  v([
4759
4781
  b({ type: Boolean })
4760
- ], g.prototype, "loading", 2);
4782
+ ], m.prototype, "loading", 2);
4761
4783
  v([
4762
4784
  b({ type: Boolean })
4763
- ], g.prototype, "showSetting", 2);
4785
+ ], m.prototype, "showSetting", 2);
4764
4786
  v([
4765
4787
  b({ type: Boolean })
4766
- ], g.prototype, "showAuthAlert", 2);
4788
+ ], m.prototype, "showAuthAlert", 2);
4767
4789
  v([
4768
4790
  ee("cb-message-list")
4769
- ], g.prototype, "_messageList", 2);
4770
- g = v([
4791
+ ], m.prototype, "_messageList", 2);
4792
+ m = v([
4771
4793
  _("enegelai-bot")
4772
- ], g);
4794
+ ], m);
4773
4795
  export {
4774
- g as default
4796
+ m as default
4775
4797
  };