@5minds/node-red-dashboard-2-processcube-chat 0.1.1-add-functionality-5f8f20-mde6na5h

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-deepchat.umd.js","sources":["../node_modules/deep-chat/dist/deepChat.js","../ui/components/UIDeepChat.vue"],"sourcesContent":["function _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n2 = 0, F = function F() {}; return { s: F, n: function n() { return _n2 >= r.length ? { done: !0 } : { done: !1, value: r[_n2++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = \"function\" == typeof Symbol ? Symbol : {}, i = o.iterator || \"@@iterator\", a = o.asyncIterator || \"@@asyncIterator\", u = o.toStringTag || \"@@toStringTag\"; function c(t, r, e, n) { return Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, \"\"); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, \"_invoke\", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error(\"Generator is already running\"); if (4 === o) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = 3; var h = s(r, e, n); if (\"normal\" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } \"throw\" === h.type && (o = 4, n.method = \"throw\", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: \"normal\", arg: t.call(r, e) }; } catch (t) { return { type: \"throw\", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { [\"next\", \"throw\", \"return\"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if (\"throw\" !== c.type) { var h = c.arg, f = h.value; return f && \"object\" == _typeof(f) && n.call(f, \"__await\") ? r.resolve(f.__await).then(function (t) { e(\"next\", t, a, u); }, function (t) { e(\"throw\", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e(\"throw\", t, a, u); }); } u(c.arg); } var o; c(this, \"_invoke\", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, \"throw\" === n && r.i[\"return\"] && (e.method = \"return\", e.arg = t, d(r, e), \"throw\" === e.method) || \"return\" !== n && (e.method = \"throw\", e.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), f; var i = s(o, r.i, e.arg); if (\"throw\" === i.type) return e.method = \"throw\", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, \"return\" !== e.method && (e.method = \"next\", e.arg = t), e.delegate = null, f) : a : (e.method = \"throw\", e.arg = new TypeError(\"iterator result is not an object\"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = \"normal\", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if (\"function\" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, \"constructor\", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), r.isGeneratorFunction = function (t) { var r = \"function\" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || \"GeneratorFunction\" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, \"GeneratorFunction\")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, \"Generator\"), c(v, i, function () { return this; }), c(v, \"toString\", function () { return \"[object Generator]\"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) \"t\" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = \"throw\", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n(\"end\"), !1; if (!c && !h) throw Error(\"try statement without catch or finally\"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = \"next\", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && (\"break\" === t || \"continue\" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = \"next\", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, \"catch\": function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if (\"throw\" === n.type) { var o = n.arg; m(e); } return o; } } throw Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, \"next\" === this.method && (this.arg = t), f; } }, r; }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar Vn = /*#__PURE__*/function () {\n function Vn() {\n _classCallCheck(this, Vn);\n }\n return _createClass(Vn, null, [{\n key: \"render\",\n value: function render(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"error-view\", i.innerText = t, e.replaceChildren(i);\n }\n }]);\n}();\nvar yi = /*#__PURE__*/function () {\n function yi() {\n _classCallCheck(this, yi);\n }\n return _createClass(yi, null, [{\n key: \"onLoad\",\n value: function onLoad(e) {\n e.innerHTML = '<div id=\"loading-validate-key-property\"></div>';\n }\n }, {\n key: \"createElements\",\n value: function createElements() {\n var e = document.createElement(\"div\");\n return e.id = \"validate-property-key-view\", e;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var s = yi.createElements(),\n r = {\n onSuccess: t,\n onFail: Vn.render.bind(this, e, \"Your 'key' has failed authentication\"),\n onLoad: yi.onLoad.bind(this, s)\n };\n i.key && i.verifyKey(i.key, r), e.replaceChildren(s);\n }\n }]);\n}();\nvar L = /*#__PURE__*/function () {\n function L() {\n _classCallCheck(this, L);\n }\n return _createClass(L, null, [{\n key: \"unsetStyle\",\n value: function unsetStyle(e, t) {\n var i = Object.keys(t).reduce(function (s, r) {\n return s[r] = \"\", s;\n }, {});\n Object.assign(e.style, i);\n }\n }, {\n key: \"unsetActivityCSSMouseStates\",\n value: function unsetActivityCSSMouseStates(e, t) {\n t.click && L.unsetStyle(e, t.click), t.hover && L.unsetStyle(e, t.hover);\n }\n }, {\n key: \"unsetAllCSSMouseStates\",\n value: function unsetAllCSSMouseStates(e, t) {\n L.unsetActivityCSSMouseStates(e, t), t[\"default\"] && L.unsetStyle(e, t[\"default\"]);\n }\n // if you want to asdd default styling - use pure css classes\n }, {\n key: \"processStateful\",\n value: function processStateful(e) {\n var t = e[\"default\"] || {},\n i = Object.assign(JSON.parse(JSON.stringify(t)), e == null ? void 0 : e.hover),\n s = Object.assign(JSON.parse(JSON.stringify(i)), e == null ? void 0 : e.click);\n return {\n \"default\": t,\n hover: i,\n click: s\n };\n }\n }, {\n key: \"mergeStatefulStyles\",\n value: function mergeStatefulStyles(e) {\n var t = {\n \"default\": {},\n hover: {},\n click: {}\n };\n return e.forEach(function (i) {\n t[\"default\"] = Object.assign(t[\"default\"], i[\"default\"]), t.hover = Object.assign(t.hover, i.hover), t.click = Object.assign(t.click, i.click);\n }), t;\n }\n }, {\n key: \"overwriteDefaultWithAlreadyApplied\",\n value: function overwriteDefaultWithAlreadyApplied(e, t) {\n Object.keys(e[\"default\"] || []).forEach(function (i) {\n var r;\n var s = i;\n t.style[s] && (r = e[\"default\"]) != null && r[s] && (e[\"default\"][i] = t.style[s]);\n });\n }\n }, {\n key: \"applyToStyleIfNotDefined\",\n value: function applyToStyleIfNotDefined(e, t) {\n for (var i in t) {\n var s = t[i];\n e[i] === \"\" && s && (e[i] = s);\n }\n }\n }]);\n}();\nvar Xe = /*#__PURE__*/function () {\n function Xe() {\n _classCallCheck(this, Xe);\n }\n return _createClass(Xe, null, [{\n key: \"attemptAppendStyleSheetToHead\",\n value: function attemptAppendStyleSheetToHead(e) {\n if (e.fontFamily && e.fontFamily !== Xe.DEFAULT_FONT_FAMILY) return;\n var t = document.getElementsByTagName(\"head\")[0];\n if (!Array.from(t.getElementsByTagName(\"link\")).some(function (s) {\n return s.getAttribute(\"href\") === Xe.FONT_URL;\n })) {\n var s = document.createElement(\"link\");\n s.rel = \"stylesheet\", s.href = Xe.FONT_URL, t.appendChild(s);\n }\n }\n }]);\n}();\nXe.FONT_URL = \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\", Xe.DEFAULT_FONT_FAMILY = \"'Inter', sans-serif, Avenir, Helvetica, Arial\";\nvar Ei = Xe;\nvar mt = /*#__PURE__*/function () {\n function mt() {\n _classCallCheck(this, mt);\n }\n return _createClass(mt, null, [{\n key: \"apply\",\n value: function apply(e, t) {\n if (t) try {\n mt.applyStyleSheet(e, t);\n } catch (_unused) {\n mt.addStyleElement(e, t);\n }\n }\n }, {\n key: \"applyStyleSheet\",\n value: function applyStyleSheet(e, t) {\n var i = new CSSStyleSheet();\n i.replaceSync(e), t.adoptedStyleSheets.push(i);\n }\n }, {\n key: \"addStyleElement\",\n value: function addStyleElement(e, t) {\n var i = document.createElement(\"style\");\n i.innerHTML = e, t.appendChild(i);\n }\n }, {\n key: \"applyDefaultStyleToComponent\",\n value: function applyDefaultStyleToComponent(e, t) {\n t && L.applyToStyleIfNotDefined(e, t), L.applyToStyleIfNotDefined(e, mt.DEFAULT_COMPONENT_STYLE);\n }\n }]);\n}();\nmt.DEFAULT_COMPONENT_STYLE = {\n height: \"350px\",\n width: \"320px\",\n borderTop: \"1px solid #cacaca\",\n borderRight: \"1px solid #cacaca\",\n borderLeft: \"1px solid #cacaca\",\n borderBottom: \"1px solid #cacaca\",\n fontFamily: Ei.DEFAULT_FONT_FAMILY,\n fontSize: \"0.9rem\",\n backgroundColor: \"white\",\n position: \"relative\",\n // this is used to prevent inputAreaStyle background color from going beyond the container's rounded border\n // it will cause issues if there are elements that are meant to be outside of the chat component and in\n // that instance they should overwrite this\n // this is also causing the chat to squeeze when there is no space\n overflow: \"hidden\"\n};\nvar Vt = mt;\nvar Ye = /*#__PURE__*/function () {\n function Ye() {\n _classCallCheck(this, Ye);\n }\n return _createClass(Ye, null, [{\n key: \"buildElement\",\n value: function buildElement() {\n var e = document.createElement(\"div\");\n e.classList.add(\"tooltip\");\n var t = document.createElement(\"span\");\n return t.classList.add(\"tooltip-text\"), e.appendChild(t), e;\n }\n }, {\n key: \"tryCreateConfig\",\n value: function tryCreateConfig(e, t) {\n if (t) return typeof t == \"boolean\" ? {\n text: e\n } : {\n text: t.text || e,\n timeout: t.timeout || 0,\n style: t.style\n };\n }\n }, {\n key: \"traverseParentUntilContainer\",\n value: function traverseParentUntilContainer(e) {\n var t = e;\n for (; t.parentElement;) t = t.parentElement;\n return t;\n }\n }, {\n key: \"setPosition\",\n value: function setPosition(e, t) {\n var s = t.getRootNode().host.getBoundingClientRect(),\n r = e.getBoundingClientRect(),\n a = t.getBoundingClientRect().width / 2,\n l = r.left + r.width / 2;\n t.style.left = \"\".concat(l - a - s.left, \"px\"), t.style.top = \"\".concat(r.top - 36 - s.top, \"px\");\n var c = t.getBoundingClientRect();\n c.left < s.left ? t.style.left = \"\".concat(Ye.OVERFLOW_NEW_POSITION_PX, \"px\") : c.right > s.right && (t.style.left = \"\".concat(s.width - c.width - Ye.OVERFLOW_NEW_POSITION_PX, \"px\"));\n }\n }, {\n key: \"display\",\n value: function display(e, t, i) {\n return i || (i = Ye.traverseParentUntilContainer(e).nextSibling), t.text && (i.children[0].textContent = t.text), {\n timeout: setTimeout(function () {\n i.style.visibility = \"visible\", Ye.setPosition(e, i), t.style && Object.assign(i.style, t.style);\n }, t.timeout || 0),\n element: i\n };\n }\n }, {\n key: \"hide\",\n value: function hide(e, t) {\n clearTimeout(e.timeout), e.element.style.visibility = \"hidden\", t.style && L.unsetStyle(e.element, t.style), e.element.style.left = \"\", e.element.style.top = \"\";\n }\n }]);\n}();\nYe.OVERFLOW_NEW_POSITION_PX = 4;\nvar Ee = Ye;\nvar Jt = /*#__PURE__*/_createClass(function Jt() {\n _classCallCheck(this, Jt);\n});\nJt.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), Jt.IS_CHROMIUM = window.chrome, Jt.IS_MOBILE = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\nvar Ue = Jt;\nvar U = /* @__PURE__ */function (n) {\n return n.ESCAPE = \"Escape\", n.ENTER = \"Enter\", n.TAB = \"Tab\", n.ARROW_UP = \"ArrowUp\", n.ARROW_DOWN = \"ArrowDown\", n.ARROW_RIGHT = \"ArrowRight\", n.ARROW_LEFT = \"ArrowLeft\", n.BACKSPACE = \"Backspace\", n.DELETE = \"Delete\", n.META = \"Meta\", n.CONTROL = \"Control\", n;\n}(U || {});\nvar Ze = /*#__PURE__*/function () {\n function Ze() {\n _classCallCheck(this, Ze);\n }\n return _createClass(Ze, null, [{\n key: \"add\",\n value:\n // prettier-ignore\n function add(e, t, i, s) {\n i !== void 0 && e.addEventListener(\"keydown\", Ze.onKeyDown.bind(this, i)), e.oninput = Ze.onInput.bind(this, i, s), e.addEventListener(\"paste\", function (r) {\n var o;\n r.preventDefault(), (o = r.clipboardData) != null && o.files.length && t.addFilesToAnyType(Array.from(r.clipboardData.files));\n });\n }\n // preventing insertion early for a nicer UX\n // prettier-ignore\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(e, t) {\n var s = t.target.textContent;\n s && s.length >= e && !Ze.PERMITTED_KEYS.has(t.key) && !Ze.isKeyCombinationPermitted(t) && t.preventDefault();\n }\n }, {\n key: \"isKeyCombinationPermitted\",\n value: function isKeyCombinationPermitted(e) {\n return e.key === \"a\" ? e.ctrlKey || e.metaKey : !1;\n }\n }, {\n key: \"onInput\",\n value: function onInput(e, t, i) {\n var s = i.target,\n r = s.textContent || \"\";\n e !== void 0 && r.length > e && (s.textContent = r.substring(0, e), di.focusEndOfInput(s)), t == null || t();\n }\n }]);\n}();\nZe.PERMITTED_KEYS = /* @__PURE__ */new Set([U.BACKSPACE, U.DELETE, U.ARROW_RIGHT, U.ARROW_LEFT, U.ARROW_DOWN, U.ARROW_UP, U.META, U.CONTROL, U.ENTER]);\nvar is = Ze;\nvar Kn = /*#__PURE__*/function () {\n function Kn() {\n _classCallCheck(this, Kn);\n }\n return _createClass(Kn, null, [{\n key: \"sanitizePastedTextContent\",\n value: function sanitizePastedTextContent(e) {\n var i, s;\n e.preventDefault();\n var t = (i = e.clipboardData) == null ? void 0 : i.getData(\"text/plain\");\n t && ((s = document.execCommand) == null || s.call(document, \"insertText\", !1, t));\n }\n }]);\n}();\nvar Qe = /*#__PURE__*/function () {\n function Qe(e, t, i) {\n var _this = this;\n _classCallCheck(this, Qe);\n var r, o;\n this._isComposing = !1;\n var s = Qe.processConfig(t, e.textInput);\n this.elementRef = Qe.createContainerElement((r = s == null ? void 0 : s.styles) == null ? void 0 : r.container), this._config = s, this.inputElementRef = this.createInputElement(), this.elementRef.appendChild(this.inputElementRef), e.setPlaceholderText = this.setPlaceholderText.bind(this), e.setPlaceholderText(((o = this._config.placeholder) == null ? void 0 : o.text) || \"Ask me anything!\"), setTimeout(function () {\n is.add(_this.inputElementRef, i, _this._config.characterLimit, e._validationHandler), _this._onInput = t.onInput;\n });\n }\n return _createClass(Qe, [{\n key: \"clear\",\n value:\n // this also similarly prevents scroll up\n function clear() {\n var t, i;\n var e = window.scrollY;\n this.inputElementRef.classList.contains(\"text-input-disabled\") || (Object.assign(this.inputElementRef.style, (t = this._config.placeholder) == null ? void 0 : t.style), this.inputElementRef.textContent = \"\", di.focusEndOfInput(this.inputElementRef), (i = this._onInput) == null || i.call(this, !1)), Ue.IS_CHROMIUM && window.scrollTo({\n top: e\n });\n }\n }, {\n key: \"createInputElement\",\n value: function createInputElement() {\n var t, i, s, r;\n var e = document.createElement(\"div\");\n return e.id = Qe.TEXT_INPUT_ID, e.classList.add(\"text-input-styling\"), e.role = \"textbox\", Ue.IS_CHROMIUM && Qe.preventAutomaticScrollUpOnNewLine(e), typeof this._config.disabled == \"boolean\" && this._config.disabled === !0 ? (e.contentEditable = \"false\", e.classList.add(\"text-input-disabled\"), e.setAttribute(\"aria-disabled\", \"true\")) : (e.contentEditable = \"true\", e.removeAttribute(\"aria-disabled\"), this.addEventListeners(e)), Object.assign(e.style, (t = this._config.styles) == null ? void 0 : t.text), Object.assign(e.style, (i = this._config.placeholder) == null ? void 0 : i.style), (r = (s = this._config.placeholder) == null ? void 0 : s.style) != null && r.color || e.setAttribute(\"textcolor\", \"\"), e;\n }\n }, {\n key: \"removePlaceholderStyle\",\n value: function removePlaceholderStyle() {\n var e, t, i, s;\n !this.inputElementRef.classList.contains(\"text-input-disabled\") && (e = this._config.placeholder) != null && e.style && (L.unsetStyle(this.inputElementRef, (t = this._config.placeholder) == null ? void 0 : t.style), Object.assign(this.inputElementRef.style, (s = (i = this._config) == null ? void 0 : i.styles) == null ? void 0 : s.text));\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners(e) {\n var _this2 = this;\n var t, i;\n (t = this._config.styles) != null && t.focus && (e.onfocus = function () {\n var s;\n return Object.assign(_this2.elementRef.style, (s = _this2._config.styles) == null ? void 0 : s.focus);\n }, e.onblur = this.onBlur.bind(this, this._config.styles.focus, (i = this._config.styles) == null ? void 0 : i.container)), e.addEventListener(\"keydown\", this.onKeydown.bind(this)), e.addEventListener(\"input\", this.onInput.bind(this)), e.addEventListener(\"paste\", Kn.sanitizePastedTextContent), e.addEventListener(\"compositionstart\", function () {\n return _this2._isComposing = !0;\n }), e.addEventListener(\"compositionend\", function () {\n return _this2._isComposing = !1;\n });\n }\n }, {\n key: \"onBlur\",\n value: function onBlur(e, t) {\n L.unsetStyle(this.elementRef, e), t && Object.assign(this.elementRef.style, t);\n }\n }, {\n key: \"onKeydown\",\n value: function onKeydown(e) {\n var t;\n e.key === U.ENTER && !Ue.IS_MOBILE && !this._isComposing && !e.ctrlKey && !e.shiftKey && (e.preventDefault(), (t = this.submit) == null || t.call(this));\n }\n }, {\n key: \"onInput\",\n value: function onInput() {\n var e, t;\n this.isTextInputEmpty() ? Object.assign(this.inputElementRef.style, (e = this._config.placeholder) == null ? void 0 : e.style) : this.removePlaceholderStyle(), (t = this._onInput) == null || t.call(this, !0);\n }\n }, {\n key: \"setPlaceholderText\",\n value: function setPlaceholderText(e) {\n this.inputElementRef.setAttribute(\"deep-chat-placeholder-text\", e), this.inputElementRef.setAttribute(\"aria-label\", e);\n }\n }, {\n key: \"isTextInputEmpty\",\n value: function isTextInputEmpty() {\n return this.inputElementRef.textContent === \"\";\n }\n }], [{\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var _t$disabled, _t$placeholder, _i$text;\n var i;\n return t !== null && t !== void 0 ? t : t = {}, (_t$disabled = t.disabled) !== null && _t$disabled !== void 0 ? _t$disabled : t.disabled = e.isTextInputDisabled, (_t$placeholder = t.placeholder) !== null && _t$placeholder !== void 0 ? _t$placeholder : t.placeholder = {}, (_i$text = (i = t.placeholder).text) !== null && _i$text !== void 0 ? _i$text : i.text = e.textInputPlaceholderText, t;\n }\n }, {\n key: \"createContainerElement\",\n value: function createContainerElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"text-input-container\", Object.assign(t.style, e), t;\n }\n // this is is a bug fix where if the browser is scrolled down and the user types in text that creates new line\n // the browser scrollbar will move up which leads to undesirable UX.\n // More details in this Stack Overflow question:\n // https://stackoverflow.com/questions/76285135/prevent-automatic-scroll-when-text-is-inserted-into-contenteditable-div\n // prettier-ignore\n }, {\n key: \"preventAutomaticScrollUpOnNewLine\",\n value: function preventAutomaticScrollUpOnNewLine(e) {\n var t;\n e.addEventListener(\"keydown\", function () {\n t = window.scrollY;\n }), e.addEventListener(\"input\", function () {\n t !== window.scrollY && window.scrollTo({\n top: t\n });\n });\n }\n }]);\n}();\nQe.TEXT_INPUT_ID = \"text-input\";\nvar Si = Qe;\nvar di = /*#__PURE__*/function () {\n function di() {\n _classCallCheck(this, di);\n }\n return _createClass(di, null, [{\n key: \"focusEndOfInput\",\n value: function focusEndOfInput(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i == null || i.removeAllRanges(), i == null || i.addRange(t);\n }\n }, {\n key: \"focusFromParentElement\",\n value: function focusFromParentElement(e) {\n var t = e.querySelector(\"#\".concat(Si.TEXT_INPUT_ID));\n t && (Ue.IS_SAFARI && t.focus(), di.focusEndOfInput(t));\n }\n }]);\n}();\nfunction Us(n) {\n return n.charAt(0).toUpperCase() + n.slice(1);\n}\nfunction Wn(n) {\n return n && JSON.stringify(n);\n}\nfunction _s(n, e, t, i) {\n var s = \"\\n\".concat(Us(e), \" message: \").concat(JSON.stringify(n), \" \\n\"),\n r = t ? \"\".concat(Us(e), \" message after interceptor: \").concat(Wn(i), \" \\n\") : \"\";\n return s + r;\n}\nfunction $n(n, e, t, i) {\n return \"\".concat(_s(n, e, t, i), \"Make sure the \").concat(e, \" message is using the Response format: https://deepchat.dev/docs/connect/#Response \\nYou can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\");\n}\nfunction Jn(n, e, t) {\n var i = \"response\";\n return \"\".concat(_s(n, i, e, t), \"Make sure the \").concat(i, \" message is using the {text: string} format, e.g: {text: \\\"Model Response\\\"}\");\n}\nfunction Xn(n, e) {\n var t = \"request\";\n return \"\".concat(_s(n, t, e), \"Make sure the \").concat(t, \" message is using the {body: {text: string}} format, e.g: {body: {text: \\\"Model Response\\\"}}\");\n}\nvar js = \"Make sure the events are using {text: string} or {html: string} format.\\nYou can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\",\n M = {\n INVALID_KEY: \"Invalid API Key\",\n CONNECTION_FAILED: \"Failed to connect\",\n INVALID_RESPONSE: $n,\n INVALID_MODEL_REQUEST: Xn,\n INVALID_MODEL_RESPONSE: Jn,\n INVALID_STREAM_ARRAY_RESPONSE: \"Multi-response arrays are not supported for streaming\",\n INVALID_STREAM_EVENT: js,\n INVALID_STREAM_EVENT_MIX: \"Cannot mix {text: string} and {html: string} responses.\",\n NO_VALID_STREAM_EVENTS_SENT: \"No valid stream events were sent.\\n\".concat(js),\n READABLE_STREAM_CONNECTION_ERROR: \"Readable Stream connection error.\"\n },\n ji = /*#__PURE__*/function () {\n function ji() {\n _classCallCheck(this, ji);\n }\n return _createClass(ji, null, [{\n key: \"addElements\",\n value: function addElements(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n t.forEach(function (i) {\n return e.appendChild(i);\n });\n }\n }, {\n key: \"isScrollbarAtBottomOfElement\",\n value: function isScrollbarAtBottomOfElement(e) {\n var t = e.scrollHeight,\n i = e.clientHeight,\n s = e.scrollTop,\n r = t - i;\n return s >= r - ji.CODE_SNIPPET_GENERATION_JUMP;\n }\n }, {\n key: \"cloneElement\",\n value: function cloneElement(e) {\n var t = e.cloneNode(!0);\n return e.parentNode.replaceChild(t, e), t;\n }\n }, {\n key: \"scrollToBottom\",\n value: function scrollToBottom(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n t ? e.scrollTo({\n left: 0,\n top: e.scrollHeight,\n behavior: \"smooth\"\n }) : e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n e.scrollTop = 0;\n }\n }]);\n }();\nji.CODE_SNIPPET_GENERATION_JUMP = 0.5;\nvar W = ji;\nvar Hi = /*#__PURE__*/function () {\n function Hi() {\n _classCallCheck(this, Hi);\n }\n return _createClass(Hi, null, [{\n key: \"speak\",\n value: function speak(e, t) {\n if (window.SpeechSynthesisUtterance) {\n var i = new SpeechSynthesisUtterance(e);\n Object.assign(i, t), speechSynthesis.speak(i);\n }\n }\n }, {\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var i = {};\n setTimeout(function () {\n if (_typeof(e) == \"object\" && (e.lang && (i.lang = e.lang), e.pitch && (i.pitch = e.pitch), e.rate && (i.rate = e.rate), e.volume && (i.volume = e.volume), e.voiceName)) {\n var s = window.speechSynthesis.getVoices().find(function (r) {\n var o;\n return r.name.toLocaleLowerCase() === ((o = e.voiceName) == null ? void 0 : o.toLocaleLowerCase());\n });\n s && (i.voice = s);\n }\n t(i);\n }, Hi.LOAD_VOICES_MS);\n }\n }]);\n}();\nHi.LOAD_VOICES_MS = 200;\nvar Et = Hi;\nvar gt = /*#__PURE__*/function () {\n function gt() {\n _classCallCheck(this, gt);\n }\n return _createClass(gt, null, [{\n key: \"colorToHex\",\n value: function colorToHex(e) {\n var t = document.createElement(\"div\");\n return t.style.color = e, document.body.appendChild(t), \"#\".concat(window.getComputedStyle(t).color.match(/\\d+/g).map(function (r) {\n return parseInt(r).toString(16).padStart(2, \"0\");\n }).join(\"\"));\n }\n }, {\n key: \"setDots\",\n value: function setDots(e, t) {\n var i, s, r, o;\n if ((o = (r = (s = (i = t == null ? void 0 : t.loading) == null ? void 0 : i.message) == null ? void 0 : s.styles) == null ? void 0 : r.bubble) != null && o.color) {\n var a = gt.colorToHex(t.loading.message.styles.bubble.color);\n e.style.setProperty(\"--loading-message-color\", a), e.style.setProperty(\"--loading-message-color-fade\", \"\".concat(a, \"33\"));\n } else e.style.setProperty(\"--loading-message-color\", \"#848484\"), e.style.setProperty(\"--loading-message-color-fade\", \"#55555533\");\n }\n }, {\n key: \"setRing\",\n value: function setRing(e, t) {\n var _ref = t || {},\n i = _ref.color,\n s = _ref.width,\n r = _ref.height,\n o = _ref.margin,\n a = _ref.border;\n if (i) {\n var l = gt.colorToHex(i);\n e.style.setProperty(\"--loading-history-color\", l);\n } else e.style.setProperty(\"--loading-history-color\", \"#dbdbdb\");\n e.style.setProperty(\"--loading-history-height\", r || \"57px\"), e.style.setProperty(\"--loading-history-width\", s || \"57px\"), e.style.setProperty(\"--loading-history-margin\", o || \"7px\"), e.style.setProperty(\"--loading-history-border\", a || \"6px solid\");\n }\n }]);\n}();\ngt.BUBBLE_CLASS = \"deep-chat-loading-message-bubble\", gt.DOTS_CONTAINER_CLASS = \"deep-chat-loading-message-dots-container\";\nvar Fe = gt;\nvar ce = /*#__PURE__*/function () {\n function ce() {\n _classCallCheck(this, ce);\n }\n return _createClass(ce, null, [{\n key: \"setElementProps\",\n value:\n // prettier-ignore\n function setElementProps(e, t, i, s) {\n var r;\n i !== \"loading\" && (e.applyCustomStyles(t, s, !0, (r = e.messageStyles) == null ? void 0 : r[i]), t.bubbleElement.classList.add(ce.FILE_BUBBLE_CLASS));\n }\n // prettier-ignore\n }, {\n key: \"addMessage\",\n value: function addMessage(e, t, i, s, r) {\n ce.setElementProps(e, t, i, s), r || (e.appendOuterContainerElemet(t.outerContainer), e.focusMode || (e.elementRef.scrollTop = e.elementRef.scrollHeight));\n }\n }, {\n key: \"wrapInLink\",\n value: function wrapInLink(e, t, i) {\n var s = document.createElement(\"a\");\n return s.href = t, s.download = i || ce.DEFAULT_FILE_NAME, s.target = \"_blank\", s.appendChild(e), s;\n }\n }, {\n key: \"isNonLinkableDataUrl\",\n value: function isNonLinkableDataUrl(e, t) {\n return !t.startsWith(\"data\") || e === \"image\" ? !1 : e === \"any\" && t.startsWith(\"data:text/javascript\") || !t.startsWith(\"data:image\") && !t.startsWith(\"data:application\");\n }\n }, {\n key: \"processContent\",\n value: function processContent(e, t, i, s) {\n return !i || ce.isNonLinkableDataUrl(e, i) ? t : ce.wrapInLink(t, i, s);\n }\n }, {\n key: \"waitToLoadThenScroll\",\n value: function waitToLoadThenScroll(e) {\n setTimeout(function () {\n e.scrollTop = e.scrollHeight;\n }, 60);\n }\n }, {\n key: \"scrollDownOnImageLoad\",\n value: function scrollDownOnImageLoad(e, t) {\n if (e.startsWith(\"data\")) ce.waitToLoadThenScroll(t);else try {\n fetch(e, {\n mode: \"no-cors\"\n })[\"catch\"](function () {})[\"finally\"](function () {\n ce.waitToLoadThenScroll(t);\n });\n } catch (_unused2) {\n t.scrollTop = t.scrollHeight;\n }\n }\n // The strategy is to emit the actual file reference in the `onMessage` event for the user to inspect it\n // But it is not actually used by anything in the chat, hence it is removed when adding a message\n // after the body has been stringified and parsed - the file reference will disappear, hence this readds it\n }, {\n key: \"reAddFileRefToObject\",\n value: function reAddFileRefToObject(e, t) {\n var i;\n (i = e.files) == null || i.forEach(function (s, r) {\n var o;\n s.ref && (o = t.files) != null && o[r] && (t.files[r].ref = s.ref);\n });\n }\n // the chat does not use the actual file\n }, {\n key: \"removeFileRef\",\n value: function removeFileRef(e) {\n var t = _objectSpread({}, e);\n return delete t.ref, t;\n }\n }, {\n key: \"isAudioFile\",\n value: function isAudioFile(e) {\n var t = /\\.(mp3|ogg|wav|aac|webm|4a)$/i,\n i = e.type,\n s = e.src;\n return i === \"audio\" || (s == null ? void 0 : s.startsWith(\"data:audio\")) || s && t.test(s);\n }\n }, {\n key: \"isImageFile\",\n value: function isImageFile(e) {\n var t = e.type,\n i = e.src;\n return t === \"image\" || (i == null ? void 0 : i.startsWith(\"data:image\")) || i && ce.isImageFileExtension(i);\n }\n }, {\n key: \"isImageFileExtension\",\n value: function isImageFileExtension(e) {\n return /\\.(jpg|jpeg|png|gif|bmp)$/i.test(e);\n }\n }]);\n}();\nce.DEFAULT_FILE_NAME = \"file\", ce.FILE_BUBBLE_CLASS = \"file-message\";\nvar q = ce;\nvar te = /*#__PURE__*/function () {\n function te() {\n _classCallCheck(this, te);\n }\n return _createClass(te, null, [{\n key: \"checkForContainerStyles\",\n value: function checkForContainerStyles(e, t) {\n var i = e.containerStyle;\n i && (Object.assign(t.style, i), console.error(\"The containerStyle property is deprecated since version 1.3.14.\"), console.error(\"Please change to using the style property instead: https://deepchat.dev/docs/styles#style\"));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"handleResponseProperty\",\n value: function handleResponseProperty(e) {\n return console.error(\"The {result: ....} response object type is deprecated since version 1.3.0.\"), console.error(\"Please change to using the new response object: https://deepchat.dev/docs/connect#Response\"), e.result;\n }\n }, {\n key: \"processHistory\",\n value: function processHistory(e) {\n var t = e.initialMessages;\n if (t) return console.error(\"The initialMessages property is deprecated since version 2.0.0.\"), console.error(\"Please change to using the history property instead: https://deepchat.dev/docs/messages/#history\"), t;\n }\n }, {\n key: \"processHistoryFile\",\n value: function processHistoryFile(e) {\n var t = e.file;\n t && (console.error(\"The file property in MessageContent is deprecated since version 1.3.17.\"), console.error(\"Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent\"), e.files = [t]);\n }\n }, {\n key: \"processValidateInput\",\n value: function processValidateInput(e) {\n var t = e.validateMessageBeforeSending;\n if (t) return console.error(\"The validateMessageBeforeSending property is deprecated since version 1.3.24.\"), console.error(\"Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput\"), t;\n }\n }, {\n key: \"processSubmitUserMessage\",\n value: function processSubmitUserMessage(e) {\n return console.error(\"The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4.\"), console.error(\"Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage\"), {\n text: e\n };\n }\n }, {\n key: \"flagHTMLUpdateClass\",\n value: function flagHTMLUpdateClass(e) {\n var t;\n (t = e.children[0]) != null && t.classList.contains(\"deep-chat-update-message\") && (console.error('The \"deep-chat-update-message\" html class is deprecated since version 1.4.4.'), console.error(\"Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response\"));\n }\n }, {\n key: \"processConnect\",\n value: function processConnect(e) {\n var t = e;\n t.request && (t.connect ? Object.assign(t.connect, t.request) : t.connect = t.request, console.error(\"The request property is deprecated since version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"));\n }\n }, {\n key: \"checkForStream\",\n value: function checkForStream(e) {\n var t = e.stream;\n if (t) return console.error(\"The stream property has been moved to the connect object in version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"), t;\n }\n }, {\n key: \"fireOnNewMessage\",\n value: function fireOnNewMessage(e, t) {\n var s;\n var i = e;\n i.onNewMessage && (console.error(\"The onNewMessage event has been deprecated since version 2.0.0.\"), console.error(\"Please see the onMessage event: https://deepchat.dev/docs/events#onMessage\"), (s = i.onNewMessage) == null || s.call(i, t)), e.dispatchEvent(new CustomEvent(\"new-message\", {\n detail: t\n }));\n }\n }, {\n key: \"processFileConfigConnect\",\n value: function processFileConfigConnect(e) {\n var t = e;\n t.request && (console.error(\"The request property in file configuration is deprecated since version 2.0.0.\"), console.error(\"Please use the connect property instead: https://deepchat.dev/docs/files\"), t.connect || (t.connect = t.request));\n }\n }, {\n key: \"processMessageStyles\",\n value: function processMessageStyles(e) {\n if (!e) return;\n var t = JSON.parse(JSON.stringify(e)),\n i = t.loading;\n return i && (i.outerContainer || i.innerContainer || i.bubble || i.media) && (console.error(\"The loading message styles are defined using LoadingMessageStyles interface since version 2.1.0.\"), console.error(\"Check it out here: https://deepchat.dev/docs/messages/styles#LoadingMessageStyles\"), t.loading = {\n message: {\n styles: i\n }\n }), t;\n }\n }, {\n key: \"processDemo\",\n value: function processDemo(e) {\n return typeof e == \"boolean\" || e.displayLoadingBubble && (console.error(\"The demo displayLoadingBubble property is deprecated since version 2.1.0.\"), console.error(\"Please use displayLoading instead: https://deepchat.dev/docs/modes#demo\"), e.displayLoading = {\n message: !0\n }), e;\n }\n }]);\n}();\nvar $e = /*#__PURE__*/function () {\n function $e() {\n _classCallCheck(this, $e);\n }\n return _createClass($e, null, [{\n key: \"mouseUp\",\n value: function mouseUp(e, t) {\n L.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]), Object.assign(e.style, t.hover);\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown(e, t) {\n Object.assign(e.style, t.click);\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave(e, t) {\n L.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]);\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter(e, t) {\n Object.assign(e.style, t.hover);\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.addEventListener(\"mouseenter\", $e.mouseEnter.bind(this, e, t)), e.addEventListener(\"mouseleave\", $e.mouseLeave.bind(this, e, t)), e.addEventListener(\"mousedown\", $e.mouseDown.bind(this, e, t)), e.addEventListener(\"mouseup\", $e.mouseUp.bind(this, e, t));\n }\n }]);\n}();\nvar Yn = \"deep-chat-temporary-message\",\n Zn = \"deep-chat-suggestion-button\",\n ss = {\n \"deep-chat-button\": {\n styles: {\n \"default\": {\n backgroundColor: \"white\",\n padding: \"5px\",\n paddingLeft: \"7px\",\n paddingRight: \"7px\",\n border: \"1px solid #c2c2c2\",\n borderRadius: \"6px\",\n cursor: \"pointer\"\n },\n hover: {\n backgroundColor: \"#fafafa\"\n },\n click: {\n backgroundColor: \"#f1f1f1\"\n }\n }\n }\n },\n Hs = Object.keys(ss);\nvar we = /*#__PURE__*/function () {\n function we() {\n _classCallCheck(this, we);\n }\n return _createClass(we, null, [{\n key: \"applySuggestionEvent\",\n value: function applySuggestionEvent(e, t) {\n setTimeout(function () {\n t.addEventListener(\"click\", function () {\n var i, s;\n (s = e.submitUserMessage) == null || s.call(e, {\n text: ((i = t.textContent) == null ? void 0 : i.trim()) || \"\"\n });\n });\n });\n }\n }, {\n key: \"isElementTemporary\",\n value: function isElementTemporary(e) {\n var t;\n return e ? (t = e.bubbleElement.children[0]) == null ? void 0 : t.classList.contains(Yn) : !1;\n }\n }, {\n key: \"doesElementContainDeepChatClass\",\n value: function doesElementContainDeepChatClass(e) {\n return Hs.find(function (t) {\n return e.classList.contains(t);\n });\n }\n }, {\n key: \"applyEvents\",\n value: function applyEvents(e, t) {\n var i = ss[t].events;\n Object.keys(i || []).forEach(function (s) {\n e.addEventListener(s, i == null ? void 0 : i[s]);\n });\n }\n }, {\n key: \"getProcessedStyles\",\n value: function getProcessedStyles(e, t, i) {\n var s = Array.from(t.classList).reduce(function (a, l) {\n var d;\n var c = (d = e[l]) == null ? void 0 : d.styles;\n return c && e[l].styles && a.push(c), a;\n }, []),\n r = ss[i].styles;\n if (r) {\n var a = JSON.parse(JSON.stringify(r));\n a[\"default\"] && L.overwriteDefaultWithAlreadyApplied(a, t), s.unshift(a);\n }\n var o = L.mergeStatefulStyles(s);\n return L.processStateful(o);\n }\n }, {\n key: \"applyDeepChatUtilities\",\n value: function applyDeepChatUtilities(e, t, i) {\n Hs.forEach(function (r) {\n var o = i.getElementsByClassName(r);\n Array.from(o || []).forEach(function (a) {\n var l = we.getProcessedStyles(t, a, r);\n K.applyStylesToElement(a, l), we.applyEvents(a, r);\n });\n });\n var s = i.getElementsByClassName(Zn);\n Array.from(s).forEach(function (r) {\n return we.applySuggestionEvent(e, r);\n });\n }\n }]);\n}();\nvar K = /*#__PURE__*/function () {\n function K() {\n _classCallCheck(this, K);\n }\n return _createClass(K, null, [{\n key: \"applyStylesToElement\",\n value: function applyStylesToElement(e, t) {\n var i = L.processStateful(t);\n $e.add(e, i), Object.assign(e.style, i[\"default\"]);\n }\n }, {\n key: \"applyEventsToElement\",\n value: function applyEventsToElement(e, t) {\n Object.keys(t).forEach(function (i) {\n var s = t[i];\n s && e.addEventListener(i, s);\n });\n }\n }, {\n key: \"applyClassUtilitiesToElement\",\n value: function applyClassUtilitiesToElement(e, t) {\n var i = t.events,\n s = t.styles;\n i && K.applyEventsToElement(e, i), s && !we.doesElementContainDeepChatClass(e) && K.applyStylesToElement(e, s);\n }\n }, {\n key: \"applyCustomClassUtilities\",\n value: function applyCustomClassUtilities(e, t) {\n Object.keys(e).forEach(function (i) {\n var s = t.getElementsByClassName(i);\n Array.from(s).forEach(function (r) {\n e[i] && K.applyClassUtilitiesToElement(r, e[i]);\n });\n });\n }\n }, {\n key: \"apply\",\n value: function apply(e, t) {\n we.applyDeepChatUtilities(e, e.htmlClassUtilities, t), K.applyCustomClassUtilities(e.htmlClassUtilities, t);\n }\n }, {\n key: \"traverseNodes\",\n value: function traverseNodes(e, t) {\n e.nodeType === Node.ELEMENT_NODE && t.push(e.outerHTML), e.childNodes.forEach(function (i) {\n K.traverseNodes(i, t);\n });\n }\n }, {\n key: \"splitHTML\",\n value: function splitHTML(e) {\n var i = new DOMParser().parseFromString(e, \"text/html\"),\n s = [];\n return i.body.childNodes.forEach(function (r) {\n K.traverseNodes(r, s);\n }), s;\n }\n }, {\n key: \"isTemporaryBasedOnHTML\",\n value: function isTemporaryBasedOnHTML(e) {\n var t = document.createElement(\"div\");\n return t.innerHTML = e, we.isElementTemporary({\n outerContainer: t,\n bubbleElement: t,\n innerContainer: t\n });\n }\n // useful for removing event listeners\n }, {\n key: \"replaceElementWithNewClone\",\n value: function replaceElementWithNewClone(e, t) {\n var s;\n var i = (t || e).cloneNode(!0);\n return (s = e.parentNode) == null || s.replaceChild(i, e), i;\n }\n }]);\n}();\nvar Oe = /*#__PURE__*/function () {\n function Oe() {\n _classCallCheck(this, Oe);\n }\n return _createClass(Oe, null, [{\n key: \"addElement\",\n value: function addElement(e, t) {\n e.appendOuterContainerElemet(t), e.focusMode || (e.elementRef.scrollTop = e.elementRef.scrollHeight);\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t, i, s) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n var o = e.createMessageElementsOnOrientation(\"\", i, s, r);\n return o.bubbleElement.classList.add(Oe.HTML_BUBBLE_CLASS), o.bubbleElement.innerHTML = t, o;\n }\n }, {\n key: \"overwriteElements\",\n value: function overwriteElements(e, t, i) {\n i.bubbleElement.innerHTML = t, K.apply(e, i.outerContainer), te.flagHTMLUpdateClass(i.bubbleElement);\n }\n // prettier-ignore\n }, {\n key: \"overwrite\",\n value: function overwrite(e, t, i, s) {\n var r = e.messageToElements,\n o = v.overwriteMessage(r, s, t, i, \"html\", Oe.HTML_BUBBLE_CLASS);\n return o && Oe.overwriteElements(e, t, o), o;\n }\n }, {\n key: \"create\",\n value: function create(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var o;\n var r = Oe.createElements(e, t, i, s);\n return v.fillEmptyMessageElement(r.bubbleElement, t), K.apply(e, r.outerContainer), te.flagHTMLUpdateClass(r.bubbleElement), e.applyCustomStyles(r, i, !1, (o = e.messageStyles) == null ? void 0 : o.html), r;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i, s) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n if (s != null && s.status) {\n var a = this.overwrite(e, t, i, e.messageElementRefs);\n if (a) return a;\n s.status = !1;\n }\n if (r && e.messageElementRefs.length > 0 && K.isTemporaryBasedOnHTML(t)) return;\n var o = Oe.create(e, t, i, r);\n return r || Oe.addElement(e, o.outerContainer), o;\n }\n }]);\n}();\nOe.HTML_BUBBLE_CLASS = \"html-message\";\nvar Ae = Oe;\nvar pi;\nfunction Tn(n) {\n return pi = pi || document.createElement(\"textarea\"), pi.innerHTML = \"&\" + n + \";\", pi.value;\n}\nvar Qn = Object.prototype.hasOwnProperty;\nfunction er(n, e) {\n return n ? Qn.call(n, e) : !1;\n}\nfunction Cn(n) {\n var e = [].slice.call(arguments, 1);\n return e.forEach(function (t) {\n if (t) {\n if (_typeof(t) != \"object\") throw new TypeError(t + \"must be object\");\n Object.keys(t).forEach(function (i) {\n n[i] = t[i];\n });\n }\n }), n;\n}\nvar tr = /\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction ti(n) {\n return n.indexOf(\"\\\\\") < 0 ? n : n.replace(tr, \"$1\");\n}\nfunction Rn(n) {\n return !(n >= 55296 && n <= 57343 || n >= 64976 && n <= 65007 || (n & 65535) === 65535 || (n & 65535) === 65534 || n >= 0 && n <= 8 || n === 11 || n >= 14 && n <= 31 || n >= 127 && n <= 159 || n > 1114111);\n}\nfunction ns(n) {\n if (n > 65535) {\n n -= 65536;\n var e = 55296 + (n >> 10),\n t = 56320 + (n & 1023);\n return String.fromCharCode(e, t);\n }\n return String.fromCharCode(n);\n}\nvar ir = /&([a-z#][a-z0-9]{1,31});/gi,\n sr = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\nfunction nr(n, e) {\n var t = 0,\n i = Tn(e);\n return e !== i ? i : e.charCodeAt(0) === 35 && sr.test(e) && (t = e[1].toLowerCase() === \"x\" ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10), Rn(t)) ? ns(t) : n;\n}\nfunction ot(n) {\n return n.indexOf(\"&\") < 0 ? n : n.replace(ir, nr);\n}\nvar rr = /[&<>\"]/,\n or = /[&<>\"]/g,\n ar = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\"\n };\nfunction lr(n) {\n return ar[n];\n}\nfunction ee(n) {\n return rr.test(n) ? n.replace(or, lr) : n;\n}\nvar y = {};\ny.blockquote_open = function () {\n return \"<blockquote>\\n\";\n};\ny.blockquote_close = function (n, e) {\n return \"</blockquote>\" + ct(n, e);\n};\ny.code = function (n, e) {\n return n[e].block ? \"<pre><code>\" + ee(n[e].content) + \"</code></pre>\" + ct(n, e) : \"<code>\" + ee(n[e].content) + \"</code>\";\n};\ny.fence = function (n, e, t, i, s) {\n var r = n[e],\n o = \"\",\n a = t.langPrefix,\n l = \"\",\n c,\n d,\n u;\n if (r.params) {\n if (c = r.params.split(/\\s+/g), d = c.join(\" \"), er(s.rules.fence_custom, c[0])) return s.rules.fence_custom[c[0]](n, e, t, i, s);\n l = ee(ot(ti(d))), o = ' class=\"' + a + l + '\"';\n }\n return t.highlight ? u = t.highlight.apply(t.highlight, [r.content].concat(c)) || ee(r.content) : u = ee(r.content), \"<pre><code\" + o + \">\" + u + \"</code></pre>\" + ct(n, e);\n};\ny.fence_custom = {};\ny.heading_open = function (n, e) {\n return \"<h\" + n[e].hLevel + \">\";\n};\ny.heading_close = function (n, e) {\n return \"</h\" + n[e].hLevel + \">\\n\";\n};\ny.hr = function (n, e, t) {\n return (t.xhtmlOut ? \"<hr />\" : \"<hr>\") + ct(n, e);\n};\ny.bullet_list_open = function () {\n return \"<ul>\\n\";\n};\ny.bullet_list_close = function (n, e) {\n return \"</ul>\" + ct(n, e);\n};\ny.list_item_open = function () {\n return \"<li>\";\n};\ny.list_item_close = function () {\n return \"</li>\\n\";\n};\ny.ordered_list_open = function (n, e) {\n var t = n[e],\n i = t.order > 1 ? ' start=\"' + t.order + '\"' : \"\";\n return \"<ol\" + i + \">\\n\";\n};\ny.ordered_list_close = function (n, e) {\n return \"</ol>\" + ct(n, e);\n};\ny.paragraph_open = function (n, e) {\n return n[e].tight ? \"\" : \"<p>\";\n};\ny.paragraph_close = function (n, e) {\n var t = !(n[e].tight && e && n[e - 1].type === \"inline\" && !n[e - 1].content);\n return (n[e].tight ? \"\" : \"</p>\") + (t ? ct(n, e) : \"\");\n};\ny.link_open = function (n, e, t) {\n var i = n[e].title ? ' title=\"' + ee(ot(n[e].title)) + '\"' : \"\",\n s = t.linkTarget ? ' target=\"' + t.linkTarget + '\"' : \"\";\n return '<a href=\"' + ee(n[e].href) + '\"' + i + s + \">\";\n};\ny.link_close = function () {\n return \"</a>\";\n};\ny.image = function (n, e, t) {\n var i = ' src=\"' + ee(n[e].src) + '\"',\n s = n[e].title ? ' title=\"' + ee(ot(n[e].title)) + '\"' : \"\",\n r = ' alt=\"' + (n[e].alt ? ee(ot(ti(n[e].alt))) : \"\") + '\"',\n o = t.xhtmlOut ? \" /\" : \"\";\n return \"<img\" + i + r + s + o + \">\";\n};\ny.table_open = function () {\n return \"<table>\\n\";\n};\ny.table_close = function () {\n return \"</table>\\n\";\n};\ny.thead_open = function () {\n return \"<thead>\\n\";\n};\ny.thead_close = function () {\n return \"</thead>\\n\";\n};\ny.tbody_open = function () {\n return \"<tbody>\\n\";\n};\ny.tbody_close = function () {\n return \"</tbody>\\n\";\n};\ny.tr_open = function () {\n return \"<tr>\";\n};\ny.tr_close = function () {\n return \"</tr>\\n\";\n};\ny.th_open = function (n, e) {\n var t = n[e];\n return \"<th\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ny.th_close = function () {\n return \"</th>\";\n};\ny.td_open = function (n, e) {\n var t = n[e];\n return \"<td\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ny.td_close = function () {\n return \"</td>\";\n};\ny.strong_open = function () {\n return \"<strong>\";\n};\ny.strong_close = function () {\n return \"</strong>\";\n};\ny.em_open = function () {\n return \"<em>\";\n};\ny.em_close = function () {\n return \"</em>\";\n};\ny.del_open = function () {\n return \"<del>\";\n};\ny.del_close = function () {\n return \"</del>\";\n};\ny.ins_open = function () {\n return \"<ins>\";\n};\ny.ins_close = function () {\n return \"</ins>\";\n};\ny.mark_open = function () {\n return \"<mark>\";\n};\ny.mark_close = function () {\n return \"</mark>\";\n};\ny.sub = function (n, e) {\n return \"<sub>\" + ee(n[e].content) + \"</sub>\";\n};\ny.sup = function (n, e) {\n return \"<sup>\" + ee(n[e].content) + \"</sup>\";\n};\ny.hardbreak = function (n, e, t) {\n return t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\";\n};\ny.softbreak = function (n, e, t) {\n return t.breaks ? t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\" : \"\\n\";\n};\ny.text = function (n, e) {\n return ee(n[e].content);\n};\ny.htmlblock = function (n, e) {\n return n[e].content;\n};\ny.htmltag = function (n, e) {\n return n[e].content;\n};\ny.abbr_open = function (n, e) {\n return '<abbr title=\"' + ee(ot(n[e].title)) + '\">';\n};\ny.abbr_close = function () {\n return \"</abbr>\";\n};\ny.footnote_ref = function (n, e) {\n var t = Number(n[e].id + 1).toString(),\n i = \"fnref\" + t;\n return n[e].subId > 0 && (i += \":\" + n[e].subId), '<sup class=\"footnote-ref\"><a href=\"#fn' + t + '\" id=\"' + i + '\">[' + t + \"]</a></sup>\";\n};\ny.footnote_block_open = function (n, e, t) {\n var i = t.xhtmlOut ? \"<hr class=\\\"footnotes-sep\\\" />\\n\" : \"<hr class=\\\"footnotes-sep\\\">\\n\";\n return i + \"<section class=\\\"footnotes\\\">\\n<ol class=\\\"footnotes-list\\\">\\n\";\n};\ny.footnote_block_close = function () {\n return \"</ol>\\n</section>\\n\";\n};\ny.footnote_open = function (n, e) {\n var t = Number(n[e].id + 1).toString();\n return '<li id=\"fn' + t + '\" class=\"footnote-item\">';\n};\ny.footnote_close = function () {\n return \"</li>\\n\";\n};\ny.footnote_anchor = function (n, e) {\n var t = Number(n[e].id + 1).toString(),\n i = \"fnref\" + t;\n return n[e].subId > 0 && (i += \":\" + n[e].subId), ' <a href=\"#' + i + '\" class=\"footnote-backref\">↩</a>';\n};\ny.dl_open = function () {\n return \"<dl>\\n\";\n};\ny.dt_open = function () {\n return \"<dt>\";\n};\ny.dd_open = function () {\n return \"<dd>\";\n};\ny.dl_close = function () {\n return \"</dl>\\n\";\n};\ny.dt_close = function () {\n return \"</dt>\\n\";\n};\ny.dd_close = function () {\n return \"</dd>\\n\";\n};\nfunction Mn(n, e) {\n return ++e >= n.length - 2 ? e : n[e].type === \"paragraph_open\" && n[e].tight && n[e + 1].type === \"inline\" && n[e + 1].content.length === 0 && n[e + 2].type === \"paragraph_close\" && n[e + 2].tight ? Mn(n, e + 2) : e;\n}\nvar ct = y.getBreak = function (e, t) {\n return t = Mn(e, t), t < e.length && e[t].type === \"list_item_close\" ? \"\" : \"\\n\";\n};\nfunction xs() {\n this.rules = Cn({}, y), this.getBreak = y.getBreak;\n}\nxs.prototype.renderInline = function (n, e, t) {\n for (var i = this.rules, s = n.length, r = 0, o = \"\"; s--;) o += i[n[r].type](n, r++, e, t, this);\n return o;\n};\nxs.prototype.render = function (n, e, t) {\n for (var i = this.rules, s = n.length, r = -1, o = \"\"; ++r < s;) n[r].type === \"inline\" ? o += this.renderInline(n[r].children, e, t) : o += i[n[r].type](n, r, e, t, this);\n return o;\n};\nfunction oe() {\n this.__rules__ = [], this.__cache__ = null;\n}\noe.prototype.__find__ = function (n) {\n for (var e = this.__rules__.length, t = -1; e--;) if (this.__rules__[++t].name === n) return t;\n return -1;\n};\noe.prototype.__compile__ = function () {\n var n = this,\n e = [\"\"];\n n.__rules__.forEach(function (t) {\n t.enabled && t.alt.forEach(function (i) {\n e.indexOf(i) < 0 && e.push(i);\n });\n }), n.__cache__ = {}, e.forEach(function (t) {\n n.__cache__[t] = [], n.__rules__.forEach(function (i) {\n i.enabled && (t && i.alt.indexOf(t) < 0 || n.__cache__[t].push(i.fn));\n });\n });\n};\noe.prototype.at = function (n, e, t) {\n var i = this.__find__(n),\n s = t || {};\n if (i === -1) throw new Error(\"Parser rule not found: \" + n);\n this.__rules__[i].fn = e, this.__rules__[i].alt = s.alt || [], this.__cache__ = null;\n};\noe.prototype.before = function (n, e, t, i) {\n var s = this.__find__(n),\n r = i || {};\n if (s === -1) throw new Error(\"Parser rule not found: \" + n);\n this.__rules__.splice(s, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\noe.prototype.after = function (n, e, t, i) {\n var s = this.__find__(n),\n r = i || {};\n if (s === -1) throw new Error(\"Parser rule not found: \" + n);\n this.__rules__.splice(s + 1, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\noe.prototype.push = function (n, e, t) {\n var i = t || {};\n this.__rules__.push({\n name: n,\n enabled: !0,\n fn: e,\n alt: i.alt || []\n }), this.__cache__ = null;\n};\noe.prototype.enable = function (n, e) {\n n = Array.isArray(n) ? n : [n], e && this.__rules__.forEach(function (t) {\n t.enabled = !1;\n }), n.forEach(function (t) {\n var i = this.__find__(t);\n if (i < 0) throw new Error(\"Rules manager: invalid rule name \" + t);\n this.__rules__[i].enabled = !0;\n }, this), this.__cache__ = null;\n};\noe.prototype.disable = function (n) {\n n = Array.isArray(n) ? n : [n], n.forEach(function (e) {\n var t = this.__find__(e);\n if (t < 0) throw new Error(\"Rules manager: invalid rule name \" + e);\n this.__rules__[t].enabled = !1;\n }, this), this.__cache__ = null;\n};\noe.prototype.getRules = function (n) {\n return this.__cache__ === null && this.__compile__(), this.__cache__[n] || [];\n};\nfunction cr(n) {\n n.inlineMode ? n.tokens.push({\n type: \"inline\",\n content: n.src.replace(/\\n/g, \" \").trim(),\n level: 0,\n lines: [0, 1],\n children: []\n }) : n.block.parse(n.src, n.options, n.env, n.tokens);\n}\nfunction dt(n, e, t, i, s) {\n this.src = n, this.env = i, this.options = t, this.parser = e, this.tokens = s, this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = \"\", this.pendingLevel = 0, this.cache = [], this.isInLabel = !1, this.linkLevel = 0, this.linkContent = \"\", this.labelUnmatchedScopes = 0;\n}\ndt.prototype.pushPending = function () {\n this.tokens.push({\n type: \"text\",\n content: this.pending,\n level: this.pendingLevel\n }), this.pending = \"\";\n};\ndt.prototype.push = function (n) {\n this.pending && this.pushPending(), this.tokens.push(n), this.pendingLevel = this.level;\n};\ndt.prototype.cacheSet = function (n, e) {\n for (var t = this.cache.length; t <= n; t++) this.cache.push(0);\n this.cache[n] = e;\n};\ndt.prototype.cacheGet = function (n) {\n return n < this.cache.length ? this.cache[n] : 0;\n};\nfunction ii(n, e) {\n var t,\n i,\n s,\n r = -1,\n o = n.posMax,\n a = n.pos,\n l = n.isInLabel;\n if (n.isInLabel) return -1;\n if (n.labelUnmatchedScopes) return n.labelUnmatchedScopes--, -1;\n for (n.pos = e + 1, n.isInLabel = !0, t = 1; n.pos < o;) {\n if (s = n.src.charCodeAt(n.pos), s === 91) t++;else if (s === 93 && (t--, t === 0)) {\n i = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return i ? (r = n.pos, n.labelUnmatchedScopes = 0) : n.labelUnmatchedScopes = t - 1, n.pos = a, n.isInLabel = l, r;\n}\nfunction dr(n, e, t, i) {\n var s, r, o, a, l, c;\n if (n.charCodeAt(0) !== 42 || n.charCodeAt(1) !== 91 || n.indexOf(\"]:\") === -1 || (s = new dt(n, e, t, i, []), r = ii(s, 1), r < 0 || n.charCodeAt(r + 1) !== 58)) return -1;\n for (a = s.posMax, o = r + 2; o < a && s.src.charCodeAt(o) !== 10; o++);\n return l = n.slice(2, r), c = n.slice(r + 2, o).trim(), c.length === 0 ? -1 : (i.abbreviations || (i.abbreviations = {}), _typeof(i.abbreviations[\":\" + l]) > \"u\" && (i.abbreviations[\":\" + l] = c), o);\n}\nfunction hr(n) {\n var e = n.tokens,\n t,\n i,\n s,\n r;\n if (!n.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t - 1].type === \"paragraph_open\" && e[t].type === \"inline\" && e[t + 1].type === \"paragraph_close\") {\n for (s = e[t].content; s.length && (r = dr(s, n.inline, n.options, n.env), !(r < 0));) s = s.slice(r).trim();\n e[t].content = s, s.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction rs(n) {\n var e = ot(n);\n try {\n e = decodeURI(e);\n } catch (_unused3) {}\n return encodeURI(e);\n}\nfunction kn(n, e) {\n var t,\n i,\n s,\n r = e,\n o = n.posMax;\n if (n.src.charCodeAt(e) === 60) {\n for (e++; e < o;) {\n if (t = n.src.charCodeAt(e), t === 10) return !1;\n if (t === 62) return s = rs(ti(n.src.slice(r + 1, e))), n.parser.validateLink(s) ? (n.pos = e + 1, n.linkContent = s, !0) : !1;\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n }\n for (i = 0; e < o && (t = n.src.charCodeAt(e), !(t === 32 || t < 32 || t === 127));) {\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n if (t === 40 && (i++, i > 1) || t === 41 && (i--, i < 0)) break;\n e++;\n }\n return r === e || (s = ti(n.src.slice(r, e)), !n.parser.validateLink(s)) ? !1 : (n.linkContent = s, n.pos = e, !0);\n}\nfunction Ln(n, e) {\n var t,\n i = e,\n s = n.posMax,\n r = n.src.charCodeAt(e);\n if (r !== 34 && r !== 39 && r !== 40) return !1;\n for (e++, r === 40 && (r = 41); e < s;) {\n if (t = n.src.charCodeAt(e), t === r) return n.pos = e + 1, n.linkContent = ti(n.src.slice(i + 1, e)), !0;\n if (t === 92 && e + 1 < s) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n}\nfunction In(n) {\n return n.trim().replace(/\\s+/g, \" \").toUpperCase();\n}\nfunction ur(n, e, t, i) {\n var s, r, o, a, l, c, d, u, h;\n if (n.charCodeAt(0) !== 91 || n.indexOf(\"]:\") === -1 || (s = new dt(n, e, t, i, []), r = ii(s, 0), r < 0 || n.charCodeAt(r + 1) !== 58)) return -1;\n for (a = s.posMax, o = r + 2; o < a && (l = s.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n if (!kn(s, o)) return -1;\n for (d = s.linkContent, o = s.pos, c = o, o = o + 1; o < a && (l = s.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n for (o < a && c !== o && Ln(s, o) ? (u = s.linkContent, o = s.pos) : (u = \"\", o = c); o < a && s.src.charCodeAt(o) === 32;) o++;\n return o < a && s.src.charCodeAt(o) !== 10 ? -1 : (h = In(n.slice(1, r)), _typeof(i.references[h]) > \"u\" && (i.references[h] = {\n title: u,\n href: d\n }), o);\n}\nfunction fr(n) {\n var e = n.tokens,\n t,\n i,\n s,\n r;\n if (n.env.references = n.env.references || {}, !n.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t].type === \"inline\" && e[t - 1].type === \"paragraph_open\" && e[t + 1].type === \"paragraph_close\") {\n for (s = e[t].content; s.length && (r = ur(s, n.inline, n.options, n.env), !(r < 0));) s = s.slice(r).trim();\n e[t].content = s, s.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction pr(n) {\n var e = n.tokens,\n t,\n i,\n s;\n for (i = 0, s = e.length; i < s; i++) t = e[i], t.type === \"inline\" && n.inline.parse(t.content, n.options, n.env, t.children);\n}\nfunction mr(n) {\n var e,\n t,\n i,\n s,\n r,\n o,\n a,\n l,\n c,\n d = 0,\n u = !1,\n h = {};\n if (n.env.footnotes && (n.tokens = n.tokens.filter(function (f) {\n return f.type === \"footnote_reference_open\" ? (u = !0, l = [], c = f.label, !1) : f.type === \"footnote_reference_close\" ? (u = !1, h[\":\" + c] = l, !1) : (u && l.push(f), !u);\n }), !!n.env.footnotes.list)) {\n for (o = n.env.footnotes.list, n.tokens.push({\n type: \"footnote_block_open\",\n level: d++\n }), e = 0, t = o.length; e < t; e++) {\n for (n.tokens.push({\n type: \"footnote_open\",\n id: e,\n level: d++\n }), o[e].tokens ? (a = [], a.push({\n type: \"paragraph_open\",\n tight: !1,\n level: d++\n }), a.push({\n type: \"inline\",\n content: \"\",\n level: d,\n children: o[e].tokens\n }), a.push({\n type: \"paragraph_close\",\n tight: !1,\n level: --d\n })) : o[e].label && (a = h[\":\" + o[e].label]), n.tokens = n.tokens.concat(a), n.tokens[n.tokens.length - 1].type === \"paragraph_close\" ? r = n.tokens.pop() : r = null, s = o[e].count > 0 ? o[e].count : 1, i = 0; i < s; i++) n.tokens.push({\n type: \"footnote_anchor\",\n id: e,\n subId: i,\n level: d\n });\n r && n.tokens.push(r), n.tokens.push({\n type: \"footnote_close\",\n level: --d\n });\n }\n n.tokens.push({\n type: \"footnote_block_close\",\n level: --d\n });\n }\n}\nvar qs = \" \\n()[]'\\\".,!?-\";\nfunction Zi(n) {\n return n.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, \"\\\\$1\");\n}\nfunction gr(n) {\n var e,\n t,\n i,\n s,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n f = n.tokens;\n if (n.env.abbreviations) {\n for (n.env.abbrRegExp || (h = \"(^|[\" + qs.split(\"\").map(Zi).join(\"\") + \"])(\" + Object.keys(n.env.abbreviations).map(function (m) {\n return m.substr(1);\n }).sort(function (m, p) {\n return p.length - m.length;\n }).map(Zi).join(\"|\") + \")($|[\" + qs.split(\"\").map(Zi).join(\"\") + \"])\", n.env.abbrRegExp = new RegExp(h, \"g\")), d = n.env.abbrRegExp, t = 0, i = f.length; t < i; t++) if (f[t].type === \"inline\") {\n for (s = f[t].children, e = s.length - 1; e >= 0; e--) if (r = s[e], r.type === \"text\") {\n for (l = 0, o = r.content, d.lastIndex = 0, c = r.level, a = []; u = d.exec(o);) d.lastIndex > l && a.push({\n type: \"text\",\n content: o.slice(l, u.index + u[1].length),\n level: c\n }), a.push({\n type: \"abbr_open\",\n title: n.env.abbreviations[\":\" + u[2]],\n level: c++\n }), a.push({\n type: \"text\",\n content: u[2],\n level: c\n }), a.push({\n type: \"abbr_close\",\n level: --c\n }), l = d.lastIndex - u[3].length;\n a.length && (l < o.length && a.push({\n type: \"text\",\n content: o.slice(l),\n level: c\n }), f[t].children = s = [].concat(s.slice(0, e), a, s.slice(e + 1)));\n }\n }\n }\n}\nvar br = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,\n vr = /\\((c|tm|r|p)\\)/ig,\n yr = {\n c: \"©\",\n r: \"®\",\n p: \"§\",\n tm: \"™\"\n };\nfunction Er(n) {\n return n.indexOf(\"(\") < 0 ? n : n.replace(vr, function (e, t) {\n return yr[t.toLowerCase()];\n });\n}\nfunction Sr(n) {\n var e, t, i, s, r;\n if (n.options.typographer) {\n for (r = n.tokens.length - 1; r >= 0; r--) if (n.tokens[r].type === \"inline\") for (s = n.tokens[r].children, e = s.length - 1; e >= 0; e--) t = s[e], t.type === \"text\" && (i = t.content, i = Er(i), br.test(i) && (i = i.replace(/\\+-/g, \"±\").replace(/\\.{2,}/g, \"…\").replace(/([?!])…/g, \"$1..\").replace(/([?!]){4,}/g, \"$1$1$1\").replace(/,{2,}/g, \",\").replace(/(^|[^-])---([^-]|$)/mg, \"$1—$2\").replace(/(^|\\s)--(\\s|$)/mg, \"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/mg, \"$1–$2\")), t.content = i);\n }\n}\nvar _r = /['\"]/,\n zs = /['\"]/g,\n xr = /[-\\s()\\[\\]]/,\n Gs = \"’\";\nfunction Vs(n, e) {\n return e < 0 || e >= n.length ? !1 : !xr.test(n[e]);\n}\nfunction ft(n, e, t) {\n return n.substr(0, e) + t + n.substr(e + 1);\n}\nfunction wr(n) {\n var e, t, i, s, r, o, a, l, c, d, u, h, f, m, p, g, b;\n if (n.options.typographer) {\n for (b = [], p = n.tokens.length - 1; p >= 0; p--) if (n.tokens[p].type === \"inline\") {\n for (g = n.tokens[p].children, b.length = 0, e = 0; e < g.length; e++) if (t = g[e], !(t.type !== \"text\" || _r.test(t.text))) {\n for (a = g[e].level, f = b.length - 1; f >= 0 && !(b[f].level <= a); f--);\n b.length = f + 1, i = t.content, r = 0, o = i.length;\n e: for (; r < o && (zs.lastIndex = r, s = zs.exec(i), !!s);) {\n if (l = !Vs(i, s.index - 1), r = s.index + 1, m = s[0] === \"'\", c = !Vs(i, r), !c && !l) {\n m && (t.content = ft(t.content, s.index, Gs));\n continue;\n }\n if (u = !c, h = !l, h) {\n for (f = b.length - 1; f >= 0 && (d = b[f], !(b[f].level < a)); f--) if (d.single === m && b[f].level === a) {\n d = b[f], m ? (g[d.token].content = ft(g[d.token].content, d.pos, n.options.quotes[2]), t.content = ft(t.content, s.index, n.options.quotes[3])) : (g[d.token].content = ft(g[d.token].content, d.pos, n.options.quotes[0]), t.content = ft(t.content, s.index, n.options.quotes[1])), b.length = f;\n continue e;\n }\n }\n u ? b.push({\n token: e,\n pos: s.index,\n single: m,\n level: a\n }) : h && m && (t.content = ft(t.content, s.index, Gs));\n }\n }\n }\n }\n}\nvar Qi = [[\"block\", cr], [\"abbr\", hr], [\"references\", fr], [\"inline\", pr], [\"footnote_tail\", mr], [\"abbr2\", gr], [\"replacements\", Sr], [\"smartquotes\", wr]];\nfunction On() {\n this.options = {}, this.ruler = new oe();\n for (var n = 0; n < Qi.length; n++) this.ruler.push(Qi[n][0], Qi[n][1]);\n}\nOn.prototype.process = function (n) {\n var e, t, i;\n for (i = this.ruler.getRules(\"\"), e = 0, t = i.length; e < t; e++) i[e](n);\n};\nfunction ht(n, e, t, i, s) {\n var r, o, a, l, c, d, u;\n for (this.src = n, this.parser = e, this.options = t, this.env = i, this.tokens = s, this.bMarks = [], this.eMarks = [], this.tShift = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.parentType = \"root\", this.ddIndent = -1, this.level = 0, this.result = \"\", o = this.src, d = 0, u = !1, a = l = d = 0, c = o.length; l < c; l++) {\n if (r = o.charCodeAt(l), !u) if (r === 32) {\n d++;\n continue;\n } else u = !0;\n (r === 10 || l === c - 1) && (r !== 10 && l++, this.bMarks.push(a), this.eMarks.push(l), this.tShift.push(d), u = !1, d = 0, a = l + 1);\n }\n this.bMarks.push(o.length), this.eMarks.push(o.length), this.tShift.push(0), this.lineMax = this.bMarks.length - 1;\n}\nht.prototype.isEmpty = function (e) {\n return this.bMarks[e] + this.tShift[e] >= this.eMarks[e];\n};\nht.prototype.skipEmptyLines = function (e) {\n for (var t = this.lineMax; e < t && !(this.bMarks[e] + this.tShift[e] < this.eMarks[e]); e++);\n return e;\n};\nht.prototype.skipSpaces = function (e) {\n for (var t = this.src.length; e < t && this.src.charCodeAt(e) === 32; e++);\n return e;\n};\nht.prototype.skipChars = function (e, t) {\n for (var i = this.src.length; e < i && this.src.charCodeAt(e) === t; e++);\n return e;\n};\nht.prototype.skipCharsBack = function (e, t, i) {\n if (e <= i) return e;\n for (; e > i;) if (t !== this.src.charCodeAt(--e)) return e + 1;\n return e;\n};\nht.prototype.getLines = function (e, t, i, s) {\n var r,\n o,\n a,\n l,\n c,\n d = e;\n if (e >= t) return \"\";\n if (d + 1 === t) return o = this.bMarks[d] + Math.min(this.tShift[d], i), a = s ? this.eMarks[d] + 1 : this.eMarks[d], this.src.slice(o, a);\n for (l = new Array(t - e), r = 0; d < t; d++, r++) c = this.tShift[d], c > i && (c = i), c < 0 && (c = 0), o = this.bMarks[d] + c, d + 1 < t || s ? a = this.eMarks[d] + 1 : a = this.eMarks[d], l[r] = this.src.slice(o, a);\n return l.join(\"\");\n};\nfunction Ar(n, e, t) {\n var i, s;\n if (n.tShift[e] - n.blkIndent < 4) return !1;\n for (s = i = e + 1; i < t;) {\n if (n.isEmpty(i)) {\n i++;\n continue;\n }\n if (n.tShift[i] - n.blkIndent >= 4) {\n i++, s = i;\n continue;\n }\n break;\n }\n return n.line = i, n.tokens.push({\n type: \"code\",\n content: n.getLines(e, s, 4 + n.blkIndent, !0),\n block: !0,\n lines: [e, n.line],\n level: n.level\n }), !0;\n}\nfunction Tr(n, e, t, i) {\n var s,\n r,\n o,\n a,\n l,\n c = !1,\n d = n.bMarks[e] + n.tShift[e],\n u = n.eMarks[e];\n if (d + 3 > u || (s = n.src.charCodeAt(d), s !== 126 && s !== 96) || (l = d, d = n.skipChars(d, s), r = d - l, r < 3) || (o = n.src.slice(d, u).trim(), o.indexOf(\"`\") >= 0)) return !1;\n if (i) return !0;\n for (a = e; a++, !(a >= t || (d = l = n.bMarks[a] + n.tShift[a], u = n.eMarks[a], d < u && n.tShift[a] < n.blkIndent));) if (n.src.charCodeAt(d) === s && !(n.tShift[a] - n.blkIndent >= 4) && (d = n.skipChars(d, s), !(d - l < r) && (d = n.skipSpaces(d), !(d < u)))) {\n c = !0;\n break;\n }\n return r = n.tShift[e], n.line = a + (c ? 1 : 0), n.tokens.push({\n type: \"fence\",\n params: o,\n content: n.getLines(e + 1, a, r, !0),\n lines: [e, n.line],\n level: n.level\n }), !0;\n}\nfunction Cr(n, e, t, i) {\n var s,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n f,\n m,\n p = n.bMarks[e] + n.tShift[e],\n g = n.eMarks[e];\n if (p > g || n.src.charCodeAt(p++) !== 62 || n.level >= n.options.maxNesting) return !1;\n if (i) return !0;\n for (n.src.charCodeAt(p) === 32 && p++, l = n.blkIndent, n.blkIndent = 0, a = [n.bMarks[e]], n.bMarks[e] = p, p = p < g ? n.skipSpaces(p) : p, r = p >= g, o = [n.tShift[e]], n.tShift[e] = p - n.bMarks[e], u = n.parser.ruler.getRules(\"blockquote\"), s = e + 1; s < t && (p = n.bMarks[s] + n.tShift[s], g = n.eMarks[s], !(p >= g)); s++) {\n if (n.src.charCodeAt(p++) === 62) {\n n.src.charCodeAt(p) === 32 && p++, a.push(n.bMarks[s]), n.bMarks[s] = p, p = p < g ? n.skipSpaces(p) : p, r = p >= g, o.push(n.tShift[s]), n.tShift[s] = p - n.bMarks[s];\n continue;\n }\n if (r) break;\n for (m = !1, h = 0, f = u.length; h < f; h++) if (u[h](n, s, t, !0)) {\n m = !0;\n break;\n }\n if (m) break;\n a.push(n.bMarks[s]), o.push(n.tShift[s]), n.tShift[s] = -1337;\n }\n for (c = n.parentType, n.parentType = \"blockquote\", n.tokens.push({\n type: \"blockquote_open\",\n lines: d = [e, 0],\n level: n.level++\n }), n.parser.tokenize(n, e, s), n.tokens.push({\n type: \"blockquote_close\",\n level: --n.level\n }), n.parentType = c, d[1] = n.line, h = 0; h < o.length; h++) n.bMarks[h + e] = a[h], n.tShift[h + e] = o[h];\n return n.blkIndent = l, !0;\n}\nfunction Rr(n, e, t, i) {\n var s,\n r,\n o,\n a = n.bMarks[e],\n l = n.eMarks[e];\n if (a += n.tShift[e], a > l || (s = n.src.charCodeAt(a++), s !== 42 && s !== 45 && s !== 95)) return !1;\n for (r = 1; a < l;) {\n if (o = n.src.charCodeAt(a++), o !== s && o !== 32) return !1;\n o === s && r++;\n }\n return r < 3 ? !1 : (i || (n.line = e + 1, n.tokens.push({\n type: \"hr\",\n lines: [e, n.line],\n level: n.level\n })), !0);\n}\nfunction Ks(n, e) {\n var t, i, s;\n return i = n.bMarks[e] + n.tShift[e], s = n.eMarks[e], i >= s || (t = n.src.charCodeAt(i++), t !== 42 && t !== 45 && t !== 43) || i < s && n.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Ws(n, e) {\n var t,\n i = n.bMarks[e] + n.tShift[e],\n s = n.eMarks[e];\n if (i + 1 >= s || (t = n.src.charCodeAt(i++), t < 48 || t > 57)) return -1;\n for (;;) {\n if (i >= s) return -1;\n if (t = n.src.charCodeAt(i++), !(t >= 48 && t <= 57)) {\n if (t === 41 || t === 46) break;\n return -1;\n }\n }\n return i < s && n.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Mr(n, e) {\n var t,\n i,\n s = n.level + 2;\n for (t = e + 2, i = n.tokens.length - 2; t < i; t++) n.tokens[t].level === s && n.tokens[t].type === \"paragraph_open\" && (n.tokens[t + 2].tight = !0, n.tokens[t].tight = !0, t += 2);\n}\nfunction kr(n, e, t, i) {\n var s,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n f,\n m,\n p,\n g,\n b,\n k,\n j,\n pe,\n ae,\n ke = !0,\n _e,\n ie,\n Fs,\n Yi;\n if ((u = Ws(n, e)) >= 0) g = !0;else if ((u = Ks(n, e)) >= 0) g = !1;else return !1;\n if (n.level >= n.options.maxNesting) return !1;\n if (p = n.src.charCodeAt(u - 1), i) return !0;\n for (k = n.tokens.length, g ? (d = n.bMarks[e] + n.tShift[e], m = Number(n.src.substr(d, u - d - 1)), n.tokens.push({\n type: \"ordered_list_open\",\n order: m,\n lines: pe = [e, 0],\n level: n.level++\n })) : n.tokens.push({\n type: \"bullet_list_open\",\n lines: pe = [e, 0],\n level: n.level++\n }), s = e, j = !1, _e = n.parser.ruler.getRules(\"list\"); s < t && (b = n.skipSpaces(u), h = n.eMarks[s], b >= h ? f = 1 : f = b - u, f > 4 && (f = 1), f < 1 && (f = 1), r = u - n.bMarks[s] + f, n.tokens.push({\n type: \"list_item_open\",\n lines: ae = [e, 0],\n level: n.level++\n }), a = n.blkIndent, l = n.tight, o = n.tShift[e], c = n.parentType, n.tShift[e] = b - n.bMarks[e], n.blkIndent = r, n.tight = !0, n.parentType = \"list\", n.parser.tokenize(n, e, t, !0), (!n.tight || j) && (ke = !1), j = n.line - e > 1 && n.isEmpty(n.line - 1), n.blkIndent = a, n.tShift[e] = o, n.tight = l, n.parentType = c, n.tokens.push({\n type: \"list_item_close\",\n level: --n.level\n }), s = e = n.line, ae[1] = s, b = n.bMarks[e], !(s >= t || n.isEmpty(s) || n.tShift[s] < n.blkIndent));) {\n for (Yi = !1, ie = 0, Fs = _e.length; ie < Fs; ie++) if (_e[ie](n, s, t, !0)) {\n Yi = !0;\n break;\n }\n if (Yi) break;\n if (g) {\n if (u = Ws(n, s), u < 0) break;\n } else if (u = Ks(n, s), u < 0) break;\n if (p !== n.src.charCodeAt(u - 1)) break;\n }\n return n.tokens.push({\n type: g ? \"ordered_list_close\" : \"bullet_list_close\",\n level: --n.level\n }), pe[1] = s, n.line = s, ke && Mr(n, k), !0;\n}\nfunction Lr(n, e, t, i) {\n var s,\n r,\n o,\n a,\n l,\n c = n.bMarks[e] + n.tShift[e],\n d = n.eMarks[e];\n if (c + 4 > d || n.src.charCodeAt(c) !== 91 || n.src.charCodeAt(c + 1) !== 94 || n.level >= n.options.maxNesting) return !1;\n for (a = c + 2; a < d; a++) {\n if (n.src.charCodeAt(a) === 32) return !1;\n if (n.src.charCodeAt(a) === 93) break;\n }\n return a === c + 2 || a + 1 >= d || n.src.charCodeAt(++a) !== 58 ? !1 : (i || (a++, n.env.footnotes || (n.env.footnotes = {}), n.env.footnotes.refs || (n.env.footnotes.refs = {}), l = n.src.slice(c + 2, a - 2), n.env.footnotes.refs[\":\" + l] = -1, n.tokens.push({\n type: \"footnote_reference_open\",\n label: l,\n level: n.level++\n }), s = n.bMarks[e], r = n.tShift[e], o = n.parentType, n.tShift[e] = n.skipSpaces(a) - a, n.bMarks[e] = a, n.blkIndent += 4, n.parentType = \"footnote\", n.tShift[e] < n.blkIndent && (n.tShift[e] += n.blkIndent, n.bMarks[e] -= n.blkIndent), n.parser.tokenize(n, e, t, !0), n.parentType = o, n.blkIndent -= 4, n.tShift[e] = r, n.bMarks[e] = s, n.tokens.push({\n type: \"footnote_reference_close\",\n level: --n.level\n })), !0);\n}\nfunction Ir(n, e, t, i) {\n var s,\n r,\n o,\n a = n.bMarks[e] + n.tShift[e],\n l = n.eMarks[e];\n if (a >= l || (s = n.src.charCodeAt(a), s !== 35 || a >= l)) return !1;\n for (r = 1, s = n.src.charCodeAt(++a); s === 35 && a < l && r <= 6;) r++, s = n.src.charCodeAt(++a);\n return r > 6 || a < l && s !== 32 ? !1 : (i || (l = n.skipCharsBack(l, 32, a), o = n.skipCharsBack(l, 35, a), o > a && n.src.charCodeAt(o - 1) === 32 && (l = o), n.line = e + 1, n.tokens.push({\n type: \"heading_open\",\n hLevel: r,\n lines: [e, n.line],\n level: n.level\n }), a < l && n.tokens.push({\n type: \"inline\",\n content: n.src.slice(a, l).trim(),\n level: n.level + 1,\n lines: [e, n.line],\n children: []\n }), n.tokens.push({\n type: \"heading_close\",\n hLevel: r,\n level: n.level\n })), !0);\n}\nfunction Or(n, e, t) {\n var i,\n s,\n r,\n o = e + 1;\n return o >= t || n.tShift[o] < n.blkIndent || n.tShift[o] - n.blkIndent > 3 || (s = n.bMarks[o] + n.tShift[o], r = n.eMarks[o], s >= r) || (i = n.src.charCodeAt(s), i !== 45 && i !== 61) || (s = n.skipChars(s, i), s = n.skipSpaces(s), s < r) ? !1 : (s = n.bMarks[e] + n.tShift[e], n.line = o + 1, n.tokens.push({\n type: \"heading_open\",\n hLevel: i === 61 ? 1 : 2,\n lines: [e, n.line],\n level: n.level\n }), n.tokens.push({\n type: \"inline\",\n content: n.src.slice(s, n.eMarks[e]).trim(),\n level: n.level + 1,\n lines: [e, n.line - 1],\n children: []\n }), n.tokens.push({\n type: \"heading_close\",\n hLevel: i === 61 ? 1 : 2,\n level: n.level\n }), !0);\n}\nvar Pn = {};\n[\"article\", \"aside\", \"button\", \"blockquote\", \"body\", \"canvas\", \"caption\", \"col\", \"colgroup\", \"dd\", \"div\", \"dl\", \"dt\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"header\", \"hgroup\", \"hr\", \"iframe\", \"li\", \"map\", \"object\", \"ol\", \"output\", \"p\", \"pre\", \"progress\", \"script\", \"section\", \"style\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"tr\", \"thead\", \"ul\", \"video\"].forEach(function (n) {\n Pn[n] = !0;\n});\nvar Pr = /^<([a-zA-Z]{1,15})[\\s\\/>]/,\n Nr = /^<\\/([a-zA-Z]{1,15})[\\s>]/;\nfunction Dr(n) {\n var e = n | 32;\n return e >= 97 && e <= 122;\n}\nfunction Br(n, e, t, i) {\n var s,\n r,\n o,\n a = n.bMarks[e],\n l = n.eMarks[e],\n c = n.tShift[e];\n if (a += c, !n.options.html || c > 3 || a + 2 >= l || n.src.charCodeAt(a) !== 60) return !1;\n if (s = n.src.charCodeAt(a + 1), s === 33 || s === 63) {\n if (i) return !0;\n } else if (s === 47 || Dr(s)) {\n if (s === 47) {\n if (r = n.src.slice(a, l).match(Nr), !r) return !1;\n } else if (r = n.src.slice(a, l).match(Pr), !r) return !1;\n if (Pn[r[1].toLowerCase()] !== !0) return !1;\n if (i) return !0;\n } else return !1;\n for (o = e + 1; o < n.lineMax && !n.isEmpty(o);) o++;\n return n.line = o, n.tokens.push({\n type: \"htmlblock\",\n level: n.level,\n lines: [e, n.line],\n content: n.getLines(e, o, 0, !0)\n }), !0;\n}\nfunction es(n, e) {\n var t = n.bMarks[e] + n.blkIndent,\n i = n.eMarks[e];\n return n.src.substr(t, i - t);\n}\nfunction Fr(n, e, t, i) {\n var s, r, o, a, l, c, d, u, h, f, m;\n if (e + 2 > t || (l = e + 1, n.tShift[l] < n.blkIndent) || (o = n.bMarks[l] + n.tShift[l], o >= n.eMarks[l]) || (s = n.src.charCodeAt(o), s !== 124 && s !== 45 && s !== 58) || (r = es(n, e + 1), !/^[-:| ]+$/.test(r)) || (c = r.split(\"|\"), c <= 2)) return !1;\n for (u = [], a = 0; a < c.length; a++) {\n if (h = c[a].trim(), !h) {\n if (a === 0 || a === c.length - 1) continue;\n return !1;\n }\n if (!/^:?-+:?$/.test(h)) return !1;\n h.charCodeAt(h.length - 1) === 58 ? u.push(h.charCodeAt(0) === 58 ? \"center\" : \"right\") : h.charCodeAt(0) === 58 ? u.push(\"left\") : u.push(\"\");\n }\n if (r = es(n, e).trim(), r.indexOf(\"|\") === -1 || (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), u.length !== c.length)) return !1;\n if (i) return !0;\n for (n.tokens.push({\n type: \"table_open\",\n lines: f = [e, 0],\n level: n.level++\n }), n.tokens.push({\n type: \"thead_open\",\n lines: [e, e + 1],\n level: n.level++\n }), n.tokens.push({\n type: \"tr_open\",\n lines: [e, e + 1],\n level: n.level++\n }), a = 0; a < c.length; a++) n.tokens.push({\n type: \"th_open\",\n align: u[a],\n lines: [e, e + 1],\n level: n.level++\n }), n.tokens.push({\n type: \"inline\",\n content: c[a].trim(),\n lines: [e, e + 1],\n level: n.level,\n children: []\n }), n.tokens.push({\n type: \"th_close\",\n level: --n.level\n });\n for (n.tokens.push({\n type: \"tr_close\",\n level: --n.level\n }), n.tokens.push({\n type: \"thead_close\",\n level: --n.level\n }), n.tokens.push({\n type: \"tbody_open\",\n lines: m = [e + 2, 0],\n level: n.level++\n }), l = e + 2; l < t && !(n.tShift[l] < n.blkIndent || (r = es(n, l).trim(), r.indexOf(\"|\") === -1)); l++) {\n for (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), n.tokens.push({\n type: \"tr_open\",\n level: n.level++\n }), a = 0; a < c.length; a++) n.tokens.push({\n type: \"td_open\",\n align: u[a],\n level: n.level++\n }), d = c[a].substring(c[a].charCodeAt(0) === 124 ? 1 : 0, c[a].charCodeAt(c[a].length - 1) === 124 ? c[a].length - 1 : c[a].length).trim(), n.tokens.push({\n type: \"inline\",\n content: d,\n level: n.level,\n children: []\n }), n.tokens.push({\n type: \"td_close\",\n level: --n.level\n });\n n.tokens.push({\n type: \"tr_close\",\n level: --n.level\n });\n }\n return n.tokens.push({\n type: \"tbody_close\",\n level: --n.level\n }), n.tokens.push({\n type: \"table_close\",\n level: --n.level\n }), f[1] = m[1] = l, n.line = l, !0;\n}\nfunction mi(n, e) {\n var t,\n i,\n s = n.bMarks[e] + n.tShift[e],\n r = n.eMarks[e];\n return s >= r || (i = n.src.charCodeAt(s++), i !== 126 && i !== 58) || (t = n.skipSpaces(s), s === t) || t >= r ? -1 : t;\n}\nfunction Ur(n, e) {\n var t,\n i,\n s = n.level + 2;\n for (t = e + 2, i = n.tokens.length - 2; t < i; t++) n.tokens[t].level === s && n.tokens[t].type === \"paragraph_open\" && (n.tokens[t + 2].tight = !0, n.tokens[t].tight = !0, t += 2);\n}\nfunction jr(n, e, t, i) {\n var s, r, o, a, l, c, d, u, h, f, m, p, g, b;\n if (i) return n.ddIndent < 0 ? !1 : mi(n, e) >= 0;\n if (d = e + 1, n.isEmpty(d) && ++d > t || n.tShift[d] < n.blkIndent || (s = mi(n, d), s < 0) || n.level >= n.options.maxNesting) return !1;\n c = n.tokens.length, n.tokens.push({\n type: \"dl_open\",\n lines: l = [e, 0],\n level: n.level++\n }), o = e, r = d;\n e: for (;;) {\n for (b = !0, g = !1, n.tokens.push({\n type: \"dt_open\",\n lines: [o, o],\n level: n.level++\n }), n.tokens.push({\n type: \"inline\",\n content: n.getLines(o, o + 1, n.blkIndent, !1).trim(),\n level: n.level + 1,\n lines: [o, o],\n children: []\n }), n.tokens.push({\n type: \"dt_close\",\n level: --n.level\n });;) {\n if (n.tokens.push({\n type: \"dd_open\",\n lines: a = [d, 0],\n level: n.level++\n }), p = n.tight, h = n.ddIndent, u = n.blkIndent, m = n.tShift[r], f = n.parentType, n.blkIndent = n.ddIndent = n.tShift[r] + 2, n.tShift[r] = s - n.bMarks[r], n.tight = !0, n.parentType = \"deflist\", n.parser.tokenize(n, r, t, !0), (!n.tight || g) && (b = !1), g = n.line - r > 1 && n.isEmpty(n.line - 1), n.tShift[r] = m, n.tight = p, n.parentType = f, n.blkIndent = u, n.ddIndent = h, n.tokens.push({\n type: \"dd_close\",\n level: --n.level\n }), a[1] = d = n.line, d >= t || n.tShift[d] < n.blkIndent) break e;\n if (s = mi(n, d), s < 0) break;\n r = d;\n }\n if (d >= t || (o = d, n.isEmpty(o)) || n.tShift[o] < n.blkIndent || (r = o + 1, r >= t) || (n.isEmpty(r) && r++, r >= t) || n.tShift[r] < n.blkIndent || (s = mi(n, r), s < 0)) break;\n }\n return n.tokens.push({\n type: \"dl_close\",\n level: --n.level\n }), l[1] = d, n.line = d, b && Ur(n, c), !0;\n}\nfunction Hr(n, e) {\n var t,\n i,\n s,\n r,\n o,\n a = e + 1,\n l;\n if (t = n.lineMax, a < t && !n.isEmpty(a)) {\n for (l = n.parser.ruler.getRules(\"paragraph\"); a < t && !n.isEmpty(a); a++) if (!(n.tShift[a] - n.blkIndent > 3)) {\n for (s = !1, r = 0, o = l.length; r < o; r++) if (l[r](n, a, t, !0)) {\n s = !0;\n break;\n }\n if (s) break;\n }\n }\n return i = n.getLines(e, a, n.blkIndent, !1).trim(), n.line = a, i.length && (n.tokens.push({\n type: \"paragraph_open\",\n tight: !1,\n lines: [e, n.line],\n level: n.level\n }), n.tokens.push({\n type: \"inline\",\n content: i,\n level: n.level + 1,\n lines: [e, n.line],\n children: []\n }), n.tokens.push({\n type: \"paragraph_close\",\n tight: !1,\n level: n.level\n })), !0;\n}\nvar gi = [[\"code\", Ar], [\"fences\", Tr, [\"paragraph\", \"blockquote\", \"list\"]], [\"blockquote\", Cr, [\"paragraph\", \"blockquote\", \"list\"]], [\"hr\", Rr, [\"paragraph\", \"blockquote\", \"list\"]], [\"list\", kr, [\"paragraph\", \"blockquote\"]], [\"footnote\", Lr, [\"paragraph\"]], [\"heading\", Ir, [\"paragraph\", \"blockquote\"]], [\"lheading\", Or], [\"htmlblock\", Br, [\"paragraph\", \"blockquote\"]], [\"table\", Fr, [\"paragraph\"]], [\"deflist\", jr, [\"paragraph\"]], [\"paragraph\", Hr]];\nfunction ws() {\n this.ruler = new oe();\n for (var n = 0; n < gi.length; n++) this.ruler.push(gi[n][0], gi[n][1], {\n alt: (gi[n][2] || []).slice()\n });\n}\nws.prototype.tokenize = function (n, e, t) {\n for (var i = this.ruler.getRules(\"\"), s = i.length, r = e, o = !1, a, l; r < t && (n.line = r = n.skipEmptyLines(r), !(r >= t || n.tShift[r] < n.blkIndent));) {\n for (l = 0; l < s && (a = i[l](n, r, t, !1), !a); l++);\n if (n.tight = !o, n.isEmpty(n.line - 1) && (o = !0), r = n.line, r < t && n.isEmpty(r)) {\n if (o = !0, r++, r < t && n.parentType === \"list\" && n.isEmpty(r)) break;\n n.line = r;\n }\n }\n};\nvar qr = /[\\n\\t]/g,\n zr = /\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,\n Gr = /\\u00a0/g;\nws.prototype.parse = function (n, e, t, i) {\n var s,\n r = 0,\n o = 0;\n if (!n) return [];\n n = n.replace(Gr, \" \"), n = n.replace(zr, \"\\n\"), n.indexOf(\"\t\") >= 0 && (n = n.replace(qr, function (a, l) {\n var c;\n return n.charCodeAt(l) === 10 ? (r = l + 1, o = 0, a) : (c = \" \".slice((l - r - o) % 4), o = l - r + 1, c);\n })), s = new ht(n, this, e, t, i), this.tokenize(s, s.line, s.lineMax);\n};\nfunction Vr(n) {\n switch (n) {\n case 10:\n case 92:\n case 96:\n case 42:\n case 95:\n case 94:\n case 91:\n case 93:\n case 33:\n case 38:\n case 60:\n case 62:\n case 123:\n case 125:\n case 36:\n case 37:\n case 64:\n case 126:\n case 43:\n case 61:\n case 58:\n return !0;\n default:\n return !1;\n }\n}\nfunction Kr(n, e) {\n for (var t = n.pos; t < n.posMax && !Vr(n.src.charCodeAt(t));) t++;\n return t === n.pos ? !1 : (e || (n.pending += n.src.slice(n.pos, t)), n.pos = t, !0);\n}\nfunction Wr(n, e) {\n var t,\n i,\n s = n.pos;\n if (n.src.charCodeAt(s) !== 10) return !1;\n if (t = n.pending.length - 1, i = n.posMax, !e) if (t >= 0 && n.pending.charCodeAt(t) === 32) {\n if (t >= 1 && n.pending.charCodeAt(t - 1) === 32) {\n for (var r = t - 2; r >= 0; r--) if (n.pending.charCodeAt(r) !== 32) {\n n.pending = n.pending.substring(0, r + 1);\n break;\n }\n n.push({\n type: \"hardbreak\",\n level: n.level\n });\n } else n.pending = n.pending.slice(0, -1), n.push({\n type: \"softbreak\",\n level: n.level\n });\n } else n.push({\n type: \"softbreak\",\n level: n.level\n });\n for (s++; s < i && n.src.charCodeAt(s) === 32;) s++;\n return n.pos = s, !0;\n}\nvar As = [];\nfor (var $s = 0; $s < 256; $s++) As.push(0);\n\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function (n) {\n As[n.charCodeAt(0)] = 1;\n});\nfunction $r(n, e) {\n var t,\n i = n.pos,\n s = n.posMax;\n if (n.src.charCodeAt(i) !== 92) return !1;\n if (i++, i < s) {\n if (t = n.src.charCodeAt(i), t < 256 && As[t] !== 0) return e || (n.pending += n.src[i]), n.pos += 2, !0;\n if (t === 10) {\n for (e || n.push({\n type: \"hardbreak\",\n level: n.level\n }), i++; i < s && n.src.charCodeAt(i) === 32;) i++;\n return n.pos = i, !0;\n }\n }\n return e || (n.pending += \"\\\\\"), n.pos++, !0;\n}\nfunction Jr(n, e) {\n var t,\n i,\n s,\n r,\n o,\n a = n.pos,\n l = n.src.charCodeAt(a);\n if (l !== 96) return !1;\n for (t = a, a++, i = n.posMax; a < i && n.src.charCodeAt(a) === 96;) a++;\n for (s = n.src.slice(t, a), r = o = a; (r = n.src.indexOf(\"`\", o)) !== -1;) {\n for (o = r + 1; o < i && n.src.charCodeAt(o) === 96;) o++;\n if (o - r === s.length) return e || n.push({\n type: \"code\",\n content: n.src.slice(a, r).replace(/[ \\n]+/g, \" \").trim(),\n block: !1,\n level: n.level\n }), n.pos = o, !0;\n }\n return e || (n.pending += s), n.pos += s.length, !0;\n}\nfunction Xr(n, e) {\n var t,\n i,\n s,\n r = n.posMax,\n o = n.pos,\n a,\n l;\n if (n.src.charCodeAt(o) !== 126 || e || o + 4 >= r || n.src.charCodeAt(o + 1) !== 126 || n.level >= n.options.maxNesting || (a = o > 0 ? n.src.charCodeAt(o - 1) : -1, l = n.src.charCodeAt(o + 2), a === 126) || l === 126 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && n.src.charCodeAt(i) === 126;) i++;\n if (i > o + 3) return n.pos += i - o, e || (n.pending += n.src.slice(o, i)), !0;\n for (n.pos = o + 2, s = 1; n.pos + 1 < r;) {\n if (n.src.charCodeAt(n.pos) === 126 && n.src.charCodeAt(n.pos + 1) === 126 && (a = n.src.charCodeAt(n.pos - 1), l = n.pos + 2 < r ? n.src.charCodeAt(n.pos + 2) : -1, l !== 126 && a !== 126 && (a !== 32 && a !== 10 ? s-- : l !== 32 && l !== 10 && s++, s <= 0))) {\n t = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return t ? (n.posMax = n.pos, n.pos = o + 2, e || (n.push({\n type: \"del_open\",\n level: n.level++\n }), n.parser.tokenize(n), n.push({\n type: \"del_close\",\n level: --n.level\n })), n.pos = n.posMax + 2, n.posMax = r, !0) : (n.pos = o, !1);\n}\nfunction Yr(n, e) {\n var t,\n i,\n s,\n r = n.posMax,\n o = n.pos,\n a,\n l;\n if (n.src.charCodeAt(o) !== 43 || e || o + 4 >= r || n.src.charCodeAt(o + 1) !== 43 || n.level >= n.options.maxNesting || (a = o > 0 ? n.src.charCodeAt(o - 1) : -1, l = n.src.charCodeAt(o + 2), a === 43) || l === 43 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && n.src.charCodeAt(i) === 43;) i++;\n if (i !== o + 2) return n.pos += i - o, e || (n.pending += n.src.slice(o, i)), !0;\n for (n.pos = o + 2, s = 1; n.pos + 1 < r;) {\n if (n.src.charCodeAt(n.pos) === 43 && n.src.charCodeAt(n.pos + 1) === 43 && (a = n.src.charCodeAt(n.pos - 1), l = n.pos + 2 < r ? n.src.charCodeAt(n.pos + 2) : -1, l !== 43 && a !== 43 && (a !== 32 && a !== 10 ? s-- : l !== 32 && l !== 10 && s++, s <= 0))) {\n t = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return t ? (n.posMax = n.pos, n.pos = o + 2, e || (n.push({\n type: \"ins_open\",\n level: n.level++\n }), n.parser.tokenize(n), n.push({\n type: \"ins_close\",\n level: --n.level\n })), n.pos = n.posMax + 2, n.posMax = r, !0) : (n.pos = o, !1);\n}\nfunction Zr(n, e) {\n var t,\n i,\n s,\n r = n.posMax,\n o = n.pos,\n a,\n l;\n if (n.src.charCodeAt(o) !== 61 || e || o + 4 >= r || n.src.charCodeAt(o + 1) !== 61 || n.level >= n.options.maxNesting || (a = o > 0 ? n.src.charCodeAt(o - 1) : -1, l = n.src.charCodeAt(o + 2), a === 61) || l === 61 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && n.src.charCodeAt(i) === 61;) i++;\n if (i !== o + 2) return n.pos += i - o, e || (n.pending += n.src.slice(o, i)), !0;\n for (n.pos = o + 2, s = 1; n.pos + 1 < r;) {\n if (n.src.charCodeAt(n.pos) === 61 && n.src.charCodeAt(n.pos + 1) === 61 && (a = n.src.charCodeAt(n.pos - 1), l = n.pos + 2 < r ? n.src.charCodeAt(n.pos + 2) : -1, l !== 61 && a !== 61 && (a !== 32 && a !== 10 ? s-- : l !== 32 && l !== 10 && s++, s <= 0))) {\n t = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return t ? (n.posMax = n.pos, n.pos = o + 2, e || (n.push({\n type: \"mark_open\",\n level: n.level++\n }), n.parser.tokenize(n), n.push({\n type: \"mark_close\",\n level: --n.level\n })), n.pos = n.posMax + 2, n.posMax = r, !0) : (n.pos = o, !1);\n}\nfunction Js(n) {\n return n >= 48 && n <= 57 || n >= 65 && n <= 90 || n >= 97 && n <= 122;\n}\nfunction Xs(n, e) {\n var t = e,\n i,\n s,\n r,\n o = !0,\n a = !0,\n l = n.posMax,\n c = n.src.charCodeAt(e);\n for (i = e > 0 ? n.src.charCodeAt(e - 1) : -1; t < l && n.src.charCodeAt(t) === c;) t++;\n return t >= l && (o = !1), r = t - e, r >= 4 ? o = a = !1 : (s = t < l ? n.src.charCodeAt(t) : -1, (s === 32 || s === 10) && (o = !1), (i === 32 || i === 10) && (a = !1), c === 95 && (Js(i) && (o = !1), Js(s) && (a = !1))), {\n can_open: o,\n can_close: a,\n delims: r\n };\n}\nfunction Qr(n, e) {\n var t,\n i,\n s,\n r,\n o,\n a,\n l,\n c = n.posMax,\n d = n.pos,\n u = n.src.charCodeAt(d);\n if (u !== 95 && u !== 42 || e) return !1;\n if (l = Xs(n, d), t = l.delims, !l.can_open) return n.pos += t, e || (n.pending += n.src.slice(d, n.pos)), !0;\n if (n.level >= n.options.maxNesting) return !1;\n for (n.pos = d + t, a = [t]; n.pos < c;) {\n if (n.src.charCodeAt(n.pos) === u) {\n if (l = Xs(n, n.pos), i = l.delims, l.can_close) {\n for (r = a.pop(), o = i; r !== o;) {\n if (o < r) {\n a.push(r - o);\n break;\n }\n if (o -= r, a.length === 0) break;\n n.pos += r, r = a.pop();\n }\n if (a.length === 0) {\n t = r, s = !0;\n break;\n }\n n.pos += i;\n continue;\n }\n l.can_open && a.push(i), n.pos += i;\n continue;\n }\n n.parser.skipToken(n);\n }\n return s ? (n.posMax = n.pos, n.pos = d + t, e || ((t === 2 || t === 3) && n.push({\n type: \"strong_open\",\n level: n.level++\n }), (t === 1 || t === 3) && n.push({\n type: \"em_open\",\n level: n.level++\n }), n.parser.tokenize(n), (t === 1 || t === 3) && n.push({\n type: \"em_close\",\n level: --n.level\n }), (t === 2 || t === 3) && n.push({\n type: \"strong_close\",\n level: --n.level\n })), n.pos = n.posMax + t, n.posMax = c, !0) : (n.pos = d, !1);\n}\nvar eo = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction to(n, e) {\n var t,\n i,\n s = n.posMax,\n r = n.pos;\n if (n.src.charCodeAt(r) !== 126 || e || r + 2 >= s || n.level >= n.options.maxNesting) return !1;\n for (n.pos = r + 1; n.pos < s;) {\n if (n.src.charCodeAt(n.pos) === 126) {\n t = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return !t || r + 1 === n.pos || (i = n.src.slice(r + 1, n.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (n.pos = r, !1) : (n.posMax = n.pos, n.pos = r + 1, e || n.push({\n type: \"sub\",\n level: n.level,\n content: i.replace(eo, \"$1\")\n }), n.pos = n.posMax + 1, n.posMax = s, !0);\n}\nvar io = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction so(n, e) {\n var t,\n i,\n s = n.posMax,\n r = n.pos;\n if (n.src.charCodeAt(r) !== 94 || e || r + 2 >= s || n.level >= n.options.maxNesting) return !1;\n for (n.pos = r + 1; n.pos < s;) {\n if (n.src.charCodeAt(n.pos) === 94) {\n t = !0;\n break;\n }\n n.parser.skipToken(n);\n }\n return !t || r + 1 === n.pos || (i = n.src.slice(r + 1, n.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (n.pos = r, !1) : (n.posMax = n.pos, n.pos = r + 1, e || n.push({\n type: \"sup\",\n level: n.level,\n content: i.replace(io, \"$1\")\n }), n.pos = n.posMax + 1, n.posMax = s, !0);\n}\nfunction no(n, e) {\n var t,\n i,\n s,\n r,\n o,\n a,\n l,\n c,\n d = !1,\n u = n.pos,\n h = n.posMax,\n f = n.pos,\n m = n.src.charCodeAt(f);\n if (m === 33 && (d = !0, m = n.src.charCodeAt(++f)), m !== 91 || n.level >= n.options.maxNesting || (t = f + 1, i = ii(n, f), i < 0)) return !1;\n if (a = i + 1, a < h && n.src.charCodeAt(a) === 40) {\n for (a++; a < h && (c = n.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a >= h) return !1;\n for (f = a, kn(n, a) ? (r = n.linkContent, a = n.pos) : r = \"\", f = a; a < h && (c = n.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && f !== a && Ln(n, a)) for (o = n.linkContent, a = n.pos; a < h && (c = n.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);else o = \"\";\n if (a >= h || n.src.charCodeAt(a) !== 41) return n.pos = u, !1;\n a++;\n } else {\n if (n.linkLevel > 0) return !1;\n for (; a < h && (c = n.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && n.src.charCodeAt(a) === 91 && (f = a + 1, a = ii(n, a), a >= 0 ? s = n.src.slice(f, a++) : a = f - 1), s || (_typeof(s) > \"u\" && (a = i + 1), s = n.src.slice(t, i)), l = n.env.references[In(s)], !l) return n.pos = u, !1;\n r = l.href, o = l.title;\n }\n return e || (n.pos = t, n.posMax = i, d ? n.push({\n type: \"image\",\n src: r,\n title: o,\n alt: n.src.substr(t, i - t),\n level: n.level\n }) : (n.push({\n type: \"link_open\",\n href: r,\n title: o,\n level: n.level++\n }), n.linkLevel++, n.parser.tokenize(n), n.linkLevel--, n.push({\n type: \"link_close\",\n level: --n.level\n }))), n.pos = a, n.posMax = h, !0;\n}\nfunction ro(n, e) {\n var t,\n i,\n s,\n r,\n o = n.posMax,\n a = n.pos;\n return a + 2 >= o || n.src.charCodeAt(a) !== 94 || n.src.charCodeAt(a + 1) !== 91 || n.level >= n.options.maxNesting || (t = a + 2, i = ii(n, a + 1), i < 0) ? !1 : (e || (n.env.footnotes || (n.env.footnotes = {}), n.env.footnotes.list || (n.env.footnotes.list = []), s = n.env.footnotes.list.length, n.pos = t, n.posMax = i, n.push({\n type: \"footnote_ref\",\n id: s,\n level: n.level\n }), n.linkLevel++, r = n.tokens.length, n.parser.tokenize(n), n.env.footnotes.list[s] = {\n tokens: n.tokens.splice(r)\n }, n.linkLevel--), n.pos = i + 1, n.posMax = o, !0);\n}\nfunction oo(n, e) {\n var t,\n i,\n s,\n r,\n o = n.posMax,\n a = n.pos;\n if (a + 3 > o || !n.env.footnotes || !n.env.footnotes.refs || n.src.charCodeAt(a) !== 91 || n.src.charCodeAt(a + 1) !== 94 || n.level >= n.options.maxNesting) return !1;\n for (i = a + 2; i < o; i++) {\n if (n.src.charCodeAt(i) === 32 || n.src.charCodeAt(i) === 10) return !1;\n if (n.src.charCodeAt(i) === 93) break;\n }\n return i === a + 2 || i >= o || (i++, t = n.src.slice(a + 2, i - 1), _typeof(n.env.footnotes.refs[\":\" + t]) > \"u\") ? !1 : (e || (n.env.footnotes.list || (n.env.footnotes.list = []), n.env.footnotes.refs[\":\" + t] < 0 ? (s = n.env.footnotes.list.length, n.env.footnotes.list[s] = {\n label: t,\n count: 0\n }, n.env.footnotes.refs[\":\" + t] = s) : s = n.env.footnotes.refs[\":\" + t], r = n.env.footnotes.list[s].count, n.env.footnotes.list[s].count++, n.push({\n type: \"footnote_ref\",\n id: s,\n subId: r,\n level: n.level\n })), n.pos = i, n.posMax = o, !0);\n}\nvar ao = [\"coap\", \"doi\", \"javascript\", \"aaa\", \"aaas\", \"about\", \"acap\", \"cap\", \"cid\", \"crid\", \"data\", \"dav\", \"dict\", \"dns\", \"file\", \"ftp\", \"geo\", \"go\", \"gopher\", \"h323\", \"http\", \"https\", \"iax\", \"icap\", \"im\", \"imap\", \"info\", \"ipp\", \"iris\", \"iris.beep\", \"iris.xpc\", \"iris.xpcs\", \"iris.lwz\", \"ldap\", \"mailto\", \"mid\", \"msrp\", \"msrps\", \"mtqp\", \"mupdate\", \"news\", \"nfs\", \"ni\", \"nih\", \"nntp\", \"opaquelocktoken\", \"pop\", \"pres\", \"rtsp\", \"service\", \"session\", \"shttp\", \"sieve\", \"sip\", \"sips\", \"sms\", \"snmp\", \"soap.beep\", \"soap.beeps\", \"tag\", \"tel\", \"telnet\", \"tftp\", \"thismessage\", \"tn3270\", \"tip\", \"tv\", \"urn\", \"vemmi\", \"ws\", \"wss\", \"xcon\", \"xcon-userid\", \"xmlrpc.beep\", \"xmlrpc.beeps\", \"xmpp\", \"z39.50r\", \"z39.50s\", \"adiumxtra\", \"afp\", \"afs\", \"aim\", \"apt\", \"attachment\", \"aw\", \"beshare\", \"bitcoin\", \"bolo\", \"callto\", \"chrome\", \"chrome-extension\", \"com-eventbrite-attendee\", \"content\", \"cvs\", \"dlna-playsingle\", \"dlna-playcontainer\", \"dtn\", \"dvb\", \"ed2k\", \"facetime\", \"feed\", \"finger\", \"fish\", \"gg\", \"git\", \"gizmoproject\", \"gtalk\", \"hcp\", \"icon\", \"ipn\", \"irc\", \"irc6\", \"ircs\", \"itms\", \"jar\", \"jms\", \"keyparc\", \"lastfm\", \"ldaps\", \"magnet\", \"maps\", \"market\", \"message\", \"mms\", \"ms-help\", \"msnim\", \"mumble\", \"mvn\", \"notes\", \"oid\", \"palm\", \"paparazzi\", \"platform\", \"proxy\", \"psyc\", \"query\", \"res\", \"resource\", \"rmi\", \"rsync\", \"rtmp\", \"secondlife\", \"sftp\", \"sgn\", \"skype\", \"smb\", \"soldat\", \"spotify\", \"ssh\", \"steam\", \"svn\", \"teamspeak\", \"things\", \"udp\", \"unreal\", \"ut2004\", \"ventrilo\", \"view-source\", \"webcal\", \"wtai\", \"wyciwyg\", \"xfire\", \"xri\", \"ymsgr\"],\n lo = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,\n co = /^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;\nfunction ho(n, e) {\n var t,\n i,\n s,\n r,\n o,\n a = n.pos;\n return n.src.charCodeAt(a) !== 60 || (t = n.src.slice(a), t.indexOf(\">\") < 0) ? !1 : (i = t.match(co), i ? ao.indexOf(i[1].toLowerCase()) < 0 || (r = i[0].slice(1, -1), o = rs(r), !n.parser.validateLink(r)) ? !1 : (e || (n.push({\n type: \"link_open\",\n href: o,\n level: n.level\n }), n.push({\n type: \"text\",\n content: r,\n level: n.level + 1\n }), n.push({\n type: \"link_close\",\n level: n.level\n })), n.pos += i[0].length, !0) : (s = t.match(lo), s ? (r = s[0].slice(1, -1), o = rs(\"mailto:\" + r), n.parser.validateLink(o) ? (e || (n.push({\n type: \"link_open\",\n href: o,\n level: n.level\n }), n.push({\n type: \"text\",\n content: r,\n level: n.level + 1\n }), n.push({\n type: \"link_close\",\n level: n.level\n })), n.pos += s[0].length, !0) : !1) : !1));\n}\nfunction Gi(n, e) {\n return n = n.source, e = e || \"\", function t(i, s) {\n return i ? (s = s.source || s, n = n.replace(i, s), t) : new RegExp(n, e);\n };\n}\nvar uo = /[a-zA-Z_:][a-zA-Z0-9:._-]*/,\n fo = /[^\"'=<>`\\x00-\\x20]+/,\n po = /'[^']*'/,\n mo = /\"[^\"]*\"/,\n go = Gi(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\", fo)(\"single_quoted\", po)(\"double_quoted\", mo)(),\n bo = Gi(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\", uo)(\"attr_value\", go)(),\n vo = Gi(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\", bo)(),\n yo = /<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,\n Eo = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,\n So = /<[?].*?[?]>/,\n _o = /<![A-Z]+\\s+[^>]*>/,\n xo = /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/,\n wo = Gi(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\", vo)(\"close_tag\", yo)(\"comment\", Eo)(\"processing\", So)(\"declaration\", _o)(\"cdata\", xo)();\nfunction Ao(n) {\n var e = n | 32;\n return e >= 97 && e <= 122;\n}\nfunction To(n, e) {\n var t,\n i,\n s,\n r = n.pos;\n return !n.options.html || (s = n.posMax, n.src.charCodeAt(r) !== 60 || r + 2 >= s) || (t = n.src.charCodeAt(r + 1), t !== 33 && t !== 63 && t !== 47 && !Ao(t)) || (i = n.src.slice(r).match(wo), !i) ? !1 : (e || n.push({\n type: \"htmltag\",\n content: n.src.slice(r, r + i[0].length),\n level: n.level\n }), n.pos += i[0].length, !0);\n}\nvar Co = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,\n Ro = /^&([a-z][a-z0-9]{1,31});/i;\nfunction Mo(n, e) {\n var t,\n i,\n s,\n r = n.pos,\n o = n.posMax;\n if (n.src.charCodeAt(r) !== 38) return !1;\n if (r + 1 < o) {\n if (t = n.src.charCodeAt(r + 1), t === 35) {\n if (s = n.src.slice(r).match(Co), s) return e || (i = s[1][0].toLowerCase() === \"x\" ? parseInt(s[1].slice(1), 16) : parseInt(s[1], 10), n.pending += Rn(i) ? ns(i) : ns(65533)), n.pos += s[0].length, !0;\n } else if (s = n.src.slice(r).match(Ro), s) {\n var a = Tn(s[1]);\n if (s[1] !== a) return e || (n.pending += a), n.pos += s[0].length, !0;\n }\n }\n return e || (n.pending += \"&\"), n.pos++, !0;\n}\nvar ts = [[\"text\", Kr], [\"newline\", Wr], [\"escape\", $r], [\"backticks\", Jr], [\"del\", Xr], [\"ins\", Yr], [\"mark\", Zr], [\"emphasis\", Qr], [\"sub\", to], [\"sup\", so], [\"links\", no], [\"footnote_inline\", ro], [\"footnote_ref\", oo], [\"autolink\", ho], [\"htmltag\", To], [\"entity\", Mo]];\nfunction Vi() {\n this.ruler = new oe();\n for (var n = 0; n < ts.length; n++) this.ruler.push(ts[n][0], ts[n][1]);\n this.validateLink = ko;\n}\nVi.prototype.skipToken = function (n) {\n var e = this.ruler.getRules(\"\"),\n t = e.length,\n i = n.pos,\n s,\n r;\n if ((r = n.cacheGet(i)) > 0) {\n n.pos = r;\n return;\n }\n for (s = 0; s < t; s++) if (e[s](n, !0)) {\n n.cacheSet(i, n.pos);\n return;\n }\n n.pos++, n.cacheSet(i, n.pos);\n};\nVi.prototype.tokenize = function (n) {\n for (var e = this.ruler.getRules(\"\"), t = e.length, i = n.posMax, s, r; n.pos < i;) {\n for (r = 0; r < t && (s = e[r](n, !1), !s); r++);\n if (s) {\n if (n.pos >= i) break;\n continue;\n }\n n.pending += n.src[n.pos++];\n }\n n.pending && n.pushPending();\n};\nVi.prototype.parse = function (n, e, t, i) {\n var s = new dt(n, this, e, t, i);\n this.tokenize(s);\n};\nfunction ko(n) {\n var e = [\"vbscript\", \"javascript\", \"file\", \"data\"],\n t = n.trim().toLowerCase();\n return t = ot(t), !(t.indexOf(\":\") !== -1 && e.indexOf(t.split(\":\")[0]) !== -1);\n}\nvar Lo = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"replacements\", \"smartquotes\", \"references\", \"abbr2\", \"footnote_tail\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"footnote\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\", \"table\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"del\", \"emphasis\", \"entity\", \"escape\", \"footnote_ref\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n Io = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n // Don't restrict core/block/inline rules\n core: {},\n block: {},\n inline: {}\n }\n },\n Oo = {\n options: {\n html: !0,\n // Enable HTML tags in source\n xhtmlOut: !0,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"abbr2\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"emphasis\", \"entity\", \"escape\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n Po = {\n \"default\": Lo,\n full: Io,\n commonmark: Oo\n };\nfunction Nn(n, e, t) {\n this.src = e, this.env = t, this.options = n.options, this.tokens = [], this.inlineMode = !1, this.inline = n.inline, this.block = n.block, this.renderer = n.renderer, this.typographer = n.typographer;\n}\nfunction Te(n, e) {\n typeof n != \"string\" && (e = n, n = \"default\"), e && e.linkify != null && console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"), this.inline = new Vi(), this.block = new ws(), this.core = new On(), this.renderer = new xs(), this.ruler = new oe(), this.options = {}, this.configure(Po[n]), this.set(e || {});\n}\nTe.prototype.set = function (n) {\n Cn(this.options, n);\n};\nTe.prototype.configure = function (n) {\n var e = this;\n if (!n) throw new Error(\"Wrong `remarkable` preset, check name/content\");\n n.options && e.set(n.options), n.components && Object.keys(n.components).forEach(function (t) {\n n.components[t].rules && e[t].ruler.enable(n.components[t].rules, !0);\n });\n};\nTe.prototype.use = function (n, e) {\n return n(this, e), this;\n};\nTe.prototype.parse = function (n, e) {\n var t = new Nn(this, n, e);\n return this.core.process(t), t.tokens;\n};\nTe.prototype.render = function (n, e) {\n return e = e || {}, this.renderer.render(this.parse(n, e), this.options, e);\n};\nTe.prototype.parseInline = function (n, e) {\n var t = new Nn(this, n, e);\n return t.inlineMode = !0, this.core.process(t), t.tokens;\n};\nTe.prototype.renderInline = function (n, e) {\n return e = e || {}, this.renderer.render(this.parseInline(n, e), this.options, e);\n};\nvar bt = /*#__PURE__*/function () {\n function bt() {\n _classCallCheck(this, bt);\n }\n return _createClass(bt, null, [{\n key: \"instantiate\",\n value: function instantiate(e) {\n if (e) return new Te(_objectSpread(_objectSpread({}, bt.DEFAULT_PROPERTIES), e));\n if (window.hljs) {\n var t = window.hljs;\n return new Te({\n highlight: function highlight(i, s) {\n if (s && t.getLanguage(s)) try {\n return t.highlight(i, {\n language: s\n }).value;\n } catch (_unused4) {\n console.error(\"failed to setup the highlight dependency\");\n }\n try {\n return t.highlightAuto(i).value;\n } catch (_unused5) {\n console.error(\"failed to automatically highlight messages\");\n }\n return \"\";\n },\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !0,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"_blank\",\n // set target to open in a new tab\n typographer: !0\n // Enable smartypants and other sweet transforms\n });\n } else return new Te(bt.DEFAULT_PROPERTIES);\n }\n }, {\n key: \"createNew\",\n value: function createNew(e) {\n var t = bt.instantiate(e);\n return t.inline.validateLink = function () {\n return !0;\n }, t;\n }\n }]);\n}();\nbt.DEFAULT_PROPERTIES = {\n breaks: !0,\n linkTarget: \"_blank\"\n // set target to open in a new tab\n};\nvar si = bt;\nvar No = /*#__PURE__*/function () {\n function No(e) {\n _classCallCheck(this, No);\n this.storageKey = \"deep-chat-storage\", this.maxMessages = 1e3, _typeof(e) == \"object\" && (e.key && (this.storageKey = e.key), e.maxMessages && (this.maxMessages = e.maxMessages), e.clear = this.clear.bind(this));\n }\n return _createClass(No, [{\n key: \"get\",\n value: function get() {\n var e = localStorage.getItem(this.storageKey);\n return e ? JSON.parse(e) : [];\n }\n }, {\n key: \"addMessages\",\n value: function addMessages(e) {\n var t = e.length - this.maxMessages;\n t < 0 && (t = 0);\n var i = e.slice(t, e.length);\n localStorage.setItem(this.storageKey, JSON.stringify(i));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n localStorage.removeItem(this.storageKey);\n }\n }]);\n}();\nvar Y = /*#__PURE__*/function () {\n function Y() {\n _classCallCheck(this, Y);\n }\n return _createClass(Y, null, [{\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n if (i && (Object.assign(e.outerContainer.style, i.outerContainer), Object.assign(e.innerContainer.style, i.innerContainer), Object.assign(e.bubbleElement.style, i.bubble), t)) {\n var s = e.bubbleElement.children[0],\n r = s.tagName.toLocaleLowerCase() !== \"a\" ? s : s.children[0];\n Object.assign(r.style, i.media);\n }\n }\n }, {\n key: \"applySideStyles\",\n value: function applySideStyles(e, t, i, s) {\n s && (Y.applyCustomStylesToElements(e, i, s.shared), t === v.USER_ROLE ? Y.applyCustomStylesToElements(e, i, s.user) : (Y.applyCustomStylesToElements(e, i, s.ai), Y.applyCustomStylesToElements(e, i, s[t])));\n }\n }, {\n key: \"isElementsStyles\",\n value: function isElementsStyles(e) {\n return !!(e.outerContainer || e.innerContainer || e.bubble || e.media);\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, s, r) {\n var o;\n r && e[\"default\"] !== r ? Y.isElementsStyles(r) ? (Y.applyCustomStylesToElements(t, s, (o = e[\"default\"]) == null ? void 0 : o.shared), Y.applyCustomStylesToElements(t, s, r)) : (Y.applySideStyles(t, i, s, e[\"default\"]), Y.applySideStyles(t, i, s, r)) : Y.applySideStyles(t, i, s, e[\"default\"]);\n }\n // prettier-ignore\n }, {\n key: \"extractParticularSharedStyles\",\n value: function extractParticularSharedStyles(e, t) {\n if (!(t != null && t.shared)) return;\n var i = t.shared,\n s = {\n outerContainer: {},\n innerContainer: {},\n bubble: {},\n media: {}\n };\n return e.forEach(function (r) {\n var o, a, l, c;\n s.outerContainer[r] = ((o = i.outerContainer) == null ? void 0 : o[r]) || \"\", s.innerContainer[r] = ((a = i.innerContainer) == null ? void 0 : a[r]) || \"\", s.bubble[r] = ((l = i.bubble) == null ? void 0 : l[r]) || \"\", s.media[r] = ((c = i.media) == null ? void 0 : c[r]) || \"\";\n }), s;\n }\n }]);\n}();\nvar ni = /*#__PURE__*/function () {\n function ni() {\n _classCallCheck(this, ni);\n }\n return _createClass(ni, null, [{\n key: \"onMessage\",\n value: function onMessage(e, t, i) {\n var r;\n var s = JSON.parse(JSON.stringify({\n message: t,\n isHistory: i,\n isInitial: i\n }));\n q.reAddFileRefToObject(t, s.message), (r = e.onMessage) == null || r.call(e, s), e.dispatchEvent(new CustomEvent(\"message\", {\n detail: s\n })), te.fireOnNewMessage(e, s);\n }\n }, {\n key: \"onClearMessages\",\n value: function onClearMessages(e) {\n var t;\n (t = e.onClearMessages) == null || t.call(e), e.dispatchEvent(new CustomEvent(\"clear-messages\"));\n }\n }, {\n key: \"onRender\",\n value: function onRender(e) {\n var t;\n (t = e.onComponentRender) == null || t.call(e, e), e.dispatchEvent(new CustomEvent(\"render\", {\n detail: e\n }));\n }\n }, {\n key: \"onInput\",\n value: function onInput(e, t, i) {\n var r, o;\n var s = JSON.parse(JSON.stringify({\n content: t,\n isUser: i\n }));\n t.files && q.reAddFileRefToObject({\n files: (r = t.files) == null ? void 0 : r.map(function (a) {\n return {\n ref: a\n };\n })\n }, s.content), (o = e.onInput) == null || o.call(e, s), e.dispatchEvent(new CustomEvent(\"input\", {\n detail: s\n }));\n }\n }, {\n key: \"onError\",\n value: function onError(e, t) {\n var i;\n (i = e.onError) == null || i.call(e, t), e.dispatchEvent(new CustomEvent(\"error\", {\n detail: t\n }));\n }\n }]);\n}();\nvar F = /*#__PURE__*/function () {\n function F() {\n _classCallCheck(this, F);\n }\n return _createClass(F, null, [{\n key: \"generateLoadingRingElement\",\n value: function generateLoadingRingElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"loading-history\"), e.appendChild(document.createElement(\"div\")), e.appendChild(document.createElement(\"div\")), e.appendChild(document.createElement(\"div\")), e.appendChild(document.createElement(\"div\")), e;\n }\n }, {\n key: \"apply\",\n value: function apply(e, t, i) {\n Fe.setRing(t.bubbleElement, i == null ? void 0 : i.bubble), i != null && i.bubble && (i = JSON.parse(JSON.stringify(i)), delete i.bubble), e.applyCustomStyles(t, \"history\", !1, i);\n }\n }, {\n key: \"addLoadHistoryMessage\",\n value: function addLoadHistoryMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var o, a, l, c, d, u, h, f;\n e.bubbleElement.classList.add(F.CLASS);\n var s = i ? F.FULL_VIEW_CLASS : F.SMALL_CLASS;\n e.outerContainer.classList.add(s);\n var r = i ? (c = (l = (a = (o = t.messageStyles) == null ? void 0 : o.loading) == null ? void 0 : a.history) == null ? void 0 : l.full) == null ? void 0 : c.styles : (f = (h = (u = (d = t.messageStyles) == null ? void 0 : d.loading) == null ? void 0 : u.history) == null ? void 0 : h.small) == null ? void 0 : f.styles;\n F.apply(t, e, r), t.elementRef.prepend(e.outerContainer);\n }\n }, {\n key: \"createDefaultElements\",\n value: function createDefaultElements(e) {\n var t = e.createMessageElements(\"\", v.AI_ROLE),\n i = t.bubbleElement,\n s = F.generateLoadingRingElement();\n return i.appendChild(s), t;\n }\n }, {\n key: \"addMessage\",\n value: function addMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var r, o, a, l;\n var i = (l = (a = (o = (r = e.messageStyles) == null ? void 0 : r.loading) == null ? void 0 : o.history) == null ? void 0 : a.full) == null ? void 0 : l.html,\n s = i ? Ae.createElements(e, i, v.AI_ROLE, !0, !0) : F.createDefaultElements(e);\n return F.addLoadHistoryMessage(s, e, t), v.softRemRoleElements(s.innerContainer, e.avatar, e.name), s;\n }\n }, {\n key: \"tryChangeViewToSmall\",\n value: function tryChangeViewToSmall(e, t) {\n var i, s, r, o, a, l, c, d;\n if (t != null && t.outerContainer.classList.contains(F.FULL_VIEW_CLASS)) {\n t.outerContainer.classList.replace(F.FULL_VIEW_CLASS, F.SMALL_CLASS);\n var u = (o = (r = (s = (i = e.messageStyles) == null ? void 0 : i.loading) == null ? void 0 : s.history) == null ? void 0 : r.small) == null ? void 0 : o.styles;\n u && F.apply(e, t, u);\n var h = (d = (c = (l = (a = e.messageStyles) == null ? void 0 : a.loading) == null ? void 0 : l.history) == null ? void 0 : c.small) == null ? void 0 : d.html;\n return h && (t.bubbleElement.innerHTML = h), !0;\n }\n return !1;\n }\n }, {\n key: \"changeFullViewToSmall\",\n value: function changeFullViewToSmall(e) {\n var t = e.messageElementRefs[e.messageElementRefs.length - 1];\n F.tryChangeViewToSmall(e, t) || F.tryChangeViewToSmall(e, e.messageElementRefs[0]);\n }\n }]);\n}();\nF.CLASS = \"loading-history-message\", F.FULL_VIEW_CLASS = \"loading-history-message-full-view\", F.SMALL_CLASS = \"loading-history-message-small\";\nvar je = F;\nvar Xt = /*#__PURE__*/function () {\n function Xt() {\n _classCallCheck(this, Xt);\n }\n return _createClass(Xt, null, [{\n key: \"setFade\",\n value: function setFade(e, t) {\n e.style.transitionDuration = typeof t == \"number\" ? \"\".concat(t, \"ms\") : \"\".concat(Xt.DEFAULT_FADE_MS, \"ms\");\n }\n }, {\n key: \"fadeAnimation\",\n value: function () {\n var _fadeAnimation = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n e.style.opacity = \"0\";\n i = typeof t == \"number\" ? t : Xt.DEFAULT_FADE_MS;\n _context.next = 4;\n return new Promise(function (s) {\n setTimeout(function () {\n return s();\n }, i);\n });\n case 4:\n e.style.opacity = \"1\";\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n function fadeAnimation(_x, _x2) {\n return _fadeAnimation.apply(this, arguments);\n }\n return fadeAnimation;\n }()\n }]);\n}();\nXt.DEFAULT_FADE_MS = 500;\nvar _i = Xt;\nvar Ys = \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20fill='%23000000'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2032%2032'%20xml:space='preserve'%3e%3cpath%20d='M23,30.36H9c-2.404,0-4.36-1.956-4.36-4.36V15c0-2.404,1.956-4.36,4.36-4.36h3.659%20c0.167-1.566,1.415-2.813,2.981-2.981V5.333c-1.131-0.174-2-1.154-2-2.333c0-1.301,1.059-2.36,2.36-2.36%20c1.302,0,2.36,1.059,2.36,2.36c0,1.179-0.869,2.159-2,2.333V7.66c1.566,0.167,2.814,1.415,2.981,2.981H23%20c2.404,0,4.36,1.956,4.36,4.36v11C27.36,28.404,25.404,30.36,23,30.36z%20M9,11.36c-2.007,0-3.64,1.633-3.64,3.64v11%20c0,2.007,1.633,3.64,3.64,3.64h14c2.007,0,3.64-1.633,3.64-3.64V15c0-2.007-1.633-3.64-3.64-3.64H9z%20M13.384,10.64h5.231%20C18.439,9.354,17.334,8.36,16,8.36C14.667,8.36,13.561,9.354,13.384,10.64z%20M16,1.36c-0.904,0-1.64,0.736-1.64,1.64%20S15.096,4.64,16,4.64c0.904,0,1.64-0.736,1.64-1.64S16.904,1.36,16,1.36z%20M20,27.36h-8c-1.301,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36h8c1.302,0,2.36,1.059,2.36,2.36S21.302,27.36,20,27.36z%20M12,23.36c-0.904,0-1.64,0.735-1.64,1.64%20s0.736,1.64,1.64,1.64h8c0.904,0,1.64-0.735,1.64-1.64s-0.735-1.64-1.64-1.64H12z%20M31,23.86h-2c-0.199,0-0.36-0.161-0.36-0.36V15%20c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5C31.36,23.699,31.199,23.86,31,23.86z%20M29.36,23.14h1.279v-7.78%20H29.36V23.14z%20M3,23.86H1c-0.199,0-0.36-0.161-0.36-0.36V15c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5%20C3.36,23.699,3.199,23.86,3,23.86z%20M1.36,23.14h1.28v-7.78H1.36V23.14z%20M20,20.36c-1.302,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36s2.36,1.059,2.36,2.36C22.36,19.302,21.302,20.36,20,20.36z%20M20,16.36c-0.904,0-1.64,0.736-1.64,1.64%20s0.735,1.64,1.64,1.64s1.64-0.735,1.64-1.64S20.904,16.36,20,16.36z%20M12,20.36c-1.301,0-2.36-1.059-2.36-2.36s1.059-2.36,2.36-2.36%20s2.36,1.059,2.36,2.36C14.36,19.302,13.301,20.36,12,20.36z%20M12,16.36c-0.904,0-1.64,0.736-1.64,1.64s0.736,1.64,1.64,1.64%20s1.64-0.735,1.64-1.64S12.904,16.36,12,16.36z'/%3e%3crect%20style='fill:none;'%20width='32'%20height='32'/%3e%3c/svg%3e\",\n os = \"data:image/png;base64,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\";\nvar Dn = /*#__PURE__*/function () {\n function Dn(e) {\n _classCallCheck(this, Dn);\n this.className = e;\n }\n return _createClass(Dn, [{\n key: \"tryHide\",\n value: function tryHide(e) {\n var t;\n (t = e.getElementsByClassName(this.className)[0].style).visibility || (t.visibility = \"hidden\");\n }\n }, {\n key: \"tryReveal\",\n value: function tryReveal(e) {\n e.getElementsByClassName(this.className)[0].style.visibility = \"\";\n }\n }, {\n key: \"trySoftRem\",\n value: function trySoftRem(e) {\n e.getElementsByClassName(this.className)[0].classList.add(\"role-hidden\");\n }\n }]);\n}();\nvar Le = /*#__PURE__*/function (_Dn) {\n function Le(e) {\n var _this3;\n _classCallCheck(this, Le);\n _this3 = _callSuper(this, Le, [\"avatar-container\"]), _this3._avatars = e;\n return _this3;\n }\n _inherits(Le, _Dn);\n return _createClass(Le, [{\n key: \"addBesideMsg\",\n value: function addBesideMsg(e, t) {\n var i = typeof this._avatars == \"boolean\" ? void 0 : this._avatars,\n s = this.createAvatar(t, i),\n r = this.getPosition(t, i);\n s.classList.add(r === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(r === \"left\" ? \"beforebegin\" : \"afterend\", s);\n }\n }, {\n key: \"createAvatar\",\n value: function createAvatar(e, t) {\n var r, o, a, l, c;\n var i = document.createElement(\"img\");\n e === v.USER_ROLE ? (i.src = ((r = t == null ? void 0 : t.user) == null ? void 0 : r.src) || ((o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.src) || os, i.onerror = Le.errorFallback.bind(this, os)) : (i.src = ((a = t == null ? void 0 : t[e]) == null ? void 0 : a.src) || ((l = t == null ? void 0 : t.ai) == null ? void 0 : l.src) || ((c = t == null ? void 0 : t[\"default\"]) == null ? void 0 : c.src) || Ys, i.onerror = Le.errorFallback.bind(this, Ys)), i.classList.add(\"avatar\"), i.alt = \"\".concat(e, \" avatar\");\n var s = document.createElement(\"div\");\n return s.classList.add(this.className), s.appendChild(i), t && Le.applyCustomStyles(s, i, t, e), s;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var s, r, o, a, l, c;\n var i = (r = (s = t == null ? void 0 : t[e]) == null ? void 0 : s.styles) == null ? void 0 : r.position;\n return e !== v.USER_ROLE && (i !== null && i !== void 0 ? i : i = (a = (o = t == null ? void 0 : t.ai) == null ? void 0 : o.styles) == null ? void 0 : a.position), i !== null && i !== void 0 ? i : i = (c = (l = t == null ? void 0 : t[\"default\"]) == null ? void 0 : l.styles) == null ? void 0 : c.position, i !== null && i !== void 0 ? i : i = e === v.USER_ROLE ? \"right\" : \"left\", i;\n }\n }], [{\n key: \"errorFallback\",\n value: function errorFallback(e, t) {\n var i = t.target;\n i.onerror = null, i.src = e;\n }\n }, {\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n Object.assign(e.style, i.container), Object.assign(t.style, i.avatar);\n }\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, s) {\n var r, o, a, l;\n if ((r = i[\"default\"]) != null && r.styles && Le.applyCustomStylesToElements(e, t, i[\"default\"].styles), s === v.USER_ROLE) (o = i.user) != null && o.styles && Le.applyCustomStylesToElements(e, t, i.user.styles);else {\n (a = i.ai) != null && a.styles && Le.applyCustomStylesToElements(e, t, i.ai.styles);\n var c = (l = i[s]) == null ? void 0 : l.styles;\n c && Le.applyCustomStylesToElements(e, t, c);\n }\n }\n }]);\n}(Dn);\nvar Kt = /*#__PURE__*/function (_Dn2) {\n function Kt(e) {\n var _this4;\n _classCallCheck(this, Kt);\n _this4 = _callSuper(this, Kt, [\"name\"]), _this4._names = e;\n return _this4;\n }\n _inherits(Kt, _Dn2);\n return _createClass(Kt, [{\n key: \"addBesideMsg\",\n value: function addBesideMsg(e, t) {\n var i = typeof this._names == \"boolean\" ? {} : this._names,\n s = this.createName(t, i),\n r = Kt.getPosition(t, i);\n s.classList.add(r === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(r === \"left\" ? \"beforebegin\" : \"afterend\", s);\n }\n }, {\n key: \"createName\",\n value: function createName(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(this.className), i.textContent = Kt.getNameText(e, t), Kt.applyStyle(i, e, t), i;\n }\n }], [{\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var s, r, o;\n var i = (s = t == null ? void 0 : t[e]) == null ? void 0 : s.position;\n return e !== v.USER_ROLE && (i !== null && i !== void 0 ? i : i = (r = t == null ? void 0 : t.ai) == null ? void 0 : r.position), i !== null && i !== void 0 ? i : i = (o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.position, i !== null && i !== void 0 ? i : i = e === v.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"applyStyle\",\n value: function applyStyle(e, t, i) {\n var s, r, o, a;\n Object.assign(e.style, (s = i[\"default\"]) == null ? void 0 : s.style), t === v.USER_ROLE ? Object.assign(e.style, (r = i.user) == null ? void 0 : r.style) : (Object.assign(e.style, (o = i.ai) == null ? void 0 : o.style), Object.assign(e.style, (a = i[t]) == null ? void 0 : a.style));\n }\n }, {\n key: \"getNameText\",\n value: function getNameText(e, t) {\n var i, s, r, o, a, l;\n return e === v.USER_ROLE ? ((i = t.user) == null ? void 0 : i.text) || ((s = t[\"default\"]) == null ? void 0 : s.text) || \"User\" : e === v.AI_ROLE ? ((r = t.ai) == null ? void 0 : r.text) || ((o = t[\"default\"]) == null ? void 0 : o.text) || \"AI\" : ((a = t[e]) == null ? void 0 : a.text) || ((l = t[\"default\"]) == null ? void 0 : l.text) || e;\n }\n }]);\n}(Dn);\nvar Z = /*#__PURE__*/function () {\n function Z(e) {\n var _this5 = this;\n _classCallCheck(this, Z);\n var t;\n this.messageElementRefs = [], this.htmlClassUtilities = {}, this.messageToElements = [], this.elementRef = Z.createContainerElement(), this.messageStyles = te.processMessageStyles(e.messageStyles), this._remarkable = si.createNew(e.remarkable), e.avatars && (this.avatar = new Le(e.avatars)), e.names && (this.name = new Kt(e.names)), e.browserStorage && (this.browserStorage = new No(e.browserStorage)), this._onMessage = ni.onMessage.bind(this, e), e.htmlClassUtilities && (this.htmlClassUtilities = e.htmlClassUtilities), this.focusMode = e.focusMode, this.focusMode || (this._lastGroupMessagesElement = document.createElement(\"div\")), typeof this.focusMode != \"boolean\" && (t = this.focusMode) != null && t.fade && _i.setFade(this.elementRef, this.focusMode.fade), setTimeout(function () {\n _this5.submitUserMessage = e.submitUserMessage;\n });\n }\n return _createClass(Z, [{\n key: \"addNewTextMessage\",\n value: function addNewTextMessage(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n if (i != null && i.status) {\n var o = this.overwriteText(t, e, this.messageElementRefs);\n if (o) return o;\n i.status = !1;\n }\n var r = s ? this.createAndPrependNewMessageElement(e, t, s) : this.createAndAppendNewMessageElement(e, t);\n return r.bubbleElement.classList.add(Z.TEXT_BUBBLE_CLASS), this.applyCustomStyles(r, t, !1), v.fillEmptyMessageElement(r.bubbleElement, e), r;\n }\n // prettier-ignore\n }, {\n key: \"overwriteText\",\n value: function overwriteText(e, t, i) {\n var s = v.overwriteMessage(this.messageToElements, i, t, e, \"text\", Z.TEXT_BUBBLE_CLASS);\n return s && this.renderText(s.bubbleElement, t), s;\n }\n }, {\n key: \"createAndAppendNewMessageElement\",\n value: function createAndAppendNewMessageElement(e, t) {\n return this.focusMode ? this.appendNewMessageElementFocusMode(e, t) : this.createAndAppendNewMessageElementDefault(e, t);\n }\n }, {\n key: \"appendNewMessageElementFocusMode\",\n value: function appendNewMessageElementFocusMode(e, t) {\n var s;\n var i = this.createNewMessageElement(e, t);\n if (this.appendOuterContainerElemet(i.outerContainer, t), t === \"user\") {\n var r = typeof this.focusMode != \"boolean\" && ((s = this.focusMode) == null ? void 0 : s.scroll);\n W.scrollToBottom(this.elementRef, r);\n }\n return i;\n }\n }, {\n key: \"createNewGroupElementFocusMode\",\n value: function createNewGroupElementFocusMode() {\n var t;\n (t = this._lastGroupMessagesElement) == null || t.classList.remove(Z.LAST_GROUP_MESSAGES_ACTIVE);\n var e = document.createElement(\"div\");\n this._lastGroupMessagesElement && e.classList.add(Z.LAST_GROUP_MESSAGES_ACTIVE), this._lastGroupMessagesElement = e;\n }\n }, {\n key: \"createAndAppendNewMessageElementDefault\",\n value: function createAndAppendNewMessageElementDefault(e, t) {\n var _this6 = this;\n var i = this.createNewMessageElement(e, t);\n return this.appendOuterContainerElemet(i.outerContainer), setTimeout(function () {\n return W.scrollToBottom(_this6.elementRef);\n }), i;\n }\n }, {\n key: \"appendOuterContainerElemet\",\n value: function appendOuterContainerElemet(e, t) {\n var i;\n this.focusMode && (t === \"user\" || !this._lastGroupMessagesElement) && this.createNewGroupElementFocusMode(), (i = this._lastGroupMessagesElement) == null || i.appendChild(e), this.elementRef.appendChild(this._lastGroupMessagesElement);\n }\n }, {\n key: \"createAndPrependNewMessageElement\",\n value: function createAndPrependNewMessageElement(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var o;\n var r = this.createNewMessageElement(e, t, i, s);\n if (i && (o = this.elementRef.firstChild) != null && o.classList.contains(Z.INTRO_CLASS)) {\n this.elementRef.firstChild.insertAdjacentElement(\"afterend\", r.outerContainer);\n var a = this.messageElementRefs[0];\n this.messageElementRefs[0] = this.messageElementRefs[1], this.messageElementRefs[1] = a;\n } else this.elementRef.insertBefore(r.outerContainer, this.elementRef.firstChild);\n return r;\n }\n }, {\n key: \"createMessageElementsOnOrientation\",\n value: function createMessageElementsOnOrientation(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n return i ? this.createAndPrependNewMessageElement(e, t, !0, s) : this.createNewMessageElement(e, t, s);\n }\n }, {\n key: \"createNewMessageElement\",\n value: function createNewMessageElement(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var o;\n s || (o = this._introPanel) == null || o.hide();\n var r = this.messageElementRefs[this.messageElementRefs.length - 1];\n return je.changeFullViewToSmall(this), !i && Z.isTemporaryElement(r) && (this.revealRoleElementsIfTempRemoved(r, t), this.removeLastMessage()), this.createMessageElements(e, t, i);\n }\n // this can be tested by having an ai message, then a temp ai message with html that submits new user message:\n // https://github.com/OvidijusParsiunas/deep-chat/issues/258\n // prettier-ignore\n }, {\n key: \"revealRoleElementsIfTempRemoved\",\n value: function revealRoleElementsIfTempRemoved(e, t) {\n if ((this.avatar || this.name) && we.isElementTemporary(e)) {\n var i = this.messageElementRefs[this.messageElementRefs.length - 2];\n i && this.messageToElements.length > 0 && !e.bubbleElement.classList.contains(v.getRoleClass(t)) && v.revealRoleElements(i.innerContainer, this.avatar, this.name);\n }\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t) {\n var i = Z.createBaseElements(t),\n s = i.outerContainer,\n r = i.innerContainer,\n o = i.bubbleElement;\n return s.appendChild(r), this.addInnerContainerElements(o, e, t), i;\n }\n }, {\n key: \"createMessageElements\",\n value: function createMessageElements(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var s = this.createElements(e, t);\n return v.updateRefArr(this.messageElementRefs, s, i), v.classifyRoleMessages(this.messageElementRefs, t), s;\n }\n }, {\n key: \"addInnerContainerElements\",\n value:\n // prettier-ignore\n function addInnerContainerElements(e, t, i) {\n var s = this.messageElementRefs[this.messageElementRefs.length - 1];\n return v.areOuterContainerClassRolesSame(i, s) && !this.isLastMessageError() && v.hideRoleElements(s.innerContainer, this.avatar, this.name), e.classList.add(\"message-bubble\", v.getRoleClass(i), i === v.USER_ROLE ? \"user-message-text\" : \"ai-message-text\"), this.renderText(e, t), v.addRoleElements(e, i, this.avatar, this.name), {\n bubbleElement: e\n };\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, s) {\n e && this.messageStyles && Y.applyCustomStyles(this.messageStyles, e, t, i, s);\n }\n }, {\n key: \"removeMessage\",\n value: function removeMessage(e) {\n e.outerContainer.remove();\n var t = this.messageElementRefs.findIndex(function (i) {\n return i === e;\n });\n this.messageElementRefs.splice(t, 1);\n }\n }, {\n key: \"removeLastMessage\",\n value: function removeLastMessage() {\n this.messageElementRefs[this.messageElementRefs.length - 1].outerContainer.remove(), this.messageElementRefs.pop();\n }\n }, {\n key: \"isLastMessageError\",\n value: function isLastMessageError() {\n var e;\n return (e = v.getLastMessageBubbleElement(this.elementRef)) == null ? void 0 : e.classList.contains(v.ERROR_MESSAGE_TEXT_CLASS);\n }\n }, {\n key: \"sendClientUpdate\",\n value: function sendClientUpdate(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i;\n (i = this._onMessage) == null || i.call(this, e, t);\n }\n }, {\n key: \"renderText\",\n value: function renderText(e, t) {\n e.innerHTML = this._remarkable.render(t), e.innerText.trim().length === 0 && (e.innerText = t);\n }\n // this is mostly used for enabling highlight.js to highlight code if it downloads later\n }, {\n key: \"refreshTextMessages\",\n value: function refreshTextMessages(e) {\n var _this7 = this;\n this._remarkable = si.createNew(e), this.messageToElements.forEach(function (t) {\n t[1].text && t[0].text && _this7.renderText(t[1].text.bubbleElement, t[0].text);\n });\n }\n }], [{\n key: \"createContainerElement\",\n value: function createContainerElement() {\n var e = document.createElement(\"div\");\n return e.id = \"messages\", e;\n }\n }, {\n key: \"isTemporaryElement\",\n value: function isTemporaryElement(e) {\n return Z.isLoadingMessage(e) || we.isElementTemporary(e);\n }\n }, {\n key: \"createBaseElements\",\n value: function createBaseElements(e) {\n var t = document.createElement(\"div\"),\n i = document.createElement(\"div\");\n i.classList.add(\"inner-message-container\"), t.appendChild(i), t.classList.add(\"outer-message-container\"), t.classList.add(v.buildRoleOuterContainerClass(e));\n var s = document.createElement(\"div\");\n return s.classList.add(\"message-bubble\"), i.appendChild(s), {\n outerContainer: t,\n innerContainer: i,\n bubbleElement: s\n };\n }\n }, {\n key: \"createMessageContent\",\n value: function createMessageContent(e) {\n var t = e.text,\n i = e.files,\n s = e.html,\n r = e.custom,\n o = e._sessionId,\n a = e.role,\n l = {\n role: a || v.AI_ROLE\n };\n return t && (l.text = t), i && (l.files = i), s && (l.html = s), !t && !i && !s && (l.text = \"\"), r && (l.custom = r), o && (l._sessionId = o), l;\n }\n }, {\n key: \"isLoadingMessage\",\n value: function isLoadingMessage(e) {\n return e == null ? void 0 : e.bubbleElement.classList.contains(Fe.BUBBLE_CLASS);\n }\n }]);\n}();\nZ.TEXT_BUBBLE_CLASS = \"text-message\", Z.INTRO_CLASS = \"deep-chat-intro\", Z.LAST_GROUP_MESSAGES_ACTIVE = \"deep-chat-last-group-messages-active\";\nvar he = Z;\nvar S = /*#__PURE__*/function () {\n function S() {\n _classCallCheck(this, S);\n }\n return _createClass(S, null, [{\n key: \"getLastElementsByClass\",\n value: function getLastElementsByClass(e, t, i) {\n var _loop = function _loop() {\n var r = e[s];\n if (r.bubbleElement.classList.contains(t[0]) && !t.slice(1).find(function (a) {\n return !r.bubbleElement.classList.contains(a);\n })) if (i) {\n if (!i.find(function (l) {\n return r.bubbleElement.classList.contains(l);\n })) return {\n v: r\n };\n } else return {\n v: r\n };\n },\n _ret;\n for (var s = e.length - 1; s >= 0; s -= 1) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n }\n }, {\n key: \"getLastMessage\",\n value: function getLastMessage(e, t, i) {\n for (var s = e.length - 1; s >= 0; s -= 1) if (e[s][0].role === t) if (i) {\n if (e[s][0][i]) return e[s][0];\n } else return e[s][0];\n }\n }, {\n key: \"getLastTextToElement\",\n value: function getLastTextToElement(e, t) {\n for (var i = e.length - 1; i >= 0; i -= 1) if (e[i][0] === t) return e[i];\n }\n // IMPORTANT: If the overwrite message does not contain a role property it will look for the last 'ai' role message\n // and if messages have custom roles, it will still look to update the last 'ai' role message\n // prettier-ignore\n }, {\n key: \"overwriteMessage\",\n value: function overwriteMessage(e, t, i, s, r, o) {\n var a = S.getLastElementsByClass(t, [S.getRoleClass(s), o], [Fe.BUBBLE_CLASS]),\n l = S.getLastMessage(e, s, r);\n return l && (l[r] = i), a;\n }\n }, {\n key: \"getRoleClass\",\n value: function getRoleClass(e) {\n return \"\".concat(e, \"-message\");\n }\n // makes sure the bubble has dimensions when there is no text\n }, {\n key: \"fillEmptyMessageElement\",\n value: function fillEmptyMessageElement(e, t) {\n t.trim().length === 0 && (e.classList.add(S.EMPTY_MESSAGE_CLASS), e.innerHTML = '<div style=\"color:#00000000\">.</div>');\n }\n }, {\n key: \"unfillEmptyMessageElement\",\n value: function unfillEmptyMessageElement(e, t) {\n e.classList.contains(S.EMPTY_MESSAGE_CLASS) && t.trim().length > 0 && e.replaceChildren();\n }\n }, {\n key: \"getLastMessageBubbleElement\",\n value: function getLastMessageBubbleElement(e) {\n var t, i, s, r;\n return (r = Array.from(((s = (i = (t = S.getLastMessageElement(e)) == null ? void 0 : t.children) == null ? void 0 : i[0]) == null ? void 0 : s.children) || []).map(function (o) {\n return Array.from((o == null ? void 0 : o.children) || []).find(function (a) {\n return a.classList.contains(\"message-bubble\");\n });\n })) == null ? void 0 : r[0];\n }\n }, {\n key: \"getLastMessageElement\",\n value: function getLastMessageElement(e) {\n return e.children[e.children.length - 1];\n }\n }, {\n key: \"addRoleElements\",\n value: function addRoleElements(e, t, i, s) {\n i == null || i.addBesideMsg(e, t), s == null || s.addBesideMsg(e, t);\n }\n }, {\n key: \"hideRoleElements\",\n value: function hideRoleElements(e, t, i) {\n t == null || t.tryHide(e), i == null || i.tryHide(e);\n }\n }, {\n key: \"revealRoleElements\",\n value: function revealRoleElements(e, t, i) {\n t == null || t.tryReveal(e), i == null || i.tryReveal(e);\n }\n }, {\n key: \"softRemRoleElements\",\n value: function softRemRoleElements(e, t, i) {\n t == null || t.trySoftRem(e), i == null || i.trySoftRem(e);\n }\n }, {\n key: \"updateRefArr\",\n value: function updateRefArr(e, t, i) {\n i ? e.unshift(t) : e.push(t);\n }\n }, {\n key: \"buildRoleOuterContainerClass\",\n value: function buildRoleOuterContainerClass(e) {\n return \"\".concat(S.OUTER_CONTAINER_CLASS_ROLE_PREFIX).concat(e);\n }\n }, {\n key: \"addNewPositionClasses\",\n value: function addNewPositionClasses(e, t) {\n var _e$outerContainer$cla;\n e.outerContainer.classList.remove(S.POSITION_TOP_MESSAGE_CLASS, S.POSITION_MIDDLE_MESSAGE_CLASS, S.POSITION_BOTTOM_MESSAGE_CLASS), (_e$outerContainer$cla = e.outerContainer.classList).add.apply(_e$outerContainer$cla, _toConsumableArray(t));\n }\n }, {\n key: \"getNumberOfElements\",\n value: function getNumberOfElements(e) {\n var t = 0;\n return e.text !== void 0 && (t += 1), e.html !== void 0 && (t += 1), e.files && (t += e.files.length), t;\n }\n }, {\n key: \"filterdMessageElements\",\n value: function filterdMessageElements(e, t) {\n return e.filter(function (i) {\n return i.bubbleElement.classList.contains(t);\n });\n }\n }, {\n key: \"findMessageElements\",\n value: function findMessageElements(e, t) {\n return e.find(function (i) {\n return i.bubbleElement.classList.contains(t);\n });\n }\n }, {\n key: \"generateMessageBodyElements\",\n value: function generateMessageBodyElements(e, t) {\n var i = {};\n return e.text && (i.text = S.findMessageElements(t, he.TEXT_BUBBLE_CLASS)), e.html && (i.html = S.findMessageElements(t, Ae.HTML_BUBBLE_CLASS)), e.files && (i.files = S.filterdMessageElements(t, q.FILE_BUBBLE_CLASS)), i;\n }\n }, {\n key: \"generateMessageBody\",\n value: function generateMessageBody(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var s = S.getNumberOfElements(e),\n r = i ? t.slice(0, s) : t.slice(t.length - s);\n return S.generateMessageBodyElements(e, r);\n }\n // if role not present - traverse all, if present - traverse last messages\n }, {\n key: \"classifyRoleMessages\",\n value: function classifyRoleMessages(e, t) {\n var i = t ? S.buildRoleOuterContainerClass(t) : void 0;\n for (var s = e.length - 1; s >= 0; s -= 1) {\n if (t || (i = Array.from(e[s].outerContainer.classList).find(function (u) {\n return u.startsWith(S.OUTER_CONTAINER_CLASS_ROLE_PREFIX);\n })), !i) continue;\n var r = e[s],\n o = r.outerContainer.classList.contains(i),\n a = e[s - 1],\n l = e[s + 1],\n c = a == null ? void 0 : a.outerContainer.classList.contains(i),\n d = l == null ? void 0 : l.outerContainer.classList.contains(i);\n if (o) !c && d ? S.addNewPositionClasses(r, [S.POSITION_TOP_MESSAGE_CLASS]) : c && d ? S.addNewPositionClasses(r, [S.POSITION_MIDDLE_MESSAGE_CLASS]) : c && !d ? S.addNewPositionClasses(r, [S.POSITION_BOTTOM_MESSAGE_CLASS]) : !c && !d && S.addNewPositionClasses(r, [S.POSITION_TOP_MESSAGE_CLASS, S.POSITION_BOTTOM_MESSAGE_CLASS]);else if (t) break;\n }\n }\n }, {\n key: \"areOuterContainerClassRolesSame\",\n value: function areOuterContainerClassRolesSame(e, t) {\n return t ? Array.from(t.outerContainer.classList).find(function (s) {\n return s.startsWith(S.OUTER_CONTAINER_CLASS_ROLE_PREFIX);\n }) === S.buildRoleOuterContainerClass(e) : !1;\n }\n }, {\n key: \"resetAllRoleElements\",\n value: function resetAllRoleElements(e, t, i) {\n if (!t && !i) return;\n var s = \"\";\n e.forEach(function (r, o) {\n r.bubbleElement.classList.contains(S.ERROR_MESSAGE_TEXT_CLASS) || S.revealRoleElements(r.innerContainer, t, i);\n var a = Array.from(r.outerContainer.classList).find(function (l) {\n return l.startsWith(S.OUTER_CONTAINER_CLASS_ROLE_PREFIX);\n });\n s === a && S.hideRoleElements(e[o - 1].innerContainer, t, i), s = a;\n });\n }\n // this is a workaround to prevent JSON.parse(JSON.stringify()) from removing the files' 'ref' property values\n // and 'custom' property value if it is not shallow copyable\n // note - structuredClone can fix this but it doesn't have good legacy compatibility\n }, {\n key: \"deepCloneMessagesWithReferences\",\n value: function deepCloneMessagesWithReferences(e) {\n return e.map(function (t) {\n return S.processMessageContent(t);\n });\n }\n }, {\n key: \"processMessageContent\",\n value: function processMessageContent(e) {\n if (e == null || _typeof(e) != \"object\") return e;\n if (Array.isArray(e)) return e.map(function (i) {\n return S.processMessageContent(i);\n });\n var t = {};\n return Object.entries(e).forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n i = _ref3[0],\n s = _ref3[1];\n i === \"ref\" && s instanceof File || i === \"custom\" ? t[i] = s : s !== null && _typeof(s) == \"object\" ? t[i] = S.processMessageContent(s) : t[i] = s;\n }), t;\n }\n }]);\n}();\nS.AI_ROLE = \"ai\", S.USER_ROLE = \"user\", S.ERROR_MESSAGE_TEXT_CLASS = \"error-message-text\", S.OUTER_CONTAINER_CLASS_ROLE_PREFIX = \"deep-chat-outer-container-role-\", S.EMPTY_MESSAGE_CLASS = \"empty-message\", S.POSITION_TOP_MESSAGE_CLASS = \"deep-chat-top-message\", S.POSITION_MIDDLE_MESSAGE_CLASS = \"deep-chat-middle-message\", S.POSITION_BOTTOM_MESSAGE_CLASS = \"deep-chat-bottom-message\";\nvar v = S;\nvar me = /*#__PURE__*/function () {\n function me(e, t) {\n _classCallCheck(this, me);\n this._fileAdded = !1, this._streamType = \"\", this._hasStreamEnded = !1, this._partialText = \"\", this._messages = e, _typeof(t) == \"object\" && (this._partialRender = t.partialRender, this._customWrappers = t.htmlWrappers);\n }\n return _createClass(me, [{\n key: \"upsertStreamedMessage\",\n value: function upsertStreamedMessage(e) {\n if (this._hasStreamEnded) return;\n if ((e == null ? void 0 : e.text) === void 0 && (e == null ? void 0 : e.html) === void 0) return console.error(M.INVALID_STREAM_EVENT);\n e != null && e.custom && this._message && (this._message.custom = e.custom);\n var t = (e == null ? void 0 : e.text) || (e == null ? void 0 : e.html) || \"\",\n i = W.isScrollbarAtBottomOfElement(this._messages.elementRef),\n s = (e == null ? void 0 : e.text) !== void 0 ? \"text\" : \"html\";\n if (!this._elements && !this._message) this.setInitialState(s, t, e == null ? void 0 : e.role);else {\n if (this._streamType !== s) return console.error(M.INVALID_STREAM_EVENT_MIX);\n this.updateBasedOnType(t, s, e == null ? void 0 : e.overwrite);\n }\n i && W.scrollToBottom(this._messages.elementRef);\n }\n }, {\n key: \"setInitialState\",\n value: function setInitialState(e, t, i) {\n var o, a, l;\n this._streamType = e, i !== null && i !== void 0 ? i : i = v.AI_ROLE;\n var s = ((o = this._customWrappers) == null ? void 0 : o[i]) || ((a = this._customWrappers) == null ? void 0 : a[\"default\"]),\n r = s ? \"\" : t;\n this._elements = e === \"text\" ? this._messages.addNewTextMessage(r, i) : Ae.add(this._messages, r, i), this._elements && (this._elements.bubbleElement.classList.add(me.MESSAGE_CLASS), this._activeMessageRole = i, this._message = _defineProperty({\n role: this._activeMessageRole\n }, e, r), this._messages.messageToElements.push([this._message, _defineProperty({}, e, this._elements)]), (l = this._messages.browserStorage) == null || l.addMessages(this._messages.messageToElements.map(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n c = _ref6[0];\n return c;\n })), s && this.setTargetWrapperIfNeeded(this._elements, t, this._streamType, s));\n }\n }, {\n key: \"setTargetWrapperIfNeeded\",\n value: function setTargetWrapperIfNeeded(e, t, i, s) {\n e.bubbleElement.innerHTML = s, this._targetWrapper = e.bubbleElement.getElementsByClassName(me.TARGET_WRAPPER_CLASS)[0], this._elements && K.apply(this._messages, this._elements.bubbleElement), this.updateBasedOnType(t, i);\n }\n }, {\n key: \"updateBasedOnType\",\n value: function updateBasedOnType(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var o;\n var s = this._targetWrapper || ((o = this._elements) == null ? void 0 : o.bubbleElement);\n this._partialRender || v.unfillEmptyMessageElement(s, e), (t === \"text\" ? this.updateText : this.updateHTML).bind(this)(e, s, i);\n }\n }, {\n key: \"updateText\",\n value: function updateText(e, t, i) {\n this._message && (this._message.text = i ? e : this._message.text + e, this._partialRender && this.isNewPartialRenderParagraph(t, i) && this.partialRenderNewParagraph(t), this._partialBubble ? this.partialRenderBubbleUpdate(e) : this._messages.renderText(t, this._message.text));\n }\n }, {\n key: \"isNewPartialRenderParagraph\",\n value: function isNewPartialRenderParagraph(e, t) {\n var i, s;\n return t ? (e.innerHTML = \"\", !0) : this._partialBubble ? this._partialText && ((s = this._partialText) == null ? void 0 : s.indexOf(me.PARTIAL_RENDER_TEXT_MARK)) > -1 : ((i = this._message) == null ? void 0 : i.text) && this._message.text.indexOf(me.PARTIAL_RENDER_TEXT_MARK) > -1;\n }\n }, {\n key: \"partialRenderNewParagraph\",\n value: function partialRenderNewParagraph(e) {\n this._partialText = \"\", this._partialBubble = document.createElement(\"div\"), this._partialBubble.classList.add(\"partial-render-message\"), e.appendChild(this._partialBubble);\n }\n }, {\n key: \"partialRenderBubbleUpdate\",\n value: function partialRenderBubbleUpdate(e) {\n this._partialText += e, this._messages.renderText(this._partialBubble, this._partialText);\n }\n }, {\n key: \"updateHTML\",\n value: function updateHTML(e, t, i) {\n if (this._message) if (i) this._message.html = e, t.innerHTML = e;else {\n var s = document.createElement(\"span\");\n s.innerHTML = e, t.appendChild(s), this._message.html = (t == null ? void 0 : t.innerHTML) || \"\";\n }\n }\n }, {\n key: \"finaliseStreamedMessage\",\n value: function finaliseStreamedMessage() {\n var e;\n if (!(this._endStreamAfterOperation || !this._message) && !(this._fileAdded && !this._elements)) {\n if (!this._elements) throw Error(M.NO_VALID_STREAM_EVENTS_SENT);\n (e = this._elements.bubbleElement) != null && e.classList.contains(me.MESSAGE_CLASS) && (this._streamType === \"text\" ? this._messages.textToSpeech && Et.speak(this._message.text || \"\", this._messages.textToSpeech) : this._streamType === \"html\" && this._elements && K.apply(this._messages, this._elements.outerContainer), this._elements.bubbleElement.classList.remove(me.MESSAGE_CLASS), this._message && (this._targetWrapper && (this._message.html = this._elements.bubbleElement.children[0].outerHTML, this._streamType === \"text\" && delete this._message.text), this._messages.sendClientUpdate(he.createMessageContent(this._message), !1)), this._hasStreamEnded = !0);\n }\n }\n }, {\n key: \"markFileAdded\",\n value: function markFileAdded() {\n this._fileAdded = !0;\n }\n }, {\n key: \"newMessage\",\n value: function newMessage() {\n this.finaliseStreamedMessage(), this._elements = void 0, delete this._message, this._fileAdded = !1, this._hasStreamEnded = !1, this._activeMessageRole = void 0;\n }\n // prettier-ignore\n }, {\n key: \"endStreamAfterFileDownloaded\",\n value: function () {\n var _endStreamAfterFileDownloaded = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e, t) {\n var _yield$t, i, s;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n this._endStreamAfterOperation = !0;\n _context2.next = 3;\n return t();\n case 3:\n _yield$t = _context2.sent;\n i = _yield$t.text;\n s = _yield$t.files;\n i && this.updateBasedOnType(i, \"text\", !0), this._endStreamAfterOperation = !1, this.finaliseStreamedMessage(), s && e.addNewMessage({\n files: s\n });\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function endStreamAfterFileDownloaded(_x3, _x4) {\n return _endStreamAfterFileDownloaded.apply(this, arguments);\n }\n return endStreamAfterFileDownloaded;\n }()\n }]);\n}();\nme.MESSAGE_CLASS = \"streamed-message\", me.PARTIAL_RENDER_TEXT_MARK = \"\\n\\n\", me.TARGET_WRAPPER_CLASS = \"stream-wrapper\";\nvar Ce = me;\nvar ze = /*#__PURE__*/function () {\n function ze() {\n _classCallCheck(this, ze);\n }\n return _createClass(ze, null, [{\n key: \"tempRemoveContentHeader\",\n value: // need to pass stringifyBody boolean separately as binding is throwing an error for some reason\n // prettier-ignore\n function () {\n var _tempRemoveContentHeader = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(e, t, i) {\n var s, r;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (e != null && e.headers) {\n _context3.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n s = e.headers[ze.CONTENT_TYPE];\n delete e.headers[ze.CONTENT_TYPE];\n _context3.prev = 4;\n _context3.next = 7;\n return t(i);\n case 7:\n r = _context3.sent;\n _context3.next = 13;\n break;\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3[\"catch\"](4);\n throw e.headers[ze.CONTENT_TYPE] = s, _context3.t0;\n case 13:\n return _context3.abrupt(\"return\", (e.headers[ze.CONTENT_TYPE] = s, r));\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[4, 10]]);\n }));\n function tempRemoveContentHeader(_x9, _x0, _x1) {\n return _tempRemoveContentHeader.apply(this, arguments);\n }\n return tempRemoveContentHeader;\n }()\n }, {\n key: \"displayError\",\n value: function displayError(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"Service error, please try again.\";\n if (console.error(t), _typeof(t) == \"object\") return t instanceof Error ? e.addNewErrorMessage(\"service\", t.message) : Array.isArray(t) || typeof t.error == \"string\" ? e.addNewErrorMessage(\"service\", t) : Object.keys(t).length === 0 ? e.addNewErrorMessage(\"service\", i) : e.addNewErrorMessage(\"service\", JSON.stringify(t));\n e.addNewErrorMessage(\"service\", t);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x5, _x6, _x7, _x8) {\n return _fetch.apply(this, arguments);\n }\n fetch.toString = function () {\n return _fetch.toString();\n };\n return fetch;\n }(function (e, t, i, s) {\n var o, a;\n var r = {\n method: ((o = e.connectSettings) == null ? void 0 : o.method) || \"POST\",\n headers: t\n };\n return r.method !== \"GET\" && (r.body = i ? JSON.stringify(s) : s), e.connectSettings.credentials && (r.credentials = e.connectSettings.credentials), fetch(((a = e.connectSettings) == null ? void 0 : a.url) || e.url || \"\", r);\n })\n }, {\n key: \"processResponseByType\",\n value: function processResponseByType(e) {\n var t = e.headers.get(\"content-type\");\n return t != null && t.includes(\"application/json\") ? e.json() : t != null && t.includes(\"text/plain\") || !t ? e : e.blob();\n }\n }, {\n key: \"processRequestInterceptor\",\n value: function () {\n var _processRequestInterceptor = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(e, t) {\n var o, i, s, r;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return (o = e.requestInterceptor) == null ? void 0 : o.call(e, t);\n case 2:\n _context4.t0 = _context4.sent;\n if (_context4.t0) {\n _context4.next = 5;\n break;\n }\n _context4.t0 = t;\n case 5:\n i = _context4.t0;\n s = i;\n r = i;\n return _context4.abrupt(\"return\", {\n body: s.body,\n headers: s.headers,\n error: r.error\n });\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n function processRequestInterceptor(_x10, _x11) {\n return _processRequestInterceptor.apply(this, arguments);\n }\n return processRequestInterceptor;\n }()\n }, {\n key: \"validateResponseFormat\",\n value: function validateResponseFormat(e, t) {\n if (!e) return !1;\n var i = Array.isArray(e) ? e : [e];\n return t && i.length > 1 ? (console.error(M.INVALID_STREAM_ARRAY_RESPONSE), !1) : !i.find(function (r) {\n return _typeof(r) != \"object\" || !(typeof r.error == \"string\" || typeof r.text == \"string\" || typeof r.html == \"string\" || Array.isArray(r.files));\n });\n }\n }, {\n key: \"onInterceptorError\",\n value: function onInterceptorError(e, t, i) {\n e.addNewErrorMessage(\"service\", t), i == null || i();\n }\n // prettier-ignore\n }, {\n key: \"basicResponseProcessing\",\n value: function () {\n var _basicResponseProcessing = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(e, t) {\n var i,\n s,\n _i$displayError,\n r,\n _i$useRI,\n o,\n a,\n l,\n c,\n d,\n _args5 = arguments;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n i = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {};\n s = i.io, _i$displayError = i.displayError, r = _i$displayError === void 0 ? !0 : _i$displayError, _i$useRI = i.useRI, o = _i$useRI === void 0 ? !0 : _i$useRI;\n if (s != null && s.extractResultData) {\n _context5.next = 4;\n break;\n }\n return _context5.abrupt(\"return\", t);\n case 4:\n a = o ? s.deepChat.responseInterceptor : void 0;\n _context5.next = 7;\n return a == null ? void 0 : a(t);\n case 7:\n _context5.t0 = _context5.sent;\n if (_context5.t0) {\n _context5.next = 10;\n break;\n }\n _context5.t0 = t;\n case 10:\n l = _context5.t0;\n _context5.next = 13;\n return s.extractResultData(l);\n case 13:\n c = _context5.sent;\n if (!(!c || _typeof(c) != \"object\" && !Array.isArray(c))) {\n _context5.next = 17;\n break;\n }\n if (r) {\n d = M.INVALID_RESPONSE(t, \"response\", !!a, l);\n ze.displayError(e, d);\n }\n return _context5.abrupt(\"return\");\n case 17:\n return _context5.abrupt(\"return\", c);\n case 18:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n function basicResponseProcessing(_x12, _x13) {\n return _basicResponseProcessing.apply(this, arguments);\n }\n return basicResponseProcessing;\n }()\n }]);\n}();\nze.CONTENT_TYPE = \"Content-Type\";\nvar E = ze;\nfunction Do(_x14, _x15) {\n return _Do.apply(this, arguments);\n}\nfunction _Do() {\n _Do = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee139(n, e) {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee139$(_context139) {\n while (1) switch (_context139.prev = _context139.next) {\n case 0:\n t = n.getReader();\n case 1:\n _context139.next = 3;\n return t.read();\n case 3:\n if ((i = _context139.sent).done) {\n _context139.next = 7;\n break;\n }\n e(i.value);\n case 5:\n _context139.next = 1;\n break;\n case 7:\n case \"end\":\n return _context139.stop();\n }\n }, _callee139);\n }));\n return _Do.apply(this, arguments);\n}\nfunction Bo(n) {\n var e,\n t,\n i,\n s = !1;\n return function (o) {\n e === void 0 ? (e = o, t = 0, i = -1) : e = Uo(e, o);\n var a = e.length;\n var l = 0;\n for (; t < a;) {\n s && (e[t] === 10 && (l = ++t), s = !1);\n var c = -1;\n for (; t < a && c === -1; ++t) switch (e[t]) {\n case 58:\n i === -1 && (i = t - l);\n break;\n case 13:\n s = !0;\n case 10:\n c = t;\n break;\n }\n if (c === -1) break;\n n(e.subarray(l, c), i), l = t, i = -1;\n }\n l === a ? e = void 0 : l !== 0 && (e = e.subarray(l), t -= l);\n };\n}\nfunction Fo(n, e, t) {\n var i = Zs();\n var s = new TextDecoder();\n return function (o, a) {\n if (o.length === 0) t == null || t(i), i = Zs();else if (a > 0) {\n var l = s.decode(o.subarray(0, a)),\n c = a + (o[a + 1] === 32 ? 2 : 1),\n d = s.decode(o.subarray(c));\n switch (l) {\n case \"data\":\n i.data = i.data ? i.data + \"\\n\" + d : d;\n break;\n case \"event\":\n i.event = d;\n break;\n case \"id\":\n n(i.id = d);\n break;\n case \"retry\":\n var u = parseInt(d, 10);\n isNaN(u) || e(i.retry = u);\n break;\n }\n }\n };\n}\nfunction Uo(n, e) {\n var t = new Uint8Array(n.length + e.length);\n return t.set(n), t.set(e, n.length), t;\n}\nfunction Zs() {\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: void 0\n };\n}\nvar jo = function jo(n, e) {\n var t = {};\n for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && e.indexOf(i) < 0 && (t[i] = n[i]);\n if (n != null && typeof Object.getOwnPropertySymbols == \"function\") for (var s = 0, i = Object.getOwnPropertySymbols(n); s < i.length; s++) e.indexOf(i[s]) < 0 && Object.prototype.propertyIsEnumerable.call(n, i[s]) && (t[i[s]] = n[i[s]]);\n return t;\n};\nvar as = \"text/event-stream\",\n Ho = 1e3,\n Qs = \"last-event-id\";\nfunction qo(n, e) {\n var t = e.signal,\n i = e.headers,\n s = e.onopen,\n r = e.onmessage,\n o = e.onclose,\n a = e.onerror,\n l = e.openWhenHidden,\n c = e.fetch,\n d = jo(e, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\n return new Promise(function (u, h) {\n var f = Object.assign({}, i);\n f.accept || (f.accept = as);\n var m;\n function p() {\n m.abort(), document.hidden || ae();\n }\n l || document.addEventListener(\"visibilitychange\", p);\n var g = Ho,\n b = 0;\n function k() {\n document.removeEventListener(\"visibilitychange\", p), window.clearTimeout(b), m.abort();\n }\n t == null || t.addEventListener(\"abort\", function () {\n k(), u();\n });\n var j = c !== null && c !== void 0 ? c : window.fetch,\n pe = s !== null && s !== void 0 ? s : zo;\n function ae() {\n return _ae.apply(this, arguments);\n }\n function _ae() {\n _ae = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {\n var ke, _e, ie;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n m = new AbortController();\n _context6.prev = 1;\n _context6.next = 4;\n return j(n, Object.assign(Object.assign({}, d), {\n headers: f,\n signal: m.signal\n }));\n case 4:\n _e = _context6.sent;\n _context6.next = 7;\n return pe(_e);\n case 7:\n _context6.next = 9;\n return Do(_e.body, Bo(Fo(function (ie) {\n ie ? f[Qs] = ie : delete f[Qs];\n }, function (ie) {\n g = ie;\n }, r)));\n case 9:\n o == null || o();\n k();\n u();\n _context6.next = 17;\n break;\n case 14:\n _context6.prev = 14;\n _context6.t0 = _context6[\"catch\"](1);\n if (!m.signal.aborted) try {\n ie = (ke = a == null ? void 0 : a(_context6.t0)) !== null && ke !== void 0 ? ke : g;\n window.clearTimeout(b), b = window.setTimeout(ae, ie);\n } catch (ie) {\n k(), h(ie);\n }\n case 17:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6, null, [[1, 14]]);\n }));\n return _ae.apply(this, arguments);\n }\n ae();\n });\n}\nfunction zo(n) {\n var e = n.headers.get(\"content-type\");\n if (!(e != null && e.startsWith(as))) throw new Error(\"Expected content-type to be \".concat(as, \", Actual: \").concat(e));\n}\nvar A = /*#__PURE__*/function () {\n function A() {\n _classCallCheck(this, A);\n }\n return _createClass(A, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(e, t, i) {\n var s,\n r,\n f,\n m,\n p,\n g,\n b,\n o,\n _yield$E$processReque,\n a,\n l,\n c,\n d,\n u,\n h,\n _args7 = arguments;\n return _regeneratorRuntime().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n s = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : !0;\n r = _args7.length > 4 && _args7[4] !== undefined ? _args7[4] : !1;\n o = {\n body: t,\n headers: (f = e.connectSettings) == null ? void 0 : f.headers\n };\n _context7.next = 5;\n return E.processRequestInterceptor(e.deepChat, o);\n case 5:\n _yield$E$processReque = _context7.sent;\n a = _yield$E$processReque.body;\n l = _yield$E$processReque.headers;\n c = _yield$E$processReque.error;\n if (!c) {\n _context7.next = 11;\n break;\n }\n return _context7.abrupt(\"return\", E.onInterceptorError(i, c, e.streamHandlers.onClose));\n case 11:\n if (!((m = e.connectSettings) != null && m.handler)) {\n _context7.next = 13;\n break;\n }\n return _context7.abrupt(\"return\", ye.stream(e, a, i));\n case 13:\n if (!(((p = e.connectSettings) == null ? void 0 : p.url) === Se.URL)) {\n _context7.next = 15;\n break;\n }\n return _context7.abrupt(\"return\", Se.requestStream(i, e));\n case 15:\n d = new Ce(i, e.stream), u = E.fetch.bind(this, e, l, s), h = {\n method: ((g = e.connectSettings) == null ? void 0 : g.method) || \"POST\",\n headers: l,\n credentials: (b = e.connectSettings) == null ? void 0 : b.credentials,\n body: s ? JSON.stringify(a) : a\n };\n return _context7.abrupt(\"return\", (_typeof(e.stream) == \"object\" && e.stream.readable ? A.handleReadableStream(e, i, d, h, r, u, a) : A.handleEventStream(e, i, d, h, r, u, a), d));\n case 17:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7, this);\n }));\n function request(_x16, _x17, _x18) {\n return _request.apply(this, arguments);\n }\n return request;\n }() // prettier-ignore\n }, {\n key: \"handleReadableStream\",\n value: function handleReadableStream(e, t, i, s, r, o, a) {\n var h;\n var _e$streamHandlers = e.streamHandlers,\n l = _e$streamHandlers.onOpen,\n c = _e$streamHandlers.onClose,\n d = _e$streamHandlers.abortStream;\n var u = !1;\n fetch(((h = e.connectSettings) == null ? void 0 : h.url) || e.url || \"\", s).then(/*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(f) {\n var b, k, m, p, g, _yield$m$read, j, pe, ae, ke, _e;\n return _regeneratorRuntime().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n if (f.body) {\n _context8.next = 2;\n break;\n }\n throw new Error(M.READABLE_STREAM_CONNECTION_ERROR);\n case 2:\n m = f.body.getReader(), p = new TextDecoder();\n l();\n g = !1;\n case 5:\n if (!(!g && !u)) {\n _context8.next = 26;\n break;\n }\n _context8.next = 8;\n return m.read();\n case 8:\n _yield$m$read = _context8.sent;\n j = _yield$m$read.value;\n pe = _yield$m$read.done;\n if (!(g = pe, g)) {\n _context8.next = 15;\n break;\n }\n A.handleClose(e, i, c, r);\n _context8.next = 24;\n break;\n case 15:\n ae = p.decode(j, {\n stream: !0\n });\n _context8.next = 18;\n return (k = (b = e.deepChat).responseInterceptor) == null ? void 0 : k.call(b, ae);\n case 18:\n _context8.t0 = _context8.sent;\n if (_context8.t0) {\n _context8.next = 21;\n break;\n }\n _context8.t0 = ae;\n case 21:\n ke = _context8.t0;\n _e = _typeof(ke) == \"object\" ? ke : {\n text: ae\n };\n A.handleMessage(e, t, i, c, _e, o, a);\n case 24:\n _context8.next = 5;\n break;\n case 26:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8);\n }));\n return function (_x19) {\n return _ref7.apply(this, arguments);\n };\n }())[\"catch\"](function (f) {\n A.handleError(e, t, f);\n }), d.abort = function () {\n u = !0;\n };\n }\n // prettier-ignore\n }, {\n key: \"handleEventStream\",\n value: function handleEventStream(e, t, i, s, r, o, a) {\n var u;\n var _e$streamHandlers2 = e.streamHandlers,\n l = _e$streamHandlers2.onOpen,\n c = _e$streamHandlers2.onClose,\n d = _e$streamHandlers2.abortStream;\n qo(((u = e.connectSettings) == null ? void 0 : u.url) || e.url || \"\", _objectSpread(_objectSpread({}, s), {}, {\n openWhenHidden: !0,\n // keep stream open when browser tab not open\n onopen: function onopen(h) {\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {\n return _regeneratorRuntime().wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n if (!h.ok) {\n _context9.next = 2;\n break;\n }\n return _context9.abrupt(\"return\", l());\n case 2:\n _context9.next = 4;\n return E.processResponseByType(h);\n case 4:\n throw _context9.sent;\n case 5:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9);\n }))();\n },\n onmessage: function onmessage(h) {\n return _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee0() {\n var f, m, p, g;\n return _regeneratorRuntime().wrap(function _callee0$(_context0) {\n while (1) switch (_context0.prev = _context0.next) {\n case 0:\n if (!(JSON.stringify(h.data) !== JSON.stringify(\"[DONE]\"))) {\n _context0.next = 9;\n break;\n }\n try {\n p = JSON.parse(h.data);\n } catch (_unused6) {\n p = {};\n }\n _context0.next = 4;\n return (m = (f = e.deepChat).responseInterceptor) == null ? void 0 : m.call(f, p);\n case 4:\n _context0.t0 = _context0.sent;\n if (_context0.t0) {\n _context0.next = 7;\n break;\n }\n _context0.t0 = p;\n case 7:\n g = _context0.t0;\n A.handleMessage(e, t, i, c, g, o, a);\n case 9:\n case \"end\":\n return _context0.stop();\n }\n }, _callee0);\n }))();\n },\n onerror: function onerror(h) {\n throw c(), h;\n },\n onclose: function onclose() {\n A.handleClose(e, i, c, r);\n },\n signal: d.signal\n }))[\"catch\"](function (h) {\n A.handleError(e, t, h);\n });\n }\n //prettier-ignore\n }, {\n key: \"handleMessage\",\n value: function handleMessage(e, t, i, s, r, o, a) {\n var l;\n (l = e.extractResultData) == null || l.call(e, r, o, a).then(function (c) {\n e.asyncCallInProgress && c && c.text !== \"\" ? (A.simulate(t, e.streamHandlers, c), s(), e.asyncCallInProgress = !1) : A.upsertWFiles(t, i.upsertStreamedMessage.bind(i), i, c);\n })[\"catch\"](function (c) {\n return E.displayError(t, c);\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"handleError\",\n value: function handleError(e, t, i) {\n var s;\n t.isLastMessageError() || (s = e.extractResultData) == null || s.call(e, i).then(function () {\n E.displayError(t, i);\n })[\"catch\"](function (r) {\n E.displayError(t, r);\n });\n }\n }, {\n key: \"handleClose\",\n value: function handleClose(e, t, i, s) {\n if (!e.asyncCallInProgress) try {\n t.finaliseStreamedMessage(), i();\n } catch (r) {\n if (!s) throw r;\n }\n }\n // io is only passed for demo to simulate a real stream\n }, {\n key: \"simulate\",\n value: function () {\n var _simulate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee1(e, t, i, s) {\n var r, o, _o2, a, _o3, _a2;\n return _regeneratorRuntime().wrap(function _callee1$(_context1) {\n while (1) switch (_context1.prev = _context1.next) {\n case 0:\n r = t;\n _context1.next = 3;\n return E.basicResponseProcessing(e, i, {\n io: s,\n useRI: !1\n });\n case 3:\n if (_context1.sent) {\n _context1.next = 5;\n break;\n }\n return _context1.abrupt(\"return\", t.onClose());\n case 5:\n if (!(Array.isArray(i) && (i = i[0]), i.files)) {\n _context1.next = 10;\n break;\n }\n _context1.next = 8;\n return E.basicResponseProcessing(e, {\n files: i.files\n }, {\n io: s\n });\n case 8:\n o = _context1.sent;\n e.addNewMessage(_objectSpread({\n sendUpdate: !1,\n ignoreText: !0\n }, o), !1);\n case 10:\n if (i.text) {\n t.onOpen();\n _o2 = i.text.split(\"\"), a = new Ce(e, s == null ? void 0 : s.stream);\n A.populateMessages(e, _o2, a, r, \"text\", 0, s);\n }\n if (i.html) {\n t.onOpen();\n _o3 = K.splitHTML(i.html);\n _o3.length === 0 && (_o3 = i.html.split(\"\"));\n _a2 = new Ce(e, s == null ? void 0 : s.stream);\n A.populateMessages(e, _o3, _a2, r, \"html\", 0, s);\n }\n i.error && (E.displayError(e, i.error), t.onClose());\n case 13:\n case \"end\":\n return _context1.stop();\n }\n }, _callee1);\n }));\n function simulate(_x20, _x21, _x22, _x23) {\n return _simulate.apply(this, arguments);\n }\n return simulate;\n }() // prettier-ignore\n // io is only passed for demo to simulate a real stream\n }, {\n key: \"populateMessages\",\n value: function () {\n var _populateMessages = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(e, t, i, s, r, o, a) {\n var l, c, d;\n return _regeneratorRuntime().wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n l = t[o];\n if (!l) {\n _context10.next = 10;\n break;\n }\n _context10.next = 4;\n return E.basicResponseProcessing(e, _defineProperty({}, r, l), {\n io: a\n });\n case 4:\n c = _context10.sent;\n A.upsertWFiles(e, i.upsertStreamedMessage.bind(i), i, c);\n d = setTimeout(function () {\n A.populateMessages(e, t, i, s, r, o + 1, a);\n }, s.simulationInterim || 6);\n s.abortStream.abort = function () {\n A.abort(d, i, s.onClose);\n };\n _context10.next = 11;\n break;\n case 10:\n i.finaliseStreamedMessage(), s.onClose();\n case 11:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n }));\n function populateMessages(_x24, _x25, _x26, _x27, _x28, _x29, _x30) {\n return _populateMessages.apply(this, arguments);\n }\n return populateMessages;\n }()\n }, {\n key: \"isSimulation\",\n value: function isSimulation(e) {\n return _typeof(e) == \"object\" && !!e.simulation;\n }\n }, {\n key: \"isSimulatable\",\n value: function isSimulatable(e, t) {\n return A.isSimulation(e) && t && (t.text || t.html);\n }\n }, {\n key: \"abort\",\n value: function abort(e, t, i) {\n clearTimeout(e), t.finaliseStreamedMessage(), i();\n }\n }, {\n key: \"upsertWFiles\",\n value: function upsertWFiles(e, t, i, s) {\n if (s && Array.isArray(s) && (s = s[0]), s != null && s.text || s != null && s.html) {\n var r = t(s);\n i !== null && i !== void 0 ? i : i = r || void 0;\n }\n s != null && s.files && (e.addNewMessage({\n files: s.files\n }), i == null || i.markFileAdded());\n }\n }]);\n}();\nvar et = /*#__PURE__*/function () {\n function et() {\n _classCallCheck(this, et);\n }\n return _createClass(et, null, [{\n key: \"generateResponse\",\n value: function generateResponse(e) {\n var t = e[e.length - 1][0];\n if (t.files && t.files.length > 0) {\n if (t.files.length > 1) return \"These are interesting files!\";\n var i = t.files[0];\n return i.src && i.src.startsWith(\"data:image/gif\") ? \"That is a nice gif!\" : i.type === \"image\" ? \"That is a nice image!\" : i.type === \"audio\" ? \"I like the sound of that!\" : \"That is an interesting file!\";\n }\n if (t.text) {\n if (t.text.charAt(t.text.length - 1) === \"?\") return \"I'm sorry but I can't answer that question...\";\n if (t.text.includes(\"updog\")) return \"What's updog?\";\n }\n return \"Hi there! This is a demo response!\";\n }\n }, {\n key: \"getCustomResponse\",\n value: function getCustomResponse(e, t) {\n return typeof e == \"function\" ? e(t) : e;\n }\n }, {\n key: \"getResponse\",\n value: function getResponse(_ref8) {\n var e = _ref8.customDemoResponse,\n t = _ref8.messageToElements;\n return e ? et.getCustomResponse(e, t[t.length - 1][0]) : {\n text: et.generateResponse(t)\n };\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"request\",\n value: function request(e, t) {\n var i = et.getResponse(t);\n setTimeout(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {\n var s, r, o;\n return _regeneratorRuntime().wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return E.basicResponseProcessing(t, i, {\n io: e\n });\n case 2:\n s = _context11.sent;\n if (s) {\n _context11.next = 5;\n break;\n }\n return _context11.abrupt(\"return\", e.completionsHandlers.onFinish());\n case 5:\n r = Array.isArray(s) ? s : [s], o = r.find(function (a) {\n return typeof a.error == \"string\";\n });\n o ? (t.addNewErrorMessage(\"service\", o.error), e.completionsHandlers.onFinish()) : A.isSimulatable(e.stream, s) ? A.simulate(t, e.streamHandlers, s) : (r.forEach(function (a) {\n return t.addNewMessage(a);\n }), e.completionsHandlers.onFinish());\n case 7:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11);\n })), 400);\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"requestStream\",\n value: function requestStream(e, t) {\n setTimeout(function () {\n var i = et.getResponse(e);\n A.simulate(e, t.streamHandlers, i, t);\n }, 400);\n }\n }]);\n}();\net.URL = \"deep-chat-demo\";\nvar Se = et;\nvar G = /*#__PURE__*/function () {\n function G() {\n _classCallCheck(this, G);\n }\n return _createClass(G, null, [{\n key: \"setup\",\n value: function setup(e) {\n e.permittedErrorPrefixes = [\"Connection error\", \"Error in server message\"], e.websocket = \"pending\";\n }\n }, {\n key: \"isElementPresentInDOM\",\n value: function isElementPresentInDOM(e) {\n return e.getRootNode({\n composed: !0\n }) instanceof Document;\n }\n }, {\n key: \"createConnection\",\n value: function createConnection(e, t) {\n if (!G.isElementPresentInDOM(e.deepChat)) return;\n var i = e.connectSettings.websocket;\n if (i) {\n if (e.connectSettings.handler) return ye.websocket(e, t);\n try {\n var s = typeof i != \"boolean\" ? i : void 0,\n r = new WebSocket(e.connectSettings.url || \"\", s);\n e.websocket = r, e.websocket.onopen = function () {\n var o, a;\n t.removeError(), e.websocket && _typeof(e.websocket) == \"object\" && G.assignListeners(e, r, t), (a = (o = e.deepChat)._validationHandler) == null || a.call(o);\n }, e.websocket.onerror = function (o) {\n console.error(o), G.retryConnection(e, t);\n };\n } catch (s) {\n console.error(s), G.retryConnection(e, t);\n }\n }\n }\n }, {\n key: \"retryConnection\",\n value: function retryConnection(e, t) {\n var i, s;\n (s = (i = e.deepChat)._validationHandler) == null || s.call(i), G.isElementPresentInDOM(e.deepChat) && (e.websocket = \"pending\", t.isLastMessageError() || t.addNewErrorMessage(\"service\", \"Connection error\"), setTimeout(function () {\n G.createConnection(e, t);\n }, 5e3));\n }\n }, {\n key: \"assignListeners\",\n value: function assignListeners(e, t, i) {\n var _this8 = this;\n var s = {};\n t.onmessage = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(r) {\n var o, a, l, c, _l, _c;\n return _regeneratorRuntime().wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n if (!e.extractResultData) {\n _context12.next = 22;\n break;\n }\n _context12.prev = 1;\n o = JSON.parse(r.data);\n _context12.next = 5;\n return E.basicResponseProcessing(i, o, {\n io: e,\n displayError: !1\n });\n case 5:\n a = _context12.sent;\n if (a) {\n _context12.next = 8;\n break;\n }\n throw Error(M.INVALID_RESPONSE(o, \"server\", !!e.deepChat.responseInterceptor, a));\n case 8:\n if (!A.isSimulation(e.stream)) {\n _context12.next = 13;\n break;\n }\n l = G.stream.bind(_this8, e, i, s), c = s[o.role || v.AI_ROLE];\n A.upsertWFiles(i, l, c, a);\n _context12.next = 17;\n break;\n case 13:\n _l = Array.isArray(a) ? a : [a], _c = _l.find(function (d) {\n return typeof d.error == \"string\";\n });\n if (!_c) {\n _context12.next = 16;\n break;\n }\n throw _c.error;\n case 16:\n _l.forEach(function (d) {\n return i.addNewMessage(d);\n });\n case 17:\n _context12.next = 22;\n break;\n case 19:\n _context12.prev = 19;\n _context12.t0 = _context12[\"catch\"](1);\n E.displayError(i, _context12.t0, \"Error in server message\");\n case 22:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12, null, [[1, 19]]);\n }));\n return function (_x31) {\n return _ref0.apply(this, arguments);\n };\n }(), t.onclose = function () {\n console.error(\"Connection closed\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\"), e.stream && e.streamHandlers.abortStream.abort(), G.createConnection(e, i);\n };\n }\n }, {\n key: \"sendWebsocket\",\n value: function () {\n var _sendWebsocket = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(e, t, i) {\n var s,\n d,\n u,\n r,\n o,\n _yield$E$processReque2,\n a,\n l,\n c,\n _args13 = arguments;\n return _regeneratorRuntime().wrap(function _callee13$(_context13) {\n while (1) switch (_context13.prev = _context13.next) {\n case 0:\n s = _args13.length > 3 && _args13[3] !== undefined ? _args13[3] : !0;\n if (!(((d = e.connectSettings) == null ? void 0 : d.url) === Se.URL)) {\n _context13.next = 3;\n break;\n }\n return _context13.abrupt(\"return\", Se.request(e, i));\n case 3:\n r = e.websocket;\n if (!(!r || r === \"pending\")) {\n _context13.next = 6;\n break;\n }\n return _context13.abrupt(\"return\");\n case 6:\n o = {\n body: t,\n headers: (u = e.connectSettings) == null ? void 0 : u.headers\n };\n _context13.next = 9;\n return E.processRequestInterceptor(e.deepChat, o);\n case 9:\n _yield$E$processReque2 = _context13.sent;\n a = _yield$E$processReque2.body;\n l = _yield$E$processReque2.error;\n if (!l) {\n _context13.next = 14;\n break;\n }\n return _context13.abrupt(\"return\", i.addNewErrorMessage(\"service\", l));\n case 14:\n if (G.isWebSocket(r)) {\n _context13.next = 16;\n break;\n }\n return _context13.abrupt(\"return\", r.newUserMessage.listener(a));\n case 16:\n c = s ? JSON.stringify(a) : a;\n r.readyState === void 0 || r.readyState !== r.OPEN ? (console.error(\"Connection is not open\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\")) : (r.send(JSON.stringify(c)), e.completionsHandlers.onFinish());\n case 18:\n case \"end\":\n return _context13.stop();\n }\n }, _callee13);\n }));\n function sendWebsocket(_x32, _x33, _x34) {\n return _sendWebsocket.apply(this, arguments);\n }\n return sendWebsocket;\n }()\n }, {\n key: \"canSendMessage\",\n value: function canSendMessage(e) {\n return e ? e === \"pending\" ? !1 : G.isWebSocket(e) ? e.readyState !== void 0 && e.readyState === e.OPEN : e.isOpen : !0;\n }\n // if false then it is the internal websocket handler\n }, {\n key: \"isWebSocket\",\n value: function isWebSocket(e) {\n return e.send !== void 0;\n }\n }, {\n key: \"stream\",\n value: function stream(e, t, i, s) {\n if (!s) return;\n var r = e.stream.simulation;\n if (typeof r == \"string\") {\n var _i$o;\n var o = s.role || v.AI_ROLE,\n a = i[o];\n s.text === r || s.html === r ? (a == null || a.finaliseStreamedMessage(), delete i[o]) : ((_i$o = i[o]) !== null && _i$o !== void 0 ? _i$o : i[o] = new Ce(t, e.stream), i[o].upsertStreamedMessage(s));\n } else A.simulate(t, e.streamHandlers, s);\n }\n }]);\n}();\nvar ye = /*#__PURE__*/function () {\n function ye() {\n _classCallCheck(this, ye);\n }\n return _createClass(ye, null, [{\n key: \"request\",\n value: function () {\n var _request2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(e, t, i) {\n var a, l, s, r, o;\n return _regeneratorRuntime().wrap(function _callee15$(_context15) {\n while (1) switch (_context15.prev = _context15.next) {\n case 0:\n s = !0;\n r = /*#__PURE__*/function () {\n var _ref1 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(c) {\n var d, u, h;\n return _regeneratorRuntime().wrap(function _callee14$(_context14) {\n while (1) switch (_context14.prev = _context14.next) {\n case 0:\n if (s) {\n _context14.next = 2;\n break;\n }\n return _context14.abrupt(\"return\");\n case 2:\n s = !1;\n _context14.next = 5;\n return E.basicResponseProcessing(i, c, {\n io: e,\n displayError: !1\n });\n case 5:\n d = _context14.sent;\n if (!d) console.error(M.INVALID_RESPONSE(c, \"server\", !!e.deepChat.responseInterceptor, d)), i.addNewErrorMessage(\"service\", \"Error in server message\"), e.completionsHandlers.onFinish();else {\n u = Array.isArray(d) ? d : [d], h = u.find(function (f) {\n return typeof f.error == \"string\";\n });\n h ? (console.error(h.error), i.addNewErrorMessage(\"service\", h.error), e.completionsHandlers.onFinish()) : A.isSimulatable(e.stream, d) ? A.simulate(i, e.streamHandlers, d) : (u.forEach(function (f) {\n return i.addNewMessage(f);\n }), e.completionsHandlers.onFinish());\n }\n case 7:\n case \"end\":\n return _context14.stop();\n }\n }, _callee14);\n }));\n return function r(_x38) {\n return _ref1.apply(this, arguments);\n };\n }(), o = ye.generateOptionalSignals();\n (l = (a = e.connectSettings).handler) == null || l.call(a, t, _objectSpread(_objectSpread({}, o), {}, {\n onResponse: r\n }));\n case 3:\n case \"end\":\n return _context15.stop();\n }\n }, _callee15);\n }));\n function request(_x35, _x36, _x37) {\n return _request2.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"attemptToFinaliseStream\",\n value: function attemptToFinaliseStream(e, t) {\n try {\n var i = t.messageElementRefs[t.messageElementRefs.length - 1];\n he.isLoadingMessage(i) ? t.removeLastMessage() : e.finaliseStreamedMessage();\n } catch (i) {\n console.error(i), t.addNewErrorMessage(\"service\", i);\n }\n }\n // prettier-ignore\n }, {\n key: \"stream\",\n value: function stream(e, t, i) {\n var u, h;\n var s = !0,\n r = !1;\n var o = new Ce(i, e.stream),\n a = function a() {\n r || !s || (e.streamHandlers.onOpen(), r = !0);\n },\n l = function l() {\n s && (ye.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), s = !1);\n },\n c = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(f) {\n var m, p;\n return _regeneratorRuntime().wrap(function _callee16$(_context16) {\n while (1) switch (_context16.prev = _context16.next) {\n case 0:\n if (s) {\n _context16.next = 2;\n break;\n }\n return _context16.abrupt(\"return\");\n case 2:\n _context16.next = 4;\n return E.basicResponseProcessing(i, f, {\n io: e,\n displayError: !1\n });\n case 4:\n m = _context16.sent;\n if (m) m.error ? (ye.streamError(m.error, o, e, i), s = !1) : A.upsertWFiles(i, o.upsertStreamedMessage.bind(o), o, m);else {\n p = M.INVALID_RESPONSE(f, \"server\", !!e.deepChat.responseInterceptor, m);\n ye.streamError(p, o, e, i), s = !1;\n }\n case 6:\n case \"end\":\n return _context16.stop();\n }\n }, _callee16);\n }));\n return function c(_x39) {\n return _ref10.apply(this, arguments);\n };\n }();\n e.streamHandlers.abortStream.abort = function () {\n ye.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), s = !1;\n };\n var d = ye.generateOptionalSignals();\n (h = (u = e.connectSettings).handler) == null || h.call(u, t, _objectSpread(_objectSpread({}, d), {}, {\n onOpen: a,\n onResponse: c,\n onClose: l,\n stopClicked: e.streamHandlers.stopClicked\n }));\n }\n }, {\n key: \"streamError\",\n value: function streamError(e, t, i, s) {\n console.error(e), t.finaliseStreamedMessage(), s.addNewErrorMessage(\"service\", e), i.streamHandlers.onClose();\n }\n // prettier-ignore\n }, {\n key: \"websocket\",\n value: function websocket(e, t) {\n var _this9 = this;\n var l, c;\n var i = {\n isOpen: !1,\n newUserMessage: {\n listener: function listener() {}\n },\n roleToStream: {}\n };\n e.websocket = i;\n var s = function s() {\n t.removeError(), i.isOpen = !0;\n },\n r = function r() {\n i.isOpen = !1;\n },\n o = /*#__PURE__*/function () {\n var _ref11 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17(d) {\n var u, h, f, m, p, g;\n return _regeneratorRuntime().wrap(function _callee17$(_context17) {\n while (1) switch (_context17.prev = _context17.next) {\n case 0:\n if (i.isOpen) {\n _context17.next = 2;\n break;\n }\n return _context17.abrupt(\"return\");\n case 2:\n _context17.next = 4;\n return E.basicResponseProcessing(t, d, {\n io: e,\n displayError: !1\n });\n case 4:\n u = _context17.sent;\n if (!u) console.error(M.INVALID_RESPONSE(d, \"server\", !!e.deepChat.responseInterceptor, u)), t.addNewErrorMessage(\"service\", \"Error in server message\");else {\n h = Array.isArray(u) ? u : [u], f = h.find(function (m) {\n return typeof m.error == \"string\";\n });\n if (f) console.error(f.error), t.isLastMessageError() || t.addNewErrorMessage(\"service\", f.error);else if (A.isSimulation(e.stream)) {\n m = u, p = G.stream.bind(_this9, e, t, i.roleToStream), g = i.roleToStream[m.role || v.AI_ROLE];\n A.upsertWFiles(t, p, g, m);\n } else h.forEach(function (m) {\n return t.addNewMessage(m);\n });\n }\n case 6:\n case \"end\":\n return _context17.stop();\n }\n }, _callee17);\n }));\n return function o(_x40) {\n return _ref11.apply(this, arguments);\n };\n }(),\n a = ye.generateOptionalSignals();\n (c = (l = e.connectSettings).handler) == null || c.call(l, void 0, _objectSpread(_objectSpread({}, a), {}, {\n onOpen: s,\n onResponse: o,\n onClose: r,\n newUserMessage: i.newUserMessage\n }));\n }\n }, {\n key: \"generateOptionalSignals\",\n value: function generateOptionalSignals() {\n return {\n onClose: function onClose() {},\n onOpen: function onOpen() {},\n stopClicked: {\n listener: function listener() {}\n },\n newUserMessage: {\n listener: function listener() {}\n }\n };\n }\n }]);\n}();\nvar C = /*#__PURE__*/function () {\n function C() {\n _classCallCheck(this, C);\n }\n return _createClass(C, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(e, t, i) {\n var s,\n h,\n f,\n m,\n r,\n _yield$E$processReque3,\n o,\n a,\n l,\n c,\n d,\n u,\n _args19 = arguments;\n return _regeneratorRuntime().wrap(function _callee19$(_context19) {\n while (1) switch (_context19.prev = _context19.next) {\n case 0:\n s = _args19.length > 3 && _args19[3] !== undefined ? _args19[3] : !0;\n r = {\n body: t,\n headers: (h = e.connectSettings) == null ? void 0 : h.headers\n };\n _context19.next = 4;\n return E.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$E$processReque3 = _context19.sent;\n o = _yield$E$processReque3.body;\n a = _yield$E$processReque3.headers;\n l = _yield$E$processReque3.error;\n c = e.completionsHandlers.onFinish;\n if (!l) {\n _context19.next = 11;\n break;\n }\n return _context19.abrupt(\"return\", E.onInterceptorError(i, l, c));\n case 11:\n if (!((f = e.connectSettings) != null && f.handler)) {\n _context19.next = 13;\n break;\n }\n return _context19.abrupt(\"return\", ye.request(e, o, i));\n case 13:\n if (!(((m = e.connectSettings) == null ? void 0 : m.url) === Se.URL)) {\n _context19.next = 15;\n break;\n }\n return _context19.abrupt(\"return\", Se.request(e, i));\n case 15:\n d = !0;\n u = E.fetch.bind(this, e, a, s);\n u(o).then(function (p) {\n return d = !!p.ok, p;\n }).then(function (p) {\n return E.processResponseByType(p);\n }).then(/*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(p) {\n var k, j, g, b;\n return _regeneratorRuntime().wrap(function _callee18$(_context18) {\n while (1) switch (_context18.prev = _context18.next) {\n case 0:\n if (e.extractResultData) {\n _context18.next = 2;\n break;\n }\n return _context18.abrupt(\"return\");\n case 2:\n _context18.next = 4;\n return (j = (k = e.deepChat).responseInterceptor) == null ? void 0 : j.call(k, p);\n case 4:\n _context18.t0 = _context18.sent;\n if (_context18.t0) {\n _context18.next = 7;\n break;\n }\n _context18.t0 = p;\n case 7:\n g = _context18.t0;\n _context18.next = 10;\n return e.extractResultData(g, u, o);\n case 10:\n b = _context18.sent;\n if (d) {\n _context18.next = 13;\n break;\n }\n throw p;\n case 13:\n if (!(!b || _typeof(b) != \"object\" && !Array.isArray(b))) {\n _context18.next = 15;\n break;\n }\n throw Error(M.INVALID_RESPONSE(p, \"response\", !!e.deepChat.responseInterceptor, g));\n case 15:\n b.makingAnotherRequest || (A.isSimulatable(e.stream, b) ? A.simulate(i, e.streamHandlers, b) : ((Array.isArray(b) ? b : [b]).forEach(function (ae) {\n return i.addNewMessage(ae);\n }), c()));\n case 16:\n case \"end\":\n return _context18.stop();\n }\n }, _callee18);\n }));\n return function (_x44) {\n return _ref12.apply(this, arguments);\n };\n }())[\"catch\"](function (p) {\n E.displayError(i, p), c();\n });\n case 18:\n case \"end\":\n return _context19.stop();\n }\n }, _callee19, this);\n }));\n function request(_x41, _x42, _x43) {\n return _request3.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"executePollRequest\",\n value: function executePollRequest(e, t, i, s) {\n var r = e.completionsHandlers.onFinish;\n fetch(t, i).then(function (o) {\n return o.json();\n }).then(/*#__PURE__*/function () {\n var _ref13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(o) {\n var l, c, a;\n return _regeneratorRuntime().wrap(function _callee20$(_context20) {\n while (1) switch (_context20.prev = _context20.next) {\n case 0:\n if (e.extractPollResultData) {\n _context20.next = 2;\n break;\n }\n return _context20.abrupt(\"return\");\n case 2:\n _context20.t0 = e;\n _context20.next = 5;\n return (c = (l = e.deepChat).responseInterceptor) == null ? void 0 : c.call(l, o);\n case 5:\n _context20.t1 = _context20.sent;\n if (_context20.t1) {\n _context20.next = 8;\n break;\n }\n _context20.t1 = o;\n case 8:\n _context20.t2 = _context20.t1;\n _context20.next = 11;\n return _context20.t0.extractPollResultData.call(_context20.t0, _context20.t2);\n case 11:\n a = _context20.sent;\n a.timeoutMS ? setTimeout(function () {\n C.executePollRequest(e, t, i, s);\n }, a.timeoutMS) : A.isSimulatable(e.stream, a) ? A.simulate(s, e.streamHandlers, a) : (s.addNewMessage(a), r());\n case 13:\n case \"end\":\n return _context20.stop();\n }\n }, _callee20);\n }));\n return function (_x45) {\n return _ref13.apply(this, arguments);\n };\n }())[\"catch\"](function (o) {\n E.displayError(s, o), r();\n });\n }\n // prettier-ignore\n }, {\n key: \"poll\",\n value: function () {\n var _poll = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(e, t, i) {\n var s,\n f,\n m,\n p,\n r,\n _yield$E$processReque4,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n _args21 = arguments;\n return _regeneratorRuntime().wrap(function _callee21$(_context21) {\n while (1) switch (_context21.prev = _context21.next) {\n case 0:\n s = _args21.length > 3 && _args21[3] !== undefined ? _args21[3] : !0;\n r = {\n body: t,\n headers: (f = e.connectSettings) == null ? void 0 : f.headers\n };\n _context21.next = 4;\n return E.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$E$processReque4 = _context21.sent;\n o = _yield$E$processReque4.body;\n a = _yield$E$processReque4.headers;\n l = _yield$E$processReque4.error;\n if (!l) {\n _context21.next = 10;\n break;\n }\n return _context21.abrupt(\"return\", E.onInterceptorError(i, l));\n case 10:\n c = ((m = e.connectSettings) == null ? void 0 : m.url) || e.url || \"\", d = ((p = e.connectSettings) == null ? void 0 : p.method) || \"POST\", u = s ? JSON.stringify(o) : o, h = {\n method: d,\n body: u,\n headers: a\n };\n e.connectSettings.credentials && (h.credentials = e.connectSettings.credentials), C.executePollRequest(e, c, h, i);\n case 12:\n case \"end\":\n return _context21.stop();\n }\n }, _callee21);\n }));\n function poll(_x46, _x47, _x48) {\n return _poll.apply(this, arguments);\n }\n return poll;\n }() // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i, s, r, o, a, l, c) {\n if (e === \"\") return o(M.INVALID_KEY);\n a(), fetch(t, {\n method: s,\n headers: i,\n body: c || null\n }).then(function (d) {\n return E.processResponseByType(d);\n }).then(function (d) {\n l(d, e, r, o);\n })[\"catch\"](function (d) {\n o(M.CONNECTION_FAILED), console.error(d);\n });\n }\n }]);\n}();\nvar Ge = /*#__PURE__*/function () {\n function Ge(e, t, i) {\n _classCallCheck(this, Ge);\n this._isLoading = !1, this._isPaginationComplete = !1, this._index = 0, this._messages = t, i.fetchHistory && this.fetchHistory(i.fetchHistory), e.loadHistory && this.setupLoadHistoryOnScroll(e.loadHistory), this.setupInitialHistory(e);\n }\n return _createClass(Ge, [{\n key: \"fetchHistory\",\n value: function () {\n var _fetchHistory = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(e) {\n var _this0 = this;\n var t, i;\n return _regeneratorRuntime().wrap(function _callee22$(_context22) {\n while (1) switch (_context22.prev = _context22.next) {\n case 0:\n t = je.addMessage(this._messages);\n _context22.next = 3;\n return e();\n case 3:\n i = _context22.sent;\n this._messages.removeMessage(t), Ge.displayIntroMessages(this._messages.messageElementRefs), i.forEach(function (s) {\n return _this0._messages.addAnyMessage(s, !0);\n }), setTimeout(function () {\n return W.scrollToBottom(_this0._messages.elementRef);\n }, 0);\n case 5:\n case \"end\":\n return _context22.stop();\n }\n }, _callee22, this);\n }));\n function fetchHistory(_x49) {\n return _fetchHistory.apply(this, arguments);\n }\n return fetchHistory;\n }()\n }, {\n key: \"processLoadedHistory\",\n value: function processLoadedHistory(e) {\n var _this1 = this;\n var a;\n var _this$_messages = this._messages,\n t = _this$_messages.messageElementRefs,\n i = _this$_messages.messageToElements,\n s = _this$_messages.elementRef,\n r = (a = t.find(function (l) {\n return !l.outerContainer.classList.contains(he.INTRO_CLASS);\n })) == null ? void 0 : a.outerContainer,\n o = s.scrollTop;\n e == null || e.reverse().map(function (l) {\n var c = _this1._messages.addAnyMessage(_objectSpread(_objectSpread({}, l), {}, {\n sendUpdate: !0\n }), !0, !0);\n if (c) {\n var d = v.generateMessageBody(c, t, !0);\n i.unshift([c, d]);\n }\n return c;\n }).filter(function (l) {\n return !!l;\n }).reverse().forEach(function (l) {\n return _this1._messages.sendClientUpdate(l, !0);\n }), r && (s.scrollTop = o + r.offsetTop - 40);\n }\n }, {\n key: \"populateMessages\",\n value: function populateMessages(e, t) {\n this._messages.removeMessage(e), this._isPaginationComplete = t.findIndex(function (a) {\n return !a;\n }) < 0;\n var i = t.filter(function (a) {\n return !!a;\n });\n this.processLoadedHistory(i);\n var _this$_messages2 = this._messages,\n s = _this$_messages2.messageElementRefs,\n r = _this$_messages2.avatar,\n o = _this$_messages2.name;\n v.resetAllRoleElements(s, r, o);\n }\n }, {\n key: \"setupLoadHistoryOnScroll\",\n value: function () {\n var _setupLoadHistoryOnScroll = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee24(e) {\n var _this10 = this;\n return _regeneratorRuntime().wrap(function _callee24$(_context24) {\n while (1) switch (_context24.prev = _context24.next) {\n case 0:\n this._messages.elementRef.onscroll = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23() {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee23$(_context23) {\n while (1) switch (_context23.prev = _context23.next) {\n case 0:\n if (!(!_this10._isLoading && !_this10._isPaginationComplete && _this10._messages.elementRef.scrollTop === 0)) {\n _context23.next = 13;\n break;\n }\n _this10._isLoading = !0;\n t = je.addMessage(_this10._messages, !1);\n _context23.prev = 3;\n _context23.next = 6;\n return e(_this10._index++);\n case 6:\n i = _context23.sent;\n _this10.populateMessages(t, i), _this10._isLoading = !1;\n _context23.next = 13;\n break;\n case 10:\n _context23.prev = 10;\n _context23.t0 = _context23[\"catch\"](3);\n _this10._messages.removeMessage(t), _this10._isPaginationComplete = !0, _this10._messages.addNewErrorMessage(\"service\", Ge.FAILED_ERROR_MESSAGE, !0), console.error(_context23.t0);\n case 13:\n case \"end\":\n return _context23.stop();\n }\n }, _callee23, null, [[3, 10]]);\n }));\n case 1:\n case \"end\":\n return _context24.stop();\n }\n }, _callee24, this);\n }));\n function setupLoadHistoryOnScroll(_x50) {\n return _setupLoadHistoryOnScroll.apply(this, arguments);\n }\n return setupLoadHistoryOnScroll;\n }()\n }, {\n key: \"populateInitialHistory\",\n value: function populateInitialHistory(e) {\n var _this11 = this;\n e.forEach(function (t) {\n te.processHistoryFile(t), _this11._messages.addAnyMessage(t, !0);\n });\n }\n }, {\n key: \"loadInitialHistory\",\n value: function () {\n var _loadInitialHistory = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee25(e) {\n var _this12 = this;\n var t, i, s;\n return _regeneratorRuntime().wrap(function _callee25$(_context25) {\n while (1) switch (_context25.prev = _context25.next) {\n case 0:\n this._isLoading = !0;\n t = je.addMessage(this._messages);\n _context25.prev = 2;\n _context25.next = 5;\n return e(this._index++);\n case 5:\n i = _context25.sent;\n s = this._messages.elementRef.scrollTop;\n this.populateMessages(t, i), s === 0 && setTimeout(function () {\n return W.scrollToBottom(_this12._messages.elementRef);\n }, 0);\n _context25.next = 13;\n break;\n case 10:\n _context25.prev = 10;\n _context25.t0 = _context25[\"catch\"](2);\n this._messages.removeMessage(t), this._isPaginationComplete = !0, this._messages.addNewErrorMessage(\"service\", Ge.FAILED_ERROR_MESSAGE, !0), console.error(_context25.t0);\n case 13:\n Ge.displayIntroMessages(this._messages.messageElementRefs), this._isLoading = !1;\n case 14:\n case \"end\":\n return _context25.stop();\n }\n }, _callee25, this, [[2, 10]]);\n }));\n function loadInitialHistory(_x51) {\n return _loadInitialHistory.apply(this, arguments);\n }\n return loadInitialHistory;\n }()\n }, {\n key: \"setupInitialHistory\",\n value: function () {\n var _setupInitialHistory = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee26(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee26$(_context26) {\n while (1) switch (_context26.prev = _context26.next) {\n case 0:\n e.loadHistory && this.loadInitialHistory(e.loadHistory);\n t = e.history || te.processHistory(e) || ((i = this._messages.browserStorage) == null ? void 0 : i.get());\n t && (this.populateInitialHistory(t), this._index += 1);\n case 3:\n case \"end\":\n return _context26.stop();\n }\n }, _callee26, this);\n }));\n function setupInitialHistory(_x52) {\n return _setupInitialHistory.apply(this, arguments);\n }\n return setupInitialHistory;\n }()\n }], [{\n key: \"addErrorPrefix\",\n value: function addErrorPrefix(e) {\n var _e$permittedErrorPref;\n (_e$permittedErrorPref = e.permittedErrorPrefixes) !== null && _e$permittedErrorPref !== void 0 ? _e$permittedErrorPref : e.permittedErrorPrefixes = [], e.permittedErrorPrefixes.push(Ge.FAILED_ERROR_MESSAGE);\n }\n }, {\n key: \"displayIntroMessages\",\n value: function displayIntroMessages(e) {\n for (var t = 0; t < e.length; t += 1) {\n var i = e[0];\n if (i.outerContainer.classList.contains(he.INTRO_CLASS)) i.outerContainer.style.display = \"\";else break;\n }\n }\n }]);\n}();\nGe.FAILED_ERROR_MESSAGE = \"Failed to load history\";\nvar ri = Ge;\nvar at = /*#__PURE__*/function () {\n function at() {\n _classCallCheck(this, at);\n }\n return _createClass(at, null, [{\n key: \"getCharacterLimitMessages\",\n value: function getCharacterLimitMessages(e, t) {\n var r;\n if (t === -1) return e;\n var i = 0,\n s = e.length - 1;\n for (s; s >= 0; s -= 1) {\n var o = (r = e[s]) == null ? void 0 : r.text;\n if (o !== void 0 && (i += o.length, i > t)) {\n e[s].text = o.substring(0, o.length - (i - t));\n break;\n }\n }\n return e.slice(Math.max(s, 0));\n }\n }, {\n key: \"getMaxMessages\",\n value: function getMaxMessages(e, t) {\n return e.slice(Math.max(e.length - t, 0));\n }\n // if maxMessages is not defined we send all messages\n // if maxMessages above 0 we send that number\n // if maxMessages 0 or below we send only what is in the request\n }, {\n key: \"processMessages\",\n value: function processMessages(e, t, i) {\n return t !== void 0 ? t > 0 && (e = at.getMaxMessages(e, t)) : e = [e[e.length - 1]], e = JSON.parse(JSON.stringify(e)), i === void 0 ? e : at.getCharacterLimitMessages(e, i);\n }\n }]);\n}();\nvar B = /*#__PURE__*/function () {\n function B() {\n _classCallCheck(this, B);\n }\n return _createClass(B, null, [{\n key: \"parseConfig\",\n value:\n // prettier-ignore\n function parseConfig(e, t, i, s) {\n var o;\n var r = {\n files: t\n };\n if (_typeof(s) == \"object\") {\n te.processFileConfigConnect(s);\n var a = s.files,\n l = s.connect,\n c = s.button;\n a && (a.infoModal && (r.files.infoModal = a.infoModal, (o = a.infoModal) != null && o.textMarkDown && (r.infoModalTextMarkUp = i.render(a.infoModal.textMarkDown))), a.acceptedFormats && (r.files.acceptedFormats = a.acceptedFormats), a.maxNumberOfFiles && (r.files.maxNumberOfFiles = a.maxNumberOfFiles)), r.button = c, l && (l.headers || l.method || l.url || l.credentials || e.headers || e.method || e.url || e.credentials) && (r.connect = {\n url: (l == null ? void 0 : l.url) || e.url,\n method: (l == null ? void 0 : l.method) || e.method,\n headers: (l == null ? void 0 : l.headers) || e.headers,\n credentials: (l == null ? void 0 : l.credentials) || e.credentials\n });\n }\n return r;\n }\n }, {\n key: \"processMixedFiles\",\n value: function processMixedFiles(e, t, i) {\n if (i) {\n var s = {\n acceptedFormats: \"\"\n };\n e.fileTypes.mixedFiles = B.parseConfig(e.connectSettings, s, t, i);\n }\n }\n // needs to be set after audio to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processMicrophone\",\n value: function processMicrophone(e, t, i, s) {\n var _l$files, _h$maxNumberOfFiles;\n var a, l, c, d, u, h;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, ((a = e.fileTypes.audio) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.recordAudio = B.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && i.files && ((_l$files = (l = e.recordAudio).files) !== null && _l$files !== void 0 ? _l$files : l.files = {}, e.recordAudio.files.format = (c = i.files) == null ? void 0 : c.format, e.recordAudio.files.maxDurationSeconds = (d = i.files) == null ? void 0 : d.maxDurationSeconds, (u = e.fileTypes.audio) != null && u.files && ((_h$maxNumberOfFiles = (h = e.fileTypes.audio.files).maxNumberOfFiles) !== null && _h$maxNumberOfFiles !== void 0 ? _h$maxNumberOfFiles : h.maxNumberOfFiles = i.files.maxNumberOfFiles))) : s || (e.fileTypes.audio = B.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processAudioConfig\",\n value: function processAudioConfig(e, t, i, s) {\n if (!i && !s) return;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, (s == null ? void 0 : s.files) || {});\n e.fileTypes.audio = B.parseConfig(e.connectSettings, o, t, i);\n }\n // prettier-ignore\n }, {\n key: \"processGifConfig\",\n value: function processGifConfig(e, t, i, s) {\n if (!i && !s) return;\n var o = _objectSpread({\n acceptedFormats: \"image/gif\"\n }, (s == null ? void 0 : s.files) || {});\n e.fileTypes.gifs = B.parseConfig(e.connectSettings, o, t, i);\n }\n // needs to be set after images to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processCamera\",\n value: function processCamera(e, t, i, s) {\n var _l$files2;\n var a, l, c, d;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, ((a = e.fileTypes.images) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.camera = B.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && (e.camera.modalContainerStyle = i.modalContainerStyle, i.files && ((_l$files2 = (l = e.camera).files) !== null && _l$files2 !== void 0 ? _l$files2 : l.files = {}, e.camera.files.format = (c = i.files) == null ? void 0 : c.format, e.camera.files.dimensions = (d = i.files) == null ? void 0 : d.dimensions))) : s || (e.fileTypes.images = B.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processImagesConfig\",\n value: function processImagesConfig(e, t, i, s) {\n if (!i && !s) return;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, (s == null ? void 0 : s.files) || {});\n e.fileTypes.images = B.parseConfig(e.connectSettings, o, t, i);\n }\n // default for direct service\n }, {\n key: \"populateDefaultFileIO\",\n value: function populateDefaultFileIO(e, t) {\n var _e$files, _i$acceptedFormats, _s$maxNumberOfFiles;\n var i, s;\n e && ((_e$files = e.files) !== null && _e$files !== void 0 ? _e$files : e.files = {}, (_i$acceptedFormats = (i = e.files).acceptedFormats) !== null && _i$acceptedFormats !== void 0 ? _i$acceptedFormats : i.acceptedFormats = t, (_s$maxNumberOfFiles = (s = e.files).maxNumberOfFiles) !== null && _s$maxNumberOfFiles !== void 0 ? _s$maxNumberOfFiles : s.maxNumberOfFiles = 1);\n }\n }, {\n key: \"set\",\n value: function set(e, t, i) {\n B.populateDefaultFileIO(i == null ? void 0 : i.audio, \".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a\"), B.populateDefaultFileIO(i == null ? void 0 : i.images, \".png,.jpg\");\n var s = si.createNew(e.remarkable);\n B.processImagesConfig(t, s, e.images, i == null ? void 0 : i.images), B.processCamera(t, s, e.camera, e.images), B.processGifConfig(t, s, e.gifs, i == null ? void 0 : i.gifs), B.processAudioConfig(t, s, e.audio, i == null ? void 0 : i.audio), B.processMicrophone(t, s, e.microphone, e.audio), B.processMixedFiles(t, s, e.mixedFiles);\n }\n }]);\n}();\nvar lt = /*#__PURE__*/function () {\n function lt(e, t, i) {\n var _a$url;\n _classCallCheck(this, lt);\n var s, r, o, a, l;\n this.rawBody = {}, this.validateKeyProperty = !1, this.canSendMessage = lt.canSendMessage, this.connectSettings = {}, this.fileTypes = {}, this.completionsHandlers = {}, this.streamHandlers = {}, this.deepChat = e, this.demo = i, Object.assign(this.rawBody, (s = e.connect) == null ? void 0 : s.additionalBodyProps), this.totalMessagesMaxCharLength = (r = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : r.totalMessagesMaxCharLength, this.maxMessages = (o = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : o.maxMessages, B.set(e, this, t), e.connect && (this.connectSettings = e.connect), this.demo && ((_a$url = (a = this.connectSettings).url) !== null && _a$url !== void 0 ? _a$url : a.url = Se.URL), this.connectSettings.websocket && G.setup(this), this.stream = ((l = this.deepChat.connect) == null ? void 0 : l.stream) || te.checkForStream(this.deepChat), e.loadHistory && ri.addErrorPrefix(this);\n }\n return _createClass(lt, [{\n key: \"verifyKey\",\n value: function verifyKey(e, t) {}\n }, {\n key: \"getServiceIOByType\",\n value: function getServiceIOByType(e) {\n if (e.type.startsWith(\"audio\") && this.fileTypes.audio) return this.fileTypes.audio;\n if (e.type.startsWith(\"image\")) {\n if (this.fileTypes.gifs && e.type.endsWith(\"/gif\")) return this.fileTypes.gifs;\n if (this.fileTypes.images) return this.fileTypes.images;\n if (this.camera) return this.camera;\n }\n return this.fileTypes.mixedFiles;\n }\n }, {\n key: \"request\",\n value: function () {\n var _request4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee27(e, t) {\n var i,\n _args27 = arguments;\n return _regeneratorRuntime().wrap(function _callee27$(_context27) {\n while (1) switch (_context27.prev = _context27.next) {\n case 0:\n i = _args27.length > 2 && _args27[2] !== undefined ? _args27[2] : !0;\n return _context27.abrupt(\"return\", this.stream && !A.isSimulation(this.stream) ? A.request(this, e, t, i) : C.request(this, e, t, i));\n case 2:\n case \"end\":\n return _context27.stop();\n }\n }, _callee27, this);\n }));\n function request(_x53, _x54) {\n return _request4.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"callAPIWithText\",\n value: function () {\n var _callAPIWithText = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee28(e, t) {\n var _o$headers, _a$ContentType;\n var r, o, a, l, i, s;\n return _regeneratorRuntime().wrap(function _callee28$(_context28) {\n while (1) switch (_context28.prev = _context28.next) {\n case 0:\n i = _objectSpread({\n messages: t\n }, this.rawBody);\n s = !1;\n (r = this.connectSettings.headers) != null && r[\"Content-Type\"] || ((_o$headers = (o = this.connectSettings).headers) !== null && _o$headers !== void 0 ? _o$headers : o.headers = {}, (_a$ContentType = (a = this.connectSettings.headers)[\"Content-Type\"]) !== null && _a$ContentType !== void 0 ? _a$ContentType : a[\"Content-Type\"] = \"application/json\", s = !0);\n _context28.next = 5;\n return this.request(i, e);\n case 5:\n s && ((l = this.connectSettings.headers) == null || delete l[\"Content-Type\"]);\n case 6:\n case \"end\":\n return _context28.stop();\n }\n }, _callee28, this);\n }));\n function callAPIWithText(_x55, _x56) {\n return _callAPIWithText.apply(this, arguments);\n }\n return callAPIWithText;\n }()\n }, {\n key: \"callApiWithFiles\",\n value: function () {\n var _callApiWithFiles = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee29(e, t, i) {\n var s, r, o;\n return _regeneratorRuntime().wrap(function _callee29$(_context29) {\n while (1) switch (_context29.prev = _context29.next) {\n case 0:\n s = lt.createCustomFormDataBody(this.rawBody, t, i), r = this.connectSettings, o = this.getServiceIOByType(i[0]);\n this.connectSettings = (o == null ? void 0 : o.connect) || this.connectSettings;\n _context29.next = 4;\n return this.request(s, e, !1);\n case 4:\n this.connectSettings = r;\n case 5:\n case \"end\":\n return _context29.stop();\n }\n }, _callee29, this);\n }));\n function callApiWithFiles(_x57, _x58, _x59) {\n return _callApiWithFiles.apply(this, arguments);\n }\n return callApiWithFiles;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee30(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee30$(_context30) {\n while (1) switch (_context30.prev = _context30.next) {\n case 0:\n i ? this.callApiWithFiles(e, t, i) : this.callAPIWithText(e, t);\n case 1:\n case \"end\":\n return _context30.stop();\n }\n }, _callee30, this);\n }));\n function callServiceAPI(_x60, _x61, _x62) {\n return _callServiceAPI.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"callAPI\",\n value: function () {\n var _callAPI = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee31(e, t) {\n var s, i, r;\n return _regeneratorRuntime().wrap(function _callee31$(_context31) {\n while (1) switch (_context31.prev = _context31.next) {\n case 0:\n if (this.connectSettings) {\n _context31.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = at.processMessages(t.messageToElements.map(function (_ref15) {\n var _ref16 = _slicedToArray(_ref15, 1),\n r = _ref16[0];\n return r;\n }), this.maxMessages, this.totalMessagesMaxCharLength);\n if (this.connectSettings.websocket && (!this.connectSettings.handler || this.connectSettings.url !== Se.URL)) {\n r = _objectSpread({\n messages: i\n }, this.rawBody);\n e.files && (s = this.getServiceIOByType(e.files[0])) != null && s.connect ? this.callApiWithFiles(t, i, e.files) : G.sendWebsocket(this, r, t, !1);\n } else this.callServiceAPI(t, i, e.files);\n case 4:\n case \"end\":\n return _context31.stop();\n }\n }, _callee31, this);\n }));\n function callAPI(_x63, _x64) {\n return _callAPI.apply(this, arguments);\n }\n return callAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee32(e) {\n return _regeneratorRuntime().wrap(function _callee32$(_context32) {\n while (1) switch (_context32.prev = _context32.next) {\n case 0:\n if (!e.result) {\n _context32.next = 2;\n break;\n }\n return _context32.abrupt(\"return\", te.handleResponseProperty(e));\n case 2:\n if (!E.validateResponseFormat(e, !!this.stream)) {\n _context32.next = 4;\n break;\n }\n return _context32.abrupt(\"return\", e);\n case 4:\n case \"end\":\n return _context32.stop();\n }\n }, _callee32, this);\n }));\n function extractResultData(_x65) {\n return _extractResultData.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !1;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !1;\n }\n }, {\n key: \"isCustomView\",\n value: function isCustomView() {\n return !1;\n }\n }], [{\n key: \"canSendMessage\",\n value: function canSendMessage(e, t, i) {\n return i ? !0 : !!(e && e.trim() !== \"\") || !!(t && t.length > 0);\n }\n }, {\n key: \"createCustomFormDataBody\",\n value: function createCustomFormDataBody(e, t, i) {\n var s = new FormData();\n i.forEach(function (a) {\n return s.append(\"files\", a);\n }), Object.keys(e).forEach(function (a) {\n return s.append(a, String(e[a]));\n });\n var r = 0;\n t.slice(0, t.length - 1).forEach(function (a) {\n s.append(\"message\".concat(r += 1), JSON.stringify(a));\n });\n var o = t[t.length - 1];\n return o.text && (delete o.files, s.append(\"message\".concat(r += 1), JSON.stringify(o))), s;\n }\n }]);\n}();\nvar z = /*#__PURE__*/function (_lt) {\n // prettier-ignore\n function z(e, t, i, s, r) {\n var _this13;\n _classCallCheck(this, z);\n var o;\n _this13 = _callSuper(this, z, [e, r]), _this13.insertKeyPlaceholderText = \"API Key\", _this13.keyHelpUrl = \"\", Object.assign(_this13.rawBody, (o = e.connect) == null ? void 0 : o.additionalBodyProps), _this13._keyVerificationDetails = t, _this13._buildHeadersFunc = i, s && _this13.setApiKeyProperties(s), _this13.connectSettings = _this13.buildConnectSettings(_this13.key || \"\", e.connect);\n return _this13;\n }\n _inherits(z, _lt);\n return _createClass(z, [{\n key: \"setApiKeyProperties\",\n value: function setApiKeyProperties(e) {\n this.key = e.key, e.validateKeyProperty && (this.validateKeyProperty = e.validateKeyProperty);\n }\n }, {\n key: \"buildConnectSettings\",\n value: function buildConnectSettings(e, t) {\n var _i$headers;\n var i = t !== null && t !== void 0 ? t : {};\n return (_i$headers = i.headers) !== null && _i$headers !== void 0 ? _i$headers : i.headers = {}, Object.assign(i.headers, this._buildHeadersFunc(e)), i;\n }\n }, {\n key: \"keyAuthenticated\",\n value: function keyAuthenticated(e, t) {\n this.connectSettings = this.buildConnectSettings(t, this.connectSettings), this.key = t, e();\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t) {\n var _this$_keyVerificatio = this._keyVerificationDetails,\n i = _this$_keyVerificatio.url,\n s = _this$_keyVerificatio.method,\n r = _this$_keyVerificatio.handleVerificationResult,\n o = _this$_keyVerificatio.createHeaders,\n a = _this$_keyVerificatio.body,\n l = (o == null ? void 0 : o(e)) || this._buildHeadersFunc(e);\n C.verifyKey(e, i, l, s, this.keyAuthenticated.bind(this, t.onSuccess), t.onFail, t.onLoad, r, a);\n }\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !0;\n }\n }]);\n}(lt);\nvar xi = /*#__PURE__*/function () {\n function xi() {\n _classCallCheck(this, xi);\n }\n return _createClass(xi, null, [{\n key: \"waitForPropertiesToBeUpdatedBeforeRender\",\n value: function waitForPropertiesToBeUpdatedBeforeRender(e) {\n e._propUpdated_ = !1, setTimeout(function () {\n e._propUpdated_ ? xi.waitForPropertiesToBeUpdatedBeforeRender(e) : (e._waitingToRender_ = !1, e.onRender());\n });\n }\n }, {\n key: \"attemptRender\",\n value: function attemptRender(e) {\n e._propUpdated_ = !0, e._waitingToRender_ || (e._waitingToRender_ = !0, xi.waitForPropertiesToBeUpdatedBeforeRender(e));\n }\n }]);\n}();\nvar Pe = /*#__PURE__*/function (_HTMLElement) {\n // If this is not working, try using propertyName directly\n function Pe() {\n var _this14;\n _classCallCheck(this, Pe);\n _this14 = _callSuper(this, Pe), _this14._waitingToRender_ = !1, _this14._propUpdated_ = !1, Object.keys(Pe._attributeToProperty_).forEach(function (e) {\n var t = Pe._attributeToProperty_[e];\n _this14.constructPropertyAccessors(t), _this14.hasOwnProperty(e) || _this14.constructPropertyAccessors(t, e);\n });\n return _this14;\n }\n _inherits(Pe, _HTMLElement);\n return _createClass(Pe, [{\n key: \"constructPropertyAccessors\",\n value:\n // need to be called here as accessors need to be set for the class instance\n function constructPropertyAccessors(e, t) {\n var i;\n Object.defineProperty(this, t || e, {\n get: function get() {\n return i;\n },\n set: function set(o) {\n i = o, t ? this[e] = o : xi.attemptRender(this);\n }\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(e, t, i) {\n if (t === i) return;\n var s = Pe._attributes_[e](i),\n r = Pe._attributeToProperty_[e];\n this[r] = s;\n }\n }, {\n key: \"onRender\",\n value: function onRender() {}\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return Object.keys(Pe._attributes_) || [];\n }\n }]);\n}(/*#__PURE__*/_wrapNativeSuper(HTMLElement));\nPe._attributes_ = {}, Pe._attributeToProperty_ = {};\nvar ls = Pe;\nvar Go = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path d=\\\"\\n\\t\\t\\tM669.727,273.516c-22.891-2.476-46.15-3.895-69.727-4.248c-103.025,0.457-209.823,25.517-310.913,73.536\\n\\t\\t\\tc-75.058,37.122-148.173,89.529-211.67,154.174C46.232,529.978,6.431,577.76,0,628.74c0.76,44.162,48.153,98.67,77.417,131.764\\n\\t\\t\\tc59.543,62.106,130.754,113.013,211.67,154.174c2.75,1.335,5.51,2.654,8.276,3.955l-75.072,131.102l102.005,60.286l551.416-960.033\\n\\t\\t\\tl-98.186-60.008L669.727,273.516z M902.563,338.995l-74.927,129.857c34.47,44.782,54.932,100.006,54.932,159.888\\n\\t\\t\\tc0,149.257-126.522,270.264-282.642,270.264c-6.749,0-13.29-0.728-19.922-1.172l-49.585,85.84c22.868,2.449,45.99,4.233,69.58,4.541\\n\\t\\t\\tc103.123-0.463,209.861-25.812,310.84-73.535c75.058-37.122,148.246-89.529,211.743-154.174\\n\\t\\t\\tc31.186-32.999,70.985-80.782,77.417-131.764c-0.76-44.161-48.153-98.669-77.417-131.763\\n\\t\\t\\tc-59.543-62.106-130.827-113.013-211.743-154.175C908.108,341.478,905.312,340.287,902.563,338.995L902.563,338.995z\\n\\t\\t\\tM599.927,358.478c6.846,0,13.638,0.274,20.361,0.732l-58.081,100.561c-81.514,16.526-142.676,85.88-142.676,168.897\\n\\t\\t\\tc0,20.854,3.841,40.819,10.913,59.325c0.008,0.021-0.008,0.053,0,0.074l-58.228,100.854\\n\\t\\t\\tc-34.551-44.823-54.932-100.229-54.932-160.182C317.285,479.484,443.808,358.477,599.927,358.478L599.927,358.478z M768.896,570.513\\n\\t\\t\\tL638.013,797.271c81.076-16.837,141.797-85.875,141.797-168.603C779.81,608.194,775.724,588.729,768.896,570.513L768.896,570.513z\\\"\\n\\t\\t\\t/>\\n</svg>\\n\",\n Vo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path id=\\\"path6686\\\" inkscape:connector-curvature=\\\"0\\\" d=\\\"M779.843,599.925c0,95.331-80.664,172.612-180.169,172.612\\n\\t\\t\\tc-99.504,0-180.168-77.281-180.168-172.612c0-95.332,80.664-172.612,180.168-172.612\\n\\t\\t\\tC699.179,427.312,779.843,504.594,779.843,599.925z M600,240.521c-103.025,0.457-209.814,25.538-310.904,73.557\\n\\t\\t\\tc-75.058,37.122-148.206,89.496-211.702,154.141C46.208,501.218,6.431,549,0,599.981c0.76,44.161,48.13,98.669,77.394,131.763\\n\\t\\t\\tc59.543,62.106,130.786,113.018,211.702,154.179c94.271,45.751,198.616,72.092,310.904,73.557\\n\\t\\t\\tc103.123-0.464,209.888-25.834,310.866-73.557c75.058-37.122,148.243-89.534,211.74-154.179\\n\\t\\t\\tc31.185-32.999,70.962-80.782,77.394-131.763c-0.76-44.161-48.13-98.671-77.394-131.764\\n\\t\\t\\tc-59.543-62.106-130.824-112.979-211.74-154.141C816.644,268.36,712.042,242.2,600,240.521z M599.924,329.769\\n\\t\\t\\tc156.119,0,282.675,120.994,282.675,270.251c0,149.256-126.556,270.25-282.675,270.25S317.249,749.275,317.249,600.02\\n\\t\\t\\tC317.249,450.763,443.805,329.769,599.924,329.769L599.924,329.769z\\\"/>\\n</svg>\\n\";\nvar He = /*#__PURE__*/function () {\n function He() {\n _classCallCheck(this, He);\n }\n return _createClass(He, null, [{\n key: \"createSVGElement\",\n value: function createSVGElement(e) {\n return new DOMParser().parseFromString(e, \"image/svg+xml\").documentElement;\n }\n }]);\n}();\nvar Ve = /*#__PURE__*/function () {\n function Ve() {\n _classCallCheck(this, Ve);\n }\n return _createClass(Ve, null, [{\n key: \"changeVisibility\",\n value:\n // prettier-ignore\n function changeVisibility(e, t, i, s) {\n s.target.id === Ve.VISIBLE_ICON_ID ? (t.style.display = \"none\", i.style.display = \"block\", e.type = \"password\") : (t.style.display = \"block\", i.style.display = \"none\", e.type = \"text\");\n }\n }, {\n key: \"createIconElement\",\n value: function createIconElement(e, t) {\n var i = He.createSVGElement(e);\n return i.id = t, i.classList.add(\"visibility-icon\"), i;\n }\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e) {\n var t = document.createElement(\"div\");\n t.id = \"visibility-icon-container\";\n var i = Ve.createIconElement(Vo, Ve.VISIBLE_ICON_ID);\n i.style.display = \"none\", t.appendChild(i);\n var s = Ve.createIconElement(Go, \"not-visible-icon\");\n return t.appendChild(s), t.onclick = Ve.changeVisibility.bind(this, e, i, s), t;\n }\n }]);\n}();\nVe.VISIBLE_ICON_ID = \"visible-icon\";\nvar cs = Ve;\nvar $ = /*#__PURE__*/function () {\n function $() {\n _classCallCheck(this, $);\n }\n return _createClass($, null, [{\n key: \"createCautionText\",\n value: function createCautionText() {\n var e = document.createElement(\"a\");\n return e.classList.add(\"insert-key-input-help-text\"), e.innerText = \"Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!\", e;\n }\n }, {\n key: \"createHelpLink\",\n value: function createHelpLink(e) {\n var t = document.createElement(\"a\");\n return t.classList.add(\"insert-key-input-help-text\"), t.href = e, t.innerText = \"Find more info here\", t.target = \"_blank\", t;\n }\n }, {\n key: \"createFailText\",\n value: function createFailText() {\n var e = document.createElement(\"div\");\n return e.id = \"insert-key-input-invalid-text\", e.style.display = \"none\", e;\n }\n }, {\n key: \"createHelpTextContainer\",\n value: function createHelpTextContainer(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-help-text-container\";\n var s = document.createElement(\"div\");\n s.id = \"insert-key-help-text-contents\";\n var r = $.createFailText();\n if (s.appendChild(r), e) {\n var o = $.createHelpLink(e);\n s.appendChild(o);\n }\n if (t === !0) {\n var _o4 = $.createCautionText();\n s.appendChild(_o4);\n }\n return i.appendChild(s), {\n helpTextContainerElement: i,\n failTextElement: r\n };\n }\n }, {\n key: \"onFail\",\n value: function onFail(e, t, i, s) {\n e.classList.replace(\"insert-key-input-valid\", \"insert-key-input-invalid\"), i.innerText = s, i.style.display = \"block\", t.innerText = \"Start\", e.classList.remove(\"loading\");\n }\n }, {\n key: \"onLoad\",\n value: function onLoad(e, t) {\n e.classList.add(\"loading\"), t.innerHTML = '<div id=\"loading-key\"></div>';\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i) {\n var s = e.value.trim();\n i.verifyKey(s, t);\n }\n // prettier-ignore\n }, {\n key: \"addVerificationEvents\",\n value: function addVerificationEvents(e, t, i, s, r) {\n var o = {\n onSuccess: s,\n onFail: $.onFail.bind(this, e, t, i),\n onLoad: $.onLoad.bind(this, e, t)\n },\n a = $.verifyKey.bind(this, e, o, r);\n t.onclick = a, e.onkeydown = function (l) {\n !e.classList.contains(\"loading\") && l.key === U.ENTER && a();\n };\n }\n }, {\n key: \"createStartButton\",\n value: function createStartButton() {\n var e = document.createElement(\"div\");\n return e.id = \"start-button\", e.innerText = \"Start\", e;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(e) {\n e.target.classList.replace(\"insert-key-input-invalid\", \"insert-key-input-valid\");\n }\n }, {\n key: \"createInput\",\n value: function createInput(e) {\n var t = document.createElement(\"div\");\n t.id = \"insert-key-input-container\";\n var i = document.createElement(\"input\");\n return i.id = \"insert-key-input\", i.placeholder = e || \"API Key\", i.type = \"password\", i.classList.add(\"insert-key-input-valid\"), i.onfocus = $.onInputFocus, t.appendChild(i), t;\n }\n // prettier-ignore\n }, {\n key: \"createContents\",\n value: function createContents(e, t) {\n var d;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-contents\";\n var s = $.createInput(t.insertKeyPlaceholderText),\n r = s.children[0],\n o = cs.create(r);\n s.appendChild(o), i.appendChild(s);\n var a = $.createStartButton(),\n _$$createHelpTextCont = $.createHelpTextContainer(t.keyHelpUrl, (d = t.deepChat._insertKeyViewStyles) == null ? void 0 : d.displayCautionText),\n l = _$$createHelpTextCont.helpTextContainerElement,\n c = _$$createHelpTextCont.failTextElement;\n return i.appendChild(a), i.appendChild(l), $.addVerificationEvents(r, a, c, e, t), i;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"insert-key-view\";\n var s = $.createContents(e, t);\n return i.appendChild(s), i;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var s = $.createElements(t, i);\n e.replaceChildren(s);\n }\n }]);\n}();\nvar se = /*#__PURE__*/function () {\n function se() {\n _classCallCheck(this, se);\n }\n return _createClass(se, null, [{\n key: \"enableButtons\",\n value: function enableButtons(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n window.webLLM ? (e && (e.disabled = !1), t && (t.disabled = !1)) : i < oi.MODULE_SEARCH_LIMIT_S * 4 && setTimeout(function () {\n return se.enableButtons(e, t, i + 1);\n }, 250);\n }\n // prettier-ignore\n }, {\n key: \"setUpInitial\",\n value: function setUpInitial(e, t, i, s) {\n var r = (t == null ? void 0 : t.downloadClass) || se.DOWNLOAD_BUTTON_CLASS,\n o = (t == null ? void 0 : t.uploadClass) || se.UPLOAD_BUTTON_CLASS,\n a = (t == null ? void 0 : t.fileInputClass) || se.FILE_INPUT_CLASS;\n return setTimeout(function () {\n var l = i == null ? void 0 : i.getElementsByClassName(r)[0],\n c = i == null ? void 0 : i.getElementsByClassName(a)[0],\n d = i == null ? void 0 : i.getElementsByClassName(o)[0];\n l && (l.onclick = function () {\n return e();\n }), c && (c.onchange = function () {\n c.files && c.files.length > 0 && e(c.files);\n }), d && (d.onclick = function () {\n return c.click();\n }), (l || d) && se.enableButtons(l, d);\n }), (t == null ? void 0 : t.initialHtml) || \"<div>\\n Download or upload a web model that will run entirely on your browser: <br/> \\n <button disabled class=\\\"\".concat(r, \" deep-chat-button deep-chat-web-model-button\\\">Download</button>\\n \").concat(s ? \"\" : \"<input type=\\\"file\\\" class=\\\"\".concat(a, \"\\\" hidden multiple />\\n <button disabled class=\\\"\").concat(o, \" deep-chat-button deep-chat-web-model-button\\\">Upload</button>\"), \"\\n </div>\");\n }\n }, {\n key: \"exportFile\",\n value: function exportFile(e) {\n var t = document.createElement(\"a\"),\n i = 4;\n var _loop2 = function _loop2(s) {\n setTimeout(function () {\n var r = s * i;\n for (var o = r; o < Math.min(r + i, e.length); o += 1) {\n var a = URL.createObjectURL(e[o]);\n t.href = a, t.download = e[o].name, document.body.appendChild(t), t.click(), URL.revokeObjectURL(a);\n }\n }, 500 * s);\n };\n for (var s = 0; s < e.length / i; s += 1) {\n _loop2(s);\n }\n }\n // prettier-ignore\n }, {\n key: \"setUpAfterLoad\",\n value: function setUpAfterLoad(e, t, i, s) {\n var r = (t == null ? void 0 : t.exportFilesClass) || se.EXPORT_BUTTON_CLASS;\n return setTimeout(function () {\n var o = i == null ? void 0 : i.getElementsByClassName(r)[0];\n o && (o.onclick = function () {\n return se.exportFile(e);\n });\n }), (t == null ? void 0 : t.afterLoadHtml) || \"<div>\\n Model loaded successfully and has been cached for future requests.\\n \".concat(s ? \"\" : \"<br/> <button style=\\\"margin-top: 5px\\\" class=\\\"\".concat(r, \" deep-chat-button\\\">Export</button>\"), \"\\n </div>\");\n }\n }]);\n}();\nse.DOWNLOAD_BUTTON_CLASS = \"deep-chat-download-button\", se.UPLOAD_BUTTON_CLASS = \"deep-chat-upload-button\", se.FILE_INPUT_CLASS = \"deep-chat-file-input\", se.EXPORT_BUTTON_CLASS = \"deep-chat-export-button\";\nvar wi = se;\nvar en = {\n model_list: [\n // Llama-2\n {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 9109.03,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6749.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 4618.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-13b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 11814.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-70b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 43729.05,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // RedPajama\n {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 2972.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 3928.09,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2041.09,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2558.09,\n low_resource_required: !0\n },\n // Mistral variants\n {\n model_url: \"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/\",\n local_id: \"WizardMath-7B-V1.1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/\",\n local_id: \"Mistral-7B-Instruct-v0.2-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"OpenHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"NeuralHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // TinyLlama\n {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f16\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm\",\n vram_required_MB: 5063.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f32\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm\",\n vram_required_MB: 5394.53,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 899.11,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 992.11,\n low_resource_required: !0\n }],\n use_web_worker: !0\n },\n T = /*#__PURE__*/function (_lt2) {\n function T(e) {\n var _this15;\n _classCallCheck(this, T);\n var t, i;\n _this15 = _callSuper(this, T, [e]), _this15._isModelLoaded = !1, _this15._isModelLoading = !1, _this15._loadOnFirstMessage = !1, _this15._webModel = {}, _this15.permittedErrorPrefixes = [T.MULTIPLE_MODELS_ERROR, T.WEB_LLM_NOT_FOUND_ERROR, T.GENERIC_ERROR], _this15._conversationHistory = [], _typeof(e.webModel) == \"object\" && (_this15._webModel = e.webModel), (t = _this15._webModel.load) != null && t.clearCache && T.clearAllCache(), _this15.findModelInWindow(e), _this15.canSendMessage = _this15.canSubmit.bind(_assertThisInitialized(_this15)), _this15._chatEl = (i = e.shadowRoot) == null ? void 0 : i.children[0], e.history && T.setUpHistory(_this15._conversationHistory, e.history);\n return _this15;\n }\n // need ref of messages object as web model exhibits unique behaviour to manipulate chat\n _inherits(T, _lt2);\n return _createClass(T, [{\n key: \"setUpMessages\",\n value: function setUpMessages(e) {\n var _this16 = this;\n this._messages = e, this._removeIntro = function () {\n e.removeIntroductoryMessage(), _this16._removeIntro = void 0;\n };\n }\n }, {\n key: \"findModelInWindow\",\n value: function findModelInWindow(e) {\n var _this17 = this;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i;\n window.webLLM ? this.configureInit(this.shouldAddIntroMessage(e.introMessage)) : t > T.MODULE_SEARCH_LIMIT_S ? ((i = this._messages) == null || i.addNewErrorMessage(\"service\", T.WEB_LLM_NOT_FOUND_ERROR), console.error(\"The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:\"), console.error(\"https://deepchat.dev/examples/externalModules\")) : setTimeout(function () {\n return _this17.findModelInWindow(e, t + 1);\n }, 1e3);\n }\n }, {\n key: \"shouldAddIntroMessage\",\n value: function shouldAddIntroMessage(e) {\n var t;\n return !e && this._webModel && ((t = this._webModel.introMessage) == null ? void 0 : t.displayed) !== !1;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n var _this18 = this;\n var t;\n ((t = this._webModel.introMessage) == null ? void 0 : t.autoScroll) !== !1 && setTimeout(function () {\n var i, s;\n (i = _this18._messages) != null && i.elementRef && W.scrollToTop((s = _this18._messages) == null ? void 0 : s.elementRef);\n }, e);\n }\n // prettier-ignore\n }, {\n key: \"getIntroMessage\",\n value: function getIntroMessage(e) {\n if (!this.shouldAddIntroMessage(e) || !this._chatEl) return;\n var t = wi.setUpInitial(this.init.bind(this), this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n return this.scrollToTop(1), {\n role: v.AI_ROLE,\n html: t,\n sendUpdate: !1\n };\n }\n }, {\n key: \"configureInit\",\n value: function () {\n var _configureInit = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee33(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee33$(_context33) {\n while (1) switch (_context33.prev = _context33.next) {\n case 0:\n t = this._webModel.load;\n if (!t) {\n _context33.next = 8;\n break;\n }\n if (!t.onInit) {\n _context33.next = 5;\n break;\n }\n this.init();\n return _context33.abrupt(\"return\");\n case 5:\n if (!t.onMessage) {\n _context33.next = 8;\n break;\n }\n this._loadOnFirstMessage = !0;\n return _context33.abrupt(\"return\");\n case 8:\n e || this.init();\n case 9:\n case \"end\":\n return _context33.stop();\n }\n }, _callee33, this);\n }));\n function configureInit(_x66) {\n return _configureInit.apply(this, arguments);\n }\n return configureInit;\n }()\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee34(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee34$(_context34) {\n while (1) switch (_context34.prev = _context34.next) {\n case 0:\n (i = this._messages) == null || i.removeError();\n t = this.attemptToCreateChat();\n _context34.t0 = t;\n if (!_context34.t0) {\n _context34.next = 6;\n break;\n }\n _context34.next = 6;\n return this.loadModel(t, e);\n case 6:\n case \"end\":\n return _context34.stop();\n }\n }, _callee34, this);\n }));\n function init(_x67) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n }, {\n key: \"attemptToCreateChat\",\n value: function attemptToCreateChat() {\n var t;\n if (T.chat) {\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", T.MULTIPLE_MODELS_ERROR), console.error(T.MULTIPLE_MODELS_ERROR);\n return;\n }\n if (this._isModelLoaded || this._isModelLoading) return;\n var e = this._webModel.worker;\n return en.use_web_worker && e ? new window.webLLM.ChatWorkerClient(e) : new window.webLLM.ChatModule();\n }\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n var i;\n var e = T.DEFAULT_MODEL;\n this._webModel.model && (e = this._webModel.model);\n var t = JSON.parse(JSON.stringify(en));\n if (this._webModel.urls) {\n var s = t.model_list.find(function (r) {\n return r.local_id = e;\n });\n s && (this._webModel.urls.model && (s.model_url = this._webModel.urls.model), this._webModel.urls.wasm && (s.model_lib_url = this._webModel.urls.wasm));\n }\n return (i = this._webModel.load) != null && i.skipCache && (t.use_cache = !1), {\n model: e,\n appConfig: t\n };\n }\n // prettier-ignore\n }, {\n key: \"loadModel\",\n value: function () {\n var _loadModel = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee35(e, t) {\n var _this19 = this;\n var o, a, l, c, d, u, h, i, s, r, _this$getConfig, f, m, p, _f;\n return _regeneratorRuntime().wrap(function _callee35$(_context35) {\n while (1) switch (_context35.prev = _context35.next) {\n case 0:\n this.scrollToTop(), T.chat = e, this._isModelLoading = !0;\n i = ((o = this._webModel.introMessage) == null ? void 0 : o.displayed) === !1;\n s = function s(f) {\n var m;\n (m = _this19._messages) == null || m.addNewMessage({\n html: \"<div>\".concat(f.text, \"</div>\"),\n overwrite: !0,\n sendUpdate: !1\n }), i && (setTimeout(function () {\n var p;\n return W.scrollToBottom((p = _this19._messages) == null ? void 0 : p.elementRef);\n }), i = !1);\n };\n T.chat.setInitProgressCallback(s);\n _context35.prev = 4;\n _this$getConfig = this.getConfig(), f = _this$getConfig.model, m = _this$getConfig.appConfig, p = {};\n this._webModel.instruction && (p.conv_config = {\n system: this._webModel.instruction\n });\n this._conversationHistory.length > 0 && (p.conversation_history = this._conversationHistory);\n _context35.next = 10;\n return T.chat.reload(f, p, m, t);\n case 10:\n r = _context35.sent;\n _context35.next = 16;\n break;\n case 13:\n _context35.prev = 13;\n _context35.t0 = _context35[\"catch\"](4);\n return _context35.abrupt(\"return\", this.unloadChat(_context35.t0));\n case 16:\n if ((l = (a = this.deepChat)._validationHandler) == null || l.call(a), (c = this._webModel.introMessage) != null && c.removeAfterLoad) this._webModel.introMessage.displayed === !1 ? (u = this._messages) == null || u.removeLastMessage() : (h = this._removeIntro) == null || h.call(this);else {\n _f = wi.setUpAfterLoad(r, this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n (d = this._messages) == null || d.addNewMessage({\n html: _f,\n overwrite: !0,\n sendUpdate: !1\n });\n }\n this._isModelLoaded = !0, this._isModelLoading = !1;\n case 18:\n case \"end\":\n return _context35.stop();\n }\n }, _callee35, this, [[4, 13]]);\n }));\n function loadModel(_x68, _x69) {\n return _loadModel.apply(this, arguments);\n }\n return loadModel;\n }()\n }, {\n key: \"unloadChat\",\n value: function () {\n var _unloadChat = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee36(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee36$(_context36) {\n while (1) switch (_context36.prev = _context36.next) {\n case 0:\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", T.GENERIC_ERROR);\n console.error(e);\n this._isModelLoaded = !1;\n this._isModelLoading = !1;\n _context36.t0 = T.chat;\n if (!_context36.t0) {\n _context36.next = 9;\n break;\n }\n _context36.next = 8;\n return T.chat.unload();\n case 8:\n T.chat = void 0;\n case 9:\n case \"end\":\n return _context36.stop();\n }\n }, _callee36, this);\n }));\n function unloadChat(_x70) {\n return _unloadChat.apply(this, arguments);\n }\n return unloadChat;\n }()\n }, {\n key: \"immediateResp\",\n value: function () {\n var _immediateResp = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee37(e, t, i) {\n var s, r;\n return _regeneratorRuntime().wrap(function _callee37$(_context37) {\n while (1) switch (_context37.prev = _context37.next) {\n case 0:\n _context37.next = 2;\n return i.generate(t, void 0, 0);\n case 2:\n _context37.t0 = _context37.sent;\n s = {\n text: _context37.t0\n };\n _context37.next = 6;\n return T.processResponse(this.deepChat, e, s);\n case 6:\n r = _context37.sent;\n r && r.forEach(function (o) {\n return e.addNewMessage(o);\n }), this.completionsHandlers.onFinish();\n case 8:\n case \"end\":\n return _context37.stop();\n }\n }, _callee37, this);\n }));\n function immediateResp(_x71, _x72, _x73) {\n return _immediateResp.apply(this, arguments);\n }\n return immediateResp;\n }()\n }, {\n key: \"streamResp\",\n value: function () {\n var _streamResp = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee39(e, t, i) {\n var _this20 = this;\n var s;\n return _regeneratorRuntime().wrap(function _callee39$(_context39) {\n while (1) switch (_context39.prev = _context39.next) {\n case 0:\n this.streamHandlers.abortStream.abort = function () {\n i.interruptGenerate();\n }, this.streamHandlers.onOpen();\n s = new Ce(e);\n _context39.next = 4;\n return i.generate(t, /*#__PURE__*/function () {\n var _ref17 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee38(r, o) {\n var a;\n return _regeneratorRuntime().wrap(function _callee38$(_context38) {\n while (1) switch (_context38.prev = _context38.next) {\n case 0:\n _context38.next = 2;\n return T.processResponse(_this20.deepChat, e, {\n text: o\n });\n case 2:\n a = _context38.sent;\n a && s.upsertStreamedMessage({\n text: a[0].text,\n overwrite: !0\n });\n case 4:\n case \"end\":\n return _context38.stop();\n }\n }, _callee38);\n }));\n return function (_x77, _x78) {\n return _ref17.apply(this, arguments);\n };\n }());\n case 4:\n s.finaliseStreamedMessage();\n this.streamHandlers.onClose();\n case 6:\n case \"end\":\n return _context39.stop();\n }\n }, _callee39, this);\n }));\n function streamResp(_x74, _x75, _x76) {\n return _streamResp.apply(this, arguments);\n }\n return streamResp;\n }()\n }, {\n key: \"generateRespByType\",\n value: function () {\n var _generateRespByType = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee40(e, t, i, s) {\n var r;\n return _regeneratorRuntime().wrap(function _callee40$(_context40) {\n while (1) switch (_context40.prev = _context40.next) {\n case 0:\n _context40.prev = 0;\n if (!i) {\n _context40.next = 6;\n break;\n }\n _context40.next = 4;\n return this.streamResp(e, t, s);\n case 4:\n _context40.next = 8;\n break;\n case 6:\n _context40.next = 8;\n return this.immediateResp(e, t, s);\n case 8:\n _context40.next = 13;\n break;\n case 10:\n _context40.prev = 10;\n _context40.t0 = _context40[\"catch\"](0);\n (r = this._messages) == null || r.addNewErrorMessage(\"service\"), console.log(_context40.t0);\n case 13:\n case \"end\":\n return _context40.stop();\n }\n }, _callee40, this, [[0, 10]]);\n }));\n function generateRespByType(_x79, _x80, _x81, _x82) {\n return _generateRespByType.apply(this, arguments);\n }\n return generateRespByType;\n }()\n }, {\n key: \"generateResp\",\n value: function () {\n var _generateResp = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee41(e, t, i) {\n var s, _yield$E$processReque5, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee41$(_context41) {\n while (1) switch (_context41.prev = _context41.next) {\n case 0:\n s = t[t.length - 1].text;\n _context41.next = 3;\n return E.processRequestInterceptor(this.deepChat, {\n body: {\n text: s\n }\n });\n case 3:\n _yield$E$processReque5 = _context41.sent;\n r = _yield$E$processReque5.body;\n o = _yield$E$processReque5.error;\n a = !!this.stream;\n try {\n if (o) E.displayError(e, new Error(o)), (a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish)();else if (!r || !r.text) {\n l = M.INVALID_MODEL_REQUEST({\n body: r\n }, !1);\n console.error(l);\n c = a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish;\n E.onInterceptorError(e, l, c);\n } else this.generateRespByType(e, r.text, !!this.stream, i);\n } catch (l) {\n this.unloadChat(l);\n }\n case 8:\n case \"end\":\n return _context41.stop();\n }\n }, _callee41, this);\n }));\n function generateResp(_x83, _x84, _x85) {\n return _generateResp.apply(this, arguments);\n }\n return generateResp;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee42(e, t) {\n var i, s;\n return _regeneratorRuntime().wrap(function _callee42$(_context42) {\n while (1) switch (_context42.prev = _context42.next) {\n case 0:\n if (this._isModelLoaded) {\n _context42.next = 7;\n break;\n }\n if (!this._loadOnFirstMessage) {\n _context42.next = 6;\n break;\n }\n _context42.next = 4;\n return this.init();\n case 4:\n _context42.next = 7;\n break;\n case 6:\n return _context42.abrupt(\"return\");\n case 7:\n !T.chat || this._isModelLoading || ((i = this._webModel.introMessage) != null && i.removeAfterMessage && ((s = this._removeIntro) == null || s.call(this)), e.addLoadingMessage(), this.generateResp(e, t, T.chat));\n case 8:\n case \"end\":\n return _context42.stop();\n }\n }, _callee42, this);\n }));\n function callServiceAPI(_x86, _x87) {\n return _callServiceAPI2.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"canSubmit\",\n value: function canSubmit(e) {\n return !(e != null && e.trim()) || this._isModelLoading ? !1 : this._loadOnFirstMessage ? !0 : !!this._isModelLoaded;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !0;\n }\n }], [{\n key: \"setUpHistory\",\n value: function setUpHistory(e, t) {\n t.forEach(function (i, s) {\n if (i.role === v.USER_ROLE && i.text) {\n var r = t[s + 1];\n r != null && r.text && r.role !== v.USER_ROLE && e.push([i.text, r.text]);\n }\n });\n }\n }, {\n key: \"processResponse\",\n value: function () {\n var _processResponse = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee43(e, t, i) {\n var a, l, s, r, o, d;\n return _regeneratorRuntime().wrap(function _callee43$(_context43) {\n while (1) switch (_context43.prev = _context43.next) {\n case 0:\n _context43.next = 2;\n return (a = e.responseInterceptor) == null ? void 0 : a.call(e, i);\n case 2:\n _context43.t0 = _context43.sent;\n if (_context43.t0) {\n _context43.next = 5;\n break;\n }\n _context43.t0 = i;\n case 5:\n s = _context43.t0;\n if (!((l = e.connect) != null && l.stream && Array.isArray(s) && s.length > 1)) {\n _context43.next = 9;\n break;\n }\n console.error(M.INVALID_STREAM_ARRAY_RESPONSE);\n return _context43.abrupt(\"return\");\n case 9:\n r = Array.isArray(s) ? s : [s], o = r.find(function (c) {\n return typeof c.error == \"string\";\n });\n if (!o) {\n _context43.next = 15;\n break;\n }\n E.displayError(t, new Error(o.error));\n return _context43.abrupt(\"return\");\n case 15:\n if (!r.find(function (d) {\n return !d || !d.text;\n })) {\n _context43.next = 19;\n break;\n }\n d = M.INVALID_MODEL_RESPONSE(i, !!e.responseInterceptor, s);\n E.displayError(t, new Error(d));\n return _context43.abrupt(\"return\");\n case 19:\n return _context43.abrupt(\"return\", r);\n case 20:\n case \"end\":\n return _context43.stop();\n }\n }, _callee43);\n }));\n function processResponse(_x88, _x89, _x90) {\n return _processResponse.apply(this, arguments);\n }\n return processResponse;\n }()\n }, {\n key: \"clearAllCache\",\n value: function clearAllCache() {\n T.clearCache(\"webllm/model\"), T.clearCache(\"webllm/wasm\");\n }\n }, {\n key: \"clearCache\",\n value: function clearCache(e) {\n caches.open(e).then(function (t) {\n t.keys().then(function (i) {\n i.forEach(function (s) {\n t[\"delete\"](s);\n });\n });\n });\n }\n }]);\n }(lt);\nT.GENERIC_ERROR = \"Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.\", T.MULTIPLE_MODELS_ERROR = \"Cannot run multiple web models\", T.WEB_LLM_NOT_FOUND_ERROR = \"WebLLM module not found\", T.DEFAULT_MODEL = \"Llama-2-7b-chat-hf-q4f32_1\", T.MODULE_SEARCH_LIMIT_S = 5;\nvar oi = T;\nvar Ai = /*#__PURE__*/function () {\n function Ai() {\n _classCallCheck(this, Ai);\n }\n return _createClass(Ai, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n // bigcode/santacoder expects this so adding just-in-case\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var r = e;\n Array.isArray(r.error) && r.error[0] === \"Error in `parameters`: field required\" ? i(t) : s(M.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api-inference.huggingface.co/models/gpt2\",\n method: \"POST\",\n handleVerificationResult: Ai.handleVerificationResult\n };\n }\n }]);\n}();\nvar Yt = /*#__PURE__*/function (_z) {\n // prettier-ignore\n function Yt(e, t, i, s, r, o) {\n var _this21;\n _classCallCheck(this, Yt);\n _this21 = _callSuper(this, Yt, [e, Ai.buildKeyVerificationDetails(), Ai.buildHeaders, r, o]), _this21.insertKeyPlaceholderText = \"Hugging Face Token\", _this21.keyHelpUrl = \"https://huggingface.co/settings/tokens\", _this21.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this21.permittedErrorPrefixes = [\"Authorization header\"], _this21.url = \"\".concat(Yt.URL_PREFIX).concat(i), _this21.textInputPlaceholderText = t, _typeof(s) == \"object\" && (s.model && (_this21.url = \"\".concat(Yt.URL_PREFIX).concat(s.model)), s.options && (_this21.rawBody.options = s.options), s.parameters && (_this21.rawBody.parameters = s.parameters));\n return _this21;\n }\n // prettier-ignore\n _inherits(Yt, _z);\n return _createClass(Yt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n var _s$options;\n var s = JSON.parse(JSON.stringify(e)),\n r = t[t.length - 1].text;\n if (r) return (_s$options = s.options) !== null && _s$options !== void 0 ? _s$options : s.options = {}, s.options.wait_for_model = !0, _objectSpread({\n inputs: r\n }, s);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee44(e, t, i) {\n var s;\n return _regeneratorRuntime().wrap(function _callee44$(_context44) {\n while (1) switch (_context44.prev = _context44.next) {\n case 0:\n if (this.connectSettings) {\n _context44.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n s = this.preprocessBody(this.rawBody, t, i);\n C.request(this, s, e);\n case 4:\n case \"end\":\n return _context44.stop();\n }\n }, _callee44, this);\n }));\n function callServiceAPI(_x91, _x92, _x93) {\n return _callServiceAPI3.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }]);\n}(z);\nYt.URL_PREFIX = \"https://api-inference.huggingface.co/models/\";\nvar qe = Yt;\nvar hi = /*#__PURE__*/function (_qe) {\n // prettier-ignore\n function hi(e, t, i, s, r, o) {\n var _this22;\n _classCallCheck(this, hi);\n _this22 = _callSuper(this, hi, [e, t, i, s, r, o]), _this22.isTextInputDisabled = !0, _this22.canSendMessage = hi.canSendFile;\n return _this22;\n }\n _inherits(hi, _qe);\n return _createClass(hi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n return i[0];\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee45(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee45$(_context45) {\n while (1) switch (_context45.prev = _context45.next) {\n case 0:\n if (this.connectSettings) {\n _context45.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context45.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n C.poll(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context45.stop();\n }\n }, _callee45, this);\n }));\n function callServiceAPI(_x94, _x95, _x96) {\n return _callServiceAPI4.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }], [{\n key: \"canSendFile\",\n value: function canSendFile(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(qe);\nvar Ko = /*#__PURE__*/function (_hi) {\n // prettier-ignore\n function Ko(e) {\n _classCallCheck(this, Ko);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.audioClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Ko, [e, \"Attach an audio file\", \"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\", t, i, {\n audio: {}\n }]);\n }\n _inherits(Ko, _hi);\n return _createClass(Ko, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee46(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee46$(_context46) {\n while (1) switch (_context46.prev = _context46.next) {\n case 0:\n if (!e.estimated_time) {\n _context46.next = 2;\n break;\n }\n return _context46.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context46.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context46.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context46.stop();\n }\n }, _callee46);\n }));\n function extractPollResultData(_x97) {\n return _extractPollResultData.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(hi);\nvar Wo = /*#__PURE__*/function (_hi2) {\n function Wo(e) {\n _classCallCheck(this, Wo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.imageClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Wo, [e, \"Attach an image file\", \"google/vit-base-patch16-224\", t, i, {\n images: {}\n }]);\n }\n _inherits(Wo, _hi2);\n return _createClass(Wo, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee47(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee47$(_context47) {\n while (1) switch (_context47.prev = _context47.next) {\n case 0:\n if (!e.estimated_time) {\n _context47.next = 2;\n break;\n }\n return _context47.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context47.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context47.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context47.stop();\n }\n }, _callee47);\n }));\n function extractPollResultData(_x98) {\n return _extractPollResultData2.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(hi);\nvar ui = \"data:image/png;base64,\";\nvar Me = /*#__PURE__*/function () {\n function Me() {\n _classCallCheck(this, Me);\n }\n return _createClass(Me, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n e.message ? s(M.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.stability.ai/v1/engines/list\",\n method: \"GET\",\n handleVerificationResult: Me.handleVerificationResult\n };\n }\n }]);\n}();\nvar Ki = /*#__PURE__*/function (_z2) {\n // prettier-ignore\n function Ki(e, t, i, s, r) {\n var _this23;\n _classCallCheck(this, Ki);\n _this23 = _callSuper(this, Ki, [e, t, i, s, r]), _this23.insertKeyPlaceholderText = \"Stability AI API Key\", _this23.keyHelpUrl = \"https://platform.stability.ai/docs/getting-started/authentication\", _this23.permittedErrorPrefixes = [\"Incorrect\", \"invalid_\"];\n return _this23;\n }\n _inherits(Ki, _z2);\n return _createClass(Ki);\n}(z);\nvar Ti = /*#__PURE__*/function (_Ki) {\n function Ti(e) {\n var _this24;\n _classCallCheck(this, Ti);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n s = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this24 = _callSuper(this, Ti, [e, Me.buildKeyVerificationDetails(), Me.buildHeaders, i, s]), _this24.url = \"https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale\", _this24.textInputPlaceholderText = \"Describe image changes\", _this24.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Upscale</b></div>\\n <p>Upload an image to generate a new one with higher resolution.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageUpscale;\n _typeof(r) == \"object\" && (r.engine_id && (_this24.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/upscale\")), Ti.cleanConfig(r), Object.assign(_this24.rawBody, r)), _this24.canSendMessage = Ti.canSendFileMessage;\n return _this24;\n }\n _inherits(Ti, _Ki);\n return _createClass(Ti, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"image\", t), Object.keys(e).forEach(function (s) {\n i.append(s, String(e[s]));\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee48(e, t, i) {\n var s;\n return _regeneratorRuntime().wrap(function _callee48$(_context48) {\n while (1) switch (_context48.prev = _context48.next) {\n case 0:\n if (this.connectSettings) {\n _context48.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context48.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n s = this.createFormDataBody(this.rawBody, i[0]);\n E.tempRemoveContentHeader(this.connectSettings, C.request.bind(this, this, s, e), !1);\n case 6:\n case \"end\":\n return _context48.stop();\n }\n }, _callee48, this);\n }));\n function callServiceAPI(_x99, _x100, _x101) {\n return _callServiceAPI5.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee49(e) {\n return _regeneratorRuntime().wrap(function _callee49$(_context49) {\n while (1) switch (_context49.prev = _context49.next) {\n case 0:\n if (!e.message) {\n _context49.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context49.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(ui).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context49.stop();\n }\n }, _callee49);\n }));\n function extractResultData(_x102) {\n return _extractResultData2.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id;\n }\n }, {\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(Ki);\nvar Ci = /*#__PURE__*/function (_Ki2) {\n function Ci(e) {\n var _this25;\n _classCallCheck(this, Ci);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n s = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this25 = _callSuper(this, Ci, [e, Me.buildKeyVerificationDetails(), Me.buildHeaders, i, s]), _this25.url = \"https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking\", _this25._maskSource = \"MASK_IMAGE_WHITE\", _this25.textInputPlaceholderText = \"Describe image changes\", _this25.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Masking</b></div>\\n <p>Upload an image, its mask image to create a new one based on the changes you have described for the mask area.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageMasking;\n _typeof(r) == \"object\" && (r.engine_id && (_this25.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/masking\")), r.weight !== void 0 && r.weight !== null && (_this25._imageWeight = r.weight), r.mask_source !== void 0 && r.mask_source !== null && (_this25._maskSource = r.mask_source), Ci.cleanConfig(r), Object.assign(_this25.rawBody, r)), _this25.canSendMessage = Ci.canSendFileTextMessage;\n return _this25;\n }\n _inherits(Ci, _Ki2);\n return _createClass(Ci, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i, s) {\n var r = new FormData();\n return r.append(\"init_image\", t), r.append(\"mask_source\", String(this._maskSource)), r.append(\"mask_image\", i), s && s !== \"\" && r.append(\"text_prompts[0][text]\", s), this._imageWeight !== void 0 && this._imageWeight !== null && r.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (o) {\n r.append(o, String(e[o]));\n }), r.get(\"weight\") === void 0 && r.append(\"weight\", String(1)), r;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee50(e, t, i) {\n var o, a, s, r;\n return _regeneratorRuntime().wrap(function _callee50$(_context50) {\n while (1) switch (_context50.prev = _context50.next) {\n case 0:\n if (this.connectSettings) {\n _context50.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(!i || !i[0] || !i[1])) {\n _context50.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n s = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], i[1], s);\n E.tempRemoveContentHeader(this.connectSettings, C.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context50.stop();\n }\n }, _callee50, this);\n }));\n function callServiceAPI(_x103, _x104, _x105) {\n return _callServiceAPI6.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee51(e) {\n return _regeneratorRuntime().wrap(function _callee51$(_context51) {\n while (1) switch (_context51.prev = _context51.next) {\n case 0:\n if (!e.message) {\n _context51.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context51.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(ui).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context51.stop();\n }\n }, _callee51);\n }));\n function extractResultData(_x106) {\n return _extractResultData3.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Ki);\nvar $o = /*#__PURE__*/function (_hi3) {\n function $o(e) {\n _classCallCheck(this, $o);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.audioSpeechRecognition,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, $o, [e, \"Attach an audio file\", \"facebook/wav2vec2-large-960h-lv60-self\", t, i, {\n audio: {}\n }]);\n }\n _inherits($o, _hi3);\n return _createClass($o, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee52(e) {\n return _regeneratorRuntime().wrap(function _callee52$(_context52) {\n while (1) switch (_context52.prev = _context52.next) {\n case 0:\n if (!e.estimated_time) {\n _context52.next = 2;\n break;\n }\n return _context52.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context52.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context52.abrupt(\"return\", {\n text: e.text || \"\"\n });\n case 5:\n case \"end\":\n return _context52.stop();\n }\n }, _callee52);\n }));\n function extractPollResultData(_x107) {\n return _extractPollResultData3.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(hi);\nvar Jo = /*#__PURE__*/function (_qe2) {\n function Jo(e) {\n _classCallCheck(this, Jo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Jo, [e, \"Once upon a time\", \"gpt2\", t, i]);\n }\n _inherits(Jo, _qe2);\n return _createClass(Jo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee53(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee53$(_context53) {\n while (1) switch (_context53.prev = _context53.next) {\n case 0:\n if (!e.error) {\n _context53.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context53.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.generated_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context53.stop();\n }\n }, _callee53);\n }));\n function extractResultData(_x108) {\n return _extractResultData4.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Xo = /*#__PURE__*/function (_qe3) {\n function Xo(e) {\n var _this26;\n _classCallCheck(this, Xo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.questionAnswer,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this26 = _callSuper(this, Xo, [e, \"Ask a question\", \"bert-large-uncased-whole-word-masking-finetuned-squad\", t, i]), _this26.permittedErrorPrefixes = [\"Authorization header\", \"Error in\"], _this26._context = t.context;\n return _this26;\n }\n _inherits(Xo, _qe3);\n return _createClass(Xo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n inputs: {\n question: i,\n context: this._context,\n options: {\n wait_for_model: !0\n }\n }\n };\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee54(e) {\n return _regeneratorRuntime().wrap(function _callee54$(_context54) {\n while (1) switch (_context54.prev = _context54.next) {\n case 0:\n if (!e.error) {\n _context54.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context54.abrupt(\"return\", {\n text: e.answer || \"\"\n });\n case 3:\n case \"end\":\n return _context54.stop();\n }\n }, _callee54);\n }));\n function extractResultData(_x109) {\n return _extractResultData5.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Yo = /*#__PURE__*/function (_qe4) {\n function Yo(e) {\n _classCallCheck(this, Yo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Yo, [e, \"Insert text to summarize\", \"facebook/bart-large-cnn\", t, i]);\n }\n _inherits(Yo, _qe4);\n return _createClass(Yo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee55(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee55$(_context55) {\n while (1) switch (_context55.prev = _context55.next) {\n case 0:\n if (!e.error) {\n _context55.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context55.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.summary_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context55.stop();\n }\n }, _callee55);\n }));\n function extractResultData(_x110) {\n return _extractResultData6.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Zo = /*#__PURE__*/function (_qe5) {\n function Zo(e) {\n var _this27$maxMessages;\n var _this27;\n _classCallCheck(this, Zo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.conversation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this27 = _callSuper(this, Zo, [e, \"Ask me anything!\", \"facebook/blenderbot-400M-distill\", t, i]), (_this27$maxMessages = _this27.maxMessages) !== null && _this27$maxMessages !== void 0 ? _this27$maxMessages : _this27.maxMessages = -1;\n return _this27;\n }\n // prettier-ignore\n _inherits(Zo, _qe5);\n return _createClass(Zo, [{\n key: \"processMessages\",\n value: function processMessages(e) {\n var t = e.filter(function (a) {\n return a.text;\n }),\n i = t[t.length - 1].text,\n s = t.slice(0, t.length - 1);\n if (!i) return;\n var r = s.filter(function (a) {\n return a.role === \"user\";\n }).map(function (a) {\n return a.text;\n }),\n o = s.filter(function (a) {\n return a.role === \"ai\";\n }).map(function (a) {\n return a.text;\n });\n return {\n past_user_inputs: r,\n generated_responses: o,\n mostRecentMessageText: i\n };\n }\n // prettier-ignore\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var _i$options;\n var i = JSON.parse(JSON.stringify(e)),\n s = this.processMessages(t);\n if (s) return (_i$options = i.options) !== null && _i$options !== void 0 ? _i$options : i.options = {}, i.options.wait_for_model = !0, _objectSpread({\n inputs: {\n past_user_inputs: s.past_user_inputs,\n generated_responses: s.generated_responses,\n text: s.mostRecentMessageText\n }\n }, i);\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(e) {\n return _regeneratorRuntime().wrap(function _callee56$(_context56) {\n while (1) switch (_context56.prev = _context56.next) {\n case 0:\n if (!e.error) {\n _context56.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context56.abrupt(\"return\", {\n text: e.generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context56.stop();\n }\n }, _callee56);\n }));\n function extractResultData(_x111) {\n return _extractResultData7.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Ri = /*#__PURE__*/function (_Ki3) {\n function Ri(e) {\n var _this28;\n _classCallCheck(this, Ri);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI,\n s = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this28 = _callSuper(this, Ri, [e, Me.buildKeyVerificationDetails(), Me.buildHeaders, i, s]), _this28.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image\", _this28.textInputPlaceholderText = \"Describe image changes\", _this28.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Image to Image</b></div>\\n <p>Upload an image to create a new one with the changes you have described.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t.stabilityAI) == null ? void 0 : o.imageToImage;\n _typeof(r) == \"object\" && (r.engine_id && (_this28.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/text-to-image\")), r.weight !== void 0 && r.weight !== null && (_this28._imageWeight = r.weight), Ri.cleanConfig(r), Object.assign(_this28.rawBody, r)), _this28.canSendMessage = Ri.canSendFileTextMessage;\n return _this28;\n }\n _inherits(Ri, _Ki3);\n return _createClass(Ri, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var s = new FormData();\n return s.append(\"init_image\", t), i && i !== \"\" && s.append(\"text_prompts[0][text]\", i), this._imageWeight !== void 0 && this._imageWeight !== null && s.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (r) {\n s.append(r, String(e[r]));\n }), s.get(\"weight\") === void 0 && s.append(\"weight\", String(1)), s;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee57(e, t, i) {\n var o, a, s, r;\n return _regeneratorRuntime().wrap(function _callee57$(_context57) {\n while (1) switch (_context57.prev = _context57.next) {\n case 0:\n if (this.connectSettings) {\n _context57.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context57.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n s = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], s);\n E.tempRemoveContentHeader(this.connectSettings, C.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context57.stop();\n }\n }, _callee57, this);\n }));\n function callServiceAPI(_x112, _x113, _x114) {\n return _callServiceAPI7.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee58(e) {\n return _regeneratorRuntime().wrap(function _callee58$(_context58) {\n while (1) switch (_context58.prev = _context58.next) {\n case 0:\n if (!e.message) {\n _context58.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context58.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(ui).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context58.stop();\n }\n }, _callee58);\n }));\n function extractResultData(_x115) {\n return _extractResultData8.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Ki);\nvar Qo = /*#__PURE__*/function (_qe6) {\n function Qo(e) {\n _classCallCheck(this, Qo);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Qo, [e, \"Insert text to translate\", \"Helsinki-NLP/opus-tatoeba-en-ja\", t, i]);\n }\n _inherits(Qo, _qe6);\n return _createClass(Qo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee59(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee59$(_context59) {\n while (1) switch (_context59.prev = _context59.next) {\n case 0:\n if (!e.error) {\n _context59.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context59.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.translation_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context59.stop();\n }\n }, _callee59);\n }));\n function extractResultData(_x116) {\n return _extractResultData9.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Mi = /*#__PURE__*/function (_Ki4) {\n function Mi(e) {\n var _this29;\n _classCallCheck(this, Mi);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI;\n _this29 = _callSuper(this, Mi, [e, Me.buildKeyVerificationDetails(), Me.buildHeaders, i]), _this29.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image\", _this29.textInputPlaceholderText = \"Describe an image\", _this29.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Text to Image</b></div>\\n <p>Insert text to generate an image.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var s = (r = t.stabilityAI) == null ? void 0 : r.textToImage;\n _typeof(s) == \"object\" && (s.engine_id && (_this29.url = \"https://api.stability.ai/v1/generation/\".concat(s.engine_id, \"/text-to-image\")), s.weight !== void 0 && s.weight !== null && (_this29._imageWeight = s.weight), Mi.cleanConfig(s), Object.assign(_this29.rawBody, s)), _this29.canSendMessage = Mi.canSendTextMessage;\n return _this29;\n }\n _inherits(Mi, _Ki4);\n return _createClass(Mi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n s = {\n text: t\n };\n return this._imageWeight && (s.weight = this._imageWeight), i.text_prompts = [s], i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee60$(_context60) {\n while (1) switch (_context60.prev = _context60.next) {\n case 0:\n if (this.connectSettings) {\n _context60.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context60.stop();\n }\n }, _callee60, this);\n }));\n function callServiceAPI(_x117, _x118) {\n return _callServiceAPI8.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData0 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(e) {\n return _regeneratorRuntime().wrap(function _callee61$(_context61) {\n while (1) switch (_context61.prev = _context61.next) {\n case 0:\n if (!e.message) {\n _context61.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context61.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(ui).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context61.stop();\n }\n }, _callee61);\n }));\n function extractResultData(_x119) {\n return _extractResultData0.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendTextMessage\",\n value: function canSendTextMessage(e) {\n return !!(e && e.trim() !== \"\");\n }\n }]);\n}(Ki);\nvar ea = /*#__PURE__*/function (_qe7) {\n function ea(e) {\n var _this30;\n _classCallCheck(this, ea);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.huggingFace) == null ? void 0 : r.fillMask,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this30 = _callSuper(this, ea, [e, \"The goal of life is [MASK].\", \"bert-base-uncased\", t, i]), _this30.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].</p>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this30.permittedErrorPrefixes = [\"Authorization header\", \"No mask_token\"];\n return _this30;\n }\n _inherits(ea, _qe7);\n return _createClass(ea, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData1 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee62$(_context62) {\n while (1) switch (_context62.prev = _context62.next) {\n case 0:\n if (!e.error) {\n _context62.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context62.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.sequence) || \"\"\n });\n case 3:\n case \"end\":\n return _context62.stop();\n }\n }, _callee62);\n }));\n function extractResultData(_x120) {\n return _extractResultData1.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(qe);\nvar Zt = /*#__PURE__*/function () {\n function Zt() {\n _classCallCheck(this, Zt);\n }\n return _createClass(Zt, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? s(M.INVALID_KEY) : s(M.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.openai.com/v1/models\",\n method: \"GET\",\n handleVerificationResult: Zt.handleVerificationResult\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"directFetch\",\n value: function () {\n var _directFetch = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee63(e, t, i) {\n var s,\n r,\n _args63 = arguments;\n return _regeneratorRuntime().wrap(function _callee63$(_context63) {\n while (1) switch (_context63.prev = _context63.next) {\n case 0:\n s = _args63.length > 3 && _args63[3] !== undefined ? _args63[3] : !0;\n e.connectSettings.method = i;\n _context63.next = 4;\n return E.fetch(e, e.connectSettings.headers, s, t).then(function (o) {\n return E.processResponseByType(o);\n });\n case 4:\n r = _context63.sent;\n if (!r.error) {\n _context63.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context63.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context63.stop();\n }\n }, _callee63);\n }));\n function directFetch(_x121, _x122, _x123) {\n return _directFetch.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n}();\nZt.FUNCTION_TOOL_RESP_ERROR = \"Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.\", Zt.FUNCTION_TOOL_RESP_ARR_ERROR = \"Arrays are not accepted in handler responses\";\nvar I = Zt;\nvar ne = /*#__PURE__*/function () {\n function ne() {\n _classCallCheck(this, ne);\n }\n return _createClass(ne, null, [{\n key: \"storeFiles\",\n value: function () {\n var _storeFiles = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee65(e, t, i, s) {\n var r, o, a, l;\n return _regeneratorRuntime().wrap(function _callee65$(_context65) {\n while (1) switch (_context65.prev = _context65.next) {\n case 0:\n r = e.connectSettings.headers;\n if (r) {\n _context65.next = 3;\n break;\n }\n return _context65.abrupt(\"return\");\n case 3:\n e.url = s;\n o = r[E.CONTENT_TYPE];\n delete r[E.CONTENT_TYPE];\n a = i.map(/*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee64(l) {\n var c;\n return _regeneratorRuntime().wrap(function _callee64$(_context64) {\n while (1) switch (_context64.prev = _context64.next) {\n case 0:\n c = new FormData();\n return _context64.abrupt(\"return\", (c.append(\"purpose\", \"assistants\"), c.append(\"file\", l), new Promise(function (d) {\n d(I.directFetch(e, c, \"POST\", !1));\n })));\n case 2:\n case \"end\":\n return _context64.stop();\n }\n }, _callee64);\n }));\n return function (_x128) {\n return _ref18.apply(this, arguments);\n };\n }());\n _context65.prev = 7;\n _context65.next = 10;\n return Promise.all(a);\n case 10:\n l = _context65.sent.map(function (c) {\n return {\n id: c.id,\n name: c.filename\n };\n });\n return _context65.abrupt(\"return\", (r[E.CONTENT_TYPE] = o, l));\n case 14:\n _context65.prev = 14;\n _context65.t0 = _context65[\"catch\"](7);\n throw r[E.CONTENT_TYPE] = o, E.displayError(t, _context65.t0), e.completionsHandlers.onFinish(), _context65.t0;\n case 17:\n case \"end\":\n return _context65.stop();\n }\n }, _callee65, null, [[7, 14]]);\n }));\n function storeFiles(_x124, _x125, _x126, _x127) {\n return _storeFiles.apply(this, arguments);\n }\n return storeFiles;\n }()\n }, {\n key: \"getType\",\n value: function getType(e, t) {\n var i = e[t].path;\n return !i || i.endsWith(\"png\") ? \"image\" : \"any\";\n }\n }, {\n key: \"getFiles\",\n value: function () {\n var _getFiles = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee66(e, t, i, s) {\n var r, a;\n return _regeneratorRuntime().wrap(function _callee66$(_context66) {\n while (1) switch (_context66.prev = _context66.next) {\n case 0:\n r = t.map(function (_ref19) {\n var l = _ref19.fileId;\n return e.url = \"\".concat(i).concat(l).concat(s), new Promise(function (c) {\n c(I.directFetch(e, void 0, \"GET\", !1));\n });\n });\n _context66.next = 3;\n return Promise.all(r);\n case 3:\n a = _context66.sent.map(function (l, c) {\n return new Promise(function (d) {\n var u = new FileReader();\n u.readAsDataURL(l), u.onload = function (h) {\n d({\n src: h.target.result,\n name: t[c].name,\n type: ne.getType(t, c)\n });\n };\n });\n });\n _context66.next = 6;\n return Promise.all(a);\n case 6:\n return _context66.abrupt(\"return\", _context66.sent);\n case 7:\n case \"end\":\n return _context66.stop();\n }\n }, _callee66);\n }));\n function getFiles(_x129, _x130, _x131, _x132) {\n return _getFiles.apply(this, arguments);\n }\n return getFiles;\n }()\n }, {\n key: \"getFileName\",\n value: function getFileName(e) {\n var t = e.split(\"/\");\n return t[t.length - 1];\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndNewText\",\n value: function () {\n var _getFilesAndNewText = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee67(e, t, i, s, r) {\n var c, d, o, a, l;\n return _regeneratorRuntime().wrap(function _callee67$(_context67) {\n while (1) switch (_context67.prev = _context67.next) {\n case 0:\n a = i.getFilesPrefix, l = i.getFilesPostfix;\n _context67.t0 = t.length > 0;\n if (!_context67.t0) {\n _context67.next = 7;\n break;\n }\n _context67.next = 5;\n return ne.getFiles(e, t, a, l);\n case 5:\n o = _context67.sent;\n (c = r == null ? void 0 : r.text) != null && c.value && o.forEach(function (u, h) {\n var m;\n if (!u.src) return;\n var f = t[h].path;\n (m = r == null ? void 0 : r.text) != null && m.value && f && (r.text.value = r.text.value.replace(f, u.src));\n });\n case 7:\n return _context67.abrupt(\"return\", (d = r == null ? void 0 : r.text) != null && d.value ? {\n text: r.text.value,\n role: s\n } : {\n files: o,\n role: s\n });\n case 8:\n case \"end\":\n return _context67.stop();\n }\n }, _callee67);\n }));\n function getFilesAndNewText(_x133, _x134, _x135, _x136, _x137) {\n return _getFilesAndNewText.apply(this, arguments);\n }\n return getFilesAndNewText;\n }() // Noticed an issue where text contains a sandbox hyperlink to a csv, but no annotation provided\n // To reproduce use the following text:\n // give example data for a csv and create a suitable bar chart for it with a link\n // Don't think it can be fixed and it is something on OpenAI side of things\n // prettier-ignore\n }, {\n key: \"getFileDetails\",\n value: function getFileDetails(e, t) {\n var s;\n var i = [];\n return (s = t == null ? void 0 : t.text) != null && s.value && e.content.forEach(function (r) {\n var o, a;\n (a = (o = r.text) == null ? void 0 : o.annotations) == null || a.forEach(function (l) {\n var c;\n l.text && l.text.startsWith(\"sandbox:\") && (c = l.file_path) != null && c.file_id && i.push({\n path: l.text,\n fileId: l.file_path.file_id,\n name: ne.getFileName(l.text)\n });\n });\n }), t != null && t.image_file && i.push({\n fileId: t.image_file.file_id\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndText\",\n value: function () {\n var _getFilesAndText = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee68(e, t, i, s) {\n var r;\n return _regeneratorRuntime().wrap(function _callee68$(_context68) {\n while (1) switch (_context68.prev = _context68.next) {\n case 0:\n r = ne.getFileDetails(t, s);\n _context68.next = 3;\n return ne.getFilesAndNewText(e, r, i, t.role, s);\n case 3:\n return _context68.abrupt(\"return\", _context68.sent);\n case 4:\n case \"end\":\n return _context68.stop();\n }\n }, _callee68);\n }));\n function getFilesAndText(_x138, _x139, _x140, _x141) {\n return _getFilesAndText.apply(this, arguments);\n }\n return getFilesAndText;\n }()\n }, {\n key: \"parseResult\",\n value: function parseResult(e, t) {\n var i = [];\n if (t) i = e.data;else for (var s = 0; s < e.data.length; s += 1) {\n var r = e.data[s];\n if (r.role === \"assistant\") i.push(r);else break;\n }\n return i.reverse();\n }\n // test this using this prompt and it should give 2 text mesages and a file:\n // \"give example data for a csv and create a suitable bar chart\"\n }, {\n key: \"parseMessages\",\n value: function parseMessages(e, t, i) {\n var s = [];\n return t.forEach(/*#__PURE__*/function () {\n var _ref20 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee70(r) {\n return _regeneratorRuntime().wrap(function _callee70$(_context70) {\n while (1) switch (_context70.prev = _context70.next) {\n case 0:\n r.content.filter(function (o) {\n return !!o.text || !!o.image_file;\n }).sort(function (o) {\n return o.text ? -1 : o.image_file ? 1 : 0;\n }).forEach(/*#__PURE__*/function () {\n var _ref21 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee69(o) {\n return _regeneratorRuntime().wrap(function _callee69$(_context69) {\n while (1) switch (_context69.prev = _context69.next) {\n case 0:\n s.push(ne.getFilesAndText(e, r, i, o));\n case 1:\n case \"end\":\n return _context69.stop();\n }\n }, _callee69);\n }));\n return function (_x143) {\n return _ref21.apply(this, arguments);\n };\n }());\n case 1:\n case \"end\":\n return _context70.stop();\n }\n }, _callee70);\n }));\n return function (_x142) {\n return _ref20.apply(this, arguments);\n };\n }()), Promise.all(s);\n }\n }, {\n key: \"processStreamMessages\",\n value: function () {\n var _processStreamMessages = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee71(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee71$(_context71) {\n while (1) switch (_context71.prev = _context71.next) {\n case 0:\n return _context71.abrupt(\"return\", ne.parseMessages(e, [{\n content: t,\n role: \"assistant\"\n }], i));\n case 1:\n case \"end\":\n return _context71.stop();\n }\n }, _callee71);\n }));\n function processStreamMessages(_x144, _x145, _x146) {\n return _processStreamMessages.apply(this, arguments);\n }\n return processStreamMessages;\n }() // prettier-ignore\n }, {\n key: \"processAPIMessages\",\n value: function () {\n var _processAPIMessages = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee72(e, t, i, s) {\n var r;\n return _regeneratorRuntime().wrap(function _callee72$(_context72) {\n while (1) switch (_context72.prev = _context72.next) {\n case 0:\n r = ne.parseResult(t, i);\n return _context72.abrupt(\"return\", ne.parseMessages(e, r, s));\n case 2:\n case \"end\":\n return _context72.stop();\n }\n }, _callee72);\n }));\n function processAPIMessages(_x147, _x148, _x149, _x150) {\n return _processAPIMessages.apply(this, arguments);\n }\n return processAPIMessages;\n }()\n }]);\n}();\nne.FILES_WITH_TEXT_ERROR = \"content with type `text` must have `text` values\", ne.FUNCTION_TOOL_RESP_ERROR = \"Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.\";\nvar Ie = ne;\nvar Ke = /*#__PURE__*/function (_z3) {\n // prettier-ignore\n function Ke(e, t, i, s, r, o) {\n var _this31;\n _classCallCheck(this, Ke);\n if (_this31 = _callSuper(this, Ke, [e, s, r, o]), _this31.insertKeyPlaceholderText = \"OpenAI API Key\", _this31.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this31.url = \"\", _this31.permittedErrorPrefixes = [\"Incorrect\", \"Please send text\", ri.FAILED_ERROR_MESSAGE], _this31.shouldFetchHistory = !1, _this31._searchedForThreadId = !1, _this31._config = {}, _this31._newAssistantDetails = {\n model: \"gpt-4\"\n }, _this31._waitingForStreamResponse = !1, _this31._isSSEStream = !1, _this31.urlSegments = i, _typeof(t) == \"object\") {\n _this31._config = t;\n var _this31$_config = _this31._config,\n a = _this31$_config.new_assistant,\n l = _this31$_config.thread_id,\n c = _this31$_config.load_thread_history;\n Object.assign(_this31._newAssistantDetails, a), l && (_this31.sessionId = l), c && (_this31.shouldFetchHistory = !0);\n }\n _this31.maxMessages = 1, _this31._isSSEStream = !!(_this31.stream && (_typeof(_this31.stream) != \"object\" || !_this31.stream.simulation));\n return _this31;\n }\n _inherits(Ke, _z3);\n return _createClass(Ke, [{\n key: \"fetchHistoryFunc\",\n value: function () {\n var _fetchHistoryFunc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73() {\n var _this32 = this;\n var e;\n return _regeneratorRuntime().wrap(function _callee73$(_context73) {\n while (1) switch (_context73.prev = _context73.next) {\n case 0:\n setTimeout(function () {\n return _this32.deepChat.disableSubmitButton();\n }, 2);\n _context73.prev = 1;\n _context73.next = 4;\n return this.getThreadMessages(this.sessionId, !0);\n case 4:\n e = _context73.sent;\n return _context73.abrupt(\"return\", (this.deepChat.disableSubmitButton(!1), e));\n case 8:\n _context73.prev = 8;\n _context73.t0 = _context73[\"catch\"](1);\n return _context73.abrupt(\"return\", [{\n error: \"Failed to fetch history\"\n }]);\n case 11:\n case \"end\":\n return _context73.stop();\n }\n }, _callee73, this, [[1, 8]]);\n }));\n function fetchHistoryFunc() {\n return _fetchHistoryFunc.apply(this, arguments);\n }\n return fetchHistoryFunc;\n }()\n }, {\n key: \"processMessage\",\n value: function processMessage(e, t) {\n var i = this.totalMessagesMaxCharLength || -1,\n s = at.getCharacterLimitMessages(e, i)[0];\n if (t && t.length > 0) {\n var r = this.filesToolType;\n if (typeof this.filesToolType == \"function\") {\n var a = this.filesToolType(t.map(function (_ref22) {\n var l = _ref22.name;\n return l;\n }));\n a === \"code_interpreter\" || a === \"file_search\" || a === \"images\" ? r = a : (console.error(\"Tool type \\\"\".concat(a, \"\\\" is not valid\")), console.error('Expected \"code_interpreter\" or \"file_search\" or \"images\". Going to default to \"images\"'));\n }\n if (r === \"file_search\") return Ke.processAttachmentsMessage(s, t, \"file_search\");\n if (r === \"code_interpreter\") return Ke.processAttachmentsMessage(s, t, \"code_interpreter\");\n if (t.find(function (_ref23) {\n var a = _ref23.name;\n return !q.isImageFileExtension(a);\n })) console.error(\"The uploaded files contained a non-image file\"), console.error('Make sure only images can be uploaded or define a \"code_interpreter\" or \"file_search\" value in the \"files_tool_type\" property'), console.warn('Make sure your existing assistant supports these \"tools\" or specify them in the \"new_assistant\" property');else {\n var _a3 = Ke.processImageMessage(s, t);\n if (_a3) return _a3;\n }\n }\n return {\n content: s.text || \"\",\n role: \"user\"\n };\n }\n }, {\n key: \"createNewThreadMessages\",\n value: function createNewThreadMessages(e, t, i) {\n var s = JSON.parse(JSON.stringify(e)),\n r = this.processMessage(t, i);\n return s.thread = {\n messages: [r]\n }, s;\n }\n }, {\n key: \"callService\",\n value: function callService(e, t, i) {\n if (this._messages = e, this.sessionId) {\n this.url = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(this.sessionId, \"/messages\").concat(this.urlSegments.createMessagePostfix);\n var s = this.processMessage(t, i);\n C.request(this, s, e);\n } else {\n this.url = \"\".concat(this.urlSegments.threadsPrefix, \"/runs\").concat(this.urlSegments.threadsPosfix);\n var _s2 = this.createNewThreadMessages(this.rawBody, t, i);\n this._isSSEStream ? this.createStreamRun(_s2) : C.request(this, _s2, e);\n }\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee74(e, t, i) {\n var _r$assistant_id;\n var r, s;\n return _regeneratorRuntime().wrap(function _callee74$(_context74) {\n while (1) switch (_context74.prev = _context74.next) {\n case 0:\n if (!(this._waitingForStreamResponse = !1, !this.connectSettings)) {\n _context74.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!((_r$assistant_id = (r = this.rawBody).assistant_id) !== null && _r$assistant_id !== void 0)) {\n _context74.next = 6;\n break;\n }\n _r$assistant_id;\n _context74.next = 12;\n break;\n case 6:\n _context74.t0 = this._config.assistant_id;\n if (_context74.t0) {\n _context74.next = 11;\n break;\n }\n _context74.next = 10;\n return this.createNewAssistant();\n case 10:\n _context74.t0 = _context74.sent;\n case 11:\n r.assistant_id = _context74.t0;\n case 12:\n this._searchedForThreadId || this.searchPreviousMessagesForThreadId(e.messageToElements);\n if (!i) {\n _context74.next = 19;\n break;\n }\n _context74.next = 16;\n return Ie.storeFiles(this, e, i, this.urlSegments.storeFiles);\n case 16:\n _context74.t1 = _context74.sent;\n _context74.next = 20;\n break;\n case 19:\n _context74.t1 = void 0;\n case 20:\n s = _context74.t1;\n this.connectSettings.method = \"POST\", this.callService(e, t, s);\n case 22:\n case \"end\":\n return _context74.stop();\n }\n }, _callee74, this);\n }));\n function callServiceAPI(_x151, _x152, _x153) {\n return _callServiceAPI9.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"createNewAssistant\",\n value: function () {\n var _createNewAssistant = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75() {\n var e;\n return _regeneratorRuntime().wrap(function _callee75$(_context75) {\n while (1) switch (_context75.prev = _context75.next) {\n case 0:\n _context75.prev = 0;\n this.url = this.urlSegments.newAssistantUrl;\n _context75.next = 4;\n return I.directFetch(this, JSON.parse(JSON.stringify(this._newAssistantDetails)), \"POST\");\n case 4:\n e = _context75.sent;\n return _context75.abrupt(\"return\", (this._config.assistant_id = e.id, this._config.assistant_id));\n case 8:\n _context75.prev = 8;\n _context75.t0 = _context75[\"catch\"](0);\n console.error(_context75.t0), console.error(\"Failed to create a new assistant\");\n case 11:\n case \"end\":\n return _context75.stop();\n }\n }, _callee75, this, [[0, 8]]);\n }));\n function createNewAssistant() {\n return _createNewAssistant.apply(this, arguments);\n }\n return createNewAssistant;\n }()\n }, {\n key: \"searchPreviousMessagesForThreadId\",\n value: function searchPreviousMessagesForThreadId(e) {\n var t = e.find(function (_ref24) {\n var _ref25 = _slicedToArray(_ref24, 1),\n i = _ref25[0];\n return i._sessionId;\n });\n t && (this.sessionId = t[0]._sessionId), this._searchedForThreadId = !0;\n }\n // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee76(e) {\n var s, t, i;\n return _regeneratorRuntime().wrap(function _callee76$(_context76) {\n while (1) switch (_context76.prev = _context76.next) {\n case 0:\n if (!(this._waitingForStreamResponse || this._isSSEStream && this.sessionId)) {\n _context76.next = 4;\n break;\n }\n _context76.next = 3;\n return this.handleStream(e);\n case 3:\n return _context76.abrupt(\"return\", _context76.sent);\n case 4:\n if (!e.error) {\n _context76.next = 6;\n break;\n }\n throw e.error.message.startsWith(Ie.FILES_WITH_TEXT_ERROR) ? Error(\"Please send text with your file(s)\") : e.error.message;\n case 6:\n _context76.next = 8;\n return this.assignThreadAndRun(e);\n case 8:\n t = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id).concat(this.urlSegments.threadsPosfix), i = {\n method: \"GET\",\n headers: (s = this.connectSettings) == null ? void 0 : s.headers\n };\n return _context76.abrupt(\"return\", (C.executePollRequest(this, t, i, this._messages), {\n makingAnotherRequest: !0\n }));\n case 10:\n case \"end\":\n return _context76.stop();\n }\n }, _callee76, this);\n }));\n function extractResultData(_x154) {\n return _extractResultData10.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"assignThreadAndRun\",\n value: function () {\n var _assignThreadAndRun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee77(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee77$(_context77) {\n while (1) switch (_context77.prev = _context77.next) {\n case 0:\n if (!this.sessionId) {\n _context77.next = 8;\n break;\n }\n this.url = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(this.sessionId, \"/runs\").concat(this.urlSegments.threadsPosfix);\n _context77.next = 4;\n return I.directFetch(this, JSON.parse(JSON.stringify(this.rawBody)), \"POST\");\n case 4:\n t = _context77.sent;\n this.run_id = t.id;\n _context77.next = 9;\n break;\n case 8:\n this.sessionId = e.thread_id, this.run_id = e.id, this._messages && this._messages.messageToElements.length > 0 && (this._messages.messageToElements[this._messages.messageToElements.length - 1][0]._sessionId = this.sessionId);\n case 9:\n case \"end\":\n return _context77.stop();\n }\n }, _callee77, this);\n }));\n function assignThreadAndRun(_x155) {\n return _assignThreadAndRun.apply(this, arguments);\n }\n return assignThreadAndRun;\n }()\n }, {\n key: \"getThreadMessages\",\n value: function () {\n var _getThreadMessages = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee78(e) {\n var t,\n s,\n r,\n i,\n _args78 = arguments;\n return _regeneratorRuntime().wrap(function _callee78$(_context78) {\n while (1) switch (_context78.prev = _context78.next) {\n case 0:\n t = _args78.length > 1 && _args78[1] !== undefined ? _args78[1] : !1;\n this.url = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(e, \"/messages?\").concat(this.urlSegments.listMessagesPostfix);\n _context78.next = 4;\n return I.directFetch(this, {}, \"GET\");\n case 4:\n i = _context78.sent;\n _context78.t0 = !t && this.deepChat.responseInterceptor;\n if (!_context78.t0) {\n _context78.next = 10;\n break;\n }\n _context78.next = 9;\n return (r = (s = this.deepChat).responseInterceptor) == null ? void 0 : r.call(s, i);\n case 9:\n i = _context78.sent;\n case 10:\n return _context78.abrupt(\"return\", Ie.processAPIMessages(this, i, t, this.urlSegments));\n case 11:\n case \"end\":\n return _context78.stop();\n }\n }, _callee78, this);\n }));\n function getThreadMessages(_x156) {\n return _getThreadMessages.apply(this, arguments);\n }\n return getThreadMessages;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(e) {\n var _this33 = this;\n var r, t, i, o, _o$shift, a, l, s;\n return _regeneratorRuntime().wrap(function _callee79$(_context79) {\n while (1) switch (_context79.prev = _context79.next) {\n case 0:\n t = e.status, i = e.required_action;\n if (!(t === \"queued\" || t === \"in_progress\")) {\n _context79.next = 3;\n break;\n }\n return _context79.abrupt(\"return\", {\n timeoutMS: Ke.POLLING_TIMEOUT_MS\n });\n case 3:\n if (!(t === \"completed\" && this._messages)) {\n _context79.next = 11;\n break;\n }\n _context79.next = 6;\n return this.getThreadMessages(e.thread_id);\n case 6:\n o = _context79.sent;\n _o$shift = o.shift();\n a = _o$shift.text;\n l = _o$shift.files;\n return _context79.abrupt(\"return\", (setTimeout(function () {\n o.forEach(function (c) {\n return _this33.deepChat.addMessage(c);\n });\n }), {\n text: a,\n _sessionId: this.sessionId,\n files: l\n }));\n case 11:\n s = (r = i == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : r.tool_calls;\n if (!(t === \"requires_action\" && s)) {\n _context79.next = 16;\n break;\n }\n _context79.next = 15;\n return this.handleTools(s);\n case 15:\n return _context79.abrupt(\"return\", _context79.sent);\n case 16:\n throw Error(\"Thread run status: \".concat(t));\n case 17:\n case \"end\":\n return _context79.stop();\n }\n }, _callee79, this);\n }));\n function extractPollResultData(_x157) {\n return _extractPollResultData4.apply(this, arguments);\n }\n return extractPollResultData;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee80(e) {\n var t, i, s, r, o, a;\n return _regeneratorRuntime().wrap(function _callee80$(_context80) {\n while (1) switch (_context80.prev = _context80.next) {\n case 0:\n if (this.functionHandler) {\n _context80.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.\");\n case 2:\n t = e.map(function (l) {\n return {\n name: l[\"function\"].name,\n arguments: l[\"function\"].arguments\n };\n });\n _context80.next = 5;\n return this.functionHandler(t);\n case 5:\n i = _context80.sent;\n if (!(!Array.isArray(i) || e.length !== i.length)) {\n _context80.next = 8;\n break;\n }\n throw Error(Ie.FUNCTION_TOOL_RESP_ERROR);\n case 8:\n _context80.next = 10;\n return Promise.all(i);\n case 10:\n s = _context80.sent;\n if (!s.find(function (l) {\n return typeof l != \"string\";\n })) {\n _context80.next = 13;\n break;\n }\n throw Error(Ie.FUNCTION_TOOL_RESP_ERROR);\n case 13:\n r = s.map(function (l, c) {\n return {\n tool_call_id: e[c].id,\n output: l\n };\n }), o = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(this.sessionId), a = \"/runs/\".concat(this.run_id, \"/submit_tool_outputs\").concat(this.urlSegments.threadsPosfix);\n this.url = \"\".concat(o).concat(a);\n if (!this._isSSEStream) {\n _context80.next = 20;\n break;\n }\n _context80.next = 18;\n return this.createStreamRun({\n tool_outputs: r\n });\n case 18:\n _context80.next = 22;\n break;\n case 20:\n _context80.next = 22;\n return I.directFetch(this, {\n tool_outputs: r\n }, \"POST\");\n case 22:\n return _context80.abrupt(\"return\", {\n timeoutMS: Ke.POLLING_TIMEOUT_MS\n });\n case 23:\n case \"end\":\n return _context80.stop();\n }\n }, _callee80, this);\n }));\n function handleTools(_x158) {\n return _handleTools.apply(this, arguments);\n }\n return handleTools;\n }()\n }, {\n key: \"handleStream\",\n value: function () {\n var _handleStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee81(e) {\n var i, s, t, r;\n return _regeneratorRuntime().wrap(function _callee81$(_context81) {\n while (1) switch (_context81.prev = _context81.next) {\n case 0:\n t = (s = (i = e.required_action) == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : s.tool_calls;\n if (!(e.status === \"requires_action\" && t)) {\n _context81.next = 6;\n break;\n }\n this.run_id = e.id;\n _context81.next = 5;\n return this.handleTools(t);\n case 5:\n return _context81.abrupt(\"return\", _context81.sent);\n case 6:\n if (!this._waitingForStreamResponse) {\n _context81.next = 8;\n break;\n }\n return _context81.abrupt(\"return\", this.parseStreamResult(e));\n case 8:\n if (this._isSSEStream && this.sessionId) {\n this.url = \"\".concat(this.urlSegments.threadsPrefix, \"/\").concat(this.sessionId, \"/runs\").concat(this.urlSegments.threadsPosfix);\n r = JSON.parse(JSON.stringify(this.rawBody));\n this.createStreamRun(r);\n }\n return _context81.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 10:\n case \"end\":\n return _context81.stop();\n }\n }, _callee81, this);\n }));\n function handleStream(_x159) {\n return _handleStream.apply(this, arguments);\n }\n return handleStream;\n }() // prettier-ignore\n }, {\n key: \"parseStreamResult\",\n value: function () {\n var _parseStreamResult = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee82(e) {\n var t, i, s, r, o, a, l, c, _a4, _l2;\n return _regeneratorRuntime().wrap(function _callee82$(_context82) {\n while (1) switch (_context82.prev = _context82.next) {\n case 0:\n if (!(e.content && e.content.length > 0 && this._messages)) {\n _context82.next = 5;\n break;\n }\n a = e.content.find(function (l) {\n return l.text;\n });\n if (!((t = a == null ? void 0 : a.text) != null && t.annotations && a.text.annotations.length > 0)) {\n _context82.next = 5;\n break;\n }\n l = e.content.find(function (d) {\n return !!d.text;\n }) || e.content[0], c = Ie.getFilesAndText.bind(this, this, {\n role: \"assistant\",\n content: e.content\n }, this.urlSegments, l);\n return _context82.abrupt(\"return\", ((i = this._messageStream) == null || i.endStreamAfterFileDownloaded(this._messages, c), {\n text: \"\"\n }));\n case 5:\n if (!((s = e.delta) != null && s.content)) {\n _context82.next = 14;\n break;\n }\n if (!(e.delta.content.length > 1)) {\n _context82.next = 13;\n break;\n }\n _a4 = e.delta.content.find(function (l) {\n return l.text;\n });\n if (!((r = _a4 == null ? void 0 : _a4.text) != null && r.annotations && _a4.text.annotations.length === 0)) {\n _context82.next = 13;\n break;\n }\n _context82.next = 11;\n return Ie.processStreamMessages(this, e.delta.content, this.urlSegments);\n case 11:\n _l2 = _context82.sent;\n return _context82.abrupt(\"return\", {\n text: _l2[0].text,\n files: _l2[1].files\n });\n case 13:\n return _context82.abrupt(\"return\", {\n text: (o = e.delta.content[0].text) == null ? void 0 : o.value\n });\n case 14:\n return _context82.abrupt(\"return\", (!this.sessionId && e.thread_id && (this.sessionId = e.thread_id), {\n makingAnotherRequest: !0\n }));\n case 15:\n case \"end\":\n return _context82.stop();\n }\n }, _callee82, this);\n }));\n function parseStreamResult(_x160) {\n return _parseStreamResult.apply(this, arguments);\n }\n return parseStreamResult;\n }() // https://platform.openai.com/docs/api-reference/assistants-streaming\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"createStreamRun\",\n value: function () {\n var _createStreamRun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee83(e) {\n return _regeneratorRuntime().wrap(function _callee83$(_context83) {\n while (1) switch (_context83.prev = _context83.next) {\n case 0:\n e.stream = !0;\n this._waitingForStreamResponse = !0;\n _context83.next = 4;\n return A.request(this, e, this._messages, !0, !0);\n case 4:\n this._messageStream = _context83.sent;\n case 5:\n case \"end\":\n return _context83.stop();\n }\n }, _callee83, this);\n }));\n function createStreamRun(_x161) {\n return _createStreamRun.apply(this, arguments);\n }\n return createStreamRun;\n }()\n }], [{\n key: \"processImageMessage\",\n value: function processImageMessage(e, t) {\n var i = t == null ? void 0 : t.filter(function (s) {\n return q.isImageFileExtension(s.name);\n }).map(function (s) {\n return {\n type: \"image_file\",\n image_file: {\n file_id: s.id\n }\n };\n });\n if (i && i.length > 0) return e.text && e.text.length > 0 && i.push({\n type: \"text\",\n text: e.text\n }), {\n content: i,\n role: \"user\"\n };\n }\n }, {\n key: \"processAttachmentsMessage\",\n value: function processAttachmentsMessage(e, t, i) {\n return {\n attachments: t.map(function (r) {\n return {\n tools: [{\n type: i\n }],\n file_id: r.id\n };\n }),\n content: [{\n type: \"text\",\n text: e.text\n }],\n role: \"user\"\n };\n }\n }]);\n}(z);\nKe.POLLING_TIMEOUT_MS = 500;\nvar ki = Ke;\nvar Ts = /*#__PURE__*/function (_ki) {\n function Ts(e) {\n var _a$headers, _l$OpenAIBeta;\n var _this34;\n _classCallCheck(this, Ts);\n var o, a, l, c, d;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI,\n s = (o = t.openAI) == null ? void 0 : o.assistant,\n r = Ts.buildUrlSegments(s);\n if (_this34 = _callSuper(this, Ts, [e, s, r, I.buildKeyVerificationDetails(), I.buildHeaders, i]), (_a$headers = (a = _this34.connectSettings).headers) !== null && _a$headers !== void 0 ? _a$headers : a.headers = {}, (_l$OpenAIBeta = (l = _this34.connectSettings.headers)[\"OpenAI-Beta\"]) !== null && _l$OpenAIBeta !== void 0 ? _l$OpenAIBeta : l[\"OpenAI-Beta\"] = \"assistants=v2\", _this34.shouldFetchHistory && _this34.sessionId && (_this34.fetchHistory = _this34.fetchHistoryFunc.bind(_assertThisInitialized(_this34))), _typeof(s) == \"object\") {\n var _ref26 = (d = (c = e.directConnection) == null ? void 0 : c.openAI) == null ? void 0 : d.assistant,\n u = _ref26.function_handler,\n h = _ref26.files_tool_type;\n u && (_this34.functionHandler = u), h && (_this34.filesToolType = h);\n }\n return _this34;\n }\n _inherits(Ts, _ki);\n return _createClass(Ts, null, [{\n key: \"buildUrlSegments\",\n value: function buildUrlSegments(e) {\n var t = _typeof(e) == \"object\" && e.custom_base_url || \"https://api.openai.com/v1\";\n return {\n threadsPrefix: \"\".concat(t, \"/threads\"),\n threadsPosfix: \"\",\n newAssistantUrl: \"\".concat(t, \"/assistants\"),\n createMessagePostfix: \"\",\n listMessagesPostfix: \"order=desc\",\n storeFiles: \"\".concat(t, \"/files\"),\n getFilesPrefix: \"\".concat(t, \"/files/\"),\n getFilesPostfix: \"/content\"\n };\n }\n }]);\n}(ki);\nvar Li = /*#__PURE__*/function () {\n function Li() {\n _classCallCheck(this, Li);\n }\n return _createClass(Li, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : s(M.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.cohere.ai/v1/generate\",\n method: \"POST\",\n handleVerificationResult: Li.handleVerificationResult,\n body: JSON.stringify({\n prompt: \"\"\n })\n };\n }\n }]);\n}();\nvar Cs = /*#__PURE__*/function (_z4) {\n function Cs(e, t, i, s, r) {\n var _this35;\n _classCallCheck(this, Cs);\n _this35 = _callSuper(this, Cs, [e, Li.buildKeyVerificationDetails(), Li.buildHeaders, r]), _this35.insertKeyPlaceholderText = \"Cohere API Key\", _this35.keyHelpUrl = \"https://dashboard.cohere.ai/api-keys\", _this35.permittedErrorPrefixes = [\"invalid\"], _this35.url = t, _this35.textInputPlaceholderText = i, s && _typeof(s) == \"object\" && Object.assign(_this35.rawBody, s);\n return _this35;\n }\n _inherits(Cs, _z4);\n return _createClass(Cs);\n}(z);\nvar ta = /*#__PURE__*/function (_Cs) {\n function ta(e) {\n _classCallCheck(this, ta);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.cohere) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, ta, [e, \"https://api.cohere.ai/v1/generate\", \"Once upon a time\", t, i]);\n }\n _inherits(ta, _Cs);\n return _createClass(ta, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n s = t[t.length - 1].text;\n if (s) return _objectSpread({\n prompt: s\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI0 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee84(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee84$(_context84) {\n while (1) switch (_context84.prev = _context84.next) {\n case 0:\n if (this.connectSettings) {\n _context84.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context84.stop();\n }\n }, _callee84, this);\n }));\n function callServiceAPI(_x162, _x163) {\n return _callServiceAPI0.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData11 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee85(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee85$(_context85) {\n while (1) switch (_context85.prev = _context85.next) {\n case 0:\n if (!e.message) {\n _context85.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context85.abrupt(\"return\", {\n text: ((t = e.generations) == null ? void 0 : t[0].text) || \"\"\n });\n case 3:\n case \"end\":\n return _context85.stop();\n }\n }, _callee85);\n }));\n function extractResultData(_x164) {\n return _extractResultData11.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(Cs);\nvar Ds = /*#__PURE__*/function () {\n function Ds() {\n _classCallCheck(this, Ds);\n }\n return _createClass(Ds, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n \"api-key\": e,\n \"Content-Type\": \"application/json\"\n };\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails(e) {\n return {\n url: \"\".concat(e.endpoint, \"/openai/models?api-version=\").concat(e.version),\n method: \"GET\",\n handleVerificationResult: I.handleVerificationResult\n };\n }\n }, {\n key: \"validateURLDetails\",\n value: function validateURLDetails(e) {\n var t = e.endpoint,\n i = e.version,\n s = e.deploymentId;\n return t && i && s;\n }\n }]);\n}();\nDs.URL_DETAILS_ERROR_MESSAGE = \"Please define the Azure URL Details. [More Information](https://deepchat.dev/docs/directConnection/Azure)\";\nvar ue = Ds;\nvar vt = /*#__PURE__*/function (_ki2) {\n function vt(e) {\n var _g$headers;\n var _this36;\n _classCallCheck(this, vt);\n var c, d, u, h, f, m, p, g;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.azure,\n s = (c = t.azure) == null ? void 0 : c.openAI,\n r = (s == null ? void 0 : s.urlDetails) || {},\n o = \"\".concat((d = s == null ? void 0 : s.urlDetails) == null ? void 0 : d.endpoint, \"/openai/\"),\n a = \"?api-version=\".concat((u = s == null ? void 0 : s.urlDetails) == null ? void 0 : u.version),\n l = {\n threadsPrefix: \"\".concat(o).concat(vt.THREAD_RESOURCE),\n threadsPosfix: a,\n newAssistantUrl: \"\".concat(o).concat(vt.NEW_ASSISTANT_RESOURCE).concat(a),\n createMessagePostfix: a,\n listMessagesPostfix: \"order=desc&api-version=\".concat((h = s == null ? void 0 : s.urlDetails) == null ? void 0 : h.version),\n storeFiles: \"\".concat(o, \"files\").concat(a),\n getFilesPrefix: \"\".concat(o, \"files/\"),\n getFilesPostfix: \"/content\".concat(a)\n };\n if (_this36 = _callSuper(this, vt, [e, s == null ? void 0 : s.assistant, l, ue.buildKeyVerificationDetails(r), ue.buildHeaders, i]), _this36.permittedErrorPrefixes = [ue.URL_DETAILS_ERROR_MESSAGE], _this36.insertKeyPlaceholderText = \"Azure OpenAI API Key\", _this36.keyHelpUrl = \"https://learn.microsoft.com/en-us/answers/questions/1193991/how-to-get-the-value-of-openai-api-key\", _this36.isTextInputDisabled = !1, _typeof(s == null ? void 0 : s.assistant) == \"object\") {\n var _ref27 = (p = (m = (f = e.directConnection) == null ? void 0 : f.azure) == null ? void 0 : m.openAI) == null ? void 0 : p.assistant,\n b = _ref27.function_handler,\n k = _ref27.files_tool_type;\n b && (_this36.functionHandler = b), k && (_this36.filesToolType = k);\n }\n ue.validateURLDetails(r) ? (_g$headers = (g = _this36.connectSettings).headers) !== null && _g$headers !== void 0 ? _g$headers : g.headers = {} : (_this36.isTextInputDisabled = !0, _this36.canSendMessage = function () {\n return !1;\n }, setTimeout(function () {\n e.addMessage({\n error: ue.URL_DETAILS_ERROR_MESSAGE\n });\n }));\n return _this36;\n }\n _inherits(vt, _ki2);\n return _createClass(vt);\n}(ki);\nvt.THREAD_RESOURCE = \"threads\", vt.NEW_ASSISTANT_RESOURCE = \"assistants\";\nvar ds = vt;\nvar ia = /*#__PURE__*/function (_Cs2) {\n function ia(e) {\n _classCallCheck(this, ia);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.cohere) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, ia, [e, \"https://api.cohere.ai/v1/summarize\", \"Insert text to summarize\", t, i]);\n }\n _inherits(ia, _Cs2);\n return _createClass(ia, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n s = t[t.length - 1].text;\n if (s) return _objectSpread({\n text: s\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI1 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee86(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee86$(_context86) {\n while (1) switch (_context86.prev = _context86.next) {\n case 0:\n if (this.connectSettings) {\n _context86.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context86.stop();\n }\n }, _callee86, this);\n }));\n function callServiceAPI(_x165, _x166) {\n return _callServiceAPI1.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee87(e) {\n return _regeneratorRuntime().wrap(function _callee87$(_context87) {\n while (1) switch (_context87.prev = _context87.next) {\n case 0:\n if (!e.message) {\n _context87.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context87.abrupt(\"return\", {\n text: e.summary || \"\"\n });\n case 3:\n case \"end\":\n return _context87.stop();\n }\n }, _callee87);\n }));\n function extractResultData(_x167) {\n return _extractResultData12.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(Cs);\nvar N = /*#__PURE__*/function () {\n function N() {\n _classCallCheck(this, N);\n }\n return _createClass(N, null, [{\n key: \"addAttributes\",\n value: function addAttributes(e) {\n e.role = \"button\", e.setAttribute(\"tabindex\", \"0\");\n }\n }, {\n key: \"addAriaBusy\",\n value: function addAriaBusy(e) {\n e.setAttribute(\"aria-busy\", \"true\");\n }\n }, {\n key: \"removeAriaBusy\",\n value: function removeAriaBusy(e) {\n e.removeAttribute(\"aria-busy\");\n }\n }, {\n key: \"addAriaDisabled\",\n value: function addAriaDisabled(e) {\n e.setAttribute(\"aria-disabled\", \"true\");\n }\n }, {\n key: \"removeAriaDisabled\",\n value: function removeAriaDisabled(e) {\n e.removeAttribute(\"aria-disabled\");\n }\n }, {\n key: \"removeAriaAttributes\",\n value: function removeAriaAttributes(e) {\n N.removeAriaBusy(e), N.removeAriaDisabled(e);\n }\n }]);\n}();\nvar Bn = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg height=\\\"1.4em\\\" width=\\\"1.4em\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\\n\\t viewBox=\\\"0 0 490.9 490.9\\\" xml:space=\\\"preserve\\\">\\n\\t<g>\\n\\t\\t<g>\\n\\t\\t\\t<path d=\\\"M245.5,322.9c53,0,96.2-43.2,96.2-96.2V96.2c0-53-43.2-96.2-96.2-96.2s-96.2,43.2-96.2,96.2v130.5\\n\\t\\t\\t\\tC149.3,279.8,192.5,322.9,245.5,322.9z M173.8,96.2c0-39.5,32.2-71.7,71.7-71.7s71.7,32.2,71.7,71.7v130.5\\n\\t\\t\\t\\tc0,39.5-32.2,71.7-71.7,71.7s-71.7-32.2-71.7-71.7V96.2z\\\"/>\\n\\t\\t\\t<path d=\\\"M94.4,214.5c-6.8,0-12.3,5.5-12.3,12.3c0,85.9,66.7,156.6,151.1,162.8v76.7h-63.9c-6.8,0-12.3,5.5-12.3,12.3\\n\\t\\t\\t\\ts5.5,12.3,12.3,12.3h152.3c6.8,0,12.3-5.5,12.3-12.3s-5.5-12.3-12.3-12.3h-63.9v-76.7c84.4-6.3,151.1-76.9,151.1-162.8\\n\\t\\t\\t\\tc0-6.8-5.5-12.3-12.3-12.3s-12.3,5.5-12.3,12.3c0,76.6-62.3,138.9-138.9,138.9s-138.9-62.3-138.9-138.9\\n\\t\\t\\t\\tC106.6,220,101.2,214.5,94.4,214.5z\\\"/>\\n\\t\\t</g>\\n\\t</g>\\n</svg>\\n\",\n re = /*#__PURE__*/function () {\n function re() {\n _classCallCheck(this, re);\n }\n return _createClass(re, null, [{\n key: \"createTextElement\",\n value: function createTextElement(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(re.INPUT_BUTTON_INNER_TEXT_CLASS), t.innerText = e, t;\n }\n }, {\n key: \"tryAddSVGElement\",\n value: function tryAddSVGElement(e, t, i, s) {\n i ? e.push(He.createSVGElement(i)) : i !== \"\" && s && e.push(t);\n }\n }, {\n key: \"createCustomElements\",\n value: function createCustomElements(e, t, i) {\n var l, c;\n var s = i == null ? void 0 : i[e],\n r = (l = s == null ? void 0 : s.text) == null ? void 0 : l.content,\n o = (c = s == null ? void 0 : s.svg) == null ? void 0 : c.content,\n a = [];\n return re.tryAddSVGElement(a, t, o, r), r && a.push(re.createTextElement(r)), a.length > 0 ? a : void 0;\n }\n }, {\n key: \"reassignClassBasedOnChildren\",\n value: function reassignClassBasedOnChildren(e, t) {\n e.classList.remove(re.INPUT_BUTTON_SVG_CLASS, re.INPUT_BUTTON_SVG_TEXT_CLASS), t.find(function (i) {\n return i.classList.contains(re.INPUT_BUTTON_INNER_TEXT_CLASS);\n }) ? t.length > 1 && e.classList.add(re.INPUT_BUTTON_SVG_TEXT_CLASS) : e.classList.add(re.INPUT_BUTTON_SVG_CLASS);\n }\n }]);\n }();\nre.INPUT_BUTTON_SVG_TEXT_CLASS = \"input-button-svg-text\", re.INPUT_BUTTON_INNER_TEXT_CLASS = \"text-button\", re.INPUT_BUTTON_SVG_CLASS = \"input-button-svg\";\nvar Re = re;\nvar Wt = /*#__PURE__*/function () {\n function Wt() {\n _classCallCheck(this, Wt);\n }\n return _createClass(Wt, null, [{\n key: \"parseSVGTextElements\",\n value: function parseSVGTextElements(e) {\n return {\n svg: e.find(function (t) {\n return t.tagName.toLowerCase() === \"svg\";\n }),\n text: e.find(function (t) {\n return t.tagName.toLowerCase() === \"div\";\n })\n };\n }\n }]);\n}();\nvar D = /*#__PURE__*/function () {\n function D() {\n _classCallCheck(this, D);\n }\n return _createClass(D, null, [{\n key: \"unsetAllCSS\",\n value: function unsetAllCSS(e, t) {\n var r, o;\n t.container && L.unsetAllCSSMouseStates(e, t.container);\n var _Wt$parseSVGTextEleme = Wt.parseSVGTextElements(Array.from(e.children)),\n i = _Wt$parseSVGTextEleme.svg,\n s = _Wt$parseSVGTextEleme.text;\n (r = t.svg) != null && r.styles && i && L.unsetAllCSSMouseStates(i, t.svg.styles), (o = t.text) != null && o.styles && s && L.unsetAllCSSMouseStates(s, t.text.styles);\n }\n }, {\n key: \"unsetActionCSS\",\n value: function unsetActionCSS(e, t) {\n var r, o;\n t.container && L.unsetActivityCSSMouseStates(e, t.container);\n var _Wt$parseSVGTextEleme2 = Wt.parseSVGTextElements(Array.from(e.children)),\n i = _Wt$parseSVGTextEleme2.svg,\n s = _Wt$parseSVGTextEleme2.text;\n (r = t.svg) != null && r.styles && i && L.unsetActivityCSSMouseStates(i, t.svg.styles), (o = t.text) != null && o.styles && s && L.unsetActivityCSSMouseStates(s, t.text.styles);\n }\n }, {\n key: \"setElementsCSS\",\n value: function setElementsCSS(e, t, i) {\n var o, a, l, c, d;\n Object.assign(e.style, (o = t.container) == null ? void 0 : o[i]);\n var _Wt$parseSVGTextEleme3 = Wt.parseSVGTextElements(Array.from(e.children)),\n s = _Wt$parseSVGTextEleme3.svg,\n r = _Wt$parseSVGTextEleme3.text;\n s && Object.assign(s.style, (l = (a = t.svg) == null ? void 0 : a.styles) == null ? void 0 : l[i]), r && Object.assign(r.style, (d = (c = t.text) == null ? void 0 : c.styles) == null ? void 0 : d[i]);\n }\n }, {\n key: \"setElementCssUpToState\",\n value: function setElementCssUpToState(e, t, i) {\n D.setElementsCSS(e, t, \"default\"), i !== \"default\" && (D.setElementsCSS(e, t, \"hover\"), i !== \"hover\" && D.setElementsCSS(e, t, \"click\"));\n }\n }]);\n}();\nvar ut = /*#__PURE__*/function () {\n // prettier-ignore\n function ut(e, t, i, s, r, o) {\n _classCallCheck(this, ut);\n this._mouseState = {\n state: \"default\"\n }, this.isCustom = !1, N.addAttributes(e), this.elementRef = e, this.svg = He.createSVGElement(t), this.customStyles = r, this.position = i, this._tooltipSettings = s, this.dropupText = o;\n }\n return _createClass(ut, [{\n key: \"buttonMouseLeave\",\n value: function buttonMouseLeave(e) {\n var t;\n this._mouseState.state = \"default\", ((t = this._activeTooltip) == null ? void 0 : t.element.style.visibility) === \"visible\" && this._tooltipSettings && Ee.hide(this._activeTooltip, this._tooltipSettings), e && (D.unsetAllCSS(this.elementRef, e), D.setElementsCSS(this.elementRef, e, \"default\"));\n }\n }, {\n key: \"buttonMouseEnter\",\n value: function buttonMouseEnter(e) {\n var t;\n this._mouseState.state = \"hover\", this._tooltipSettings && (this._activeTooltip = Ee.display(this.elementRef, this._tooltipSettings, (t = this._activeTooltip) == null ? void 0 : t.element)), e && D.setElementsCSS(this.elementRef, e, \"hover\");\n }\n }, {\n key: \"buttonMouseUp\",\n value: function buttonMouseUp(e) {\n e && D.unsetActionCSS(this.elementRef, e), this.buttonMouseEnter(e);\n }\n }, {\n key: \"buttonMouseDown\",\n value: function buttonMouseDown(e) {\n this._mouseState.state = \"click\", e && D.setElementsCSS(this.elementRef, e, \"click\");\n }\n // be careful not to use onclick as that is used for button functionality\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n this.elementRef.onmousedown = this.buttonMouseDown.bind(this, e), this.elementRef.onmouseup = this.buttonMouseUp.bind(this, e), this.elementRef.onmouseenter = this.buttonMouseEnter.bind(this, e), this.elementRef.onmouseleave = this.buttonMouseLeave.bind(this, e);\n }\n }, {\n key: \"unsetCustomStateStyles\",\n value: function unsetCustomStateStyles(e) {\n if (this.customStyles) for (var t = 0; t < e.length; t += 1) {\n var _i2 = e[t],\n s = _i2 && this.customStyles[_i2];\n s && D.unsetActionCSS(this.elementRef, s);\n }\n }\n }, {\n key: \"reapplyStateStyle\",\n value: function reapplyStateStyle(e, t) {\n if (!this.customStyles) return;\n t && this.unsetCustomStateStyles(t);\n var i = this.customStyles[e];\n i && D.setElementCssUpToState(this.elementRef, i, this._mouseState.state), this.setEvents(i);\n }\n }, {\n key: \"changeElementsByState\",\n value: function changeElementsByState(e) {\n var _this$elementRef;\n (_this$elementRef = this.elementRef).replaceChildren.apply(_this$elementRef, _toConsumableArray(e)), Re.reassignClassBasedOnChildren(this.elementRef, e);\n }\n }, {\n key: \"buildDefaultIconElement\",\n value: function buildDefaultIconElement(e) {\n var t = this.svg.cloneNode(!0);\n return t.id = e, [t];\n }\n }, {\n key: \"createInnerElements\",\n value: function createInnerElements(e, t, i) {\n var s = Re.createCustomElements(t, this.svg, i);\n if (s && s.length > 0) {\n if (this.position === \"dropup-menu\") {\n var r = this.svg.cloneNode(!0);\n r.id = s[0] === this.svg ? e : \"dropup-menu-item-icon-element-custom\", s[0] = r;\n }\n return s;\n }\n return this.buildDefaultIconElement(e);\n }\n }]);\n}();\nvar qi = /*#__PURE__*/function (_ut) {\n function qi(e) {\n var _this37;\n _classCallCheck(this, qi);\n var i, s;\n var t = ((s = (i = e == null ? void 0 : e[\"default\"]) == null ? void 0 : i.svg) == null ? void 0 : s.content) || qi.EMPTY_SVG;\n _this37 = _callSuper(this, qi, [document.createElement(\"div\"), t, void 0, void 0, e]), _this37.isActive = !1, _this37._innerElements = _this37.createInnerElementsForStates(_this37.customStyles), _this37.changeToDefault();\n return _this37;\n }\n _inherits(qi, _ut);\n return _createClass(qi, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e) {\n return {\n \"default\": this.createInnerButtonElements(\"default\", e),\n active: this.createInnerButtonElements(\"active\", e),\n unavailable: this.createInnerButtonElements(\"unavailable\", e)\n };\n }\n }, {\n key: \"createInnerButtonElements\",\n value: function createInnerButtonElements(e, t) {\n return Re.createCustomElements(e, this.svg, t) || [this.svg];\n }\n }, {\n key: \"changeState\",\n value: function changeState(e) {\n this.changeElementsByState(e), this.elementRef.classList.replace(Re.INPUT_BUTTON_SVG_CLASS, \"deep-chat-openai-realtime-button\");\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive() {\n this.changeState(this._innerElements.active), this.reapplyStateStyle(\"active\", [\"unavailable\", \"default\"]), this.isActive = !0;\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault() {\n var e, t, i, s;\n this.changeState(this._innerElements[\"default\"]), (e = this.customStyles) != null && e.active && D.unsetAllCSS(this.elementRef, (t = this.customStyles) == null ? void 0 : t.active), (i = this.customStyles) != null && i.unavailable && D.unsetAllCSS(this.elementRef, (s = this.customStyles) == null ? void 0 : s.unavailable), this.reapplyStateStyle(\"default\", [\"active\", \"unavailable\"]), this.isActive = !1;\n }\n }, {\n key: \"changeToUnavailable\",\n value: function changeToUnavailable() {\n var e, t, i, s;\n this.changeState(this._innerElements.unavailable), (e = this.customStyles) != null && e.active && D.unsetAllCSS(this.elementRef, (t = this.customStyles) == null ? void 0 : t.active), (i = this.customStyles) != null && i[\"default\"] && D.unsetAllCSS(this.elementRef, (s = this.customStyles) == null ? void 0 : s[\"default\"]), this.reapplyStateStyle(\"unavailable\", [\"default\", \"active\"]), this.isActive = !1;\n }\n }]);\n}(ut);\nqi.EMPTY_SVG = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"></svg>';\nvar Ii = qi;\nvar V = /*#__PURE__*/function () {\n function V() {\n _classCallCheck(this, V);\n }\n return _createClass(V, null, [{\n key: \"setPropertyValueIfDoesNotExist\",\n value: function setPropertyValueIfDoesNotExist(e, t, i) {\n var _e$s, _e$s2;\n var s = t[0];\n t.length === 1 ? (_e$s = e[s]) !== null && _e$s !== void 0 ? _e$s : e[s] = i : ((_e$s2 = e[s]) !== null && _e$s2 !== void 0 ? _e$s2 : e[s] = {}, t.shift(), V.setPropertyValueIfDoesNotExist(e[s], t, i));\n }\n }, {\n key: \"setPropertyValue\",\n value: function setPropertyValue(e, t, i) {\n var _e$s3;\n var s = t[0];\n t.length === 1 ? e[s] = i : ((_e$s3 = e[s]) !== null && _e$s3 !== void 0 ? _e$s3 : e[s] = {}, t.shift(), V.setPropertyValue(e[s], t, i));\n }\n }, {\n key: \"getObjectValue\",\n value: function getObjectValue(e, t) {\n var i = t[0],\n s = e[i];\n return s === void 0 || t.length === 1 ? s : V.getObjectValue(s, t.slice(1));\n }\n }, {\n key: \"overwritePropertyObjectFromAnother\",\n value: function overwritePropertyObjectFromAnother(e, t, i) {\n var s = V.getObjectValue(t, i);\n if (s) {\n var r = _objectSpread(_objectSpread({}, s), V.getObjectValue(e, i) || {});\n V.setPropertyValue(e, i, r);\n }\n }\n }, {\n key: \"isJson\",\n value: function isJson(e) {\n try {\n return JSON.stringify(e), !0;\n } catch (_unused8) {\n return !1;\n }\n }\n // prettier-ignore\n }, {\n key: \"assignPropertyFromOneToAnother\",\n value: function assignPropertyFromOneToAnother(e, t, i) {\n var _t$e;\n (_t$e = t[e]) !== null && _t$e !== void 0 ? _t$e : t[e] = {}, Object.assign(t[e], i == null ? void 0 : i[e]);\n }\n }]);\n}();\nvar zi = /*#__PURE__*/_createClass(function zi() {\n _classCallCheck(this, zi);\n});\nzi.SESSION_STARTED = \"sts-session-started\", zi.SESSION_STOPPED = \"sts-session-stopped\";\nvar Oi = zi;\nvar Fn = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M5.92 24.096q0 1.088 0.928 1.728 0.512 0.288 1.088 0.288 0.448 0 0.896-0.224l16.16-8.064q0.48-0.256 0.8-0.736t0.288-1.088-0.288-1.056-0.8-0.736l-16.16-8.064q-0.448-0.224-0.896-0.224-0.544 0-1.088 0.288-0.928 0.608-0.928 1.728v16.16z\\\"></path>\\n</svg>\",\n hs = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path d=\\\"M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z\\\"></path>\\n</svg>\",\n R = /*#__PURE__*/function (_z5) {\n function R(e) {\n var _l$model;\n var _this38;\n _classCallCheck(this, R);\n var r, o, a, l;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = R.getKey(e);\n _this38 = _callSuper(this, R, [e, I.buildKeyVerificationDetails(), I.buildHeaders, {\n key: i\n }]), _this38.insertKeyPlaceholderText = \"OpenAI API Key\", _this38.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this38._microphoneButton = null, _this38._toggleButton = null, _this38._errorElement = null, _this38._loadingElement = null, _this38._pc = null, _this38._mediaStream = null, _this38._isMuted = !1;\n var s = (r = t.openAI) == null ? void 0 : r.realtime;\n if (_typeof(s) == \"object\") {\n _this38._avatarConfig = s.avatar, _this38._ephemeralKey = s.ephemeralKey, _this38._errorConfig = s.error, _this38._loadingConfig = s.loading, Object.assign(_this38.rawBody, s.config);\n var c = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.realtime,\n _ref28 = c.config || {},\n d = _ref28.function_handler;\n d && (_this38._functionHandler = d), _this38._events = s.events, c.methods = _this38.generateMethods();\n }\n (_l$model = (l = _this38.rawBody).model) !== null && _l$model !== void 0 ? _l$model : l.model = \"gpt-4o-realtime-preview-2024-12-17\", _this38._avatarConfig = R.buildAvatarConfig(s), _this38._buttonsConfig = R.buildButtonsConfig(s), _this38._avatarEl = R.createAvatar(_this38._avatarConfig), _this38._containerEl = _this38.createContainer(), _this38._deepChat = e;\n return _this38;\n }\n _inherits(R, _z5);\n return _createClass(R, [{\n key: \"setUpView\",\n value:\n // called after API key was inserted\n function setUpView(e, t) {\n e.style.display = \"none\", t.appendChild(this._containerEl), this.setup();\n }\n }, {\n key: \"setup\",\n value: function () {\n var _setup = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee88() {\n var s, e, t, i;\n return _regeneratorRuntime().wrap(function _callee88$(_context88) {\n while (1) switch (_context88.prev = _context88.next) {\n case 0:\n e = (s = this._deepChat.directConnection) == null ? void 0 : s.openAI;\n if (e) {\n _context88.next = 3;\n break;\n }\n return _context88.abrupt(\"return\");\n case 3:\n t = e == null ? void 0 : e.realtime;\n if (!(_typeof(t) != \"object\" || !t.autoStart && !t.autoFetchEphemeralKey)) {\n _context88.next = 6;\n break;\n }\n return _context88.abrupt(\"return\");\n case 6:\n i = this.key || e.key;\n (t.fetchEphemeralKey || i) && t.autoStart && (this.changeToUnavailable(), this.displayLoading()), this.fetchEphemeralKey(t.autoStart);\n case 8:\n case \"end\":\n return _context88.stop();\n }\n }, _callee88, this);\n }));\n function setup() {\n return _setup.apply(this, arguments);\n }\n return setup;\n }()\n }, {\n key: \"fetchEphemeralKey\",\n value: function () {\n var _fetchEphemeralKey = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee89(e) {\n var o, t, i, s, r, a;\n return _regeneratorRuntime().wrap(function _callee89$(_context89) {\n while (1) switch (_context89.prev = _context89.next) {\n case 0:\n t = (o = this._deepChat.directConnection) == null ? void 0 : o.openAI, i = _typeof(t == null ? void 0 : t.realtime) == \"object\" ? t == null ? void 0 : t.realtime.fetchEphemeralKey : void 0, s = t == null ? void 0 : t.realtime, r = this.key || t.key;\n if (!(_typeof(s) == \"object\")) {\n _context89.next = 26;\n break;\n }\n if (this._ephemeralKey) {\n _context89.next = 23;\n break;\n }\n _context89.prev = 3;\n if (!i) {\n _context89.next = 12;\n break;\n }\n a = i();\n a.then && (this._retrievingEphemeralKey = a);\n _context89.next = 9;\n return a;\n case 9:\n this._ephemeralKey = _context89.sent;\n _context89.next = 18;\n break;\n case 12:\n _context89.t0 = r;\n if (!_context89.t0) {\n _context89.next = 18;\n break;\n }\n this._retrievingEphemeralKey = this.getEphemeralKey(r);\n _context89.next = 17;\n return this._retrievingEphemeralKey;\n case 17:\n this._ephemeralKey = _context89.sent;\n case 18:\n _context89.next = 23;\n break;\n case 20:\n _context89.prev = 20;\n _context89.t1 = _context89[\"catch\"](3);\n this.displayFailedToRetrieveEphemeralKey(_context89.t1);\n case 23:\n this._ephemeralKey && (e ? this.init(this._ephemeralKey) : this.changeToAvailable());\n _context89.next = 38;\n break;\n case 26:\n if (!r) {\n _context89.next = 38;\n break;\n }\n _context89.prev = 27;\n this._retrievingEphemeralKey = this.getEphemeralKey(r);\n _context89.next = 31;\n return this._retrievingEphemeralKey;\n case 31:\n this._ephemeralKey = _context89.sent;\n e && this.init(this._ephemeralKey);\n _context89.next = 38;\n break;\n case 35:\n _context89.prev = 35;\n _context89.t2 = _context89[\"catch\"](27);\n this.displayFailedToRetrieveEphemeralKey(_context89.t2);\n case 38:\n case \"end\":\n return _context89.stop();\n }\n }, _callee89, this, [[3, 20], [27, 35]]);\n }));\n function fetchEphemeralKey(_x168) {\n return _fetchEphemeralKey.apply(this, arguments);\n }\n return fetchEphemeralKey;\n }()\n }, {\n key: \"getEphemeralKey\",\n value: function () {\n var _getEphemeralKey = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee90(e) {\n return _regeneratorRuntime().wrap(function _callee90$(_context90) {\n while (1) switch (_context90.prev = _context90.next) {\n case 0:\n _context90.next = 2;\n return fetch(\"https://api.openai.com/v1/realtime/sessions\", {\n method: \"POST\",\n body: JSON.stringify(this.rawBody),\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \".concat(e)\n }\n });\n case 2:\n _context90.next = 4;\n return _context90.sent.json();\n case 4:\n return _context90.abrupt(\"return\", _context90.sent.client_secret.value);\n case 5:\n case \"end\":\n return _context90.stop();\n }\n }, _callee90, this);\n }));\n function getEphemeralKey(_x169) {\n return _getEphemeralKey.apply(this, arguments);\n }\n return getEphemeralKey;\n }()\n }, {\n key: \"generateMethods\",\n value: function generateMethods() {\n var _this39 = this;\n return {\n updateConfig: function updateConfig(e) {\n var t;\n (t = _this39._dc) == null || t.send(JSON.stringify({\n type: \"session.update\",\n session: e\n }));\n },\n sendMessage: function sendMessage(e, t) {\n var i = t || \"system\",\n r = {\n role: i,\n type: \"message\",\n content: [{\n type: i === \"system\" || i === \"user\" ? \"input_text\" : \"text\",\n text: e\n }]\n };\n _this39.sendMessage(r);\n }\n };\n }\n }, {\n key: \"createContainer\",\n value: function createContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"deep-chat-openai-realtime-container\", e.appendChild(this.createAvatarContainer()), e.appendChild(this.createButtonsContainer()), e.appendChild(this.createError()), e;\n }\n }, {\n key: \"createAvatarContainer\",\n value: function createAvatarContainer() {\n var t, i;\n var e = document.createElement(\"div\");\n return e.id = \"deep-chat-openai-realtime-avatar-container\", Object.assign(e.style, (i = (t = this._avatarConfig) == null ? void 0 : t.styles) == null ? void 0 : i.container), e.appendChild(this._avatarEl), e;\n }\n }, {\n key: \"createButtonsContainer\",\n value: function createButtonsContainer() {\n var s;\n var e = document.createElement(\"div\");\n e.id = \"deep-chat-openai-realtime-buttons-container\", Object.assign(e.style, (s = this._buttonsConfig) == null ? void 0 : s.container), this._microphoneButton = this.createMicophoneButton();\n var t = R.createButtonContainer(this._microphoneButton.elementRef);\n this._toggleButton = this.createToggleButton();\n var i = R.createButtonContainer(this._toggleButton.elementRef);\n return e.appendChild(t), e.appendChild(i), e.appendChild(this.createLoading()), e;\n }\n }, {\n key: \"createMicophoneButton\",\n value: function createMicophoneButton() {\n var _this40 = this;\n var t;\n var e = new Ii((t = this._buttonsConfig) == null ? void 0 : t.microphone);\n return e.elementRef.classList.add(R.BUTTON_DEFAULT, \"deep-chat-openai-realtime-microphone\"), e.elementRef.onclick = function () {\n e.isActive ? (_this40.toggleMicorphone(!0), e.elementRef.classList.replace(R.MICROPHONE_ACTIVE, R.BUTTON_DEFAULT), e.changeToDefault(), _this40._isMuted = !1) : (_this40.toggleMicorphone(!1), e.elementRef.classList.replace(R.BUTTON_DEFAULT, R.MICROPHONE_ACTIVE), N.removeAriaAttributes(e.elementRef), e.changeToActive(), _this40._isMuted = !0);\n }, e;\n }\n }, {\n key: \"toggleMicorphone\",\n value: function toggleMicorphone(e) {\n var t;\n (t = this._mediaStream) == null || t.getAudioTracks().forEach(function (i) {\n return i.enabled = e;\n });\n }\n }, {\n key: \"createToggleButton\",\n value: function createToggleButton() {\n var _this41 = this;\n var t;\n var e = new Ii((t = this._buttonsConfig) == null ? void 0 : t.toggle);\n return e.elementRef.classList.add(R.BUTTON_DEFAULT, \"deep-chat-openai-realtime-toggle\"), e.elementRef.onclick = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee91() {\n var i, s;\n return _regeneratorRuntime().wrap(function _callee91$(_context91) {\n while (1) switch (_context91.prev = _context91.next) {\n case 0:\n if (!e.isActive) {\n _context91.next = 4;\n break;\n }\n e.changeToDefault(), _this41.stop();\n _context91.next = 30;\n break;\n case 4:\n _context91.prev = 4;\n if (!_this41._ephemeralKey) {\n _context91.next = 11;\n break;\n }\n _this41.displayLoading();\n _context91.next = 9;\n return _this41.init(_this41._ephemeralKey);\n case 9:\n _context91.next = 25;\n break;\n case 11:\n if (!_this41._retrievingEphemeralKey) {\n _context91.next = 22;\n break;\n }\n _this41.displayLoading();\n _context91.next = 15;\n return _this41._retrievingEphemeralKey;\n case 15:\n s = _context91.sent;\n _context91.t0 = (i = _this41._toggleButton) != null && i.isActive;\n if (!_context91.t0) {\n _context91.next = 20;\n break;\n }\n _context91.next = 20;\n return _this41.init(s);\n case 20:\n _context91.next = 25;\n break;\n case 22:\n _this41.displayLoading();\n _context91.next = 25;\n return _this41.fetchEphemeralKey(!0);\n case 25:\n _context91.next = 30;\n break;\n case 27:\n _context91.prev = 27;\n _context91.t1 = _context91[\"catch\"](4);\n console.error(\"Failed to start conversation:\", _context91.t1), _this41.displayError(), _this41.hideLoading();\n case 30:\n case \"end\":\n return _context91.stop();\n }\n }, _callee91, null, [[4, 27]]);\n })), e;\n }\n }, {\n key: \"init\",\n value: function () {\n var _init2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee94(e) {\n var _this42 = this;\n var t, i, s, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee94$(_context94) {\n while (1) switch (_context94.prev = _context94.next) {\n case 0:\n t = new RTCPeerConnection();\n this._pc = t;\n i = document.createElement(\"audio\");\n i.autoplay = !0;\n s = new AudioContext(), r = s.createAnalyser();\n r.fftSize = 256;\n o = new Uint8Array(r.frequencyBinCount);\n this._pc.ontrack = /*#__PURE__*/function () {\n var _ref30 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee92(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee92$(_context92) {\n while (1) switch (_context92.prev = _context92.next) {\n case 0:\n if (!a.streams[0]) {\n _context92.next = 11;\n break;\n }\n i.srcObject = a.streams[0];\n l = s.createMediaStreamSource(a.streams[0]);\n _context92.t0 = s.state === \"suspended\";\n if (!_context92.t0) {\n _context92.next = 7;\n break;\n }\n _context92.next = 7;\n return s.resume();\n case 7:\n l.connect(r);\n _this42.monitorFrequencies(r, o);\n _context92.next = 12;\n break;\n case 11:\n console.error(\"No streams found in the ontrack event.\"), _this42.displayError();\n case 12:\n case \"end\":\n return _context92.stop();\n }\n }, _callee92);\n }));\n return function (_x171) {\n return _ref30.apply(this, arguments);\n };\n }();\n _context94.next = 10;\n return navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (a) {\n var l;\n t === _this42._pc && (_this42._mediaStream = a, (l = _this42._pc) == null || l.addTrack(_this42._mediaStream.getTracks()[0]), _this42._isMuted && _this42.toggleMicorphone(!1));\n })[\"catch\"](function (a) {\n console.error(\"Error accessing microphone:\", a), _this42.displayError();\n });\n case 10:\n this._dc = this._pc.createDataChannel(\"oai-events\");\n this._dc.addEventListener(\"message\", /*#__PURE__*/function () {\n var _ref31 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee93(a) {\n var c, d, u, l, f, m, p;\n return _regeneratorRuntime().wrap(function _callee93$(_context93) {\n while (1) switch (_context93.prev = _context93.next) {\n case 0:\n l = JSON.parse(a.data);\n if (!(l.type === \"session.created\")) {\n _context93.next = 5;\n break;\n }\n _this42.removeUnavailable(), _this42._toggleButton && (N.removeAriaAttributes(_this42._toggleButton.elementRef), _this42._toggleButton.changeToActive()), (d = (c = _this42._events) == null ? void 0 : c.started) == null || d.call(c), _this42._deepChat.dispatchEvent(new CustomEvent(Oi.SESSION_STARTED)), _this42.hideLoading();\n _context93.next = 20;\n break;\n case 5:\n if (!(l.type === \"response.done\")) {\n _context93.next = 19;\n break;\n }\n f = (u = JSON.parse(a.data).response.output) == null ? void 0 : u[0];\n if (!((f == null ? void 0 : f.type) === \"function_call\")) {\n _context93.next = 17;\n break;\n }\n m = f.name, p = f.call_id;\n _context93.prev = 9;\n _context93.next = 12;\n return _this42.handleTool(m, f.arguments, p);\n case 12:\n _context93.next = 17;\n break;\n case 14:\n _context93.prev = 14;\n _context93.t0 = _context93[\"catch\"](9);\n _this42.stopOnError(_context93.t0);\n case 17:\n _context93.next = 20;\n break;\n case 19:\n l.type === \"error\" ? _this42.stopOnError(l.error.message) : l.type === \"invalid_request_error\" ? _this42.stopOnError(l.message) : l.type;\n case 20:\n case \"end\":\n return _context93.stop();\n }\n }, _callee93, null, [[9, 14]]);\n }));\n return function (_x172) {\n return _ref31.apply(this, arguments);\n };\n }());\n _context94.prev = 12;\n _context94.next = 15;\n return this._pc.createOffer();\n case 15:\n a = _context94.sent;\n _context94.t0 = t !== this._pc;\n if (_context94.t0) {\n _context94.next = 21;\n break;\n }\n _context94.next = 20;\n return this._pc.setLocalDescription(a);\n case 20:\n _context94.t0 = t !== this._pc;\n case 21:\n if (!_context94.t0) {\n _context94.next = 23;\n break;\n }\n return _context94.abrupt(\"return\");\n case 23:\n _context94.next = 25;\n return fetch(\"https://api.openai.com/v1/realtime\", {\n method: \"POST\",\n body: a.sdp,\n headers: {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/sdp\"\n }\n });\n case 25:\n l = _context94.sent;\n if (!(t !== this._pc)) {\n _context94.next = 28;\n break;\n }\n return _context94.abrupt(\"return\");\n case 28:\n _context94.next = 30;\n return l.text();\n case 30:\n _context94.t1 = _context94.sent;\n c = {\n type: \"answer\",\n sdp: _context94.t1\n };\n _context94.t2 = t !== this._pc;\n if (_context94.t2) {\n _context94.next = 37;\n break;\n }\n _context94.next = 36;\n return this._pc.setRemoteDescription(c);\n case 36:\n _context94.t2 = t !== this._pc;\n case 37:\n if (!_context94.t2) {\n _context94.next = 39;\n break;\n }\n return _context94.abrupt(\"return\");\n case 39:\n _context94.next = 44;\n break;\n case 41:\n _context94.prev = 41;\n _context94.t3 = _context94[\"catch\"](12);\n console.error(_context94.t3), this.displayError();\n case 44:\n case \"end\":\n return _context94.stop();\n }\n }, _callee94, this, [[12, 41]]);\n }));\n function init(_x170) {\n return _init2.apply(this, arguments);\n }\n return init;\n }() // there is a bug where sometimes upon refreshing the browser too many times the frequencyData is all 0s\n // in such instance please wait and refresh at a later time\n }, {\n key: \"monitorFrequencies\",\n value: function monitorFrequencies(e, t) {\n var _this43 = this;\n var i = function (_i3) {\n function i() {\n return _i3.apply(this, arguments);\n }\n i.toString = function () {\n return _i3.toString();\n };\n return i;\n }(function () {\n var c;\n e.getByteFrequencyData(t);\n var s = t.reduce(function (d, u) {\n return d + u;\n }, 0),\n r = t.length * 255,\n o = s / r * 100,\n a = 1,\n l = a + o / 100 * (((c = _this43._avatarConfig) == null ? void 0 : c.maxScale) - a);\n _this43._avatarEl.style.transform = \"scale(\".concat(l, \")\"), requestAnimationFrame(i);\n });\n i();\n }\n }, {\n key: \"stopOnError\",\n value: function stopOnError(e) {\n this.stop(), console.error(e), this.displayError();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var e, t, i;\n (e = this._mediaStream) == null || e.getTracks().forEach(function (s) {\n return s.stop();\n }), this._mediaStream = null, this._pc && (this._pc.close(), this._pc = null, (i = (t = this._events) == null ? void 0 : t.stopped) == null || i.call(t), this._deepChat.dispatchEvent(new CustomEvent(Oi.SESSION_STOPPED)), this._dc = void 0);\n }\n }, {\n key: \"changeToUnavailable\",\n value: function changeToUnavailable() {\n this._microphoneButton && R.changeButtonToUnavailable(this._microphoneButton), this._toggleButton && R.changeButtonToUnavailable(this._toggleButton);\n }\n }, {\n key: \"changeToAvailable\",\n value: function changeToAvailable() {\n this._microphoneButton && R.changeButtonToAvailable(this._microphoneButton), this._toggleButton && R.changeButtonToAvailable(this._toggleButton);\n }\n }, {\n key: \"removeUnavailable\",\n value: function removeUnavailable() {\n this._microphoneButton && R.removeButtonUnavailable(this._microphoneButton), this._toggleButton && R.removeButtonUnavailable(this._toggleButton);\n }\n }, {\n key: \"createError\",\n value: function createError() {\n var t;\n var e = document.createElement(\"div\");\n return e.id = \"deep-chat-openai-realtime-error\", Object.assign(e.style, (t = this._errorConfig) == null ? void 0 : t.style), this._errorElement = e, e;\n }\n }, {\n key: \"displayFailedToRetrieveEphemeralKey\",\n value: function displayFailedToRetrieveEphemeralKey(e) {\n console.error(\"Failed to retrieve ephemeral key\"), console.error(e), this.displayError();\n }\n }, {\n key: \"displayError\",\n value: function displayError() {\n var e;\n this._errorElement && (this._errorElement.style.display = \"block\", this._errorElement.textContent = ((e = this._errorConfig) == null ? void 0 : e.text) || \"Error\", this.changeToUnavailable()), this.hideLoading();\n }\n }, {\n key: \"createLoading\",\n value: function createLoading() {\n var t, i;\n var e = document.createElement(\"div\");\n return e.id = \"deep-chat-openai-realtime-loading\", this._loadingElement = e, (t = this._loadingConfig) != null && t.html && (this._loadingElement.innerHTML = this._loadingConfig.html), Object.assign(e.style, (i = this._loadingConfig) == null ? void 0 : i.style), e.style.display = \"none\", e;\n }\n }, {\n key: \"displayLoading\",\n value: function displayLoading() {\n var e, t, i;\n this._toggleButton && (this._toggleButton.changeToActive(), this._toggleButton.elementRef.classList.add(R.BUTTON_LOADING), N.removeAriaDisabled(this._toggleButton.elementRef), N.addAriaBusy(this._toggleButton.elementRef)), (typeof ((e = this._loadingConfig) == null ? void 0 : e.display) != \"boolean\" || this._loadingConfig.display) && this._loadingElement && (this._loadingElement.style.display = \"block\", (t = this._loadingConfig) != null && t.html || (this._loadingElement.textContent = ((i = this._loadingConfig) == null ? void 0 : i.text) || \"Loading\"));\n }\n }, {\n key: \"hideLoading\",\n value: function hideLoading() {\n this._toggleButton && (this._toggleButton.elementRef.classList.remove(R.BUTTON_LOADING), N.removeAriaBusy(this._toggleButton.elementRef)), this._loadingElement && (this._loadingElement.style.display = \"none\");\n }\n // https://platform.openai.com/docs/guides/function-calling?api-mode=responses\n }, {\n key: \"handleTool\",\n value: function () {\n var _handleTool = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee95(e, t, i) {\n var s, r;\n return _regeneratorRuntime().wrap(function _callee95$(_context95) {\n while (1) switch (_context95.prev = _context95.next) {\n case 0:\n if (this._functionHandler) {\n _context95.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/OpenAI/OpenAIRealtime#OpenAIRealtimeFunction) object.\");\n case 2:\n _context95.next = 4;\n return this._functionHandler({\n name: e,\n arguments: t\n });\n case 4:\n s = _context95.sent;\n if (!(_typeof(s) != \"object\" || !V.isJson(s))) {\n _context95.next = 7;\n break;\n }\n throw Error('The `function_handler` response must be a JSON object, e.g. {response: \"My response\"}');\n case 7:\n r = {\n type: \"function_call_output\",\n call_id: i,\n output: JSON.stringify(s)\n };\n this.sendMessage(r);\n case 9:\n case \"end\":\n return _context95.stop();\n }\n }, _callee95, this);\n }));\n function handleTool(_x173, _x174, _x175) {\n return _handleTool.apply(this, arguments);\n }\n return handleTool;\n }() // https://platform.openai.com/docs/api-reference/realtime-client-events/conversation/item/create\n }, {\n key: \"sendMessage\",\n value: function sendMessage(e) {\n if (!this._dc) return;\n var t = JSON.stringify({\n type: \"conversation.item.create\",\n item: e\n });\n this._dc.send(t);\n var i = {\n type: \"response.create\"\n };\n this._dc.send(JSON.stringify(i));\n }\n }, {\n key: \"isCustomView\",\n value: function isCustomView() {\n return !0;\n }\n }], [{\n key: \"getKey\",\n value: function getKey(e) {\n var t = e.directConnection.openAI;\n if (t != null && t.key) return t.key;\n var i = t == null ? void 0 : t.realtime;\n if (_typeof(i) == \"object\" && (i.ephemeralKey || i.fetchEphemeralKey)) return \"placeholder\";\n }\n }, {\n key: \"buildAvatarConfig\",\n value: function buildAvatarConfig(e) {\n var t = _typeof(e) == \"object\" && e.avatar ? JSON.parse(JSON.stringify(e.avatar)) : {};\n return t.maxScale = t.maxScale && t.maxScale >= 1 ? t.maxScale : 2.5, t;\n }\n }, {\n key: \"buildButtonsConfig\",\n value: function buildButtonsConfig(e) {\n var _t$microphone, _o$default, _a$svg, _l$content, _t$toggle, _h$default, _f$svg, _m$content, _p$active, _g$svg, _b$content;\n var i, s, r, o, a, l, c, d, u, h, f, m, p, g, b;\n var t = _typeof(e) == \"object\" && e.buttons ? JSON.parse(JSON.stringify(e.buttons)) : {};\n return (r = (s = (i = t.microphone) == null ? void 0 : i[\"default\"]) == null ? void 0 : s.text) != null && r.content || ((_t$microphone = t.microphone) !== null && _t$microphone !== void 0 ? _t$microphone : t.microphone = {}, (_o$default = (o = t.microphone)[\"default\"]) !== null && _o$default !== void 0 ? _o$default : o[\"default\"] = {}, (_a$svg = (a = t.microphone[\"default\"]).svg) !== null && _a$svg !== void 0 ? _a$svg : a.svg = {}, (_l$content = (l = t.microphone[\"default\"].svg).content) !== null && _l$content !== void 0 ? _l$content : l.content = Bn), (u = (d = (c = t.toggle) == null ? void 0 : c[\"default\"]) == null ? void 0 : d.text) != null && u.content || ((_t$toggle = t.toggle) !== null && _t$toggle !== void 0 ? _t$toggle : t.toggle = {}, (_h$default = (h = t.toggle)[\"default\"]) !== null && _h$default !== void 0 ? _h$default : h[\"default\"] = {}, (_f$svg = (f = t.toggle[\"default\"]).svg) !== null && _f$svg !== void 0 ? _f$svg : f.svg = {}, (_m$content = (m = t.toggle[\"default\"].svg).content) !== null && _m$content !== void 0 ? _m$content : m.content = Fn, (_p$active = (p = t.toggle).active) !== null && _p$active !== void 0 ? _p$active : p.active = {}, (_g$svg = (g = t.toggle.active).svg) !== null && _g$svg !== void 0 ? _g$svg : g.svg = {}, (_b$content = (b = t.toggle.active.svg).content) !== null && _b$content !== void 0 ? _b$content : b.content = hs), t;\n }\n }, {\n key: \"createAvatar\",\n value: function createAvatar(e) {\n var i;\n var t = document.createElement(\"img\");\n return t.id = \"deep-chat-openai-realtime-avatar\", Object.assign(t.style, (i = e == null ? void 0 : e.styles) == null ? void 0 : i.image), t.src = (e == null ? void 0 : e.src) || os, t;\n }\n }, {\n key: \"createButtonContainer\",\n value: function createButtonContainer(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"deep-chat-openai-realtime-button-container\"), t.appendChild(e), t;\n }\n }, {\n key: \"changeButtonToUnavailable\",\n value: function changeButtonToUnavailable(e) {\n e.elementRef.classList.add(R.UNAVAILABLE), N.removeAriaBusy(e.elementRef), N.addAriaDisabled(e.elementRef), e.changeToUnavailable();\n }\n }, {\n key: \"changeButtonToAvailable\",\n value: function changeButtonToAvailable(e) {\n R.removeButtonUnavailable(e), e.changeToDefault();\n }\n }, {\n key: \"removeButtonUnavailable\",\n value: function removeButtonUnavailable(e) {\n N.removeAriaDisabled(e.elementRef), e.elementRef.classList.remove(R.UNAVAILABLE);\n }\n }]);\n }(z);\nR.BUTTON_DEFAULT = \"deep-chat-openai-realtime-button-default\", R.BUTTON_LOADING = \"deep-chat-openai-realtime-button-loading\", R.MICROPHONE_ACTIVE = \"deep-chat-openai-realtime-microphone-active\", R.UNAVAILABLE = \"deep-chat-openai-realtime-button-unavailable\";\nvar us = R;\nvar yt = /*#__PURE__*/function (_z6) {\n function yt(e) {\n var _o$model, _a$voice;\n var _this44;\n _classCallCheck(this, yt);\n var r, o, a;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this44 = _callSuper(this, yt, [e, I.buildKeyVerificationDetails(), I.buildHeaders, i]), _this44.insertKeyPlaceholderText = \"OpenAI API Key\", _this44.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this44.url = \"https://api.openai.com/v1/audio/speech\", _this44.permittedErrorPrefixes = [\"Invalid\"], _this44.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Text To Speech</b></div>\\n <p>Generate an audio file based on your text input.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/text-to-speech\\\">here</a> for more information.</p>\";\n var s = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.textToSpeech;\n _typeof(s) == \"object\" && Object.assign(_this44.rawBody, s), (_o$model = (o = _this44.rawBody).model) !== null && _o$model !== void 0 ? _o$model : o.model = yt.DEFAULT_MODEL, (_a$voice = (a = _this44.rawBody).voice) !== null && _a$voice !== void 0 ? _a$voice : a.voice = yt.DEFAULT_VOIDE, _this44.textInputPlaceholderText = \"Insert text to generate audio\", _this44.rawBody.response_format = \"mp3\";\n return _this44;\n }\n _inherits(yt, _z6);\n return _createClass(yt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n s = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return s && s !== \"\" && (i.input = s), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee96(e, t) {\n var s, i;\n return _regeneratorRuntime().wrap(function _callee96$(_context96) {\n while (1) switch (_context96.prev = _context96.next) {\n case 0:\n if ((s = this.connectSettings) != null && s.headers) {\n _context96.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n this.url = this.connectSettings.url || this.url;\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e);\n case 5:\n case \"end\":\n return _context96.stop();\n }\n }, _callee96, this);\n }));\n function callServiceAPI(_x176, _x177) {\n return _callServiceAPI10.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee97(e) {\n return _regeneratorRuntime().wrap(function _callee97$(_context97) {\n while (1) switch (_context97.prev = _context97.next) {\n case 0:\n if (!(e instanceof Blob)) {\n _context97.next = 2;\n break;\n }\n return _context97.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (s) {\n t({\n files: [{\n src: s.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 2:\n if (!e.error) {\n _context97.next = 4;\n break;\n }\n throw e.error.message;\n case 4:\n return _context97.abrupt(\"return\", {\n error: \"error\"\n });\n case 5:\n case \"end\":\n return _context97.stop();\n }\n }, _callee97);\n }));\n function extractResultData(_x178) {\n return _extractResultData13.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nyt.DEFAULT_MODEL = \"tts-1\", yt.DEFAULT_VOIDE = \"alloy\";\nvar fs = yt;\nvar ge = /*#__PURE__*/function (_z7) {\n function ge(e) {\n var _o$model2;\n var _this45;\n _classCallCheck(this, ge);\n var r, o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this45 = _callSuper(this, ge, [e, I.buildKeyVerificationDetails(), I.buildHeaders, i, {\n audio: {}\n }]), _this45.insertKeyPlaceholderText = \"OpenAI API Key\", _this45.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this45.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Speech To Text</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text. You can optionally provide text to guide the audio\\n processing.\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/speech-to-text\\\">here</a> for more info.</p>\", _this45.url = \"\", _this45.permittedErrorPrefixes = [\"Invalid\"], _this45.textInputPlaceholderText = \"Upload an audio file\", _this45._service_url = ge.AUDIO_TRANSCRIPTIONS_URL;\n var s = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.audio;\n _typeof(s) == \"object\" && (_this45.processConfig(s), ge.cleanConfig(s), Object.assign(_this45.rawBody, s)), (_o$model2 = (o = _this45.rawBody).model) !== null && _o$model2 !== void 0 ? _o$model2 : o.model = ge.DEFAULT_MODEL, _this45.rawBody.response_format = \"json\", _this45.canSendMessage = ge.canSendFileMessage;\n return _this45;\n }\n _inherits(ge, _z7);\n return _createClass(ge, [{\n key: \"processConfig\",\n value: function processConfig(e) {\n e != null && e.type && e.type === \"translation\" && (this._service_url = ge.AUDIO_TRANSLATIONS_URL, delete e.language);\n }\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n s = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return s && s !== \"\" && (i.prompt = s), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI11 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee98(e, t, i) {\n var o, s, r;\n return _regeneratorRuntime().wrap(function _callee98$(_context98) {\n while (1) switch (_context98.prev = _context98.next) {\n case 0:\n if ((o = this.connectSettings) != null && o.headers) {\n _context98.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context98.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n this.url = this.connectSettings.url || this._service_url;\n s = this.preprocessBody(this.rawBody, t), r = ge.createFormDataBody(s, i[0]);\n E.tempRemoveContentHeader(this.connectSettings, C.request.bind(this, this, r, e), !1);\n case 7:\n case \"end\":\n return _context98.stop();\n }\n }, _callee98, this);\n }));\n function callServiceAPI(_x179, _x180, _x181) {\n return _callServiceAPI11.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData14 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee99(e) {\n return _regeneratorRuntime().wrap(function _callee99$(_context99) {\n while (1) switch (_context99.prev = _context99.next) {\n case 0:\n if (!e.error) {\n _context99.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context99.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context99.stop();\n }\n }, _callee99);\n }));\n function extractResultData(_x182) {\n return _extractResultData14.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }, {\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.type;\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"file\", t), Object.keys(e).forEach(function (s) {\n i.append(s, String(e[s]));\n }), i;\n }\n }]);\n}(z);\nge.AUDIO_TRANSCRIPTIONS_URL = \"https://api.openai.com/v1/audio/transcriptions\", ge.AUDIO_TRANSLATIONS_URL = \"https://api.openai.com/v1/audio/translations\", ge.DEFAULT_MODEL = \"whisper-1\";\nvar ps = ge;\nvar fe = /*#__PURE__*/function () {\n function fe() {\n _classCallCheck(this, fe);\n }\n return _createClass(fe, null, [{\n key: \"buildTextToSpeechHeaders\",\n value: function buildTextToSpeechHeaders(e, t) {\n return {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/ssml+xml\",\n \"X-Microsoft-OutputFormat\": e\n };\n }\n }, {\n key: \"buildSpeechToTextHeaders\",\n value: function buildSpeechToTextHeaders(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n Accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleSpeechVerificationResult\",\n value: function handleSpeechVerificationResult(e, t, i, s) {\n e.error ? s(M.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildSpeechKeyVerificationDetails\",\n value: function buildSpeechKeyVerificationDetails(e) {\n return {\n url: \"https://\".concat(e, \".api.cognitive.microsoft.com/sts/v1.0/issuetoken\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: fe.handleSpeechVerificationResult\n };\n }\n }, {\n key: \"buildSummarizationHeader\",\n value: function buildSummarizationHeader(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleLanguageVerificationResult\",\n value: function handleLanguageVerificationResult(e, t, i, s) {\n var o;\n ((o = e.error) == null ? void 0 : o.code) === \"401\" ? s(M.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildLanguageKeyVerificationDetails\",\n value: function buildLanguageKeyVerificationDetails(e) {\n return {\n url: \"\".concat(e, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: fe.handleLanguageVerificationResult\n };\n }\n // prettier-ignore\n }, {\n key: \"handleTranslationVerificationResult\",\n value: function handleTranslationVerificationResult(e, t, i, s) {\n e.json().then(function (o) {\n !Array.isArray(o) && o.error.code === 401e3 ? s(M.INVALID_KEY) : i(t);\n });\n }\n }, {\n key: \"buildTranslationKeyVerificationDetails\",\n value: function buildTranslationKeyVerificationDetails(e) {\n return {\n url: \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es\",\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return fe.buildTranslationHeaders(e, t);\n },\n handleVerificationResult: fe.handleTranslationVerificationResult\n };\n }\n }, {\n key: \"buildTranslationHeaders\",\n value: function buildTranslationHeaders(e, t) {\n var i = {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/json\"\n };\n return e && (i[\"Ocp-Apim-Subscription-Region\"] = e), i;\n }\n }]);\n}();\nvar sa = /*#__PURE__*/function (_z8) {\n // prettier-ignore\n function sa(e, t, i, s, r) {\n var _this46;\n _classCallCheck(this, sa);\n _this46 = _callSuper(this, sa, [e, fe.buildLanguageKeyVerificationDetails(i), t, s, r]), _this46.insertKeyPlaceholderText = \"Azure Language Subscription Key\", _this46.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this46.permittedErrorPrefixes = [\"Access\"];\n return _this46;\n }\n _inherits(sa, _z8);\n return _createClass(sa);\n}(z);\nvar Qt = /*#__PURE__*/function (_sa) {\n function Qt(e) {\n var _a$language;\n var _this47;\n _classCallCheck(this, Qt);\n var s, r, o, a;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.azure) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this47 = _callSuper(this, Qt, [e, fe.buildSummarizationHeader, t.endpoint, i]), _this47.permittedErrorPrefixes = [Qt.ENDPOINT_ERROR_MESSAGE], _this47.url = \"\", _this47.textInputPlaceholderText = \"Insert text to summarize\", _this47.isTextInputDisabled = !1, t.endpoint ? ((_a$language = (a = _this47.rawBody).language) !== null && _a$language !== void 0 ? _a$language : a.language = \"en\", Object.assign(_this47.rawBody, t), _this47.url = \"\".concat(t.endpoint, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\")) : (_this47.isTextInputDisabled = !0, _this47.canSendMessage = function () {\n return !1;\n }, setTimeout(function () {\n e.addMessage({\n error: Qt.ENDPOINT_ERROR_MESSAGE\n });\n }));\n return _this47;\n }\n _inherits(Qt, _sa);\n return _createClass(Qt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n analysisInput: {\n documents: [{\n id: \"1\",\n language: e.language,\n text: i\n }]\n },\n tasks: [{\n kind: \"ExtractiveSummarization\"\n }]\n };\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee100(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee100$(_context100) {\n while (1) switch (_context100.prev = _context100.next) {\n case 0:\n if (this.connectSettings) {\n _context100.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e), this.messages = e;\n case 4:\n case \"end\":\n return _context100.stop();\n }\n }, _callee100, this);\n }));\n function callServiceAPI(_x183, _x184) {\n return _callServiceAPI12.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData15 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee101(e) {\n var t, _i4, s;\n return _regeneratorRuntime().wrap(function _callee101$(_context101) {\n while (1) switch (_context101.prev = _context101.next) {\n case 0:\n if (!e.error) {\n _context101.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n if (this.messages && this.completionsHandlers) {\n _i4 = e.headers.get(\"operation-location\"), s = {\n method: \"GET\",\n headers: (t = this.connectSettings) == null ? void 0 : t.headers\n };\n C.executePollRequest(this, _i4, s, this.messages);\n }\n return _context101.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 4:\n case \"end\":\n return _context101.stop();\n }\n }, _callee101, this);\n }));\n function extractResultData(_x185) {\n return _extractResultData15.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee102(e) {\n var t, _iterator, _step, _i5;\n return _regeneratorRuntime().wrap(function _callee102$(_context102) {\n while (1) switch (_context102.prev = _context102.next) {\n case 0:\n if (!e.error) {\n _context102.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!(e.status === \"running\")) {\n _context102.next = 4;\n break;\n }\n return _context102.abrupt(\"return\", {\n timeoutMS: 2e3\n });\n case 4:\n if (!(e.errors.length > 0)) {\n _context102.next = 6;\n break;\n }\n throw e.errors[0];\n case 6:\n if (!(e.tasks.items[0].results.errors.length > 0)) {\n _context102.next = 8;\n break;\n }\n throw e.tasks.items[0].results.errors[0];\n case 8:\n t = \"\";\n _iterator = _createForOfIteratorHelper(e.tasks.items[0].results.documents[0].sentences);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _i5 = _step.value;\n t += _i5.text;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return _context102.abrupt(\"return\", {\n text: t || \"\"\n });\n case 12:\n case \"end\":\n return _context102.stop();\n }\n }, _callee102);\n }));\n function extractPollResultData(_x186) {\n return _extractPollResultData5.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(sa);\nQt.ENDPOINT_ERROR_MESSAGE =\n// eslint-disable-next-line max-len\n\"Please define the azure endpoint. [More Information](https://deepchat.dev/docs/directConnection/Azure#Summarization)\";\nvar ms = Qt;\nvar $t = /*#__PURE__*/function () {\n function $t() {\n _classCallCheck(this, $t);\n }\n return _createClass($t, null, [{\n key: \"poll\",\n value: function () {\n var _poll2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee103(e, t) {\n var i, a, l, d;\n return _regeneratorRuntime().wrap(function _callee103$(_context103) {\n while (1) switch (_context103.prev = _context103.next) {\n case 0:\n i = {\n authorization: e,\n \"content-type\": \"application/json\"\n };\n _context103.t0 = \"https://api.assemblyai.com/v2/transcript/\";\n _context103.next = 4;\n return fetch(\"https://api.assemblyai.com/v2/transcript\", {\n method: \"POST\",\n body: JSON.stringify({\n audio_url: t\n }),\n headers: i\n });\n case 4:\n _context103.next = 6;\n return _context103.sent.json();\n case 6:\n _context103.t1 = _context103.sent.id;\n a = _context103.t0.concat.call(_context103.t0, _context103.t1);\n case 8:\n if (l) {\n _context103.next = 24;\n break;\n }\n _context103.next = 11;\n return fetch(a, {\n headers: i\n });\n case 11:\n _context103.next = 13;\n return _context103.sent.json();\n case 13:\n d = _context103.sent;\n if (!(d.status === \"completed\")) {\n _context103.next = 18;\n break;\n }\n l = d;\n _context103.next = 22;\n break;\n case 18:\n if (!(d.status === \"error\")) {\n _context103.next = 20;\n break;\n }\n throw new Error(\"Transcription failed: \".concat(d.error));\n case 20:\n _context103.next = 22;\n return new Promise(function (u) {\n return setTimeout(u, 3e3);\n });\n case 22:\n _context103.next = 8;\n break;\n case 24:\n return _context103.abrupt(\"return\", l);\n case 25:\n case \"end\":\n return _context103.stop();\n }\n }, _callee103);\n }));\n function poll(_x187, _x188) {\n return _poll2.apply(this, arguments);\n }\n return poll;\n }()\n }, {\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: e,\n \"Content-Type\": \"application/octet-stream\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? s(M.INVALID_KEY) : s(M.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.assemblyai.com/v2/upload\",\n method: \"POST\",\n handleVerificationResult: $t.handleVerificationResult\n };\n }\n }]);\n}();\nvar Rs = /*#__PURE__*/function (_z9) {\n function Rs(e) {\n var _this48;\n _classCallCheck(this, Rs);\n var i;\n var t = (i = e.directConnection) == null ? void 0 : i.assemblyAI;\n _this48 = _callSuper(this, Rs, [e, $t.buildKeyVerificationDetails(), $t.buildHeaders, t, {\n audio: {}\n }]), _this48.insertKeyPlaceholderText = \"AssemblyAI API Key\", _this48.keyHelpUrl = \"https://www.assemblyai.com/app/account\", _this48.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>AssemblyAI Audio</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"https://www.assemblyai.com/docs/Guides/transcribing_an_audio_file#get-started\\\">here</a> for more info.\\n </p>\", _this48.url = \"https://api.assemblyai.com/v2/upload\", _this48.isTextInputDisabled = !0, _this48.textInputPlaceholderText = \"Upload an audio file\", _this48.permittedErrorPrefixes = [\"Authentication\", \"Invalid\"], _this48.canSendMessage = Rs.canFileSendMessage;\n return _this48;\n }\n _inherits(Rs, _z9);\n return _createClass(Rs, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee104(e, t, i) {\n var s;\n return _regeneratorRuntime().wrap(function _callee104$(_context104) {\n while (1) switch (_context104.prev = _context104.next) {\n case 0:\n if ((s = this.connectSettings) != null && s.headers) {\n _context104.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context104.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n C.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context104.stop();\n }\n }, _callee104, this);\n }));\n function callServiceAPI(_x189, _x190, _x191) {\n return _callServiceAPI13.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData16 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee105(e) {\n var s, r, t;\n return _regeneratorRuntime().wrap(function _callee105$(_context105) {\n while (1) switch (_context105.prev = _context105.next) {\n case 0:\n if (!e.error) {\n _context105.next = 2;\n break;\n }\n throw e.error;\n case 2:\n t = (r = (s = this.connectSettings) == null ? void 0 : s.headers) == null ? void 0 : r.Authorization;\n _context105.next = 5;\n return $t.poll(t, e.upload_url);\n case 5:\n _context105.t0 = _context105.sent.text;\n return _context105.abrupt(\"return\", {\n text: _context105.t0\n });\n case 7:\n case \"end\":\n return _context105.stop();\n }\n }, _callee105, this);\n }));\n function extractResultData(_x192) {\n return _extractResultData16.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(z);\nvar Un = /*#__PURE__*/function (_z0) {\n // prettier-ignore\n function Un(e, t, i, s, r) {\n var _this49;\n _classCallCheck(this, Un);\n _this49 = _callSuper(this, Un, [e, fe.buildSpeechKeyVerificationDetails(i), t, s, r]), _this49.insertKeyPlaceholderText = \"Azure Speech Subscription Key\", _this49.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\";\n return _this49;\n }\n _inherits(Un, _z0);\n return _createClass(Un);\n}(z);\nvar tt = /*#__PURE__*/function (_Un) {\n // prettier-ignore\n function tt(e) {\n var _a$lang, _l$name, _c$gender;\n var _this50;\n _classCallCheck(this, tt);\n var s, r, o, a, l, c;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.azure) == null ? void 0 : r.textToSpeech,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this50 = _callSuper(this, tt, [e, fe.buildTextToSpeechHeaders.bind({}, (t == null ? void 0 : t.outputFormat) || \"audio-16khz-128kbitrate-mono-mp3\"), t.region, i]), _this50.permittedErrorPrefixes = [tt.REGION_ERROR_MESSAGE], _this50.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Text To Speech</b></div>\\n <p>Insert text to synthesize it to audio.\\n <p>\\n Click <a href=\\\"\".concat(tt.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this50.isTextInputDisabled = !1, _this50.url = \"\", t.region ? (Object.assign(_this50.rawBody, t), (_a$lang = (a = _this50.rawBody).lang) !== null && _a$lang !== void 0 ? _a$lang : a.lang = \"en-US\", (_l$name = (l = _this50.rawBody).name) !== null && _l$name !== void 0 ? _l$name : l.name = \"en-US-JennyNeural\", (_c$gender = (c = _this50.rawBody).gender) !== null && _c$gender !== void 0 ? _c$gender : c.gender = \"Female\", _this50.url = \"https://\".concat(t.region, \".tts.speech.microsoft.com/cognitiveservices/v1\")) : (_this50.isTextInputDisabled = !0, _this50.canSendMessage = function () {\n return !1;\n }, setTimeout(function () {\n e.addMessage({\n error: tt.REGION_ERROR_MESSAGE\n });\n }));\n return _this50;\n }\n _inherits(tt, _Un);\n return _createClass(tt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return \"<speak version='1.0' xml:lang='\".concat(e.lang, \"'>\\n <voice xml:lang='\").concat(e.lang, \"' xml:gender='\").concat(e.gender, \"' name='\").concat(e.name, \"'>\\n \").concat(i, \"\\n </voice>\\n </speak>\");\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI14 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee106(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee106$(_context106) {\n while (1) switch (_context106.prev = _context106.next) {\n case 0:\n if (this.connectSettings) {\n _context106.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e, !1);\n case 4:\n case \"end\":\n return _context106.stop();\n }\n }, _callee106, this);\n }));\n function callServiceAPI(_x193, _x194) {\n return _callServiceAPI14.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData17 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(e) {\n return _regeneratorRuntime().wrap(function _callee107$(_context107) {\n while (1) switch (_context107.prev = _context107.next) {\n case 0:\n return _context107.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (s) {\n t({\n files: [{\n src: s.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 1:\n case \"end\":\n return _context107.stop();\n }\n }, _callee107);\n }));\n function extractResultData(_x195) {\n return _extractResultData17.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(Un);\ntt.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\", tt.REGION_ERROR_MESSAGE =\n// eslint-disable-next-line max-len\n\"Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#TextToSpeech)\";\nvar gs = tt;\nvar We = /*#__PURE__*/function (_Un2) {\n function We(e) {\n var _this51;\n _classCallCheck(this, We);\n var r, o, a;\n var t = (o = (r = e.directConnection) == null ? void 0 : r.azure) == null ? void 0 : o.speechToText,\n i = (a = e.directConnection) == null ? void 0 : a.azure,\n s = {\n audio: {\n files: {\n acceptedFormats: \".wav,.ogg\"\n }\n }\n };\n if (_this51 = _callSuper(this, We, [e, fe.buildSpeechToTextHeaders, t.region, i, s]), _this51.permittedErrorPrefixes = [We.REGION_ERROR_MESSAGE], _this51.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Speech To Text</b></div>\\n <p><b>Upload a .wav or .ogg audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"\".concat(We.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this51.url = \"\", _this51.isTextInputDisabled = !0, _this51.textInputPlaceholderText = \"Upload an audio file\", !t.region) _this51.isTextInputDisabled = !0, _this51.canSendMessage = function () {\n return !1;\n }, setTimeout(function () {\n e.addMessage({\n error: We.REGION_ERROR_MESSAGE\n });\n });else {\n _this51.canSendMessage = We.canFileSendMessage;\n var l = t.lang || \"en-US\";\n _this51.url = \"https://\".concat(t.region, \".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=\").concat(l, \"&format=detailed\"), _this51.recordAudio = void 0;\n }\n return _this51;\n }\n _inherits(We, _Un2);\n return _createClass(We, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI15 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(e, t, i) {\n var s, r;\n return _regeneratorRuntime().wrap(function _callee108$(_context108) {\n while (1) switch (_context108.prev = _context108.next) {\n case 0:\n if ((s = this.connectSettings) != null && s.headers) {\n _context108.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context108.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n (r = this.connectSettings) != null && r.headers && (this.connectSettings.headers[\"Content-Type\"] = i[0].name.toLocaleLowerCase().endsWith(\".wav\") ? \"audio/wav; codecs=audio/pcm; samplerate=16000\" : \"audio/ogg; codecs=opus\"), C.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context108.stop();\n }\n }, _callee108, this);\n }));\n function callServiceAPI(_x196, _x197, _x198) {\n return _callServiceAPI15.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(e) {\n return _regeneratorRuntime().wrap(function _callee109$(_context109) {\n while (1) switch (_context109.prev = _context109.next) {\n case 0:\n if (!e.error) {\n _context109.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context109.abrupt(\"return\", {\n text: e.DisplayText || \"\"\n });\n case 3:\n case \"end\":\n return _context109.stop();\n }\n }, _callee109);\n }));\n function extractResultData(_x199) {\n return _extractResultData18.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(Un);\nWe.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\", We.REGION_ERROR_MESSAGE =\n// eslint-disable-next-line max-len\n\"Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#SpeechToText)\";\nvar bs = We;\nvar na = /*#__PURE__*/function (_z1) {\n // prettier-ignore\n function na(e) {\n var _this52;\n _classCallCheck(this, na);\n var s, r, o;\n var t = (r = (s = e.directConnection) == null ? void 0 : s.azure) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this52 = _callSuper(this, na, [e, fe.buildTranslationKeyVerificationDetails(t.region), fe.buildTranslationHeaders.bind({}, t == null ? void 0 : t.region), i]), _this52.insertKeyPlaceholderText = \"Azure Translate Subscription Key\", _this52.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this52.url = \"\", _this52.url = \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=\".concat(t.language || \"es\");\n return _this52;\n }\n _inherits(na, _z1);\n return _createClass(na, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e) {\n var t = e[e.length - 1].text;\n if (t) return [{\n Text: t\n }];\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI16 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee110$(_context110) {\n while (1) switch (_context110.prev = _context110.next) {\n case 0:\n if (this.connectSettings) {\n _context110.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(t);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context110.stop();\n }\n }, _callee110, this);\n }));\n function callServiceAPI(_x200, _x201) {\n return _callServiceAPI16.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData19 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee111$(_context111) {\n while (1) switch (_context111.prev = _context111.next) {\n case 0:\n if (!Array.isArray(e)) {\n _context111.next = 2;\n break;\n }\n return _context111.abrupt(\"return\", {\n text: ((t = e[0].translations) == null ? void 0 : t[0].text) || \"\"\n });\n case 2:\n throw e.error;\n case 3:\n case \"end\":\n return _context111.stop();\n }\n }, _callee111);\n }));\n function extractResultData(_x202) {\n return _extractResultData19.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar St = /*#__PURE__*/function (_z10) {\n // https://platform.openai.com/docs/models/gpt-4o-audio-preview\n // prettier-ignore\n function St(e, t, i, s, r) {\n var _this53$maxMessages, _p$model;\n var _this53;\n _classCallCheck(this, St);\n var u, h, f, m, p;\n var o = JSON.parse(JSON.stringify(e.directConnection)),\n a = t || I.buildKeyVerificationDetails(),\n l = i || I.buildHeaders,\n c = s || o.openAI;\n _this53 = _callSuper(this, St, [e, a, l, c]), _this53.insertKeyPlaceholderText = \"OpenAI API Key\", _this53.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this53.url = \"https://api.openai.com/v1/chat/completions\", _this53.permittedErrorPrefixes = [\"Incorrect\"], _this53.asyncCallInProgress = !1, _this53._systemMessage = St.generateSystemMessage(\"You are a helpful assistant.\");\n var d = r || ((u = o.openAI) == null ? void 0 : u.chat);\n if (_typeof(d) == \"object\") {\n d.system_prompt && (_this53._systemMessage = St.generateSystemMessage(d.system_prompt));\n var g = (m = (f = (h = e.directConnection) == null ? void 0 : h.openAI) == null ? void 0 : f.chat) == null ? void 0 : m.function_handler;\n g && (_this53._functionHandler = g), _this53.cleanConfig(d), Object.assign(_this53.rawBody, d);\n }\n (_this53$maxMessages = _this53.maxMessages) !== null && _this53$maxMessages !== void 0 ? _this53$maxMessages : _this53.maxMessages = -1, (_p$model = (p = _this53.rawBody).model) !== null && _p$model !== void 0 ? _p$model : p.model = \"gpt-4o\";\n return _this53;\n }\n _inherits(St, _z10);\n return _createClass(St, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.system_prompt, delete e.function_handler;\n }\n }, {\n key: \"preprocessBody\",\n value:\n // prettier-ignore\n function preprocessBody(e, t) {\n var _i$max_tokens;\n var i = JSON.parse(JSON.stringify(e)),\n s = at.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - this._systemMessage.content.length : -1).map(function (r) {\n return {\n content: St.getContent(r),\n role: r.role === v.USER_ROLE ? \"user\" : \"assistant\"\n };\n });\n return t.find(function (r) {\n return r.files && r.files.length > 0;\n }) && ((_i$max_tokens = i.max_tokens) !== null && _i$max_tokens !== void 0 ? _i$max_tokens : i.max_tokens = 300), i.messages = [this._systemMessage].concat(_toConsumableArray(s)), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI17 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(e, t) {\n var i, s;\n return _regeneratorRuntime().wrap(function _callee112$(_context112) {\n while (1) switch (_context112.prev = _context112.next) {\n case 0:\n if (this.connectSettings) {\n _context112.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t), s = this.stream;\n s && (_typeof(s) != \"object\" || !s.simulation) || i.stream ? (i.stream = !0, A.request(this, i, e)) : C.request(this, i, e);\n case 4:\n case \"end\":\n return _context112.stop();\n }\n }, _callee112, this);\n }));\n function callServiceAPI(_x203, _x204) {\n return _callServiceAPI17.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData20 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(e, t, i) {\n var s, r, o, a;\n return _regeneratorRuntime().wrap(function _callee113$(_context113) {\n while (1) switch (_context113.prev = _context113.next) {\n case 0:\n if (!e.error) {\n _context113.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context113.abrupt(\"return\", (r = (s = e.choices) == null ? void 0 : s[0]) != null && r.delta ? this.extractStreamResult(e.choices[0], t, i) : (a = (o = e.choices) == null ? void 0 : o[0]) != null && a.message ? e.choices[0].message.tool_calls ? this.handleTools(e.choices[0].message, t, i) : {\n text: e.choices[0].message.content\n } : {\n text: \"\"\n });\n case 3:\n case \"end\":\n return _context113.stop();\n }\n }, _callee113, this);\n }));\n function extractResultData(_x205, _x206, _x207) {\n return _extractResultData20.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractStreamResult\",\n value: function () {\n var _extractStreamResult = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee114(e, t, i) {\n var _this54 = this;\n var s, r, o;\n return _regeneratorRuntime().wrap(function _callee114$(_context114) {\n while (1) switch (_context114.prev = _context114.next) {\n case 0:\n s = e.delta, r = e.finish_reason;\n if (!(r === \"tool_calls\")) {\n _context114.next = 7;\n break;\n }\n this.asyncCallInProgress = !0;\n o = {\n tool_calls: this._streamToolCalls\n };\n return _context114.abrupt(\"return\", (this._streamToolCalls = void 0, this.handleTools(o, t, i)));\n case 7:\n s != null && s.tool_calls && (this._streamToolCalls ? s.tool_calls.forEach(function (o, a) {\n _this54._streamToolCalls && (_this54._streamToolCalls[a][\"function\"].arguments += o[\"function\"].arguments);\n }) : this._streamToolCalls = s.tool_calls);\n case 8:\n return _context114.abrupt(\"return\", {\n text: (s == null ? void 0 : s.content) || \"\"\n });\n case 9:\n case \"end\":\n return _context114.stop();\n }\n }, _callee114, this);\n }));\n function extractStreamResult(_x208, _x209, _x210) {\n return _extractStreamResult.apply(this, arguments);\n }\n return extractStreamResult;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee115(e, t, i) {\n var l, c, d, u, h, s, r, o, f, m, a, _f2;\n return _regeneratorRuntime().wrap(function _callee115$(_context115) {\n while (1) switch (_context115.prev = _context115.next) {\n case 0:\n if (!(!e.tool_calls || !t || !i || !this._functionHandler)) {\n _context115.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\");\n case 2:\n s = JSON.parse(JSON.stringify(i));\n r = e.tool_calls.map(function (f) {\n return {\n name: f[\"function\"].name,\n arguments: f[\"function\"].arguments\n };\n });\n _context115.next = 6;\n return (l = this._functionHandler) == null ? void 0 : l.call(this, r);\n case 6:\n o = _context115.sent;\n if (Array.isArray(o)) {\n _context115.next = 20;\n break;\n }\n if (!o.text) {\n _context115.next = 19;\n break;\n }\n f = {\n text: o.text\n };\n _context115.next = 12;\n return (d = (c = this.deepChat).responseInterceptor) == null ? void 0 : d.call(c, f);\n case 12:\n _context115.t0 = _context115.sent;\n if (_context115.t0) {\n _context115.next = 15;\n break;\n }\n _context115.t0 = f;\n case 15:\n m = _context115.t0;\n if (!Array.isArray(m)) {\n _context115.next = 18;\n break;\n }\n throw Error(I.FUNCTION_TOOL_RESP_ARR_ERROR);\n case 18:\n return _context115.abrupt(\"return\", m);\n case 19:\n throw Error(I.FUNCTION_TOOL_RESP_ERROR);\n case 20:\n _context115.next = 22;\n return Promise.all(o);\n case 22:\n a = _context115.sent;\n if (!(s.messages.push({\n tool_calls: e.tool_calls,\n role: \"assistant\",\n content: null\n }), !a.find(function (_ref32) {\n var f = _ref32.response;\n return typeof f != \"string\";\n }) && r.length === a.length)) {\n _context115.next = 43;\n break;\n }\n a.forEach(function (f, m) {\n var g;\n var p = (g = e.tool_calls) == null ? void 0 : g[m];\n s == null || s.messages.push({\n role: \"tool\",\n tool_call_id: p == null ? void 0 : p.id,\n name: p == null ? void 0 : p[\"function\"].name,\n content: f.response\n });\n }), delete s.tools, delete s.tool_choice, delete s.stream;\n _context115.prev = 25;\n _context115.next = 28;\n return t == null ? void 0 : t(s).then(function (m) {\n return E.processResponseByType(m);\n });\n case 28:\n _f2 = _context115.sent;\n _context115.next = 31;\n return (h = (u = this.deepChat).responseInterceptor) == null ? void 0 : h.call(u, _f2);\n case 31:\n _context115.t1 = _context115.sent;\n if (_context115.t1) {\n _context115.next = 34;\n break;\n }\n _context115.t1 = _f2;\n case 34:\n _f2 = _context115.t1;\n if (!_f2.error) {\n _context115.next = 37;\n break;\n }\n throw _f2.error.message;\n case 37:\n return _context115.abrupt(\"return\", {\n text: _f2.choices[0].message.content || \"\"\n });\n case 40:\n _context115.prev = 40;\n _context115.t2 = _context115[\"catch\"](25);\n throw this.asyncCallInProgress = !1, _context115.t2;\n case 43:\n throw Error(I.FUNCTION_TOOL_RESP_ERROR);\n case 44:\n case \"end\":\n return _context115.stop();\n }\n }, _callee115, this, [[25, 40]]);\n }));\n function handleTools(_x211, _x212, _x213) {\n return _handleTools2.apply(this, arguments);\n }\n return handleTools;\n }()\n }], [{\n key: \"generateSystemMessage\",\n value: function generateSystemMessage(e) {\n return {\n role: \"system\",\n content: e\n };\n }\n }, {\n key: \"getContent\",\n value: function getContent(e) {\n if (e.files && e.files.length > 0) {\n var t = e.files.map(function (i) {\n return {\n type: \"image_url\",\n image_url: {\n url: i.src\n }\n };\n });\n return e.text && e.text.trim().length > 0 && t.unshift({\n type: \"text\",\n text: e.text\n }), t;\n }\n return e.text;\n }\n }]);\n}(z);\nvar Ms = /*#__PURE__*/function (_St) {\n function Ms(e) {\n var _this55;\n _classCallCheck(this, Ms);\n var o, a, l, c, d, u, h;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.azure,\n s = ((a = (o = t.azure) == null ? void 0 : o.openAI) == null ? void 0 : a.urlDetails) || {},\n r = (c = (l = t.azure) == null ? void 0 : l.openAI) == null ? void 0 : c.chat;\n if (_this55 = _callSuper(this, Ms, [e, ue.buildKeyVerificationDetails(s), ue.buildHeaders, i, r]), _this55.permittedErrorPrefixes = [ue.URL_DETAILS_ERROR_MESSAGE], _this55.isTextInputDisabled = !1, _typeof(r) == \"object\") {\n var _ref33 = (h = (u = (d = e.directConnection) == null ? void 0 : d.azure) == null ? void 0 : u.openAI) == null ? void 0 : h.chat,\n f = _ref33.function_handler;\n f && (_this55._functionHandler = f);\n }\n ue.validateURLDetails(s) ? _this55.url = Ms.buildURL(s) : (_this55.isTextInputDisabled = !0, _this55.canSendMessage = function () {\n return !1;\n }, setTimeout(function () {\n e.addMessage({\n error: ue.URL_DETAILS_ERROR_MESSAGE\n });\n }));\n return _this55;\n }\n _inherits(Ms, _St);\n return _createClass(Ms, null, [{\n key: \"buildURL\",\n value: function buildURL(e) {\n var t = e.endpoint,\n i = e.deploymentId,\n s = e.version;\n return \"\".concat(t, \"/openai/deployments/\").concat(i, \"/chat/completions?api-version=\").concat(s);\n }\n }]);\n}(St);\nvar be = /*#__PURE__*/function (_z11) {\n function be(e) {\n var _this56;\n _classCallCheck(this, be);\n var o;\n var t = e.directConnection,\n i = t == null ? void 0 : t.openAI,\n s = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this56 = _callSuper(this, be, [e, I.buildKeyVerificationDetails(), I.buildHeaders, i, s]), _this56.insertKeyPlaceholderText = \"OpenAI API Key\", _this56.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this56.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI DALL\\xB7E</b></div>\\n <p><b>Insert text</b> to generate an image.</p>\\n <p><b>Upload 1</b> PNG image to generate its variation and optionally insert text to specify the change.</p>\\n <p><b>Upload 2</b> PNG images where the second is a copy of the first with a transparent area where the edit should\\n take place and text to specify the edit.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/images/introduction\\\">here</a> for more info.</p>\", _this56.url = \"\", _this56.permittedErrorPrefixes = [\"Incorrect\", \"Invalid input image\"];\n var r = (o = t == null ? void 0 : t.openAI) == null ? void 0 : o.images;\n if (_this56.camera) {\n var a = _typeof(r) == \"object\" && r.size ? Number.parseInt(r.size) : 1024;\n _this56.camera.files = {\n dimensions: {\n width: a,\n height: a\n }\n };\n }\n _typeof(r) == \"object\" && Object.assign(_this56.rawBody, r), _this56.canSendMessage = be.canFileSendMessage;\n return _this56;\n }\n _inherits(be, _z11);\n return _createClass(be, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e));\n return t && t !== \"\" && (i.prompt = t), i;\n }\n // prettier-ignore\n }, {\n key: \"callApiWithImage\",\n value: function callApiWithImage(e, t, i) {\n var o, a;\n var s;\n var r = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim();\n if (i[1] || r && r !== \"\") {\n this.url = be.IMAGE_EDIT_URL;\n var l = this.preprocessBody(this.rawBody, r);\n s = be.createFormDataBody(l, i[0], i[1]);\n } else this.url = be.IMAGE_VARIATIONS_URL, s = be.createFormDataBody(this.rawBody, i[0]);\n E.tempRemoveContentHeader(this.connectSettings, C.request.bind(this, this, s, e), !1);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee116(e, t, i) {\n var s, r;\n return _regeneratorRuntime().wrap(function _callee116$(_context116) {\n while (1) switch (_context116.prev = _context116.next) {\n case 0:\n if ((s = this.connectSettings) != null && s.headers) {\n _context116.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(i != null && i[0])) {\n _context116.next = 6;\n break;\n }\n this.callApiWithImage(e, t, i);\n _context116.next = 11;\n break;\n case 6:\n if (this.connectSettings) {\n _context116.next = 8;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 8:\n this.url = be.IMAGE_GENERATION_URL;\n r = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n C.request(this, r, e);\n case 11:\n case \"end\":\n return _context116.stop();\n }\n }, _callee116, this);\n }));\n function callServiceAPI(_x214, _x215, _x216) {\n return _callServiceAPI18.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData21 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee117(e) {\n return _regeneratorRuntime().wrap(function _callee117$(_context117) {\n while (1) switch (_context117.prev = _context117.next) {\n case 0:\n if (!e.error) {\n _context117.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context117.abrupt(\"return\", {\n files: e.data.map(function (i) {\n return i.url ? {\n src: i.url,\n type: \"image\"\n } : {\n src: \"\".concat(ui).concat(i.b64_json),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context117.stop();\n }\n }, _callee117);\n }));\n function extractResultData(_x217) {\n return _extractResultData21.apply(this, arguments);\n }\n return extractResultData;\n }() // private static readonly MODAL_MARKDOWN = `\n // 1 image:\n // - With text - edits image based on the text\n // - No text - creates a variation of the image\n // 2 images:\n // - The second image needs to be a copy of the first with a transparent area where the edit should take place.\n // Add text to describe the required modification.\n // Click here for [more info](https://platform.openai.com/docs/guides/images/introduction).\n // `;\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]) || !!(e && e.trim() !== \"\");\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var s = new FormData();\n return s.append(\"image\", t), i && s.append(\"mask\", i), Object.keys(e).forEach(function (r) {\n s.append(r, String(e[r]));\n }), s;\n }\n }]);\n}(z);\nbe.IMAGE_GENERATION_URL = \"https://api.openai.com/v1/images/generations\", be.IMAGE_VARIATIONS_URL = \"https://api.openai.com/v1/images/variations\", be.IMAGE_EDIT_URL = \"https://api.openai.com/v1/images/edits\";\nvar vs = be;\nvar ra = /*#__PURE__*/function (_Cs3) {\n function ra(e) {\n var _this57$maxMessages;\n var _this57;\n _classCallCheck(this, ra);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = (r = t.cohere) == null ? void 0 : r.chat,\n s = t.cohere;\n _this57 = _callSuper(this, ra, [e, \"https://api.cohere.ai/v1/chat\", \"Ask me anything!\", i, s]), _typeof(i) == \"object\" && Object.assign(_this57.rawBody, i), (_this57$maxMessages = _this57.maxMessages) !== null && _this57$maxMessages !== void 0 ? _this57$maxMessages : _this57.maxMessages = -1;\n return _this57;\n }\n _inherits(ra, _Cs3);\n return _createClass(ra, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n s = t.filter(function (r) {\n return r.text;\n });\n return i.query = s[s.length - 1].text, i.chat_history = s.slice(0, s.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"CHATBOT\" : \"USER\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI19 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee118(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee118$(_context118) {\n while (1) switch (_context118.prev = _context118.next) {\n case 0:\n if (this.connectSettings) {\n _context118.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context118.stop();\n }\n }, _callee118, this);\n }));\n function callServiceAPI(_x218, _x219) {\n return _callServiceAPI19.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData22 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee119(e) {\n return _regeneratorRuntime().wrap(function _callee119$(_context119) {\n while (1) switch (_context119.prev = _context119.next) {\n case 0:\n if (!e.message) {\n _context119.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context119.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context119.stop();\n }\n }, _callee119);\n }));\n function extractResultData(_x220) {\n return _extractResultData22.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(Cs);\nvar Pi = /*#__PURE__*/function () {\n function Pi() {\n _classCallCheck(this, Pi);\n }\n return _createClass(Pi, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : s(M.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.mistral.ai/v1/models\",\n method: \"GET\",\n handleVerificationResult: Pi.handleVerificationResult\n };\n }\n }]);\n}();\nvar oa = /*#__PURE__*/function (_z12) {\n function oa(e) {\n var _this58$maxMessages, _s$model;\n var _this58;\n _classCallCheck(this, oa);\n var s;\n var i = JSON.parse(JSON.stringify(e.directConnection)).mistral;\n _this58 = _callSuper(this, oa, [e, Pi.buildKeyVerificationDetails(), Pi.buildHeaders, i]), _this58.insertKeyPlaceholderText = \"Mistral API Key\", _this58.keyHelpUrl = \"https://console.mistral.ai/api-keys/\", _this58.url = \"https://api.mistral.ai/v1/chat/completions\", _this58.permittedErrorPrefixes = [\"invalid\"], i && (_this58.cleanConfig(i), Object.assign(_this58.rawBody, i)), (_this58$maxMessages = _this58.maxMessages) !== null && _this58$maxMessages !== void 0 ? _this58$maxMessages : _this58.maxMessages = -1, (_s$model = (s = _this58.rawBody).model) !== null && _s$model !== void 0 ? _s$model : s.model = \"open-mistral-7b\";\n return _this58;\n }\n _inherits(oa, _z12);\n return _createClass(oa, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.key;\n }\n // build a single string for user\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n s = t.filter(function (r) {\n return r.text;\n });\n return i.messages = s.slice(0, s.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"system\" : \"user\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI20 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee120(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee120$(_context120) {\n while (1) switch (_context120.prev = _context120.next) {\n case 0:\n if (this.connectSettings) {\n _context120.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n C.request(this, i, e);\n case 4:\n case \"end\":\n return _context120.stop();\n }\n }, _callee120, this);\n }));\n function callServiceAPI(_x221, _x222) {\n return _callServiceAPI20.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData23 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee121(e) {\n return _regeneratorRuntime().wrap(function _callee121$(_context121) {\n while (1) switch (_context121.prev = _context121.next) {\n case 0:\n if (!e.message) {\n _context121.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context121.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context121.stop();\n }\n }, _callee121);\n }));\n function extractResultData(_x223) {\n return _extractResultData23.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar Ni = /*#__PURE__*/function () {\n function Ni() {\n _classCallCheck(this, Ni);\n }\n return _createClass(Ni, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders() {\n return {\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, s) {\n var o;\n var r = e;\n r.error ? r.error.code === 403 || (o = r.error.message) != null && o.includes(\"API key\") ? s(M.INVALID_KEY) : s(M.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://generativelanguage.googleapis.com/v1beta/models?key=\",\n method: \"GET\",\n handleVerificationResult: Ni.handleVerificationResult\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"directFetch\",\n value: function () {\n var _directFetch2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(e, t, i) {\n var s,\n r,\n _args122 = arguments;\n return _regeneratorRuntime().wrap(function _callee122$(_context122) {\n while (1) switch (_context122.prev = _context122.next) {\n case 0:\n s = _args122.length > 3 && _args122[3] !== undefined ? _args122[3] : !0;\n e.connectSettings.method = i;\n _context122.next = 4;\n return E.fetch(e, e.connectSettings.headers, s, t).then(function (o) {\n return E.processResponseByType(o);\n });\n case 4:\n r = _context122.sent;\n if (!r.error) {\n _context122.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context122.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context122.stop();\n }\n }, _callee122);\n }));\n function directFetch(_x224, _x225, _x226) {\n return _directFetch2.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n}();\nvar ks = /*#__PURE__*/function (_z13) {\n function ks(e) {\n var _this59$maxMessages;\n var _this59;\n _classCallCheck(this, ks);\n var a;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.gemini,\n s = (a = t.gemini) == null ? void 0 : a.chat;\n var r;\n _this59 = _callSuper(this, ks, [e, Ni.buildKeyVerificationDetails(), Ni.buildHeaders, i]), _this59.insertKeyPlaceholderText = \"Gemini API Key\", _this59.keyHelpUrl = \"https://aistudio.google.com/app/apikey\", _this59.url = \"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent\", _this59.permittedErrorPrefixes = [\"API_KEY_INVALID\"], _typeof(s) == \"object\" && (s.systemInstruction && (r = s.systemInstruction), s.model && (_this59.url = \"https://generativelanguage.googleapis.com/v1beta/models/\".concat(s.model, \":generateContent\")));\n var o = \"\".concat(_this59.url, \"?key=\").concat(i == null ? void 0 : i.key);\n _this59.url = o, Object.defineProperty(_this59, \"_systemInstruction\", {\n value: r,\n writable: !1\n }), _typeof(s) == \"object\" && (_this59.cleanConfig(s), Object.assign(_this59.rawBody, s)), (_this59$maxMessages = _this59.maxMessages) !== null && _this59$maxMessages !== void 0 ? _this59$maxMessages : _this59.maxMessages = -1;\n return _this59;\n }\n _inherits(ks, _z13);\n return _createClass(ks, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.systemInstruction, delete e.model;\n }\n }, {\n key: \"preprocessBody\",\n value:\n // prettier-ignore\n function preprocessBody(e, t) {\n var r;\n var i = JSON.parse(JSON.stringify(e)),\n s = at.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - (((r = this._systemInstruction) == null ? void 0 : r.length) || 0) : -1).map(function (o) {\n return ks.getContent(o);\n });\n return i.contents = s, this._systemInstruction && (i.systemInstruction = {\n parts: [{\n text: this._systemInstruction\n }]\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI21 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee123(e, t) {\n var i, s;\n return _regeneratorRuntime().wrap(function _callee123$(_context123) {\n while (1) switch (_context123.prev = _context123.next) {\n case 0:\n if (this.connectSettings) {\n _context123.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t), s = this.stream;\n s && (_typeof(s) != \"object\" || !s.simulation) || i.stream ? (i.stream = !0, A.request(this, i, e)) : C.request(this, i, e);\n case 4:\n case \"end\":\n return _context123.stop();\n }\n }, _callee123, this);\n }));\n function callServiceAPI(_x227, _x228) {\n return _callServiceAPI21.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData24 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee124(e) {\n var t, i, s, r, o;\n return _regeneratorRuntime().wrap(function _callee124$(_context124) {\n while (1) switch (_context124.prev = _context124.next) {\n case 0:\n if (!e.error) {\n _context124.next = 2;\n break;\n }\n throw e.error.message || \"Gemini API Error\";\n case 2:\n return _context124.abrupt(\"return\", (o = (r = (s = (i = (t = e.candidates) == null ? void 0 : t[0]) == null ? void 0 : i.content) == null ? void 0 : s.parts) == null ? void 0 : r[0]) != null && o.text ? {\n text: e.candidates[0].content.parts[0].text\n } : {\n text: \"\"\n });\n case 3:\n case \"end\":\n return _context124.stop();\n }\n }, _callee124);\n }));\n function extractResultData(_x229) {\n return _extractResultData24.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"getContent\",\n value: function getContent(e) {\n var t = [];\n return e.text && e.text.trim().length > 0 && t.push({\n text: e.text\n }), e.files && e.files.length > 0 && e.files.forEach(function (i) {\n if (i.src && i.src.includes(\"data:\")) {\n var _i$src$split = i.src.split(\",\"),\n _i$src$split2 = _slicedToArray(_i$src$split, 2),\n s = _i$src$split2[0],\n r = _i$src$split2[1];\n t.push({\n inlineData: {\n mimeType: s.replace(\"data:\", \"\").replace(\";base64\", \"\"),\n data: r\n }\n });\n }\n }), {\n parts: t,\n role: e.role === v.USER_ROLE ? \"user\" : \"model\"\n };\n }\n }]);\n}(z);\nvar aa = /*#__PURE__*/function () {\n function aa() {\n _classCallCheck(this, aa);\n }\n return _createClass(aa, null, [{\n key: \"create\",\n value:\n // this should only be called when no _activeService is set or is demo as otherwise we don't want to reconnect\n function create(e) {\n var t = e.directConnection,\n i = e.connect,\n s = e.demo,\n r = e.webModel;\n if (r) return new oi(e);\n if (t) {\n if (t.openAI) return t.openAI.images ? new vs(e) : t.openAI.speechToText ? new ps(e) : t.openAI.textToSpeech ? new fs(e) : t.openAI.assistant ? new Ts(e) : t.openAI.realtime ? new us(e) : new St(e);\n if (t.assemblyAI) return new Rs(e);\n if (t.cohere) return t.cohere.textGeneration ? new ta(e) : t.cohere.summarization ? new ia(e) : new ra(e);\n if (t.huggingFace) return t.huggingFace.textGeneration ? new Jo(e) : t.huggingFace.summarization ? new Yo(e) : t.huggingFace.translation ? new Qo(e) : t.huggingFace.fillMask ? new ea(e) : t.huggingFace.questionAnswer ? new Xo(e) : t.huggingFace.audioSpeechRecognition ? new $o(e) : t.huggingFace.audioClassification ? new Ko(e) : t.huggingFace.imageClassification ? new Wo(e) : new Zo(e);\n if (t.azure) {\n if (t.azure.openAI) {\n if (t.azure.openAI.chat) return new Ms(e);\n if (t.azure.openAI.assistant) return new ds(e);\n }\n if (t.azure.speechToText) return new bs(e);\n if (t.azure.textToSpeech) return new gs(e);\n if (t.azure.summarization) return new ms(e);\n if (t.azure.translation) return new na(e);\n }\n if (t.stabilityAI) return t.stabilityAI.imageToImage ? new Ri(e) : t.stabilityAI.imageToImageUpscale ? new Ti(e) : t.stabilityAI.imageToImageMasking ? new Ci(e) : new Mi(e);\n if (t.mistral) return new oa(e);\n if (t.gemini) return new ks(e);\n }\n return i && Object.keys(i).length > 0 && !s ? new lt(e) : new lt(e, void 0, s || !0);\n }\n }]);\n}();\nvar Bs = /*#__PURE__*/_createClass(function Bs() {\n _classCallCheck(this, Bs);\n});\nBs.attibutes = {\n string: function string(e) {\n return e;\n },\n number: function number(e) {\n return parseFloat(e);\n },\n \"boolean\": function boolean(e) {\n return e === \"true\";\n },\n object: function object(e) {\n return JSON.parse(e);\n },\n array: function array(e) {\n return JSON.parse(e);\n },\n \"function\": function _function(e) {\n return new Function(\"return \".concat(e))();\n }\n};\nvar ys = Bs;\nfunction x(n) {\n return function (e, t) {\n Object.defineProperty(e, t, {});\n var i = e.constructor,\n s = t.toLocaleLowerCase();\n i._attributes_[s] = ys.attibutes[n], i._attributeToProperty_[s] = t;\n };\n}\nvar Di = /*#__PURE__*/function () {\n function Di(e, t, i) {\n _classCallCheck(this, Di);\n this._isDisplayed = !1, e ? (this._elementRef = this.createIntroPanelWithChild(e, i), this._isDisplayed = !0) : t && (this._elementRef = this.createInternalIntroPanel(t, i), this._isDisplayed = !0);\n }\n return _createClass(Di, [{\n key: \"createIntroPanelWithChild\",\n value: function createIntroPanelWithChild(e, t) {\n var i = Di.createIntroPanel(t);\n return e.style.display === \"none\" && (e.style.display = \"block\"), i.appendChild(e), i;\n }\n }, {\n key: \"createInternalIntroPanel\",\n value: function createInternalIntroPanel(e, t) {\n var i = Di.createIntroPanel(t);\n return i.id = \"internal-intro-panel\", i.innerHTML = e, i;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"none\", this._isDisplayed = !1);\n }\n }, {\n key: \"display\",\n value: function display() {\n !this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"\", this._isDisplayed = !0);\n }\n }], [{\n key: \"createIntroPanel\",\n value: function createIntroPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"intro-panel\"), Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar la = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" \\n\\t viewBox=\\\"50 30 420 450\\\" xml:space=\\\"preserve\\\">\\n<g filter=\\\"brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(1942%) hue-rotate(215deg) brightness(99%) contrast(93%)\\\">\\n\\t<g>\\n\\t\\t<path d=\\\"M447.933,103.629c-0.034-3.076-1.224-6.09-3.485-8.352L352.683,3.511c-0.004-0.004-0.007-0.005-0.011-0.008\\n\\t\\t\\tC350.505,1.338,347.511,0,344.206,0H89.278C75.361,0,64.04,11.32,64.04,25.237v461.525c0,13.916,11.32,25.237,25.237,25.237\\n\\t\\t\\th333.444c13.916,0,25.237-11.32,25.237-25.237V103.753C447.96,103.709,447.937,103.672,447.933,103.629z M356.194,40.931\\n\\t\\t\\tl50.834,50.834h-49.572c-0.695,0-1.262-0.567-1.262-1.262V40.931z M423.983,486.763c0,0.695-0.566,1.261-1.261,1.261H89.278\\n\\t\\t\\tc-0.695,0-1.261-0.566-1.261-1.261V25.237c0-0.695,0.566-1.261,1.261-1.261h242.94v66.527c0,13.916,11.322,25.239,25.239,25.239\\n\\t\\t\\th66.527V486.763z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,164.014H149.912c-6.62,0-11.988,5.367-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,169.381,368.707,164.014,362.088,164.014z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,236.353H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,241.721,368.707,236.353,362.088,236.353z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,308.691H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C374.076,314.06,368.707,308.691,362.088,308.691z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M256,381.031H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988H256\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C267.988,386.398,262.62,381.031,256,381.031z\\\"/>\\n\\t</g>\\n</g>\\n</svg>\",\n X = /*#__PURE__*/function () {\n function X() {\n _classCallCheck(this, X);\n }\n return _createClass(X, null, [{\n key: \"createImage\",\n value: function createImage(e, t, i) {\n var s = new Image();\n return s.src = e.src, i && q.scrollDownOnImageLoad(s.src, t), q.processContent(\"image\", s, s.src, e.name);\n }\n // WORK - image still does not scroll down when loaded\n }, {\n key: \"createImageMessage\",\n value: function createImageMessage(e, t, i, s) {\n var r = X.createImage(t, e.elementRef, !s && !e.focusMode),\n o = e.createNewMessageElement(\"\", i);\n return o.bubbleElement.appendChild(r), o.bubbleElement.classList.add(X.IMAGE_BUBBLE_CLASS), {\n type: \"image\",\n elements: o\n };\n }\n }, {\n key: \"createAudioElement\",\n value: function createAudioElement(e, t) {\n var i = document.createElement(\"audio\");\n return i.src = e.src, i.classList.add(\"audio-player\"), i.controls = !0, Ue.IS_SAFARI && (i.classList.add(\"audio-player-safari\"), i.classList.add(t === v.USER_ROLE ? \"audio-player-safari-right\" : \"audio-player-safari-left\")), i;\n }\n }, {\n key: \"createNewAudioMessage\",\n value: function createNewAudioMessage(e, t, i, s) {\n var r = X.createAudioElement(t, i),\n o = e.createMessageElementsOnOrientation(\"\", i, s);\n return o.bubbleElement.appendChild(r), o.bubbleElement.classList.add(X.AUDIO_BUBBLE_CLASS), {\n type: \"audio\",\n elements: o\n };\n }\n }, {\n key: \"createAnyFile\",\n value: function createAnyFile(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"any-file-message-contents\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-message-icon-container\");\n var s = He.createSVGElement(la);\n s.classList.add(\"any-file-message-icon\"), i.appendChild(s);\n var r = document.createElement(\"div\");\n return r.classList.add(\"any-file-message-text\"), r.textContent = e.name || q.DEFAULT_FILE_NAME, t.appendChild(i), t.appendChild(r), q.processContent(\"any\", t, e.src, r.textContent);\n }\n }, {\n key: \"createNewAnyFileMessage\",\n value: function createNewAnyFileMessage(e, t, i, s) {\n var r = e.createMessageElementsOnOrientation(\"\", i, s),\n o = X.createAnyFile(t);\n return r.bubbleElement.classList.add(X.ANY_FILE_BUBBLE_CLASS), r.bubbleElement.appendChild(o), {\n type: \"file\",\n elements: r\n };\n }\n }, {\n key: \"createMessages\",\n value: function createMessages(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n return t.map(function (r) {\n return r.ref && (r = q.removeFileRef(r)), q.isAudioFile(r) ? X.createNewAudioMessage(e, r, i, s) : q.isImageFile(r) ? X.createImageMessage(e, r, i, s) : X.createNewAnyFileMessage(e, r, i, s);\n });\n }\n // no overwrite previous message logic as it is complex to track which files are to be overwritten\n }, {\n key: \"addMessages\",\n value: function addMessages(e, t, i, s) {\n X.createMessages(e, t, i, s).forEach(function (_ref34) {\n var o = _ref34.type,\n a = _ref34.elements;\n q.addMessage(e, a, o, i, s);\n });\n }\n }]);\n }();\nX.IMAGE_BUBBLE_CLASS = \"image-message\", X.AUDIO_BUBBLE_CLASS = \"audio-message\", X.ANY_FILE_BUBBLE_CLASS = \"any-file-message\";\nvar Bi = X;\nvar le = /*#__PURE__*/function () {\n function le() {\n _classCallCheck(this, le);\n }\n return _createClass(le, null, [{\n key: \"removeElements\",\n value: function removeElements(e, t) {\n if (!t) return;\n var i = e.findIndex(function (s) {\n return s === t;\n });\n e.splice(i, 1), t == null || t.outerContainer.remove();\n }\n }, {\n key: \"removeFilesMessages\",\n value: function removeFilesMessages(e, t) {\n var i;\n (i = t[1].files) == null || i.forEach(function (s) {\n le.removeElements(e.messageElementRefs, s);\n }), delete t[0].files, delete t[1].files;\n }\n }, {\n key: \"removeTextHTMLMessage\",\n value: function removeTextHTMLMessage(e, t, i) {\n var s = t[1][i];\n le.removeElements(e.messageElementRefs, s), delete t[0][i], delete t[1][i];\n }\n }, {\n key: \"updateHTMLMessage\",\n value: function updateHTMLMessage(e, t, i) {\n var s, r, o;\n if (t[1].html) Ae.overwriteElements(e, i, t[1].html);else {\n var a = Ae.create(e, i, t[0].role),\n l = ((r = t[1].files) == null ? void 0 : r[((s = t[1].files) == null ? void 0 : s.length) - 1]) || t[1].text,\n c = l.outerContainer.nextSibling;\n (o = c == null ? void 0 : c.parentElement) == null || o.insertBefore(a.outerContainer, c), e.messageElementRefs.splice(e.messageElementRefs.length - 1, 1);\n var d = e.messageElementRefs.findIndex(function (u) {\n return u === l;\n });\n e.messageElementRefs.splice(d + 1, 0, a), t[1].html = a;\n }\n t[0].html = i;\n }\n // finds beforeElement, creates new elements, remove old and adds new ones\n }, {\n key: \"updateFileMessages\",\n value: function updateFileMessages(e, t, i) {\n var u, h;\n var s = t[0].role,\n r = Bi.createMessages(e, i, s),\n o = t[1].html,\n a = ((h = t[1].files) == null ? void 0 : h[((u = t[1].files) == null ? void 0 : u.length) - 1]) || t[1].text,\n l = o || a;\n var c = e.messageElementRefs.findIndex(function (f) {\n return f === l;\n });\n a && (c += 1);\n var d = (o == null ? void 0 : o.outerContainer) || (a == null ? void 0 : a.outerContainer.nextSibling);\n r.forEach(function (_ref35, p) {\n var f = _ref35.type,\n m = _ref35.elements;\n var g;\n q.setElementProps(e, m, f, s), (g = d.parentElement) == null || g.insertBefore(m.outerContainer, d), e.messageElementRefs.splice(e.messageElementRefs.length - 1, 1), e.messageElementRefs.splice(c + p, 0, m);\n }), le.removeFilesMessages(e, t), t[1].files = r.map(function (_ref36) {\n var f = _ref36.elements;\n return f;\n }), t[0].files = i;\n }\n }, {\n key: \"updateTextMessage\",\n value: function updateTextMessage(e, t, i) {\n var s, r;\n if (t[1].text) e.renderText(t[1].text.bubbleElement, i);else {\n var o = e.createElements(i, t[0].role),\n a = ((s = t[1].files) == null ? void 0 : s[0]) || t[1].html;\n (r = a.outerContainer.parentElement) == null || r.insertBefore(o.outerContainer, a.outerContainer);\n var l = e.messageElementRefs.findIndex(function (c) {\n return c === a;\n });\n e.messageElementRefs.splice(l, 0, o), t[1].text = o;\n }\n t[0].text = i;\n }\n }, {\n key: \"isElementActive\",\n value: function isElementActive(e) {\n var t, i;\n return de.isActiveElement((t = e.text) == null ? void 0 : t.bubbleElement.classList) || de.isActiveElement((i = e.html) == null ? void 0 : i.bubbleElement.classList);\n }\n // note that overwrite and 'deep-chat-temporary-message' are used to remove a message\n }, {\n key: \"update\",\n value: function update(e, t, i) {\n var s = e.messageToElements[i];\n if (s) {\n if (le.isElementActive(s[1])) return console.error(\"Cannot update a message that is being streamed\");\n t.text && le.updateTextMessage(e, s, t.text), t.files ? le.updateFileMessages(e, s, t.files) : le.removeFilesMessages(e, s), t.html && le.updateHTMLMessage(e, s, t.html), !t.text && s[1].text && le.removeTextHTMLMessage(e, s, \"text\"), !t.html && s[1].html && le.removeTextHTMLMessage(e, s, \"html\");\n var r = e.messageElementRefs,\n o = e.avatar,\n a = e.name;\n v.classifyRoleMessages(r), v.resetAllRoleElements(r, o, a);\n } else console.error(\"Message index not found. Please use the `getMessages` method to find the correct index\");\n }\n }]);\n}();\nvar ca = /*#__PURE__*/function () {\n function ca() {\n _classCallCheck(this, ca);\n }\n return _createClass(ca, null, [{\n key: \"getText\",\n value: function getText(e, t) {\n var i;\n if (!e.directConnection && !e.connect && !e.webModel && !e.demo) return \"Connect to any API using the [connect](https://deepchat.dev/docs/connect#connect-1) property or a popular service via [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).\\n Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).\\n To get started checkout the [Start](https://deepchat.dev/start) page and live code [examples](https://deepchat.dev/examples/frameworks).\\n To remove this message set the [demo](https://deepchat.dev/docs/modes#demo) property to true.\";\n if (e.directConnection) {\n if (!t.isDirectConnection()) return \"Please define a valid service inside\\n the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.\";\n var s = (i = e.directConnection.openAI) == null ? void 0 : i.chat;\n if (_typeof(s) == \"object\" && s.tools && !s.function_handler) return \"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\";\n } else if (e.connect && !e.connect.url && !e.connect.handler) return \"Please define a `url` or a `handler` property inside the [connect](https://deepchat.dev/docs/connect#connect-1) object.\";\n return null;\n }\n }]);\n}();\nvar de = /*#__PURE__*/function (_he) {\n function de(e, t, i) {\n var _this60;\n _classCallCheck(this, de);\n var a, l;\n _this60 = _callSuper(this, de, [e]);\n var s = t.permittedErrorPrefixes,\n r = t.introPanelMarkUp,\n o = t.demo;\n _this60._errorMessageOverrides = (a = e.errorMessages) == null ? void 0 : a.overrides, _this60._onClearMessages = ni.onClearMessages.bind(_this60, e), _this60._onError = ni.onError.bind(_this60, e), _this60._isLoadingMessageAllowed = de.getDefaultDisplayLoadingMessage(e, t), _typeof(e.displayLoadingBubble) == \"object\" && e.displayLoadingBubble.toggle && (e.displayLoadingBubble.toggle = _this60.setLoadingToggle.bind(_this60)), _this60._permittedErrorPrefixes = s, _this60.addSetupMessageIfNeeded(e, t) || _this60.populateIntroPanel(i, r, e.introPanelStyle), o && _this60.prepareDemo(te.processDemo(o), e.loadHistory), _this60.addIntroductoryMessages(e, t), new ri(e, _this60, t), _this60._displayServiceErrorMessages = (l = e.errorMessages) == null ? void 0 : l.displayServiceErrorMessages, e.getMessages = function () {\n return v.deepCloneMessagesWithReferences(_this60.messageToElements.map(function (_ref37) {\n var _ref38 = _slicedToArray(_ref37, 1),\n c = _ref38[0];\n return c;\n }));\n }, e.clearMessages = _this60.clearMessages.bind(_this60, t), e.refreshMessages = _this60.refreshTextMessages.bind(_this60, e.remarkable), e.scrollToBottom = W.scrollToBottom.bind(_this60, _this60.elementRef), e.addMessage = function (c, d) {\n _this60.addAnyMessage(_objectSpread(_objectSpread({}, c), {}, {\n sendUpdate: !!d\n }), !d);\n }, e.updateMessage = function (c, d) {\n return le.update(_this60, c, d);\n }, t.isWebModel() && t.setUpMessages(_this60), e.textToSpeech && Et.processConfig(e.textToSpeech, function (c) {\n _this60.textToSpeech = c;\n });\n return _this60;\n }\n _inherits(de, _he);\n return _createClass(de, [{\n key: \"setLoadingToggle\",\n value: function setLoadingToggle() {\n var e = this.messageElementRefs[this.messageElementRefs.length - 1];\n he.isLoadingMessage(e) ? this.removeLastMessage() : this.addLoadingMessage(!0);\n }\n }, {\n key: \"prepareDemo\",\n value: function prepareDemo(e, t) {\n var i;\n if (_typeof(e) == \"object\") {\n if (!t && e.displayLoading) {\n var s = e.displayLoading.history;\n s != null && s.small && je.addMessage(this, !1), s != null && s.full && je.addMessage(this);\n }\n e.displayErrors && (e.displayErrors[\"default\"] && this.addNewErrorMessage(\"\", \"\"), e.displayErrors.service && this.addNewErrorMessage(\"service\", \"\"), e.displayErrors.speechToText && this.addNewErrorMessage(\"speechToText\", \"\")), (i = e.displayLoading) != null && i.message && this.addLoadingMessage(), e.response && (this.customDemoResponse = e.response);\n }\n }\n }, {\n key: \"addSetupMessageIfNeeded\",\n value: function addSetupMessageIfNeeded(e, t) {\n var i = ca.getText(e, t);\n if (i) {\n var s = this.createAndAppendNewMessageElement(i, v.AI_ROLE);\n this.applyCustomStyles(s, v.AI_ROLE, !1);\n }\n return !!i;\n }\n // WORK - const file for deep chat classes\n }, {\n key: \"addIntroductoryMessages\",\n value: function addIntroductoryMessages(e, t) {\n var _this61 = this;\n e != null && e.shadowRoot && (this._introMessage = e.introMessage);\n var i = this._introMessage;\n t != null && t.isWebModel() && (i !== null && i !== void 0 ? i : i = t.getIntroMessage(i));\n var s = !(e != null && e.history) && !!(e != null && e.loadHistory || t != null && t.fetchHistory);\n i && (Array.isArray(i) ? i.forEach(function (r, o) {\n if (o !== 0) {\n var a = _this61.messageElementRefs[_this61.messageElementRefs.length - 1].innerContainer;\n v.hideRoleElements(a, _this61.avatar, _this61.name);\n }\n _this61.addIntroductoryMessage(r, s);\n }) : this.addIntroductoryMessage(i, s));\n }\n }, {\n key: \"addIntroductoryMessage\",\n value: function addIntroductoryMessage(e, t) {\n var s;\n var i;\n return e != null && e.text ? i = this.createAndAppendNewMessageElement(e.text, v.AI_ROLE) : e != null && e.html && (i = Ae.add(this, e.html, v.AI_ROLE)), i && (this.applyCustomStyles(i, v.AI_ROLE, !1, (s = this.messageStyles) == null ? void 0 : s.intro), i.outerContainer.classList.add(he.INTRO_CLASS), t && (i.outerContainer.style.display = \"none\")), i;\n }\n }, {\n key: \"removeIntroductoryMessage\",\n value: function removeIntroductoryMessage() {\n var e = this.messageElementRefs[0];\n e.outerContainer.classList.contains(he.INTRO_CLASS) && (e.outerContainer.remove(), this.messageElementRefs.shift());\n }\n }, {\n key: \"addAnyMessage\",\n value: function addAnyMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n return e.error ? this.addNewErrorMessage(\"service\", e.error, i) : this.addNewMessage(e, t, i);\n }\n }, {\n key: \"tryAddTextMessage\",\n value: function tryAddTextMessage(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n !i.ignoreText && e.text !== void 0 && i.text !== null && (this.addNewTextMessage(e.text, e.role, t, r), !s && this.textToSpeech && e.role !== v.USER_ROLE && Et.speak(e.text, this.textToSpeech));\n }\n }, {\n key: \"tryAddFileMessages\",\n value: function tryAddFileMessages(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n e.files && Array.isArray(e.files) && Bi.addMessages(this, e.files, e.role, t);\n }\n }, {\n key: \"tryAddHTMLMessage\",\n value: function tryAddHTMLMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n if (e.html !== void 0 && e.html !== null) {\n var s = Ae.add(this, e.html, e.role, t, i);\n !i && we.isElementTemporary(s) && delete e.html;\n }\n }\n // this should not be activated by streamed messages\n }, {\n key: \"addNewMessage\",\n value: function addNewMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var o, a;\n e.role !== v.USER_ROLE && ((o = this._hiddenAttachments) == null || o.removeHiddenFiles());\n var s = de.createMessageContent(e),\n r = {\n status: e.overwrite\n };\n return i ? (this.tryAddHTMLMessage(s, r, i), this.tryAddFileMessages(s, i), this.tryAddTextMessage(s, r, e, t, i)) : (this.tryAddTextMessage(s, r, e, t, i), this.tryAddFileMessages(s, i), this.tryAddHTMLMessage(s, r, i)), this.isValidMessageContent(s) && !i && (this.updateStateOnMessage(s, e.overwrite, e.sendUpdate, t), t || (a = this.browserStorage) == null || a.addMessages(this.messageToElements.map(function (_ref39) {\n var _ref40 = _slicedToArray(_ref39, 1),\n l = _ref40[0];\n return l;\n }))), s;\n }\n }, {\n key: \"isValidMessageContent\",\n value: function isValidMessageContent(e) {\n return e.text || e.html || e.files && e.files.length > 0;\n }\n }, {\n key: \"updateStateOnMessage\",\n value: function updateStateOnMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n if (!t) {\n var r = v.generateMessageBody(e, this.messageElementRefs);\n this.messageToElements.push([e, r]);\n }\n i && this.sendClientUpdate(e, s);\n }\n // prettier-ignore\n }, {\n key: \"removeMessageOnError\",\n value: function removeMessageOnError() {\n var e = this.messageElementRefs[this.messageElementRefs.length - 1],\n t = e == null ? void 0 : e.bubbleElement;\n (t != null && t.classList.contains(Ce.MESSAGE_CLASS) && t.textContent === \"\" || de.isTemporaryElement(e)) && this.removeLastMessage();\n }\n // prettier-ignore\n }, {\n key: \"addNewErrorMessage\",\n value: function addNewErrorMessage(e, t) {\n var _this62 = this;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var c, d, u, h, f, m;\n (c = this._hiddenAttachments) == null || c.readdHiddenFiles(), this.removeMessageOnError();\n var s = this.getPermittedMessage(t) || ((d = this._errorMessageOverrides) == null ? void 0 : d[e]) || ((u = this._errorMessageOverrides) == null ? void 0 : u[\"default\"]) || \"Error, please try again.\",\n r = this.createMessageElementsOnOrientation(s, \"error\", i);\n v.hideRoleElements(r.innerContainer, this.avatar, this.name);\n var o = r.bubbleElement,\n a = r.outerContainer;\n o.classList.add(v.ERROR_MESSAGE_TEXT_CLASS), this.renderText(o, s);\n var l = Y.extractParticularSharedStyles([\"fontSize\", \"fontFamily\"], (h = this.messageStyles) == null ? void 0 : h[\"default\"]);\n Y.applyCustomStylesToElements(r, !1, l), Y.applyCustomStylesToElements(r, !1, (f = this.messageStyles) == null ? void 0 : f.error), i || this.appendOuterContainerElemet(a), this.textToSpeech && Et.speak(s, this.textToSpeech), (m = this._onError) == null || m.call(this, s), setTimeout(function () {\n return W.scrollToBottom(_this62.elementRef);\n });\n }\n }, {\n key: \"getPermittedMessage\",\n value: function getPermittedMessage(e) {\n if (e) {\n var t = de.extractErrorMessages(e);\n for (var _i6 = 0; _i6 < t.length; _i6 += 1) {\n var s = t[_i6];\n if (typeof s == \"string\") {\n if (this._displayServiceErrorMessages) return s;\n if (this._permittedErrorPrefixes) {\n var r = de.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, s);\n if (r) return r;\n }\n }\n }\n }\n }\n }, {\n key: \"removeError\",\n value: function removeError() {\n this.isLastMessageError() && v.getLastMessageElement(this.elementRef).remove();\n }\n }, {\n key: \"addDefaultLoadingMessage\",\n value: function addDefaultLoadingMessage() {\n var e = this.createMessageElements(\"\", v.AI_ROLE),\n t = e.bubbleElement;\n e.bubbleElement.classList.add(Fe.DOTS_CONTAINER_CLASS);\n var i = document.createElement(\"div\");\n return i.classList.add(\"loading-message-dots\"), t.appendChild(i), Fe.setDots(t, this.messageStyles), e;\n }\n }, {\n key: \"addLoadingMessage\",\n value: function addLoadingMessage() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n var r, o, a, l, c, d;\n var t = this.messageElementRefs[this.messageElementRefs.length - 1];\n if (he.isLoadingMessage(t) || !e && !this._isLoadingMessageAllowed) return;\n var i = (a = (o = (r = this.messageStyles) == null ? void 0 : r.loading) == null ? void 0 : o.message) == null ? void 0 : a.html,\n s = i ? Ae.createElements(this, i, v.AI_ROLE, !1) : this.addDefaultLoadingMessage();\n this.appendOuterContainerElemet(s.outerContainer), s.bubbleElement.classList.add(Fe.BUBBLE_CLASS), this.applyCustomStyles(s, v.AI_ROLE, !1, (d = (c = (l = this.messageStyles) == null ? void 0 : l.loading) == null ? void 0 : c.message) == null ? void 0 : d.styles), this.focusMode || W.scrollToBottom(this.elementRef);\n }\n }, {\n key: \"populateIntroPanel\",\n value: function populateIntroPanel(e, t, i) {\n (e || t) && (this._introPanel = new Di(e, t, i), this._introPanel._elementRef && (K.apply(this, this._introPanel._elementRef), this.elementRef.appendChild(this._introPanel._elementRef)));\n }\n }, {\n key: \"addMultipleFiles\",\n value: function () {\n var _addMultipleFiles = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee125(e, t) {\n return _regeneratorRuntime().wrap(function _callee125$(_context125) {\n while (1) switch (_context125.prev = _context125.next) {\n case 0:\n return _context125.abrupt(\"return\", (this._hiddenAttachments = t, Promise.all((e || []).map(function (i) {\n return new Promise(function (s) {\n if (!i.type || i.type === \"any\") {\n var r = i.file.name || q.DEFAULT_FILE_NAME;\n s({\n name: r,\n type: \"any\",\n ref: i.file\n });\n } else {\n var _r2 = new FileReader();\n _r2.readAsDataURL(i.file), _r2.onload = function () {\n s({\n src: _r2.result,\n type: i.type,\n ref: i.file\n });\n };\n }\n });\n }))));\n case 1:\n case \"end\":\n return _context125.stop();\n }\n }, _callee125, this);\n }));\n function addMultipleFiles(_x230, _x231) {\n return _addMultipleFiles.apply(this, arguments);\n }\n return addMultipleFiles;\n }()\n }, {\n key: \"clearMessages\",\n value:\n // WORK - update all message classes to use deep-chat prefix\n function clearMessages(e, t) {\n var _this$messageToElemen;\n var r, o, a;\n var i = [];\n this.messageElementRefs.forEach(function (l) {\n de.isActiveElement(l.bubbleElement.classList) ? i.push(l) : l.outerContainer.remove();\n }), Array.from(this.elementRef.children).forEach(function (l) {\n var d;\n var c = (d = l.children[0]) == null ? void 0 : d.children[0];\n c != null && c.classList.contains(v.ERROR_MESSAGE_TEXT_CLASS) && l.remove();\n }), this.messageElementRefs = i;\n var s = this.messageToElements.filter(function (l) {\n return l[1].text && de.isActiveElement(l[1].text.bubbleElement.classList) || l[1].html && de.isActiveElement(l[1].html.bubbleElement.classList);\n });\n (_this$messageToElemen = this.messageToElements).splice.apply(_this$messageToElemen, [0, this.messageToElements.length].concat(_toConsumableArray(s))), t !== !1 && ((r = this._introPanel) != null && r._elementRef && this._introPanel.display(), this.addIntroductoryMessages()), (o = this.browserStorage) == null || o.clear(), (a = this._onClearMessages) == null || a.call(this), delete e.sessionId;\n }\n }], [{\n key: \"getDefaultDisplayLoadingMessage\",\n value: function getDefaultDisplayLoadingMessage(e, t) {\n var _ref41;\n return t.websocket ? !!e.displayLoadingBubble : (_ref41 = _typeof(e.displayLoadingBubble) == \"object\" || e.displayLoadingBubble) !== null && _ref41 !== void 0 ? _ref41 : !0;\n }\n }, {\n key: \"checkPermittedErrorPrefixes\",\n value: function checkPermittedErrorPrefixes(e, t) {\n for (var _i7 = 0; _i7 < e.length; _i7 += 1) if (t.startsWith(e[_i7])) return t;\n }\n }, {\n key: \"extractErrorMessages\",\n value: function extractErrorMessages(e) {\n return Array.isArray(e) ? e : e instanceof Error ? [e.message] : typeof e == \"string\" ? [e] : _typeof(e) == \"object\" && e.error ? [e.error] : [];\n }\n }, {\n key: \"isActiveElement\",\n value: function isActiveElement(e) {\n return e ? e.contains(Fe.BUBBLE_CLASS) || e.contains(je.CLASS) || e.contains(Ce.MESSAGE_CLASS) : !1;\n }\n }]);\n}(he);\nvar H = /*#__PURE__*/function () {\n function H() {\n _classCallCheck(this, H);\n }\n return _createClass(H, null, [{\n key: \"adjustInputPadding\",\n value: function adjustInputPadding(e, t) {\n t[\"inside-left\"].length > 0 && e.classList.add(\"text-input-inner-left-adjustment\"), t[\"inside-right\"].length > 0 && e.classList.add(\"text-input-inner-right-adjustment\");\n }\n }, {\n key: \"adjustForOutsideButton\",\n value: function adjustForOutsideButton(e, t, i) {\n i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0 ? (e[0].classList.add(H.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS), t.classList.add(H.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)) : i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0 && (e[3].classList.add(H.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS), t.classList.add(H.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS));\n }\n // when submit is the only button\n // when submit button is outside by itself - we increase the height for a better look\n }, {\n key: \"adjustOutsideSubmit\",\n value: function adjustOutsideSubmit(e, t, i) {\n if (!(i[\"inside-left\"].length > 0 || i[\"inside-right\"].length > 0)) {\n if (i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0) return e[0].classList.add(H.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), t.classList.add(H.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), i[\"outside-left\"].map(function (s) {\n return s.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n if (i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0) return e[3].classList.add(H.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), t.classList.add(H.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), i[\"outside-right\"].map(function (s) {\n return s.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n }\n }\n // prettier-ignore\n }, {\n key: \"set\",\n value: function set(e, t, i, s) {\n !!H.adjustOutsideSubmit(t, i, s) || H.adjustForOutsideButton(t, i, s), H.adjustInputPadding(e, s);\n }\n }]);\n}();\nH.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS = \"text-input-container-left-adjustment\", H.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS = \"text-input-container-right-adjustment\", H.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-left-small-adjustment\", H.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-right-small-adjustment\";\nvar Es = H;\nvar _t = /*#__PURE__*/function () {\n function _t() {\n _classCallCheck(this, _t);\n }\n return _createClass(_t, null, [{\n key: \"create\",\n value: function create() {\n return Array.from({\n length: 4\n }).map(function (e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"input-button-container\"), (t === 0 || t === 3) && i.classList.add(\"outer-button-container\"), (t === 1 || t === 2) && i.classList.add(\"inner-button-container\"), i;\n });\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.insertBefore(t[1], e.firstChild), e.insertBefore(t[0], e.firstChild), e.appendChild(t[2]), e.appendChild(t[3]);\n }\n }, {\n key: \"getContainerIndex\",\n value: function getContainerIndex(e) {\n return e === \"outside-left\" ? 0 : e === \"inside-left\" ? 1 : e === \"inside-right\" ? 2 : 3;\n }\n }, {\n key: \"addButton\",\n value: function addButton(e, t, i) {\n t.classList.add(i);\n var s = _t.getContainerIndex(i);\n e[s].appendChild(t), s === 3 && t.classList.add(\"outside-right\");\n }\n }]);\n}();\nvar tn = [\"camera\", \"gifs\", \"images\", \"audio\", \"mixedFiles\", \"submit\", \"microphone\"],\n da = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 22 22\\\" fill=\\\"none\\\">\\n <rect x=\\\"2.5\\\" y=\\\"2.5\\\" width=\\\"17\\\" height=\\\"17\\\" rx=\\\"2\\\" stroke=\\\"#000000\\\" stroke-width=\\\"1.4\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\\n\",\n Q = /*#__PURE__*/function () {\n function Q() {\n _classCallCheck(this, Q);\n }\n return _createClass(Q, null, [{\n key: \"addItemEvents\",\n value: function addItemEvents(e, t, i, s) {\n $e.add(t, s), t.addEventListener(\"click\", function () {\n i.click();\n }), t.addEventListener(\"mouseenter\", function (r) {\n e.highlightedItem = r.target;\n }), t.addEventListener(\"mouseleave\", function () {\n e.highlightedItem = void 0;\n });\n }\n }, {\n key: \"createItemText\",\n value: function createItemText(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(Q.TEXT_CLASS), i.textContent = e || \"File\", i;\n }\n }, {\n key: \"createItemIcon\",\n value: function createItemIcon(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(Q.ICON_CLASS), i.appendChild(e), i;\n }\n }, {\n key: \"populateItem\",\n value: function populateItem(e, t, i) {\n var s = e.elementRef,\n r = e.dropupText,\n o = e.svg,\n a = e.customStyles,\n l = s.children[0],\n c = a && Object.values(a).find(function (d) {\n var u;\n return ((u = d.svg) == null ? void 0 : u.content) === \"\";\n });\n l.classList.contains(Re.INPUT_BUTTON_INNER_TEXT_CLASS) ? (c || t.appendChild(Q.createItemIcon(o, i == null ? void 0 : i.iconContainer)), t.appendChild(Q.createItemText(l.textContent, i == null ? void 0 : i.text))) : (c || t.appendChild(Q.createItemIcon(s.children[0], i == null ? void 0 : i.iconContainer)), t.appendChild(Q.createItemText(r, i == null ? void 0 : i.text)));\n }\n }, {\n key: \"createItem\",\n value: function createItem(e, t, i) {\n var o;\n var s = document.createElement(\"div\");\n Object.assign(s.style, (o = i == null ? void 0 : i.item) == null ? void 0 : o[\"default\"]), Q.populateItem(t, s, i), s.classList.add(Q.MENU_ITEM_CLASS);\n var r = t.elementRef;\n if (t.isCustom) t.setDropupItem(s);else {\n var a = L.processStateful((i == null ? void 0 : i.item) || {});\n Q.addItemEvents(e, s, r, a);\n }\n return s;\n }\n }]);\n }();\nQ.MENU_ITEM_CLASS = \"dropup-menu-item\", Q.TEXT_CLASS = \"dropup-menu-item-text\", Q.ICON_CLASS = \"dropup-menu-item-icon\";\nvar xe = Q;\nvar O = /*#__PURE__*/function (_ut2) {\n // prettier-ignore\n function O(e, t, i, s) {\n var _this63;\n _classCallCheck(this, O);\n var l, c, d, u, h, f;\n var r = ((u = (d = (c = (l = e == null ? void 0 : e.styles) == null ? void 0 : l.button) == null ? void 0 : c[\"default\"]) == null ? void 0 : d.text) == null ? void 0 : u.content) || \"Custom \".concat(t),\n o = da,\n a = Ee.tryCreateConfig(\"Custom \".concat(t), e == null ? void 0 : e.tooltip);\n _this63 = _callSuper(this, O, [O.createButtonElement(), o, e == null ? void 0 : e.position, a, ((h = e == null ? void 0 : e.styles) == null ? void 0 : h.button) || a && {}, r]), _this63._state = \"default\", _this63.isCustom = !0, _this63._innerElements = _this63.createInnerElementsForStates(_this63.customStyles), _this63._menuStyles = s, _this63._onClick = e.onClick, _this63._dropupStyles = (f = e.styles) == null ? void 0 : f.dropup, _this63.setSetState(e), _this63.addClickListener(i), _this63.changeState(e.initialState, !0);\n return _this63;\n }\n _inherits(O, _ut2);\n return _createClass(O, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e) {\n var t = \"custom-icon\",\n i = this.createInnerElements(t, \"default\", e);\n return {\n \"default\": i,\n active: this.genStateInnerElements(t, \"active\", i, e),\n disabled: this.genStateInnerElements(t, \"disabled\", i, e)\n };\n }\n }, {\n key: \"setSetState\",\n value: function setSetState(e) {\n var _this64 = this;\n e.setState = function (t) {\n t === \"default\" && _this64.changeToDefault(), t === \"active\" && _this64.changeToActive(), t === \"disabled\" && _this64.changeToDisabled();\n };\n }\n }, {\n key: \"addClickListener\",\n value: function addClickListener(e) {\n var _this65 = this;\n this.elementRef.addEventListener(\"click\", function () {\n var i;\n var t = (i = _this65._onClick) == null ? void 0 : i.call(_this65, _this65._state);\n e == null || e(), (t === \"default\" || t === \"active\" || t === \"disabled\") && _this65.changeState(t);\n });\n }\n }, {\n key: \"changeState\",\n value: function changeState(e, t) {\n e === \"disabled\" ? this.changeToDisabled(t) : e === \"active\" ? this.changeToActive(t) : this.changeToDefault(t);\n }\n }, {\n key: \"applyDropupContentStyles\",\n value: function applyDropupContentStyles(e) {\n var t = Array.from(this.elementRef.children);\n if (e != null && e.text) {\n var _i8 = t.find(function (s) {\n return s.classList.contains(xe.TEXT_CLASS);\n });\n _i8 && Object.assign(_i8.style, e.text);\n }\n if (e != null && e.iconContainer) {\n var _i9 = t.find(function (s) {\n return s.classList.contains(xe.ICON_CLASS);\n });\n _i9 && Object.assign(_i9.style, e.iconContainer);\n }\n }\n }, {\n key: \"resetDropupItem\",\n value: function resetDropupItem(e) {\n var i, s, r;\n this.elementRef = K.replaceElementWithNewClone(this.elementRef, this._originalElementRef), this.elementRef.innerHTML = \"\", ((i = e == null ? void 0 : e.svg) == null ? void 0 : i.content) === \"\" || this.elementRef.appendChild(xe.createItemIcon(this.svg, (s = this._menuStyles) == null ? void 0 : s.iconContainer)), this.elementRef.appendChild(xe.createItemText(this.dropupText, (r = this._menuStyles) == null ? void 0 : r.text));\n }\n }, {\n key: \"assignDropupItemStyle\",\n value: function assignDropupItemStyle(e, t) {\n var s;\n this.elementRef.parentElement && this._originalElementRef && this.resetDropupItem(t), this.applyDropupContentStyles(e), Object.assign(this.elementRef.style, (s = e == null ? void 0 : e.item) == null ? void 0 : s[\"default\"]);\n var i = L.processStateful((e == null ? void 0 : e.item) || {});\n $e.add(this.elementRef, i), this.addClickListener();\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault(e) {\n var t, i, s, r, o, a;\n !e && this._state === \"default\" || (this.elementRef.classList.contains(xe.MENU_ITEM_CLASS) ? this.assignDropupItemStyle((t = this._dropupStyles) == null ? void 0 : t[\"default\"], (i = this.customStyles) == null ? void 0 : i[\"default\"]) : (this.changeElementsByState(this._innerElements[\"default\"]), (s = this.customStyles) != null && s.active && D.unsetAllCSS(this.elementRef, (r = this.customStyles) == null ? void 0 : r.active), (o = this.customStyles) != null && o.disabled && D.unsetAllCSS(this.elementRef, (a = this.customStyles) == null ? void 0 : a.disabled), this.reapplyStateStyle(\"default\", [\"active\", \"disabled\"])), this.elementRef.classList.remove(O.DISABLED_CONTAINER_CLASS, O.ACTIVE_CONTAINER_CLASS), this.elementRef.classList.add(O.DEFAULT_CONTAINER_CLASS), N.removeAriaDisabled(this.elementRef), this._state = \"default\");\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive(e) {\n var t, i;\n !e && this._state === \"active\" || (this.elementRef.classList.contains(xe.MENU_ITEM_CLASS) ? this.assignDropupItemStyle((t = this._dropupStyles) == null ? void 0 : t.active, (i = this.customStyles) == null ? void 0 : i.active) : (this.changeElementsByState(this._innerElements.active), this.reapplyStateStyle(\"active\", [\"disabled\", \"default\"])), this.elementRef.classList.remove(O.DISABLED_CONTAINER_CLASS, O.DEFAULT_CONTAINER_CLASS), this.elementRef.classList.add(O.ACTIVE_CONTAINER_CLASS), N.removeAriaDisabled(this.elementRef), this._state = \"active\");\n }\n }, {\n key: \"changeToDisabled\",\n value: function changeToDisabled(e) {\n var t, i, s, r, o, a;\n !e && this._state === \"disabled\" || (this.elementRef.classList.contains(xe.MENU_ITEM_CLASS) ? this.assignDropupItemStyle((t = this._dropupStyles) == null ? void 0 : t.disabled, (i = this.customStyles) == null ? void 0 : i.disabled) : (this.changeElementsByState(this._innerElements.disabled), (s = this.customStyles) != null && s.active && D.unsetAllCSS(this.elementRef, (r = this.customStyles) == null ? void 0 : r.active), (o = this.customStyles) != null && o[\"default\"] && D.unsetAllCSS(this.elementRef, (a = this.customStyles) == null ? void 0 : a[\"default\"]), this.reapplyStateStyle(\"disabled\", [\"default\", \"active\"])), this.elementRef.classList.remove(O.ACTIVE_CONTAINER_CLASS, O.DEFAULT_CONTAINER_CLASS), this.elementRef.classList.add(O.DISABLED_CONTAINER_CLASS), N.addAriaDisabled(this.elementRef), this._state = \"disabled\");\n }\n // called after class is initialised\n }, {\n key: \"setDropupItem\",\n value: function setDropupItem(e) {\n this.elementRef = e, this._originalElementRef = e.cloneNode(!0), this.changeState(this._state, !0);\n }\n }, {\n key: \"genStateInnerElements\",\n value: function genStateInnerElements(e, t, i, s) {\n var l, c, d, u;\n var r = this.createInnerElements(e, t, s);\n var o = (c = (l = s == null ? void 0 : s[t]) == null ? void 0 : l.svg) == null ? void 0 : c.content,\n a = (u = (d = s == null ? void 0 : s[t]) == null ? void 0 : d.text) == null ? void 0 : u.content;\n if (o === void 0 || a === void 0) {\n var _Wt$parseSVGTextEleme4 = Wt.parseSVGTextElements(i),\n h = _Wt$parseSVGTextEleme4.svg,\n f = _Wt$parseSVGTextEleme4.text,\n _Wt$parseSVGTextEleme5 = Wt.parseSVGTextElements(r),\n m = _Wt$parseSVGTextEleme5.svg,\n p = _Wt$parseSVGTextEleme5.text,\n g = [];\n O.addToInnerElements(g, o, h, m), O.addToInnerElements(g, a, f, p), r = g;\n }\n return r;\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\", O.BUTTON_CLASS), e;\n }\n }, {\n key: \"addToInnerElements\",\n value: function addToInnerElements(e, t, i, s) {\n t === void 0 && i ? e.push(i.cloneNode(!0)) : s && e.push(s);\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n var i = e.customButtons,\n s = e.focusInput,\n r = e.dropupStyles;\n i == null || i.forEach(function (o, a) {\n var l = {\n button: new O(o, a + 1, s, r == null ? void 0 : r.menu)\n };\n t[\"\".concat(O.INDICATOR_PREFIX).concat(a + 1)] = l;\n });\n }\n }]);\n}(ut);\nO.INDICATOR_PREFIX = \"custom\", O.BUTTON_CLASS = \"custom-button\", O.DISABLED_CONTAINER_CLASS = \"custom-button-container-disabled\", O.DEFAULT_CONTAINER_CLASS = \"custom-button-container-default\", O.ACTIVE_CONTAINER_CLASS = \"custom-button-container-active\";\nvar rt = O;\nvar ha = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z\\\"></path>\\n</svg>\";\nvar ai = /*#__PURE__*/function () {\n function ai() {\n _classCallCheck(this, ai);\n }\n return _createClass(ai, null, [{\n key: \"focusItemWhenOnEdge\",\n value: function focusItemWhenOnEdge(e, t) {\n var i = t ? e.children[0] : e.children[e.children.length - 1];\n ai.focusSiblingItem(i, e, t, !0);\n }\n // isEdgeItem means is it a start or end item\n // prettier-ignore\n }, {\n key: \"focusSiblingItem\",\n value: function focusSiblingItem(e, t, i) {\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = s ? e : e[i ? \"nextSibling\" : \"previousSibling\"];\n r ? (e.dispatchEvent(new MouseEvent(\"mouseleave\")), r.dispatchEvent(new MouseEvent(\"mouseenter\"))) : (e.dispatchEvent(new MouseEvent(\"mouseleave\")), ai.focusItemWhenOnEdge(t, i));\n }\n }]);\n}();\nvar Ls = /*#__PURE__*/function () {\n function Ls(e, t) {\n var _this66 = this;\n _classCallCheck(this, Ls);\n var i;\n this._isOpen = !0, this._styles = t, this.elementRef = Ls.createElement((i = this._styles) == null ? void 0 : i.container), this.close(), setTimeout(function () {\n return _this66.addWindowEvents(e);\n });\n }\n return _createClass(Ls, [{\n key: \"open\",\n value: function open() {\n this.elementRef.style.display = \"block\", this._isOpen = !0;\n }\n }, {\n key: \"close\",\n value: function close() {\n this._isOpen && (this.elementRef.style.display = \"none\", this._isOpen = !1);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n this._isOpen ? this.close() : this.open();\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n var t = xe.createItem(this, e, this._styles);\n this.elementRef.appendChild(t);\n }\n // prettier-ignore\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.clickEvent = this.windowClick.bind(this, e), window.addEventListener(\"click\", this.clickEvent), this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowClick\",\n value: function windowClick(e, t) {\n var i;\n !e.isConnected && this.clickEvent ? window.removeEventListener(\"click\", this.clickEvent) : e.parentElement !== ((i = t.target.shadowRoot) == null ? void 0 : i.children[0]) && this.close();\n }\n // prettier-ignore\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, s, r;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === U.ESCAPE ? (this.close(), (i = this.highlightedItem) == null || i.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === U.ENTER ? ((s = this.highlightedItem) == null || s.click(), (r = this.highlightedItem) == null || r.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === U.ARROW_DOWN ? ai.focusSiblingItem(this.highlightedItem || this.elementRef.children[this.elementRef.children.length - 1], this.elementRef, !0) : t.key === U.ARROW_UP && ai.focusSiblingItem(this.highlightedItem || this.elementRef.children[0], this.elementRef, !1));\n }\n }], [{\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"dropup-menu\", Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar it = /*#__PURE__*/function (_ut3) {\n function it(e, t) {\n var _this67;\n _classCallCheck(this, it);\n var r, o;\n var i = Ee.tryCreateConfig(\"Options\", (r = t == null ? void 0 : t.button) == null ? void 0 : r.tooltip);\n _this67 = _callSuper(this, it, [it.createButtonElement(), ha, void 0, i, {\n styles: (o = t == null ? void 0 : t.button) == null ? void 0 : o.styles\n }]);\n var s = _this67.createInnerElementsForStates(_this67.customStyles);\n _this67._menu = new Ls(e, t == null ? void 0 : t.menu), _this67.addClickEvent(), _this67.buttonContainer = it.createButtonContainer(), _this67.changeElementsByState(s.styles), _this67.buttonContainer.appendChild(_this67.elementRef), _this67.elementRef.classList.add(it.BUTTON_ICON_CLASS), _this67.buttonContainer.appendChild(_this67._menu.elementRef), _this67.reapplyStateStyle(\"styles\"), _this67.addContainerEvents(e);\n return _this67;\n }\n _inherits(it, _ut3);\n return _createClass(it, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e) {\n return {\n styles: this.createInnerElements(\"dropup-icon\", \"styles\", e)\n };\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent() {\n this.elementRef.onclick = this._menu.toggle.bind(this._menu);\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n this._menu.addItem(e);\n }\n }, {\n key: \"addContainerEvents\",\n value: function addContainerEvents(e) {\n var _this68 = this;\n e.addEventListener(\"click\", function (t) {\n var i = t.target.classList;\n !i.contains(it.BUTTON_ICON_CLASS) && !i.contains(rt.DISABLED_CONTAINER_CLASS) && _this68._menu.close();\n });\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createButtonContainer\",\n value: function createButtonContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"dropup-container\", e;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var i, s;\n return (i = t == null ? void 0 : t.button) != null && i.position ? (s = t == null ? void 0 : t.button) == null ? void 0 : s.position : e[\"outside-left\"].length > 0 && e[\"outside-right\"].length === 0 ? \"outside-right\" : \"outside-left\";\n }\n }]);\n}(ut);\nit.BUTTON_ICON_CLASS = \"dropup-button\";\nvar Fi = it;\nvar J = /*#__PURE__*/function () {\n function J() {\n _classCallCheck(this, J);\n }\n return _createClass(J, null, [{\n key: \"addToDropup\",\n value:\n // prettier-ignore\n function addToDropup(e, t, i, s) {\n var r = new Fi(i, s);\n tn.forEach(function (a) {\n var l = t[\"dropup-menu\"].findIndex(function (d) {\n return d.buttonType === a;\n }),\n c = t[\"dropup-menu\"][l];\n c && (r.addItem(c.button), t[\"dropup-menu\"].splice(l, 1));\n }), t[\"dropup-menu\"].forEach(function (_ref42) {\n var a = _ref42.button;\n return r.addItem(a);\n });\n var o = Fi.getPosition(t, s);\n _t.addButton(e, r.buttonContainer, o), t[o].push({});\n }\n }, {\n key: \"addToSideContainer\",\n value: function addToSideContainer(e, t) {\n [\"inside-left\", \"inside-right\", \"outside-left\", \"outside-right\"].forEach(function (s) {\n var r = s;\n t[r].forEach(function (o) {\n _t.addButton(e, o.button.elementRef, r);\n });\n });\n }\n }, {\n key: \"setPosition\",\n value: function setPosition(e, t, i) {\n var s = _objectSpread(_objectSpread({}, e[t]), {}, {\n buttonType: t\n });\n i.push(s), delete e[t];\n }\n }, {\n key: \"createPositionsToButtonsObj\",\n value: function createPositionsToButtonsObj() {\n return {\n \"dropup-menu\": [],\n \"outside-left\": [],\n \"inside-left\": [],\n \"inside-right\": [],\n \"outside-right\": []\n };\n }\n // prettier-ignore\n }, {\n key: \"generatePositionToButtons\",\n value: function generatePositionToButtons(e) {\n var t = J.createPositionsToButtonsObj();\n Object.keys(e).forEach(function (s) {\n var o;\n var r = (o = e[s]) == null ? void 0 : o.button.position;\n r && J.setPosition(e, s, t[r]);\n }), t[\"inside-right\"].length === 0 && e.submit && J.setPosition(e, \"submit\", t[\"inside-right\"]), t[\"outside-right\"].length === 0 && (e.submit ? J.setPosition(e, \"submit\", t[\"outside-right\"]) : e.microphone ? J.setPosition(e, \"microphone\", t[\"outside-right\"]) : e.camera ? J.setPosition(e, \"camera\", t[\"outside-right\"]) : e[\"\".concat(rt.INDICATOR_PREFIX, \"1\")] && J.setPosition(e, \"\".concat(rt.INDICATOR_PREFIX, \"1\"), t[\"outside-right\"])), e.submit && J.setPosition(e, \"submit\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]), e.microphone && J.setPosition(e, \"microphone\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]);\n var i = Object.keys(e);\n return i.length > 1 || t[\"dropup-menu\"].length > 0 ? (tn.forEach(function (s) {\n e[s] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[s]), {}, {\n buttonType: s\n }));\n }), i.forEach(function (s) {\n var r = s;\n r.startsWith(rt.INDICATOR_PREFIX) && e[r] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[r]), {}, {\n customType: r\n }));\n })) : i.length === 1 && J.setPosition(e, i[0], t[\"outside-right\"].length === 0 ? t[\"outside-right\"] : t[\"outside-left\"]), t;\n }\n // prettier-ignore\n }, {\n key: \"addButtons\",\n value: function addButtons(e, t, i, s) {\n var r = J.generatePositionToButtons(t);\n return J.addToSideContainer(e, r), r[\"dropup-menu\"].length > 0 && J.addToDropup(e, r, i, s), r;\n }\n }]);\n}();\nvar ua = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path d=\\\"M20 10.9696L11.9628 18.5497C10.9782 19.4783 9.64274 20 8.25028 20C6.85782 20 5.52239 19.4783 4.53777 18.5497C3.55315 17.6211 3 16.3616 3 15.0483C3 13.7351 3.55315 12.4756 4.53777 11.547L12.575 3.96687C13.2314 3.34779 14.1217 3 15.05 3C15.9783 3 16.8686 3.34779 17.525 3.96687C18.1814 4.58595 18.5502 5.4256 18.5502 6.30111C18.5502 7.17662 18.1814 8.01628 17.525 8.63535L9.47904 16.2154C9.15083 16.525 8.70569 16.6989 8.24154 16.6989C7.77738 16.6989 7.33224 16.525 7.00403 16.2154C6.67583 15.9059 6.49144 15.4861 6.49144 15.0483C6.49144 14.6106 6.67583 14.1907 7.00403 13.8812L14.429 6.88674\\\" stroke=\\\"#000000\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\",\n fa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M20,15.2928932 L20,5.5 C20,4.67157288 19.3284271,4 18.5,4 L5.5,4 C4.67157288,4 4,4.67157288 4,5.5 L4,12.2928932 L7.14644661,9.14644661 C7.34170876,8.95118446 7.65829124,8.95118446 7.85355339,9.14644661 L13.5,14.7928932 L16.1464466,12.1464466 C16.3417088,11.9511845 16.6582912,11.9511845 16.8535534,12.1464466 L20,15.2928932 Z M20,16.7071068 L16.5,13.2071068 L13.8535534,15.8535534 C13.6582912,16.0488155 13.3417088,16.0488155 13.1464466,15.8535534 L7.5,10.2071068 L4,13.7071068 L4,18.5 C4,19.3284271 4.67157288,20 5.5,20 L18.5,20 C19.3284271,20 20,19.3284271 20,18.5 L20,16.7071068 Z M3,5.5 C3,4.11928813 4.11928813,3 5.5,3 L18.5,3 C19.8807119,3 21,4.11928813 21,5.5 L21,18.5 C21,19.8807119 19.8807119,21 18.5,21 L5.5,21 C4.11928813,21 3,19.8807119 3,18.5 L3,5.5 Z M15,6 L17,6 C17.5522847,6 18,6.44771525 18,7 L18,9 C18,9.55228475 17.5522847,10 17,10 L15,10 C14.4477153,10 14,9.55228475 14,9 L14,7 C14,6.44771525 14.4477153,6 15,6 Z M15,7 L15,9 L17,9 L17,7 L15,7 Z\\\"/>\\n</svg>\\n\",\n pa = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-49.49 -49.49 593.87 593.87\\\" stroke-width=\\\"3.95908\\\" transform=\\\"rotate(0)\\\">\\n <g stroke-width=\\\"0\\\"></g>\\n <g stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"0.98977\\\"></g>\\n <g>\\n <g>\\n <g>\\n <path d=\\\"M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z\\\">\\n </path>\\n </g>\\n </g>\\n </g>\\n</svg>\",\n ma = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 5.9266752 5.6408391\\\" height=\\\"21.31971\\\" width=\\\"22.4\\\">\\n <g>\\n <path d=\\\"m 5.2564627,1.548212 c -3.1136005,-0.4796804 -1.5568006,-0.2398402 0,0 z M 2.0001198,2.0922063 c 0.1556781,0 0.2657489,0.020893 0.3917849,0.080366 0.081154,0.038347 0.1153492,0.134065 0.076377,0.2138602 -0.038973,0.07979 -0.1363527,0.1134129 -0.2175069,0.075091 -0.078199,-0.036919 -0.1407455,-0.048792 -0.250655,-0.048792 -0.2260486,0 -0.3921482,0.2042182 -0.3921482,0.4801409 0,0.2761822 0.1663188,0.4810688 0.3921482,0.4810688 0.1117901,0 0.2064255,-0.046133 0.255659,-0.1284198 l 0.00162,-0.00389 V 3.0534032 l -0.098011,1.75e-4 c -0.081844,0 -0.1495979,-0.059305 -0.1612403,-0.1365887 l -0.00175,-0.023683 c 0,-0.08047 0.060311,-0.1470874 0.1389194,-0.1585331 l 0.024085,-0.00195 h 0.2612303 c 0.081842,0 0.149598,0.059305 0.1612404,0.1365891 l 0.00175,0.023683 -3.398e-4,0.3968809 v 0 l -0.00168,0.014211 v 0 l -0.00553,0.023034 v 0 l -0.00532,0.014145 c -0.098178,0.22826 -0.3236506,0.3528713 -0.5706303,0.3528713 -0.4240855,0 -0.7181621,-0.3622714 -0.7181621,-0.8016063 0,-0.4391857 0.2940275,-0.8006848 0.7181621,-0.8006848 z m 1.2034759,0.031275 c 0.081843,0 0.1495977,0.059305 0.1612403,0.1365891 l 0.00175,0.023683 v 1.2211775 c 0,0.088516 -0.07298,0.1602721 -0.1630073,0.1602721 -0.081841,0 -0.1495972,-0.059305 -0.1612397,-0.1365892 L 3.040589,3.5049308 V 2.2837527 c 0,-0.088516 0.07298,-0.1602721 0.1630067,-0.1602714 z m 0.7813442,0 0.5209469,0.00195 c 0.090025,3.048e-4 0.1627543,0.072306 0.1624458,0.1608234 -2.809e-4,0.08047 -0.06083,0.1468798 -0.1394772,0.158066 l -0.024092,0.00195 -0.3575326,-0.0013 v 0.4497782 l 0.2928918,2.27e-4 c 0.081842,0 0.1495979,0.059305 0.1612403,0.136589 l 0.00175,0.023683 c 0,0.080469 -0.06031,0.1470871 -0.1389193,0.1585393 l -0.024092,0.00195 -0.2928919,-2.336e-4 1.563e-4,0.2860316 c 0,0.080471 -0.06031,0.1470873 -0.1389193,0.1585395 l -0.024085,0.00195 c -0.081843,0 -0.1495979,-0.059305 -0.1612403,-0.1365826 l -0.00175,-0.023691 V 2.2841354 c 2.798e-4,-0.08047 0.060829,-0.1468797 0.1394758,-0.1580594 z\\\"/>\\n <path d=\\\"m 5.0894191,1.0943261 c 0,-0.21918999 -0.177687,-0.39686999 -0.396876,-0.39686999 h -3.43959 c -0.2191879,0 -0.391262,0.1777519 -0.3968759,0.39686999 l -0.027082,3.4379266 c 0.040152,0.2939927 0.4235456,0.409415 0.4235456,0.409415 l 3.4785583,-0.00851 c 0,0 0.3008506,-0.1402998 0.3236271,-0.4201576 0.042911,-0.5272495 0.034693,-1.6106146 0.034693,-3.4186761 z m -4.49792494,0 c 0,-0.36530999 0.29614504,-0.66145999 0.66145894,-0.66145999 h 3.43959 c 0.365314,0 0.66146,0.29615 0.66146,0.66145999 v 3.43959 c 0,0.36532 -0.296146,0.66146 -0.66146,0.66146 h -3.43959 c -0.3653139,0 -0.66145894,-0.29614 -0.66145894,-0.66146 z\\\"/>\\n </g>\\n</svg>\\n\",\n ga = {\n images: {\n id: \"upload-images-icon\",\n svgString: fa,\n dropupText: \"Image\"\n },\n gifs: {\n id: \"upload-gifs-icon\",\n svgString: ma,\n dropupText: \"GIF\"\n },\n audio: {\n id: \"upload-audio-icon\",\n svgString: pa,\n dropupText: \"Audio\"\n },\n mixedFiles: {\n id: \"upload-mixed-files-icon\",\n svgString: ua,\n dropupText: \"File\"\n }\n };\nvar Wi = /*#__PURE__*/function (_ut4) {\n function Wi(e) {\n var _this69;\n _classCallCheck(this, Wi);\n (e == null ? void 0 : e.position) === \"dropup-menu\" && (e.position = \"outside-right\");\n var t = Ee.tryCreateConfig(\"Microphone\", e == null ? void 0 : e.tooltip);\n _this69 = _callSuper(this, Wi, [Wi.createMicrophoneElement(), Bn, e == null ? void 0 : e.position, t, e]), _this69.isActive = !1, _this69._innerElements = _this69.createInnerElementsForStates(_this69.customStyles), _this69.changeToDefault();\n return _this69;\n }\n _inherits(Wi, _ut4);\n return _createClass(Wi, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e) {\n var t = \"microphone-icon\";\n return {\n \"default\": this.createInnerElements(t, \"default\", e),\n active: this.createInnerElements(t, \"active\", e),\n unsupported: this.createInnerElements(t, \"unsupported\", e),\n commandMode: this.createInnerElements(t, \"commandMode\", e)\n };\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive() {\n this.changeElementsByState(this._innerElements.active), this.toggleIconFilter(\"active\"), this.reapplyStateStyle(\"active\", [\"default\", \"commandMode\"]), this.isActive = !0;\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault() {\n this.changeElementsByState(this._innerElements[\"default\"]), this.toggleIconFilter(\"default\"), this.reapplyStateStyle(\"default\", [\"active\", \"commandMode\"]), this.isActive = !1;\n }\n }, {\n key: \"changeToCommandMode\",\n value: function changeToCommandMode() {\n this.changeElementsByState(this._innerElements.commandMode), this.toggleIconFilter(\"command\"), this.reapplyStateStyle(\"commandMode\", [\"active\"]);\n }\n }, {\n key: \"changeToUnsupported\",\n value: function changeToUnsupported() {\n this.changeElementsByState(this._innerElements.unsupported), this.elementRef.classList.add(\"unsupported-microphone\"), this.reapplyStateStyle(\"unsupported\", [\"active\"]);\n }\n }, {\n key: \"toggleIconFilter\",\n value: function toggleIconFilter(e) {\n var t = this.elementRef.children[0];\n if (t.tagName.toLocaleLowerCase() === \"svg\") switch (e) {\n case \"default\":\n t.classList.remove(\"active-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"default-microphone-icon\");\n break;\n case \"active\":\n t.classList.remove(\"default-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"active-microphone-icon\");\n break;\n case \"command\":\n t.classList.remove(\"active-microphone-icon\", \"default-microphone-icon\"), t.classList.add(\"command-microphone-icon\");\n break;\n }\n }\n }], [{\n key: \"createMicrophoneElement\",\n value: function createMicrophoneElement() {\n var e = document.createElement(\"div\");\n return e.id = \"microphone-button\", e.classList.add(\"input-button\"), e;\n }\n }]);\n}(ut);\nfunction ba(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n[\"default\"] : n;\n}\nvar bi = {},\n xt = {},\n wt = {},\n At = {},\n Tt = {},\n sn;\nfunction $i() {\n if (sn) return Tt;\n sn = 1, Object.defineProperty(Tt, \"__esModule\", {\n value: !0\n }), Tt.Text = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"capitalize\",\n value: function capitalize(t) {\n return t.replace(n.FIRST_CHAR_REGEX, function (i) {\n return i.toUpperCase();\n });\n }\n }, {\n key: \"lineBreak\",\n value: function lineBreak(t) {\n return t.replace(n.DOUBLE_LINE, \"<p></p>\").replace(n.ONE_LINE, \"<br>\");\n }\n }, {\n key: \"isCharDefined\",\n value: function isCharDefined(t) {\n return t !== void 0 && t !== \" \" && t !== \" \" && t !== \"\\n\" && t !== \"\";\n }\n }, {\n key: \"breakupIntoWordsArr\",\n value: function breakupIntoWordsArr(t) {\n return t.split(/(\\W+)/);\n }\n }]);\n }();\n return Tt.Text = n, n.FIRST_CHAR_REGEX = /\\S/, n.DOUBLE_LINE = /\\n\\n/g, n.ONE_LINE = /\\n/g, Tt;\n}\nvar nn;\nfunction jn() {\n if (nn) return At;\n nn = 1, Object.defineProperty(At, \"__esModule\", {\n value: !0\n }), At.Translate = void 0;\n var n = $i();\n var e = /*#__PURE__*/function () {\n function e() {\n _classCallCheck(this, e);\n }\n return _createClass(e, null, [{\n key: \"translate\",\n value: function translate(i, s) {\n var r = n.Text.breakupIntoWordsArr(i);\n for (var o = 0; o < r.length; o += 1) s[r[o]] && (r[o] = s[r[o]]);\n return r.join(\"\");\n }\n }]);\n }();\n return At.Translate = e, At;\n}\nvar rn;\nfunction va() {\n if (rn) return wt;\n rn = 1, Object.defineProperty(wt, \"__esModule\", {\n value: !0\n }), wt.WebSpeechTranscript = void 0;\n var n = jn();\n var e = /*#__PURE__*/function () {\n function e() {\n _classCallCheck(this, e);\n }\n return _createClass(e, null, [{\n key: \"extract\",\n value: function extract(i, s, r) {\n var o = \"\";\n for (var a = i.resultIndex; a < i.results.length; ++a) {\n var l = i.results[a][0].transcript;\n r && (l = n.Translate.translate(l, r)), i.results[a].isFinal ? s += l : o += l;\n }\n return {\n interimTranscript: o,\n finalTranscript: s,\n newText: o || s\n };\n }\n }, {\n key: \"extractSafari\",\n value: function extractSafari(i, s, r) {\n var o = \"\";\n var a = \"\";\n for (var l = i.resultIndex; l < i.results.length; ++l) {\n var c = i.results[l][0].transcript;\n r && (c = n.Translate.translate(c, r)), o += c;\n }\n return {\n interimTranscript: a,\n finalTranscript: o,\n newText: a || o\n };\n }\n }]);\n }();\n return wt.WebSpeechTranscript = e, wt;\n}\nvar Ct = {},\n on;\nfunction Is() {\n if (on) return Ct;\n on = 1, Object.defineProperty(Ct, \"__esModule\", {\n value: !0\n }), Ct.Browser = void 0;\n var n = /*#__PURE__*/_createClass(function n() {\n _classCallCheck(this, n);\n });\n return Ct.Browser = n, n.IS_SAFARI = function () {\n return n._IS_SAFARI === void 0 && (n._IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), n._IS_SAFARI;\n }, Ct;\n}\nvar Rt = {},\n Mt = {},\n an;\nfunction ya() {\n if (an) return Mt;\n an = 1, Object.defineProperty(Mt, \"__esModule\", {\n value: !0\n }), Mt.EventListeners = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"getElementIfFocusedOnAvailable\",\n value: function getElementIfFocusedOnAvailable(t, i) {\n return Array.isArray(t) ? t.find(function (s) {\n return i === s;\n }) : i === t ? t : void 0;\n }\n }, {\n key: \"keyDownWindow\",\n value: function keyDownWindow(t) {\n var _this70 = this;\n t.element && n.getElementIfFocusedOnAvailable(t.element, document.activeElement) && (n.KEY_DOWN_TIMEOUT !== null && clearTimeout(n.KEY_DOWN_TIMEOUT), n.KEY_DOWN_TIMEOUT = setTimeout(function () {\n n.KEY_DOWN_TIMEOUT = null, _this70.resetRecording(t);\n }, 500));\n }\n }, {\n key: \"mouseDownWindow\",\n value: function mouseDownWindow(t, i) {\n this.mouseDownElement = n.getElementIfFocusedOnAvailable(t, i.target);\n }\n }, {\n key: \"mouseUpWindow\",\n value: function mouseUpWindow(t) {\n this.mouseDownElement && this.resetRecording(t), this.mouseDownElement = void 0;\n }\n }, {\n key: \"add\",\n value: function add(t, i) {\n var s = (i == null ? void 0 : i.insertInCursorLocation) === void 0 || (i == null ? void 0 : i.insertInCursorLocation);\n i != null && i.element && s && (t.mouseDownEvent = n.mouseDownWindow.bind(t, i.element), document.addEventListener(\"mousedown\", t.mouseDownEvent), t.mouseUpEvent = n.mouseUpWindow.bind(t, i), document.addEventListener(\"mouseup\", t.mouseUpEvent), t.keyDownEvent = n.keyDownWindow.bind(t, i), document.addEventListener(\"keydown\", t.keyDownEvent));\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n document.removeEventListener(\"mousedown\", t.mouseDownEvent), document.removeEventListener(\"mouseup\", t.mouseUpEvent), document.removeEventListener(\"keydown\", t.keyDownEvent);\n }\n }]);\n }();\n return Mt.EventListeners = n, n.KEY_DOWN_TIMEOUT = null, Mt;\n}\nvar kt = {},\n ln;\nfunction Ea() {\n if (ln) return kt;\n ln = 1, Object.defineProperty(kt, \"__esModule\", {\n value: !0\n }), kt.PreResultUtils = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"process\",\n value: function process(t, i, s, r, o) {\n var a = r == null ? void 0 : r(i, s);\n return a ? (setTimeout(function () {\n a.restart ? t.resetRecording(o) : a.stop && t.stop();\n }), (a.stop || a.restart) && a.removeNewText) : !1;\n }\n }]);\n }();\n return kt.PreResultUtils = n, kt;\n}\nvar Lt = {},\n It = {},\n cn;\nfunction Hn() {\n if (cn) return It;\n cn = 1, Object.defineProperty(It, \"__esModule\", {\n value: !0\n }), It.AutoScroll = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"changeStateIfNeeded\",\n value: function changeStateIfNeeded(t, i) {\n i && !t.isCursorAtEnd && (t.endPadding = \"\", t.scrollingSpan.innerHTML = \"&nbsp;\");\n }\n }, {\n key: \"scrollGeneric\",\n value: function scrollGeneric(t, i) {\n t.isCursorAtEnd ? i.scrollTop = i.scrollHeight : t.scrollingSpan.scrollIntoView({\n block: \"nearest\"\n });\n }\n // primitives don't need to be scrolled except in safari\n // they can only safely be scrolled to the end\n }, {\n key: \"scrollSafariPrimitiveToEnd\",\n value: function scrollSafariPrimitiveToEnd(t) {\n t.scrollLeft = t.scrollWidth, t.scrollTop = t.scrollHeight;\n }\n }, {\n key: \"isElementOverflown\",\n value: function isElementOverflown(t) {\n return t.scrollHeight > t.clientHeight || t.scrollWidth > t.clientWidth;\n }\n }, {\n key: \"isRequired\",\n value: function isRequired(t, i) {\n return t && n.isElementOverflown(i);\n }\n }]);\n }();\n return It.AutoScroll = n, It;\n}\nvar Ot = {},\n dn;\nfunction Ji() {\n if (dn) return Ot;\n dn = 1, Object.defineProperty(Ot, \"__esModule\", {\n value: !0\n }), Ot.Elements = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"isPrimitiveElement\",\n value: function isPrimitiveElement(t) {\n return t.tagName === \"INPUT\" || t.tagName === \"TEXTAREA\";\n }\n }, {\n key: \"createInterimSpan\",\n value: function createInterimSpan() {\n var t = document.createElement(\"span\");\n return t.style.color = \"grey\", t.style.pointerEvents = \"none\", t;\n }\n }, {\n key: \"createGenericSpan\",\n value: function createGenericSpan() {\n var t = document.createElement(\"span\");\n return t.style.pointerEvents = \"none\", t;\n }\n }, {\n key: \"appendSpans\",\n value: function appendSpans(t, i) {\n if (t.spansPopulated = !0, t.insertInCursorLocation && document.activeElement === i) {\n var s = window.getSelection();\n if (s != null && s.focusNode) {\n var r = s.getRangeAt(0);\n r.insertNode(t.scrollingSpan), r.insertNode(t.interimSpan), r.insertNode(t.finalSpan), r.collapse(!1), s.removeAllRanges(), s.addRange(r);\n return;\n }\n }\n i.appendChild(t.finalSpan), i.appendChild(t.interimSpan), i.appendChild(t.scrollingSpan);\n }\n }, {\n key: \"applyCustomColors\",\n value: function applyCustomColors(t, i) {\n i.interim && (t.interimSpan.style.color = i.interim), i[\"final\"] && (t.finalSpan.style.color = i[\"final\"]);\n }\n }, {\n key: \"isInsideShadowDOM\",\n value: function isInsideShadowDOM(t) {\n return t.getRootNode() instanceof ShadowRoot;\n }\n }]);\n }();\n return Ot.Elements = n, Ot;\n}\nvar Pt = {},\n hn;\nfunction Xi() {\n if (hn) return Pt;\n hn = 1, Object.defineProperty(Pt, \"__esModule\", {\n value: !0\n }), Pt.Cursor = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"setOffsetForGeneric\",\n value: function setOffsetForGeneric(t, i) {\n var s = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var r = 0;\n for (var o = 0; o < t.childNodes.length; o += 1) {\n var a = t.childNodes[o];\n if (a.childNodes.length > 0) {\n var l = n.setOffsetForGeneric(a, i, s);\n if (l === -1) return -1;\n s += l;\n } else if (a.textContent !== null) {\n if (s + a.textContent.length > i) {\n var _l3 = document.createRange();\n _l3.setStart(a, i - s), _l3.collapse(!0);\n var c = window.getSelection();\n return c == null || c.removeAllRanges(), c == null || c.addRange(_l3), t.focus(), -1;\n }\n s += a.textContent.length, r += a.textContent.length;\n }\n }\n return r;\n }\n }, {\n key: \"focusEndOfGeneric\",\n value: function focusEndOfGeneric(t) {\n var i = document.createRange();\n i.selectNodeContents(t), i.collapse(!1);\n var s = window.getSelection();\n s && (s.removeAllRanges(), s.addRange(i));\n }\n }, {\n key: \"setOffsetForSafariGeneric\",\n value: function setOffsetForSafariGeneric(t, i) {\n var s = window.getSelection();\n if (s) {\n var r = n.getGenericElementCursorOffset(t, s, !0);\n n.setOffsetForGeneric(t, r + i);\n }\n }\n // set to automatically scroll to cursor (scroll does not work in Safari)\n }, {\n key: \"setOffsetForPrimitive\",\n value: function setOffsetForPrimitive(t, i, s) {\n s && t.blur(), t.setSelectionRange(i, i), t.focus();\n }\n // Scroll Input in Safari - does not work for TextArea and uses span which can have a different style\n // private static getCursorOffsetFromLeft(inputElement: HTMLInputElement, position: number) {\n // // Get the value of the input element up to the cursor position\n // const valueUpToCursor = inputElement.value.substring(0, position);\n // // Create a temporary span element to measure the width of the text\n // const tempSpan = document.createElement('span');\n // tempSpan.textContent = valueUpToCursor;\n // tempSpan.style.visibility = 'hidden';\n // tempSpan.style.position = 'absolute';\n // document.body.appendChild(tempSpan);\n // // Measure the width of the text up to the cursor position\n // const offsetWidth = tempSpan.offsetWidth;\n // const offsetHeight = tempSpan.offsetHeight;\n // // Clean up the temporary span element\n // document.body.removeChild(tempSpan);\n // return {left: offsetWidth, top: offsetHeight};\n // }\n }, {\n key: \"getGenericElementCursorOffset\",\n value: function getGenericElementCursorOffset(t, i, s) {\n var r = 0;\n if (i.rangeCount > 0) {\n var o = i.getRangeAt(0),\n a = o.cloneRange();\n a.selectNodeContents(t), s ? a.setEnd(o.startContainer, o.startOffset) : a.setEnd(o.endContainer, o.endOffset), r = a.toString().length;\n }\n return r;\n }\n }]);\n }();\n return Pt.Cursor = n, Pt;\n}\nvar un;\nfunction qn() {\n if (un) return Lt;\n un = 1, Object.defineProperty(Lt, \"__esModule\", {\n value: !0\n }), Lt.CommandUtils = void 0;\n var n = Hn(),\n e = Ji(),\n t = Is(),\n i = Xi(),\n s = $i();\n var r = /*#__PURE__*/function () {\n function r() {\n _classCallCheck(this, r);\n }\n return _createClass(r, null, [{\n key: \"processCommand\",\n value: function processCommand(a, l) {\n return (!l || !l.caseSensitive) && (a = a.toLowerCase()), (l == null ? void 0 : l.substrings) === !1 ? s.Text.breakupIntoWordsArr(a) : a;\n }\n }, {\n key: \"process\",\n value: function process(a) {\n var l;\n return ((l = a.settings) === null || l === void 0 ? void 0 : l.caseSensitive) === !0 ? a : Object.keys(a).reduce(function (d, u) {\n var h = a[u];\n return d[u] = typeof h == \"string\" ? r.processCommand(h, a.settings) : h, d;\n }, {});\n }\n }, {\n key: \"toggleCommandModeOn\",\n value: function toggleCommandModeOn(a) {\n var l;\n a.isWaitingForCommand = !0, (l = a.onCommandModeTrigger) === null || l === void 0 || l.call(a, !0);\n }\n }, {\n key: \"toggleCommandModeOff\",\n value: function toggleCommandModeOff(a) {\n var l;\n a.isWaitingForCommand && ((l = a.onCommandModeTrigger) === null || l === void 0 || l.call(a, !1), a.isWaitingForCommand = !1);\n }\n }, {\n key: \"setText\",\n value: function setText(a, l, c, d) {\n r.toggleCommandModeOff(a), e.Elements.isPrimitiveElement(d) ? (d.value = c, a.isTargetInShadow || i.Cursor.setOffsetForPrimitive(d, c.length, !0), t.Browser.IS_SAFARI() && a.autoScroll && n.AutoScroll.scrollSafariPrimitiveToEnd(d)) : (d.textContent = c, a.isTargetInShadow || i.Cursor.focusEndOfGeneric(d), setTimeout(function () {\n return n.AutoScroll.scrollGeneric(a, d);\n })), a.resetRecording(l);\n }\n }, {\n key: \"checkIfMatchesSubstring\",\n value: function checkIfMatchesSubstring(a, l) {\n return l.includes(a);\n }\n }, {\n key: \"checkIfMatchesWord\",\n value: function checkIfMatchesWord(a, l, c) {\n var d = a;\n for (var u = c.length - 1; u >= 0; u -= 1) {\n var h = u,\n f = d.length - 1;\n for (; c[h] === d[f] && f >= 0;) h -= 1, f -= 1;\n if (f < 0) return !0;\n }\n return !1;\n }\n // prettier-ignore\n }, {\n key: \"execCommand\",\n value: function execCommand(a, l, c, d, u) {\n var h, f, m;\n var p = a.commands;\n if (!p || !d || !c) return;\n var g = ((h = p.settings) === null || h === void 0 ? void 0 : h.caseSensitive) === !0 ? l : l.toLowerCase(),\n b = s.Text.breakupIntoWordsArr(g),\n k = ((f = p.settings) === null || f === void 0 ? void 0 : f.substrings) === !1 ? r.checkIfMatchesWord : r.checkIfMatchesSubstring;\n if (p.commandMode && k(p.commandMode, g, b)) return a.setInterimColorToFinal(), setTimeout(function () {\n return r.toggleCommandModeOn(a);\n }), {\n doNotProcessTranscription: !1\n };\n if (!(p.commandMode && !a.isWaitingForCommand)) {\n if (p.stop && k(p.stop, g, b)) return r.toggleCommandModeOff(a), setTimeout(function () {\n return a.stop();\n }), {\n doNotProcessTranscription: !1\n };\n if (p.pause && k(p.pause, g, b)) return r.toggleCommandModeOff(a), a.setInterimColorToFinal(), setTimeout(function () {\n var j;\n a.isPaused = !0, (j = a.onPauseTrigger) === null || j === void 0 || j.call(a, !0);\n }), {\n doNotProcessTranscription: !1\n };\n if (p.resume && k(p.resume, g, b)) return a.isPaused = !1, (m = a.onPauseTrigger) === null || m === void 0 || m.call(a, !1), r.toggleCommandModeOff(a), a.resetRecording(c), {\n doNotProcessTranscription: !0\n };\n if (p.reset && k(p.reset, g, b)) return u !== void 0 && r.setText(a, c, u, d), {\n doNotProcessTranscription: !0\n };\n if (p.removeAllText && k(p.removeAllText, g, b)) return r.setText(a, c, \"\", d), {\n doNotProcessTranscription: !0\n };\n }\n }\n }]);\n }();\n return Lt.CommandUtils = r, Lt;\n}\nvar Nt = {},\n fn;\nfunction Sa() {\n if (fn) return Nt;\n fn = 1, Object.defineProperty(Nt, \"__esModule\", {\n value: !0\n }), Nt.Highlight = void 0;\n var n = Ji(),\n e = Xi();\n var t = /*#__PURE__*/function () {\n function t() {\n _classCallCheck(this, t);\n }\n return _createClass(t, null, [{\n key: \"setStateForPrimitive\",\n value: function setStateForPrimitive(s, r) {\n var o, a;\n r.selectionStart !== null && (o = r.selectionStart), r.selectionEnd !== null && (a = r.selectionEnd), s.isHighlighted = o !== a;\n }\n }, {\n key: \"setStateForGeneric\",\n value: function setStateForGeneric(s, r) {\n var o = window.getSelection();\n if (o != null && o.focusNode) {\n var a = e.Cursor.getGenericElementCursorOffset(r, o, !0),\n l = e.Cursor.getGenericElementCursorOffset(r, o, !1);\n s.isHighlighted = a !== l;\n }\n }\n }, {\n key: \"setState\",\n value: function setState(s, r) {\n document.activeElement === r && (n.Elements.isPrimitiveElement(r) ? t.setStateForPrimitive(s, r) : t.setStateForGeneric(s, r));\n }\n }, {\n key: \"removeForGeneric\",\n value: function removeForGeneric(s, r) {\n var o = window.getSelection();\n if (o) {\n var a = e.Cursor.getGenericElementCursorOffset(r, o, !0);\n o.deleteFromDocument(), e.Cursor.setOffsetForGeneric(r, a), s.isHighlighted = !1;\n }\n }\n }, {\n key: \"removeForPrimitive\",\n value: function removeForPrimitive(s, r) {\n var o = r.selectionStart,\n a = r.selectionEnd,\n l = r.value;\n if (o && a) {\n var c = l.substring(0, o) + l.substring(a);\n r.value = c, e.Cursor.setOffsetForPrimitive(r, o, s.autoScroll);\n }\n s.isHighlighted = !1;\n }\n }]);\n }();\n return Nt.Highlight = t, Nt;\n}\nvar Dt = {},\n pn;\nfunction _a() {\n if (pn) return Dt;\n pn = 1, Object.defineProperty(Dt, \"__esModule\", {\n value: !0\n }), Dt.Padding = void 0;\n var n = Ji(),\n e = Xi(),\n t = $i();\n var i = /*#__PURE__*/function () {\n function i() {\n _classCallCheck(this, i);\n }\n return _createClass(i, null, [{\n key: \"setStateForPrimitiveElement\",\n value: function setStateForPrimitiveElement(r, o) {\n if (document.activeElement === o && o.selectionStart !== null) {\n var l = o.selectionStart,\n c = o.value[l - 1],\n d = o.selectionEnd === null ? l : o.selectionEnd,\n u = o.value[d];\n t.Text.isCharDefined(c) && (r.startPadding = \" \", r.numberOfSpacesBeforeNewText = 1), t.Text.isCharDefined(u) && (r.endPadding = \" \", r.numberOfSpacesAfterNewText = 1), r.isCursorAtEnd = o.value.length === d;\n return;\n }\n var a = o.value[o.value.length - 1];\n t.Text.isCharDefined(a) && (r.startPadding = \" \", r.numberOfSpacesBeforeNewText = 1), r.isCursorAtEnd = !0;\n }\n }, {\n key: \"setStateForGenericElement\",\n value: function setStateForGenericElement(r, o) {\n var a, l, c;\n if (document.activeElement === o) {\n var u = window.getSelection();\n if (u != null && u.focusNode) {\n var h = e.Cursor.getGenericElementCursorOffset(o, u, !0),\n f = (a = o.textContent) === null || a === void 0 ? void 0 : a[h - 1],\n m = e.Cursor.getGenericElementCursorOffset(o, u, !1),\n p = (l = o.textContent) === null || l === void 0 ? void 0 : l[m];\n t.Text.isCharDefined(f) && (r.startPadding = \" \"), t.Text.isCharDefined(p) && (r.endPadding = \" \"), r.isCursorAtEnd = ((c = o.textContent) === null || c === void 0 ? void 0 : c.length) === m;\n return;\n }\n }\n var d = o.innerText.charAt(o.innerText.length - 1);\n t.Text.isCharDefined(d) && (r.startPadding = \" \"), r.isCursorAtEnd = !0;\n }\n }, {\n key: \"setState\",\n value: function setState(r, o) {\n n.Elements.isPrimitiveElement(o) ? i.setStateForPrimitiveElement(r, o) : i.setStateForGenericElement(r, o);\n }\n }, {\n key: \"adjustStateAfterRecodingPrimitiveElement\",\n value: function adjustStateAfterRecodingPrimitiveElement(r, o) {\n if (r.primitiveTextRecorded = !0, r.insertInCursorLocation && document.activeElement === o && (o.selectionEnd !== null && (r.endPadding = r.endPadding + o.value.slice(o.selectionEnd)), o.selectionStart !== null)) {\n r.startPadding = o.value.slice(0, o.selectionStart) + r.startPadding;\n return;\n }\n r.startPadding = o.value + r.startPadding;\n }\n }, {\n key: \"adjustSateForNoTextPrimitiveElement\",\n value: function adjustSateForNoTextPrimitiveElement(r) {\n r.numberOfSpacesBeforeNewText === 1 && (r.startPadding = r.startPadding.substring(0, r.startPadding.length - 1), r.numberOfSpacesBeforeNewText = 0), r.numberOfSpacesAfterNewText === 1 && (r.endPadding = r.endPadding.substring(1), r.numberOfSpacesAfterNewText = 0);\n }\n }]);\n }();\n return Dt.Padding = i, Dt;\n}\nvar mn;\nfunction zn() {\n if (mn) return Rt;\n mn = 1, Object.defineProperty(Rt, \"__esModule\", {\n value: !0\n }), Rt.Speech = void 0;\n var n = ya(),\n e = Ea(),\n t = qn(),\n i = Hn(),\n s = Sa(),\n r = Ji(),\n o = _a(),\n a = Is(),\n l = Xi(),\n c = $i();\n var d = /*#__PURE__*/function () {\n function d() {\n _classCallCheck(this, d);\n this.finalTranscript = \"\", this.interimSpan = r.Elements.createInterimSpan(), this.finalSpan = r.Elements.createGenericSpan(), this.scrollingSpan = r.Elements.createGenericSpan(), this.isCursorAtEnd = !1, this.spansPopulated = !1, this.startPadding = \"\", this.endPadding = \"\", this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.recognizing = !1, this._displayInterimResults = !0, this.insertInCursorLocation = !0, this.autoScroll = !0, this.isRestarting = !1, this.isPaused = !1, this.isWaitingForCommand = !1, this.isTargetInShadow = !1, this.cannotBeStopped = !1, this.resetState();\n }\n return _createClass(d, [{\n key: \"prepareBeforeStart\",\n value: function prepareBeforeStart(h) {\n var f, m;\n if (h != null && h.element) if (n.EventListeners.add(this, h), Array.isArray(h.element)) {\n var g = h.element.find(function (b) {\n return b === document.activeElement;\n }) || h.element[0];\n if (!g) return;\n this.prepare(g);\n } else this.prepare(h.element);\n (h == null ? void 0 : h.displayInterimResults) !== void 0 && (this._displayInterimResults = h.displayInterimResults), h != null && h.textColor && (this._finalTextColor = (f = h == null ? void 0 : h.textColor) === null || f === void 0 ? void 0 : f[\"final\"], r.Elements.applyCustomColors(this, h.textColor)), (h == null ? void 0 : h.insertInCursorLocation) !== void 0 && (this.insertInCursorLocation = h.insertInCursorLocation), (h == null ? void 0 : h.autoScroll) !== void 0 && (this.autoScroll = h.autoScroll), this._onResult = h == null ? void 0 : h.onResult, this._onPreResult = h == null ? void 0 : h.onPreResult, this._onStart = h == null ? void 0 : h.onStart, this._onStop = h == null ? void 0 : h.onStop, this._onError = h == null ? void 0 : h.onError, this.onCommandModeTrigger = h == null ? void 0 : h.onCommandModeTrigger, this.onPauseTrigger = h == null ? void 0 : h.onPauseTrigger, this._options = h, !((m = this._options) === null || m === void 0) && m.commands && (this.commands = t.CommandUtils.process(this._options.commands));\n }\n }, {\n key: \"prepare\",\n value: function prepare(h) {\n o.Padding.setState(this, h), s.Highlight.setState(this, h), this.isTargetInShadow = r.Elements.isInsideShadowDOM(h), r.Elements.isPrimitiveElement(h) ? (this._primitiveElement = h, this._originalText = this._primitiveElement.value) : (this._genericElement = h, this._originalText = this._genericElement.textContent);\n }\n // there was an attempt to optimize this by not having to restart the service and just reset state:\n // unfortunately it did not work because the service would still continue firing the intermediate and final results\n // into the new position\n }, {\n key: \"resetRecording\",\n value: function resetRecording(h) {\n this.isRestarting = !0, this.stop(!0), this.resetState(!0), this.start(h, !0);\n }\n // prettier-ignore\n }, {\n key: \"updateElements\",\n value: function updateElements(h, f, m) {\n var p;\n var g = c.Text.capitalize(f);\n if (this.finalTranscript === g && h === \"\") return;\n e.PreResultUtils.process(this, m, h === \"\", this._onPreResult, this._options) && (h = \"\", m = \"\");\n var b = this.commands && t.CommandUtils.execCommand(this, m, this._options, this._primitiveElement || this._genericElement, this._originalText);\n if (b) {\n if (b.doNotProcessTranscription) return;\n h = \"\", m = \"\";\n }\n if (this.isPaused || this.isWaitingForCommand) return;\n (p = this._onResult) === null || p === void 0 || p.call(this, m, h === \"\"), this.finalTranscript = g, this._displayInterimResults || (h = \"\");\n var k = this.finalTranscript === \"\" && h === \"\";\n this._primitiveElement ? this.updatePrimitiveElement(this._primitiveElement, h, k) : this._genericElement && this.updateGenericElement(this._genericElement, h, k);\n }\n // prettier-ignore\n // remember that padding values here contain actual text left and right\n }, {\n key: \"updatePrimitiveElement\",\n value: function updatePrimitiveElement(h, f, m) {\n this.isHighlighted && s.Highlight.removeForPrimitive(this, h), this.primitiveTextRecorded || o.Padding.adjustStateAfterRecodingPrimitiveElement(this, h), m && o.Padding.adjustSateForNoTextPrimitiveElement(this);\n var p = this.startPadding + this.finalTranscript + f;\n if (h.value = p + this.endPadding, !this.isTargetInShadow) {\n var g = p.length + this.numberOfSpacesAfterNewText;\n l.Cursor.setOffsetForPrimitive(h, g, this.autoScroll);\n }\n this.autoScroll && a.Browser.IS_SAFARI() && this.isCursorAtEnd && i.AutoScroll.scrollSafariPrimitiveToEnd(h);\n }\n }, {\n key: \"updateGenericElement\",\n value: function updateGenericElement(h, f, m) {\n this.isHighlighted && s.Highlight.removeForGeneric(this, h), this.spansPopulated || r.Elements.appendSpans(this, h);\n var p = (m ? \"\" : this.startPadding) + c.Text.lineBreak(this.finalTranscript);\n this.finalSpan.innerHTML = p;\n var g = i.AutoScroll.isRequired(this.autoScroll, h);\n i.AutoScroll.changeStateIfNeeded(this, g);\n var b = c.Text.lineBreak(f) + (m ? \"\" : this.endPadding);\n this.interimSpan.innerHTML = b, a.Browser.IS_SAFARI() && this.insertInCursorLocation && l.Cursor.setOffsetForSafariGeneric(h, p.length + b.length), g && i.AutoScroll.scrollGeneric(this, h), m && (this.scrollingSpan.innerHTML = \"\");\n }\n }, {\n key: \"finalise\",\n value: function finalise(h) {\n this._genericElement && (h ? (this.finalSpan = r.Elements.createGenericSpan(), this.setInterimColorToFinal(), this.interimSpan = r.Elements.createInterimSpan(), this.scrollingSpan = r.Elements.createGenericSpan()) : this._genericElement.textContent = this._genericElement.textContent, this.spansPopulated = !1), n.EventListeners.remove(this);\n }\n }, {\n key: \"setInterimColorToFinal\",\n value: function setInterimColorToFinal() {\n this.interimSpan.style.color = this._finalTextColor || \"black\";\n }\n }, {\n key: \"resetState\",\n value: function resetState(h) {\n this._primitiveElement = void 0, this._genericElement = void 0, this.finalTranscript = \"\", this.finalSpan.innerHTML = \"\", this.interimSpan.innerHTML = \"\", this.scrollingSpan.innerHTML = \"\", this.startPadding = \"\", this.endPadding = \"\", this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, h || (this.stopTimeout = void 0);\n }\n }, {\n key: \"setStateOnStart\",\n value: function setStateOnStart() {\n var h;\n this.recognizing = !0, this.isRestarting ? this.isRestarting = !1 : (h = this._onStart) === null || h === void 0 || h.call(this);\n }\n }, {\n key: \"setStateOnStop\",\n value: function setStateOnStop() {\n var h;\n this.recognizing = !1, this.isRestarting || (h = this._onStop) === null || h === void 0 || h.call(this);\n }\n }, {\n key: \"setStateOnError\",\n value: function setStateOnError(h) {\n var f;\n (f = this._onError) === null || f === void 0 || f.call(this, h), this.recognizing = !1;\n }\n }]);\n }();\n return Rt.Speech = d, Rt;\n}\nvar gn;\nfunction xa() {\n if (gn) return xt;\n gn = 1, Object.defineProperty(xt, \"__esModule\", {\n value: !0\n }), xt.WebSpeech = void 0;\n var n = va(),\n e = Is(),\n t = zn();\n var i = /*#__PURE__*/function (_t$Speech) {\n function i() {\n _classCallCheck(this, i);\n return _callSuper(this, i);\n }\n _inherits(i, _t$Speech);\n return _createClass(i, [{\n key: \"start\",\n value: function start(r) {\n var o;\n this._extractText === void 0 && (this._extractText = e.Browser.IS_SAFARI() ? n.WebSpeechTranscript.extractSafari : n.WebSpeechTranscript.extract), this.validate() && (this.prepareBeforeStart(r), this.instantiateService(r), (o = this._service) === null || o === void 0 || o.start(), this._translations = r == null ? void 0 : r.translations);\n }\n }, {\n key: \"validate\",\n value: function validate() {\n return i.getAPI() ? !0 : (this.error(\"Speech Recognition is unsupported\"), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function instantiateService(r) {\n var o, a;\n var l = i.getAPI();\n this._service = new l(), this._service.continuous = !0, this._service.interimResults = (o = r == null ? void 0 : r.displayInterimResults) !== null && o !== void 0 ? o : !0, this._service.lang = ((a = r == null ? void 0 : r.language) === null || a === void 0 ? void 0 : a.trim()) || \"en-US\", this.setEvents();\n }\n }, {\n key: \"setEvents\",\n value: function setEvents() {\n var _this71 = this;\n this._service && (this._service.onstart = function () {\n _this71.setStateOnStart();\n }, this._service.onerror = function (r) {\n e.Browser.IS_SAFARI() && r.message === \"Another request is started\" || r.error === \"aborted\" && _this71.isRestarting || r.error !== \"no-speech\" && _this71.error(r.message || r.error);\n }, this._service.onaudioend = function () {\n _this71.setStateOnStop();\n }, this._service.onend = function () {\n _this71._stopping = !1;\n }, this._service.onresult = function (r) {\n if (_typeof(r.results) > \"u\" && _this71._service) _this71._service.onend = null, _this71._service.stop();else if (_this71._extractText && !_this71._stopping) {\n var _this71$_extractText = _this71._extractText(r, _this71.finalTranscript, _this71._translations),\n o = _this71$_extractText.interimTranscript,\n a = _this71$_extractText.finalTranscript,\n l = _this71$_extractText.newText;\n _this71.updateElements(o, a, l);\n }\n });\n }\n }, {\n key: \"stop\",\n value: function stop(r) {\n var o;\n this._stopping = !0, (o = this._service) === null || o === void 0 || o.stop(), this.finalise(r);\n }\n }, {\n key: \"error\",\n value: function error(r) {\n console.error(r), this.setStateOnError(r), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.webkitSpeechRecognition || window.SpeechRecognition;\n }\n }]);\n }(t.Speech);\n return xt.WebSpeech = i, xt;\n}\nvar Bt = {},\n bn;\nfunction wa() {\n if (bn) return Bt;\n bn = 1, Object.defineProperty(Bt, \"__esModule\", {\n value: !0\n }), Bt.GlobalState = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"doubleClickDetector\",\n value: function doubleClickDetector() {\n return n.doubleClickPending ? !0 : (n.doubleClickPending = !0, setTimeout(function () {\n n.doubleClickPending = !1;\n }, 300), !1);\n }\n }]);\n }();\n return Bt.GlobalState = n, n.doubleClickPending = !1, Bt;\n}\nvar Ft = {},\n Ut = {},\n vn;\nfunction Aa() {\n if (vn) return Ut;\n vn = 1, Object.defineProperty(Ut, \"__esModule\", {\n value: !0\n }), Ut.PreventConnectionStop = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"applyPrevention\",\n value: function applyPrevention(t) {\n clearTimeout(t._manualConnectionStopPrevention), t.cannotBeStopped = !0, t._manualConnectionStopPrevention = setTimeout(function () {\n t.cannotBeStopped = !1;\n }, 800);\n }\n }, {\n key: \"clearPrevention\",\n value: function clearPrevention(t) {\n clearTimeout(t._manualConnectionStopPrevention), t.cannotBeStopped = !1;\n }\n }]);\n }();\n return Ut.PreventConnectionStop = n, Ut;\n}\nvar jt = {},\n Ht = {},\n yn;\nfunction Ta() {\n return yn || (yn = 1, Object.defineProperty(Ht, \"__esModule\", {\n value: !0\n }), Ht.README_URL = void 0, Ht.README_URL = \"https://github.com/OvidijusParsiunas/speech-to-element\"), Ht;\n}\nvar En;\nfunction Ca() {\n if (En) return jt;\n En = 1, Object.defineProperty(jt, \"__esModule\", {\n value: !0\n }), jt.AzureSpeechConfig = void 0;\n var n = Ta();\n var e = /*#__PURE__*/function () {\n function e() {\n _classCallCheck(this, e);\n }\n return _createClass(e, null, [{\n key: \"validateOptions\",\n value: function validateOptions(i, s) {\n return s ? !s.subscriptionKey && !s.token && !s.retrieveToken ? (i(\"Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: \".concat(n.README_URL)), !1) : s.region ? !0 : (i(\"Please define a 'region' property - more info: \".concat(n.README_URL)), !1) : (i(\"Please provide subscription details - more info: \".concat(n.README_URL)), !1);\n }\n }, {\n key: \"getNewSpeechConfig\",\n value: function () {\n var _getNewSpeechConfig = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee126(i, s) {\n return _regeneratorRuntime().wrap(function _callee126$(_context126) {\n while (1) switch (_context126.prev = _context126.next) {\n case 0:\n if (!s.region) {\n _context126.next = 2;\n break;\n }\n return _context126.abrupt(\"return\", s.subscriptionKey ? i.fromSubscription(s.subscriptionKey.trim(), s.region.trim()) : s.token ? i.fromAuthorizationToken(s.token.trim(), s.region.trim()) : s.retrieveToken ? s.retrieveToken().then(function (r) {\n return s.region ? i.fromAuthorizationToken((r == null ? void 0 : r.trim()) || \"\", s.region.trim()) : null;\n })[\"catch\"](function (r) {\n return console.error(r), null;\n }) : null);\n case 2:\n case \"end\":\n return _context126.stop();\n }\n }, _callee126);\n }));\n function getNewSpeechConfig(_x232, _x233) {\n return _getNewSpeechConfig.apply(this, arguments);\n }\n return getNewSpeechConfig;\n }()\n }, {\n key: \"process\",\n value: function process(i, s) {\n s.endpointId && (i.endpointId = s.endpointId.trim()), s.language && (i.speechRecognitionLanguage = s.language.trim());\n }\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee127(i, s) {\n var r;\n return _regeneratorRuntime().wrap(function _callee127$(_context127) {\n while (1) switch (_context127.prev = _context127.next) {\n case 0:\n _context127.next = 2;\n return e.getNewSpeechConfig(i, s);\n case 2:\n r = _context127.sent;\n return _context127.abrupt(\"return\", (r && e.process(r, s), r));\n case 4:\n case \"end\":\n return _context127.stop();\n }\n }, _callee127);\n }));\n function get(_x234, _x235) {\n return _get.apply(this, arguments);\n }\n return get;\n }()\n }]);\n }();\n return jt.AzureSpeechConfig = e, jt;\n}\nvar qt = {},\n Sn;\nfunction Ra() {\n if (Sn) return qt;\n Sn = 1, Object.defineProperty(qt, \"__esModule\", {\n value: !0\n }), qt.StopTimeout = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"set\",\n value: function set(t) {\n t.stopTimeout = setTimeout(function () {\n return t.stop();\n }, t.stopTimeoutMS);\n }\n }, {\n key: \"reset\",\n value: function reset(t, i) {\n t.stopTimeoutMS = i || n.DEFAULT_MS, n.stop(t), n.set(t);\n }\n }, {\n key: \"stop\",\n value: function stop(t) {\n t.stopTimeout && clearTimeout(t.stopTimeout);\n }\n }]);\n }();\n return qt.StopTimeout = n, n.DEFAULT_MS = 2e4, qt;\n}\nvar zt = {},\n _n;\nfunction Ma() {\n if (_n) return zt;\n _n = 1, Object.defineProperty(zt, \"__esModule\", {\n value: !0\n }), zt.AzureAudioConfig = void 0;\n var n = /*#__PURE__*/function () {\n function n() {\n _classCallCheck(this, n);\n }\n return _createClass(n, null, [{\n key: \"get\",\n value: function get(t, i) {\n return i ? t.fromMicrophoneInput(i) : t.fromDefaultMicrophoneInput();\n }\n }]);\n }();\n return zt.AzureAudioConfig = n, zt;\n}\nvar Gt = {},\n xn;\nfunction ka() {\n if (xn) return Gt;\n xn = 1, Object.defineProperty(Gt, \"__esModule\", {\n value: !0\n }), Gt.AzureTranscript = void 0;\n var n = jn();\n var e = /*#__PURE__*/function () {\n function e() {\n _classCallCheck(this, e);\n }\n return _createClass(e, null, [{\n key: \"extract\",\n value:\n // newText is used to only send new text in onResult as finalTranscript is continuously accumulated\n function extract(i, s, r, o) {\n return o && (i = n.Translate.translate(i, o)), r ? {\n interimTranscript: \"\",\n finalTranscript: s + i,\n newText: i\n } : {\n interimTranscript: i,\n finalTranscript: s,\n newText: i\n };\n }\n }]);\n }();\n return Gt.AzureTranscript = e, Gt;\n}\nvar wn;\nfunction La() {\n if (wn) return Ft;\n wn = 1, Object.defineProperty(Ft, \"__esModule\", {\n value: !0\n }), Ft.Azure = void 0;\n var n = Aa(),\n e = Ca(),\n t = Ra(),\n i = Ma(),\n s = ka(),\n r = zn();\n var o = /*#__PURE__*/function (_r$Speech) {\n function o() {\n var _this72;\n _classCallCheck(this, o);\n _this72 = _callSuper(this, o, arguments), _this72._newTextPadding = \"\";\n return _this72;\n }\n _inherits(o, _r$Speech);\n return _createClass(o, [{\n key: \"start\",\n value: function start(l, c) {\n this._newTextPadding = \"\", this.stopTimeout === void 0 && t.StopTimeout.reset(this, l == null ? void 0 : l.stopAfterSilenceMs), this.prepareBeforeStart(l), this.startAsync(l), c || n.PreventConnectionStop.applyPrevention(this);\n }\n }, {\n key: \"startAsync\",\n value: function () {\n var _startAsync = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee128(l) {\n var c;\n return _regeneratorRuntime().wrap(function _callee128$(_context128) {\n while (1) switch (_context128.prev = _context128.next) {\n case 0:\n _context128.t0 = this.validate(l);\n if (!_context128.t0) {\n _context128.next = 6;\n break;\n }\n _context128.next = 4;\n return this.instantiateService(l);\n case 4:\n this._translations = l == null ? void 0 : l.translations;\n (c = this._service) === null || c === void 0 || c.startContinuousRecognitionAsync(function () {}, this.error);\n case 6:\n case \"end\":\n return _context128.stop();\n }\n }, _callee128, this);\n }));\n function startAsync(_x236) {\n return _startAsync.apply(this, arguments);\n }\n return startAsync;\n }()\n }, {\n key: \"validate\",\n value: function validate(l) {\n return o.getAPI() ? e.AzureSpeechConfig.validateOptions(this.error.bind(this), l) : (this.moduleNotFound(), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function () {\n var _instantiateService = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee129(l) {\n var c, d, u, h, _l$autoLanguage, f, m, p, g;\n return _regeneratorRuntime().wrap(function _callee129$(_context129) {\n while (1) switch (_context129.prev = _context129.next) {\n case 0:\n c = o.getAPI();\n d = i.AzureAudioConfig.get(c.AudioConfig, l.deviceId);\n _context129.next = 4;\n return e.AzureSpeechConfig.get(c.SpeechConfig, l);\n case 4:\n u = _context129.sent;\n if (u) {\n if (l.autoLanguage && l.autoLanguage.languages.length > 0) {\n _l$autoLanguage = l.autoLanguage, f = _l$autoLanguage.type, m = _l$autoLanguage.languages, p = m.slice(0, f === \"Continuous\" ? 10 : 4), g = c.AutoDetectSourceLanguageConfig.fromLanguages(p);\n f === \"Continuous\" && (g.mode = 1), h = c.SpeechRecognizer.FromConfig(u, g, d);\n } else h = new c.SpeechRecognizer(u, d);\n this.setEvents(h), this._service = h, l.retrieveToken && this.retrieveTokenInterval(l.retrieveToken);\n } else this.error(\"Unable to contact Azure server\");\n case 6:\n case \"end\":\n return _context129.stop();\n }\n }, _callee129, this);\n }));\n function instantiateService(_x237) {\n return _instantiateService.apply(this, arguments);\n }\n return instantiateService;\n }()\n }, {\n key: \"setEvents\",\n value: function setEvents(l) {\n l.recognizing = this.onRecognizing.bind(this), l.recognized = this.onRecognized.bind(this), l.sessionStarted = this.onSessionStarted.bind(this), l.canceled = this.onCanceled.bind(this), l.sessionStopped = this.onSessionStopped.bind(this);\n }\n // prettier-ignore\n }, {\n key: \"onRecognizing\",\n value: function onRecognizing(l, c) {\n if (this._stopping) return;\n var _s$AzureTranscript$ex = s.AzureTranscript.extract(this._newTextPadding + c.result.text, this.finalTranscript, !1, this._translations),\n d = _s$AzureTranscript$ex.interimTranscript,\n u = _s$AzureTranscript$ex.finalTranscript,\n h = _s$AzureTranscript$ex.newText;\n t.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(d, u, h);\n }\n // prettier-ignore\n }, {\n key: \"onRecognized\",\n value: function onRecognized(l, c) {\n var d = c.result;\n switch (d.reason) {\n case window.SpeechSDK.ResultReason.Canceled:\n break;\n case window.SpeechSDK.ResultReason.RecognizedSpeech:\n if (d.text && !this._stopping) {\n var _s$AzureTranscript$ex2 = s.AzureTranscript.extract(this._newTextPadding + d.text, this.finalTranscript, !0, this._translations),\n u = _s$AzureTranscript$ex2.interimTranscript,\n h = _s$AzureTranscript$ex2.finalTranscript,\n f = _s$AzureTranscript$ex2.newText;\n t.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(u, h, f), h !== \"\" && (this._newTextPadding = \" \");\n }\n break;\n }\n }\n }, {\n key: \"onCanceled\",\n value: function onCanceled(l, c) {\n c.reason === window.SpeechSDK.CancellationReason.Error && this.error(c.errorDetails);\n }\n }, {\n key: \"onSessionStarted\",\n value: function onSessionStarted() {\n n.PreventConnectionStop.clearPrevention(this), this.setStateOnStart();\n }\n }, {\n key: \"onSessionStopped\",\n value: function onSessionStopped() {\n this._retrieveTokenInterval || clearInterval(this._retrieveTokenInterval), this._stopping = !1, this.setStateOnStop();\n }\n }, {\n key: \"retrieveTokenInterval\",\n value: function retrieveTokenInterval(l) {\n var _this73 = this;\n this._retrieveTokenInterval = setInterval(function () {\n l == null || l().then(function (c) {\n _this73._service && (_this73._service.authorizationToken = (c == null ? void 0 : c.trim()) || \"\");\n })[\"catch\"](function (c) {\n _this73.error(c);\n });\n }, 1e4);\n }\n }, {\n key: \"stop\",\n value: function stop(l) {\n var c;\n !l && this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), this._stopping = !0, (c = this._service) === null || c === void 0 || c.stopContinuousRecognitionAsync(), t.StopTimeout.stop(this), this.finalise(l);\n }\n }, {\n key: \"moduleNotFound\",\n value: function moduleNotFound() {\n console.error(\"speech recognition module not found:\"), console.error(\"please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: <script src=\\\"https://aka.ms/csspeech/jsbrowserpackageraw\\\"></script>\"), this.setStateOnError(\"speech recognition module not found\");\n }\n }, {\n key: \"error\",\n value: function error(l) {\n this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), console.error(l), this.setStateOnError(l), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.SpeechSDK;\n }\n }]);\n }(r.Speech);\n return Ft.Azure = o, Ft;\n}\nvar An;\nfunction Ia() {\n if (An) return bi;\n An = 1, Object.defineProperty(bi, \"__esModule\", {\n value: !0\n });\n var n = xa(),\n e = qn(),\n t = wa(),\n i = La();\n var s = /*#__PURE__*/function () {\n function s() {\n _classCallCheck(this, s);\n }\n return _createClass(s, null, [{\n key: \"toggle\",\n value: function toggle(o, a) {\n var l, c;\n var d = o.toLocaleLowerCase().trim();\n !((l = t.GlobalState.service) === null || l === void 0) && l.recognizing ? this.stop() : d === \"webspeech\" ? s.startWebSpeech(a) : d === \"azure\" ? s.startAzure(a) : (console.error(\"service not found - must be either 'webspeech' or 'azure'\"), (c = a == null ? void 0 : a.onError) === null || c === void 0 || c.call(a, \"service not found - must be either 'webspeech' or 'azure'\"));\n }\n }, {\n key: \"startWebSpeech\",\n value: function startWebSpeech(o) {\n s.stop() || (t.GlobalState.service = new n.WebSpeech(), t.GlobalState.service.start(o));\n }\n }, {\n key: \"isWebSpeechSupported\",\n value: function isWebSpeechSupported() {\n return !!n.WebSpeech.getAPI();\n }\n }, {\n key: \"startAzure\",\n value: function startAzure(o) {\n var a;\n s.stop() || !((a = t.GlobalState.service) === null || a === void 0) && a.cannotBeStopped || (t.GlobalState.service = new i.Azure(), t.GlobalState.service.start(o));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var o;\n return t.GlobalState.doubleClickDetector() ? !0 : (!((o = t.GlobalState.service) === null || o === void 0) && o.recognizing && t.GlobalState.service.stop(), !1);\n }\n }, {\n key: \"endCommandMode\",\n value: function endCommandMode() {\n t.GlobalState.service && e.CommandUtils.toggleCommandModeOff(t.GlobalState.service);\n }\n }]);\n }();\n return bi[\"default\"] = s, bi;\n}\nvar Oa = Ia();\nvar vi = /* @__PURE__ */ba(Oa);\nvar Pa = /*#__PURE__*/function () {\n function Pa(e, t) {\n _classCallCheck(this, Pa);\n this._silenceMS = 2e3, this._stop = !0, typeof t == \"boolean\" && t === !1 && (this._stop = !1), typeof e == \"number\" && (this._silenceMS = e);\n }\n return _createClass(Pa, [{\n key: \"setSilenceTimeout\",\n value: function setSilenceTimeout(e, t) {\n var _this74 = this;\n this._silenceTimeout = setTimeout(function () {\n var i;\n (i = e.submit) == null || i.call(e), vi.stop(), _this74._stop || setTimeout(t, li.MICROPHONE_RESET_TIMEOUT_MS);\n }, this._silenceMS);\n }\n }, {\n key: \"clearSilenceTimeout\",\n value: function clearSilenceTimeout() {\n this._silenceTimeout && clearTimeout(this._silenceTimeout);\n }\n }, {\n key: \"resetSilenceTimeout\",\n value: function resetSilenceTimeout(e, t) {\n this.clearSilenceTimeout(), this.setSilenceTimeout(e, t);\n }\n }, {\n key: \"onPause\",\n value: function onPause(e, t, i) {\n e ? this.resetSilenceTimeout(t, i) : this.clearSilenceTimeout();\n }\n }]);\n}();\nvar ei = /*#__PURE__*/function (_Wi) {\n function ei(e, t, i) {\n var _this75;\n _classCallCheck(this, ei);\n var s = _typeof(e.speechToText) == \"object\" ? e.speechToText : {};\n _this75 = _callSuper(this, ei, [s == null ? void 0 : s.button]);\n var _this75$processConfig = _this75.processConfiguration(t, e.speechToText),\n r = _this75$processConfig.serviceName,\n o = _this75$processConfig.processedConfig;\n if (_this75._addErrorMessage = i, r === \"webspeech\" && !vi.isWebSpeechSupported()) _this75.changeToUnsupported();else {\n var a = !e.textInput || !e.textInput.disabled;\n _this75.elementRef.onclick = _this75.buttonClick.bind(_this75, t, a, r, o);\n }\n setTimeout(function () {\n _this75._validationHandler = e._validationHandler;\n });\n return _this75;\n }\n // prettier-ignore\n _inherits(ei, _Wi);\n return _createClass(ei, [{\n key: \"processConfiguration\",\n value: function processConfiguration(e, t) {\n var _i$displayInterimResu, _i$textColor, _i$translations, _i$commands, _i$events;\n var c;\n var i = _typeof(t) == \"object\" ? t : {},\n s = _typeof(i.webSpeech) == \"object\" ? i.webSpeech : {},\n r = i.azure || {},\n o = _objectSpread(_objectSpread({\n displayInterimResults: (_i$displayInterimResu = i.displayInterimResults) !== null && _i$displayInterimResu !== void 0 ? _i$displayInterimResu : void 0,\n textColor: (_i$textColor = i.textColor) !== null && _i$textColor !== void 0 ? _i$textColor : void 0,\n translations: (_i$translations = i.translations) !== null && _i$translations !== void 0 ? _i$translations : void 0,\n commands: (_i$commands = i.commands) !== null && _i$commands !== void 0 ? _i$commands : void 0,\n events: (_i$events = i.events) !== null && _i$events !== void 0 ? _i$events : void 0\n }, s), r),\n a = (c = i.commands) == null ? void 0 : c.submit;\n return a && (o.onPreResult = function (d) {\n return d.toLowerCase().includes(a) ? (setTimeout(function () {\n var u;\n return (u = e.submit) == null ? void 0 : u.call(e);\n }), vi.endCommandMode(), {\n restart: !0,\n removeNewText: !0\n }) : null;\n }), i.submitAfterSilence && (this._silenceSubmit = new Pa(i.submitAfterSilence, i.stopAfterSubmit)), {\n serviceName: ei.getServiceName(i),\n processedConfig: o\n };\n }\n }, {\n key: \"buttonClick\",\n value: function buttonClick(e, t, i, s) {\n var _this76 = this;\n var r = s == null ? void 0 : s.events;\n e.removePlaceholderStyle(), vi.toggle(i, _objectSpread({\n insertInCursorLocation: !1,\n element: t ? e.inputElementRef : void 0,\n onError: function onError() {\n var o;\n _this76.onError(), (o = _this76._silenceSubmit) == null || o.clearSilenceTimeout();\n },\n onStart: function onStart() {\n var o;\n _this76.changeToActive(), (o = r == null ? void 0 : r.onStart) == null || o.call(r);\n },\n onStop: function onStop() {\n var o, a, l;\n (o = _this76._validationHandler) == null || o.call(_this76), (a = _this76._silenceSubmit) == null || a.clearSilenceTimeout(), _this76.changeToDefault(), (l = r == null ? void 0 : r.onStop) == null || l.call(r);\n },\n onPauseTrigger: function onPauseTrigger(o) {\n var a, l;\n (a = _this76._silenceSubmit) == null || a.onPause(o, e, _this76.elementRef.onclick), (l = r == null ? void 0 : r.onPauseTrigger) == null || l.call(r, o);\n },\n onPreResult: function onPreResult(o, a) {\n var l;\n (l = r == null ? void 0 : r.onPreResult) == null || l.call(r, o, a);\n },\n onResult: function onResult(o, a) {\n var l, c, d;\n a && ((l = _this76._validationHandler) == null || l.call(_this76)), (c = _this76._silenceSubmit) == null || c.resetSilenceTimeout(e, _this76.elementRef.onclick), (d = r == null ? void 0 : r.onResult) == null || d.call(r, o, a);\n },\n onCommandModeTrigger: function onCommandModeTrigger(o) {\n var a;\n _this76.onCommandModeTrigger(o), (a = r == null ? void 0 : r.onCommandModeTrigger) == null || a.call(r, o);\n }\n }, s));\n }\n }, {\n key: \"onCommandModeTrigger\",\n value: function onCommandModeTrigger(e) {\n e ? this.changeToCommandMode() : this.changeToActive();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this._addErrorMessage(\"speechToText\", \"speech input error\");\n }\n }], [{\n key: \"getServiceName\",\n value: function getServiceName(e) {\n return e.azure ? \"azure\" : \"webspeech\";\n }\n }, {\n key: \"toggleSpeechAfterSubmit\",\n value: function toggleSpeechAfterSubmit(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n e.click(), t || setTimeout(function () {\n return e.click();\n }, ei.MICROPHONE_RESET_TIMEOUT_MS);\n }\n }]);\n}(Wi);\nei.MICROPHONE_RESET_TIMEOUT_MS = 300;\nvar li = ei;\nvar Be = /*#__PURE__*/function () {\n // prettier-ignore\n function Be(e, t, i, s, r) {\n var _this77 = this;\n _classCallCheck(this, Be);\n this._attachments = [], this._fileCountLimit = 99, this._acceptedFormat = \"\", this._hiddenAttachments = /* @__PURE__ */new Set(), i.maxNumberOfFiles && (this._fileCountLimit = i.maxNumberOfFiles), this._toggleContainerDisplay = s, this._fileAttachmentsContainerRef = r, i.acceptedFormats && (this._acceptedFormat = i.acceptedFormats), setTimeout(function () {\n _this77._validationHandler = e._validationHandler, _this77._onInput = t.onInput;\n });\n }\n return _createClass(Be, [{\n key: \"attemptAddFile\",\n value: function attemptAddFile(e, t) {\n var i;\n return Be.isFileTypeValid(e, this._acceptedFormat) ? (this.addAttachmentBasedOnType(e, t, !0), (i = this._onInput) == null || i.call(this, !0), !0) : !1;\n }\n }, {\n key: \"addAttachmentBasedOnType\",\n value: function addAttachmentBasedOnType(e, t, i) {\n var s = Be.getTypeFromBlob(e);\n if (s === \"image\") {\n var r = Be.createImageAttachment(t);\n this.addFileAttachment(e, \"image\", r, i);\n } else if (s === \"audio\") {\n var _r3 = ci.createAudioAttachment(t);\n this.addFileAttachment(e, \"audio\", _r3, i);\n } else {\n var _r4 = Be.createAnyFileAttachment(e.name);\n this.addFileAttachment(e, \"any\", _r4, i);\n }\n }\n }, {\n key: \"addFileAttachment\",\n value: function addFileAttachment(e, t, i, s) {\n var a;\n var r = Be.createContainer(i);\n if (this._attachments.length >= this._fileCountLimit) {\n var l = this._attachments[this._attachments.length - 1].removeButton;\n l == null || l.click();\n var c = this._fileAttachmentsContainerRef.children;\n this._fileAttachmentsContainerRef.insertBefore(r, c[0]);\n } else this._fileAttachmentsContainerRef.appendChild(r);\n var o = {\n file: e,\n attachmentContainerElement: r,\n fileType: t\n };\n return s && (o.removeButton = this.createRemoveAttachmentButton(o), r.appendChild(o.removeButton)), this._toggleContainerDisplay(!0), this._attachments.push(o), this._fileAttachmentsContainerRef.scrollTop = this._fileAttachmentsContainerRef.scrollHeight, (a = this._validationHandler) == null || a.call(this), o;\n }\n }, {\n key: \"createRemoveAttachmentButton\",\n value: function createRemoveAttachmentButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"remove-file-attachment-button\"), t.onclick = this.removeAttachment.bind(this, e);\n var i = document.createElement(\"div\");\n return i.classList.add(\"x-icon\"), i.innerText = \"×\", t.appendChild(i), t;\n }\n }, {\n key: \"removeAttachment\",\n value: function removeAttachment(e, t) {\n var r, o;\n (r = this._onInput) == null || r.call(this, !!(t != null && t.isTrusted));\n var i = this._attachments.findIndex(function (a) {\n return a === e;\n }),\n s = this._attachments[i].attachmentContainerElement;\n this._attachments.splice(i, 1), ci.stopAttachmentPlayback(s), s.remove(), this._toggleContainerDisplay(!1), (o = this._validationHandler) == null || o.call(this);\n }\n }, {\n key: \"getFiles\",\n value: function getFiles() {\n return Array.from(this._attachments).map(function (e) {\n return {\n file: e.file,\n type: e.fileType\n };\n });\n }\n }, {\n key: \"hideAttachments\",\n value: function hideAttachments() {\n var _this78 = this;\n this._hiddenAttachments.clear(), this._attachments.forEach(function (e) {\n setTimeout(function () {\n var t;\n return (t = e.removeButton) == null ? void 0 : t.click();\n }), _this78._hiddenAttachments.add(e);\n });\n }\n }, {\n key: \"removeAttachments\",\n value: function removeAttachments() {\n this._attachments.forEach(function (e) {\n setTimeout(function () {\n var t;\n return (t = e.removeButton) == null ? void 0 : t.click();\n });\n }), this._hiddenAttachments.clear();\n }\n }, {\n key: \"readdAttachments\",\n value: function readdAttachments() {\n var _this79 = this;\n var e;\n Array.from(this._hiddenAttachments).forEach(function (t) {\n _this79._fileAttachmentsContainerRef.appendChild(t.attachmentContainerElement), _this79._attachments.push(t);\n }), (e = this._onInput) == null || e.call(this, !1), this._hiddenAttachments.clear();\n }\n }], [{\n key: \"isFileTypeValid\",\n value: function isFileTypeValid(e, t) {\n if (t === \"\") return !0;\n var i = t.split(\",\");\n for (var s = 0; s < i.length; s++) {\n var r = i[s].trim();\n if (e.type === r) return !0;\n if (r.startsWith(\".\")) {\n var o = r.slice(1);\n if (e.name.endsWith(o)) return !0;\n } else {\n if (e.name.endsWith(r)) return !0;\n if (r.endsWith(\"/*\") && e.type.startsWith(r.slice(0, -2))) return !0;\n }\n }\n return !1;\n }\n }, {\n key: \"getTypeFromBlob\",\n value: function getTypeFromBlob(e) {\n var t = e.type;\n return t.startsWith(\"image\") ? \"image\" : t.startsWith(\"audio\") ? \"audio\" : \"any\";\n }\n }, {\n key: \"createImageAttachment\",\n value: function createImageAttachment(e) {\n var t = new Image();\n return t.src = e, t.classList.add(\"image-attachment\"), t;\n }\n }, {\n key: \"createAnyFileAttachment\",\n value: function createAnyFileAttachment(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"border-bound-attachment\"), Ue.IS_SAFARI && t.classList.add(\"border-bound-attachment-safari\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-attachment-text\");\n var s = document.createElement(\"div\");\n return s.classList.add(\"file-attachment-text-container\"), s.appendChild(i), i.textContent = e, t.appendChild(s), t;\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"file-attachment\"), t.appendChild(e), t;\n }\n }]);\n}();\nvar Ne = /*#__PURE__*/function (_Be) {\n // prettier-ignore\n function Ne(e, t, i, s, r) {\n _classCallCheck(this, Ne);\n return _callSuper(this, Ne, [e, t, i, s, r]);\n }\n _inherits(Ne, _Be);\n return _createClass(Ne, [{\n key: \"createTimer\",\n value: function createTimer(e, t) {\n var _this80 = this;\n var i = 0;\n var s = t !== void 0 && t < Ne.TIMER_LIMIT_S ? t : Ne.TIMER_LIMIT_S;\n return setInterval(function () {\n var a;\n i += 1, i === s && ((a = _this80.stopPlaceholderCallback) == null || a.call(_this80), _this80.clearTimer()), i === 600 && e.classList.add(\"audio-placeholder-text-4-digits\");\n var r = Math.floor(i / 60),\n o = (i % 60).toString().padStart(2, \"0\");\n e.textContent = \"\".concat(r, \":\").concat(o);\n }, 1e3);\n }\n }, {\n key: \"createPlaceholderAudioAttachment\",\n value: function createPlaceholderAudioAttachment(e) {\n var t = Ne.createAudioContainer(),\n i = document.createElement(\"div\");\n i.classList.add(\"audio-placeholder-text-3-digits\");\n var s = document.createElement(\"div\");\n s.classList.add(\"file-attachment-text-container\", \"audio-placeholder-text-3-digits-container\"), s.appendChild(i);\n var r = He.createSVGElement(hs);\n return r.classList.add(\"attachment-icon\", \"stop-icon\", \"not-removable-attachment-icon\"), i.textContent = \"0:00\", this._activePlaceholderTimer = this.createTimer(i, e), t.appendChild(s), this.addPlaceholderAudioAttachmentEvents(t, r, s), t;\n }\n }, {\n key: \"addPlaceholderAudioAttachmentEvents\",\n value: function addPlaceholderAudioAttachmentEvents(e, t, i) {\n var _this81 = this;\n var s = function s() {\n return e.replaceChildren(t);\n };\n e.addEventListener(\"mouseenter\", s);\n var r = function r() {\n return e.replaceChildren(i);\n };\n e.addEventListener(\"mouseleave\", r);\n var o = function o() {\n var a;\n return (a = _this81.stopPlaceholderCallback) == null ? void 0 : a.call(_this81);\n };\n e.addEventListener(\"click\", o);\n }\n }, {\n key: \"addPlaceholderAttachment\",\n value: function addPlaceholderAttachment(e, t) {\n var i = this.createPlaceholderAudioAttachment(t);\n this._activePlaceholderAttachment = this.addFileAttachment(new File([], \"\"), \"audio\", i, !1), this.stopPlaceholderCallback = e;\n }\n // prettier-ignore\n }, {\n key: \"completePlaceholderAttachment\",\n value: function completePlaceholderAttachment(e, t) {\n var i = this._activePlaceholderAttachment;\n i && (i.file = e, Ne.addAudioElements(i.attachmentContainerElement.children[0], t), i.removeButton = this.createRemoveAttachmentButton(i), i.attachmentContainerElement.appendChild(i.removeButton), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"removePlaceholderAttachment\",\n value: function removePlaceholderAttachment() {\n this._activePlaceholderAttachment && (this.removeAttachment(this._activePlaceholderAttachment), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n this._activePlaceholderTimer !== void 0 && (clearInterval(this._activePlaceholderTimer), this._activePlaceholderTimer = void 0, this.stopPlaceholderCallback = void 0);\n }\n }], [{\n key: \"createAudioContainer\",\n value: function createAudioContainer() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"border-bound-attachment\", \"audio-attachment-icon-container\"), Ue.IS_SAFARI && e.classList.add(\"border-bound-attachment-safari\"), e;\n }\n }, {\n key: \"addAudioElements\",\n value: function addAudioElements(e, t) {\n var i = e.parentElement ? W.cloneElement(e) : e,\n s = document.createElement(\"audio\");\n s.src = t;\n var r = He.createSVGElement(Fn);\n r.classList.add(\"attachment-icon\", \"play-icon\");\n var o = He.createSVGElement(hs);\n o.classList.add(\"attachment-icon\", \"stop-icon\"), i.replaceChildren(r), s.onplay = function () {\n i.replaceChildren(o);\n }, s.onpause = function () {\n i.replaceChildren(r), s.currentTime = 0;\n }, s.onended = function () {\n i.replaceChildren(r);\n }, i.onclick = function () {\n s.paused ? s.play() : s.pause();\n };\n }\n }, {\n key: \"createAudioAttachment\",\n value: function createAudioAttachment(e) {\n var t = Ne.createAudioContainer();\n return Ne.addAudioElements(t, e), t;\n }\n }, {\n key: \"stopAttachmentPlayback\",\n value: function stopAttachmentPlayback(e) {\n var t, i, s;\n (s = (i = (t = e.children[0]) == null ? void 0 : t.children) == null ? void 0 : i[0]) != null && s.classList.contains(\"stop-icon\") && e.children[0].click();\n }\n }]);\n}(Be);\nNe.TIMER_LIMIT_S = 5999;\nvar ci = Ne;\nvar Na = /*#__PURE__*/function () {\n function Na() {\n _classCallCheck(this, Na);\n }\n return _createClass(Na, null, [{\n key: \"create\",\n value:\n // prettier-ignore\n function create(e, t, i, s, r, o) {\n return o === \"audio\" ? new ci(e, t, i, s, r) : new Be(e, t, i, s, r);\n }\n }]);\n}();\nvar fi = /*#__PURE__*/function () {\n function fi(e, t, i) {\n _classCallCheck(this, fi);\n this._fileAttachmentsTypes = [], this.elementRef = this.createAttachmentContainer();\n var s = _typeof(i) == \"object\" && !!i.displayFileAttachmentContainer;\n this.toggleContainerDisplay(s), e.appendChild(this.elementRef), t && Object.assign(this.elementRef.style, t);\n }\n // prettier-ignore\n return _createClass(fi, [{\n key: \"addType\",\n value: function addType(e, t, i, s) {\n var r = Na.create(e, t, i, this.toggleContainerDisplay.bind(this), this.elementRef, s);\n return this._fileAttachmentsTypes.push(r), r;\n }\n }, {\n key: \"createAttachmentContainer\",\n value: function createAttachmentContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"file-attachment-container\", e;\n }\n }, {\n key: \"toggleContainerDisplay\",\n value: function toggleContainerDisplay(e) {\n e ? this.elementRef.style.display = \"block\" : this.elementRef.children.length === 0 && (this.elementRef.style.display = \"none\");\n }\n }, {\n key: \"getAllFileData\",\n value: function getAllFileData() {\n var e = this._fileAttachmentsTypes.map(function (t) {\n return t.getFiles();\n }).flat();\n return e.length > 0 ? e : void 0;\n }\n }, {\n key: \"completePlaceholders\",\n value: function () {\n var _completePlaceholders = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee131() {\n return _regeneratorRuntime().wrap(function _callee131$(_context131) {\n while (1) switch (_context131.prev = _context131.next) {\n case 0:\n _context131.next = 2;\n return Promise.all(this._fileAttachmentsTypes.map(/*#__PURE__*/function () {\n var _ref43 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee130(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee130$(_context130) {\n while (1) switch (_context130.prev = _context130.next) {\n case 0:\n return _context130.abrupt(\"return\", (t = e.stopPlaceholderCallback) == null ? void 0 : t.call(e));\n case 1:\n case \"end\":\n return _context130.stop();\n }\n }, _callee130);\n }));\n return function (_x238) {\n return _ref43.apply(this, arguments);\n };\n }()));\n case 2:\n case \"end\":\n return _context131.stop();\n }\n }, _callee131, this);\n }));\n function completePlaceholders() {\n return _completePlaceholders.apply(this, arguments);\n }\n return completePlaceholders;\n }()\n }, {\n key: \"addFilesToAnyType\",\n value: function addFilesToAnyType(e) {\n fi.addFilesToType(e, this._fileAttachmentsTypes);\n }\n }, {\n key: \"hideFiles\",\n value: function hideFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.hideAttachments();\n }), this.elementRef.replaceChildren(), this.toggleContainerDisplay(!1);\n }\n }, {\n key: \"removeHiddenFiles\",\n value: function removeHiddenFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.removeAttachments();\n });\n }\n }, {\n key: \"readdHiddenFiles\",\n value: function readdHiddenFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.readdAttachments();\n }), this.toggleContainerDisplay(!0);\n }\n }, {\n key: \"getNumberOfTypes\",\n value: function getNumberOfTypes() {\n return this._fileAttachmentsTypes.length;\n }\n }], [{\n key: \"addFilesToType\",\n value: function addFilesToType(e, t) {\n e.forEach(function (i) {\n var s = new FileReader();\n s.readAsDataURL(i), s.onload = function (r) {\n for (var o = 0; o < t.length && !t[o].attemptAddFile(i, r.target.result); o += 1);\n };\n });\n }\n }]);\n}();\nvar ve = /*#__PURE__*/function () {\n function ve(e, t, i) {\n _classCallCheck(this, ve);\n this._isOpen = !1, this._contentRef = ve.createModalContent(t, i == null ? void 0 : i.backgroundColor), this._buttonPanel = ve.createButtonPanel(i == null ? void 0 : i.backgroundColor), this._elementRef = ve.createContainer(this._contentRef, i), this._elementRef.appendChild(this._buttonPanel), e.appendChild(this._elementRef), this._backgroundPanelRef = ve.createDarkBackgroundPanel(), e.appendChild(this._backgroundPanelRef), this.addWindowEvents(e);\n }\n return _createClass(ve, [{\n key: \"isOpen\",\n value: function isOpen() {\n return this._isOpen;\n }\n }, {\n key: \"addButtons\",\n value: function addButtons() {\n var _this82 = this;\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n e.forEach(function (t) {\n N.addAttributes(t), _this82._buttonPanel.appendChild(t);\n });\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this83 = this;\n this._elementRef.classList.remove(\"show-modal\"), this._elementRef.classList.add(\"hide-modal\"), this._backgroundPanelRef.classList.remove(\"show-modal-background\"), this._backgroundPanelRef.classList.add(\"hide-modal-background\"), this._isOpen = !1, setTimeout(function () {\n _this83._elementRef.style.display = \"none\", _this83._backgroundPanelRef.style.display = \"none\";\n }, ve.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"displayModalElements\",\n value: function displayModalElements() {\n this._elementRef.style.display = \"flex\", this._elementRef.classList.remove(\"hide-modal\"), this._elementRef.classList.add(\"show-modal\"), this._backgroundPanelRef.style.display = \"block\", this._backgroundPanelRef.classList.remove(\"hide-modal-background\"), this._backgroundPanelRef.classList.add(\"show-modal-background\"), this._isOpen = !0;\n }\n }, {\n key: \"openTextModal\",\n value: function openTextModal(e) {\n this._contentRef.innerHTML = e, this.displayModalElements();\n }\n }, {\n key: \"addCloseButton\",\n value: function addCloseButton(e, t, i) {\n var _this84 = this;\n var s = t ? ve.createSVGButton(e) : ve.createTextButton(e);\n return this.addButtons(s), s.onclick = function () {\n _this84.close(), setTimeout(function () {\n i == null || i();\n }, 140);\n }, s;\n }\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, s;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === U.ESCAPE ? (this.close(), (i = this.extensionCloseCallback) == null || i.call(this)) : t.key === U.ENTER && (this.close(), (s = this.extensionCloseCallback) == null || s.call(this)));\n }\n }], [{\n key: \"createContainer\",\n value: function createContainer(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"modal\"), i.appendChild(e), t && delete t.backgroundColor, Object.assign(i.style, t), i;\n }\n }, {\n key: \"createModalContent\",\n value: function createModalContent(e, t) {\n var _i$classList;\n var i = document.createElement(\"div\");\n return (_i$classList = i.classList).add.apply(_i$classList, _toConsumableArray(e)), t && (i.style.backgroundColor = t), document.createElement(\"div\").appendChild(i), i;\n }\n }, {\n key: \"createButtonPanel\",\n value: function createButtonPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button-panel\"), e && (t.style.backgroundColor = e), t;\n }\n }, {\n key: \"createDarkBackgroundPanel\",\n value: function createDarkBackgroundPanel() {\n var e = document.createElement(\"div\");\n return e.id = \"modal-background-panel\", e;\n }\n }, {\n key: \"createTextButton\",\n value: function createTextButton(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button\"), t.textContent = e, t;\n }\n }, {\n key: \"createSVGButton\",\n value: function createSVGButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"modal-button\", \"modal-svg-button\");\n var i = He.createSVGElement(e);\n return i.classList.add(\"modal-svg-button-icon\"), t.appendChild(i), t;\n }\n }, {\n key: \"createTextModalFunc\",\n value: function createTextModalFunc(e, t, i) {\n var s;\n if (_typeof(t) == \"object\" && (s = t.files) != null && s.infoModal) {\n var r = new ve(e, [\"modal-content\"], t.files.infoModal.containerStyle);\n return r.addCloseButton(\"OK\", !1, i), r.openTextModal.bind(r, t.infoModalTextMarkUp || \"\");\n }\n }\n }]);\n}();\nve.MODAL_CLOSE_TIMEOUT_MS = 190;\nvar st = ve;\nvar Ui = /*#__PURE__*/function (_ut5) {\n // prettier-ignore\n function Ui(e, t, i, s, r, o) {\n var _this85;\n _classCallCheck(this, Ui);\n var u, h, f, m, p, g, b, k, j, pe;\n var a = (u = i == null ? void 0 : i.button) == null ? void 0 : u.position,\n l = ((m = (f = (h = i == null ? void 0 : i.button) == null ? void 0 : h.styles) == null ? void 0 : f.text) == null ? void 0 : m.content) || o,\n c = Ee.tryCreateConfig(\"Upload File\", (p = i == null ? void 0 : i.button) == null ? void 0 : p.tooltip);\n _this85 = _callSuper(this, Ui, [Ui.createButtonElement(), r, a, c, i.button, l]);\n var d = _this85.createInnerElementsForStates(s, _this85.customStyles);\n _this85._inputElement = Ui.createInputElement((g = i == null ? void 0 : i.files) == null ? void 0 : g.acceptedFormats), _this85.addClickEvent(e, i), _this85.changeElementsByState(d.styles), _this85.reapplyStateStyle(\"styles\"), _this85._fileAttachmentsType = t, _this85._openModalOnce = ((k = (b = i.files) == null ? void 0 : b.infoModal) == null ? void 0 : k.openModalOnce) === !1 || (pe = (j = i.files) == null ? void 0 : j.infoModal) == null ? void 0 : pe.openModalOnce;\n return _this85;\n }\n _inherits(Ui, _ut5);\n return _createClass(Ui, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e, t) {\n return {\n styles: this.createInnerElements(e, \"styles\", t)\n };\n }\n }, {\n key: \"triggerImportPrompt\",\n value: function triggerImportPrompt(e) {\n e.onchange = this[\"import\"].bind(this, e), e.click();\n }\n }, {\n key: \"import\",\n value: function _import(e) {\n fi.addFilesToType(Array.from(e.files || []), [this._fileAttachmentsType]), e.value = \"\";\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent(e, t) {\n var i = this.triggerImportPrompt.bind(this, this._inputElement),\n s = st.createTextModalFunc(e, t, i);\n this.elementRef.onclick = this.click.bind(this, s);\n }\n }, {\n key: \"click\",\n value: function click(e) {\n e && (this._openModalOnce === void 0 || this._openModalOnce === !0) ? (e(), this._openModalOnce === !0 && (this._openModalOnce = !1)) : this.triggerImportPrompt(this._inputElement);\n }\n }], [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var t = document.createElement(\"input\");\n return t.type = \"file\", t.accept = e || \"\", t.hidden = !0, t.multiple = !0, t;\n }\n }, {\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }]);\n}(ut);\nvar De = /*#__PURE__*/function () {\n function De() {\n _classCallCheck(this, De);\n }\n return _createClass(De, null, [{\n key: \"create\",\n value: function create(e, t, i) {\n var s = De.createElement(i);\n De.addEvents(s, e, t), e.appendChild(s);\n }\n }, {\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"drag-and-drop\", _typeof(e) == \"object\" && Object.assign(t.style, e), t;\n }\n }, {\n key: \"addEvents\",\n value: function addEvents(e, t, i) {\n t.ondragenter = function (s) {\n s.preventDefault(), De.display(e);\n }, e.ondragleave = function (s) {\n s.preventDefault(), De.hide(e);\n }, e.ondragover = function (s) {\n s.preventDefault();\n }, e.ondrop = function (s) {\n s.preventDefault(), De.uploadFile(i, s), De.hide(e);\n };\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(e, t) {\n var s;\n var i = (s = t.dataTransfer) == null ? void 0 : s.files;\n i && e.addFilesToAnyType(Array.from(i));\n }\n }, {\n key: \"display\",\n value: function display(e) {\n e.style.display = \"block\";\n }\n }, {\n key: \"hide\",\n value: function hide(e) {\n e.style.display = \"none\";\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(e, t) {\n return t !== void 0 && t === !1 ? !1 : !!t || e.getNumberOfTypes() > 0;\n }\n }]);\n}();\nvar Je = /*#__PURE__*/function () {\n function Je() {\n _classCallCheck(this, Je);\n }\n return _createClass(Je, null, [{\n key: \"validate\",\n value:\n // prettier-ignore\n function validate(e, t, i, s, r) {\n var o = e(i, s, r);\n return o ? t.changeToSubmitIcon() : t.changeToDisabledIcon(), o;\n }\n // prettier-ignore\n }, {\n key: \"useValidationFunc\",\n value: function () {\n var _useValidationFunc = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee132(e, t, i, s) {\n var r, o, a;\n return _regeneratorRuntime().wrap(function _callee132$(_context132) {\n while (1) switch (_context132.prev = _context132.next) {\n case 0:\n r = t.isTextInputEmpty() ? \"\" : t.inputElementRef.textContent;\n _context132.next = 3;\n return i.completePlaceholders();\n case 3:\n o = i.getAllFileData(), a = o == null ? void 0 : o.map(function (l) {\n return l.file;\n });\n return _context132.abrupt(\"return\", Je.validate(e, s, r, a));\n case 5:\n case \"end\":\n return _context132.stop();\n }\n }, _callee132);\n }));\n function useValidationFunc(_x239, _x240, _x241, _x242) {\n return _useValidationFunc.apply(this, arguments);\n }\n return useValidationFunc;\n }() // prettier-ignore\n }, {\n key: \"useValidationFuncProgrammatic\",\n value: function () {\n var _useValidationFuncProgrammatic = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee133(e, t, i) {\n var r, s;\n return _regeneratorRuntime().wrap(function _callee133$(_context133) {\n while (1) switch (_context133.prev = _context133.next) {\n case 0:\n s = (r = t.files) == null ? void 0 : r.map(function (o) {\n return o.file;\n });\n return _context133.abrupt(\"return\", Je.validate(e, i, t.text, s, !0));\n case 2:\n case \"end\":\n return _context133.stop();\n }\n }, _callee133);\n }));\n function useValidationFuncProgrammatic(_x243, _x244, _x245) {\n return _useValidationFuncProgrammatic.apply(this, arguments);\n }\n return useValidationFuncProgrammatic;\n }()\n }, {\n key: \"validateWebsocket\",\n value: function validateWebsocket(e, t) {\n var i = e.websocket,\n s = e.connectSettings;\n return i && s.url !== Se.URL && !G.canSendMessage(i) ? (t.changeToDisabledIcon(), !1) : !0;\n }\n // prettier-ignore\n }, {\n key: \"attach\",\n value: function attach(e, t, i, s, r) {\n var o = e.validateInput || te.processValidateInput(e);\n e._validationHandler = /*#__PURE__*/function () {\n var _ref44 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee134(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee134$(_context134) {\n while (1) switch (_context134.prev = _context134.next) {\n case 0:\n if (!(r.status.loadingActive || r.status.requestInProgress || t.isSubmitProgrammaticallyDisabled === !0 || !Je.validateWebsocket(t, r))) {\n _context134.next = 2;\n break;\n }\n return _context134.abrupt(\"return\", !1);\n case 2:\n l = o || t.canSendMessage;\n return _context134.abrupt(\"return\", l ? a ? Je.useValidationFuncProgrammatic(l, a, r) : Je.useValidationFunc(l, i, s, r) : null);\n case 4:\n case \"end\":\n return _context134.stop();\n }\n }, _callee134);\n }));\n return function (_x246) {\n return _ref44.apply(this, arguments);\n };\n }();\n }\n }]);\n}();\nvar Gn = /*#__PURE__*/function () {\n function Gn() {\n _classCallCheck(this, Gn);\n }\n return _createClass(Gn, null, [{\n key: \"getFileName\",\n value: function getFileName(e, t) {\n var i = /* @__PURE__ */new Date(),\n s = String(i.getHours()).padStart(2, \"0\"),\n r = String(i.getMinutes()).padStart(2, \"0\"),\n o = String(i.getSeconds()).padStart(2, \"0\");\n return \"\".concat(e, \"-\").concat(s, \"-\").concat(r, \"-\").concat(o, \".\").concat(t);\n }\n }]);\n}();\nvar Da = /*#__PURE__*/function (_Wi2) {\n function Da(e, t) {\n var _this86;\n _classCallCheck(this, Da);\n var i, s;\n _this86 = _callSuper(this, Da, [t.button]), _this86._waitingForBrowserApproval = !1, _this86._audioType = e, _this86._extension = ((i = t.files) == null ? void 0 : i.format) || \"mp3\", _this86._maxDurationSeconds = (s = t.files) == null ? void 0 : s.maxDurationSeconds, _this86.elementRef.onclick = _this86.buttonClick.bind(_assertThisInitialized(_this86));\n return _this86;\n }\n _inherits(Da, _Wi2);\n return _createClass(Da, [{\n key: \"buttonClick\",\n value: function buttonClick() {\n this._waitingForBrowserApproval || (this.isActive ? this.stop() : (this._waitingForBrowserApproval = !0, this.record()));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this87 = this;\n return new Promise(function (e) {\n var t, i;\n _this87.changeToDefault(), (t = _this87._mediaRecorder) == null || t.stop(), (i = _this87._mediaStream) == null || i.getTracks().forEach(function (s) {\n return s.stop();\n }), setTimeout(function () {\n e();\n }, 10);\n });\n }\n }, {\n key: \"record\",\n value: function record() {\n var _this88 = this;\n navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (e) {\n _this88.changeToActive(), _this88._mediaRecorder = new MediaRecorder(e), _this88._audioType.addPlaceholderAttachment(_this88.stop.bind(_this88), _this88._maxDurationSeconds), _this88._mediaStream = e, _this88._mediaRecorder.addEventListener(\"dataavailable\", function (t) {\n _this88.createFile(t);\n }), _this88._mediaRecorder.start();\n })[\"catch\"](function (e) {\n console.error(e), _this88.stop();\n })[\"finally\"](function () {\n _this88._waitingForBrowserApproval = !1;\n });\n }\n }, {\n key: \"createFile\",\n value: function createFile(e) {\n var _this89 = this;\n var t = new Blob([e.data], {\n type: \"audio/\".concat(this._extension)\n }),\n i = Gn.getFileName(this._newFilePrefix || \"audio\", this._extension),\n s = new File([t], i, {\n type: t.type\n }),\n r = new FileReader();\n r.readAsDataURL(s), r.onload = function (o) {\n _this89._audioType.completePlaceholderAttachment(s, o.target.result);\n };\n }\n }]);\n}(Wi);\nvar Ba = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\" \\\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"currentColor\\\" fill=\\\"none\\\" stroke-width=\\\"1\\\" viewBox=\\\"0 0 24 24\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n <line x1=\\\"22\\\" y1=\\\"2\\\" x2=\\\"11\\\" y2=\\\"14\\\"></line>\\n <polygon points=\\\"22 2 15 22 11 14 2 10 22 2\\\"></polygon>\\n</svg>\\n\";\nvar nt = /*#__PURE__*/function () {\n function nt() {\n _classCallCheck(this, nt);\n }\n return _createClass(nt, null, [{\n key: \"resetSubmit\",\n value: function resetSubmit(e, t) {\n t ? e.unsetCustomStateStyles([\"loading\", \"submit\"]) : e.unsetCustomStateStyles([\"stop\", \"loading\", \"submit\"]), e.reapplyStateStyle(\"submit\");\n }\n }, {\n key: \"overwriteDefaultStyleWithSubmit\",\n value: function overwriteDefaultStyleWithSubmit(e, t) {\n if (!e.submit) return;\n var i = JSON.parse(JSON.stringify(e[t] || {}));\n V.overwritePropertyObjectFromAnother(i, e.submit, [\"container\", \"default\"]), V.overwritePropertyObjectFromAnother(i, e.submit, [\"text\", \"styles\", \"default\"]), V.overwritePropertyObjectFromAnother(i, e.submit, [\"svg\", \"styles\", \"default\"]), e[t] = i;\n }\n // prettier-ignore\n }, {\n key: \"setUpDisabledButton\",\n value: function setUpDisabledButton(e) {\n V.setPropertyValueIfDoesNotExist(e, [\"submit\", \"container\", \"default\", \"backgroundColor\"], \"\"), V.setPropertyValueIfDoesNotExist(e, [\"disabled\", \"container\", \"default\", \"backgroundColor\"], \"unset\"), V.setPropertyValueIfDoesNotExist(e.submit, [\"svg\", \"styles\", \"default\", \"filter\"], \"\"), V.setPropertyValueIfDoesNotExist(e.disabled, [\"svg\", \"styles\", \"default\", \"filter\"], \"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)\"), V.setPropertyValueIfDoesNotExist(e.disabled, [\"text\", \"styles\", \"default\", \"color\"], \"grey\"), nt.overwriteDefaultStyleWithSubmit(e, \"disabled\");\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t = JSON.parse(JSON.stringify(e || {}));\n return nt.overwriteDefaultStyleWithSubmit(t, \"loading\"), nt.overwriteDefaultStyleWithSubmit(t, \"stop\"), e != null && e.alwaysEnabled || nt.setUpDisabledButton(t), t;\n }\n }]);\n}();\nvar P = /*#__PURE__*/function (_ut6) {\n // prettier-ignore\n function P(e, t, i, s, r, o) {\n var _this90;\n _classCallCheck(this, P);\n var a = nt.process(e.submitButtonStyles),\n l = Ba,\n c = Ee.tryCreateConfig(\"Submit\", a == null ? void 0 : a.tooltip);\n _this90 = _callSuper(this, P, [P.createButtonContainerElement(), l, a == null ? void 0 : a.position, c, a]), _this90._isSVGLoadingIconOverriden = !1, _this90.status = {\n requestInProgress: !1,\n loadingActive: !1\n }, _this90._messages = i, _this90._textInput = t, _this90._fileAttachments = r, _this90._innerElements = _this90.createInnerElementsForStates(), _this90._abortStream = new AbortController(), _this90._stopClicked = {\n listener: function listener() {}\n }, _this90._serviceIO = s, _this90._alwaysEnabled = !!(a != null && a.alwaysEnabled), e.disableSubmitButton = _this90.disableSubmitButton.bind(_assertThisInitialized(_this90), s), _this90.attemptOverwriteLoadingStyle(e), o.microphone && _this90.setUpSpeechToText(o.microphone.button, e.speechToText), setTimeout(function () {\n var d;\n _this90._validationHandler = e._validationHandler, _this90.assignHandlers(_this90._validationHandler), (d = _this90._validationHandler) == null || d.call(_assertThisInitialized(_this90));\n });\n return _this90;\n }\n _inherits(P, _ut6);\n return _createClass(P, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates() {\n var _this$createCustomEle = this.createCustomElements(),\n e = _this$createCustomEle.submit,\n t = _this$createCustomEle.loading,\n i = _this$createCustomEle.stop;\n return {\n submit: e,\n loading: t || [P.createLoadingIconElement()],\n stop: i || [P.createStopIconElement()],\n disabled: this.createDisabledIconElement(e)\n };\n }\n }, {\n key: \"createCustomElements\",\n value: function createCustomElements() {\n var _this91 = this;\n var e = Re.createCustomElements(\"submit\", this.svg, this.customStyles),\n t = {\n loading: void 0,\n stop: void 0\n };\n return Object.keys(t).forEach(function (i) {\n var s = i,\n r = Re.createCustomElements(s, _this91.svg, _this91.customStyles);\n r && (t[s] = r);\n }), t.submit = e || this.buildDefaultIconElement(\"submit-icon\"), t;\n }\n }, {\n key: \"createDisabledIconElement\",\n value: function createDisabledIconElement(e) {\n return Re.createCustomElements(\"disabled\", this.svg, this.customStyles) || [e[0].cloneNode(!0)];\n }\n // prettier-ignore\n }, {\n key: \"attemptOverwriteLoadingStyle\",\n value: function attemptOverwriteLoadingStyle(e) {\n var t, i, s, r, o, a, l, c, d;\n if (!((i = (t = this.customStyles) == null ? void 0 : t.submit) != null && i.svg || (o = (r = (s = this.customStyles) == null ? void 0 : s.loading) == null ? void 0 : r.svg) != null && o.content || (c = (l = (a = this.customStyles) == null ? void 0 : a.loading) == null ? void 0 : l.text) != null && c.content) && (e.displayLoadingBubble === void 0 || e.displayLoadingBubble === !0)) {\n var u = document.createElement(\"style\");\n u.textContent = \"\\n .loading-button > * {\\n filter: brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(3044%) hue-rotate(322deg) brightness(100%)\\n contrast(96%) !important;\\n }\", (d = e.shadowRoot) == null || d.appendChild(u), this._isSVGLoadingIconOverriden = !0;\n }\n }\n }, {\n key: \"assignHandlers\",\n value: function assignHandlers(e) {\n this._serviceIO.completionsHandlers = {\n onFinish: this.resetSubmit.bind(this, e)\n }, this._serviceIO.streamHandlers = {\n onOpen: this.changeToStopIcon.bind(this),\n onClose: this.resetSubmit.bind(this, e),\n abortStream: this._abortStream,\n stopClicked: this._stopClicked\n };\n var t = this._serviceIO.stream;\n _typeof(t) == \"object\" && typeof t.simulation == \"number\" && (this._serviceIO.streamHandlers.simulationInterim = t.simulation);\n }\n }, {\n key: \"setUpSpeechToText\",\n value: function setUpSpeechToText(e, t) {\n this._microphoneButton = e, this._stopSTTAfterSubmit = _typeof(t) == \"object\" ? t.stopAfterSubmit : !1;\n }\n }, {\n key: \"resetSubmit\",\n value: function resetSubmit(e) {\n this.status.requestInProgress = !1, this.status.loadingActive = !1, e();\n }\n }, {\n key: \"submitFromInput\",\n value: function () {\n var _submitFromInput = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee135() {\n var e, t;\n return _regeneratorRuntime().wrap(function _callee135$(_context135) {\n while (1) switch (_context135.prev = _context135.next) {\n case 0:\n _context135.next = 2;\n return this._fileAttachments.completePlaceholders();\n case 2:\n e = this._fileAttachments.getAllFileData();\n if (this._textInput.isTextInputEmpty()) this.attemptSubmit({\n text: \"\",\n files: e\n });else {\n t = this._textInput.inputElementRef.innerText.trim();\n this.attemptSubmit({\n text: t,\n files: e\n });\n }\n case 4:\n case \"end\":\n return _context135.stop();\n }\n }, _callee135, this);\n }));\n function submitFromInput() {\n return _submitFromInput.apply(this, arguments);\n }\n return submitFromInput;\n }()\n }, {\n key: \"programmaticSubmit\",\n value: function () {\n var _programmaticSubmit = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee136(e) {\n var _this92 = this;\n var t;\n return _regeneratorRuntime().wrap(function _callee136$(_context136) {\n while (1) switch (_context136.prev = _context136.next) {\n case 0:\n typeof e == \"string\" && (e = te.processSubmitUserMessage(e));\n t = {\n text: e.text\n };\n e.files && (t.files = Array.from(e.files).map(function (i) {\n return {\n file: i,\n type: Be.getTypeFromBlob(i)\n };\n })), e.custom && (t.custom = e.custom), setTimeout(function () {\n return _this92.attemptSubmit(t, !0);\n });\n case 3:\n case \"end\":\n return _context136.stop();\n }\n }, _callee136);\n }));\n function programmaticSubmit(_x247) {\n return _programmaticSubmit.apply(this, arguments);\n }\n return programmaticSubmit;\n }() // TO-DO - should be disabled when loading history\n }, {\n key: \"attemptSubmit\",\n value: function () {\n var _attemptSubmit = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee137(e) {\n var t,\n r,\n o,\n a,\n l,\n i,\n s,\n _args137 = arguments;\n return _regeneratorRuntime().wrap(function _callee137$(_context137) {\n while (1) switch (_context137.prev = _context137.next) {\n case 0:\n t = _args137.length > 1 && _args137[1] !== undefined ? _args137[1] : !1;\n _context137.next = 3;\n return (r = this._validationHandler) == null ? void 0 : r.call(this, t ? e : void 0);\n case 3:\n _context137.t0 = _context137.sent;\n _context137.t1 = !1;\n if (!(_context137.t0 === _context137.t1)) {\n _context137.next = 7;\n break;\n }\n return _context137.abrupt(\"return\");\n case 7:\n this.changeToLoadingIcon();\n this._textInput.clear();\n _context137.t2 = typeof this._messages.focusMode != \"boolean\" && (o = this._messages.focusMode) != null && o.fade;\n if (!_context137.t2) {\n _context137.next = 13;\n break;\n }\n _context137.next = 13;\n return _i.fadeAnimation(this._messages.elementRef, this._messages.focusMode.fade);\n case 13:\n _context137.next = 15;\n return this.addNewMessage(e);\n case 15:\n this._serviceIO.isWebModel() || this._messages.addLoadingMessage();\n i = (a = e.files) == null ? void 0 : a.map(function (c) {\n return c.file;\n }), s = {\n text: e.text === \"\" ? void 0 : e.text,\n files: i\n };\n _context137.next = 19;\n return this._serviceIO.callAPI(s, this._messages);\n case 19:\n (l = this._fileAttachments) == null || l.hideFiles();\n case 20:\n case \"end\":\n return _context137.stop();\n }\n }, _callee137, this);\n }));\n function attemptSubmit(_x248) {\n return _attemptSubmit.apply(this, arguments);\n }\n return attemptSubmit;\n }()\n }, {\n key: \"addNewMessage\",\n value: function () {\n var _addNewMessage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee138(_ref45) {\n var e, t, i, s;\n return _regeneratorRuntime().wrap(function _callee138$(_context138) {\n while (1) switch (_context138.prev = _context138.next) {\n case 0:\n e = _ref45.text, t = _ref45.files, i = _ref45.custom;\n s = {\n role: v.USER_ROLE,\n custom: i\n };\n e && (s.text = e);\n _context138.t0 = t;\n if (!_context138.t0) {\n _context138.next = 8;\n break;\n }\n _context138.next = 7;\n return this._messages.addMultipleFiles(t, this._fileAttachments);\n case 7:\n s.files = _context138.sent;\n case 8:\n this._serviceIO.sessionId && (s._sessionId = this._serviceIO.sessionId);\n Object.keys(s).length > 0 && this._messages.addNewMessage(s);\n case 10:\n case \"end\":\n return _context138.stop();\n }\n }, _callee138, this);\n }));\n function addNewMessage(_x249) {\n return _addNewMessage.apply(this, arguments);\n }\n return addNewMessage;\n }()\n }, {\n key: \"stopStream\",\n value: function stopStream() {\n var e;\n this._abortStream.abort(), (e = this._stopClicked) == null || e.listener(), this._validationHandler && this.resetSubmit(this._validationHandler);\n }\n }, {\n key: \"changeToStopIcon\",\n value: function changeToStopIcon() {\n this._serviceIO.websocket || (this.elementRef.classList.remove(P.LOADING_CLASS, P.DISABLED_CLASS, P.SUBMIT_CLASS), N.removeAriaAttributes(this.elementRef), this.changeElementsByState(this._innerElements.stop), this.reapplyStateStyle(\"stop\", [\"loading\", \"submit\"]), this.elementRef.onclick = this.stopStream.bind(this), this.status.loadingActive = !1);\n }\n }, {\n key: \"changeToLoadingIcon\",\n value: function changeToLoadingIcon() {\n this._serviceIO.websocket || (this._isSVGLoadingIconOverriden || this.changeElementsByState(this._innerElements.loading), this.elementRef.classList.remove(P.SUBMIT_CLASS, P.DISABLED_CLASS), N.removeAriaDisabled(this.elementRef), this.elementRef.classList.add(P.LOADING_CLASS), N.addAriaBusy(this.elementRef), this.reapplyStateStyle(\"loading\", [\"submit\"]), this.elementRef.onclick = function () {}, this.status.requestInProgress = !0, this.status.loadingActive = !0);\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToSubmitIcon\",\n value: function changeToSubmitIcon() {\n var _this93 = this;\n this.elementRef.classList.contains(P.SUBMIT_CLASS) || (this.elementRef.classList.remove(P.LOADING_CLASS, P.DISABLED_CLASS), N.removeAriaAttributes(this.elementRef), this.elementRef.classList.add(P.SUBMIT_CLASS), this.changeElementsByState(this._innerElements.submit), nt.resetSubmit(this, this.status.loadingActive), this.elementRef.onclick = function () {\n var e;\n _this93.submitFromInput(), (e = _this93._microphoneButton) != null && e.isActive && li.toggleSpeechAfterSubmit(_this93._microphoneButton.elementRef, !!_this93._stopSTTAfterSubmit);\n });\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToDisabledIcon\",\n value: function changeToDisabledIcon() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._alwaysEnabled && !e ? this.changeToSubmitIcon() : this.elementRef.classList.contains(P.DISABLED_CLASS) || (this.elementRef.classList.remove(P.LOADING_CLASS, P.SUBMIT_CLASS), N.removeAriaBusy(this.elementRef), this.elementRef.classList.add(P.DISABLED_CLASS), N.addAriaDisabled(this.elementRef), this.changeElementsByState(this._innerElements.disabled), this.reapplyStateStyle(\"disabled\", [\"submit\"]), this.elementRef.onclick = function () {});\n }\n }, {\n key: \"disableSubmitButton\",\n value: function disableSubmitButton(e, t) {\n var i;\n e.isSubmitProgrammaticallyDisabled = t !== !1, !(this.status.requestInProgress || this.status.loadingActive) && (t === !1 ? (i = this._validationHandler) == null || i.call(this) : this.changeToDisabledIcon(!0));\n }\n }], [{\n key: \"createButtonContainerElement\",\n value: function createButtonContainerElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createLoadingIconElement\",\n value: function createLoadingIconElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"loading-submit-button\"), e;\n }\n }, {\n key: \"createStopIconElement\",\n value: function createStopIconElement() {\n var e = document.createElement(\"div\");\n return e.id = \"stop-icon\", e;\n }\n }]);\n}(ut);\nP.SUBMIT_CLASS = \"submit-button\", P.LOADING_CLASS = \"loading-button\", P.DISABLED_CLASS = \"disabled-button\";\nvar Ss = P;\nvar Fa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z\\\"/>\\n</svg>\\n\",\n Ua = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M0 16q0 3.264 1.28 6.208t3.392 5.12 5.12 3.424 6.208 1.248 6.208-1.248 5.12-3.424 3.392-5.12 1.28-6.208-1.28-6.208-3.392-5.12-5.088-3.392-6.24-1.28q-3.264 0-6.208 1.28t-5.12 3.392-3.392 5.12-1.28 6.208zM4 16q0-3.264 1.6-6.016t4.384-4.352 6.016-1.632 6.016 1.632 4.384 4.352 1.6 6.016-1.6 6.048-4.384 4.352-6.016 1.6-6.016-1.6-4.384-4.352-1.6-6.048z\\\"></path>\\n</svg>\\n\",\n ja = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\\\"/>\\n</svg>\",\n Ha = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M4.89163 13.2687L9.16582 17.5427L18.7085 8\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\";\nvar Os = /*#__PURE__*/function (_st) {\n // prettier-ignore\n function Os(e, t, i, s) {\n var _this94;\n _classCallCheck(this, Os);\n _this94 = _callSuper(this, Os, [e, [\"modal-content\", \"modal-camera-content\"], i]), _this94._stopped = !1, _this94._format = \"image/png\", _this94._canvas = document.createElement(\"canvas\"), _this94._canvas.classList.add(\"camera-modal-canvas\");\n var _this94$addButtonsAnd = _this94.addButtonsAndTheirEvents(t),\n r = _this94$addButtonsAnd.captureButton,\n o = _this94$addButtonsAnd.submitButton;\n _this94._captureButton = r, _this94._submitButton = o, _this94._captureIcon = _this94._captureButton.children[0], _this94._refreshIcon = He.createSVGElement(Fa), _this94._refreshIcon.classList.add(\"modal-svg-button-icon\", \"modal-svg-refresh-icon\"), (s == null ? void 0 : s.format) === \"jpeg\" && (_this94._format = \"image/jpeg\"), s != null && s.dimensions && (_this94._dimensions = s.dimensions), _this94._contentRef.appendChild(_this94._canvas), _this94.extensionCloseCallback = _this94.stop;\n return _this94;\n }\n _inherits(Os, _st);\n return _createClass(Os, [{\n key: \"addButtonsAndTheirEvents\",\n value: function addButtonsAndTheirEvents(e) {\n var t = st.createSVGButton(Ua);\n t.classList.add(\"modal-svg-camera-button\"), t.children[0].classList.add(\"modal-svg-camera-icon\");\n var i = this.addCloseButton(ja, !0);\n i.classList.add(\"modal-svg-close-button\"), i.children[0].classList.add(\"modal-svg-close-icon\");\n var s = st.createSVGButton(Ha);\n return s.classList.add(\"modal-svg-submit-button\"), this.addButtons(t, s), this.addButtonEvents(t, i, s, e), {\n captureButton: t,\n submitButton: s\n };\n }\n // prettier-ignore\n }, {\n key: \"addButtonEvents\",\n value: function addButtonEvents(e, t, i, s) {\n var _this95 = this;\n e.onclick = function () {\n _this95.capture();\n }, t.addEventListener(\"click\", this.stop.bind(this)), i.onclick = function () {\n var r = _this95.getFile();\n r && fi.addFilesToType([r], [s]), _this95.stop(), _this95.close();\n };\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this96 = this;\n this._mediaStream && this._mediaStream.getTracks().forEach(function (e) {\n return e.stop();\n }), this._stopped = !0, setTimeout(function () {\n _this96._captureButton.replaceChildren(_this96._captureIcon), _this96._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\");\n var e = _this96._canvas.getContext(\"2d\");\n e == null || e.clearRect(0, 0, _this96._canvas.width, _this96._canvas.height);\n }, st.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this97 = this;\n this._dataURL = void 0, this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._stopped = !1, navigator.mediaDevices.getUserMedia({\n video: this._dimensions || !0\n }).then(function (e) {\n if (_this97._mediaStream = e, !_this97.isOpen()) return _this97.stop();\n var t = document.createElement(\"video\");\n t.srcObject = e, t.play(), requestAnimationFrame(_this97.updateCanvas.bind(_this97, t, _this97._canvas));\n })[\"catch\"](function (e) {\n console.error(e), _this97.stop(), _this97.close();\n });\n }\n }, {\n key: \"capture\",\n value: function capture() {\n this._dataURL ? (this._captureButton.replaceChildren(this._captureIcon), this._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\"), this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._dataURL = void 0) : (this._captureButton.replaceChildren(this._refreshIcon), this._captureButton.classList.replace(\"modal-svg-camera-button\", \"modal-svg-refresh-button\"), this._submitButton.classList.remove(\"modal-svg-submit-disabled\"), this._dataURL = this._canvas.toDataURL());\n }\n }, {\n key: \"getFile\",\n value: function getFile() {\n if (this._dataURL) {\n var e = atob(this._dataURL.split(\",\")[1]),\n t = new Array(e.length);\n for (var a = 0; a < e.length; a++) t[a] = e.charCodeAt(a);\n var _i0 = new Uint8Array(t),\n s = new Blob([_i0], {\n type: this._format\n }),\n r = this._format === \"image/jpeg\" ? \"jpeg\" : \"png\",\n o = Gn.getFileName(this._newFilePrefix || \"photo\", r);\n return new File([s], o, {\n type: s.type\n });\n }\n }\n }, {\n key: \"updateCanvas\",\n value: function updateCanvas(e, t) {\n if (!this._stopped) {\n if (!this._dataURL) {\n t.width = e.videoWidth, t.height = e.videoHeight;\n var _i1 = t.getContext(\"2d\");\n _i1 == null || _i1.drawImage(e, 0, 0, t.width, t.height);\n }\n requestAnimationFrame(this.updateCanvas.bind(this, e, t));\n }\n }\n }, {\n key: \"openCameraModal\",\n value: function openCameraModal(e) {\n this.displayModalElements(), e.start();\n }\n // prettier-ignore\n }], [{\n key: \"createCameraModalFunc\",\n value: function createCameraModalFunc(e, t, i, s) {\n var r = new Os(e, t, i, s);\n return r.openCameraModal.bind(r, r);\n }\n }]);\n}(st);\nvar qa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M29 7h-4.599l-2.401-4h-12l-2.4 4h-4.6c-1 0-3 1-3 2.969v16.031c0 1.657 1.5 3 2.792 3h26.271c1.313 0 2.938-1.406 2.938-2.968v-16.032c0-1-1-3-3-3zM30 26.032c0 0.395-0.639 0.947-0.937 0.969h-26.265c-0.232-0.019-0.797-0.47-0.797-1v-16.031c0-0.634 0.851-0.953 1-0.969h5.732l2.4-4h9.802l1.785 3.030 0.55 0.97h5.731c0.705 0 0.99 0.921 1 1v16.032zM16 10c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zM16 22c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\\\"></path>\\n</svg>\";\nvar Ps = /*#__PURE__*/function (_ut7) {\n function Ps(e, t, i) {\n var _this98;\n _classCallCheck(this, Ps);\n var c, d, u, h, f, m;\n var s = (c = i == null ? void 0 : i.button) == null ? void 0 : c.position,\n r = ((h = (u = (d = i == null ? void 0 : i.button) == null ? void 0 : d.styles) == null ? void 0 : u.text) == null ? void 0 : h.content) || \"Photo\",\n o = Ee.tryCreateConfig(\"Camera\", (f = i == null ? void 0 : i.button) == null ? void 0 : f.tooltip),\n a = ((m = i == null ? void 0 : i.button) == null ? void 0 : m.styles) || {};\n _this98 = _callSuper(this, Ps, [Ps.createButtonElement(), qa, s, o, a, r]);\n var l = _this98.createInnerElementsForStates(_this98.customStyles);\n i && _this98.addClickEvent(e, t, i.modalContainerStyle, i.files), _this98.changeElementsByState(l.styles), _this98.reapplyStateStyle(\"styles\");\n return _this98;\n }\n _inherits(Ps, _ut7);\n return _createClass(Ps, [{\n key: \"createInnerElementsForStates\",\n value: function createInnerElementsForStates(e) {\n return {\n styles: this.createInnerElements(\"camera-icon\", \"styles\", e)\n };\n }\n }, {\n key: \"addClickEvent\",\n value:\n // prettier-ignore\n function addClickEvent(e, t, i, s) {\n var r = Os.createCameraModalFunc(e, t, i, s);\n this.elementRef.onclick = r;\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }]);\n}(ut);\nvar pt = /*#__PURE__*/function () {\n function pt(e, t, i, s) {\n _classCallCheck(this, pt);\n this.elementRef = pt.createPanelElement(e.inputAreaStyle);\n var r = {},\n o = this.createFileUploadComponents(e, i, s, r),\n a = new Si(e, i, o);\n e.speechToText && !r.microphone && (r.microphone = {\n button: new li(e, a, t.addNewErrorMessage.bind(t))\n });\n var l = new Ss(e, a, t, i, o, r);\n a.submit = l.submitFromInput.bind(l), Je.attach(e, i, a, o, l), e.submitUserMessage = l.programmaticSubmit.bind(l), r.submit = {\n button: l\n }, e.customButtons && rt.add(e, r), pt.addElements(this.elementRef, a, r, s, o, e.dropupStyles), pt.assignOnInput(e, i, o, a);\n }\n return _createClass(pt, [{\n key: \"createFileUploadComponents\",\n value:\n // prettier-ignore\n function createFileUploadComponents(e, t, i, s) {\n var o, a, l, c;\n var r = new fi(this.elementRef, e.attachmentContainerStyle, t.demo);\n if (pt.createUploadButtons(e, t, t.fileTypes || {}, r, i, s), (o = t.camera) != null && o.files) {\n var d = ((a = s.images) == null ? void 0 : a.fileType) || r.addType(e, t, t.camera.files, \"images\");\n s.camera = {\n button: new Ps(i, d, t.camera)\n };\n }\n if ((l = t.recordAudio) != null && l.files) {\n var _d = ((c = s.audio) == null ? void 0 : c.fileType) || r.addType(e, t, t.recordAudio.files, \"audio\");\n s.microphone = {\n button: new Da(_d, t.recordAudio)\n };\n }\n return De.isEnabled(r, e.dragAndDrop) && De.create(i, r, e.dragAndDrop), r;\n }\n // prettier-ignore\n }], [{\n key: \"createPanelElement\",\n value: function createPanelElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"input\", Object.assign(t.style, e), t;\n }\n }, {\n key: \"createUploadButtons\",\n value: function createUploadButtons(e, t, i, s, r, o) {\n Object.keys(i).forEach(function (a) {\n var l = a,\n c = i[l];\n if (c.files) {\n var d = s.addType(e, t, c.files, l),\n _ga$l = ga[l],\n u = _ga$l.id,\n h = _ga$l.svgString,\n f = _ga$l.dropupText,\n m = new Ui(r, d, c, u, h, f);\n o[l] = {\n button: m,\n fileType: d\n };\n }\n });\n }\n // prettier-ignore\n }, {\n key: \"addElements\",\n value: function addElements(e, t, i, s, r, o) {\n W.addElements(e, t.elementRef);\n var a = _t.create(),\n l = J.addButtons(a, i, s, o);\n Es.set(t.inputElementRef, a, r.elementRef, l), _t.add(e, a);\n }\n }, {\n key: \"assignOnInput\",\n value: function assignOnInput(e, t, i, s) {\n t.onInput = function (r) {\n setTimeout(function () {\n var o = i.getAllFileData(),\n l = {\n text: s.inputElementRef.innerText.trim()\n };\n o && (l.files = o.map(function (c) {\n return c.file;\n })), ni.onInput(e, l, r);\n });\n };\n }\n }]);\n}();\nvar Ns = /*#__PURE__*/function () {\n function Ns() {\n _classCallCheck(this, Ns);\n }\n return _createClass(Ns, null, [{\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var s = document.createElement(\"div\");\n s.id = \"chat-view\";\n var r = new de(e, t, i);\n t.websocket && G.createConnection(t, r);\n var o = new pt(e, r, t, s);\n return W.addElements(s, r.elementRef, o.elementRef), s;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i, s) {\n var r = Ns.createElements(e, i, s);\n t.replaceChildren(r), i.isCustomView() && i.setUpView(r, t);\n }\n }]);\n}();\nvar za = \"#validate-property-key-view{height:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:8px}#loading-validate-key-property{display:inline-block;width:50px;height:50px}#loading-validate-key-property:after{content:\\\" \\\";display:block;width:38px;height:38px;margin:1px;border-radius:50%;border:5px solid #5fb2ff;border-color:#5fb2ff transparent #5fb2ff transparent;animation:loading-spinner 1.4s linear infinite}#deep-chat-openai-realtime-container{height:100%;width:100%}#deep-chat-openai-realtime-avatar-container{height:60%;width:100%;display:flex;justify-content:center;align-items:center}#deep-chat-openai-realtime-avatar{border-radius:50%;height:110px;border:1px solid rgb(215,215,215);padding:8px;-webkit-user-select:none;user-select:none;margin-top:20px}#deep-chat-openai-realtime-buttons-container{height:40%;display:flex;position:relative}.deep-chat-openai-realtime-button-container{height:100%;width:50%;display:flex;justify-content:center;align-items:center}.deep-chat-openai-realtime-button{width:70px;height:70px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer}.deep-chat-openai-realtime-button-default{background-color:#e3e3e3}.deep-chat-openai-realtime-button-default:hover{background-color:#d4d4d4}.deep-chat-openai-realtime-button-default:active{background-color:#c5c5c5}.deep-chat-openai-realtime-button-loading{opacity:.7;pointer-events:none}.deep-chat-openai-realtime-microphone-active{background-color:#ffe7e7}.deep-chat-openai-realtime-microphone-active:hover{background-color:#ffdede}.deep-chat-openai-realtime-microphone-active:active{background-color:#ffd2d2}.deep-chat-openai-realtime-microphone>*{height:30px;width:30px}.deep-chat-openai-realtime-microphone-active>*{filter:brightness(0) saturate(100%) invert(35%) sepia(60%) saturate(1360%) hue-rotate(325deg) brightness(95%) contrast(92%)}.deep-chat-openai-realtime-toggle>*{height:32px;width:32px;padding-left:3px;filter:brightness(0) saturate(100%) invert(22%) sepia(0%) saturate(4537%) hue-rotate(208deg) brightness(105%) contrast(91%)}.deep-chat-openai-realtime-button-unavailable{opacity:.45;pointer-events:none}#deep-chat-openai-realtime-error{color:red;position:absolute;top:calc(50% + 40px);left:50%;transform:translate(-50%,-50%);font-size:17px}#deep-chat-openai-realtime-loading{position:absolute;font-size:15px;top:50%;left:50%;transform:translate(-50%,-50%)}#insert-key-view{height:100%;position:relative}#insert-key-contents{text-align:center;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:82%;display:flex;max-width:700px}#insert-key-title{margin-bottom:15px}#insert-key-input-container{margin-right:2.7em;width:calc(100% - 80px)}#insert-key-input{padding:.3em 1.7em .3em .3em;border-width:1px;border-style:solid;border-radius:3px;width:100%;font-size:inherit}.insert-key-input-valid{border-color:gray}.insert-key-input-invalid{border-color:red}#visibility-icon-container{position:relative;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-icon{filter:brightness(0) saturate(100%) invert(63%) sepia(1%) saturate(9%) hue-rotate(43deg) brightness(98%) contrast(92%);position:absolute;right:-1.7em;top:-1.43em}#visible-icon{top:-1.4em}.visibility-icon:hover{filter:unset}.visibility-icon>*{pointer-events:none}#start-button{border:1px solid grey;color:#454545;border-radius:4px;width:3em;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.28em .3em;-webkit-user-select:none;user-select:none;background-color:#fff}#start-button:hover{background-color:#f2f2f2}#start-button:active{background-color:#d2d2d2}#insert-key-help-text-container{width:100%;position:absolute;margin-top:32px;margin-bottom:20px}#insert-key-help-text-contents{width:100%;position:absolute}#insert-key-input-invalid-text{display:block;margin-top:1em;margin-bottom:.5em;color:red}.insert-key-input-help-text{display:block;margin-top:16px}#loading-key{display:inline-block;width:16px;height:16px}#loading-key:after{content:\\\" \\\";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:2px solid #0084ff;border-color:#0084ff transparent #0084ff transparent;animation:loading-spinner 1.2s linear infinite}#error-view{color:red;font-size:1.2em;line-height:1.3em;margin-top:-5px;text-align:center;height:100%;display:flex;justify-content:center;align-items:center;padding-left:8px;padding-right:8px}@keyframes loading-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.intro-panel{position:absolute;display:flex;justify-content:center;right:0;bottom:0;left:0;margin:auto;height:fit-content;top:-2.5em}#internal-intro-panel{width:250px;height:min-content;display:block;border-radius:5px;overflow:auto;border:1px solid rgb(203,203,203);padding:10px;max-height:calc(100% - 6.8em)}#internal-intro-panel>p{margin-block-start:.8em;margin-block-end:.8em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\\n Theme: a11y-dark\\n Author: @ericwbailey\\n Maintainer: @ericwbailey\\n\\n Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css\\n*/.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}#messages{overflow:auto}.outer-message-container:last-child{margin-bottom:5px}.inner-message-container{display:flex;margin-left:auto;margin-right:auto;width:calc(97.5% - 24px);max-width:100%}.message-bubble{margin-top:10px;word-wrap:break-word;width:fit-content;max-width:60%;border-radius:10px;padding:.42em .55em;height:fit-content;line-height:1.26em}.user-message-text{color:#fff;background-color:#0084ff;margin-right:0;margin-left:auto}.ai-message-text{color:#000;background-color:#e4e6eb;margin-left:0;margin-right:auto}.deep-chat-last-group-messages-active{height:100%}.loading-history-message-full-view{position:absolute;height:70%;width:100%;display:flex;align-items:center}.loading-history-message-small{height:20px;margin-bottom:30px}.loading-history-message-small>div>div{scale:.6}.loading-history-message{margin-top:0;width:100%;max-width:100%;display:flex;justify-content:center;background-color:unset}.loading-history{width:70px}.loading-history div{position:absolute;width:var(--loading-history-width);height:var(--loading-history-height);margin:var(--loading-history-margin);border:var(--loading-history-border);border-radius:50%;animation:loading-spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--loading-history-color) transparent transparent transparent}.loading-history div:nth-child(1){animation-delay:-.45s}.loading-history div:nth-child(2){animation-delay:-.3s}.loading-history div:nth-child(3){animation-delay:-.15s}.html-message{max-width:unset}.error-message-text{margin:14px auto 10px;background-color:#f4c0c0;color:#474747;text-align:center;max-width:95%}.deep-chat-loading-message-dots-container{width:1em;padding:.6em .75em .6em 1.3em}.loading-message-dots{position:relative;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite linear alternate;animation-delay:.5s}.loading-message-dots:before,.loading-message-dots:after{content:\\\"\\\";display:inline-block;position:absolute;top:0}.loading-message-dots:before{left:-.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite alternate;animation-delay:0s}.loading-message-dots:after{left:.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--loading-message-color);color:var(--loading-message-color);animation:loading-message-dots 1s infinite alternate;animation-delay:1s}@keyframes loading-message-dots{0%{background-color:var(--loading-message-color)}50%,to{background-color:var(--loading-message-color-fade)}}.message-bubble>p:first-child,.message-bubble>.partial-render-message>p:first-child,.stream-wrapper>p:first-child{margin-top:0}.message-bubble>p:last-child,.message-bubble>.partial-render-message:last-child>p,.stream-wrapper>p:last-child{margin-bottom:0}pre{overflow:auto;display:block;word-break:break-all;word-wrap:break-word;border-radius:7px;background:#2b2b2b;color:#f8f8f2;margin-top:.8em;margin-bottom:.8em;padding:.6em;font-size:.9em;line-height:1.5em}.image-message{padding:0;display:flex;background-color:#ddd}.image-message>*,.image-message>*>*{width:100%;border-radius:8px;display:flex}.audio-message{width:60%;max-width:300px;height:2.2em;max-height:54px;padding:0;background-color:unset}.audio-player{width:100%;height:100%}.audio-player-safari{height:fit-content;width:40px}.audio-player-safari-left{float:left}.audio-player-safari-right{float:right}.any-file-message{padding:1px}.any-file-message-contents{display:flex}.any-file-message-icon-container{width:1.3em;min-width:1.3em;position:relative;border-radius:4px;margin-left:6px;margin-right:2px}.any-file-message-icon{background-color:#fff;border-radius:4px;position:absolute;width:1em;height:1.25em;padding:1px;margin-top:auto;margin-bottom:auto;top:0;bottom:0}.any-file-message-text{padding-top:5px;overflow-wrap:anywhere;padding-bottom:5px;padding-right:7px}.message-bubble>a{color:inherit}.left-item-position{margin-right:10px}.right-item-position{margin-left:10px}.role-hidden{display:none}.avatar{padding-top:5px;width:1.5em;height:1.5em;border-radius:1px}.avatar-container{margin-top:9px}.name{margin-top:16px;font-size:15px}#drag-and-drop{position:absolute;display:none;z-index:10;height:calc(100% - 10px);width:calc(100% - 10px);background-color:#70c6ff4d;border:5px dashed #6dafff}#file-attachment-container{position:absolute;height:3.6em;width:calc(80% - 4px);top:-2.5em;border-radius:5px;overflow:auto;text-align:left;background-color:#d7d7d73b;padding-left:4px}.file-attachment{width:2.85em;height:2.85em;display:inline-flex;margin-right:.6em;margin-bottom:.44em;margin-top:4px;position:relative;background-color:#fff;border-radius:5px}.image-attachment{width:100%;height:100%;object-fit:cover;border-radius:5px}.border-bound-attachment{width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid #c3c3c3;border-radius:5px;overflow:hidden}.border-bound-attachment-safari{width:calc(100% - 1px);height:calc(100% - 1px)}.audio-attachment-icon-container{cursor:pointer}.audio-attachment-icon-container:hover{background-color:#f8f8f8}.attachment-icon{left:0;right:0;bottom:0;top:2px;margin:auto;position:absolute;width:25px;-webkit-user-select:none;user-select:none}.not-removable-attachment-icon{top:0;right:0;bottom:0;left:0}.play-icon{filter:brightness(0) saturate(100%) invert(17%) sepia(0%) saturate(1392%) hue-rotate(67deg) brightness(98%) contrast(97%)}.stop-icon{filter:brightness(0) saturate(100%) invert(29%) sepia(90%) saturate(1228%) hue-rotate(198deg) brightness(93%) contrast(98%)}.audio-placeholder-text-3-digits{padding-left:.26rem}.audio-placeholder-text-4-digits{padding-left:.1rem}.any-file-attachment{padding:2px 0}.file-attachment-text-container{position:absolute;width:inherit;display:flex;align-items:center;height:100%;top:-1px}.audio-placeholder-text-3-digits-container{padding-top:1px;cursor:default}.any-file-attachment-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:.13em;margin-left:auto;margin-right:auto}.remove-file-attachment-button{height:1.25em;width:1.25em;border:1px solid #cfcfcf;border-radius:25px;background-color:#fff;top:-4px;right:-5px;position:absolute;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.remove-file-attachment-button:hover{background-color:#e4e4e4}.remove-file-attachment-button:active{background-color:#d7d7d7}.x-icon{color:#4e4e4e;top:-.075em;position:relative;font-size:1.05em}.modal{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:80%;max-width:420px;max-height:80%;margin:auto;top:0;right:0;bottom:0;left:0;z-index:3}.modal-content{border-top:1px solid rgb(217,217,217);border-left:1px solid rgb(217,217,217);border-right:1px solid rgb(217,217,217);border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:#fff;overflow-y:auto;height:fit-content;max-height:calc(100% - 3.3em);width:100%}.modal-content>p{margin-left:1em;margin-right:1em}.modal-content>ul{margin-right:1em}.modal-button-panel{height:3.3em;border:1px solid;border-color:rgb(223,223,223) rgb(217,217,217) rgb(217,217,217);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-color:#fff;text-align:center;justify-content:center;display:flex;width:100%}.modal-button{min-width:2.5em;text-align:center;color:#fff;border-radius:5px;padding:.4em .4em .3em;height:1.25em;background-color:#3279b2;top:0;bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto .31em}.modal-button:hover{background-color:#276da7}.modal-button:active{background-color:#1b5687}.modal-svg-button{padding:0 0 2px;width:2em;height:1.8em}.modal-svg-button-icon{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(15%) saturate(4%) hue-rotate(346deg) brightness(101%) contrast(102%)}#modal-background-panel{position:absolute;width:100%;height:100%;background-color:#00000042;z-index:2;display:none}.show-modal-background{animation:fadeInBackground .3s ease-in-out}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}.show-modal{animation:fadeInModal .3s ease-in-out}@keyframes fadeInModal{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.hide-modal-background{animation:fadeOutBackground .2s ease-in-out}@keyframes fadeOutBackground{0%{opacity:1}to{opacity:0}}.hide-modal{animation:fadeOutModal .2s ease-in-out}@keyframes fadeOutModal{0%{opacity:1;scale:1}to{opacity:0;scale:.95}}.modal-camera-content{overflow:hidden;text-align:center;border:unset;height:100%;background-color:#2a2a2a;display:flex;justify-content:center}.camera-modal-canvas{max-width:100%;max-height:100%;margin-top:auto;margin-bottom:auto}.modal-svg-submit-button{background-color:green}.modal-svg-submit-button:hover{background-color:#007500}.modal-svg-submit-button:active{background-color:#006500}.modal-svg-submit-disabled{pointer-events:none;background-color:#747474}.modal-svg-close-button{height:1.56em;padding-top:.37em;padding-bottom:0;background-color:#c13e3e}.modal-svg-close-button:hover{background-color:#b43434}.modal-svg-close-button:active{background-color:#972929}.modal-svg-close-icon{width:80%;height:80%}.modal-svg-camera-button{height:1.6em;padding-top:.38em;padding-bottom:0}.modal-svg-camera-icon{height:76%}.modal-svg-refresh-icon{height:105%}.modal-svg-refresh-button{height:1.66em;padding-top:.11em;padding-bottom:.21em}.input-button-container{position:relative;z-index:1}.inside-right{position:absolute;right:calc(10% + .35em);bottom:.85em}.inside-left{position:absolute;left:calc(10% + .35em);bottom:.85em}.outside-left{position:absolute;right:calc(11px - .55em);bottom:.88em}.outside-right{position:absolute;left:calc(11px - .55em);bottom:.88em}#upload-images-icon{position:absolute;pointer-events:none;width:1.45em;height:1.45em;left:.11em;bottom:.08em;filter:brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(740%) hue-rotate(77deg) brightness(99%) contrast(92%)}#upload-gifs-icon{position:absolute;pointer-events:none;width:1.5em;height:1.48em;left:.07em;bottom:.08em;filter:brightness(0) saturate(100%) invert(49%) sepia(0%) saturate(2586%) hue-rotate(12deg) brightness(93%) contrast(90%)}#upload-audio-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.17em;bottom:.2em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%);transform:scaleX(.95)}#camera-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.23em;bottom:.2em;filter:brightness(0) saturate(100%) invert(52%) sepia(0%) saturate(161%) hue-rotate(164deg) brightness(91%) contrast(92%);transform:scaleX(.95)}#upload-mixed-files-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.2em;filter:brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(36%) hue-rotate(74deg) brightness(98%) contrast(93%);transform:scaleX(.95)}#interim-text{color:gray}#microphone-button{padding-top:.5px}.outer-button-container>#microphone-button{padding-bottom:1px}#microphone-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.25em}.default-microphone-icon{filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%)}.active-microphone-icon{filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(7495%) hue-rotate(0deg) brightness(101%) contrast(107%);border-radius:10px}.command-microphone-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(1067%) hue-rotate(77deg) brightness(99%) contrast(102%)}.unsupported-microphone{display:none}#submit-icon{height:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%);width:1.21em}#stop-icon{background-color:#acacac;position:absolute;width:.95em;height:.95em;left:.35em;bottom:.35em;border-radius:2px}.submit-button-enlarged{scale:1.1;margin-right:.3em;margin-left:.3em}.loading-submit-button{position:relative;left:calc(-9990px + .275em);width:.22em;height:.22em;border-radius:5px;background-color:#848484;color:#848484;box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484;animation:loading-submit-button 1.5s infinite linear;bottom:-.75em}@keyframes loading-submit-button{0%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}16.667%{box-shadow:9990px -6px #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}33.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}50%{box-shadow:9990px 0 #848484,calc(9990px + .44em) -6px 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}66.667%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}83.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) -6px 0 0 #848484}to{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}}.tooltip{position:absolute;visibility:hidden;z-index:1;pointer-events:none;padding:5px 7px;background-color:#333;border-radius:5px;width:max-content}.tooltip-text{color:#fff;font-size:13px}.input-button{border-radius:4px;cursor:pointer;margin-bottom:.2em;-webkit-user-select:none;user-select:none}.input-button-svg{width:1.65em;height:1.65em}.input-button-svg-text{padding:1px;height:1.65em;display:flex}.input-button-svg-text>svg{padding:.22rem}.input-button-svg-text>div{margin-left:2px}.input-button:hover,.input-button:focus-visible{background-color:#9c9c9c2e}.input-button:active{background-color:#9c9c9c5e}.input-button:active:not(:hover){background-color:transparent}.loading-button{cursor:auto}.loading-button:hover{background-color:unset}.text-button{filter:unset!important;display:flex;justify-content:center;align-items:center;margin-left:4px;margin-right:4px;height:1.6em;width:max-content}#custom-icon{height:100%;width:1.2em}.custom-button-container-default{color:#505050}.custom-button-container-default>.dropup-menu-item-icon{color:unset}.custom-button-container-default>svg{filter:brightness(0) saturate(100%) invert(39%) sepia(1%) saturate(0%) hue-rotate(83deg) brightness(93%) contrast(90%)}.custom-button-container-default>.dropup-menu-item-icon>svg{position:absolute;left:.2em}.custom-button-container-active{background-color:#edf7ff;color:#0285ff}.custom-button-container-active:hover,.custom-button-container-active:focus-visible{background-color:#def0ff}.custom-button-container-active:active{background-color:#d2eaff}.custom-button-container-active>svg{filter:brightness(0) saturate(100%) invert(32%) sepia(34%) saturate(4196%) hue-rotate(196deg) brightness(107%) contrast(104%)}.custom-button-container-disabled{color:#aeaeae;cursor:auto}.custom-button-container-disabled>div{pointer-events:none}.custom-button-container-disabled:hover,.custom-button-container-disabled:focus-visible{background-color:transparent}.custom-button-container-disabled:active{background-color:transparent}.custom-button-container-disabled>svg{filter:brightness(0) saturate(100%) invert(67%) sepia(0%) saturate(818%) hue-rotate(28deg) brightness(102%) contrast(100%)}#text-input-container{background-color:#fff;width:80%;display:flex;border:1px solid #0000001a;border-radius:5px;margin-top:.8em;margin-bottom:.8em;box-shadow:#959da533 0 1px 12px;overflow-y:auto;max-height:200px;position:relative}.text-input-container-left-adjustment{margin-left:1.5em}.text-input-container-right-adjustment{margin-right:1.5em}.text-input-container-left-small-adjustment{margin-left:1.1em}.text-input-container-left-small-adjustment>.outside-left{right:calc(14px - .55em)}.text-input-container-right-small-adjustment{margin-right:1.1em}.text-input-container-right-small-adjustment>.outside-right{left:calc(14px - .55em)}#text-input{text-align:left;outline:none;word-wrap:break-word;line-break:auto}.text-input-styling{padding:.4em .5em;overflow:overlay;width:100%}.text-input-inner-left-adjustment{padding-left:2.2em}.text-input-inner-right-adjustment{padding-right:2em}.text-input-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}[contenteditable]:empty:before{content:attr(deep-chat-placeholder-text);pointer-events:none}[contenteditable][textcolor]:empty:before{color:gray}.outside-right>#dropup-menu,.inside-right>#dropup-menu{right:0}#dropup-icon{position:absolute;pointer-events:none;width:1.16em;height:1.2em;left:.265em;bottom:.43em;filter:brightness(0) saturate(100%) invert(54%) sepia(0%) saturate(724%) hue-rotate(6deg) brightness(92%) contrast(90%)}.dropup-button>*{pointer-events:none}#dropup-menu{background-color:#fff;position:absolute;transform:translateY(-100%);border-radius:5px;z-index:1;top:-.49em;box-shadow:#0003 -1px 2px 10px,#0000001a 0 2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropup-menu-item{height:1.4em;padding:.28em .84em .28em .35em;display:flex;position:relative}.dropup-menu-item:hover,.dropup-menu-item:focus-visible{background-color:#f3f3f3}.dropup-menu-item:active{background-color:#ebebeb}.dropup-menu-item:active:not(:hover){background-color:transparent}.dropup-menu-item:first-child{padding-top:.49em;border-top-left-radius:inherit;border-top-right-radius:inherit}.dropup-menu-item:last-child{padding-bottom:.45em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.dropup-menu-item-icon{width:1.39em;position:relative}.dropup-menu-item-icon>svg{bottom:0!important;top:0!important;margin-bottom:auto;margin-top:auto}#dropup-menu-item-icon-element-custom{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.28em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%)}.dropup-menu-item-text{margin-left:.56em;margin-top:.08em;width:max-content}#input{width:100%;display:inline-flex;text-align:center;margin-left:auto;margin-right:auto;margin-top:auto;position:relative;justify-content:center}#chat-view{height:100%;display:grid;grid-template-columns:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background-color:#d0d0d0;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}\";\nvar Ga = Object.defineProperty,\n w = function w(n, e, t, i) {\n for (var s = void 0, r = n.length - 1, o; r >= 0; r--) (o = n[r]) && (s = o(e, t, s) || s);\n return s && Ga(e, t, s), s;\n };\nvar _ = /*#__PURE__*/function (_ls) {\n function _() {\n var _this99;\n _classCallCheck(this, _);\n var e;\n _this99 = _callSuper(this, _), _this99.getMessages = function () {\n return [];\n }, _this99.submitUserMessage = function () {\n return console.warn(\"submitUserMessage failed - please wait for chat view to render before calling this property.\");\n }, _this99.addMessage = function () {\n return console.warn(\"addMessage failed - please wait for chat view to render before calling this property.\");\n }, _this99.updateMessage = function () {}, _this99.clearMessages = function () {}, _this99.focusInput = function () {\n return di.focusFromParentElement(_this99._elementRef);\n }, _this99.refreshMessages = function () {}, _this99.scrollToBottom = function () {}, _this99.disableSubmitButton = function () {}, _this99.setPlaceholderText = function () {}, _this99._hasBeenRendered = !1, _this99._auxiliaryStyleApplied = !1, _this99._elementRef = document.createElement(\"div\"), _this99._elementRef.id = \"container\", _this99.attachShadow({\n mode: \"open\"\n }).appendChild(_this99._elementRef), (e = _this99.shadowRoot) == null || e.appendChild(Ee.buildElement()), Vt.apply(za, _this99.shadowRoot), setTimeout(function () {\n _this99._hasBeenRendered || _this99.onRender();\n }, 20);\n return _this99;\n }\n _inherits(_, _ls);\n return _createClass(_, [{\n key: \"changeToChatView\",\n value: function changeToChatView() {\n this._activeService && (this._activeService.validateKeyProperty = !1), this.onRender();\n }\n // prettier-ignore\n }, {\n key: \"onRender\",\n value: function onRender() {\n var _this$_childElement;\n Ei.attemptAppendStyleSheetToHead(this.style), te.processConnect(this), (!this._activeService || this._activeService.demo) && (this._activeService = aa.create(this)), this.auxiliaryStyle && !this._auxiliaryStyleApplied && (Vt.apply(this.auxiliaryStyle, this.shadowRoot), this._auxiliaryStyleApplied = !0), Vt.applyDefaultStyleToComponent(this.style, this.chatStyle), te.checkForContainerStyles(this, this._elementRef), this._activeService.key && this._activeService.validateKeyProperty ? yi.render(this._elementRef, this.changeToChatView.bind(this), this._activeService) : !(this._activeService instanceof z) || this._activeService.key ? ((_this$_childElement = this._childElement) !== null && _this$_childElement !== void 0 ? _this$_childElement : this._childElement = this.children[0], Ns.render(this, this._elementRef, this._activeService, this._childElement)) : this._activeService instanceof z && $.render(this._elementRef, this.changeToChatView.bind(this), this._activeService), this._hasBeenRendered || ni.onRender(this), this._hasBeenRendered = !0;\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n oi.chat = void 0;\n }\n }]);\n}(ls);\nw([x(\"object\")], _.prototype, \"connect\");\nw([x(\"object\")], _.prototype, \"directConnection\");\nw([x(\"object\")], _.prototype, \"webModel\");\nw([x(\"object\")], _.prototype, \"requestBodyLimits\");\nw([x(\"function\")], _.prototype, \"requestInterceptor\");\nw([x(\"function\")], _.prototype, \"responseInterceptor\");\nw([x(\"function\")], _.prototype, \"validateInput\");\nw([x(\"function\")], _.prototype, \"loadHistory\");\nw([x(\"object\")], _.prototype, \"chatStyle\");\nw([x(\"object\")], _.prototype, \"attachmentContainerStyle\");\nw([x(\"object\")], _.prototype, \"dropupStyles\");\nw([x(\"object\")], _.prototype, \"inputAreaStyle\");\nw([x(\"object\")], _.prototype, \"textInput\");\nw([x(\"object\")], _.prototype, \"submitButtonStyles\");\nw([x(\"object\")], _.prototype, \"customButtons\");\nw([x(\"string\")], _.prototype, \"auxiliaryStyle\");\nw([x(\"array\")], _.prototype, \"history\");\nw([x(\"object\")], _.prototype, \"browserStorage\");\nw([x(\"object\")], _.prototype, \"introMessage\");\nw([x(\"object\")], _.prototype, \"avatars\");\nw([x(\"object\")], _.prototype, \"names\");\nw([x(\"object\")], _.prototype, \"displayLoadingBubble\");\nw([x(\"object\")], _.prototype, \"errorMessages\");\nw([x(\"object\")], _.prototype, \"messageStyles\");\nw([x(\"object\")], _.prototype, \"textToSpeech\");\nw([x(\"object\")], _.prototype, \"speechToText\");\nw([x(\"object\")], _.prototype, \"images\");\nw([x(\"object\")], _.prototype, \"gifs\");\nw([x(\"object\")], _.prototype, \"camera\");\nw([x(\"object\")], _.prototype, \"audio\");\nw([x(\"object\")], _.prototype, \"microphone\");\nw([x(\"object\")], _.prototype, \"mixedFiles\");\nw([x(\"object\")], _.prototype, \"dragAndDrop\");\nw([x(\"object\")], _.prototype, \"introPanelStyle\");\nw([x(\"object\")], _.prototype, \"htmlClassUtilities\");\nw([x(\"object\")], _.prototype, \"remarkable\");\nw([x(\"object\")], _.prototype, \"focusMode\");\nw([x(\"function\")], _.prototype, \"onMessage\");\nw([x(\"function\")], _.prototype, \"onClearMessages\");\nw([x(\"function\")], _.prototype, \"onComponentRender\");\nw([x(\"function\")], _.prototype, \"onInput\");\nw([x(\"function\")], _.prototype, \"onError\");\nw([x(\"object\")], _.prototype, \"demo\");\nw([x(\"object\")], _.prototype, \"_insertKeyViewStyles\");\ncustomElements.define(\"deep-chat\", _);\nexport { _ as DeepChat };\n","<template>\n <div class=\"deep-chat-container\">\n <deep-chat\n :style=\"deepChatStyle\"\n :textInput=\"textInputConfig\"\n :introMessage=\"introMessageConfig\"\n :connect=\"connectConfig\"\n :speechToText=\"props.speechToText\"\n :camera=\"props.camera\"\n :mixedFiles=\"props.attachments\"\n :avatars=\"props.avatars\"\n :names=\"props.names\"\n :timestamps=\"props.timestamps\"\n :stream=\"props.stream\"\n ></deep-chat>\n </div>\n</template>\n\n<script>\nimport 'deep-chat';\n\nexport default {\n name: 'UIDeepChat',\n props: ['id', 'props', 'state'],\n inject: ['$socket'],\n data() {\n return {\n conversation: [],\n };\n },\n\n computed: {\n deepChatStyle() {\n return {\n width: '100%',\n maxWidth: '600px',\n height: '80vh',\n borderRadius: '8px',\n };\n },\n\n textInputConfig() {\n return {\n placeholder: {\n text: this.props.placeholder || 'Type a message...',\n },\n };\n },\n\n introMessageConfig() {\n return {\n text: this.props.introMessage || 'Hello! How can I help you today?',\n };\n },\n\n connectConfig() {\n return {\n handler: this.handleConnection,\n };\n },\n },\n beforeUnmount() {\n this.$socket.off('msg-input:' + this.id);\n },\n\n methods: {\n async handleConnection(body, signals) {\n try {\n // Extract messages and files from FormData\n let newMessages = [];\n let files = [];\n\n if (body instanceof FormData) {\n for (let [key, value] of body.entries()) {\n if (key.startsWith('message')) {\n try {\n const messageContent = JSON.parse(value);\n newMessages.push(messageContent);\n } catch (e) {\n console.error('Error parsing message:', e);\n }\n } else if (key === 'files') {\n files.push(value);\n }\n }\n\n // Process files if present\n if (files.length > 0 && newMessages.length > 0) {\n const lastMessage = newMessages[newMessages.length - 1];\n lastMessage.files = await this.processFiles(files);\n }\n } else if (body.messages) {\n newMessages = body.messages;\n }\n\n // Add to conversation history\n this.conversation.push(...newMessages);\n\n // Send to Node-RED\n const payload = this.formatForChatGPT(this.conversation);\n this.sendToNodeRED(payload, signals);\n } catch (error) {\n console.error('Error in handleConnection:', error);\n this.sendErrorResponse(signals, 'Sorry, there was an error processing your message.');\n }\n },\n\n async processFiles(files) {\n try {\n return await Promise.all(\n files.map(async (file) => {\n if (!(file instanceof File)) return file;\n\n if (file.type.startsWith('image/')) {\n return await this.processImageFile(file);\n } else if (file.type.startsWith('audio/')) {\n return await this.processAudioFile(file);\n } else {\n // Handle other file types (PDFs, documents, etc.)\n return await this.processDocumentFile(file);\n }\n })\n );\n } catch (error) {\n console.error('Error processing files:', error);\n return [];\n }\n },\n\n processImageFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) =>\n resolve({\n name: file.name,\n type: file.type,\n size: file.size,\n src: e.target.result,\n });\n reader.onerror = () => reject(new Error('Failed to read image'));\n reader.readAsDataURL(file);\n });\n },\n\n processAudioFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n try {\n const base64Data = e.target.result.split(',')[1]; // Remove data URL prefix\n\n resolve({\n name: file.name,\n type: file.type,\n size: file.size,\n base64Data: base64Data,\n });\n } catch (error) {\n reject(error);\n }\n };\n reader.onerror = () => reject(new Error('Failed to read audio'));\n reader.readAsDataURL(file);\n });\n },\n\n processDocumentFile(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n try {\n const base64Data = e.target.result.split(',')[1]; // Remove data URL prefix\n\n resolve({\n name: file.name,\n type: file.type,\n size: file.size,\n fileData: base64Data, // Use fileData for documents\n });\n } catch (error) {\n reject(error);\n }\n };\n reader.onerror = () => reject(new Error('Failed to read document'));\n reader.readAsDataURL(file);\n });\n },\n\n formatForChatGPT(conversation, textOnly = false) {\n return {\n messages: conversation.map((msg) => {\n if (msg.text && (!msg.files || msg.files.length === 0)) {\n return {\n role: msg.role === 'ai' ? 'assistant' : 'user',\n content: msg.text,\n };\n } else if (msg.files && msg.files.length > 0) {\n const content = [{ type: 'text', text: msg.text || '' }];\n\n msg.files.forEach((file) => {\n if (file.type && file.type.startsWith('image/') && file.src) {\n content.push({\n type: 'image_url',\n image_url: { url: file.src },\n });\n } else if (!textOnly && file.type && file.type.startsWith('audio/') && file.base64Data) {\n const format = this.getAudioFormat(file.type);\n content.push({\n type: 'input_audio',\n input_audio: {\n data: file.base64Data,\n format: format,\n },\n });\n } else if (!textOnly && file.fileData) {\n content.push({\n type: 'file',\n file: {\n filename: file.name,\n file_data: file.fileData,\n },\n });\n }\n });\n\n return {\n role: msg.role === 'ai' ? 'assistant' : 'user',\n content: content,\n };\n }\n\n return {\n role: msg.role === 'ai' ? 'assistant' : 'user',\n content: msg.text || '',\n };\n }),\n model: this.props.model,\n };\n },\n\n getAudioFormat(mimeType) {\n if (mimeType.includes('mp3')) return 'mp3';\n if (mimeType.includes('wav')) return 'wav';\n if (mimeType.includes('webm')) return 'webm';\n if (mimeType.includes('m4a')) return 'm4a';\n return 'wav';\n },\n\n sendToNodeRED(payload, signals, fallbackMessage = null) {\n this.$socket.emit('widget-action', this.id, { payload });\n\n const responseTimeout = setTimeout(() => {\n console.warn('No response from Node-RED after 30 seconds');\n this.sendErrorResponse(signals, fallbackMessage || 'No response from server. Please try again.');\n }, 30000);\n\n this.$socket.once('msg-input:' + this.id, (msg) => {\n clearTimeout(responseTimeout);\n this.handleNodeREDResponse(msg, signals);\n });\n },\n\n handleNodeREDResponse(msg, signals) {\n try {\n const aiMessage = {\n text: msg.payload.text || msg.payload.content,\n role: 'ai',\n };\n\n this.conversation.push(aiMessage);\n\n if (msg.payload) {\n signals.onResponse({\n text: msg.payload.text || msg.payload.content,\n role: 'ai',\n });\n }\n } catch (error) {\n console.error('Error handling response:', error);\n this.sendErrorResponse(signals, 'Error processing response');\n }\n },\n\n sendErrorResponse(signals, message) {\n if (signals && signals.onResponse) {\n signals.onResponse({\n text: message,\n role: 'ai',\n });\n }\n },\n },\n};\n</script>\n\n<style scoped>\n.deep-chat-container {\n display: flex;\n justify-content: center;\n width: 100%;\n}\n</style>\n"],"names":["_createForOfIteratorHelper","e","_unsupportedIterableToArray","_n2","F","r","o","a","u","_wrapNativeSuper","t","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","p","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","l","i","f","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","n","_callSuper","_possibleConstructorReturn","_typeof","_assertThisInitialized","_inherits","_regeneratorRuntime","c","h","Generator","d","s","Context","GeneratorFunction","GeneratorFunctionPrototype","x","v","g","AsyncIterator","w","m","asyncGeneratorStep","_asyncToGenerator","_next","_throw","ownKeys","_objectSpread","_defineProperty","_toPropertyKey","_classCallCheck","_defineProperties","_createClass","_toPrimitive","Vn","yi","L","Xe","Ei","mt","Vt","Ye","Ee","Jt","Ue","U","Ze","di","is","Kn","Qe","_this","_this2","_t$disabled","_t$placeholder","_i$text","Si","Us","Wn","_s","$n","Jn","Xn","js","M","ji","_len","_key","W","Hi","Et","gt","_ref","Fe","ce","q","te","$e","Yn","Zn","ss","Hs","we","K","Oe","Ae","pi","Tn","Qn","er","Cn","tr","ti","Rn","ns","ir","sr","nr","ot","rr","or","ar","lr","ee","y","ct","Mn","xs","oe","cr","dt","ii","dr","hr","rs","kn","Ln","In","ur","fr","pr","mr","qs","Zi","gr","br","vr","yr","Er","Sr","_r","zs","xr","Gs","Vs","ft","wr","b","Qi","On","ht","Ar","Tr","Cr","Rr","Ks","Ws","Mr","kr","k","j","pe","ae","ke","_e","ie","Fs","Yi","Lr","Ir","Or","Pn","Pr","Nr","Dr","Br","es","Fr","mi","Ur","jr","Hr","gi","ws","qr","zr","Gr","Vr","Kr","Wr","As","$s","$r","Jr","Xr","Yr","Zr","Js","Xs","Qr","eo","to","io","so","no","ro","oo","ao","lo","co","ho","Gi","uo","fo","po","mo","go","bo","vo","yo","Eo","So","_o","xo","wo","Ao","To","Co","Ro","Mo","ts","Vi","ko","Lo","Io","Oo","Po","Nn","Te","bt","si","No","Y","ni","je","Xt","_fadeAnimation","_callee","_context","fadeAnimation","_x","_x2","_i","Ys","os","Dn","Le","_Dn","_this3","Kt","_Dn2","_this4","Z","_this5","_this6","_this7","he","S","_loop","_ret","_e$outerContainer$cla","_ref2","_ref3","me","_ref5","_ref6","_endStreamAfterFileDownloaded","_callee2","_yield$t","_context2","endStreamAfterFileDownloaded","_x3","_x4","Ce","ze","_tempRemoveContentHeader","_callee3","_context3","tempRemoveContentHeader","_x9","_x0","_x1","_fetch","fetch","_x5","_x6","_x7","_x8","_processRequestInterceptor","_callee4","_context4","processRequestInterceptor","_x10","_x11","_basicResponseProcessing","_callee5","_i$displayError","_i$useRI","_args5","_context5","basicResponseProcessing","_x12","_x13","E","Do","_x14","_x15","_Do","_callee139","_context139","Bo","Uo","Fo","Zs","jo","as","Ho","Qs","qo","zo","_ae","_callee6","_context6","A","_request","_callee7","_yield$E$processReque","_args7","_context7","ye","Se","request","_x16","_x17","_x18","_e$streamHandlers","_ref7","_callee8","_yield$m$read","_context8","_x19","_e$streamHandlers2","_callee9","_context9","_callee0","_context0","_simulate","_callee1","_o2","_o3","_a2","_context1","simulate","_x20","_x21","_x22","_x23","_populateMessages","_callee10","_context10","populateMessages","_x24","_x25","_x26","_x27","_x28","_x29","_x30","et","_ref8","_callee11","_context11","G","_this8","_ref0","_callee12","_l","_c","_context12","_x31","_sendWebsocket","_callee13","_yield$E$processReque2","_args13","_context13","sendWebsocket","_x32","_x33","_x34","_i$o","_request2","_callee15","_context15","_ref1","_callee14","_context14","_x38","_x35","_x36","_x37","_ref10","_callee16","_context16","_x39","_this9","_ref11","_callee17","_context17","_x40","C","_request3","_callee19","_yield$E$processReque3","_args19","_context19","_ref12","_callee18","_context18","_x44","_x41","_x42","_x43","_ref13","_callee20","_context20","_x45","_poll","_callee21","_yield$E$processReque4","_args21","_context21","poll","_x46","_x47","_x48","Ge","_fetchHistory","_callee22","_this0","_context22","fetchHistory","_x49","_this1","_this$_messages","_this$_messages2","_setupLoadHistoryOnScroll","_callee24","_this10","_context24","_callee23","_context23","setupLoadHistoryOnScroll","_x50","_this11","_loadInitialHistory","_callee25","_this12","_context25","loadInitialHistory","_x51","_setupInitialHistory","_callee26","_context26","setupInitialHistory","_x52","_e$permittedErrorPref","ri","at","B","_l$files","_h$maxNumberOfFiles","_l$files2","_e$files","_i$acceptedFormats","_s$maxNumberOfFiles","lt","_a$url","_request4","_callee27","_args27","_context27","_x53","_x54","_callAPIWithText","_callee28","_o$headers","_a$ContentType","_context28","callAPIWithText","_x55","_x56","_callApiWithFiles","_callee29","_context29","callApiWithFiles","_x57","_x58","_x59","_callServiceAPI","_callee30","_context30","callServiceAPI","_x60","_x61","_x62","_callAPI","_callee31","_context31","_ref15","_ref16","callAPI","_x63","_x64","_extractResultData","_callee32","_context32","extractResultData","_x65","z","_lt","_this13","_i$headers","_this$_keyVerificatio","xi","Pe","_HTMLElement","_this14","ls","Go","Vo","He","Ve","cs","$","_o4","_$$createHelpTextCont","se","oi","_loop2","wi","en","T","_lt2","_this15","_this16","_this17","_this18","_configureInit","_callee33","_context33","configureInit","_x66","_init","_callee34","_context34","init","_x67","_loadModel","_callee35","_this19","_this$getConfig","_f","_context35","loadModel","_x68","_x69","_unloadChat","_callee36","_context36","unloadChat","_x70","_immediateResp","_callee37","_context37","immediateResp","_x71","_x72","_x73","_streamResp","_callee39","_this20","_context39","_ref17","_callee38","_context38","_x77","_x78","streamResp","_x74","_x75","_x76","_generateRespByType","_callee40","_context40","generateRespByType","_x79","_x80","_x81","_x82","_generateResp","_callee41","_yield$E$processReque5","_context41","generateResp","_x83","_x84","_x85","_callServiceAPI2","_callee42","_context42","_x86","_x87","_processResponse","_callee43","_context43","processResponse","_x88","_x89","_x90","Ai","Yt","_z","_this21","_s$options","_callServiceAPI3","_callee44","_context44","_x91","_x92","_x93","qe","hi","_qe","_this22","_callServiceAPI4","_callee45","_context45","_x94","_x95","_x96","Ko","_hi","_extractPollResultData","_callee46","_context46","extractPollResultData","_x97","Wo","_hi2","_extractPollResultData2","_callee47","_context47","_x98","ui","Me","Ki","_z2","_this23","Ti","_Ki","_this24","_callServiceAPI5","_callee48","_context48","_x99","_x100","_x101","_extractResultData2","_callee49","_context49","_x102","Ci","_Ki2","_this25","_callServiceAPI6","_callee50","_context50","_x103","_x104","_x105","_extractResultData3","_callee51","_context51","_x106","$o","_hi3","_extractPollResultData3","_callee52","_context52","_x107","Jo","_qe2","_extractResultData4","_callee53","_context53","_x108","Xo","_qe3","_this26","_extractResultData5","_callee54","_context54","_x109","Yo","_qe4","_extractResultData6","_callee55","_context55","_x110","Zo","_qe5","_this27$maxMessages","_this27","_i$options","_extractResultData7","_callee56","_context56","_x111","Ri","_Ki3","_this28","_callServiceAPI7","_callee57","_context57","_x112","_x113","_x114","_extractResultData8","_callee58","_context58","_x115","Qo","_qe6","_extractResultData9","_callee59","_context59","_x116","Mi","_Ki4","_this29","_callServiceAPI8","_callee60","_context60","_x117","_x118","_extractResultData0","_callee61","_context61","_x119","ea","_qe7","_this30","_extractResultData1","_callee62","_context62","_x120","Zt","_directFetch","_callee63","_args63","_context63","directFetch","_x121","_x122","_x123","I","ne","_storeFiles","_callee65","_context65","_ref18","_callee64","_context64","_x128","storeFiles","_x124","_x125","_x126","_x127","_getFiles","_callee66","_context66","_ref19","getFiles","_x129","_x130","_x131","_x132","_getFilesAndNewText","_callee67","_context67","getFilesAndNewText","_x133","_x134","_x135","_x136","_x137","_getFilesAndText","_callee68","_context68","getFilesAndText","_x138","_x139","_x140","_x141","_ref20","_callee70","_context70","_ref21","_callee69","_context69","_x143","_x142","_processStreamMessages","_callee71","_context71","processStreamMessages","_x144","_x145","_x146","_processAPIMessages","_callee72","_context72","processAPIMessages","_x147","_x148","_x149","_x150","Ie","Ke","_z3","_this31","_this31$_config","_fetchHistoryFunc","_callee73","_this32","_context73","fetchHistoryFunc","_ref22","_ref23","_a3","_s2","_callServiceAPI9","_callee74","_r$assistant_id","_context74","_x151","_x152","_x153","_createNewAssistant","_callee75","_context75","createNewAssistant","_ref24","_ref25","_extractResultData10","_callee76","_context76","_x154","_assignThreadAndRun","_callee77","_context77","assignThreadAndRun","_x155","_getThreadMessages","_callee78","_args78","_context78","getThreadMessages","_x156","_extractPollResultData4","_callee79","_this33","_o$shift","_context79","_x157","_handleTools","_callee80","_context80","handleTools","_x158","_handleStream","_callee81","_context81","handleStream","_x159","_parseStreamResult","_callee82","_a4","_l2","_context82","parseStreamResult","_x160","_createStreamRun","_callee83","_context83","createStreamRun","_x161","ki","Ts","_ki","_a$headers","_l$OpenAIBeta","_this34","_ref26","Li","Cs","_z4","_this35","ta","_Cs","_callServiceAPI0","_callee84","_context84","_x162","_x163","_extractResultData11","_callee85","_context85","_x164","Ds","ue","vt","_ki2","_g$headers","_this36","_ref27","ds","ia","_Cs2","_callServiceAPI1","_callee86","_context86","_x165","_x166","_extractResultData12","_callee87","_context87","_x167","N","Bn","re","Re","Wt","D","_Wt$parseSVGTextEleme","_Wt$parseSVGTextEleme2","_Wt$parseSVGTextEleme3","ut","_i2","_this$elementRef","qi","_ut","_this37","Ii","V","_e$s","_e$s2","_e$s3","_t$e","zi","Oi","Fn","hs","R","_z5","_l$model","_this38","_ref28","_setup","_callee88","_context88","setup","_fetchEphemeralKey","_callee89","_context89","fetchEphemeralKey","_x168","_getEphemeralKey","_callee90","_context90","getEphemeralKey","_x169","_this39","_this40","_this41","_callee91","_context91","_init2","_callee94","_this42","_context94","_ref30","_callee92","_context92","_x171","_ref31","_callee93","_context93","_x172","_x170","_this43","_i3","_handleTool","_callee95","_context95","handleTool","_x173","_x174","_x175","_t$microphone","_o$default","_a$svg","_l$content","_t$toggle","_h$default","_f$svg","_m$content","_p$active","_g$svg","_b$content","us","yt","_z6","_o$model","_a$voice","_this44","_callServiceAPI10","_callee96","_context96","_x176","_x177","_extractResultData13","_callee97","_context97","_x178","fs","ge","_z7","_o$model2","_this45","_callServiceAPI11","_callee98","_context98","_x179","_x180","_x181","_extractResultData14","_callee99","_context99","_x182","ps","fe","sa","_z8","_this46","Qt","_sa","_a$language","_this47","_callServiceAPI12","_callee100","_context100","_x183","_x184","_extractResultData15","_callee101","_i4","_context101","_x185","_extractPollResultData5","_callee102","_iterator","_step","_i5","_context102","err","_x186","ms","$t","_poll2","_callee103","_context103","_x187","_x188","Rs","_z9","_this48","_callServiceAPI13","_callee104","_context104","_x189","_x190","_x191","_extractResultData16","_callee105","_context105","_x192","Un","_z0","_this49","tt","_Un","_a$lang","_l$name","_c$gender","_this50","_callServiceAPI14","_callee106","_context106","_x193","_x194","_extractResultData17","_callee107","_context107","_x195","gs","We","_Un2","_this51","_callServiceAPI15","_callee108","_context108","_x196","_x197","_x198","_extractResultData18","_callee109","_context109","_x199","bs","na","_z1","_this52","_callServiceAPI16","_callee110","_context110","_x200","_x201","_extractResultData19","_callee111","_context111","_x202","St","_z10","_this53$maxMessages","_p$model","_this53","_i$max_tokens","_callServiceAPI17","_callee112","_context112","_x203","_x204","_extractResultData20","_callee113","_context113","_x205","_x206","_x207","_extractStreamResult","_callee114","_this54","_context114","extractStreamResult","_x208","_x209","_x210","_handleTools2","_callee115","_f2","_context115","_ref32","_x211","_x212","_x213","Ms","_St","_this55","_ref33","be","_z11","_this56","_callServiceAPI18","_callee116","_context116","_x214","_x215","_x216","_extractResultData21","_callee117","_context117","_x217","vs","ra","_Cs3","_this57$maxMessages","_this57","_callServiceAPI19","_callee118","_context118","_x218","_x219","_extractResultData22","_callee119","_context119","_x220","Pi","oa","_z12","_this58$maxMessages","_s$model","_this58","_callServiceAPI20","_callee120","_context120","_x221","_x222","_extractResultData23","_callee121","_context121","_x223","Ni","_directFetch2","_callee122","_args122","_context122","_x224","_x225","_x226","ks","_z13","_this59$maxMessages","_this59","_callServiceAPI21","_callee123","_context123","_x227","_x228","_extractResultData24","_callee124","_context124","_x229","_i$src$split","_i$src$split2","aa","Bs","ys","Di","la","X","_ref34","Bi","le","_ref35","_ref36","de","ca","_he","_this60","_ref37","_ref38","_this61","_ref39","_ref40","_this62","_i6","_addMultipleFiles","_callee125","_context125","_r2","addMultipleFiles","_x230","_x231","_this$messageToElemen","_ref41","_i7","H","Es","_t","tn","da","Q","xe","O","_ut2","_this63","_this64","_this65","_i8","_i9","_Wt$parseSVGTextEleme4","_Wt$parseSVGTextEleme5","ha","ai","Ls","_this66","it","_ut3","_this67","_this68","Fi","J","_ref42","ua","fa","pa","ma","ga","Wi","_ut4","_this69","ba","bi","xt","wt","At","Tt","sn","$i","nn","jn","rn","va","Ct","on","Is","Rt","Mt","an","ya","_this70","kt","ln","Ea","Lt","It","cn","Hn","Ot","dn","Ji","Pt","hn","Xi","_l3","un","qn","Nt","fn","Sa","Dt","pn","_a","mn","zn","gn","xa","_t$Speech","_this71","_this71$_extractText","Bt","bn","wa","Ft","Ut","vn","Aa","jt","Ht","yn","Ta","En","Ca","_getNewSpeechConfig","_callee126","_context126","getNewSpeechConfig","_x232","_x233","_get","_callee127","_context127","get","_x234","_x235","qt","Sn","Ra","zt","_n","Ma","Gt","xn","ka","wn","La","_r$Speech","_this72","_startAsync","_callee128","_context128","startAsync","_x236","_instantiateService","_callee129","_l$autoLanguage","_context129","instantiateService","_x237","_s$AzureTranscript$ex","_s$AzureTranscript$ex2","_this73","An","Ia","Oa","vi","Pa","_this74","li","ei","_Wi","_this75","_this75$processConfig","_i$displayInterimResu","_i$textColor","_i$translations","_i$commands","_i$events","_this76","Be","_this77","_r3","ci","_r4","_this78","_this79","Ne","_Be","_this80","_this81","Na","fi","_completePlaceholders","_callee131","_context131","_ref43","_callee130","_context130","_x238","completePlaceholders","ve","_this82","_len2","_key2","_this83","_this84","_i$classList","st","Ui","_ut5","_this85","De","Je","_useValidationFunc","_callee132","_context132","useValidationFunc","_x239","_x240","_x241","_x242","_useValidationFuncProgrammatic","_callee133","_context133","useValidationFuncProgrammatic","_x243","_x244","_x245","_ref44","_callee134","_context134","_x246","Gn","Da","_Wi2","_this86","_this87","_this88","_this89","Ba","nt","P","_ut6","_this90","_this$createCustomEle","_this91","_submitFromInput","_callee135","_context135","submitFromInput","_programmaticSubmit","_callee136","_this92","_context136","programmaticSubmit","_x247","_attemptSubmit","_callee137","_args137","_context137","attemptSubmit","_x248","_addNewMessage","_callee138","_ref45","_context138","addNewMessage","_x249","_this93","Ss","Fa","Ua","ja","Ha","Os","_st","_this94","_this94$addButtonsAnd","_this95","_this96","_this97","_i0","_i1","qa","Ps","_ut7","_this98","pt","_d","_ga$l","Ns","za","Ga","_","_ls","_this99","_this$_childElement","_sfc_main","body","signals","newMessages","files","key","value","messageContent","lastMessage","payload","error","file","resolve","reject","reader","base64Data","conversation","textOnly","msg","content","format","mimeType","fallbackMessage","responseTimeout","aiMessage","message","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_deep_chat","$options","$props"],"mappings":"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","x_google_ignoreList":[0]}