@enegelai/bot-widget 1.18.0 → 1.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enegelaibot.umd.js +207 -202
- package/dist/index.es.js +701 -669
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { css as K, LitElement as Fe, html as
|
|
1
|
+
import { css as K, LitElement as Fe, html as b, nothing as Ae, svg as pe } from "lit";
|
|
2
2
|
import { property as x, customElement as J, query as xe, state as Va, queryAll as Ua, eventOptions as na } from "lit/decorators.js";
|
|
3
3
|
import { when as W } from "lit/directives/when.js";
|
|
4
4
|
import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
|
|
@@ -22,30 +22,30 @@ import "@shoelace-style/shoelace/dist/components/alert/alert.js";
|
|
|
22
22
|
import "@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js";
|
|
23
23
|
import "@shoelace-style/shoelace/dist/components/badge/badge.js";
|
|
24
24
|
import { repeat as et } from "lit/directives/repeat.js";
|
|
25
|
-
import { until as
|
|
25
|
+
import { until as bt } from "lit-html/directives/until.js";
|
|
26
26
|
import Di from "markdown-it";
|
|
27
27
|
import Fi from "markdown-it-link-attributes";
|
|
28
|
-
import
|
|
28
|
+
import Gt from "highlight.js";
|
|
29
29
|
import "@shoelace-style/shoelace/dist/components/popup/popup.js";
|
|
30
30
|
import "@shoelace-style/shoelace/dist/components/rating/rating.js";
|
|
31
|
-
import { createRef as ji, ref as
|
|
31
|
+
import { createRef as ji, ref as Tt } from "lit/directives/ref.js";
|
|
32
32
|
function Na(a) {
|
|
33
33
|
return typeof a == "function" ? a() : a;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const Ut = class Ut extends Event {
|
|
36
36
|
/**
|
|
37
37
|
* @param {string} key of the state that has changed
|
|
38
38
|
* @param {unknown} value for the changed key
|
|
39
39
|
*/
|
|
40
40
|
constructor(e, t, i) {
|
|
41
|
-
super(
|
|
41
|
+
super(Ut.eventName, {
|
|
42
42
|
cancelable: !1
|
|
43
43
|
}), this.key = e, this.value = t, this.state = i;
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
|
|
47
|
-
let at =
|
|
48
|
-
const Hi = (a, e) => e !== a && (e === e || a === a),
|
|
46
|
+
Ut.eventName = "lit-state-changed";
|
|
47
|
+
let at = Ut;
|
|
48
|
+
const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends EventTarget {
|
|
49
49
|
static initPropertyMap() {
|
|
50
50
|
this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
|
|
51
51
|
}
|
|
@@ -119,8 +119,8 @@ const Hi = (a, e) => e !== a && (e === e || a === a), ba = class ba extends Even
|
|
|
119
119
|
this.dispatchEvent(new at(e, t, i));
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
|
-
|
|
123
|
-
let
|
|
122
|
+
ua.finalized = !1;
|
|
123
|
+
let Jt = ua;
|
|
124
124
|
class it {
|
|
125
125
|
constructor(e, t, i) {
|
|
126
126
|
this.host = e, this.state = t, this.callback = i || (() => this.host.requestUpdate()), this.host.addController(this);
|
|
@@ -181,7 +181,7 @@ function ce(a) {
|
|
|
181
181
|
function Wa(a) {
|
|
182
182
|
return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
|
|
183
183
|
}
|
|
184
|
-
var
|
|
184
|
+
var Rt = { exports: {} }, Ni = Rt.exports, _a;
|
|
185
185
|
function Wi() {
|
|
186
186
|
return _a || (_a = 1, (function(a) {
|
|
187
187
|
(function(e, t) {
|
|
@@ -232,8 +232,8 @@ function Wi() {
|
|
|
232
232
|
function P(M, L) {
|
|
233
233
|
var C = this, Z, N, X, te = "loglevel";
|
|
234
234
|
typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
|
|
235
|
-
function He(
|
|
236
|
-
var U = (s[
|
|
235
|
+
function He(V) {
|
|
236
|
+
var U = (s[V] || "silent").toUpperCase();
|
|
237
237
|
if (!(typeof window === t || !te)) {
|
|
238
238
|
try {
|
|
239
239
|
window.localStorage[te] = U;
|
|
@@ -247,21 +247,21 @@ function Wi() {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
function ae() {
|
|
250
|
-
var
|
|
250
|
+
var V;
|
|
251
251
|
if (!(typeof window === t || !te)) {
|
|
252
252
|
try {
|
|
253
|
-
|
|
253
|
+
V = window.localStorage[te];
|
|
254
254
|
} catch {
|
|
255
255
|
}
|
|
256
|
-
if (typeof
|
|
256
|
+
if (typeof V === t)
|
|
257
257
|
try {
|
|
258
258
|
var U = window.document.cookie, $e = encodeURIComponent(te), Pe = U.indexOf($e + "=");
|
|
259
|
-
Pe !== -1 && (
|
|
259
|
+
Pe !== -1 && (V = /^([^;]+)/.exec(
|
|
260
260
|
U.slice(Pe + $e.length + 1)
|
|
261
261
|
)[1]);
|
|
262
262
|
} catch {
|
|
263
263
|
}
|
|
264
|
-
return C.levels[
|
|
264
|
+
return C.levels[V] === void 0 && (V = void 0), V;
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
267
|
function he() {
|
|
@@ -276,11 +276,11 @@ function Wi() {
|
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
function ge(
|
|
280
|
-
var U =
|
|
279
|
+
function ge(V) {
|
|
280
|
+
var U = V;
|
|
281
281
|
if (typeof U == "string" && C.levels[U.toUpperCase()] !== void 0 && (U = C.levels[U.toUpperCase()]), typeof U == "number" && U >= 0 && U <= C.levels.SILENT)
|
|
282
282
|
return U;
|
|
283
|
-
throw new TypeError("log.setLevel() called with invalid level: " +
|
|
283
|
+
throw new TypeError("log.setLevel() called with invalid level: " + V);
|
|
284
284
|
}
|
|
285
285
|
C.name = M, C.levels = {
|
|
286
286
|
TRACE: 0,
|
|
@@ -291,25 +291,25 @@ function Wi() {
|
|
|
291
291
|
SILENT: 5
|
|
292
292
|
}, C.methodFactory = L || _, C.getLevel = function() {
|
|
293
293
|
return X ?? N ?? Z;
|
|
294
|
-
}, C.setLevel = function(
|
|
295
|
-
return X = ge(
|
|
296
|
-
}, C.setDefaultLevel = function(
|
|
297
|
-
N = ge(
|
|
294
|
+
}, C.setLevel = function(V, U) {
|
|
295
|
+
return X = ge(V), U !== !1 && He(X), k.call(C);
|
|
296
|
+
}, C.setDefaultLevel = function(V) {
|
|
297
|
+
N = ge(V), ae() || C.setLevel(V, !1);
|
|
298
298
|
}, C.resetLevel = function() {
|
|
299
299
|
X = null, he(), k.call(C);
|
|
300
|
-
}, C.enableAll = function(
|
|
301
|
-
C.setLevel(C.levels.TRACE,
|
|
302
|
-
}, C.disableAll = function(
|
|
303
|
-
C.setLevel(C.levels.SILENT,
|
|
300
|
+
}, C.enableAll = function(V) {
|
|
301
|
+
C.setLevel(C.levels.TRACE, V);
|
|
302
|
+
}, C.disableAll = function(V) {
|
|
303
|
+
C.setLevel(C.levels.SILENT, V);
|
|
304
304
|
}, C.rebuild = function() {
|
|
305
305
|
if (o !== C && (Z = ge(o.getLevel())), k.call(C), o === C)
|
|
306
|
-
for (var
|
|
307
|
-
r[
|
|
306
|
+
for (var V in r)
|
|
307
|
+
r[V].rebuild();
|
|
308
308
|
}, Z = ge(
|
|
309
309
|
o ? o.getLevel() : "WARN"
|
|
310
310
|
);
|
|
311
|
-
var
|
|
312
|
-
|
|
311
|
+
var H = ae();
|
|
312
|
+
H != null && (X = ge(H)), k.call(C);
|
|
313
313
|
}
|
|
314
314
|
o = new P(), o.getLogger = function(L) {
|
|
315
315
|
if (typeof L != "symbol" && typeof L != "string" || L === "")
|
|
@@ -327,7 +327,7 @@ function Wi() {
|
|
|
327
327
|
return r;
|
|
328
328
|
}, o.default = o, o;
|
|
329
329
|
});
|
|
330
|
-
})(
|
|
330
|
+
})(Rt)), Rt.exports;
|
|
331
331
|
}
|
|
332
332
|
var Gi = Wi();
|
|
333
333
|
const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
|
|
@@ -366,8 +366,7 @@ const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
|
|
|
366
366
|
font-weight: 400;
|
|
367
367
|
line-height: 20px;
|
|
368
368
|
|
|
369
|
-
z-index:
|
|
370
|
-
|
|
369
|
+
z-index: 100000;
|
|
371
370
|
//animation: fadeIn 0.1s ease-in-out;
|
|
372
371
|
}
|
|
373
372
|
|
|
@@ -668,24 +667,24 @@ var Yi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor, ra = (a, e
|
|
|
668
667
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
669
668
|
return i && s && Yi(e, t, s), s;
|
|
670
669
|
};
|
|
671
|
-
let
|
|
670
|
+
let pt = class extends Fe {
|
|
672
671
|
constructor() {
|
|
673
672
|
super(...arguments), this.color = "primary", this.svg = "";
|
|
674
673
|
}
|
|
675
674
|
render() {
|
|
676
|
-
return
|
|
675
|
+
return b`<span class="cb-icon" part="base">${G(this.svg)}</span>`;
|
|
677
676
|
}
|
|
678
677
|
};
|
|
679
|
-
|
|
678
|
+
pt.styles = Ga;
|
|
680
679
|
ra([
|
|
681
680
|
x({ type: String })
|
|
682
|
-
],
|
|
681
|
+
], pt.prototype, "color", 2);
|
|
683
682
|
ra([
|
|
684
683
|
x({ type: String })
|
|
685
|
-
],
|
|
686
|
-
|
|
684
|
+
], pt.prototype, "svg", 2);
|
|
685
|
+
pt = ra([
|
|
687
686
|
J("cb-icon")
|
|
688
|
-
],
|
|
687
|
+
], pt);
|
|
689
688
|
let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
|
|
690
689
|
let i = (2 << Math.log2(a.length - 1)) - 1, s = -~(1.6 * i * e / a.length);
|
|
691
690
|
return (r = e) => {
|
|
@@ -721,33 +720,33 @@ function Xa(a = !0, e = null) {
|
|
|
721
720
|
}), i.click();
|
|
722
721
|
});
|
|
723
722
|
}
|
|
724
|
-
function
|
|
723
|
+
function xt(a) {
|
|
725
724
|
if (!a || typeof a != "string")
|
|
726
725
|
return "";
|
|
727
726
|
const e = "__AMP__TOKEN__";
|
|
728
727
|
let i = a.replace(/https?:\/\/[^\s<]+/g, (s) => s.replace(/&/g, e)).replace(/&(?!lt;|gt;)/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
729
728
|
return i = i.replace(/<br\s*\/?>/gi, "<br>"), i = i.replace(new RegExp(e, "g"), "&"), i;
|
|
730
729
|
}
|
|
731
|
-
const
|
|
732
|
-
|
|
730
|
+
const ne = Ke.noConflict();
|
|
731
|
+
ne.setLevel("info");
|
|
733
732
|
const Sa = 3e4;
|
|
734
733
|
class as {
|
|
735
734
|
constructor(e = {}) {
|
|
736
|
-
this.id = 0, this.url = e?.url || null, this.orgId = e?.orgId || null, this.botId = e?.botId || null, this.convId = e?.convId || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = e?.onMessage || null, this.onConnecting = e?.onConnecting || null, this.onConnectError = e?.onConnectError || null, this.onClose = e?.onClose || null, this.queue = e?.queue || [], this.pause = (t) => new Promise((i) => setTimeout(i, t)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null,
|
|
735
|
+
this.id = 0, this.url = e?.url || null, this.orgId = e?.orgId || null, this.botId = e?.botId || null, this.convId = e?.convId || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = e?.onMessage || null, this.onConnecting = e?.onConnecting || null, this.onConnectError = e?.onConnectError || null, this.onClose = e?.onClose || null, this.queue = e?.queue || [], this.pause = (t) => new Promise((i) => setTimeout(i, t)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, ne.info(`WSC: Created, url: ${this.url}`);
|
|
737
736
|
}
|
|
738
737
|
connect(e = {}) {
|
|
739
738
|
if (this._ws)
|
|
740
|
-
return
|
|
739
|
+
return ne.info("WSC: connect - already connecting"), null;
|
|
741
740
|
if (this.url = e?.url || this.url, this.connected = !1, !this.url)
|
|
742
|
-
return
|
|
741
|
+
return ne.error("WSC: URL must be provided to connect"), null;
|
|
743
742
|
this.setConnecting(!0);
|
|
744
743
|
const t = this.url;
|
|
745
|
-
|
|
744
|
+
ne.info(`WSC: ${Date.now()}: Connecting to ${t} ...`), this._ws = new WebSocket(t);
|
|
746
745
|
let i = setTimeout(() => {
|
|
747
|
-
|
|
746
|
+
ne.error(`WSC: ${Date.now()}: connected message not received in time - closing ...`), this._ws.close(), this._ws = null, this.connected = !1;
|
|
748
747
|
}, 3e4);
|
|
749
748
|
this._ws.onopen = () => {
|
|
750
|
-
|
|
749
|
+
ne.info(`WSC: ${Date.now()}: Connection to ${t} opened`);
|
|
751
750
|
}, this._ws.onmessage = (s) => {
|
|
752
751
|
let r = s?.data || null;
|
|
753
752
|
if (!r)
|
|
@@ -756,13 +755,13 @@ class as {
|
|
|
756
755
|
try {
|
|
757
756
|
o = JSON.parse(r);
|
|
758
757
|
} catch {
|
|
759
|
-
|
|
758
|
+
ne.error(`WSC: ${Date.now()}: Failed to parse message: ${r}`);
|
|
760
759
|
return;
|
|
761
760
|
}
|
|
762
761
|
if (o?.type === "connected")
|
|
763
|
-
|
|
762
|
+
ne.info(`WSC: ${Date.now()}: Got connected message`, o), clearTimeout(i), this.connected = !0, this.suspendDetected = !1, this.lastTickTs = Date.now(), this.setConnecting(!1), this.sendClientInfoMessage(), this.sendQueuedMessages();
|
|
764
763
|
else if (o?.type === "connection-error")
|
|
765
|
-
|
|
764
|
+
ne.error(`WSC: ${Date.now()}: Connect error`, o), clearTimeout(i), this.stop().catch(() => {
|
|
766
765
|
}), this.handleWscConnectError(o);
|
|
767
766
|
else if (o?.type === "ack") {
|
|
768
767
|
const f = Date.now();
|
|
@@ -770,9 +769,9 @@ class as {
|
|
|
770
769
|
}
|
|
771
770
|
this.handleWscMessage(o);
|
|
772
771
|
}, this._ws.onerror = (s) => {
|
|
773
|
-
|
|
772
|
+
ne.error(`WSC: ${Date.now()}: Socket error`), clearTimeout(i), this.connected = !1, this._ws = null, this.setConnecting(!1);
|
|
774
773
|
}, this._ws.onclose = (s) => {
|
|
775
|
-
|
|
774
|
+
ne.info(`WSC: ${Date.now()}: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.handleWscClose(s), this.setConnecting(!1), this.reconnect();
|
|
776
775
|
};
|
|
777
776
|
}
|
|
778
777
|
reconnect(e = 1e3) {
|
|
@@ -782,10 +781,10 @@ class as {
|
|
|
782
781
|
}
|
|
783
782
|
disconnect() {
|
|
784
783
|
if (this.connected = !1, !this._ws) {
|
|
785
|
-
|
|
784
|
+
ne.info("WSC: already disconnected");
|
|
786
785
|
return;
|
|
787
786
|
}
|
|
788
|
-
|
|
787
|
+
ne.info("WSC: disconnect"), this._ws.close();
|
|
789
788
|
}
|
|
790
789
|
setConnecting(e = !1) {
|
|
791
790
|
this.connecting !== e && (this.connecting = e, this.onConnecting && typeof this.onConnecting == "function" && this.onConnecting(this.connecting));
|
|
@@ -808,11 +807,11 @@ class as {
|
|
|
808
807
|
async startOld() {
|
|
809
808
|
let e = 1, t = !0;
|
|
810
809
|
for (; t; ) {
|
|
811
|
-
if (
|
|
812
|
-
return
|
|
810
|
+
if (ne.info(`WSC: start: connecting, attempt ${e}`), await this.connect(), this.connected)
|
|
811
|
+
return ne.info("WSC: connected"), !0;
|
|
813
812
|
e++, t = e <= 4, t && await this.pause(1e3);
|
|
814
813
|
}
|
|
815
|
-
return
|
|
814
|
+
return ne.error(`WSC: start: failed to connect after ${e} attempts, exiting`), !1;
|
|
816
815
|
}
|
|
817
816
|
handleWscConnectError(e) {
|
|
818
817
|
this.onConnectError && typeof this.onConnectError == "function" && this.onConnectError(e);
|
|
@@ -842,7 +841,7 @@ class as {
|
|
|
842
841
|
const e = Date.now();
|
|
843
842
|
let t = !1;
|
|
844
843
|
const i = e - this.lastAckTs;
|
|
845
|
-
i > Sa + 5e3 && (t = !0,
|
|
844
|
+
i > Sa + 5e3 && (t = !0, ne.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
|
|
846
845
|
}
|
|
847
846
|
sendMessage(e) {
|
|
848
847
|
if (this.checkConnection(), !this.connected) {
|
|
@@ -857,7 +856,7 @@ class as {
|
|
|
857
856
|
sendQueuedMessages() {
|
|
858
857
|
if (Array.isArray(this.queue) && this.queue.length > 0)
|
|
859
858
|
for (let e = 0; e < this.queue.length; e++)
|
|
860
|
-
|
|
859
|
+
ne.info("Sending queued message", this.queue[e]), this._ws.send(this.queue[e]);
|
|
861
860
|
this.queue = [];
|
|
862
861
|
}
|
|
863
862
|
// Request assumes that response will be received.
|
|
@@ -1058,7 +1057,7 @@ for (let a = 1; a <= 8; a++)
|
|
|
1058
1057
|
const t = Ca[e];
|
|
1059
1058
|
We.push(t / Math.pow(2, 8 - a)), oa.push(ss[e] + a);
|
|
1060
1059
|
}
|
|
1061
|
-
const
|
|
1060
|
+
const Ot = [32, 2e3], Aa = We.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]), ns = oa.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]);
|
|
1062
1061
|
class lt {
|
|
1063
1062
|
/**
|
|
1064
1063
|
* Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
|
|
@@ -1909,9 +1908,9 @@ class AudioProcessor extends AudioWorkletProcessor {
|
|
|
1909
1908
|
}
|
|
1910
1909
|
|
|
1911
1910
|
registerProcessor('audio_processor', AudioProcessor);
|
|
1912
|
-
`,
|
|
1911
|
+
`, us = new Blob([hs], {
|
|
1913
1912
|
type: "application/javascript"
|
|
1914
|
-
}),
|
|
1913
|
+
}), bs = URL.createObjectURL(us), ps = bs;
|
|
1915
1914
|
class gs {
|
|
1916
1915
|
/**
|
|
1917
1916
|
* Create a new WavRecorder instance
|
|
@@ -2712,8 +2711,8 @@ class vs {
|
|
|
2712
2711
|
const $e = _[U], Pe = P[ae + U];
|
|
2713
2712
|
he += $e * Pe, ge += Pe * Pe;
|
|
2714
2713
|
}
|
|
2715
|
-
const
|
|
2716
|
-
if (
|
|
2714
|
+
const H = E * (Math.sqrt(ge) + 1e-12), V = H > 0 ? he / H : 0;
|
|
2715
|
+
if (V > He && (He = V), He > Math.min(0.98, this.threshold + 0.25)) break;
|
|
2717
2716
|
}
|
|
2718
2717
|
if (He >= this.threshold) {
|
|
2719
2718
|
if (this._holdRemain = Math.max(this._holdRemain, Math.round(this.holdMs * this.sr / 1e3)), this.mode === "drop") return null;
|
|
@@ -2956,7 +2955,7 @@ class xs {
|
|
|
2956
2955
|
}
|
|
2957
2956
|
const Ne = Ke.noConflict();
|
|
2958
2957
|
Ne.setLevel("info");
|
|
2959
|
-
class
|
|
2958
|
+
class gt extends is {
|
|
2960
2959
|
constructor(e = {}) {
|
|
2961
2960
|
super({ name: "WebAudioProcessorV2" }), this.options = e, this.muted = !1, this.audioRecorder = new ot({
|
|
2962
2961
|
targetSampleRate: 24e3,
|
|
@@ -3080,7 +3079,7 @@ class pt extends is {
|
|
|
3080
3079
|
t = this.ducker.applyInt16(t);
|
|
3081
3080
|
const i = this.useAdaptiveSuppressor ? this.mixMinusSmooth.filterMicFrame(t) : this.mixMinus.filterMicFrame(t) || new Int16Array(0);
|
|
3082
3081
|
if (i.length === 0) return;
|
|
3083
|
-
const s =
|
|
3082
|
+
const s = gt.arrayBufferToBase64(i);
|
|
3084
3083
|
Ne.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
|
|
3085
3084
|
}
|
|
3086
3085
|
}));
|
|
@@ -3099,7 +3098,7 @@ class pt extends is {
|
|
|
3099
3098
|
if (!this.started) return;
|
|
3100
3099
|
let i = 1e3;
|
|
3101
3100
|
this._didPlayOnce || (i = 3e3, this._didPlayOnce = !0), console.log(`${Date.now()}: WebAudioProcessorV2: TTSStart - applying ducking/shielding`), this.ducker.duckActive || (this.firstTurnGate.arm(i), this.ducker.onTTSStart());
|
|
3102
|
-
const s =
|
|
3101
|
+
const s = gt.base64ToArrayBuffer(e), r = new Int16Array(s);
|
|
3103
3102
|
this.useAdaptiveSuppressor ? this.mixMinusSmooth.pushPlaybackPCM(r) : this.mixMinus.pushPlaybackPCM(r), this.audioPlayer.add16BitPCM(s, t);
|
|
3104
3103
|
}
|
|
3105
3104
|
handleOnPlaybackEnded() {
|
|
@@ -3173,20 +3172,20 @@ class pt extends is {
|
|
|
3173
3172
|
return i.set(e, 0), i.set(t, e.length), i;
|
|
3174
3173
|
}
|
|
3175
3174
|
}
|
|
3176
|
-
globalThis.WebAudioProcessorV2 =
|
|
3175
|
+
globalThis.WebAudioProcessorV2 = gt;
|
|
3177
3176
|
var ks = Object.defineProperty, _s = Object.getOwnPropertyDescriptor, st = (a, e, t, i) => {
|
|
3178
3177
|
for (var s = i > 1 ? void 0 : i ? _s(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
3179
3178
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
3180
3179
|
return i && s && ks(e, t, s), s;
|
|
3181
3180
|
};
|
|
3182
|
-
const
|
|
3181
|
+
const It = "cb-toast-outlet", Ea = "cb-toast-outlet-style";
|
|
3183
3182
|
function Ss() {
|
|
3184
|
-
let a = document.getElementById(
|
|
3185
|
-
if (a || (a = document.createElement("div"), a.id =
|
|
3183
|
+
let a = document.getElementById(It);
|
|
3184
|
+
if (a || (a = document.createElement("div"), a.id = It, document.body.appendChild(a)), !document.getElementById(Ea)) {
|
|
3186
3185
|
const e = document.createElement("style");
|
|
3187
3186
|
e.id = Ea, e.textContent = `
|
|
3188
3187
|
/* Global outlet that holds all toasts */
|
|
3189
|
-
#${
|
|
3188
|
+
#${It} {
|
|
3190
3189
|
position: fixed;
|
|
3191
3190
|
right: 40px;
|
|
3192
3191
|
bottom: 55px;
|
|
@@ -3198,7 +3197,7 @@ function Ss() {
|
|
|
3198
3197
|
pointer-events: none; /* clicks pass through except on toast itself */
|
|
3199
3198
|
}
|
|
3200
3199
|
@media (max-width: 600px) {
|
|
3201
|
-
#${
|
|
3200
|
+
#${It} {
|
|
3202
3201
|
left: 8px;
|
|
3203
3202
|
right: 8px;
|
|
3204
3203
|
align-items: stretch; /* stretch toasts to full width on mobile */
|
|
@@ -3231,17 +3230,17 @@ let qe = class extends Fe {
|
|
|
3231
3230
|
}
|
|
3232
3231
|
render() {
|
|
3233
3232
|
const a = ["toast", this.variant, this._open ? "open" : "", this._closing ? "closing" : ""].filter(Boolean).join(" "), e = this.icon || this._defaultIcons[this.variant] || this._defaultIcons.success;
|
|
3234
|
-
return
|
|
3233
|
+
return b`
|
|
3235
3234
|
<div
|
|
3236
3235
|
class=${a}
|
|
3237
3236
|
role="status"
|
|
3238
3237
|
aria-live=${this.ariaLive}
|
|
3239
3238
|
>
|
|
3240
|
-
${
|
|
3239
|
+
${b`<span class="icon" aria-hidden="true">${this._renderIcon(e)}</span>`}
|
|
3241
3240
|
<div class="msg">
|
|
3242
|
-
${this.message ?
|
|
3241
|
+
${this.message ? b`${this.message}` : b`<slot></slot>`}
|
|
3243
3242
|
</div>
|
|
3244
|
-
${this.closeable ?
|
|
3243
|
+
${this.closeable ? b`<button class="close" @click=${this.close} aria-label="Close">×</button>` : Ae}
|
|
3245
3244
|
</div>
|
|
3246
3245
|
`;
|
|
3247
3246
|
}
|
|
@@ -3256,7 +3255,7 @@ let qe = class extends Fe {
|
|
|
3256
3255
|
this._timer && (clearTimeout(this._timer), this._timer = void 0);
|
|
3257
3256
|
}
|
|
3258
3257
|
_renderIcon(a) {
|
|
3259
|
-
return a.trim().startsWith("<") ?
|
|
3258
|
+
return a.trim().startsWith("<") ? b`${G(a)}` : a;
|
|
3260
3259
|
}
|
|
3261
3260
|
};
|
|
3262
3261
|
qe.styles = K`
|
|
@@ -3467,7 +3466,7 @@ function Is(a, e) {
|
|
|
3467
3466
|
}
|
|
3468
3467
|
return t;
|
|
3469
3468
|
}
|
|
3470
|
-
var
|
|
3469
|
+
var Xt = /* @__PURE__ */ Cs(function(e, t, i) {
|
|
3471
3470
|
return Ts(e, Is(t, i));
|
|
3472
3471
|
});
|
|
3473
3472
|
const Es = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
|
|
@@ -3478,8 +3477,8 @@ var $s = Object.defineProperty, O = (a, e, t, i) => {
|
|
|
3478
3477
|
};
|
|
3479
3478
|
const T = Ke.noConflict();
|
|
3480
3479
|
T.setLevel("info");
|
|
3481
|
-
const
|
|
3482
|
-
class R extends
|
|
3480
|
+
const ie = "cb_", Ps = (a) => new Promise((e) => setTimeout(e, a));
|
|
3481
|
+
class R extends Jt {
|
|
3483
3482
|
constructor() {
|
|
3484
3483
|
super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.checkConnectionPromise = null, this.webAudioProcessor = null, this.webAudioTrackId = null, this.webAudioCurrentMark = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null, this.tabsBroadcastChannel = new BroadcastChannel("c7o-bot-tabs"), this.tabId = "c7o-bot-tab-" + (self.crypto?.randomUUID?.() || Math.random().toString(36).slice(2)), this.tabsBroadcastChannel.addEventListener("message", this.handleBroadcastMessage.bind(this)), console.log(`c7o: AppState: created, tabId=${this.tabId}`);
|
|
3485
3484
|
}
|
|
@@ -3527,7 +3526,7 @@ class R extends Kt {
|
|
|
3527
3526
|
}, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
|
|
3528
3527
|
return;
|
|
3529
3528
|
}
|
|
3530
|
-
T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
|
|
3529
|
+
T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.engagePopupSuppressPermanently = this.setting.botAdvancedSettings?.engagePopupSuppressPermanently || 0, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
|
|
3531
3530
|
this.showEngagePopup();
|
|
3532
3531
|
}, this.setting.engageTimeout * 1e3);
|
|
3533
3532
|
}
|
|
@@ -3616,7 +3615,7 @@ class R extends Kt {
|
|
|
3616
3615
|
// [sv2] 11/05/25 This will send request to start audio media to server
|
|
3617
3616
|
// we will start actual audio capture only after we receive mediaStarted confirmation from server
|
|
3618
3617
|
async startAudio() {
|
|
3619
|
-
this.mediaStartAudioRequested || (this.webAudioProcessor || (this.webAudioProcessor = new
|
|
3618
|
+
this.mediaStartAudioRequested || (this.webAudioProcessor || (this.webAudioProcessor = new gt(), this.webAudioProcessor.on("audio", this.onAudioChunkCaptured.bind(this)), this.webAudioProcessor.on("playbackEnded", this.onPlaybackEnded.bind(this)), this.webAudioProcessor.on("terminate", this.onWebAudioTerminate.bind(this))), await this.sendEvent({
|
|
3620
3619
|
id: fe(),
|
|
3621
3620
|
type: "mediaStart",
|
|
3622
3621
|
mediaType: "audio",
|
|
@@ -3746,7 +3745,11 @@ class R extends Kt {
|
|
|
3746
3745
|
this.initForm(this.form);
|
|
3747
3746
|
return;
|
|
3748
3747
|
}
|
|
3749
|
-
|
|
3748
|
+
if (this.setting.suppressStartupForm) {
|
|
3749
|
+
T.info("Startup form not suppressed by widget settings.");
|
|
3750
|
+
return;
|
|
3751
|
+
}
|
|
3752
|
+
const e = Xt(null, ["startupForm"], this.botSettings);
|
|
3750
3753
|
if (!e || !e?.name) {
|
|
3751
3754
|
T.info("Startup form not present");
|
|
3752
3755
|
return;
|
|
@@ -3754,15 +3757,15 @@ class R extends Kt {
|
|
|
3754
3757
|
this.initForm(e);
|
|
3755
3758
|
}
|
|
3756
3759
|
initForm(e = null) {
|
|
3757
|
-
const t = e, i =
|
|
3760
|
+
const t = e, i = Xt(null, ["name"], e);
|
|
3758
3761
|
if (!t || !i)
|
|
3759
3762
|
return;
|
|
3760
|
-
const s =
|
|
3763
|
+
const s = Xt(null, ["fields"], e);
|
|
3761
3764
|
if (!Array.isArray(s) || s.length <= 0) {
|
|
3762
3765
|
T.info("form has no fields", e);
|
|
3763
3766
|
return;
|
|
3764
3767
|
}
|
|
3765
|
-
const r = `${
|
|
3768
|
+
const r = `${ie}${this.setting.botId}.${this.conversationId}.form.${i}`, o = localStorage.getItem(r);
|
|
3766
3769
|
if (o) {
|
|
3767
3770
|
let f = null;
|
|
3768
3771
|
try {
|
|
@@ -3780,10 +3783,23 @@ class R extends Kt {
|
|
|
3780
3783
|
this.form = t;
|
|
3781
3784
|
}
|
|
3782
3785
|
suppressEngagePopup() {
|
|
3783
|
-
this.engage = !1, this.shouldEngage = "false"
|
|
3786
|
+
if (this.engage = !1, this.shouldEngage = "false", this.setting.engagePopupSuppressPermanently && this.setting.engagePopupSuppressPermanently > 0) {
|
|
3787
|
+
const e = Date.now();
|
|
3788
|
+
localStorage.setItem(`${ie}_engagePopupSuppressed`, `${e}`), T.info(`Engage popup suppressed for ${this.setting.engagePopupSuppressPermanently} days`);
|
|
3789
|
+
}
|
|
3784
3790
|
}
|
|
3785
3791
|
showEngagePopup() {
|
|
3786
|
-
|
|
3792
|
+
if (!this.open) {
|
|
3793
|
+
if (this.setting.engagePopupSuppressPermanently && this.setting.engagePopupSuppressPermanently > 0) {
|
|
3794
|
+
const e = Date.now(), t = this.setting.engagePopupSuppressPermanently * 24 * 60 * 60 * 1e3, i = localStorage.getItem(`${ie}_engagePopupSuppressed`);
|
|
3795
|
+
if (i) {
|
|
3796
|
+
const s = parseInt(i, 10);
|
|
3797
|
+
if (!isNaN(s) && e - s < t)
|
|
3798
|
+
return;
|
|
3799
|
+
}
|
|
3800
|
+
}
|
|
3801
|
+
T.info("Engaging User"), this.engage = !0, this.playAudioNotification();
|
|
3802
|
+
}
|
|
3787
3803
|
}
|
|
3788
3804
|
playAudioNotification() {
|
|
3789
3805
|
if (!this.setting.enableNotificationSound)
|
|
@@ -4198,7 +4214,7 @@ class R extends Kt {
|
|
|
4198
4214
|
T.info("submitForm: No form is active - ignored");
|
|
4199
4215
|
return;
|
|
4200
4216
|
}
|
|
4201
|
-
const t = `${
|
|
4217
|
+
const t = `${ie}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
|
|
4202
4218
|
await this.sendFormData(this.form.name, e), localStorage.setItem(t, JSON.stringify(e)), "name" in e && (this.feedbackName = e.name), "email" in e && (this.feedbackEmail = e.email), this.form = null;
|
|
4203
4219
|
}
|
|
4204
4220
|
async sendFormData(e, t) {
|
|
@@ -4284,7 +4300,7 @@ class R extends Kt {
|
|
|
4284
4300
|
}
|
|
4285
4301
|
async uploadFiles(e) {
|
|
4286
4302
|
if (!e?.length) return;
|
|
4287
|
-
const t =
|
|
4303
|
+
const t = u.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
|
|
4288
4304
|
if (s) {
|
|
4289
4305
|
T.error(
|
|
4290
4306
|
`File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
|
|
@@ -4329,42 +4345,42 @@ class R extends Kt {
|
|
|
4329
4345
|
}
|
|
4330
4346
|
}
|
|
4331
4347
|
O([
|
|
4332
|
-
ce({ prefix:
|
|
4348
|
+
ce({ prefix: ie }),
|
|
4333
4349
|
z({ value: "en" })
|
|
4334
4350
|
], R.prototype, "language");
|
|
4335
4351
|
O([
|
|
4336
|
-
ce({ prefix:
|
|
4352
|
+
ce({ prefix: ie }),
|
|
4337
4353
|
z({ value: "light" })
|
|
4338
4354
|
], R.prototype, "theme");
|
|
4339
4355
|
O([
|
|
4340
|
-
ce({ prefix:
|
|
4356
|
+
ce({ prefix: ie }),
|
|
4341
4357
|
z({ type: Boolean, value: !1 })
|
|
4342
4358
|
], R.prototype, "open");
|
|
4343
4359
|
O([
|
|
4344
4360
|
z({ type: Boolean, value: !1 })
|
|
4345
4361
|
], R.prototype, "alwaysOpen");
|
|
4346
4362
|
O([
|
|
4347
|
-
ce({ prefix:
|
|
4363
|
+
ce({ prefix: ie }),
|
|
4348
4364
|
z({ value: "false" })
|
|
4349
4365
|
], R.prototype, "connectWs");
|
|
4350
4366
|
O([
|
|
4351
|
-
ce({ prefix:
|
|
4367
|
+
ce({ prefix: ie }),
|
|
4352
4368
|
z({ value: fe() })
|
|
4353
4369
|
], R.prototype, "conversationId");
|
|
4354
4370
|
O([
|
|
4355
|
-
ce({ prefix:
|
|
4371
|
+
ce({ prefix: ie }),
|
|
4356
4372
|
z({ value: 0 })
|
|
4357
4373
|
], R.prototype, "lastConversationUpdate");
|
|
4358
4374
|
O([
|
|
4359
|
-
ce({ prefix:
|
|
4375
|
+
ce({ prefix: ie }),
|
|
4360
4376
|
z({ type: Array, value: [] })
|
|
4361
4377
|
], R.prototype, "messages");
|
|
4362
4378
|
O([
|
|
4363
|
-
ce({ prefix:
|
|
4379
|
+
ce({ prefix: ie }),
|
|
4364
4380
|
z({ value: 0 })
|
|
4365
4381
|
], R.prototype, "unreadMessages");
|
|
4366
4382
|
O([
|
|
4367
|
-
ce({ prefix:
|
|
4383
|
+
ce({ prefix: ie }),
|
|
4368
4384
|
z({
|
|
4369
4385
|
type: Array,
|
|
4370
4386
|
value: []
|
|
@@ -4409,7 +4425,7 @@ O([
|
|
|
4409
4425
|
})
|
|
4410
4426
|
], R.prototype, "actions");
|
|
4411
4427
|
O([
|
|
4412
|
-
ce({ prefix:
|
|
4428
|
+
ce({ prefix: ie }),
|
|
4413
4429
|
z({ type: Object, value: null })
|
|
4414
4430
|
], R.prototype, "form");
|
|
4415
4431
|
O([
|
|
@@ -4431,21 +4447,21 @@ O([
|
|
|
4431
4447
|
z({ type: Boolean, value: !1 })
|
|
4432
4448
|
], R.prototype, "connected");
|
|
4433
4449
|
O([
|
|
4434
|
-
ce({ prefix:
|
|
4450
|
+
ce({ prefix: ie }),
|
|
4435
4451
|
z({ value: "true" })
|
|
4436
4452
|
], R.prototype, "shouldEngage");
|
|
4437
4453
|
O([
|
|
4438
4454
|
z({ type: Boolean, value: !1 })
|
|
4439
4455
|
], R.prototype, "engage");
|
|
4440
4456
|
O([
|
|
4441
|
-
ce({ prefix:
|
|
4457
|
+
ce({ prefix: ie }),
|
|
4442
4458
|
z({ type: Boolean, value: !1 })
|
|
4443
4459
|
], R.prototype, "showNewConversation");
|
|
4444
4460
|
O([
|
|
4445
4461
|
z({ type: Boolean, value: !1 })
|
|
4446
4462
|
], R.prototype, "typingActive");
|
|
4447
4463
|
O([
|
|
4448
|
-
ce({ prefix:
|
|
4464
|
+
ce({ prefix: ie }),
|
|
4449
4465
|
z({
|
|
4450
4466
|
type: Object,
|
|
4451
4467
|
value: {
|
|
@@ -4454,6 +4470,7 @@ O([
|
|
|
4454
4470
|
url: null,
|
|
4455
4471
|
version: "current",
|
|
4456
4472
|
testMode: !1,
|
|
4473
|
+
suppressStartupForm: !1,
|
|
4457
4474
|
welcomeMessage: null,
|
|
4458
4475
|
disclaimerMessage: null,
|
|
4459
4476
|
enableShowFullDisclaimerMessage: !1,
|
|
@@ -4469,12 +4486,13 @@ O([
|
|
|
4469
4486
|
fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
|
|
4470
4487
|
fileUploadMaxFileSizeMB: 30,
|
|
4471
4488
|
enableAgentDisconnectedMessage: !1,
|
|
4472
|
-
showNewConversationOnAgentDisconnected: !1
|
|
4489
|
+
showNewConversationOnAgentDisconnected: !1,
|
|
4490
|
+
engagePopupSuppressPermanently: 0
|
|
4473
4491
|
}
|
|
4474
4492
|
})
|
|
4475
4493
|
], R.prototype, "setting");
|
|
4476
4494
|
O([
|
|
4477
|
-
ce({ prefix:
|
|
4495
|
+
ce({ prefix: ie }),
|
|
4478
4496
|
z({ type: Object, value: {} })
|
|
4479
4497
|
], R.prototype, "context");
|
|
4480
4498
|
O([
|
|
@@ -4508,11 +4526,11 @@ O([
|
|
|
4508
4526
|
z({ type: Array, value: [] })
|
|
4509
4527
|
], R.prototype, "feedbackMessages");
|
|
4510
4528
|
O([
|
|
4511
|
-
ce({ prefix:
|
|
4529
|
+
ce({ prefix: ie }),
|
|
4512
4530
|
z({ type: String, value: "" })
|
|
4513
4531
|
], R.prototype, "feedbackName");
|
|
4514
4532
|
O([
|
|
4515
|
-
ce({ prefix:
|
|
4533
|
+
ce({ prefix: ie }),
|
|
4516
4534
|
z({ type: String, value: "" })
|
|
4517
4535
|
], R.prototype, "feedbackEmail");
|
|
4518
4536
|
O([
|
|
@@ -4527,7 +4545,7 @@ O([
|
|
|
4527
4545
|
O([
|
|
4528
4546
|
z({ type: Boolean, value: !1 })
|
|
4529
4547
|
], R.prototype, "webAudioMuted");
|
|
4530
|
-
const
|
|
4548
|
+
const u = new R(), Ls = K`
|
|
4531
4549
|
${ke}
|
|
4532
4550
|
:host {
|
|
4533
4551
|
position: relative;
|
|
@@ -4653,7 +4671,7 @@ var Os = Object.defineProperty, Bs = Object.getOwnPropertyDescriptor, Ja = (a, e
|
|
|
4653
4671
|
return i && s && Os(e, t, s), s;
|
|
4654
4672
|
};
|
|
4655
4673
|
const qs = '<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>';
|
|
4656
|
-
let
|
|
4674
|
+
let Bt = class extends re {
|
|
4657
4675
|
constructor() {
|
|
4658
4676
|
super(...arguments), this.title = "ChatBot";
|
|
4659
4677
|
}
|
|
@@ -4663,32 +4681,32 @@ let Ot = class extends re {
|
|
|
4663
4681
|
}
|
|
4664
4682
|
*/
|
|
4665
4683
|
renderExp() {
|
|
4666
|
-
return
|
|
4684
|
+
return b` <header class="cb-header" part="header">
|
|
4667
4685
|
${W(
|
|
4668
|
-
|
|
4669
|
-
() =>
|
|
4670
|
-
() =>
|
|
4686
|
+
u.setting.logoUrl !== "",
|
|
4687
|
+
() => b`<img class="cb-header-logo" part="header-logo" src="${u.setting.logoUrl}" />`,
|
|
4688
|
+
() => b`<div class="cb-header-logo" part="header-logo">${G(u.setting.logoSvg)}</div>`
|
|
4671
4689
|
)}
|
|
4672
|
-
<div class="cb-header-title" part="header-title">${
|
|
4690
|
+
<div class="cb-header-title" part="header-title">${xt(this.title)}</div>
|
|
4673
4691
|
${W(
|
|
4674
|
-
|
|
4675
|
-
() =>
|
|
4676
|
-
() =>
|
|
4692
|
+
u.alwaysOpen,
|
|
4693
|
+
() => b``,
|
|
4694
|
+
() => b`<div class="cb-header-close" part="header-close">${G(qs)}</div>`
|
|
4677
4695
|
)}
|
|
4678
4696
|
</header>`;
|
|
4679
4697
|
}
|
|
4680
4698
|
render() {
|
|
4681
|
-
return
|
|
4699
|
+
return b`<header class="cb-header" part="header">
|
|
4682
4700
|
${W(
|
|
4683
|
-
|
|
4684
|
-
() =>
|
|
4685
|
-
() =>
|
|
4701
|
+
u.setting.logoUrl !== "",
|
|
4702
|
+
() => b`<img class="cb-header-img" part="header-logo" src="${u.setting.logoUrl}" />`,
|
|
4703
|
+
() => b`<div class="cb-header-logo" part="header-logo">${G(u.setting.logoSvg)}</div>`
|
|
4686
4704
|
)}
|
|
4687
4705
|
<div class="cb-header-title" part="header-title">${this.title}</div>
|
|
4688
4706
|
${W(
|
|
4689
|
-
|
|
4690
|
-
() =>
|
|
4691
|
-
() =>
|
|
4707
|
+
u.alwaysOpen,
|
|
4708
|
+
() => b`<div></div>`,
|
|
4709
|
+
() => b`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(u.setting.closeSvg)}</div>`
|
|
4692
4710
|
)}
|
|
4693
4711
|
</header>`;
|
|
4694
4712
|
}
|
|
@@ -4715,13 +4733,13 @@ let Ot = class extends re {
|
|
|
4715
4733
|
});
|
|
4716
4734
|
}
|
|
4717
4735
|
};
|
|
4718
|
-
|
|
4736
|
+
Bt.styles = Ls;
|
|
4719
4737
|
Ja([
|
|
4720
4738
|
x({ type: String, attribute: "title" })
|
|
4721
|
-
],
|
|
4722
|
-
|
|
4739
|
+
], Bt.prototype, "title", 2);
|
|
4740
|
+
Bt = Ja([
|
|
4723
4741
|
J("cb-header")
|
|
4724
|
-
],
|
|
4742
|
+
], Bt);
|
|
4725
4743
|
const Ds = K`
|
|
4726
4744
|
${ke}
|
|
4727
4745
|
.cb-footer {
|
|
@@ -4742,12 +4760,12 @@ var Fs = Object.getOwnPropertyDescriptor, js = (a, e, t, i) => {
|
|
|
4742
4760
|
(o = a[r]) && (s = o(s) || s);
|
|
4743
4761
|
return s;
|
|
4744
4762
|
};
|
|
4745
|
-
let
|
|
4763
|
+
let Zt = class extends re {
|
|
4746
4764
|
constructor() {
|
|
4747
4765
|
super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
4748
4766
|
}
|
|
4749
4767
|
render() {
|
|
4750
|
-
return
|
|
4768
|
+
return b`
|
|
4751
4769
|
<div class="cb-footer" part="footer">
|
|
4752
4770
|
yugasun@${this.year}
|
|
4753
4771
|
<a
|
|
@@ -4777,10 +4795,10 @@ let Jt = class extends re {
|
|
|
4777
4795
|
`;
|
|
4778
4796
|
}
|
|
4779
4797
|
};
|
|
4780
|
-
|
|
4781
|
-
|
|
4798
|
+
Zt.styles = Ds;
|
|
4799
|
+
Zt = js([
|
|
4782
4800
|
J("cb-footer")
|
|
4783
|
-
],
|
|
4801
|
+
], Zt);
|
|
4784
4802
|
const Hs = K`
|
|
4785
4803
|
${ke}
|
|
4786
4804
|
|
|
@@ -5232,15 +5250,15 @@ var Vs = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, je = (a, e
|
|
|
5232
5250
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5233
5251
|
return i && s && Vs(e, t, s), s;
|
|
5234
5252
|
};
|
|
5235
|
-
let
|
|
5253
|
+
let mt = class extends Fe {
|
|
5236
5254
|
constructor() {
|
|
5237
5255
|
super(...arguments), this.options = [], this.minWidth = 180;
|
|
5238
5256
|
}
|
|
5239
5257
|
render() {
|
|
5240
|
-
return
|
|
5258
|
+
return b`
|
|
5241
5259
|
<div class="menu" part="menu" style="min-width:${Math.max(this.minWidth, 180)}px">
|
|
5242
5260
|
<div class="list" role="menu">
|
|
5243
|
-
${this.options.map((a, e) =>
|
|
5261
|
+
${this.options.map((a, e) => b`
|
|
5244
5262
|
<a
|
|
5245
5263
|
class="item"
|
|
5246
5264
|
role="menuitem"
|
|
@@ -5264,7 +5282,7 @@ let gt = class extends Fe {
|
|
|
5264
5282
|
this.dispatchEvent(new CustomEvent("select", { detail: { option: e }, bubbles: !0, composed: !0 }));
|
|
5265
5283
|
}
|
|
5266
5284
|
};
|
|
5267
|
-
|
|
5285
|
+
mt.styles = K`
|
|
5268
5286
|
:host {
|
|
5269
5287
|
position: fixed; /* overlay */
|
|
5270
5288
|
left: 0;
|
|
@@ -5319,13 +5337,13 @@ gt.styles = K`
|
|
|
5319
5337
|
`;
|
|
5320
5338
|
je([
|
|
5321
5339
|
x({ type: Array })
|
|
5322
|
-
],
|
|
5340
|
+
], mt.prototype, "options", 2);
|
|
5323
5341
|
je([
|
|
5324
5342
|
x({ type: Number })
|
|
5325
|
-
],
|
|
5326
|
-
|
|
5343
|
+
], mt.prototype, "minWidth", 2);
|
|
5344
|
+
mt = je([
|
|
5327
5345
|
J("cb-split-menu")
|
|
5328
|
-
],
|
|
5346
|
+
], mt);
|
|
5329
5347
|
let Ge = class extends Fe {
|
|
5330
5348
|
constructor() {
|
|
5331
5349
|
super(...arguments), this.variant = "primary", this.label = "Select", this.options = [], this.size = "", this._menuEl = null, this._toggle = async (a) => {
|
|
@@ -5340,7 +5358,7 @@ let Ge = class extends Fe {
|
|
|
5340
5358
|
}
|
|
5341
5359
|
render() {
|
|
5342
5360
|
const a = ["split-btn", this.variant, this.size].filter(Boolean).join(" ");
|
|
5343
|
-
return
|
|
5361
|
+
return b`
|
|
5344
5362
|
<button
|
|
5345
5363
|
type="button"
|
|
5346
5364
|
class=${a}
|
|
@@ -5430,12 +5448,12 @@ je([
|
|
|
5430
5448
|
Ge = je([
|
|
5431
5449
|
J("cb-split-button")
|
|
5432
5450
|
], Ge);
|
|
5433
|
-
var Ns = Object.defineProperty, Ws = Object.getOwnPropertyDescriptor,
|
|
5451
|
+
var Ns = Object.defineProperty, Ws = Object.getOwnPropertyDescriptor, kt = (a, e, t, i) => {
|
|
5434
5452
|
for (var s = i > 1 ? void 0 : i ? Ws(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5435
5453
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5436
5454
|
return i && s && Ns(e, t, s), s;
|
|
5437
5455
|
};
|
|
5438
|
-
const
|
|
5456
|
+
const Et = Ke.noConflict(), $a = "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", Gs = K`
|
|
5439
5457
|
:host { display: block; width: 100%; color: var(--cb-fg, #111827); }
|
|
5440
5458
|
|
|
5441
5459
|
/* CARD */
|
|
@@ -5545,21 +5563,21 @@ let Me = class extends Fe {
|
|
|
5545
5563
|
renderCard(a) {
|
|
5546
5564
|
const { title: e, subtitle: t, image_url: i, image_alt: s, buttons: r = [] } = a, o = (a.url || "").trim(), f = (a.target || "").trim(), p = o.length > 0, v = a.info?.text, k = typeof a.info?.rating == "number" ? a.info.rating : typeof a.rating == "number" ? a.rating : void 0, w = !!v, _ = typeof k == "number", P = ["card__info", w && _ ? "card__info--between" : ""].filter(Boolean).join(" "), E = r.some((N) => (N.type ?? "").toLowerCase() === "primary"), M = r.some((N) => (N.type ?? "").toLowerCase() === "secondary"), L = ["card__actions", E && M ? "card__actions--between" : ""].filter(Boolean).join(" "), C = () => {
|
|
5547
5565
|
if (!i) return Ae;
|
|
5548
|
-
const N =
|
|
5549
|
-
return p ?
|
|
5550
|
-
}, Z = () => e ? p && !i ?
|
|
5551
|
-
return
|
|
5566
|
+
const N = b`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
|
|
5567
|
+
return p ? b`<a class="card__image-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false" aria-label=${e ? `Open: ${e}` : "Open"}>${N}</a>` : N;
|
|
5568
|
+
}, Z = () => e ? p && !i ? b`<h3 class="card__title"><a class="card__title-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false">${e}</a></h3>` : b`<h3 class="card__title">${e}</h3>` : Ae;
|
|
5569
|
+
return b`
|
|
5552
5570
|
<div class="card" role="group" aria-label=${e ? `Card: ${e}` : "Card"}>
|
|
5553
5571
|
${C()}
|
|
5554
5572
|
<div class="card__content">
|
|
5555
5573
|
${Z()}
|
|
5556
|
-
${t ?
|
|
5557
|
-
${w || _ ?
|
|
5574
|
+
${t ? b`<div class="card__subtitle">${t}</div>` : Ae}
|
|
5575
|
+
${w || _ ? b`
|
|
5558
5576
|
<div class=${P}>
|
|
5559
|
-
${w ?
|
|
5577
|
+
${w ? b`<div class="card__info-text">${v}</div>` : Ae}
|
|
5560
5578
|
${_ ? this.renderRating(k) : Ae}
|
|
5561
5579
|
</div>` : Ae}
|
|
5562
|
-
${r.length ?
|
|
5580
|
+
${r.length ? b`
|
|
5563
5581
|
<div class=${L}>
|
|
5564
5582
|
${r.map((N, X) => this.renderAnyButton(N, X))}
|
|
5565
5583
|
</div>` : Ae}
|
|
@@ -5573,7 +5591,7 @@ let Me = class extends Fe {
|
|
|
5573
5591
|
}
|
|
5574
5592
|
renderSingleButton(a) {
|
|
5575
5593
|
const t = `card-btn ${(a.type ?? "primary").toLowerCase() === "secondary" ? "secondary" : "primary"}`, i = a.text || "Open";
|
|
5576
|
-
return a.url ?
|
|
5594
|
+
return a.url ? b`
|
|
5577
5595
|
<a
|
|
5578
5596
|
class=${t}
|
|
5579
5597
|
href=${a.url}
|
|
@@ -5583,7 +5601,7 @@ let Me = class extends Fe {
|
|
|
5583
5601
|
@click=${() => this.emitButtonClick(a)}
|
|
5584
5602
|
@pointerdown=${(s) => s.stopPropagation()}
|
|
5585
5603
|
>${i}</a>
|
|
5586
|
-
` :
|
|
5604
|
+
` : b`
|
|
5587
5605
|
<button
|
|
5588
5606
|
type="button"
|
|
5589
5607
|
class=${t}
|
|
@@ -5594,7 +5612,7 @@ let Me = class extends Fe {
|
|
|
5594
5612
|
}
|
|
5595
5613
|
renderSplitButton(a, e) {
|
|
5596
5614
|
const t = (a.type ?? "primary").toLowerCase();
|
|
5597
|
-
return
|
|
5615
|
+
return b`
|
|
5598
5616
|
<cb-split-button
|
|
5599
5617
|
.label=${a.text || "Select"}
|
|
5600
5618
|
.variant=${t}
|
|
@@ -5610,7 +5628,7 @@ let Me = class extends Fe {
|
|
|
5610
5628
|
/* ----------------- Rating ----------------- */
|
|
5611
5629
|
renderRating(a) {
|
|
5612
5630
|
const e = Math.max(0, Math.min(5, a)), t = [0, 1, 2, 3, 4].map((i) => Math.max(0, Math.min(1, e - i)));
|
|
5613
|
-
return
|
|
5631
|
+
return b`<div class="rating" aria-label="${e} out of 5 stars">
|
|
5614
5632
|
<span class="stars">${t.map((i) => this.renderStar(i))}</span>
|
|
5615
5633
|
</div>`;
|
|
5616
5634
|
}
|
|
@@ -5620,7 +5638,7 @@ let Me = class extends Fe {
|
|
|
5620
5638
|
-webkit-mask: linear-gradient(to right, #000 0, #000 ${t}, transparent ${t}, transparent 100%);
|
|
5621
5639
|
mask: linear-gradient(to right, #000 0, #000 ${t}, transparent ${t}, transparent 100%);
|
|
5622
5640
|
`;
|
|
5623
|
-
return
|
|
5641
|
+
return b`
|
|
5624
5642
|
<span class="star" role="img" aria-label="${e.toFixed(2)} filled">
|
|
5625
5643
|
<svg class="star__base" viewBox="0 0 16 16" aria-hidden="true"><path d="${$a}"/></svg>
|
|
5626
5644
|
<div class="star__fill" style="${s}">
|
|
@@ -5632,7 +5650,7 @@ let Me = class extends Fe {
|
|
|
5632
5650
|
/* ----------------- Carousel ----------------- */
|
|
5633
5651
|
renderCarouselSimple(a) {
|
|
5634
5652
|
const e = Array.isArray(a.items) ? a.items : [], t = Math.max(1, a.slidesPerPage || 1), i = t > 1 ? `width: calc((100% - ${(t - 1) * 0.75}em) / ${t}); max-width: none;` : "";
|
|
5635
|
-
return
|
|
5653
|
+
return b`
|
|
5636
5654
|
<div class="hc-wrapper">
|
|
5637
5655
|
<button
|
|
5638
5656
|
type="button"
|
|
@@ -5643,7 +5661,7 @@ let Me = class extends Fe {
|
|
|
5643
5661
|
>❮</button>
|
|
5644
5662
|
|
|
5645
5663
|
<div class="horizontal-carousel" @scroll=${this.onCarouselScroll}>
|
|
5646
|
-
${e.map((s) =>
|
|
5664
|
+
${e.map((s) => b`
|
|
5647
5665
|
<div class="horizontal-carousel__item" style=${i}>
|
|
5648
5666
|
<cb-block .block=${s}></cb-block>
|
|
5649
5667
|
</div>
|
|
@@ -5708,7 +5726,7 @@ let Me = class extends Fe {
|
|
|
5708
5726
|
}
|
|
5709
5727
|
}
|
|
5710
5728
|
renderUnknown(a) {
|
|
5711
|
-
return
|
|
5729
|
+
return b`<div class="unknown">Unknown block type: <code>${a?.type ?? "—"}</code></div>`;
|
|
5712
5730
|
}
|
|
5713
5731
|
/* ----------------- handle clicks ----------------- */
|
|
5714
5732
|
emitButtonClick(a) {
|
|
@@ -5743,7 +5761,7 @@ let Me = class extends Fe {
|
|
|
5743
5761
|
}
|
|
5744
5762
|
// @ts-ignore
|
|
5745
5763
|
async addToCartAndSetAttributes({ variantId: a, quantity: e, attributes: t }) {
|
|
5746
|
-
|
|
5764
|
+
Et.info(`c7o: Adding to Shopify cart, variantId=${a}, quantity=${e}, attributes=`, t);
|
|
5747
5765
|
const i = window.Shopify?.routes?.root || "/", s = this.findCartSectionIdsInDOM(), r = {
|
|
5748
5766
|
items: [{ id: Number(a), quantity: e }]
|
|
5749
5767
|
};
|
|
@@ -5755,7 +5773,7 @@ let Me = class extends Fe {
|
|
|
5755
5773
|
body: JSON.stringify(r)
|
|
5756
5774
|
});
|
|
5757
5775
|
if (!o.ok) {
|
|
5758
|
-
|
|
5776
|
+
Et.error("c7o: cart/add.js failed"), Ka({
|
|
5759
5777
|
message: "Unable to add item to cart.",
|
|
5760
5778
|
variant: "danger",
|
|
5761
5779
|
duration: 2800,
|
|
@@ -5763,24 +5781,24 @@ let Me = class extends Fe {
|
|
|
5763
5781
|
});
|
|
5764
5782
|
return;
|
|
5765
5783
|
}
|
|
5766
|
-
await o.json(),
|
|
5784
|
+
await o.json(), Et.info("c7o: cart/add.js - cart updated"), Et.info("c7o: reloading window after cart update"), window.location.reload();
|
|
5767
5785
|
}
|
|
5768
5786
|
};
|
|
5769
5787
|
Me.styles = [Gs, Za, Qa];
|
|
5770
5788
|
Me.DRAG_THRESHOLD_PX = 10;
|
|
5771
|
-
|
|
5789
|
+
kt([
|
|
5772
5790
|
x({ type: Object })
|
|
5773
5791
|
], Me.prototype, "block", 2);
|
|
5774
|
-
|
|
5792
|
+
kt([
|
|
5775
5793
|
xe(".horizontal-carousel")
|
|
5776
5794
|
], Me.prototype, "_hCarousel", 2);
|
|
5777
|
-
|
|
5795
|
+
kt([
|
|
5778
5796
|
Va()
|
|
5779
5797
|
], Me.prototype, "_canPrev", 2);
|
|
5780
|
-
|
|
5798
|
+
kt([
|
|
5781
5799
|
Va()
|
|
5782
5800
|
], Me.prototype, "_canNext", 2);
|
|
5783
|
-
Me =
|
|
5801
|
+
Me = kt([
|
|
5784
5802
|
J("cb-block")
|
|
5785
5803
|
], Me);
|
|
5786
5804
|
var Xs = Object.defineProperty, Ys = Object.getOwnPropertyDescriptor, ei = (a, e, t, i) => {
|
|
@@ -5788,19 +5806,19 @@ var Xs = Object.defineProperty, Ys = Object.getOwnPropertyDescriptor, ei = (a, e
|
|
|
5788
5806
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5789
5807
|
return i && s && Xs(e, t, s), s;
|
|
5790
5808
|
};
|
|
5791
|
-
let
|
|
5809
|
+
let qt = class extends Fe {
|
|
5792
5810
|
constructor() {
|
|
5793
5811
|
super(...arguments), this.blocks = [];
|
|
5794
5812
|
}
|
|
5795
5813
|
render() {
|
|
5796
|
-
return !this.blocks || this.blocks.length === 0 ? Ae :
|
|
5814
|
+
return !this.blocks || this.blocks.length === 0 ? Ae : b`
|
|
5797
5815
|
<div class="stack">
|
|
5798
|
-
${this.blocks.map((a) =>
|
|
5816
|
+
${this.blocks.map((a) => b`<cb-block .block=${a}></cb-block>`)}
|
|
5799
5817
|
</div>
|
|
5800
5818
|
`;
|
|
5801
5819
|
}
|
|
5802
5820
|
};
|
|
5803
|
-
|
|
5821
|
+
qt.styles = K`
|
|
5804
5822
|
:host {
|
|
5805
5823
|
display: block;
|
|
5806
5824
|
}
|
|
@@ -5813,11 +5831,11 @@ Bt.styles = K`
|
|
|
5813
5831
|
`;
|
|
5814
5832
|
ei([
|
|
5815
5833
|
x({ type: Array })
|
|
5816
|
-
],
|
|
5817
|
-
|
|
5834
|
+
], qt.prototype, "blocks", 2);
|
|
5835
|
+
qt = ei([
|
|
5818
5836
|
J("cb-blocks")
|
|
5819
|
-
],
|
|
5820
|
-
var
|
|
5837
|
+
], qt);
|
|
5838
|
+
var zt = { exports: {} }, Ks = zt.exports, Pa;
|
|
5821
5839
|
function Js() {
|
|
5822
5840
|
return Pa || (Pa = 1, (function(a, e) {
|
|
5823
5841
|
(function(t, i) {
|
|
@@ -5868,32 +5886,32 @@ function Js() {
|
|
|
5868
5886
|
return n;
|
|
5869
5887
|
}
|
|
5870
5888
|
function v(n, c) {
|
|
5871
|
-
if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]),
|
|
5889
|
+
if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), ba(n) != 0) {
|
|
5872
5890
|
if (Pe(n) && !Ve(n)) for (var l = n.length, d = 0; d < l && c.call(n[d], n[d], d, n) !== !1; d++) ;
|
|
5873
5891
|
else if (Ve(n)) {
|
|
5874
|
-
for (var h in n) if (
|
|
5892
|
+
for (var h in n) if (se(n, h) && c.call(n[h], n[h], h, n) === !1) break;
|
|
5875
5893
|
}
|
|
5876
5894
|
}
|
|
5877
5895
|
}
|
|
5878
5896
|
function k(n) {
|
|
5879
5897
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [], h = { all: d, evt: null, found: null };
|
|
5880
|
-
return c && l &&
|
|
5898
|
+
return c && l && ba(d) > 0 && v(d, (function(m, g) {
|
|
5881
5899
|
if (m.eventName == c && m.fn.toString() == l.toString()) return h.found = !0, h.evt = g, !1;
|
|
5882
5900
|
})), h;
|
|
5883
5901
|
}
|
|
5884
5902
|
function w(n) {
|
|
5885
5903
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, h = c.avoidDuplicate, m = h === void 0 || h, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A, I = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
|
|
5886
5904
|
function B(q) {
|
|
5887
|
-
|
|
5905
|
+
H(d) && d.call(I, q, this), y && B.destroy();
|
|
5888
5906
|
}
|
|
5889
|
-
return
|
|
5907
|
+
return V($) && ($ = document.querySelectorAll($)), B.destroy = function() {
|
|
5890
5908
|
v($, (function(q) {
|
|
5891
|
-
var
|
|
5892
|
-
|
|
5909
|
+
var F = k(q, n, B);
|
|
5910
|
+
F.found && F.all.splice(F.evt, 1), q.removeEventListener && q.removeEventListener(n, B, S);
|
|
5893
5911
|
}));
|
|
5894
5912
|
}, v($, (function(q) {
|
|
5895
|
-
var
|
|
5896
|
-
(q.addEventListener && m && !
|
|
5913
|
+
var F = k(q, n, B);
|
|
5914
|
+
(q.addEventListener && m && !F.found || !m) && (q.addEventListener(n, B, S), F.all.push({ eventName: n, fn: B }));
|
|
5897
5915
|
})), B;
|
|
5898
5916
|
}
|
|
5899
5917
|
function _(n, c) {
|
|
@@ -5918,14 +5936,14 @@ function Js() {
|
|
|
5918
5936
|
function L(n) {
|
|
5919
5937
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
|
|
5920
5938
|
if (!n || c === "") return !1;
|
|
5921
|
-
if (c === "none") return
|
|
5939
|
+
if (c === "none") return H(l) && l(), !1;
|
|
5922
5940
|
var d = He(), h = c.split(" ");
|
|
5923
5941
|
v(h, (function(m) {
|
|
5924
5942
|
_(n, "g" + m);
|
|
5925
5943
|
})), w(d, { onElement: n, avoidDuplicate: !1, once: !0, withCallback: function(m, g) {
|
|
5926
5944
|
v(h, (function(y) {
|
|
5927
5945
|
P(g, "g" + y);
|
|
5928
|
-
})),
|
|
5946
|
+
})), H(l) && l();
|
|
5929
5947
|
} });
|
|
5930
5948
|
}
|
|
5931
5949
|
function C(n) {
|
|
@@ -5962,18 +5980,18 @@ function Js() {
|
|
|
5962
5980
|
}
|
|
5963
5981
|
}
|
|
5964
5982
|
function he(n, c, l) {
|
|
5965
|
-
if (
|
|
5966
|
-
else if (
|
|
5983
|
+
if (ue(n)) console.error("Inject assets error");
|
|
5984
|
+
else if (H(c) && (l = c, c = !1), V(c) && c in window) H(l) && l();
|
|
5967
5985
|
else {
|
|
5968
5986
|
var d;
|
|
5969
5987
|
if (n.indexOf(".css") !== -1) {
|
|
5970
|
-
if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (
|
|
5988
|
+
if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (H(l) && l());
|
|
5971
5989
|
var h = document.getElementsByTagName("head")[0], m = h.querySelectorAll('link[rel="stylesheet"]'), g = document.createElement("link");
|
|
5972
|
-
return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ? h.insertBefore(g, m[0]) : h.appendChild(g), void (
|
|
5990
|
+
return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ? h.insertBefore(g, m[0]) : h.appendChild(g), void (H(l) && l());
|
|
5973
5991
|
}
|
|
5974
5992
|
if ((d = document.querySelectorAll('script[src="' + n + '"]')) && d.length > 0) {
|
|
5975
|
-
if (
|
|
5976
|
-
if (
|
|
5993
|
+
if (H(l)) {
|
|
5994
|
+
if (V(c)) return ae((function() {
|
|
5977
5995
|
return window[c] !== void 0;
|
|
5978
5996
|
}), (function() {
|
|
5979
5997
|
l();
|
|
@@ -5983,8 +6001,8 @@ function Js() {
|
|
|
5983
6001
|
} else {
|
|
5984
6002
|
var y = document.createElement("script");
|
|
5985
6003
|
y.type = "text/javascript", y.src = n, y.onload = function() {
|
|
5986
|
-
if (
|
|
5987
|
-
if (
|
|
6004
|
+
if (H(l)) {
|
|
6005
|
+
if (V(c)) return ae((function() {
|
|
5988
6006
|
return window[c] !== void 0;
|
|
5989
6007
|
}), (function() {
|
|
5990
6008
|
l();
|
|
@@ -5998,10 +6016,10 @@ function Js() {
|
|
|
5998
6016
|
function ge() {
|
|
5999
6017
|
return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
|
|
6000
6018
|
}
|
|
6001
|
-
function
|
|
6019
|
+
function H(n) {
|
|
6002
6020
|
return typeof n == "function";
|
|
6003
6021
|
}
|
|
6004
|
-
function
|
|
6022
|
+
function V(n) {
|
|
6005
6023
|
return typeof n == "string";
|
|
6006
6024
|
}
|
|
6007
6025
|
function U(n) {
|
|
@@ -6014,24 +6032,24 @@ function Js() {
|
|
|
6014
6032
|
return n && n.length && isFinite(n.length);
|
|
6015
6033
|
}
|
|
6016
6034
|
function Ve(n) {
|
|
6017
|
-
return o(n) === "object" && n != null && !
|
|
6035
|
+
return o(n) === "object" && n != null && !H(n) && !$e(n);
|
|
6018
6036
|
}
|
|
6019
|
-
function
|
|
6037
|
+
function ue(n) {
|
|
6020
6038
|
return n == null;
|
|
6021
6039
|
}
|
|
6022
|
-
function
|
|
6040
|
+
function se(n, c) {
|
|
6023
6041
|
return n !== null && hasOwnProperty.call(n, c);
|
|
6024
6042
|
}
|
|
6025
|
-
function
|
|
6043
|
+
function ba(n) {
|
|
6026
6044
|
if (Ve(n)) {
|
|
6027
6045
|
if (n.keys) return n.keys().length;
|
|
6028
6046
|
var c = 0;
|
|
6029
|
-
for (var l in n)
|
|
6047
|
+
for (var l in n) se(n, l) && c++;
|
|
6030
6048
|
return c;
|
|
6031
6049
|
}
|
|
6032
6050
|
return n.length;
|
|
6033
6051
|
}
|
|
6034
|
-
function
|
|
6052
|
+
function _t(n) {
|
|
6035
6053
|
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
6036
6054
|
}
|
|
6037
6055
|
function pa() {
|
|
@@ -6172,8 +6190,8 @@ function Js() {
|
|
|
6172
6190
|
function ki(n, c, l, d) {
|
|
6173
6191
|
var h = n.querySelector(".gslide-media"), m = new Image(), g = "gSlideTitle_" + l, y = "gSlideDesc_" + l;
|
|
6174
6192
|
m.addEventListener("load", (function() {
|
|
6175
|
-
|
|
6176
|
-
}), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "",
|
|
6193
|
+
H(d) && d();
|
|
6194
|
+
}), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", ue(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height), h.insertBefore(m, h.firstChild);
|
|
6177
6195
|
}
|
|
6178
6196
|
function _i(n, c, l, d) {
|
|
6179
6197
|
var h = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
|
|
@@ -6187,11 +6205,11 @@ function Js() {
|
|
|
6187
6205
|
var q = '<video id="' + g + '" ';
|
|
6188
6206
|
q += 'style="background:#000; max-width: '.concat(c.width, ';" '), q += 'preload="metadata" ', q += 'x-webkit-airplay="allow" ', q += "playsinline ", q += "controls ", q += 'class="gvideo-local">', q += '<source src="'.concat(I, '">'), B = X(q += "</video>");
|
|
6189
6207
|
}
|
|
6190
|
-
var
|
|
6191
|
-
_(S, "".concat($, "-video gvideo")), S.appendChild(
|
|
6192
|
-
var ee =
|
|
6193
|
-
me.on("ready", (function(
|
|
6194
|
-
A[g] =
|
|
6208
|
+
var F = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
|
|
6209
|
+
_(S, "".concat($, "-video gvideo")), S.appendChild(F), S.setAttribute("data-id", g), S.setAttribute("data-index", l);
|
|
6210
|
+
var ee = se(h.settings.plyr, "config") ? h.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
|
|
6211
|
+
me.on("ready", (function(be) {
|
|
6212
|
+
A[g] = be.detail.plyr, H(d) && d();
|
|
6195
6213
|
})), ae((function() {
|
|
6196
6214
|
return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
|
|
6197
6215
|
}), (function() {
|
|
@@ -6204,8 +6222,8 @@ function Js() {
|
|
|
6204
6222
|
n.type === "enterfullscreen" && _(c, "fullscreen"), n.type === "exitfullscreen" && P(c, "fullscreen");
|
|
6205
6223
|
}
|
|
6206
6224
|
function Si(n, c, l, d) {
|
|
6207
|
-
var h, m = this, g = n.querySelector(".gslide-media"), y = !(!
|
|
6208
|
-
if (A && (
|
|
6225
|
+
var h, m = this, g = n.querySelector(".gslide-media"), y = !(!se(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!se(c, "content") || !c.content) && c.content;
|
|
6226
|
+
if (A && (V(A) && (h = X('<div class="ginlined-content">'.concat(A, "</div>"))), U(A))) {
|
|
6209
6227
|
A.style.display == "none" && (A.style.display = "block");
|
|
6210
6228
|
var S = document.createElement("div");
|
|
6211
6229
|
S.className = "ginlined-content", S.appendChild(A), h = S;
|
|
@@ -6219,13 +6237,13 @@ function Js() {
|
|
|
6219
6237
|
if (!h) return console.error("Unable to append inline slide content", c), !1;
|
|
6220
6238
|
g.style.height = c.height, g.style.width = c.width, g.appendChild(h), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(B) {
|
|
6221
6239
|
B.preventDefault(), m.close();
|
|
6222
|
-
} }),
|
|
6240
|
+
} }), H(d) && d();
|
|
6223
6241
|
}
|
|
6224
6242
|
function Ci(n, c, l, d) {
|
|
6225
6243
|
var h = n.querySelector(".gslide-media"), m = (function(g) {
|
|
6226
6244
|
var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
|
|
6227
6245
|
return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
|
|
6228
|
-
$.onload = null, _($, "node-ready"),
|
|
6246
|
+
$.onload = null, _($, "node-ready"), H(S) && S();
|
|
6229
6247
|
}, I && I.appendChild($), $;
|
|
6230
6248
|
})({ url: c.href, callback: d });
|
|
6231
6249
|
h.parentNode.style.maxWidth = c.width, h.parentNode.style.height = c.height, h.appendChild(m);
|
|
@@ -6239,33 +6257,33 @@ function Js() {
|
|
|
6239
6257
|
} }, { key: "parseConfig", value: function(n, c) {
|
|
6240
6258
|
var l = this, d = p({ descPosition: c.descPosition }, this.defaults);
|
|
6241
6259
|
if (Ve(n) && !U(n)) {
|
|
6242
|
-
|
|
6260
|
+
se(n, "type") || (se(n, "content") && n.content ? n.type = "inline" : se(n, "href") && (n.type = this.sourceType(n.href)));
|
|
6243
6261
|
var h = p(d, n);
|
|
6244
6262
|
return this.setSize(h, c), h;
|
|
6245
6263
|
}
|
|
6246
6264
|
var m = "", g = n.getAttribute("data-glightbox"), y = n.nodeName.toLowerCase();
|
|
6247
|
-
if (y === "a" && (m = n.href), y === "img" && (m = n.src, d.alt = n.alt), d.href = m, v(d, (function(q,
|
|
6248
|
-
|
|
6249
|
-
var ee = n.dataset[
|
|
6250
|
-
|
|
6251
|
-
})), d.content && (d.type = "inline"), !d.type && m && (d.type = this.sourceType(m)),
|
|
6265
|
+
if (y === "a" && (m = n.href), y === "img" && (m = n.src, d.alt = n.alt), d.href = m, v(d, (function(q, F) {
|
|
6266
|
+
se(c, F) && F !== "width" && (d[F] = c[F]);
|
|
6267
|
+
var ee = n.dataset[F];
|
|
6268
|
+
ue(ee) || (d[F] = l.sanitizeValue(ee));
|
|
6269
|
+
})), d.content && (d.type = "inline"), !d.type && m && (d.type = this.sourceType(m)), ue(g)) {
|
|
6252
6270
|
if (!d.title && y == "a") {
|
|
6253
6271
|
var A = n.title;
|
|
6254
|
-
|
|
6272
|
+
ue(A) || A === "" || (d.title = A);
|
|
6255
6273
|
}
|
|
6256
6274
|
if (!d.title && y == "img") {
|
|
6257
6275
|
var S = n.alt;
|
|
6258
|
-
|
|
6276
|
+
ue(S) || S === "" || (d.title = S);
|
|
6259
6277
|
}
|
|
6260
6278
|
} else {
|
|
6261
6279
|
var I = [];
|
|
6262
|
-
v(d, (function(q,
|
|
6263
|
-
I.push(";\\s?" +
|
|
6264
|
-
})), I = I.join("\\s?:|"), g.trim() !== "" && v(d, (function(q,
|
|
6265
|
-
var ee = g, me = new RegExp("s?" +
|
|
6266
|
-
if (
|
|
6267
|
-
var Le =
|
|
6268
|
-
d[
|
|
6280
|
+
v(d, (function(q, F) {
|
|
6281
|
+
I.push(";\\s?" + F);
|
|
6282
|
+
})), I = I.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, F) {
|
|
6283
|
+
var ee = g, me = new RegExp("s?" + F + "s?:s?(.*?)(" + I + "s?:|$)"), be = ee.match(me);
|
|
6284
|
+
if (be && be.length && be[1]) {
|
|
6285
|
+
var Le = be[1].trim().replace(/;\s*$/, "");
|
|
6286
|
+
d[F] = l.sanitizeValue(Le);
|
|
6269
6287
|
}
|
|
6270
6288
|
}));
|
|
6271
6289
|
}
|
|
@@ -6285,27 +6303,27 @@ function Js() {
|
|
|
6285
6303
|
return this.setSize(d, c, n), this.slideConfig = d, d;
|
|
6286
6304
|
} }, { key: "setSize", value: function(n, c) {
|
|
6287
6305
|
var l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n.type == "video" ? this.checkSize(c.videosWidth) : this.checkSize(c.width), h = this.checkSize(c.height);
|
|
6288
|
-
return n.width =
|
|
6306
|
+
return n.width = se(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = se(n, "height") && n.height !== "" ? this.checkSize(n.height) : h, l && n.type == "image" && (n._hasCustomWidth = !!l.dataset.width, n._hasCustomHeight = !!l.dataset.height), n;
|
|
6289
6307
|
} }, { key: "checkSize", value: function(n) {
|
|
6290
|
-
return
|
|
6308
|
+
return _t(n) ? "".concat(n, "px") : n;
|
|
6291
6309
|
} }, { key: "sanitizeValue", value: function(n) {
|
|
6292
6310
|
return n !== "true" && n !== "false" ? n : n === "true";
|
|
6293
|
-
} }]),
|
|
6311
|
+
} }]), St = s((function n(c, l, d) {
|
|
6294
6312
|
t(this, n), this.element = c, this.instance = l, this.index = d;
|
|
6295
6313
|
}), [{ key: "setContent", value: function() {
|
|
6296
6314
|
var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
|
|
6297
6315
|
if (E(c, "loaded")) return !1;
|
|
6298
6316
|
var d = this.instance.settings, h = this.slideConfig, m = ge();
|
|
6299
|
-
|
|
6300
|
-
var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), I = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), B = l, q = "gSlideTitle_" + this.index,
|
|
6301
|
-
if (
|
|
6302
|
-
|
|
6303
|
-
}), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S), I && h.description !== "" ? (I.id =
|
|
6304
|
-
if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new ga({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ?
|
|
6317
|
+
H(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
|
|
6318
|
+
var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), I = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), B = l, q = "gSlideTitle_" + this.index, F = "gSlideDesc_" + this.index;
|
|
6319
|
+
if (H(d.afterSlideLoad) && (B = function() {
|
|
6320
|
+
H(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
|
|
6321
|
+
}), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S), I && h.description !== "" ? (I.id = F, m && d.moreLength > 0 ? (h.smallDescription = this.slideShortDesc(h.description, d.moreLength, d.moreText), I.innerHTML = h.smallDescription, this.descriptionEvents(I, h)) : I.innerHTML = h.description) : I.parentNode.removeChild(I), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
|
|
6322
|
+
if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new ga({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? H(B) && B() : ki(c, h, this.index, (function() {
|
|
6305
6323
|
var ee = c.querySelector("img");
|
|
6306
6324
|
h.draggable && new ga({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), h.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new xi(ee, c, (function() {
|
|
6307
6325
|
n.instance.resize();
|
|
6308
|
-
}))),
|
|
6326
|
+
}))), H(B) && B();
|
|
6309
6327
|
})));
|
|
6310
6328
|
Ci.apply(this, [c, h, this.index, B]);
|
|
6311
6329
|
} else _i.apply(this.instance, [c, h, this.index, B]);
|
|
@@ -6337,12 +6355,12 @@ function Js() {
|
|
|
6337
6355
|
var n = new Ai(this.instance.settings.slideExtraAttributes);
|
|
6338
6356
|
return this.slideConfig = n.parseConfig(this.element, this.instance.settings), this.slideConfig;
|
|
6339
6357
|
} }]);
|
|
6340
|
-
function
|
|
6358
|
+
function Ct(n) {
|
|
6341
6359
|
return Math.sqrt(n.x * n.x + n.y * n.y);
|
|
6342
6360
|
}
|
|
6343
6361
|
function Mi(n, c) {
|
|
6344
6362
|
var l = (function(d, h) {
|
|
6345
|
-
var m =
|
|
6363
|
+
var m = Ct(d) * Ct(h);
|
|
6346
6364
|
if (m === 0) return 0;
|
|
6347
6365
|
var g = (function(y, A) {
|
|
6348
6366
|
return y.x * A.x + y.y * A.y;
|
|
@@ -6383,7 +6401,7 @@ function Js() {
|
|
|
6383
6401
|
if (n.touches.length > 1) {
|
|
6384
6402
|
this._cancelLongTap(), this._cancelSingleTap();
|
|
6385
6403
|
var l = { x: n.touches[1].pageX - this.x1, y: n.touches[1].pageY - this.y1 };
|
|
6386
|
-
c.x = l.x, c.y = l.y, this.pinchStartLen =
|
|
6404
|
+
c.x = l.x, c.y = l.y, this.pinchStartLen = Ct(c), this.multipointStart.dispatch(n, this.element);
|
|
6387
6405
|
}
|
|
6388
6406
|
this._preventTap = !1, this.longTapTimeout = setTimeout((function() {
|
|
6389
6407
|
this.longTap.dispatch(n, this.element), this._preventTap = !0;
|
|
@@ -6394,7 +6412,7 @@ function Js() {
|
|
|
6394
6412
|
var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, h = n.touches[0].pageY;
|
|
6395
6413
|
if (this.isDoubleTap = !1, l > 1) {
|
|
6396
6414
|
var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - h };
|
|
6397
|
-
c.x !== null && (this.pinchStartLen > 0 && (n.zoom =
|
|
6415
|
+
c.x !== null && (this.pinchStartLen > 0 && (n.zoom = Ct(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (h - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
|
|
6398
6416
|
} else {
|
|
6399
6417
|
if (this.x2 !== null) {
|
|
6400
6418
|
n.deltaX = d - this.x2, n.deltaY = h - this.y2;
|
|
@@ -6434,7 +6452,7 @@ function Js() {
|
|
|
6434
6452
|
} }, { key: "destroy", value: function() {
|
|
6435
6453
|
return this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null, window.removeEventListener("scroll", this._cancelAllHandler), null;
|
|
6436
6454
|
} }]);
|
|
6437
|
-
function
|
|
6455
|
+
function Wt(n) {
|
|
6438
6456
|
var c = (function() {
|
|
6439
6457
|
var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
|
|
6440
6458
|
for (g in A) if (y.style[g] !== void 0) return A[g];
|
|
@@ -6445,57 +6463,57 @@ function Js() {
|
|
|
6445
6463
|
}
|
|
6446
6464
|
function Ei(n) {
|
|
6447
6465
|
if (n.events.hasOwnProperty("touch")) return !1;
|
|
6448
|
-
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1,
|
|
6466
|
+
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1, F = !1, ee = !1, me = null, be = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, xa = 0, ka = 0, Li = document.getElementById("glightbox-slider"), At = document.querySelector(".goverlay"), Ri = new Ii(Li, { touchStart: function(Y) {
|
|
6449
6467
|
if (y = !0, (E(Y.targetTouches[0].target, "ginner-container") || M(Y.targetTouches[0].target, ".gslide-desc") || Y.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(Y.targetTouches[0].target, ".gslide-inline") && !E(Y.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
|
|
6450
|
-
if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, xa = Y.targetTouches[0].clientX, ka = Y.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), I = null, E(S, "gslide-image") && (I = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(
|
|
6468
|
+
if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, xa = Y.targetTouches[0].clientX, ka = Y.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), I = null, E(S, "gslide-image") && (I = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(At, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
|
|
6451
6469
|
Y.preventDefault();
|
|
6452
6470
|
}
|
|
6453
6471
|
}, touchMove: function(Y) {
|
|
6454
|
-
if (y && (Se = Y.targetTouches[0], !
|
|
6472
|
+
if (y && (Se = Y.targetTouches[0], !F && !ee)) {
|
|
6455
6473
|
if (d && d.offsetHeight > g) {
|
|
6456
6474
|
var de = _e.pageX - Se.pageX;
|
|
6457
6475
|
if (Math.abs(de) <= 13) return !1;
|
|
6458
6476
|
}
|
|
6459
6477
|
$ = !0;
|
|
6460
|
-
var Ue,
|
|
6461
|
-
if (Math.abs(Oi) > Math.abs(Bi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && I && (Ue = 1 - Math.abs(l) / g,
|
|
6478
|
+
var Ue, Mt = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi = xa - Mt, Bi = ka - zi;
|
|
6479
|
+
if (Math.abs(Oi) > Math.abs(Bi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && I && (Ue = 1 - Math.abs(l) / g, At.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !I) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
|
|
6462
6480
|
C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
|
|
6463
6481
|
}
|
|
6464
6482
|
}, touchEnd: function() {
|
|
6465
6483
|
if (y) {
|
|
6466
|
-
if ($ = !1, ee ||
|
|
6484
|
+
if ($ = !1, ee || F) return Le = me, void (oe = be);
|
|
6467
6485
|
var Y = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
|
|
6468
|
-
if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(
|
|
6486
|
+
if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(At, "greset"), At.style.opacity = 1, Wt(S)) : void 0;
|
|
6469
6487
|
n.close();
|
|
6470
6488
|
}
|
|
6471
6489
|
}, multipointEnd: function() {
|
|
6472
6490
|
setTimeout((function() {
|
|
6473
|
-
|
|
6491
|
+
F = !1;
|
|
6474
6492
|
}), 50);
|
|
6475
6493
|
}, multipointStart: function() {
|
|
6476
|
-
|
|
6494
|
+
F = !0, B = q || 1;
|
|
6477
6495
|
}, pinch: function(Y) {
|
|
6478
6496
|
if (!I || $) return !1;
|
|
6479
|
-
|
|
6497
|
+
F = !0, I.scaleX = I.scaleY = B * Y.zoom;
|
|
6480
6498
|
var de = B * Y.zoom;
|
|
6481
|
-
if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null,
|
|
6499
|
+
if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null, be = null, void I.setAttribute("style", "");
|
|
6482
6500
|
de > 4.5 && (de = 4.5), I.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
|
|
6483
6501
|
}, pressMove: function(Y) {
|
|
6484
|
-
if (ee && !
|
|
6502
|
+
if (ee && !F) {
|
|
6485
6503
|
var de = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
|
|
6486
|
-
Le && (de += Le), oe && (Ue += oe), me = de,
|
|
6487
|
-
var
|
|
6488
|
-
q && (
|
|
6504
|
+
Le && (de += Le), oe && (Ue += oe), me = de, be = Ue;
|
|
6505
|
+
var Mt = "translate3d(".concat(de, "px, ").concat(Ue, "px, 0)");
|
|
6506
|
+
q && (Mt += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Mt);
|
|
6489
6507
|
}
|
|
6490
6508
|
}, swipe: function(Y) {
|
|
6491
|
-
if (!ee) if (
|
|
6509
|
+
if (!ee) if (F) F = !1;
|
|
6492
6510
|
else {
|
|
6493
6511
|
if (Y.direction == "Left") {
|
|
6494
|
-
if (n.index == n.elements.length - 1) return
|
|
6512
|
+
if (n.index == n.elements.length - 1) return Wt(S);
|
|
6495
6513
|
n.nextSlide();
|
|
6496
6514
|
}
|
|
6497
6515
|
if (Y.direction == "Right") {
|
|
6498
|
-
if (n.index == 0) return
|
|
6516
|
+
if (n.index == 0) return Wt(S);
|
|
6499
6517
|
n.prevSlide();
|
|
6500
6518
|
}
|
|
6501
6519
|
}
|
|
@@ -6536,18 +6554,18 @@ function Js() {
|
|
|
6536
6554
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
6537
6555
|
if (this.elements.length === 0) return !1;
|
|
6538
6556
|
this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
|
|
6539
|
-
var l =
|
|
6557
|
+
var l = _t(c) ? c : this.settings.startAt;
|
|
6540
6558
|
if (U(n)) {
|
|
6541
6559
|
var d = n.getAttribute("data-gallery");
|
|
6542
|
-
d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)),
|
|
6560
|
+
d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), ue(l) && (l = this.getElementIndex(n)) < 0 && (l = 0);
|
|
6543
6561
|
}
|
|
6544
|
-
|
|
6562
|
+
_t(l) || (l = 0), this.build(), L(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
|
|
6545
6563
|
var h = document.body, m = window.innerWidth - document.documentElement.clientWidth;
|
|
6546
6564
|
if (m > 0) {
|
|
6547
6565
|
var g = document.createElement("style");
|
|
6548
6566
|
g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(h, "gscrollbar-fixer");
|
|
6549
6567
|
}
|
|
6550
|
-
_(h, "glightbox-open"), _(wa, "glightbox-open"), ya && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"),
|
|
6568
|
+
_(h, "glightbox-open"), _(wa, "glightbox-open"), ya && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), H(this.settings.onOpen) && this.settings.onOpen(), va && this.settings.touchNavigation && Ei(this), this.settings.keyboardNavigation && wi(this);
|
|
6551
6569
|
} }, { key: "openAt", value: function() {
|
|
6552
6570
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
|
|
6553
6571
|
this.open(null, n);
|
|
@@ -6568,7 +6586,7 @@ function Js() {
|
|
|
6568
6586
|
this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && E(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = h;
|
|
6569
6587
|
} }, { key: "preloadSlide", value: function(n) {
|
|
6570
6588
|
var c = this;
|
|
6571
|
-
if (n < 0 || n > this.elements.length - 1 ||
|
|
6589
|
+
if (n < 0 || n > this.elements.length - 1 || ue(this.elements[n])) return !1;
|
|
6572
6590
|
var l = this.slidesContainer.querySelectorAll(".gslide")[n];
|
|
6573
6591
|
if (E(l, "loaded")) return !1;
|
|
6574
6592
|
var d = this.elements[n], h = d.type, m = { index: n, slide: l, slideNode: l, slideConfig: d.slideConfig, slideIndex: n, trigger: d.node, player: null };
|
|
@@ -6590,7 +6608,7 @@ function Js() {
|
|
|
6590
6608
|
} }, { key: "insertSlide", value: function() {
|
|
6591
6609
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
|
|
6592
6610
|
c < 0 && (c = this.elements.length);
|
|
6593
|
-
var l = new
|
|
6611
|
+
var l = new St(n, this, c), d = l.getConfig(), h = p({}, d), m = l.create(), g = this.elements.length - 1;
|
|
6594
6612
|
h.index = c, h.node = !1, h.instance = l, h.slideConfig = d, this.elements.splice(c, 0, h);
|
|
6595
6613
|
var y = null, A = null;
|
|
6596
6614
|
if (this.slidesContainer) {
|
|
@@ -6601,21 +6619,21 @@ function Js() {
|
|
|
6601
6619
|
}
|
|
6602
6620
|
(this.settings.preload && this.index == 0 && c == 0 || this.index - 1 == c || this.index + 1 == c) && this.preloadSlide(c), this.index === 0 && c === 0 && (this.index = 1), this.updateNavigationClasses(), y = this.slidesContainer.querySelectorAll(".gslide")[c], A = this.getSlidePlayerInstance(c), h.slideNode = y;
|
|
6603
6621
|
}
|
|
6604
|
-
this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }),
|
|
6622
|
+
this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }), H(this.settings.slideInserted) && this.settings.slideInserted({ index: c, slide: y, player: A });
|
|
6605
6623
|
} }, { key: "removeSlide", value: function() {
|
|
6606
6624
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
|
|
6607
6625
|
if (n < 0 || n > this.elements.length - 1) return !1;
|
|
6608
6626
|
var c = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[n];
|
|
6609
|
-
c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n),
|
|
6627
|
+
c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n), H(this.settings.slideRemoved) && this.settings.slideRemoved(n);
|
|
6610
6628
|
} }, { key: "slideAnimateIn", value: function(n, c) {
|
|
6611
|
-
var l = this, d = n.querySelector(".gslide-media"), h = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig:
|
|
6629
|
+
var l = this, d = n.querySelector(".gslide-media"), h = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, g = { 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) };
|
|
6612
6630
|
if (d.offsetWidth > 0 && h && (N(h), h.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
|
|
6613
|
-
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }),
|
|
6631
|
+
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), H(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
|
|
6614
6632
|
}));
|
|
6615
6633
|
else {
|
|
6616
6634
|
var y = this.settings.slideEffect, A = y !== "none" ? this.settings.cssEfects[y].in : y;
|
|
6617
6635
|
this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (A = this.settings.cssEfects.slideBack.in), L(n, A, (function() {
|
|
6618
|
-
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }),
|
|
6636
|
+
l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), H(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
|
|
6619
6637
|
}));
|
|
6620
6638
|
}
|
|
6621
6639
|
setTimeout((function() {
|
|
@@ -6626,7 +6644,7 @@ function Js() {
|
|
|
6626
6644
|
var n = this.prevActiveSlide;
|
|
6627
6645
|
P(n, this.effectsClasses), _(n, "prev");
|
|
6628
6646
|
var c = this.settings.slideEffect, l = c !== "none" ? this.settings.cssEfects[c].out : c;
|
|
6629
|
-
this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig:
|
|
6647
|
+
this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(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) } }), H(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" && (l = this.settings.cssEfects.slideBack.out), L(n, l, (function() {
|
|
6630
6648
|
var d = n.querySelector(".ginner-container"), h = n.querySelector(".gslide-media"), m = n.querySelector(".gslide-description");
|
|
6631
6649
|
d.style.transform = "", h.style.transform = "", P(h, "greset"), h.style.opacity = "", m && (m.style.opacity = ""), P(n, "prev");
|
|
6632
6650
|
}));
|
|
@@ -6634,7 +6652,7 @@ function Js() {
|
|
|
6634
6652
|
return this.videoPlayers;
|
|
6635
6653
|
} }, { key: "getSlidePlayerInstance", value: function(n) {
|
|
6636
6654
|
var c = "gvideo" + n, l = this.getAllPlayers();
|
|
6637
|
-
return !(!
|
|
6655
|
+
return !(!se(l, c) || !l[c]) && l[c];
|
|
6638
6656
|
} }, { key: "stopSlideVideo", value: function(n) {
|
|
6639
6657
|
if (U(n)) {
|
|
6640
6658
|
var c = n.querySelector(".gvideo-wrapper");
|
|
@@ -6673,7 +6691,7 @@ function Js() {
|
|
|
6673
6691
|
this.settings.elements = !1;
|
|
6674
6692
|
var l = [];
|
|
6675
6693
|
n && n.length && v(n, (function(d, h) {
|
|
6676
|
-
var m = new
|
|
6694
|
+
var m = new St(d, c, h), g = m.getConfig(), y = p({}, g);
|
|
6677
6695
|
y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
|
|
6678
6696
|
})), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
|
|
6679
6697
|
var d = X(c.settings.slideHTML);
|
|
@@ -6682,17 +6700,17 @@ function Js() {
|
|
|
6682
6700
|
} }, { key: "getElementIndex", value: function(n) {
|
|
6683
6701
|
var c = !1;
|
|
6684
6702
|
return v(this.elements, (function(l, d) {
|
|
6685
|
-
if (
|
|
6703
|
+
if (se(l, "node") && l.node == n) return c = d, !0;
|
|
6686
6704
|
})), c;
|
|
6687
6705
|
} }, { key: "getElements", value: function() {
|
|
6688
6706
|
var n = this, c = [];
|
|
6689
|
-
this.elements = this.elements ? this.elements : [], !
|
|
6690
|
-
var m = new
|
|
6707
|
+
this.elements = this.elements ? this.elements : [], !ue(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d, h) {
|
|
6708
|
+
var m = new St(d, n, h), g = m.getConfig(), y = p({}, g);
|
|
6691
6709
|
y.node = !1, y.index = h, y.instance = m, y.slideConfig = g, c.push(y);
|
|
6692
6710
|
}));
|
|
6693
6711
|
var l = !1;
|
|
6694
6712
|
return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d, h) {
|
|
6695
|
-
var m = new
|
|
6713
|
+
var m = new St(d, n, h), g = m.getConfig(), y = p({}, g);
|
|
6696
6714
|
y.node = d, y.index = h, y.instance = m, y.slideConfig = g, y.gallery = d.getAttribute("data-gallery"), c.push(y);
|
|
6697
6715
|
})), c;
|
|
6698
6716
|
} }, { key: "getGalleryElements", value: function(n, c) {
|
|
@@ -6719,7 +6737,7 @@ function Js() {
|
|
|
6719
6737
|
v(c, (function(S) {
|
|
6720
6738
|
S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
|
|
6721
6739
|
}));
|
|
6722
|
-
var d =
|
|
6740
|
+
var d = se(this.settings.svg, "next") ? this.settings.svg.next : "", h = se(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = se(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
|
|
6723
6741
|
g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
|
|
6724
6742
|
var y = document.getElementById("glightbox-body");
|
|
6725
6743
|
this.modal = y;
|
|
@@ -6751,12 +6769,12 @@ function Js() {
|
|
|
6751
6769
|
}
|
|
6752
6770
|
}
|
|
6753
6771
|
if (l) {
|
|
6754
|
-
var
|
|
6755
|
-
if (!
|
|
6756
|
-
var ee = l.clientWidth, me = l.clientHeight,
|
|
6757
|
-
|
|
6772
|
+
var F = se(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
|
|
6773
|
+
if (!F) {
|
|
6774
|
+
var ee = l.clientWidth, me = l.clientHeight, be = ee / me;
|
|
6775
|
+
F = "".concat(ee / be, ":").concat(me / be);
|
|
6758
6776
|
}
|
|
6759
|
-
var Le =
|
|
6777
|
+
var Le = F.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = _t(oe) || oe.indexOf("px") !== -1 ? parseInt(oe) : oe.indexOf("vw") !== -1 ? m * parseInt(oe) / 100 : oe.indexOf("vh") !== -1 ? g * parseInt(oe) / 100 : oe.indexOf("%") !== -1 ? m * parseInt(oe) / 100 : parseInt(l.clientWidth)) / (parseInt(Le[0]) / parseInt(Le[1]));
|
|
6760
6778
|
if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
|
|
6761
6779
|
var ht = l.offsetWidth, rt = l.offsetHeight, _e = g / rt, Se = { width: ht * _e, height: rt * _e };
|
|
6762
6780
|
l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y && h.setAttribute("style", "max-width: ".concat(Se.width, "px;"));
|
|
@@ -6770,8 +6788,8 @@ function Js() {
|
|
|
6770
6788
|
var n = this.loop();
|
|
6771
6789
|
P(this.nextButton, "disabled"), P(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (_(this.prevButton, "disabled"), _(this.nextButton, "disabled")) : this.index !== 0 || n ? this.index !== this.elements.length - 1 || n || _(this.nextButton, "disabled") : _(this.prevButton, "disabled");
|
|
6772
6790
|
} }, { key: "loop", value: function() {
|
|
6773
|
-
var n =
|
|
6774
|
-
return n =
|
|
6791
|
+
var n = se(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
|
|
6792
|
+
return n = se(this.settings, "loop") ? this.settings.loop : n, n;
|
|
6775
6793
|
} }, { key: "close", value: function() {
|
|
6776
6794
|
var n = this;
|
|
6777
6795
|
if (!this.lightboxOpen) {
|
|
@@ -6790,7 +6808,7 @@ function Js() {
|
|
|
6790
6808
|
n.events = null;
|
|
6791
6809
|
}
|
|
6792
6810
|
var d = document.body;
|
|
6793
|
-
P(wa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"),
|
|
6811
|
+
P(wa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), H(n.settings.onClose) && n.settings.onClose();
|
|
6794
6812
|
var h = document.querySelector(".gcss-styles");
|
|
6795
6813
|
h && h.parentNode.removeChild(h), n.lightboxOpen = !1, n.closing = null;
|
|
6796
6814
|
}));
|
|
@@ -6798,7 +6816,7 @@ function Js() {
|
|
|
6798
6816
|
this.close(), this.clearAllEvents(), this.baseEvents && this.baseEvents.destroy();
|
|
6799
6817
|
} }, { key: "on", value: function(n, c) {
|
|
6800
6818
|
var l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
|
|
6801
|
-
if (!n || !
|
|
6819
|
+
if (!n || !H(c)) throw new TypeError("Event name and callback must be defined");
|
|
6802
6820
|
this.apiEvents.push({ evt: n, once: l, callback: c });
|
|
6803
6821
|
} }, { key: "once", value: function(n, c) {
|
|
6804
6822
|
this.on(n, c, !0);
|
|
@@ -6820,7 +6838,7 @@ function Js() {
|
|
|
6820
6838
|
return c.init(), c;
|
|
6821
6839
|
};
|
|
6822
6840
|
}));
|
|
6823
|
-
})(
|
|
6841
|
+
})(zt)), zt.exports;
|
|
6824
6842
|
}
|
|
6825
6843
|
var Zs = Js();
|
|
6826
6844
|
const Qs = /* @__PURE__ */ Wa(Zs);
|
|
@@ -6829,12 +6847,12 @@ var en = Object.getOwnPropertyDescriptor, tn = (a, e, t, i) => {
|
|
|
6829
6847
|
(o = a[r]) && (s = o(s) || s);
|
|
6830
6848
|
return s;
|
|
6831
6849
|
};
|
|
6832
|
-
let
|
|
6850
|
+
let Qt = class extends Fe {
|
|
6833
6851
|
render() {
|
|
6834
|
-
return
|
|
6852
|
+
return b` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
|
|
6835
6853
|
}
|
|
6836
6854
|
};
|
|
6837
|
-
|
|
6855
|
+
Qt.styles = K`
|
|
6838
6856
|
.cb-thinking {
|
|
6839
6857
|
text-align: center;
|
|
6840
6858
|
}
|
|
@@ -6872,31 +6890,31 @@ Zt.styles = K`
|
|
|
6872
6890
|
}
|
|
6873
6891
|
}
|
|
6874
6892
|
`;
|
|
6875
|
-
|
|
6893
|
+
Qt = tn([
|
|
6876
6894
|
J("cb-thinking")
|
|
6877
|
-
],
|
|
6895
|
+
], Qt);
|
|
6878
6896
|
var an = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, ti = (a, e, t, i) => {
|
|
6879
6897
|
for (var s = i > 1 ? void 0 : i ? sn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6880
6898
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6881
6899
|
return i && s && an(e, t, s), s;
|
|
6882
6900
|
};
|
|
6883
|
-
let
|
|
6901
|
+
let Dt = class extends re {
|
|
6884
6902
|
constructor() {
|
|
6885
6903
|
super(...arguments), this.files = [];
|
|
6886
6904
|
}
|
|
6887
6905
|
render() {
|
|
6888
|
-
return
|
|
6906
|
+
return b` <div class="cb-uploading">
|
|
6889
6907
|
<div class="cb-uploading__title">
|
|
6890
6908
|
<sl-spinner class="cb-spinner"></sl-spinner>
|
|
6891
6909
|
<span>Uploading...</span>
|
|
6892
6910
|
</div>
|
|
6893
6911
|
<div class="cb-uploading__filelist">
|
|
6894
|
-
${this.files.map((a) =>
|
|
6912
|
+
${this.files.map((a) => b`${a.name}<br />`)}
|
|
6895
6913
|
</div>
|
|
6896
6914
|
</div>`;
|
|
6897
6915
|
}
|
|
6898
6916
|
};
|
|
6899
|
-
|
|
6917
|
+
Dt.styles = K`
|
|
6900
6918
|
.cb-uploading {
|
|
6901
6919
|
text-align: left;
|
|
6902
6920
|
}
|
|
@@ -6916,10 +6934,10 @@ qt.styles = K`
|
|
|
6916
6934
|
`;
|
|
6917
6935
|
ti([
|
|
6918
6936
|
x({ type: Array })
|
|
6919
|
-
],
|
|
6920
|
-
|
|
6937
|
+
], Dt.prototype, "files", 2);
|
|
6938
|
+
Dt = ti([
|
|
6921
6939
|
J("cb-uploading")
|
|
6922
|
-
],
|
|
6940
|
+
], Dt);
|
|
6923
6941
|
const nn = K`
|
|
6924
6942
|
${ke}
|
|
6925
6943
|
:host {
|
|
@@ -6946,12 +6964,12 @@ var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor, ca = (a, e
|
|
|
6946
6964
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6947
6965
|
return i && s && rn(e, t, s), s;
|
|
6948
6966
|
};
|
|
6949
|
-
let
|
|
6967
|
+
let yt = class extends Fe {
|
|
6950
6968
|
constructor() {
|
|
6951
6969
|
super(...arguments), this.url = "", this.inverse = !1;
|
|
6952
6970
|
}
|
|
6953
6971
|
render() {
|
|
6954
|
-
return
|
|
6972
|
+
return b`
|
|
6955
6973
|
<a
|
|
6956
6974
|
class="
|
|
6957
6975
|
cb-external-link link__item
|
|
@@ -6966,7 +6984,7 @@ let mt = class extends Fe {
|
|
|
6966
6984
|
`;
|
|
6967
6985
|
}
|
|
6968
6986
|
};
|
|
6969
|
-
|
|
6987
|
+
yt.styles = K`
|
|
6970
6988
|
:host {
|
|
6971
6989
|
--primary-color: var(--sl-color-primary-600);
|
|
6972
6990
|
}
|
|
@@ -6993,14 +7011,14 @@ mt.styles = K`
|
|
|
6993
7011
|
`;
|
|
6994
7012
|
ca([
|
|
6995
7013
|
x({ type: String })
|
|
6996
|
-
],
|
|
7014
|
+
], yt.prototype, "url", 2);
|
|
6997
7015
|
ca([
|
|
6998
7016
|
x({ type: Boolean })
|
|
6999
|
-
],
|
|
7000
|
-
|
|
7017
|
+
], yt.prototype, "inverse", 2);
|
|
7018
|
+
yt = ca([
|
|
7001
7019
|
J("cb-external-link")
|
|
7002
|
-
],
|
|
7003
|
-
const cn = '<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>', ln = '<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>', dn = '<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>', fn = '<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>', hn = '<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>',
|
|
7020
|
+
], yt);
|
|
7021
|
+
const cn = '<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>', ln = '<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>', dn = '<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>', fn = '<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>', hn = '<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>', un = '<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>', bn = '<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>';
|
|
7004
7022
|
var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor, la = (a, e, t, i) => {
|
|
7005
7023
|
for (var s = i > 1 ? void 0 : i ? gn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
7006
7024
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
@@ -7012,10 +7030,10 @@ const La = {
|
|
|
7012
7030
|
md: dn,
|
|
7013
7031
|
csv: fn,
|
|
7014
7032
|
ppd: hn,
|
|
7015
|
-
doc:
|
|
7016
|
-
docx:
|
|
7033
|
+
doc: un,
|
|
7034
|
+
docx: bn
|
|
7017
7035
|
};
|
|
7018
|
-
let
|
|
7036
|
+
let vt = class extends re {
|
|
7019
7037
|
constructor() {
|
|
7020
7038
|
super(...arguments), this.filename = "", this.url = "";
|
|
7021
7039
|
}
|
|
@@ -7026,7 +7044,7 @@ let yt = class extends re {
|
|
|
7026
7044
|
return e ? e.toLowerCase() : "txt";
|
|
7027
7045
|
}
|
|
7028
7046
|
render() {
|
|
7029
|
-
return
|
|
7047
|
+
return b`
|
|
7030
7048
|
<cb-external-link url="${this.url}" inverse>
|
|
7031
7049
|
<div class="cb-file">
|
|
7032
7050
|
${this.renderFileIcon()}
|
|
@@ -7036,7 +7054,7 @@ let yt = class extends re {
|
|
|
7036
7054
|
`;
|
|
7037
7055
|
}
|
|
7038
7056
|
renderFileIcon() {
|
|
7039
|
-
return
|
|
7057
|
+
return b`
|
|
7040
7058
|
<cb-icon
|
|
7041
7059
|
class="cb-file-icon"
|
|
7042
7060
|
svg="${La[this.type] || La.txt}"
|
|
@@ -7044,16 +7062,16 @@ let yt = class extends re {
|
|
|
7044
7062
|
`;
|
|
7045
7063
|
}
|
|
7046
7064
|
};
|
|
7047
|
-
|
|
7065
|
+
vt.styles = nn;
|
|
7048
7066
|
la([
|
|
7049
7067
|
x({ type: String })
|
|
7050
|
-
],
|
|
7068
|
+
], vt.prototype, "filename", 2);
|
|
7051
7069
|
la([
|
|
7052
7070
|
x({ type: String })
|
|
7053
|
-
],
|
|
7054
|
-
|
|
7071
|
+
], vt.prototype, "url", 2);
|
|
7072
|
+
vt = la([
|
|
7055
7073
|
J("cb-file")
|
|
7056
|
-
],
|
|
7074
|
+
], vt);
|
|
7057
7075
|
const mn = '<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>', Ra = '<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>', ai = '<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>', ii = '<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>', yn = K`
|
|
7058
7076
|
pre code.hljs {
|
|
7059
7077
|
display: block;
|
|
@@ -8521,18 +8539,18 @@ function wn() {
|
|
|
8521
8539
|
breaks: !0,
|
|
8522
8540
|
linkify: !0,
|
|
8523
8541
|
highlight(e, t) {
|
|
8524
|
-
if (!!(t &&
|
|
8542
|
+
if (!!(t && Gt.getLanguage(t))) {
|
|
8525
8543
|
const s = t ?? "";
|
|
8526
|
-
return za(
|
|
8544
|
+
return za(Gt.highlight(e, { language: s }).value, s);
|
|
8527
8545
|
}
|
|
8528
|
-
return za(
|
|
8546
|
+
return za(Gt.highlightAuto(e).value, "");
|
|
8529
8547
|
}
|
|
8530
8548
|
});
|
|
8531
8549
|
return a.use(Fi, { attrs: { target: "_blank", rel: "noopener" } }), a;
|
|
8532
8550
|
}
|
|
8533
|
-
async function
|
|
8551
|
+
async function Ft(a) {
|
|
8534
8552
|
const t = wn().render(a);
|
|
8535
|
-
return
|
|
8553
|
+
return b`${G(t)}`;
|
|
8536
8554
|
}
|
|
8537
8555
|
var xn = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
|
|
8538
8556
|
for (var s = i > 1 ? void 0 : i ? kn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
@@ -8541,7 +8559,7 @@ var xn = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, nt = (a, e
|
|
|
8541
8559
|
};
|
|
8542
8560
|
let De = class extends re {
|
|
8543
8561
|
constructor() {
|
|
8544
|
-
super(...arguments), this.store = new it(this,
|
|
8562
|
+
super(...arguments), this.store = new it(this, u), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Qs({
|
|
8545
8563
|
touchNavigation: !0,
|
|
8546
8564
|
loop: !0,
|
|
8547
8565
|
autoplayVideos: !0,
|
|
@@ -8625,11 +8643,11 @@ let De = class extends re {
|
|
|
8625
8643
|
return this.renderInfoMessage(this.message);
|
|
8626
8644
|
if (this.message?.type === "blocks") {
|
|
8627
8645
|
const a = this.message?.data?.blocks ?? [];
|
|
8628
|
-
return
|
|
8646
|
+
return b`<cb-blocks .blocks=${a}></cb-blocks>`;
|
|
8629
8647
|
}
|
|
8630
8648
|
return W(
|
|
8631
8649
|
this.message.data || this.message.isThinking,
|
|
8632
|
-
() =>
|
|
8650
|
+
() => b`
|
|
8633
8651
|
<div class="cb-message-row" part="bot-message">
|
|
8634
8652
|
<!-- message -->
|
|
8635
8653
|
${W(
|
|
@@ -8643,7 +8661,7 @@ let De = class extends re {
|
|
|
8643
8661
|
);
|
|
8644
8662
|
}
|
|
8645
8663
|
renderButtons(a = "left") {
|
|
8646
|
-
return
|
|
8664
|
+
return b`<div class="cb-message__buttons ${a}">
|
|
8647
8665
|
<!-- delete button -->
|
|
8648
8666
|
<sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
|
|
8649
8667
|
<cb-icon svg="${mn}" style="font-size: 1em !important;"></cb-icon>
|
|
@@ -8651,7 +8669,7 @@ let De = class extends re {
|
|
|
8651
8669
|
</div>`;
|
|
8652
8670
|
}
|
|
8653
8671
|
renderInfoMessage(a) {
|
|
8654
|
-
return
|
|
8672
|
+
return b`
|
|
8655
8673
|
<div class="cb-message cb-bot-message-wrapper" part="cb-message">
|
|
8656
8674
|
<div class="avatar info-avatar xsmall" part="info-avatar" style="margin-top:4px;">${this.renderInfoMessageAvatar(a)}</div>
|
|
8657
8675
|
<div
|
|
@@ -8662,8 +8680,8 @@ let De = class extends re {
|
|
|
8662
8680
|
part="info-message-content"
|
|
8663
8681
|
>
|
|
8664
8682
|
<div class="cb-message-text">
|
|
8665
|
-
${
|
|
8666
|
-
this._getMessageText(a).then((e) =>
|
|
8683
|
+
${bt(
|
|
8684
|
+
this._getMessageText(a).then((e) => b`${e}`)
|
|
8667
8685
|
)}
|
|
8668
8686
|
</div>
|
|
8669
8687
|
</div>
|
|
@@ -8672,10 +8690,10 @@ let De = class extends re {
|
|
|
8672
8690
|
}
|
|
8673
8691
|
renderInfoMessageAvatar(a) {
|
|
8674
8692
|
const e = a.data?.userAvatar || "";
|
|
8675
|
-
return e !== "" ?
|
|
8693
|
+
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(u.setting.infoIconSvg)}`;
|
|
8676
8694
|
}
|
|
8677
8695
|
renderMessage(a, e = "bot-message-content") {
|
|
8678
|
-
return
|
|
8696
|
+
return b`
|
|
8679
8697
|
<div
|
|
8680
8698
|
class="cb-message__content
|
|
8681
8699
|
${a.author}-message
|
|
@@ -8689,51 +8707,51 @@ let De = class extends re {
|
|
|
8689
8707
|
`;
|
|
8690
8708
|
}
|
|
8691
8709
|
async _getMessageText(a) {
|
|
8692
|
-
return
|
|
8710
|
+
return Ft(xt(a.data.text));
|
|
8693
8711
|
}
|
|
8694
8712
|
renderMessageContent(a) {
|
|
8695
|
-
return a.isThinking ?
|
|
8713
|
+
return a.isThinking ? b`<cb-thinking></cb-thinking>` : a.isUploading ? b`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? b`<div class="cb-message-text">
|
|
8696
8714
|
${W(
|
|
8697
8715
|
a.data.userName,
|
|
8698
|
-
() =>
|
|
8716
|
+
() => b`<div class="assistant-message-user-name">${a.data.userName}</div>`,
|
|
8699
8717
|
() => null
|
|
8700
8718
|
)}
|
|
8701
|
-
${
|
|
8702
|
-
this._getMessageText(a).then((e) =>
|
|
8719
|
+
${bt(
|
|
8720
|
+
this._getMessageText(a).then((e) => b`${e}`)
|
|
8703
8721
|
)}
|
|
8704
|
-
</div>` : a.type === "file" ?
|
|
8722
|
+
</div>` : a.type === "file" ? b`${et(
|
|
8705
8723
|
a.data.files || [],
|
|
8706
8724
|
(e) => e.id,
|
|
8707
|
-
(e) =>
|
|
8708
|
-
)}` : a.type === "upload" ?
|
|
8725
|
+
(e) => b`<cb-file filename="${e.name}" url="${e.url}"></cb-file>`
|
|
8726
|
+
)}` : a.type === "upload" ? b`${et(
|
|
8709
8727
|
a.data.uploadedFiles || [],
|
|
8710
8728
|
(e) => e.name,
|
|
8711
|
-
(e) =>
|
|
8712
|
-
)}` :
|
|
8713
|
-
${
|
|
8714
|
-
|
|
8729
|
+
(e) => b`<div>${e.name}</div>`
|
|
8730
|
+
)}` : b`<div class="cb-message-text">
|
|
8731
|
+
${bt(
|
|
8732
|
+
Ft(a.data.text?.toString() || "").then((e) => b`${e}`)
|
|
8715
8733
|
)}
|
|
8716
8734
|
</div>`;
|
|
8717
8735
|
}
|
|
8718
8736
|
renderMessageUploads(a) {
|
|
8719
8737
|
if (a.type === "upload")
|
|
8720
|
-
return
|
|
8738
|
+
return b`<div class="user-message-uploads">
|
|
8721
8739
|
${et(
|
|
8722
8740
|
a.data.uploadedFiles || [],
|
|
8723
8741
|
(e) => e.name,
|
|
8724
|
-
(e) => (e?.type || "").startsWith("image/") ?
|
|
8742
|
+
(e) => (e?.type || "").startsWith("image/") ? b`<img src="data:${e.type};base64,${e.base64}" alt="${e.name}" />` : null
|
|
8725
8743
|
)}
|
|
8726
8744
|
</div>`;
|
|
8727
8745
|
}
|
|
8728
8746
|
renderBotMessageAvatar(a) {
|
|
8729
8747
|
if (a.data.userName && a.data.userName !== "") {
|
|
8730
8748
|
const e = a.data?.userAvatar || "";
|
|
8731
|
-
return e !== "" ?
|
|
8749
|
+
return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(u.setting.agentIconSvg)}`;
|
|
8732
8750
|
}
|
|
8733
|
-
return a.author === "system" ? pe`${G(
|
|
8751
|
+
return a.author === "system" ? pe`${G(u.setting.systemIconSvg)}` : pe`${G(u.setting.botIconSvg)}`;
|
|
8734
8752
|
}
|
|
8735
8753
|
renderBotMessage(a) {
|
|
8736
|
-
return
|
|
8754
|
+
return b`
|
|
8737
8755
|
<div class="cb-message cb-bot-message-wrapper" part="cb-message">
|
|
8738
8756
|
<div class="avatar assistant-avatar xsmall" part="assistant-avatar" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
|
|
8739
8757
|
${this.renderMessage(a, "bot-message-content")}
|
|
@@ -8742,7 +8760,7 @@ let De = class extends re {
|
|
|
8742
8760
|
`;
|
|
8743
8761
|
}
|
|
8744
8762
|
renderBotMessageFeedback(a) {
|
|
8745
|
-
return this.suppressFeedback || !
|
|
8763
|
+
return this.suppressFeedback || !u.setting.feedbackEnabled || this.index < u.setting.startFeedbackFromMessage * 2 ? null : b`
|
|
8746
8764
|
<div class="cb-message-feedback-tools" part="feedback-wrapper">
|
|
8747
8765
|
<div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ai)}`}</div>
|
|
8748
8766
|
<div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ii)}`}</div>
|
|
@@ -8750,24 +8768,24 @@ let De = class extends re {
|
|
|
8750
8768
|
`;
|
|
8751
8769
|
}
|
|
8752
8770
|
startFeedback(a, e) {
|
|
8753
|
-
console.log("startFeedback", e),
|
|
8771
|
+
console.log("startFeedback", e), u.collectFeedback(a, e);
|
|
8754
8772
|
}
|
|
8755
8773
|
renderUserMessage(a) {
|
|
8756
|
-
return
|
|
8774
|
+
return b`
|
|
8757
8775
|
<div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
|
|
8758
8776
|
<!--<sl-avatar class="avatar user-avatar small" label="User">
|
|
8759
8777
|
<cb-icon slot="icon" svg="${Ra}" color="white"></cb-icon>
|
|
8760
8778
|
//appState.appearanceUserMessageAvatarPosition
|
|
8761
8779
|
</sl-avatar>-->
|
|
8762
8780
|
${W(
|
|
8763
|
-
|
|
8764
|
-
() =>
|
|
8765
|
-
<div class="avatar user-avatar" part="user-avatar">${G(
|
|
8781
|
+
u.appearanceUserMessageAvatarPosition === "left",
|
|
8782
|
+
() => b`
|
|
8783
|
+
<div class="avatar user-avatar" part="user-avatar">${G(u.setting.userIconSvg)}</div>
|
|
8766
8784
|
${this.renderMessage(a, "user-message-content")}
|
|
8767
8785
|
`,
|
|
8768
|
-
() =>
|
|
8786
|
+
() => b`
|
|
8769
8787
|
${this.renderMessage(a, "user-message-content")}
|
|
8770
|
-
<div class="avatar user-avatar" part="user-avatar">${G(
|
|
8788
|
+
<div class="avatar user-avatar" part="user-avatar">${G(u.setting.userIconSvg)}</div>
|
|
8771
8789
|
`
|
|
8772
8790
|
)}
|
|
8773
8791
|
</div>
|
|
@@ -8776,21 +8794,21 @@ let De = class extends re {
|
|
|
8776
8794
|
}
|
|
8777
8795
|
// todo ???
|
|
8778
8796
|
renderUserMessageUpload(a) {
|
|
8779
|
-
return
|
|
8797
|
+
return b`
|
|
8780
8798
|
<div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
|
|
8781
8799
|
<!--<sl-avatar class="avatar user-avatar small" label="User">
|
|
8782
8800
|
<cb-icon slot="icon" svg="${Ra}" color="white"></cb-icon>
|
|
8783
8801
|
//appState.appearanceUserMessageAvatarPosition
|
|
8784
8802
|
</sl-avatar>-->
|
|
8785
8803
|
${W(
|
|
8786
|
-
|
|
8787
|
-
() =>
|
|
8788
|
-
<div class="avatar user-avatar">${G(
|
|
8804
|
+
u.appearanceUserMessageAvatarPosition === "left",
|
|
8805
|
+
() => b`
|
|
8806
|
+
<div class="avatar user-avatar">${G(u.setting.userIconSvg)}</div>
|
|
8789
8807
|
${this.renderMessage(a, "user-message-content")}
|
|
8790
8808
|
`,
|
|
8791
|
-
() =>
|
|
8809
|
+
() => b`
|
|
8792
8810
|
${this.renderMessage(a, "user-message-content")}
|
|
8793
|
-
<div class="avatar user-avatar">${G(
|
|
8811
|
+
<div class="avatar user-avatar">${G(u.setting.userIconSvg)}</div>
|
|
8794
8812
|
`
|
|
8795
8813
|
)}
|
|
8796
8814
|
</div>
|
|
@@ -8854,13 +8872,13 @@ let ye = class extends re {
|
|
|
8854
8872
|
autoplayVideos: true,
|
|
8855
8873
|
});*/
|
|
8856
8874
|
render() {
|
|
8857
|
-
return
|
|
8875
|
+
return b`
|
|
8858
8876
|
<div id="cb-message-list-container" class="cb-message-list" part="bot-message-list">
|
|
8859
8877
|
${this.renderDisclaimerMessage()}
|
|
8860
8878
|
${et(
|
|
8861
8879
|
this.messages,
|
|
8862
8880
|
(a) => a.id + JSON.stringify(a.data),
|
|
8863
|
-
(a, e) =>
|
|
8881
|
+
(a, e) => b`<cb-message .message="${a}" .index="${e}" exportparts="bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar,feedback-wrapper,feedback-up,feedback-down" ?suppressFeedback=${this.suppressFeedback}></cb-message>`
|
|
8864
8882
|
)}
|
|
8865
8883
|
${this.renderActions()} ${this.renderForm()}
|
|
8866
8884
|
<div id="cb-message-list-bottom-anchor"></div>
|
|
@@ -8868,28 +8886,28 @@ let ye = class extends re {
|
|
|
8868
8886
|
`;
|
|
8869
8887
|
}
|
|
8870
8888
|
renderDisclaimerMessage() {
|
|
8871
|
-
return !
|
|
8872
|
-
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${
|
|
8889
|
+
return !u.setting.disclaimerMessage || !u.isConversationStart() ? null : b`
|
|
8890
|
+
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${u.setting.enableShowFullDisclaimerMessage}>
|
|
8873
8891
|
<summary class="cb-disclaimer-message" part="disclaimer-message">
|
|
8874
|
-
${
|
|
8875
|
-
|
|
8892
|
+
${bt(
|
|
8893
|
+
Ft(u.setting.disclaimerMessage).then((a) => b`${a}`)
|
|
8876
8894
|
)}
|
|
8877
8895
|
</summary>
|
|
8878
8896
|
</details>
|
|
8879
8897
|
`;
|
|
8880
8898
|
}
|
|
8881
8899
|
renderForm() {
|
|
8882
|
-
return this.form ?
|
|
8900
|
+
return this.form ? b` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
|
|
8883
8901
|
<div class="cb-input-form-title" part="form-title">${this.form.title}</div>
|
|
8884
8902
|
${et(
|
|
8885
8903
|
this.form.fields,
|
|
8886
8904
|
(a, e) => e,
|
|
8887
8905
|
(a) => {
|
|
8888
|
-
const e = a?.required || !1, t =
|
|
8906
|
+
const e = a?.required || !1, t = u.getPrefilledFormFieldValue(a.name);
|
|
8889
8907
|
switch (a.type) {
|
|
8890
8908
|
case "name":
|
|
8891
8909
|
case "string":
|
|
8892
|
-
return
|
|
8910
|
+
return b`<sl-input
|
|
8893
8911
|
value="${t}"
|
|
8894
8912
|
part="form-input"
|
|
8895
8913
|
class="cb-input-form-input"
|
|
@@ -8899,7 +8917,7 @@ let ye = class extends re {
|
|
|
8899
8917
|
?required="${e}"
|
|
8900
8918
|
></sl-input>`;
|
|
8901
8919
|
case "email":
|
|
8902
|
-
return
|
|
8920
|
+
return b`<sl-input
|
|
8903
8921
|
part="form-input"
|
|
8904
8922
|
value="${t}"
|
|
8905
8923
|
class="cb-input-form-input"
|
|
@@ -8910,7 +8928,7 @@ let ye = class extends re {
|
|
|
8910
8928
|
?required="${e}"
|
|
8911
8929
|
></sl-input>`;
|
|
8912
8930
|
case "phone":
|
|
8913
|
-
return
|
|
8931
|
+
return b`<sl-input
|
|
8914
8932
|
part="form-input"
|
|
8915
8933
|
value="${t}"
|
|
8916
8934
|
class="cb-input-form-input"
|
|
@@ -8922,20 +8940,20 @@ let ye = class extends re {
|
|
|
8922
8940
|
></sl-input>`;
|
|
8923
8941
|
case "select": {
|
|
8924
8942
|
const i = Array.isArray(a.options) ? a.options : a.options.split(",").map((s) => s.trim());
|
|
8925
|
-
return t || i[0],
|
|
8943
|
+
return t || i[0], b`<div class="cb-form-field">
|
|
8926
8944
|
<label class="cb-form-field-label"
|
|
8927
8945
|
>${a.title}
|
|
8928
8946
|
${W(
|
|
8929
8947
|
e,
|
|
8930
|
-
() =>
|
|
8931
|
-
() =>
|
|
8948
|
+
() => b`*`,
|
|
8949
|
+
() => b``
|
|
8932
8950
|
)}
|
|
8933
8951
|
</label>
|
|
8934
8952
|
<select id="${"cb-form-field" + a.name}" class="cb-form-field-select" part="form-input" name="${a.name}">
|
|
8935
8953
|
${et(
|
|
8936
8954
|
i,
|
|
8937
8955
|
(s, r) => r,
|
|
8938
|
-
(s) =>
|
|
8956
|
+
(s) => b`<option value="${s}">${s}</option>`
|
|
8939
8957
|
)}
|
|
8940
8958
|
</select>
|
|
8941
8959
|
</div>`;
|
|
@@ -8960,7 +8978,7 @@ let ye = class extends re {
|
|
|
8960
8978
|
return;
|
|
8961
8979
|
}
|
|
8962
8980
|
}
|
|
8963
|
-
|
|
8981
|
+
u.submitForm(e).then(() => {
|
|
8964
8982
|
Oe.info("Form submitted", e), this.emit("form:submit", {
|
|
8965
8983
|
detail: {
|
|
8966
8984
|
formData: e
|
|
@@ -8982,7 +9000,7 @@ let ye = class extends re {
|
|
|
8982
9000
|
<br /><br />
|
|
8983
9001
|
*/
|
|
8984
9002
|
renderActions() {
|
|
8985
|
-
return !Array.isArray(this.actions) || this.actions.length <= 0 ? null :
|
|
9003
|
+
return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : b`
|
|
8986
9004
|
<div class="cb-actions-list">
|
|
8987
9005
|
${et(
|
|
8988
9006
|
this.actions,
|
|
@@ -9015,7 +9033,7 @@ let ye = class extends re {
|
|
|
9015
9033
|
switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
|
|
9016
9034
|
case "calendly.event_scheduled": {
|
|
9017
9035
|
const e = this.activeCalendlyAction;
|
|
9018
|
-
e >= 0 && (
|
|
9036
|
+
e >= 0 && (u.removeAction(e, !0, a.data), u.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
|
|
9019
9037
|
}
|
|
9020
9038
|
}
|
|
9021
9039
|
}
|
|
@@ -9036,7 +9054,7 @@ let ye = class extends re {
|
|
|
9036
9054
|
s.origin === "https://calendly.com" && s.data.event && s.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(s);
|
|
9037
9055
|
}), this.calendlyInjected = !0;
|
|
9038
9056
|
}
|
|
9039
|
-
return
|
|
9057
|
+
return b`
|
|
9040
9058
|
<div class="cb-actions-list">
|
|
9041
9059
|
<div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, a)}">
|
|
9042
9060
|
<div class="cb-action-icon">
|
|
@@ -9053,7 +9071,7 @@ let ye = class extends re {
|
|
|
9053
9071
|
`;
|
|
9054
9072
|
}
|
|
9055
9073
|
renderLinkAction(a) {
|
|
9056
|
-
return
|
|
9074
|
+
return b`
|
|
9057
9075
|
<div class="cb-actions-list">
|
|
9058
9076
|
<div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, a)}">
|
|
9059
9077
|
<div class="cb-action-icon">
|
|
@@ -9076,7 +9094,7 @@ let ye = class extends re {
|
|
|
9076
9094
|
const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
|
|
9077
9095
|
if (t && i) {
|
|
9078
9096
|
const s = a.url + "?embed=true";
|
|
9079
|
-
i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"),
|
|
9097
|
+
i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), u.updateAction(a, {
|
|
9080
9098
|
triggered: e
|
|
9081
9099
|
});
|
|
9082
9100
|
}
|
|
@@ -9088,7 +9106,7 @@ let ye = class extends re {
|
|
|
9088
9106
|
return;
|
|
9089
9107
|
const t = this.activeHubspotMeetingAction;
|
|
9090
9108
|
if (t >= 0) {
|
|
9091
|
-
|
|
9109
|
+
u.removeAction(t, !0, a.data), u.addSystemMessage("Your meeting has been scheduled!"), this.activeHubspotMeetingAction = -1;
|
|
9092
9110
|
const i = document.getElementById("enegelai-bot-hubspot-meeting-container");
|
|
9093
9111
|
i && (i.style.display = "none");
|
|
9094
9112
|
}
|
|
@@ -9119,7 +9137,7 @@ let ye = class extends re {
|
|
|
9119
9137
|
}
|
|
9120
9138
|
return a?.hubspotMeetingAuto && !("triggered" in a) && setTimeout(() => {
|
|
9121
9139
|
this.invokeHubspotMeetingAction(a);
|
|
9122
|
-
}, 500),
|
|
9140
|
+
}, 500), b`
|
|
9123
9141
|
<div class="cb-actions-list">
|
|
9124
9142
|
<div class="cb-action ripple" @click="${this.invokeHubspotMeetingAction.bind(this, a)}">
|
|
9125
9143
|
<div class="cb-action-icon">
|
|
@@ -9217,7 +9235,7 @@ var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e
|
|
|
9217
9235
|
};
|
|
9218
9236
|
let ve = class extends re {
|
|
9219
9237
|
constructor() {
|
|
9220
|
-
super(...arguments), this.store = new it(this,
|
|
9238
|
+
super(...arguments), this.store = new it(this, u), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
|
|
9221
9239
|
}
|
|
9222
9240
|
connectedCallback() {
|
|
9223
9241
|
super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
|
|
@@ -9250,7 +9268,7 @@ let ve = class extends re {
|
|
|
9250
9268
|
});
|
|
9251
9269
|
}
|
|
9252
9270
|
async _sendFileHandler() {
|
|
9253
|
-
const a = await Xa(!1,
|
|
9271
|
+
const a = await Xa(!1, u.setting.fileUploadEnabledExtensions);
|
|
9254
9272
|
this.emit("message:send:file", {
|
|
9255
9273
|
detail: {
|
|
9256
9274
|
files: a
|
|
@@ -9261,11 +9279,11 @@ let ve = class extends re {
|
|
|
9261
9279
|
this.emit("audio:toggle", {});
|
|
9262
9280
|
}
|
|
9263
9281
|
render() {
|
|
9264
|
-
return
|
|
9282
|
+
return b`
|
|
9265
9283
|
${W(
|
|
9266
9284
|
this.loading,
|
|
9267
|
-
() =>
|
|
9268
|
-
() =>
|
|
9285
|
+
() => b`<sl-progress-bar style="--height: 2px;" indeterminate></sl-progress-bar>`,
|
|
9286
|
+
() => b``
|
|
9269
9287
|
)}
|
|
9270
9288
|
<div class="cb-user-input-wrapper" part="user-input-wrapper">
|
|
9271
9289
|
<sl-textarea
|
|
@@ -9287,38 +9305,38 @@ let ve = class extends re {
|
|
|
9287
9305
|
<div class="cb-input-buttons" part="user-input-buttons-wrapper">
|
|
9288
9306
|
<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>
|
|
9289
9307
|
${W(
|
|
9290
|
-
|
|
9291
|
-
() =>
|
|
9292
|
-
() =>
|
|
9308
|
+
u.setting.sendIconSvg !== "",
|
|
9309
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${u.setting.sendIconSvg}"></cb-icon>`,
|
|
9310
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
|
|
9293
9311
|
)}
|
|
9294
9312
|
</sl-button>
|
|
9295
9313
|
${W(
|
|
9296
9314
|
this.enableFileUpload,
|
|
9297
|
-
() =>
|
|
9315
|
+
() => b`
|
|
9298
9316
|
<sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
|
|
9299
9317
|
${W(
|
|
9300
|
-
|
|
9301
|
-
() =>
|
|
9302
|
-
() =>
|
|
9318
|
+
u.setting.attachIconSvg !== "",
|
|
9319
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${u.setting.attachIconSvg}"></cb-icon>`,
|
|
9320
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
|
|
9303
9321
|
)}
|
|
9304
9322
|
<!-- select file input -->
|
|
9305
9323
|
<input type="file" id="file" name="file" class="file-input" />
|
|
9306
9324
|
</sl-button>
|
|
9307
9325
|
`,
|
|
9308
|
-
() =>
|
|
9326
|
+
() => b``
|
|
9309
9327
|
)}
|
|
9310
9328
|
${W(
|
|
9311
9329
|
this.enableAudio,
|
|
9312
|
-
() =>
|
|
9330
|
+
() => b`
|
|
9313
9331
|
<sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
|
|
9314
9332
|
${W(
|
|
9315
|
-
|
|
9316
|
-
() =>
|
|
9317
|
-
() =>
|
|
9333
|
+
u.webAudioStarted,
|
|
9334
|
+
() => b`<cb-icon svg="${da}"></cb-icon>`,
|
|
9335
|
+
() => b`<cb-icon svg="${ri}"></cb-icon>`
|
|
9318
9336
|
)}
|
|
9319
9337
|
</sl-button>
|
|
9320
9338
|
`,
|
|
9321
|
-
() =>
|
|
9339
|
+
() => b``
|
|
9322
9340
|
)}
|
|
9323
9341
|
</div>
|
|
9324
9342
|
</div>
|
|
@@ -9425,7 +9443,7 @@ var $n = Object.defineProperty, Pn = Object.getOwnPropertyDescriptor, Ee = (a, e
|
|
|
9425
9443
|
};
|
|
9426
9444
|
let we = class extends re {
|
|
9427
9445
|
constructor() {
|
|
9428
|
-
super(...arguments), this.store = new it(this,
|
|
9446
|
+
super(...arguments), this.store = new it(this, u), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
|
|
9429
9447
|
}
|
|
9430
9448
|
connectedCallback() {
|
|
9431
9449
|
super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
|
|
@@ -9446,7 +9464,7 @@ let we = class extends re {
|
|
|
9446
9464
|
_ctrlHandler() {
|
|
9447
9465
|
if (this.value && this.value !== "")
|
|
9448
9466
|
return this._sendHandler();
|
|
9449
|
-
if (!
|
|
9467
|
+
if (!u.webAudioStarted)
|
|
9450
9468
|
return this._toggleAudioHandler();
|
|
9451
9469
|
}
|
|
9452
9470
|
_sendHandler() {
|
|
@@ -9464,7 +9482,7 @@ let we = class extends re {
|
|
|
9464
9482
|
});
|
|
9465
9483
|
}
|
|
9466
9484
|
async _sendFileHandler() {
|
|
9467
|
-
const a = await Xa(!1,
|
|
9485
|
+
const a = await Xa(!1, u.setting.fileUploadEnabledExtensions);
|
|
9468
9486
|
this.emit("message:send:file", {
|
|
9469
9487
|
detail: {
|
|
9470
9488
|
files: a
|
|
@@ -9493,31 +9511,31 @@ let we = class extends re {
|
|
|
9493
9511
|
}
|
|
9494
9512
|
}
|
|
9495
9513
|
async _toggleAudioHandler() {
|
|
9496
|
-
await
|
|
9514
|
+
await u.toggleAudio();
|
|
9497
9515
|
}
|
|
9498
9516
|
getCtrlIconSvg() {
|
|
9499
|
-
return this.value && this.value !== "" ||
|
|
9517
|
+
return this.value && this.value !== "" || u.webAudioStarted ? Oa : En;
|
|
9500
9518
|
}
|
|
9501
9519
|
getCtrlClass() {
|
|
9502
|
-
return this.value && this.value !== "" ? "" :
|
|
9520
|
+
return this.value && this.value !== "" ? "" : u.webAudioStarted || u.mediaStartAudioRequested ? "disabled" : "";
|
|
9503
9521
|
}
|
|
9504
9522
|
render() {
|
|
9505
|
-
return
|
|
9523
|
+
return b`
|
|
9506
9524
|
${W(
|
|
9507
9525
|
this.loading,
|
|
9508
|
-
() =>
|
|
9509
|
-
() =>
|
|
9526
|
+
() => b`<sl-progress-bar style="--height: 2px;" indeterminate></sl-progress-bar>`,
|
|
9527
|
+
() => b``
|
|
9510
9528
|
)}
|
|
9511
9529
|
<div class="cb-user-input-mm-wrapper" part="user-input-wrapper">
|
|
9512
9530
|
<div class="cb-user-input-mm" part="user-input-inner">
|
|
9513
9531
|
${W(
|
|
9514
9532
|
this.enableFileUpload,
|
|
9515
|
-
() =>
|
|
9533
|
+
() => b`
|
|
9516
9534
|
<button type="button" class="circle-btn" part="upload-button" title="Upload" @click=${this._sendFileHandler}>
|
|
9517
9535
|
${G(In)}
|
|
9518
9536
|
</button>
|
|
9519
9537
|
`,
|
|
9520
|
-
() =>
|
|
9538
|
+
() => b``
|
|
9521
9539
|
)}
|
|
9522
9540
|
<sl-textarea
|
|
9523
9541
|
part="user-input"
|
|
@@ -9541,11 +9559,11 @@ let we = class extends re {
|
|
|
9541
9559
|
`;
|
|
9542
9560
|
}
|
|
9543
9561
|
renderOld() {
|
|
9544
|
-
return
|
|
9562
|
+
return b`
|
|
9545
9563
|
${W(
|
|
9546
9564
|
this.loading,
|
|
9547
|
-
() =>
|
|
9548
|
-
() =>
|
|
9565
|
+
() => b`<sl-progress-bar style="--height: 2px;" indeterminate></sl-progress-bar>`,
|
|
9566
|
+
() => b``
|
|
9549
9567
|
)}
|
|
9550
9568
|
<div class="cb-user-input-mm-wrapper" part="user-input-wrapper">
|
|
9551
9569
|
<sl-textarea
|
|
@@ -9567,38 +9585,38 @@ let we = class extends re {
|
|
|
9567
9585
|
<div class="cb-input-buttons" part="user-input-buttons-wrapper">
|
|
9568
9586
|
<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>
|
|
9569
9587
|
${W(
|
|
9570
|
-
|
|
9571
|
-
() =>
|
|
9572
|
-
() =>
|
|
9588
|
+
u.setting.sendIconSvg !== "",
|
|
9589
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${u.setting.sendIconSvg}"></cb-icon>`,
|
|
9590
|
+
() => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
|
|
9573
9591
|
)}
|
|
9574
9592
|
</sl-button>
|
|
9575
9593
|
${W(
|
|
9576
9594
|
this.enableFileUpload,
|
|
9577
|
-
() =>
|
|
9595
|
+
() => b`
|
|
9578
9596
|
<sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
|
|
9579
9597
|
${W(
|
|
9580
|
-
|
|
9581
|
-
() =>
|
|
9582
|
-
() =>
|
|
9598
|
+
u.setting.attachIconSvg !== "",
|
|
9599
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${u.setting.attachIconSvg}"></cb-icon>`,
|
|
9600
|
+
() => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
|
|
9583
9601
|
)}
|
|
9584
9602
|
<!-- select file input -->
|
|
9585
9603
|
<input type="file" id="file" name="file" class="file-input" />
|
|
9586
9604
|
</sl-button>
|
|
9587
9605
|
`,
|
|
9588
|
-
() =>
|
|
9606
|
+
() => b``
|
|
9589
9607
|
)}
|
|
9590
9608
|
${W(
|
|
9591
9609
|
this.enableAudio,
|
|
9592
|
-
() =>
|
|
9610
|
+
() => b`
|
|
9593
9611
|
<sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
|
|
9594
9612
|
${W(
|
|
9595
|
-
|
|
9596
|
-
() =>
|
|
9597
|
-
() =>
|
|
9613
|
+
u.webAudioStarted,
|
|
9614
|
+
() => b`<cb-icon svg="${da}"></cb-icon>`,
|
|
9615
|
+
() => b`<cb-icon svg="${ri}"></cb-icon>`
|
|
9598
9616
|
)}
|
|
9599
9617
|
</sl-button>
|
|
9600
9618
|
`,
|
|
9601
|
-
() =>
|
|
9619
|
+
() => b``
|
|
9602
9620
|
)}
|
|
9603
9621
|
</div>
|
|
9604
9622
|
</div>
|
|
@@ -9674,7 +9692,7 @@ const oi = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
|
|
|
9674
9692
|
gap: 8px;
|
|
9675
9693
|
}
|
|
9676
9694
|
`;
|
|
9677
|
-
var Rn = Object.defineProperty, zn = Object.getOwnPropertyDescriptor,
|
|
9695
|
+
var Rn = Object.defineProperty, zn = Object.getOwnPropertyDescriptor, Nt = (a, e, t, i) => {
|
|
9678
9696
|
for (var s = i > 1 ? void 0 : i ? zn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9679
9697
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9680
9698
|
return i && s && Rn(e, t, s), s;
|
|
@@ -9687,7 +9705,7 @@ let ct = class extends re {
|
|
|
9687
9705
|
this.emit("cancel");
|
|
9688
9706
|
}
|
|
9689
9707
|
render() {
|
|
9690
|
-
return
|
|
9708
|
+
return b` <sl-dialog
|
|
9691
9709
|
label="Setting"
|
|
9692
9710
|
class="cb-dialog"
|
|
9693
9711
|
style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
|
|
@@ -9697,7 +9715,7 @@ let ct = class extends re {
|
|
|
9697
9715
|
>
|
|
9698
9716
|
<header class="cb-header">
|
|
9699
9717
|
<div class="cb-header__left">
|
|
9700
|
-
${this.label ?
|
|
9718
|
+
${this.label ? b`<span class="title">${this.label}</span>` : ""}
|
|
9701
9719
|
</div>
|
|
9702
9720
|
<sl-button
|
|
9703
9721
|
@click=${this._settingCancelHandler}
|
|
@@ -9724,16 +9742,16 @@ let ct = class extends re {
|
|
|
9724
9742
|
}
|
|
9725
9743
|
};
|
|
9726
9744
|
ct.styles = Ln;
|
|
9727
|
-
|
|
9745
|
+
Nt([
|
|
9728
9746
|
x({ type: Boolean })
|
|
9729
9747
|
], ct.prototype, "open", 2);
|
|
9730
|
-
|
|
9748
|
+
Nt([
|
|
9731
9749
|
x({ type: String, attribute: "label" })
|
|
9732
9750
|
], ct.prototype, "label", 2);
|
|
9733
|
-
|
|
9751
|
+
Nt([
|
|
9734
9752
|
x({ type: Number })
|
|
9735
9753
|
], ct.prototype, "zindex", 2);
|
|
9736
|
-
ct =
|
|
9754
|
+
ct = Nt([
|
|
9737
9755
|
J("cb-dialog")
|
|
9738
9756
|
], ct);
|
|
9739
9757
|
var On = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, ci = (a, e, t, i) => {
|
|
@@ -9741,12 +9759,12 @@ var On = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, ci = (a, e
|
|
|
9741
9759
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9742
9760
|
return i && s && On(e, t, s), s;
|
|
9743
9761
|
};
|
|
9744
|
-
let
|
|
9762
|
+
let jt = class extends re {
|
|
9745
9763
|
constructor() {
|
|
9746
9764
|
super(...arguments), this.open = !1;
|
|
9747
9765
|
}
|
|
9748
9766
|
render() {
|
|
9749
|
-
return
|
|
9767
|
+
return b` <cb-dialog
|
|
9750
9768
|
label="Confirm"
|
|
9751
9769
|
class="cb-clear-message-dialog"
|
|
9752
9770
|
?open=${this.open}
|
|
@@ -9775,7 +9793,7 @@ let Dt = class extends re {
|
|
|
9775
9793
|
this.emit("cancel");
|
|
9776
9794
|
}
|
|
9777
9795
|
};
|
|
9778
|
-
|
|
9796
|
+
jt.styles = K`
|
|
9779
9797
|
.cb-clear-message-dialog {
|
|
9780
9798
|
}
|
|
9781
9799
|
|
|
@@ -9785,10 +9803,10 @@ Dt.styles = K`
|
|
|
9785
9803
|
`;
|
|
9786
9804
|
ci([
|
|
9787
9805
|
x({ type: Boolean })
|
|
9788
|
-
],
|
|
9789
|
-
|
|
9806
|
+
], jt.prototype, "open", 2);
|
|
9807
|
+
jt = ci([
|
|
9790
9808
|
J("cb-clear-message-dialog")
|
|
9791
|
-
],
|
|
9809
|
+
], jt);
|
|
9792
9810
|
const qn = K`
|
|
9793
9811
|
:host {
|
|
9794
9812
|
// width: 380px;
|
|
@@ -9859,7 +9877,7 @@ let Xe = class extends re {
|
|
|
9859
9877
|
super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
|
|
9860
9878
|
}
|
|
9861
9879
|
render() {
|
|
9862
|
-
return this.customRequest = this.setting.customRequest,
|
|
9880
|
+
return this.customRequest = this.setting.customRequest, b`
|
|
9863
9881
|
<cb-dialog label="Setting" class="cb-dialog" ?open=${this.open} ?no-header=${!0} @cancel=${this._settingCancelHandler}>
|
|
9864
9882
|
<form>
|
|
9865
9883
|
<div class="form-item">
|
|
@@ -9923,7 +9941,7 @@ let Xe = class extends re {
|
|
|
9923
9941
|
`;
|
|
9924
9942
|
}
|
|
9925
9943
|
renderInternalServices() {
|
|
9926
|
-
return
|
|
9944
|
+
return b`
|
|
9927
9945
|
<div class="form-item">
|
|
9928
9946
|
<label class="label">Service</label>
|
|
9929
9947
|
<sl-radio-group name="openai" value="openai" size="small">
|
|
@@ -10102,6 +10120,10 @@ const jn = K`
|
|
|
10102
10120
|
gap: 10px;
|
|
10103
10121
|
}
|
|
10104
10122
|
|
|
10123
|
+
.cb-engage-popup-text p:first-of-type {
|
|
10124
|
+
margin-block-start: 0
|
|
10125
|
+
}
|
|
10126
|
+
|
|
10105
10127
|
.cb-anchor-badge {
|
|
10106
10128
|
margin: 4px 4px 0px 0px;
|
|
10107
10129
|
}
|
|
@@ -10111,9 +10133,9 @@ var Hn = Object.defineProperty, Vn = Object.getOwnPropertyDescriptor, li = (a, e
|
|
|
10111
10133
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10112
10134
|
return i && s && Hn(e, t, s), s;
|
|
10113
10135
|
};
|
|
10114
|
-
let
|
|
10136
|
+
let Ht = class extends re {
|
|
10115
10137
|
constructor() {
|
|
10116
|
-
super(...arguments), this.store = new it(this,
|
|
10138
|
+
super(...arguments), this.store = new it(this, u), this.open = !1;
|
|
10117
10139
|
}
|
|
10118
10140
|
// handler click
|
|
10119
10141
|
_clickHandler() {
|
|
@@ -10125,7 +10147,7 @@ let Ft = class extends re {
|
|
|
10125
10147
|
}), this.open = a;
|
|
10126
10148
|
}
|
|
10127
10149
|
_engageClickHandler(a) {
|
|
10128
|
-
console.log("engage close clicked!"),
|
|
10150
|
+
console.log("engage close clicked!"), u.suppressEngagePopup(), a.stopPropagation();
|
|
10129
10151
|
}
|
|
10130
10152
|
/*
|
|
10131
10153
|
${when(
|
|
@@ -10136,28 +10158,31 @@ let Ft = class extends re {
|
|
|
10136
10158
|
*/
|
|
10137
10159
|
getPopupPlacement() {
|
|
10138
10160
|
let a = "top-end";
|
|
10139
|
-
return a =
|
|
10161
|
+
return a = u.appearanceAnchorPopupPosition, a;
|
|
10140
10162
|
}
|
|
10141
10163
|
getBadgeVariant() {
|
|
10142
10164
|
let a = "danger";
|
|
10143
|
-
return a =
|
|
10165
|
+
return a = u.appearanceAnchorBadgeVariant, a;
|
|
10144
10166
|
}
|
|
10145
10167
|
renderPopupLogo() {
|
|
10146
|
-
return
|
|
10168
|
+
return u.setting.popupLogoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${u.setting.popupLogoUrl}" />` : u.setting.popupLogoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(u.setting.popupLogoSvg)}`}</div>` : u.setting.logoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${u.setting.logoUrl}" />` : u.setting.logoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(u.setting.logoSvg)}`}</div>` : null;
|
|
10169
|
+
}
|
|
10170
|
+
async _getEngageMessageHtml(a) {
|
|
10171
|
+
return Ft(xt(a));
|
|
10147
10172
|
}
|
|
10148
10173
|
render() {
|
|
10149
|
-
return
|
|
10174
|
+
return b`
|
|
10150
10175
|
<div class="cb-anchor ${this.open ? "open" : ""}" part="anchor" @click=${this._clickHandler.bind(this)}>
|
|
10151
|
-
<sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${
|
|
10176
|
+
<sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${u.engage && !u.open}">
|
|
10152
10177
|
<sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
|
|
10153
10178
|
${W(
|
|
10154
10179
|
this.open,
|
|
10155
|
-
() =>
|
|
10156
|
-
() =>
|
|
10180
|
+
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(u.setting.anchorCloseSvg)}`}</div>`,
|
|
10181
|
+
() => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(u.setting.anchorOpenSvg)}`}</div>`
|
|
10157
10182
|
)}
|
|
10158
10183
|
${W(
|
|
10159
|
-
!this.open &&
|
|
10160
|
-
() =>
|
|
10184
|
+
!this.open && u.unreadMessages > 0,
|
|
10185
|
+
() => b`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${u.unreadMessages}</sl-badge>`,
|
|
10161
10186
|
() => null
|
|
10162
10187
|
)}
|
|
10163
10188
|
</sl-button>
|
|
@@ -10165,7 +10190,11 @@ let Ft = class extends re {
|
|
|
10165
10190
|
<div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${pe`${G(oi)}`}</div>
|
|
10166
10191
|
<div class="cb-engage-popup-content">
|
|
10167
10192
|
${this.renderPopupLogo()}
|
|
10168
|
-
<div
|
|
10193
|
+
<div class="cb-engage-popup-text">
|
|
10194
|
+
${bt(
|
|
10195
|
+
this._getEngageMessageHtml(u.setting.engageMessage).then((a) => b`${a}`)
|
|
10196
|
+
)}
|
|
10197
|
+
</div>
|
|
10169
10198
|
</div>
|
|
10170
10199
|
</div>
|
|
10171
10200
|
</sl-popup>
|
|
@@ -10173,13 +10202,13 @@ let Ft = class extends re {
|
|
|
10173
10202
|
`;
|
|
10174
10203
|
}
|
|
10175
10204
|
};
|
|
10176
|
-
|
|
10205
|
+
Ht.styles = jn;
|
|
10177
10206
|
li([
|
|
10178
10207
|
x({ type: Boolean })
|
|
10179
|
-
],
|
|
10180
|
-
|
|
10208
|
+
], Ht.prototype, "open", 2);
|
|
10209
|
+
Ht = li([
|
|
10181
10210
|
J("cb-anchor")
|
|
10182
|
-
],
|
|
10211
|
+
], Ht);
|
|
10183
10212
|
const Un = K`
|
|
10184
10213
|
${ke}
|
|
10185
10214
|
`, Ba = '<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>', Nn = '<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>', Wn = '<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>', Gn = '<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>';
|
|
@@ -10210,22 +10239,22 @@ const qa = {
|
|
|
10210
10239
|
icon: Gn
|
|
10211
10240
|
}
|
|
10212
10241
|
};
|
|
10213
|
-
let
|
|
10242
|
+
let Vt = class extends re {
|
|
10214
10243
|
constructor() {
|
|
10215
10244
|
super(...arguments), this.status = "info";
|
|
10216
10245
|
}
|
|
10217
10246
|
render() {
|
|
10218
10247
|
const { variant: a, icon: e } = qa[this.status] || qa.info;
|
|
10219
|
-
return
|
|
10248
|
+
return b`<cb-icon svg=${e} color="${a}"></cb-icon>`;
|
|
10220
10249
|
}
|
|
10221
10250
|
};
|
|
10222
|
-
|
|
10251
|
+
Vt.styles = Ga;
|
|
10223
10252
|
di([
|
|
10224
10253
|
x({ type: String })
|
|
10225
|
-
],
|
|
10226
|
-
|
|
10254
|
+
], Vt.prototype, "status", 2);
|
|
10255
|
+
Vt = di([
|
|
10227
10256
|
J("cb-status-icon")
|
|
10228
|
-
],
|
|
10257
|
+
], Vt);
|
|
10229
10258
|
var Kn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
|
|
10230
10259
|
for (var s = i > 1 ? void 0 : i ? Kn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10231
10260
|
(o = a[r]) && (s = o(s) || s);
|
|
@@ -10233,7 +10262,7 @@ var Kn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
|
|
|
10233
10262
|
};
|
|
10234
10263
|
let ea = class extends re {
|
|
10235
10264
|
render() {
|
|
10236
|
-
return
|
|
10265
|
+
return b` <sl-alert variant="danger" open>
|
|
10237
10266
|
<cb-status-icon status="error" slot="icon"></cb-status-icon>
|
|
10238
10267
|
Please config openai api key in the settings.
|
|
10239
10268
|
<span
|
|
@@ -10343,7 +10372,7 @@ var Qn = Object.defineProperty, er = Object.getOwnPropertyDescriptor, ft = (a, e
|
|
|
10343
10372
|
const Da = Ke.noConflict(), tr = '<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>';
|
|
10344
10373
|
let Ye = class extends re {
|
|
10345
10374
|
constructor() {
|
|
10346
|
-
super(...arguments), this.store = new it(this,
|
|
10375
|
+
super(...arguments), this.store = new it(this, u), this.zindex = 100;
|
|
10347
10376
|
}
|
|
10348
10377
|
connectedCallback() {
|
|
10349
10378
|
super.connectedCallback(), Da.info("connectedCallback");
|
|
@@ -10356,39 +10385,39 @@ let Ye = class extends re {
|
|
|
10356
10385
|
Da.info(`FEEDBACK: stateEvent: ${t}`, e);
|
|
10357
10386
|
}
|
|
10358
10387
|
_cancelHandler() {
|
|
10359
|
-
|
|
10388
|
+
u.feedback && (console.log("Feedback dialog cancelled"), u.feedback = !1);
|
|
10360
10389
|
}
|
|
10361
10390
|
// todo render empty if feedback is disabled
|
|
10362
10391
|
render() {
|
|
10363
|
-
return
|
|
10392
|
+
return b` <sl-dialog ?no-header=${!0} ?open=${u.feedback} @sl-hide=${this._cancelHandler} class="cb-feedback-dialog">
|
|
10364
10393
|
<div style="">
|
|
10365
10394
|
<h2>Please share your feedback</h2>
|
|
10366
10395
|
<div class="cb-feedback-messages-wrapper">
|
|
10367
|
-
<cb-message-list style="width: 50%;" .messages=${
|
|
10396
|
+
<cb-message-list style="width: 50%;" .messages=${u.feedbackMessages} ?suppressFeedback=${!0}></cb-message-list>
|
|
10368
10397
|
</div>
|
|
10369
10398
|
<div class="cb-feedback-rating-label">Please rate this answer</div>
|
|
10370
10399
|
<div class="cb-feedback-rating-wrapper">
|
|
10371
10400
|
<div
|
|
10372
10401
|
class="cb-feedback-rating-icon"
|
|
10373
10402
|
@click="${() => {
|
|
10374
|
-
|
|
10403
|
+
u.feedbackScore = 0;
|
|
10375
10404
|
}}"
|
|
10376
10405
|
>
|
|
10377
10406
|
${pe`${G(ii)}`}
|
|
10378
10407
|
</div>
|
|
10379
|
-
<sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${
|
|
10408
|
+
<sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${u.feedbackScore}></sl-rating>
|
|
10380
10409
|
<div
|
|
10381
10410
|
class="cb-feedback-rating-icon"
|
|
10382
10411
|
@click="${() => {
|
|
10383
|
-
|
|
10412
|
+
u.feedbackScore = 5;
|
|
10384
10413
|
}}"
|
|
10385
10414
|
>
|
|
10386
10415
|
${pe`${G(ai)}`}
|
|
10387
10416
|
</div>
|
|
10388
10417
|
</div>
|
|
10389
10418
|
<div style="display: flex">
|
|
10390
|
-
<sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${
|
|
10391
|
-
<sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${
|
|
10419
|
+
<sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${u.feedbackName}" size="medium"></sl-input>
|
|
10420
|
+
<sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${u.feedbackEmail}" size="medium"></sl-input>
|
|
10392
10421
|
</div>
|
|
10393
10422
|
<sl-textarea id="cb-feedback-comments-el" placeholder="Your comments" size="medium" value="" rows="3"></sl-textarea>
|
|
10394
10423
|
</div>
|
|
@@ -10397,11 +10426,11 @@ let Ye = class extends re {
|
|
|
10397
10426
|
</sl-dialog>`;
|
|
10398
10427
|
}
|
|
10399
10428
|
_ratingChangeHandler() {
|
|
10400
|
-
|
|
10429
|
+
u.feedbackScore = this._rating.value;
|
|
10401
10430
|
}
|
|
10402
10431
|
async _submitHandler() {
|
|
10403
|
-
const a = this._name?.value || "", e = this._email?.value || "", t =
|
|
10404
|
-
this._comments.value = "", await
|
|
10432
|
+
const a = this._name?.value || "", e = this._email?.value || "", t = xt(this._comments?.value || "");
|
|
10433
|
+
this._comments.value = "", await u.submitFeedback(a, e, t);
|
|
10405
10434
|
}
|
|
10406
10435
|
};
|
|
10407
10436
|
Ye.styles = Zn;
|
|
@@ -10816,7 +10845,7 @@ class fi extends HTMLElement {
|
|
|
10816
10845
|
class sr extends fi {
|
|
10817
10846
|
constructor() {
|
|
10818
10847
|
super(), this._ribbons = [], this._lastTime = 0, this._ribbons.push(
|
|
10819
|
-
new
|
|
10848
|
+
new $t(
|
|
10820
10849
|
12,
|
|
10821
10850
|
{ r: 255, g: 126, b: 103 },
|
|
10822
10851
|
// #FF7E67
|
|
@@ -10824,7 +10853,7 @@ class sr extends fi {
|
|
|
10824
10853
|
// #63c1d0
|
|
10825
10854
|
{ springStrength: 20, damping: 0.7, scale: 0.8, phase: 0 }
|
|
10826
10855
|
),
|
|
10827
|
-
new
|
|
10856
|
+
new $t(
|
|
10828
10857
|
12,
|
|
10829
10858
|
{ r: 255, g: 201, b: 71 },
|
|
10830
10859
|
// #FFC947
|
|
@@ -10832,7 +10861,7 @@ class sr extends fi {
|
|
|
10832
10861
|
// #ecff6b
|
|
10833
10862
|
{ springStrength: 7, damping: 0.5, scale: 0.7, phase: -0.3 }
|
|
10834
10863
|
),
|
|
10835
|
-
new
|
|
10864
|
+
new $t(
|
|
10836
10865
|
12,
|
|
10837
10866
|
{ r: 255, g: 154, b: 140 },
|
|
10838
10867
|
// #FF9A8C
|
|
@@ -10840,7 +10869,7 @@ class sr extends fi {
|
|
|
10840
10869
|
// #a5e8ad
|
|
10841
10870
|
{ springStrength: 7, damping: 0.3, scale: 0.5, phase: 0.3 }
|
|
10842
10871
|
),
|
|
10843
|
-
new
|
|
10872
|
+
new $t(
|
|
10844
10873
|
12,
|
|
10845
10874
|
{ r: 255, g: 107, b: 107 },
|
|
10846
10875
|
// #FF6B6B
|
|
@@ -10858,7 +10887,7 @@ class sr extends fi {
|
|
|
10858
10887
|
}
|
|
10859
10888
|
}
|
|
10860
10889
|
customElements.get("volume-visualizer-liquid") || customElements.define("volume-visualizer-liquid", sr);
|
|
10861
|
-
class
|
|
10890
|
+
class $t {
|
|
10862
10891
|
constructor(e, t, i, s) {
|
|
10863
10892
|
this.inputColorRGB = t, this.outputColorRGB = i, this.currentColorRGB = { ...i }, this.options = s, this.segments = e, this.renderPoints = Array(e).fill(0), this.targetPoints = Array(e).fill(0), this.velocity = Array(e).fill(0), this.springStrength = s.springStrength || 10, this.damping = s.damping || 0.5, this.phase = s.phase || 0, this.scale = s.scale || 1, this.thinkingPhase = 0;
|
|
10864
10893
|
}
|
|
@@ -10971,11 +11000,11 @@ var or = Object.getOwnPropertyDescriptor, cr = (a, e, t, i) => {
|
|
|
10971
11000
|
(o = a[r]) && (s = o(s) || s);
|
|
10972
11001
|
return s;
|
|
10973
11002
|
};
|
|
10974
|
-
const
|
|
10975
|
-
|
|
11003
|
+
const ut = Ke.noConflict();
|
|
11004
|
+
ut.setLevel("info");
|
|
10976
11005
|
let ta = class extends re {
|
|
10977
11006
|
constructor() {
|
|
10978
|
-
super(...arguments), this.store = new it(this,
|
|
11007
|
+
super(...arguments), this.store = new it(this, u), this.unsubscribeTypingActive = u.subscribe(
|
|
10979
11008
|
this._handleTypingActiveChanged.bind(this),
|
|
10980
11009
|
["typingActive"]
|
|
10981
11010
|
), this.volumeVisualizerRef = ji(), this.volumeVisualizerInitialized = !1;
|
|
@@ -11002,16 +11031,16 @@ let ta = class extends re {
|
|
|
11002
11031
|
</header>`;
|
|
11003
11032
|
}*/
|
|
11004
11033
|
render() {
|
|
11005
|
-
return
|
|
11034
|
+
return u.webAudioStarted ? b`<div class="cb-audio-controls-wrapper" part="audio-controls-wrapper">
|
|
11006
11035
|
<div class="cb-audio-controls" part="audio-controls" @click=${this._toggleMute}>
|
|
11007
11036
|
${W(
|
|
11008
11037
|
!0,
|
|
11009
|
-
() =>
|
|
11010
|
-
<button type="button" part="${
|
|
11038
|
+
() => b`
|
|
11039
|
+
<button type="button" part="${u.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${u.webAudioMuted ? "danger" : "clear"}" title="${u.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
|
|
11011
11040
|
${G(rr)}
|
|
11012
11041
|
</button>
|
|
11013
11042
|
`,
|
|
11014
|
-
() =>
|
|
11043
|
+
() => b``
|
|
11015
11044
|
)}
|
|
11016
11045
|
<div class="cb-audio-controls-viz" part="audio-controls-viz">
|
|
11017
11046
|
${this.renderVisualizer()}
|
|
@@ -11023,30 +11052,30 @@ let ta = class extends re {
|
|
|
11023
11052
|
</div>` : null;
|
|
11024
11053
|
}
|
|
11025
11054
|
renderVisualizer() {
|
|
11026
|
-
switch (
|
|
11055
|
+
switch (u.setting.botAdvancedSettings?.audioVisualizerName || "bars") {
|
|
11027
11056
|
case "default":
|
|
11028
|
-
return
|
|
11029
|
-
<volume-visualizer ${
|
|
11057
|
+
return b`
|
|
11058
|
+
<volume-visualizer ${Tt(this.volumeVisualizerRef)}></volume-visualizer>
|
|
11030
11059
|
`;
|
|
11031
11060
|
case "liquid":
|
|
11032
|
-
return
|
|
11033
|
-
<volume-visualizer-liquid ${
|
|
11061
|
+
return b`
|
|
11062
|
+
<volume-visualizer-liquid ${Tt(this.volumeVisualizerRef)}></volume-visualizer-liquid>
|
|
11034
11063
|
`;
|
|
11035
11064
|
case "bars":
|
|
11036
|
-
return
|
|
11037
|
-
<volume-visualizer-bars ${
|
|
11065
|
+
return b`
|
|
11066
|
+
<volume-visualizer-bars ${Tt(this.volumeVisualizerRef)}></volume-visualizer-bars>
|
|
11038
11067
|
`;
|
|
11039
11068
|
default:
|
|
11040
|
-
return
|
|
11041
|
-
<volume-visualizer ${
|
|
11069
|
+
return b`
|
|
11070
|
+
<volume-visualizer ${Tt(this.volumeVisualizerRef)}></volume-visualizer>
|
|
11042
11071
|
`;
|
|
11043
11072
|
}
|
|
11044
11073
|
}
|
|
11045
11074
|
updated(a) {
|
|
11046
11075
|
if (super.updated(a), this.volumeVisualizerRef.value) {
|
|
11047
11076
|
if (!this.volumeVisualizerInitialized) {
|
|
11048
|
-
const e = this.volumeVisualizerRef.value, t =
|
|
11049
|
-
t && (e.connectAnalyzers(t),
|
|
11077
|
+
const e = this.volumeVisualizerRef.value, t = u.getAudioAnalyzers();
|
|
11078
|
+
t && (e.connectAnalyzers(t), ut.info("volumeVisualizerInitialized set to true"), this.volumeVisualizerInitialized = !0);
|
|
11050
11079
|
}
|
|
11051
11080
|
} else
|
|
11052
11081
|
this.volumeVisualizerInitialized && (this.volumeVisualizerInitialized = !1);
|
|
@@ -11064,13 +11093,13 @@ let ta = class extends re {
|
|
|
11064
11093
|
)}
|
|
11065
11094
|
* */
|
|
11066
11095
|
async _toggleMute(a) {
|
|
11067
|
-
a.stopPropagation(),
|
|
11096
|
+
a.stopPropagation(), ut.info("_toggleMute called"), await u.toggleMute(), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setMuted(u.webAudioMuted);
|
|
11068
11097
|
}
|
|
11069
11098
|
async _toggleHangup(a) {
|
|
11070
|
-
a.stopPropagation(),
|
|
11099
|
+
a.stopPropagation(), ut.info("_toggleHangup called"), await u.stopAudio();
|
|
11071
11100
|
}
|
|
11072
11101
|
_handleTypingActiveChanged(a, e, t) {
|
|
11073
|
-
|
|
11102
|
+
u.webAudioStarted && (ut.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
|
|
11074
11103
|
}
|
|
11075
11104
|
};
|
|
11076
11105
|
ta.styles = ar;
|
|
@@ -11098,7 +11127,7 @@ class hi extends Error {
|
|
|
11098
11127
|
super(t), this.value = e;
|
|
11099
11128
|
}
|
|
11100
11129
|
}
|
|
11101
|
-
class
|
|
11130
|
+
class Yt extends Error {
|
|
11102
11131
|
name = "ForceRetryError";
|
|
11103
11132
|
customDelay;
|
|
11104
11133
|
code;
|
|
@@ -11127,7 +11156,7 @@ const ja = (() => {
|
|
|
11127
11156
|
throw s;
|
|
11128
11157
|
}
|
|
11129
11158
|
return a && !e;
|
|
11130
|
-
})(), lr = typeof globalThis.AbortController == "function",
|
|
11159
|
+
})(), lr = typeof globalThis.AbortController == "function", ui = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", dr = typeof globalThis.ReadableStream == "function", fr = typeof globalThis.FormData == "function", bi = ["get", "post", "put", "patch", "head", "delete"], hr = {
|
|
11131
11160
|
json: "application/json",
|
|
11132
11161
|
text: "text/*",
|
|
11133
11162
|
formData: "multipart/form-data",
|
|
@@ -11136,14 +11165,14 @@ const ja = (() => {
|
|
|
11136
11165
|
// Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
|
|
11137
11166
|
// We still feature-check at runtime before exposing the shortcut.
|
|
11138
11167
|
bytes: "*/*"
|
|
11139
|
-
},
|
|
11168
|
+
}, Kt = 2147483647, ur = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, pi = Symbol("stop");
|
|
11140
11169
|
class gi {
|
|
11141
11170
|
options;
|
|
11142
11171
|
constructor(e) {
|
|
11143
11172
|
this.options = e;
|
|
11144
11173
|
}
|
|
11145
11174
|
}
|
|
11146
|
-
const
|
|
11175
|
+
const br = (a) => new gi(a), pr = {
|
|
11147
11176
|
json: !0,
|
|
11148
11177
|
parseJson: !0,
|
|
11149
11178
|
stringifyJson: !0,
|
|
@@ -11181,7 +11210,7 @@ const ur = (a) => new gi(a), pr = {
|
|
|
11181
11210
|
if (a instanceof FormData) {
|
|
11182
11211
|
let e = 0;
|
|
11183
11212
|
for (const [t, i] of a)
|
|
11184
|
-
e +=
|
|
11213
|
+
e += ur, e += new TextEncoder().encode(`Content-Disposition: form-data; name="${t}"`).length, e += typeof i == "string" ? new TextEncoder().encode(i).length : i.size;
|
|
11185
11214
|
return e;
|
|
11186
11215
|
}
|
|
11187
11216
|
if (a instanceof Blob)
|
|
@@ -11241,7 +11270,7 @@ const ur = (a) => new gi(a), pr = {
|
|
|
11241
11270
|
duplex: "half",
|
|
11242
11271
|
body: mi(a.body, i, e)
|
|
11243
11272
|
});
|
|
11244
|
-
}, Qe = (a) => a !== null && typeof a == "object",
|
|
11273
|
+
}, Qe = (a) => a !== null && typeof a == "object", Pt = (...a) => {
|
|
11245
11274
|
for (const e of a)
|
|
11246
11275
|
if ((!Qe(e) || Array.isArray(e)) && e !== void 0)
|
|
11247
11276
|
throw new TypeError("The `options` argument must be an object");
|
|
@@ -11252,14 +11281,14 @@ const ur = (a) => new gi(a), pr = {
|
|
|
11252
11281
|
i && o === "undefined" || o === void 0 ? t.delete(r) : t.set(r, o);
|
|
11253
11282
|
return t;
|
|
11254
11283
|
};
|
|
11255
|
-
function
|
|
11284
|
+
function Lt(a, e, t) {
|
|
11256
11285
|
return Object.hasOwn(e, t) && e[t] === void 0 ? [] : ha(a[t] ?? [], e[t] ?? []);
|
|
11257
11286
|
}
|
|
11258
11287
|
const vi = (a = {}, e = {}) => ({
|
|
11259
|
-
beforeRequest:
|
|
11260
|
-
beforeRetry:
|
|
11261
|
-
afterResponse:
|
|
11262
|
-
beforeError:
|
|
11288
|
+
beforeRequest: Lt(a, e, "beforeRequest"),
|
|
11289
|
+
beforeRetry: Lt(a, e, "beforeRetry"),
|
|
11290
|
+
afterResponse: Lt(a, e, "afterResponse"),
|
|
11291
|
+
beforeError: Lt(a, e, "beforeError")
|
|
11263
11292
|
}), xr = (a, e) => {
|
|
11264
11293
|
const t = new URLSearchParams();
|
|
11265
11294
|
for (const i of [a, e])
|
|
@@ -11311,8 +11340,8 @@ const vi = (a = {}, e = {}) => ({
|
|
|
11311
11340
|
}
|
|
11312
11341
|
Qe(o.hooks) && (i = vi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = yi(t, o.headers), e.headers = t);
|
|
11313
11342
|
}
|
|
11314
|
-
return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] :
|
|
11315
|
-
}, kr = (a) =>
|
|
11343
|
+
return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : ui ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
|
|
11344
|
+
}, kr = (a) => bi.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503], Ha = {
|
|
11316
11345
|
limit: 2,
|
|
11317
11346
|
methods: _r,
|
|
11318
11347
|
statusCodes: Sr,
|
|
@@ -11376,11 +11405,11 @@ function $r(a) {
|
|
|
11376
11405
|
function Pr(a) {
|
|
11377
11406
|
return a instanceof ia || a?.name === ia.name;
|
|
11378
11407
|
}
|
|
11379
|
-
class
|
|
11408
|
+
class wt {
|
|
11380
11409
|
static create(e, t) {
|
|
11381
|
-
const i = new
|
|
11382
|
-
if (typeof i.#e.timeout == "number" && i.#e.timeout >
|
|
11383
|
-
throw new RangeError(`The \`timeout\` option cannot be greater than ${
|
|
11410
|
+
const i = new wt(e, t), s = async () => {
|
|
11411
|
+
if (typeof i.#e.timeout == "number" && i.#e.timeout > Kt)
|
|
11412
|
+
throw new RangeError(`The \`timeout\` option cannot be greater than ${Kt}`);
|
|
11384
11413
|
await Promise.resolve();
|
|
11385
11414
|
let o = await i.#p();
|
|
11386
11415
|
for (const f of i.#e.hooks.afterResponse) {
|
|
@@ -11389,7 +11418,7 @@ class vt {
|
|
|
11389
11418
|
throw await Promise.all([
|
|
11390
11419
|
p.body?.cancel(),
|
|
11391
11420
|
o.body?.cancel()
|
|
11392
|
-
]), new
|
|
11421
|
+
]), new Yt(v.options);
|
|
11393
11422
|
}
|
|
11394
11423
|
if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
|
|
11395
11424
|
let f = new aa(o, i.request, i.#o());
|
|
@@ -11424,7 +11453,7 @@ class vt {
|
|
|
11424
11453
|
return r;
|
|
11425
11454
|
}
|
|
11426
11455
|
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
11427
|
-
static #
|
|
11456
|
+
static #u(e) {
|
|
11428
11457
|
return e && typeof e == "object" && !Array.isArray(e) && !(e instanceof URLSearchParams) ? Object.fromEntries(Object.entries(e).filter(([, t]) => t !== void 0)) : e;
|
|
11429
11458
|
}
|
|
11430
11459
|
request;
|
|
@@ -11462,10 +11491,10 @@ class vt {
|
|
|
11462
11491
|
throw new Error("`input` must not begin with a slash when using `prefixUrl`");
|
|
11463
11492
|
this.#e.prefixUrl.endsWith("/") || (this.#e.prefixUrl += "/"), this.#t = this.#e.prefixUrl + this.#t;
|
|
11464
11493
|
}
|
|
11465
|
-
lr &&
|
|
11494
|
+
lr && ui && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), ja && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
|
|
11466
11495
|
const i = t.headers && new globalThis.Headers(t.headers).has("content-type");
|
|
11467
11496
|
if (this.#t instanceof globalThis.Request && (fr && this.#e.body instanceof globalThis.FormData || this.#e.body instanceof URLSearchParams) && !i && this.#e.headers.delete("content-type"), this.request = new globalThis.Request(this.#t, this.#e), Er(this.#e.searchParams)) {
|
|
11468
|
-
const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(
|
|
11497
|
+
const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(wt.#u(this.#e.searchParams)).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
|
|
11469
11498
|
this.request = new globalThis.Request(o, this.#e);
|
|
11470
11499
|
}
|
|
11471
11500
|
if (this.#e.onUploadProgress) {
|
|
@@ -11481,11 +11510,11 @@ class vt {
|
|
|
11481
11510
|
let t = e;
|
|
11482
11511
|
return this.#e.retry.jitter === !0 ? t = Math.random() * e : typeof this.#e.retry.jitter == "function" && (t = this.#e.retry.jitter(e), (!Number.isFinite(t) || t < 0) && (t = e)), Math.min(this.#e.retry.backoffLimit, t);
|
|
11483
11512
|
}
|
|
11484
|
-
async #
|
|
11513
|
+
async #b(e) {
|
|
11485
11514
|
if (this.#a++, this.#a > this.#e.retry.limit)
|
|
11486
11515
|
throw e;
|
|
11487
11516
|
const t = e instanceof Error ? e : new hi(e);
|
|
11488
|
-
if (t instanceof
|
|
11517
|
+
if (t instanceof Yt)
|
|
11489
11518
|
return t.customDelay ?? this.#c();
|
|
11490
11519
|
if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
|
|
11491
11520
|
throw e;
|
|
@@ -11520,10 +11549,10 @@ class vt {
|
|
|
11520
11549
|
try {
|
|
11521
11550
|
return await e();
|
|
11522
11551
|
} catch (t) {
|
|
11523
|
-
const i = Math.min(await this.#
|
|
11552
|
+
const i = Math.min(await this.#b(t), Kt);
|
|
11524
11553
|
if (this.#a < 1)
|
|
11525
11554
|
throw t;
|
|
11526
|
-
if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof
|
|
11555
|
+
if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof Yt && t.customRequest) {
|
|
11527
11556
|
const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
|
|
11528
11557
|
this.#l(s);
|
|
11529
11558
|
}
|
|
@@ -11575,10 +11604,10 @@ class vt {
|
|
|
11575
11604
|
}
|
|
11576
11605
|
}
|
|
11577
11606
|
const sa = (a) => {
|
|
11578
|
-
const e = (t, i) =>
|
|
11579
|
-
for (const t of
|
|
11580
|
-
e[t] = (i, s) =>
|
|
11581
|
-
return e.create = (t) => sa(
|
|
11607
|
+
const e = (t, i) => wt.create(t, Pt(a, i));
|
|
11608
|
+
for (const t of bi)
|
|
11609
|
+
e[t] = (i, s) => wt.create(i, Pt(a, s, { method: t }));
|
|
11610
|
+
return e.create = (t) => sa(Pt(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), sa(Pt(a, t))), e.stop = pi, e.retry = br, e;
|
|
11582
11611
|
}, Lr = sa();
|
|
11583
11612
|
Lr.extend({
|
|
11584
11613
|
hooks: {
|
|
@@ -11609,7 +11638,7 @@ async function Rr(a, e) {
|
|
|
11609
11638
|
}).text()
|
|
11610
11639
|
);
|
|
11611
11640
|
}
|
|
11612
|
-
var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor,
|
|
11641
|
+
var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, j = (a, e, t, i) => {
|
|
11613
11642
|
for (var s = i > 1 ? void 0 : i ? Or(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
11614
11643
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
11615
11644
|
return i && s && zr(e, t, s), s;
|
|
@@ -11620,9 +11649,9 @@ function Br() {
|
|
|
11620
11649
|
const a = navigator.userAgent, e = /iPhone|iPad|iPod/.test(a), t = /AppleWebKit/.test(a), i = /Safari/.test(a) && !/CriOS|FxiOS|EdgiOS|OPiOS/.test(a);
|
|
11621
11650
|
return e && t && !i;
|
|
11622
11651
|
}
|
|
11623
|
-
let
|
|
11652
|
+
let D = class extends re {
|
|
11624
11653
|
constructor() {
|
|
11625
|
-
super(...arguments), this.store = new it(this,
|
|
11654
|
+
super(...arguments), this.store = new it(this, u), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.version = "current", this.testMode = "false", this.suppressStartupForm = "false", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="24" height="24" viewBox="0 0 203 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11626
11655
|
<path d="M100.438 0C155.665 0 200.438 44.7723 200.438 100C200.438 155.228 155.665 200 100.438 200C45.2098 200 0.4375 155.228 0.4375 100C0.4375 44.7723 45.2098 0 100.438 0ZM130.093 60.6063C120.409 60.6063 115.205 61.458 109.344 65.0325C100.122 70.6592 95.629 80.1958 94.2273 93.877C94.1468 94.5544 93.8048 97.2571 93.4091 100.349C93.3152 101.06 93.2281 101.771 93.1409 102.455C92.7318 105.573 92.3093 108.739 92.0142 110.408C90.8808 117.041 89.2914 123.761 83.8927 126.759C83.6915 126.873 83.4702 126.967 83.2556 127.067C78.6013 129.093 72.2905 128.898 72.2905 128.898C72.2905 128.898 69.1988 128.885 69.1787 128.885C69.172 128.885 69.1921 128.885 69.1921 128.898L68.1057 143.632C87.7824 143.666 93.0537 139.213 93.0537 139.213C102.275 133.586 106.768 124.049 108.17 110.368C108.251 109.677 108.593 106.894 109.002 103.735C109.096 103.004 109.196 102.273 109.283 101.576C109.679 98.5246 110.095 95.4798 110.383 93.8435C111.517 87.2108 113.106 80.4842 118.505 77.4931C118.706 77.3791 118.921 77.2852 119.135 77.1846C123.756 75.1727 130.107 75.3471 130.107 75.3471C132.494 75.3269 133.219 75.4007 133.286 75.4074L134.292 60.6264C132.783 60.6264 130.107 60.6264 130.107 60.6264L130.093 60.6063Z" fill="#010101" style="fill:#010101;fill:color(display-p3 0.0039 0.0039 0.0039);fill-opacity:1;"/>
|
|
11627
11656
|
</svg>`, this.closeSvg = '<svg viewBox="0 0 16 16" width="1.4em" height="1.4em"><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>', this.logoSvgGradient = `<svg width="28" height="28" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11628
11657
|
<g clip-path="url(#clip0_830_884)">
|
|
@@ -11649,13 +11678,13 @@ let F = class extends re {
|
|
|
11649
11678
|
}, this.handleFormSubmitEvent = (a) => {
|
|
11650
11679
|
this._formSubmitHandler(a);
|
|
11651
11680
|
}, this.boundScrollToBottomOnUpdate = this._scrollToBottomOnUpdate.bind(this), this.handleVisibilityChange = () => {
|
|
11652
|
-
|
|
11681
|
+
u.handleLifecycleResume("visibilitychange", this.boundScrollToBottomOnUpdate);
|
|
11653
11682
|
}, this.handlePageShow = () => {
|
|
11654
|
-
|
|
11683
|
+
u.handleLifecycleResume("pageshow", this.boundScrollToBottomOnUpdate);
|
|
11655
11684
|
}, this.handleWindowFocus = () => {
|
|
11656
|
-
|
|
11685
|
+
u.handleLifecycleResume("focus", this.boundScrollToBottomOnUpdate);
|
|
11657
11686
|
}, this.handleWindowOnline = () => {
|
|
11658
|
-
|
|
11687
|
+
u.handleLifecycleResume("online", this.boundScrollToBottomOnUpdate);
|
|
11659
11688
|
}, this.fetchStream = Rr;
|
|
11660
11689
|
}
|
|
11661
11690
|
/**
|
|
@@ -11671,10 +11700,10 @@ let F = class extends re {
|
|
|
11671
11700
|
isThinking: !0,
|
|
11672
11701
|
data: {}
|
|
11673
11702
|
};
|
|
11674
|
-
return
|
|
11703
|
+
return u.addMessage(a), a;
|
|
11675
11704
|
}
|
|
11676
11705
|
addTestMessageRaw(a) {
|
|
11677
|
-
|
|
11706
|
+
u.addMessage(a);
|
|
11678
11707
|
}
|
|
11679
11708
|
addTestMessage(a = "") {
|
|
11680
11709
|
const t = {
|
|
@@ -11685,58 +11714,58 @@ let F = class extends re {
|
|
|
11685
11714
|
text: a !== "" ? a : "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
|
|
11686
11715
|
}
|
|
11687
11716
|
};
|
|
11688
|
-
return
|
|
11717
|
+
return u.addMessage(t), t;
|
|
11689
11718
|
}
|
|
11690
11719
|
addActions(a = []) {
|
|
11691
|
-
|
|
11720
|
+
u.addActions(a);
|
|
11692
11721
|
}
|
|
11693
11722
|
render() {
|
|
11694
|
-
return
|
|
11695
|
-
<div class="cb-wrapper${
|
|
11723
|
+
return u.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : b`
|
|
11724
|
+
<div class="cb-wrapper${u.open ? " cb-open" : ""}" part="wrapper${u.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${u.open ? " open" : ""}">
|
|
11696
11725
|
<cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
|
|
11697
11726
|
<cb-message-list
|
|
11698
|
-
.messages=${
|
|
11699
|
-
.actions=${
|
|
11700
|
-
.form=${
|
|
11727
|
+
.messages=${u.messages}
|
|
11728
|
+
.actions=${u.actions}
|
|
11729
|
+
.form=${u.form}
|
|
11701
11730
|
exportparts="bot-message-list, disclaimer-message, bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar, feedback-wrapper,feedback-up,feedback-down,form, form-title, form-input, form-submit"
|
|
11702
11731
|
></cb-message-list>
|
|
11703
11732
|
${W(
|
|
11704
|
-
|
|
11705
|
-
() =>
|
|
11733
|
+
u.showNewConversation,
|
|
11734
|
+
() => b`
|
|
11706
11735
|
<div class="cb-new-conversation-wrapper" part="new-conversation-wrapper">
|
|
11707
11736
|
<button type="button" class="card-btn info" part="new-conversation-button" @click=${this.clearConversation}>Start New Conversation</button>
|
|
11708
11737
|
</div>
|
|
11709
11738
|
`,
|
|
11710
|
-
() =>
|
|
11739
|
+
() => b``
|
|
11711
11740
|
)}
|
|
11712
11741
|
<cb-audio-controls exportparts="audio-controls-wrapper, audio-controls, audio-mute-button, audio-unmute-button, audio-end-button, audio-controls-viz"></cb-audio-controls>
|
|
11713
11742
|
${this.renderUserInput()} ${this.renderFeedbackDialog()}
|
|
11714
11743
|
</div>
|
|
11715
|
-
<cb-anchor ?open=${
|
|
11744
|
+
<cb-anchor ?open=${u.open} exportparts="anchor, anchor-badge, anchor-icon"></cb-anchor>
|
|
11716
11745
|
`;
|
|
11717
11746
|
}
|
|
11718
11747
|
renderFeedbackDialog() {
|
|
11719
|
-
return
|
|
11748
|
+
return b`<cb-dialog-feedback></cb-dialog-feedback>`;
|
|
11720
11749
|
}
|
|
11721
11750
|
_dialogCancelHandler() {
|
|
11722
|
-
console.log("Feedback dialog cancelled"),
|
|
11751
|
+
console.log("Feedback dialog cancelled"), u.feedback = !1;
|
|
11723
11752
|
}
|
|
11724
11753
|
renderUserInput() {
|
|
11725
|
-
return
|
|
11754
|
+
return u.form || u.disabled && this.alwaysOpen ? null : u.setting.enableAudio ? b`
|
|
11726
11755
|
<cb-user-input-mm
|
|
11727
11756
|
part="user-input-control"
|
|
11728
|
-
?loading=${
|
|
11729
|
-
?disabled=${
|
|
11730
|
-
?enable-file-upload=${
|
|
11731
|
-
?enable-audio=${
|
|
11757
|
+
?loading=${u.connecting}
|
|
11758
|
+
?disabled=${u.connecting || u.form}
|
|
11759
|
+
?enable-file-upload=${u.setting.uploadImages && u.connected}
|
|
11760
|
+
?enable-audio=${u.setting.enableAudio && u.connected}
|
|
11732
11761
|
exportparts="user-input-control,user-input, user-input-wrapper, user-input-inner, user-input-base, upload-button, control-button, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
|
|
11733
|
-
></cb-user-input-mm>` :
|
|
11762
|
+
></cb-user-input-mm>` : b`
|
|
11734
11763
|
<cb-user-input
|
|
11735
11764
|
part="user-input-control"
|
|
11736
|
-
?loading=${
|
|
11737
|
-
?disabled=${
|
|
11738
|
-
?enable-file-upload=${
|
|
11739
|
-
?enable-audio=${
|
|
11765
|
+
?loading=${u.connecting}
|
|
11766
|
+
?disabled=${u.connecting || u.form}
|
|
11767
|
+
?enable-file-upload=${u.setting.uploadImages && u.connected}
|
|
11768
|
+
?enable-audio=${u.setting.enableAudio && u.connected}
|
|
11740
11769
|
exportparts="user-input-control,user-input, user-input-wrapper, user-input-base, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
|
|
11741
11770
|
></cb-user-input>`;
|
|
11742
11771
|
}
|
|
@@ -11750,7 +11779,7 @@ let F = class extends re {
|
|
|
11750
11779
|
// Extract css variables that control the appearance of the chatbot
|
|
11751
11780
|
initCssVariables() {
|
|
11752
11781
|
let a = getComputedStyle(this);
|
|
11753
|
-
|
|
11782
|
+
u.appearanceAnchorPopupPosition = this.extractCssVariable(a, "--enegelai-bot-anchor-popup-position", "top-end"), u.appearanceAnchorBadgeVariant = this.extractCssVariable(a, "--enegelai-bot-anchor-badge-variant", u.appearanceAnchorBadgeVariant), u.appearanceUserMessageAvatarPosition = this.extractCssVariable(a, "--enegelai-bot-user-message-avatar-position", "left");
|
|
11754
11783
|
}
|
|
11755
11784
|
/*
|
|
11756
11785
|
private getPopupPlacement() {
|
|
@@ -11792,34 +11821,34 @@ let F = class extends re {
|
|
|
11792
11821
|
// initialize setting
|
|
11793
11822
|
_initSetting() {
|
|
11794
11823
|
Be.info("_initSetting");
|
|
11795
|
-
const a =
|
|
11796
|
-
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg,
|
|
11824
|
+
const a = u.setting;
|
|
11825
|
+
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.suppressStartupForm = this.suppressStartupForm === "true", a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, u.setSetting(a);
|
|
11797
11826
|
let e = {};
|
|
11798
11827
|
try {
|
|
11799
11828
|
e = JSON.parse(this.prefilledFormFields);
|
|
11800
11829
|
} catch (t) {
|
|
11801
11830
|
Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
|
|
11802
11831
|
}
|
|
11803
|
-
|
|
11832
|
+
u.setPrefilledFormFields(e), this.open && (u.open = !0), this.alwaysOpen && (u.open = !0, u.alwaysOpen = !0);
|
|
11804
11833
|
}
|
|
11805
11834
|
setLoading(a) {
|
|
11806
11835
|
this.loading = a;
|
|
11807
11836
|
}
|
|
11808
11837
|
clearConversation() {
|
|
11809
|
-
|
|
11838
|
+
u.clearConversation().catch((a) => {
|
|
11810
11839
|
});
|
|
11811
11840
|
}
|
|
11812
11841
|
setPrefilledFormFields(a) {
|
|
11813
|
-
|
|
11842
|
+
u.setPrefilledFormFields(a);
|
|
11814
11843
|
}
|
|
11815
11844
|
setOpen(a = !1) {
|
|
11816
|
-
|
|
11845
|
+
u.open = a;
|
|
11817
11846
|
}
|
|
11818
11847
|
getOpen() {
|
|
11819
|
-
return
|
|
11848
|
+
return u.open;
|
|
11820
11849
|
}
|
|
11821
11850
|
toggleOpen() {
|
|
11822
|
-
|
|
11851
|
+
u.open = !u.open;
|
|
11823
11852
|
}
|
|
11824
11853
|
setInputValue(a = "") {
|
|
11825
11854
|
this.emitExt("c7o:bot:input:setvalue", {
|
|
@@ -11832,15 +11861,15 @@ let F = class extends re {
|
|
|
11832
11861
|
// It can be any data related with current user / current conversation,
|
|
11833
11862
|
// for example, user profile, current product user is viewing on the web page, etc.
|
|
11834
11863
|
setContext(a = {}) {
|
|
11835
|
-
|
|
11864
|
+
u.setContext(a).catch((e) => {
|
|
11836
11865
|
Be.error(`Failed to set context, error: ${e?.message || ""}`);
|
|
11837
11866
|
});
|
|
11838
11867
|
}
|
|
11839
11868
|
getContext() {
|
|
11840
|
-
return
|
|
11869
|
+
return u.getContext();
|
|
11841
11870
|
}
|
|
11842
11871
|
clearContext() {
|
|
11843
|
-
return
|
|
11872
|
+
return u.clearContext();
|
|
11844
11873
|
}
|
|
11845
11874
|
// check auth
|
|
11846
11875
|
_checkAuth() {
|
|
@@ -11897,11 +11926,11 @@ let F = class extends re {
|
|
|
11897
11926
|
}
|
|
11898
11927
|
// [sv2] for testing only
|
|
11899
11928
|
processAgentConnected(a) {
|
|
11900
|
-
|
|
11929
|
+
u.handleAgentConnected(a).catch((e) => {
|
|
11901
11930
|
});
|
|
11902
11931
|
}
|
|
11903
11932
|
processAgentDisconnected(a) {
|
|
11904
|
-
|
|
11933
|
+
u.handleAgentDisconnected(a).catch((e) => {
|
|
11905
11934
|
});
|
|
11906
11935
|
}
|
|
11907
11936
|
_processSendMessage(a) {
|
|
@@ -11909,9 +11938,9 @@ let F = class extends re {
|
|
|
11909
11938
|
console.log("_processSendMessage: input text is empty, ignored", a);
|
|
11910
11939
|
return;
|
|
11911
11940
|
}
|
|
11912
|
-
a.data.text =
|
|
11941
|
+
a.data.text = xt(a.data.text.trim()), u.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = u.conversationId, this.emitExt("c7o:bot:conversationStart", {
|
|
11913
11942
|
detail: a
|
|
11914
|
-
})),
|
|
11943
|
+
})), u.sendMessage(a), setTimeout(() => {
|
|
11915
11944
|
this._scrollToBottom();
|
|
11916
11945
|
}, 50);
|
|
11917
11946
|
}
|
|
@@ -11926,27 +11955,27 @@ let F = class extends re {
|
|
|
11926
11955
|
}
|
|
11927
11956
|
_chatbotToggleHandler(a) {
|
|
11928
11957
|
const e = a.detail;
|
|
11929
|
-
|
|
11958
|
+
u.open = e.open, u.notifyWidgetOpenState(), this.emitExt(e.open ? "c7o:bot:open" : "c7o:bot:close"), u.unreadMessages = 0, u.suppressEngagePopup();
|
|
11930
11959
|
}
|
|
11931
11960
|
_deleteMessageHandler(a) {
|
|
11932
11961
|
const e = a.detail;
|
|
11933
|
-
|
|
11962
|
+
u.removeMessage(e.id);
|
|
11934
11963
|
}
|
|
11935
11964
|
async _uploadFileHandler(a) {
|
|
11936
11965
|
const e = a.detail;
|
|
11937
|
-
await
|
|
11966
|
+
await u.uploadFiles(e.files);
|
|
11938
11967
|
}
|
|
11939
11968
|
async _audioToggleHandler(a) {
|
|
11940
|
-
Be.info("_audioToggleHandler called"), await
|
|
11969
|
+
Be.info("_audioToggleHandler called"), await u.toggleAudio();
|
|
11941
11970
|
}
|
|
11942
11971
|
// setting confirm handler
|
|
11943
11972
|
_settingConfirmHandler(a) {
|
|
11944
11973
|
const e = a.detail;
|
|
11945
|
-
|
|
11974
|
+
u.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
|
|
11946
11975
|
}
|
|
11947
11976
|
_formSubmitHandler(a) {
|
|
11948
11977
|
const e = a.detail;
|
|
11949
|
-
e.conversationId =
|
|
11978
|
+
e.conversationId = u.conversationId, this.emitExt("c7o:bot:formSubmit", {
|
|
11950
11979
|
detail: e
|
|
11951
11980
|
});
|
|
11952
11981
|
}
|
|
@@ -11955,106 +11984,109 @@ let F = class extends re {
|
|
|
11955
11984
|
this._messageList?.scrollToBottom();
|
|
11956
11985
|
}
|
|
11957
11986
|
};
|
|
11958
|
-
|
|
11959
|
-
|
|
11987
|
+
D.styles = [Xi, Za];
|
|
11988
|
+
j([
|
|
11960
11989
|
x({ type: Boolean, attribute: "display-license" })
|
|
11961
|
-
],
|
|
11962
|
-
|
|
11990
|
+
], D.prototype, "displayLicense", 2);
|
|
11991
|
+
j([
|
|
11963
11992
|
x({ type: String, attribute: "name" })
|
|
11964
|
-
],
|
|
11965
|
-
|
|
11993
|
+
], D.prototype, "name", 2);
|
|
11994
|
+
j([
|
|
11966
11995
|
x({ type: String, attribute: "org-id" })
|
|
11967
|
-
],
|
|
11968
|
-
|
|
11996
|
+
], D.prototype, "orgId", 2);
|
|
11997
|
+
j([
|
|
11969
11998
|
x({ type: String, attribute: "bot-id" })
|
|
11970
|
-
],
|
|
11971
|
-
|
|
11999
|
+
], D.prototype, "botId", 2);
|
|
12000
|
+
j([
|
|
11972
12001
|
x({ type: String, attribute: "version" })
|
|
11973
|
-
],
|
|
11974
|
-
|
|
12002
|
+
], D.prototype, "version", 2);
|
|
12003
|
+
j([
|
|
11975
12004
|
x({ type: String, attribute: "test-mode" })
|
|
11976
|
-
],
|
|
11977
|
-
|
|
12005
|
+
], D.prototype, "testMode", 2);
|
|
12006
|
+
j([
|
|
12007
|
+
x({ type: String, attribute: "suppress-startup-form" })
|
|
12008
|
+
], D.prototype, "suppressStartupForm", 2);
|
|
12009
|
+
j([
|
|
11978
12010
|
x({ type: String, attribute: "url" })
|
|
11979
|
-
],
|
|
11980
|
-
|
|
12011
|
+
], D.prototype, "url", 2);
|
|
12012
|
+
j([
|
|
11981
12013
|
x({ type: String, attribute: "logo-url" })
|
|
11982
|
-
],
|
|
11983
|
-
|
|
12014
|
+
], D.prototype, "logoUrl", 2);
|
|
12015
|
+
j([
|
|
11984
12016
|
x({ type: String, attribute: "logo-svg" })
|
|
11985
|
-
],
|
|
11986
|
-
|
|
12017
|
+
], D.prototype, "logoSvg", 2);
|
|
12018
|
+
j([
|
|
11987
12019
|
x({ type: String, attribute: "close-svg" })
|
|
11988
|
-
],
|
|
11989
|
-
|
|
12020
|
+
], D.prototype, "closeSvg", 2);
|
|
12021
|
+
j([
|
|
11990
12022
|
x({ type: String, attribute: "popup-logo-svg" })
|
|
11991
|
-
],
|
|
11992
|
-
|
|
12023
|
+
], D.prototype, "popupLogoSvg", 2);
|
|
12024
|
+
j([
|
|
11993
12025
|
x({ type: String, attribute: "popup-logo-url" })
|
|
11994
|
-
],
|
|
11995
|
-
|
|
12026
|
+
], D.prototype, "popupLogoUrl", 2);
|
|
12027
|
+
j([
|
|
11996
12028
|
x({ type: String, attribute: "bot-icon-svg" })
|
|
11997
|
-
],
|
|
11998
|
-
|
|
12029
|
+
], D.prototype, "botIconSvg", 2);
|
|
12030
|
+
j([
|
|
11999
12031
|
x({ type: String, attribute: "user-icon-svg" })
|
|
12000
|
-
],
|
|
12001
|
-
|
|
12032
|
+
], D.prototype, "userIconSvg", 2);
|
|
12033
|
+
j([
|
|
12002
12034
|
x({ type: String, attribute: "system-icon-svg" })
|
|
12003
|
-
],
|
|
12004
|
-
|
|
12035
|
+
], D.prototype, "systemIconSvg", 2);
|
|
12036
|
+
j([
|
|
12005
12037
|
x({ type: String, attribute: "agent-icon-svg" })
|
|
12006
|
-
],
|
|
12007
|
-
|
|
12038
|
+
], D.prototype, "agentIconSvg", 2);
|
|
12039
|
+
j([
|
|
12008
12040
|
x({ type: String, attribute: "info-icon-svg" })
|
|
12009
|
-
],
|
|
12010
|
-
|
|
12041
|
+
], D.prototype, "infoIconSvg", 2);
|
|
12042
|
+
j([
|
|
12011
12043
|
x({ type: String, attribute: "anchor-open-svg" })
|
|
12012
|
-
],
|
|
12013
|
-
|
|
12044
|
+
], D.prototype, "anchorOpenSvg", 2);
|
|
12045
|
+
j([
|
|
12014
12046
|
x({ type: String, attribute: "anchor-close-svg" })
|
|
12015
|
-
],
|
|
12016
|
-
|
|
12047
|
+
], D.prototype, "anchorCloseSvg", 2);
|
|
12048
|
+
j([
|
|
12017
12049
|
x({ type: String, attribute: "send-icon-svg" })
|
|
12018
|
-
],
|
|
12019
|
-
|
|
12050
|
+
], D.prototype, "sendIconSvg", 2);
|
|
12051
|
+
j([
|
|
12020
12052
|
x({ type: String, attribute: "attach-icon-svg" })
|
|
12021
|
-
],
|
|
12022
|
-
|
|
12053
|
+
], D.prototype, "attachIconSvg", 2);
|
|
12054
|
+
j([
|
|
12023
12055
|
x({ type: Boolean, attribute: "stream" })
|
|
12024
|
-
],
|
|
12025
|
-
|
|
12056
|
+
], D.prototype, "stream", 2);
|
|
12057
|
+
j([
|
|
12026
12058
|
x({ type: Boolean, attribute: "custom-request" })
|
|
12027
|
-
],
|
|
12028
|
-
|
|
12059
|
+
], D.prototype, "customRequest", 2);
|
|
12060
|
+
j([
|
|
12029
12061
|
x({ type: Boolean, attribute: "enable-file-upload" })
|
|
12030
|
-
],
|
|
12031
|
-
|
|
12062
|
+
], D.prototype, "enableFileUpload", 2);
|
|
12063
|
+
j([
|
|
12032
12064
|
x({ type: String, attribute: "upload-file-url" })
|
|
12033
|
-
],
|
|
12034
|
-
|
|
12065
|
+
], D.prototype, "uploadFileUrl", 2);
|
|
12066
|
+
j([
|
|
12035
12067
|
x({ type: Boolean, attribute: "open" })
|
|
12036
|
-
],
|
|
12037
|
-
|
|
12068
|
+
], D.prototype, "open", 2);
|
|
12069
|
+
j([
|
|
12038
12070
|
x({ type: Boolean, attribute: "always-open" })
|
|
12039
|
-
],
|
|
12040
|
-
|
|
12071
|
+
], D.prototype, "alwaysOpen", 2);
|
|
12072
|
+
j([
|
|
12041
12073
|
x({ type: String, attribute: "prefilled-form-fields" })
|
|
12042
|
-
],
|
|
12043
|
-
|
|
12074
|
+
], D.prototype, "prefilledFormFields", 2);
|
|
12075
|
+
j([
|
|
12044
12076
|
x({ type: Boolean })
|
|
12045
|
-
],
|
|
12046
|
-
|
|
12077
|
+
], D.prototype, "loading", 2);
|
|
12078
|
+
j([
|
|
12047
12079
|
x({ type: Boolean })
|
|
12048
|
-
],
|
|
12049
|
-
|
|
12080
|
+
], D.prototype, "showSetting", 2);
|
|
12081
|
+
j([
|
|
12050
12082
|
x({ type: Boolean })
|
|
12051
|
-
],
|
|
12052
|
-
|
|
12083
|
+
], D.prototype, "showAuthAlert", 2);
|
|
12084
|
+
j([
|
|
12053
12085
|
xe("cb-message-list")
|
|
12054
|
-
],
|
|
12055
|
-
|
|
12086
|
+
], D.prototype, "_messageList", 2);
|
|
12087
|
+
D = j([
|
|
12056
12088
|
J("enegelai-bot")
|
|
12057
|
-
],
|
|
12089
|
+
], D);
|
|
12058
12090
|
export {
|
|
12059
|
-
|
|
12091
|
+
D as default
|
|
12060
12092
|
};
|