@enegelai/bot-widget 1.4.3 → 1.4.5

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
@@ -1,9 +1,10 @@
1
1
  var Ea = Object.defineProperty;
2
2
  var Aa = (a, t, c) => t in a ? Ea(a, t, { enumerable: !0, configurable: !0, writable: !0, value: c }) : a[t] = c;
3
3
  var se = (a, t, c) => (Aa(a, typeof t != "symbol" ? t + "" : t, c), c);
4
- import { css as W, LitElement as rt, html as x, svg as Qe } from "lit";
5
- import { property as k, customElement as U, queryAll as Nt, query as qe, eventOptions as Ft } from "lit/decorators.js";
6
- import { unsafeHTML as Te } from "lit-html/directives/unsafe-html.js";
4
+ import { css as U, LitElement as rt, html as w, svg as Qe } from "lit";
5
+ import { property as k, customElement as W, queryAll as Nt, query as qe, eventOptions as Ft } from "lit/decorators.js";
6
+ import { unsafeHTML as Ee } from "lit-html/directives/unsafe-html.js";
7
+ import { when as ue } from "lit/directives/when.js";
7
8
  import "@shoelace-style/shoelace/dist/themes/light.css";
8
9
  import "@shoelace-style/shoelace/dist/themes/dark.css";
9
10
  import "@shoelace-style/shoelace/dist/components/button/button.js";
@@ -25,12 +26,11 @@ import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
25
26
  import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
26
27
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
27
28
  import { repeat as Ze } from "lit/directives/repeat.js";
28
- import { when as Oe } from "lit/directives/when.js";
29
29
  import { until as Pt } from "lit-html/directives/until.js";
30
30
  import Ma from "markdown-it";
31
31
  import $a from "markdown-it-link-attributes";
32
32
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
33
- function Wt(a) {
33
+ function Ut(a) {
34
34
  return typeof a == "function" ? a() : a;
35
35
  }
36
36
  const ot = class ot extends Event {
@@ -49,7 +49,7 @@ const ot = class ot extends Event {
49
49
  }
50
50
  };
51
51
  se(ot, "eventName", "lit-state-changed");
52
- let Ee = ot;
52
+ let Ae = ot;
53
53
  const Ia = (a, t) => t !== a && (t === t || a === a);
54
54
  class Ge extends EventTarget {
55
55
  constructor() {
@@ -58,7 +58,7 @@ class Ge extends EventTarget {
58
58
  se(this, "hookMap", /* @__PURE__ */ new Map());
59
59
  this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([c, i]) => {
60
60
  if (i.initialValue !== void 0) {
61
- const s = Wt(i.initialValue);
61
+ const s = Ut(i.initialValue);
62
62
  this[c] = s, i.value = s;
63
63
  }
64
64
  });
@@ -90,8 +90,8 @@ class Ge extends EventTarget {
90
90
  return this[i];
91
91
  },
92
92
  set(b) {
93
- const w = this[c];
94
- this[i] = b, f(b, w) === !0 && this.dispatchStateEvent(c, b, this);
93
+ const x = this[c];
94
+ this[i] = b, f(b, x) === !0 && this.dispatchStateEvent(c, b, this);
95
95
  },
96
96
  configurable: !0,
97
97
  enumerable: !0
@@ -119,15 +119,15 @@ class Ge extends EventTarget {
119
119
  const f = (b) => {
120
120
  (!i || i.includes(b.key)) && c(b.key, b.value, this);
121
121
  };
122
- return this.addEventListener(Ee.eventName, f, s), () => this.removeEventListener(Ee.eventName, f);
122
+ return this.addEventListener(Ae.eventName, f, s), () => this.removeEventListener(Ae.eventName, f);
123
123
  }
124
124
  dispatchStateEvent(c, i, s) {
125
- this.dispatchEvent(new Ee(c, i, s));
125
+ this.dispatchEvent(new Ae(c, i, s));
126
126
  }
127
127
  }
128
128
  // a map holding decorators definition.
129
129
  se(Ge, "propertyMap"), se(Ge, "properties"), se(Ge, "finalized", !1);
130
- class Ut {
130
+ class Wt {
131
131
  constructor(t, c, i) {
132
132
  se(this, "host");
133
133
  se(this, "state");
@@ -135,10 +135,10 @@ class Ut {
135
135
  this.host = t, this.state = c, this.host.addController(this), this.callback = i || (() => this.host.requestUpdate());
136
136
  }
137
137
  hostConnected() {
138
- this.state.addEventListener(Ee.eventName, this.callback), this.callback();
138
+ this.state.addEventListener(Ae.eventName, this.callback), this.callback();
139
139
  }
140
140
  hostDisconnected() {
141
- this.state.removeEventListener(Ee.eventName, this.callback);
141
+ this.state.removeEventListener(Ae.eventName, this.callback);
142
142
  }
143
143
  }
144
144
  /**
@@ -150,8 +150,8 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
150
150
  var s;
151
151
  if (i === void 0) {
152
152
  const f = (s = c.originalKey) !== null && s !== void 0 ? s : c.key, b = t != null ? { kind: "method", placement: "prototype", key: f, descriptor: t(c.key) } : { ...c, key: f };
153
- return a != null && (b.finisher = function(w) {
154
- a(w, f);
153
+ return a != null && (b.finisher = function(x) {
154
+ a(x, f);
155
155
  }), b;
156
156
  }
157
157
  {
@@ -159,7 +159,7 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
159
159
  t !== void 0 && Object.defineProperty(c, i, t(i)), a == null || a(f, i);
160
160
  }
161
161
  };
162
- function K(a) {
162
+ function Z(a) {
163
163
  return Yt({
164
164
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
165
165
  finisher: (t, c) => {
@@ -182,7 +182,7 @@ new URL(window.location.href);
182
182
  const Oa = {
183
183
  prefix: "_ls"
184
184
  };
185
- function ue(a) {
185
+ function pe(a) {
186
186
  return a = { ...Oa, ...a }, Yt({
187
187
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
188
188
  finisher: (t, c) => {
@@ -192,15 +192,15 @@ function ue(a) {
192
192
  const s = `${(a == null ? void 0 : a.prefix) || ""}_${(a == null ? void 0 : a.key) || String(c)}`, f = t.propertyMap.get(c), b = f == null ? void 0 : f.type;
193
193
  if (f) {
194
194
  const j = f.initialValue;
195
- f.initialValue = () => ja(localStorage.getItem(s), b) ?? Wt(j), t.propertyMap.set(c, { ...f, ...a });
195
+ f.initialValue = () => ja(localStorage.getItem(s), b) ?? Ut(j), t.propertyMap.set(c, { ...f, ...a });
196
196
  }
197
- const w = i == null ? void 0 : i.set, R = {
197
+ const x = i == null ? void 0 : i.set, V = {
198
198
  ...i,
199
199
  set: function(j) {
200
- j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), w && w.call(this, j);
200
+ j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), x && x.call(this, j);
201
201
  }
202
202
  };
203
- Object.defineProperty(t.prototype, c, R);
203
+ Object.defineProperty(t.prototype, c, V);
204
204
  }
205
205
  });
206
206
  }
@@ -222,39 +222,39 @@ var Gt = { exports: {} };
222
222
  "error"
223
223
  ];
224
224
  function f(A, P) {
225
- var q = A[P];
226
- if (typeof q.bind == "function")
227
- return q.bind(A);
225
+ var D = A[P];
226
+ if (typeof D.bind == "function")
227
+ return D.bind(A);
228
228
  try {
229
- return Function.prototype.bind.call(q, A);
229
+ return Function.prototype.bind.call(D, A);
230
230
  } catch {
231
231
  return function() {
232
- return Function.prototype.apply.apply(q, [A, arguments]);
232
+ return Function.prototype.apply.apply(D, [A, arguments]);
233
233
  };
234
234
  }
235
235
  }
236
236
  function b() {
237
237
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
238
238
  }
239
- function w(A) {
239
+ function x(A) {
240
240
  return A === "debug" && (A = "log"), typeof console === c ? !1 : A === "trace" && i ? b : console[A] !== void 0 ? f(console, A) : console.log !== void 0 ? f(console, "log") : t;
241
241
  }
242
242
  function _(A, P) {
243
- for (var q = 0; q < s.length; q++) {
244
- var $ = s[q];
245
- this[$] = q < A ? t : this.methodFactory($, A, P);
243
+ for (var D = 0; D < s.length; D++) {
244
+ var $ = s[D];
245
+ this[$] = D < A ? t : this.methodFactory($, A, P);
246
246
  }
247
247
  this.log = this.debug;
248
248
  }
249
- function R(A, P, q) {
249
+ function V(A, P, D) {
250
250
  return function() {
251
- typeof console !== c && (_.call(this, P, q), this[A].apply(this, arguments));
251
+ typeof console !== c && (_.call(this, P, D), this[A].apply(this, arguments));
252
252
  };
253
253
  }
254
- function j(A, P, q) {
255
- return w(A) || R.apply(this, arguments);
254
+ function j(A, P, D) {
255
+ return x(A) || V.apply(this, arguments);
256
256
  }
257
- function C(A, P, q) {
257
+ function T(A, P, D) {
258
258
  var $ = this, de;
259
259
  P = P ?? "WARN";
260
260
  var ee = "loglevel";
@@ -273,7 +273,7 @@ var Gt = { exports: {} };
273
273
  }
274
274
  }
275
275
  }
276
- function Me() {
276
+ function $e() {
277
277
  var y;
278
278
  if (!(typeof window === c || !ee)) {
279
279
  try {
@@ -311,7 +311,7 @@ var Gt = { exports: {} };
311
311
  WARN: 3,
312
312
  ERROR: 4,
313
313
  SILENT: 5
314
- }, $.methodFactory = q || j, $.getLevel = function() {
314
+ }, $.methodFactory = D || j, $.getLevel = function() {
315
315
  return de;
316
316
  }, $.setLevel = function(y, ie) {
317
317
  if (typeof y == "string" && $.levels[y.toUpperCase()] !== void 0 && (y = $.levels[y.toUpperCase()]), typeof y == "number" && y >= 0 && y <= $.levels.SILENT) {
@@ -320,7 +320,7 @@ var Gt = { exports: {} };
320
320
  } else
321
321
  throw "log.setLevel() called with invalid level: " + y;
322
322
  }, $.setDefaultLevel = function(y) {
323
- P = y, Me() || $.setLevel(y, !1);
323
+ P = y, $e() || $.setLevel(y, !1);
324
324
  }, $.resetLevel = function() {
325
325
  $.setLevel(P, !1), Re();
326
326
  }, $.enableAll = function(y) {
@@ -328,30 +328,30 @@ var Gt = { exports: {} };
328
328
  }, $.disableAll = function(y) {
329
329
  $.setLevel($.levels.SILENT, y);
330
330
  };
331
- var xe = Me();
332
- xe == null && (xe = P), $.setLevel(xe, !1);
331
+ var ke = $e();
332
+ ke == null && (ke = P), $.setLevel(ke, !1);
333
333
  }
334
- var M = new C(), V = {};
334
+ var M = new T(), N = {};
335
335
  M.getLogger = function(P) {
336
336
  if (typeof P != "symbol" && typeof P != "string" || P === "")
337
337
  throw new TypeError("You must supply a name when creating a logger.");
338
- var q = V[P];
339
- return q || (q = V[P] = new C(
338
+ var D = N[P];
339
+ return D || (D = N[P] = new T(
340
340
  P,
341
341
  M.getLevel(),
342
342
  M.methodFactory
343
- )), q;
343
+ )), D;
344
344
  };
345
345
  var ce = typeof window !== c ? window.log : void 0;
346
346
  return M.noConflict = function() {
347
347
  return typeof window !== c && window.log === M && (window.log = ce), M;
348
348
  }, M.getLoggers = function() {
349
- return V;
349
+ return N;
350
350
  }, M.default = M, M;
351
351
  });
352
352
  })(Gt);
353
353
  var La = Gt.exports;
354
- const ft = /* @__PURE__ */ Zt(La), Pa = W`
354
+ const ft = /* @__PURE__ */ Zt(La), Pa = U`
355
355
  :host {
356
356
  }
357
357
  .cb-wrapper {
@@ -418,7 +418,7 @@ const ft = /* @__PURE__ */ Zt(La), Pa = W`
418
418
  border-radius: 0;
419
419
  }
420
420
  }
421
- `, he = W`
421
+ `, he = U`
422
422
  :host {
423
423
  --primary-color: var(--sl-color-primary-600);
424
424
  }
@@ -485,7 +485,7 @@ const ft = /* @__PURE__ */ Zt(La), Pa = W`
485
485
  .text-button:hover {
486
486
  text-decoration: underline;
487
487
  }
488
- `, Kt = W`
488
+ `, Kt = U`
489
489
  ${he}
490
490
 
491
491
  :host {
@@ -518,7 +518,7 @@ let ze = class extends rt {
518
518
  super(...arguments), this.color = "primary", this.svg = "";
519
519
  }
520
520
  render() {
521
- return x`<span class="cb-icon" part="base">${Te(this.svg)}</span>`;
521
+ return w`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
522
522
  }
523
523
  };
524
524
  ze.styles = Kt;
@@ -529,16 +529,16 @@ xt([
529
529
  k({ type: String })
530
530
  ], ze.prototype, "svg", 2);
531
531
  ze = xt([
532
- U("cb-icon")
532
+ W("cb-icon")
533
533
  ], ze);
534
534
  let Ba = (a) => crypto.getRandomValues(new Uint8Array(a)), qa = (a, t, c) => {
535
535
  let i = (2 << Math.log(a.length - 1) / Math.LN2) - 1, s = -~(1.6 * i * t / a.length);
536
536
  return (f = t) => {
537
537
  let b = "";
538
538
  for (; ; ) {
539
- let w = c(s), _ = s;
539
+ let x = c(s), _ = s;
540
540
  for (; _--; )
541
- if (b += a[w[_] & i] || "", b.length === f)
541
+ if (b += a[x[_] & i] || "", b.length === f)
542
542
  return b;
543
543
  }
544
544
  };
@@ -567,22 +567,22 @@ function Na(a = !0) {
567
567
  }), c.click();
568
568
  });
569
569
  }
570
- const Y = ft.noConflict();
571
- Y.setLevel("info");
570
+ const X = ft.noConflict();
571
+ X.setLevel("info");
572
572
  class Fa {
573
573
  constructor(t = {}) {
574
- this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), Y.info(`WSC: Created, url: ${this.url}`);
574
+ this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), X.info(`WSC: Created, url: ${this.url}`);
575
575
  }
576
576
  connect(t = {}) {
577
577
  if (this.url = (t == null ? void 0 : t.url) || this.url, this.connected = !1, !this.url)
578
- return Y.error("WSC: URL must be provided to connect"), null;
578
+ return X.error("WSC: URL must be provided to connect"), null;
579
579
  const c = this.url;
580
- Y.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
580
+ X.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
581
581
  let i = setTimeout(() => {
582
- Y.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
582
+ X.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
583
583
  }, 15e3);
584
584
  this._ws.onopen = () => {
585
- Y.info(`WSC: Connection to ${c} opened`);
585
+ X.info(`WSC: Connection to ${c} opened`);
586
586
  }, this._ws.onmessage = (s) => {
587
587
  let f = (s == null ? void 0 : s.data) || null;
588
588
  if (!f)
@@ -591,14 +591,14 @@ class Fa {
591
591
  try {
592
592
  b = JSON.parse(f);
593
593
  } catch {
594
- Y.error(`Failed to parse message: ${f}`);
594
+ X.error(`Failed to parse message: ${f}`);
595
595
  return;
596
596
  }
597
- (b == null ? void 0 : b.type) === "connected" && (Y.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
597
+ (b == null ? void 0 : b.type) === "connected" && (X.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
598
598
  }, this._ws.onerror = (s) => {
599
- Y.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
599
+ X.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
600
600
  }, this._ws.onclose = (s) => {
601
- Y.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
601
+ X.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
602
602
  };
603
603
  }
604
604
  reconnect() {
@@ -608,10 +608,10 @@ class Fa {
608
608
  }
609
609
  disconnect() {
610
610
  if (!this._ws) {
611
- Y.info("WSC: already disconnected");
611
+ X.info("WSC: already disconnected");
612
612
  return;
613
613
  }
614
- Y.info("WSC: disconnect"), this._ws.close();
614
+ X.info("WSC: disconnect"), this._ws.close();
615
615
  }
616
616
  async start() {
617
617
  this.started = !0, this.connect();
@@ -623,11 +623,11 @@ class Fa {
623
623
  async startOld() {
624
624
  let t = 1, c = !0;
625
625
  for (; c; ) {
626
- if (Y.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
- return Y.info("WSC: connected"), !0;
626
+ if (X.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
+ return X.info("WSC: connected"), !0;
628
628
  t++, c = t <= 4, c && await this.pause(1e3);
629
629
  }
630
- return Y.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
630
+ return X.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
631
631
  }
632
632
  handleWscMessage(t) {
633
633
  this.onMessage && typeof this.onMessage == "function" && this.onMessage(t);
@@ -642,7 +642,7 @@ class Fa {
642
642
  sendQueuedMessages() {
643
643
  if (Array.isArray(this.queue) && this.queue.length > 0)
644
644
  for (let t = 0; t < this.queue.length; t++)
645
- Y.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
645
+ X.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
646
646
  this.queue = [];
647
647
  }
648
648
  // Request assumes that response will be received.
@@ -680,7 +680,7 @@ class Fa {
680
680
  function H(a) {
681
681
  return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
682
682
  }
683
- function Ce(a) {
683
+ function Te(a) {
684
684
  return function t(c) {
685
685
  return arguments.length === 0 || H(c) ? t : a.apply(this, arguments);
686
686
  };
@@ -691,19 +691,19 @@ function le(a) {
691
691
  case 0:
692
692
  return t;
693
693
  case 1:
694
- return H(c) ? t : Ce(function(s) {
694
+ return H(c) ? t : Te(function(s) {
695
695
  return a(c, s);
696
696
  });
697
697
  default:
698
- return H(c) && H(i) ? t : H(c) ? Ce(function(s) {
698
+ return H(c) && H(i) ? t : H(c) ? Te(function(s) {
699
699
  return a(s, i);
700
- }) : H(i) ? Ce(function(s) {
700
+ }) : H(i) ? Te(function(s) {
701
701
  return a(c, s);
702
702
  }) : a(c, i);
703
703
  }
704
704
  };
705
705
  }
706
- function Wa(a) {
706
+ function Ua(a) {
707
707
  return function t(c, i, s) {
708
708
  switch (arguments.length) {
709
709
  case 0:
@@ -717,7 +717,7 @@ function Wa(a) {
717
717
  return a(f, i, b);
718
718
  }) : H(i) ? le(function(f, b) {
719
719
  return a(c, f, b);
720
- }) : Ce(function(f) {
720
+ }) : Te(function(f) {
721
721
  return a(c, i, f);
722
722
  });
723
723
  default:
@@ -727,17 +727,17 @@ function Wa(a) {
727
727
  return a(f, i, b);
728
728
  }) : H(i) && H(s) ? le(function(f, b) {
729
729
  return a(c, f, b);
730
- }) : H(c) ? Ce(function(f) {
730
+ }) : H(c) ? Te(function(f) {
731
731
  return a(f, i, s);
732
- }) : H(i) ? Ce(function(f) {
732
+ }) : H(i) ? Te(function(f) {
733
733
  return a(c, f, s);
734
- }) : H(s) ? Ce(function(f) {
734
+ }) : H(s) ? Te(function(f) {
735
735
  return a(c, i, f);
736
736
  }) : a(c, i, s);
737
737
  }
738
738
  };
739
739
  }
740
- const Ua = Number.isInteger || function(t) {
740
+ const Wa = Number.isInteger || function(t) {
741
741
  return t << 0 === t;
742
742
  };
743
743
  function Ya(a) {
@@ -757,7 +757,7 @@ var Ja = /* @__PURE__ */ le(function(t, c) {
757
757
  for (var s = c, f = 0, b; f < i.length; ) {
758
758
  if (s == null)
759
759
  return;
760
- b = i[f], s = Ua(b) ? Za(b, s) : s[b], f += 1;
760
+ b = i[f], s = Wa(b) ? Za(b, s) : s[b], f += 1;
761
761
  }
762
762
  return s;
763
763
  });
@@ -767,26 +767,26 @@ var ec = /* @__PURE__ */ le(function(t, c) {
767
767
  return Qa([t], c)[0];
768
768
  });
769
769
  const tc = ec;
770
- var ac = /* @__PURE__ */ Wa(function(t, c, i) {
770
+ var ac = /* @__PURE__ */ Ua(function(t, c, i) {
771
771
  return Ka(t, tc(c, i));
772
772
  });
773
773
  const ut = ac, cc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
774
- var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, J = (a, t, c, i) => {
774
+ var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, G = (a, t, c, i) => {
775
775
  for (var s = i > 1 ? void 0 : i ? nc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
776
776
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
777
777
  return i && s && ic(t, c, s), s;
778
778
  };
779
- const B = ft.noConflict();
780
- B.setLevel("info");
779
+ const q = ft.noConflict();
780
+ q.setLevel("info");
781
781
  const re = "cb_";
782
- class X extends Ge {
782
+ class Y extends Ge {
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(t) {
788
- B.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
- B.info(`Exception during bot initialization: ${c.message}`);
788
+ q.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
+ q.info(`Exception during bot initialization: ${c.message}`);
790
790
  });
791
791
  }
792
792
  // set language
@@ -800,7 +800,7 @@ class X extends Ge {
800
800
  async initBot() {
801
801
  if (!this.botSettingsInitialized) {
802
802
  const c = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
803
- B.info(`Getting bot settings at ${c} ...`);
803
+ q.info(`Getting bot settings at ${c} ...`);
804
804
  let i = null, s = null;
805
805
  try {
806
806
  i = await fetch(c, {
@@ -808,20 +808,20 @@ class X extends Ge {
808
808
  "Access-Control-Allow-Origin": "null",
809
809
  "X-Enegel-Signature": this.setting.botId
810
810
  }
811
- }), !i.ok || i.status !== 200 ? B.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
811
+ }), !i.ok || i.status !== 200 ? q.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
812
812
  } catch (f) {
813
- B.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
813
+ q.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
814
814
  }
815
815
  if (this.botSettingsInitialized = !0, this.botSettings = s, !s) {
816
- B.error("No bot settings available - bot disabled"), this.disabled = !0;
816
+ q.error("No bot settings available - bot disabled"), this.disabled = !0;
817
817
  return;
818
818
  }
819
- B.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
819
+ q.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
820
820
  this.showEngagePopup();
821
821
  }, this.setting.engageTimeout * 1e3);
822
822
  }
823
- this.connectWs === "true" && (B.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
- B.error(`Exception during ws client startup: ${t.message}`);
823
+ this.connectWs === "true" && (q.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
+ q.error(`Exception during ws client startup: ${t.message}`);
825
825
  }));
826
826
  }
827
827
  initConversation() {
@@ -844,7 +844,7 @@ class X extends Ge {
844
844
  initStartupForm() {
845
845
  const t = ut(null, ["startupForm"], this.botSettings);
846
846
  if (!t || !(t != null && t.name)) {
847
- B.info("Startup form not present");
847
+ q.info("Startup form not present");
848
848
  return;
849
849
  }
850
850
  this.initForm(t);
@@ -855,20 +855,20 @@ class X extends Ge {
855
855
  return;
856
856
  const s = ut(null, ["fields"], t);
857
857
  if (!Array.isArray(s) || s.length <= 0) {
858
- B.info("form has no fields", t);
858
+ q.info("form has no fields", t);
859
859
  return;
860
860
  }
861
861
  const f = `${re}${this.setting.botId}.${this.conversationId}.form.${i}`, b = localStorage.getItem(f);
862
862
  if (b) {
863
- let w = null;
863
+ let x = null;
864
864
  try {
865
- w = JSON.parse(b);
865
+ x = JSON.parse(b);
866
866
  } catch (_) {
867
- B.error(`Failed to parse stored form data: ${_.message}`), w = null;
867
+ q.error(`Failed to parse stored form data: ${_.message}`), x = null;
868
868
  }
869
- if (w) {
870
- this.sendFormData(i, w).catch((_) => {
871
- B.error(`Error when submitting form: ${_.message}`);
869
+ if (x) {
870
+ this.sendFormData(i, x).catch((_) => {
871
+ q.error(`Error when submitting form: ${_.message}`);
872
872
  });
873
873
  return;
874
874
  }
@@ -881,11 +881,11 @@ class X extends Ge {
881
881
  showEngagePopup() {
882
882
  if (this.open)
883
883
  return;
884
- B.info("Engaging User !"), this.engage = !0;
884
+ q.info("Engaging User !"), this.engage = !0;
885
885
  const t = (f) => {
886
886
  const b = new Uint8Array(f.length / 2);
887
- for (let w = 0; w < b.length; w++)
888
- b[w] = parseInt(f.substr(w * 2, 2), 16);
887
+ for (let x = 0; x < b.length; x++)
888
+ b[x] = parseInt(f.substr(x * 2, 2), 16);
889
889
  return b;
890
890
  };
891
891
  let c = new Blob([t(cc)], { type: "application/octet-stream" });
@@ -899,7 +899,7 @@ class X extends Ge {
899
899
  if (this.wsClient)
900
900
  return this.wsClient;
901
901
  const c = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
902
- return B.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
902
+ return q.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
903
903
  url: c,
904
904
  orgId: this.setting.orgId,
905
905
  botId: this.setting.botId,
@@ -944,7 +944,7 @@ class X extends Ge {
944
944
  break;
945
945
  }
946
946
  case "form": {
947
- if (B.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
947
+ if (q.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
948
948
  const i = ((c = this.replyMessage.data) == null ? void 0 : c.text) || "";
949
949
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
950
950
  }
@@ -972,7 +972,7 @@ class X extends Ge {
972
972
  if (i !== -1) {
973
973
  if (this.setting.splitMessagesAtBreak) {
974
974
  const s = this.streamingResponseBuffer.substring(0, i).trim(), f = this.streamingResponseBuffer.substring(i + 4).trim();
975
- B.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
975
+ q.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
976
976
  } else
977
977
  c = this.streamingResponseBuffer;
978
978
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
@@ -1008,10 +1008,10 @@ class X extends Ge {
1008
1008
  }
1009
1009
  }
1010
1010
  async sendMessage(t) {
1011
- t = this.formatMessage(t), B.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1011
+ t = this.formatMessage(t), q.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1012
1012
  const c = await this.getWsClient();
1013
1013
  if (!c) {
1014
- B.error("Error - failed to obtain ws client"), this.replyMessage = null;
1014
+ q.error("Error - failed to obtain ws client"), this.replyMessage = null;
1015
1015
  return;
1016
1016
  }
1017
1017
  c.sendMessage({
@@ -1054,7 +1054,7 @@ class X extends Ge {
1054
1054
  // Submit current form data
1055
1055
  async submitForm(t) {
1056
1056
  if (!this.form) {
1057
- B.info("submitForm: No form is active - ignored");
1057
+ q.info("submitForm: No form is active - ignored");
1058
1058
  return;
1059
1059
  }
1060
1060
  const c = `${re}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -1063,7 +1063,7 @@ class X extends Ge {
1063
1063
  async sendFormData(t, c) {
1064
1064
  const i = await this.getWsClient();
1065
1065
  if (!i) {
1066
- B.error("Error - failed to obtain ws client");
1066
+ q.error("Error - failed to obtain ws client");
1067
1067
  return;
1068
1068
  }
1069
1069
  i.sendMessage({
@@ -1073,36 +1073,39 @@ class X extends Ge {
1073
1073
  });
1074
1074
  }
1075
1075
  }
1076
- J([
1077
- ue({ prefix: re }),
1078
- K({ value: "en" })
1079
- ], X.prototype, "language", 2);
1080
- J([
1081
- ue({ prefix: re }),
1082
- K({ value: "light" })
1083
- ], X.prototype, "theme", 2);
1084
- J([
1085
- ue({ prefix: re }),
1086
- K({ type: Boolean, value: !1 })
1087
- ], X.prototype, "open", 2);
1088
- J([
1089
- ue({ prefix: re }),
1090
- K({ value: "false" })
1091
- ], X.prototype, "connectWs", 2);
1092
- J([
1093
- ue({ prefix: re }),
1094
- K({ value: gt() })
1095
- ], X.prototype, "conversationId", 2);
1096
- J([
1097
- ue({ prefix: re }),
1098
- K({ value: 0 })
1099
- ], X.prototype, "lastConversationUpdate", 2);
1100
- J([
1101
- ue({ prefix: re }),
1102
- K({ type: Array, value: [] })
1103
- ], X.prototype, "messages", 2);
1104
- J([
1105
- K({
1076
+ G([
1077
+ pe({ prefix: re }),
1078
+ Z({ value: "en" })
1079
+ ], Y.prototype, "language", 2);
1080
+ G([
1081
+ pe({ prefix: re }),
1082
+ Z({ value: "light" })
1083
+ ], Y.prototype, "theme", 2);
1084
+ G([
1085
+ pe({ prefix: re }),
1086
+ Z({ type: Boolean, value: !1 })
1087
+ ], Y.prototype, "open", 2);
1088
+ G([
1089
+ Z({ type: Boolean, value: !1 })
1090
+ ], Y.prototype, "alwaysOpen", 2);
1091
+ G([
1092
+ pe({ prefix: re }),
1093
+ Z({ value: "false" })
1094
+ ], Y.prototype, "connectWs", 2);
1095
+ G([
1096
+ pe({ prefix: re }),
1097
+ Z({ value: gt() })
1098
+ ], Y.prototype, "conversationId", 2);
1099
+ G([
1100
+ pe({ prefix: re }),
1101
+ Z({ value: 0 })
1102
+ ], Y.prototype, "lastConversationUpdate", 2);
1103
+ G([
1104
+ pe({ prefix: re }),
1105
+ Z({ type: Array, value: [] })
1106
+ ], Y.prototype, "messages", 2);
1107
+ G([
1108
+ Z({
1106
1109
  type: Array,
1107
1110
  value: []
1108
1111
  /*
@@ -1144,29 +1147,29 @@ J([
1144
1147
  },
1145
1148
  ],*/
1146
1149
  })
1147
- ], X.prototype, "actions", 2);
1148
- J([
1149
- K({ type: Object, value: null })
1150
- ], X.prototype, "form", 2);
1151
- J([
1152
- K({ type: Boolean, value: !1 })
1153
- ], X.prototype, "botSettingsInitialized", 2);
1154
- J([
1155
- K({ type: Object, value: null })
1156
- ], X.prototype, "botSettings", 2);
1157
- J([
1158
- K({ type: Boolean, value: !0 })
1159
- ], X.prototype, "disabled", 2);
1160
- J([
1161
- ue({ prefix: re }),
1162
- K({ value: "true" })
1163
- ], X.prototype, "shouldEngage", 2);
1164
- J([
1165
- K({ type: Boolean, value: !1 })
1166
- ], X.prototype, "engage", 2);
1167
- J([
1168
- ue({ prefix: re }),
1169
- K({
1150
+ ], Y.prototype, "actions", 2);
1151
+ G([
1152
+ Z({ type: Object, value: null })
1153
+ ], Y.prototype, "form", 2);
1154
+ G([
1155
+ Z({ type: Boolean, value: !1 })
1156
+ ], Y.prototype, "botSettingsInitialized", 2);
1157
+ G([
1158
+ Z({ type: Object, value: null })
1159
+ ], Y.prototype, "botSettings", 2);
1160
+ G([
1161
+ Z({ type: Boolean, value: !0 })
1162
+ ], Y.prototype, "disabled", 2);
1163
+ G([
1164
+ pe({ prefix: re }),
1165
+ Z({ value: "true" })
1166
+ ], Y.prototype, "shouldEngage", 2);
1167
+ G([
1168
+ Z({ type: Boolean, value: !1 })
1169
+ ], Y.prototype, "engage", 2);
1170
+ G([
1171
+ pe({ prefix: re }),
1172
+ Z({
1170
1173
  type: Object,
1171
1174
  value: {
1172
1175
  orgId: null,
@@ -1176,8 +1179,8 @@ J([
1176
1179
  splitMessagesAtBreak: !1
1177
1180
  }
1178
1181
  })
1179
- ], X.prototype, "setting", 2);
1180
- const T = new X(), sc = W`
1182
+ ], Y.prototype, "setting", 2);
1183
+ const S = new Y(), sc = U`
1181
1184
  ${he}
1182
1185
  :host {
1183
1186
  position: relative;
@@ -1223,6 +1226,10 @@ const T = new X(), sc = W`
1223
1226
  color: var(--enegelai-bot-header-color, rgba(255, 255, 255, 1));
1224
1227
  }
1225
1228
 
1229
+ .cb-header-img {
1230
+ height: 40px;
1231
+ }
1232
+
1226
1233
  .cb-header-close {
1227
1234
  color: var(--enegelai-bot-header-color, rgba(255, 255, 255, 1));
1228
1235
  }
@@ -1270,18 +1277,24 @@ let tt = class extends Q {
1270
1277
  }
1271
1278
  */
1272
1279
  render() {
1273
- return x` <header class="cb-header" part="header">
1274
- <span class="left">
1275
- <sl-button class="cb-setting-button" variant="text" circle>
1276
- <cb-icon class="cb-header-logo" svg="${T.setting.logoSvg}"></cb-icon>
1277
- </sl-button>
1278
- </span>
1280
+ return w` <header class="cb-header" part="header">
1281
+ ${ue(
1282
+ S.setting.logoUrl !== "",
1283
+ () => w`<img class="cb-header-img" src="${S.setting.logoUrl}" />`,
1284
+ () => w`<sl-button class="cb-setting-button" variant="text" circle>
1285
+ <cb-icon class="cb-header-logo" svg="${S.setting.logoSvg}"></cb-icon>
1286
+ </sl-button>`
1287
+ )}
1279
1288
  <span class="center title">${this.title}</span>
1280
- <span class="right">
1281
- <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1282
- <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1283
- </sl-button>
1284
- </span>
1289
+ ${ue(
1290
+ S.alwaysOpen,
1291
+ () => w``,
1292
+ () => w`<span class="right">
1293
+ <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1294
+ <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1295
+ </sl-button>
1296
+ </span>`
1297
+ )}
1285
1298
  </header>`;
1286
1299
  }
1287
1300
  _clickHandler() {
@@ -1300,9 +1313,9 @@ Jt([
1300
1313
  k({ type: String, attribute: "title" })
1301
1314
  ], tt.prototype, "title", 2);
1302
1315
  tt = Jt([
1303
- U("cb-header")
1316
+ W("cb-header")
1304
1317
  ], tt);
1305
- const bc = W`
1318
+ const bc = U`
1306
1319
  ${he}
1307
1320
  .cb-footer {
1308
1321
  line-height: 60px;
@@ -1327,7 +1340,7 @@ let mt = class extends Q {
1327
1340
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1328
1341
  }
1329
1342
  render() {
1330
- return x`
1343
+ return w`
1331
1344
  <div class="cb-footer" part="footer">
1332
1345
  yugasun@${this.year}
1333
1346
  <a
@@ -1359,9 +1372,9 @@ let mt = class extends Q {
1359
1372
  };
1360
1373
  mt.styles = bc;
1361
1374
  mt = pc([
1362
- U("cb-footer")
1375
+ W("cb-footer")
1363
1376
  ], mt);
1364
- const gc = W`
1377
+ const gc = U`
1365
1378
  ${he}
1366
1379
 
1367
1380
  :host {
@@ -1514,12 +1527,12 @@ var Qt = { exports: {} };
1514
1527
  return e && s(r.prototype, e), n && s(r, n), r;
1515
1528
  }
1516
1529
  var b = Date.now();
1517
- function w() {
1530
+ function x() {
1518
1531
  var r = {}, e = !0, n = 0, o = arguments.length;
1519
1532
  Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (e = arguments[0], n++);
1520
1533
  for (var d = function(h) {
1521
1534
  for (var u in h)
1522
- Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = w(!0, r[u], h[u]) : r[u] = h[u]);
1535
+ Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = x(!0, r[u], h[u]) : r[u] = h[u]);
1523
1536
  }; n < o; n++) {
1524
1537
  var l = arguments[n];
1525
1538
  d(l);
@@ -1527,18 +1540,18 @@ var Qt = { exports: {} };
1527
1540
  return r;
1528
1541
  }
1529
1542
  function _(r, e) {
1530
- if ((te(r) || r === window || r === document) && (r = [r]), Ct(r) || $e(r) || (r = [r]), Tt(r) != 0) {
1531
- if (Ct(r) && !$e(r))
1543
+ if ((te(r) || r === window || r === document) && (r = [r]), Ct(r) || Ie(r) || (r = [r]), Tt(r) != 0) {
1544
+ if (Ct(r) && !Ie(r))
1532
1545
  for (var n = r.length, o = 0; o < n && e.call(r[o], r[o], o, r) !== !1; o++)
1533
1546
  ;
1534
- else if ($e(r)) {
1547
+ else if (Ie(r)) {
1535
1548
  for (var d in r)
1536
- if (N(r, d) && e.call(r[d], r[d], d, r) === !1)
1549
+ if (F(r, d) && e.call(r[d], r[d], d, r) === !1)
1537
1550
  break;
1538
1551
  }
1539
1552
  }
1540
1553
  }
1541
- function R(r) {
1554
+ function V(r) {
1542
1555
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, o = r[b] = r[b] || [], d = { all: o, evt: null, found: null };
1543
1556
  return e && n && Tt(o) > 0 && _(o, function(l, h) {
1544
1557
  if (l.eventName == e && l.fn.toString() == n.toString())
@@ -1547,20 +1560,20 @@ var Qt = { exports: {} };
1547
1560
  }
1548
1561
  function j(r) {
1549
1562
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = e.onElement, o = e.withCallback, d = e.avoidDuplicate, l = d === void 0 || d, h = e.once, u = h !== void 0 && h, p = e.useCapture, v = p !== void 0 && p, g = arguments.length > 2 ? arguments[2] : void 0, m = n || [];
1550
- function E(S) {
1551
- y(o) && o.call(g, S, this), u && E.destroy();
1563
+ function E(C) {
1564
+ y(o) && o.call(g, C, this), u && E.destroy();
1552
1565
  }
1553
1566
  return ie(m) && (m = document.querySelectorAll(m)), E.destroy = function() {
1554
- _(m, function(S) {
1555
- var O = R(S, r, E);
1556
- O.found && O.all.splice(O.evt, 1), S.removeEventListener && S.removeEventListener(r, E, v);
1567
+ _(m, function(C) {
1568
+ var O = V(C, r, E);
1569
+ O.found && O.all.splice(O.evt, 1), C.removeEventListener && C.removeEventListener(r, E, v);
1557
1570
  });
1558
- }, _(m, function(S) {
1559
- var O = R(S, r, E);
1560
- (S.addEventListener && l && !O.found || !l) && (S.addEventListener(r, E, v), O.all.push({ eventName: r, fn: E }));
1571
+ }, _(m, function(C) {
1572
+ var O = V(C, r, E);
1573
+ (C.addEventListener && l && !O.found || !l) && (C.addEventListener(r, E, v), O.all.push({ eventName: r, fn: E }));
1561
1574
  }), E;
1562
1575
  }
1563
- function C(r, e) {
1576
+ function T(r, e) {
1564
1577
  _(e.split(" "), function(n) {
1565
1578
  return r.classList.add(n);
1566
1579
  });
@@ -1570,7 +1583,7 @@ var Qt = { exports: {} };
1570
1583
  return r.classList.remove(n);
1571
1584
  });
1572
1585
  }
1573
- function V(r, e) {
1586
+ function N(r, e) {
1574
1587
  return r.classList.contains(e);
1575
1588
  }
1576
1589
  function ce(r, e) {
@@ -1589,7 +1602,7 @@ var Qt = { exports: {} };
1589
1602
  return y(n) && n(), !1;
1590
1603
  var o = lt(), d = e.split(" ");
1591
1604
  _(d, function(l) {
1592
- C(r, "g" + l);
1605
+ T(r, "g" + l);
1593
1606
  }), j(o, { onElement: r, avoidDuplicate: !1, once: !0, withCallback: function(l, h) {
1594
1607
  _(d, function(u) {
1595
1608
  M(h, "g" + u);
@@ -1602,7 +1615,7 @@ var Qt = { exports: {} };
1602
1615
  return r.style.webkitTransform = "", r.style.MozTransform = "", r.style.msTransform = "", r.style.OTransform = "", r.style.transform = "", !1;
1603
1616
  r.style.webkitTransform = e, r.style.MozTransform = e, r.style.msTransform = e, r.style.OTransform = e, r.style.transform = e;
1604
1617
  }
1605
- function q(r) {
1618
+ function D(r) {
1606
1619
  r.style.display = "block";
1607
1620
  }
1608
1621
  function $(r) {
@@ -1623,7 +1636,7 @@ var Qt = { exports: {} };
1623
1636
  if (e.style[r] !== void 0)
1624
1637
  return n[r];
1625
1638
  }
1626
- function Me(r, e, n, o) {
1639
+ function $e(r, e, n, o) {
1627
1640
  if (r())
1628
1641
  e();
1629
1642
  else {
@@ -1653,7 +1666,7 @@ var Qt = { exports: {} };
1653
1666
  if ((o = document.querySelectorAll('script[src="' + r + '"]')) && o.length > 0) {
1654
1667
  if (y(n)) {
1655
1668
  if (ie(e))
1656
- return Me(function() {
1669
+ return $e(function() {
1657
1670
  return window[e] !== void 0;
1658
1671
  }, function() {
1659
1672
  n();
@@ -1665,7 +1678,7 @@ var Qt = { exports: {} };
1665
1678
  u.type = "text/javascript", u.src = r, u.onload = function() {
1666
1679
  if (y(n)) {
1667
1680
  if (ie(e))
1668
- return Me(function() {
1681
+ return $e(function() {
1669
1682
  return window[e] !== void 0;
1670
1683
  }, function() {
1671
1684
  n();
@@ -1676,7 +1689,7 @@ var Qt = { exports: {} };
1676
1689
  }
1677
1690
  }
1678
1691
  }
1679
- function xe() {
1692
+ function ke() {
1680
1693
  return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
1681
1694
  }
1682
1695
  function y(r) {
@@ -1694,22 +1707,22 @@ var Qt = { exports: {} };
1694
1707
  function Ct(r) {
1695
1708
  return r && r.length && isFinite(r.length);
1696
1709
  }
1697
- function $e(r) {
1710
+ function Ie(r) {
1698
1711
  return c(r) === "object" && r != null && !y(r) && !Ve(r);
1699
1712
  }
1700
1713
  function ne(r) {
1701
1714
  return r == null;
1702
1715
  }
1703
- function N(r, e) {
1716
+ function F(r, e) {
1704
1717
  return r !== null && hasOwnProperty.call(r, e);
1705
1718
  }
1706
1719
  function Tt(r) {
1707
- if ($e(r)) {
1720
+ if (Ie(r)) {
1708
1721
  if (r.keys)
1709
1722
  return r.keys().length;
1710
1723
  var e = 0;
1711
1724
  for (var n in r)
1712
- N(r, n) && e++;
1725
+ F(r, n) && e++;
1713
1726
  return e;
1714
1727
  }
1715
1728
  return r.length;
@@ -1755,10 +1768,10 @@ var Qt = { exports: {} };
1755
1768
  return;
1756
1769
  if (!d) {
1757
1770
  var u = Et();
1758
- return void (u && (u.focus(), C(u, "focused")));
1771
+ return void (u && (u.focus(), T(u, "focused")));
1759
1772
  }
1760
1773
  var p = Et(d.getAttribute("data-taborder"));
1761
- M(d, "focused"), p && (p.focus(), C(p, "focused"));
1774
+ M(d, "focused"), p && (p.focus(), T(p, "focused"));
1762
1775
  }
1763
1776
  o == 39 && r.nextSlide(), o == 37 && r.prevSlide(), o == 27 && r.close();
1764
1777
  } });
@@ -1797,7 +1810,7 @@ var Qt = { exports: {} };
1797
1810
  }
1798
1811
  } }]), r;
1799
1812
  }();
1800
- function Z(r, e) {
1813
+ function K(r, e) {
1801
1814
  var n = new la(r);
1802
1815
  return n.add(e), n;
1803
1816
  }
@@ -1806,7 +1819,7 @@ var Qt = { exports: {} };
1806
1819
  i(this, r), this.element = typeof e == "string" ? document.querySelector(e) : e, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), this.preV = { x: null, y: null }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = !1;
1807
1820
  var o = function() {
1808
1821
  };
1809
- this.rotate = Z(this.element, n.rotate || o), this.touchStart = Z(this.element, n.touchStart || o), this.multipointStart = Z(this.element, n.multipointStart || o), this.multipointEnd = Z(this.element, n.multipointEnd || o), this.pinch = Z(this.element, n.pinch || o), this.swipe = Z(this.element, n.swipe || o), this.tap = Z(this.element, n.tap || o), this.doubleTap = Z(this.element, n.doubleTap || o), this.longTap = Z(this.element, n.longTap || o), this.singleTap = Z(this.element, n.singleTap || o), this.pressMove = Z(this.element, n.pressMove || o), this.twoFingerPressMove = Z(this.element, n.twoFingerPressMove || o), this.touchMove = Z(this.element, n.touchMove || o), this.touchEnd = Z(this.element, n.touchEnd || o), this.touchCancel = Z(this.element, n.touchCancel || o), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
1822
+ this.rotate = K(this.element, n.rotate || o), this.touchStart = K(this.element, n.touchStart || o), this.multipointStart = K(this.element, n.multipointStart || o), this.multipointEnd = K(this.element, n.multipointEnd || o), this.pinch = K(this.element, n.pinch || o), this.swipe = K(this.element, n.swipe || o), this.tap = K(this.element, n.tap || o), this.doubleTap = K(this.element, n.doubleTap || o), this.longTap = K(this.element, n.longTap || o), this.singleTap = K(this.element, n.singleTap || o), this.pressMove = K(this.element, n.pressMove || o), this.twoFingerPressMove = K(this.element, n.twoFingerPressMove || o), this.touchMove = K(this.element, n.touchMove || o), this.touchEnd = K(this.element, n.touchEnd || o), this.touchCancel = K(this.element, n.touchCancel || o), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
1810
1823
  }
1811
1824
  return f(r, [{ key: "start", value: function(e) {
1812
1825
  if (e.touches)
@@ -1877,40 +1890,40 @@ var Qt = { exports: {} };
1877
1890
  for (h in p)
1878
1891
  if (u.style[h] !== void 0)
1879
1892
  return p[h];
1880
- }(), n = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, o = V(r, "gslide-media") ? r : r.querySelector(".gslide-media"), d = ce(o, ".ginner-container"), l = r.querySelector(".gslide-description");
1881
- n > 769 && (o = d), C(o, "greset"), P(o, "translate3d(0, 0, 0)"), j(e, { onElement: o, once: !0, withCallback: function(h, u) {
1893
+ }(), n = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, o = N(r, "gslide-media") ? r : r.querySelector(".gslide-media"), d = ce(o, ".ginner-container"), l = r.querySelector(".gslide-description");
1894
+ n > 769 && (o = d), T(o, "greset"), P(o, "translate3d(0, 0, 0)"), j(e, { onElement: o, once: !0, withCallback: function(h, u) {
1882
1895
  M(o, "greset");
1883
1896
  } }), o.style.opacity = "", l && (l.style.opacity = "");
1884
1897
  }
1885
1898
  function ha(r) {
1886
1899
  if (r.events.hasOwnProperty("touch"))
1887
1900
  return !1;
1888
- var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, S = 1, O = !1, z = !1, I = null, oe = null, ae = null, ge = null, me = 0, ke = 0, Ie = !1, ht = !1, _e = {}, Se = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), Ue = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1889
- if (u = !0, (V(L.targetTouches[0].target, "ginner-container") || ce(L.targetTouches[0].target, ".gslide-desc") || L.targetTouches[0].target.nodeName.toLowerCase() == "a") && (u = !1), ce(L.targetTouches[0].target, ".gslide-inline") && !V(L.targetTouches[0].target.parentNode, "gslide-inline") && (u = !1), u) {
1890
- if (Se = L.targetTouches[0], _e.pageX = L.targetTouches[0].pageX, _e.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, V(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), M(Ue, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1901
+ var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, C = 1, O = !1, z = !1, I = null, oe = null, ae = null, me = null, ye = 0, _e = 0, je = !1, ht = !1, Se = {}, Ce = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), We = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1902
+ if (u = !0, (N(L.targetTouches[0].target, "ginner-container") || ce(L.targetTouches[0].target, ".gslide-desc") || L.targetTouches[0].target.nodeName.toLowerCase() == "a") && (u = !1), ce(L.targetTouches[0].target, ".gslide-inline") && !N(L.targetTouches[0].target.parentNode, "gslide-inline") && (u = !1), u) {
1903
+ if (Ce = L.targetTouches[0], Se.pageX = L.targetTouches[0].pageX, Se.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, N(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), M(We, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1891
1904
  return;
1892
1905
  L.preventDefault();
1893
1906
  }
1894
1907
  }, touchMove: function(L) {
1895
- if (u && (Se = L.targetTouches[0], !O && !z)) {
1908
+ if (u && (Ce = L.targetTouches[0], !O && !z)) {
1896
1909
  if (o && o.offsetHeight > h) {
1897
- var G = _e.pageX - Se.pageX;
1898
- if (Math.abs(G) <= 13)
1910
+ var J = Se.pageX - Ce.pageX;
1911
+ if (Math.abs(J) <= 13)
1899
1912
  return !1;
1900
1913
  }
1901
1914
  m = !0;
1902
- var ye, Ye = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Ye, Ta = Lt - Sa;
1903
- if (Math.abs(Ca) > Math.abs(Ta) ? (Ie = !1, ht = !0) : (ht = !1, Ie = !0), e = Se.pageX - _e.pageX, me = 100 * e / l, n = Se.pageY - _e.pageY, ke = 100 * n / h, Ie && g && (ye = 1 - Math.abs(n) / h, Ue.style.opacity = ye, r.settings.touchFollowAxis && (me = 0)), ht && (ye = 1 - Math.abs(e) / l, v.style.opacity = ye, r.settings.touchFollowAxis && (ke = 0)), !g)
1904
- return P(v, "translate3d(".concat(me, "%, 0, 0)"));
1905
- P(v, "translate3d(".concat(me, "%, ").concat(ke, "%, 0)"));
1915
+ var ve, Ye = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Ye, Ta = Lt - Sa;
1916
+ if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, ye = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ve = 1 - Math.abs(n) / h, We.style.opacity = ve, r.settings.touchFollowAxis && (ye = 0)), ht && (ve = 1 - Math.abs(e) / l, v.style.opacity = ve, r.settings.touchFollowAxis && (_e = 0)), !g)
1917
+ return P(v, "translate3d(".concat(ye, "%, 0, 0)"));
1918
+ P(v, "translate3d(".concat(ye, "%, ").concat(_e, "%, 0)"));
1906
1919
  }
1907
1920
  }, touchEnd: function() {
1908
1921
  if (u) {
1909
1922
  if (m = !1, z || O)
1910
- return ae = I, void (ge = oe);
1911
- var L = Math.abs(parseInt(ke)), G = Math.abs(parseInt(me));
1923
+ return ae = I, void (me = oe);
1924
+ var L = Math.abs(parseInt(_e)), J = Math.abs(parseInt(ye));
1912
1925
  if (!(L > 29 && g))
1913
- return L < 29 && G < 25 ? (C(Ue, "greset"), Ue.style.opacity = 1, bt(v)) : void 0;
1926
+ return L < 29 && J < 25 ? (T(We, "greset"), We.style.opacity = 1, bt(v)) : void 0;
1914
1927
  r.close();
1915
1928
  }
1916
1929
  }, multipointEnd: function() {
@@ -1918,21 +1931,21 @@ var Qt = { exports: {} };
1918
1931
  O = !1;
1919
1932
  }, 50);
1920
1933
  }, multipointStart: function() {
1921
- O = !0, E = S || 1;
1934
+ O = !0, E = C || 1;
1922
1935
  }, pinch: function(L) {
1923
1936
  if (!g || m)
1924
1937
  return !1;
1925
1938
  O = !0, g.scaleX = g.scaleY = E * L.zoom;
1926
- var G = E * L.zoom;
1927
- if (z = !0, G <= 1)
1928
- return z = !1, G = 1, ge = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1929
- G > 4.5 && (G = 4.5), g.style.transform = "scale3d(".concat(G, ", ").concat(G, ", 1)"), S = G;
1939
+ var J = E * L.zoom;
1940
+ if (z = !0, J <= 1)
1941
+ return z = !1, J = 1, me = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1942
+ J > 4.5 && (J = 4.5), g.style.transform = "scale3d(".concat(J, ", ").concat(J, ", 1)"), C = J;
1930
1943
  }, pressMove: function(L) {
1931
1944
  if (z && !O) {
1932
- var G = Se.pageX - _e.pageX, ye = Se.pageY - _e.pageY;
1933
- ae && (G += ae), ge && (ye += ge), I = G, oe = ye;
1934
- var Ye = "translate3d(".concat(G, "px, ").concat(ye, "px, 0)");
1935
- S && (Ye += " scale3d(".concat(S, ", ").concat(S, ", 1)")), P(g, Ye);
1945
+ var J = Ce.pageX - Se.pageX, ve = Ce.pageY - Se.pageY;
1946
+ ae && (J += ae), me && (ve += me), I = J, oe = ve;
1947
+ var Ye = "translate3d(".concat(J, "px, ").concat(ve, "px, 0)");
1948
+ C && (Ye += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Ye);
1936
1949
  }
1937
1950
  }, swipe: function(L) {
1938
1951
  if (!z)
@@ -2064,22 +2077,22 @@ var Qt = { exports: {} };
2064
2077
  }
2065
2078
  function ga(r, e, n, o) {
2066
2079
  var d = this, l = r.querySelector(".ginner-container"), h = "gvideo" + n, u = r.querySelector(".gslide-media"), p = this.getAllPlayers();
2067
- C(l, "gvideo-container"), u.insertBefore(de('<div class="gvideo-wrapper"></div>'), u.firstChild);
2080
+ T(l, "gvideo-container"), u.insertBefore(de('<div class="gvideo-wrapper"></div>'), u.firstChild);
2068
2081
  var v = r.querySelector(".gvideo-wrapper");
2069
2082
  Re(this.settings.plyr.css, "Plyr");
2070
2083
  var g = e.href, m = e == null ? void 0 : e.videoProvider, E = !1;
2071
2084
  u.style.maxWidth = e.width, Re(this.settings.plyr.js, "Plyr", function() {
2072
2085
  if (!m && g.match(/vimeo\.com\/([0-9]*)/) && (m = "vimeo"), !m && (g.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || g.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || g.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)) && (m = "youtube"), m === "local" || !m) {
2073
2086
  m = "local";
2074
- var S = '<video id="' + h + '" ';
2075
- S += 'style="background:#000; max-width: '.concat(e.width, ';" '), S += 'preload="metadata" ', S += 'x-webkit-airplay="allow" ', S += "playsinline ", S += "controls ", S += 'class="gvideo-local">', S += '<source src="'.concat(g, '">'), E = de(S += "</video>");
2087
+ var C = '<video id="' + h + '" ';
2088
+ C += 'style="background:#000; max-width: '.concat(e.width, ';" '), C += 'preload="metadata" ', C += 'x-webkit-airplay="allow" ', C += "playsinline ", C += "controls ", C += 'class="gvideo-local">', C += '<source src="'.concat(g, '">'), E = de(C += "</video>");
2076
2089
  }
2077
2090
  var O = E || de('<div id="'.concat(h, '" data-plyr-provider="').concat(m, '" data-plyr-embed-id="').concat(g, '"></div>'));
2078
- C(v, "".concat(m, "-video gvideo")), v.appendChild(O), v.setAttribute("data-id", h), v.setAttribute("data-index", n);
2079
- var z = N(d.settings.plyr, "config") ? d.settings.plyr.config : {}, I = new Plyr("#" + h, z);
2091
+ T(v, "".concat(m, "-video gvideo")), v.appendChild(O), v.setAttribute("data-id", h), v.setAttribute("data-index", n);
2092
+ var z = F(d.settings.plyr, "config") ? d.settings.plyr.config : {}, I = new Plyr("#" + h, z);
2080
2093
  I.on("ready", function(oe) {
2081
2094
  p[h] = oe.detail.plyr, y(o) && o();
2082
- }), Me(function() {
2095
+ }), $e(function() {
2083
2096
  return r.querySelector("iframe") && r.querySelector("iframe").dataset.ready == "true";
2084
2097
  }, function() {
2085
2098
  d.resize(r);
@@ -2088,10 +2101,10 @@ var Qt = { exports: {} };
2088
2101
  }
2089
2102
  function Mt(r) {
2090
2103
  var e = ce(r.target, ".gslide-media");
2091
- r.type === "enterfullscreen" && C(e, "fullscreen"), r.type === "exitfullscreen" && M(e, "fullscreen");
2104
+ r.type === "enterfullscreen" && T(e, "fullscreen"), r.type === "exitfullscreen" && M(e, "fullscreen");
2092
2105
  }
2093
2106
  function ma(r, e, n, o) {
2094
- var d, l = this, h = r.querySelector(".gslide-media"), u = !(!N(e, "href") || !e.href) && e.href.split("#").pop().trim(), p = !(!N(e, "content") || !e.content) && e.content;
2107
+ var d, l = this, h = r.querySelector(".gslide-media"), u = !(!F(e, "href") || !e.href) && e.href.split("#").pop().trim(), p = !(!F(e, "content") || !e.content) && e.content;
2095
2108
  if (p && (ie(p) && (d = de('<div class="ginlined-content">'.concat(p, "</div>"))), te(p))) {
2096
2109
  p.style.display == "none" && (p.style.display = "block");
2097
2110
  var v = document.createElement("div");
@@ -2102,7 +2115,7 @@ var Qt = { exports: {} };
2102
2115
  if (!g)
2103
2116
  return !1;
2104
2117
  var m = g.cloneNode(!0);
2105
- m.style.height = e.height, m.style.maxWidth = e.width, C(m, "ginlined-content"), d = m;
2118
+ m.style.height = e.height, m.style.maxWidth = e.width, T(m, "ginlined-content"), d = m;
2106
2119
  }
2107
2120
  if (!d)
2108
2121
  return console.error("Unable to append inline slide content", e), !1;
@@ -2114,7 +2127,7 @@ var Qt = { exports: {} };
2114
2127
  var d = r.querySelector(".gslide-media"), l = function(h) {
2115
2128
  var u = h.url, p = h.allow, v = h.callback, g = h.appendTo, m = document.createElement("iframe");
2116
2129
  return m.className = "vimeo-video gvideo", m.src = u, m.style.width = "100%", m.style.height = "100%", p && m.setAttribute("allow", p), m.onload = function() {
2117
- m.onload = null, C(m, "node-ready"), y(v) && v();
2130
+ m.onload = null, T(m, "node-ready"), y(v) && v();
2118
2131
  }, g && g.appendChild(m), m;
2119
2132
  }({ url: e.href, callback: o });
2120
2133
  d.parentNode.style.maxWidth = e.width, d.parentNode.style.height = e.height, d.appendChild(l);
@@ -2122,21 +2135,21 @@ var Qt = { exports: {} };
2122
2135
  var va = function() {
2123
2136
  function r() {
2124
2137
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2125
- i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, $e(e) && (this.defaults = w(this.defaults, e));
2138
+ i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ie(e) && (this.defaults = x(this.defaults, e));
2126
2139
  }
2127
2140
  return f(r, [{ key: "sourceType", value: function(e) {
2128
2141
  var n = e;
2129
2142
  return (e = e.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) !== null ? "image" : e.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || e.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || e.match(/vimeo\.com\/([0-9]*)/) || e.match(/\.(mp4|ogg|webm|mov)/) !== null ? "video" : e.match(/\.(mp3|wav|wma|aac|ogg)/) !== null ? "audio" : e.indexOf("#") > -1 && n.split("#").pop().trim() !== "" ? "inline" : e.indexOf("goajax=true") > -1 ? "ajax" : "external";
2130
2143
  } }, { key: "parseConfig", value: function(e, n) {
2131
- var o = this, d = w({ descPosition: n.descPosition }, this.defaults);
2132
- if ($e(e) && !te(e)) {
2133
- N(e, "type") || (N(e, "content") && e.content ? e.type = "inline" : N(e, "href") && (e.type = this.sourceType(e.href)));
2134
- var l = w(d, e);
2144
+ var o = this, d = x({ descPosition: n.descPosition }, this.defaults);
2145
+ if (Ie(e) && !te(e)) {
2146
+ F(e, "type") || (F(e, "content") && e.content ? e.type = "inline" : F(e, "href") && (e.type = this.sourceType(e.href)));
2147
+ var l = x(d, e);
2135
2148
  return this.setSize(l, n), l;
2136
2149
  }
2137
2150
  var h = "", u = e.getAttribute("data-glightbox"), p = e.nodeName.toLowerCase();
2138
2151
  if (p === "a" && (h = e.href), p === "img" && (h = e.src, d.alt = e.alt), d.href = h, _(d, function(O, z) {
2139
- N(n, z) && z !== "width" && (d[z] = n[z]);
2152
+ F(n, z) && z !== "width" && (d[z] = n[z]);
2140
2153
  var I = e.dataset[z];
2141
2154
  ne(I) || (d[z] = o.sanitizeValue(I));
2142
2155
  }), d.content && (d.type = "inline"), !d.type && h && (d.type = this.sourceType(h)), ne(u)) {
@@ -2155,8 +2168,8 @@ var Qt = { exports: {} };
2155
2168
  }), m = m.join("\\s?:|"), u.trim() !== "" && _(d, function(O, z) {
2156
2169
  var I = u, oe = new RegExp("s?" + z + "s?:s?(.*?)(" + m + "s?:|$)"), ae = I.match(oe);
2157
2170
  if (ae && ae.length && ae[1]) {
2158
- var ge = ae[1].trim().replace(/;\s*$/, "");
2159
- d[z] = o.sanitizeValue(ge);
2171
+ var me = ae[1].trim().replace(/;\s*$/, "");
2172
+ d[z] = o.sanitizeValue(me);
2160
2173
  }
2161
2174
  });
2162
2175
  }
@@ -2171,42 +2184,42 @@ var Qt = { exports: {} };
2171
2184
  E && (d.description = E);
2172
2185
  }
2173
2186
  if (!d.description) {
2174
- var S = e.querySelector(".glightbox-desc");
2175
- S && (d.description = S.innerHTML);
2187
+ var C = e.querySelector(".glightbox-desc");
2188
+ C && (d.description = C.innerHTML);
2176
2189
  }
2177
2190
  return this.setSize(d, n, e), this.slideConfig = d, d;
2178
2191
  } }, { key: "setSize", value: function(e, n) {
2179
2192
  var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = e.type == "video" ? this.checkSize(n.videosWidth) : this.checkSize(n.width), l = this.checkSize(n.height);
2180
- return e.width = N(e, "width") && e.width !== "" ? this.checkSize(e.width) : d, e.height = N(e, "height") && e.height !== "" ? this.checkSize(e.height) : l, o && e.type == "image" && (e._hasCustomWidth = !!o.dataset.width, e._hasCustomHeight = !!o.dataset.height), e;
2193
+ return e.width = F(e, "width") && e.width !== "" ? this.checkSize(e.width) : d, e.height = F(e, "height") && e.height !== "" ? this.checkSize(e.height) : l, o && e.type == "image" && (e._hasCustomWidth = !!o.dataset.width, e._hasCustomHeight = !!o.dataset.height), e;
2181
2194
  } }, { key: "checkSize", value: function(e) {
2182
2195
  return Ne(e) ? "".concat(e, "px") : e;
2183
2196
  } }, { key: "sanitizeValue", value: function(e) {
2184
2197
  return e !== "true" && e !== "false" ? e : e === "true";
2185
2198
  } }]), r;
2186
- }(), We = function() {
2199
+ }(), Ue = function() {
2187
2200
  function r(e, n, o) {
2188
2201
  i(this, r), this.element = e, this.instance = n, this.index = o;
2189
2202
  }
2190
2203
  return f(r, [{ key: "setContent", value: function() {
2191
2204
  var e = this, n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2192
- if (V(n, "loaded"))
2205
+ if (N(n, "loaded"))
2193
2206
  return !1;
2194
- var d = this.instance.settings, l = this.slideConfig, h = xe();
2207
+ var d = this.instance.settings, l = this.slideConfig, h = ke();
2195
2208
  y(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: n, player: !1 });
2196
- var u = l.type, p = l.descPosition, v = n.querySelector(".gslide-media"), g = n.querySelector(".gslide-title"), m = n.querySelector(".gslide-desc"), E = n.querySelector(".gdesc-inner"), S = o, O = "gSlideTitle_" + this.index, z = "gSlideDesc_" + this.index;
2197
- if (y(d.afterSlideLoad) && (S = function() {
2209
+ var u = l.type, p = l.descPosition, v = n.querySelector(".gslide-media"), g = n.querySelector(".gslide-title"), m = n.querySelector(".gslide-desc"), E = n.querySelector(".gdesc-inner"), C = o, O = "gSlideTitle_" + this.index, z = "gSlideDesc_" + this.index;
2210
+ if (y(d.afterSlideLoad) && (C = function() {
2198
2211
  y(o) && o(), d.afterSlideLoad({ index: e.index, slide: n, player: e.instance.getSlidePlayerInstance(e.index) });
2199
- }), l.title == "" && l.description == "" ? E && E.parentNode.parentNode.removeChild(E.parentNode) : (g && l.title !== "" ? (g.id = O, g.innerHTML = l.title) : g.parentNode.removeChild(g), m && l.description !== "" ? (m.id = z, h && d.moreLength > 0 ? (l.smallDescription = this.slideShortDesc(l.description, d.moreLength, d.moreText), m.innerHTML = l.smallDescription, this.descriptionEvents(m, l)) : m.innerHTML = l.description) : m.parentNode.removeChild(m), C(v.parentNode, "desc-".concat(p)), C(E.parentNode, "description-".concat(p))), C(v, "gslide-".concat(u)), C(n, "loaded"), u !== "video") {
2212
+ }), l.title == "" && l.description == "" ? E && E.parentNode.parentNode.removeChild(E.parentNode) : (g && l.title !== "" ? (g.id = O, g.innerHTML = l.title) : g.parentNode.removeChild(g), m && l.description !== "" ? (m.id = z, h && d.moreLength > 0 ? (l.smallDescription = this.slideShortDesc(l.description, d.moreLength, d.moreText), m.innerHTML = l.smallDescription, this.descriptionEvents(m, l)) : m.innerHTML = l.description) : m.parentNode.removeChild(m), T(v.parentNode, "desc-".concat(p)), T(E.parentNode, "description-".concat(p))), T(v, "gslide-".concat(u)), T(n, "loaded"), u !== "video") {
2200
2213
  if (u !== "external")
2201
- return u === "inline" ? (ma.apply(this.instance, [n, l, this.index, S]), void (l.draggable && new At({ dragEl: n.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: n, instance: this.instance }))) : void (u !== "image" ? y(S) && S() : pa(n, l, this.index, function() {
2214
+ return u === "inline" ? (ma.apply(this.instance, [n, l, this.index, C]), void (l.draggable && new At({ dragEl: n.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: n, instance: this.instance }))) : void (u !== "image" ? y(C) && C() : pa(n, l, this.index, function() {
2202
2215
  var I = n.querySelector("img");
2203
- l.draggable && new At({ dragEl: I, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: n, instance: e.instance }), l.zoomable && I.naturalWidth > I.offsetWidth && (C(I, "zoomable"), new ua(I, n, function() {
2216
+ l.draggable && new At({ dragEl: I, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: n, instance: e.instance }), l.zoomable && I.naturalWidth > I.offsetWidth && (T(I, "zoomable"), new ua(I, n, function() {
2204
2217
  e.instance.resize();
2205
- })), y(S) && S();
2218
+ })), y(C) && C();
2206
2219
  }));
2207
- ya.apply(this, [n, l, this.index, S]);
2220
+ ya.apply(this, [n, l, this.index, C]);
2208
2221
  } else
2209
- ga.apply(this.instance, [n, l, this.index, S]);
2222
+ ga.apply(this.instance, [n, l, this.index, C]);
2210
2223
  } }, { key: "slideShortDesc", value: function(e) {
2211
2224
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, o = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], d = document.createElement("div");
2212
2225
  d.innerHTML = e;
@@ -2224,9 +2237,9 @@ var Qt = { exports: {} };
2224
2237
  var u = document.body, p = ce(h, ".gslide-desc");
2225
2238
  if (!p)
2226
2239
  return !1;
2227
- p.innerHTML = n.description, C(u, "gdesc-open");
2240
+ p.innerHTML = n.description, T(u, "gdesc-open");
2228
2241
  var v = j("click", { onElement: [u, ce(p, ".gslide-description")], withCallback: function(g, m) {
2229
- g.target.nodeName.toLowerCase() !== "a" && (M(u, "gdesc-open"), C(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2242
+ g.target.nodeName.toLowerCase() !== "a" && (M(u, "gdesc-open"), T(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2230
2243
  M(u, "gdesc-closed");
2231
2244
  }, 400), v.destroy());
2232
2245
  } });
@@ -2238,7 +2251,7 @@ var Qt = { exports: {} };
2238
2251
  var e = new va(this.instance.settings.slideExtraAttributes);
2239
2252
  return this.slideConfig = e.parseConfig(this.element, this.instance.settings), this.slideConfig;
2240
2253
  } }]), r;
2241
- }(), $t = xe(), It = xe() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
2254
+ }(), $t = ke(), It = ke() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
2242
2255
  <div class="gslide-inner-content">
2243
2256
  <div class="ginner-container">
2244
2257
  <div class="gslide-media">
@@ -2263,7 +2276,7 @@ var Qt = { exports: {} };
2263
2276
  </div>` }, xa = function() {
2264
2277
  function r() {
2265
2278
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2266
- i(this, r), this.customOptions = e, this.settings = w(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2279
+ i(this, r), this.customOptions = e, this.settings = x(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2267
2280
  }
2268
2281
  return f(r, [{ key: "init", value: function() {
2269
2282
  var e = this, n = this.getSelector();
@@ -2284,34 +2297,34 @@ var Qt = { exports: {} };
2284
2297
  var l = document.body, h = window.innerWidth - document.documentElement.clientWidth;
2285
2298
  if (h > 0) {
2286
2299
  var u = document.createElement("style");
2287
- u.type = "text/css", u.className = "gcss-styles", u.innerText = ".gscrollbar-fixer {margin-right: ".concat(h, "px}"), document.head.appendChild(u), C(l, "gscrollbar-fixer");
2300
+ u.type = "text/css", u.className = "gcss-styles", u.innerText = ".gscrollbar-fixer {margin-right: ".concat(h, "px}"), document.head.appendChild(u), T(l, "gscrollbar-fixer");
2288
2301
  }
2289
- C(l, "glightbox-open"), C(jt, "glightbox-open"), $t && (C(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (C(this.prevButton, "glightbox-button-hidden"), C(this.nextButton, "glightbox-button-hidden")) : (M(this.prevButton, "glightbox-button-hidden"), M(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2302
+ T(l, "glightbox-open"), T(jt, "glightbox-open"), $t && (T(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (T(this.prevButton, "glightbox-button-hidden"), T(this.nextButton, "glightbox-button-hidden")) : (M(this.prevButton, "glightbox-button-hidden"), M(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2290
2303
  } }, { key: "openAt", value: function() {
2291
2304
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
2292
2305
  this.open(null, e);
2293
2306
  } }, { key: "showSlide", value: function() {
2294
2307
  var e = this, n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2295
- q(this.loader), this.index = parseInt(n);
2308
+ D(this.loader), this.index = parseInt(n);
2296
2309
  var d = this.slidesContainer.querySelector(".current");
2297
2310
  d && M(d, "current"), this.slideAnimateOut();
2298
2311
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
2299
- if (V(l, "loaded"))
2312
+ if (N(l, "loaded"))
2300
2313
  this.slideAnimateIn(l, o), $(this.loader);
2301
2314
  else {
2302
- q(this.loader);
2315
+ D(this.loader);
2303
2316
  var h = this.elements[n], u = { index: this.index, slide: l, slideNode: l, slideConfig: h.slideConfig, slideIndex: this.index, trigger: h.node, player: null };
2304
2317
  this.trigger("slide_before_load", u), h.instance.setContent(l, function() {
2305
2318
  $(e.loader), e.resize(), e.slideAnimateIn(l, o), e.trigger("slide_after_load", u);
2306
2319
  });
2307
2320
  }
2308
- this.slideDescription = l.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && V(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(n + 1), this.preloadSlide(n - 1)), this.updateNavigationClasses(), this.activeSlide = l;
2321
+ this.slideDescription = l.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && N(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(n + 1), this.preloadSlide(n - 1)), this.updateNavigationClasses(), this.activeSlide = l;
2309
2322
  } }, { key: "preloadSlide", value: function(e) {
2310
2323
  var n = this;
2311
2324
  if (e < 0 || e > this.elements.length - 1 || ne(this.elements[e]))
2312
2325
  return !1;
2313
2326
  var o = this.slidesContainer.querySelectorAll(".gslide")[e];
2314
- if (V(o, "loaded"))
2327
+ if (N(o, "loaded"))
2315
2328
  return !1;
2316
2329
  var d = this.elements[e], l = d.type, h = { index: e, slide: o, slideNode: o, slideConfig: d.slideConfig, slideIndex: e, trigger: d.node, player: null };
2317
2330
  this.trigger("slide_before_load", h), l === "video" || l === "external" ? setTimeout(function() {
@@ -2333,7 +2346,7 @@ var Qt = { exports: {} };
2333
2346
  } }, { key: "insertSlide", value: function() {
2334
2347
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
2335
2348
  n < 0 && (n = this.elements.length);
2336
- var o = new We(e, this, n), d = o.getConfig(), l = w({}, d), h = o.create(), u = this.elements.length - 1;
2349
+ var o = new Ue(e, this, n), d = o.getConfig(), l = x({}, d), h = o.create(), u = this.elements.length - 1;
2337
2350
  l.index = n, l.node = !1, l.instance = o, l.slideConfig = d, this.elements.splice(n, 0, l);
2338
2351
  var p = null, v = null;
2339
2352
  if (this.slidesContainer) {
@@ -2366,12 +2379,12 @@ var Qt = { exports: {} };
2366
2379
  }
2367
2380
  setTimeout(function() {
2368
2381
  o.resize(e);
2369
- }, 100), C(e, "current");
2382
+ }, 100), T(e, "current");
2370
2383
  } }, { key: "slideAnimateOut", value: function() {
2371
2384
  if (!this.prevActiveSlide)
2372
2385
  return !1;
2373
2386
  var e = this.prevActiveSlide;
2374
- M(e, this.effectsClasses), C(e, "prev");
2387
+ M(e, this.effectsClasses), T(e, "prev");
2375
2388
  var n = this.settings.slideEffect, o = n !== "none" ? this.settings.cssEfects[n].out : n;
2376
2389
  this.slidePlayerPause(e), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), y(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (o = this.settings.cssEfects.slideBack.out), A(e, o, function() {
2377
2390
  var d = e.querySelector(".ginner-container"), l = e.querySelector(".gslide-media"), h = e.querySelector(".gslide-description");
@@ -2381,7 +2394,7 @@ var Qt = { exports: {} };
2381
2394
  return this.videoPlayers;
2382
2395
  } }, { key: "getSlidePlayerInstance", value: function(e) {
2383
2396
  var n = "gvideo" + e, o = this.getAllPlayers();
2384
- return !(!N(o, n) || !o[n]) && o[n];
2397
+ return !(!F(o, n) || !o[n]) && o[n];
2385
2398
  } }, { key: "stopSlideVideo", value: function(e) {
2386
2399
  if (te(e)) {
2387
2400
  var n = e.querySelector(".gvideo-wrapper");
@@ -2420,7 +2433,7 @@ var Qt = { exports: {} };
2420
2433
  this.settings.elements = !1;
2421
2434
  var o = [];
2422
2435
  e && e.length && _(e, function(d, l) {
2423
- var h = new We(d, n, l), u = h.getConfig(), p = w({}, u);
2436
+ var h = new Ue(d, n, l), u = h.getConfig(), p = x({}, u);
2424
2437
  p.slideConfig = u, p.instance = h, p.index = l, o.push(p);
2425
2438
  }), this.elements = o, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (_(this.elements, function() {
2426
2439
  var d = de(n.settings.slideHTML);
@@ -2429,18 +2442,18 @@ var Qt = { exports: {} };
2429
2442
  } }, { key: "getElementIndex", value: function(e) {
2430
2443
  var n = !1;
2431
2444
  return _(this.elements, function(o, d) {
2432
- if (N(o, "node") && o.node == e)
2445
+ if (F(o, "node") && o.node == e)
2433
2446
  return n = d, !0;
2434
2447
  }), n;
2435
2448
  } }, { key: "getElements", value: function() {
2436
2449
  var e = this, n = [];
2437
2450
  this.elements = this.elements ? this.elements : [], !ne(this.settings.elements) && Ve(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2438
- var h = new We(d, e, l), u = h.getConfig(), p = w({}, u);
2451
+ var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2439
2452
  p.node = !1, p.index = l, p.instance = h, p.slideConfig = u, n.push(p);
2440
2453
  });
2441
2454
  var o = !1;
2442
2455
  return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(d, l) {
2443
- var h = new We(d, e, l), u = h.getConfig(), p = w({}, u);
2456
+ var h = new Ue(d, e, l), u = h.getConfig(), p = x({}, u);
2444
2457
  p.node = d, p.index = l, p.instance = h, p.slideConfig = u, p.gallery = d.getAttribute("data-gallery"), n.push(p);
2445
2458
  }), n;
2446
2459
  } }, { key: "getGalleryElements", value: function(e, n) {
@@ -2469,31 +2482,31 @@ var Qt = { exports: {} };
2469
2482
  _(n, function(g) {
2470
2483
  g.parentNode == document.body && g.nodeName.charAt(0) !== "#" && g.hasAttribute && !g.hasAttribute("aria-hidden") && (o.push(g), g.setAttribute("aria-hidden", "true"));
2471
2484
  });
2472
- var d = N(this.settings.svg, "next") ? this.settings.svg.next : "", l = N(this.settings.svg, "prev") ? this.settings.svg.prev : "", h = N(this.settings.svg, "close") ? this.settings.svg.close : "", u = this.settings.lightboxHTML;
2485
+ var d = F(this.settings.svg, "next") ? this.settings.svg.next : "", l = F(this.settings.svg, "prev") ? this.settings.svg.prev : "", h = F(this.settings.svg, "close") ? this.settings.svg.close : "", u = this.settings.lightboxHTML;
2473
2486
  u = de(u = (u = (u = u.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, l)).replace(/{closeSVG}/g, h)), document.body.appendChild(u);
2474
2487
  var p = document.getElementById("glightbox-body");
2475
2488
  this.modal = p;
2476
2489
  var v = p.querySelector(".gclose");
2477
- this.prevButton = p.querySelector(".gprev"), this.nextButton = p.querySelector(".gnext"), this.overlay = p.querySelector(".goverlay"), this.loader = p.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = o, this.events = {}, C(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && v && (this.events.close = j("click", { onElement: v, withCallback: function(g, m) {
2490
+ this.prevButton = p.querySelector(".gprev"), this.nextButton = p.querySelector(".gnext"), this.overlay = p.querySelector(".goverlay"), this.loader = p.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = o, this.events = {}, T(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && v && (this.events.close = j("click", { onElement: v, withCallback: function(g, m) {
2478
2491
  g.preventDefault(), e.close();
2479
2492
  } })), v && !this.settings.closeButton && v.parentNode.removeChild(v), this.nextButton && (this.events.next = j("click", { onElement: this.nextButton, withCallback: function(g, m) {
2480
2493
  g.preventDefault(), e.nextSlide();
2481
2494
  } })), this.prevButton && (this.events.prev = j("click", { onElement: this.prevButton, withCallback: function(g, m) {
2482
2495
  g.preventDefault(), e.prevSlide();
2483
2496
  } })), this.settings.closeOnOutsideClick && (this.events.outClose = j("click", { onElement: p, withCallback: function(g, m) {
2484
- e.preventOutsideClick || V(document.body, "glightbox-mobile") || ce(g.target, ".ginner-container") || ce(g.target, ".gbtn") || V(g.target, "gnext") || V(g.target, "gprev") || e.close();
2497
+ e.preventOutsideClick || N(document.body, "glightbox-mobile") || ce(g.target, ".ginner-container") || ce(g.target, ".gbtn") || N(g.target, "gnext") || N(g.target, "gprev") || e.close();
2485
2498
  } })), _(this.elements, function(g, m) {
2486
2499
  e.slidesContainer.appendChild(g.instance.create()), g.slideNode = e.slidesContainer.querySelectorAll(".gslide")[m];
2487
- }), It && C(document.body, "glightbox-touch"), this.events.resize = j("resize", { onElement: window, withCallback: function() {
2500
+ }), It && T(document.body, "glightbox-touch"), this.events.resize = j("resize", { onElement: window, withCallback: function() {
2488
2501
  e.resize();
2489
2502
  } }), this.built = !0;
2490
2503
  } }, { key: "resize", value: function() {
2491
2504
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
2492
- if ((e = e || this.activeSlide) && !V(e, "zoomed")) {
2505
+ if ((e = e || this.activeSlide) && !N(e, "zoomed")) {
2493
2506
  var n = ee(), o = e.querySelector(".gvideo-wrapper"), d = e.querySelector(".gslide-image"), l = this.slideDescription, h = n.width, u = n.height;
2494
- if (h <= 768 ? C(document.body, "glightbox-mobile") : M(document.body, "glightbox-mobile"), o || d) {
2507
+ if (h <= 768 ? T(document.body, "glightbox-mobile") : M(document.body, "glightbox-mobile"), o || d) {
2495
2508
  var p = !1;
2496
- if (l && (V(l, "description-bottom") || V(l, "description-top")) && !V(l, "gabsolute") && (p = !0), d) {
2509
+ if (l && (N(l, "description-bottom") || N(l, "description-top")) && !N(l, "gabsolute") && (p = !0), d) {
2497
2510
  if (h <= 768)
2498
2511
  d.querySelector("img");
2499
2512
  else if (p) {
@@ -2502,15 +2515,15 @@ var Qt = { exports: {} };
2502
2515
  }
2503
2516
  }
2504
2517
  if (o) {
2505
- var m = N(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
2518
+ var m = F(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
2506
2519
  if (!m) {
2507
- var E = o.clientWidth, S = o.clientHeight, O = E / S;
2508
- m = "".concat(E / O, ":").concat(S / O);
2520
+ var E = o.clientWidth, C = o.clientHeight, O = E / C;
2521
+ m = "".concat(E / O, ":").concat(C / O);
2509
2522
  }
2510
2523
  var z = m.split(":"), I = this.settings.videosWidth, oe = this.settings.videosWidth, ae = (oe = Ne(I) || I.indexOf("px") !== -1 ? parseInt(I) : I.indexOf("vw") !== -1 ? h * parseInt(I) / 100 : I.indexOf("vh") !== -1 ? u * parseInt(I) / 100 : I.indexOf("%") !== -1 ? h * parseInt(I) / 100 : parseInt(o.clientWidth)) / (parseInt(z[0]) / parseInt(z[1]));
2511
2524
  if (ae = Math.floor(ae), p && (u -= l.offsetHeight), oe > h || ae > u || u < ae && h > oe) {
2512
- var ge = o.offsetWidth, me = o.offsetHeight, ke = u / me, Ie = { width: ge * ke, height: me * ke };
2513
- o.parentNode.setAttribute("style", "max-width: ".concat(Ie.width, "px")), p && l.setAttribute("style", "max-width: ".concat(Ie.width, "px;"));
2525
+ var me = o.offsetWidth, ye = o.offsetHeight, _e = u / ye, je = { width: me * _e, height: ye * _e };
2526
+ o.parentNode.setAttribute("style", "max-width: ".concat(je.width, "px")), p && l.setAttribute("style", "max-width: ".concat(je.width, "px;"));
2514
2527
  } else
2515
2528
  o.parentNode.style.maxWidth = "".concat(I), p && l.setAttribute("style", "max-width: ".concat(I, ";"));
2516
2529
  }
@@ -2520,10 +2533,10 @@ var Qt = { exports: {} };
2520
2533
  this.init();
2521
2534
  } }, { key: "updateNavigationClasses", value: function() {
2522
2535
  var e = this.loop();
2523
- M(this.nextButton, "disabled"), M(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (C(this.prevButton, "disabled"), C(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || C(this.nextButton, "disabled") : C(this.prevButton, "disabled");
2536
+ M(this.nextButton, "disabled"), M(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2524
2537
  } }, { key: "loop", value: function() {
2525
- var e = N(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2526
- return e = N(this.settings, "loop") ? this.settings.loop : e, e;
2538
+ var e = F(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2539
+ return e = F(this.settings, "loop") ? this.settings.loop : e, e;
2527
2540
  } }, { key: "close", value: function() {
2528
2541
  var e = this;
2529
2542
  if (!this.lightboxOpen) {
@@ -2538,7 +2551,7 @@ var Qt = { exports: {} };
2538
2551
  return !1;
2539
2552
  this.closing = !0, this.slidePlayerPause(this.activeSlide), this.fullElementsList && (this.elements = this.fullElementsList), this.bodyHiddenChildElms.length && _(this.bodyHiddenChildElms, function(o) {
2540
2553
  o.removeAttribute("aria-hidden");
2541
- }), C(this.modal, "glightbox-closing"), A(this.overlay, this.settings.openEffect == "none" ? "none" : this.settings.cssEfects.fade.out), A(this.activeSlide, this.settings.cssEfects[this.settings.closeEffect].out, function() {
2554
+ }), T(this.modal, "glightbox-closing"), A(this.overlay, this.settings.openEffect == "none" ? "none" : this.settings.cssEfects.fade.out), A(this.activeSlide, this.settings.cssEfects[this.settings.closeEffect].out, function() {
2542
2555
  if (e.activeSlide = null, e.prevActiveSlideIndex = null, e.prevActiveSlide = null, e.built = !1, e.events) {
2543
2556
  for (var o in e.events)
2544
2557
  e.events.hasOwnProperty(o) && e.events[o].destroy();
@@ -2587,10 +2600,10 @@ var vc = Object.defineProperty, wc = Object.getOwnPropertyDescriptor, xc = (a, t
2587
2600
  };
2588
2601
  let yt = class extends rt {
2589
2602
  render() {
2590
- return x` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2603
+ return w` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2591
2604
  }
2592
2605
  };
2593
- yt.styles = W`
2606
+ yt.styles = U`
2594
2607
  .cb-thinking {
2595
2608
  text-align: center;
2596
2609
  }
@@ -2629,7 +2642,7 @@ yt.styles = W`
2629
2642
  }
2630
2643
  `;
2631
2644
  yt = xc([
2632
- U("cb-thinking")
2645
+ W("cb-thinking")
2633
2646
  ], yt);
2634
2647
  var kc = Object.defineProperty, _c = Object.getOwnPropertyDescriptor, ea = (a, t, c, i) => {
2635
2648
  for (var s = i > 1 ? void 0 : i ? _c(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -2641,18 +2654,18 @@ let at = class extends Q {
2641
2654
  super(...arguments), this.files = [];
2642
2655
  }
2643
2656
  render() {
2644
- return x` <div class="cb-uploading">
2657
+ return w` <div class="cb-uploading">
2645
2658
  <div class="cb-uploading__title">
2646
2659
  <sl-spinner class="cb-spinner"></sl-spinner>
2647
2660
  <span>Uploading...</span>
2648
2661
  </div>
2649
2662
  <div class="cb-uploading__filelist">
2650
- ${this.files.map((a) => x`${a.name}<br />`)}
2663
+ ${this.files.map((a) => w`${a.name}<br />`)}
2651
2664
  </div>
2652
2665
  </div>`;
2653
2666
  }
2654
2667
  };
2655
- at.styles = W`
2668
+ at.styles = U`
2656
2669
  .cb-uploading {
2657
2670
  text-align: left;
2658
2671
  }
@@ -2674,9 +2687,9 @@ ea([
2674
2687
  k({ type: Array })
2675
2688
  ], at.prototype, "files", 2);
2676
2689
  at = ea([
2677
- U("cb-uploading")
2690
+ W("cb-uploading")
2678
2691
  ], at);
2679
- const Sc = W`
2692
+ const Sc = U`
2680
2693
  ${he}
2681
2694
  :host {
2682
2695
  }
@@ -2707,7 +2720,7 @@ let He = class extends rt {
2707
2720
  super(...arguments), this.url = "", this.inverse = !1;
2708
2721
  }
2709
2722
  render() {
2710
- return x`
2723
+ return w`
2711
2724
  <a
2712
2725
  class="
2713
2726
  cb-external-link link__item
@@ -2722,7 +2735,7 @@ let He = class extends rt {
2722
2735
  `;
2723
2736
  }
2724
2737
  };
2725
- He.styles = W`
2738
+ He.styles = U`
2726
2739
  :host {
2727
2740
  --primary-color: var(--sl-color-primary-600);
2728
2741
  }
@@ -2754,7 +2767,7 @@ kt([
2754
2767
  k({ type: Boolean })
2755
2768
  ], He.prototype, "inverse", 2);
2756
2769
  He = kt([
2757
- U("cb-external-link")
2770
+ W("cb-external-link")
2758
2771
  ], He);
2759
2772
  const Ec = '<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>', Ac = '<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>', Mc = '<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>', $c = '<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>', Ic = '<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>', jc = '<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>', Oc = '<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>';
2760
2773
  var Lc = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, _t = (a, t, c, i) => {
@@ -2783,7 +2796,7 @@ let Be = class extends Q {
2783
2796
  return t ? t.toLowerCase() : a;
2784
2797
  }
2785
2798
  render() {
2786
- return x`
2799
+ return w`
2787
2800
  <cb-external-link url="${this.url}" inverse>
2788
2801
  <div class="cb-file">
2789
2802
  ${this.renderFileIcon()}
@@ -2793,7 +2806,7 @@ let Be = class extends Q {
2793
2806
  `;
2794
2807
  }
2795
2808
  renderFileIcon() {
2796
- return x`
2809
+ return w`
2797
2810
  <cb-icon
2798
2811
  class="cb-file-icon"
2799
2812
  svg="${zt[this.type] || zt.txt}"
@@ -2809,9 +2822,9 @@ _t([
2809
2822
  k({ type: String })
2810
2823
  ], Be.prototype, "url", 2);
2811
2824
  Be = _t([
2812
- U("cb-file")
2825
+ W("cb-file")
2813
2826
  ], Be);
2814
- const zc = '<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>', Hc = '<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>', Bc = W`
2827
+ const zc = '<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>', Hc = '<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>', Bc = U`
2815
2828
  pre code.hljs {
2816
2829
  display: block;
2817
2830
  overflow-x: auto;
@@ -3976,7 +3989,7 @@ const zc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
3976
3989
  pre {
3977
3990
  background-color: #282c34;
3978
3991
  }
3979
- `, qc = W`
3992
+ `, qc = U`
3980
3993
  ${he}
3981
3994
  ${Bc}
3982
3995
 
@@ -4158,14 +4171,14 @@ function Dc() {
4158
4171
  }
4159
4172
  async function Ht(a) {
4160
4173
  const c = Dc().render(a);
4161
- return x`${Te(c)}`;
4174
+ return w`${Ee(c)}`;
4162
4175
  }
4163
4176
  var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4164
4177
  for (var s = i > 1 ? void 0 : i ? Vc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4165
4178
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4166
4179
  return i && s && Rc(t, c, s), s;
4167
4180
  };
4168
- let Ae = class extends Q {
4181
+ let Me = class extends Q {
4169
4182
  constructor() {
4170
4183
  super(...arguments), this.type = "assistant", this.lightbox = yc({
4171
4184
  touchNavigation: !0,
@@ -4245,12 +4258,12 @@ let Ae = class extends Q {
4245
4258
  });
4246
4259
  }
4247
4260
  render() {
4248
- return Oe(
4261
+ return ue(
4249
4262
  this.message.data || this.message.isThinking,
4250
- () => x`
4263
+ () => w`
4251
4264
  <div class="cb-message-row" part="cb-message-row">
4252
4265
  <!-- message -->
4253
- ${Oe(
4266
+ ${ue(
4254
4267
  this._isBot,
4255
4268
  () => this.renderBotMessage(this.message),
4256
4269
  () => this.renderUserMessage(this.message)
@@ -4261,7 +4274,7 @@ let Ae = class extends Q {
4261
4274
  );
4262
4275
  }
4263
4276
  renderButtons(a = "left") {
4264
- return x`<div class="cb-message__buttons ${a}">
4277
+ return w`<div class="cb-message__buttons ${a}">
4265
4278
  <!-- delete button -->
4266
4279
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
4267
4280
  <cb-icon svg="${zc}" style="font-size: 1em !important;"></cb-icon>
@@ -4269,7 +4282,7 @@ let Ae = class extends Q {
4269
4282
  </div>`;
4270
4283
  }
4271
4284
  renderMessage(a) {
4272
- return x`
4285
+ return w`
4273
4286
  <div
4274
4287
  class="cb-message__content
4275
4288
  ${a.author}-message
@@ -4286,34 +4299,34 @@ let Ae = class extends Q {
4286
4299
  }
4287
4300
  renderMessageContent(a) {
4288
4301
  var t;
4289
- return a.isThinking ? x`<cb-thinking></cb-thinking>` : a.isUploading ? x`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? x`<div class="cb-message-text">
4290
- ${Oe(
4302
+ return a.isThinking ? w`<cb-thinking></cb-thinking>` : a.isUploading ? w`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? w`<div class="cb-message-text">
4303
+ ${ue(
4291
4304
  a.data.userName,
4292
- () => x`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4305
+ () => w`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4293
4306
  () => null
4294
4307
  )}
4295
4308
  ${Pt(
4296
- this._getMessageText(a).then((c) => x`${c}`)
4309
+ this._getMessageText(a).then((c) => w`${c}`)
4297
4310
  )}
4298
- </div>` : a.type === "file" ? x`${Ze(
4311
+ </div>` : a.type === "file" ? w`${Ze(
4299
4312
  a.data.files || [],
4300
4313
  (c) => c.id,
4301
- (c) => x`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4302
- )}` : x`<div class="cb-message-text">
4314
+ (c) => w`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4315
+ )}` : w`<div class="cb-message-text">
4303
4316
  ${Pt(
4304
- Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => x`${c}`)
4317
+ Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => w`${c}`)
4305
4318
  )}
4306
4319
  </div>`;
4307
4320
  }
4308
4321
  renderBotMessageAvatar(a) {
4309
4322
  if (a.data.userName && a.data.userName !== "") {
4310
4323
  const t = a.data.userAvatar || "";
4311
- return x` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4324
+ return w` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4312
4325
  }
4313
- return a.author === "system" ? Qe`${Te(T.setting.systemIconSvg)}` : Qe`${Te(T.setting.botIconSvg)}`;
4326
+ return a.author === "system" ? Qe`${Ee(S.setting.systemIconSvg)}` : Qe`${Ee(S.setting.botIconSvg)}`;
4314
4327
  }
4315
4328
  renderBotMessage(a) {
4316
- return x`
4329
+ return w`
4317
4330
  <div class="cb-message cb-bot-message-wrapper" part="cb-message">
4318
4331
  <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
4319
4332
  <div style="margin-left: 4px;width: 100%">${this.renderMessage(a)}</div>
@@ -4321,40 +4334,40 @@ let Ae = class extends Q {
4321
4334
  `;
4322
4335
  }
4323
4336
  renderUserMessage(a) {
4324
- return x`
4337
+ return w`
4325
4338
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
4326
4339
  <!--<sl-avatar class="avatar user-avatar small" label="User">
4327
4340
  <cb-icon slot="icon" svg="${Hc}" color="white"></cb-icon>
4328
4341
  </sl-avatar>-->
4329
- <div class="avatar user-avatar">${Te(T.setting.userIconSvg)}</div>
4342
+ <div class="avatar user-avatar">${Ee(S.setting.userIconSvg)}</div>
4330
4343
  ${this.renderMessage(a)}
4331
4344
  </div>
4332
4345
  `;
4333
4346
  }
4334
4347
  };
4335
- Ae.styles = qc;
4348
+ Me.styles = qc;
4336
4349
  De([
4337
4350
  k({ type: Object })
4338
- ], Ae.prototype, "message", 2);
4351
+ ], Me.prototype, "message", 2);
4339
4352
  De([
4340
4353
  k({ type: String })
4341
- ], Ae.prototype, "type", 2);
4354
+ ], Me.prototype, "type", 2);
4342
4355
  De([
4343
4356
  Nt(".code-block-header__copy")
4344
- ], Ae.prototype, "copyBtns", 2);
4357
+ ], Me.prototype, "copyBtns", 2);
4345
4358
  De([
4346
4359
  Nt("img")
4347
- ], Ae.prototype, "glightboxImages", 2);
4348
- Ae = De([
4349
- U("cb-message")
4350
- ], Ae);
4351
- var Nc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, we = (a, t, c, i) => {
4360
+ ], Me.prototype, "glightboxImages", 2);
4361
+ Me = De([
4362
+ W("cb-message")
4363
+ ], Me);
4364
+ var Nc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, xe = (a, t, c, i) => {
4352
4365
  for (var s = i > 1 ? void 0 : i ? Fc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4353
4366
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4354
4367
  return i && s && Nc(t, c, s), s;
4355
4368
  };
4356
- const je = ft.noConflict();
4357
- je.setLevel("info");
4369
+ const Oe = ft.noConflict();
4370
+ Oe.setLevel("info");
4358
4371
  let be = class extends Q {
4359
4372
  constructor() {
4360
4373
  super(...arguments), this.messages = [], this.actions = [], this.form = null, this.calendlyInjected = !1, this.activeCalendlyAction = -1;
@@ -4367,12 +4380,12 @@ let be = class extends Q {
4367
4380
  autoplayVideos: true,
4368
4381
  });*/
4369
4382
  render() {
4370
- return x`
4383
+ return w`
4371
4384
  <div class="cb-message-list" part="cb-message-list">
4372
4385
  ${Ze(
4373
4386
  this.messages,
4374
4387
  (a) => a.id + JSON.stringify(a.data),
4375
- (a) => x`<cb-message .message="${a}"></cb-message>`
4388
+ (a) => w`<cb-message .message="${a}"></cb-message>`
4376
4389
  )}
4377
4390
  ${this.renderActions()} ${this.renderForm()}
4378
4391
  <div id="cb-message-list-bottom-anchor"></div>
@@ -4380,7 +4393,7 @@ let be = class extends Q {
4380
4393
  `;
4381
4394
  }
4382
4395
  renderForm() {
4383
- return this.form ? x` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4396
+ return this.form ? w` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4384
4397
  <div class="cb-input-form-title">${this.form.title}</div>
4385
4398
  ${Ze(
4386
4399
  this.form.fields,
@@ -4388,9 +4401,9 @@ let be = class extends Q {
4388
4401
  (a) => {
4389
4402
  switch (a.type) {
4390
4403
  case "string":
4391
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4404
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4392
4405
  case "email":
4393
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4406
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4394
4407
  }
4395
4408
  }
4396
4409
  )}
@@ -4411,14 +4424,14 @@ let be = class extends Q {
4411
4424
  return;
4412
4425
  }
4413
4426
  }
4414
- T.submitForm(t).then(() => {
4415
- je.info("Form submitted", t), this.emit("form:submit", {
4427
+ S.submitForm(t).then(() => {
4428
+ Oe.info("Form submitted", t), this.emit("form:submit", {
4416
4429
  detail: {
4417
4430
  formData: t
4418
4431
  }
4419
4432
  });
4420
4433
  }).catch((c) => {
4421
- je.error(`Error when submitting form: ${c.message}`);
4434
+ Oe.error(`Error when submitting form: ${c.message}`);
4422
4435
  });
4423
4436
  }
4424
4437
  /* Form sample
@@ -4433,7 +4446,7 @@ let be = class extends Q {
4433
4446
  <br /><br />
4434
4447
  */
4435
4448
  renderActions() {
4436
- return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : x`
4449
+ return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : w`
4437
4450
  <div class="cb-actions-list">
4438
4451
  ${Ze(
4439
4452
  this.actions,
@@ -4456,18 +4469,18 @@ let be = class extends Q {
4456
4469
  return null;
4457
4470
  }
4458
4471
  handleCalendlyEvent(a) {
4459
- switch (je.info("Got Calendly Event:", a.data), a.data.event) {
4472
+ switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
4460
4473
  case "calendly.event_scheduled": {
4461
4474
  const t = this.activeCalendlyAction;
4462
- t >= 0 && (T.removeAction(t), T.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
4475
+ t >= 0 && (S.removeAction(t), S.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
4463
4476
  }
4464
4477
  }
4465
4478
  }
4466
4479
  invokeLinkAction(a = {}) {
4467
- je.info("invokeLinkAction:", a), window.open(a.url, "_blank");
4480
+ Oe.info("invokeLinkAction:", a), window.open(a.url, "_blank");
4468
4481
  }
4469
4482
  invokeCalendlyAction(a = {}) {
4470
- return je.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
4483
+ return Oe.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
4471
4484
  }
4472
4485
  renderCalendlyAction(a) {
4473
4486
  if (!("Calendly" in window) && !this.calendlyInjected) {
@@ -4478,7 +4491,7 @@ let be = class extends Q {
4478
4491
  i.origin === "https://calendly.com" && i.data.event && i.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(i);
4479
4492
  }), this.calendlyInjected = !0;
4480
4493
  }
4481
- return x`
4494
+ return w`
4482
4495
  <div class="cb-actions-list">
4483
4496
  <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, a)}">
4484
4497
  <div class="cb-action-icon">
@@ -4495,7 +4508,7 @@ let be = class extends Q {
4495
4508
  `;
4496
4509
  }
4497
4510
  renderLinkAction(a) {
4498
- return x`
4511
+ return w`
4499
4512
  <div class="cb-actions-list">
4500
4513
  <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, a)}">
4501
4514
  <div class="cb-action-icon">
@@ -4510,31 +4523,31 @@ let be = class extends Q {
4510
4523
  }
4511
4524
  };
4512
4525
  be.styles = gc;
4513
- we([
4526
+ xe([
4514
4527
  k({ type: Array })
4515
4528
  ], be.prototype, "messages", 2);
4516
- we([
4529
+ xe([
4517
4530
  k({ type: Array })
4518
4531
  ], be.prototype, "actions", 2);
4519
- we([
4532
+ xe([
4520
4533
  k({ type: Object })
4521
4534
  ], be.prototype, "form", 2);
4522
- we([
4535
+ xe([
4523
4536
  qe("#cb-message-list-bottom-anchor")
4524
4537
  ], be.prototype, "_messageListBottomAnchor", 2);
4525
- we([
4538
+ xe([
4526
4539
  qe(".cb-input-form")
4527
4540
  ], be.prototype, "_inputForm", 2);
4528
- we([
4541
+ xe([
4529
4542
  Ft({ capture: !1, passive: !0 })
4530
4543
  ], be.prototype, "invokeLinkAction", 1);
4531
- we([
4544
+ xe([
4532
4545
  Ft({ capture: !1, passive: !0 })
4533
4546
  ], be.prototype, "invokeCalendlyAction", 1);
4534
- be = we([
4535
- U("cb-message-list")
4547
+ be = xe([
4548
+ W("cb-message-list")
4536
4549
  ], be);
4537
- const Wc = W`
4550
+ const Uc = U`
4538
4551
  ${he}
4539
4552
 
4540
4553
  :host {
@@ -4577,8 +4590,8 @@ const Wc = W`
4577
4590
  .cb-input-buttons {
4578
4591
  padding: 0 5px;
4579
4592
  }
4580
- `, Uc = '<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>', Yc = '<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>';
4581
- var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, pe = (a, t, c, i) => {
4593
+ `, Wc = '<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>', Yc = '<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>';
4594
+ var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, ge = (a, t, c, i) => {
4582
4595
  for (var s = i > 1 ? void 0 : i ? Zc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4583
4596
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4584
4597
  return i && s && Xc(t, c, s), s;
@@ -4622,7 +4635,7 @@ let fe = class extends Q {
4622
4635
  });
4623
4636
  }
4624
4637
  render() {
4625
- return x`
4638
+ return w`
4626
4639
  <div class="cb-user-input-wrapper" part="user-input-wrapper">
4627
4640
  <sl-textarea
4628
4641
  @sl-input=${this._inputChangeHandler}
@@ -4639,19 +4652,19 @@ let fe = class extends Q {
4639
4652
  ></sl-textarea>
4640
4653
 
4641
4654
  <span class="cb-input-buttons">
4642
- ${Oe(
4655
+ ${ue(
4643
4656
  this.enableFileUpload,
4644
- () => x`
4657
+ () => w`
4645
4658
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
4646
4659
  <cb-icon svg="${Yc}"></cb-icon>
4647
4660
  <!-- select file input -->
4648
4661
  <input type="file" id="file" name="file" class="file-input" />
4649
4662
  </sl-button>
4650
4663
  `,
4651
- () => x``
4664
+ () => w``
4652
4665
  )}
4653
4666
  <sl-button @click=${this._sendHandler} name="send" label="Send" size="small" class="send-button" variant="text" ?disabled=${this.value.length === 0} ?loading=${this.loading} circle>
4654
- <cb-icon svg="${Uc}"></cb-icon>
4667
+ <cb-icon svg="${Wc}"></cb-icon>
4655
4668
  </sl-button>
4656
4669
  </span>
4657
4670
  </div>
@@ -4661,35 +4674,35 @@ let fe = class extends Q {
4661
4674
  a.key === "Enter" && !a.shiftKey && this._sendHandler();
4662
4675
  }
4663
4676
  };
4664
- fe.styles = Wc;
4665
- pe([
4677
+ fe.styles = Uc;
4678
+ ge([
4666
4679
  k({ type: String, attribute: "placeholder" })
4667
4680
  ], fe.prototype, "placeholder", 2);
4668
- pe([
4681
+ ge([
4669
4682
  k({ type: String, attribute: "send-button-label" })
4670
4683
  ], fe.prototype, "sendButtonLabel", 2);
4671
- pe([
4684
+ ge([
4672
4685
  k({ type: Boolean, attribute: "enable-file-upload" })
4673
4686
  ], fe.prototype, "enableFileUpload", 2);
4674
- pe([
4687
+ ge([
4675
4688
  k({ type: String })
4676
4689
  ], fe.prototype, "value", 2);
4677
- pe([
4690
+ ge([
4678
4691
  k({ type: Boolean })
4679
4692
  ], fe.prototype, "loading", 2);
4680
- pe([
4693
+ ge([
4681
4694
  k({ type: Boolean })
4682
4695
  ], fe.prototype, "disabled", 2);
4683
- pe([
4696
+ ge([
4684
4697
  k({ type: String })
4685
4698
  ], fe.prototype, "currentKey", 2);
4686
- pe([
4699
+ ge([
4687
4700
  qe("sl-textarea")
4688
4701
  ], fe.prototype, "inputElement", 2);
4689
- fe = pe([
4690
- U("cb-user-input")
4702
+ fe = ge([
4703
+ W("cb-user-input")
4691
4704
  ], fe);
4692
- const Gc = W`
4705
+ const Gc = U`
4693
4706
  ${he}
4694
4707
 
4695
4708
  sl-dialog::part(base) {
@@ -4737,7 +4750,7 @@ let Le = class extends Q {
4737
4750
  this.emit("cancel");
4738
4751
  }
4739
4752
  render() {
4740
- return x` <sl-dialog
4753
+ return w` <sl-dialog
4741
4754
  label="Setting"
4742
4755
  class="cb-dialog"
4743
4756
  style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
@@ -4747,7 +4760,7 @@ let Le = class extends Q {
4747
4760
  >
4748
4761
  <header class="cb-header">
4749
4762
  <div class="cb-header__left">
4750
- ${this.label ? x`<span class="title">${this.label}</span>` : ""}
4763
+ ${this.label ? w`<span class="title">${this.label}</span>` : ""}
4751
4764
  </div>
4752
4765
  <sl-button
4753
4766
  @click=${this._settingCancelHandler}
@@ -4784,7 +4797,7 @@ dt([
4784
4797
  k({ type: Number })
4785
4798
  ], Le.prototype, "zindex", 2);
4786
4799
  Le = dt([
4787
- U("cb-dialog")
4800
+ W("cb-dialog")
4788
4801
  ], Le);
4789
4802
  var Qc = Object.defineProperty, ei = Object.getOwnPropertyDescriptor, ta = (a, t, c, i) => {
4790
4803
  for (var s = i > 1 ? void 0 : i ? ei(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -4796,7 +4809,7 @@ let ct = class extends Q {
4796
4809
  super(...arguments), this.open = !1;
4797
4810
  }
4798
4811
  render() {
4799
- return x` <cb-dialog
4812
+ return w` <cb-dialog
4800
4813
  label="Confirm"
4801
4814
  class="cb-clear-message-dialog"
4802
4815
  ?open=${this.open}
@@ -4825,7 +4838,7 @@ let ct = class extends Q {
4825
4838
  this.emit("cancel");
4826
4839
  }
4827
4840
  };
4828
- ct.styles = W`
4841
+ ct.styles = U`
4829
4842
  .cb-clear-message-dialog {
4830
4843
  }
4831
4844
 
@@ -4837,9 +4850,9 @@ ta([
4837
4850
  k({ type: Boolean })
4838
4851
  ], ct.prototype, "open", 2);
4839
4852
  ct = ta([
4840
- U("cb-clear-message-dialog")
4853
+ W("cb-clear-message-dialog")
4841
4854
  ], ct);
4842
- const ti = W`
4855
+ const ti = U`
4843
4856
  :host {
4844
4857
  // width: 380px;
4845
4858
 
@@ -4904,12 +4917,12 @@ var ai = Object.defineProperty, ci = Object.getOwnPropertyDescriptor, Pe = (a, t
4904
4917
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4905
4918
  return i && s && ai(t, c, s), s;
4906
4919
  };
4907
- let ve = class extends Q {
4920
+ let we = class extends Q {
4908
4921
  constructor() {
4909
4922
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
4910
4923
  }
4911
4924
  render() {
4912
- return this.customRequest = this.setting.customRequest, x`
4925
+ return this.customRequest = this.setting.customRequest, w`
4913
4926
  <cb-dialog
4914
4927
  label="Setting"
4915
4928
  class="cb-dialog"
@@ -4943,7 +4956,7 @@ let ve = class extends Q {
4943
4956
  Enable it for your own backend.
4944
4957
  </sl-switch>
4945
4958
  </div> -->
4946
- ${Oe(
4959
+ ${ue(
4947
4960
  this.customRequest,
4948
4961
  () => null,
4949
4962
  () => this.renderInternalServices()
@@ -5002,7 +5015,7 @@ let ve = class extends Q {
5002
5015
  `;
5003
5016
  }
5004
5017
  renderInternalServices() {
5005
- return x`
5018
+ return w`
5006
5019
  <div class="form-item">
5007
5020
  <label class="label">Service</label>
5008
5021
  <sl-radio-group name="openai" value="openai" size="small">
@@ -5067,26 +5080,26 @@ let ve = class extends Q {
5067
5080
  });
5068
5081
  }
5069
5082
  };
5070
- ve.styles = ti;
5083
+ we.styles = ti;
5071
5084
  Pe([
5072
5085
  k({ type: Boolean })
5073
- ], ve.prototype, "open", 2);
5086
+ ], we.prototype, "open", 2);
5074
5087
  Pe([
5075
5088
  k({ type: Object })
5076
- ], ve.prototype, "setting", 2);
5089
+ ], we.prototype, "setting", 2);
5077
5090
  Pe([
5078
5091
  k({ type: Boolean })
5079
- ], ve.prototype, "clearMessageDialogOpen", 2);
5092
+ ], we.prototype, "clearMessageDialogOpen", 2);
5080
5093
  Pe([
5081
5094
  qe("sl-dialog")
5082
- ], ve.prototype, "dialog", 2);
5095
+ ], we.prototype, "dialog", 2);
5083
5096
  Pe([
5084
5097
  k({ type: Boolean })
5085
- ], ve.prototype, "customRequest", 2);
5086
- ve = Pe([
5087
- U("cb-setting")
5088
- ], ve);
5089
- const ii = W`
5098
+ ], we.prototype, "customRequest", 2);
5099
+ we = Pe([
5100
+ W("cb-setting")
5101
+ ], we);
5102
+ const ii = U`
5090
5103
  ${he}
5091
5104
  :host {
5092
5105
  --primary-color: var(--sl-color-primary-600);
@@ -5162,6 +5175,10 @@ const ii = W`
5162
5175
  color: var(--enegelai-bot-popup-logo-color, rgb(0, 208, 117));
5163
5176
  }
5164
5177
 
5178
+ .cb-engage-popup-img {
5179
+ width: 40px;
5180
+ }
5181
+
5165
5182
  .cb-engage-popup-close {
5166
5183
  position: absolute;
5167
5184
  top: 0;
@@ -5185,7 +5202,7 @@ var si = Object.defineProperty, oi = Object.getOwnPropertyDescriptor, aa = (a, t
5185
5202
  };
5186
5203
  let it = class extends Q {
5187
5204
  constructor() {
5188
- super(...arguments), this.store = new Ut(this, T), this.open = !1;
5205
+ super(...arguments), this.store = new Wt(this, S), this.open = !1;
5189
5206
  }
5190
5207
  // handler click
5191
5208
  _clickHandler() {
@@ -5197,25 +5214,29 @@ let it = class extends Q {
5197
5214
  }), this.open = a;
5198
5215
  }
5199
5216
  _engageClickHandler(a) {
5200
- console.log("engage close clicked!"), T.suppressEngagePopup(), a.stopPropagation();
5217
+ console.log("engage close clicked!"), S.suppressEngagePopup(), a.stopPropagation();
5201
5218
  }
5202
5219
  render() {
5203
- return x`
5220
+ return w`
5204
5221
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
5205
- <sl-popup placement="top-end" distance="16" ?active="${T.engage && !T.open}">
5222
+ <sl-popup placement="top-end" distance="16" ?active="${S.engage && !S.open}">
5206
5223
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
5207
- ${Oe(
5224
+ ${ue(
5208
5225
  this.open,
5209
- () => x`<cb-icon color="white" svg="${et}"></cb-icon>`,
5210
- () => x`<cb-icon color="white" svg="${ni}"></cb-icon>`
5226
+ () => w`<cb-icon color="white" svg="${et}"></cb-icon>`,
5227
+ () => w`<cb-icon color="white" svg="${ni}"></cb-icon>`
5211
5228
  )}
5212
5229
  </sl-button>
5213
5230
  <div class="cb-engage-popup">
5214
- <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${Qe`${Te(et)}`}</div>
5231
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${Qe`${Ee(et)}`}</div>
5215
5232
  <div class="cb-engage-popup-content">
5216
- <div class="cb-engage-popup-logo">${Qe`${Te(T.setting.logoSvg)}`}</div>
5217
- <!--<cb-icon class="cb-engage-popup-logo" svg="${T.setting.logoSvg}"></cb-icon>-->
5218
- <div>${T.setting.engageMessage}</div>
5233
+ ${ue(
5234
+ S.setting.logoUrl !== "",
5235
+ () => w`<img class="cb-engage-popup-img" src="${S.setting.logoUrl}" />`,
5236
+ () => w`<div class="cb-engage-popup-logo">${Qe`${Ee(S.setting.logoSvg)}`}</div>`
5237
+ )}
5238
+ <!--<cb-icon class="cb-engage-popup-logo" svg="${S.setting.logoSvg}"></cb-icon>-->
5239
+ <div>${S.setting.engageMessage}</div>
5219
5240
  </div>
5220
5241
  </div>
5221
5242
  </sl-popup>
@@ -5228,9 +5249,9 @@ aa([
5228
5249
  k({ type: Boolean })
5229
5250
  ], it.prototype, "open", 2);
5230
5251
  it = aa([
5231
- U("cb-anchor")
5252
+ W("cb-anchor")
5232
5253
  ], it);
5233
- const ri = W`
5254
+ const ri = U`
5234
5255
  ${he}
5235
5256
  `, Bt = '<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>', fi = '<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>', di = '<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>', li = '<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>';
5236
5257
  var bi = Object.defineProperty, hi = Object.getOwnPropertyDescriptor, ca = (a, t, c, i) => {
@@ -5266,7 +5287,7 @@ let nt = class extends Q {
5266
5287
  }
5267
5288
  render() {
5268
5289
  const { variant: a, icon: t } = qt[this.status] || qt.info;
5269
- return x`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5290
+ return w`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5270
5291
  }
5271
5292
  };
5272
5293
  nt.styles = Kt;
@@ -5274,7 +5295,7 @@ ca([
5274
5295
  k({ type: String })
5275
5296
  ], nt.prototype, "status", 2);
5276
5297
  nt = ca([
5277
- U("cb-status-icon")
5298
+ W("cb-status-icon")
5278
5299
  ], nt);
5279
5300
  var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t, c, i) => {
5280
5301
  for (var s = i > 1 ? void 0 : i ? pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -5283,7 +5304,7 @@ var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t
5283
5304
  };
5284
5305
  let vt = class extends Q {
5285
5306
  render() {
5286
- return x` <sl-alert variant="danger" open>
5307
+ return w` <sl-alert variant="danger" open>
5287
5308
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
5288
5309
  Please config openai api key in the settings.
5289
5310
  <span
@@ -5299,12 +5320,12 @@ let vt = class extends Q {
5299
5320
  };
5300
5321
  vt.styles = ri;
5301
5322
  vt = gi([
5302
- U("cb-auth-alert")
5323
+ W("cb-auth-alert")
5303
5324
  ], vt);
5304
5325
  class Dt extends Error {
5305
5326
  constructor(t, c, i) {
5306
- const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), w = b ? `status code ${b}` : "an unknown error";
5307
- super(`Request failed with ${w}`), Object.defineProperty(this, "response", {
5327
+ const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), x = b ? `status code ${b}` : "an unknown error";
5328
+ super(`Request failed with ${x}`), Object.defineProperty(this, "response", {
5308
5329
  enumerable: !0,
5309
5330
  configurable: !0,
5310
5331
  writable: !0,
@@ -5434,15 +5455,15 @@ class st {
5434
5455
  if (i._options.timeout > pt)
5435
5456
  throw new RangeError(`The \`timeout\` option cannot be greater than ${pt}`);
5436
5457
  await Promise.resolve();
5437
- let w = await i._fetch();
5458
+ let x = await i._fetch();
5438
5459
  for (const _ of i._options.hooks.afterResponse) {
5439
- const R = await _(i.request, i._options, i._decorateResponse(w.clone()));
5440
- R instanceof globalThis.Response && (w = R);
5460
+ const V = await _(i.request, i._options, i._decorateResponse(x.clone()));
5461
+ V instanceof globalThis.Response && (x = V);
5441
5462
  }
5442
- if (i._decorateResponse(w), !w.ok && i._options.throwHttpErrors) {
5443
- let _ = new Dt(w, i.request, i._options);
5444
- for (const R of i._options.hooks.beforeError)
5445
- _ = await R(_);
5463
+ if (i._decorateResponse(x), !x.ok && i._options.throwHttpErrors) {
5464
+ let _ = new Dt(x, i.request, i._options);
5465
+ for (const V of i._options.hooks.beforeError)
5466
+ _ = await V(_);
5446
5467
  throw _;
5447
5468
  }
5448
5469
  if (i._options.onDownloadProgress) {
@@ -5450,21 +5471,21 @@ class st {
5450
5471
  throw new TypeError("The `onDownloadProgress` option must be a function");
5451
5472
  if (!vi)
5452
5473
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
5453
- return i._stream(w.clone(), i._options.onDownloadProgress);
5474
+ return i._stream(x.clone(), i._options.onDownloadProgress);
5454
5475
  }
5455
- return w;
5476
+ return x;
5456
5477
  }, b = i._options.retry.methods.includes(i.request.method.toLowerCase()) ? i._retry(s) : s();
5457
- for (const [w, _] of Object.entries(xi))
5458
- b[w] = async () => {
5478
+ for (const [x, _] of Object.entries(xi))
5479
+ b[x] = async () => {
5459
5480
  i.request.headers.set("accept", i.request.headers.get("accept") || _);
5460
5481
  const j = (await b).clone();
5461
- if (w === "json") {
5482
+ if (x === "json") {
5462
5483
  if (j.status === 204 || (await j.clone().arrayBuffer()).byteLength === 0)
5463
5484
  return "";
5464
5485
  if (c.parseJson)
5465
5486
  return c.parseJson(await j.text());
5466
5487
  }
5467
- return j[w]();
5488
+ return j[x]();
5468
5489
  };
5469
5490
  return b;
5470
5491
  }
@@ -5600,20 +5621,20 @@ class st {
5600
5621
  async start(f) {
5601
5622
  const b = t.body.getReader();
5602
5623
  c && c({ percent: 0, transferredBytes: 0, totalBytes: i }, new Uint8Array());
5603
- async function w() {
5604
- const { done: _, value: R } = await b.read();
5624
+ async function x() {
5625
+ const { done: _, value: V } = await b.read();
5605
5626
  if (_) {
5606
5627
  f.close();
5607
5628
  return;
5608
5629
  }
5609
5630
  if (c) {
5610
- s += R.byteLength;
5631
+ s += V.byteLength;
5611
5632
  const j = i === 0 ? 0 : s / i;
5612
- c({ percent: j, transferredBytes: s, totalBytes: i }, R);
5633
+ c({ percent: j, transferredBytes: s, totalBytes: i }, V);
5613
5634
  }
5614
- f.enqueue(R), await w();
5635
+ f.enqueue(V), await x();
5615
5636
  }
5616
- await w();
5637
+ await x();
5617
5638
  }
5618
5639
  }), {
5619
5640
  status: t.status,
@@ -5637,17 +5658,17 @@ const wt = (a) => {
5637
5658
  }
5638
5659
  });
5639
5660
  async function ji(a, t) {
5640
- const { onmessage: c, onclose: i, ...s } = t, f = async (b, w) => {
5641
- const { value: _, done: R } = await w.read();
5642
- R ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, w));
5661
+ const { onmessage: c, onclose: i, ...s } = t, f = async (b, x) => {
5662
+ const { value: _, done: V } = await x.read();
5663
+ V ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, x));
5643
5664
  };
5644
5665
  return s.body && typeof s.body == "object" && (s.body = JSON.stringify(s.body)), console.log("Fetching:", s), fetch(a, s).then((b) => {
5645
- const w = b.body.getReader();
5666
+ const x = b.body.getReader();
5646
5667
  return new ReadableStream({
5647
- start(R) {
5668
+ start(V) {
5648
5669
  f(
5649
- R,
5650
- w
5670
+ V,
5671
+ x
5651
5672
  );
5652
5673
  }
5653
5674
  });
@@ -5674,22 +5695,22 @@ async function Oi(a, t) {
5674
5695
  };
5675
5696
  }
5676
5697
  }
5677
- var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, F = (a, t, c, i) => {
5698
+ var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, R = (a, t, c, i) => {
5678
5699
  for (var s = i > 1 ? void 0 : i ? Pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
5679
5700
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
5680
5701
  return i && s && Li(t, c, s), s;
5681
5702
  };
5682
5703
  const Je = ft.noConflict();
5683
5704
  Je.setLevel("info");
5684
- let D = class extends Q {
5705
+ let B = class extends Q {
5685
5706
  constructor() {
5686
- super(...arguments), this.store = new Ut(this, T), 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">
5707
+ super(...arguments), this.store = new Wt(this, S), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
5687
5708
  <path
5688
5709
  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"
5689
5710
  fill="#E24D42"
5690
5711
  ></path>
5691
5712
  </svg>
5692
- `, this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5713
+ `, this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5693
5714
  }
5694
5715
  //HTMLElement;
5695
5716
  /**
@@ -5705,7 +5726,7 @@ let D = class extends Q {
5705
5726
  isThinking: !0,
5706
5727
  data: {}
5707
5728
  };
5708
- return T.addMessage(a), a;
5729
+ return S.addMessage(a), a;
5709
5730
  }
5710
5731
  addTestMessage(a = "") {
5711
5732
  const c = {
@@ -5716,20 +5737,20 @@ let D = class extends Q {
5716
5737
  text: a !== "" ? a : "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
5717
5738
  }
5718
5739
  };
5719
- return T.addMessage(c), c;
5740
+ return S.addMessage(c), c;
5720
5741
  }
5721
5742
  render() {
5722
- return T.disabled ? (Je.error("Bot is disabled"), null) : x`
5723
- <div class="cb-wrapper" style="${T.open ? "display:flex" : "display:none"}">
5743
+ return S.disabled ? (Je.error("Bot is disabled"), null) : w`
5744
+ <div class="cb-wrapper" style="${S.open ? "display:flex" : "display:none"}">
5724
5745
  <cb-header title="${this.name}" exportparts="header"></cb-header>
5725
- <cb-message-list .messages=${T.messages} .actions=${T.actions} .form=${T.form} exportparts="form"></cb-message-list>
5746
+ <cb-message-list .messages=${S.messages} .actions=${S.actions} .form=${S.form} exportparts="form"></cb-message-list>
5726
5747
  ${this.renderUserInput()}
5727
5748
  </div>
5728
- <cb-anchor ?open=${T.open}></cb-anchor>
5749
+ <cb-anchor ?open=${S.open}></cb-anchor>
5729
5750
  `;
5730
5751
  }
5731
5752
  renderUserInput() {
5732
- return T.form ? null : x`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || T.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5753
+ return S.form ? null : w`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5733
5754
  }
5734
5755
  connectedCallback() {
5735
5756
  super.connectedCallback(), Je.info("connectedCallback"), addEventListener("setting:show", () => {
@@ -5738,9 +5759,9 @@ let D = class extends Q {
5738
5759
  this.showSetting = !1;
5739
5760
  }), addEventListener("chatbot:toggle", (a) => {
5740
5761
  const t = a.detail;
5741
- T.open = t.open, T.suppressEngagePopup();
5762
+ S.open = t.open, S.suppressEngagePopup();
5742
5763
  }), addEventListener("message:clear", () => {
5743
- T.clearMessages();
5764
+ S.clearMessages();
5744
5765
  }), addEventListener("message:send:file", this._sendFileHandler.bind(this)), addEventListener("setting:show", () => {
5745
5766
  this.showSetting = !0;
5746
5767
  }), addEventListener("form:submit", this._formSubmitHandler.bind(this));
@@ -5755,14 +5776,17 @@ let D = class extends Q {
5755
5776
  }
5756
5777
  // initialize setting
5757
5778
  _initSetting() {
5758
- const a = T.setting;
5759
- a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoSvg = this.logoSvg, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, T.setSetting(a);
5779
+ const a = S.setting;
5780
+ a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, S.setSetting(a), this.open && (S.open = !0), this.alwaysOpen && (S.open = !0, S.alwaysOpen = !0);
5760
5781
  }
5761
5782
  setLoading(a) {
5762
5783
  this.loading = a;
5763
5784
  }
5764
5785
  clearConversation() {
5765
- T.clearConversation();
5786
+ S.clearConversation();
5787
+ }
5788
+ setOpen(a = !1) {
5789
+ S.open = a;
5766
5790
  }
5767
5791
  // check auth
5768
5792
  _checkAuth() {
@@ -5838,11 +5862,11 @@ let D = class extends Q {
5838
5862
  */
5839
5863
  _addMessageHandler(a) {
5840
5864
  const t = a.detail;
5841
- T.sendMessage(t);
5865
+ S.sendMessage(t);
5842
5866
  }
5843
5867
  _deleteMessageHandler(a) {
5844
5868
  const t = a.detail;
5845
- T.removeMessage(t.id);
5869
+ S.removeMessage(t.id);
5846
5870
  }
5847
5871
  async _sendFileHandler(a) {
5848
5872
  const t = a.detail, i = {
@@ -5859,11 +5883,11 @@ let D = class extends Q {
5859
5883
  }))
5860
5884
  }
5861
5885
  };
5862
- if (T.addMessage(i), this.uploadFileUrl) {
5886
+ if (S.addMessage(i), this.uploadFileUrl) {
5863
5887
  const s = await Oi(this.uploadFileUrl, t.files);
5864
5888
  s.code === 0 && s.data && (i.isUploading = !1, i.data = {
5865
5889
  files: s.data
5866
- }, T.updateMessage(i));
5890
+ }, S.updateMessage(i));
5867
5891
  }
5868
5892
  this.emit("chatbot:file:send", {
5869
5893
  detail: {
@@ -5875,7 +5899,7 @@ let D = class extends Q {
5875
5899
  // setting confirm handler
5876
5900
  _settingConfirmHandler(a) {
5877
5901
  const t = a.detail;
5878
- T.setSetting(t.setting), this.showSetting = !1, this._checkAuth();
5902
+ S.setSetting(t.setting), this.showSetting = !1, this._checkAuth();
5879
5903
  }
5880
5904
  async _formSubmitHandler(a) {
5881
5905
  }
@@ -5885,64 +5909,70 @@ let D = class extends Q {
5885
5909
  (t = this._messageList) == null || t.scrollToBottom();
5886
5910
  }
5887
5911
  };
5888
- D.styles = Pa;
5889
- F([
5912
+ B.styles = Pa;
5913
+ R([
5890
5914
  k({ type: Boolean, attribute: "display-license" })
5891
- ], D.prototype, "displayLicense", 2);
5892
- F([
5915
+ ], B.prototype, "displayLicense", 2);
5916
+ R([
5893
5917
  k({ type: String, attribute: "name" })
5894
- ], D.prototype, "name", 2);
5895
- F([
5918
+ ], B.prototype, "name", 2);
5919
+ R([
5896
5920
  k({ type: String, attribute: "org-id" })
5897
- ], D.prototype, "orgId", 2);
5898
- F([
5921
+ ], B.prototype, "orgId", 2);
5922
+ R([
5899
5923
  k({ type: String, attribute: "bot-id" })
5900
- ], D.prototype, "botId", 2);
5901
- F([
5924
+ ], B.prototype, "botId", 2);
5925
+ R([
5902
5926
  k({ type: String, attribute: "url" })
5903
- ], D.prototype, "url", 2);
5904
- F([
5927
+ ], B.prototype, "url", 2);
5928
+ R([
5929
+ k({ type: String, attribute: "logo-url" })
5930
+ ], B.prototype, "logoUrl", 2);
5931
+ R([
5905
5932
  k({ type: String, attribute: "logo-svg" })
5906
- ], D.prototype, "logoSvg", 2);
5907
- F([
5933
+ ], B.prototype, "logoSvg", 2);
5934
+ R([
5908
5935
  k({ type: String, attribute: "bot-icon-svg" })
5909
- ], D.prototype, "botIconSvg", 2);
5910
- F([
5936
+ ], B.prototype, "botIconSvg", 2);
5937
+ R([
5911
5938
  k({ type: String, attribute: "user-icon-svg" })
5912
- ], D.prototype, "userIconSvg", 2);
5913
- F([
5939
+ ], B.prototype, "userIconSvg", 2);
5940
+ R([
5914
5941
  k({ type: String, attribute: "system-icon-svg" })
5915
- ], D.prototype, "systemIconSvg", 2);
5916
- F([
5942
+ ], B.prototype, "systemIconSvg", 2);
5943
+ R([
5917
5944
  k({ type: Boolean, attribute: "stream" })
5918
- ], D.prototype, "stream", 2);
5919
- F([
5945
+ ], B.prototype, "stream", 2);
5946
+ R([
5920
5947
  k({ type: Boolean, attribute: "custom-request" })
5921
- ], D.prototype, "customRequest", 2);
5922
- F([
5948
+ ], B.prototype, "customRequest", 2);
5949
+ R([
5923
5950
  k({ type: Boolean, attribute: "enable-file-upload" })
5924
- ], D.prototype, "enableFileUpload", 2);
5925
- F([
5951
+ ], B.prototype, "enableFileUpload", 2);
5952
+ R([
5926
5953
  k({ type: String, attribute: "upload-file-url" })
5927
- ], D.prototype, "uploadFileUrl", 2);
5928
- F([
5954
+ ], B.prototype, "uploadFileUrl", 2);
5955
+ R([
5929
5956
  k({ type: Boolean, attribute: "open" })
5930
- ], D.prototype, "open", 2);
5931
- F([
5957
+ ], B.prototype, "open", 2);
5958
+ R([
5959
+ k({ type: Boolean, attribute: "always-open" })
5960
+ ], B.prototype, "alwaysOpen", 2);
5961
+ R([
5932
5962
  k({ type: Boolean })
5933
- ], D.prototype, "loading", 2);
5934
- F([
5963
+ ], B.prototype, "loading", 2);
5964
+ R([
5935
5965
  k({ type: Boolean })
5936
- ], D.prototype, "showSetting", 2);
5937
- F([
5966
+ ], B.prototype, "showSetting", 2);
5967
+ R([
5938
5968
  k({ type: Boolean })
5939
- ], D.prototype, "showAuthAlert", 2);
5940
- F([
5969
+ ], B.prototype, "showAuthAlert", 2);
5970
+ R([
5941
5971
  qe("cb-message-list")
5942
- ], D.prototype, "_messageList", 2);
5943
- D = F([
5944
- U("enegelai-bot")
5945
- ], D);
5972
+ ], B.prototype, "_messageList", 2);
5973
+ B = R([
5974
+ W("enegelai-bot")
5975
+ ], B);
5946
5976
  export {
5947
- D as default
5977
+ B as default
5948
5978
  };