@enegelai/bot-widget 1.10.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,11 +1,11 @@
1
- var za = Object.defineProperty;
2
- var ja = (c, e, a) => e in c ? za(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
- var ge = (c, e, a) => ja(c, typeof e != "symbol" ? e + "" : e, a);
1
+ var ja = Object.defineProperty;
2
+ var Ha = (c, e, a) => e in c ? ja(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
+ var ge = (c, e, a) => Ha(c, typeof e != "symbol" ? e + "" : e, a);
4
4
  import { css as X, LitElement as ut, html as g, svg as be } from "lit";
5
- import { property as v, customElement as J, queryAll as Kt, query as xe, eventOptions as Mt } from "lit/decorators.js";
6
- import { unsafeHTML as Y } from "lit-html/directives/unsafe-html.js";
7
- import { when as ce } from "lit/directives/when.js";
8
- import { registerIconLibrary as Ha } from "@shoelace-style/shoelace";
5
+ import { property as v, customElement as J, queryAll as Qt, query as ke, eventOptions as Mt } from "lit/decorators.js";
6
+ import { unsafeHTML as W } from "lit-html/directives/unsafe-html.js";
7
+ import { when as ee } from "lit/directives/when.js";
8
+ import { registerIconLibrary as Ba } from "@shoelace-style/shoelace";
9
9
  import "@shoelace-style/shoelace/dist/components/button/button.js";
10
10
  import "@shoelace-style/shoelace/dist/components/avatar/avatar.js";
11
11
  import "@shoelace-style/shoelace/dist/components/input/input.js";
@@ -24,14 +24,14 @@ import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
24
24
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
25
25
  import "@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js";
26
26
  import "@shoelace-style/shoelace/dist/components/badge/badge.js";
27
- import { repeat as Ye } from "lit/directives/repeat.js";
27
+ import { repeat as ze } from "lit/directives/repeat.js";
28
28
  import { until as Dt } from "lit-html/directives/until.js";
29
- import Ba from "markdown-it";
30
- import Ra from "markdown-it-link-attributes";
29
+ import Ra from "markdown-it";
30
+ import Va from "markdown-it-link-attributes";
31
31
  import vt from "highlight.js";
32
32
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
33
33
  import "@shoelace-style/shoelace/dist/components/rating/rating.js";
34
- function Qt(c) {
34
+ function ea(c) {
35
35
  return typeof c == "function" ? c() : c;
36
36
  }
37
37
  const ht = class ht extends Event {
@@ -39,15 +39,15 @@ const ht = class ht extends Event {
39
39
  * @param {string} key of the state that has changed
40
40
  * @param {unknown} value for the changed key
41
41
  */
42
- constructor(e, a, s) {
42
+ constructor(e, a, n) {
43
43
  super(ht.eventName, {
44
44
  cancelable: !1
45
- }), this.key = e, this.value = a, this.state = s;
45
+ }), this.key = e, this.value = a, this.state = n;
46
46
  }
47
47
  };
48
48
  ht.eventName = "lit-state-changed";
49
- let Pe = ht;
50
- const Va = (c, e) => e !== c && (e === e || c === c), Lt = class Lt extends EventTarget {
49
+ let He = ht;
50
+ const Da = (c, e) => e !== c && (e === e || c === c), Lt = class Lt extends EventTarget {
51
51
  static initPropertyMap() {
52
52
  this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
53
53
  }
@@ -60,8 +60,8 @@ const Va = (c, e) => e !== c && (e === e || c === c), Lt = class Lt extends Even
60
60
  constructor() {
61
61
  super(), this.hookMap = /* @__PURE__ */ new Map(), this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([e, a]) => {
62
62
  if (a.initialValue !== void 0) {
63
- const s = Qt(a.initialValue);
64
- this[e] = s, a.value = s;
63
+ const n = ea(a.initialValue);
64
+ this[e] = n, a.value = n;
65
65
  }
66
66
  });
67
67
  }
@@ -76,18 +76,18 @@ const Va = (c, e) => e !== c && (e === e || c === c), Lt = class Lt extends Even
76
76
  }
77
77
  static createProperty(e, a) {
78
78
  this.finalize();
79
- const s = typeof e == "symbol" ? Symbol() : `__${e}`, n = this.getPropertyDescriptor(String(e), s, a);
80
- Object.defineProperty(this.prototype, e, n);
79
+ const n = typeof e == "symbol" ? Symbol() : `__${e}`, s = this.getPropertyDescriptor(String(e), n, a);
80
+ Object.defineProperty(this.prototype, e, s);
81
81
  }
82
- static getPropertyDescriptor(e, a, s) {
83
- const n = (s == null ? void 0 : s.hasChanged) || Va;
82
+ static getPropertyDescriptor(e, a, n) {
83
+ const s = (n == null ? void 0 : n.hasChanged) || Da;
84
84
  return {
85
85
  get() {
86
86
  return this[a];
87
87
  },
88
- set(d) {
88
+ set(r) {
89
89
  const f = this[e];
90
- this[a] = d, n(d, f) === !0 && this.dispatchStateEvent(e, d, this);
90
+ this[a] = r, s(r, f) === !0 && this.dispatchStateEvent(e, r, this);
91
91
  },
92
92
  configurable: !0,
93
93
  enumerable: !0
@@ -110,45 +110,45 @@ const Va = (c, e) => e !== c && (e === e || c === c), Lt = class Lt extends Even
110
110
  * @param nameOrNames
111
111
  * @returns a unsubscribe function.
112
112
  */
113
- subscribe(e, a, s) {
113
+ subscribe(e, a, n) {
114
114
  a && !Array.isArray(a) && (a = [a]);
115
- const n = (d) => {
116
- (!a || a.includes(d.key)) && e(d.key, d.value, this);
115
+ const s = (r) => {
116
+ (!a || a.includes(r.key)) && e(r.key, r.value, this);
117
117
  };
118
- return this.addEventListener(Pe.eventName, n, s), () => this.removeEventListener(Pe.eventName, n);
118
+ return this.addEventListener(He.eventName, s, n), () => this.removeEventListener(He.eventName, s);
119
119
  }
120
- dispatchStateEvent(e, a, s) {
121
- this.dispatchEvent(new Pe(e, a, s));
120
+ dispatchStateEvent(e, a, n) {
121
+ this.dispatchEvent(new He(e, a, n));
122
122
  }
123
123
  };
124
124
  Lt.finalized = !1;
125
125
  let kt = Lt;
126
126
  class pt {
127
- constructor(e, a, s) {
128
- this.host = e, this.state = a, this.callback = s || (() => this.host.requestUpdate()), this.host.addController(this);
127
+ constructor(e, a, n) {
128
+ this.host = e, this.state = a, this.callback = n || (() => this.host.requestUpdate()), this.host.addController(this);
129
129
  }
130
130
  hostConnected() {
131
- this.state.addEventListener(Pe.eventName, this.callback), this.callback();
131
+ this.state.addEventListener(He.eventName, this.callback), this.callback();
132
132
  }
133
133
  hostDisconnected() {
134
- this.state.removeEventListener(Pe.eventName, this.callback);
134
+ this.state.removeEventListener(He.eventName, this.callback);
135
135
  }
136
136
  }
137
137
  function q(c) {
138
138
  return (e, a) => {
139
139
  if (Object.getOwnPropertyDescriptor(e, a))
140
140
  throw new Error("@property must be called before all state decorators");
141
- const s = e.constructor;
142
- s.initPropertyMap();
143
- const n = e.hasOwnProperty(a);
144
- return s.propertyMap.set(a, {
141
+ const n = e.constructor;
142
+ n.initPropertyMap();
143
+ const s = e.hasOwnProperty(a);
144
+ return n.propertyMap.set(a, {
145
145
  ...c,
146
146
  initialValue: c == null ? void 0 : c.value,
147
147
  resetValue: c == null ? void 0 : c.value
148
- }), s.createProperty(a, c), n ? Object.getOwnPropertyDescriptor(e, a) : void 0;
148
+ }), n.createProperty(a, c), s ? Object.getOwnPropertyDescriptor(e, a) : void 0;
149
149
  };
150
150
  }
151
- function Da(c, e) {
151
+ function Fa(c, e) {
152
152
  if (c !== null && (e === Boolean || e === Number || e === Array || e === Object))
153
153
  try {
154
154
  c = JSON.parse(c);
@@ -158,46 +158,46 @@ function Da(c, e) {
158
158
  return c;
159
159
  }
160
160
  new URL(location.href);
161
- const Fa = {
161
+ const Na = {
162
162
  prefix: "_ls"
163
163
  };
164
- function de(c) {
165
- return c = { ...Fa, ...c }, (e, a) => {
166
- const s = Object.getOwnPropertyDescriptor(e, a);
167
- if (!s)
164
+ function oe(c) {
165
+ return c = { ...Na, ...c }, (e, a) => {
166
+ const n = Object.getOwnPropertyDescriptor(e, a);
167
+ if (!n)
168
168
  throw new Error("@local-storage decorator need to be called after @property");
169
- const n = `${(c == null ? void 0 : c.prefix) || ""}_${(c == null ? void 0 : c.key) || String(a)}`, d = e.constructor, f = d.propertyMap.get(a), x = f == null ? void 0 : f.type;
169
+ const s = `${(c == null ? void 0 : c.prefix) || ""}_${(c == null ? void 0 : c.key) || String(a)}`, r = e.constructor, f = r.propertyMap.get(a), w = f == null ? void 0 : f.type;
170
170
  if (f) {
171
171
  const F = f.initialValue;
172
- f.initialValue = () => Da(localStorage.getItem(n), x) ?? Qt(F), d.propertyMap.set(a, { ...f, ...c });
172
+ f.initialValue = () => Fa(localStorage.getItem(s), w) ?? ea(F), r.propertyMap.set(a, { ...f, ...c });
173
173
  }
174
- const S = s == null ? void 0 : s.set, K = {
175
- ...s,
174
+ const S = n == null ? void 0 : n.set, K = {
175
+ ...n,
176
176
  set: function(F) {
177
- F !== void 0 && localStorage.setItem(n, x === Object || x === Array ? JSON.stringify(F) : F), S && S.call(this, F);
177
+ F !== void 0 && localStorage.setItem(s, w === Object || w === Array ? JSON.stringify(F) : F), S && S.call(this, F);
178
178
  }
179
179
  };
180
- Object.defineProperty(d.prototype, a, K);
180
+ Object.defineProperty(r.prototype, a, K);
181
181
  };
182
182
  }
183
- var ea = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
184
- function ta(c) {
183
+ var ta = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
184
+ function aa(c) {
185
185
  return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
186
186
  }
187
- var aa = { exports: {} };
187
+ var ca = { exports: {} };
188
188
  (function(c) {
189
189
  (function(e, a) {
190
190
  c.exports ? c.exports = a() : e.log = a();
191
- })(ea, function() {
191
+ })(ta, function() {
192
192
  var e = function() {
193
- }, a = "undefined", s = typeof window !== a && typeof window.navigator !== a && /Trident\/|MSIE /.test(window.navigator.userAgent), n = [
193
+ }, a = "undefined", n = typeof window !== a && typeof window.navigator !== a && /Trident\/|MSIE /.test(window.navigator.userAgent), s = [
194
194
  "trace",
195
195
  "debug",
196
196
  "info",
197
197
  "warn",
198
198
  "error"
199
- ], d = {}, f = null;
200
- function x($, V) {
199
+ ], r = {}, f = null;
200
+ function w($, V) {
201
201
  var C = $[V];
202
202
  if (typeof C.bind == "function")
203
203
  return C.bind($);
@@ -213,11 +213,11 @@ var aa = { exports: {} };
213
213
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
214
214
  }
215
215
  function _($) {
216
- return $ === "debug" && ($ = "log"), typeof console === a ? !1 : $ === "trace" && s ? S : console[$] !== void 0 ? x(console, $) : console.log !== void 0 ? x(console, "log") : e;
216
+ return $ === "debug" && ($ = "log"), typeof console === a ? !1 : $ === "trace" && n ? S : console[$] !== void 0 ? w(console, $) : console.log !== void 0 ? w(console, "log") : e;
217
217
  }
218
218
  function K() {
219
- for (var $ = this.getLevel(), V = 0; V < n.length; V++) {
220
- var C = n[V];
219
+ for (var $ = this.getLevel(), V = 0; V < s.length; V++) {
220
+ var C = s[V];
221
221
  this[C] = V < $ ? e : this.methodFactory(C, $, this.name);
222
222
  }
223
223
  if (this.log = this.debug, typeof console === a && $ < this.levels.SILENT)
@@ -232,10 +232,10 @@ var aa = { exports: {} };
232
232
  return _($) || F.apply(this, arguments);
233
233
  }
234
234
  function N($, V) {
235
- var C = this, Ee, Ae, ne, se = "loglevel";
235
+ var C = this, Ie, Le, ne, se = "loglevel";
236
236
  typeof $ == "string" ? se += ":" + $ : typeof $ == "symbol" && (se = void 0);
237
237
  function mt(z) {
238
- var R = (n[z] || "silent").toUpperCase();
238
+ var R = (s[z] || "silent").toUpperCase();
239
239
  if (!(typeof window === a || !se)) {
240
240
  try {
241
241
  window.localStorage[se] = R;
@@ -248,7 +248,7 @@ var aa = { exports: {} };
248
248
  }
249
249
  }
250
250
  }
251
- function ze() {
251
+ function Be() {
252
252
  var z;
253
253
  if (!(typeof window === a || !se)) {
254
254
  try {
@@ -257,9 +257,9 @@ var aa = { exports: {} };
257
257
  }
258
258
  if (typeof z === a)
259
259
  try {
260
- var R = window.document.cookie, Ie = encodeURIComponent(se), We = R.indexOf(Ie + "=");
261
- We !== -1 && (z = /^([^;]+)/.exec(
262
- R.slice(We + Ie.length + 1)
260
+ var R = window.document.cookie, qe = encodeURIComponent(se), Ye = R.indexOf(qe + "=");
261
+ Ye !== -1 && (z = /^([^;]+)/.exec(
262
+ R.slice(Ye + qe.length + 1)
263
263
  )[1]);
264
264
  } catch {
265
265
  }
@@ -292,11 +292,11 @@ var aa = { exports: {} };
292
292
  ERROR: 4,
293
293
  SILENT: 5
294
294
  }, C.methodFactory = V || T, C.getLevel = function() {
295
- return ne ?? Ae ?? Ee;
295
+ return ne ?? Le ?? Ie;
296
296
  }, C.setLevel = function(z, R) {
297
297
  return ne = ve(z), R !== !1 && mt(ne), K.call(C);
298
298
  }, C.setDefaultLevel = function(z) {
299
- Ae = ve(z), ze() || C.setLevel(z, !1);
299
+ Le = ve(z), Be() || C.setLevel(z, !1);
300
300
  }, C.resetLevel = function() {
301
301
  ne = null, Qe(), K.call(C);
302
302
  }, C.enableAll = function(z) {
@@ -304,20 +304,20 @@ var aa = { exports: {} };
304
304
  }, C.disableAll = function(z) {
305
305
  C.setLevel(C.levels.SILENT, z);
306
306
  }, C.rebuild = function() {
307
- if (f !== C && (Ee = ve(f.getLevel())), K.call(C), f === C)
308
- for (var z in d)
309
- d[z].rebuild();
310
- }, Ee = ve(
307
+ if (f !== C && (Ie = ve(f.getLevel())), K.call(C), f === C)
308
+ for (var z in r)
309
+ r[z].rebuild();
310
+ }, Ie = ve(
311
311
  f ? f.getLevel() : "WARN"
312
312
  );
313
- var P = ze();
313
+ var P = Be();
314
314
  P != null && (ne = ve(P)), K.call(C);
315
315
  }
316
316
  f = new N(), f.getLogger = function(V) {
317
317
  if (typeof V != "symbol" && typeof V != "string" || V === "")
318
318
  throw new TypeError("You must supply a name when creating a logger.");
319
- var C = d[V];
320
- return C || (C = d[V] = new N(
319
+ var C = r[V];
320
+ return C || (C = r[V] = new N(
321
321
  V,
322
322
  f.methodFactory
323
323
  )), C;
@@ -326,12 +326,12 @@ var aa = { exports: {} };
326
326
  return f.noConflict = function() {
327
327
  return typeof window !== a && window.log === f && (window.log = Q), f;
328
328
  }, f.getLoggers = function() {
329
- return d;
329
+ return r;
330
330
  }, f.default = f, f;
331
331
  });
332
- })(aa);
333
- var Na = aa.exports;
334
- const Ke = /* @__PURE__ */ ta(Na), Ua = X`
332
+ })(ca);
333
+ var Ua = ca.exports;
334
+ const Ke = /* @__PURE__ */ aa(Ua), Wa = X`
335
335
  :host {
336
336
  font-size: 16px;
337
337
  }
@@ -469,7 +469,7 @@ const Ke = /* @__PURE__ */ ta(Na), Ua = X`
469
469
  .text-button:hover {
470
470
  text-decoration: underline;
471
471
  }
472
- `, ca = X`
472
+ `, ia = X`
473
473
  ${me}
474
474
 
475
475
  :host {
@@ -494,20 +494,20 @@ const Ke = /* @__PURE__ */ ta(Na), Ua = X`
494
494
  color: white;
495
495
  }
496
496
  `;
497
- var Wa = Object.defineProperty, Ya = Object.getOwnPropertyDescriptor, Tt = (c, e, a, s) => {
498
- for (var n = s > 1 ? void 0 : s ? Ya(e, a) : e, d = c.length - 1, f; d >= 0; d--)
499
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
500
- return s && n && Wa(e, a, n), n;
497
+ var Ya = Object.defineProperty, Xa = Object.getOwnPropertyDescriptor, Tt = (c, e, a, n) => {
498
+ for (var s = n > 1 ? void 0 : n ? Xa(e, a) : e, r = c.length - 1, f; r >= 0; r--)
499
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
500
+ return n && s && Ya(e, a, s), s;
501
501
  };
502
502
  let Ge = class extends ut {
503
503
  constructor() {
504
504
  super(...arguments), this.color = "primary", this.svg = "";
505
505
  }
506
506
  render() {
507
- return g`<span class="cb-icon" part="base">${Y(this.svg)}</span>`;
507
+ return g`<span class="cb-icon" part="base">${W(this.svg)}</span>`;
508
508
  }
509
509
  };
510
- Ge.styles = ca;
510
+ Ge.styles = ia;
511
511
  Tt([
512
512
  v({ type: String })
513
513
  ], Ge.prototype, "color", 2);
@@ -517,47 +517,47 @@ Tt([
517
517
  Ge = Tt([
518
518
  J("cb-icon")
519
519
  ], Ge);
520
- let Xa = (c) => crypto.getRandomValues(new Uint8Array(c)), Ga = (c, e, a) => {
521
- let s = (2 << Math.log2(c.length - 1)) - 1, n = -~(1.6 * s * e / c.length);
522
- return (d = e) => {
520
+ let Ga = (c) => crypto.getRandomValues(new Uint8Array(c)), Za = (c, e, a) => {
521
+ let n = (2 << Math.log2(c.length - 1)) - 1, s = -~(1.6 * n * e / c.length);
522
+ return (r = e) => {
523
523
  let f = "";
524
524
  for (; ; ) {
525
- let x = a(n), S = n | 0;
525
+ let w = a(s), S = s | 0;
526
526
  for (; S--; )
527
- if (f += c[x[S] & s] || "", f.length >= d) return f;
527
+ if (f += c[w[S] & n] || "", f.length >= r) return f;
528
528
  }
529
529
  };
530
- }, Za = (c, e = 21) => Ga(c, e | 0, Xa);
531
- const Ja = Za("1234567890abcdefghijklmnopqrstuvwxyz", 10);
532
- function Ve(c = 10) {
533
- return Ja(c);
530
+ }, Ja = (c, e = 21) => Za(c, e | 0, Ga);
531
+ const Ka = Ja("1234567890abcdefghijklmnopqrstuvwxyz", 10);
532
+ function xe(c = 10) {
533
+ return Ka(c);
534
534
  }
535
- function Ka(c) {
535
+ function Qa(c) {
536
536
  return new Promise((e, a) => {
537
537
  try {
538
538
  navigator.clipboard.writeText(c).then(() => {
539
539
  e(c);
540
540
  });
541
- } catch (s) {
542
- a(s);
541
+ } catch (n) {
542
+ a(n);
543
543
  }
544
544
  });
545
545
  }
546
- function Qa(c = !0) {
546
+ function ec(c = !0) {
547
547
  return new Promise((e) => {
548
548
  const a = document.createElement("input");
549
549
  a.type = "file", c && (a.multiple = !0), a.style.display = "none", a.addEventListener("change", () => {
550
- const s = Array.prototype.slice.call(a.files);
551
- e(s);
550
+ const n = Array.prototype.slice.call(a.files);
551
+ e(n);
552
552
  }), a.click();
553
553
  });
554
554
  }
555
555
  const Z = Ke.noConflict();
556
556
  Z.setLevel("info");
557
557
  const Ft = 3e4;
558
- class ec {
558
+ class tc {
559
559
  constructor(e = {}) {
560
- this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.onConnecting = (e == null ? void 0 : e.onConnecting) || null, this.queue = [], this.pause = (a) => new Promise((s) => setTimeout(s, a)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, Z.info(`WSC: Created, url: ${this.url}`);
560
+ this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.onConnecting = (e == null ? void 0 : e.onConnecting) || null, this.queue = [], this.pause = (a) => new Promise((n) => setTimeout(n, a)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, Z.info(`WSC: Created, url: ${this.url}`);
561
561
  }
562
562
  connect(e = {}) {
563
563
  if (this._ws)
@@ -567,33 +567,33 @@ class ec {
567
567
  this.setConnecting(!0);
568
568
  const a = this.url;
569
569
  Z.info(`WSC: ${Date.now()}: Connecting to ${a} ...`), this._ws = new WebSocket(a);
570
- let s = setTimeout(() => {
570
+ let n = setTimeout(() => {
571
571
  Z.error(`WSC: ${Date.now()}: connected message not received in time - closing ...`), this._ws.close(), this._ws = null, this.connected = !1;
572
572
  }, 3e4);
573
573
  this._ws.onopen = () => {
574
574
  Z.info(`WSC: ${Date.now()}: Connection to ${a} opened`);
575
- }, this._ws.onmessage = (n) => {
576
- let d = (n == null ? void 0 : n.data) || null;
577
- if (!d)
575
+ }, this._ws.onmessage = (s) => {
576
+ let r = (s == null ? void 0 : s.data) || null;
577
+ if (!r)
578
578
  return;
579
579
  let f = null;
580
580
  try {
581
- f = JSON.parse(d);
581
+ f = JSON.parse(r);
582
582
  } catch {
583
- Z.error(`WSC: ${Date.now()}: Failed to parse message: ${d}`);
583
+ Z.error(`WSC: ${Date.now()}: Failed to parse message: ${r}`);
584
584
  return;
585
585
  }
586
586
  if ((f == null ? void 0 : f.type) === "connected")
587
- Z.info(`WSC: ${Date.now()}: Got connected message`, f), clearTimeout(s), this.connected = !0, this.suspendDetected = !1, this.lastTickTs = Date.now(), this.setConnecting(!1), this.sendClientInfoMessage(), this.sendQueuedMessages();
587
+ Z.info(`WSC: ${Date.now()}: Got connected message`, f), clearTimeout(n), this.connected = !0, this.suspendDetected = !1, this.lastTickTs = Date.now(), this.setConnecting(!1), this.sendClientInfoMessage(), this.sendQueuedMessages();
588
588
  else if ((f == null ? void 0 : f.type) === "ack") {
589
- const x = Date.now();
590
- this.lastAckTs = x;
589
+ const w = Date.now();
590
+ this.lastAckTs = w;
591
591
  }
592
592
  this.handleWscMessage(f);
593
- }, this._ws.onerror = (n) => {
594
- Z.error(`WSC: ${Date.now()}: Socket error`), clearTimeout(s), this.connected = !1, this._ws = null, this.setConnecting(!1);
595
- }, this._ws.onclose = (n) => {
596
- Z.info(`WSC: ${Date.now()}: Closed - code:${n.code}, reason:"${n.reason}"`), this.connected = !1, this._ws = null, this.setConnecting(!1), this.reconnect();
593
+ }, this._ws.onerror = (s) => {
594
+ Z.error(`WSC: ${Date.now()}: Socket error`), clearTimeout(n), this.connected = !1, this._ws = null, this.setConnecting(!1);
595
+ }, this._ws.onclose = (s) => {
596
+ Z.info(`WSC: ${Date.now()}: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.setConnecting(!1), this.reconnect();
597
597
  };
598
598
  }
599
599
  reconnect(e = 1e3) {
@@ -612,7 +612,7 @@ class ec {
612
612
  this.connecting !== e && (this.connecting = e, this.onConnecting && typeof this.onConnecting == "function" && this.onConnecting(this.connecting));
613
613
  }
614
614
  pingConnection() {
615
- this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id: Ve() }));
615
+ this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id: xe() }));
616
616
  }
617
617
  tick() {
618
618
  this.pingConnection(), this.lastTickTs = Date.now();
@@ -641,7 +641,7 @@ class ec {
641
641
  sendClientInfoMessage() {
642
642
  const e = {
643
643
  type: "clientInfo",
644
- id: Ve(),
644
+ id: xe(),
645
645
  data: {
646
646
  referrer: window.location.href,
647
647
  userAgent: window.navigator.userAgent
@@ -656,8 +656,8 @@ class ec {
656
656
  return;
657
657
  const e = Date.now();
658
658
  let a = !1;
659
- const s = e - this.lastAckTs;
660
- s > Ft + 5e3 && (a = !0, Z.info(`WSC: checkConnection: connection loss detected - last ack delay ${s} msec, reconnecting`)), a && this.disconnect();
659
+ const n = e - this.lastAckTs;
660
+ n > Ft + 5e3 && (a = !0, Z.info(`WSC: checkConnection: connection loss detected - last ack delay ${n} msec, reconnecting`)), a && this.disconnect();
661
661
  }
662
662
  sendMessage(e) {
663
663
  if (this.checkConnection(), !this.connected) {
@@ -666,6 +666,9 @@ class ec {
666
666
  }
667
667
  this._ws.send(JSON.stringify(e));
668
668
  }
669
+ queueMessage(e, a = !1) {
670
+ a ? this.queue.unshift(JSON.stringify(e)) : this.queue.push(JSON.stringify(e));
671
+ }
669
672
  sendQueuedMessages() {
670
673
  if (Array.isArray(this.queue) && this.queue.length > 0)
671
674
  for (let e = 0; e < this.queue.length; e++)
@@ -707,105 +710,105 @@ class ec {
707
710
  function D(c) {
708
711
  return c != null && typeof c == "object" && c["@@functional/placeholder"] === !0;
709
712
  }
710
- function Oe(c) {
713
+ function je(c) {
711
714
  return function e(a) {
712
715
  return arguments.length === 0 || D(a) ? e : c.apply(this, arguments);
713
716
  };
714
717
  }
715
- function qe(c) {
716
- return function e(a, s) {
718
+ function Pe(c) {
719
+ return function e(a, n) {
717
720
  switch (arguments.length) {
718
721
  case 0:
719
722
  return e;
720
723
  case 1:
721
- return D(a) ? e : Oe(function(n) {
722
- return c(a, n);
724
+ return D(a) ? e : je(function(s) {
725
+ return c(a, s);
723
726
  });
724
727
  default:
725
- return D(a) && D(s) ? e : D(a) ? Oe(function(n) {
726
- return c(n, s);
727
- }) : D(s) ? Oe(function(n) {
728
- return c(a, n);
729
- }) : c(a, s);
728
+ return D(a) && D(n) ? e : D(a) ? je(function(s) {
729
+ return c(s, n);
730
+ }) : D(n) ? je(function(s) {
731
+ return c(a, s);
732
+ }) : c(a, n);
730
733
  }
731
734
  };
732
735
  }
733
- function tc(c) {
734
- return function e(a, s, n) {
736
+ function ac(c) {
737
+ return function e(a, n, s) {
735
738
  switch (arguments.length) {
736
739
  case 0:
737
740
  return e;
738
741
  case 1:
739
- return D(a) ? e : qe(function(d, f) {
740
- return c(a, d, f);
742
+ return D(a) ? e : Pe(function(r, f) {
743
+ return c(a, r, f);
741
744
  });
742
745
  case 2:
743
- return D(a) && D(s) ? e : D(a) ? qe(function(d, f) {
744
- return c(d, s, f);
745
- }) : D(s) ? qe(function(d, f) {
746
- return c(a, d, f);
747
- }) : Oe(function(d) {
748
- return c(a, s, d);
746
+ return D(a) && D(n) ? e : D(a) ? Pe(function(r, f) {
747
+ return c(r, n, f);
748
+ }) : D(n) ? Pe(function(r, f) {
749
+ return c(a, r, f);
750
+ }) : je(function(r) {
751
+ return c(a, n, r);
749
752
  });
750
753
  default:
751
- return D(a) && D(s) && D(n) ? e : D(a) && D(s) ? qe(function(d, f) {
752
- return c(d, f, n);
753
- }) : D(a) && D(n) ? qe(function(d, f) {
754
- return c(d, s, f);
755
- }) : D(s) && D(n) ? qe(function(d, f) {
756
- return c(a, d, f);
757
- }) : D(a) ? Oe(function(d) {
758
- return c(d, s, n);
759
- }) : D(s) ? Oe(function(d) {
760
- return c(a, d, n);
761
- }) : D(n) ? Oe(function(d) {
762
- return c(a, s, d);
763
- }) : c(a, s, n);
754
+ return D(a) && D(n) && D(s) ? e : D(a) && D(n) ? Pe(function(r, f) {
755
+ return c(r, f, s);
756
+ }) : D(a) && D(s) ? Pe(function(r, f) {
757
+ return c(r, n, f);
758
+ }) : D(n) && D(s) ? Pe(function(r, f) {
759
+ return c(a, r, f);
760
+ }) : D(a) ? je(function(r) {
761
+ return c(r, n, s);
762
+ }) : D(n) ? je(function(r) {
763
+ return c(a, r, s);
764
+ }) : D(s) ? je(function(r) {
765
+ return c(a, n, r);
766
+ }) : c(a, n, s);
764
767
  }
765
768
  };
766
769
  }
767
- const ac = Number.isInteger || function(e) {
770
+ const cc = Number.isInteger || function(e) {
768
771
  return e << 0 === e;
769
772
  };
770
- function cc(c) {
773
+ function ic(c) {
771
774
  return Object.prototype.toString.call(c) === "[object String]";
772
775
  }
773
- function ic(c, e) {
776
+ function nc(c, e) {
774
777
  var a = c < 0 ? e.length + c : c;
775
- return cc(e) ? e.charAt(a) : e[a];
778
+ return ic(e) ? e.charAt(a) : e[a];
776
779
  }
777
- var nc = /* @__PURE__ */ qe(function(e, a) {
780
+ var sc = /* @__PURE__ */ Pe(function(e, a) {
778
781
  return a == null || a !== a ? e : a;
779
782
  });
780
- function sc(c, e) {
781
- for (var a = e, s = 0; s < c.length; s += 1) {
783
+ function oc(c, e) {
784
+ for (var a = e, n = 0; n < c.length; n += 1) {
782
785
  if (a == null)
783
786
  return;
784
- var n = c[s];
785
- ac(n) ? a = ic(n, a) : a = a[n];
787
+ var s = c[n];
788
+ cc(s) ? a = nc(s, a) : a = a[s];
786
789
  }
787
790
  return a;
788
791
  }
789
- var wt = /* @__PURE__ */ tc(function(e, a, s) {
790
- return nc(e, sc(a, s));
792
+ var wt = /* @__PURE__ */ ac(function(e, a, n) {
793
+ return sc(e, oc(a, n));
791
794
  });
792
- const oc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
793
- var rc = Object.defineProperty, O = (c, e, a, s) => {
794
- for (var n = void 0, d = c.length - 1, f; d >= 0; d--)
795
- (f = c[d]) && (n = f(e, a, n) || n);
796
- return n && rc(e, a, n), n;
795
+ const rc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
796
+ var dc = Object.defineProperty, O = (c, e, a, n) => {
797
+ for (var s = void 0, r = c.length - 1, f; r >= 0; r--)
798
+ (f = c[r]) && (s = f(e, a, s) || s);
799
+ return s && dc(e, a, s), s;
797
800
  };
798
- const I = Ke.noConflict();
799
- I.setLevel("info");
800
- const ie = "cb_";
801
+ const A = Ke.noConflict();
802
+ A.setLevel("info");
803
+ const te = "cb_";
801
804
  class L extends kt {
802
805
  constructor() {
803
806
  super(...arguments), this.actionIdCounter = 0, this.prefilledFormValues = {}, this.wsClient = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
804
807
  }
805
808
  // this is called at startup
806
809
  setSetting(e) {
807
- I.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
808
- I.info(`Exception during bot initialization: ${a.message}`);
810
+ A.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
811
+ A.info(`Exception during bot initialization: ${a.message}`);
809
812
  });
810
813
  }
811
814
  // set language
@@ -819,22 +822,22 @@ class L extends kt {
819
822
  // todo Form disappears on refresh !!!
820
823
  async initBot() {
821
824
  if (!this.botSettingsInitialized) {
822
- const s = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
823
- I.info(`Getting bot settings at ${s} ...`);
824
- let n = null, d = null;
825
+ const n = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
826
+ A.info(`Getting bot settings at ${n} ...`);
827
+ let s = null, r = null;
825
828
  try {
826
- n = await fetch(s, {
829
+ s = await fetch(n, {
827
830
  headers: {
828
831
  "Access-Control-Allow-Origin": "null",
829
832
  "X-Enegel-Signature": this.setting.botId
830
833
  }
831
- }), !n.ok || n.status !== 200 ? I.error(`Failed to get bot ${this.setting.botId} settings: ${n.status} ${n.statusText}`) : d = await n.json();
834
+ }), !s.ok || s.status !== 200 ? A.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
832
835
  } catch (f) {
833
- I.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), d = null;
836
+ A.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), r = null;
834
837
  }
835
- if (this.botSettingsInitialized = !0, this.botSettings = d, !d) {
836
- if (I.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
837
- I.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
838
+ if (this.botSettingsInitialized = !0, this.botSettings = r, !r) {
839
+ if (A.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
840
+ A.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
838
841
  return;
839
842
  }
840
843
  this.botSettingsInitialized = !1, setTimeout(async () => {
@@ -842,17 +845,17 @@ class L extends kt {
842
845
  }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
843
846
  return;
844
847
  }
845
- I.info("Got bot settings - bot is enabled", d), this.disabled = !1, this.setting.welcomeMessage = (d == null ? void 0 : d.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (d == null ? void 0 : d.engageMessage) || "How can I help ?", this.setting.engageTimeout = (d == null ? void 0 : d.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in d ? d.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in d ? d.feedbackEnabled : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
848
+ A.info("Got bot settings - bot is enabled", r), this.disabled = !1, this.setting.welcomeMessage = (r == null ? void 0 : r.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (r == null ? void 0 : r.engageMessage) || "How can I help ?", this.setting.engageTimeout = (r == null ? void 0 : r.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in r ? r.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in r ? r.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in r ? r.uploadImages : !1, this.setting.newConversationTimeoutInSec = (r == null ? void 0 : r.newConversationTimeoutInSec) || 86400, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
846
849
  this.showEngagePopup();
847
850
  }, this.setting.engageTimeout * 1e3);
848
851
  }
849
852
  const e = new URLSearchParams(window.location.search);
850
853
  if (e.has("c7o_bot_open")) {
851
854
  const a = e.get("c7o_bot_open");
852
- this.open = a !== "false" && a !== "no" && a !== "0", I.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
855
+ this.open = a !== "false" && a !== "no" && a !== "0", A.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
853
856
  }
854
- this.connectWs === "true" && (I.info("appState: connectWs is true"), this.getWsClient().catch((a) => {
855
- I.error(`Exception during ws client startup: ${a.message}`);
857
+ this.connectWs === "true" && (A.info("appState: connectWs is true"), this.getWsClient().catch((a) => {
858
+ A.error(`Exception during ws client startup: ${a.message}`);
856
859
  })), setTimeout(() => {
857
860
  window.dispatchEvent(
858
861
  new CustomEvent("c7o:bot:stateEvent", {
@@ -865,7 +868,8 @@ class L extends kt {
865
868
  }, 1e3);
866
869
  }
867
870
  initConversation() {
868
- if (Date.now() - this.lastConversationUpdate > 24 * 60 * 60 * 1e3) {
871
+ const e = Date.now(), a = this.setting.newConversationTimeoutInSec * 1e3;
872
+ if (e - this.lastConversationUpdate > a) {
869
873
  this.clearConversation();
870
874
  return;
871
875
  }
@@ -873,7 +877,7 @@ class L extends kt {
873
877
  }
874
878
  clearConversation() {
875
879
  this.wsClient && (this.wsClient.stop().then(() => {
876
- }), this.wsClient = null), this.conversationId = Ve(), this.lastConversationUpdate = Date.now(), this.connectWs = "false", this.shouldEngage = "true", this.messages = [], this.unreadMessages = 0, this.actions = [], this.form = null, this.addMessage({
880
+ }), this.wsClient = null), this.conversationId = xe(), this.lastConversationUpdate = Date.now(), this.connectWs = "false", this.shouldEngage = "true", this.messages = [], this.unreadMessages = 0, this.actions = [], this.context = {}, this.form = null, this.addMessage({
877
881
  author: "assistant",
878
882
  type: "text",
879
883
  data: {
@@ -887,34 +891,64 @@ class L extends kt {
887
891
  getPrefilledFormFieldValue(e) {
888
892
  return !this.prefilledFormValues || !(e in this.prefilledFormValues) ? null : this.prefilledFormValues[e];
889
893
  }
894
+ // Set data in the context of the conversation
895
+ async setContext(e) {
896
+ if (!(!e || typeof e != "object")) {
897
+ this.context || (this.context = {});
898
+ for (const [a, n] of Object.entries(e))
899
+ this.context[a] = n;
900
+ this.wsClient && await this.sendContext();
901
+ }
902
+ }
903
+ async sendContext() {
904
+ if (!this.context)
905
+ return;
906
+ const e = await this.getWsClient();
907
+ if (!e) {
908
+ A.error("Error - failed to obtain ws client");
909
+ return;
910
+ }
911
+ const a = {
912
+ id: xe(),
913
+ type: "setContext",
914
+ contextData: this.context
915
+ };
916
+ e.sendMessage(a), A.info("Sent context:", this.context);
917
+ }
918
+ getContext() {
919
+ return this.context;
920
+ }
921
+ clearContext() {
922
+ this.context = {};
923
+ }
890
924
  initStartupForm() {
891
925
  const e = wt(null, ["startupForm"], this.botSettings);
892
926
  if (!e || !(e != null && e.name)) {
893
- I.info("Startup form not present");
927
+ A.info("Startup form not present");
894
928
  return;
895
929
  }
896
930
  this.initForm(e);
897
931
  }
898
932
  initForm(e = null) {
899
- const a = e, s = wt(null, ["name"], e);
900
- if (!a || !s)
933
+ const a = e, n = wt(null, ["name"], e);
934
+ if (!a || !n)
901
935
  return;
902
- const n = wt(null, ["fields"], e);
903
- if (!Array.isArray(n) || n.length <= 0) {
904
- I.info("form has no fields", e);
936
+ const s = wt(null, ["fields"], e);
937
+ if (!Array.isArray(s) || s.length <= 0) {
938
+ A.info("form has no fields", e);
905
939
  return;
906
940
  }
907
- const d = `${ie}${this.setting.botId}.${this.conversationId}.form.${s}`, f = localStorage.getItem(d);
941
+ const r = `${te}${this.setting.botId}.${this.conversationId}.form.${n}`, f = localStorage.getItem(r);
908
942
  if (f) {
909
- let x = null;
943
+ let w = null;
910
944
  try {
911
- x = JSON.parse(f);
945
+ w = JSON.parse(f);
912
946
  } catch (S) {
913
- I.error(`Failed to parse stored form data: ${S.message}`), x = null;
947
+ A.error(`Failed to parse stored form data: ${S.message}`), w = null;
914
948
  }
915
- if (x) {
916
- this.sendFormData(s, x).catch((S) => {
917
- I.error(`Error when submitting form: ${S.message}`);
949
+ if (w) {
950
+ this.sendFormData(n, w).catch((S) => {
951
+ A.error(`Error when submitting form: ${S.message}`);
918
952
  });
919
953
  return;
920
954
  }
@@ -925,18 +959,18 @@ class L extends kt {
925
959
  this.engage = !1, this.shouldEngage = "false";
926
960
  }
927
961
  showEngagePopup() {
928
- this.open || (I.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
962
+ this.open || (A.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
929
963
  }
930
964
  playAudioNotification() {
931
- const e = (d) => {
932
- const f = new Uint8Array(d.length / 2);
933
- for (let x = 0; x < f.length; x++)
934
- f[x] = parseInt(d.substr(x * 2, 2), 16);
965
+ const e = (r) => {
966
+ const f = new Uint8Array(r.length / 2);
967
+ for (let w = 0; w < f.length; w++)
968
+ f[w] = parseInt(r.substr(w * 2, 2), 16);
935
969
  return f;
936
970
  };
937
- let a = new Blob([e(oc)], { type: "application/octet-stream" });
938
- const s = URL.createObjectURL(a);
939
- new Audio(s).play();
971
+ let a = new Blob([e(rc)], { type: "application/octet-stream" });
972
+ const n = URL.createObjectURL(a);
973
+ new Audio(n).play();
940
974
  }
941
975
  // This is a start of conversation if user did not send any messages yet
942
976
  isConversationStart() {
@@ -947,28 +981,35 @@ class L extends kt {
947
981
  if (this.wsClient)
948
982
  return this.wsClient;
949
983
  const a = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
950
- return I.info(`Initiating ws connection to ${a} ...`), this.wsClient = new ec({
984
+ return A.info(`Initiating ws connection to ${a} ...`), this.wsClient = new tc({
951
985
  url: a,
952
986
  orgId: this.setting.orgId,
953
987
  botId: this.setting.botId,
954
988
  convId: this.conversationId,
955
- onConnecting: (s) => {
956
- this.handleWscConnecting(s);
989
+ onConnecting: (n) => {
990
+ this.handleWscConnecting(n);
957
991
  },
958
- onMessage: (s) => {
959
- this.handleWscMessage(s);
992
+ onMessage: (n) => {
993
+ this.handleWscMessage(n);
960
994
  }
961
995
  }), await this.wsClient.start(), this.connectWs = "true", this.wsClient;
962
996
  }
963
997
  handleWscConnecting(e) {
964
- var a, s;
965
- I.info(`WSC: on connecting(${e}), connected: ${(a = this.wsClient) == null ? void 0 : a.connected}`), this.connecting = e, !this.connecting && ((s = this.wsClient) != null && s.connected) && window.dispatchEvent(
998
+ var a, n;
999
+ A.info(`WSC: on connecting(${e}), connected: ${(a = this.wsClient) == null ? void 0 : a.connected}`), this.connecting = e, !this.connecting && ((n = this.wsClient) != null && n.connected) && (this.context && this.wsClient.queueMessage(
1000
+ {
1001
+ id: xe(),
1002
+ type: "setContext",
1003
+ contextData: this.context
1004
+ },
1005
+ !0
1006
+ ), window.dispatchEvent(
966
1007
  new CustomEvent("c7o:bot:stateEvent", {
967
1008
  detail: {
968
1009
  type: "botConnected"
969
1010
  }
970
1011
  })
971
- );
1012
+ ));
972
1013
  }
973
1014
  handleWscMessage(e) {
974
1015
  var a;
@@ -978,7 +1019,7 @@ class L extends kt {
978
1019
  if (this.replyMessage)
979
1020
  this.streamingResponseInProgress ? (this.finishStreamingResponse(e.text), this.streamingResponseInProgress = !1) : (this.replyMessage.data.text = e.text, this.updateMessage(this.replyMessage, "")), this.replyMessage = null;
980
1021
  else {
981
- const s = {
1022
+ const n = {
982
1023
  id: (e == null ? void 0 : e.id) || null,
983
1024
  type: "text",
984
1025
  author: "assistant",
@@ -986,9 +1027,9 @@ class L extends kt {
986
1027
  text: e.text
987
1028
  }
988
1029
  };
989
- "userName" in e && (s.data.userName = e.userName), "userAvatar" in e && (s.data.userAvatar = e.userAvatar);
990
- const n = this.formatMessage(s);
991
- this.messages = this.messages.concat([n]);
1030
+ "userName" in e && (n.data.userName = e.userName), "userAvatar" in e && (n.data.userAvatar = e.userAvatar);
1031
+ const s = this.formatMessage(n);
1032
+ this.messages = this.messages.concat([s]);
992
1033
  }
993
1034
  this.open || (this.unreadMessages++, this.playAudioNotification());
994
1035
  break;
@@ -1010,9 +1051,9 @@ class L extends kt {
1010
1051
  break;
1011
1052
  }
1012
1053
  case "form": {
1013
- if (I.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
1014
- const s = ((a = this.replyMessage.data) == null ? void 0 : a.text) || "";
1015
- (this.replyMessage.isThinking || s.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
1054
+ if (A.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
1055
+ const n = ((a = this.replyMessage.data) == null ? void 0 : a.text) || "";
1056
+ (this.replyMessage.isThinking || n.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
1016
1057
  }
1017
1058
  this.initForm(e.form);
1018
1059
  break;
@@ -1024,14 +1065,14 @@ class L extends kt {
1024
1065
  }
1025
1066
  }
1026
1067
  processStreamingResponseTagBr() {
1027
- var a, s;
1068
+ var a, n;
1028
1069
  if (!this.streamingResponseBuffer || !this.replyMessage || this.streamingResponseBuffer.length < this.streamingResponseTagStartPos + 4)
1029
1070
  return;
1030
1071
  const e = this.streamingResponseBuffer.indexOf("<br>");
1031
1072
  if (e !== -1)
1032
1073
  if (this.setting.splitMessagesAtBreak) {
1033
- const n = this.streamingResponseBuffer.substring(0, e).trim(), d = this.streamingResponseBuffer.substring(e + 4).trim();
1034
- (n !== "" || ((s = (a = this.replyMessage) == null ? void 0 : a.data) == null ? void 0 : s.text) !== "") && (I.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${n} next: ${d}`), this.replyMessage = this.updateMessage(this.replyMessage, n), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: d } }, this.addMessage(this.replyMessage));
1074
+ const s = this.streamingResponseBuffer.substring(0, e).trim(), r = this.streamingResponseBuffer.substring(e + 4).trim();
1075
+ (s !== "" || ((n = (a = this.replyMessage) == null ? void 0 : a.data) == null ? void 0 : n.text) !== "") && (A.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${r}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: r } }, this.addMessage(this.replyMessage));
1035
1076
  } else
1036
1077
  this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer);
1037
1078
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
@@ -1040,11 +1081,11 @@ class L extends kt {
1040
1081
  if (!this.streamingResponseBuffer || !this.replyMessage)
1041
1082
  return;
1042
1083
  if (this.streamingResponseBuffer.indexOf("![") === -1) {
1043
- I.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
1084
+ A.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
1044
1085
  return;
1045
1086
  }
1046
1087
  const e = this.streamingResponseBuffer.lastIndexOf("]"), a = this.streamingResponseBuffer.lastIndexOf(")");
1047
- e === -1 || a === -1 || e > a || (I.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
1088
+ e === -1 || a === -1 || e > a || (A.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
1048
1089
  }
1049
1090
  isValidImageLink(e = "") {
1050
1091
  return !(e.indexOf("example.com") !== -1 || e.indexOf("imgur.com") !== -1 || e.indexOf("attachment:") !== -1);
@@ -1064,7 +1105,7 @@ class L extends kt {
1064
1105
  this.streamingResponseBuffer = e, this.streamingResponseTagStartPos = e.indexOf("<"), this.streamingResponseCurrentTag = "br";
1065
1106
  return;
1066
1107
  } else if (e.indexOf("![") !== -1 || e.endsWith("!")) {
1067
- this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", I.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
1108
+ this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", A.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
1068
1109
  return;
1069
1110
  }
1070
1111
  this.streamingResponseLastText = a, this.replyMessage = this.updateMessage(this.replyMessage, a);
@@ -1073,7 +1114,7 @@ class L extends kt {
1073
1114
  // Check and remove invalid message links from the response text
1074
1115
  cleanupImageLinks(e = "") {
1075
1116
  const a = /!\[.*?\]\((.*?)\)/g;
1076
- return e.replace(a, (n, d) => this.isValidImageLink(n) ? n : "");
1117
+ return e.replace(a, (s, r) => this.isValidImageLink(s) ? s : "");
1077
1118
  }
1078
1119
  finishStreamingResponse(e) {
1079
1120
  if (!this.replyMessage || !this.streamingResponseInProgress)
@@ -1081,23 +1122,23 @@ class L extends kt {
1081
1122
  this.streamingResponseInProgress = !1, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
1082
1123
  let a = e;
1083
1124
  a = this.cleanupImageLinks(a);
1084
- const s = a.lastIndexOf("<br>");
1085
- if (!this.setting.splitMessagesAtBreak || s === -1) {
1125
+ const n = a.lastIndexOf("<br>");
1126
+ if (!this.setting.splitMessagesAtBreak || n === -1) {
1086
1127
  this.replyMessage.data.text = a, this.updateMessage(this.replyMessage, "");
1087
1128
  return;
1088
1129
  }
1089
- const n = a.substring(s + 4);
1090
- this.replyMessage.data.text = n, this.updateMessage(this.replyMessage, "");
1130
+ const s = a.substring(n + 4);
1131
+ this.replyMessage.data.text = s, this.updateMessage(this.replyMessage, "");
1091
1132
  }
1092
1133
  addActions(e) {
1093
1134
  if (Array.isArray(e) && e.length > 0) {
1094
- const a = e.map((s) => Object.assign(s, { internalId: this.actionIdCounter++ }));
1095
- this.actions = this.actions.concat(a), a.map((s) => {
1135
+ const a = e.map((n) => Object.assign(n, { internalId: this.actionIdCounter++ }));
1136
+ this.actions = this.actions.concat(a), a.map((n) => {
1096
1137
  window.dispatchEvent(
1097
1138
  new CustomEvent("c7o:bot:stateEvent", {
1098
1139
  detail: {
1099
1140
  type: "actionPresented",
1100
- action: s
1141
+ action: n
1101
1142
  }
1102
1143
  })
1103
1144
  );
@@ -1105,43 +1146,43 @@ class L extends kt {
1105
1146
  }
1106
1147
  }
1107
1148
  // Remove action, for example, when completed
1108
- removeAction(e, a = !1, s = {}) {
1109
- const n = this.actions.findIndex((d) => d.internalId === e);
1110
- if (n !== -1) {
1111
- const d = this.actions[n];
1149
+ removeAction(e, a = !1, n = {}) {
1150
+ const s = this.actions.findIndex((r) => r.internalId === e);
1151
+ if (s !== -1) {
1152
+ const r = this.actions[s];
1112
1153
  if (a) {
1113
- const x = {
1154
+ const w = {
1114
1155
  type: "actionCompleted",
1115
- action: d,
1116
- data: s
1156
+ action: r,
1157
+ data: n
1117
1158
  };
1118
1159
  window.dispatchEvent(
1119
1160
  new CustomEvent("c7o:bot:stateEvent", {
1120
- detail: x
1161
+ detail: w
1121
1162
  })
1122
- ), this.sendActionCompleted(x).catch((S) => {
1123
- I.error(`Error: failed to send action completed: ${S.message}`);
1163
+ ), this.sendActionCompleted(w).catch((S) => {
1164
+ A.error(`Error: failed to send action completed: ${S.message}`);
1124
1165
  });
1125
1166
  }
1126
- this.actions.splice(n, 1);
1167
+ this.actions.splice(s, 1);
1127
1168
  const f = [];
1128
1169
  this.actions = f.concat(this.actions);
1129
1170
  }
1130
1171
  }
1131
1172
  updateAction(e, a) {
1132
- const s = this.actions.findIndex((n) => n.internalId === e.internalId);
1133
- if (s !== -1) {
1134
- const n = Object.assign({}, this.actions[s], a);
1135
- this.actions.splice(s, 1, n);
1136
- const d = [];
1137
- this.actions = d.concat(this.actions);
1173
+ const n = this.actions.findIndex((s) => s.internalId === e.internalId);
1174
+ if (n !== -1) {
1175
+ const s = Object.assign({}, this.actions[n], a);
1176
+ this.actions.splice(n, 1, s);
1177
+ const r = [];
1178
+ this.actions = r.concat(this.actions);
1138
1179
  }
1139
1180
  }
1140
1181
  async sendMessage(e) {
1141
- e = this.formatMessage(e), I.info("Send Message:", e), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
1182
+ e = this.formatMessage(e), A.info("Send Message:", e), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
1142
1183
  const a = await this.getWsClient();
1143
1184
  if (!a) {
1144
- I.error("Error - failed to obtain ws client"), this.replyMessage = null;
1185
+ A.error("Error - failed to obtain ws client"), this.replyMessage = null;
1145
1186
  return;
1146
1187
  }
1147
1188
  a.sendMessage({
@@ -1153,7 +1194,7 @@ class L extends kt {
1153
1194
  // TODO revisit below
1154
1195
  formatMessage(e) {
1155
1196
  var a;
1156
- return e.id || (e.id = Ve()), e.timestamp || (e.timestamp = Date.now()), e.author === "assistant" && !e.replyId && (e.replyId = ((a = this.messages.findLast((s) => s.author === "user")) == null ? void 0 : a.id) || void 0), e;
1197
+ return e.id || (e.id = xe()), e.timestamp || (e.timestamp = Date.now()), e.author === "assistant" && !e.replyId && (e.replyId = ((a = this.messages.findLast((n) => n.author === "user")) == null ? void 0 : a.id) || void 0), e;
1157
1198
  }
1158
1199
  // add message
1159
1200
  addMessage(e) {
@@ -1170,8 +1211,8 @@ class L extends kt {
1170
1211
  }
1171
1212
  // update message
1172
1213
  updateMessage(e, a) {
1173
- const s = this.formatMessage(e);
1174
- return s.isThinking = !1, a && (s.data.text += a), this.messages = this.messages.map((n) => n.id === s.id ? s : n), s;
1214
+ const n = this.formatMessage(e);
1215
+ return n.isThinking = !1, a && (n.data.text += a), this.messages = this.messages.map((s) => s.id === n.id ? n : s), n;
1175
1216
  }
1176
1217
  // remove message
1177
1218
  removeMessage(e) {
@@ -1184,19 +1225,19 @@ class L extends kt {
1184
1225
  // Submit current form data
1185
1226
  async submitForm(e) {
1186
1227
  if (!this.form) {
1187
- I.info("submitForm: No form is active - ignored");
1228
+ A.info("submitForm: No form is active - ignored");
1188
1229
  return;
1189
1230
  }
1190
- const a = `${ie}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
1231
+ const a = `${te}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
1191
1232
  await this.sendFormData(this.form.name, e), localStorage.setItem(a, JSON.stringify(e)), "name" in e && (this.feedbackName = e.name), "email" in e && (this.feedbackEmail = e.email), this.form = null;
1192
1233
  }
1193
1234
  async sendFormData(e, a) {
1194
- const s = await this.getWsClient();
1195
- if (!s) {
1196
- I.error("Error - failed to obtain ws client");
1235
+ const n = await this.getWsClient();
1236
+ if (!n) {
1237
+ A.error("Error - failed to obtain ws client");
1197
1238
  return;
1198
1239
  }
1199
- s.sendMessage({
1240
+ n.sendMessage({
1200
1241
  type: "form",
1201
1242
  name: e,
1202
1243
  data: a
@@ -1205,7 +1246,7 @@ class L extends kt {
1205
1246
  async sendActionCompleted(e) {
1206
1247
  const a = await this.getWsClient();
1207
1248
  if (!a) {
1208
- I.error("Error - failed to obtain ws client");
1249
+ A.error("Error - failed to obtain ws client");
1209
1250
  return;
1210
1251
  }
1211
1252
  a.sendMessage({
@@ -1214,71 +1255,120 @@ class L extends kt {
1214
1255
  });
1215
1256
  }
1216
1257
  collectFeedback(e, a) {
1217
- var s, n;
1258
+ var n, s;
1218
1259
  if (this.feedbackScore = e ? 5 : 0, this.feedbackMessages = [], a.replyId) {
1219
- const d = this.messages.findLast((f) => f.id === a.replyId);
1220
- d && this.feedbackMessages.push(d);
1260
+ const r = this.messages.findLast((f) => f.id === a.replyId);
1261
+ r && this.feedbackMessages.push(r);
1221
1262
  }
1222
- this.feedbackMessages.push(a), this.feedbackUserMessage = ((n = (s = this.messages.findLast((d) => d.id === a.replyId)) == null ? void 0 : s.data) == null ? void 0 : n.text) || "", this.feedbackAnswer = (a == null ? void 0 : a.data.text) || "", this.feedbackAnswerMessageId = (a == null ? void 0 : a.id) || "", this.feedbackAnswerUserName = (a == null ? void 0 : a.data.userName) || "", this.feedback = !0;
1263
+ this.feedbackMessages.push(a), this.feedbackUserMessage = ((s = (n = this.messages.findLast((r) => r.id === a.replyId)) == null ? void 0 : n.data) == null ? void 0 : s.text) || "", this.feedbackAnswer = (a == null ? void 0 : a.data.text) || "", this.feedbackAnswerMessageId = (a == null ? void 0 : a.id) || "", this.feedbackAnswerUserName = (a == null ? void 0 : a.data.userName) || "", this.feedback = !0;
1223
1264
  }
1224
- async submitFeedback(e, a, s) {
1225
- I.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = a;
1226
- const n = await this.getWsClient();
1227
- if (!n) {
1228
- I.error("Error - failed to obtain ws client"), this.replyMessage = null;
1265
+ async submitFeedback(e, a, n) {
1266
+ A.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = a;
1267
+ const s = await this.getWsClient();
1268
+ if (!s) {
1269
+ A.error("Error - failed to obtain ws client"), this.replyMessage = null;
1229
1270
  return;
1230
1271
  }
1231
- n.sendMessage({
1232
- id: Ve(),
1272
+ s.sendMessage({
1273
+ id: xe(),
1233
1274
  type: "feedback",
1234
1275
  score: this.feedbackScore,
1235
1276
  userMessage: this.feedbackUserMessage,
1236
1277
  answerMessageId: this.feedbackAnswerMessageId,
1237
1278
  answer: this.feedbackAnswer,
1238
1279
  answerUserName: this.feedbackAnswerUserName,
1239
- comments: s,
1280
+ comments: n,
1240
1281
  name: e,
1241
1282
  email: a
1242
1283
  }), this.feedback = !1;
1243
1284
  }
1285
+ /**
1286
+ * Read one or more File objects and return their contents as Base-64 strings.
1287
+ *
1288
+ * @param {File[] | undefined | null} files - The value returned from `selectFile`.
1289
+ * @returns {Promise<Array<{ name: string; type: string; size: number; base64: string }>>}
1290
+ * Resolves to an array (one entry per file) with metadata + raw Base-64.
1291
+ */
1292
+ async filesToBase64(e) {
1293
+ if (!(e != null && e.length)) return [];
1294
+ const a = (n) => new Promise((s, r) => {
1295
+ const f = new FileReader();
1296
+ f.onerror = () => r(f.error), f.onload = () => {
1297
+ const [, w] = f.result.split(",");
1298
+ s({
1299
+ name: n.name,
1300
+ type: n.type,
1301
+ size: n.size,
1302
+ base64: w
1303
+ });
1304
+ }, f.readAsDataURL(n);
1305
+ });
1306
+ return Promise.all(e.map(a));
1307
+ }
1308
+ async uploadFiles(e) {
1309
+ if (!(e != null && e.length)) return;
1310
+ const a = await this.filesToBase64(e);
1311
+ A.info("Uploading files:", a);
1312
+ const n = await this.getWsClient();
1313
+ if (!n) {
1314
+ A.error("Error - failed to obtain ws client");
1315
+ return;
1316
+ }
1317
+ const s = xe();
1318
+ n.sendMessage({
1319
+ id: s,
1320
+ type: "upload",
1321
+ files: a
1322
+ });
1323
+ const r = {
1324
+ id: s,
1325
+ timestamp: Date.now(),
1326
+ author: "user",
1327
+ type: "upload",
1328
+ data: {
1329
+ uploadedFiles: a
1330
+ }
1331
+ };
1332
+ this.addMessage(r);
1333
+ }
1244
1334
  }
1245
1335
  O([
1246
- de({ prefix: ie }),
1336
+ oe({ prefix: te }),
1247
1337
  q({ value: "en" })
1248
1338
  ], L.prototype, "language");
1249
1339
  O([
1250
- de({ prefix: ie }),
1340
+ oe({ prefix: te }),
1251
1341
  q({ value: "light" })
1252
1342
  ], L.prototype, "theme");
1253
1343
  O([
1254
- de({ prefix: ie }),
1344
+ oe({ prefix: te }),
1255
1345
  q({ type: Boolean, value: !1 })
1256
1346
  ], L.prototype, "open");
1257
1347
  O([
1258
1348
  q({ type: Boolean, value: !1 })
1259
1349
  ], L.prototype, "alwaysOpen");
1260
1350
  O([
1261
- de({ prefix: ie }),
1351
+ oe({ prefix: te }),
1262
1352
  q({ value: "false" })
1263
1353
  ], L.prototype, "connectWs");
1264
1354
  O([
1265
- de({ prefix: ie }),
1266
- q({ value: Ve() })
1355
+ oe({ prefix: te }),
1356
+ q({ value: xe() })
1267
1357
  ], L.prototype, "conversationId");
1268
1358
  O([
1269
- de({ prefix: ie }),
1359
+ oe({ prefix: te }),
1270
1360
  q({ value: 0 })
1271
1361
  ], L.prototype, "lastConversationUpdate");
1272
1362
  O([
1273
- de({ prefix: ie }),
1363
+ oe({ prefix: te }),
1274
1364
  q({ type: Array, value: [] })
1275
1365
  ], L.prototype, "messages");
1276
1366
  O([
1277
- de({ prefix: ie }),
1367
+ oe({ prefix: te }),
1278
1368
  q({ value: 0 })
1279
1369
  ], L.prototype, "unreadMessages");
1280
1370
  O([
1281
- de({ prefix: ie }),
1371
+ oe({ prefix: te }),
1282
1372
  q({
1283
1373
  type: Array,
1284
1374
  value: []
@@ -1341,14 +1431,14 @@ O([
1341
1431
  q({ type: Boolean, value: !1 })
1342
1432
  ], L.prototype, "connecting");
1343
1433
  O([
1344
- de({ prefix: ie }),
1434
+ oe({ prefix: te }),
1345
1435
  q({ value: "true" })
1346
1436
  ], L.prototype, "shouldEngage");
1347
1437
  O([
1348
1438
  q({ type: Boolean, value: !1 })
1349
1439
  ], L.prototype, "engage");
1350
1440
  O([
1351
- de({ prefix: ie }),
1441
+ oe({ prefix: te }),
1352
1442
  q({
1353
1443
  type: Object,
1354
1444
  value: {
@@ -1357,10 +1447,16 @@ O([
1357
1447
  url: null,
1358
1448
  welcomeMessage: null,
1359
1449
  splitMessagesAtBreak: !1,
1360
- feedbackEnabled: !1
1450
+ feedbackEnabled: !1,
1451
+ uploadImages: !1,
1452
+ newConversationTimeoutInSec: 86400
1361
1453
  }
1362
1454
  })
1363
1455
  ], L.prototype, "setting");
1456
+ O([
1457
+ oe({ prefix: te }),
1458
+ q({ type: Object, value: null })
1459
+ ], L.prototype, "context");
1364
1460
  O([
1365
1461
  q({ type: String, value: "top-end" })
1366
1462
  ], L.prototype, "appearanceAnchorPopupPosition");
@@ -1392,14 +1488,14 @@ O([
1392
1488
  q({ type: Array, value: [] })
1393
1489
  ], L.prototype, "feedbackMessages");
1394
1490
  O([
1395
- de({ prefix: ie }),
1491
+ oe({ prefix: te }),
1396
1492
  q({ type: String, value: "" })
1397
1493
  ], L.prototype, "feedbackName");
1398
1494
  O([
1399
- de({ prefix: ie }),
1495
+ oe({ prefix: te }),
1400
1496
  q({ type: String, value: "" })
1401
1497
  ], L.prototype, "feedbackEmail");
1402
- const p = new L(), dc = X`
1498
+ const p = new L(), fc = X`
1403
1499
  ${me}
1404
1500
  :host {
1405
1501
  position: relative;
@@ -1474,39 +1570,39 @@ const p = new L(), dc = X`
1474
1570
  display: inline;
1475
1571
  }
1476
1572
  `;
1477
- var fc = Object.defineProperty, lc = (c, e, a, s) => {
1478
- for (var n = void 0, d = c.length - 1, f; d >= 0; d--)
1479
- (f = c[d]) && (n = f(e, a, n) || n);
1480
- return n && fc(e, a, n), n;
1573
+ var lc = Object.defineProperty, bc = (c, e, a, n) => {
1574
+ for (var s = void 0, r = c.length - 1, f; r >= 0; r--)
1575
+ (f = c[r]) && (s = f(e, a, s) || s);
1576
+ return s && lc(e, a, s), s;
1481
1577
  };
1482
- Ha("system", {
1578
+ Ba("system", {
1483
1579
  resolver: (c) => ""
1484
1580
  });
1485
- class ee extends ut {
1581
+ class ae extends ut {
1486
1582
  constructor() {
1487
1583
  super(...arguments), this.lang = "en";
1488
1584
  }
1489
1585
  emit(e, a) {
1490
- const s = new CustomEvent(e, {
1586
+ const n = new CustomEvent(e, {
1491
1587
  bubbles: !0,
1492
1588
  cancelable: !1,
1493
1589
  composed: !0,
1494
1590
  detail: {},
1495
1591
  ...a
1496
1592
  });
1497
- return this.dispatchEvent(s), s;
1593
+ return this.dispatchEvent(n), n;
1498
1594
  }
1499
1595
  }
1500
- lc([
1596
+ bc([
1501
1597
  v({ type: String })
1502
- ], ee.prototype, "lang");
1503
- var bc = Object.defineProperty, hc = Object.getOwnPropertyDescriptor, ia = (c, e, a, s) => {
1504
- for (var n = s > 1 ? void 0 : s ? hc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
1505
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
1506
- return s && n && bc(e, a, n), n;
1598
+ ], ae.prototype, "lang");
1599
+ var hc = Object.defineProperty, uc = Object.getOwnPropertyDescriptor, na = (c, e, a, n) => {
1600
+ for (var s = n > 1 ? void 0 : n ? uc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
1601
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
1602
+ return n && s && hc(e, a, s), s;
1507
1603
  };
1508
- const uc = '<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>';
1509
- let ot = class extends ee {
1604
+ const pc = '<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>';
1605
+ let ot = class extends ae {
1510
1606
  constructor() {
1511
1607
  super(...arguments), this.title = "ChatBot";
1512
1608
  }
@@ -1517,31 +1613,31 @@ let ot = class extends ee {
1517
1613
  */
1518
1614
  renderExp() {
1519
1615
  return g` <header class="cb-header" part="header">
1520
- ${ce(
1616
+ ${ee(
1521
1617
  p.setting.logoUrl !== "",
1522
1618
  () => g`<img class="cb-header-logo" part="header-logo" src="${p.setting.logoUrl}" />`,
1523
- () => g`<div class="cb-header-logo" part="header-logo">${Y(p.setting.logoSvg)}</div>`
1619
+ () => g`<div class="cb-header-logo" part="header-logo">${W(p.setting.logoSvg)}</div>`
1524
1620
  )}
1525
1621
  <div class="cb-header-title" part="header-title">${this.title}</div>
1526
- ${ce(
1622
+ ${ee(
1527
1623
  p.alwaysOpen,
1528
1624
  () => g``,
1529
- () => g`<div class="cb-header-close" part="header-close">${Y(uc)}</div>`
1625
+ () => g`<div class="cb-header-close" part="header-close">${W(pc)}</div>`
1530
1626
  )}
1531
1627
  </header>`;
1532
1628
  }
1533
1629
  render() {
1534
1630
  return g` <header class="cb-header" part="header">
1535
- ${ce(
1631
+ ${ee(
1536
1632
  p.setting.logoUrl !== "",
1537
1633
  () => g`<img class="cb-header-img" part="header-logo" src="${p.setting.logoUrl}" />`,
1538
- () => g`<div class="cb-header-logo" part="header-logo">${Y(p.setting.logoSvg)}</div>`
1634
+ () => g`<div class="cb-header-logo" part="header-logo">${W(p.setting.logoSvg)}</div>`
1539
1635
  )}
1540
1636
  <div class="cb-header-title" part="header-title">${this.title}</div>
1541
- ${ce(
1637
+ ${ee(
1542
1638
  p.alwaysOpen,
1543
1639
  () => g`<div></div>`,
1544
- () => g`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${Y(p.setting.closeSvg)}</div>`
1640
+ () => g`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${W(p.setting.closeSvg)}</div>`
1545
1641
  )}
1546
1642
  </header>`;
1547
1643
  }
@@ -1568,14 +1664,14 @@ let ot = class extends ee {
1568
1664
  });
1569
1665
  }
1570
1666
  };
1571
- ot.styles = dc;
1572
- ia([
1667
+ ot.styles = fc;
1668
+ na([
1573
1669
  v({ type: String, attribute: "title" })
1574
1670
  ], ot.prototype, "title", 2);
1575
- ot = ia([
1671
+ ot = na([
1576
1672
  J("cb-header")
1577
1673
  ], ot);
1578
- const pc = X`
1674
+ const gc = X`
1579
1675
  ${me}
1580
1676
  .cb-footer {
1581
1677
  line-height: 60px;
@@ -1590,12 +1686,12 @@ const pc = X`
1590
1686
  color: var(--primary-color);
1591
1687
  }
1592
1688
  `;
1593
- var gc = Object.defineProperty, mc = Object.getOwnPropertyDescriptor, yc = (c, e, a, s) => {
1594
- for (var n = s > 1 ? void 0 : s ? mc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
1595
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
1596
- return s && n && gc(e, a, n), n;
1689
+ var mc = Object.defineProperty, yc = Object.getOwnPropertyDescriptor, vc = (c, e, a, n) => {
1690
+ for (var s = n > 1 ? void 0 : n ? yc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
1691
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
1692
+ return n && s && mc(e, a, s), s;
1597
1693
  };
1598
- let Ct = class extends ee {
1694
+ let Ct = class extends ae {
1599
1695
  constructor() {
1600
1696
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1601
1697
  }
@@ -1630,11 +1726,11 @@ let Ct = class extends ee {
1630
1726
  `;
1631
1727
  }
1632
1728
  };
1633
- Ct.styles = pc;
1634
- Ct = yc([
1729
+ Ct.styles = gc;
1730
+ Ct = vc([
1635
1731
  J("cb-footer")
1636
1732
  ], Ct);
1637
- const vc = X`
1733
+ const wc = X`
1638
1734
  ${me}
1639
1735
 
1640
1736
  :host {
@@ -1799,17 +1895,17 @@ const vc = X`
1799
1895
  transition: background 0s;
1800
1896
  }
1801
1897
  `;
1802
- var na = { exports: {} };
1898
+ var sa = { exports: {} };
1803
1899
  (function(c, e) {
1804
- (function(a, s) {
1805
- c.exports = s();
1806
- })(ea, function() {
1900
+ (function(a, n) {
1901
+ c.exports = n();
1902
+ })(ta, function() {
1807
1903
  function a(t) {
1808
- var i = function(o, r) {
1904
+ var i = function(o, d) {
1809
1905
  if (typeof o != "object" || !o) return o;
1810
1906
  var l = o[Symbol.toPrimitive];
1811
1907
  if (l !== void 0) {
1812
- var h = l.call(o, r);
1908
+ var h = l.call(o, d);
1813
1909
  if (typeof h != "object") return h;
1814
1910
  throw new TypeError("@@toPrimitive must return a primitive value.");
1815
1911
  }
@@ -1817,64 +1913,64 @@ var na = { exports: {} };
1817
1913
  }(t, "string");
1818
1914
  return typeof i == "symbol" ? i : i + "";
1819
1915
  }
1820
- function s(t) {
1821
- return (s = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(i) {
1916
+ function n(t) {
1917
+ return (n = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(i) {
1822
1918
  return typeof i;
1823
1919
  } : function(i) {
1824
1920
  return i && typeof Symbol == "function" && i.constructor === Symbol && i !== Symbol.prototype ? "symbol" : typeof i;
1825
1921
  })(t);
1826
1922
  }
1827
- function n(t, i) {
1923
+ function s(t, i) {
1828
1924
  if (!(t instanceof i)) throw new TypeError("Cannot call a class as a function");
1829
1925
  }
1830
- function d(t, i) {
1926
+ function r(t, i) {
1831
1927
  for (var o = 0; o < i.length; o++) {
1832
- var r = i[o];
1833
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, a(r.key), r);
1928
+ var d = i[o];
1929
+ d.enumerable = d.enumerable || !1, d.configurable = !0, "value" in d && (d.writable = !0), Object.defineProperty(t, a(d.key), d);
1834
1930
  }
1835
1931
  }
1836
1932
  function f(t, i, o) {
1837
- return i && d(t.prototype, i), Object.defineProperty(t, "prototype", { writable: !1 }), t;
1933
+ return i && r(t.prototype, i), Object.defineProperty(t, "prototype", { writable: !1 }), t;
1838
1934
  }
1839
- var x = Date.now();
1935
+ var w = Date.now();
1840
1936
  function S() {
1841
- var t = {}, i = !0, o = 0, r = arguments.length;
1937
+ var t = {}, i = !0, o = 0, d = arguments.length;
1842
1938
  Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (i = arguments[0], o++);
1843
1939
  for (var l = function(b) {
1844
1940
  for (var u in b) Object.prototype.hasOwnProperty.call(b, u) && (i && Object.prototype.toString.call(b[u]) === "[object Object]" ? t[u] = S(!0, t[u], b[u]) : t[u] = b[u]);
1845
- }; o < r; o++) {
1941
+ }; o < d; o++) {
1846
1942
  var h = arguments[o];
1847
1943
  l(h);
1848
1944
  }
1849
1945
  return t;
1850
1946
  }
1851
1947
  function _(t, i) {
1852
- if ((R(t) || t === window || t === document) && (t = [t]), We(t) || Ce(t) || (t = [t]), qt(t) != 0) {
1853
- if (We(t) && !Ce(t)) for (var o = t.length, r = 0; r < o && i.call(t[r], t[r], r, t) !== !1; r++) ;
1854
- else if (Ce(t)) {
1855
- for (var l in t) if (W(t, l) && i.call(t[l], t[l], l, t) === !1) break;
1948
+ if ((R(t) || t === window || t === document) && (t = [t]), Ye(t) || Se(t) || (t = [t]), qt(t) != 0) {
1949
+ if (Ye(t) && !Se(t)) for (var o = t.length, d = 0; d < o && i.call(t[d], t[d], d, t) !== !1; d++) ;
1950
+ else if (Se(t)) {
1951
+ for (var l in t) if (Y(t, l) && i.call(t[l], t[l], l, t) === !1) break;
1856
1952
  }
1857
1953
  }
1858
1954
  }
1859
1955
  function K(t) {
1860
- var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, r = t[x] = t[x] || [], l = { all: r, evt: null, found: null };
1861
- return i && o && qt(r) > 0 && _(r, function(h, b) {
1956
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = t[w] = t[w] || [], l = { all: d, evt: null, found: null };
1957
+ return i && o && qt(d) > 0 && _(d, function(h, b) {
1862
1958
  if (h.eventName == i && h.fn.toString() == o.toString()) return l.found = !0, l.evt = b, !1;
1863
1959
  }), l;
1864
1960
  }
1865
1961
  function F(t) {
1866
- var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = i.onElement, r = i.withCallback, l = i.avoidDuplicate, h = l === void 0 || l, b = i.once, u = b !== void 0 && b, y = i.useCapture, m = y !== void 0 && y, w = arguments.length > 2 ? arguments[2] : void 0, k = o || [];
1962
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = i.onElement, d = i.withCallback, l = i.avoidDuplicate, h = l === void 0 || l, b = i.once, u = b !== void 0 && b, y = i.useCapture, m = y !== void 0 && y, x = arguments.length > 2 ? arguments[2] : void 0, k = o || [];
1867
1963
  function M(E) {
1868
- P(r) && r.call(w, E, this), u && M.destroy();
1964
+ P(d) && d.call(x, E, this), u && M.destroy();
1869
1965
  }
1870
1966
  return z(k) && (k = document.querySelectorAll(k)), M.destroy = function() {
1871
1967
  _(k, function(E) {
1872
- var A = K(E, t, M);
1873
- A.found && A.all.splice(A.evt, 1), E.removeEventListener && E.removeEventListener(t, M, m);
1968
+ var I = K(E, t, M);
1969
+ I.found && I.all.splice(I.evt, 1), E.removeEventListener && E.removeEventListener(t, M, m);
1874
1970
  });
1875
1971
  }, _(k, function(E) {
1876
- var A = K(E, t, M);
1877
- (E.addEventListener && h && !A.found || !h) && (E.addEventListener(t, M, m), A.all.push({ eventName: t, fn: M }));
1972
+ var I = K(E, t, M);
1973
+ (E.addEventListener && h && !I.found || !h) && (E.addEventListener(t, M, m), I.all.push({ eventName: t, fn: M }));
1878
1974
  }), M;
1879
1975
  }
1880
1976
  function T(t, i) {
@@ -1900,10 +1996,10 @@ var na = { exports: {} };
1900
1996
  var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", o = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
1901
1997
  if (!t || i === "") return !1;
1902
1998
  if (i === "none") return P(o) && o(), !1;
1903
- var r = mt(), l = i.split(" ");
1999
+ var d = mt(), l = i.split(" ");
1904
2000
  _(l, function(h) {
1905
2001
  T(t, "g" + h);
1906
- }), F(r, { onElement: t, avoidDuplicate: !1, once: !0, withCallback: function(h, b) {
2002
+ }), F(d, { onElement: t, avoidDuplicate: !1, once: !0, withCallback: function(h, b) {
1907
2003
  _(l, function(u) {
1908
2004
  N(b, "g" + u);
1909
2005
  }), P(o) && o();
@@ -1914,10 +2010,10 @@ var na = { exports: {} };
1914
2010
  if (i === "") return t.style.webkitTransform = "", t.style.MozTransform = "", t.style.msTransform = "", t.style.OTransform = "", t.style.transform = "", !1;
1915
2011
  t.style.webkitTransform = i, t.style.MozTransform = i, t.style.msTransform = i, t.style.OTransform = i, t.style.transform = i;
1916
2012
  }
1917
- function Ee(t) {
2013
+ function Ie(t) {
1918
2014
  t.style.display = "block";
1919
2015
  }
1920
- function Ae(t) {
2016
+ function Le(t) {
1921
2017
  t.style.display = "none";
1922
2018
  }
1923
2019
  function ne(t) {
@@ -1932,7 +2028,7 @@ var na = { exports: {} };
1932
2028
  var t, i = document.createElement("fakeelement"), o = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" };
1933
2029
  for (t in o) if (i.style[t] !== void 0) return o[t];
1934
2030
  }
1935
- function ze(t, i, o, r) {
2031
+ function Be(t, i, o, d) {
1936
2032
  if (t()) i();
1937
2033
  else {
1938
2034
  var l;
@@ -1943,18 +2039,18 @@ var na = { exports: {} };
1943
2039
  }
1944
2040
  }
1945
2041
  function Qe(t, i, o) {
1946
- if (oe(t)) console.error("Inject assets error");
2042
+ if (re(t)) console.error("Inject assets error");
1947
2043
  else if (P(i) && (o = i, i = !1), z(i) && i in window) P(o) && o();
1948
2044
  else {
1949
- var r;
2045
+ var d;
1950
2046
  if (t.indexOf(".css") !== -1) {
1951
- if ((r = document.querySelectorAll('link[href="' + t + '"]')) && r.length > 0) return void (P(o) && o());
2047
+ if ((d = document.querySelectorAll('link[href="' + t + '"]')) && d.length > 0) return void (P(o) && o());
1952
2048
  var l = document.getElementsByTagName("head")[0], h = l.querySelectorAll('link[rel="stylesheet"]'), b = document.createElement("link");
1953
2049
  return b.rel = "stylesheet", b.type = "text/css", b.href = t, b.media = "all", h ? l.insertBefore(b, h[0]) : l.appendChild(b), void (P(o) && o());
1954
2050
  }
1955
- if ((r = document.querySelectorAll('script[src="' + t + '"]')) && r.length > 0) {
2051
+ if ((d = document.querySelectorAll('script[src="' + t + '"]')) && d.length > 0) {
1956
2052
  if (P(o)) {
1957
- if (z(i)) return ze(function() {
2053
+ if (z(i)) return Be(function() {
1958
2054
  return window[i] !== void 0;
1959
2055
  }, function() {
1960
2056
  o();
@@ -1965,7 +2061,7 @@ var na = { exports: {} };
1965
2061
  var u = document.createElement("script");
1966
2062
  u.type = "text/javascript", u.src = t, u.onload = function() {
1967
2063
  if (P(o)) {
1968
- if (z(i)) return ze(function() {
2064
+ if (z(i)) return Be(function() {
1969
2065
  return window[i] !== void 0;
1970
2066
  }, function() {
1971
2067
  o();
@@ -1988,26 +2084,26 @@ var na = { exports: {} };
1988
2084
  function R(t) {
1989
2085
  return !(!t || !t.nodeType || t.nodeType != 1);
1990
2086
  }
1991
- function Ie(t) {
2087
+ function qe(t) {
1992
2088
  return Array.isArray(t);
1993
2089
  }
1994
- function We(t) {
2090
+ function Ye(t) {
1995
2091
  return t && t.length && isFinite(t.length);
1996
2092
  }
1997
- function Ce(t) {
1998
- return s(t) === "object" && t != null && !P(t) && !Ie(t);
2093
+ function Se(t) {
2094
+ return n(t) === "object" && t != null && !P(t) && !qe(t);
1999
2095
  }
2000
- function oe(t) {
2096
+ function re(t) {
2001
2097
  return t == null;
2002
2098
  }
2003
- function W(t, i) {
2099
+ function Y(t, i) {
2004
2100
  return t !== null && hasOwnProperty.call(t, i);
2005
2101
  }
2006
2102
  function qt(t) {
2007
- if (Ce(t)) {
2103
+ if (Se(t)) {
2008
2104
  if (t.keys) return t.keys().length;
2009
2105
  var i = 0;
2010
- for (var o in t) W(t, o) && i++;
2106
+ for (var o in t) Y(t, o) && i++;
2011
2107
  return i;
2012
2108
  }
2013
2109
  return t.length;
@@ -2024,20 +2120,20 @@ var na = { exports: {} };
2024
2120
  _(i, function(u) {
2025
2121
  o.push(u.getAttribute("data-taborder"));
2026
2122
  });
2027
- var r = Math.max.apply(Math, o.map(function(u) {
2123
+ var d = Math.max.apply(Math, o.map(function(u) {
2028
2124
  return parseInt(u);
2029
2125
  })), l = t < 0 ? 1 : t + 1;
2030
- l > r && (l = "1");
2126
+ l > d && (l = "1");
2031
2127
  var h = o.filter(function(u) {
2032
2128
  return u >= parseInt(l);
2033
2129
  }), b = h.sort()[0];
2034
2130
  return document.querySelector('.gbtn[data-taborder="'.concat(b, '"]'));
2035
2131
  }
2036
- function ya(t) {
2132
+ function va(t) {
2037
2133
  if (t.events.hasOwnProperty("keyboard")) return !1;
2038
2134
  t.events.keyboard = F("keydown", { onElement: window, withCallback: function(i, o) {
2039
- var r = (i = i || window.event).keyCode;
2040
- if (r == 9) {
2135
+ var d = (i = i || window.event).keyCode;
2136
+ if (d == 9) {
2041
2137
  var l = document.querySelector(".gbtn.focused");
2042
2138
  if (!l) {
2043
2139
  var h = !(!document.activeElement || !document.activeElement.nodeName) && document.activeElement.nodeName.toLocaleLowerCase();
@@ -2053,20 +2149,20 @@ var na = { exports: {} };
2053
2149
  var y = Ot(l.getAttribute("data-taborder"));
2054
2150
  N(l, "focused"), y && (y.focus(), T(y, "focused"));
2055
2151
  }
2056
- r == 39 && t.nextSlide(), r == 37 && t.prevSlide(), r == 27 && t.close();
2152
+ d == 39 && t.nextSlide(), d == 37 && t.prevSlide(), d == 27 && t.close();
2057
2153
  } });
2058
2154
  }
2059
- var va = f(function t(i, o) {
2060
- var r = this, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
2061
- if (n(this, t), this.img = i, this.slide = o, this.onclose = l, this.img.setZoomEvents) return !1;
2155
+ var wa = f(function t(i, o) {
2156
+ var d = this, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
2157
+ if (s(this, t), this.img = i, this.slide = o, this.onclose = l, this.img.setZoomEvents) return !1;
2062
2158
  this.active = !1, this.zoomedIn = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.img.addEventListener("mousedown", function(h) {
2063
- return r.dragStart(h);
2159
+ return d.dragStart(h);
2064
2160
  }, !1), this.img.addEventListener("mouseup", function(h) {
2065
- return r.dragEnd(h);
2161
+ return d.dragEnd(h);
2066
2162
  }, !1), this.img.addEventListener("mousemove", function(h) {
2067
- return r.drag(h);
2163
+ return d.drag(h);
2068
2164
  }, !1), this.img.addEventListener("click", function(h) {
2069
- return r.slide.classList.contains("dragging-nav") ? (r.zoomOut(), !1) : r.zoomedIn ? void (r.zoomedIn && !r.dragging && r.zoomOut()) : r.zoomIn();
2165
+ return d.slide.classList.contains("dragging-nav") ? (d.zoomOut(), !1) : d.zoomedIn ? void (d.zoomedIn && !d.dragging && d.zoomOut()) : d.zoomIn();
2070
2166
  }, !1), this.img.setZoomEvents = !0;
2071
2167
  }, [{ key: "zoomIn", value: function() {
2072
2168
  var t = this.widowWidth();
@@ -2100,9 +2196,9 @@ var na = { exports: {} };
2100
2196
  return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
2101
2197
  } }]), Pt = f(function t() {
2102
2198
  var i = this, o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2103
- n(this, t);
2104
- var r = o.dragEl, l = o.toleranceX, h = l === void 0 ? 40 : l, b = o.toleranceY, u = b === void 0 ? 65 : b, y = o.slide, m = y === void 0 ? null : y, w = o.instance, k = w === void 0 ? null : w;
2105
- this.el = r, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = h, this.toleranceY = u, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = m, this.instance = k, this.el.addEventListener("mousedown", function(M) {
2199
+ s(this, t);
2200
+ var d = o.dragEl, l = o.toleranceX, h = l === void 0 ? 40 : l, b = o.toleranceY, u = b === void 0 ? 65 : b, y = o.slide, m = y === void 0 ? null : y, x = o.instance, k = x === void 0 ? null : x;
2201
+ this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = h, this.toleranceY = u, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = m, this.instance = k, this.el.addEventListener("mousedown", function(M) {
2106
2202
  return i.dragStart(M);
2107
2203
  }, !1), this.el.addEventListener("mouseup", function(M) {
2108
2204
  return i.dragEnd(M);
@@ -2127,8 +2223,8 @@ var na = { exports: {} };
2127
2223
  var i = Math.abs(this.currentX), o = Math.abs(this.currentY);
2128
2224
  if (i > 0 && i >= Math.abs(this.currentY) && (!this.lastDirection || this.lastDirection == "x")) {
2129
2225
  this.yOffset = 0, this.lastDirection = "x", this.setTranslate(this.dragContainer, this.currentX, 0);
2130
- var r = this.shouldChange();
2131
- if (!this.instance.settings.dragAutoSnap && r && (this.doSlideChange = r), this.instance.settings.dragAutoSnap && r) return this.instance.preventOutsideClick = !0, this.toleranceReached = !0, this.active = !1, this.instance.preventOutsideClick = !0, this.dragEnd(null), r == "right" && this.instance.prevSlide(), void (r == "left" && this.instance.nextSlide());
2226
+ var d = this.shouldChange();
2227
+ if (!this.instance.settings.dragAutoSnap && d && (this.doSlideChange = d), this.instance.settings.dragAutoSnap && d) return this.instance.preventOutsideClick = !0, this.toleranceReached = !0, this.active = !1, this.instance.preventOutsideClick = !0, this.dragEnd(null), d == "right" && this.instance.prevSlide(), void (d == "left" && this.instance.nextSlide());
2132
2228
  }
2133
2229
  if (this.toleranceY > 0 && o > 0 && o >= i && (!this.lastDirection || this.lastDirection == "y")) {
2134
2230
  this.xOffset = 0, this.lastDirection = "y", this.setTranslate(this.dragContainer, 0, this.currentY);
@@ -2147,33 +2243,33 @@ var na = { exports: {} };
2147
2243
  var t = !1;
2148
2244
  return Math.abs(this.currentY) >= this.toleranceY && (t = !0), t;
2149
2245
  } }, { key: "setTranslate", value: function(t, i, o) {
2150
- var r = arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
2151
- t.style.transition = r ? "all .2s ease" : "", t.style.transform = "translate3d(".concat(i, "px, ").concat(o, "px, 0)");
2246
+ var d = arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
2247
+ t.style.transition = d ? "all .2s ease" : "", t.style.transform = "translate3d(".concat(i, "px, ").concat(o, "px, 0)");
2152
2248
  } }]);
2153
- function wa(t, i, o, r) {
2249
+ function xa(t, i, o, d) {
2154
2250
  var l = t.querySelector(".gslide-media"), h = new Image(), b = "gSlideTitle_" + o, u = "gSlideDesc_" + o;
2155
2251
  h.addEventListener("load", function() {
2156
- P(r) && r();
2157
- }, !1), h.src = i.href, i.sizes != "" && i.srcset != "" && (h.sizes = i.sizes, h.srcset = i.srcset), h.alt = "", oe(i.alt) || i.alt === "" || (h.alt = i.alt), i.title !== "" && h.setAttribute("aria-labelledby", b), i.description !== "" && h.setAttribute("aria-describedby", u), i.hasOwnProperty("_hasCustomWidth") && i._hasCustomWidth && (h.style.width = i.width), i.hasOwnProperty("_hasCustomHeight") && i._hasCustomHeight && (h.style.height = i.height), l.insertBefore(h, l.firstChild);
2252
+ P(d) && d();
2253
+ }, !1), h.src = i.href, i.sizes != "" && i.srcset != "" && (h.sizes = i.sizes, h.srcset = i.srcset), h.alt = "", re(i.alt) || i.alt === "" || (h.alt = i.alt), i.title !== "" && h.setAttribute("aria-labelledby", b), i.description !== "" && h.setAttribute("aria-describedby", u), i.hasOwnProperty("_hasCustomWidth") && i._hasCustomWidth && (h.style.width = i.width), i.hasOwnProperty("_hasCustomHeight") && i._hasCustomHeight && (h.style.height = i.height), l.insertBefore(h, l.firstChild);
2158
2254
  }
2159
- function xa(t, i, o, r) {
2255
+ function ka(t, i, o, d) {
2160
2256
  var l = this, h = t.querySelector(".ginner-container"), b = "gvideo" + o, u = t.querySelector(".gslide-media"), y = this.getAllPlayers();
2161
2257
  T(h, "gvideo-container"), u.insertBefore(ne('<div class="gvideo-wrapper"></div>'), u.firstChild);
2162
2258
  var m = t.querySelector(".gvideo-wrapper");
2163
2259
  Qe(this.settings.plyr.css, "Plyr");
2164
- var w = i.href, k = i == null ? void 0 : i.videoProvider, M = !1;
2260
+ var x = i.href, k = i == null ? void 0 : i.videoProvider, M = !1;
2165
2261
  u.style.maxWidth = i.width, Qe(this.settings.plyr.js, "Plyr", function() {
2166
- if (!k && w.match(/vimeo\.com\/([0-9]*)/) && (k = "vimeo"), !k && (w.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || w.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || w.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || w.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && (k = "youtube"), k === "local" || !k) {
2262
+ if (!k && x.match(/vimeo\.com\/([0-9]*)/) && (k = "vimeo"), !k && (x.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || x.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || x.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || x.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && (k = "youtube"), k === "local" || !k) {
2167
2263
  k = "local";
2168
2264
  var E = '<video id="' + b + '" ';
2169
- E += 'style="background:#000; max-width: '.concat(i.width, ';" '), E += 'preload="metadata" ', E += 'x-webkit-airplay="allow" ', E += "playsinline ", E += "controls ", E += 'class="gvideo-local">', E += '<source src="'.concat(w, '">'), M = ne(E += "</video>");
2265
+ E += 'style="background:#000; max-width: '.concat(i.width, ';" '), E += 'preload="metadata" ', E += 'x-webkit-airplay="allow" ', E += "playsinline ", E += "controls ", E += 'class="gvideo-local">', E += '<source src="'.concat(x, '">'), M = ne(E += "</video>");
2170
2266
  }
2171
- var A = M || ne('<div id="'.concat(b, '" data-plyr-provider="').concat(k, '" data-plyr-embed-id="').concat(w, '"></div>'));
2172
- T(m, "".concat(k, "-video gvideo")), m.appendChild(A), m.setAttribute("data-id", b), m.setAttribute("data-index", o);
2173
- var U = W(l.settings.plyr, "config") ? l.settings.plyr.config : {}, fe = new Plyr("#" + b, U);
2174
- fe.on("ready", function(re) {
2175
- y[b] = re.detail.plyr, P(r) && r();
2176
- }), ze(function() {
2267
+ var I = M || ne('<div id="'.concat(b, '" data-plyr-provider="').concat(k, '" data-plyr-embed-id="').concat(x, '"></div>'));
2268
+ T(m, "".concat(k, "-video gvideo")), m.appendChild(I), m.setAttribute("data-id", b), m.setAttribute("data-index", o);
2269
+ var U = Y(l.settings.plyr, "config") ? l.settings.plyr.config : {}, fe = new Plyr("#" + b, U);
2270
+ fe.on("ready", function(de) {
2271
+ y[b] = de.detail.plyr, P(d) && d();
2272
+ }), Be(function() {
2177
2273
  return t.querySelector("iframe") && t.querySelector("iframe").dataset.ready == "true";
2178
2274
  }, function() {
2179
2275
  l.resize(t);
@@ -2184,128 +2280,128 @@ var na = { exports: {} };
2184
2280
  var i = $(t.target, ".gslide-media");
2185
2281
  t.type === "enterfullscreen" && T(i, "fullscreen"), t.type === "exitfullscreen" && N(i, "fullscreen");
2186
2282
  }
2187
- function ka(t, i, o, r) {
2188
- var l, h = this, b = t.querySelector(".gslide-media"), u = !(!W(i, "href") || !i.href) && i.href.split("#").pop().trim(), y = !(!W(i, "content") || !i.content) && i.content;
2283
+ function Ca(t, i, o, d) {
2284
+ var l, h = this, b = t.querySelector(".gslide-media"), u = !(!Y(i, "href") || !i.href) && i.href.split("#").pop().trim(), y = !(!Y(i, "content") || !i.content) && i.content;
2189
2285
  if (y && (z(y) && (l = ne('<div class="ginlined-content">'.concat(y, "</div>"))), R(y))) {
2190
2286
  y.style.display == "none" && (y.style.display = "block");
2191
2287
  var m = document.createElement("div");
2192
2288
  m.className = "ginlined-content", m.appendChild(y), l = m;
2193
2289
  }
2194
2290
  if (u) {
2195
- var w = document.getElementById(u);
2196
- if (!w) return !1;
2197
- var k = w.cloneNode(!0);
2291
+ var x = document.getElementById(u);
2292
+ if (!x) return !1;
2293
+ var k = x.cloneNode(!0);
2198
2294
  k.style.height = i.height, k.style.maxWidth = i.width, T(k, "ginlined-content"), l = k;
2199
2295
  }
2200
2296
  if (!l) return console.error("Unable to append inline slide content", i), !1;
2201
2297
  b.style.height = i.height, b.style.width = i.width, b.appendChild(l), this.events["inlineclose" + u] = F("click", { onElement: b.querySelectorAll(".gtrigger-close"), withCallback: function(M) {
2202
2298
  M.preventDefault(), h.close();
2203
- } }), P(r) && r();
2299
+ } }), P(d) && d();
2204
2300
  }
2205
- function Ca(t, i, o, r) {
2301
+ function Sa(t, i, o, d) {
2206
2302
  var l = t.querySelector(".gslide-media"), h = function(b) {
2207
- var u = b.url, y = b.allow, m = b.callback, w = b.appendTo, k = document.createElement("iframe");
2303
+ var u = b.url, y = b.allow, m = b.callback, x = b.appendTo, k = document.createElement("iframe");
2208
2304
  return k.className = "vimeo-video gvideo", k.src = u, k.style.width = "100%", k.style.height = "100%", y && k.setAttribute("allow", y), k.onload = function() {
2209
2305
  k.onload = null, T(k, "node-ready"), P(m) && m();
2210
- }, w && w.appendChild(k), k;
2211
- }({ url: i.href, callback: r });
2306
+ }, x && x.appendChild(k), k;
2307
+ }({ url: i.href, callback: d });
2212
2308
  l.parentNode.style.maxWidth = i.width, l.parentNode.style.height = i.height, l.appendChild(h);
2213
2309
  }
2214
- var Sa = f(function t() {
2310
+ var _a = f(function t() {
2215
2311
  var i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2216
- n(this, t), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ce(i) && (this.defaults = S(this.defaults, i));
2312
+ s(this, t), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Se(i) && (this.defaults = S(this.defaults, i));
2217
2313
  }, [{ key: "sourceType", value: function(t) {
2218
2314
  var i = t;
2219
2315
  return (t = t.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) !== null ? "image" : t.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || t.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || t.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || t.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/) || t.match(/vimeo\.com\/([0-9]*)/) || t.match(/\.(mp4|ogg|webm|mov)/) !== null ? "video" : t.match(/\.(mp3|wav|wma|aac|ogg)/) !== null ? "audio" : t.indexOf("#") > -1 && i.split("#").pop().trim() !== "" ? "inline" : t.indexOf("goajax=true") > -1 ? "ajax" : "external";
2220
2316
  } }, { key: "parseConfig", value: function(t, i) {
2221
- var o = this, r = S({ descPosition: i.descPosition }, this.defaults);
2222
- if (Ce(t) && !R(t)) {
2223
- W(t, "type") || (W(t, "content") && t.content ? t.type = "inline" : W(t, "href") && (t.type = this.sourceType(t.href)));
2224
- var l = S(r, t);
2317
+ var o = this, d = S({ descPosition: i.descPosition }, this.defaults);
2318
+ if (Se(t) && !R(t)) {
2319
+ Y(t, "type") || (Y(t, "content") && t.content ? t.type = "inline" : Y(t, "href") && (t.type = this.sourceType(t.href)));
2320
+ var l = S(d, t);
2225
2321
  return this.setSize(l, i), l;
2226
2322
  }
2227
2323
  var h = "", b = t.getAttribute("data-glightbox"), u = t.nodeName.toLowerCase();
2228
- if (u === "a" && (h = t.href), u === "img" && (h = t.src, r.alt = t.alt), r.href = h, _(r, function(E, A) {
2229
- W(i, A) && A !== "width" && (r[A] = i[A]);
2230
- var U = t.dataset[A];
2231
- oe(U) || (r[A] = o.sanitizeValue(U));
2232
- }), r.content && (r.type = "inline"), !r.type && h && (r.type = this.sourceType(h)), oe(b)) {
2233
- if (!r.title && u == "a") {
2324
+ if (u === "a" && (h = t.href), u === "img" && (h = t.src, d.alt = t.alt), d.href = h, _(d, function(E, I) {
2325
+ Y(i, I) && I !== "width" && (d[I] = i[I]);
2326
+ var U = t.dataset[I];
2327
+ re(U) || (d[I] = o.sanitizeValue(U));
2328
+ }), d.content && (d.type = "inline"), !d.type && h && (d.type = this.sourceType(h)), re(b)) {
2329
+ if (!d.title && u == "a") {
2234
2330
  var y = t.title;
2235
- oe(y) || y === "" || (r.title = y);
2331
+ re(y) || y === "" || (d.title = y);
2236
2332
  }
2237
- if (!r.title && u == "img") {
2333
+ if (!d.title && u == "img") {
2238
2334
  var m = t.alt;
2239
- oe(m) || m === "" || (r.title = m);
2335
+ re(m) || m === "" || (d.title = m);
2240
2336
  }
2241
2337
  } else {
2242
- var w = [];
2243
- _(r, function(E, A) {
2244
- w.push(";\\s?" + A);
2245
- }), w = w.join("\\s?:|"), b.trim() !== "" && _(r, function(E, A) {
2246
- var U = b, fe = new RegExp("s?" + A + "s?:s?(.*?)(" + w + "s?:|$)"), re = U.match(fe);
2247
- if (re && re.length && re[1]) {
2248
- var G = re[1].trim().replace(/;\s*$/, "");
2249
- r[A] = o.sanitizeValue(G);
2338
+ var x = [];
2339
+ _(d, function(E, I) {
2340
+ x.push(";\\s?" + I);
2341
+ }), x = x.join("\\s?:|"), b.trim() !== "" && _(d, function(E, I) {
2342
+ var U = b, fe = new RegExp("s?" + I + "s?:s?(.*?)(" + x + "s?:|$)"), de = U.match(fe);
2343
+ if (de && de.length && de[1]) {
2344
+ var G = de[1].trim().replace(/;\s*$/, "");
2345
+ d[I] = o.sanitizeValue(G);
2250
2346
  }
2251
2347
  });
2252
2348
  }
2253
- if (r.description && r.description.substring(0, 1) === ".") {
2349
+ if (d.description && d.description.substring(0, 1) === ".") {
2254
2350
  var k;
2255
2351
  try {
2256
- k = document.querySelector(r.description).innerHTML;
2352
+ k = document.querySelector(d.description).innerHTML;
2257
2353
  } catch (E) {
2258
2354
  if (!(E instanceof DOMException)) throw E;
2259
2355
  }
2260
- k && (r.description = k);
2356
+ k && (d.description = k);
2261
2357
  }
2262
- if (!r.description) {
2358
+ if (!d.description) {
2263
2359
  var M = t.querySelector(".glightbox-desc");
2264
- M && (r.description = M.innerHTML);
2360
+ M && (d.description = M.innerHTML);
2265
2361
  }
2266
- return this.setSize(r, i, t), this.slideConfig = r, r;
2362
+ return this.setSize(d, i, t), this.slideConfig = d, d;
2267
2363
  } }, { key: "setSize", value: function(t, i) {
2268
- var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, r = t.type == "video" ? this.checkSize(i.videosWidth) : this.checkSize(i.width), l = this.checkSize(i.height);
2269
- return t.width = W(t, "width") && t.width !== "" ? this.checkSize(t.width) : r, t.height = W(t, "height") && t.height !== "" ? this.checkSize(t.height) : l, o && t.type == "image" && (t._hasCustomWidth = !!o.dataset.width, t._hasCustomHeight = !!o.dataset.height), t;
2364
+ var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = t.type == "video" ? this.checkSize(i.videosWidth) : this.checkSize(i.width), l = this.checkSize(i.height);
2365
+ return t.width = Y(t, "width") && t.width !== "" ? this.checkSize(t.width) : d, t.height = Y(t, "height") && t.height !== "" ? this.checkSize(t.height) : l, o && t.type == "image" && (t._hasCustomWidth = !!o.dataset.width, t._hasCustomHeight = !!o.dataset.height), t;
2270
2366
  } }, { key: "checkSize", value: function(t) {
2271
2367
  return et(t) ? "".concat(t, "px") : t;
2272
2368
  } }, { key: "sanitizeValue", value: function(t) {
2273
2369
  return t !== "true" && t !== "false" ? t : t === "true";
2274
- } }]), tt = f(function t(i, o, r) {
2275
- n(this, t), this.element = i, this.instance = o, this.index = r;
2370
+ } }]), tt = f(function t(i, o, d) {
2371
+ s(this, t), this.element = i, this.instance = o, this.index = d;
2276
2372
  }, [{ key: "setContent", value: function() {
2277
2373
  var t = this, i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2278
2374
  if (Q(i, "loaded")) return !1;
2279
- var r = this.instance.settings, l = this.slideConfig, h = ve();
2280
- P(r.beforeSlideLoad) && r.beforeSlideLoad({ index: this.index, slide: i, player: !1 });
2281
- var b = l.type, u = l.descPosition, y = i.querySelector(".gslide-media"), m = i.querySelector(".gslide-title"), w = i.querySelector(".gslide-desc"), k = i.querySelector(".gdesc-inner"), M = o, E = "gSlideTitle_" + this.index, A = "gSlideDesc_" + this.index;
2282
- if (P(r.afterSlideLoad) && (M = function() {
2283
- P(o) && o(), r.afterSlideLoad({ index: t.index, slide: i, player: t.instance.getSlidePlayerInstance(t.index) });
2284
- }), l.title == "" && l.description == "" ? k && k.parentNode.parentNode.removeChild(k.parentNode) : (m && l.title !== "" ? (m.id = E, m.innerHTML = l.title) : m.parentNode.removeChild(m), w && l.description !== "" ? (w.id = A, h && r.moreLength > 0 ? (l.smallDescription = this.slideShortDesc(l.description, r.moreLength, r.moreText), w.innerHTML = l.smallDescription, this.descriptionEvents(w, l)) : w.innerHTML = l.description) : w.parentNode.removeChild(w), T(y.parentNode, "desc-".concat(u)), T(k.parentNode, "description-".concat(u))), T(y, "gslide-".concat(b)), T(i, "loaded"), b !== "video") {
2285
- if (b !== "external") return b === "inline" ? (ka.apply(this.instance, [i, l, this.index, M]), void (l.draggable && new Pt({ dragEl: i.querySelector(".gslide-inline"), toleranceX: r.dragToleranceX, toleranceY: r.dragToleranceY, slide: i, instance: this.instance }))) : void (b !== "image" ? P(M) && M() : wa(i, l, this.index, function() {
2375
+ var d = this.instance.settings, l = this.slideConfig, h = ve();
2376
+ P(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: i, player: !1 });
2377
+ var b = l.type, u = l.descPosition, y = i.querySelector(".gslide-media"), m = i.querySelector(".gslide-title"), x = i.querySelector(".gslide-desc"), k = i.querySelector(".gdesc-inner"), M = o, E = "gSlideTitle_" + this.index, I = "gSlideDesc_" + this.index;
2378
+ if (P(d.afterSlideLoad) && (M = function() {
2379
+ P(o) && o(), d.afterSlideLoad({ index: t.index, slide: i, player: t.instance.getSlidePlayerInstance(t.index) });
2380
+ }), l.title == "" && l.description == "" ? k && k.parentNode.parentNode.removeChild(k.parentNode) : (m && l.title !== "" ? (m.id = E, m.innerHTML = l.title) : m.parentNode.removeChild(m), x && l.description !== "" ? (x.id = I, h && d.moreLength > 0 ? (l.smallDescription = this.slideShortDesc(l.description, d.moreLength, d.moreText), x.innerHTML = l.smallDescription, this.descriptionEvents(x, l)) : x.innerHTML = l.description) : x.parentNode.removeChild(x), T(y.parentNode, "desc-".concat(u)), T(k.parentNode, "description-".concat(u))), T(y, "gslide-".concat(b)), T(i, "loaded"), b !== "video") {
2381
+ if (b !== "external") return b === "inline" ? (Ca.apply(this.instance, [i, l, this.index, M]), void (l.draggable && new Pt({ dragEl: i.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: i, instance: this.instance }))) : void (b !== "image" ? P(M) && M() : xa(i, l, this.index, function() {
2286
2382
  var U = i.querySelector("img");
2287
- l.draggable && new Pt({ dragEl: U, toleranceX: r.dragToleranceX, toleranceY: r.dragToleranceY, slide: i, instance: t.instance }), l.zoomable && U.naturalWidth > U.offsetWidth && (T(U, "zoomable"), new va(U, i, function() {
2383
+ l.draggable && new Pt({ dragEl: U, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: i, instance: t.instance }), l.zoomable && U.naturalWidth > U.offsetWidth && (T(U, "zoomable"), new wa(U, i, function() {
2288
2384
  t.instance.resize();
2289
2385
  })), P(M) && M();
2290
2386
  }));
2291
- Ca.apply(this, [i, l, this.index, M]);
2292
- } else xa.apply(this.instance, [i, l, this.index, M]);
2387
+ Sa.apply(this, [i, l, this.index, M]);
2388
+ } else ka.apply(this.instance, [i, l, this.index, M]);
2293
2389
  } }, { key: "slideShortDesc", value: function(t) {
2294
- var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, o = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], r = document.createElement("div");
2295
- r.innerHTML = t;
2296
- var l = r.innerText, h = o;
2390
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, o = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], d = document.createElement("div");
2391
+ d.innerHTML = t;
2392
+ var l = d.innerText, h = o;
2297
2393
  if ((t = l.trim()).length <= i) return t;
2298
2394
  var b = t.substr(0, i - 1);
2299
- return h ? (r = null, b + '... <a href="#" class="desc-more">' + o + "</a>") : b;
2395
+ return h ? (d = null, b + '... <a href="#" class="desc-more">' + o + "</a>") : b;
2300
2396
  } }, { key: "descriptionEvents", value: function(t, i) {
2301
- var o = this, r = t.querySelector(".desc-more");
2302
- if (!r) return !1;
2303
- F("click", { onElement: r, withCallback: function(l, h) {
2397
+ var o = this, d = t.querySelector(".desc-more");
2398
+ if (!d) return !1;
2399
+ F("click", { onElement: d, withCallback: function(l, h) {
2304
2400
  l.preventDefault();
2305
2401
  var b = document.body, u = $(h, ".gslide-desc");
2306
2402
  if (!u) return !1;
2307
2403
  u.innerHTML = i.description, T(b, "gdesc-open");
2308
- var y = F("click", { onElement: [b, $(u, ".gslide-description")], withCallback: function(m, w) {
2404
+ var y = F("click", { onElement: [b, $(u, ".gslide-description")], withCallback: function(m, x) {
2309
2405
  m.target.nodeName.toLowerCase() !== "a" && (N(b, "gdesc-open"), T(b, "gdesc-closed"), u.innerHTML = i.smallDescription, o.descriptionEvents(u, i), setTimeout(function() {
2310
2406
  N(b, "gdesc-closed");
2311
2407
  }, 400), y.destroy());
@@ -2315,27 +2411,27 @@ var na = { exports: {} };
2315
2411
  return ne(this.instance.settings.slideHTML);
2316
2412
  } }, { key: "getConfig", value: function() {
2317
2413
  R(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable);
2318
- var t = new Sa(this.instance.settings.slideExtraAttributes);
2414
+ var t = new _a(this.instance.settings.slideExtraAttributes);
2319
2415
  return this.slideConfig = t.parseConfig(this.element, this.instance.settings), this.slideConfig;
2320
2416
  } }]);
2321
2417
  function at(t) {
2322
2418
  return Math.sqrt(t.x * t.x + t.y * t.y);
2323
2419
  }
2324
- function _a(t, i) {
2325
- var o = function(r, l) {
2326
- var h = at(r) * at(l);
2420
+ function $a(t, i) {
2421
+ var o = function(d, l) {
2422
+ var h = at(d) * at(l);
2327
2423
  if (h === 0) return 0;
2328
2424
  var b = function(u, y) {
2329
2425
  return u.x * y.x + u.y * y.y;
2330
- }(r, l) / h;
2426
+ }(d, l) / h;
2331
2427
  return b > 1 && (b = 1), Math.acos(b);
2332
2428
  }(t, i);
2333
- return function(r, l) {
2334
- return r.x * l.y - l.x * r.y;
2429
+ return function(d, l) {
2430
+ return d.x * l.y - l.x * d.y;
2335
2431
  }(t, i) > 0 && (o *= -1), 180 * o / Math.PI;
2336
2432
  }
2337
- var $a = f(function t(i) {
2338
- n(this, t), this.handlers = [], this.el = i;
2433
+ var Ma = f(function t(i) {
2434
+ s(this, t), this.handlers = [], this.el = i;
2339
2435
  }, [{ key: "add", value: function(t) {
2340
2436
  this.handlers.push(t);
2341
2437
  } }, { key: "del", value: function(t) {
@@ -2347,15 +2443,15 @@ var na = { exports: {} };
2347
2443
  typeof o == "function" && o.apply(this.el, arguments);
2348
2444
  }
2349
2445
  } }]);
2350
- function te(t, i) {
2351
- var o = new $a(t);
2446
+ function ce(t, i) {
2447
+ var o = new Ma(t);
2352
2448
  return o.add(i), o;
2353
2449
  }
2354
- var Ma = f(function t(i, o) {
2355
- n(this, t), this.element = typeof i == "string" ? document.querySelector(i) : i, 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;
2356
- var r = function() {
2450
+ var Ta = f(function t(i, o) {
2451
+ s(this, t), this.element = typeof i == "string" ? document.querySelector(i) : i, 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;
2452
+ var d = function() {
2357
2453
  };
2358
- this.rotate = te(this.element, o.rotate || r), this.touchStart = te(this.element, o.touchStart || r), this.multipointStart = te(this.element, o.multipointStart || r), this.multipointEnd = te(this.element, o.multipointEnd || r), this.pinch = te(this.element, o.pinch || r), this.swipe = te(this.element, o.swipe || r), this.tap = te(this.element, o.tap || r), this.doubleTap = te(this.element, o.doubleTap || r), this.longTap = te(this.element, o.longTap || r), this.singleTap = te(this.element, o.singleTap || r), this.pressMove = te(this.element, o.pressMove || r), this.twoFingerPressMove = te(this.element, o.twoFingerPressMove || r), this.touchMove = te(this.element, o.touchMove || r), this.touchEnd = te(this.element, o.touchEnd || r), this.touchCancel = te(this.element, o.touchCancel || r), 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 };
2454
+ this.rotate = ce(this.element, o.rotate || d), this.touchStart = ce(this.element, o.touchStart || d), this.multipointStart = ce(this.element, o.multipointStart || d), this.multipointEnd = ce(this.element, o.multipointEnd || d), this.pinch = ce(this.element, o.pinch || d), this.swipe = ce(this.element, o.swipe || d), this.tap = ce(this.element, o.tap || d), this.doubleTap = ce(this.element, o.doubleTap || d), this.longTap = ce(this.element, o.longTap || d), this.singleTap = ce(this.element, o.singleTap || d), this.pressMove = ce(this.element, o.pressMove || d), this.twoFingerPressMove = ce(this.element, o.twoFingerPressMove || d), this.touchMove = ce(this.element, o.touchMove || d), this.touchEnd = ce(this.element, o.touchEnd || d), this.touchCancel = ce(this.element, o.touchCancel || d), 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 };
2359
2455
  }, [{ key: "start", value: function(t) {
2360
2456
  if (t.touches) if (t.target && t.target.nodeName && ["a", "button", "input"].indexOf(t.target.nodeName.toLowerCase()) >= 0) console.log("ignore drag for this touched element", t.target.nodeName.toLowerCase());
2361
2457
  else {
@@ -2372,19 +2468,19 @@ var na = { exports: {} };
2372
2468
  }
2373
2469
  } }, { key: "move", value: function(t) {
2374
2470
  if (t.touches) {
2375
- var i = this.preV, o = t.touches.length, r = t.touches[0].pageX, l = t.touches[0].pageY;
2471
+ var i = this.preV, o = t.touches.length, d = t.touches[0].pageX, l = t.touches[0].pageY;
2376
2472
  if (this.isDoubleTap = !1, o > 1) {
2377
- var h = t.touches[1].pageX, b = t.touches[1].pageY, u = { x: t.touches[1].pageX - r, y: t.touches[1].pageY - l };
2378
- i.x !== null && (this.pinchStartLen > 0 && (t.zoom = at(u) / this.pinchStartLen, this.pinch.dispatch(t, this.element)), t.angle = _a(u, i), this.rotate.dispatch(t, this.element)), i.x = u.x, i.y = u.y, this.x2 !== null && this.sx2 !== null ? (t.deltaX = (r - this.x2 + h - this.sx2) / 2, t.deltaY = (l - this.y2 + b - this.sy2) / 2) : (t.deltaX = 0, t.deltaY = 0), this.twoFingerPressMove.dispatch(t, this.element), this.sx2 = h, this.sy2 = b;
2473
+ var h = t.touches[1].pageX, b = t.touches[1].pageY, u = { x: t.touches[1].pageX - d, y: t.touches[1].pageY - l };
2474
+ i.x !== null && (this.pinchStartLen > 0 && (t.zoom = at(u) / this.pinchStartLen, this.pinch.dispatch(t, this.element)), t.angle = $a(u, i), this.rotate.dispatch(t, this.element)), i.x = u.x, i.y = u.y, this.x2 !== null && this.sx2 !== null ? (t.deltaX = (d - this.x2 + h - this.sx2) / 2, t.deltaY = (l - this.y2 + b - this.sy2) / 2) : (t.deltaX = 0, t.deltaY = 0), this.twoFingerPressMove.dispatch(t, this.element), this.sx2 = h, this.sy2 = b;
2379
2475
  } else {
2380
2476
  if (this.x2 !== null) {
2381
- t.deltaX = r - this.x2, t.deltaY = l - this.y2;
2477
+ t.deltaX = d - this.x2, t.deltaY = l - this.y2;
2382
2478
  var y = Math.abs(this.x1 - this.x2), m = Math.abs(this.y1 - this.y2);
2383
2479
  (y > 10 || m > 10) && (this._preventTap = !0);
2384
2480
  } else t.deltaX = 0, t.deltaY = 0;
2385
2481
  this.pressMove.dispatch(t, this.element);
2386
2482
  }
2387
- this.touchMove.dispatch(t, this.element), this._cancelLongTap(), this.x2 = r, this.y2 = l, o > 1 && t.preventDefault();
2483
+ this.touchMove.dispatch(t, this.element), this._cancelLongTap(), this.x2 = d, this.y2 = l, o > 1 && t.preventDefault();
2388
2484
  }
2389
2485
  } }, { key: "end", value: function(t) {
2390
2486
  if (t.changedTouches) {
@@ -2406,8 +2502,8 @@ var na = { exports: {} };
2406
2502
  clearTimeout(this.longTapTimeout);
2407
2503
  } }, { key: "_cancelSingleTap", value: function() {
2408
2504
  clearTimeout(this.singleTapTimeout);
2409
- } }, { key: "_swipeDirection", value: function(t, i, o, r) {
2410
- return Math.abs(t - i) >= Math.abs(o - r) ? t - i > 0 ? "Left" : "Right" : o - r > 0 ? "Up" : "Down";
2505
+ } }, { key: "_swipeDirection", value: function(t, i, o, d) {
2506
+ return Math.abs(t - i) >= Math.abs(o - d) ? t - i > 0 ? "Left" : "Right" : o - d > 0 ? "Up" : "Down";
2411
2507
  } }, { key: "on", value: function(t, i) {
2412
2508
  this[t] && this[t].add(i);
2413
2509
  } }, { key: "off", value: function(t, i) {
@@ -2419,57 +2515,57 @@ var na = { exports: {} };
2419
2515
  var i = function() {
2420
2516
  var b, u = document.createElement("fakeelement"), y = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
2421
2517
  for (b in y) if (u.style[b] !== void 0) return y[b];
2422
- }(), o = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, r = Q(t, "gslide-media") ? t : t.querySelector(".gslide-media"), l = $(r, ".ginner-container"), h = t.querySelector(".gslide-description");
2423
- o > 769 && (r = l), T(r, "greset"), C(r, "translate3d(0, 0, 0)"), F(i, { onElement: r, once: !0, withCallback: function(b, u) {
2424
- N(r, "greset");
2425
- } }), r.style.opacity = "", h && (h.style.opacity = "");
2518
+ }(), o = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = Q(t, "gslide-media") ? t : t.querySelector(".gslide-media"), l = $(d, ".ginner-container"), h = t.querySelector(".gslide-description");
2519
+ o > 769 && (d = l), T(d, "greset"), C(d, "translate3d(0, 0, 0)"), F(i, { onElement: d, once: !0, withCallback: function(b, u) {
2520
+ N(d, "greset");
2521
+ } }), d.style.opacity = "", h && (h.style.opacity = "");
2426
2522
  }
2427
- function Ta(t) {
2523
+ function Ea(t) {
2428
2524
  if (t.events.hasOwnProperty("touch")) return !1;
2429
- var i, o, r, l = se(), h = l.width, b = l.height, u = !1, y = null, m = null, w = null, k = !1, M = 1, E = 1, A = !1, U = !1, fe = null, re = null, G = null, Se = null, ue = 0, je = 0, He = !1, Be = !1, pe = {}, Le = {}, Rt = 0, Vt = 0, Ia = document.getElementById("glightbox-slider"), ct = document.querySelector(".goverlay"), La = new Ma(Ia, { touchStart: function(B) {
2525
+ var i, o, d, l = se(), h = l.width, b = l.height, u = !1, y = null, m = null, x = null, k = !1, M = 1, E = 1, I = !1, U = !1, fe = null, de = null, G = null, _e = null, ue = 0, Re = 0, Ve = !1, De = !1, pe = {}, Oe = {}, Rt = 0, Vt = 0, La = document.getElementById("glightbox-slider"), ct = document.querySelector(".goverlay"), qa = new Ta(La, { touchStart: function(B) {
2430
2526
  if (u = !0, (Q(B.targetTouches[0].target, "ginner-container") || $(B.targetTouches[0].target, ".gslide-desc") || B.targetTouches[0].target.nodeName.toLowerCase() == "a") && (u = !1), $(B.targetTouches[0].target, ".gslide-inline") && !Q(B.targetTouches[0].target.parentNode, "gslide-inline") && (u = !1), u) {
2431
- if (Le = B.targetTouches[0], pe.pageX = B.targetTouches[0].pageX, pe.pageY = B.targetTouches[0].pageY, Rt = B.targetTouches[0].clientX, Vt = B.targetTouches[0].clientY, y = t.activeSlide, m = y.querySelector(".gslide-media"), r = y.querySelector(".gslide-inline"), w = null, Q(m, "gslide-image") && (w = m.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (m = y.querySelector(".ginner-container")), N(ct, "greset"), B.pageX > 20 && B.pageX < window.innerWidth - 20) return;
2527
+ if (Oe = B.targetTouches[0], pe.pageX = B.targetTouches[0].pageX, pe.pageY = B.targetTouches[0].pageY, Rt = B.targetTouches[0].clientX, Vt = B.targetTouches[0].clientY, y = t.activeSlide, m = y.querySelector(".gslide-media"), d = y.querySelector(".gslide-inline"), x = null, Q(m, "gslide-image") && (x = m.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (m = y.querySelector(".ginner-container")), N(ct, "greset"), B.pageX > 20 && B.pageX < window.innerWidth - 20) return;
2432
2528
  B.preventDefault();
2433
2529
  }
2434
2530
  }, touchMove: function(B) {
2435
- if (u && (Le = B.targetTouches[0], !A && !U)) {
2436
- if (r && r.offsetHeight > b) {
2437
- var ae = pe.pageX - Le.pageX;
2438
- if (Math.abs(ae) <= 13) return !1;
2531
+ if (u && (Oe = B.targetTouches[0], !I && !U)) {
2532
+ if (d && d.offsetHeight > b) {
2533
+ var ie = pe.pageX - Oe.pageX;
2534
+ if (Math.abs(ie) <= 13) return !1;
2439
2535
  }
2440
2536
  k = !0;
2441
- var _e, it = B.targetTouches[0].clientX, qa = B.targetTouches[0].clientY, Oa = Rt - it, Pa = Vt - qa;
2442
- if (Math.abs(Oa) > Math.abs(Pa) ? (He = !1, Be = !0) : (Be = !1, He = !0), i = Le.pageX - pe.pageX, ue = 100 * i / h, o = Le.pageY - pe.pageY, je = 100 * o / b, He && w && (_e = 1 - Math.abs(o) / b, ct.style.opacity = _e, t.settings.touchFollowAxis && (ue = 0)), Be && (_e = 1 - Math.abs(i) / h, m.style.opacity = _e, t.settings.touchFollowAxis && (je = 0)), !w) return C(m, "translate3d(".concat(ue, "%, 0, 0)"));
2443
- C(m, "translate3d(".concat(ue, "%, ").concat(je, "%, 0)"));
2537
+ var $e, it = B.targetTouches[0].clientX, Oa = B.targetTouches[0].clientY, Pa = Rt - it, za = Vt - Oa;
2538
+ if (Math.abs(Pa) > Math.abs(za) ? (Ve = !1, De = !0) : (De = !1, Ve = !0), i = Oe.pageX - pe.pageX, ue = 100 * i / h, o = Oe.pageY - pe.pageY, Re = 100 * o / b, Ve && x && ($e = 1 - Math.abs(o) / b, ct.style.opacity = $e, t.settings.touchFollowAxis && (ue = 0)), De && ($e = 1 - Math.abs(i) / h, m.style.opacity = $e, t.settings.touchFollowAxis && (Re = 0)), !x) return C(m, "translate3d(".concat(ue, "%, 0, 0)"));
2539
+ C(m, "translate3d(".concat(ue, "%, ").concat(Re, "%, 0)"));
2444
2540
  }
2445
2541
  }, touchEnd: function() {
2446
2542
  if (u) {
2447
- if (k = !1, U || A) return G = fe, void (Se = re);
2448
- var B = Math.abs(parseInt(je)), ae = Math.abs(parseInt(ue));
2449
- if (!(B > 29 && w)) return B < 29 && ae < 25 ? (T(ct, "greset"), ct.style.opacity = 1, yt(m)) : void 0;
2543
+ if (k = !1, U || I) return G = fe, void (_e = de);
2544
+ var B = Math.abs(parseInt(Re)), ie = Math.abs(parseInt(ue));
2545
+ if (!(B > 29 && x)) return B < 29 && ie < 25 ? (T(ct, "greset"), ct.style.opacity = 1, yt(m)) : void 0;
2450
2546
  t.close();
2451
2547
  }
2452
2548
  }, multipointEnd: function() {
2453
2549
  setTimeout(function() {
2454
- A = !1;
2550
+ I = !1;
2455
2551
  }, 50);
2456
2552
  }, multipointStart: function() {
2457
- A = !0, M = E || 1;
2553
+ I = !0, M = E || 1;
2458
2554
  }, pinch: function(B) {
2459
- if (!w || k) return !1;
2460
- A = !0, w.scaleX = w.scaleY = M * B.zoom;
2461
- var ae = M * B.zoom;
2462
- if (U = !0, ae <= 1) return U = !1, ae = 1, Se = null, G = null, fe = null, re = null, void w.setAttribute("style", "");
2463
- ae > 4.5 && (ae = 4.5), w.style.transform = "scale3d(".concat(ae, ", ").concat(ae, ", 1)"), E = ae;
2555
+ if (!x || k) return !1;
2556
+ I = !0, x.scaleX = x.scaleY = M * B.zoom;
2557
+ var ie = M * B.zoom;
2558
+ if (U = !0, ie <= 1) return U = !1, ie = 1, _e = null, G = null, fe = null, de = null, void x.setAttribute("style", "");
2559
+ ie > 4.5 && (ie = 4.5), x.style.transform = "scale3d(".concat(ie, ", ").concat(ie, ", 1)"), E = ie;
2464
2560
  }, pressMove: function(B) {
2465
- if (U && !A) {
2466
- var ae = Le.pageX - pe.pageX, _e = Le.pageY - pe.pageY;
2467
- G && (ae += G), Se && (_e += Se), fe = ae, re = _e;
2468
- var it = "translate3d(".concat(ae, "px, ").concat(_e, "px, 0)");
2469
- E && (it += " scale3d(".concat(E, ", ").concat(E, ", 1)")), C(w, it);
2561
+ if (U && !I) {
2562
+ var ie = Oe.pageX - pe.pageX, $e = Oe.pageY - pe.pageY;
2563
+ G && (ie += G), _e && ($e += _e), fe = ie, de = $e;
2564
+ var it = "translate3d(".concat(ie, "px, ").concat($e, "px, 0)");
2565
+ E && (it += " scale3d(".concat(E, ", ").concat(E, ", 1)")), C(x, it);
2470
2566
  }
2471
2567
  }, swipe: function(B) {
2472
- if (!U) if (A) A = !1;
2568
+ if (!U) if (I) I = !1;
2473
2569
  else {
2474
2570
  if (B.direction == "Left") {
2475
2571
  if (t.index == t.elements.length - 1) return yt(m);
@@ -2481,9 +2577,9 @@ var na = { exports: {} };
2481
2577
  }
2482
2578
  }
2483
2579
  } });
2484
- t.events.touch = La;
2580
+ t.events.touch = qa;
2485
2581
  }
2486
- var jt = ve(), Ht = ve() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, Bt = document.getElementsByTagName("html")[0], Ea = { 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">
2582
+ var jt = ve(), Ht = ve() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, Bt = document.getElementsByTagName("html")[0], Aa = { 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">
2487
2583
  <div class="gslide-inner-content">
2488
2584
  <div class="ginner-container">
2489
2585
  <div class="gslide-media">
@@ -2505,13 +2601,13 @@ var na = { exports: {} };
2505
2601
  <button class="gprev gbtn" aria-label="Previous" data-taborder="2">{prevSVG}</button>
2506
2602
  <button class="gnext gbtn" aria-label="Next" data-taborder="1">{nextSVG}</button>
2507
2603
  </div>
2508
- </div>` }, Aa = f(function t() {
2604
+ </div>` }, Ia = f(function t() {
2509
2605
  var i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2510
- n(this, t), this.customOptions = i, this.settings = S(Ea, i), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2606
+ s(this, t), this.customOptions = i, this.settings = S(Aa, i), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2511
2607
  }, [{ key: "init", value: function() {
2512
2608
  var t = this, i = this.getSelector();
2513
- i && (this.baseEvents = F("click", { onElement: i, withCallback: function(o, r) {
2514
- o.preventDefault(), t.open(r);
2609
+ i && (this.baseEvents = F("click", { onElement: i, withCallback: function(o, d) {
2610
+ o.preventDefault(), t.open(d);
2515
2611
  } })), this.elements = this.getElements();
2516
2612
  } }, { key: "open", value: function() {
2517
2613
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
@@ -2519,8 +2615,8 @@ var na = { exports: {} };
2519
2615
  this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
2520
2616
  var o = et(i) ? i : this.settings.startAt;
2521
2617
  if (R(t)) {
2522
- var r = t.getAttribute("data-gallery");
2523
- r && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, r)), oe(o) && (o = this.getElementIndex(t)) < 0 && (o = 0);
2618
+ var d = t.getAttribute("data-gallery");
2619
+ d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), re(o) && (o = this.getElementIndex(t)) < 0 && (o = 0);
2524
2620
  }
2525
2621
  et(o) || (o = 0), this.build(), V(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
2526
2622
  var l = document.body, h = window.innerWidth - document.documentElement.clientWidth;
@@ -2528,36 +2624,36 @@ var na = { exports: {} };
2528
2624
  var b = document.createElement("style");
2529
2625
  b.type = "text/css", b.className = "gcss-styles", b.innerText = ".gscrollbar-fixer {margin-right: ".concat(h, "px}"), document.head.appendChild(b), T(l, "gscrollbar-fixer");
2530
2626
  }
2531
- T(l, "glightbox-open"), T(Bt, "glightbox-open"), jt && (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")) : (N(this.prevButton, "glightbox-button-hidden"), N(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), P(this.settings.onOpen) && this.settings.onOpen(), Ht && this.settings.touchNavigation && Ta(this), this.settings.keyboardNavigation && ya(this);
2627
+ T(l, "glightbox-open"), T(Bt, "glightbox-open"), jt && (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")) : (N(this.prevButton, "glightbox-button-hidden"), N(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), P(this.settings.onOpen) && this.settings.onOpen(), Ht && this.settings.touchNavigation && Ea(this), this.settings.keyboardNavigation && va(this);
2532
2628
  } }, { key: "openAt", value: function() {
2533
2629
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
2534
2630
  this.open(null, t);
2535
2631
  } }, { key: "showSlide", value: function() {
2536
2632
  var t = this, i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2537
- Ee(this.loader), this.index = parseInt(i);
2538
- var r = this.slidesContainer.querySelector(".current");
2539
- r && N(r, "current"), this.slideAnimateOut();
2633
+ Ie(this.loader), this.index = parseInt(i);
2634
+ var d = this.slidesContainer.querySelector(".current");
2635
+ d && N(d, "current"), this.slideAnimateOut();
2540
2636
  var l = this.slidesContainer.querySelectorAll(".gslide")[i];
2541
- if (Q(l, "loaded")) this.slideAnimateIn(l, o), Ae(this.loader);
2637
+ if (Q(l, "loaded")) this.slideAnimateIn(l, o), Le(this.loader);
2542
2638
  else {
2543
- Ee(this.loader);
2639
+ Ie(this.loader);
2544
2640
  var h = this.elements[i], b = { index: this.index, slide: l, slideNode: l, slideConfig: h.slideConfig, slideIndex: this.index, trigger: h.node, player: null };
2545
2641
  this.trigger("slide_before_load", b), h.instance.setContent(l, function() {
2546
- Ae(t.loader), t.resize(), t.slideAnimateIn(l, o), t.trigger("slide_after_load", b);
2642
+ Le(t.loader), t.resize(), t.slideAnimateIn(l, o), t.trigger("slide_after_load", b);
2547
2643
  });
2548
2644
  }
2549
2645
  this.slideDescription = l.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && Q(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(i + 1), this.preloadSlide(i - 1)), this.updateNavigationClasses(), this.activeSlide = l;
2550
2646
  } }, { key: "preloadSlide", value: function(t) {
2551
2647
  var i = this;
2552
- if (t < 0 || t > this.elements.length - 1 || oe(this.elements[t])) return !1;
2648
+ if (t < 0 || t > this.elements.length - 1 || re(this.elements[t])) return !1;
2553
2649
  var o = this.slidesContainer.querySelectorAll(".gslide")[t];
2554
2650
  if (Q(o, "loaded")) return !1;
2555
- var r = this.elements[t], l = r.type, h = { index: t, slide: o, slideNode: o, slideConfig: r.slideConfig, slideIndex: t, trigger: r.node, player: null };
2651
+ var d = this.elements[t], l = d.type, h = { index: t, slide: o, slideNode: o, slideConfig: d.slideConfig, slideIndex: t, trigger: d.node, player: null };
2556
2652
  this.trigger("slide_before_load", h), l === "video" || l === "external" ? setTimeout(function() {
2557
- r.instance.setContent(o, function() {
2653
+ d.instance.setContent(o, function() {
2558
2654
  i.trigger("slide_after_load", h);
2559
2655
  });
2560
- }, 200) : r.instance.setContent(o, function() {
2656
+ }, 200) : d.instance.setContent(o, function() {
2561
2657
  i.trigger("slide_after_load", h);
2562
2658
  });
2563
2659
  } }, { key: "prevSlide", value: function() {
@@ -2571,8 +2667,8 @@ var na = { exports: {} };
2571
2667
  } }, { key: "insertSlide", value: function() {
2572
2668
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
2573
2669
  i < 0 && (i = this.elements.length);
2574
- var o = new tt(t, this, i), r = o.getConfig(), l = S({}, r), h = o.create(), b = this.elements.length - 1;
2575
- l.index = i, l.node = !1, l.instance = o, l.slideConfig = r, this.elements.splice(i, 0, l);
2670
+ var o = new tt(t, this, i), d = o.getConfig(), l = S({}, d), h = o.create(), b = this.elements.length - 1;
2671
+ l.index = i, l.node = !1, l.instance = o, l.slideConfig = d, this.elements.splice(i, 0, l);
2576
2672
  var u = null, y = null;
2577
2673
  if (this.slidesContainer) {
2578
2674
  if (i > b) this.slidesContainer.appendChild(h);
@@ -2582,15 +2678,15 @@ var na = { exports: {} };
2582
2678
  }
2583
2679
  (this.settings.preload && this.index == 0 && i == 0 || this.index - 1 == i || this.index + 1 == i) && this.preloadSlide(i), this.index === 0 && i === 0 && (this.index = 1), this.updateNavigationClasses(), u = this.slidesContainer.querySelectorAll(".gslide")[i], y = this.getSlidePlayerInstance(i), l.slideNode = u;
2584
2680
  }
2585
- this.trigger("slide_inserted", { index: i, slide: u, slideNode: u, slideConfig: r, slideIndex: i, trigger: null, player: y }), P(this.settings.slideInserted) && this.settings.slideInserted({ index: i, slide: u, player: y });
2681
+ this.trigger("slide_inserted", { index: i, slide: u, slideNode: u, slideConfig: d, slideIndex: i, trigger: null, player: y }), P(this.settings.slideInserted) && this.settings.slideInserted({ index: i, slide: u, player: y });
2586
2682
  } }, { key: "removeSlide", value: function() {
2587
2683
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
2588
2684
  if (t < 0 || t > this.elements.length - 1) return !1;
2589
2685
  var i = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[t];
2590
2686
  i && (this.getActiveSlideIndex() == t && (t == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), i.parentNode.removeChild(i)), this.elements.splice(t, 1), this.trigger("slide_removed", t), P(this.settings.slideRemoved) && this.settings.slideRemoved(t);
2591
2687
  } }, { key: "slideAnimateIn", value: function(t, i) {
2592
- var o = this, r = t.querySelector(".gslide-media"), l = t.querySelector(".gslide-description"), h = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: oe(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: oe(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, b = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
2593
- if (r.offsetWidth > 0 && l && (Ae(l), l.style.display = ""), N(t, this.effectsClasses), i) V(t, this.settings.cssEfects[this.settings.openEffect].in, function() {
2688
+ var o = this, d = t.querySelector(".gslide-media"), l = t.querySelector(".gslide-description"), h = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: re(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: re(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, b = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
2689
+ if (d.offsetWidth > 0 && l && (Le(l), l.style.display = ""), N(t, this.effectsClasses), i) V(t, this.settings.cssEfects[this.settings.openEffect].in, function() {
2594
2690
  o.settings.autoplayVideos && o.slidePlayerPlay(t), o.trigger("slide_changed", { prev: h, current: b }), P(o.settings.afterSlideChange) && o.settings.afterSlideChange.apply(o, [h, b]);
2595
2691
  });
2596
2692
  else {
@@ -2607,15 +2703,15 @@ var na = { exports: {} };
2607
2703
  var t = this.prevActiveSlide;
2608
2704
  N(t, this.effectsClasses), T(t, "prev");
2609
2705
  var i = this.settings.slideEffect, o = i !== "none" ? this.settings.cssEfects[i].out : i;
2610
- this.slidePlayerPause(t), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: oe(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: oe(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) } }), P(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), V(t, o, function() {
2611
- var r = t.querySelector(".ginner-container"), l = t.querySelector(".gslide-media"), h = t.querySelector(".gslide-description");
2612
- r.style.transform = "", l.style.transform = "", N(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), N(t, "prev");
2706
+ this.slidePlayerPause(t), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: re(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: re(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) } }), P(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), V(t, o, function() {
2707
+ var d = t.querySelector(".ginner-container"), l = t.querySelector(".gslide-media"), h = t.querySelector(".gslide-description");
2708
+ d.style.transform = "", l.style.transform = "", N(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), N(t, "prev");
2613
2709
  });
2614
2710
  } }, { key: "getAllPlayers", value: function() {
2615
2711
  return this.videoPlayers;
2616
2712
  } }, { key: "getSlidePlayerInstance", value: function(t) {
2617
2713
  var i = "gvideo" + t, o = this.getAllPlayers();
2618
- return !(!W(o, i) || !o[i]) && o[i];
2714
+ return !(!Y(o, i) || !o[i]) && o[i];
2619
2715
  } }, { key: "stopSlideVideo", value: function(t) {
2620
2716
  if (R(t)) {
2621
2717
  var i = t.querySelector(".gvideo-wrapper");
@@ -2646,35 +2742,35 @@ var na = { exports: {} };
2646
2742
  var o = t.querySelector(".gvideo-wrapper");
2647
2743
  o && (t = o.getAttribute("data-index"));
2648
2744
  }
2649
- var r = this.getSlidePlayerInstance(t);
2650
- r && !r.playing && (r.play(), this.settings.autofocusVideos && r.elements.container.focus());
2745
+ var d = this.getSlidePlayerInstance(t);
2746
+ d && !d.playing && (d.play(), this.settings.autofocusVideos && d.elements.container.focus());
2651
2747
  }
2652
2748
  } }, { key: "setElements", value: function(t) {
2653
2749
  var i = this;
2654
2750
  this.settings.elements = !1;
2655
2751
  var o = [];
2656
- t && t.length && _(t, function(r, l) {
2657
- var h = new tt(r, i, l), b = h.getConfig(), u = S({}, b);
2752
+ t && t.length && _(t, function(d, l) {
2753
+ var h = new tt(d, i, l), b = h.getConfig(), u = S({}, b);
2658
2754
  u.slideConfig = b, u.instance = h, u.index = l, o.push(u);
2659
2755
  }), this.elements = o, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (_(this.elements, function() {
2660
- var r = ne(i.settings.slideHTML);
2661
- i.slidesContainer.appendChild(r);
2756
+ var d = ne(i.settings.slideHTML);
2757
+ i.slidesContainer.appendChild(d);
2662
2758
  }), this.showSlide(0, !0)));
2663
2759
  } }, { key: "getElementIndex", value: function(t) {
2664
2760
  var i = !1;
2665
- return _(this.elements, function(o, r) {
2666
- if (W(o, "node") && o.node == t) return i = r, !0;
2761
+ return _(this.elements, function(o, d) {
2762
+ if (Y(o, "node") && o.node == t) return i = d, !0;
2667
2763
  }), i;
2668
2764
  } }, { key: "getElements", value: function() {
2669
2765
  var t = this, i = [];
2670
- this.elements = this.elements ? this.elements : [], !oe(this.settings.elements) && Ie(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(r, l) {
2671
- var h = new tt(r, t, l), b = h.getConfig(), u = S({}, b);
2766
+ this.elements = this.elements ? this.elements : [], !re(this.settings.elements) && qe(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2767
+ var h = new tt(d, t, l), b = h.getConfig(), u = S({}, b);
2672
2768
  u.node = !1, u.index = l, u.instance = h, u.slideConfig = b, i.push(u);
2673
2769
  });
2674
2770
  var o = !1;
2675
- return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(r, l) {
2676
- var h = new tt(r, t, l), b = h.getConfig(), u = S({}, b);
2677
- u.node = r, u.index = l, u.instance = h, u.slideConfig = b, u.gallery = r.getAttribute("data-gallery"), i.push(u);
2771
+ return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(d, l) {
2772
+ var h = new tt(d, t, l), b = h.getConfig(), u = S({}, b);
2773
+ u.node = d, u.index = l, u.instance = h, u.slideConfig = b, u.gallery = d.getAttribute("data-gallery"), i.push(u);
2678
2774
  }), i;
2679
2775
  } }, { key: "getGalleryElements", value: function(t, i) {
2680
2776
  return t.filter(function(o) {
@@ -2700,46 +2796,46 @@ var na = { exports: {} };
2700
2796
  _(i, function(m) {
2701
2797
  m.parentNode == document.body && m.nodeName.charAt(0) !== "#" && m.hasAttribute && !m.hasAttribute("aria-hidden") && (o.push(m), m.setAttribute("aria-hidden", "true"));
2702
2798
  });
2703
- var r = W(this.settings.svg, "next") ? this.settings.svg.next : "", l = W(this.settings.svg, "prev") ? this.settings.svg.prev : "", h = W(this.settings.svg, "close") ? this.settings.svg.close : "", b = this.settings.lightboxHTML;
2704
- b = ne(b = (b = (b = b.replace(/{nextSVG}/g, r)).replace(/{prevSVG}/g, l)).replace(/{closeSVG}/g, h)), document.body.appendChild(b);
2799
+ var d = Y(this.settings.svg, "next") ? this.settings.svg.next : "", l = Y(this.settings.svg, "prev") ? this.settings.svg.prev : "", h = Y(this.settings.svg, "close") ? this.settings.svg.close : "", b = this.settings.lightboxHTML;
2800
+ b = ne(b = (b = (b = b.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, l)).replace(/{closeSVG}/g, h)), document.body.appendChild(b);
2705
2801
  var u = document.getElementById("glightbox-body");
2706
2802
  this.modal = u;
2707
2803
  var y = u.querySelector(".gclose");
2708
- this.prevButton = u.querySelector(".gprev"), this.nextButton = u.querySelector(".gnext"), this.overlay = u.querySelector(".goverlay"), this.loader = u.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = o, this.events = {}, T(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && y && (this.events.close = F("click", { onElement: y, withCallback: function(m, w) {
2804
+ this.prevButton = u.querySelector(".gprev"), this.nextButton = u.querySelector(".gnext"), this.overlay = u.querySelector(".goverlay"), this.loader = u.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = o, this.events = {}, T(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && y && (this.events.close = F("click", { onElement: y, withCallback: function(m, x) {
2709
2805
  m.preventDefault(), t.close();
2710
- } })), y && !this.settings.closeButton && y.parentNode.removeChild(y), this.nextButton && (this.events.next = F("click", { onElement: this.nextButton, withCallback: function(m, w) {
2806
+ } })), y && !this.settings.closeButton && y.parentNode.removeChild(y), this.nextButton && (this.events.next = F("click", { onElement: this.nextButton, withCallback: function(m, x) {
2711
2807
  m.preventDefault(), t.nextSlide();
2712
- } })), this.prevButton && (this.events.prev = F("click", { onElement: this.prevButton, withCallback: function(m, w) {
2808
+ } })), this.prevButton && (this.events.prev = F("click", { onElement: this.prevButton, withCallback: function(m, x) {
2713
2809
  m.preventDefault(), t.prevSlide();
2714
- } })), this.settings.closeOnOutsideClick && (this.events.outClose = F("click", { onElement: u, withCallback: function(m, w) {
2810
+ } })), this.settings.closeOnOutsideClick && (this.events.outClose = F("click", { onElement: u, withCallback: function(m, x) {
2715
2811
  t.preventOutsideClick || Q(document.body, "glightbox-mobile") || $(m.target, ".ginner-container") || $(m.target, ".gbtn") || Q(m.target, "gnext") || Q(m.target, "gprev") || t.close();
2716
- } })), _(this.elements, function(m, w) {
2717
- t.slidesContainer.appendChild(m.instance.create()), m.slideNode = t.slidesContainer.querySelectorAll(".gslide")[w];
2812
+ } })), _(this.elements, function(m, x) {
2813
+ t.slidesContainer.appendChild(m.instance.create()), m.slideNode = t.slidesContainer.querySelectorAll(".gslide")[x];
2718
2814
  }), Ht && T(document.body, "glightbox-touch"), this.events.resize = F("resize", { onElement: window, withCallback: function() {
2719
2815
  t.resize();
2720
2816
  } }), this.built = !0;
2721
2817
  } }, { key: "resize", value: function() {
2722
2818
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
2723
2819
  if ((t = t || this.activeSlide) && !Q(t, "zoomed")) {
2724
- var i = se(), o = t.querySelector(".gvideo-wrapper"), r = t.querySelector(".gslide-image"), l = this.slideDescription, h = i.width, b = i.height;
2725
- if (h <= 768 ? T(document.body, "glightbox-mobile") : N(document.body, "glightbox-mobile"), o || r) {
2820
+ var i = se(), o = t.querySelector(".gvideo-wrapper"), d = t.querySelector(".gslide-image"), l = this.slideDescription, h = i.width, b = i.height;
2821
+ if (h <= 768 ? T(document.body, "glightbox-mobile") : N(document.body, "glightbox-mobile"), o || d) {
2726
2822
  var u = !1;
2727
- if (l && (Q(l, "description-bottom") || Q(l, "description-top")) && !Q(l, "gabsolute") && (u = !0), r) {
2728
- if (h <= 768) r.querySelector("img");
2823
+ if (l && (Q(l, "description-bottom") || Q(l, "description-top")) && !Q(l, "gabsolute") && (u = !0), d) {
2824
+ if (h <= 768) d.querySelector("img");
2729
2825
  else if (u) {
2730
- var y, m = l.offsetHeight, w = r.querySelector("img"), k = this.elements[this.index].node, M = (y = k.getAttribute("data-height")) !== null && y !== void 0 ? y : "100vh";
2731
- w.setAttribute("style", "max-height: calc(".concat(M, " - ").concat(m, "px)")), l.setAttribute("style", "max-width: ".concat(w.offsetWidth, "px;"));
2826
+ var y, m = l.offsetHeight, x = d.querySelector("img"), k = this.elements[this.index].node, M = (y = k.getAttribute("data-height")) !== null && y !== void 0 ? y : "100vh";
2827
+ x.setAttribute("style", "max-height: calc(".concat(M, " - ").concat(m, "px)")), l.setAttribute("style", "max-width: ".concat(x.offsetWidth, "px;"));
2732
2828
  }
2733
2829
  }
2734
2830
  if (o) {
2735
- var E = W(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
2831
+ var E = Y(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
2736
2832
  if (!E) {
2737
- var A = o.clientWidth, U = o.clientHeight, fe = A / U;
2738
- E = "".concat(A / fe, ":").concat(U / fe);
2833
+ var I = o.clientWidth, U = o.clientHeight, fe = I / U;
2834
+ E = "".concat(I / fe, ":").concat(U / fe);
2739
2835
  }
2740
- var re = E.split(":"), G = this.settings.videosWidth, Se = this.settings.videosWidth, ue = (Se = et(G) || G.indexOf("px") !== -1 ? parseInt(G) : G.indexOf("vw") !== -1 ? h * parseInt(G) / 100 : G.indexOf("vh") !== -1 ? b * parseInt(G) / 100 : G.indexOf("%") !== -1 ? h * parseInt(G) / 100 : parseInt(o.clientWidth)) / (parseInt(re[0]) / parseInt(re[1]));
2741
- if (ue = Math.floor(ue), u && (b -= l.offsetHeight), Se > h || ue > b || b < ue && h > Se) {
2742
- var je = o.offsetWidth, He = o.offsetHeight, Be = b / He, pe = { width: je * Be, height: He * Be };
2836
+ var de = E.split(":"), G = this.settings.videosWidth, _e = this.settings.videosWidth, ue = (_e = et(G) || G.indexOf("px") !== -1 ? parseInt(G) : G.indexOf("vw") !== -1 ? h * parseInt(G) / 100 : G.indexOf("vh") !== -1 ? b * parseInt(G) / 100 : G.indexOf("%") !== -1 ? h * parseInt(G) / 100 : parseInt(o.clientWidth)) / (parseInt(de[0]) / parseInt(de[1]));
2837
+ if (ue = Math.floor(ue), u && (b -= l.offsetHeight), _e > h || ue > b || b < ue && h > _e) {
2838
+ var Re = o.offsetWidth, Ve = o.offsetHeight, De = b / Ve, pe = { width: Re * De, height: Ve * De };
2743
2839
  o.parentNode.setAttribute("style", "max-width: ".concat(pe.width, "px")), u && l.setAttribute("style", "max-width: ".concat(pe.width, "px;"));
2744
2840
  } else o.parentNode.style.maxWidth = "".concat(G), u && l.setAttribute("style", "max-width: ".concat(G, ";"));
2745
2841
  }
@@ -2751,8 +2847,8 @@ var na = { exports: {} };
2751
2847
  var t = this.loop();
2752
2848
  N(this.nextButton, "disabled"), N(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || t ? this.index !== this.elements.length - 1 || t || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2753
2849
  } }, { key: "loop", value: function() {
2754
- var t = W(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2755
- return t = W(this.settings, "loop") ? this.settings.loop : t, t;
2850
+ var t = Y(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2851
+ return t = Y(this.settings, "loop") ? this.settings.loop : t, t;
2756
2852
  } }, { key: "close", value: function() {
2757
2853
  var t = this;
2758
2854
  if (!this.lightboxOpen) {
@@ -2770,8 +2866,8 @@ var na = { exports: {} };
2770
2866
  for (var o in t.events) t.events.hasOwnProperty(o) && t.events[o].destroy();
2771
2867
  t.events = null;
2772
2868
  }
2773
- var r = document.body;
2774
- N(Bt, "glightbox-open"), N(r, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), t.modal.parentNode.removeChild(t.modal), t.trigger("close"), P(t.settings.onClose) && t.settings.onClose();
2869
+ var d = document.body;
2870
+ N(Bt, "glightbox-open"), N(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), t.modal.parentNode.removeChild(t.modal), t.trigger("close"), P(t.settings.onClose) && t.settings.onClose();
2775
2871
  var l = document.querySelector(".gcss-styles");
2776
2872
  l && l.parentNode.removeChild(l), t.lightboxOpen = !1, t.closing = null;
2777
2873
  });
@@ -2784,11 +2880,11 @@ var na = { exports: {} };
2784
2880
  } }, { key: "once", value: function(t, i) {
2785
2881
  this.on(t, i, !0);
2786
2882
  } }, { key: "trigger", value: function(t) {
2787
- var i = this, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, r = [];
2883
+ var i = this, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, d = [];
2788
2884
  _(this.apiEvents, function(l, h) {
2789
2885
  var b = l.evt, u = l.once, y = l.callback;
2790
- b == t && (y(o), u && r.push(h));
2791
- }), r.length && _(r, function(l) {
2886
+ b == t && (y(o), u && d.push(h));
2887
+ }), d.length && _(d, function(l) {
2792
2888
  return i.apiEvents.splice(l, 1);
2793
2889
  });
2794
2890
  } }, { key: "clearAllEvents", value: function() {
@@ -2797,17 +2893,17 @@ var na = { exports: {} };
2797
2893
  return "3.3.0";
2798
2894
  } }]);
2799
2895
  return function() {
2800
- var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, i = new Aa(t);
2896
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, i = new Ia(t);
2801
2897
  return i.init(), i;
2802
2898
  };
2803
2899
  });
2804
- })(na);
2805
- var wc = na.exports;
2806
- const xc = /* @__PURE__ */ ta(wc);
2807
- var kc = Object.defineProperty, Cc = Object.getOwnPropertyDescriptor, Sc = (c, e, a, s) => {
2808
- for (var n = s > 1 ? void 0 : s ? Cc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
2809
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
2810
- return s && n && kc(e, a, n), n;
2900
+ })(sa);
2901
+ var xc = sa.exports;
2902
+ const kc = /* @__PURE__ */ aa(xc);
2903
+ var Cc = Object.defineProperty, Sc = Object.getOwnPropertyDescriptor, _c = (c, e, a, n) => {
2904
+ for (var s = n > 1 ? void 0 : n ? Sc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
2905
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
2906
+ return n && s && Cc(e, a, s), s;
2811
2907
  };
2812
2908
  let St = class extends ut {
2813
2909
  render() {
@@ -2852,15 +2948,15 @@ St.styles = X`
2852
2948
  }
2853
2949
  }
2854
2950
  `;
2855
- St = Sc([
2951
+ St = _c([
2856
2952
  J("cb-thinking")
2857
2953
  ], St);
2858
- var _c = Object.defineProperty, $c = Object.getOwnPropertyDescriptor, sa = (c, e, a, s) => {
2859
- for (var n = s > 1 ? void 0 : s ? $c(e, a) : e, d = c.length - 1, f; d >= 0; d--)
2860
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
2861
- return s && n && _c(e, a, n), n;
2954
+ var $c = Object.defineProperty, Mc = Object.getOwnPropertyDescriptor, oa = (c, e, a, n) => {
2955
+ for (var s = n > 1 ? void 0 : n ? Mc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
2956
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
2957
+ return n && s && $c(e, a, s), s;
2862
2958
  };
2863
- let rt = class extends ee {
2959
+ let rt = class extends ae {
2864
2960
  constructor() {
2865
2961
  super(...arguments), this.files = [];
2866
2962
  }
@@ -2894,13 +2990,13 @@ rt.styles = X`
2894
2990
  margin-right: 5px;
2895
2991
  }
2896
2992
  `;
2897
- sa([
2993
+ oa([
2898
2994
  v({ type: Array })
2899
2995
  ], rt.prototype, "files", 2);
2900
- rt = sa([
2996
+ rt = oa([
2901
2997
  J("cb-uploading")
2902
2998
  ], rt);
2903
- const Mc = X`
2999
+ const Tc = X`
2904
3000
  ${me}
2905
3001
  :host {
2906
3002
  }
@@ -2921,10 +3017,10 @@ const Mc = X`
2921
3017
  margin-right: 0.2em;
2922
3018
  }
2923
3019
  `;
2924
- var Tc = Object.defineProperty, Ec = Object.getOwnPropertyDescriptor, Et = (c, e, a, s) => {
2925
- for (var n = s > 1 ? void 0 : s ? Ec(e, a) : e, d = c.length - 1, f; d >= 0; d--)
2926
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
2927
- return s && n && Tc(e, a, n), n;
3020
+ var Ec = Object.defineProperty, Ac = Object.getOwnPropertyDescriptor, Et = (c, e, a, n) => {
3021
+ for (var s = n > 1 ? void 0 : n ? Ac(e, a) : e, r = c.length - 1, f; r >= 0; r--)
3022
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
3023
+ return n && s && Ec(e, a, s), s;
2928
3024
  };
2929
3025
  let Ze = class extends ut {
2930
3026
  constructor() {
@@ -2980,22 +3076,22 @@ Et([
2980
3076
  Ze = Et([
2981
3077
  J("cb-external-link")
2982
3078
  ], Ze);
2983
- const 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-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>', 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.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m1.217-1.333v3.999h1.46q.602 0 .998-.237a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.589-.68q-.396-.234-1.005-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082h-.563zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638z"/></svg>', Lc = '<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.459q.609 0 1.005.234t.589.68q.195.445.196 1.075q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562q.279 0 .484-.082a.8.8 0 0 0 .334-.252a1.1 1.1 0 0 0 .196-.422q.067-.252.067-.592a2.1 2.1 0 0 0-.117-.753a.9.9 0 0 0-.354-.454q-.238-.152-.61-.152"/></svg>', qc = '<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.823q.195.162.478.252q.284.091.665.091q.507 0 .859-.158q.354-.158.539-.44q.187-.284.187-.656q0-.336-.134-.56a1 1 0 0 0-.375-.357a2 2 0 0 0-.566-.21l-.621-.144a1 1 0 0 1-.404-.176a.37.37 0 0 1-.144-.299q0-.234.185-.384q.188-.152.512-.152q.214 0 .37.068a.6.6 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566a1.2 1.2 0 0 0-.5-.41a1.8 1.8 0 0 0-.78-.152q-.439 0-.776.15q-.337.149-.527.421q-.19.273-.19.639q0 .302.122.524q.124.223.352.367q.228.143.539.213l.618.144q.31.073.463.193a.39.39 0 0 1 .152.326a.5.5 0 0 1-.085.29a.56.56 0 0 1-.255.193q-.167.07-.413.07q-.175 0-.32-.04a.8.8 0 0 1-.248-.115a.58.58 0 0 1-.255-.384zM.806 13.693q0-.373.102-.633a.87.87 0 0 1 .302-.399a.8.8 0 0 1 .475-.137q.225 0 .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.4 1.4 0 0 0-.489-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.572.632q-.195.41-.196.979v.498q0 .568.193.976q.197.407.572.626q.375.217.914.217q.439 0 .785-.164t.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.8.8 0 0 1-.118.363a.7.7 0 0 1-.272.25a.9.9 0 0 1-.401.087a.85.85 0 0 1-.478-.132a.83.83 0 0 1-.299-.392a1.7 1.7 0 0 1-.102-.627zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879z"/></svg>', Oc = '<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.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m2.817-1.333h-1.6v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474q.162-.302.161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H4.15V12.48h.66q.327 0 .512.181q.185.183.185.522m2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662z"/></svg>', Pc = '<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.522q0 .384-.117.641a.86.86 0 0 1-.322.387a.9.9 0 0 1-.469.126a.9.9 0 0 1-.471-.126a.87.87 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522q0-.386.117-.641a.87.87 0 0 1 .32-.387a.87.87 0 0 1 .471-.129q.264 0 .469.13a.86.86 0 0 1 .322.386q.117.255.117.641m.803.519v-.513q0-.565-.205-.972a1.46 1.46 0 0 0-.589-.63q-.381-.22-.917-.22q-.533 0-.92.22a1.44 1.44 0 0 0-.589.627q-.204.406-.205.975v.513q0 .563.205.973q.205.406.59.627q.386.216.92.216q.535 0 .916-.216q.383-.22.59-.627q.204-.41.204-.973M0 11.926v4h1.459q.603 0 .999-.238a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.59-.68q-.395-.234-1.004-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082H.79V12.57Zm7.422.483a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.393a.85.85 0 0 0 .478.131a.9.9 0 0 0 .401-.088a.7.7 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.27 1.27 0 0 1-.226.674q-.205.29-.55.454a1.8 1.8 0 0 1-.786.164q-.54 0-.914-.216a1.4 1.4 0 0 1-.571-.627q-.194-.408-.194-.976v-.498q0-.568.197-.978q.195-.411.571-.633q.378-.223.911-.223q.328 0 .607.097q.28.093.489.272a1.33 1.33 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.8.8 0 0 0-.398-.097a.8.8 0 0 0-.475.138a.87.87 0 0 0-.301.398"/></svg>', zc = '<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.5 1.5 0 0 0-.117-.641a.86.86 0 0 0-.322-.387a.86.86 0 0 0-.469-.129a.87.87 0 0 0-.471.13a.87.87 0 0 0-.32.386a1.5 1.5 0 0 0-.117.641v.522q0 .384.117.641a.87.87 0 0 0 .32.387a.9.9 0 0 0 .471.126a.9.9 0 0 0 .469-.126a.86.86 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642m.803-.516v.513q0 .563-.205.973a1.47 1.47 0 0 1-.589.627q-.381.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.46 1.46 0 0 1-.589-.627a2.15 2.15 0 0 1-.205-.973v-.513q0-.569.205-.975q.205-.411.59-.627q.386-.22.92-.22q.535 0 .916.22q.383.219.59.63q.204.406.204.972M1 15.925v-3.999h1.459q.609 0 1.005.235q.396.233.589.68q.196.445.196 1.074q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-.999.237zm1.354-3.354H1.79v2.707h.563q.277 0 .483-.082a.8.8 0 0 0 .334-.252q.132-.17.196-.422a2.3 2.3 0 0 0 .068-.592q0-.45-.118-.753a.9.9 0 0 0-.354-.454q-.237-.152-.61-.152Zm6.756 1.116q0-.373.103-.633a.87.87 0 0 1 .301-.398a.8.8 0 0 1 .475-.138q.225 0 .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.4 1.4 0 0 0-.49-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.571.633q-.197.41-.197.978v.498q0 .568.194.976q.195.406.571.627q.375.216.914.216q.44 0 .785-.164t.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.7.7 0 0 1-.273.248a.9.9 0 0 1-.401.088a.85.85 0 0 1-.478-.131a.83.83 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627zm5.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.035z"/></svg>';
2984
- var jc = Object.defineProperty, Hc = Object.getOwnPropertyDescriptor, At = (c, e, a, s) => {
2985
- for (var n = s > 1 ? void 0 : s ? Hc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
2986
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
2987
- return s && n && jc(e, a, n), n;
3079
+ const 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-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>', Lc = '<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.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m1.217-1.333v3.999h1.46q.602 0 .998-.237a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.589-.68q-.396-.234-1.005-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082h-.563zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638z"/></svg>', qc = '<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.459q.609 0 1.005.234t.589.68q.195.445.196 1.075q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562q.279 0 .484-.082a.8.8 0 0 0 .334-.252a1.1 1.1 0 0 0 .196-.422q.067-.252.067-.592a2.1 2.1 0 0 0-.117-.753a.9.9 0 0 0-.354-.454q-.238-.152-.61-.152"/></svg>', Oc = '<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.823q.195.162.478.252q.284.091.665.091q.507 0 .859-.158q.354-.158.539-.44q.187-.284.187-.656q0-.336-.134-.56a1 1 0 0 0-.375-.357a2 2 0 0 0-.566-.21l-.621-.144a1 1 0 0 1-.404-.176a.37.37 0 0 1-.144-.299q0-.234.185-.384q.188-.152.512-.152q.214 0 .37.068a.6.6 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566a1.2 1.2 0 0 0-.5-.41a1.8 1.8 0 0 0-.78-.152q-.439 0-.776.15q-.337.149-.527.421q-.19.273-.19.639q0 .302.122.524q.124.223.352.367q.228.143.539.213l.618.144q.31.073.463.193a.39.39 0 0 1 .152.326a.5.5 0 0 1-.085.29a.56.56 0 0 1-.255.193q-.167.07-.413.07q-.175 0-.32-.04a.8.8 0 0 1-.248-.115a.58.58 0 0 1-.255-.384zM.806 13.693q0-.373.102-.633a.87.87 0 0 1 .302-.399a.8.8 0 0 1 .475-.137q.225 0 .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.4 1.4 0 0 0-.489-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.572.632q-.195.41-.196.979v.498q0 .568.193.976q.197.407.572.626q.375.217.914.217q.439 0 .785-.164t.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.8.8 0 0 1-.118.363a.7.7 0 0 1-.272.25a.9.9 0 0 1-.401.087a.85.85 0 0 1-.478-.132a.83.83 0 0 1-.299-.392a1.7 1.7 0 0 1-.102-.627zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879z"/></svg>', Pc = '<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.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m2.817-1.333h-1.6v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474q.162-.302.161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H4.15V12.48h.66q.327 0 .512.181q.185.183.185.522m2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662z"/></svg>', zc = '<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.522q0 .384-.117.641a.86.86 0 0 1-.322.387a.9.9 0 0 1-.469.126a.9.9 0 0 1-.471-.126a.87.87 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522q0-.386.117-.641a.87.87 0 0 1 .32-.387a.87.87 0 0 1 .471-.129q.264 0 .469.13a.86.86 0 0 1 .322.386q.117.255.117.641m.803.519v-.513q0-.565-.205-.972a1.46 1.46 0 0 0-.589-.63q-.381-.22-.917-.22q-.533 0-.92.22a1.44 1.44 0 0 0-.589.627q-.204.406-.205.975v.513q0 .563.205.973q.205.406.59.627q.386.216.92.216q.535 0 .916-.216q.383-.22.59-.627q.204-.41.204-.973M0 11.926v4h1.459q.603 0 .999-.238a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.59-.68q-.395-.234-1.004-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082H.79V12.57Zm7.422.483a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.393a.85.85 0 0 0 .478.131a.9.9 0 0 0 .401-.088a.7.7 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.27 1.27 0 0 1-.226.674q-.205.29-.55.454a1.8 1.8 0 0 1-.786.164q-.54 0-.914-.216a1.4 1.4 0 0 1-.571-.627q-.194-.408-.194-.976v-.498q0-.568.197-.978q.195-.411.571-.633q.378-.223.911-.223q.328 0 .607.097q.28.093.489.272a1.33 1.33 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.8.8 0 0 0-.398-.097a.8.8 0 0 0-.475.138a.87.87 0 0 0-.301.398"/></svg>', jc = '<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.5 1.5 0 0 0-.117-.641a.86.86 0 0 0-.322-.387a.86.86 0 0 0-.469-.129a.87.87 0 0 0-.471.13a.87.87 0 0 0-.32.386a1.5 1.5 0 0 0-.117.641v.522q0 .384.117.641a.87.87 0 0 0 .32.387a.9.9 0 0 0 .471.126a.9.9 0 0 0 .469-.126a.86.86 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642m.803-.516v.513q0 .563-.205.973a1.47 1.47 0 0 1-.589.627q-.381.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.46 1.46 0 0 1-.589-.627a2.15 2.15 0 0 1-.205-.973v-.513q0-.569.205-.975q.205-.411.59-.627q.386-.22.92-.22q.535 0 .916.22q.383.219.59.63q.204.406.204.972M1 15.925v-3.999h1.459q.609 0 1.005.235q.396.233.589.68q.196.445.196 1.074q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-.999.237zm1.354-3.354H1.79v2.707h.563q.277 0 .483-.082a.8.8 0 0 0 .334-.252q.132-.17.196-.422a2.3 2.3 0 0 0 .068-.592q0-.45-.118-.753a.9.9 0 0 0-.354-.454q-.237-.152-.61-.152Zm6.756 1.116q0-.373.103-.633a.87.87 0 0 1 .301-.398a.8.8 0 0 1 .475-.138q.225 0 .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.4 1.4 0 0 0-.49-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.571.633q-.197.41-.197.978v.498q0 .568.194.976q.195.406.571.627q.375.216.914.216q.44 0 .785-.164t.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.7.7 0 0 1-.273.248a.9.9 0 0 1-.401.088a.85.85 0 0 1-.478-.131a.83.83 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627zm5.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.035z"/></svg>';
3080
+ var Hc = Object.defineProperty, Bc = Object.getOwnPropertyDescriptor, At = (c, e, a, n) => {
3081
+ for (var s = n > 1 ? void 0 : n ? Bc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
3082
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
3083
+ return n && s && Hc(e, a, s), s;
2988
3084
  };
2989
3085
  const Nt = {
2990
- pdf: Ic,
2991
- txt: Ac,
2992
- md: Lc,
2993
- csv: qc,
2994
- ppd: Oc,
2995
- doc: Pc,
2996
- docx: zc
3086
+ pdf: Lc,
3087
+ txt: Ic,
3088
+ md: qc,
3089
+ csv: Oc,
3090
+ ppd: Pc,
3091
+ doc: zc,
3092
+ docx: jc
2997
3093
  };
2998
- let Je = class extends ee {
3094
+ let Je = class extends ae {
2999
3095
  constructor() {
3000
3096
  super(...arguments), this.filename = "", this.url = "";
3001
3097
  }
@@ -3025,7 +3121,7 @@ let Je = class extends ee {
3025
3121
  `;
3026
3122
  }
3027
3123
  };
3028
- Je.styles = Mc;
3124
+ Je.styles = Tc;
3029
3125
  At([
3030
3126
  v({ type: String })
3031
3127
  ], Je.prototype, "filename", 2);
@@ -3035,7 +3131,7 @@ At([
3035
3131
  Je = At([
3036
3132
  J("cb-file")
3037
3133
  ], Je);
3038
- const Bc = '<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>', Rc = '<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 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', oa = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z"/></svg>', ra = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31l.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z"/></svg>', Vc = X`
3134
+ const Rc = '<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>', Ut = '<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 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', ra = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z"/></svg>', da = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31l.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z"/></svg>', Vc = X`
3039
3135
  pre code.hljs {
3040
3136
  display: block;
3041
3137
  overflow-x: auto;
@@ -4359,6 +4455,28 @@ const Bc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
4359
4455
  color: var(--enegelai-bot-message-user-a-color, rgb(85, 26, 139));
4360
4456
  }
4361
4457
 
4458
+ .user-message-uploads {
4459
+ width: 100%;
4460
+ display: flex;
4461
+ justify-content: center;
4462
+ margin-top: 4px;
4463
+ }
4464
+
4465
+ .user-message-uploads img {
4466
+ max-width: 75%;
4467
+ border-radius: 6px;
4468
+ cursor: pointer;
4469
+ transform: scale(0.9);
4470
+ transition: all 0.3s ease-in-out;
4471
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
4472
+ padding: 4px;
4473
+ }
4474
+
4475
+ .user-message-uploads img:hover {
4476
+ transform: scale(1);
4477
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
4478
+ }
4479
+
4362
4480
  .assistant-message {
4363
4481
  margin-left: 4px;
4364
4482
  width: 85%;
@@ -4375,6 +4493,11 @@ const Bc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
4375
4493
  color: var(--enegelai-bot-message-bot-a-color, rgb(85, 26, 139));
4376
4494
  }
4377
4495
 
4496
+ .assistant-message-user-name {
4497
+ color: var(--enegelai-bot-message-user-name-color, rgb(0, 0, 0, 1));
4498
+ font-size: 12px;
4499
+ }
4500
+
4378
4501
  .system-message {
4379
4502
  margin-right: auto;
4380
4503
  //margin-left: -12px;
@@ -4456,36 +4579,36 @@ const Bc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
4456
4579
  filter: alpha(opacity=80);
4457
4580
  }
4458
4581
  `;
4459
- function Ut(c, e) {
4582
+ function Wt(c, e) {
4460
4583
  return `<pre class="code-block-wrapper"><div class="code-block-header"><span class="code-block-header__lang">${e}</span><span class="code-block-header__copy">Copy</span></div><code class="hljs code-block-body ${e}">${c}</code></pre>`;
4461
4584
  }
4462
4585
  function Fc() {
4463
- const c = new Ba({
4586
+ const c = new Ra({
4464
4587
  html: !0,
4465
4588
  breaks: !0,
4466
4589
  linkify: !0,
4467
4590
  highlight(e, a) {
4468
4591
  if (!!(a && vt.getLanguage(a))) {
4469
- const n = a ?? "";
4470
- return Ut(vt.highlight(e, { language: n }).value, n);
4592
+ const s = a ?? "";
4593
+ return Wt(vt.highlight(e, { language: s }).value, s);
4471
4594
  }
4472
- return Ut(vt.highlightAuto(e).value, "");
4595
+ return Wt(vt.highlightAuto(e).value, "");
4473
4596
  }
4474
4597
  });
4475
- return c.use(Ra, { attrs: { target: "_blank", rel: "noopener" } }), c;
4598
+ return c.use(Va, { attrs: { target: "_blank", rel: "noopener" } }), c;
4476
4599
  }
4477
- async function Wt(c) {
4600
+ async function Yt(c) {
4478
4601
  const a = Fc().render(c);
4479
- return g`${Y(a)}`;
4602
+ return g`${W(a)}`;
4480
4603
  }
4481
- var Nc = Object.defineProperty, Uc = Object.getOwnPropertyDescriptor, Fe = (c, e, a, s) => {
4482
- for (var n = s > 1 ? void 0 : s ? Uc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
4483
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
4484
- return s && n && Nc(e, a, n), n;
4604
+ var Nc = Object.defineProperty, Uc = Object.getOwnPropertyDescriptor, Ne = (c, e, a, n) => {
4605
+ for (var s = n > 1 ? void 0 : n ? Uc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
4606
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
4607
+ return n && s && Nc(e, a, s), s;
4485
4608
  };
4486
- let $e = class extends ee {
4609
+ let Te = class extends ae {
4487
4610
  constructor() {
4488
- super(...arguments), this.store = new pt(this, p), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = xc({
4611
+ super(...arguments), this.store = new pt(this, p), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = kc({
4489
4612
  touchNavigation: !0,
4490
4613
  loop: !0,
4491
4614
  autoplayVideos: !0,
@@ -4530,8 +4653,8 @@ let $e = class extends ee {
4530
4653
  }
4531
4654
  const c = [];
4532
4655
  this.glightboxImages.forEach((e, a) => {
4533
- e.addEventListener("click", (s) => {
4534
- console.log(`Image clicked >>> ${a}`), s.preventDefault(), this.lightbox.openAt(a);
4656
+ e.addEventListener("click", (n) => {
4657
+ console.log(`Image clicked >>> ${a}`), n.preventDefault(), this.lightbox.openAt(a);
4535
4658
  }), "src" in e && c.push({
4536
4659
  href: e.src,
4537
4660
  type: "image"
@@ -4549,9 +4672,9 @@ let $e = class extends ee {
4549
4672
  _addCopyEvents() {
4550
4673
  this.copyBtns.forEach((c) => {
4551
4674
  c.addEventListener("click", () => {
4552
- var a, s;
4553
- const e = (s = (a = c.parentElement) == null ? void 0 : a.nextElementSibling) == null ? void 0 : s.textContent;
4554
- e && Ka(e).then(() => {
4675
+ var a, n;
4676
+ const e = (n = (a = c.parentElement) == null ? void 0 : a.nextElementSibling) == null ? void 0 : n.textContent;
4677
+ e && Qa(e).then(() => {
4555
4678
  c.textContent = "Success", setTimeout(() => {
4556
4679
  c.textContent = "Copy";
4557
4680
  }, 500);
@@ -4566,12 +4689,12 @@ let $e = class extends ee {
4566
4689
  });
4567
4690
  }
4568
4691
  render() {
4569
- return ce(
4692
+ return ee(
4570
4693
  this.message.data || this.message.isThinking,
4571
4694
  () => g`
4572
4695
  <div class="cb-message-row" part="bot-message">
4573
4696
  <!-- message -->
4574
- ${ce(
4697
+ ${ee(
4575
4698
  this._isBot,
4576
4699
  () => this.renderBotMessage(this.message),
4577
4700
  () => this.renderUserMessage(this.message)
@@ -4585,7 +4708,7 @@ let $e = class extends ee {
4585
4708
  return g`<div class="cb-message__buttons ${c}">
4586
4709
  <!-- delete button -->
4587
4710
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
4588
- <cb-icon svg="${Bc}" style="font-size: 1em !important;"></cb-icon>
4711
+ <cb-icon svg="${Rc}" style="font-size: 1em !important;"></cb-icon>
4589
4712
  </sl-button>
4590
4713
  </div>`;
4591
4714
  }
@@ -4604,36 +4727,50 @@ let $e = class extends ee {
4604
4727
  `;
4605
4728
  }
4606
4729
  async _getMessageText(c) {
4607
- return this._isBot ? Wt(c.data.text) : c.data.text;
4730
+ return this._isBot ? Yt(c.data.text) : c.data.text;
4608
4731
  }
4609
4732
  renderMessageContent(c) {
4610
4733
  var e;
4611
4734
  return c.isThinking ? g`<cb-thinking></cb-thinking>` : c.isUploading ? g`<cb-uploading .files="${c.data.files || []}"></cb-uploading>` : c.type === "text" ? g`<div class="cb-message-text">
4612
- ${ce(
4735
+ ${ee(
4613
4736
  c.data.userName,
4614
- () => g`<div style="font-size: 12px; color:#9ca3af">${c.data.userName}</div>`,
4737
+ () => g`<div class="assistant-message-user-name">${c.data.userName}</div>`,
4615
4738
  () => null
4616
4739
  )}
4617
4740
  ${Dt(
4618
4741
  this._getMessageText(c).then((a) => g`${a}`)
4619
4742
  )}
4620
- </div>` : c.type === "file" ? g`${Ye(
4743
+ </div>` : c.type === "file" ? g`${ze(
4621
4744
  c.data.files || [],
4622
4745
  (a) => a.id,
4623
4746
  (a) => g`<cb-file filename="${a.name}" url="${a.url}"></cb-file>`
4747
+ )}` : c.type === "upload" ? g`${ze(
4748
+ c.data.uploadedFiles || [],
4749
+ (a) => a.name,
4750
+ (a) => g`<div>${a.name}</div>`
4624
4751
  )}` : g`<div class="cb-message-text">
4625
4752
  ${Dt(
4626
- Wt(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => g`${a}`)
4753
+ Yt(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => g`${a}`)
4627
4754
  )}
4628
4755
  </div>`;
4629
4756
  }
4757
+ renderMessageUploads(c) {
4758
+ if (c.type === "upload")
4759
+ return g`<div class="user-message-uploads">
4760
+ ${ze(
4761
+ c.data.uploadedFiles || [],
4762
+ (e) => e.name,
4763
+ (e) => ((e == null ? void 0 : e.type) || "").startsWith("image/") ? g`<img src="data:${e.type};base64,${e.base64}" alt="${e.name}" />` : null
4764
+ )}
4765
+ </div>`;
4766
+ }
4630
4767
  renderBotMessageAvatar(c) {
4631
4768
  var e;
4632
4769
  if (c.data.userName && c.data.userName !== "") {
4633
4770
  const a = ((e = c.data) == null ? void 0 : e.userAvatar) || "";
4634
- return a !== "" ? g` <img src="${a}" style="width: 24px;height: 24px;" /> ` : be`${Y(p.setting.agentIconSvg)}`;
4771
+ return a !== "" ? g` <img src="${a}" style="width: 24px;height: 24px;" /> ` : be`${W(p.setting.agentIconSvg)}`;
4635
4772
  }
4636
- return c.author === "system" ? be`${Y(p.setting.systemIconSvg)}` : be`${Y(p.setting.botIconSvg)}`;
4773
+ return c.author === "system" ? be`${W(p.setting.systemIconSvg)}` : be`${W(p.setting.botIconSvg)}`;
4637
4774
  }
4638
4775
  renderBotMessage(c) {
4639
4776
  return g`
@@ -4647,8 +4784,8 @@ let $e = class extends ee {
4647
4784
  renderBotMessageFeedback(c) {
4648
4785
  return this.suppressFeedback || !p.setting.feedbackEnabled ? null : g`
4649
4786
  <div class="cb-message-feedback-tools">
4650
- <div class="cb-message-feedback-icon cb-feedback-up" @click="${() => this.startFeedback(!0, c)}">${be`${Y(oa)}`}</div>
4651
- <div class="cb-message-feedback-icon cb-feedback-down" @click="${() => this.startFeedback(!1, c)}">${be`${Y(ra)}`}</div>
4787
+ <div class="cb-message-feedback-icon cb-feedback-up" @click="${() => this.startFeedback(!0, c)}">${be`${W(ra)}`}</div>
4788
+ <div class="cb-message-feedback-icon cb-feedback-down" @click="${() => this.startFeedback(!1, c)}">${be`${W(da)}`}</div>
4652
4789
  </div>
4653
4790
  `;
4654
4791
  }
@@ -4659,51 +4796,74 @@ let $e = class extends ee {
4659
4796
  return g`
4660
4797
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
4661
4798
  <!--<sl-avatar class="avatar user-avatar small" label="User">
4662
- <cb-icon slot="icon" svg="${Rc}" color="white"></cb-icon>
4799
+ <cb-icon slot="icon" svg="${Ut}" color="white"></cb-icon>
4663
4800
  //appState.appearanceUserMessageAvatarPosition
4664
4801
  </sl-avatar>-->
4665
- ${ce(
4802
+ ${ee(
4666
4803
  p.appearanceUserMessageAvatarPosition === "left",
4667
4804
  () => g`
4668
- <div class="avatar user-avatar">${Y(p.setting.userIconSvg)}</div>
4805
+ <div class="avatar user-avatar">${W(p.setting.userIconSvg)}</div>
4669
4806
  ${this.renderMessage(c, "user-message-content")}
4670
4807
  `,
4671
4808
  () => g`
4672
4809
  ${this.renderMessage(c, "user-message-content")}
4673
- <div class="avatar user-avatar">${Y(p.setting.userIconSvg)}</div>
4810
+ <div class="avatar user-avatar">${W(p.setting.userIconSvg)}</div>
4811
+ `
4812
+ )}
4813
+ </div>
4814
+ ${this.renderMessageUploads(c)}
4815
+ `;
4816
+ }
4817
+ // todo ???
4818
+ renderUserMessageUpload(c) {
4819
+ return g`
4820
+ <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
4821
+ <!--<sl-avatar class="avatar user-avatar small" label="User">
4822
+ <cb-icon slot="icon" svg="${Ut}" color="white"></cb-icon>
4823
+ //appState.appearanceUserMessageAvatarPosition
4824
+ </sl-avatar>-->
4825
+ ${ee(
4826
+ p.appearanceUserMessageAvatarPosition === "left",
4827
+ () => g`
4828
+ <div class="avatar user-avatar">${W(p.setting.userIconSvg)}</div>
4829
+ ${this.renderMessage(c, "user-message-content")}
4830
+ `,
4831
+ () => g`
4832
+ ${this.renderMessage(c, "user-message-content")}
4833
+ <div class="avatar user-avatar">${W(p.setting.userIconSvg)}</div>
4674
4834
  `
4675
4835
  )}
4676
4836
  </div>
4677
4837
  `;
4678
4838
  }
4679
4839
  };
4680
- $e.styles = Dc;
4681
- Fe([
4840
+ Te.styles = Dc;
4841
+ Ne([
4682
4842
  v({ type: Object })
4683
- ], $e.prototype, "message", 2);
4684
- Fe([
4843
+ ], Te.prototype, "message", 2);
4844
+ Ne([
4685
4845
  v({ type: String })
4686
- ], $e.prototype, "type", 2);
4687
- Fe([
4846
+ ], Te.prototype, "type", 2);
4847
+ Ne([
4688
4848
  v({ type: Boolean })
4689
- ], $e.prototype, "suppressFeedback", 2);
4690
- Fe([
4691
- Kt(".code-block-header__copy")
4692
- ], $e.prototype, "copyBtns", 2);
4693
- Fe([
4694
- Kt("img")
4695
- ], $e.prototype, "glightboxImages", 2);
4696
- $e = Fe([
4849
+ ], Te.prototype, "suppressFeedback", 2);
4850
+ Ne([
4851
+ Qt(".code-block-header__copy")
4852
+ ], Te.prototype, "copyBtns", 2);
4853
+ Ne([
4854
+ Qt("img")
4855
+ ], Te.prototype, "glightboxImages", 2);
4856
+ Te = Ne([
4697
4857
  J("cb-message")
4698
- ], $e);
4699
- var Wc = Object.defineProperty, Yc = Object.getOwnPropertyDescriptor, ye = (c, e, a, s) => {
4700
- for (var n = s > 1 ? void 0 : s ? Yc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
4701
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
4702
- return s && n && Wc(e, a, n), n;
4858
+ ], Te);
4859
+ var Wc = Object.defineProperty, Yc = Object.getOwnPropertyDescriptor, ye = (c, e, a, n) => {
4860
+ for (var s = n > 1 ? void 0 : n ? Yc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
4861
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
4862
+ return n && s && Wc(e, a, s), s;
4703
4863
  };
4704
4864
  const we = Ke.noConflict();
4705
4865
  we.setLevel("info");
4706
- let le = class extends ee {
4866
+ let le = class extends ae {
4707
4867
  constructor() {
4708
4868
  super(...arguments), this.messages = [], this.actions = [], this.form = null, this.suppressFeedback = !1, this.calendlyInjected = !1, this.activeCalendlyAction = -1, this.hubspotMeetingInjected = !1, this.activeHubspotMeetingAction = -1;
4709
4869
  }
@@ -4717,7 +4877,7 @@ let le = class extends ee {
4717
4877
  render() {
4718
4878
  return g`
4719
4879
  <div class="cb-message-list" part="bot-message-list">
4720
- ${Ye(
4880
+ ${ze(
4721
4881
  this.messages,
4722
4882
  (c) => c.id + JSON.stringify(c.data),
4723
4883
  (c) => g`<cb-message .message="${c}" exportparts="bot-message, cb-message, bot-message-content, user-message-content" ?suppressFeedback=${this.suppressFeedback}></cb-message>`
@@ -4730,7 +4890,7 @@ let le = class extends ee {
4730
4890
  renderForm() {
4731
4891
  return this.form ? g` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4732
4892
  <div class="cb-input-form-title" part="form-title">${this.form.title}</div>
4733
- ${Ye(
4893
+ ${ze(
4734
4894
  this.form.fields,
4735
4895
  (c, e) => e,
4736
4896
  (c) => {
@@ -4769,21 +4929,21 @@ let le = class extends ee {
4769
4929
  ?required="${e}"
4770
4930
  ></sl-input>`;
4771
4931
  case "select": {
4772
- const s = Array.isArray(c.options) ? c.options : c.options.split(",").map((n) => n.trim());
4773
- return a || s[0], g`<div class="cb-form-field">
4932
+ const n = Array.isArray(c.options) ? c.options : c.options.split(",").map((s) => s.trim());
4933
+ return a || n[0], g`<div class="cb-form-field">
4774
4934
  <label class="cb-form-field-label"
4775
4935
  >${c.title}
4776
- ${ce(
4936
+ ${ee(
4777
4937
  e,
4778
4938
  () => g`*`,
4779
4939
  () => g``
4780
4940
  )}
4781
4941
  </label>
4782
4942
  <select id="${"cb-form-field" + c.name}" class="cb-form-field-select" part="form-input" name="${c.name}">
4783
- ${Ye(
4784
- s,
4785
- (n, d) => d,
4786
- (n) => g`<option value="${n}">${n}</option>`
4943
+ ${ze(
4944
+ n,
4945
+ (s, r) => r,
4946
+ (s) => g`<option value="${s}">${s}</option>`
4787
4947
  )}
4788
4948
  </select>
4789
4949
  </div>`;
@@ -4799,12 +4959,12 @@ let le = class extends ee {
4799
4959
  const e = {};
4800
4960
  if (Array.isArray(this.form.fields))
4801
4961
  for (let a = 0; a < this.form.fields.length; a++) {
4802
- const s = this.form.fields[a], n = "#cb-form-field" + s.name, d = this._inputForm.querySelector(n);
4803
- if (d)
4804
- if ("validity" in d && d.validity.valid)
4805
- console.log(`Got Field: ${s.name} value: ${d.value}`, d.validity), e[s.name] = d.value;
4962
+ const n = this.form.fields[a], s = "#cb-form-field" + n.name, r = this._inputForm.querySelector(s);
4963
+ if (r)
4964
+ if ("validity" in r && r.validity.valid)
4965
+ console.log(`Got Field: ${n.name} value: ${r.value}`, r.validity), e[n.name] = r.value;
4806
4966
  else {
4807
- console.error(`Field is invalid: ${s.name} value: ${d.value}`, d.validity);
4967
+ console.error(`Field is invalid: ${n.name} value: ${r.value}`, r.validity);
4808
4968
  return;
4809
4969
  }
4810
4970
  }
@@ -4832,7 +4992,7 @@ let le = class extends ee {
4832
4992
  renderActions() {
4833
4993
  return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : g`
4834
4994
  <div class="cb-actions-list">
4835
- ${Ye(
4995
+ ${ze(
4836
4996
  this.actions,
4837
4997
  (c) => c,
4838
4998
  (c) => this.renderAction(c)
@@ -4874,9 +5034,9 @@ let le = class extends ee {
4874
5034
  e.href = "https://assets.calendly.com/assets/external/widget.css", e.rel = "stylesheet", document.body.appendChild(e);
4875
5035
  let a = document.createElement("script");
4876
5036
  a.type = "text/javascript", a.src = "https://assets.calendly.com/assets/external/widget.js", document.body.appendChild(a);
4877
- let s = document.createElement("style");
4878
- s.type = "text/css", s.textContent = ".calendly-overlay { z-index:10100; }", document.body.appendChild(s), console.log("Injected Calendly"), window.addEventListener("message", (n) => {
4879
- n.origin === "https://calendly.com" && n.data.event && n.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(n);
5037
+ let n = document.createElement("style");
5038
+ n.type = "text/css", n.textContent = ".calendly-overlay { z-index:10100; }", document.body.appendChild(n), console.log("Injected Calendly"), window.addEventListener("message", (s) => {
5039
+ s.origin === "https://calendly.com" && s.data.event && s.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(s);
4880
5040
  }), this.calendlyInjected = !0;
4881
5041
  }
4882
5042
  return g`
@@ -4910,17 +5070,17 @@ let le = class extends ee {
4910
5070
  `;
4911
5071
  }
4912
5072
  invokeHubspotMeetingAction(c = {}) {
4913
- var a, s;
5073
+ var a, n;
4914
5074
  const e = Date.now();
4915
5075
  if (this.activeHubspotMeetingAction !== -1) {
4916
5076
  we.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
4917
5077
  return;
4918
5078
  }
4919
- if (we.info("invokeHubspotMeetingAction:", c), "hbspt" in window && typeof ((s = (a = window.hbspt) == null ? void 0 : a.meetings) == null ? void 0 : s.create) == "function") {
4920
- const n = document.getElementById("enegelai-bot-hubspot-meeting-container"), d = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
4921
- if (n && d) {
5079
+ if (we.info("invokeHubspotMeetingAction:", c), "hbspt" in window && typeof ((n = (a = window.hbspt) == null ? void 0 : a.meetings) == null ? void 0 : n.create) == "function") {
5080
+ const s = document.getElementById("enegelai-bot-hubspot-meeting-container"), r = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
5081
+ if (s && r) {
4922
5082
  const f = c.url + "?embed=true";
4923
- d.setAttribute("data-src", f), this.activeHubspotMeetingAction = c.internalId, n.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), p.updateAction(c, {
5083
+ r.setAttribute("data-src", f), this.activeHubspotMeetingAction = c.internalId, s.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), p.updateAction(c, {
4924
5084
  triggered: e
4925
5085
  });
4926
5086
  }
@@ -4928,14 +5088,14 @@ let le = class extends ee {
4928
5088
  return !1;
4929
5089
  }
4930
5090
  handleHubspotEvent(c) {
4931
- var s;
4932
- if (we.info("Got Hubspot Event:", c.data), !(((s = c == null ? void 0 : c.data) == null ? void 0 : s.meetingBookSucceeded) || !1))
5091
+ var n;
5092
+ if (we.info("Got Hubspot Event:", c.data), !(((n = c == null ? void 0 : c.data) == null ? void 0 : n.meetingBookSucceeded) || !1))
4933
5093
  return;
4934
5094
  const a = this.activeHubspotMeetingAction;
4935
5095
  if (a >= 0) {
4936
5096
  p.removeAction(a, !0, c.data), p.addSystemMessage("Your meeting has been scheduled!"), this.activeHubspotMeetingAction = -1;
4937
- const n = document.getElementById("enegelai-bot-hubspot-meeting-container");
4938
- n && (n.style.display = "none");
5097
+ const s = document.getElementById("enegelai-bot-hubspot-meeting-container");
5098
+ s && (s.style.display = "none");
4939
5099
  }
4940
5100
  }
4941
5101
  handleHubspotMeetingCancel() {
@@ -4954,11 +5114,11 @@ let le = class extends ee {
4954
5114
  </div>
4955
5115
  <div class="enegelai-bot-hubspot-meeting-widget"></div>
4956
5116
  </div>
4957
- `, document.body.appendChild(a), console.log("Injected Hubspot"), window.addEventListener("message", (n) => {
4958
- n.origin.indexOf("hubspot") !== -1 && this.handleHubspotEvent(n);
5117
+ `, document.body.appendChild(a), console.log("Injected Hubspot"), window.addEventListener("message", (s) => {
5118
+ s.origin.indexOf("hubspot") !== -1 && this.handleHubspotEvent(s);
4959
5119
  });
4960
- const s = document.getElementById("enegelai-bot-hubspot-meeting-cancel");
4961
- s && s.addEventListener("click", (n) => {
5120
+ const n = document.getElementById("enegelai-bot-hubspot-meeting-cancel");
5121
+ n && n.addEventListener("click", (s) => {
4962
5122
  this.handleHubspotMeetingCancel();
4963
5123
  }), this.hubspotMeetingInjected = !0;
4964
5124
  }
@@ -4981,7 +5141,7 @@ let le = class extends ee {
4981
5141
  `;
4982
5142
  }
4983
5143
  };
4984
- le.styles = vc;
5144
+ le.styles = wc;
4985
5145
  ye([
4986
5146
  v({ type: Array })
4987
5147
  ], le.prototype, "messages", 2);
@@ -4995,10 +5155,10 @@ ye([
4995
5155
  v({ type: Boolean })
4996
5156
  ], le.prototype, "suppressFeedback", 2);
4997
5157
  ye([
4998
- xe("#cb-message-list-bottom-anchor")
5158
+ ke("#cb-message-list-bottom-anchor")
4999
5159
  ], le.prototype, "_messageListBottomAnchor", 2);
5000
5160
  ye([
5001
- xe(".cb-input-form")
5161
+ ke(".cb-input-form")
5002
5162
  ], le.prototype, "_inputForm", 2);
5003
5163
  ye([
5004
5164
  Mt({ capture: !1, passive: !0 })
@@ -5027,7 +5187,7 @@ const Xc = X`
5027
5187
  display: flex;
5028
5188
  flex-direction: row;
5029
5189
  justify-content: space-between;
5030
- align-items: center;
5190
+ align-items: start;
5031
5191
  }
5032
5192
 
5033
5193
  .cb-user-input {
@@ -5040,7 +5200,6 @@ const Xc = X`
5040
5200
 
5041
5201
  .paperclip-button {
5042
5202
  font-size: 1.5em;
5043
- position: relative;
5044
5203
  }
5045
5204
 
5046
5205
  .file-input {
@@ -5051,15 +5210,17 @@ const Xc = X`
5051
5210
  }
5052
5211
 
5053
5212
  .cb-input-buttons {
5054
- padding: 0 5px;
5213
+ display: flex;
5214
+ align-items: center;
5215
+ margin: 6px 2px;
5055
5216
  }
5056
5217
  `, Gc = '<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.76z"/></svg>', Zc = '<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>';
5057
- var Jc = Object.defineProperty, Kc = Object.getOwnPropertyDescriptor, ke = (c, e, a, s) => {
5058
- for (var n = s > 1 ? void 0 : s ? Kc(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5059
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5060
- return s && n && Jc(e, a, n), n;
5218
+ var Jc = Object.defineProperty, Kc = Object.getOwnPropertyDescriptor, Ce = (c, e, a, n) => {
5219
+ for (var s = n > 1 ? void 0 : n ? Kc(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5220
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5221
+ return n && s && Jc(e, a, s), s;
5061
5222
  };
5062
- let he = class extends ee {
5223
+ let he = class extends ae {
5063
5224
  constructor() {
5064
5225
  super(...arguments), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
5065
5226
  }
@@ -5067,8 +5228,8 @@ let he = class extends ee {
5067
5228
  super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
5068
5229
  }
5069
5230
  async _inputSetValueHandler(c) {
5070
- var s, n;
5071
- const e = c, a = typeof ((s = e == null ? void 0 : e.detail) == null ? void 0 : s.inputValue) == "string" && ((n = e == null ? void 0 : e.detail) == null ? void 0 : n.inputValue) || "";
5231
+ var n, s;
5232
+ const e = c, a = typeof ((n = e == null ? void 0 : e.detail) == null ? void 0 : n.inputValue) == "string" && ((s = e == null ? void 0 : e.detail) == null ? void 0 : s.inputValue) || "";
5072
5233
  this.value = a;
5073
5234
  }
5074
5235
  async _formSubmitHandler(c) {
@@ -5095,7 +5256,7 @@ let he = class extends ee {
5095
5256
  });
5096
5257
  }
5097
5258
  async _sendFileHandler() {
5098
- const c = await Qa();
5259
+ const c = await ec(!1);
5099
5260
  this.emit("message:send:file", {
5100
5261
  detail: {
5101
5262
  files: c
@@ -5104,7 +5265,7 @@ let he = class extends ee {
5104
5265
  }
5105
5266
  render() {
5106
5267
  return g`
5107
- ${ce(
5268
+ ${ee(
5108
5269
  this.loading,
5109
5270
  () => g`<sl-progress-bar style="--height: 2px;" indeterminate></sl-progress-bar>`,
5110
5271
  () => g``
@@ -5127,10 +5288,13 @@ let he = class extends ee {
5127
5288
  ></sl-textarea>
5128
5289
 
5129
5290
  <span class="cb-input-buttons">
5130
- ${ce(
5291
+ <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>
5292
+ <cb-icon svg="${Gc}"></cb-icon>
5293
+ </sl-button>
5294
+ ${ee(
5131
5295
  this.enableFileUpload,
5132
5296
  () => g`
5133
- <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
5297
+ <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
5134
5298
  <cb-icon svg="${Zc}"></cb-icon>
5135
5299
  <!-- select file input -->
5136
5300
  <input type="file" id="file" name="file" class="file-input" />
@@ -5138,9 +5302,6 @@ let he = class extends ee {
5138
5302
  `,
5139
5303
  () => g``
5140
5304
  )}
5141
- <sl-button @click=${this._sendHandler} name="send" label="Send" size="medium" class="send-button" variant="text" ?disabled=${this.value.length === 0} ?loading=${this.loading} circle>
5142
- <cb-icon svg="${Gc}"></cb-icon>
5143
- </sl-button>
5144
5305
  </span>
5145
5306
  </div>
5146
5307
  `;
@@ -5150,34 +5311,34 @@ let he = class extends ee {
5150
5311
  }
5151
5312
  };
5152
5313
  he.styles = Xc;
5153
- ke([
5314
+ Ce([
5154
5315
  v({ type: String, attribute: "placeholder" })
5155
5316
  ], he.prototype, "placeholder", 2);
5156
- ke([
5317
+ Ce([
5157
5318
  v({ type: String, attribute: "send-button-label" })
5158
5319
  ], he.prototype, "sendButtonLabel", 2);
5159
- ke([
5320
+ Ce([
5160
5321
  v({ type: Boolean, attribute: "enable-file-upload" })
5161
5322
  ], he.prototype, "enableFileUpload", 2);
5162
- ke([
5323
+ Ce([
5163
5324
  v({ type: String })
5164
5325
  ], he.prototype, "value", 2);
5165
- ke([
5326
+ Ce([
5166
5327
  v({ type: Boolean })
5167
5328
  ], he.prototype, "loading", 2);
5168
- ke([
5329
+ Ce([
5169
5330
  v({ type: Boolean })
5170
5331
  ], he.prototype, "disabled", 2);
5171
- ke([
5332
+ Ce([
5172
5333
  v({ type: String })
5173
5334
  ], he.prototype, "currentKey", 2);
5174
- ke([
5175
- xe("sl-textarea")
5335
+ Ce([
5336
+ ke("sl-textarea")
5176
5337
  ], he.prototype, "inputElement", 2);
5177
- he = ke([
5338
+ he = Ce([
5178
5339
  J("cb-user-input")
5179
5340
  ], he);
5180
- const da = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', Qc = X`
5341
+ const fa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', Qc = X`
5181
5342
  ${me}
5182
5343
 
5183
5344
  sl-dialog::part(base) {
@@ -5212,12 +5373,12 @@ const da = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
5212
5373
  gap: 8px;
5213
5374
  }
5214
5375
  `;
5215
- var ei = Object.defineProperty, ti = Object.getOwnPropertyDescriptor, gt = (c, e, a, s) => {
5216
- for (var n = s > 1 ? void 0 : s ? ti(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5217
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5218
- return s && n && ei(e, a, n), n;
5376
+ var ei = Object.defineProperty, ti = Object.getOwnPropertyDescriptor, gt = (c, e, a, n) => {
5377
+ for (var s = n > 1 ? void 0 : n ? ti(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5378
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5379
+ return n && s && ei(e, a, s), s;
5219
5380
  };
5220
- let De = class extends ee {
5381
+ let Fe = class extends ae {
5221
5382
  constructor() {
5222
5383
  super(...arguments), this.open = !1, this.label = "Dialog", this.zindex = 100;
5223
5384
  }
@@ -5248,7 +5409,7 @@ let De = class extends ee {
5248
5409
  <cb-icon
5249
5410
  color="default"
5250
5411
  style="font-size: 1em;"
5251
- svg="${da}"
5412
+ svg="${fa}"
5252
5413
  ></cb-icon>
5253
5414
  </sl-button>
5254
5415
  </header>
@@ -5261,25 +5422,25 @@ let De = class extends ee {
5261
5422
  </sl-dialog>`;
5262
5423
  }
5263
5424
  };
5264
- De.styles = Qc;
5425
+ Fe.styles = Qc;
5265
5426
  gt([
5266
5427
  v({ type: Boolean })
5267
- ], De.prototype, "open", 2);
5428
+ ], Fe.prototype, "open", 2);
5268
5429
  gt([
5269
5430
  v({ type: String, attribute: "label" })
5270
- ], De.prototype, "label", 2);
5431
+ ], Fe.prototype, "label", 2);
5271
5432
  gt([
5272
5433
  v({ type: Number })
5273
- ], De.prototype, "zindex", 2);
5274
- De = gt([
5434
+ ], Fe.prototype, "zindex", 2);
5435
+ Fe = gt([
5275
5436
  J("cb-dialog")
5276
- ], De);
5277
- var ai = Object.defineProperty, ci = Object.getOwnPropertyDescriptor, fa = (c, e, a, s) => {
5278
- for (var n = s > 1 ? void 0 : s ? ci(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5279
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5280
- return s && n && ai(e, a, n), n;
5437
+ ], Fe);
5438
+ var ai = Object.defineProperty, ci = Object.getOwnPropertyDescriptor, la = (c, e, a, n) => {
5439
+ for (var s = n > 1 ? void 0 : n ? ci(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5440
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5441
+ return n && s && ai(e, a, s), s;
5281
5442
  };
5282
- let dt = class extends ee {
5443
+ let dt = class extends ae {
5283
5444
  constructor() {
5284
5445
  super(...arguments), this.open = !1;
5285
5446
  }
@@ -5321,10 +5482,10 @@ dt.styles = X`
5321
5482
  z-index: 1000;
5322
5483
  }
5323
5484
  `;
5324
- fa([
5485
+ la([
5325
5486
  v({ type: Boolean })
5326
5487
  ], dt.prototype, "open", 2);
5327
- dt = fa([
5488
+ dt = la([
5328
5489
  J("cb-clear-message-dialog")
5329
5490
  ], dt);
5330
5491
  const ii = X`
@@ -5387,12 +5548,12 @@ const ii = X`
5387
5548
  grid-column-start: 2;
5388
5549
  }
5389
5550
  `;
5390
- var ni = Object.defineProperty, si = Object.getOwnPropertyDescriptor, Ne = (c, e, a, s) => {
5391
- for (var n = s > 1 ? void 0 : s ? si(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5392
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5393
- return s && n && ni(e, a, n), n;
5551
+ var ni = Object.defineProperty, si = Object.getOwnPropertyDescriptor, Ue = (c, e, a, n) => {
5552
+ for (var s = n > 1 ? void 0 : n ? si(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5553
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5554
+ return n && s && ni(e, a, s), s;
5394
5555
  };
5395
- let Me = class extends ee {
5556
+ let Ee = class extends ae {
5396
5557
  constructor() {
5397
5558
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
5398
5559
  }
@@ -5425,7 +5586,7 @@ let Me = class extends ee {
5425
5586
  Enable it for your own backend.
5426
5587
  </sl-switch>
5427
5588
  </div> -->
5428
- ${ce(
5589
+ ${ee(
5429
5590
  this.customRequest,
5430
5591
  () => null,
5431
5592
  () => this.renderInternalServices()
@@ -5485,13 +5646,13 @@ let Me = class extends ee {
5485
5646
  }
5486
5647
  // input change handler
5487
5648
  _inputChangeHandler(c) {
5488
- const { name: e, value: a } = c.target, [s, n] = e.split(".");
5489
- n ? this.setting[s][n] = a : this.setting[s] = a;
5649
+ const { name: e, value: a } = c.target, [n, s] = e.split(".");
5650
+ s ? this.setting[n][s] = a : this.setting[n] = a;
5490
5651
  }
5491
5652
  // checked change handler
5492
5653
  _checkChangeHandler(c) {
5493
- const { name: e, checked: a } = c.target, [s, n] = e.split(".");
5494
- n ? this.setting[s][n] = a : this.setting[s] = a, s === "customRequest" && (this.customRequest = a);
5654
+ const { name: e, checked: a } = c.target, [n, s] = e.split(".");
5655
+ s ? this.setting[n][s] = a : this.setting[n] = a, n === "customRequest" && (this.customRequest = a);
5495
5656
  }
5496
5657
  // emit setting confirm event
5497
5658
  _settingConfirmHandler() {
@@ -5512,25 +5673,25 @@ let Me = class extends ee {
5512
5673
  });
5513
5674
  }
5514
5675
  };
5515
- Me.styles = ii;
5516
- Ne([
5676
+ Ee.styles = ii;
5677
+ Ue([
5517
5678
  v({ type: Boolean })
5518
- ], Me.prototype, "open", 2);
5519
- Ne([
5679
+ ], Ee.prototype, "open", 2);
5680
+ Ue([
5520
5681
  v({ type: Object })
5521
- ], Me.prototype, "setting", 2);
5522
- Ne([
5682
+ ], Ee.prototype, "setting", 2);
5683
+ Ue([
5523
5684
  v({ type: Boolean })
5524
- ], Me.prototype, "clearMessageDialogOpen", 2);
5525
- Ne([
5526
- xe("sl-dialog")
5527
- ], Me.prototype, "dialog", 2);
5528
- Ne([
5685
+ ], Ee.prototype, "clearMessageDialogOpen", 2);
5686
+ Ue([
5687
+ ke("sl-dialog")
5688
+ ], Ee.prototype, "dialog", 2);
5689
+ Ue([
5529
5690
  v({ type: Boolean })
5530
- ], Me.prototype, "customRequest", 2);
5531
- Me = Ne([
5691
+ ], Ee.prototype, "customRequest", 2);
5692
+ Ee = Ue([
5532
5693
  J("cb-setting")
5533
- ], Me);
5694
+ ], Ee);
5534
5695
  const oi = X`
5535
5696
  ${me}
5536
5697
  :host {
@@ -5645,12 +5806,12 @@ const oi = X`
5645
5806
  margin: 4px 4px 0px 0px;
5646
5807
  }
5647
5808
  `;
5648
- var ri = Object.defineProperty, di = Object.getOwnPropertyDescriptor, la = (c, e, a, s) => {
5649
- for (var n = s > 1 ? void 0 : s ? di(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5650
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5651
- return s && n && ri(e, a, n), n;
5809
+ var ri = Object.defineProperty, di = Object.getOwnPropertyDescriptor, ba = (c, e, a, n) => {
5810
+ for (var s = n > 1 ? void 0 : n ? di(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5811
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5812
+ return n && s && ri(e, a, s), s;
5652
5813
  };
5653
- let ft = class extends ee {
5814
+ let ft = class extends ae {
5654
5815
  constructor() {
5655
5816
  super(...arguments), this.store = new pt(this, p), this.open = !1;
5656
5817
  }
@@ -5686,24 +5847,24 @@ let ft = class extends ee {
5686
5847
  <div class="cb-anchor ${this.open ? "open" : ""}" part="anchor" @click=${this._clickHandler.bind(this)}>
5687
5848
  <sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${p.engage && !p.open}">
5688
5849
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
5689
- ${ce(
5850
+ ${ee(
5690
5851
  this.open,
5691
- () => g`<div class="cb-anchor-icon" part="anchor-icon">${be`${Y(p.setting.anchorCloseSvg)}`}</div>`,
5692
- () => g`<div class="cb-anchor-icon" part="anchor-icon">${be`${Y(p.setting.anchorOpenSvg)}`}</div>`
5852
+ () => g`<div class="cb-anchor-icon" part="anchor-icon">${be`${W(p.setting.anchorCloseSvg)}`}</div>`,
5853
+ () => g`<div class="cb-anchor-icon" part="anchor-icon">${be`${W(p.setting.anchorOpenSvg)}`}</div>`
5693
5854
  )}
5694
- ${ce(
5855
+ ${ee(
5695
5856
  !this.open && p.unreadMessages > 0,
5696
5857
  () => g`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${p.unreadMessages}</sl-badge>`,
5697
5858
  () => null
5698
5859
  )}
5699
5860
  </sl-button>
5700
5861
  <div class="cb-engage-popup">
5701
- <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${be`${Y(da)}`}</div>
5862
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${be`${W(fa)}`}</div>
5702
5863
  <div class="cb-engage-popup-content">
5703
- ${ce(
5864
+ ${ee(
5704
5865
  p.setting.logoUrl !== "",
5705
5866
  () => g`<img class="cb-engage-popup-img" src="${p.setting.logoUrl}" />`,
5706
- () => g`<div class="cb-engage-popup-logo">${be`${Y(p.setting.logoSvg)}`}</div>`
5867
+ () => g`<div class="cb-engage-popup-logo">${be`${W(p.setting.logoSvg)}`}</div>`
5707
5868
  )}
5708
5869
  <!--<cb-icon class="cb-engage-popup-logo" svg="${p.setting.logoSvg}"></cb-icon>-->
5709
5870
  <div>${p.setting.engageMessage}</div>
@@ -5715,28 +5876,28 @@ let ft = class extends ee {
5715
5876
  }
5716
5877
  };
5717
5878
  ft.styles = oi;
5718
- la([
5879
+ ba([
5719
5880
  v({ type: Boolean })
5720
5881
  ], ft.prototype, "open", 2);
5721
- ft = la([
5882
+ ft = ba([
5722
5883
  J("cb-anchor")
5723
5884
  ], ft);
5724
5885
  const fi = X`
5725
5886
  ${me}
5726
- `, Yt = '<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-.353zM5.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 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', li = '<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.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.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.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', bi = '<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 0z"/></g></svg>', hi = '<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>';
5727
- var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, ba = (c, e, a, s) => {
5728
- for (var n = s > 1 ? void 0 : s ? pi(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5729
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5730
- return s && n && ui(e, a, n), n;
5887
+ `, Xt = '<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-.353zM5.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 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', li = '<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.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.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.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', bi = '<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 0z"/></g></svg>', hi = '<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>';
5888
+ var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, ha = (c, e, a, n) => {
5889
+ for (var s = n > 1 ? void 0 : n ? pi(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5890
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5891
+ return n && s && ui(e, a, s), s;
5731
5892
  };
5732
- const Xt = {
5893
+ const Gt = {
5733
5894
  error: {
5734
5895
  variant: "danger",
5735
- icon: Yt
5896
+ icon: Xt
5736
5897
  },
5737
5898
  danger: {
5738
5899
  variant: "danger",
5739
- icon: Yt
5900
+ icon: Xt
5740
5901
  },
5741
5902
  warning: {
5742
5903
  variant: "warning",
@@ -5751,28 +5912,28 @@ const Xt = {
5751
5912
  icon: hi
5752
5913
  }
5753
5914
  };
5754
- let lt = class extends ee {
5915
+ let lt = class extends ae {
5755
5916
  constructor() {
5756
5917
  super(...arguments), this.status = "info";
5757
5918
  }
5758
5919
  render() {
5759
- const { variant: c, icon: e } = Xt[this.status] || Xt.info;
5920
+ const { variant: c, icon: e } = Gt[this.status] || Gt.info;
5760
5921
  return g`<cb-icon svg=${e} color="${c}"></cb-icon>`;
5761
5922
  }
5762
5923
  };
5763
- lt.styles = ca;
5764
- ba([
5924
+ lt.styles = ia;
5925
+ ha([
5765
5926
  v({ type: String })
5766
5927
  ], lt.prototype, "status", 2);
5767
- lt = ba([
5928
+ lt = ha([
5768
5929
  J("cb-status-icon")
5769
5930
  ], lt);
5770
- var gi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, yi = (c, e, a, s) => {
5771
- for (var n = s > 1 ? void 0 : s ? mi(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5772
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5773
- return s && n && gi(e, a, n), n;
5931
+ var gi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, yi = (c, e, a, n) => {
5932
+ for (var s = n > 1 ? void 0 : n ? mi(e, a) : e, r = c.length - 1, f; r >= 0; r--)
5933
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
5934
+ return n && s && gi(e, a, s), s;
5774
5935
  };
5775
- let _t = class extends ee {
5936
+ let _t = class extends ae {
5776
5937
  render() {
5777
5938
  return g` <sl-alert variant="danger" open>
5778
5939
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
@@ -5866,25 +6027,25 @@ const vi = X`
5866
6027
  filter: alpha(opacity=80);
5867
6028
  }
5868
6029
  `;
5869
- var wi = Object.defineProperty, xi = Object.getOwnPropertyDescriptor, Ue = (c, e, a, s) => {
5870
- for (var n = s > 1 ? void 0 : s ? xi(e, a) : e, d = c.length - 1, f; d >= 0; d--)
5871
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
5872
- return s && n && wi(e, a, n), n;
6030
+ var wi = Object.defineProperty, xi = Object.getOwnPropertyDescriptor, We = (c, e, a, n) => {
6031
+ for (var s = n > 1 ? void 0 : n ? xi(e, a) : e, r = c.length - 1, f; r >= 0; r--)
6032
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
6033
+ return n && s && wi(e, a, s), s;
5873
6034
  };
5874
- const Gt = Ke.noConflict(), ki = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/></svg>';
5875
- let Te = class extends ee {
6035
+ const Zt = Ke.noConflict(), ki = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/></svg>';
6036
+ let Ae = class extends ae {
5876
6037
  constructor() {
5877
6038
  super(...arguments), this.store = new pt(this, p), this.zindex = 100;
5878
6039
  }
5879
6040
  connectedCallback() {
5880
- super.connectedCallback(), Gt.info("connectedCallback");
6041
+ super.connectedCallback(), Zt.info("connectedCallback");
5881
6042
  }
5882
6043
  firstUpdated() {
5883
6044
  this._rating.getSymbol = () => ki;
5884
6045
  }
5885
6046
  _stateEventHandler(c) {
5886
6047
  const e = c.detail, a = (e == null ? void 0 : e.type) || null;
5887
- Gt.info(`FEEDBACK: stateEvent: ${a}`, e);
6048
+ Zt.info(`FEEDBACK: stateEvent: ${a}`, e);
5888
6049
  }
5889
6050
  _cancelHandler() {
5890
6051
  p.feedback && (console.log("Feedback dialog cancelled"), p.feedback = !1);
@@ -5905,7 +6066,7 @@ let Te = class extends ee {
5905
6066
  p.feedbackScore = 0;
5906
6067
  }}"
5907
6068
  >
5908
- ${be`${Y(ra)}`}
6069
+ ${be`${W(da)}`}
5909
6070
  </div>
5910
6071
  <sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${p.feedbackScore}></sl-rating>
5911
6072
  <div
@@ -5914,7 +6075,7 @@ let Te = class extends ee {
5914
6075
  p.feedbackScore = 5;
5915
6076
  }}"
5916
6077
  >
5917
- ${be`${Y(oa)}`}
6078
+ ${be`${W(ra)}`}
5918
6079
  </div>
5919
6080
  </div>
5920
6081
  <div style="display: flex">
@@ -5931,41 +6092,41 @@ let Te = class extends ee {
5931
6092
  p.feedbackScore = this._rating.value;
5932
6093
  }
5933
6094
  async _submitHandler() {
5934
- var s, n, d;
5935
- const c = ((s = this._name) == null ? void 0 : s.value) || "", e = ((n = this._email) == null ? void 0 : n.value) || "", a = ((d = this._comments) == null ? void 0 : d.value) || "";
6095
+ var n, s, r;
6096
+ const c = ((n = this._name) == null ? void 0 : n.value) || "", e = ((s = this._email) == null ? void 0 : s.value) || "", a = ((r = this._comments) == null ? void 0 : r.value) || "";
5936
6097
  this._comments.value = "", await p.submitFeedback(c, e, a);
5937
6098
  }
5938
6099
  };
5939
- Te.styles = vi;
5940
- Ue([
6100
+ Ae.styles = vi;
6101
+ We([
5941
6102
  v({ type: Number })
5942
- ], Te.prototype, "zindex", 2);
5943
- Ue([
5944
- xe("#cb-feedback-rating-el")
5945
- ], Te.prototype, "_rating", 2);
5946
- Ue([
5947
- xe("#cb-feedback-comments-el")
5948
- ], Te.prototype, "_comments", 2);
5949
- Ue([
5950
- xe("#cb-feedback-name-el")
5951
- ], Te.prototype, "_name", 2);
5952
- Ue([
5953
- xe("#cb-feedback-email-el")
5954
- ], Te.prototype, "_email", 2);
5955
- Te = Ue([
6103
+ ], Ae.prototype, "zindex", 2);
6104
+ We([
6105
+ ke("#cb-feedback-rating-el")
6106
+ ], Ae.prototype, "_rating", 2);
6107
+ We([
6108
+ ke("#cb-feedback-comments-el")
6109
+ ], Ae.prototype, "_comments", 2);
6110
+ We([
6111
+ ke("#cb-feedback-name-el")
6112
+ ], Ae.prototype, "_name", 2);
6113
+ We([
6114
+ ke("#cb-feedback-email-el")
6115
+ ], Ae.prototype, "_email", 2);
6116
+ Ae = We([
5956
6117
  J("cb-dialog-feedback")
5957
- ], Te);
5958
- class Zt extends Error {
5959
- constructor(a, s, n) {
5960
- const d = a.status || a.status === 0 ? a.status : "", f = a.statusText || "", x = `${d} ${f}`.trim(), S = x ? `status code ${x}` : "an unknown error";
5961
- super(`Request failed with ${S}: ${s.method} ${s.url}`);
6118
+ ], Ae);
6119
+ class Jt extends Error {
6120
+ constructor(a, n, s) {
6121
+ const r = a.status || a.status === 0 ? a.status : "", f = a.statusText || "", w = `${r} ${f}`.trim(), S = w ? `status code ${w}` : "an unknown error";
6122
+ super(`Request failed with ${S}: ${n.method} ${n.url}`);
5962
6123
  ge(this, "response");
5963
6124
  ge(this, "request");
5964
6125
  ge(this, "options");
5965
- this.name = "HTTPError", this.response = a, this.request = s, this.options = n;
6126
+ this.name = "HTTPError", this.response = a, this.request = n, this.options = s;
5966
6127
  }
5967
6128
  }
5968
- class ha extends Error {
6129
+ class ua extends Error {
5969
6130
  constructor(a) {
5970
6131
  super(`Request timed out: ${a.method} ${a.url}`);
5971
6132
  ge(this, "request");
@@ -5977,35 +6138,35 @@ const Xe = (c) => c !== null && typeof c == "object", nt = (...c) => {
5977
6138
  if ((!Xe(e) || Array.isArray(e)) && e !== void 0)
5978
6139
  throw new TypeError("The `options` argument must be an object");
5979
6140
  return It({}, ...c);
5980
- }, ua = (c = {}, e = {}) => {
5981
- const a = new globalThis.Headers(c), s = e instanceof globalThis.Headers, n = new globalThis.Headers(e);
5982
- for (const [d, f] of n.entries())
5983
- s && f === "undefined" || f === void 0 ? a.delete(d) : a.set(d, f);
6141
+ }, pa = (c = {}, e = {}) => {
6142
+ const a = new globalThis.Headers(c), n = e instanceof globalThis.Headers, s = new globalThis.Headers(e);
6143
+ for (const [r, f] of s.entries())
6144
+ n && f === "undefined" || f === void 0 ? a.delete(r) : a.set(r, f);
5984
6145
  return a;
5985
6146
  };
5986
6147
  function st(c, e, a) {
5987
6148
  return Object.hasOwn(e, a) && e[a] === void 0 ? [] : It(c[a] ?? [], e[a] ?? []);
5988
6149
  }
5989
- const pa = (c = {}, e = {}) => ({
6150
+ const ga = (c = {}, e = {}) => ({
5990
6151
  beforeRequest: st(c, e, "beforeRequest"),
5991
6152
  beforeRetry: st(c, e, "beforeRetry"),
5992
6153
  afterResponse: st(c, e, "afterResponse"),
5993
6154
  beforeError: st(c, e, "beforeError")
5994
6155
  }), It = (...c) => {
5995
- let e = {}, a = {}, s = {};
5996
- for (const n of c)
5997
- if (Array.isArray(n))
5998
- Array.isArray(e) || (e = []), e = [...e, ...n];
5999
- else if (Xe(n)) {
6000
- for (let [d, f] of Object.entries(n))
6001
- Xe(f) && d in e && (f = It(e[d], f)), e = { ...e, [d]: f };
6002
- Xe(n.hooks) && (s = pa(s, n.hooks), e.hooks = s), Xe(n.headers) && (a = ua(a, n.headers), e.headers = a);
6156
+ let e = {}, a = {}, n = {};
6157
+ for (const s of c)
6158
+ if (Array.isArray(s))
6159
+ Array.isArray(e) || (e = []), e = [...e, ...s];
6160
+ else if (Xe(s)) {
6161
+ for (let [r, f] of Object.entries(s))
6162
+ Xe(f) && r in e && (f = It(e[r], f)), e = { ...e, [r]: f };
6163
+ Xe(s.hooks) && (n = ga(n, s.hooks), e.hooks = n), Xe(s.headers) && (a = pa(a, s.headers), e.headers = a);
6003
6164
  }
6004
6165
  return e;
6005
6166
  }, Ci = (() => {
6006
6167
  let c = !1, e = !1;
6007
- const a = typeof globalThis.ReadableStream == "function", s = typeof globalThis.Request == "function";
6008
- if (a && s)
6168
+ const a = typeof globalThis.ReadableStream == "function", n = typeof globalThis.Request == "function";
6169
+ if (a && n)
6009
6170
  try {
6010
6171
  e = new globalThis.Request("https://empty.invalid", {
6011
6172
  body: new globalThis.ReadableStream(),
@@ -6015,19 +6176,19 @@ const pa = (c = {}, e = {}) => ({
6015
6176
  return c = !0, "half";
6016
6177
  }
6017
6178
  }).headers.has("Content-Type");
6018
- } catch (n) {
6019
- if (n instanceof Error && n.message === "unsupported BodyInit type")
6179
+ } catch (s) {
6180
+ if (s instanceof Error && s.message === "unsupported BodyInit type")
6020
6181
  return !1;
6021
- throw n;
6182
+ throw s;
6022
6183
  }
6023
6184
  return c && !e;
6024
- })(), Si = typeof globalThis.AbortController == "function", _i = typeof globalThis.ReadableStream == "function", $i = typeof globalThis.FormData == "function", ga = ["get", "post", "put", "patch", "head", "delete"], Mi = {
6185
+ })(), Si = typeof globalThis.AbortController == "function", _i = typeof globalThis.ReadableStream == "function", $i = typeof globalThis.FormData == "function", ma = ["get", "post", "put", "patch", "head", "delete"], Mi = {
6025
6186
  json: "application/json",
6026
6187
  text: "text/*",
6027
6188
  formData: "multipart/form-data",
6028
6189
  arrayBuffer: "*/*",
6029
6190
  blob: "*/*"
6030
- }, xt = 2147483647, ma = Symbol("stop"), Ti = {
6191
+ }, xt = 2147483647, ya = Symbol("stop"), Ti = {
6031
6192
  json: !0,
6032
6193
  parseJson: !0,
6033
6194
  stringifyJson: !0,
@@ -6056,7 +6217,7 @@ const pa = (c = {}, e = {}) => ({
6056
6217
  dispatcher: !0,
6057
6218
  duplex: !0,
6058
6219
  priority: !0
6059
- }, Ai = (c) => ga.includes(c) ? c.toUpperCase() : c, Ii = ["get", "put", "head", "delete", "options", "trace"], Li = [408, 413, 429, 500, 502, 503, 504], qi = [413, 429, 503], Jt = {
6220
+ }, Ai = (c) => ma.includes(c) ? c.toUpperCase() : c, Ii = ["get", "put", "head", "delete", "options", "trace"], Li = [408, 413, 429, 500, 502, 503, 504], qi = [413, 429, 503], Kt = {
6060
6221
  limit: 2,
6061
6222
  methods: Ii,
6062
6223
  statusCodes: Li,
@@ -6067,7 +6228,7 @@ const pa = (c = {}, e = {}) => ({
6067
6228
  }, Oi = (c = {}) => {
6068
6229
  if (typeof c == "number")
6069
6230
  return {
6070
- ...Jt,
6231
+ ...Kt,
6071
6232
  limit: c
6072
6233
  };
6073
6234
  if (c.methods && !Array.isArray(c.methods))
@@ -6075,35 +6236,35 @@ const pa = (c = {}, e = {}) => ({
6075
6236
  if (c.statusCodes && !Array.isArray(c.statusCodes))
6076
6237
  throw new Error("retry.statusCodes must be an array");
6077
6238
  return {
6078
- ...Jt,
6239
+ ...Kt,
6079
6240
  ...c
6080
6241
  };
6081
6242
  };
6082
- async function Pi(c, e, a, s) {
6083
- return new Promise((n, d) => {
6243
+ async function Pi(c, e, a, n) {
6244
+ return new Promise((s, r) => {
6084
6245
  const f = setTimeout(() => {
6085
- a && a.abort(), d(new ha(c));
6086
- }, s.timeout);
6087
- s.fetch(c, e).then(n).catch(d).then(() => {
6246
+ a && a.abort(), r(new ua(c));
6247
+ }, n.timeout);
6248
+ n.fetch(c, e).then(s).catch(r).then(() => {
6088
6249
  clearTimeout(f);
6089
6250
  });
6090
6251
  });
6091
6252
  }
6092
6253
  async function zi(c, { signal: e }) {
6093
- return new Promise((a, s) => {
6094
- e && (e.throwIfAborted(), e.addEventListener("abort", n, { once: !0 }));
6095
- function n() {
6096
- clearTimeout(d), s(e.reason);
6254
+ return new Promise((a, n) => {
6255
+ e && (e.throwIfAborted(), e.addEventListener("abort", s, { once: !0 }));
6256
+ function s() {
6257
+ clearTimeout(r), n(e.reason);
6097
6258
  }
6098
- const d = setTimeout(() => {
6099
- e == null || e.removeEventListener("abort", n), a();
6259
+ const r = setTimeout(() => {
6260
+ e == null || e.removeEventListener("abort", s), a();
6100
6261
  }, c);
6101
6262
  });
6102
6263
  }
6103
6264
  const ji = (c, e) => {
6104
6265
  const a = {};
6105
- for (const s in e)
6106
- !(s in Ei) && !(s in Ti) && !(s in c) && (a[s] = e[s]);
6266
+ for (const n in e)
6267
+ !(n in Ei) && !(n in Ti) && !(n in c) && (a[n] = e[n]);
6107
6268
  return a;
6108
6269
  };
6109
6270
  class bt {
@@ -6114,11 +6275,11 @@ class bt {
6114
6275
  ge(this, "_retryCount", 0);
6115
6276
  ge(this, "_input");
6116
6277
  ge(this, "_options");
6117
- var s, n;
6278
+ var n, s;
6118
6279
  if (this._input = e, this._options = {
6119
6280
  ...a,
6120
- headers: ua(this._input.headers, a.headers),
6121
- hooks: pa({
6281
+ headers: pa(this._input.headers, a.headers),
6282
+ hooks: ga({
6122
6283
  beforeRequest: [],
6123
6284
  beforeRetry: [],
6124
6285
  beforeError: [],
@@ -6140,67 +6301,67 @@ class bt {
6140
6301
  }
6141
6302
  if (Si) {
6142
6303
  this.abortController = new globalThis.AbortController();
6143
- const d = this._options.signal ?? this._input.signal;
6144
- d == null || d.addEventListener("abort", () => {
6145
- this.abortController.abort(d.reason);
6304
+ const r = this._options.signal ?? this._input.signal;
6305
+ r == null || r.addEventListener("abort", () => {
6306
+ this.abortController.abort(r.reason);
6146
6307
  }), this._options.signal = this.abortController.signal;
6147
6308
  }
6148
- if (Ci && (this._options.duplex = "half"), this._options.json !== void 0 && (this._options.body = ((n = (s = this._options).stringifyJson) == null ? void 0 : n.call(s, this._options.json)) ?? JSON.stringify(this._options.json), this._options.headers.set("content-type", this._options.headers.get("content-type") ?? "application/json")), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
6149
- const f = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), x = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, f);
6150
- ($i && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(x, { ...this.request }), this._options);
6309
+ if (Ci && (this._options.duplex = "half"), this._options.json !== void 0 && (this._options.body = ((s = (n = this._options).stringifyJson) == null ? void 0 : s.call(n, this._options.json)) ?? JSON.stringify(this._options.json), this._options.headers.set("content-type", this._options.headers.get("content-type") ?? "application/json")), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
6310
+ const f = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), w = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, f);
6311
+ ($i && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(w, { ...this.request }), this._options);
6151
6312
  }
6152
6313
  }
6153
6314
  static create(e, a) {
6154
- const s = new bt(e, a), n = async () => {
6155
- if (typeof s._options.timeout == "number" && s._options.timeout > xt)
6315
+ const n = new bt(e, a), s = async () => {
6316
+ if (typeof n._options.timeout == "number" && n._options.timeout > xt)
6156
6317
  throw new RangeError(`The \`timeout\` option cannot be greater than ${xt}`);
6157
6318
  await Promise.resolve();
6158
- let x = await s._fetch();
6159
- for (const S of s._options.hooks.afterResponse) {
6160
- const _ = await S(s.request, s._options, s._decorateResponse(x.clone()));
6161
- _ instanceof globalThis.Response && (x = _);
6319
+ let w = await n._fetch();
6320
+ for (const S of n._options.hooks.afterResponse) {
6321
+ const _ = await S(n.request, n._options, n._decorateResponse(w.clone()));
6322
+ _ instanceof globalThis.Response && (w = _);
6162
6323
  }
6163
- if (s._decorateResponse(x), !x.ok && s._options.throwHttpErrors) {
6164
- let S = new Zt(x, s.request, s._options);
6165
- for (const _ of s._options.hooks.beforeError)
6324
+ if (n._decorateResponse(w), !w.ok && n._options.throwHttpErrors) {
6325
+ let S = new Jt(w, n.request, n._options);
6326
+ for (const _ of n._options.hooks.beforeError)
6166
6327
  S = await _(S);
6167
6328
  throw S;
6168
6329
  }
6169
- if (s._options.onDownloadProgress) {
6170
- if (typeof s._options.onDownloadProgress != "function")
6330
+ if (n._options.onDownloadProgress) {
6331
+ if (typeof n._options.onDownloadProgress != "function")
6171
6332
  throw new TypeError("The `onDownloadProgress` option must be a function");
6172
6333
  if (!_i)
6173
6334
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
6174
- return s._stream(x.clone(), s._options.onDownloadProgress);
6335
+ return n._stream(w.clone(), n._options.onDownloadProgress);
6175
6336
  }
6176
- return x;
6177
- }, f = s._options.retry.methods.includes(s.request.method.toLowerCase()) ? s._retry(n) : n();
6178
- for (const [x, S] of Object.entries(Mi))
6179
- f[x] = async () => {
6180
- s.request.headers.set("accept", s.request.headers.get("accept") || S);
6337
+ return w;
6338
+ }, f = n._options.retry.methods.includes(n.request.method.toLowerCase()) ? n._retry(s) : s();
6339
+ for (const [w, S] of Object.entries(Mi))
6340
+ f[w] = async () => {
6341
+ n.request.headers.set("accept", n.request.headers.get("accept") || S);
6181
6342
  const K = (await f).clone();
6182
- if (x === "json") {
6343
+ if (w === "json") {
6183
6344
  if (K.status === 204 || (await K.clone().arrayBuffer()).byteLength === 0)
6184
6345
  return "";
6185
6346
  if (a.parseJson)
6186
6347
  return a.parseJson(await K.text());
6187
6348
  }
6188
- return K[x]();
6349
+ return K[w]();
6189
6350
  };
6190
6351
  return f;
6191
6352
  }
6192
6353
  _calculateRetryDelay(e) {
6193
- if (this._retryCount++, this._retryCount > this._options.retry.limit || e instanceof ha)
6354
+ if (this._retryCount++, this._retryCount > this._options.retry.limit || e instanceof ua)
6194
6355
  throw e;
6195
- if (e instanceof Zt) {
6356
+ if (e instanceof Jt) {
6196
6357
  if (!this._options.retry.statusCodes.includes(e.response.status))
6197
6358
  throw e;
6198
- const s = e.response.headers.get("Retry-After") ?? e.response.headers.get("RateLimit-Reset") ?? e.response.headers.get("X-RateLimit-Reset") ?? e.response.headers.get("X-Rate-Limit-Reset");
6199
- if (s && this._options.retry.afterStatusCodes.includes(e.response.status)) {
6200
- let n = Number(s) * 1e3;
6201
- Number.isNaN(n) ? n = Date.parse(s) - Date.now() : n >= Date.parse("2024-01-01") && (n -= Date.now());
6202
- const d = this._options.retry.maxRetryAfter ?? n;
6203
- return n < d ? n : d;
6359
+ const n = e.response.headers.get("Retry-After") ?? e.response.headers.get("RateLimit-Reset") ?? e.response.headers.get("X-RateLimit-Reset") ?? e.response.headers.get("X-Rate-Limit-Reset");
6360
+ if (n && this._options.retry.afterStatusCodes.includes(e.response.status)) {
6361
+ let s = Number(n) * 1e3;
6362
+ Number.isNaN(s) ? s = Date.parse(n) - Date.now() : s >= Date.parse("2024-01-01") && (s -= Date.now());
6363
+ const r = this._options.retry.maxRetryAfter ?? s;
6364
+ return s < r ? s : r;
6204
6365
  }
6205
6366
  if (e.response.status === 413)
6206
6367
  throw e;
@@ -6215,60 +6376,60 @@ class bt {
6215
6376
  try {
6216
6377
  return await e();
6217
6378
  } catch (a) {
6218
- const s = Math.min(this._calculateRetryDelay(a), xt);
6379
+ const n = Math.min(this._calculateRetryDelay(a), xt);
6219
6380
  if (this._retryCount < 1)
6220
6381
  throw a;
6221
- await zi(s, { signal: this._options.signal });
6222
- for (const n of this._options.hooks.beforeRetry)
6223
- if (await n({
6382
+ await zi(n, { signal: this._options.signal });
6383
+ for (const s of this._options.hooks.beforeRetry)
6384
+ if (await s({
6224
6385
  request: this.request,
6225
6386
  options: this._options,
6226
6387
  error: a,
6227
6388
  retryCount: this._retryCount
6228
- }) === ma)
6389
+ }) === ya)
6229
6390
  return;
6230
6391
  return this._retry(e);
6231
6392
  }
6232
6393
  }
6233
6394
  async _fetch() {
6234
- for (const s of this._options.hooks.beforeRequest) {
6235
- const n = await s(this.request, this._options);
6236
- if (n instanceof Request) {
6237
- this.request = n;
6395
+ for (const n of this._options.hooks.beforeRequest) {
6396
+ const s = await n(this.request, this._options);
6397
+ if (s instanceof Request) {
6398
+ this.request = s;
6238
6399
  break;
6239
6400
  }
6240
- if (n instanceof Response)
6241
- return n;
6401
+ if (s instanceof Response)
6402
+ return s;
6242
6403
  }
6243
6404
  const e = ji(this.request, this._options), a = this.request;
6244
6405
  return this.request = a.clone(), this._options.timeout === !1 ? this._options.fetch(a, e) : Pi(a, e, this.abortController, this._options);
6245
6406
  }
6246
6407
  /* istanbul ignore next */
6247
6408
  _stream(e, a) {
6248
- const s = Number(e.headers.get("content-length")) || 0;
6249
- let n = 0;
6250
- return e.status === 204 ? (a && a({ percent: 1, totalBytes: s, transferredBytes: n }, new Uint8Array()), new globalThis.Response(null, {
6409
+ const n = Number(e.headers.get("content-length")) || 0;
6410
+ let s = 0;
6411
+ return e.status === 204 ? (a && a({ percent: 1, totalBytes: n, transferredBytes: s }, new Uint8Array()), new globalThis.Response(null, {
6251
6412
  status: e.status,
6252
6413
  statusText: e.statusText,
6253
6414
  headers: e.headers
6254
6415
  })) : new globalThis.Response(new globalThis.ReadableStream({
6255
- async start(d) {
6416
+ async start(r) {
6256
6417
  const f = e.body.getReader();
6257
- a && a({ percent: 0, transferredBytes: 0, totalBytes: s }, new Uint8Array());
6258
- async function x() {
6418
+ a && a({ percent: 0, transferredBytes: 0, totalBytes: n }, new Uint8Array());
6419
+ async function w() {
6259
6420
  const { done: S, value: _ } = await f.read();
6260
6421
  if (S) {
6261
- d.close();
6422
+ r.close();
6262
6423
  return;
6263
6424
  }
6264
6425
  if (a) {
6265
- n += _.byteLength;
6266
- const K = s === 0 ? 0 : n / s;
6267
- a({ percent: K, transferredBytes: n, totalBytes: s }, _);
6426
+ s += _.byteLength;
6427
+ const K = n === 0 ? 0 : s / n;
6428
+ a({ percent: K, transferredBytes: s, totalBytes: n }, _);
6268
6429
  }
6269
- d.enqueue(_), await x();
6430
+ r.enqueue(_), await w();
6270
6431
  }
6271
- await x();
6432
+ await w();
6272
6433
  }
6273
6434
  }), {
6274
6435
  status: e.status,
@@ -6279,11 +6440,12 @@ class bt {
6279
6440
  }
6280
6441
  /*! MIT License © Sindre Sorhus */
6281
6442
  const $t = (c) => {
6282
- const e = (a, s) => bt.create(a, nt(c, s));
6283
- for (const a of ga)
6284
- e[a] = (s, n) => bt.create(s, nt(c, n, { method: a }));
6285
- return e.create = (a) => $t(nt(a)), e.extend = (a) => (typeof a == "function" && (a = a(c ?? {})), $t(nt(c, a))), e.stop = ma, e;
6286
- }, Hi = $t(), Bi = Hi.extend({
6443
+ const e = (a, n) => bt.create(a, nt(c, n));
6444
+ for (const a of ma)
6445
+ e[a] = (n, s) => bt.create(n, nt(c, s, { method: a }));
6446
+ return e.create = (a) => $t(nt(a)), e.extend = (a) => (typeof a == "function" && (a = a(c ?? {})), $t(nt(c, a))), e.stop = ya, e;
6447
+ }, Hi = $t();
6448
+ Hi.extend({
6287
6449
  hooks: {
6288
6450
  beforeRequest: [
6289
6451
  () => {
@@ -6291,18 +6453,18 @@ const $t = (c) => {
6291
6453
  ]
6292
6454
  }
6293
6455
  });
6294
- async function Ri(c, e) {
6295
- const { onmessage: a, onclose: s, ...n } = e, d = async (f, x) => {
6296
- const { value: S, done: _ } = await x.read();
6297
- _ ? (f.close(), s == null || s()) : (a == null || a(S), f.enqueue(S), d(f, x));
6456
+ async function Bi(c, e) {
6457
+ const { onmessage: a, onclose: n, ...s } = e, r = async (f, w) => {
6458
+ const { value: S, done: _ } = await w.read();
6459
+ _ ? (f.close(), n == null || n()) : (a == null || a(S), f.enqueue(S), r(f, w));
6298
6460
  };
6299
- return n.body && typeof n.body == "object" && (n.body = JSON.stringify(n.body)), console.log("Fetching:", n), fetch(c, n).then((f) => {
6300
- const x = f.body.getReader();
6461
+ return s.body && typeof s.body == "object" && (s.body = JSON.stringify(s.body)), console.log("Fetching:", s), fetch(c, s).then((f) => {
6462
+ const w = f.body.getReader();
6301
6463
  return new ReadableStream({
6302
6464
  start(_) {
6303
- d(
6465
+ r(
6304
6466
  _,
6305
- x
6467
+ w
6306
6468
  );
6307
6469
  }
6308
6470
  });
@@ -6312,31 +6474,14 @@ async function Ri(c, e) {
6312
6474
  }).text()
6313
6475
  );
6314
6476
  }
6315
- async function Vi(c, e) {
6316
- const a = new FormData();
6317
- for (let n = 0; n < e.length; n++)
6318
- a.append("files", e[n]);
6319
- const s = await Bi.post(c, {
6320
- body: a
6321
- });
6322
- try {
6323
- return await s.json();
6324
- } catch (n) {
6325
- return {
6326
- code: 1,
6327
- url: "",
6328
- message: n.message
6329
- };
6330
- }
6331
- }
6332
- var Di = Object.defineProperty, Fi = Object.getOwnPropertyDescriptor, H = (c, e, a, s) => {
6333
- for (var n = s > 1 ? void 0 : s ? Fi(e, a) : e, d = c.length - 1, f; d >= 0; d--)
6334
- (f = c[d]) && (n = (s ? f(e, a, n) : f(n)) || n);
6335
- return s && n && Di(e, a, n), n;
6477
+ var Ri = Object.defineProperty, Vi = Object.getOwnPropertyDescriptor, H = (c, e, a, n) => {
6478
+ for (var s = n > 1 ? void 0 : n ? Vi(e, a) : e, r = c.length - 1, f; r >= 0; r--)
6479
+ (f = c[r]) && (s = (n ? f(e, a, s) : f(s)) || s);
6480
+ return n && s && Ri(e, a, s), s;
6336
6481
  };
6337
- const Re = Ke.noConflict();
6338
- Re.setLevel("info");
6339
- let j = class extends ee {
6482
+ const Me = Ke.noConflict();
6483
+ Me.setLevel("info");
6484
+ let j = class extends ae {
6340
6485
  constructor() {
6341
6486
  super(...arguments), this.store = new pt(this, p), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="34" height="34" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
6342
6487
  <g clip-path="url(#clip0_830_887)">
@@ -6368,7 +6513,7 @@ let j = class extends ee {
6368
6513
  this._addMessageHandler(c);
6369
6514
  }, this.handleStateEvent = (c) => {
6370
6515
  this._stateEventHandler(c);
6371
- }, this.fetchStream = Ri;
6516
+ }, this.fetchStream = Bi;
6372
6517
  }
6373
6518
  /**
6374
6519
  * decodeStreamData
@@ -6400,7 +6545,7 @@ let j = class extends ee {
6400
6545
  p.addActions(c);
6401
6546
  }
6402
6547
  render() {
6403
- return p.disabled && !this.alwaysOpen ? (Re.info("Bot is disabled until settings are loaded"), null) : g`
6548
+ return p.disabled && !this.alwaysOpen ? (Me.info("Bot is disabled until settings are loaded"), null) : g`
6404
6549
  <div class="cb-wrapper" style="${p.open ? "display:flex" : "display:none"}" part="wrapper" exportparts="wrapper">
6405
6550
  <cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
6406
6551
  <cb-message-list
@@ -6424,16 +6569,16 @@ let j = class extends ee {
6424
6569
  return p.form || p.disabled && this.alwaysOpen ? null : g`<cb-user-input
6425
6570
  ?loading=${p.connecting}
6426
6571
  ?disabled=${p.connecting || p.form}
6427
- ?enable-file-upload=${this.enableFileUpload}
6572
+ ?enable-file-upload=${p.setting.uploadImages}
6428
6573
  exportparts="user-input, user-input-wrapper, user-input-base, user-input-textarea"
6429
6574
  ></cb-user-input>`;
6430
6575
  }
6431
6576
  connectedCallback() {
6432
- super.connectedCallback(), Re.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this._chatbotToggleHandler), addEventListener("form:submit", this._formSubmitHandler);
6577
+ super.connectedCallback(), Me.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this._chatbotToggleHandler), addEventListener("form:submit", this._formSubmitHandler), addEventListener("message:send:file", this._sendFileHandler.bind(this));
6433
6578
  }
6434
6579
  extractCssVariable(c, e, a) {
6435
- let s = c.getPropertyValue(e).trim();
6436
- return s && s != "" ? s : a;
6580
+ let n = c.getPropertyValue(e).trim();
6581
+ return n && n != "" ? n : a;
6437
6582
  }
6438
6583
  // Extract css variables that control the appearance of the chatbot
6439
6584
  initCssVariables() {
@@ -6458,26 +6603,26 @@ let j = class extends ee {
6458
6603
 
6459
6604
  */
6460
6605
  disconnectedCallback() {
6461
- Re.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this._chatbotToggleHandler), window.removeEventListener("form:submit", this._formSubmitHandler);
6606
+ Me.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this._chatbotToggleHandler), window.removeEventListener("form:submit", this._formSubmitHandler);
6462
6607
  }
6463
6608
  // This is called when component is loaded, with all the settings (props) values
6464
6609
  // Use to initialize
6465
6610
  // This is also called when state changes - ??? - i.e. when message added to the array
6466
6611
  updated(c) {
6467
- super.updated(c), c.size > 0 && (Re.info("updated,_changedProperties:", c), this._initSetting()), setTimeout(() => {
6612
+ super.updated(c), c.size > 0 && (Me.info("updated,_changedProperties:", c), this._initSetting()), setTimeout(() => {
6468
6613
  this._scrollToBottom();
6469
6614
  }, 0);
6470
6615
  }
6471
6616
  // initialize setting
6472
6617
  _initSetting() {
6473
- Re.info("_initSetting");
6618
+ Me.info("_initSetting");
6474
6619
  const c = p.setting;
6475
6620
  c.orgId = this.orgId, c.botId = this.botId, c.url = this.url, c.logoUrl = this.logoUrl, c.logoSvg = this.logoSvg, c.closeSvg = this.closeSvg, c.popupLogoSvg = this.popupLogoSvg, c.popupLogoUrl = this.popupLogoUrl, c.botIconSvg = this.botIconSvg, c.userIconSvg = this.userIconSvg, c.systemIconSvg = this.systemIconSvg, c.agentIconSvg = this.agentIconSvg, c.anchorOpenSvg = this.anchorOpenSvg, c.anchorCloseSvg = this.anchorCloseSvg, p.setSetting(c);
6476
6621
  let e = {};
6477
6622
  try {
6478
6623
  e = JSON.parse(this.prefilledFormFields);
6479
6624
  } catch (a) {
6480
- console.log(`Failed to parse prefilled-form-fields attribute value, error: ${(a == null ? void 0 : a.message) || ""}`), e = {};
6625
+ Me.error(`Failed to parse prefilled-form-fields attribute value, error: ${(a == null ? void 0 : a.message) || ""}`), e = {};
6481
6626
  }
6482
6627
  p.setPrefilledFormFields(e), this.open && (p.open = !0), this.alwaysOpen && (p.open = !0, p.alwaysOpen = !0);
6483
6628
  }
@@ -6506,6 +6651,20 @@ let j = class extends ee {
6506
6651
  }
6507
6652
  });
6508
6653
  }
6654
+ // Set conversation context.
6655
+ // It can be any data related with current user / current conversation,
6656
+ // for example, user profile, current product user is viewing on the web page, etc.
6657
+ setContext(c = {}) {
6658
+ p.setContext(c).catch((e) => {
6659
+ Me.error(`Failed to set context, error: ${(e == null ? void 0 : e.message) || ""}`);
6660
+ });
6661
+ }
6662
+ getContext() {
6663
+ return p.getContext();
6664
+ }
6665
+ clearContext() {
6666
+ return p.clearContext();
6667
+ }
6509
6668
  // check auth
6510
6669
  _checkAuth() {
6511
6670
  }
@@ -6545,9 +6704,9 @@ let j = class extends ee {
6545
6704
  }
6546
6705
  }
6547
6706
  _addMessageHandler(c) {
6548
- var s;
6707
+ var n;
6549
6708
  console.log("_addMessageHandler called", c);
6550
- const e = c.detail, a = ((s = e == null ? void 0 : e.data) == null ? void 0 : s.text) || null;
6709
+ const e = c.detail, a = ((n = e == null ? void 0 : e.data) == null ? void 0 : n.text) || null;
6551
6710
  if (!a || typeof a != "string" || a.trim() === "") {
6552
6711
  console.log("_addMessageHandler: input text is empty, ignored", c);
6553
6712
  return;
@@ -6565,32 +6724,8 @@ let j = class extends ee {
6565
6724
  p.removeMessage(e.id);
6566
6725
  }
6567
6726
  async _sendFileHandler(c) {
6568
- const e = c.detail, s = {
6569
- author: "user",
6570
- type: "file",
6571
- isUploading: !0,
6572
- data: {
6573
- files: e.files.map((n, d) => ({
6574
- id: `${n.name}-${d}`,
6575
- name: n.name,
6576
- size: n.size,
6577
- type: n.type,
6578
- url: ""
6579
- }))
6580
- }
6581
- };
6582
- if (p.addMessage(s), this.uploadFileUrl) {
6583
- const n = await Vi(this.uploadFileUrl, e.files);
6584
- n.code === 0 && n.data && (s.isUploading = !1, s.data = {
6585
- files: n.data
6586
- }, p.updateMessage(s));
6587
- }
6588
- this.emit("chatbot:file:send", {
6589
- detail: {
6590
- files: e.files,
6591
- message: s
6592
- }
6593
- });
6727
+ const e = c.detail;
6728
+ await p.uploadFiles(e.files);
6594
6729
  }
6595
6730
  // setting confirm handler
6596
6731
  _settingConfirmHandler(c) {
@@ -6605,7 +6740,7 @@ let j = class extends ee {
6605
6740
  (e = this._messageList) == null || e.scrollToBottom();
6606
6741
  }
6607
6742
  };
6608
- j.styles = Ua;
6743
+ j.styles = Wa;
6609
6744
  H([
6610
6745
  v({ type: Boolean, attribute: "display-license" })
6611
6746
  ], j.prototype, "displayLicense", 2);
@@ -6685,7 +6820,7 @@ H([
6685
6820
  v({ type: Boolean })
6686
6821
  ], j.prototype, "showAuthAlert", 2);
6687
6822
  H([
6688
- xe("cb-message-list")
6823
+ ke("cb-message-list")
6689
6824
  ], j.prototype, "_messageList", 2);
6690
6825
  j = H([
6691
6826
  J("enegelai-bot")