@enegelai/bot-widget 1.16.0 → 1.16.1
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 +269 -232
- package/dist/index.es.js +601 -586
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { css as J, LitElement as
|
|
2
|
-
import { property as x, customElement as K, query as xe, queryAll as Va, eventOptions as
|
|
1
|
+
import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as me } from "lit";
|
|
2
|
+
import { property as x, customElement as K, query as xe, state as Ha, queryAll as Va, eventOptions as sa } from "lit/decorators.js";
|
|
3
3
|
import { unsafeHTML as Y } from "lit-html/directives/unsafe-html.js";
|
|
4
4
|
import { when as W } from "lit/directives/when.js";
|
|
5
5
|
import { registerIconLibrary as zi } from "@shoelace-style/shoelace";
|
|
@@ -22,29 +22,29 @@ 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 Xt } from "lit-html/directives/until.js";
|
|
26
26
|
import Oi from "markdown-it";
|
|
27
27
|
import Bi from "markdown-it-link-attributes";
|
|
28
|
-
import
|
|
28
|
+
import Ut 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 qi, ref as
|
|
31
|
+
import { createRef as qi, ref as At } from "lit/directives/ref.js";
|
|
32
32
|
function Ua(a) {
|
|
33
33
|
return typeof a == "function" ? a() : a;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const jt = class jt 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(jt.eventName, {
|
|
42
42
|
cancelable: !1
|
|
43
43
|
}), this.key = e, this.value = t, this.state = i;
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
|
|
47
|
-
let at =
|
|
46
|
+
jt.eventName = "lit-state-changed";
|
|
47
|
+
let at = jt;
|
|
48
48
|
const Di = (a, e) => e !== a && (e === e || a === a), ha = class ha extends EventTarget {
|
|
49
49
|
static initPropertyMap() {
|
|
50
50
|
this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
|
|
@@ -120,7 +120,7 @@ const Di = (a, e) => e !== a && (e === e || a === a), ha = class ha extends Even
|
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
122
|
ha.finalized = !1;
|
|
123
|
-
let
|
|
123
|
+
let Yt = ha;
|
|
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 fe(a) {
|
|
|
181
181
|
function Na(a) {
|
|
182
182
|
return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
|
|
183
183
|
}
|
|
184
|
-
var
|
|
184
|
+
var Pt = { exports: {} }, Hi = Pt.exports, ka;
|
|
185
185
|
function Vi() {
|
|
186
186
|
return ka || (ka = 1, (function(a) {
|
|
187
187
|
(function(e, t) {
|
|
@@ -232,7 +232,7 @@ function Vi() {
|
|
|
232
232
|
function P(M, L) {
|
|
233
233
|
var C = this, Z, N, G, te = "loglevel";
|
|
234
234
|
typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
|
|
235
|
-
function
|
|
235
|
+
function He(j) {
|
|
236
236
|
var V = (s[j] || "silent").toUpperCase();
|
|
237
237
|
if (!(typeof window === t || !te)) {
|
|
238
238
|
try {
|
|
@@ -255,9 +255,9 @@ function Vi() {
|
|
|
255
255
|
}
|
|
256
256
|
if (typeof j === t)
|
|
257
257
|
try {
|
|
258
|
-
var V = window.document.cookie,
|
|
259
|
-
|
|
260
|
-
V.slice(
|
|
258
|
+
var V = window.document.cookie, $e = encodeURIComponent(te), Pe = V.indexOf($e + "=");
|
|
259
|
+
Pe !== -1 && (j = /^([^;]+)/.exec(
|
|
260
|
+
V.slice(Pe + $e.length + 1)
|
|
261
261
|
)[1]);
|
|
262
262
|
} catch {
|
|
263
263
|
}
|
|
@@ -292,7 +292,7 @@ function Vi() {
|
|
|
292
292
|
}, C.methodFactory = L || _, C.getLevel = function() {
|
|
293
293
|
return G ?? N ?? Z;
|
|
294
294
|
}, C.setLevel = function(j, V) {
|
|
295
|
-
return G = pe(j), V !== !1 &&
|
|
295
|
+
return G = pe(j), V !== !1 && He(G), k.call(C);
|
|
296
296
|
}, C.setDefaultLevel = function(j) {
|
|
297
297
|
N = pe(j), ae() || C.setLevel(j, !1);
|
|
298
298
|
}, C.resetLevel = function() {
|
|
@@ -327,13 +327,14 @@ function Vi() {
|
|
|
327
327
|
return r;
|
|
328
328
|
}, o.default = o, o;
|
|
329
329
|
});
|
|
330
|
-
})(
|
|
330
|
+
})(Pt)), Pt.exports;
|
|
331
331
|
}
|
|
332
332
|
var Ui = Vi();
|
|
333
333
|
const Je = /* @__PURE__ */ Na(Ui), Ni = J`
|
|
334
334
|
:host {
|
|
335
|
-
|
|
336
|
-
--enegelai-bot-
|
|
335
|
+
--enegelai-bot-width: 420px;
|
|
336
|
+
--enegelai-bot-base-font-size: 16px;
|
|
337
|
+
font-size: var(--enegelai-bot-base-font-size, 16px);
|
|
337
338
|
}
|
|
338
339
|
.cb-wrapper {
|
|
339
340
|
color: var(--sl-color-neutral-600);
|
|
@@ -654,12 +655,12 @@ const Je = /* @__PURE__ */ Na(Ui), Ni = J`
|
|
|
654
655
|
color: white;
|
|
655
656
|
}
|
|
656
657
|
`;
|
|
657
|
-
var Wi = Object.defineProperty, Gi = Object.getOwnPropertyDescriptor,
|
|
658
|
+
var Wi = Object.defineProperty, Gi = Object.getOwnPropertyDescriptor, na = (a, e, t, i) => {
|
|
658
659
|
for (var s = i > 1 ? void 0 : i ? Gi(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
659
660
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
660
661
|
return i && s && Wi(e, t, s), s;
|
|
661
662
|
};
|
|
662
|
-
let ut = class extends
|
|
663
|
+
let ut = class extends Fe {
|
|
663
664
|
constructor() {
|
|
664
665
|
super(...arguments), this.color = "primary", this.svg = "";
|
|
665
666
|
}
|
|
@@ -668,13 +669,13 @@ let ut = class extends De {
|
|
|
668
669
|
}
|
|
669
670
|
};
|
|
670
671
|
ut.styles = Wa;
|
|
671
|
-
|
|
672
|
+
na([
|
|
672
673
|
x({ type: String })
|
|
673
674
|
], ut.prototype, "color", 2);
|
|
674
|
-
|
|
675
|
+
na([
|
|
675
676
|
x({ type: String })
|
|
676
677
|
], ut.prototype, "svg", 2);
|
|
677
|
-
ut =
|
|
678
|
+
ut = na([
|
|
678
679
|
K("cb-icon")
|
|
679
680
|
], ut);
|
|
680
681
|
let Xi = (a) => crypto.getRandomValues(new Uint8Array(a)), Yi = (a, e, t) => {
|
|
@@ -1036,13 +1037,13 @@ const Sa = [
|
|
|
1036
1037
|
"A",
|
|
1037
1038
|
"A#",
|
|
1038
1039
|
"B"
|
|
1039
|
-
],
|
|
1040
|
+
], We = [], ra = [];
|
|
1040
1041
|
for (let a = 1; a <= 8; a++)
|
|
1041
1042
|
for (let e = 0; e < Sa.length; e++) {
|
|
1042
1043
|
const t = Sa[e];
|
|
1043
|
-
|
|
1044
|
+
We.push(t / Math.pow(2, 8 - a)), ra.push(ts[e] + a);
|
|
1044
1045
|
}
|
|
1045
|
-
const
|
|
1046
|
+
const Rt = [32, 2e3], Ca = We.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]), as = ra.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]);
|
|
1046
1047
|
class lt {
|
|
1047
1048
|
/**
|
|
1048
1049
|
* Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
|
|
@@ -1060,7 +1061,7 @@ class lt {
|
|
|
1060
1061
|
const f = t / 2, p = 1 / i.length * f;
|
|
1061
1062
|
let v, k, w;
|
|
1062
1063
|
if (s === "music" || s === "voice") {
|
|
1063
|
-
const I = s === "voice" ? Ca :
|
|
1064
|
+
const I = s === "voice" ? Ca : We, M = Array(I.length).fill(r);
|
|
1064
1065
|
for (let L = 0; L < i.length; L++) {
|
|
1065
1066
|
const C = L * p, Z = i[L];
|
|
1066
1067
|
for (let N = I.length - 1; N >= 0; N--)
|
|
@@ -1069,7 +1070,7 @@ class lt {
|
|
|
1069
1070
|
break;
|
|
1070
1071
|
}
|
|
1071
1072
|
}
|
|
1072
|
-
v = M, k = s === "voice" ? Ca :
|
|
1073
|
+
v = M, k = s === "voice" ? Ca : We, w = s === "voice" ? as : ra;
|
|
1073
1074
|
} else
|
|
1074
1075
|
v = Array.from(i), k = v.map((I, M) => p * M), w = k.map((I) => `${I.toFixed(2)} Hz`);
|
|
1075
1076
|
const _ = v.map((I) => Math.max(
|
|
@@ -2689,17 +2690,17 @@ class gs {
|
|
|
2689
2690
|
let N = 0, G = k;
|
|
2690
2691
|
C > 0 && (N = Math.max(0, Math.min(k, C - Z)), G = Math.max(N, Math.min(k, C + Z)));
|
|
2691
2692
|
const te = Math.max(1, Math.floor(this.hop / this.ds));
|
|
2692
|
-
let
|
|
2693
|
+
let He = -1;
|
|
2693
2694
|
for (let ae = N; ae <= G; ae += te) {
|
|
2694
2695
|
let he = 0, pe = 0;
|
|
2695
2696
|
for (let V = 0; V < o; V++) {
|
|
2696
|
-
const
|
|
2697
|
-
he +=
|
|
2697
|
+
const $e = _[V], Pe = P[ae + V];
|
|
2698
|
+
he += $e * Pe, pe += Pe * Pe;
|
|
2698
2699
|
}
|
|
2699
2700
|
const F = I * (Math.sqrt(pe) + 1e-12), j = F > 0 ? he / F : 0;
|
|
2700
|
-
if (j >
|
|
2701
|
+
if (j > He && (He = j), He > Math.min(0.98, this.threshold + 0.25)) break;
|
|
2701
2702
|
}
|
|
2702
|
-
if (
|
|
2703
|
+
if (He >= this.threshold) {
|
|
2703
2704
|
if (this._holdRemain = Math.max(this._holdRemain, Math.round(this.holdMs * this.sr / 1e3)), this.mode === "drop") return null;
|
|
2704
2705
|
for (let ae = 0; ae < i; ae++) t[ae] *= this.attenGain;
|
|
2705
2706
|
return this._float32ToInt16(t);
|
|
@@ -2938,8 +2939,8 @@ class ys {
|
|
|
2938
2939
|
}
|
|
2939
2940
|
}
|
|
2940
2941
|
}
|
|
2941
|
-
const
|
|
2942
|
-
|
|
2942
|
+
const Ne = Je.noConflict();
|
|
2943
|
+
Ne.setLevel("info");
|
|
2943
2944
|
class pt extends es {
|
|
2944
2945
|
constructor(e = {}) {
|
|
2945
2946
|
super({ name: "WebAudioProcessorV2" }), this.options = e, this.muted = !1, this.audioRecorder = new ot({
|
|
@@ -3018,13 +3019,13 @@ class pt extends es {
|
|
|
3018
3019
|
e(), this._latencyTimer = setInterval(e, 1e3);
|
|
3019
3020
|
try {
|
|
3020
3021
|
const t = this.audioRecorder.captureInfo?.aecGranted;
|
|
3021
|
-
t &&
|
|
3022
|
+
t && Ne.info("AEC granted:", t);
|
|
3022
3023
|
} catch {
|
|
3023
3024
|
}
|
|
3024
|
-
|
|
3025
|
+
Ne.info("WebAudioProcessorV2 started");
|
|
3025
3026
|
}
|
|
3026
3027
|
async stop() {
|
|
3027
|
-
this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1,
|
|
3028
|
+
this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1, Ne.info("WebAudioProcessorV2 stopped");
|
|
3028
3029
|
}
|
|
3029
3030
|
get started() {
|
|
3030
3031
|
return !!(this.audioRecorder && this.audioRecorder.getStatus() !== "ended");
|
|
@@ -3046,7 +3047,7 @@ class pt extends es {
|
|
|
3046
3047
|
}
|
|
3047
3048
|
async _checkRecordingHealth(e) {
|
|
3048
3049
|
const i = Date.now() - this._lastMicCaptureTime;
|
|
3049
|
-
i > 2e3 && (
|
|
3050
|
+
i > 2e3 && (Ne.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
|
|
3050
3051
|
}));
|
|
3051
3052
|
}
|
|
3052
3053
|
// ---- Capture ----
|
|
@@ -3055,7 +3056,7 @@ class pt extends es {
|
|
|
3055
3056
|
* Your existing 'audio' event is preserved: payload includes base64 of Int16 PCM.
|
|
3056
3057
|
*/
|
|
3057
3058
|
async beginAudioCapture() {
|
|
3058
|
-
!this.started || this.recording || (
|
|
3059
|
+
!this.started || this.recording || (Ne.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
|
|
3059
3060
|
if (e?.mono && e.mono?.byteLength) {
|
|
3060
3061
|
this._lastMicCaptureTime = Date.now();
|
|
3061
3062
|
let t = new Int16Array(e.mono);
|
|
@@ -3065,12 +3066,12 @@ class pt extends es {
|
|
|
3065
3066
|
const i = this.useAdaptiveSuppressor ? this.mixMinusSmooth.filterMicFrame(t) : this.mixMinus.filterMicFrame(t) || new Int16Array(0);
|
|
3066
3067
|
if (i.length === 0) return;
|
|
3067
3068
|
const s = pt.arrayBufferToBase64(i);
|
|
3068
|
-
|
|
3069
|
+
Ne.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
|
|
3069
3070
|
}
|
|
3070
3071
|
}));
|
|
3071
3072
|
}
|
|
3072
3073
|
async endAudioCapture() {
|
|
3073
|
-
!this.started || !this.recording || (
|
|
3074
|
+
!this.started || !this.recording || (Ne.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
|
|
3074
3075
|
}
|
|
3075
3076
|
// ---- Playback ----
|
|
3076
3077
|
/**
|
|
@@ -3237,7 +3238,7 @@ function _s(a, e) {
|
|
|
3237
3238
|
}
|
|
3238
3239
|
return t;
|
|
3239
3240
|
}
|
|
3240
|
-
var
|
|
3241
|
+
var Nt = /* @__PURE__ */ vs(function(e, t, i) {
|
|
3241
3242
|
return ks(e, _s(t, i));
|
|
3242
3243
|
});
|
|
3243
3244
|
const Ss = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
|
|
@@ -3249,7 +3250,7 @@ var Cs = Object.defineProperty, B = (a, e, t, i) => {
|
|
|
3249
3250
|
const $ = Je.noConflict();
|
|
3250
3251
|
$.setLevel("info");
|
|
3251
3252
|
const re = "cb_", As = (a) => new Promise((e) => setTimeout(e, a));
|
|
3252
|
-
class R extends
|
|
3253
|
+
class R extends Yt {
|
|
3253
3254
|
constructor() {
|
|
3254
3255
|
super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = 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}`);
|
|
3255
3256
|
}
|
|
@@ -3484,7 +3485,7 @@ class R extends Xt {
|
|
|
3484
3485
|
this.initForm(this.form);
|
|
3485
3486
|
return;
|
|
3486
3487
|
}
|
|
3487
|
-
const e =
|
|
3488
|
+
const e = Nt(null, ["startupForm"], this.botSettings);
|
|
3488
3489
|
if (!e || !e?.name) {
|
|
3489
3490
|
$.info("Startup form not present");
|
|
3490
3491
|
return;
|
|
@@ -3492,10 +3493,10 @@ class R extends Xt {
|
|
|
3492
3493
|
this.initForm(e);
|
|
3493
3494
|
}
|
|
3494
3495
|
initForm(e = null) {
|
|
3495
|
-
const t = e, i =
|
|
3496
|
+
const t = e, i = Nt(null, ["name"], e);
|
|
3496
3497
|
if (!t || !i)
|
|
3497
3498
|
return;
|
|
3498
|
-
const s =
|
|
3499
|
+
const s = Nt(null, ["fields"], e);
|
|
3499
3500
|
if (!Array.isArray(s) || s.length <= 0) {
|
|
3500
3501
|
$.info("form has no fields", e);
|
|
3501
3502
|
return;
|
|
@@ -4306,7 +4307,7 @@ zi("system", {
|
|
|
4306
4307
|
return !1;
|
|
4307
4308
|
}
|
|
4308
4309
|
})();
|
|
4309
|
-
class ne extends
|
|
4310
|
+
class ne extends Fe {
|
|
4310
4311
|
constructor() {
|
|
4311
4312
|
super(...arguments), this.lang = "en";
|
|
4312
4313
|
}
|
|
@@ -4342,7 +4343,7 @@ var Es = Object.defineProperty, $s = Object.getOwnPropertyDescriptor, Ya = (a, e
|
|
|
4342
4343
|
return i && s && Es(e, t, s), s;
|
|
4343
4344
|
};
|
|
4344
4345
|
const Ps = '<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>';
|
|
4345
|
-
let
|
|
4346
|
+
let zt = class extends ne {
|
|
4346
4347
|
constructor() {
|
|
4347
4348
|
super(...arguments), this.title = "ChatBot";
|
|
4348
4349
|
}
|
|
@@ -4404,13 +4405,13 @@ let Lt = class extends ne {
|
|
|
4404
4405
|
});
|
|
4405
4406
|
}
|
|
4406
4407
|
};
|
|
4407
|
-
|
|
4408
|
+
zt.styles = Ms;
|
|
4408
4409
|
Ya([
|
|
4409
4410
|
x({ type: String, attribute: "title" })
|
|
4410
|
-
],
|
|
4411
|
-
|
|
4411
|
+
], zt.prototype, "title", 2);
|
|
4412
|
+
zt = Ya([
|
|
4412
4413
|
K("cb-header")
|
|
4413
|
-
],
|
|
4414
|
+
], zt);
|
|
4414
4415
|
const Ls = J`
|
|
4415
4416
|
${ke}
|
|
4416
4417
|
.cb-footer {
|
|
@@ -4431,7 +4432,7 @@ var Rs = Object.getOwnPropertyDescriptor, zs = (a, e, t, i) => {
|
|
|
4431
4432
|
(o = a[r]) && (s = o(s) || s);
|
|
4432
4433
|
return s;
|
|
4433
4434
|
};
|
|
4434
|
-
let
|
|
4435
|
+
let Jt = class extends ne {
|
|
4435
4436
|
constructor() {
|
|
4436
4437
|
super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
4437
4438
|
}
|
|
@@ -4466,10 +4467,10 @@ let Yt = class extends ne {
|
|
|
4466
4467
|
`;
|
|
4467
4468
|
}
|
|
4468
4469
|
};
|
|
4469
|
-
|
|
4470
|
-
|
|
4470
|
+
Jt.styles = Ls;
|
|
4471
|
+
Jt = zs([
|
|
4471
4472
|
K("cb-footer")
|
|
4472
|
-
],
|
|
4473
|
+
], Jt);
|
|
4473
4474
|
const Os = J`
|
|
4474
4475
|
${ke}
|
|
4475
4476
|
|
|
@@ -4702,6 +4703,7 @@ const Os = J`
|
|
|
4702
4703
|
color: var(--_color);
|
|
4703
4704
|
|
|
4704
4705
|
font: inherit;
|
|
4706
|
+
font-size: 0.9em;
|
|
4705
4707
|
font-weight: 500;
|
|
4706
4708
|
line-height: 1;
|
|
4707
4709
|
text-decoration: none;
|
|
@@ -4854,7 +4856,6 @@ const Os = J`
|
|
|
4854
4856
|
background: var(--_bg);
|
|
4855
4857
|
color: var(--_color);
|
|
4856
4858
|
|
|
4857
|
-
font: inherit;
|
|
4858
4859
|
font-weight: 600;
|
|
4859
4860
|
line-height: 1;
|
|
4860
4861
|
text-decoration: none;
|
|
@@ -4916,12 +4917,12 @@ const Os = J`
|
|
|
4916
4917
|
}
|
|
4917
4918
|
.split-btn[aria-expanded="true"] .split-btn__caret { transform: rotate(180deg); }
|
|
4918
4919
|
`;
|
|
4919
|
-
var qs = Object.defineProperty, Ds = Object.getOwnPropertyDescriptor,
|
|
4920
|
+
var qs = Object.defineProperty, Ds = Object.getOwnPropertyDescriptor, je = (a, e, t, i) => {
|
|
4920
4921
|
for (var s = i > 1 ? void 0 : i ? Ds(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
4921
4922
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
4922
4923
|
return i && s && qs(e, t, s), s;
|
|
4923
4924
|
};
|
|
4924
|
-
let gt = class extends
|
|
4925
|
+
let gt = class extends Fe {
|
|
4925
4926
|
constructor() {
|
|
4926
4927
|
super(...arguments), this.options = [], this.minWidth = 180;
|
|
4927
4928
|
}
|
|
@@ -4961,6 +4962,7 @@ gt.styles = J`
|
|
|
4961
4962
|
z-index: 100000; /* on top of everything */
|
|
4962
4963
|
visibility: hidden; /* made visible after positioned */
|
|
4963
4964
|
font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
4965
|
+
font-size: var(--enegelai-bot-base-font-size, 16px);
|
|
4964
4966
|
}
|
|
4965
4967
|
|
|
4966
4968
|
.menu {
|
|
@@ -4968,7 +4970,8 @@ gt.styles = J`
|
|
|
4968
4970
|
max-width: 360px;
|
|
4969
4971
|
max-height: 60vh;
|
|
4970
4972
|
overflow: auto;
|
|
4971
|
-
|
|
4973
|
+
|
|
4974
|
+
font-size: 0.9em;
|
|
4972
4975
|
|
|
4973
4976
|
border-radius: 10px;
|
|
4974
4977
|
border: 1px solid var(--sl-color-neutral-200, #e5e7eb);
|
|
@@ -5004,16 +5007,16 @@ gt.styles = J`
|
|
|
5004
5007
|
}
|
|
5005
5008
|
.item:active { transform: scale(.98); }
|
|
5006
5009
|
`;
|
|
5007
|
-
|
|
5010
|
+
je([
|
|
5008
5011
|
x({ type: Array })
|
|
5009
5012
|
], gt.prototype, "options", 2);
|
|
5010
|
-
|
|
5013
|
+
je([
|
|
5011
5014
|
x({ type: Number })
|
|
5012
5015
|
], gt.prototype, "minWidth", 2);
|
|
5013
|
-
gt =
|
|
5016
|
+
gt = je([
|
|
5014
5017
|
K("cb-split-menu")
|
|
5015
5018
|
], gt);
|
|
5016
|
-
let
|
|
5019
|
+
let Ge = class extends Fe {
|
|
5017
5020
|
constructor() {
|
|
5018
5021
|
super(...arguments), this.variant = "primary", this.label = "Select", this.options = [], this.size = "", this._menuEl = null, this._toggle = async (a) => {
|
|
5019
5022
|
if (a.preventDefault(), a.stopPropagation(), this._menuEl) {
|
|
@@ -5098,38 +5101,38 @@ let We = class extends De {
|
|
|
5098
5101
|
this._onDocPointerDown && (document.removeEventListener("pointerdown", this._onDocPointerDown, { capture: !0 }), this._onDocPointerDown = void 0), this._onKeydown && (document.removeEventListener("keydown", this._onKeydown, { capture: !0 }), this._onKeydown = void 0);
|
|
5099
5102
|
}
|
|
5100
5103
|
};
|
|
5101
|
-
|
|
5102
|
-
|
|
5104
|
+
Ge.styles = Ja;
|
|
5105
|
+
je([
|
|
5103
5106
|
x({ type: String })
|
|
5104
|
-
],
|
|
5105
|
-
|
|
5107
|
+
], Ge.prototype, "variant", 2);
|
|
5108
|
+
je([
|
|
5106
5109
|
x({ type: String })
|
|
5107
|
-
],
|
|
5108
|
-
|
|
5110
|
+
], Ge.prototype, "label", 2);
|
|
5111
|
+
je([
|
|
5109
5112
|
x({ type: Array })
|
|
5110
|
-
],
|
|
5111
|
-
|
|
5113
|
+
], Ge.prototype, "options", 2);
|
|
5114
|
+
je([
|
|
5112
5115
|
x({ type: String })
|
|
5113
|
-
],
|
|
5114
|
-
|
|
5116
|
+
], Ge.prototype, "size", 2);
|
|
5117
|
+
je([
|
|
5115
5118
|
xe(".split-btn")
|
|
5116
|
-
],
|
|
5117
|
-
|
|
5119
|
+
], Ge.prototype, "_btn", 2);
|
|
5120
|
+
Ge = je([
|
|
5118
5121
|
K("cb-split-button")
|
|
5119
|
-
],
|
|
5122
|
+
], Ge);
|
|
5120
5123
|
var Fs = Object.defineProperty, js = Object.getOwnPropertyDescriptor, st = (a, e, t, i) => {
|
|
5121
5124
|
for (var s = i > 1 ? void 0 : i ? js(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5122
5125
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5123
5126
|
return i && s && Fs(e, t, s), s;
|
|
5124
5127
|
};
|
|
5125
|
-
const
|
|
5128
|
+
const Mt = "cb-toast-outlet", Ia = "cb-toast-outlet-style";
|
|
5126
5129
|
function Hs() {
|
|
5127
|
-
let a = document.getElementById(
|
|
5128
|
-
if (a || (a = document.createElement("div"), a.id =
|
|
5130
|
+
let a = document.getElementById(Mt);
|
|
5131
|
+
if (a || (a = document.createElement("div"), a.id = Mt, document.body.appendChild(a)), !document.getElementById(Ia)) {
|
|
5129
5132
|
const e = document.createElement("style");
|
|
5130
5133
|
e.id = Ia, e.textContent = `
|
|
5131
5134
|
/* Global outlet that holds all toasts */
|
|
5132
|
-
#${
|
|
5135
|
+
#${Mt} {
|
|
5133
5136
|
position: fixed;
|
|
5134
5137
|
right: 40px;
|
|
5135
5138
|
bottom: 55px;
|
|
@@ -5141,7 +5144,7 @@ function Hs() {
|
|
|
5141
5144
|
pointer-events: none; /* clicks pass through except on toast itself */
|
|
5142
5145
|
}
|
|
5143
5146
|
@media (max-width: 600px) {
|
|
5144
|
-
#${
|
|
5147
|
+
#${Mt} {
|
|
5145
5148
|
left: 8px;
|
|
5146
5149
|
right: 8px;
|
|
5147
5150
|
align-items: stretch; /* stretch toasts to full width on mobile */
|
|
@@ -5151,11 +5154,11 @@ function Hs() {
|
|
|
5151
5154
|
}
|
|
5152
5155
|
return a;
|
|
5153
5156
|
}
|
|
5154
|
-
function
|
|
5157
|
+
function Vs(a) {
|
|
5155
5158
|
const e = Hs(), t = document.createElement("cb-toast");
|
|
5156
|
-
return t.message = a.message, t.variant = a.variant ?? "success", t.duration = typeof a.duration == "number" ? a.duration : 3e3, t.closeable =
|
|
5159
|
+
return t.message = a.message, t.variant = a.variant ?? "success", t.duration = typeof a.duration == "number" ? a.duration : 3e3, t.closeable = !0, t.icon = a.icon ?? "", t.ariaLive = a.ariaLive ?? "polite", e.appendChild(t), t;
|
|
5157
5160
|
}
|
|
5158
|
-
let
|
|
5161
|
+
let qe = class extends Fe {
|
|
5159
5162
|
constructor() {
|
|
5160
5163
|
super(...arguments), this.message = "", this.variant = "success", this.duration = 3e3, this.closeable = !1, this.icon = "", this.ariaLive = "polite", this._open = !1, this._closing = !1, this._defaultIcons = {
|
|
5161
5164
|
success: "✓",
|
|
@@ -5202,11 +5205,13 @@ let Be = class extends De {
|
|
|
5202
5205
|
return a.trim().startsWith("<") ? u`${Y(a)}` : a;
|
|
5203
5206
|
}
|
|
5204
5207
|
};
|
|
5205
|
-
|
|
5208
|
+
qe.styles = J`
|
|
5206
5209
|
:host {
|
|
5207
5210
|
display: block;
|
|
5208
5211
|
pointer-events: auto; /* receive pointer events within toast */
|
|
5209
5212
|
contain: content;
|
|
5213
|
+
font-size: var(--enegelai-bot-base-font-size, 16px);
|
|
5214
|
+
font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
5210
5215
|
}
|
|
5211
5216
|
|
|
5212
5217
|
.toast {
|
|
@@ -5219,10 +5224,11 @@ Be.styles = J`
|
|
|
5219
5224
|
align-items: center;
|
|
5220
5225
|
gap: 10px;
|
|
5221
5226
|
|
|
5222
|
-
font-
|
|
5227
|
+
font-size: 0.7em;
|
|
5228
|
+
font-weight: 400;
|
|
5223
5229
|
|
|
5224
5230
|
max-width: min(420px, 92vw);
|
|
5225
|
-
padding: 20px
|
|
5231
|
+
padding: 16px 20px;
|
|
5226
5232
|
border-radius: 12px;
|
|
5227
5233
|
border: 1px solid var(--_border);
|
|
5228
5234
|
background: var(--_bg);
|
|
@@ -5261,7 +5267,7 @@ Be.styles = J`
|
|
|
5261
5267
|
}
|
|
5262
5268
|
|
|
5263
5269
|
.msg {
|
|
5264
|
-
font-size: 1.
|
|
5270
|
+
font-size: 1.5em;
|
|
5265
5271
|
line-height: 1.25;
|
|
5266
5272
|
word-break: break-word;
|
|
5267
5273
|
}
|
|
@@ -5309,31 +5315,31 @@ Be.styles = J`
|
|
|
5309
5315
|
`;
|
|
5310
5316
|
st([
|
|
5311
5317
|
x({ type: String })
|
|
5312
|
-
],
|
|
5318
|
+
], qe.prototype, "message", 2);
|
|
5313
5319
|
st([
|
|
5314
5320
|
x({ type: String })
|
|
5315
|
-
],
|
|
5321
|
+
], qe.prototype, "variant", 2);
|
|
5316
5322
|
st([
|
|
5317
5323
|
x({ type: Number })
|
|
5318
|
-
],
|
|
5324
|
+
], qe.prototype, "duration", 2);
|
|
5319
5325
|
st([
|
|
5320
5326
|
x({ type: Boolean })
|
|
5321
|
-
],
|
|
5327
|
+
], qe.prototype, "closeable", 2);
|
|
5322
5328
|
st([
|
|
5323
5329
|
x({ type: String })
|
|
5324
|
-
],
|
|
5330
|
+
], qe.prototype, "icon", 2);
|
|
5325
5331
|
st([
|
|
5326
5332
|
x({ type: String })
|
|
5327
|
-
],
|
|
5328
|
-
|
|
5333
|
+
], qe.prototype, "ariaLive", 2);
|
|
5334
|
+
qe = st([
|
|
5329
5335
|
K("cb-toast")
|
|
5330
|
-
],
|
|
5331
|
-
var
|
|
5332
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
5336
|
+
], qe);
|
|
5337
|
+
var Us = Object.defineProperty, Ns = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
|
|
5338
|
+
for (var s = i > 1 ? void 0 : i ? Ns(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5333
5339
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5334
|
-
return i && s &&
|
|
5340
|
+
return i && s && Us(e, t, s), s;
|
|
5335
5341
|
};
|
|
5336
|
-
const
|
|
5342
|
+
const Tt = Je.noConflict(), Ea = "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", Ws = J`
|
|
5337
5343
|
:host { display: block; width: 100%; color: var(--cb-fg, #111827); }
|
|
5338
5344
|
|
|
5339
5345
|
/* CARD */
|
|
@@ -5346,12 +5352,12 @@ const Ut = Je.noConflict(), $a = "M3.612 15.443c-.386.198-.824-.149-.746-.592l.8
|
|
|
5346
5352
|
}
|
|
5347
5353
|
.card__image { display: block; max-width: 220px; height: auto; object-fit: cover; }
|
|
5348
5354
|
.card__content { padding: 12px; }
|
|
5349
|
-
.card__title { margin: 0; font-weight: 500; line-height: 1.25; font-size:
|
|
5350
|
-
.card__subtitle { margin: 4px 0 0 0; color: var(--cb-muted, rgba(0,0,0,.65)); font-size:
|
|
5355
|
+
.card__title { margin: 0; font-weight: 500; line-height: 1.25; font-size: 1em;}
|
|
5356
|
+
.card__subtitle { margin: 4px 0 0 0; color: var(--cb-muted, rgba(0,0,0,.65)); font-size: 0.8em; line-height: 1.35; }
|
|
5351
5357
|
|
|
5352
|
-
.card__info { display: flex; gap: .
|
|
5358
|
+
.card__info { display: flex; gap: .5em; align-items: center; margin-top: 10px; font-size: 0.9em;}
|
|
5353
5359
|
.card__info--between { justify-content: space-between; }
|
|
5354
|
-
.card__info-text { font-weight: 400;
|
|
5360
|
+
.card__info-text { font-weight: 400; }
|
|
5355
5361
|
|
|
5356
5362
|
.card__title-link { color: inherit; text-decoration: none; }
|
|
5357
5363
|
.card__title-link:hover { text-decoration: underline; }
|
|
@@ -5365,16 +5371,30 @@ const Ut = Je.noConflict(), $a = "M3.612 15.443c-.386.198-.824-.149-.746-.592l.8
|
|
|
5365
5371
|
.star__base path { fill: none; stroke: var(--cb-star-fill, rgb(242,151,4)); opacity: .35; }
|
|
5366
5372
|
.star__fill { position: absolute; inset: 0; overflow: hidden; }
|
|
5367
5373
|
.star__fill path { fill: var(--cb-star-fill, rgb(242,151,4)); }
|
|
5368
|
-
.rating__number { font-size: .
|
|
5374
|
+
.rating__number { font-size: .9em; color: var(--cb-muted, rgba(0,0,0,.7)); }
|
|
5369
5375
|
|
|
5370
|
-
.card__actions { display: flex; gap: .
|
|
5376
|
+
.card__actions { display: flex; gap: .5em; margin-top: 12px; flex-wrap: wrap; }
|
|
5371
5377
|
.card__actions--between { justify-content: space-between; }
|
|
5372
5378
|
|
|
5373
5379
|
/* CAROUSEL */
|
|
5374
5380
|
.hc-wrapper { position: relative; display: block; width: calc(var(--enegelai-bot-width, 420px) - 40px); overflow: hidden; box-sizing: border-box; }
|
|
5375
5381
|
.horizontal-carousel {
|
|
5376
|
-
display: flex;
|
|
5377
|
-
|
|
5382
|
+
display: flex;
|
|
5383
|
+
flex-wrap: nowrap;
|
|
5384
|
+
width: 100%;
|
|
5385
|
+
overflow-x: auto;
|
|
5386
|
+
gap: .75em;
|
|
5387
|
+
padding: .25em .5em;
|
|
5388
|
+
scroll-snap-type: none;
|
|
5389
|
+
-webkit-overflow-scrolling: touch;
|
|
5390
|
+
overscroll-behavior-x: contain; /* prevent horizontal rubber-band revealing blank area */
|
|
5391
|
+
box-sizing: border-box;
|
|
5392
|
+
|
|
5393
|
+
/* IMPORTANT: allow the UA to choose the axis.
|
|
5394
|
+
Result: vertical swipes scroll the PARENT; horizontal swipes scroll THIS scroller. */
|
|
5395
|
+
touch-action: auto;
|
|
5396
|
+
|
|
5397
|
+
cursor: grab;
|
|
5378
5398
|
}
|
|
5379
5399
|
.horizontal-carousel.dragging { cursor: grabbing; }
|
|
5380
5400
|
.horizontal-carousel.dragging, .horizontal-carousel.dragging * { user-select: none; -webkit-user-select: none; }
|
|
@@ -5387,23 +5407,27 @@ const Ut = Je.noConflict(), $a = "M3.612 15.443c-.386.198-.824-.149-.746-.592l.8
|
|
|
5387
5407
|
|
|
5388
5408
|
.hc-btn {
|
|
5389
5409
|
position: absolute; top: 50%; transform: translateY(-50%);
|
|
5390
|
-
background: rgba(0,0,0,.
|
|
5410
|
+
background: rgba(0,0,0,.25); color: #fff; border: none; width: 3em; height: 3em;
|
|
5391
5411
|
border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center;
|
|
5392
|
-
backdrop-filter: blur(4px); z-index: 1;
|
|
5412
|
+
backdrop-filter: blur(4px); z-index: 1; transition: background .18s ease, opacity .18s ease;
|
|
5393
5413
|
}
|
|
5394
5414
|
.hc-btn:hover { background: rgba(0,0,0,.5); }
|
|
5395
5415
|
.hc-btn:active { background: rgba(0,0,0,.85); }
|
|
5396
|
-
.hc-btn.prev { left: .
|
|
5397
|
-
.hc-btn.next { right: .
|
|
5416
|
+
.hc-btn.prev { left: .25em; }
|
|
5417
|
+
.hc-btn.next { right: .25em; }
|
|
5418
|
+
.hc-btn[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none; }
|
|
5398
5419
|
|
|
5399
5420
|
.unknown {
|
|
5400
|
-
margin: .
|
|
5401
|
-
color: var(--cb-muted, rgba(0,0,0,.7)); font-size: .
|
|
5421
|
+
margin: .5em 0; padding: .75em; border: 1px dashed rgba(0,0,0,.2); border-radius: 8px;
|
|
5422
|
+
color: var(--cb-muted, rgba(0,0,0,.7)); font-size: .9em; background: rgba(0,0,0,.02);
|
|
5402
5423
|
}
|
|
5403
5424
|
`;
|
|
5404
|
-
let
|
|
5425
|
+
let Me = class extends Fe {
|
|
5405
5426
|
constructor() {
|
|
5406
|
-
super(...arguments), this._dragBound = !1, this._dragging = !1, this._startX = 0, this._startY = 0, this._startScrollLeft = 0, this._lastPointerId = null
|
|
5427
|
+
super(...arguments), this._dragBound = !1, this._dragging = !1, this._startX = 0, this._startY = 0, this._startScrollLeft = 0, this._lastPointerId = null, this._canPrev = !1, this._canNext = !1, this.onCarouselScroll = () => {
|
|
5428
|
+
const a = this._hCarousel;
|
|
5429
|
+
a && this.updateArrows(a);
|
|
5430
|
+
};
|
|
5407
5431
|
}
|
|
5408
5432
|
render() {
|
|
5409
5433
|
if (!this.block || typeof this.block != "object") return Ae;
|
|
@@ -5417,7 +5441,9 @@ let Ge = class extends De {
|
|
|
5417
5441
|
}
|
|
5418
5442
|
}
|
|
5419
5443
|
updated(a) {
|
|
5420
|
-
a.has("block") && this.block?.type === "carousel" && this.updateComplete.then(() =>
|
|
5444
|
+
a.has("block") && this.block?.type === "carousel" && this.updateComplete.then(() => {
|
|
5445
|
+
this.setupCarousel();
|
|
5446
|
+
});
|
|
5421
5447
|
}
|
|
5422
5448
|
/* ----------------- CARD ----------------- */
|
|
5423
5449
|
renderCard(a) {
|
|
@@ -5471,17 +5497,17 @@ let Ge = class extends De {
|
|
|
5471
5497
|
`;
|
|
5472
5498
|
}
|
|
5473
5499
|
renderSplitButton(a, e) {
|
|
5474
|
-
const t = (a.type ?? "primary").toLowerCase()
|
|
5500
|
+
const t = (a.type ?? "primary").toLowerCase();
|
|
5475
5501
|
return u`
|
|
5476
5502
|
<cb-split-button
|
|
5477
5503
|
.label=${a.text || "Select"}
|
|
5478
5504
|
.variant=${t}
|
|
5479
|
-
.options=${
|
|
5480
|
-
@select=${(
|
|
5481
|
-
const
|
|
5482
|
-
|
|
5505
|
+
.options=${a.opts || []}
|
|
5506
|
+
@select=${(i) => {
|
|
5507
|
+
const s = i.detail && i.detail.option || null;
|
|
5508
|
+
s && this.emitButtonClick({ ...a, ...s });
|
|
5483
5509
|
}}
|
|
5484
|
-
@pointerdown=${(
|
|
5510
|
+
@pointerdown=${(i) => i.stopPropagation()}
|
|
5485
5511
|
></cb-split-button>
|
|
5486
5512
|
`;
|
|
5487
5513
|
}
|
|
@@ -5500,57 +5526,90 @@ let Ge = class extends De {
|
|
|
5500
5526
|
`;
|
|
5501
5527
|
return u`
|
|
5502
5528
|
<span class="star" role="img" aria-label="${e.toFixed(2)} filled">
|
|
5503
|
-
<svg class="star__base" viewBox="0 0 16 16" aria-hidden="true"><path d="${
|
|
5529
|
+
<svg class="star__base" viewBox="0 0 16 16" aria-hidden="true"><path d="${Ea}"/></svg>
|
|
5504
5530
|
<div class="star__fill" style="${s}">
|
|
5505
|
-
<svg viewBox="0 0 16 16" aria-hidden="true"><path d="${
|
|
5531
|
+
<svg viewBox="0 0 16 16" aria-hidden="true"><path d="${Ea}"/></svg>
|
|
5506
5532
|
</div>
|
|
5507
5533
|
</span>
|
|
5508
5534
|
`;
|
|
5509
5535
|
}
|
|
5510
5536
|
/* ----------------- Carousel ----------------- */
|
|
5511
5537
|
renderCarouselSimple(a) {
|
|
5512
|
-
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}
|
|
5538
|
+
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;` : "";
|
|
5513
5539
|
return u`
|
|
5514
5540
|
<div class="hc-wrapper">
|
|
5515
|
-
<button
|
|
5516
|
-
|
|
5517
|
-
|
|
5541
|
+
<button
|
|
5542
|
+
type="button"
|
|
5543
|
+
class="hc-btn prev"
|
|
5544
|
+
?disabled=${!this._canPrev}
|
|
5545
|
+
aria-label="Previous"
|
|
5546
|
+
@click=${() => this.nudge(-1)}
|
|
5547
|
+
>❮</button>
|
|
5548
|
+
|
|
5549
|
+
<div class="horizontal-carousel" @scroll=${this.onCarouselScroll}>
|
|
5550
|
+
${e.map((s) => u`
|
|
5551
|
+
<div class="horizontal-carousel__item" style=${i}>
|
|
5552
|
+
<cb-block .block=${s}></cb-block>
|
|
5553
|
+
</div>
|
|
5554
|
+
`)}
|
|
5518
5555
|
</div>
|
|
5519
|
-
|
|
5556
|
+
|
|
5557
|
+
<button
|
|
5558
|
+
type="button"
|
|
5559
|
+
class="hc-btn next"
|
|
5560
|
+
?disabled=${!this._canNext}
|
|
5561
|
+
aria-label="Next"
|
|
5562
|
+
@click=${() => this.nudge(1)}
|
|
5563
|
+
>❯</button>
|
|
5520
5564
|
</div>
|
|
5521
5565
|
`;
|
|
5522
5566
|
}
|
|
5523
|
-
|
|
5567
|
+
/** Smooth step with clamped target; updates arrows */
|
|
5568
|
+
nudge(a) {
|
|
5524
5569
|
const e = this._hCarousel;
|
|
5525
5570
|
if (!e) return;
|
|
5526
|
-
const t = e.
|
|
5527
|
-
e.
|
|
5571
|
+
const t = this.pageStep(e), i = Math.max(0, e.scrollWidth - e.clientWidth), s = Math.min(i, Math.max(0, e.scrollLeft + a * t));
|
|
5572
|
+
e.scrollTo({ left: s, behavior: "smooth" }), this.updateArrows(e);
|
|
5573
|
+
}
|
|
5574
|
+
/** Compute a good step: mostly viewport width minus some, but not smaller than one card */
|
|
5575
|
+
pageStep(a) {
|
|
5576
|
+
const e = a.querySelector(".horizontal-carousel__item"), i = e ? e.offsetWidth + 12 : 0, s = Math.max(0.9 * a.clientWidth, i || 0.6 * a.clientWidth);
|
|
5577
|
+
return Math.max(1, Math.round(s));
|
|
5528
5578
|
}
|
|
5529
|
-
|
|
5579
|
+
updateArrows(a) {
|
|
5580
|
+
const e = Math.max(0, a.scrollWidth - a.clientWidth), t = a.scrollLeft, i = 1, s = t > i, r = t < e - i;
|
|
5581
|
+
s !== this._canPrev && (this._canPrev = s), r !== this._canNext && (this._canNext = r);
|
|
5582
|
+
}
|
|
5583
|
+
/** Setup listeners and desktop-only drag */
|
|
5584
|
+
setupCarousel() {
|
|
5530
5585
|
const a = this._hCarousel;
|
|
5531
|
-
if (
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5586
|
+
if (a) {
|
|
5587
|
+
if (this.updateArrows(a), this._resizeObs || (this._resizeObs = new ResizeObserver(() => this.updateArrows(a)), this._resizeObs.observe(a)), !this._dragBound) {
|
|
5588
|
+
const e = (o) => o.preventDefault();
|
|
5589
|
+
a.addEventListener("dragstart", e, { capture: !0 });
|
|
5590
|
+
const t = (o) => {
|
|
5591
|
+
o.pointerType !== "touch" && (o.button !== 0 && o.pointerType !== "pen" || (this._dragging = !0, this._startX = o.clientX, this._startY = o.clientY, this._startScrollLeft = a.scrollLeft, this._lastPointerId = o.pointerId, a.classList.add("dragging")));
|
|
5592
|
+
}, i = (o) => {
|
|
5593
|
+
if (!this._dragging) return;
|
|
5594
|
+
const f = o.clientX - this._startX, p = o.clientY - this._startY;
|
|
5595
|
+
a.scrollLeft = this._startScrollLeft - f, Math.abs(f) > Me.DRAG_THRESHOLD_PX && Math.abs(f) > Math.abs(p) && this._lastPointerId != null && a.setPointerCapture?.(this._lastPointerId), o.preventDefault(), this.updateArrows(a);
|
|
5596
|
+
}, s = () => {
|
|
5597
|
+
if (!this._dragging) return;
|
|
5598
|
+
if (Math.abs(a.scrollLeft - this._startScrollLeft) > Me.DRAG_THRESHOLD_PX) {
|
|
5599
|
+
let f;
|
|
5600
|
+
const p = (v) => {
|
|
5601
|
+
v.preventDefault(), v.stopPropagation(), f && clearTimeout(f);
|
|
5602
|
+
};
|
|
5603
|
+
a.addEventListener("click", p, { capture: !0, once: !0 }), f = window.setTimeout(() => a.removeEventListener("click", p, !0), 200);
|
|
5604
|
+
}
|
|
5605
|
+
this._dragging = !1, a.classList.remove("dragging"), this._lastPointerId != null && (a.releasePointerCapture?.(this._lastPointerId), this._lastPointerId = null), this.updateArrows(a);
|
|
5606
|
+
}, r = () => {
|
|
5607
|
+
this._dragging && (this._dragging = !1, a.classList.remove("dragging"), this._lastPointerId != null && (a.releasePointerCapture?.(this._lastPointerId), this._lastPointerId = null), this.updateArrows(a));
|
|
5546
5608
|
};
|
|
5547
|
-
a.addEventListener("
|
|
5609
|
+
a.addEventListener("pointerdown", t), a.addEventListener("pointermove", i, { passive: !1 }), a.addEventListener("pointerup", s), a.addEventListener("pointercancel", r), a.addEventListener("pointerleave", r), this._dragBound = !0;
|
|
5548
5610
|
}
|
|
5549
|
-
|
|
5550
|
-
}
|
|
5551
|
-
this._dragging && (this._dragging = !1, a.classList.remove("dragging"), this._lastPointerId != null && (a.releasePointerCapture?.(this._lastPointerId), this._lastPointerId = null));
|
|
5552
|
-
};
|
|
5553
|
-
a.addEventListener("pointerdown", t), a.addEventListener("pointermove", i, { passive: !1 }), a.addEventListener("pointerup", s), a.addEventListener("pointercancel", r), a.addEventListener("pointerleave", r), this._dragBound = !0;
|
|
5611
|
+
requestAnimationFrame(() => this.updateArrows(a));
|
|
5612
|
+
}
|
|
5554
5613
|
}
|
|
5555
5614
|
renderUnknown(a) {
|
|
5556
5615
|
return u`<div class="unknown">Unknown block type: <code>${a?.type ?? "—"}</code></div>`;
|
|
@@ -5565,23 +5624,17 @@ let Ge = class extends De {
|
|
|
5565
5624
|
});
|
|
5566
5625
|
}
|
|
5567
5626
|
/* ----------------- execute actions ----------------- */
|
|
5568
|
-
// 1) Pick likely cart-related sections that many themes expose.
|
|
5569
|
-
// We'll include only the ones that actually exist in the current DOM.
|
|
5570
5627
|
findCartSectionIdsInDOM() {
|
|
5571
5628
|
const a = [
|
|
5572
5629
|
"cart-icon-bubble",
|
|
5573
|
-
// cart count bubble in header
|
|
5574
5630
|
"cart-drawer",
|
|
5575
|
-
// drawer mini-cart
|
|
5576
5631
|
"cart-live-region-text"
|
|
5577
|
-
// SR-only live region for "X items"
|
|
5578
5632
|
], e = [];
|
|
5579
5633
|
for (const i of a)
|
|
5580
5634
|
document.getElementById(`shopify-section-${i}`) && e.push(i);
|
|
5581
5635
|
const t = document.querySelector("#shopify-section-header") || document.querySelector('[id^="shopify-section-"][id$="__header"]');
|
|
5582
5636
|
return t && e.push(t.id.replace("shopify-section-", "")), Array.from(new Set(e)).slice(0, 5);
|
|
5583
5637
|
}
|
|
5584
|
-
// 2) Replace any returned sections (id -> HTML) in the current DOM.
|
|
5585
5638
|
patchSectionsFromResponse(a) {
|
|
5586
5639
|
if (!a) return !1;
|
|
5587
5640
|
let e = !1;
|
|
@@ -5594,7 +5647,7 @@ let Ge = class extends De {
|
|
|
5594
5647
|
}
|
|
5595
5648
|
// @ts-ignore
|
|
5596
5649
|
async addToCartAndSetAttributes({ variantId: a, quantity: e, attributes: t }) {
|
|
5597
|
-
|
|
5650
|
+
Tt.info(`c7o: Adding to Shopify cart, variantId=${a}, quantity=${e}, attributes=`, t);
|
|
5598
5651
|
const i = window.Shopify?.routes?.root || "/", s = this.findCartSectionIdsInDOM(), r = {
|
|
5599
5652
|
items: [{ id: Number(a), quantity: e }]
|
|
5600
5653
|
};
|
|
@@ -5606,75 +5659,39 @@ let Ge = class extends De {
|
|
|
5606
5659
|
body: JSON.stringify(r)
|
|
5607
5660
|
});
|
|
5608
5661
|
if (!o.ok) {
|
|
5609
|
-
|
|
5662
|
+
Tt.error("c7o: cart/add.js failed"), Vs({
|
|
5610
5663
|
message: "Unable to add item to cart.",
|
|
5611
5664
|
variant: "danger",
|
|
5612
|
-
|
|
5613
|
-
duration: 2800,
|
|
5614
|
-
// optional; defaults to 3000
|
|
5615
|
-
closeable: !0
|
|
5616
|
-
// optional X button
|
|
5665
|
+
duration: 2800
|
|
5617
5666
|
});
|
|
5618
5667
|
return;
|
|
5619
5668
|
}
|
|
5620
|
-
|
|
5621
|
-
message: "Added to cart!",
|
|
5622
|
-
variant: "success",
|
|
5623
|
-
// 'success' | 'danger' | 'warning' | 'info' | 'neutral' | 'primary'
|
|
5624
|
-
duration: 2800,
|
|
5625
|
-
// optional; defaults to 3000
|
|
5626
|
-
closeable: !0
|
|
5627
|
-
// optional X button
|
|
5628
|
-
});
|
|
5629
|
-
const f = await o.json();
|
|
5630
|
-
if ((() => {
|
|
5631
|
-
try {
|
|
5632
|
-
const w = new URL(window.location.href).pathname.replace(/\/+$/, "").toLowerCase();
|
|
5633
|
-
return /(^|\/)cart$/.test(w);
|
|
5634
|
-
} catch {
|
|
5635
|
-
return !1;
|
|
5636
|
-
}
|
|
5637
|
-
})()) {
|
|
5638
|
-
window.location.reload();
|
|
5639
|
-
return;
|
|
5640
|
-
}
|
|
5641
|
-
if (!this.patchSectionsFromResponse(f.sections))
|
|
5642
|
-
try {
|
|
5643
|
-
const k = await fetch(i + "cart.js", { credentials: "same-origin", headers: { Accept: "application/json" } });
|
|
5644
|
-
if (k.ok) {
|
|
5645
|
-
const w = await k.json();
|
|
5646
|
-
document.querySelectorAll("[data-cart-count]").forEach((_) => _.textContent = String(w.item_count || 0));
|
|
5647
|
-
}
|
|
5648
|
-
} catch {
|
|
5649
|
-
}
|
|
5650
|
-
t && Object.keys(t).length && ((await fetch(window.Shopify?.routes?.root + "cart/update.js", {
|
|
5651
|
-
method: "POST",
|
|
5652
|
-
credentials: "same-origin",
|
|
5653
|
-
headers: {
|
|
5654
|
-
"Content-Type": "application/json",
|
|
5655
|
-
Accept: "application/json"
|
|
5656
|
-
},
|
|
5657
|
-
body: JSON.stringify({ attributes: t })
|
|
5658
|
-
})).ok || Ut.error("c7o: cart/update.js failed"));
|
|
5669
|
+
await o.json(), Tt.info("c7o: cart/add.js - cart updated"), Tt.info("c7o: reloading window after cart update"), window.location.reload();
|
|
5659
5670
|
}
|
|
5660
5671
|
};
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5672
|
+
Me.styles = [Ws, Bs, Ja];
|
|
5673
|
+
Me.DRAG_THRESHOLD_PX = 10;
|
|
5674
|
+
wt([
|
|
5664
5675
|
x({ type: Object })
|
|
5665
|
-
],
|
|
5666
|
-
|
|
5676
|
+
], Me.prototype, "block", 2);
|
|
5677
|
+
wt([
|
|
5667
5678
|
xe(".horizontal-carousel")
|
|
5668
|
-
],
|
|
5669
|
-
|
|
5679
|
+
], Me.prototype, "_hCarousel", 2);
|
|
5680
|
+
wt([
|
|
5681
|
+
Ha()
|
|
5682
|
+
], Me.prototype, "_canPrev", 2);
|
|
5683
|
+
wt([
|
|
5684
|
+
Ha()
|
|
5685
|
+
], Me.prototype, "_canNext", 2);
|
|
5686
|
+
Me = wt([
|
|
5670
5687
|
K("cb-block")
|
|
5671
|
-
],
|
|
5672
|
-
var
|
|
5673
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
5688
|
+
], Me);
|
|
5689
|
+
var Gs = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, Ka = (a, e, t, i) => {
|
|
5690
|
+
for (var s = i > 1 ? void 0 : i ? Xs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
5674
5691
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
5675
|
-
return i && s &&
|
|
5692
|
+
return i && s && Gs(e, t, s), s;
|
|
5676
5693
|
};
|
|
5677
|
-
let
|
|
5694
|
+
let Ot = class extends Fe {
|
|
5678
5695
|
constructor() {
|
|
5679
5696
|
super(...arguments), this.blocks = [];
|
|
5680
5697
|
}
|
|
@@ -5686,7 +5703,7 @@ let Rt = class extends De {
|
|
|
5686
5703
|
`;
|
|
5687
5704
|
}
|
|
5688
5705
|
};
|
|
5689
|
-
|
|
5706
|
+
Ot.styles = J`
|
|
5690
5707
|
:host {
|
|
5691
5708
|
display: block;
|
|
5692
5709
|
}
|
|
@@ -5694,21 +5711,21 @@ Rt.styles = J`
|
|
|
5694
5711
|
margin-top: 10px;
|
|
5695
5712
|
display: grid;
|
|
5696
5713
|
grid-template-columns: 1fr;
|
|
5697
|
-
gap: 0.
|
|
5714
|
+
gap: 0.75em; /* vertical rhythm between blocks */
|
|
5698
5715
|
}
|
|
5699
5716
|
`;
|
|
5700
5717
|
Ka([
|
|
5701
5718
|
x({ type: Array })
|
|
5702
|
-
],
|
|
5703
|
-
|
|
5719
|
+
], Ot.prototype, "blocks", 2);
|
|
5720
|
+
Ot = Ka([
|
|
5704
5721
|
K("cb-blocks")
|
|
5705
|
-
],
|
|
5706
|
-
var
|
|
5707
|
-
function
|
|
5708
|
-
return
|
|
5722
|
+
], Ot);
|
|
5723
|
+
var Lt = { exports: {} }, Ys = Lt.exports, $a;
|
|
5724
|
+
function Js() {
|
|
5725
|
+
return $a || ($a = 1, (function(a, e) {
|
|
5709
5726
|
(function(t, i) {
|
|
5710
5727
|
a.exports = i();
|
|
5711
|
-
})(
|
|
5728
|
+
})(Ys, (function() {
|
|
5712
5729
|
function t(n, c) {
|
|
5713
5730
|
if (!(n instanceof c)) throw new TypeError("Cannot call a class as a function");
|
|
5714
5731
|
}
|
|
@@ -5754,9 +5771,9 @@ function Ys() {
|
|
|
5754
5771
|
return n;
|
|
5755
5772
|
}
|
|
5756
5773
|
function v(n, c) {
|
|
5757
|
-
if ((V(n) || n === window || n === document) && (n = [n]),
|
|
5758
|
-
if (
|
|
5759
|
-
else if (
|
|
5774
|
+
if ((V(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), ba(n) != 0) {
|
|
5775
|
+
if (Pe(n) && !Ve(n)) for (var l = n.length, d = 0; d < l && c.call(n[d], n[d], d, n) !== !1; d++) ;
|
|
5776
|
+
else if (Ve(n)) {
|
|
5760
5777
|
for (var h in n) if (ie(n, h) && c.call(n[h], n[h], h, n) === !1) break;
|
|
5761
5778
|
}
|
|
5762
5779
|
}
|
|
@@ -5805,7 +5822,7 @@ function Ys() {
|
|
|
5805
5822
|
var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
|
|
5806
5823
|
if (!n || c === "") return !1;
|
|
5807
5824
|
if (c === "none") return F(l) && l(), !1;
|
|
5808
|
-
var d =
|
|
5825
|
+
var d = He(), h = c.split(" ");
|
|
5809
5826
|
v(h, (function(m) {
|
|
5810
5827
|
_(n, "g" + m);
|
|
5811
5828
|
})), w(d, { onElement: n, avoidDuplicate: !1, once: !0, withCallback: function(m, g) {
|
|
@@ -5833,7 +5850,7 @@ function Ys() {
|
|
|
5833
5850
|
function te() {
|
|
5834
5851
|
return { width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight };
|
|
5835
5852
|
}
|
|
5836
|
-
function
|
|
5853
|
+
function He() {
|
|
5837
5854
|
var n, c = document.createElement("fakeelement"), l = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" };
|
|
5838
5855
|
for (n in l) if (c.style[n] !== void 0) return l[n];
|
|
5839
5856
|
}
|
|
@@ -5893,14 +5910,14 @@ function Ys() {
|
|
|
5893
5910
|
function V(n) {
|
|
5894
5911
|
return !(!n || !n.nodeType || n.nodeType != 1);
|
|
5895
5912
|
}
|
|
5896
|
-
function
|
|
5913
|
+
function $e(n) {
|
|
5897
5914
|
return Array.isArray(n);
|
|
5898
5915
|
}
|
|
5899
|
-
function
|
|
5916
|
+
function Pe(n) {
|
|
5900
5917
|
return n && n.length && isFinite(n.length);
|
|
5901
5918
|
}
|
|
5902
|
-
function
|
|
5903
|
-
return o(n) === "object" && n != null && !F(n) &&
|
|
5919
|
+
function Ve(n) {
|
|
5920
|
+
return o(n) === "object" && n != null && !F(n) && !$e(n);
|
|
5904
5921
|
}
|
|
5905
5922
|
function be(n) {
|
|
5906
5923
|
return n == null;
|
|
@@ -5909,7 +5926,7 @@ function Ys() {
|
|
|
5909
5926
|
return n !== null && hasOwnProperty.call(n, c);
|
|
5910
5927
|
}
|
|
5911
5928
|
function ba(n) {
|
|
5912
|
-
if (
|
|
5929
|
+
if (Ve(n)) {
|
|
5913
5930
|
if (n.keys) return n.keys().length;
|
|
5914
5931
|
var c = 0;
|
|
5915
5932
|
for (var l in n) ie(n, l) && c++;
|
|
@@ -5917,7 +5934,7 @@ function Ys() {
|
|
|
5917
5934
|
}
|
|
5918
5935
|
return n.length;
|
|
5919
5936
|
}
|
|
5920
|
-
function
|
|
5937
|
+
function xt(n) {
|
|
5921
5938
|
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
5922
5939
|
}
|
|
5923
5940
|
function ua() {
|
|
@@ -6118,13 +6135,13 @@ function Ys() {
|
|
|
6118
6135
|
}
|
|
6119
6136
|
var _i = s((function n() {
|
|
6120
6137
|
var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
6121
|
-
t(this, n), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 },
|
|
6138
|
+
t(this, n), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ve(c) && (this.defaults = p(this.defaults, c));
|
|
6122
6139
|
}), [{ key: "sourceType", value: function(n) {
|
|
6123
6140
|
var c = n;
|
|
6124
6141
|
return (n = n.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) !== null ? "image" : n.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || n.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || n.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || n.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/) || n.match(/vimeo\.com\/([0-9]*)/) || n.match(/\.(mp4|ogg|webm|mov)/) !== null ? "video" : n.match(/\.(mp3|wav|wma|aac|ogg)/) !== null ? "audio" : n.indexOf("#") > -1 && c.split("#").pop().trim() !== "" ? "inline" : n.indexOf("goajax=true") > -1 ? "ajax" : "external";
|
|
6125
6142
|
} }, { key: "parseConfig", value: function(n, c) {
|
|
6126
6143
|
var l = this, d = p({ descPosition: c.descPosition }, this.defaults);
|
|
6127
|
-
if (
|
|
6144
|
+
if (Ve(n) && !V(n)) {
|
|
6128
6145
|
ie(n, "type") || (ie(n, "content") && n.content ? n.type = "inline" : ie(n, "href") && (n.type = this.sourceType(n.href)));
|
|
6129
6146
|
var h = p(d, n);
|
|
6130
6147
|
return this.setSize(h, c), h;
|
|
@@ -6150,8 +6167,8 @@ function Ys() {
|
|
|
6150
6167
|
})), T = T.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
|
|
6151
6168
|
var ee = g, ge = new RegExp("s?" + D + "s?:s?(.*?)(" + T + "s?:|$)"), ue = ee.match(ge);
|
|
6152
6169
|
if (ue && ue.length && ue[1]) {
|
|
6153
|
-
var
|
|
6154
|
-
d[D] = l.sanitizeValue(
|
|
6170
|
+
var Le = ue[1].trim().replace(/;\s*$/, "");
|
|
6171
|
+
d[D] = l.sanitizeValue(Le);
|
|
6155
6172
|
}
|
|
6156
6173
|
}));
|
|
6157
6174
|
}
|
|
@@ -6173,10 +6190,10 @@ function Ys() {
|
|
|
6173
6190
|
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);
|
|
6174
6191
|
return n.width = ie(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = ie(n, "height") && n.height !== "" ? this.checkSize(n.height) : h, l && n.type == "image" && (n._hasCustomWidth = !!l.dataset.width, n._hasCustomHeight = !!l.dataset.height), n;
|
|
6175
6192
|
} }, { key: "checkSize", value: function(n) {
|
|
6176
|
-
return
|
|
6193
|
+
return xt(n) ? "".concat(n, "px") : n;
|
|
6177
6194
|
} }, { key: "sanitizeValue", value: function(n) {
|
|
6178
6195
|
return n !== "true" && n !== "false" ? n : n === "true";
|
|
6179
|
-
} }]),
|
|
6196
|
+
} }]), kt = s((function n(c, l, d) {
|
|
6180
6197
|
t(this, n), this.element = c, this.instance = l, this.index = d;
|
|
6181
6198
|
}), [{ key: "setContent", value: function() {
|
|
6182
6199
|
var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
|
|
@@ -6223,12 +6240,12 @@ function Ys() {
|
|
|
6223
6240
|
var n = new _i(this.instance.settings.slideExtraAttributes);
|
|
6224
6241
|
return this.slideConfig = n.parseConfig(this.element, this.instance.settings), this.slideConfig;
|
|
6225
6242
|
} }]);
|
|
6226
|
-
function
|
|
6243
|
+
function _t(n) {
|
|
6227
6244
|
return Math.sqrt(n.x * n.x + n.y * n.y);
|
|
6228
6245
|
}
|
|
6229
6246
|
function Si(n, c) {
|
|
6230
6247
|
var l = (function(d, h) {
|
|
6231
|
-
var m =
|
|
6248
|
+
var m = _t(d) * _t(h);
|
|
6232
6249
|
if (m === 0) return 0;
|
|
6233
6250
|
var g = (function(y, A) {
|
|
6234
6251
|
return y.x * A.x + y.y * A.y;
|
|
@@ -6269,7 +6286,7 @@ function Ys() {
|
|
|
6269
6286
|
if (n.touches.length > 1) {
|
|
6270
6287
|
this._cancelLongTap(), this._cancelSingleTap();
|
|
6271
6288
|
var l = { x: n.touches[1].pageX - this.x1, y: n.touches[1].pageY - this.y1 };
|
|
6272
|
-
c.x = l.x, c.y = l.y, this.pinchStartLen =
|
|
6289
|
+
c.x = l.x, c.y = l.y, this.pinchStartLen = _t(c), this.multipointStart.dispatch(n, this.element);
|
|
6273
6290
|
}
|
|
6274
6291
|
this._preventTap = !1, this.longTapTimeout = setTimeout((function() {
|
|
6275
6292
|
this.longTap.dispatch(n, this.element), this._preventTap = !0;
|
|
@@ -6280,7 +6297,7 @@ function Ys() {
|
|
|
6280
6297
|
var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, h = n.touches[0].pageY;
|
|
6281
6298
|
if (this.isDoubleTap = !1, l > 1) {
|
|
6282
6299
|
var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - h };
|
|
6283
|
-
c.x !== null && (this.pinchStartLen > 0 && (n.zoom =
|
|
6300
|
+
c.x !== null && (this.pinchStartLen > 0 && (n.zoom = _t(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Si(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;
|
|
6284
6301
|
} else {
|
|
6285
6302
|
if (this.x2 !== null) {
|
|
6286
6303
|
n.deltaX = d - this.x2, n.deltaY = h - this.y2;
|
|
@@ -6320,7 +6337,7 @@ function Ys() {
|
|
|
6320
6337
|
} }, { key: "destroy", value: function() {
|
|
6321
6338
|
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;
|
|
6322
6339
|
} }]);
|
|
6323
|
-
function
|
|
6340
|
+
function Vt(n) {
|
|
6324
6341
|
var c = (function() {
|
|
6325
6342
|
var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
|
|
6326
6343
|
for (g in A) if (y.style[g] !== void 0) return A[g];
|
|
@@ -6331,9 +6348,9 @@ function Ys() {
|
|
|
6331
6348
|
}
|
|
6332
6349
|
function Mi(n) {
|
|
6333
6350
|
if (n.events.hasOwnProperty("touch")) return !1;
|
|
6334
|
-
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, T = null, E = !1, z = 1, q = 1, D = !1, ee = !1, ge = null, ue = null,
|
|
6351
|
+
var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, T = null, E = !1, z = 1, q = 1, D = !1, ee = !1, ge = null, ue = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, wa = 0, xa = 0, Ei = document.getElementById("glightbox-slider"), St = document.querySelector(".goverlay"), $i = new Ai(Ei, { touchStart: function(X) {
|
|
6335
6352
|
if (y = !0, (I(X.targetTouches[0].target, "ginner-container") || M(X.targetTouches[0].target, ".gslide-desc") || X.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(X.targetTouches[0].target, ".gslide-inline") && !I(X.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
|
|
6336
|
-
if (Se = X.targetTouches[0], _e.pageX = X.targetTouches[0].pageX, _e.pageY = X.targetTouches[0].pageY, wa = X.targetTouches[0].clientX, xa = X.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), T = null, I(S, "gslide-image") && (T = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(
|
|
6353
|
+
if (Se = X.targetTouches[0], _e.pageX = X.targetTouches[0].pageX, _e.pageY = X.targetTouches[0].pageY, wa = X.targetTouches[0].clientX, xa = X.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), T = null, I(S, "gslide-image") && (T = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(St, "greset"), X.pageX > 20 && X.pageX < window.innerWidth - 20) return;
|
|
6337
6354
|
X.preventDefault();
|
|
6338
6355
|
}
|
|
6339
6356
|
}, touchMove: function(X) {
|
|
@@ -6343,15 +6360,15 @@ function Ys() {
|
|
|
6343
6360
|
if (Math.abs(le) <= 13) return !1;
|
|
6344
6361
|
}
|
|
6345
6362
|
E = !0;
|
|
6346
|
-
var
|
|
6347
|
-
if (Math.abs(Li) > Math.abs(Ri) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX,
|
|
6348
|
-
C(S, "translate3d(".concat(
|
|
6363
|
+
var Ue, Ct = X.targetTouches[0].clientX, Pi = X.targetTouches[0].clientY, Li = wa - Ct, Ri = xa - Pi;
|
|
6364
|
+
if (Math.abs(Li) > Math.abs(Ri) ? (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 && T && (Ue = 1 - Math.abs(l) / g, St.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !T) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
|
|
6365
|
+
C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
|
|
6349
6366
|
}
|
|
6350
6367
|
}, touchEnd: function() {
|
|
6351
6368
|
if (y) {
|
|
6352
|
-
if (E = !1, ee || D) return
|
|
6353
|
-
var X = Math.abs(parseInt(
|
|
6354
|
-
if (!(X > 29 && T)) return X < 29 && le < 25 ? (_(
|
|
6369
|
+
if (E = !1, ee || D) return Le = ge, void (oe = ue);
|
|
6370
|
+
var X = Math.abs(parseInt(ze)), le = Math.abs(parseInt(Re));
|
|
6371
|
+
if (!(X > 29 && T)) return X < 29 && le < 25 ? (_(St, "greset"), St.style.opacity = 1, Vt(S)) : void 0;
|
|
6355
6372
|
n.close();
|
|
6356
6373
|
}
|
|
6357
6374
|
}, multipointEnd: function() {
|
|
@@ -6364,24 +6381,24 @@ function Ys() {
|
|
|
6364
6381
|
if (!T || E) return !1;
|
|
6365
6382
|
D = !0, T.scaleX = T.scaleY = z * X.zoom;
|
|
6366
6383
|
var le = z * X.zoom;
|
|
6367
|
-
if (ee = !0, le <= 1) return ee = !1, le = 1, oe = null,
|
|
6384
|
+
if (ee = !0, le <= 1) return ee = !1, le = 1, oe = null, Le = null, ge = null, ue = null, void T.setAttribute("style", "");
|
|
6368
6385
|
le > 4.5 && (le = 4.5), T.style.transform = "scale3d(".concat(le, ", ").concat(le, ", 1)"), q = le;
|
|
6369
6386
|
}, pressMove: function(X) {
|
|
6370
6387
|
if (ee && !D) {
|
|
6371
|
-
var le = Se.pageX - _e.pageX,
|
|
6372
|
-
|
|
6373
|
-
var
|
|
6374
|
-
q && (
|
|
6388
|
+
var le = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
|
|
6389
|
+
Le && (le += Le), oe && (Ue += oe), ge = le, ue = Ue;
|
|
6390
|
+
var Ct = "translate3d(".concat(le, "px, ").concat(Ue, "px, 0)");
|
|
6391
|
+
q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(T, Ct);
|
|
6375
6392
|
}
|
|
6376
6393
|
}, swipe: function(X) {
|
|
6377
6394
|
if (!ee) if (D) D = !1;
|
|
6378
6395
|
else {
|
|
6379
6396
|
if (X.direction == "Left") {
|
|
6380
|
-
if (n.index == n.elements.length - 1) return
|
|
6397
|
+
if (n.index == n.elements.length - 1) return Vt(S);
|
|
6381
6398
|
n.nextSlide();
|
|
6382
6399
|
}
|
|
6383
6400
|
if (X.direction == "Right") {
|
|
6384
|
-
if (n.index == 0) return
|
|
6401
|
+
if (n.index == 0) return Vt(S);
|
|
6385
6402
|
n.prevSlide();
|
|
6386
6403
|
}
|
|
6387
6404
|
}
|
|
@@ -6422,12 +6439,12 @@ function Ys() {
|
|
|
6422
6439
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
6423
6440
|
if (this.elements.length === 0) return !1;
|
|
6424
6441
|
this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
|
|
6425
|
-
var l =
|
|
6442
|
+
var l = xt(c) ? c : this.settings.startAt;
|
|
6426
6443
|
if (V(n)) {
|
|
6427
6444
|
var d = n.getAttribute("data-gallery");
|
|
6428
6445
|
d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), be(l) && (l = this.getElementIndex(n)) < 0 && (l = 0);
|
|
6429
6446
|
}
|
|
6430
|
-
|
|
6447
|
+
xt(l) || (l = 0), this.build(), L(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
|
|
6431
6448
|
var h = document.body, m = window.innerWidth - document.documentElement.clientWidth;
|
|
6432
6449
|
if (m > 0) {
|
|
6433
6450
|
var g = document.createElement("style");
|
|
@@ -6476,7 +6493,7 @@ function Ys() {
|
|
|
6476
6493
|
} }, { key: "insertSlide", value: function() {
|
|
6477
6494
|
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
|
|
6478
6495
|
c < 0 && (c = this.elements.length);
|
|
6479
|
-
var l = new
|
|
6496
|
+
var l = new kt(n, this, c), d = l.getConfig(), h = p({}, d), m = l.create(), g = this.elements.length - 1;
|
|
6480
6497
|
h.index = c, h.node = !1, h.instance = l, h.slideConfig = d, this.elements.splice(c, 0, h);
|
|
6481
6498
|
var y = null, A = null;
|
|
6482
6499
|
if (this.slidesContainer) {
|
|
@@ -6559,7 +6576,7 @@ function Ys() {
|
|
|
6559
6576
|
this.settings.elements = !1;
|
|
6560
6577
|
var l = [];
|
|
6561
6578
|
n && n.length && v(n, (function(d, h) {
|
|
6562
|
-
var m = new
|
|
6579
|
+
var m = new kt(d, c, h), g = m.getConfig(), y = p({}, g);
|
|
6563
6580
|
y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
|
|
6564
6581
|
})), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
|
|
6565
6582
|
var d = G(c.settings.slideHTML);
|
|
@@ -6572,13 +6589,13 @@ function Ys() {
|
|
|
6572
6589
|
})), c;
|
|
6573
6590
|
} }, { key: "getElements", value: function() {
|
|
6574
6591
|
var n = this, c = [];
|
|
6575
|
-
this.elements = this.elements ? this.elements : [], !be(this.settings.elements) &&
|
|
6576
|
-
var m = new
|
|
6592
|
+
this.elements = this.elements ? this.elements : [], !be(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d, h) {
|
|
6593
|
+
var m = new kt(d, n, h), g = m.getConfig(), y = p({}, g);
|
|
6577
6594
|
y.node = !1, y.index = h, y.instance = m, y.slideConfig = g, c.push(y);
|
|
6578
6595
|
}));
|
|
6579
6596
|
var l = !1;
|
|
6580
6597
|
return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d, h) {
|
|
6581
|
-
var m = new
|
|
6598
|
+
var m = new kt(d, n, h), g = m.getConfig(), y = p({}, g);
|
|
6582
6599
|
y.node = d, y.index = h, y.instance = m, y.slideConfig = g, y.gallery = d.getAttribute("data-gallery"), c.push(y);
|
|
6583
6600
|
})), c;
|
|
6584
6601
|
} }, { key: "getGalleryElements", value: function(n, c) {
|
|
@@ -6642,8 +6659,8 @@ function Ys() {
|
|
|
6642
6659
|
var ee = l.clientWidth, ge = l.clientHeight, ue = ee / ge;
|
|
6643
6660
|
D = "".concat(ee / ue, ":").concat(ge / ue);
|
|
6644
6661
|
}
|
|
6645
|
-
var
|
|
6646
|
-
if (
|
|
6662
|
+
var Le = D.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = xt(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]));
|
|
6663
|
+
if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
|
|
6647
6664
|
var ht = l.offsetWidth, rt = l.offsetHeight, _e = g / rt, Se = { width: ht * _e, height: rt * _e };
|
|
6648
6665
|
l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y && h.setAttribute("style", "max-width: ".concat(Se.width, "px;"));
|
|
6649
6666
|
} else l.parentNode.style.maxWidth = "".concat(oe), y && h.setAttribute("style", "max-width: ".concat(oe, ";"));
|
|
@@ -6706,21 +6723,21 @@ function Ys() {
|
|
|
6706
6723
|
return c.init(), c;
|
|
6707
6724
|
};
|
|
6708
6725
|
}));
|
|
6709
|
-
})(
|
|
6726
|
+
})(Lt)), Lt.exports;
|
|
6710
6727
|
}
|
|
6711
|
-
var
|
|
6712
|
-
const
|
|
6713
|
-
var
|
|
6714
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6728
|
+
var Ks = Js();
|
|
6729
|
+
const Zs = /* @__PURE__ */ Na(Ks);
|
|
6730
|
+
var Qs = Object.getOwnPropertyDescriptor, en = (a, e, t, i) => {
|
|
6731
|
+
for (var s = i > 1 ? void 0 : i ? Qs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6715
6732
|
(o = a[r]) && (s = o(s) || s);
|
|
6716
6733
|
return s;
|
|
6717
6734
|
};
|
|
6718
|
-
let
|
|
6735
|
+
let Kt = class extends Fe {
|
|
6719
6736
|
render() {
|
|
6720
6737
|
return u` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
|
|
6721
6738
|
}
|
|
6722
6739
|
};
|
|
6723
|
-
|
|
6740
|
+
Kt.styles = J`
|
|
6724
6741
|
.cb-thinking {
|
|
6725
6742
|
text-align: center;
|
|
6726
6743
|
}
|
|
@@ -6758,15 +6775,15 @@ Jt.styles = J`
|
|
|
6758
6775
|
}
|
|
6759
6776
|
}
|
|
6760
6777
|
`;
|
|
6761
|
-
|
|
6778
|
+
Kt = en([
|
|
6762
6779
|
K("cb-thinking")
|
|
6763
|
-
],
|
|
6764
|
-
var
|
|
6765
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6780
|
+
], Kt);
|
|
6781
|
+
var tn = Object.defineProperty, an = Object.getOwnPropertyDescriptor, Za = (a, e, t, i) => {
|
|
6782
|
+
for (var s = i > 1 ? void 0 : i ? an(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6766
6783
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6767
|
-
return i && s &&
|
|
6784
|
+
return i && s && tn(e, t, s), s;
|
|
6768
6785
|
};
|
|
6769
|
-
let
|
|
6786
|
+
let Bt = class extends ne {
|
|
6770
6787
|
constructor() {
|
|
6771
6788
|
super(...arguments), this.files = [];
|
|
6772
6789
|
}
|
|
@@ -6782,7 +6799,7 @@ let zt = class extends ne {
|
|
|
6782
6799
|
</div>`;
|
|
6783
6800
|
}
|
|
6784
6801
|
};
|
|
6785
|
-
|
|
6802
|
+
Bt.styles = J`
|
|
6786
6803
|
.cb-uploading {
|
|
6787
6804
|
text-align: left;
|
|
6788
6805
|
}
|
|
@@ -6802,11 +6819,11 @@ zt.styles = J`
|
|
|
6802
6819
|
`;
|
|
6803
6820
|
Za([
|
|
6804
6821
|
x({ type: Array })
|
|
6805
|
-
],
|
|
6806
|
-
|
|
6822
|
+
], Bt.prototype, "files", 2);
|
|
6823
|
+
Bt = Za([
|
|
6807
6824
|
K("cb-uploading")
|
|
6808
|
-
],
|
|
6809
|
-
const
|
|
6825
|
+
], Bt);
|
|
6826
|
+
const sn = J`
|
|
6810
6827
|
${ke}
|
|
6811
6828
|
:host {
|
|
6812
6829
|
}
|
|
@@ -6827,12 +6844,12 @@ const an = J`
|
|
|
6827
6844
|
margin-right: 0.2em;
|
|
6828
6845
|
}
|
|
6829
6846
|
`;
|
|
6830
|
-
var
|
|
6831
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6847
|
+
var nn = Object.defineProperty, rn = Object.getOwnPropertyDescriptor, oa = (a, e, t, i) => {
|
|
6848
|
+
for (var s = i > 1 ? void 0 : i ? rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6832
6849
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6833
|
-
return i && s &&
|
|
6850
|
+
return i && s && nn(e, t, s), s;
|
|
6834
6851
|
};
|
|
6835
|
-
let mt = class extends
|
|
6852
|
+
let mt = class extends Fe {
|
|
6836
6853
|
constructor() {
|
|
6837
6854
|
super(...arguments), this.url = "", this.inverse = !1;
|
|
6838
6855
|
}
|
|
@@ -6886,20 +6903,20 @@ oa([
|
|
|
6886
6903
|
mt = oa([
|
|
6887
6904
|
K("cb-external-link")
|
|
6888
6905
|
], mt);
|
|
6889
|
-
const
|
|
6890
|
-
var
|
|
6891
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
6906
|
+
const on = '<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>', 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-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>', 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 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>', 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 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>', 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.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>', 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 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>';
|
|
6907
|
+
var un = Object.defineProperty, pn = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
|
|
6908
|
+
for (var s = i > 1 ? void 0 : i ? pn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
6892
6909
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
6893
|
-
return i && s &&
|
|
6910
|
+
return i && s && un(e, t, s), s;
|
|
6894
6911
|
};
|
|
6895
|
-
const
|
|
6896
|
-
pdf:
|
|
6897
|
-
txt:
|
|
6898
|
-
md:
|
|
6899
|
-
csv:
|
|
6900
|
-
ppd:
|
|
6901
|
-
doc:
|
|
6902
|
-
docx:
|
|
6912
|
+
const Pa = {
|
|
6913
|
+
pdf: cn,
|
|
6914
|
+
txt: on,
|
|
6915
|
+
md: ln,
|
|
6916
|
+
csv: dn,
|
|
6917
|
+
ppd: fn,
|
|
6918
|
+
doc: hn,
|
|
6919
|
+
docx: bn
|
|
6903
6920
|
};
|
|
6904
6921
|
let yt = class extends ne {
|
|
6905
6922
|
constructor() {
|
|
@@ -6925,12 +6942,12 @@ let yt = class extends ne {
|
|
|
6925
6942
|
return u`
|
|
6926
6943
|
<cb-icon
|
|
6927
6944
|
class="cb-file-icon"
|
|
6928
|
-
svg="${
|
|
6945
|
+
svg="${Pa[this.type] || Pa.txt}"
|
|
6929
6946
|
></cb-icon>
|
|
6930
6947
|
`;
|
|
6931
6948
|
}
|
|
6932
6949
|
};
|
|
6933
|
-
yt.styles =
|
|
6950
|
+
yt.styles = sn;
|
|
6934
6951
|
ca([
|
|
6935
6952
|
x({ type: String })
|
|
6936
6953
|
], yt.prototype, "filename", 2);
|
|
@@ -6940,7 +6957,7 @@ ca([
|
|
|
6940
6957
|
yt = ca([
|
|
6941
6958
|
K("cb-file")
|
|
6942
6959
|
], yt);
|
|
6943
|
-
const
|
|
6960
|
+
const gn = '<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>', La = '<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>', Qa = '<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>', ei = '<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>', mn = J`
|
|
6944
6961
|
pre code.hljs {
|
|
6945
6962
|
display: block;
|
|
6946
6963
|
overflow-x: auto;
|
|
@@ -8155,9 +8172,9 @@ const pn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
|
|
|
8155
8172
|
white-space: pre-wrap;
|
|
8156
8173
|
color: var(--n-text-color);
|
|
8157
8174
|
}
|
|
8158
|
-
`,
|
|
8175
|
+
`, yn = J`
|
|
8159
8176
|
${ke}
|
|
8160
|
-
${
|
|
8177
|
+
${mn}
|
|
8161
8178
|
|
|
8162
8179
|
.cb-message-row {
|
|
8163
8180
|
width: 100%;
|
|
@@ -8225,14 +8242,12 @@ const pn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
|
|
|
8225
8242
|
.assistant-avatar {
|
|
8226
8243
|
font-size: 8px;
|
|
8227
8244
|
z-index: 20;
|
|
8245
|
+
color: rgba(0, 0, 0, 0.1);
|
|
8228
8246
|
}
|
|
8247
|
+
|
|
8229
8248
|
.assistant-avatar img {
|
|
8230
8249
|
border-radius: 4px;
|
|
8231
8250
|
}
|
|
8232
|
-
.assistant-avatar svg {
|
|
8233
|
-
color: rgba(0, 0, 0, 0.1);
|
|
8234
|
-
//color: rgba(0, 208, 117, 0.2);
|
|
8235
|
-
}
|
|
8236
8251
|
|
|
8237
8252
|
.user-message,
|
|
8238
8253
|
.assistant-message,
|
|
@@ -8391,36 +8406,36 @@ const pn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
|
|
|
8391
8406
|
filter: alpha(opacity=80);
|
|
8392
8407
|
}
|
|
8393
8408
|
`;
|
|
8394
|
-
function
|
|
8409
|
+
function Ra(a, e) {
|
|
8395
8410
|
return `<pre class="code-block-wrapper"><div class="code-block-header"><span class="code-block-header__lang">${e}</span><span class="code-block-header__copy">Copy</span></div><code class="hljs code-block-body ${e}">${a}</code></pre>`;
|
|
8396
8411
|
}
|
|
8397
|
-
function
|
|
8412
|
+
function vn() {
|
|
8398
8413
|
const a = new Oi({
|
|
8399
8414
|
html: !0,
|
|
8400
8415
|
breaks: !0,
|
|
8401
8416
|
linkify: !0,
|
|
8402
8417
|
highlight(e, t) {
|
|
8403
|
-
if (!!(t &&
|
|
8418
|
+
if (!!(t && Ut.getLanguage(t))) {
|
|
8404
8419
|
const s = t ?? "";
|
|
8405
|
-
return
|
|
8420
|
+
return Ra(Ut.highlight(e, { language: s }).value, s);
|
|
8406
8421
|
}
|
|
8407
|
-
return
|
|
8422
|
+
return Ra(Ut.highlightAuto(e).value, "");
|
|
8408
8423
|
}
|
|
8409
8424
|
});
|
|
8410
8425
|
return a.use(Bi, { attrs: { target: "_blank", rel: "noopener" } }), a;
|
|
8411
8426
|
}
|
|
8412
|
-
async function
|
|
8413
|
-
const t =
|
|
8427
|
+
async function Zt(a) {
|
|
8428
|
+
const t = vn().render(a);
|
|
8414
8429
|
return u`${Y(t)}`;
|
|
8415
8430
|
}
|
|
8416
|
-
var
|
|
8417
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
8431
|
+
var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
|
|
8432
|
+
for (var s = i > 1 ? void 0 : i ? xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
8418
8433
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
8419
|
-
return i && s &&
|
|
8434
|
+
return i && s && wn(e, t, s), s;
|
|
8420
8435
|
};
|
|
8421
|
-
let
|
|
8436
|
+
let De = class extends ne {
|
|
8422
8437
|
constructor() {
|
|
8423
|
-
super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox =
|
|
8438
|
+
super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Zs({
|
|
8424
8439
|
touchNavigation: !0,
|
|
8425
8440
|
loop: !0,
|
|
8426
8441
|
autoplayVideos: !0,
|
|
@@ -8523,7 +8538,7 @@ let qe = class extends ne {
|
|
|
8523
8538
|
return u`<div class="cb-message__buttons ${a}">
|
|
8524
8539
|
<!-- delete button -->
|
|
8525
8540
|
<sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
|
|
8526
|
-
<cb-icon svg="${
|
|
8541
|
+
<cb-icon svg="${gn}" style="font-size: 1em !important;"></cb-icon>
|
|
8527
8542
|
</sl-button>
|
|
8528
8543
|
</div>`;
|
|
8529
8544
|
}
|
|
@@ -8542,7 +8557,7 @@ let qe = class extends ne {
|
|
|
8542
8557
|
`;
|
|
8543
8558
|
}
|
|
8544
8559
|
async _getMessageText(a) {
|
|
8545
|
-
return
|
|
8560
|
+
return Zt(a.data.text);
|
|
8546
8561
|
}
|
|
8547
8562
|
renderMessageContent(a) {
|
|
8548
8563
|
return a.isThinking ? u`<cb-thinking></cb-thinking>` : a.isUploading ? u`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? u`<div class="cb-message-text">
|
|
@@ -8551,7 +8566,7 @@ let qe = class extends ne {
|
|
|
8551
8566
|
() => u`<div class="assistant-message-user-name">${a.data.userName}</div>`,
|
|
8552
8567
|
() => null
|
|
8553
8568
|
)}
|
|
8554
|
-
${
|
|
8569
|
+
${Xt(
|
|
8555
8570
|
this._getMessageText(a).then((e) => u`${e}`)
|
|
8556
8571
|
)}
|
|
8557
8572
|
</div>` : a.type === "file" ? u`${et(
|
|
@@ -8563,8 +8578,8 @@ let qe = class extends ne {
|
|
|
8563
8578
|
(e) => e.name,
|
|
8564
8579
|
(e) => u`<div>${e.name}</div>`
|
|
8565
8580
|
)}` : u`<div class="cb-message-text">
|
|
8566
|
-
${
|
|
8567
|
-
|
|
8581
|
+
${Xt(
|
|
8582
|
+
Zt(a.data.text?.toString() || "").then((e) => u`${e}`)
|
|
8568
8583
|
)}
|
|
8569
8584
|
</div>`;
|
|
8570
8585
|
}
|
|
@@ -8588,7 +8603,7 @@ let qe = class extends ne {
|
|
|
8588
8603
|
renderBotMessage(a) {
|
|
8589
8604
|
return u`
|
|
8590
8605
|
<div class="cb-message cb-bot-message-wrapper" part="cb-message">
|
|
8591
|
-
<div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
|
|
8606
|
+
<div class="avatar assistant-avatar xsmall" part="assistant-avatar" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
|
|
8592
8607
|
${this.renderMessage(a, "bot-message-content")}
|
|
8593
8608
|
</div>
|
|
8594
8609
|
${this.renderBotMessageFeedback(a)}
|
|
@@ -8609,18 +8624,18 @@ let qe = class extends ne {
|
|
|
8609
8624
|
return u`
|
|
8610
8625
|
<div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
|
|
8611
8626
|
<!--<sl-avatar class="avatar user-avatar small" label="User">
|
|
8612
|
-
<cb-icon slot="icon" svg="${
|
|
8627
|
+
<cb-icon slot="icon" svg="${La}" color="white"></cb-icon>
|
|
8613
8628
|
//appState.appearanceUserMessageAvatarPosition
|
|
8614
8629
|
</sl-avatar>-->
|
|
8615
8630
|
${W(
|
|
8616
8631
|
b.appearanceUserMessageAvatarPosition === "left",
|
|
8617
8632
|
() => u`
|
|
8618
|
-
<div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
|
|
8633
|
+
<div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
|
|
8619
8634
|
${this.renderMessage(a, "user-message-content")}
|
|
8620
8635
|
`,
|
|
8621
8636
|
() => u`
|
|
8622
8637
|
${this.renderMessage(a, "user-message-content")}
|
|
8623
|
-
<div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
|
|
8638
|
+
<div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
|
|
8624
8639
|
`
|
|
8625
8640
|
)}
|
|
8626
8641
|
</div>
|
|
@@ -8632,7 +8647,7 @@ let qe = class extends ne {
|
|
|
8632
8647
|
return u`
|
|
8633
8648
|
<div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
|
|
8634
8649
|
<!--<sl-avatar class="avatar user-avatar small" label="User">
|
|
8635
|
-
<cb-icon slot="icon" svg="${
|
|
8650
|
+
<cb-icon slot="icon" svg="${La}" color="white"></cb-icon>
|
|
8636
8651
|
//appState.appearanceUserMessageAvatarPosition
|
|
8637
8652
|
</sl-avatar>-->
|
|
8638
8653
|
${W(
|
|
@@ -8650,35 +8665,35 @@ let qe = class extends ne {
|
|
|
8650
8665
|
`;
|
|
8651
8666
|
}
|
|
8652
8667
|
};
|
|
8653
|
-
|
|
8668
|
+
De.styles = yn;
|
|
8654
8669
|
nt([
|
|
8655
8670
|
x({ type: Object })
|
|
8656
|
-
],
|
|
8671
|
+
], De.prototype, "message", 2);
|
|
8657
8672
|
nt([
|
|
8658
8673
|
x({ type: Number })
|
|
8659
|
-
],
|
|
8674
|
+
], De.prototype, "index", 2);
|
|
8660
8675
|
nt([
|
|
8661
8676
|
x({ type: String })
|
|
8662
|
-
],
|
|
8677
|
+
], De.prototype, "type", 2);
|
|
8663
8678
|
nt([
|
|
8664
8679
|
x({ type: Boolean })
|
|
8665
|
-
],
|
|
8680
|
+
], De.prototype, "suppressFeedback", 2);
|
|
8666
8681
|
nt([
|
|
8667
8682
|
Va(".code-block-header__copy")
|
|
8668
|
-
],
|
|
8683
|
+
], De.prototype, "copyBtns", 2);
|
|
8669
8684
|
nt([
|
|
8670
8685
|
Va("img")
|
|
8671
|
-
],
|
|
8672
|
-
|
|
8686
|
+
], De.prototype, "glightboxImages", 2);
|
|
8687
|
+
De = nt([
|
|
8673
8688
|
K("cb-message")
|
|
8674
|
-
],
|
|
8675
|
-
var
|
|
8676
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
8689
|
+
], De);
|
|
8690
|
+
var kn = Object.defineProperty, _n = Object.getOwnPropertyDescriptor, Te = (a, e, t, i) => {
|
|
8691
|
+
for (var s = i > 1 ? void 0 : i ? _n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
8677
8692
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
8678
|
-
return i && s &&
|
|
8693
|
+
return i && s && kn(e, t, s), s;
|
|
8679
8694
|
};
|
|
8680
|
-
const
|
|
8681
|
-
|
|
8695
|
+
const Oe = Je.noConflict();
|
|
8696
|
+
Oe.setLevel("info");
|
|
8682
8697
|
let ye = class extends ne {
|
|
8683
8698
|
constructor() {
|
|
8684
8699
|
super(...arguments), this.messages = [], this.actions = [], this.form = null, this.suppressFeedback = !1, this.calendlyInjected = !1, this.activeCalendlyAction = -1, this.hubspotMeetingInjected = !1, this.activeHubspotMeetingAction = -1, this._lastScrollTop = 0, this._scrollThrottle = !1, this._userInterruptedAutoScroll = !1, this._userInterruptedMessagesLength = 0;
|
|
@@ -8713,7 +8728,7 @@ let ye = class extends ne {
|
|
|
8713
8728
|
${et(
|
|
8714
8729
|
this.messages,
|
|
8715
8730
|
(a) => a.id + JSON.stringify(a.data),
|
|
8716
|
-
(a, e) => u`<cb-message .message="${a}" .index="${e}" exportparts="bot-message, cb-message, bot-message-content, user-message-content" ?suppressFeedback=${this.suppressFeedback}></cb-message>`
|
|
8731
|
+
(a, e) => u`<cb-message .message="${a}" .index="${e}" exportparts="bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar" ?suppressFeedback=${this.suppressFeedback}></cb-message>`
|
|
8717
8732
|
)}
|
|
8718
8733
|
${this.renderActions()} ${this.renderForm()}
|
|
8719
8734
|
<div id="cb-message-list-bottom-anchor"></div>
|
|
@@ -8724,8 +8739,8 @@ let ye = class extends ne {
|
|
|
8724
8739
|
return !b.setting.disclaimerMessage || !b.isConversationStart() ? null : u`
|
|
8725
8740
|
<details class="cb-disclaimer-wrapper" part="disclaimer-wrapper">
|
|
8726
8741
|
<summary class="cb-disclaimer-message" part="disclaimer-message">
|
|
8727
|
-
${
|
|
8728
|
-
|
|
8742
|
+
${Xt(
|
|
8743
|
+
Zt(b.setting.disclaimerMessage).then((a) => u`${a}`)
|
|
8729
8744
|
)}
|
|
8730
8745
|
</summary>
|
|
8731
8746
|
</details>
|
|
@@ -8814,13 +8829,13 @@ let ye = class extends ne {
|
|
|
8814
8829
|
}
|
|
8815
8830
|
}
|
|
8816
8831
|
b.submitForm(e).then(() => {
|
|
8817
|
-
|
|
8832
|
+
Oe.info("Form submitted", e), this.emit("form:submit", {
|
|
8818
8833
|
detail: {
|
|
8819
8834
|
formData: e
|
|
8820
8835
|
}
|
|
8821
8836
|
});
|
|
8822
8837
|
}).catch((t) => {
|
|
8823
|
-
|
|
8838
|
+
Oe.error(`Error when submitting form: ${t.message}`);
|
|
8824
8839
|
});
|
|
8825
8840
|
}
|
|
8826
8841
|
/* Form sample
|
|
@@ -8865,7 +8880,7 @@ let ye = class extends ne {
|
|
|
8865
8880
|
return null;
|
|
8866
8881
|
}
|
|
8867
8882
|
handleCalendlyEvent(a) {
|
|
8868
|
-
switch (
|
|
8883
|
+
switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
|
|
8869
8884
|
case "calendly.event_scheduled": {
|
|
8870
8885
|
const e = this.activeCalendlyAction;
|
|
8871
8886
|
e >= 0 && (b.removeAction(e, !0, a.data), b.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
|
|
@@ -8873,10 +8888,10 @@ let ye = class extends ne {
|
|
|
8873
8888
|
}
|
|
8874
8889
|
}
|
|
8875
8890
|
invokeLinkAction(a = {}) {
|
|
8876
|
-
|
|
8891
|
+
Oe.info("invokeLinkAction:", a), window.open(a.url, "_blank");
|
|
8877
8892
|
}
|
|
8878
8893
|
invokeCalendlyAction(a = {}) {
|
|
8879
|
-
return
|
|
8894
|
+
return Oe.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
|
|
8880
8895
|
}
|
|
8881
8896
|
renderCalendlyAction(a) {
|
|
8882
8897
|
if (!("Calendly" in window) && !this.calendlyInjected) {
|
|
@@ -8922,10 +8937,10 @@ let ye = class extends ne {
|
|
|
8922
8937
|
invokeHubspotMeetingAction(a = {}) {
|
|
8923
8938
|
const e = Date.now();
|
|
8924
8939
|
if (this.activeHubspotMeetingAction !== -1) {
|
|
8925
|
-
|
|
8940
|
+
Oe.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
|
|
8926
8941
|
return;
|
|
8927
8942
|
}
|
|
8928
|
-
if (
|
|
8943
|
+
if (Oe.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
|
|
8929
8944
|
const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
|
|
8930
8945
|
if (t && i) {
|
|
8931
8946
|
const s = a.url + "?embed=true";
|
|
@@ -8937,7 +8952,7 @@ let ye = class extends ne {
|
|
|
8937
8952
|
return !1;
|
|
8938
8953
|
}
|
|
8939
8954
|
handleHubspotEvent(a) {
|
|
8940
|
-
if (
|
|
8955
|
+
if (Oe.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
|
|
8941
8956
|
return;
|
|
8942
8957
|
const t = this.activeHubspotMeetingAction;
|
|
8943
8958
|
if (t >= 0) {
|
|
@@ -8990,37 +9005,37 @@ let ye = class extends ne {
|
|
|
8990
9005
|
}
|
|
8991
9006
|
};
|
|
8992
9007
|
ye.styles = Os;
|
|
8993
|
-
|
|
9008
|
+
Te([
|
|
8994
9009
|
x({ type: Array })
|
|
8995
9010
|
], ye.prototype, "messages", 2);
|
|
8996
|
-
|
|
9011
|
+
Te([
|
|
8997
9012
|
x({ type: Array })
|
|
8998
9013
|
], ye.prototype, "actions", 2);
|
|
8999
|
-
|
|
9014
|
+
Te([
|
|
9000
9015
|
x({ type: Object })
|
|
9001
9016
|
], ye.prototype, "form", 2);
|
|
9002
|
-
|
|
9017
|
+
Te([
|
|
9003
9018
|
x({ type: Boolean })
|
|
9004
9019
|
], ye.prototype, "suppressFeedback", 2);
|
|
9005
|
-
|
|
9020
|
+
Te([
|
|
9006
9021
|
xe("#cb-message-list-bottom-anchor")
|
|
9007
9022
|
], ye.prototype, "_messageListBottomAnchor", 2);
|
|
9008
|
-
|
|
9023
|
+
Te([
|
|
9009
9024
|
xe(".cb-input-form")
|
|
9010
9025
|
], ye.prototype, "_inputForm", 2);
|
|
9011
|
-
|
|
9012
|
-
|
|
9026
|
+
Te([
|
|
9027
|
+
sa({ capture: !1, passive: !0 })
|
|
9013
9028
|
], ye.prototype, "invokeLinkAction", 1);
|
|
9014
|
-
|
|
9015
|
-
|
|
9029
|
+
Te([
|
|
9030
|
+
sa({ capture: !1, passive: !0 })
|
|
9016
9031
|
], ye.prototype, "invokeCalendlyAction", 1);
|
|
9017
|
-
|
|
9018
|
-
|
|
9032
|
+
Te([
|
|
9033
|
+
sa({ capture: !1, passive: !0 })
|
|
9019
9034
|
], ye.prototype, "invokeHubspotMeetingAction", 1);
|
|
9020
|
-
ye =
|
|
9035
|
+
ye = Te([
|
|
9021
9036
|
K("cb-message-list")
|
|
9022
9037
|
], ye);
|
|
9023
|
-
const
|
|
9038
|
+
const Sn = J`
|
|
9024
9039
|
${ke}
|
|
9025
9040
|
|
|
9026
9041
|
:host {
|
|
@@ -9063,10 +9078,10 @@ const _n = J`
|
|
|
9063
9078
|
margin: 6px 2px;
|
|
9064
9079
|
}
|
|
9065
9080
|
`, ti = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76z"/></svg>', ai = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>', ii = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', la = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
|
|
9066
|
-
var
|
|
9067
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9081
|
+
var Cn = Object.defineProperty, An = Object.getOwnPropertyDescriptor, Ie = (a, e, t, i) => {
|
|
9082
|
+
for (var s = i > 1 ? void 0 : i ? An(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9068
9083
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9069
|
-
return i && s &&
|
|
9084
|
+
return i && s && Cn(e, t, s), s;
|
|
9070
9085
|
};
|
|
9071
9086
|
let ve = class extends ne {
|
|
9072
9087
|
constructor() {
|
|
@@ -9181,38 +9196,38 @@ let ve = class extends ne {
|
|
|
9181
9196
|
a.key === "Enter" && !a.shiftKey && this._sendHandler();
|
|
9182
9197
|
}
|
|
9183
9198
|
};
|
|
9184
|
-
ve.styles =
|
|
9185
|
-
|
|
9199
|
+
ve.styles = Sn;
|
|
9200
|
+
Ie([
|
|
9186
9201
|
x({ type: String, attribute: "placeholder" })
|
|
9187
9202
|
], ve.prototype, "placeholder", 2);
|
|
9188
|
-
|
|
9203
|
+
Ie([
|
|
9189
9204
|
x({ type: String, attribute: "send-button-label" })
|
|
9190
9205
|
], ve.prototype, "sendButtonLabel", 2);
|
|
9191
|
-
|
|
9206
|
+
Ie([
|
|
9192
9207
|
x({ type: Boolean, attribute: "enable-file-upload" })
|
|
9193
9208
|
], ve.prototype, "enableFileUpload", 2);
|
|
9194
|
-
|
|
9209
|
+
Ie([
|
|
9195
9210
|
x({ type: Boolean, attribute: "enable-audio" })
|
|
9196
9211
|
], ve.prototype, "enableAudio", 2);
|
|
9197
|
-
|
|
9212
|
+
Ie([
|
|
9198
9213
|
x({ type: String })
|
|
9199
9214
|
], ve.prototype, "value", 2);
|
|
9200
|
-
|
|
9215
|
+
Ie([
|
|
9201
9216
|
x({ type: Boolean })
|
|
9202
9217
|
], ve.prototype, "loading", 2);
|
|
9203
|
-
|
|
9218
|
+
Ie([
|
|
9204
9219
|
x({ type: Boolean })
|
|
9205
9220
|
], ve.prototype, "disabled", 2);
|
|
9206
|
-
|
|
9221
|
+
Ie([
|
|
9207
9222
|
x({ type: String })
|
|
9208
9223
|
], ve.prototype, "currentKey", 2);
|
|
9209
|
-
|
|
9224
|
+
Ie([
|
|
9210
9225
|
xe("sl-textarea")
|
|
9211
9226
|
], ve.prototype, "inputElement", 2);
|
|
9212
|
-
ve =
|
|
9227
|
+
ve = Ie([
|
|
9213
9228
|
K("cb-user-input")
|
|
9214
9229
|
], ve);
|
|
9215
|
-
const
|
|
9230
|
+
const Mn = J`
|
|
9216
9231
|
${ke}
|
|
9217
9232
|
|
|
9218
9233
|
:host {
|
|
@@ -9270,11 +9285,11 @@ const An = J`
|
|
|
9270
9285
|
border-radius: 40px;
|
|
9271
9286
|
outline: none !important;
|
|
9272
9287
|
}
|
|
9273
|
-
`,
|
|
9274
|
-
var
|
|
9275
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9288
|
+
`, Tn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>', In = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M8 18c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m4 4c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1s-1 .45-1 1v18c0 .55.45 1 1 1m-8-8c.55 0 1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1v2c0 .55.45 1 1 1m12 4c.55 0 1-.45 1-1V7c0-.55-.45-1-1-1s-1 .45-1 1v10c0 .55.45 1 1 1m3-7v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1"/></svg>', za = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="m4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"/></svg>';
|
|
9289
|
+
var En = Object.defineProperty, $n = Object.getOwnPropertyDescriptor, Ee = (a, e, t, i) => {
|
|
9290
|
+
for (var s = i > 1 ? void 0 : i ? $n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9276
9291
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9277
|
-
return i && s &&
|
|
9292
|
+
return i && s && En(e, t, s), s;
|
|
9278
9293
|
};
|
|
9279
9294
|
let we = class extends ne {
|
|
9280
9295
|
constructor() {
|
|
@@ -9349,7 +9364,7 @@ let we = class extends ne {
|
|
|
9349
9364
|
await b.toggleAudio();
|
|
9350
9365
|
}
|
|
9351
9366
|
getCtrlIconSvg() {
|
|
9352
|
-
return this.value && this.value !== "" || b.webAudioStarted ?
|
|
9367
|
+
return this.value && this.value !== "" || b.webAudioStarted ? za : In;
|
|
9353
9368
|
}
|
|
9354
9369
|
getCtrlClass() {
|
|
9355
9370
|
return this.value && this.value !== "" ? "" : b.webAudioStarted || b.mediaStartAudioRequested ? "disabled" : "";
|
|
@@ -9362,12 +9377,12 @@ let we = class extends ne {
|
|
|
9362
9377
|
() => u``
|
|
9363
9378
|
)}
|
|
9364
9379
|
<div class="cb-user-input-mm-wrapper" part="user-input-wrapper">
|
|
9365
|
-
<div class="cb-user-input-mm" part="user-input">
|
|
9380
|
+
<div class="cb-user-input-mm" part="user-input-inner">
|
|
9366
9381
|
${W(
|
|
9367
9382
|
this.enableFileUpload,
|
|
9368
9383
|
() => u`
|
|
9369
|
-
<button type="button" class="circle-btn" title="Upload" @click=${this._sendFileHandler}>
|
|
9370
|
-
${Y(
|
|
9384
|
+
<button type="button" class="circle-btn" part="upload-button" title="Upload" @click=${this._sendFileHandler}>
|
|
9385
|
+
${Y(Tn)}
|
|
9371
9386
|
</button>
|
|
9372
9387
|
`,
|
|
9373
9388
|
() => u``
|
|
@@ -9386,7 +9401,7 @@ let we = class extends ne {
|
|
|
9386
9401
|
enterkeyhint="send"
|
|
9387
9402
|
@keydown=${this._keyDownHandler}
|
|
9388
9403
|
></sl-textarea>
|
|
9389
|
-
<button type="button" class="circle-btn ${this.getCtrlClass()}" @click=${this._ctrlHandler}>
|
|
9404
|
+
<button type="button" class="circle-btn ${this.getCtrlClass()}" part="control-button" @click=${this._ctrlHandler}>
|
|
9390
9405
|
${Y(this.getCtrlIconSvg())}
|
|
9391
9406
|
</button>
|
|
9392
9407
|
</div>
|
|
@@ -9461,38 +9476,38 @@ let we = class extends ne {
|
|
|
9461
9476
|
a.key === "Enter" && !a.shiftKey && this._sendHandler();
|
|
9462
9477
|
}
|
|
9463
9478
|
};
|
|
9464
|
-
we.styles =
|
|
9465
|
-
|
|
9479
|
+
we.styles = Mn;
|
|
9480
|
+
Ee([
|
|
9466
9481
|
x({ type: String, attribute: "placeholder" })
|
|
9467
9482
|
], we.prototype, "placeholder", 2);
|
|
9468
|
-
|
|
9483
|
+
Ee([
|
|
9469
9484
|
x({ type: String, attribute: "send-button-label" })
|
|
9470
9485
|
], we.prototype, "sendButtonLabel", 2);
|
|
9471
|
-
|
|
9486
|
+
Ee([
|
|
9472
9487
|
x({ type: Boolean, attribute: "enable-file-upload" })
|
|
9473
9488
|
], we.prototype, "enableFileUpload", 2);
|
|
9474
|
-
|
|
9489
|
+
Ee([
|
|
9475
9490
|
x({ type: Boolean, attribute: "enable-audio" })
|
|
9476
9491
|
], we.prototype, "enableAudio", 2);
|
|
9477
|
-
|
|
9492
|
+
Ee([
|
|
9478
9493
|
x({ type: String })
|
|
9479
9494
|
], we.prototype, "value", 2);
|
|
9480
|
-
|
|
9495
|
+
Ee([
|
|
9481
9496
|
x({ type: Boolean })
|
|
9482
9497
|
], we.prototype, "loading", 2);
|
|
9483
|
-
|
|
9498
|
+
Ee([
|
|
9484
9499
|
x({ type: Boolean })
|
|
9485
9500
|
], we.prototype, "disabled", 2);
|
|
9486
|
-
|
|
9501
|
+
Ee([
|
|
9487
9502
|
x({ type: String })
|
|
9488
9503
|
], we.prototype, "currentKey", 2);
|
|
9489
|
-
|
|
9504
|
+
Ee([
|
|
9490
9505
|
xe("sl-textarea")
|
|
9491
9506
|
], we.prototype, "inputElement", 2);
|
|
9492
|
-
we =
|
|
9507
|
+
we = Ee([
|
|
9493
9508
|
K("cb-user-input-mm")
|
|
9494
9509
|
], we);
|
|
9495
|
-
const si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>',
|
|
9510
|
+
const si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', Pn = J`
|
|
9496
9511
|
${ke}
|
|
9497
9512
|
|
|
9498
9513
|
sl-dialog::part(base) {
|
|
@@ -9527,10 +9542,10 @@ const si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
|
|
|
9527
9542
|
gap: 8px;
|
|
9528
9543
|
}
|
|
9529
9544
|
`;
|
|
9530
|
-
var
|
|
9531
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9545
|
+
var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, Ht = (a, e, t, i) => {
|
|
9546
|
+
for (var s = i > 1 ? void 0 : i ? Rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9532
9547
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9533
|
-
return i && s &&
|
|
9548
|
+
return i && s && Ln(e, t, s), s;
|
|
9534
9549
|
};
|
|
9535
9550
|
let ct = class extends ne {
|
|
9536
9551
|
constructor() {
|
|
@@ -9576,25 +9591,25 @@ let ct = class extends ne {
|
|
|
9576
9591
|
</sl-dialog>`;
|
|
9577
9592
|
}
|
|
9578
9593
|
};
|
|
9579
|
-
ct.styles =
|
|
9580
|
-
|
|
9594
|
+
ct.styles = Pn;
|
|
9595
|
+
Ht([
|
|
9581
9596
|
x({ type: Boolean })
|
|
9582
9597
|
], ct.prototype, "open", 2);
|
|
9583
|
-
|
|
9598
|
+
Ht([
|
|
9584
9599
|
x({ type: String, attribute: "label" })
|
|
9585
9600
|
], ct.prototype, "label", 2);
|
|
9586
|
-
|
|
9601
|
+
Ht([
|
|
9587
9602
|
x({ type: Number })
|
|
9588
9603
|
], ct.prototype, "zindex", 2);
|
|
9589
|
-
ct =
|
|
9604
|
+
ct = Ht([
|
|
9590
9605
|
K("cb-dialog")
|
|
9591
9606
|
], ct);
|
|
9592
|
-
var
|
|
9593
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9607
|
+
var zn = Object.defineProperty, On = Object.getOwnPropertyDescriptor, ni = (a, e, t, i) => {
|
|
9608
|
+
for (var s = i > 1 ? void 0 : i ? On(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9594
9609
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9595
|
-
return i && s &&
|
|
9610
|
+
return i && s && zn(e, t, s), s;
|
|
9596
9611
|
};
|
|
9597
|
-
let
|
|
9612
|
+
let qt = class extends ne {
|
|
9598
9613
|
constructor() {
|
|
9599
9614
|
super(...arguments), this.open = !1;
|
|
9600
9615
|
}
|
|
@@ -9628,7 +9643,7 @@ let Ot = class extends ne {
|
|
|
9628
9643
|
this.emit("cancel");
|
|
9629
9644
|
}
|
|
9630
9645
|
};
|
|
9631
|
-
|
|
9646
|
+
qt.styles = J`
|
|
9632
9647
|
.cb-clear-message-dialog {
|
|
9633
9648
|
}
|
|
9634
9649
|
|
|
@@ -9638,11 +9653,11 @@ Ot.styles = J`
|
|
|
9638
9653
|
`;
|
|
9639
9654
|
ni([
|
|
9640
9655
|
x({ type: Boolean })
|
|
9641
|
-
],
|
|
9642
|
-
|
|
9656
|
+
], qt.prototype, "open", 2);
|
|
9657
|
+
qt = ni([
|
|
9643
9658
|
K("cb-clear-message-dialog")
|
|
9644
|
-
],
|
|
9645
|
-
const
|
|
9659
|
+
], qt);
|
|
9660
|
+
const Bn = J`
|
|
9646
9661
|
:host {
|
|
9647
9662
|
// width: 380px;
|
|
9648
9663
|
|
|
@@ -9702,10 +9717,10 @@ const On = J`
|
|
|
9702
9717
|
grid-column-start: 2;
|
|
9703
9718
|
}
|
|
9704
9719
|
`;
|
|
9705
|
-
var
|
|
9706
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9720
|
+
var qn = Object.defineProperty, Dn = Object.getOwnPropertyDescriptor, dt = (a, e, t, i) => {
|
|
9721
|
+
for (var s = i > 1 ? void 0 : i ? Dn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9707
9722
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9708
|
-
return i && s &&
|
|
9723
|
+
return i && s && qn(e, t, s), s;
|
|
9709
9724
|
};
|
|
9710
9725
|
let Xe = class extends ne {
|
|
9711
9726
|
constructor() {
|
|
@@ -9826,7 +9841,7 @@ let Xe = class extends ne {
|
|
|
9826
9841
|
});
|
|
9827
9842
|
}
|
|
9828
9843
|
};
|
|
9829
|
-
Xe.styles =
|
|
9844
|
+
Xe.styles = Bn;
|
|
9830
9845
|
dt([
|
|
9831
9846
|
x({ type: Boolean })
|
|
9832
9847
|
], Xe.prototype, "open", 2);
|
|
@@ -9845,7 +9860,7 @@ dt([
|
|
|
9845
9860
|
Xe = dt([
|
|
9846
9861
|
K("cb-setting")
|
|
9847
9862
|
], Xe);
|
|
9848
|
-
const
|
|
9863
|
+
const Fn = J`
|
|
9849
9864
|
${ke}
|
|
9850
9865
|
:host {
|
|
9851
9866
|
--primary-color: var(--sl-color-primary-600);
|
|
@@ -9959,12 +9974,12 @@ const Dn = J`
|
|
|
9959
9974
|
margin: 4px 4px 0px 0px;
|
|
9960
9975
|
}
|
|
9961
9976
|
`;
|
|
9962
|
-
var
|
|
9963
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
9977
|
+
var jn = Object.defineProperty, Hn = Object.getOwnPropertyDescriptor, ri = (a, e, t, i) => {
|
|
9978
|
+
for (var s = i > 1 ? void 0 : i ? Hn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
9964
9979
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
9965
|
-
return i && s &&
|
|
9980
|
+
return i && s && jn(e, t, s), s;
|
|
9966
9981
|
};
|
|
9967
|
-
let
|
|
9982
|
+
let Dt = class extends ne {
|
|
9968
9983
|
constructor() {
|
|
9969
9984
|
super(...arguments), this.store = new it(this, b), this.open = !1;
|
|
9970
9985
|
}
|
|
@@ -10026,65 +10041,65 @@ let Bt = class extends ne {
|
|
|
10026
10041
|
`;
|
|
10027
10042
|
}
|
|
10028
10043
|
};
|
|
10029
|
-
|
|
10044
|
+
Dt.styles = Fn;
|
|
10030
10045
|
ri([
|
|
10031
10046
|
x({ type: Boolean })
|
|
10032
|
-
],
|
|
10033
|
-
|
|
10047
|
+
], Dt.prototype, "open", 2);
|
|
10048
|
+
Dt = ri([
|
|
10034
10049
|
K("cb-anchor")
|
|
10035
|
-
],
|
|
10036
|
-
const
|
|
10050
|
+
], Dt);
|
|
10051
|
+
const Vn = J`
|
|
10037
10052
|
${ke}
|
|
10038
|
-
`,
|
|
10039
|
-
var
|
|
10040
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
10053
|
+
`, Oa = '<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>', Un = '<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>', Nn = '<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>', Wn = '<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>';
|
|
10054
|
+
var Gn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, oi = (a, e, t, i) => {
|
|
10055
|
+
for (var s = i > 1 ? void 0 : i ? Xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10041
10056
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10042
|
-
return i && s &&
|
|
10057
|
+
return i && s && Gn(e, t, s), s;
|
|
10043
10058
|
};
|
|
10044
|
-
const
|
|
10059
|
+
const Ba = {
|
|
10045
10060
|
error: {
|
|
10046
10061
|
variant: "danger",
|
|
10047
|
-
icon:
|
|
10062
|
+
icon: Oa
|
|
10048
10063
|
},
|
|
10049
10064
|
danger: {
|
|
10050
10065
|
variant: "danger",
|
|
10051
|
-
icon:
|
|
10066
|
+
icon: Oa
|
|
10052
10067
|
},
|
|
10053
10068
|
warning: {
|
|
10054
10069
|
variant: "warning",
|
|
10055
|
-
icon:
|
|
10070
|
+
icon: Un
|
|
10056
10071
|
},
|
|
10057
10072
|
success: {
|
|
10058
10073
|
variant: "success",
|
|
10059
|
-
icon:
|
|
10074
|
+
icon: Nn
|
|
10060
10075
|
},
|
|
10061
10076
|
info: {
|
|
10062
10077
|
variant: "primary",
|
|
10063
|
-
icon:
|
|
10078
|
+
icon: Wn
|
|
10064
10079
|
}
|
|
10065
10080
|
};
|
|
10066
|
-
let
|
|
10081
|
+
let Ft = class extends ne {
|
|
10067
10082
|
constructor() {
|
|
10068
10083
|
super(...arguments), this.status = "info";
|
|
10069
10084
|
}
|
|
10070
10085
|
render() {
|
|
10071
|
-
const { variant: a, icon: e } =
|
|
10086
|
+
const { variant: a, icon: e } = Ba[this.status] || Ba.info;
|
|
10072
10087
|
return u`<cb-icon svg=${e} color="${a}"></cb-icon>`;
|
|
10073
10088
|
}
|
|
10074
10089
|
};
|
|
10075
|
-
|
|
10090
|
+
Ft.styles = Wa;
|
|
10076
10091
|
oi([
|
|
10077
10092
|
x({ type: String })
|
|
10078
|
-
],
|
|
10079
|
-
|
|
10093
|
+
], Ft.prototype, "status", 2);
|
|
10094
|
+
Ft = oi([
|
|
10080
10095
|
K("cb-status-icon")
|
|
10081
|
-
],
|
|
10082
|
-
var
|
|
10083
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
10096
|
+
], Ft);
|
|
10097
|
+
var Yn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
|
|
10098
|
+
for (var s = i > 1 ? void 0 : i ? Yn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10084
10099
|
(o = a[r]) && (s = o(s) || s);
|
|
10085
10100
|
return s;
|
|
10086
10101
|
};
|
|
10087
|
-
let
|
|
10102
|
+
let Qt = class extends ne {
|
|
10088
10103
|
render() {
|
|
10089
10104
|
return u` <sl-alert variant="danger" open>
|
|
10090
10105
|
<cb-status-icon status="error" slot="icon"></cb-status-icon>
|
|
@@ -10100,11 +10115,11 @@ let Zt = class extends ne {
|
|
|
10100
10115
|
this.emit("setting:show");
|
|
10101
10116
|
}
|
|
10102
10117
|
};
|
|
10103
|
-
|
|
10104
|
-
|
|
10118
|
+
Qt.styles = Vn;
|
|
10119
|
+
Qt = Jn([
|
|
10105
10120
|
K("cb-auth-alert")
|
|
10106
|
-
],
|
|
10107
|
-
const
|
|
10121
|
+
], Qt);
|
|
10122
|
+
const Kn = J`
|
|
10108
10123
|
sl-dialog::part(base) {
|
|
10109
10124
|
z-index: 1000;
|
|
10110
10125
|
}
|
|
@@ -10188,25 +10203,25 @@ const Jn = J`
|
|
|
10188
10203
|
filter: alpha(opacity=80);
|
|
10189
10204
|
}
|
|
10190
10205
|
`;
|
|
10191
|
-
var
|
|
10192
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
10206
|
+
var Zn = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
|
|
10207
|
+
for (var s = i > 1 ? void 0 : i ? Qn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10193
10208
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
10194
|
-
return i && s &&
|
|
10209
|
+
return i && s && Zn(e, t, s), s;
|
|
10195
10210
|
};
|
|
10196
|
-
const
|
|
10211
|
+
const qa = Je.noConflict(), er = '<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>';
|
|
10197
10212
|
let Ye = class extends ne {
|
|
10198
10213
|
constructor() {
|
|
10199
10214
|
super(...arguments), this.store = new it(this, b), this.zindex = 100;
|
|
10200
10215
|
}
|
|
10201
10216
|
connectedCallback() {
|
|
10202
|
-
super.connectedCallback(),
|
|
10217
|
+
super.connectedCallback(), qa.info("connectedCallback");
|
|
10203
10218
|
}
|
|
10204
10219
|
firstUpdated() {
|
|
10205
|
-
this._rating.getSymbol = () =>
|
|
10220
|
+
this._rating.getSymbol = () => er;
|
|
10206
10221
|
}
|
|
10207
10222
|
_stateEventHandler(a) {
|
|
10208
10223
|
const e = a.detail, t = e?.type || null;
|
|
10209
|
-
|
|
10224
|
+
qa.info(`FEEDBACK: stateEvent: ${t}`, e);
|
|
10210
10225
|
}
|
|
10211
10226
|
_cancelHandler() {
|
|
10212
10227
|
b.feedback && (console.log("Feedback dialog cancelled"), b.feedback = !1);
|
|
@@ -10257,7 +10272,7 @@ let Ye = class extends ne {
|
|
|
10257
10272
|
this._comments.value = "", await b.submitFeedback(a, e, t);
|
|
10258
10273
|
}
|
|
10259
10274
|
};
|
|
10260
|
-
Ye.styles =
|
|
10275
|
+
Ye.styles = Kn;
|
|
10261
10276
|
ft([
|
|
10262
10277
|
x({ type: Number })
|
|
10263
10278
|
], Ye.prototype, "zindex", 2);
|
|
@@ -10276,7 +10291,7 @@ ft([
|
|
|
10276
10291
|
Ye = ft([
|
|
10277
10292
|
K("cb-dialog-feedback")
|
|
10278
10293
|
], Ye);
|
|
10279
|
-
const
|
|
10294
|
+
const tr = J`
|
|
10280
10295
|
${ke}
|
|
10281
10296
|
:host {
|
|
10282
10297
|
display: block;
|
|
@@ -10359,7 +10374,7 @@ const er = J`
|
|
|
10359
10374
|
display: inline;
|
|
10360
10375
|
}
|
|
10361
10376
|
`;
|
|
10362
|
-
class
|
|
10377
|
+
class ar extends HTMLElement {
|
|
10363
10378
|
static get observedAttributes() {
|
|
10364
10379
|
return ["audio-selector", "max-additional-height", "disabled", "fft-size"];
|
|
10365
10380
|
}
|
|
@@ -10582,8 +10597,8 @@ class tr extends HTMLElement {
|
|
|
10582
10597
|
this._animationId && (cancelAnimationFrame(this._animationId), this._animationId = null);
|
|
10583
10598
|
}
|
|
10584
10599
|
}
|
|
10585
|
-
customElements.get("volume-visualizer") || customElements.define("volume-visualizer",
|
|
10586
|
-
const da = 1,
|
|
10600
|
+
customElements.get("volume-visualizer") || customElements.define("volume-visualizer", ar);
|
|
10601
|
+
const da = 1, Da = 2;
|
|
10587
10602
|
class ci extends HTMLElement {
|
|
10588
10603
|
constructor() {
|
|
10589
10604
|
super(), this.attachShadow({ mode: "open" }), this._analyserInput = null, this._dataArrayInput = null, this._analyserOutput = null, this._dataArrayOutput = null, this._thinking = !1, this._muted = !1, this._fftSize = 512, this._smoothingTimeConstant = 0.55, this._canvas = null, this._context = null, this._lastTime = 0, this._render();
|
|
@@ -10623,7 +10638,7 @@ class ci extends HTMLElement {
|
|
|
10623
10638
|
}
|
|
10624
10639
|
return r;
|
|
10625
10640
|
};
|
|
10626
|
-
return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source:
|
|
10641
|
+
return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Da, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: da, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Da, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
|
|
10627
10642
|
}
|
|
10628
10643
|
_render() {
|
|
10629
10644
|
const e = `
|
|
@@ -10666,10 +10681,10 @@ class ci extends HTMLElement {
|
|
|
10666
10681
|
this._stop(), this._analyserInput = null, this._analyserOutput = null;
|
|
10667
10682
|
}
|
|
10668
10683
|
}
|
|
10669
|
-
class
|
|
10684
|
+
class ir extends ci {
|
|
10670
10685
|
constructor() {
|
|
10671
10686
|
super(), this._ribbons = [], this._lastTime = 0, this._ribbons.push(
|
|
10672
|
-
new
|
|
10687
|
+
new It(
|
|
10673
10688
|
12,
|
|
10674
10689
|
{ r: 255, g: 126, b: 103 },
|
|
10675
10690
|
// #FF7E67
|
|
@@ -10677,7 +10692,7 @@ class ar extends ci {
|
|
|
10677
10692
|
// #63c1d0
|
|
10678
10693
|
{ springStrength: 20, damping: 0.7, scale: 0.8, phase: 0 }
|
|
10679
10694
|
),
|
|
10680
|
-
new
|
|
10695
|
+
new It(
|
|
10681
10696
|
12,
|
|
10682
10697
|
{ r: 255, g: 201, b: 71 },
|
|
10683
10698
|
// #FFC947
|
|
@@ -10685,7 +10700,7 @@ class ar extends ci {
|
|
|
10685
10700
|
// #ecff6b
|
|
10686
10701
|
{ springStrength: 7, damping: 0.5, scale: 0.7, phase: -0.3 }
|
|
10687
10702
|
),
|
|
10688
|
-
new
|
|
10703
|
+
new It(
|
|
10689
10704
|
12,
|
|
10690
10705
|
{ r: 255, g: 154, b: 140 },
|
|
10691
10706
|
// #FF9A8C
|
|
@@ -10693,7 +10708,7 @@ class ar extends ci {
|
|
|
10693
10708
|
// #a5e8ad
|
|
10694
10709
|
{ springStrength: 7, damping: 0.3, scale: 0.5, phase: 0.3 }
|
|
10695
10710
|
),
|
|
10696
|
-
new
|
|
10711
|
+
new It(
|
|
10697
10712
|
12,
|
|
10698
10713
|
{ r: 255, g: 107, b: 107 },
|
|
10699
10714
|
// #FF6B6B
|
|
@@ -10710,8 +10725,8 @@ class ar extends ci {
|
|
|
10710
10725
|
f.update(s, i, this._thinking), f.draw(e, t, r, this._thinking);
|
|
10711
10726
|
}
|
|
10712
10727
|
}
|
|
10713
|
-
customElements.get("volume-visualizer-liquid") || customElements.define("volume-visualizer-liquid",
|
|
10714
|
-
class
|
|
10728
|
+
customElements.get("volume-visualizer-liquid") || customElements.define("volume-visualizer-liquid", ir);
|
|
10729
|
+
class It {
|
|
10715
10730
|
constructor(e, t, i, s) {
|
|
10716
10731
|
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;
|
|
10717
10732
|
}
|
|
@@ -10769,7 +10784,7 @@ class Mt {
|
|
|
10769
10784
|
}
|
|
10770
10785
|
}
|
|
10771
10786
|
}
|
|
10772
|
-
class
|
|
10787
|
+
class sr extends ci {
|
|
10773
10788
|
constructor() {
|
|
10774
10789
|
super(), this._numBars = 32, this._renderHeights = Array(this._numBars).fill(0), this._targetHeights = Array(this._numBars).fill(0), this._velocity = Array(this._numBars).fill(0), this._springStrength = 25, this._damping = 0.75, this._inputColor = { r: 255, g: 126, b: 103 }, this._outputColor = { r: 99, g: 193, b: 208 }, this._currentColor = { ...this._outputColor }, this._thinkingPhase = 0;
|
|
10775
10790
|
}
|
|
@@ -10817,16 +10832,16 @@ class ir extends ci {
|
|
|
10817
10832
|
e.restore();
|
|
10818
10833
|
}
|
|
10819
10834
|
}
|
|
10820
|
-
customElements.get("volume-visualizer-bars") || customElements.define("volume-visualizer-bars",
|
|
10821
|
-
const
|
|
10822
|
-
var
|
|
10823
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
10835
|
+
customElements.get("volume-visualizer-bars") || customElements.define("volume-visualizer-bars", sr);
|
|
10836
|
+
const nr = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28m-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18zM4.27 3L3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3c.22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52c-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21L21 19.73z"/></svg>';
|
|
10837
|
+
var rr = Object.getOwnPropertyDescriptor, or = (a, e, t, i) => {
|
|
10838
|
+
for (var s = i > 1 ? void 0 : i ? rr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
10824
10839
|
(o = a[r]) && (s = o(s) || s);
|
|
10825
10840
|
return s;
|
|
10826
10841
|
};
|
|
10827
10842
|
const bt = Je.noConflict();
|
|
10828
10843
|
bt.setLevel("info");
|
|
10829
|
-
let
|
|
10844
|
+
let ea = class extends ne {
|
|
10830
10845
|
constructor() {
|
|
10831
10846
|
super(...arguments), this.store = new it(this, b), this.unsubscribeTypingActive = b.subscribe(
|
|
10832
10847
|
this._handleTypingActiveChanged.bind(this),
|
|
@@ -10861,7 +10876,7 @@ let Qt = class extends ne {
|
|
|
10861
10876
|
!0,
|
|
10862
10877
|
() => u`
|
|
10863
10878
|
<button type="button" class="circle-btn ${b.webAudioMuted ? "danger" : "clear"}" title="${b.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
|
|
10864
|
-
${Y(
|
|
10879
|
+
${Y(nr)}
|
|
10865
10880
|
</button>
|
|
10866
10881
|
`,
|
|
10867
10882
|
() => u``
|
|
@@ -10879,19 +10894,19 @@ let Qt = class extends ne {
|
|
|
10879
10894
|
switch (b.setting.botAdvancedSettings?.audioVisualizerName || "bars") {
|
|
10880
10895
|
case "default":
|
|
10881
10896
|
return u`
|
|
10882
|
-
<volume-visualizer ${
|
|
10897
|
+
<volume-visualizer ${At(this.volumeVisualizerRef)}></volume-visualizer>
|
|
10883
10898
|
`;
|
|
10884
10899
|
case "liquid":
|
|
10885
10900
|
return u`
|
|
10886
|
-
<volume-visualizer-liquid ${
|
|
10901
|
+
<volume-visualizer-liquid ${At(this.volumeVisualizerRef)}></volume-visualizer-liquid>
|
|
10887
10902
|
`;
|
|
10888
10903
|
case "bars":
|
|
10889
10904
|
return u`
|
|
10890
|
-
<volume-visualizer-bars ${
|
|
10905
|
+
<volume-visualizer-bars ${At(this.volumeVisualizerRef)}></volume-visualizer-bars>
|
|
10891
10906
|
`;
|
|
10892
10907
|
default:
|
|
10893
10908
|
return u`
|
|
10894
|
-
<volume-visualizer ${
|
|
10909
|
+
<volume-visualizer ${At(this.volumeVisualizerRef)}></volume-visualizer>
|
|
10895
10910
|
`;
|
|
10896
10911
|
}
|
|
10897
10912
|
}
|
|
@@ -10926,11 +10941,11 @@ let Qt = class extends ne {
|
|
|
10926
10941
|
b.webAudioStarted && (bt.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
|
|
10927
10942
|
}
|
|
10928
10943
|
};
|
|
10929
|
-
|
|
10930
|
-
|
|
10944
|
+
ea.styles = tr;
|
|
10945
|
+
ea = or([
|
|
10931
10946
|
K("cb-audio-controls")
|
|
10932
|
-
],
|
|
10933
|
-
class
|
|
10947
|
+
], ea);
|
|
10948
|
+
class ta extends Error {
|
|
10934
10949
|
response;
|
|
10935
10950
|
request;
|
|
10936
10951
|
options;
|
|
@@ -10951,7 +10966,7 @@ class li extends Error {
|
|
|
10951
10966
|
super(t), this.value = e;
|
|
10952
10967
|
}
|
|
10953
10968
|
}
|
|
10954
|
-
class
|
|
10969
|
+
class Wt extends Error {
|
|
10955
10970
|
name = "ForceRetryError";
|
|
10956
10971
|
customDelay;
|
|
10957
10972
|
code;
|
|
@@ -10961,7 +10976,7 @@ class Nt extends Error {
|
|
|
10961
10976
|
super(e?.code ? `Forced retry: ${e.code}` : "Forced retry", t ? { cause: t } : void 0), this.customDelay = e?.delay, this.code = e?.code, this.customRequest = e?.request;
|
|
10962
10977
|
}
|
|
10963
10978
|
}
|
|
10964
|
-
const
|
|
10979
|
+
const Fa = (() => {
|
|
10965
10980
|
let a = !1, e = !1;
|
|
10966
10981
|
const t = typeof globalThis.ReadableStream == "function", i = typeof globalThis.Request == "function";
|
|
10967
10982
|
if (t && i)
|
|
@@ -10980,7 +10995,7 @@ const ja = (() => {
|
|
|
10980
10995
|
throw s;
|
|
10981
10996
|
}
|
|
10982
10997
|
return a && !e;
|
|
10983
|
-
})(),
|
|
10998
|
+
})(), cr = typeof globalThis.AbortController == "function", di = typeof globalThis.AbortSignal == "function" && typeof globalThis.AbortSignal.any == "function", lr = typeof globalThis.ReadableStream == "function", dr = typeof globalThis.FormData == "function", fi = ["get", "post", "put", "patch", "head", "delete"], fr = {
|
|
10984
10999
|
json: "application/json",
|
|
10985
11000
|
text: "text/*",
|
|
10986
11001
|
formData: "multipart/form-data",
|
|
@@ -10989,14 +11004,14 @@ const ja = (() => {
|
|
|
10989
11004
|
// Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
|
|
10990
11005
|
// We still feature-check at runtime before exposing the shortcut.
|
|
10991
11006
|
bytes: "*/*"
|
|
10992
|
-
},
|
|
11007
|
+
}, Gt = 2147483647, hr = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, hi = Symbol("stop");
|
|
10993
11008
|
class bi {
|
|
10994
11009
|
options;
|
|
10995
11010
|
constructor(e) {
|
|
10996
11011
|
this.options = e;
|
|
10997
11012
|
}
|
|
10998
11013
|
}
|
|
10999
|
-
const
|
|
11014
|
+
const br = (a) => new bi(a), ur = {
|
|
11000
11015
|
json: !0,
|
|
11001
11016
|
parseJson: !0,
|
|
11002
11017
|
stringifyJson: !0,
|
|
@@ -11010,10 +11025,10 @@ const hr = (a) => new bi(a), br = {
|
|
|
11010
11025
|
onUploadProgress: !0,
|
|
11011
11026
|
fetch: !0,
|
|
11012
11027
|
context: !0
|
|
11013
|
-
},
|
|
11028
|
+
}, pr = {
|
|
11014
11029
|
next: !0
|
|
11015
11030
|
// Next.js cache revalidation (revalidate, tags)
|
|
11016
|
-
},
|
|
11031
|
+
}, gr = {
|
|
11017
11032
|
method: !0,
|
|
11018
11033
|
headers: !0,
|
|
11019
11034
|
body: !0,
|
|
@@ -11028,13 +11043,13 @@ const hr = (a) => new bi(a), br = {
|
|
|
11028
11043
|
signal: !0,
|
|
11029
11044
|
window: !0,
|
|
11030
11045
|
duplex: !0
|
|
11031
|
-
},
|
|
11046
|
+
}, mr = (a) => {
|
|
11032
11047
|
if (!a)
|
|
11033
11048
|
return 0;
|
|
11034
11049
|
if (a instanceof FormData) {
|
|
11035
11050
|
let e = 0;
|
|
11036
11051
|
for (const [t, i] of a)
|
|
11037
|
-
e +=
|
|
11052
|
+
e += hr, e += new TextEncoder().encode(`Content-Disposition: form-data; name="${t}"`).length, e += typeof i == "string" ? new TextEncoder().encode(i).length : i.size;
|
|
11038
11053
|
return e;
|
|
11039
11054
|
}
|
|
11040
11055
|
if (a instanceof Blob)
|
|
@@ -11070,7 +11085,7 @@ const hr = (a) => new bi(a), br = {
|
|
|
11070
11085
|
i && (s += i.byteLength, t?.({ percent: 1, totalBytes: Math.max(e, s), transferredBytes: s }, i));
|
|
11071
11086
|
}
|
|
11072
11087
|
}));
|
|
11073
|
-
},
|
|
11088
|
+
}, yr = (a, e) => {
|
|
11074
11089
|
if (!a.body)
|
|
11075
11090
|
return a;
|
|
11076
11091
|
if (a.status === 204)
|
|
@@ -11085,16 +11100,16 @@ const hr = (a) => new bi(a), br = {
|
|
|
11085
11100
|
statusText: a.statusText,
|
|
11086
11101
|
headers: a.headers
|
|
11087
11102
|
});
|
|
11088
|
-
},
|
|
11103
|
+
}, vr = (a, e, t) => {
|
|
11089
11104
|
if (!a.body)
|
|
11090
11105
|
return a;
|
|
11091
|
-
const i =
|
|
11106
|
+
const i = mr(t ?? a.body);
|
|
11092
11107
|
return new Request(a, {
|
|
11093
11108
|
// @ts-expect-error - Types are outdated.
|
|
11094
11109
|
duplex: "half",
|
|
11095
11110
|
body: ui(a.body, i, e)
|
|
11096
11111
|
});
|
|
11097
|
-
}, Qe = (a) => a !== null && typeof a == "object",
|
|
11112
|
+
}, Qe = (a) => a !== null && typeof a == "object", Et = (...a) => {
|
|
11098
11113
|
for (const e of a)
|
|
11099
11114
|
if ((!Qe(e) || Array.isArray(e)) && e !== void 0)
|
|
11100
11115
|
throw new TypeError("The `options` argument must be an object");
|
|
@@ -11105,15 +11120,15 @@ const hr = (a) => new bi(a), br = {
|
|
|
11105
11120
|
i && o === "undefined" || o === void 0 ? t.delete(r) : t.set(r, o);
|
|
11106
11121
|
return t;
|
|
11107
11122
|
};
|
|
11108
|
-
function
|
|
11123
|
+
function $t(a, e, t) {
|
|
11109
11124
|
return Object.hasOwn(e, t) && e[t] === void 0 ? [] : fa(a[t] ?? [], e[t] ?? []);
|
|
11110
11125
|
}
|
|
11111
11126
|
const gi = (a = {}, e = {}) => ({
|
|
11112
|
-
beforeRequest:
|
|
11113
|
-
beforeRetry:
|
|
11114
|
-
afterResponse:
|
|
11115
|
-
beforeError:
|
|
11116
|
-
}),
|
|
11127
|
+
beforeRequest: $t(a, e, "beforeRequest"),
|
|
11128
|
+
beforeRetry: $t(a, e, "beforeRetry"),
|
|
11129
|
+
afterResponse: $t(a, e, "afterResponse"),
|
|
11130
|
+
beforeError: $t(a, e, "beforeError")
|
|
11131
|
+
}), wr = (a, e) => {
|
|
11117
11132
|
const t = new URLSearchParams();
|
|
11118
11133
|
for (const i of [a, e])
|
|
11119
11134
|
if (i !== void 0)
|
|
@@ -11157,7 +11172,7 @@ const gi = (a = {}, e = {}) => ({
|
|
|
11157
11172
|
continue;
|
|
11158
11173
|
}
|
|
11159
11174
|
if (f === "searchParams") {
|
|
11160
|
-
p == null ? s = void 0 : s = s === void 0 ? p :
|
|
11175
|
+
p == null ? s = void 0 : s = s === void 0 ? p : wr(s, p);
|
|
11161
11176
|
continue;
|
|
11162
11177
|
}
|
|
11163
11178
|
Qe(p) && f in e && (p = fa(e[f], p)), e = { ...e, [f]: p };
|
|
@@ -11165,20 +11180,20 @@ const gi = (a = {}, e = {}) => ({
|
|
|
11165
11180
|
Qe(o.hooks) && (i = gi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = pi(t, o.headers), e.headers = t);
|
|
11166
11181
|
}
|
|
11167
11182
|
return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : di ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
|
|
11168
|
-
},
|
|
11183
|
+
}, xr = (a) => fi.includes(a) ? a.toUpperCase() : a, kr = ["get", "put", "head", "delete", "options", "trace"], _r = [408, 413, 429, 500, 502, 503, 504], Sr = [413, 429, 503], ja = {
|
|
11169
11184
|
limit: 2,
|
|
11170
|
-
methods:
|
|
11171
|
-
statusCodes:
|
|
11172
|
-
afterStatusCodes:
|
|
11185
|
+
methods: kr,
|
|
11186
|
+
statusCodes: _r,
|
|
11187
|
+
afterStatusCodes: Sr,
|
|
11173
11188
|
maxRetryAfter: Number.POSITIVE_INFINITY,
|
|
11174
11189
|
backoffLimit: Number.POSITIVE_INFINITY,
|
|
11175
11190
|
delay: (a) => 0.3 * 2 ** (a - 1) * 1e3,
|
|
11176
11191
|
jitter: void 0,
|
|
11177
11192
|
retryOnTimeout: !1
|
|
11178
|
-
},
|
|
11193
|
+
}, Cr = (a = {}) => {
|
|
11179
11194
|
if (typeof a == "number")
|
|
11180
11195
|
return {
|
|
11181
|
-
...
|
|
11196
|
+
...ja,
|
|
11182
11197
|
limit: a
|
|
11183
11198
|
};
|
|
11184
11199
|
if (a.methods && !Array.isArray(a.methods))
|
|
@@ -11186,27 +11201,27 @@ const gi = (a = {}, e = {}) => ({
|
|
|
11186
11201
|
if (a.statusCodes && !Array.isArray(a.statusCodes))
|
|
11187
11202
|
throw new Error("retry.statusCodes must be an array");
|
|
11188
11203
|
return {
|
|
11189
|
-
...
|
|
11204
|
+
...ja,
|
|
11190
11205
|
...a
|
|
11191
11206
|
};
|
|
11192
11207
|
};
|
|
11193
|
-
class
|
|
11208
|
+
class aa extends Error {
|
|
11194
11209
|
request;
|
|
11195
11210
|
constructor(e) {
|
|
11196
11211
|
super(`Request timed out: ${e.method} ${e.url}`), this.name = "TimeoutError", this.request = e;
|
|
11197
11212
|
}
|
|
11198
11213
|
}
|
|
11199
|
-
async function
|
|
11214
|
+
async function Ar(a, e, t, i) {
|
|
11200
11215
|
return new Promise((s, r) => {
|
|
11201
11216
|
const o = setTimeout(() => {
|
|
11202
|
-
t && t.abort(), r(new
|
|
11217
|
+
t && t.abort(), r(new aa(a));
|
|
11203
11218
|
}, i.timeout);
|
|
11204
11219
|
i.fetch(a, e).then(s).catch(r).then(() => {
|
|
11205
11220
|
clearTimeout(o);
|
|
11206
11221
|
});
|
|
11207
11222
|
});
|
|
11208
11223
|
}
|
|
11209
|
-
async function
|
|
11224
|
+
async function Mr(a, { signal: e }) {
|
|
11210
11225
|
return new Promise((t, i) => {
|
|
11211
11226
|
e && (e.throwIfAborted(), e.addEventListener("abort", s, { once: !0 }));
|
|
11212
11227
|
function s() {
|
|
@@ -11217,23 +11232,23 @@ async function Ar(a, { signal: e }) {
|
|
|
11217
11232
|
}, a);
|
|
11218
11233
|
});
|
|
11219
11234
|
}
|
|
11220
|
-
const
|
|
11235
|
+
const Tr = (a, e) => {
|
|
11221
11236
|
const t = {};
|
|
11222
11237
|
for (const i in e)
|
|
11223
|
-
Object.hasOwn(e, i) && !(i in
|
|
11238
|
+
Object.hasOwn(e, i) && !(i in gr) && !(i in ur) && (!(i in a) || i in pr) && (t[i] = e[i]);
|
|
11224
11239
|
return t;
|
|
11225
|
-
},
|
|
11226
|
-
function Ir(a) {
|
|
11227
|
-
return a instanceof ea || a?.name === ea.name;
|
|
11228
|
-
}
|
|
11240
|
+
}, Ir = (a) => a === void 0 ? !1 : Array.isArray(a) ? a.length > 0 : a instanceof URLSearchParams ? a.size > 0 : typeof a == "object" ? Object.keys(a).length > 0 : typeof a == "string" ? a.trim().length > 0 : !!a;
|
|
11229
11241
|
function Er(a) {
|
|
11230
11242
|
return a instanceof ta || a?.name === ta.name;
|
|
11231
11243
|
}
|
|
11244
|
+
function $r(a) {
|
|
11245
|
+
return a instanceof aa || a?.name === aa.name;
|
|
11246
|
+
}
|
|
11232
11247
|
class vt {
|
|
11233
11248
|
static create(e, t) {
|
|
11234
11249
|
const i = new vt(e, t), s = async () => {
|
|
11235
|
-
if (typeof i.#e.timeout == "number" && i.#e.timeout >
|
|
11236
|
-
throw new RangeError(`The \`timeout\` option cannot be greater than ${
|
|
11250
|
+
if (typeof i.#e.timeout == "number" && i.#e.timeout > Gt)
|
|
11251
|
+
throw new RangeError(`The \`timeout\` option cannot be greater than ${Gt}`);
|
|
11237
11252
|
await Promise.resolve();
|
|
11238
11253
|
let o = await i.#p();
|
|
11239
11254
|
for (const f of i.#e.hooks.afterResponse) {
|
|
@@ -11242,10 +11257,10 @@ class vt {
|
|
|
11242
11257
|
throw await Promise.all([
|
|
11243
11258
|
p.body?.cancel(),
|
|
11244
11259
|
o.body?.cancel()
|
|
11245
|
-
]), new
|
|
11260
|
+
]), new Wt(v.options);
|
|
11246
11261
|
}
|
|
11247
11262
|
if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
|
|
11248
|
-
let f = new
|
|
11263
|
+
let f = new ta(o, i.request, i.#o());
|
|
11249
11264
|
for (const p of i.#e.hooks.beforeError)
|
|
11250
11265
|
f = await p(f, { retryCount: i.#a });
|
|
11251
11266
|
throw f;
|
|
@@ -11253,16 +11268,16 @@ class vt {
|
|
|
11253
11268
|
if (i.#e.onDownloadProgress) {
|
|
11254
11269
|
if (typeof i.#e.onDownloadProgress != "function")
|
|
11255
11270
|
throw new TypeError("The `onDownloadProgress` option must be a function");
|
|
11256
|
-
if (!
|
|
11271
|
+
if (!lr)
|
|
11257
11272
|
throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
|
|
11258
|
-
return
|
|
11273
|
+
return yr(o.clone(), i.#e.onDownloadProgress);
|
|
11259
11274
|
}
|
|
11260
11275
|
return o;
|
|
11261
11276
|
}, r = i.#f(s).finally(async () => {
|
|
11262
11277
|
const o = i.#n, f = [];
|
|
11263
11278
|
o && !o.bodyUsed && f.push(o.body?.cancel()), i.request.bodyUsed || f.push(i.request.body?.cancel()), await Promise.all(f);
|
|
11264
11279
|
});
|
|
11265
|
-
for (const [o, f] of Object.entries(
|
|
11280
|
+
for (const [o, f] of Object.entries(fr))
|
|
11266
11281
|
o === "bytes" && typeof globalThis.Response?.prototype?.bytes != "function" || (r[o] = async () => {
|
|
11267
11282
|
i.request.headers.set("accept", i.request.headers.get("accept") || f);
|
|
11268
11283
|
const p = await r;
|
|
@@ -11300,10 +11315,10 @@ class vt {
|
|
|
11300
11315
|
beforeError: [],
|
|
11301
11316
|
afterResponse: []
|
|
11302
11317
|
}, t.hooks),
|
|
11303
|
-
method:
|
|
11318
|
+
method: xr(t.method ?? this.#t.method ?? "GET"),
|
|
11304
11319
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
11305
11320
|
prefixUrl: String(t.prefixUrl || ""),
|
|
11306
|
-
retry:
|
|
11321
|
+
retry: Cr(t.retry),
|
|
11307
11322
|
throwHttpErrors: t.throwHttpErrors ?? !0,
|
|
11308
11323
|
timeout: t.timeout ?? 1e4,
|
|
11309
11324
|
fetch: t.fetch ?? globalThis.fetch.bind(globalThis),
|
|
@@ -11315,16 +11330,16 @@ class vt {
|
|
|
11315
11330
|
throw new Error("`input` must not begin with a slash when using `prefixUrl`");
|
|
11316
11331
|
this.#e.prefixUrl.endsWith("/") || (this.#e.prefixUrl += "/"), this.#t = this.#e.prefixUrl + this.#t;
|
|
11317
11332
|
}
|
|
11318
|
-
|
|
11333
|
+
cr && di && (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), Fa && (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"));
|
|
11319
11334
|
const i = t.headers && new globalThis.Headers(t.headers).has("content-type");
|
|
11320
|
-
if (this.#t instanceof globalThis.Request && (
|
|
11335
|
+
if (this.#t instanceof globalThis.Request && (dr && 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), Ir(this.#e.searchParams)) {
|
|
11321
11336
|
const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(vt.#b(this.#e.searchParams)).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
|
|
11322
11337
|
this.request = new globalThis.Request(o, this.#e);
|
|
11323
11338
|
}
|
|
11324
11339
|
if (this.#e.onUploadProgress) {
|
|
11325
11340
|
if (typeof this.#e.onUploadProgress != "function")
|
|
11326
11341
|
throw new TypeError("The `onUploadProgress` option must be a function");
|
|
11327
|
-
if (!
|
|
11342
|
+
if (!Fa)
|
|
11328
11343
|
throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");
|
|
11329
11344
|
this.request = this.#h(this.request, this.#e.body ?? void 0);
|
|
11330
11345
|
}
|
|
@@ -11338,7 +11353,7 @@ class vt {
|
|
|
11338
11353
|
if (this.#a++, this.#a > this.#e.retry.limit)
|
|
11339
11354
|
throw e;
|
|
11340
11355
|
const t = e instanceof Error ? e : new li(e);
|
|
11341
|
-
if (t instanceof
|
|
11356
|
+
if (t instanceof Wt)
|
|
11342
11357
|
return t.customDelay ?? this.#c();
|
|
11343
11358
|
if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
|
|
11344
11359
|
throw e;
|
|
@@ -11349,9 +11364,9 @@ class vt {
|
|
|
11349
11364
|
if (i === !0)
|
|
11350
11365
|
return this.#c();
|
|
11351
11366
|
}
|
|
11352
|
-
if (
|
|
11367
|
+
if ($r(e) && !this.#e.retry.retryOnTimeout)
|
|
11353
11368
|
throw e;
|
|
11354
|
-
if (
|
|
11369
|
+
if (Er(e)) {
|
|
11355
11370
|
if (!this.#e.retry.statusCodes.includes(e.response.status))
|
|
11356
11371
|
throw e;
|
|
11357
11372
|
const i = e.response.headers.get("Retry-After") ?? e.response.headers.get("RateLimit-Reset") ?? e.response.headers.get("X-RateLimit-Retry-After") ?? e.response.headers.get("X-RateLimit-Reset") ?? e.response.headers.get("X-Rate-Limit-Reset");
|
|
@@ -11373,10 +11388,10 @@ class vt {
|
|
|
11373
11388
|
try {
|
|
11374
11389
|
return await e();
|
|
11375
11390
|
} catch (t) {
|
|
11376
|
-
const i = Math.min(await this.#u(t),
|
|
11391
|
+
const i = Math.min(await this.#u(t), Gt);
|
|
11377
11392
|
if (this.#a < 1)
|
|
11378
11393
|
throw t;
|
|
11379
|
-
if (await
|
|
11394
|
+
if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof Wt && t.customRequest) {
|
|
11380
11395
|
const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
|
|
11381
11396
|
this.#l(s);
|
|
11382
11397
|
}
|
|
@@ -11410,8 +11425,8 @@ class vt {
|
|
|
11410
11425
|
break;
|
|
11411
11426
|
}
|
|
11412
11427
|
}
|
|
11413
|
-
const e =
|
|
11414
|
-
return this.#n = this.request, this.request = this.#n.clone(), this.#e.timeout === !1 ? this.#e.fetch(this.#n, e) :
|
|
11428
|
+
const e = Tr(this.request, this.#e);
|
|
11429
|
+
return this.#n = this.request, this.request = this.#n.clone(), this.#e.timeout === !1 ? this.#e.fetch(this.#n, e) : Ar(this.#n, e, this.#i, this.#e);
|
|
11415
11430
|
}
|
|
11416
11431
|
#o() {
|
|
11417
11432
|
if (!this.#r) {
|
|
@@ -11424,16 +11439,16 @@ class vt {
|
|
|
11424
11439
|
this.#r = void 0, this.request = this.#h(e);
|
|
11425
11440
|
}
|
|
11426
11441
|
#h(e, t) {
|
|
11427
|
-
return !this.#e.onUploadProgress || !e.body ? e :
|
|
11442
|
+
return !this.#e.onUploadProgress || !e.body ? e : vr(e, this.#e.onUploadProgress, t ?? this.#e.body ?? void 0);
|
|
11428
11443
|
}
|
|
11429
11444
|
}
|
|
11430
|
-
const
|
|
11431
|
-
const e = (t, i) => vt.create(t,
|
|
11445
|
+
const ia = (a) => {
|
|
11446
|
+
const e = (t, i) => vt.create(t, Et(a, i));
|
|
11432
11447
|
for (const t of fi)
|
|
11433
|
-
e[t] = (i, s) => vt.create(i,
|
|
11434
|
-
return e.create = (t) =>
|
|
11435
|
-
},
|
|
11436
|
-
|
|
11448
|
+
e[t] = (i, s) => vt.create(i, Et(a, s, { method: t }));
|
|
11449
|
+
return e.create = (t) => ia(Et(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), ia(Et(a, t))), e.stop = hi, e.retry = br, e;
|
|
11450
|
+
}, Pr = ia();
|
|
11451
|
+
Pr.extend({
|
|
11437
11452
|
hooks: {
|
|
11438
11453
|
beforeRequest: [
|
|
11439
11454
|
() => {
|
|
@@ -11441,7 +11456,7 @@ $r.extend({
|
|
|
11441
11456
|
]
|
|
11442
11457
|
}
|
|
11443
11458
|
});
|
|
11444
|
-
async function
|
|
11459
|
+
async function Lr(a, e) {
|
|
11445
11460
|
const { onmessage: t, onclose: i, ...s } = e, r = async (o, f) => {
|
|
11446
11461
|
const { value: p, done: v } = await f.read();
|
|
11447
11462
|
v ? (o.close(), i?.()) : (t?.(p), o.enqueue(p), r(o, f));
|
|
@@ -11462,13 +11477,13 @@ async function Pr(a, e) {
|
|
|
11462
11477
|
}).text()
|
|
11463
11478
|
);
|
|
11464
11479
|
}
|
|
11465
|
-
var
|
|
11466
|
-
for (var s = i > 1 ? void 0 : i ?
|
|
11480
|
+
var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, U = (a, e, t, i) => {
|
|
11481
|
+
for (var s = i > 1 ? void 0 : i ? zr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
|
|
11467
11482
|
(o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
|
|
11468
|
-
return i && s &&
|
|
11483
|
+
return i && s && Rr(e, t, s), s;
|
|
11469
11484
|
};
|
|
11470
|
-
const
|
|
11471
|
-
|
|
11485
|
+
const Be = Je.noConflict();
|
|
11486
|
+
Be.setLevel("info");
|
|
11472
11487
|
let H = class extends ne {
|
|
11473
11488
|
constructor() {
|
|
11474
11489
|
super(...arguments), this.store = new it(this, b), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="34" height="34" viewBox="0 0 203 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -11497,7 +11512,7 @@ let H = class extends ne {
|
|
|
11497
11512
|
this._chatbotToggleHandler(a);
|
|
11498
11513
|
}, this.handleFormSubmitEvent = (a) => {
|
|
11499
11514
|
this._formSubmitHandler(a);
|
|
11500
|
-
}, this.fetchStream =
|
|
11515
|
+
}, this.fetchStream = Lr;
|
|
11501
11516
|
}
|
|
11502
11517
|
/**
|
|
11503
11518
|
* decodeStreamData
|
|
@@ -11532,14 +11547,14 @@ let H = class extends ne {
|
|
|
11532
11547
|
b.addActions(a);
|
|
11533
11548
|
}
|
|
11534
11549
|
render() {
|
|
11535
|
-
return b.disabled && !this.alwaysOpen ? (
|
|
11550
|
+
return b.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : u`
|
|
11536
11551
|
<div class="cb-wrapper${b.open ? " cb-open" : ""}" part="wrapper${b.open ? " open" : ""}" exportparts="wrapper${b.open ? " open" : ""}">
|
|
11537
11552
|
<cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
|
|
11538
11553
|
<cb-message-list
|
|
11539
11554
|
.messages=${b.messages}
|
|
11540
11555
|
.actions=${b.actions}
|
|
11541
11556
|
.form=${b.form}
|
|
11542
|
-
exportparts="bot-message-list, disclaimer-message, bot-message, cb-message, bot-message-content, user-message-content, form, form-title, form-input, form-submit"
|
|
11557
|
+
exportparts="bot-message-list, disclaimer-message, bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar, form, form-title, form-input, form-submit"
|
|
11543
11558
|
></cb-message-list>
|
|
11544
11559
|
<cb-audio-controls exportparts="audio-controls"></cb-audio-controls>
|
|
11545
11560
|
${this.renderUserInput()} ${this.renderFeedbackDialog()}
|
|
@@ -11561,7 +11576,7 @@ let H = class extends ne {
|
|
|
11561
11576
|
?disabled=${b.connecting || b.form}
|
|
11562
11577
|
?enable-file-upload=${b.setting.uploadImages && b.connected}
|
|
11563
11578
|
?enable-audio=${b.setting.enableAudio && b.connected}
|
|
11564
|
-
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"
|
|
11579
|
+
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"
|
|
11565
11580
|
></cb-user-input-mm>` : u`
|
|
11566
11581
|
<cb-user-input
|
|
11567
11582
|
part="user-input-control"
|
|
@@ -11573,7 +11588,7 @@ let H = class extends ne {
|
|
|
11573
11588
|
></cb-user-input>`;
|
|
11574
11589
|
}
|
|
11575
11590
|
connectedCallback() {
|
|
11576
|
-
super.connectedCallback(),
|
|
11591
|
+
super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler);
|
|
11577
11592
|
}
|
|
11578
11593
|
extractCssVariable(a, e, t) {
|
|
11579
11594
|
let i = a.getPropertyValue(e).trim();
|
|
@@ -11602,26 +11617,26 @@ let H = class extends ne {
|
|
|
11602
11617
|
|
|
11603
11618
|
*/
|
|
11604
11619
|
disconnectedCallback() {
|
|
11605
|
-
|
|
11620
|
+
Be.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler);
|
|
11606
11621
|
}
|
|
11607
11622
|
// This is called when component is loaded, with all the settings (props) values
|
|
11608
11623
|
// Use to initialize
|
|
11609
11624
|
// This is also called when state changes - ??? - i.e. when message added to the array
|
|
11610
11625
|
updated(a) {
|
|
11611
|
-
super.updated(a), a.size > 0 && (
|
|
11626
|
+
super.updated(a), a.size > 0 && (Be.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
|
|
11612
11627
|
this._scrollToBottom(), this._scrollToBottomTimeout = void 0;
|
|
11613
11628
|
}, 200));
|
|
11614
11629
|
}
|
|
11615
11630
|
// initialize setting
|
|
11616
11631
|
_initSetting() {
|
|
11617
|
-
|
|
11632
|
+
Be.info("_initSetting");
|
|
11618
11633
|
const a = b.setting;
|
|
11619
11634
|
a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, 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.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, b.setSetting(a);
|
|
11620
11635
|
let e = {};
|
|
11621
11636
|
try {
|
|
11622
11637
|
e = JSON.parse(this.prefilledFormFields);
|
|
11623
11638
|
} catch (t) {
|
|
11624
|
-
|
|
11639
|
+
Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
|
|
11625
11640
|
}
|
|
11626
11641
|
b.setPrefilledFormFields(e), this.open && (b.open = !0), this.alwaysOpen && (b.open = !0, b.alwaysOpen = !0);
|
|
11627
11642
|
}
|
|
@@ -11656,7 +11671,7 @@ let H = class extends ne {
|
|
|
11656
11671
|
// for example, user profile, current product user is viewing on the web page, etc.
|
|
11657
11672
|
setContext(a = {}) {
|
|
11658
11673
|
b.setContext(a).catch((e) => {
|
|
11659
|
-
|
|
11674
|
+
Be.error(`Failed to set context, error: ${e?.message || ""}`);
|
|
11660
11675
|
});
|
|
11661
11676
|
}
|
|
11662
11677
|
getContext() {
|
|
@@ -11754,7 +11769,7 @@ let H = class extends ne {
|
|
|
11754
11769
|
await b.uploadFiles(e.files);
|
|
11755
11770
|
}
|
|
11756
11771
|
async _audioToggleHandler(a) {
|
|
11757
|
-
|
|
11772
|
+
Be.info("_audioToggleHandler called"), await b.toggleAudio();
|
|
11758
11773
|
}
|
|
11759
11774
|
// setting confirm handler
|
|
11760
11775
|
_settingConfirmHandler(a) {
|