(function(factory) { typeof define === "function" && define.amd ? define(factory) : factory(); })(function() { "use strict"; (function() { var n = window.Document.prototype.createElement, p2 = window.Document.prototype.createElementNS, aa = window.Document.prototype.importNode, ba = window.Document.prototype.prepend, ca = window.Document.prototype.append, da = window.DocumentFragment.prototype.prepend, ea = window.DocumentFragment.prototype.append, q = window.Node.prototype.cloneNode, r = window.Node.prototype.appendChild, t = window.Node.prototype.insertBefore, u = window.Node.prototype.removeChild, v = window.Node.prototype.replaceChild, w = Object.getOwnPropertyDescriptor(window.Node.prototype, "textContent"), y = window.Element.prototype.attachShadow, z = Object.getOwnPropertyDescriptor(window.Element.prototype, "innerHTML"), A = window.Element.prototype.getAttribute, B = window.Element.prototype.setAttribute, C = window.Element.prototype.removeAttribute, D = window.Element.prototype.getAttributeNS, E2 = window.Element.prototype.setAttributeNS, F = window.Element.prototype.removeAttributeNS, G = window.Element.prototype.insertAdjacentElement, H = window.Element.prototype.insertAdjacentHTML, fa = window.Element.prototype.prepend, ha = window.Element.prototype.append, ia = window.Element.prototype.before, ja = window.Element.prototype.after, ka = window.Element.prototype.replaceWith, la = window.Element.prototype.remove, ma = window.HTMLElement, I = Object.getOwnPropertyDescriptor(window.HTMLElement.prototype, "innerHTML"), na = window.HTMLElement.prototype.insertAdjacentElement, oa = window.HTMLElement.prototype.insertAdjacentHTML; var pa = new Set(); "annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" ").forEach(function(a) { return pa.add(a); }); function qa(a) { var b = pa.has(a); a = /^[a-z][.0-9_a-z]*-[-.0-9_a-z]*$/.test(a); return !b && a; } var ra = document.contains ? document.contains.bind(document) : document.documentElement.contains.bind(document.documentElement); function J(a) { var b = a.isConnected; if (b !== void 0) return b; if (ra(a)) return true; for (; a && !(a.__CE_isImportDocument || a instanceof Document); ) a = a.parentNode || (window.ShadowRoot && a instanceof ShadowRoot ? a.host : void 0); return !(!a || !(a.__CE_isImportDocument || a instanceof Document)); } function K(a) { var b = a.children; if (b) return Array.prototype.slice.call(b); b = []; for (a = a.firstChild; a; a = a.nextSibling) a.nodeType === Node.ELEMENT_NODE && b.push(a); return b; } function L(a, b) { for (; b && b !== a && !b.nextSibling; ) b = b.parentNode; return b && b !== a ? b.nextSibling : null; } function M(a, b, c) { for (var f = a; f; ) { if (f.nodeType === Node.ELEMENT_NODE) { var d = f; b(d); var e = d.localName; if (e === "link" && d.getAttribute("rel") === "import") { f = d.import; c === void 0 && (c = new Set()); if (f instanceof Node && !c.has(f)) for (c.add(f), f = f.firstChild; f; f = f.nextSibling) M(f, b, c); f = L(a, d); continue; } else if (e === "template") { f = L(a, d); continue; } if (d = d.__CE_shadowRoot) for (d = d.firstChild; d; d = d.nextSibling) M(d, b, c); } f = f.firstChild ? f.firstChild : L(a, f); } } function N() { var a = !(O === null || O === void 0 || !O.noDocumentConstructionObserver), b = !(O === null || O === void 0 || !O.shadyDomFastWalk); this.h = []; this.a = []; this.f = false; this.shadyDomFastWalk = b; this.C = !a; } function P(a, b, c, f) { var d = window.ShadyDom; if (a.shadyDomFastWalk && d && d.inUse) { if (b.nodeType === Node.ELEMENT_NODE && c(b), b.querySelectorAll) for (a = d.nativeMethods.querySelectorAll.call(b, "*"), b = 0; b < a.length; b++) c(a[b]); } else M(b, c, f); } function sa(a, b) { a.f = true; a.h.push(b); } function ta(a, b) { a.f = true; a.a.push(b); } function Q(a, b) { a.f && P(a, b, function(c) { return R(a, c); }); } function R(a, b) { if (a.f && !b.__CE_patched) { b.__CE_patched = true; for (var c = 0; c < a.h.length; c++) a.h[c](b); for (c = 0; c < a.a.length; c++) a.a[c](b); } } function S(a, b) { var c = []; P(a, b, function(d) { return c.push(d); }); for (b = 0; b < c.length; b++) { var f = c[b]; f.__CE_state === 1 ? a.connectedCallback(f) : T(a, f); } } function U(a, b) { var c = []; P(a, b, function(d) { return c.push(d); }); for (b = 0; b < c.length; b++) { var f = c[b]; f.__CE_state === 1 && a.disconnectedCallback(f); } } function V(a, b, c) { c = c === void 0 ? {} : c; var f = c.D, d = c.upgrade || function(g) { return T(a, g); }, e = []; P(a, b, function(g) { a.f && R(a, g); if (g.localName === "link" && g.getAttribute("rel") === "import") { var h2 = g.import; h2 instanceof Node && (h2.__CE_isImportDocument = true, h2.__CE_registry = document.__CE_registry); h2 && h2.readyState === "complete" ? h2.__CE_documentLoadHandled = true : g.addEventListener("load", function() { var k = g.import; if (!k.__CE_documentLoadHandled) { k.__CE_documentLoadHandled = true; var l = new Set(); f && (f.forEach(function(m) { return l.add(m); }), l.delete(k)); V(a, k, { D: l, upgrade: d }); } }); } else e.push(g); }, f); for (b = 0; b < e.length; b++) d(e[b]); } function T(a, b) { try { var c = b.ownerDocument, f = c.__CE_registry; var d = f && (c.defaultView || c.__CE_isImportDocument) ? W(f, b.localName) : void 0; if (d && b.__CE_state === void 0) { d.constructionStack.push(b); try { try { if (new d.constructorFunction() !== b) throw Error("The custom element constructor did not produce the element being upgraded."); } finally { d.constructionStack.pop(); } } catch (k) { throw b.__CE_state = 2, k; } b.__CE_state = 1; b.__CE_definition = d; if (d.attributeChangedCallback && b.hasAttributes()) { var e = d.observedAttributes; for (d = 0; d < e.length; d++) { var g = e[d], h2 = b.getAttribute(g); h2 !== null && a.attributeChangedCallback(b, g, null, h2, null); } } J(b) && a.connectedCallback(b); } } catch (k) { X(k); } } N.prototype.connectedCallback = function(a) { var b = a.__CE_definition; if (b.connectedCallback) try { b.connectedCallback.call(a); } catch (c) { X(c); } }; N.prototype.disconnectedCallback = function(a) { var b = a.__CE_definition; if (b.disconnectedCallback) try { b.disconnectedCallback.call(a); } catch (c) { X(c); } }; N.prototype.attributeChangedCallback = function(a, b, c, f, d) { var e = a.__CE_definition; if (e.attributeChangedCallback && -1 < e.observedAttributes.indexOf(b)) try { e.attributeChangedCallback.call(a, b, c, f, d); } catch (g) { X(g); } }; function ua(a, b, c, f) { var d = b.__CE_registry; if (d && (f === null || f === "http://www.w3.org/1999/xhtml") && (d = W(d, c))) try { var e = new d.constructorFunction(); if (e.__CE_state === void 0 || e.__CE_definition === void 0) throw Error("Failed to construct '" + c + "': The returned value was not constructed with the HTMLElement constructor."); if (e.namespaceURI !== "http://www.w3.org/1999/xhtml") throw Error("Failed to construct '" + c + "': The constructed element's namespace must be the HTML namespace."); if (e.hasAttributes()) throw Error("Failed to construct '" + c + "': The constructed element must not have any attributes."); if (e.firstChild !== null) throw Error("Failed to construct '" + c + "': The constructed element must not have any children."); if (e.parentNode !== null) throw Error("Failed to construct '" + c + "': The constructed element must not have a parent node."); if (e.ownerDocument !== b) throw Error("Failed to construct '" + c + "': The constructed element's owner document is incorrect."); if (e.localName !== c) throw Error("Failed to construct '" + c + "': The constructed element's local name is incorrect."); return e; } catch (g) { return X(g), b = f === null ? n.call(b, c) : p2.call(b, f, c), Object.setPrototypeOf(b, HTMLUnknownElement.prototype), b.__CE_state = 2, b.__CE_definition = void 0, R(a, b), b; } b = f === null ? n.call(b, c) : p2.call(b, f, c); R(a, b); return b; } function X(a) { var b = a.message, c = a.sourceURL || a.fileName || "", f = a.line || a.lineNumber || 0, d = a.column || a.columnNumber || 0, e = void 0; ErrorEvent.prototype.initErrorEvent === void 0 ? e = new ErrorEvent("error", { cancelable: true, message: b, filename: c, lineno: f, colno: d, error: a }) : (e = document.createEvent("ErrorEvent"), e.initErrorEvent("error", false, true, b, c, f), e.preventDefault = function() { Object.defineProperty(this, "defaultPrevented", { configurable: true, get: function() { return true; } }); }); e.error === void 0 && Object.defineProperty(e, "error", { configurable: true, enumerable: true, get: function() { return a; } }); window.dispatchEvent(e); e.defaultPrevented || console.error(a); } function va() { var a = this; this.a = void 0; this.w = new Promise(function(b) { a.g = b; }); } va.prototype.resolve = function(a) { if (this.a) throw Error("Already resolved."); this.a = a; this.g(a); }; function wa(a) { var b = document; this.g = void 0; this.b = a; this.a = b; V(this.b, this.a); this.a.readyState === "loading" && (this.g = new MutationObserver(this.A.bind(this)), this.g.observe(this.a, { childList: true, subtree: true })); } function xa(a) { a.g && a.g.disconnect(); } wa.prototype.A = function(a) { var b = this.a.readyState; b !== "interactive" && b !== "complete" || xa(this); for (b = 0; b < a.length; b++) for (var c = a[b].addedNodes, f = 0; f < c.length; f++) V(this.b, c[f]); }; function Y(a) { this.j = new Map(); this.l = new Map(); this.u = new Map(); this.o = false; this.s = new Map(); this.i = function(b) { return b(); }; this.c = false; this.m = []; this.b = a; this.v = a.C ? new wa(a) : void 0; } Y.prototype.B = function(a, b) { var c = this; if (!(b instanceof Function)) throw new TypeError("Custom element constructor getters must be functions."); ya(this, a); this.j.set(a, b); this.m.push(a); this.c || (this.c = true, this.i(function() { return za(c); })); }; Y.prototype.define = function(a, b) { var c = this; if (!(b instanceof Function)) throw new TypeError("Custom element constructors must be functions."); ya(this, a); Aa(this, a, b); this.m.push(a); this.c || (this.c = true, this.i(function() { return za(c); })); }; function ya(a, b) { if (!qa(b)) throw new SyntaxError("The element name '" + b + "' is not valid."); if (W(a, b)) throw Error("A custom element with name '" + (b + "' has already been defined.")); if (a.o) throw Error("A custom element is already being defined."); } function Aa(a, b, c) { a.o = true; var f; try { var d = c.prototype; if (!(d instanceof Object)) throw new TypeError("The custom element constructor's prototype is not an object."); var e = function(m) { var x = d[m]; if (x !== void 0 && !(x instanceof Function)) throw Error("The '" + m + "' callback must be a function."); return x; }; var g = e("connectedCallback"); var h2 = e("disconnectedCallback"); var k = e("adoptedCallback"); var l = (f = e("attributeChangedCallback")) && c.observedAttributes || []; } catch (m) { throw m; } finally { a.o = false; } c = { localName: b, constructorFunction: c, connectedCallback: g, disconnectedCallback: h2, adoptedCallback: k, attributeChangedCallback: f, observedAttributes: l, constructionStack: [] }; a.l.set(b, c); a.u.set(c.constructorFunction, c); return c; } Y.prototype.upgrade = function(a) { V(this.b, a); }; function za(a) { if (a.c !== false) { a.c = false; for (var b = [], c = a.m, f = new Map(), d = 0; d < c.length; d++) f.set(c[d], []); V(a.b, document, { upgrade: function(k) { if (k.__CE_state === void 0) { var l = k.localName, m = f.get(l); m ? m.push(k) : a.l.has(l) && b.push(k); } } }); for (d = 0; d < b.length; d++) T(a.b, b[d]); for (d = 0; d < c.length; d++) { for (var e = c[d], g = f.get(e), h2 = 0; h2 < g.length; h2++) T(a.b, g[h2]); (e = a.s.get(e)) && e.resolve(void 0); } c.length = 0; } } Y.prototype.get = function(a) { if (a = W(this, a)) return a.constructorFunction; }; Y.prototype.whenDefined = function(a) { if (!qa(a)) return Promise.reject(new SyntaxError("'" + a + "' is not a valid custom element name.")); var b = this.s.get(a); if (b) return b.w; b = new va(); this.s.set(a, b); var c = this.l.has(a) || this.j.has(a); a = this.m.indexOf(a) === -1; c && a && b.resolve(void 0); return b.w; }; Y.prototype.polyfillWrapFlushCallback = function(a) { this.v && xa(this.v); var b = this.i; this.i = function(c) { return a(function() { return b(c); }); }; }; function W(a, b) { var c = a.l.get(b); if (c) return c; if (c = a.j.get(b)) { a.j.delete(b); try { return Aa(a, b, c()); } catch (f) { X(f); } } } window.CustomElementRegistry = Y; Y.prototype.define = Y.prototype.define; Y.prototype.upgrade = Y.prototype.upgrade; Y.prototype.get = Y.prototype.get; Y.prototype.whenDefined = Y.prototype.whenDefined; Y.prototype.polyfillDefineLazy = Y.prototype.B; Y.prototype.polyfillWrapFlushCallback = Y.prototype.polyfillWrapFlushCallback; function Z(a, b, c) { function f(d) { return function(e) { for (var g = [], h2 = 0; h2 < arguments.length; ++h2) g[h2] = arguments[h2]; h2 = []; for (var k = [], l = 0; l < g.length; l++) { var m = g[l]; m instanceof Element && J(m) && k.push(m); if (m instanceof DocumentFragment) for (m = m.firstChild; m; m = m.nextSibling) h2.push(m); else h2.push(m); } d.apply(this, g); for (g = 0; g < k.length; g++) U(a, k[g]); if (J(this)) for (g = 0; g < h2.length; g++) k = h2[g], k instanceof Element && S(a, k); }; } c.prepend !== void 0 && (b.prepend = f(c.prepend)); c.append !== void 0 && (b.append = f(c.append)); } function Ba(a) { Document.prototype.createElement = function(b) { return ua(a, this, b, null); }; Document.prototype.importNode = function(b, c) { b = aa.call(this, b, !!c); this.__CE_registry ? V(a, b) : Q(a, b); return b; }; Document.prototype.createElementNS = function(b, c) { return ua(a, this, c, b); }; Z(a, Document.prototype, { prepend: ba, append: ca }); } function Ca(a) { function b(f) { return function(d) { for (var e = [], g = 0; g < arguments.length; ++g) e[g] = arguments[g]; g = []; for (var h2 = [], k = 0; k < e.length; k++) { var l = e[k]; l instanceof Element && J(l) && h2.push(l); if (l instanceof DocumentFragment) for (l = l.firstChild; l; l = l.nextSibling) g.push(l); else g.push(l); } f.apply(this, e); for (e = 0; e < h2.length; e++) U(a, h2[e]); if (J(this)) for (e = 0; e < g.length; e++) h2 = g[e], h2 instanceof Element && S(a, h2); }; } var c = Element.prototype; ia !== void 0 && (c.before = b(ia)); ja !== void 0 && (c.after = b(ja)); ka !== void 0 && (c.replaceWith = function(f) { for (var d = [], e = 0; e < arguments.length; ++e) d[e] = arguments[e]; e = []; for (var g = [], h2 = 0; h2 < d.length; h2++) { var k = d[h2]; k instanceof Element && J(k) && g.push(k); if (k instanceof DocumentFragment) for (k = k.firstChild; k; k = k.nextSibling) e.push(k); else e.push(k); } h2 = J(this); ka.apply(this, d); for (d = 0; d < g.length; d++) U(a, g[d]); if (h2) for (U(a, this), d = 0; d < e.length; d++) g = e[d], g instanceof Element && S(a, g); }); la !== void 0 && (c.remove = function() { var f = J(this); la.call(this); f && U(a, this); }); } function Da(a) { function b(d, e) { Object.defineProperty(d, "innerHTML", { enumerable: e.enumerable, configurable: true, get: e.get, set: function(g) { var h2 = this, k = void 0; J(this) && (k = [], P(a, this, function(x) { x !== h2 && k.push(x); })); e.set.call(this, g); if (k) for (var l = 0; l < k.length; l++) { var m = k[l]; m.__CE_state === 1 && a.disconnectedCallback(m); } this.ownerDocument.__CE_registry ? V(a, this) : Q(a, this); return g; } }); } function c(d, e) { d.insertAdjacentElement = function(g, h2) { var k = J(h2); g = e.call(this, g, h2); k && U(a, h2); J(g) && S(a, h2); return g; }; } function f(d, e) { function g(h2, k) { for (var l = []; h2 !== k; h2 = h2.nextSibling) l.push(h2); for (k = 0; k < l.length; k++) V(a, l[k]); } d.insertAdjacentHTML = function(h2, k) { h2 = h2.toLowerCase(); if (h2 === "beforebegin") { var l = this.previousSibling; e.call(this, h2, k); g(l || this.parentNode.firstChild, this); } else if (h2 === "afterbegin") l = this.firstChild, e.call(this, h2, k), g(this.firstChild, l); else if (h2 === "beforeend") l = this.lastChild, e.call(this, h2, k), g(l || this.firstChild, null); else if (h2 === "afterend") l = this.nextSibling, e.call(this, h2, k), g(this.nextSibling, l); else throw new SyntaxError("The value provided (" + String(h2) + ") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'."); }; } y && (Element.prototype.attachShadow = function(d) { d = y.call(this, d); if (a.f && !d.__CE_patched) { d.__CE_patched = true; for (var e = 0; e < a.h.length; e++) a.h[e](d); } return this.__CE_shadowRoot = d; }); z && z.get ? b(Element.prototype, z) : I && I.get ? b(HTMLElement.prototype, I) : ta(a, function(d) { b(d, { enumerable: true, configurable: true, get: function() { return q.call(this, true).innerHTML; }, set: function(e) { var g = this.localName === "template", h2 = g ? this.content : this, k = p2.call(document, this.namespaceURI, this.localName); for (k.innerHTML = e; 0 < h2.childNodes.length; ) u.call(h2, h2.childNodes[0]); for (e = g ? k.content : k; 0 < e.childNodes.length; ) r.call(h2, e.childNodes[0]); } }); }); Element.prototype.setAttribute = function(d, e) { if (this.__CE_state !== 1) return B.call(this, d, e); var g = A.call(this, d); B.call(this, d, e); e = A.call(this, d); a.attributeChangedCallback(this, d, g, e, null); }; Element.prototype.setAttributeNS = function(d, e, g) { if (this.__CE_state !== 1) return E2.call(this, d, e, g); var h2 = D.call(this, d, e); E2.call(this, d, e, g); g = D.call(this, d, e); a.attributeChangedCallback(this, e, h2, g, d); }; Element.prototype.removeAttribute = function(d) { if (this.__CE_state !== 1) return C.call(this, d); var e = A.call(this, d); C.call(this, d); e !== null && a.attributeChangedCallback(this, d, e, null, null); }; Element.prototype.removeAttributeNS = function(d, e) { if (this.__CE_state !== 1) return F.call(this, d, e); var g = D.call(this, d, e); F.call(this, d, e); var h2 = D.call(this, d, e); g !== h2 && a.attributeChangedCallback(this, e, g, h2, d); }; na ? c(HTMLElement.prototype, na) : G && c(Element.prototype, G); oa ? f(HTMLElement.prototype, oa) : H && f(Element.prototype, H); Z(a, Element.prototype, { prepend: fa, append: ha }); Ca(a); } var Ea = {}; function Fa(a) { function b() { var c = this.constructor; var f = document.__CE_registry.u.get(c); if (!f) throw Error("Failed to construct a custom element: The constructor was not registered with `customElements`."); var d = f.constructionStack; if (d.length === 0) return d = n.call(document, f.localName), Object.setPrototypeOf(d, c.prototype), d.__CE_state = 1, d.__CE_definition = f, R(a, d), d; var e = d.length - 1, g = d[e]; if (g === Ea) throw Error("Failed to construct '" + f.localName + "': This element was already constructed."); d[e] = Ea; Object.setPrototypeOf(g, c.prototype); R(a, g); return g; } b.prototype = ma.prototype; Object.defineProperty(HTMLElement.prototype, "constructor", { writable: true, configurable: true, enumerable: false, value: b }); window.HTMLElement = b; } function Ga(a) { function b(c, f) { Object.defineProperty(c, "textContent", { enumerable: f.enumerable, configurable: true, get: f.get, set: function(d) { if (this.nodeType === Node.TEXT_NODE) f.set.call(this, d); else { var e = void 0; if (this.firstChild) { var g = this.childNodes, h2 = g.length; if (0 < h2 && J(this)) { e = Array(h2); for (var k = 0; k < h2; k++) e[k] = g[k]; } } f.set.call(this, d); if (e) for (d = 0; d < e.length; d++) U(a, e[d]); } } }); } Node.prototype.insertBefore = function(c, f) { if (c instanceof DocumentFragment) { var d = K(c); c = t.call(this, c, f); if (J(this)) for (f = 0; f < d.length; f++) S(a, d[f]); return c; } d = c instanceof Element && J(c); f = t.call(this, c, f); d && U(a, c); J(this) && S(a, c); return f; }; Node.prototype.appendChild = function(c) { if (c instanceof DocumentFragment) { var f = K(c); c = r.call(this, c); if (J(this)) for (var d = 0; d < f.length; d++) S(a, f[d]); return c; } f = c instanceof Element && J(c); d = r.call(this, c); f && U(a, c); J(this) && S(a, c); return d; }; Node.prototype.cloneNode = function(c) { c = q.call(this, !!c); this.ownerDocument.__CE_registry ? V(a, c) : Q(a, c); return c; }; Node.prototype.removeChild = function(c) { var f = c instanceof Element && J(c), d = u.call(this, c); f && U(a, c); return d; }; Node.prototype.replaceChild = function(c, f) { if (c instanceof DocumentFragment) { var d = K(c); c = v.call(this, c, f); if (J(this)) for (U(a, f), f = 0; f < d.length; f++) S(a, d[f]); return c; } d = c instanceof Element && J(c); var e = v.call(this, c, f), g = J(this); g && U(a, f); d && U(a, c); g && S(a, c); return e; }; w && w.get ? b(Node.prototype, w) : sa(a, function(c) { b(c, { enumerable: true, configurable: true, get: function() { for (var f = [], d = this.firstChild; d; d = d.nextSibling) d.nodeType !== Node.COMMENT_NODE && f.push(d.textContent); return f.join(""); }, set: function(f) { for (; this.firstChild; ) u.call(this, this.firstChild); f != null && f !== "" && r.call(this, document.createTextNode(f)); } }); }); } var O = window.customElements; function Ha() { var a = new N(); Fa(a); Ba(a); Z(a, DocumentFragment.prototype, { prepend: da, append: ea }); Ga(a); Da(a); a = new Y(a); document.__CE_registry = a; Object.defineProperty(window, "customElements", { configurable: true, enumerable: true, value: a }); } O && !O.forcePolyfill && typeof O.define == "function" && typeof O.get == "function" || Ha(); window.__CE_installPolyfill = Ha; }).call(self); function makeMap(str, expectsLowerCase) { const map = Object.create(null); const list = str.split(","); for (let i = 0; i < list.length; i++) { map[list[i]] = true; } return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val]; } const GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"; const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED); const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); function normalizeStyle(value) { if (isArray(value)) { const res = {}; for (let i = 0; i < value.length; i++) { const item = value[i]; const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item); if (normalized) { for (const key in normalized) { res[key] = normalized[key]; } } } return res; } else if (isObject$1(value)) { return value; } } const listDelimiterRE = /;(?![^(]*\))/g; const propertyDelimiterRE = /:(.+)/; function parseStringStyle(cssText) { const ret = {}; cssText.split(listDelimiterRE).forEach((item) => { if (item) { const tmp = item.split(propertyDelimiterRE); tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); } }); return ret; } function normalizeClass(value) { let res = ""; if (isString(value)) { res = value; } else if (isArray(value)) { for (let i = 0; i < value.length; i++) { const normalized = normalizeClass(value[i]); if (normalized) { res += normalized + " "; } } } else if (isObject$1(value)) { for (const name in value) { if (value[name]) { res += name + " "; } } } return res.trim(); } const EMPTY_OBJ = {}; const EMPTY_ARR = []; const NOOP = () => { }; const NO = () => false; const onRE = /^on[^a-z]/; const isOn = (key) => onRE.test(key); const isModelListener = (key) => key.startsWith("onUpdate:"); const extend = Object.assign; const remove = (arr, el) => { const i = arr.indexOf(el); if (i > -1) { arr.splice(i, 1); } }; const hasOwnProperty$1 = Object.prototype.hasOwnProperty; const hasOwn$1 = (val, key) => hasOwnProperty$1.call(val, key); const isArray = Array.isArray; const isMap = (val) => toTypeString(val) === "[object Map]"; const isSet = (val) => toTypeString(val) === "[object Set]"; const isFunction = (val) => typeof val === "function"; const isString = (val) => typeof val === "string"; const isSymbol = (val) => typeof val === "symbol"; const isObject$1 = (val) => val !== null && typeof val === "object"; const isPromise = (val) => { return isObject$1(val) && isFunction(val.then) && isFunction(val.catch); }; const objectToString = Object.prototype.toString; const toTypeString = (value) => objectToString.call(value); const toRawType = (value) => { return toTypeString(value).slice(8, -1); }; const isPlainObject = (val) => toTypeString(val) === "[object Object]"; const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); const cacheStringFunction$1 = (fn) => { const cache2 = Object.create(null); return (str) => { const hit = cache2[str]; return hit || (cache2[str] = fn(str)); }; }; const camelizeRE = /-(\w)/g; const camelize = cacheStringFunction$1((str) => { return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); }); const hyphenateRE = /\B([A-Z])/g; const hyphenate = cacheStringFunction$1((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); const capitalize = cacheStringFunction$1((str) => str.charAt(0).toUpperCase() + str.slice(1)); const toHandlerKey = cacheStringFunction$1((str) => str ? `on${capitalize(str)}` : ``); const hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue); const invokeArrayFns = (fns, arg) => { for (let i = 0; i < fns.length; i++) { fns[i](arg); } }; const def = (obj, key, value) => { Object.defineProperty(obj, key, { configurable: true, enumerable: false, value }); }; const toNumber = (val) => { const n = parseFloat(val); return isNaN(n) ? val : n; }; const targetMap = new WeakMap(); const effectStack = []; let activeEffect; const ITERATE_KEY = Symbol(""); const MAP_KEY_ITERATE_KEY = Symbol(""); function isEffect(fn) { return fn && fn._isEffect === true; } function effect(fn, options = EMPTY_OBJ) { if (isEffect(fn)) { fn = fn.raw; } const effect2 = createReactiveEffect(fn, options); if (!options.lazy) { effect2(); } return effect2; } function stop(effect2) { if (effect2.active) { cleanup(effect2); if (effect2.options.onStop) { effect2.options.onStop(); } effect2.active = false; } } let uid = 0; function createReactiveEffect(fn, options) { const effect2 = function reactiveEffect() { if (!effect2.active) { return fn(); } if (!effectStack.includes(effect2)) { cleanup(effect2); try { enableTracking(); effectStack.push(effect2); activeEffect = effect2; return fn(); } finally { effectStack.pop(); resetTracking(); activeEffect = effectStack[effectStack.length - 1]; } } }; effect2.id = uid++; effect2.allowRecurse = !!options.allowRecurse; effect2._isEffect = true; effect2.active = true; effect2.raw = fn; effect2.deps = []; effect2.options = options; return effect2; } function cleanup(effect2) { const { deps } = effect2; if (deps.length) { for (let i = 0; i < deps.length; i++) { deps[i].delete(effect2); } deps.length = 0; } } let shouldTrack = true; const trackStack = []; function pauseTracking() { trackStack.push(shouldTrack); shouldTrack = false; } function enableTracking() { trackStack.push(shouldTrack); shouldTrack = true; } function resetTracking() { const last = trackStack.pop(); shouldTrack = last === void 0 ? true : last; } function track(target, type, key) { if (!shouldTrack || activeEffect === void 0) { return; } let depsMap = targetMap.get(target); if (!depsMap) { targetMap.set(target, depsMap = new Map()); } let dep = depsMap.get(key); if (!dep) { depsMap.set(key, dep = new Set()); } if (!dep.has(activeEffect)) { dep.add(activeEffect); activeEffect.deps.push(dep); } } function trigger(target, type, key, newValue, oldValue, oldTarget) { const depsMap = targetMap.get(target); if (!depsMap) { return; } const effects = new Set(); const add2 = (effectsToAdd) => { if (effectsToAdd) { effectsToAdd.forEach((effect2) => { if (effect2 !== activeEffect || effect2.allowRecurse) { effects.add(effect2); } }); } }; if (type === "clear") { depsMap.forEach(add2); } else if (key === "length" && isArray(target)) { depsMap.forEach((dep, key2) => { if (key2 === "length" || key2 >= newValue) { add2(dep); } }); } else { if (key !== void 0) { add2(depsMap.get(key)); } switch (type) { case "add": if (!isArray(target)) { add2(depsMap.get(ITERATE_KEY)); if (isMap(target)) { add2(depsMap.get(MAP_KEY_ITERATE_KEY)); } } else if (isIntegerKey(key)) { add2(depsMap.get("length")); } break; case "delete": if (!isArray(target)) { add2(depsMap.get(ITERATE_KEY)); if (isMap(target)) { add2(depsMap.get(MAP_KEY_ITERATE_KEY)); } } break; case "set": if (isMap(target)) { add2(depsMap.get(ITERATE_KEY)); } break; } } const run = (effect2) => { if (effect2.options.scheduler) { effect2.options.scheduler(effect2); } else { effect2(); } }; effects.forEach(run); } const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(isSymbol)); const get = /* @__PURE__ */ createGetter(); const shallowGet = /* @__PURE__ */ createGetter(false, true); const readonlyGet = /* @__PURE__ */ createGetter(true); const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true); const arrayInstrumentations = {}; ["includes", "indexOf", "lastIndexOf"].forEach((key) => { const method = Array.prototype[key]; arrayInstrumentations[key] = function(...args) { const arr = toRaw(this); for (let i = 0, l = this.length; i < l; i++) { track(arr, "get", i + ""); } const res = method.apply(arr, args); if (res === -1 || res === false) { return method.apply(arr, args.map(toRaw)); } else { return res; } }; }); ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { const method = Array.prototype[key]; arrayInstrumentations[key] = function(...args) { pauseTracking(); const res = method.apply(this, args); resetTracking(); return res; }; }); function createGetter(isReadonly2 = false, shallow = false) { return function get2(target, key, receiver) { if (key === "__v_isReactive") { return !isReadonly2; } else if (key === "__v_isReadonly") { return isReadonly2; } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { return target; } const targetIsArray = isArray(target); if (!isReadonly2 && targetIsArray && hasOwn$1(arrayInstrumentations, key)) { return Reflect.get(arrayInstrumentations, key, receiver); } const res = Reflect.get(target, key, receiver); if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { return res; } if (!isReadonly2) { track(target, "get", key); } if (shallow) { return res; } if (isRef(res)) { const shouldUnwrap = !targetIsArray || !isIntegerKey(key); return shouldUnwrap ? res.value : res; } if (isObject$1(res)) { return isReadonly2 ? readonly(res) : reactive(res); } return res; }; } const set = /* @__PURE__ */ createSetter(); const shallowSet = /* @__PURE__ */ createSetter(true); function createSetter(shallow = false) { return function set2(target, key, value, receiver) { let oldValue = target[key]; if (!shallow) { value = toRaw(value); oldValue = toRaw(oldValue); if (!isArray(target) && isRef(oldValue) && !isRef(value)) { oldValue.value = value; return true; } } const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key); const result = Reflect.set(target, key, value, receiver); if (target === toRaw(receiver)) { if (!hadKey) { trigger(target, "add", key, value); } else if (hasChanged(value, oldValue)) { trigger(target, "set", key, value); } } return result; }; } function deleteProperty(target, key) { const hadKey = hasOwn$1(target, key); target[key]; const result = Reflect.deleteProperty(target, key); if (result && hadKey) { trigger(target, "delete", key, void 0); } return result; } function has(target, key) { const result = Reflect.has(target, key); if (!isSymbol(key) || !builtInSymbols.has(key)) { track(target, "has", key); } return result; } function ownKeys(target) { track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); return Reflect.ownKeys(target); } const mutableHandlers = { get, set, deleteProperty, has, ownKeys }; const readonlyHandlers = { get: readonlyGet, set(target, key) { return true; }, deleteProperty(target, key) { return true; } }; const shallowReactiveHandlers = extend({}, mutableHandlers, { get: shallowGet, set: shallowSet }); extend({}, readonlyHandlers, { get: shallowReadonlyGet }); const toReactive = (value) => isObject$1(value) ? reactive(value) : value; const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; const toShallow = (value) => value; const getProto = (v) => Reflect.getPrototypeOf(v); function get$1(target, key, isReadonly2 = false, isShallow = false) { target = target["__v_raw"]; const rawTarget = toRaw(target); const rawKey = toRaw(key); if (key !== rawKey) { !isReadonly2 && track(rawTarget, "get", key); } !isReadonly2 && track(rawTarget, "get", rawKey); const { has: has2 } = getProto(rawTarget); const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; if (has2.call(rawTarget, key)) { return wrap(target.get(key)); } else if (has2.call(rawTarget, rawKey)) { return wrap(target.get(rawKey)); } else if (target !== rawTarget) { target.get(key); } } function has$1(key, isReadonly2 = false) { const target = this["__v_raw"]; const rawTarget = toRaw(target); const rawKey = toRaw(key); if (key !== rawKey) { !isReadonly2 && track(rawTarget, "has", key); } !isReadonly2 && track(rawTarget, "has", rawKey); return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); } function size(target, isReadonly2 = false) { target = target["__v_raw"]; !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); return Reflect.get(target, "size", target); } function add(value) { value = toRaw(value); const target = toRaw(this); const proto = getProto(target); const hadKey = proto.has.call(target, value); if (!hadKey) { target.add(value); trigger(target, "add", value, value); } return this; } function set$1(key, value) { value = toRaw(value); const target = toRaw(this); const { has: has2, get: get2 } = getProto(target); let hadKey = has2.call(target, key); if (!hadKey) { key = toRaw(key); hadKey = has2.call(target, key); } const oldValue = get2.call(target, key); target.set(key, value); if (!hadKey) { trigger(target, "add", key, value); } else if (hasChanged(value, oldValue)) { trigger(target, "set", key, value); } return this; } function deleteEntry(key) { const target = toRaw(this); const { has: has2, get: get2 } = getProto(target); let hadKey = has2.call(target, key); if (!hadKey) { key = toRaw(key); hadKey = has2.call(target, key); } get2 ? get2.call(target, key) : void 0; const result = target.delete(key); if (hadKey) { trigger(target, "delete", key, void 0); } return result; } function clear() { const target = toRaw(this); const hadItems = target.size !== 0; const result = target.clear(); if (hadItems) { trigger(target, "clear", void 0, void 0); } return result; } function createForEach(isReadonly2, isShallow) { return function forEach(callback, thisArg) { const observed = this; const target = observed["__v_raw"]; const rawTarget = toRaw(target); const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); return target.forEach((value, key) => { return callback.call(thisArg, wrap(value), wrap(key), observed); }); }; } function createIterableMethod(method, isReadonly2, isShallow) { return function(...args) { const target = this["__v_raw"]; const rawTarget = toRaw(target); const targetIsMap = isMap(rawTarget); const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; const isKeyOnly = method === "keys" && targetIsMap; const innerIterator = target[method](...args); const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); return { next() { const { value, done } = innerIterator.next(); return done ? { value, done } : { value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), done }; }, [Symbol.iterator]() { return this; } }; }; } function createReadonlyMethod(type) { return function(...args) { return type === "delete" ? false : this; }; } const mutableInstrumentations = { get(key) { return get$1(this, key); }, get size() { return size(this); }, has: has$1, add, set: set$1, delete: deleteEntry, clear, forEach: createForEach(false, false) }; const shallowInstrumentations = { get(key) { return get$1(this, key, false, true); }, get size() { return size(this); }, has: has$1, add, set: set$1, delete: deleteEntry, clear, forEach: createForEach(false, true) }; const readonlyInstrumentations = { get(key) { return get$1(this, key, true); }, get size() { return size(this, true); }, has(key) { return has$1.call(this, key, true); }, add: createReadonlyMethod("add"), set: createReadonlyMethod("set"), delete: createReadonlyMethod("delete"), clear: createReadonlyMethod("clear"), forEach: createForEach(true, false) }; const shallowReadonlyInstrumentations = { get(key) { return get$1(this, key, true, true); }, get size() { return size(this, true); }, has(key) { return has$1.call(this, key, true); }, add: createReadonlyMethod("add"), set: createReadonlyMethod("set"), delete: createReadonlyMethod("delete"), clear: createReadonlyMethod("clear"), forEach: createForEach(true, true) }; const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; iteratorMethods.forEach((method) => { mutableInstrumentations[method] = createIterableMethod(method, false, false); readonlyInstrumentations[method] = createIterableMethod(method, true, false); shallowInstrumentations[method] = createIterableMethod(method, false, true); shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true); }); function createInstrumentationGetter(isReadonly2, shallow) { const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; return (target, key, receiver) => { if (key === "__v_isReactive") { return !isReadonly2; } else if (key === "__v_isReadonly") { return isReadonly2; } else if (key === "__v_raw") { return target; } return Reflect.get(hasOwn$1(instrumentations, key) && key in target ? instrumentations : target, key, receiver); }; } const mutableCollectionHandlers = { get: createInstrumentationGetter(false, false) }; const shallowCollectionHandlers = { get: createInstrumentationGetter(false, true) }; const readonlyCollectionHandlers = { get: createInstrumentationGetter(true, false) }; const reactiveMap = new WeakMap(); const shallowReactiveMap = new WeakMap(); const readonlyMap = new WeakMap(); const shallowReadonlyMap = new WeakMap(); function targetTypeMap(rawType) { switch (rawType) { case "Object": case "Array": return 1; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2; default: return 0; } } function getTargetType(value) { return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); } function reactive(target) { if (target && target["__v_isReadonly"]) { return target; } return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); } function shallowReactive(target) { return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); } function readonly(target) { return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); } function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { if (!isObject$1(target)) { return target; } if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { return target; } const existingProxy = proxyMap.get(target); if (existingProxy) { return existingProxy; } const targetType = getTargetType(target); if (targetType === 0) { return target; } const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); proxyMap.set(target, proxy); return proxy; } function isReactive(value) { if (isReadonly(value)) { return isReactive(value["__v_raw"]); } return !!(value && value["__v_isReactive"]); } function isReadonly(value) { return !!(value && value["__v_isReadonly"]); } function isProxy(value) { return isReactive(value) || isReadonly(value); } function toRaw(observed) { return observed && toRaw(observed["__v_raw"]) || observed; } function markRaw(value) { def(value, "__v_skip", true); return value; } const convert = (val) => isObject$1(val) ? reactive(val) : val; function isRef(r) { return Boolean(r && r.__v_isRef === true); } function ref(value) { return createRef(value); } class RefImpl { constructor(_rawValue, _shallow) { this._rawValue = _rawValue; this._shallow = _shallow; this.__v_isRef = true; this._value = _shallow ? _rawValue : convert(_rawValue); } get value() { track(toRaw(this), "get", "value"); return this._value; } set value(newVal) { if (hasChanged(toRaw(newVal), this._rawValue)) { this._rawValue = newVal; this._value = this._shallow ? newVal : convert(newVal); trigger(toRaw(this), "set", "value", newVal); } } } function createRef(rawValue, shallow = false) { if (isRef(rawValue)) { return rawValue; } return new RefImpl(rawValue, shallow); } function unref(ref2) { return isRef(ref2) ? ref2.value : ref2; } const shallowUnwrapHandlers = { get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), set: (target, key, value, receiver) => { const oldValue = target[key]; if (isRef(oldValue) && !isRef(value)) { oldValue.value = value; return true; } else { return Reflect.set(target, key, value, receiver); } } }; function proxyRefs(objectWithRefs) { return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); } class ComputedRefImpl { constructor(getter, _setter, isReadonly2) { this._setter = _setter; this._dirty = true; this.__v_isRef = true; this.effect = effect(getter, { lazy: true, scheduler: () => { if (!this._dirty) { this._dirty = true; trigger(toRaw(this), "set", "value"); } } }); this["__v_isReadonly"] = isReadonly2; } get value() { const self2 = toRaw(this); if (self2._dirty) { self2._value = this.effect(); self2._dirty = false; } track(self2, "get", "value"); return self2._value; } set value(newValue) { this._setter(newValue); } } function computed(getterOrOptions) { let getter; let setter; if (isFunction(getterOrOptions)) { getter = getterOrOptions; setter = NOOP; } else { getter = getterOrOptions.get; setter = getterOrOptions.set; } return new ComputedRefImpl(getter, setter, isFunction(getterOrOptions) || !getterOrOptions.set); } const stack = []; function warn(msg, ...args) { pauseTracking(); const instance = stack.length ? stack[stack.length - 1].component : null; const appWarnHandler = instance && instance.appContext.config.warnHandler; const trace = getComponentTrace(); if (appWarnHandler) { callWithErrorHandling(appWarnHandler, instance, 11, [ msg + args.join(""), instance && instance.proxy, trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), trace ]); } else { const warnArgs = [`[Vue warn]: ${msg}`, ...args]; if (trace.length && true) { warnArgs.push(` `, ...formatTrace(trace)); } console.warn(...warnArgs); } resetTracking(); } function getComponentTrace() { let currentVNode = stack[stack.length - 1]; if (!currentVNode) { return []; } const normalizedStack = []; while (currentVNode) { const last = normalizedStack[0]; if (last && last.vnode === currentVNode) { last.recurseCount++; } else { normalizedStack.push({ vnode: currentVNode, recurseCount: 0 }); } const parentInstance = currentVNode.component && currentVNode.component.parent; currentVNode = parentInstance && parentInstance.vnode; } return normalizedStack; } function formatTrace(trace) { const logs = []; trace.forEach((entry, i) => { logs.push(...i === 0 ? [] : [` `], ...formatTraceEntry(entry)); }); return logs; } function formatTraceEntry({ vnode, recurseCount }) { const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; const isRoot = vnode.component ? vnode.component.parent == null : false; const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; const close = `>` + postfix; return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; } function formatProps(props2) { const res = []; const keys = Object.keys(props2); keys.slice(0, 3).forEach((key) => { res.push(...formatProp(key, props2[key])); }); if (keys.length > 3) { res.push(` ...`); } return res; } function formatProp(key, value, raw) { if (isString(value)) { value = JSON.stringify(value); return raw ? value : [`${key}=${value}`]; } else if (typeof value === "number" || typeof value === "boolean" || value == null) { return raw ? value : [`${key}=${value}`]; } else if (isRef(value)) { value = formatProp(key, toRaw(value.value), true); return raw ? value : [`${key}=Ref<`, value, `>`]; } else if (isFunction(value)) { return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; } else { value = toRaw(value); return raw ? value : [`${key}=`, value]; } } function callWithErrorHandling(fn, instance, type, args) { let res; try { res = args ? fn(...args) : fn(); } catch (err) { handleError(err, instance, type); } return res; } function callWithAsyncErrorHandling(fn, instance, type, args) { if (isFunction(fn)) { const res = callWithErrorHandling(fn, instance, type, args); if (res && isPromise(res)) { res.catch((err) => { handleError(err, instance, type); }); } return res; } const values = []; for (let i = 0; i < fn.length; i++) { values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); } return values; } function handleError(err, instance, type, throwInDev = true) { const contextVNode = instance ? instance.vnode : null; if (instance) { let cur = instance.parent; const exposedInstance = instance.proxy; const errorInfo = type; while (cur) { const errorCapturedHooks = cur.ec; if (errorCapturedHooks) { for (let i = 0; i < errorCapturedHooks.length; i++) { if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { return; } } } cur = cur.parent; } const appErrorHandler = instance.appContext.config.errorHandler; if (appErrorHandler) { callWithErrorHandling(appErrorHandler, null, 10, [ err, exposedInstance, errorInfo ]); return; } } logError(err, type, contextVNode, throwInDev); } function logError(err, type, contextVNode, throwInDev = true) { { console.error(err); } } let isFlushing = false; let isFlushPending = false; const queue = []; let flushIndex = 0; const pendingPreFlushCbs = []; let activePreFlushCbs = null; let preFlushIndex = 0; const pendingPostFlushCbs = []; let activePostFlushCbs = null; let postFlushIndex = 0; const resolvedPromise = Promise.resolve(); let currentFlushPromise = null; let currentPreFlushParentJob = null; const RECURSION_LIMIT = 100; function nextTick(fn) { const p2 = currentFlushPromise || resolvedPromise; return fn ? p2.then(this ? fn.bind(this) : fn) : p2; } function findInsertionIndex(job) { let start = flushIndex + 1; let end = queue.length; const jobId = getId(job); while (start < end) { const middle = start + end >>> 1; const middleJobId = getId(queue[middle]); middleJobId < jobId ? start = middle + 1 : end = middle; } return start; } function queueJob(job) { if ((!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) && job !== currentPreFlushParentJob) { const pos = findInsertionIndex(job); if (pos > -1) { queue.splice(pos, 0, job); } else { queue.push(job); } queueFlush(); } } function queueFlush() { if (!isFlushing && !isFlushPending) { isFlushPending = true; currentFlushPromise = resolvedPromise.then(flushJobs); } } function invalidateJob(job) { const i = queue.indexOf(job); if (i > flushIndex) { queue.splice(i, 1); } } function queueCb(cb, activeQueue, pendingQueue, index) { if (!isArray(cb)) { if (!activeQueue || !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) { pendingQueue.push(cb); } } else { pendingQueue.push(...cb); } queueFlush(); } function queuePreFlushCb(cb) { queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex); } function queuePostFlushCb(cb) { queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex); } function flushPreFlushCbs(seen, parentJob = null) { if (pendingPreFlushCbs.length) { currentPreFlushParentJob = parentJob; activePreFlushCbs = [...new Set(pendingPreFlushCbs)]; pendingPreFlushCbs.length = 0; for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) { activePreFlushCbs[preFlushIndex](); } activePreFlushCbs = null; preFlushIndex = 0; currentPreFlushParentJob = null; flushPreFlushCbs(seen, parentJob); } } function flushPostFlushCbs(seen) { if (pendingPostFlushCbs.length) { const deduped = [...new Set(pendingPostFlushCbs)]; pendingPostFlushCbs.length = 0; if (activePostFlushCbs) { activePostFlushCbs.push(...deduped); return; } activePostFlushCbs = deduped; activePostFlushCbs.sort((a, b) => getId(a) - getId(b)); for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { activePostFlushCbs[postFlushIndex](); } activePostFlushCbs = null; postFlushIndex = 0; } } const getId = (job) => job.id == null ? Infinity : job.id; function flushJobs(seen) { isFlushPending = false; isFlushing = true; flushPreFlushCbs(seen); queue.sort((a, b) => getId(a) - getId(b)); try { for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { const job = queue[flushIndex]; if (job && job.active !== false) { if (false) ; callWithErrorHandling(job, null, 14); } } } finally { flushIndex = 0; queue.length = 0; flushPostFlushCbs(); isFlushing = false; currentFlushPromise = null; if (queue.length || pendingPreFlushCbs.length || pendingPostFlushCbs.length) { flushJobs(seen); } } } function checkRecursiveUpdates(seen, fn) { if (!seen.has(fn)) { seen.set(fn, 1); } else { const count = seen.get(fn); if (count > RECURSION_LIMIT) { const instance = fn.ownerInstance; const componentName = instance && getComponentName(instance.type); warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`); return true; } else { seen.set(fn, count + 1); } } } const globalCompatConfig = { MODE: 2 }; function getCompatConfigForKey(key, instance) { const instanceConfig = instance && instance.type.compatConfig; if (instanceConfig && key in instanceConfig) { return instanceConfig[key]; } return globalCompatConfig[key]; } function isCompatEnabled(key, instance, enableForBuiltIn = false) { if (!enableForBuiltIn && instance && instance.type.__isBuiltIn) { return false; } const rawMode = getCompatConfigForKey("MODE", instance) || 2; const val = getCompatConfigForKey(key, instance); const mode = isFunction(rawMode) ? rawMode(instance && instance.type) : rawMode; if (mode === 2) { return val !== false; } else { return val === true || val === "suppress-warning"; } } function emit(instance, event, ...rawArgs) { const props2 = instance.vnode.props || EMPTY_OBJ; let args = rawArgs; const isModelListener2 = event.startsWith("update:"); const modelArg = isModelListener2 && event.slice(7); if (modelArg && modelArg in props2) { const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; const { number, trim } = props2[modifiersKey] || EMPTY_OBJ; if (trim) { args = rawArgs.map((a) => a.trim()); } else if (number) { args = rawArgs.map(toNumber); } } let handlerName; let handler = props2[handlerName = toHandlerKey(event)] || props2[handlerName = toHandlerKey(camelize(event))]; if (!handler && isModelListener2) { handler = props2[handlerName = toHandlerKey(hyphenate(event))]; } if (handler) { callWithAsyncErrorHandling(handler, instance, 6, args); } const onceHandler = props2[handlerName + `Once`]; if (onceHandler) { if (!instance.emitted) { instance.emitted = {}; } else if (instance.emitted[handlerName]) { return; } instance.emitted[handlerName] = true; callWithAsyncErrorHandling(onceHandler, instance, 6, args); } } function normalizeEmitsOptions(comp, appContext, asMixin = false) { const cache2 = appContext.emitsCache; const cached = cache2.get(comp); if (cached !== void 0) { return cached; } const raw = comp.emits; let normalized = {}; let hasExtends = false; if (!isFunction(comp)) { const extendEmits = (raw2) => { const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); if (normalizedFromExtend) { hasExtends = true; extend(normalized, normalizedFromExtend); } }; if (!asMixin && appContext.mixins.length) { appContext.mixins.forEach(extendEmits); } if (comp.extends) { extendEmits(comp.extends); } if (comp.mixins) { comp.mixins.forEach(extendEmits); } } if (!raw && !hasExtends) { cache2.set(comp, null); return null; } if (isArray(raw)) { raw.forEach((key) => normalized[key] = null); } else { extend(normalized, raw); } cache2.set(comp, normalized); return normalized; } function isEmitListener(options, key) { if (!options || !isOn(key)) { return false; } key = key.slice(2).replace(/Once$/, ""); return hasOwn$1(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$1(options, hyphenate(key)) || hasOwn$1(options, key); } let currentRenderingInstance = null; let currentScopeId = null; function setCurrentRenderingInstance(instance) { const prev = currentRenderingInstance; currentRenderingInstance = instance; currentScopeId = instance && instance.type.__scopeId || null; return prev; } function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { if (!ctx) return fn; if (fn._n) { return fn; } const renderFnWithContext = (...args) => { if (renderFnWithContext._d) { setBlockTracking(-1); } const prevInstance = setCurrentRenderingInstance(ctx); const res = fn(...args); setCurrentRenderingInstance(prevInstance); if (renderFnWithContext._d) { setBlockTracking(1); } return res; }; renderFnWithContext._n = true; renderFnWithContext._c = true; renderFnWithContext._d = true; return renderFnWithContext; } let accessedAttrs = false; function markAttrsAccessed() { accessedAttrs = true; } function renderComponentRoot(instance) { const { type: Component, vnode, proxy, withProxy, props: props2, propsOptions: [propsOptions], slots, attrs, emit: emit2, render, renderCache, data, setupState, ctx, inheritAttrs } = instance; let result; const prev = setCurrentRenderingInstance(instance); try { let fallthroughAttrs; if (vnode.shapeFlag & 4) { const proxyToUse = withProxy || proxy; result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props2, setupState, data, ctx)); fallthroughAttrs = attrs; } else { const render2 = Component; if (false) ; result = normalizeVNode(render2.length > 1 ? render2(props2, false ? { get attrs() { markAttrsAccessed(); return attrs; }, slots, emit: emit2 } : { attrs, slots, emit: emit2 }) : render2(props2, null)); fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); } let root = result; let setRoot = void 0; if (false) ; if (fallthroughAttrs && inheritAttrs !== false) { const keys = Object.keys(fallthroughAttrs); const { shapeFlag } = root; if (keys.length) { if (shapeFlag & 1 || shapeFlag & 6) { if (propsOptions && keys.some(isModelListener)) { fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions); } root = cloneVNode(root, fallthroughAttrs); } else if (false) ; } } if (false) ; if (vnode.dirs) { if (false) ; root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; } if (vnode.transition) { if (false) ; root.transition = vnode.transition; } if (false) ; else { result = root; } } catch (err) { handleError(err, instance, 1); result = createVNode(Comment$1); } setCurrentRenderingInstance(prev); return result; } const getChildRoot = (vnode) => { const rawChildren = vnode.children; const dynamicChildren = vnode.dynamicChildren; const childRoot = filterSingleRoot(rawChildren); if (!childRoot) { return [vnode, void 0]; } const index = rawChildren.indexOf(childRoot); const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; const setRoot = (updatedRoot) => { rawChildren[index] = updatedRoot; if (dynamicChildren) { if (dynamicIndex > -1) { dynamicChildren[dynamicIndex] = updatedRoot; } else if (updatedRoot.patchFlag > 0) { vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; } } }; return [normalizeVNode(childRoot), setRoot]; }; function filterSingleRoot(children) { let singleRoot; for (let i = 0; i < children.length; i++) { const child = children[i]; if (isVNode(child)) { if (child.type !== Comment$1 || child.children === "v-if") { if (singleRoot) { return; } else { singleRoot = child; } } } else { return; } } return singleRoot; } const getFunctionalFallthrough = (attrs) => { let res; for (const key in attrs) { if (key === "class" || key === "style" || isOn(key)) { (res || (res = {}))[key] = attrs[key]; } } return res; }; const filterModelListeners = (attrs, props2) => { const res = {}; for (const key in attrs) { if (!isModelListener(key) || !(key.slice(9) in props2)) { res[key] = attrs[key]; } } return res; }; const isElementRoot = (vnode) => { return vnode.shapeFlag & 6 || vnode.shapeFlag & 1 || vnode.type === Comment$1; }; function shouldUpdateComponent(prevVNode, nextVNode, optimized) { const { props: prevProps, children: prevChildren, component } = prevVNode; const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; const emits = component.emitsOptions; if (nextVNode.dirs || nextVNode.transition) { return true; } if (optimized && patchFlag >= 0) { if (patchFlag & 1024) { return true; } if (patchFlag & 16) { if (!prevProps) { return !!nextProps; } return hasPropsChanged(prevProps, nextProps, emits); } else if (patchFlag & 8) { const dynamicProps = nextVNode.dynamicProps; for (let i = 0; i < dynamicProps.length; i++) { const key = dynamicProps[i]; if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { return true; } } } } else { if (prevChildren || nextChildren) { if (!nextChildren || !nextChildren.$stable) { return true; } } if (prevProps === nextProps) { return false; } if (!prevProps) { return !!nextProps; } if (!nextProps) { return true; } return hasPropsChanged(prevProps, nextProps, emits); } return false; } function hasPropsChanged(prevProps, nextProps, emitsOptions) { const nextKeys = Object.keys(nextProps); if (nextKeys.length !== Object.keys(prevProps).length) { return true; } for (let i = 0; i < nextKeys.length; i++) { const key = nextKeys[i]; if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { return true; } } return false; } function updateHOCHostEl({ vnode, parent }, el) { while (parent && parent.subTree === vnode) { (vnode = parent.vnode).el = el; parent = parent.parent; } } const isSuspense = (type) => type.__isSuspense; function queueEffectWithSuspense(fn, suspense) { if (suspense && suspense.pendingBranch) { if (isArray(fn)) { suspense.effects.push(...fn); } else { suspense.effects.push(fn); } } else { queuePostFlushCb(fn); } } function provide(key, value) { if (!currentInstance) ; else { let provides = currentInstance.provides; const parentProvides = currentInstance.parent && currentInstance.parent.provides; if (parentProvides === provides) { provides = currentInstance.provides = Object.create(parentProvides); } provides[key] = value; } } function inject(key, defaultValue, treatDefaultAsFactory = false) { const instance = currentInstance || currentRenderingInstance; if (instance) { const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides; if (provides && key in provides) { return provides[key]; } else if (arguments.length > 1) { return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue; } else ; } } const INITIAL_WATCHER_VALUE = {}; function watch(source, cb, options) { return doWatch(source, cb, options); } function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) { let getter; let forceTrigger = false; let isMultiSource = false; if (isRef(source)) { getter = () => source.value; forceTrigger = !!source._shallow; } else if (isReactive(source)) { getter = () => source; deep = true; } else if (isArray(source)) { isMultiSource = true; forceTrigger = source.some(isReactive); getter = () => source.map((s) => { if (isRef(s)) { return s.value; } else if (isReactive(s)) { return traverse(s); } else if (isFunction(s)) { return callWithErrorHandling(s, instance, 2); } else ; }); } else if (isFunction(source)) { if (cb) { getter = () => callWithErrorHandling(source, instance, 2); } else { getter = () => { if (instance && instance.isUnmounted) { return; } if (cleanup2) { cleanup2(); } return callWithAsyncErrorHandling(source, instance, 3, [onInvalidate]); }; } } else { getter = NOOP; } if (cb && deep) { const baseGetter = getter; getter = () => traverse(baseGetter()); } let cleanup2; let onInvalidate = (fn) => { cleanup2 = runner.options.onStop = () => { callWithErrorHandling(fn, instance, 4); }; }; let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; const job = () => { if (!runner.active) { return; } if (cb) { const newValue = runner(); if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { if (cleanup2) { cleanup2(); } callWithAsyncErrorHandling(cb, instance, 3, [ newValue, oldValue === INITIAL_WATCHER_VALUE ? void 0 : oldValue, onInvalidate ]); oldValue = newValue; } } else { runner(); } }; job.allowRecurse = !!cb; let scheduler; if (flush === "sync") { scheduler = job; } else if (flush === "post") { scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); } else { scheduler = () => { if (!instance || instance.isMounted) { queuePreFlushCb(job); } else { job(); } }; } const runner = effect(getter, { lazy: true, onTrack, onTrigger, scheduler }); recordInstanceBoundEffect(runner, instance); if (cb) { if (immediate) { job(); } else { oldValue = runner(); } } else if (flush === "post") { queuePostRenderEffect(runner, instance && instance.suspense); } else { runner(); } return () => { stop(runner); if (instance) { remove(instance.effects, runner); } }; } function instanceWatch(source, value, options) { const publicThis = this.proxy; const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); let cb; if (isFunction(value)) { cb = value; } else { cb = value.handler; options = value; } return doWatch(getter, cb.bind(publicThis), options, this); } function createPathGetter(ctx, path) { const segments = path.split("."); return () => { let cur = ctx; for (let i = 0; i < segments.length && cur; i++) { cur = cur[segments[i]]; } return cur; }; } function traverse(value, seen = new Set()) { if (!isObject$1(value) || seen.has(value) || value["__v_skip"]) { return value; } seen.add(value); if (isRef(value)) { traverse(value.value, seen); } else if (isArray(value)) { for (let i = 0; i < value.length; i++) { traverse(value[i], seen); } } else if (isSet(value) || isMap(value)) { value.forEach((v) => { traverse(v, seen); }); } else if (isPlainObject(value)) { for (const key in value) { traverse(value[key], seen); } } return value; } function defineComponent(options) { return isFunction(options) ? { setup: options, name: options.name } : options; } const isAsyncWrapper = (i) => !!i.type.__asyncLoader; const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; function onActivated(hook, target) { registerKeepAliveHook(hook, "a", target); } function onDeactivated(hook, target) { registerKeepAliveHook(hook, "da", target); } function registerKeepAliveHook(hook, type, target = currentInstance) { const wrappedHook = hook.__wdc || (hook.__wdc = () => { let current = target; while (current) { if (current.isDeactivated) { return; } current = current.parent; } hook(); }); injectHook(type, wrappedHook, target); if (target) { let current = target.parent; while (current && current.parent) { if (isKeepAlive(current.parent.vnode)) { injectToKeepAliveRoot(wrappedHook, type, target, current); } current = current.parent; } } } function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { const injected = injectHook(type, hook, keepAliveRoot, true); onUnmounted(() => { remove(keepAliveRoot[type], injected); }, target); } function injectHook(type, hook, target = currentInstance, prepend = false) { if (target) { const hooks = target[type] || (target[type] = []); const wrappedHook = hook.__weh || (hook.__weh = (...args) => { if (target.isUnmounted) { return; } pauseTracking(); setCurrentInstance(target); const res = callWithAsyncErrorHandling(hook, target, type, args); setCurrentInstance(null); resetTracking(); return res; }); if (prepend) { hooks.unshift(wrappedHook); } else { hooks.push(wrappedHook); } return wrappedHook; } } const createHook = (lifecycle) => (hook, target = currentInstance) => (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, hook, target); const onBeforeMount = createHook("bm"); const onMounted = createHook("m"); const onBeforeUpdate = createHook("bu"); const onUpdated = createHook("u"); const onBeforeUnmount = createHook("bum"); const onUnmounted = createHook("um"); const onServerPrefetch = createHook("sp"); const onRenderTriggered = createHook("rtg"); const onRenderTracked = createHook("rtc"); function onErrorCaptured(hook, target = currentInstance) { injectHook("ec", hook, target); } let shouldCacheAccess = true; function applyOptions(instance) { const options = resolveMergedOptions(instance); const publicThis = instance.proxy; const ctx = instance.ctx; shouldCacheAccess = false; if (options.beforeCreate) { callHook(options.beforeCreate, instance, "bc"); } const { data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, expose, inheritAttrs, components, directives, filters } = options; const checkDuplicateProperties = null; if (injectOptions) { resolveInjections(injectOptions, ctx, checkDuplicateProperties); } if (methods) { for (const key in methods) { const methodHandler = methods[key]; if (isFunction(methodHandler)) { { ctx[key] = methodHandler.bind(publicThis); } } } } if (dataOptions) { const data = dataOptions.call(publicThis, publicThis); if (!isObject$1(data)) ; else { instance.data = reactive(data); } } shouldCacheAccess = true; if (computedOptions) { for (const key in computedOptions) { const opt = computedOptions[key]; const get2 = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP; const set2 = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP; const c = computed$1({ get: get2, set: set2 }); Object.defineProperty(ctx, key, { enumerable: true, configurable: true, get: () => c.value, set: (v) => c.value = v }); } } if (watchOptions) { for (const key in watchOptions) { createWatcher(watchOptions[key], ctx, publicThis, key); } } if (provideOptions) { const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; Reflect.ownKeys(provides).forEach((key) => { provide(key, provides[key]); }); } if (created) { callHook(created, instance, "c"); } function registerLifecycleHook(register, hook) { if (isArray(hook)) { hook.forEach((_hook) => register(_hook.bind(publicThis))); } else if (hook) { register(hook.bind(publicThis)); } } registerLifecycleHook(onBeforeMount, beforeMount); registerLifecycleHook(onMounted, mounted); registerLifecycleHook(onBeforeUpdate, beforeUpdate); registerLifecycleHook(onUpdated, updated); registerLifecycleHook(onActivated, activated); registerLifecycleHook(onDeactivated, deactivated); registerLifecycleHook(onErrorCaptured, errorCaptured); registerLifecycleHook(onRenderTracked, renderTracked); registerLifecycleHook(onRenderTriggered, renderTriggered); registerLifecycleHook(onBeforeUnmount, beforeUnmount); registerLifecycleHook(onUnmounted, unmounted); registerLifecycleHook(onServerPrefetch, serverPrefetch); if (isArray(expose)) { if (expose.length) { const exposed = instance.exposed || (instance.exposed = {}); expose.forEach((key) => { Object.defineProperty(exposed, key, { get: () => publicThis[key], set: (val) => publicThis[key] = val }); }); } else if (!instance.exposed) { instance.exposed = {}; } } if (render && instance.render === NOOP) { instance.render = render; } if (inheritAttrs != null) { instance.inheritAttrs = inheritAttrs; } if (components) instance.components = components; if (directives) instance.directives = directives; } function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) { if (isArray(injectOptions)) { injectOptions = normalizeInject(injectOptions); } for (const key in injectOptions) { const opt = injectOptions[key]; if (isObject$1(opt)) { if ("default" in opt) { ctx[key] = inject(opt.from || key, opt.default, true); } else { ctx[key] = inject(opt.from || key); } } else { ctx[key] = inject(opt); } } } function callHook(hook, instance, type) { callWithAsyncErrorHandling(isArray(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type); } function createWatcher(raw, ctx, publicThis, key) { const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; if (isString(raw)) { const handler = ctx[raw]; if (isFunction(handler)) { watch(getter, handler); } } else if (isFunction(raw)) { watch(getter, raw.bind(publicThis)); } else if (isObject$1(raw)) { if (isArray(raw)) { raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); } else { const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; if (isFunction(handler)) { watch(getter, handler, raw); } } } else ; } function resolveMergedOptions(instance) { const base = instance.type; const { mixins, extends: extendsOptions } = base; const { mixins: globalMixins, optionsCache: cache2, config: { optionMergeStrategies } } = instance.appContext; const cached = cache2.get(base); let resolved; if (cached) { resolved = cached; } else if (!globalMixins.length && !mixins && !extendsOptions) { { resolved = base; } } else { resolved = {}; if (globalMixins.length) { globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true)); } mergeOptions(resolved, base, optionMergeStrategies); } cache2.set(base, resolved); return resolved; } function mergeOptions(to, from, strats, asMixin = false) { const { mixins, extends: extendsOptions } = from; if (extendsOptions) { mergeOptions(to, extendsOptions, strats, true); } if (mixins) { mixins.forEach((m) => mergeOptions(to, m, strats, true)); } for (const key in from) { if (asMixin && key === "expose") ; else { const strat = internalOptionMergeStrats[key] || strats && strats[key]; to[key] = strat ? strat(to[key], from[key]) : from[key]; } } return to; } const internalOptionMergeStrats = { data: mergeDataFn, props: mergeObjectOptions, emits: mergeObjectOptions, methods: mergeObjectOptions, computed: mergeObjectOptions, beforeCreate: mergeAsArray, created: mergeAsArray, beforeMount: mergeAsArray, mounted: mergeAsArray, beforeUpdate: mergeAsArray, updated: mergeAsArray, beforeDestroy: mergeAsArray, destroyed: mergeAsArray, activated: mergeAsArray, deactivated: mergeAsArray, errorCaptured: mergeAsArray, serverPrefetch: mergeAsArray, components: mergeObjectOptions, directives: mergeObjectOptions, watch: mergeWatchOptions, provide: mergeDataFn, inject: mergeInject }; function mergeDataFn(to, from) { if (!from) { return to; } if (!to) { return from; } return function mergedDataFn() { return extend(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from); }; } function mergeInject(to, from) { return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); } function normalizeInject(raw) { if (isArray(raw)) { const res = {}; for (let i = 0; i < raw.length; i++) { res[raw[i]] = raw[i]; } return res; } return raw; } function mergeAsArray(to, from) { return to ? [...new Set([].concat(to, from))] : from; } function mergeObjectOptions(to, from) { return to ? extend(extend(Object.create(null), to), from) : from; } function mergeWatchOptions(to, from) { if (!to) return from; if (!from) return to; const merged = extend(Object.create(null), to); for (const key in from) { merged[key] = mergeAsArray(to[key], from[key]); } return merged; } function initProps(instance, rawProps, isStateful, isSSR = false) { const props2 = {}; const attrs = {}; def(attrs, InternalObjectKey, 1); instance.propsDefaults = Object.create(null); setFullProps(instance, rawProps, props2, attrs); for (const key in instance.propsOptions[0]) { if (!(key in props2)) { props2[key] = void 0; } } if (isStateful) { instance.props = isSSR ? props2 : shallowReactive(props2); } else { if (!instance.type.props) { instance.props = attrs; } else { instance.props = props2; } } instance.attrs = attrs; } function updateProps(instance, rawProps, rawPrevProps, optimized) { const { props: props2, attrs, vnode: { patchFlag } } = instance; const rawCurrentProps = toRaw(props2); const [options] = instance.propsOptions; let hasAttrsChanged = false; if ((optimized || patchFlag > 0) && !(patchFlag & 16)) { if (patchFlag & 8) { const propsToUpdate = instance.vnode.dynamicProps; for (let i = 0; i < propsToUpdate.length; i++) { let key = propsToUpdate[i]; const value = rawProps[key]; if (options) { if (hasOwn$1(attrs, key)) { if (value !== attrs[key]) { attrs[key] = value; hasAttrsChanged = true; } } else { const camelizedKey = camelize(key); props2[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false); } } else { if (value !== attrs[key]) { attrs[key] = value; hasAttrsChanged = true; } } } } } else { if (setFullProps(instance, rawProps, props2, attrs)) { hasAttrsChanged = true; } let kebabKey; for (const key in rawCurrentProps) { if (!rawProps || !hasOwn$1(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn$1(rawProps, kebabKey))) { if (options) { if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) { props2[key] = resolvePropValue(options, rawCurrentProps, key, void 0, instance, true); } } else { delete props2[key]; } } } if (attrs !== rawCurrentProps) { for (const key in attrs) { if (!rawProps || !hasOwn$1(rawProps, key)) { delete attrs[key]; hasAttrsChanged = true; } } } } if (hasAttrsChanged) { trigger(instance, "set", "$attrs"); } } function setFullProps(instance, rawProps, props2, attrs) { const [options, needCastKeys] = instance.propsOptions; let hasAttrsChanged = false; let rawCastValues; if (rawProps) { for (let key in rawProps) { if (isReservedProp(key)) { continue; } const value = rawProps[key]; let camelKey; if (options && hasOwn$1(options, camelKey = camelize(key))) { if (!needCastKeys || !needCastKeys.includes(camelKey)) { props2[camelKey] = value; } else { (rawCastValues || (rawCastValues = {}))[camelKey] = value; } } else if (!isEmitListener(instance.emitsOptions, key)) { if (value !== attrs[key]) { attrs[key] = value; hasAttrsChanged = true; } } } } if (needCastKeys) { const rawCurrentProps = toRaw(props2); const castValues = rawCastValues || EMPTY_OBJ; for (let i = 0; i < needCastKeys.length; i++) { const key = needCastKeys[i]; props2[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn$1(castValues, key)); } } return hasAttrsChanged; } function resolvePropValue(options, props2, key, value, instance, isAbsent) { const opt = options[key]; if (opt != null) { const hasDefault = hasOwn$1(opt, "default"); if (hasDefault && value === void 0) { const defaultValue = opt.default; if (opt.type !== Function && isFunction(defaultValue)) { const { propsDefaults } = instance; if (key in propsDefaults) { value = propsDefaults[key]; } else { setCurrentInstance(instance); value = propsDefaults[key] = defaultValue.call(null, props2); setCurrentInstance(null); } } else { value = defaultValue; } } if (opt[0]) { if (isAbsent && !hasDefault) { value = false; } else if (opt[1] && (value === "" || value === hyphenate(key))) { value = true; } } } return value; } function normalizePropsOptions(comp, appContext, asMixin = false) { const cache2 = appContext.propsCache; const cached = cache2.get(comp); if (cached) { return cached; } const raw = comp.props; const normalized = {}; const needCastKeys = []; let hasExtends = false; if (!isFunction(comp)) { const extendProps = (raw2) => { hasExtends = true; const [props2, keys] = normalizePropsOptions(raw2, appContext, true); extend(normalized, props2); if (keys) needCastKeys.push(...keys); }; if (!asMixin && appContext.mixins.length) { appContext.mixins.forEach(extendProps); } if (comp.extends) { extendProps(comp.extends); } if (comp.mixins) { comp.mixins.forEach(extendProps); } } if (!raw && !hasExtends) { cache2.set(comp, EMPTY_ARR); return EMPTY_ARR; } if (isArray(raw)) { for (let i = 0; i < raw.length; i++) { const normalizedKey = camelize(raw[i]); if (validatePropName(normalizedKey)) { normalized[normalizedKey] = EMPTY_OBJ; } } } else if (raw) { for (const key in raw) { const normalizedKey = camelize(key); if (validatePropName(normalizedKey)) { const opt = raw[key]; const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : opt; if (prop) { const booleanIndex = getTypeIndex(Boolean, prop.type); const stringIndex = getTypeIndex(String, prop.type); prop[0] = booleanIndex > -1; prop[1] = stringIndex < 0 || booleanIndex < stringIndex; if (booleanIndex > -1 || hasOwn$1(prop, "default")) { needCastKeys.push(normalizedKey); } } } } } const res = [normalized, needCastKeys]; cache2.set(comp, res); return res; } function validatePropName(key) { if (key[0] !== "$") { return true; } return false; } function getType(ctor) { const match = ctor && ctor.toString().match(/^\s*function (\w+)/); return match ? match[1] : ""; } function isSameType(a, b) { return getType(a) === getType(b); } function getTypeIndex(type, expectedTypes) { if (isArray(expectedTypes)) { return expectedTypes.findIndex((t) => isSameType(t, type)); } else if (isFunction(expectedTypes)) { return isSameType(expectedTypes, type) ? 0 : -1; } return -1; } const isInternalKey = (key) => key[0] === "_" || key === "$stable"; const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; const normalizeSlot = (key, rawSlot, ctx) => { const normalized = withCtx((props2) => { return normalizeSlotValue(rawSlot(props2)); }, ctx); normalized._c = false; return normalized; }; const normalizeObjectSlots = (rawSlots, slots, instance) => { const ctx = rawSlots._ctx; for (const key in rawSlots) { if (isInternalKey(key)) continue; const value = rawSlots[key]; if (isFunction(value)) { slots[key] = normalizeSlot(key, value, ctx); } else if (value != null) { const normalized = normalizeSlotValue(value); slots[key] = () => normalized; } } }; const normalizeVNodeSlots = (instance, children) => { const normalized = normalizeSlotValue(children); instance.slots.default = () => normalized; }; const initSlots = (instance, children) => { if (instance.vnode.shapeFlag & 32) { const type = children._; if (type) { instance.slots = toRaw(children); def(children, "_", type); } else { normalizeObjectSlots(children, instance.slots = {}); } } else { instance.slots = {}; if (children) { normalizeVNodeSlots(instance, children); } } def(instance.slots, InternalObjectKey, 1); }; const updateSlots = (instance, children, optimized) => { const { vnode, slots } = instance; let needDeletionCheck = true; let deletionComparisonTarget = EMPTY_OBJ; if (vnode.shapeFlag & 32) { const type = children._; if (type) { if (optimized && type === 1) { needDeletionCheck = false; } else { extend(slots, children); if (!optimized && type === 1) { delete slots._; } } } else { needDeletionCheck = !children.$stable; normalizeObjectSlots(children, slots); } deletionComparisonTarget = children; } else if (children) { normalizeVNodeSlots(instance, children); deletionComparisonTarget = { default: 1 }; } if (needDeletionCheck) { for (const key in slots) { if (!isInternalKey(key) && !(key in deletionComparisonTarget)) { delete slots[key]; } } } }; function invokeDirectiveHook(vnode, prevVNode, instance, name) { const bindings = vnode.dirs; const oldBindings = prevVNode && prevVNode.dirs; for (let i = 0; i < bindings.length; i++) { const binding = bindings[i]; if (oldBindings) { binding.oldValue = oldBindings[i].value; } let hook = binding.dir[name]; if (hook) { pauseTracking(); callWithAsyncErrorHandling(hook, instance, 8, [ vnode.el, binding, vnode, prevVNode ]); resetTracking(); } } } function createAppContext() { return { app: null, config: { isNativeTag: NO, performance: false, globalProperties: {}, optionMergeStrategies: {}, errorHandler: void 0, warnHandler: void 0, compilerOptions: {} }, mixins: [], components: {}, directives: {}, provides: Object.create(null), optionsCache: new WeakMap(), propsCache: new WeakMap(), emitsCache: new WeakMap() }; } let uid$1 = 0; function createAppAPI(render, hydrate) { return function createApp2(rootComponent, rootProps = null) { if (rootProps != null && !isObject$1(rootProps)) { rootProps = null; } const context = createAppContext(); const installedPlugins = new Set(); let isMounted = false; const app = context.app = { _uid: uid$1++, _component: rootComponent, _props: rootProps, _container: null, _context: context, _instance: null, version, get config() { return context.config; }, set config(v) { }, use(plugin, ...options) { if (installedPlugins.has(plugin)) ; else if (plugin && isFunction(plugin.install)) { installedPlugins.add(plugin); plugin.install(app, ...options); } else if (isFunction(plugin)) { installedPlugins.add(plugin); plugin(app, ...options); } else ; return app; }, mixin(mixin) { { if (!context.mixins.includes(mixin)) { context.mixins.push(mixin); } } return app; }, component(name, component) { if (!component) { return context.components[name]; } context.components[name] = component; return app; }, directive(name, directive) { if (!directive) { return context.directives[name]; } context.directives[name] = directive; return app; }, mount(rootContainer, isHydrate, isSVG) { if (!isMounted) { const vnode = createVNode(rootComponent, rootProps); vnode.appContext = context; if (isHydrate && hydrate) { hydrate(vnode, rootContainer); } else { render(vnode, rootContainer, isSVG); } isMounted = true; app._container = rootContainer; rootContainer.__vue_app__ = app; return vnode.component.proxy; } }, unmount() { if (isMounted) { render(null, app._container); delete app._container.__vue_app__; } }, provide(key, value) { context.provides[key] = value; return app; } }; return app; }; } const prodEffectOptions = { scheduler: queueJob, allowRecurse: true }; const queuePostRenderEffect = queueEffectWithSuspense; const setRef = (rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) => { if (isArray(rawRef)) { rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount)); return; } if (isAsyncWrapper(vnode) && !isUnmount) { return; } const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el; const value = isUnmount ? null : refValue; const { i: owner, r: ref2 } = rawRef; const oldRef = oldRawRef && oldRawRef.r; const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; const setupState = owner.setupState; if (oldRef != null && oldRef !== ref2) { if (isString(oldRef)) { refs[oldRef] = null; if (hasOwn$1(setupState, oldRef)) { setupState[oldRef] = null; } } else if (isRef(oldRef)) { oldRef.value = null; } } if (isString(ref2)) { const doSet = () => { { refs[ref2] = value; } if (hasOwn$1(setupState, ref2)) { setupState[ref2] = value; } }; if (value) { doSet.id = -1; queuePostRenderEffect(doSet, parentSuspense); } else { doSet(); } } else if (isRef(ref2)) { const doSet = () => { ref2.value = value; }; if (value) { doSet.id = -1; queuePostRenderEffect(doSet, parentSuspense); } else { doSet(); } } else if (isFunction(ref2)) { callWithErrorHandling(ref2, owner, 12, [value, refs]); } else ; }; function createRenderer(options) { return baseCreateRenderer(options); } function baseCreateRenderer(options, createHydrationFns) { const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options; const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = false) => { if (n1 && !isSameVNodeType(n1, n2)) { anchor = getNextHostNode(n1); unmount(n1, parentComponent, parentSuspense, true); n1 = null; } if (n2.patchFlag === -2) { optimized = false; n2.dynamicChildren = null; } const { type, ref: ref2, shapeFlag } = n2; switch (type) { case Text$1: processText(n1, n2, container, anchor); break; case Comment$1: processCommentNode(n1, n2, container, anchor); break; case Static: if (n1 == null) { mountStaticNode(n2, container, anchor, isSVG); } break; case Fragment: processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); break; default: if (shapeFlag & 1) { processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else if (shapeFlag & 6) { processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else if (shapeFlag & 64) { type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals); } else if (shapeFlag & 128) { type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals); } else ; } if (ref2 != null && parentComponent) { setRef(ref2, n1 && n1.ref, parentSuspense, n2 || n1, !n2); } }; const processText = (n1, n2, container, anchor) => { if (n1 == null) { hostInsert(n2.el = hostCreateText(n2.children), container, anchor); } else { const el = n2.el = n1.el; if (n2.children !== n1.children) { hostSetText(el, n2.children); } } }; const processCommentNode = (n1, n2, container, anchor) => { if (n1 == null) { hostInsert(n2.el = hostCreateComment(n2.children || ""), container, anchor); } else { n2.el = n1.el; } }; const mountStaticNode = (n2, container, anchor, isSVG) => { [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG, n2.el && [n2.el, n2.anchor]); }; const moveStaticNode = ({ el, anchor }, container, nextSibling) => { let next; while (el && el !== anchor) { next = hostNextSibling(el); hostInsert(el, container, nextSibling); el = next; } hostInsert(anchor, container, nextSibling); }; const removeStaticNode = ({ el, anchor }) => { let next; while (el && el !== anchor) { next = hostNextSibling(el); hostRemove(el); el = next; } hostRemove(anchor); }; const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { isSVG = isSVG || n2.type === "svg"; if (n1 == null) { mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else { patchElement(n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } }; const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { let el; let vnodeHook; const { type, props: props2, shapeFlag, transition, patchFlag, dirs } = vnode; if (vnode.el && hostCloneNode !== void 0 && patchFlag === -1) { el = vnode.el = hostCloneNode(vnode.el); } else { el = vnode.el = hostCreateElement(vnode.type, isSVG, props2 && props2.is, props2); if (shapeFlag & 8) { hostSetElementText(el, vnode.children); } else if (shapeFlag & 16) { mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== "foreignObject", slotScopeIds, optimized || !!vnode.dynamicChildren); } if (dirs) { invokeDirectiveHook(vnode, null, parentComponent, "created"); } if (props2) { for (const key in props2) { if (!isReservedProp(key)) { hostPatchProp(el, key, null, props2[key], isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren); } } if (vnodeHook = props2.onVnodeBeforeMount) { invokeVNodeHook(vnodeHook, parentComponent, vnode); } } setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent); } if (dirs) { invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); } const needCallTransitionHooks = (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted; if (needCallTransitionHooks) { transition.beforeEnter(el); } hostInsert(el, container, anchor); if ((vnodeHook = props2 && props2.onVnodeMounted) || needCallTransitionHooks || dirs) { queuePostRenderEffect(() => { vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); needCallTransitionHooks && transition.enter(el); dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); }, parentSuspense); } }; const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => { if (scopeId) { hostSetScopeId(el, scopeId); } if (slotScopeIds) { for (let i = 0; i < slotScopeIds.length; i++) { hostSetScopeId(el, slotScopeIds[i]); } } if (parentComponent) { let subTree = parentComponent.subTree; if (vnode === subTree) { const parentVNode = parentComponent.vnode; setScopeId(el, parentVNode, parentVNode.scopeId, parentVNode.slotScopeIds, parentComponent.parent); } } }; const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => { for (let i = start; i < children.length; i++) { const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); patch(null, child, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } }; const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { const el = n2.el = n1.el; let { patchFlag, dynamicChildren, dirs } = n2; patchFlag |= n1.patchFlag & 16; const oldProps = n1.props || EMPTY_OBJ; const newProps = n2.props || EMPTY_OBJ; let vnodeHook; if (vnodeHook = newProps.onVnodeBeforeUpdate) { invokeVNodeHook(vnodeHook, parentComponent, n2, n1); } if (dirs) { invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); } if (patchFlag > 0) { if (patchFlag & 16) { patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG); } else { if (patchFlag & 2) { if (oldProps.class !== newProps.class) { hostPatchProp(el, "class", null, newProps.class, isSVG); } } if (patchFlag & 4) { hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG); } if (patchFlag & 8) { const propsToUpdate = n2.dynamicProps; for (let i = 0; i < propsToUpdate.length; i++) { const key = propsToUpdate[i]; const prev = oldProps[key]; const next = newProps[key]; if (next !== prev || hostForcePatchProp && hostForcePatchProp(el, key)) { hostPatchProp(el, key, prev, next, isSVG, n1.children, parentComponent, parentSuspense, unmountChildren); } } } } if (patchFlag & 1) { if (n1.children !== n2.children) { hostSetElementText(el, n2.children); } } } else if (!optimized && dynamicChildren == null) { patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG); } const areChildrenSVG = isSVG && n2.type !== "foreignObject"; if (dynamicChildren) { patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds); } else if (!optimized) { patchChildren(n1, n2, el, null, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds, false); } if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { queuePostRenderEffect(() => { vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); }, parentSuspense); } }; const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => { for (let i = 0; i < newChildren.length; i++) { const oldVNode = oldChildren[i]; const newVNode = newChildren[i]; const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 6 || oldVNode.shapeFlag & 64) ? hostParentNode(oldVNode.el) : fallbackContainer; patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, true); } }; const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => { if (oldProps !== newProps) { for (const key in newProps) { if (isReservedProp(key)) continue; const next = newProps[key]; const prev = oldProps[key]; if (next !== prev || hostForcePatchProp && hostForcePatchProp(el, key)) { hostPatchProp(el, key, prev, next, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren); } } if (oldProps !== EMPTY_OBJ) { for (const key in oldProps) { if (!isReservedProp(key) && !(key in newProps)) { hostPatchProp(el, key, oldProps[key], null, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren); } } } } }; const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; if (dynamicChildren) { optimized = true; } if (fragmentSlotScopeIds) { slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; } if (n1 == null) { hostInsert(fragmentStartAnchor, container, anchor); hostInsert(fragmentEndAnchor, container, anchor); mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else { if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && n1.dynamicChildren) { patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, isSVG, slotScopeIds); if (n2.key != null || parentComponent && n2 === parentComponent.subTree) { traverseStaticChildren(n1, n2, true); } } else { patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } } }; const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { n2.slotScopeIds = slotScopeIds; if (n1 == null) { if (n2.shapeFlag & 512) { parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized); } else { mountComponent(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized); } } else { updateComponent(n1, n2, optimized); } }; const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => { const instance = initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense); if (isKeepAlive(initialVNode)) { instance.ctx.renderer = internals; } { setupComponent(instance); } if (instance.asyncDep) { parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect); if (!initialVNode.el) { const placeholder = instance.subTree = createVNode(Comment$1); processCommentNode(null, placeholder, container, anchor); } return; } setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized); }; const updateComponent = (n1, n2, optimized) => { const instance = n2.component = n1.component; if (shouldUpdateComponent(n1, n2, optimized)) { if (instance.asyncDep && !instance.asyncResolved) { updateComponentPreRender(instance, n2, optimized); return; } else { instance.next = n2; invalidateJob(instance.update); instance.update(); } } else { n2.component = n1.component; n2.el = n1.el; instance.vnode = n2; } }; const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => { instance.update = effect(function componentEffect() { if (!instance.isMounted) { let vnodeHook; const { el, props: props2 } = initialVNode; const { bm, m, parent } = instance; if (bm) { invokeArrayFns(bm); } if (vnodeHook = props2 && props2.onVnodeBeforeMount) { invokeVNodeHook(vnodeHook, parent, initialVNode); } if (el && hydrateNode) { const hydrateSubTree = () => { instance.subTree = renderComponentRoot(instance); hydrateNode(el, instance.subTree, instance, parentSuspense, null); }; if (isAsyncWrapper(initialVNode)) { initialVNode.type.__asyncLoader().then(() => !instance.isUnmounted && hydrateSubTree()); } else { hydrateSubTree(); } } else { const subTree = instance.subTree = renderComponentRoot(instance); patch(null, subTree, container, anchor, instance, parentSuspense, isSVG); initialVNode.el = subTree.el; } if (m) { queuePostRenderEffect(m, parentSuspense); } if (vnodeHook = props2 && props2.onVnodeMounted) { const scopedInitialVNode = initialVNode; queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense); } if (initialVNode.shapeFlag & 256) { instance.a && queuePostRenderEffect(instance.a, parentSuspense); } instance.isMounted = true; initialVNode = container = anchor = null; } else { let { next, bu, u, parent, vnode } = instance; let originNext = next; let vnodeHook; if (next) { next.el = vnode.el; updateComponentPreRender(instance, next, optimized); } else { next = vnode; } if (bu) { invokeArrayFns(bu); } if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) { invokeVNodeHook(vnodeHook, parent, next, vnode); } const nextTree = renderComponentRoot(instance); const prevTree = instance.subTree; instance.subTree = nextTree; patch(prevTree, nextTree, hostParentNode(prevTree.el), getNextHostNode(prevTree), instance, parentSuspense, isSVG); next.el = nextTree.el; if (originNext === null) { updateHOCHostEl(instance, nextTree.el); } if (u) { queuePostRenderEffect(u, parentSuspense); } if (vnodeHook = next.props && next.props.onVnodeUpdated) { queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense); } } }, prodEffectOptions); }; const updateComponentPreRender = (instance, nextVNode, optimized) => { nextVNode.component = instance; const prevProps = instance.vnode.props; instance.vnode = nextVNode; instance.next = null; updateProps(instance, nextVNode.props, prevProps, optimized); updateSlots(instance, nextVNode.children, optimized); pauseTracking(); flushPreFlushCbs(void 0, instance.update); resetTracking(); }; const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => { const c1 = n1 && n1.children; const prevShapeFlag = n1 ? n1.shapeFlag : 0; const c2 = n2.children; const { patchFlag, shapeFlag } = n2; if (patchFlag > 0) { if (patchFlag & 128) { patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); return; } else if (patchFlag & 256) { patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); return; } } if (shapeFlag & 8) { if (prevShapeFlag & 16) { unmountChildren(c1, parentComponent, parentSuspense); } if (c2 !== c1) { hostSetElementText(container, c2); } } else { if (prevShapeFlag & 16) { if (shapeFlag & 16) { patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else { unmountChildren(c1, parentComponent, parentSuspense, true); } } else { if (prevShapeFlag & 8) { hostSetElementText(container, ""); } if (shapeFlag & 16) { mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } } } }; const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { c1 = c1 || EMPTY_ARR; c2 = c2 || EMPTY_ARR; const oldLength = c1.length; const newLength = c2.length; const commonLength = Math.min(oldLength, newLength); let i; for (i = 0; i < commonLength; i++) { const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); patch(c1[i], nextChild, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } if (oldLength > newLength) { unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength); } else { mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, commonLength); } }; const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => { let i = 0; const l2 = c2.length; let e1 = c1.length - 1; let e2 = l2 - 1; while (i <= e1 && i <= e2) { const n1 = c1[i]; const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); if (isSameVNodeType(n1, n2)) { patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else { break; } i++; } while (i <= e1 && i <= e2) { const n1 = c1[e1]; const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]); if (isSameVNodeType(n1, n2)) { patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else { break; } e1--; e2--; } if (i > e1) { if (i <= e2) { const nextPos = e2 + 1; const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor; while (i <= e2) { patch(null, c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); i++; } } } else if (i > e2) { while (i <= e1) { unmount(c1[i], parentComponent, parentSuspense, true); i++; } } else { const s1 = i; const s2 = i; const keyToNewIndexMap = new Map(); for (i = s2; i <= e2; i++) { const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); if (nextChild.key != null) { keyToNewIndexMap.set(nextChild.key, i); } } let j; let patched = 0; const toBePatched = e2 - s2 + 1; let moved = false; let maxNewIndexSoFar = 0; const newIndexToOldIndexMap = new Array(toBePatched); for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0; for (i = s1; i <= e1; i++) { const prevChild = c1[i]; if (patched >= toBePatched) { unmount(prevChild, parentComponent, parentSuspense, true); continue; } let newIndex; if (prevChild.key != null) { newIndex = keyToNewIndexMap.get(prevChild.key); } else { for (j = s2; j <= e2; j++) { if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) { newIndex = j; break; } } } if (newIndex === void 0) { unmount(prevChild, parentComponent, parentSuspense, true); } else { newIndexToOldIndexMap[newIndex - s2] = i + 1; if (newIndex >= maxNewIndexSoFar) { maxNewIndexSoFar = newIndex; } else { moved = true; } patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); patched++; } } const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR; j = increasingNewIndexSequence.length - 1; for (i = toBePatched - 1; i >= 0; i--) { const nextIndex = s2 + i; const nextChild = c2[nextIndex]; const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor; if (newIndexToOldIndexMap[i] === 0) { patch(null, nextChild, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized); } else if (moved) { if (j < 0 || i !== increasingNewIndexSequence[j]) { move(nextChild, container, anchor, 2); } else { j--; } } } } }; const move = (vnode, container, anchor, moveType, parentSuspense = null) => { const { el, type, transition, children, shapeFlag } = vnode; if (shapeFlag & 6) { move(vnode.component.subTree, container, anchor, moveType); return; } if (shapeFlag & 128) { vnode.suspense.move(container, anchor, moveType); return; } if (shapeFlag & 64) { type.move(vnode, container, anchor, internals); return; } if (type === Fragment) { hostInsert(el, container, anchor); for (let i = 0; i < children.length; i++) { move(children[i], container, anchor, moveType); } hostInsert(vnode.anchor, container, anchor); return; } if (type === Static) { moveStaticNode(vnode, container, anchor); return; } const needTransition = moveType !== 2 && shapeFlag & 1 && transition; if (needTransition) { if (moveType === 0) { transition.beforeEnter(el); hostInsert(el, container, anchor); queuePostRenderEffect(() => transition.enter(el), parentSuspense); } else { const { leave, delayLeave, afterLeave } = transition; const remove3 = () => hostInsert(el, container, anchor); const performLeave = () => { leave(el, () => { remove3(); afterLeave && afterLeave(); }); }; if (delayLeave) { delayLeave(el, remove3, performLeave); } else { performLeave(); } } } else { hostInsert(el, container, anchor); } }; const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => { const { type, props: props2, ref: ref2, children, dynamicChildren, shapeFlag, patchFlag, dirs } = vnode; if (ref2 != null) { setRef(ref2, null, parentSuspense, vnode, true); } if (shapeFlag & 256) { parentComponent.ctx.deactivate(vnode); return; } const shouldInvokeDirs = shapeFlag & 1 && dirs; let vnodeHook; if (vnodeHook = props2 && props2.onVnodeBeforeUnmount) { invokeVNodeHook(vnodeHook, parentComponent, vnode); } if (shapeFlag & 6) { unmountComponent(vnode.component, parentSuspense, doRemove); } else { if (shapeFlag & 128) { vnode.suspense.unmount(parentSuspense, doRemove); return; } if (shouldInvokeDirs) { invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount"); } if (shapeFlag & 64) { vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove); } else if (dynamicChildren && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) { unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true); } else if (type === Fragment && (patchFlag & 128 || patchFlag & 256) || !optimized && shapeFlag & 16) { unmountChildren(children, parentComponent, parentSuspense); } if (doRemove) { remove2(vnode); } } if ((vnodeHook = props2 && props2.onVnodeUnmounted) || shouldInvokeDirs) { queuePostRenderEffect(() => { vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted"); }, parentSuspense); } }; const remove2 = (vnode) => { const { type, el, anchor, transition } = vnode; if (type === Fragment) { removeFragment(el, anchor); return; } if (type === Static) { removeStaticNode(vnode); return; } const performRemove = () => { hostRemove(el); if (transition && !transition.persisted && transition.afterLeave) { transition.afterLeave(); } }; if (vnode.shapeFlag & 1 && transition && !transition.persisted) { const { leave, delayLeave } = transition; const performLeave = () => leave(el, performRemove); if (delayLeave) { delayLeave(vnode.el, performRemove, performLeave); } else { performLeave(); } } else { performRemove(); } }; const removeFragment = (cur, end) => { let next; while (cur !== end) { next = hostNextSibling(cur); hostRemove(cur); cur = next; } hostRemove(end); }; const unmountComponent = (instance, parentSuspense, doRemove) => { const { bum, effects, update, subTree, um } = instance; if (bum) { invokeArrayFns(bum); } if (effects) { for (let i = 0; i < effects.length; i++) { stop(effects[i]); } } if (update) { stop(update); unmount(subTree, instance, parentSuspense, doRemove); } if (um) { queuePostRenderEffect(um, parentSuspense); } queuePostRenderEffect(() => { instance.isUnmounted = true; }, parentSuspense); if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) { parentSuspense.deps--; if (parentSuspense.deps === 0) { parentSuspense.resolve(); } } }; const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => { for (let i = start; i < children.length; i++) { unmount(children[i], parentComponent, parentSuspense, doRemove, optimized); } }; const getNextHostNode = (vnode) => { if (vnode.shapeFlag & 6) { return getNextHostNode(vnode.component.subTree); } if (vnode.shapeFlag & 128) { return vnode.suspense.next(); } return hostNextSibling(vnode.anchor || vnode.el); }; const render = (vnode, container, isSVG) => { if (vnode == null) { if (container._vnode) { unmount(container._vnode, null, null, true); } } else { patch(container._vnode || null, vnode, container, null, null, null, isSVG); } flushPostFlushCbs(); container._vnode = vnode; }; const internals = { p: patch, um: unmount, m: move, r: remove2, mt: mountComponent, mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, n: getNextHostNode, o: options }; let hydrate; let hydrateNode; if (createHydrationFns) { [hydrate, hydrateNode] = createHydrationFns(internals); } return { render, hydrate, createApp: createAppAPI(render, hydrate) }; } function invokeVNodeHook(hook, instance, vnode, prevVNode = null) { callWithAsyncErrorHandling(hook, instance, 7, [ vnode, prevVNode ]); } function traverseStaticChildren(n1, n2, shallow = false) { const ch1 = n1.children; const ch2 = n2.children; if (isArray(ch1) && isArray(ch2)) { for (let i = 0; i < ch1.length; i++) { const c1 = ch1[i]; let c2 = ch2[i]; if (c2.shapeFlag & 1 && !c2.dynamicChildren) { if (c2.patchFlag <= 0 || c2.patchFlag === 32) { c2 = ch2[i] = cloneIfMounted(ch2[i]); c2.el = c1.el; } if (!shallow) traverseStaticChildren(c1, c2); } } } } function getSequence(arr) { const p2 = arr.slice(); const result = [0]; let i, j, u, v, c; const len = arr.length; for (i = 0; i < len; i++) { const arrI = arr[i]; if (arrI !== 0) { j = result[result.length - 1]; if (arr[j] < arrI) { p2[i] = j; result.push(i); continue; } u = 0; v = result.length - 1; while (u < v) { c = (u + v) / 2 | 0; if (arr[result[c]] < arrI) { u = c + 1; } else { v = c; } } if (arrI < arr[result[u]]) { if (u > 0) { p2[i] = result[u - 1]; } result[u] = i; } } } u = result.length; v = result[u - 1]; while (u-- > 0) { result[u] = v; v = p2[v]; } return result; } const isTeleport = (type) => type.__isTeleport; const NULL_DYNAMIC_COMPONENT = Symbol(); const Fragment = Symbol(void 0); const Text$1 = Symbol(void 0); const Comment$1 = Symbol(void 0); const Static = Symbol(void 0); let currentBlock = null; let isBlockTreeEnabled = 1; function setBlockTracking(value) { isBlockTreeEnabled += value; } function isVNode(value) { return value ? value.__v_isVNode === true : false; } function isSameVNodeType(n1, n2) { return n1.type === n2.type && n1.key === n2.key; } const InternalObjectKey = `__vInternal`; const normalizeKey = ({ key }) => key != null ? key : null; const normalizeRef = ({ ref: ref2 }) => { return ref2 != null ? isString(ref2) || isRef(ref2) || isFunction(ref2) ? { i: currentRenderingInstance, r: ref2 } : ref2 : null; }; const createVNode = _createVNode; function _createVNode(type, props2 = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) { if (!type || type === NULL_DYNAMIC_COMPONENT) { type = Comment$1; } if (isVNode(type)) { const cloned = cloneVNode(type, props2, true); if (children) { normalizeChildren(cloned, children); } return cloned; } if (isClassComponent(type)) { type = type.__vccOpts; } if (props2) { if (isProxy(props2) || InternalObjectKey in props2) { props2 = extend({}, props2); } let { class: klass, style } = props2; if (klass && !isString(klass)) { props2.class = normalizeClass(klass); } if (isObject$1(style)) { if (isProxy(style) && !isArray(style)) { style = extend({}, style); } props2.style = normalizeStyle(style); } } const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject$1(type) ? 4 : isFunction(type) ? 2 : 0; const vnode = { __v_isVNode: true, __v_skip: true, type, props: props2, key: props2 && normalizeKey(props2), ref: props2 && normalizeRef(props2), scopeId: currentScopeId, slotScopeIds: null, children: null, component: null, suspense: null, ssContent: null, ssFallback: null, dirs: null, transition: null, el: null, anchor: null, target: null, targetAnchor: null, staticCount: 0, shapeFlag, patchFlag, dynamicProps, dynamicChildren: null, appContext: null }; normalizeChildren(vnode, children); if (shapeFlag & 128) { type.normalize(vnode); } if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock && (patchFlag > 0 || shapeFlag & 6) && patchFlag !== 32) { currentBlock.push(vnode); } return vnode; } function cloneVNode(vnode, extraProps, mergeRef = false) { const { props: props2, ref: ref2, patchFlag, children } = vnode; const mergedProps = extraProps ? mergeProps(props2 || {}, extraProps) : props2; const cloned = { __v_isVNode: true, __v_skip: true, type: vnode.type, props: mergedProps, key: mergedProps && normalizeKey(mergedProps), ref: extraProps && extraProps.ref ? mergeRef && ref2 ? isArray(ref2) ? ref2.concat(normalizeRef(extraProps)) : [ref2, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref2, scopeId: vnode.scopeId, slotScopeIds: vnode.slotScopeIds, children, target: vnode.target, targetAnchor: vnode.targetAnchor, staticCount: vnode.staticCount, shapeFlag: vnode.shapeFlag, patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag, dynamicProps: vnode.dynamicProps, dynamicChildren: vnode.dynamicChildren, appContext: vnode.appContext, dirs: vnode.dirs, transition: vnode.transition, component: vnode.component, suspense: vnode.suspense, ssContent: vnode.ssContent && cloneVNode(vnode.ssContent), ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback), el: vnode.el, anchor: vnode.anchor }; return cloned; } function createTextVNode(text = " ", flag = 0) { return createVNode(Text$1, null, text, flag); } function normalizeVNode(child) { if (child == null || typeof child === "boolean") { return createVNode(Comment$1); } else if (isArray(child)) { return createVNode(Fragment, null, child.slice()); } else if (typeof child === "object") { return cloneIfMounted(child); } else { return createVNode(Text$1, null, String(child)); } } function cloneIfMounted(child) { return child.el === null ? child : cloneVNode(child); } function normalizeChildren(vnode, children) { let type = 0; const { shapeFlag } = vnode; if (children == null) { children = null; } else if (isArray(children)) { type = 16; } else if (typeof children === "object") { if (shapeFlag & 1 || shapeFlag & 64) { const slot = children.default; if (slot) { slot._c && (slot._d = false); normalizeChildren(vnode, slot()); slot._c && (slot._d = true); } return; } else { type = 32; const slotFlag = children._; if (!slotFlag && !(InternalObjectKey in children)) { children._ctx = currentRenderingInstance; } else if (slotFlag === 3 && currentRenderingInstance) { if (currentRenderingInstance.slots._ === 1) { children._ = 1; } else { children._ = 2; vnode.patchFlag |= 1024; } } } } else if (isFunction(children)) { children = { default: children, _ctx: currentRenderingInstance }; type = 32; } else { children = String(children); if (shapeFlag & 64) { type = 16; children = [createTextVNode(children)]; } else { type = 8; } } vnode.children = children; vnode.shapeFlag |= type; } function mergeProps(...args) { const ret = extend({}, args[0]); for (let i = 1; i < args.length; i++) { const toMerge = args[i]; for (const key in toMerge) { if (key === "class") { if (ret.class !== toMerge.class) { ret.class = normalizeClass([ret.class, toMerge.class]); } } else if (key === "style") { ret.style = normalizeStyle([ret.style, toMerge.style]); } else if (isOn(key)) { const existing = ret[key]; const incoming = toMerge[key]; if (existing !== incoming) { ret[key] = existing ? [].concat(existing, incoming) : incoming; } } else if (key !== "") { ret[key] = toMerge[key]; } } } return ret; } const getPublicInstance = (i) => { if (!i) return null; if (isStatefulComponent(i)) return i.exposed ? i.exposed : i.proxy; return getPublicInstance(i.parent); }; const publicPropertiesMap = extend(Object.create(null), { $: (i) => i, $el: (i) => i.vnode.el, $data: (i) => i.data, $props: (i) => i.props, $attrs: (i) => i.attrs, $slots: (i) => i.slots, $refs: (i) => i.refs, $parent: (i) => getPublicInstance(i.parent), $root: (i) => getPublicInstance(i.root), $emit: (i) => i.emit, $options: (i) => resolveMergedOptions(i), $forceUpdate: (i) => () => queueJob(i.update), $nextTick: (i) => nextTick.bind(i.proxy), $watch: (i) => instanceWatch.bind(i) }); const PublicInstanceProxyHandlers = { get({ _: instance }, key) { const { ctx, setupState, data, props: props2, accessCache, type, appContext } = instance; let normalizedProps; if (key[0] !== "$") { const n = accessCache[key]; if (n !== void 0) { switch (n) { case 0: return setupState[key]; case 1: return data[key]; case 3: return ctx[key]; case 2: return props2[key]; } } else if (setupState !== EMPTY_OBJ && hasOwn$1(setupState, key)) { accessCache[key] = 0; return setupState[key]; } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) { accessCache[key] = 1; return data[key]; } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn$1(normalizedProps, key)) { accessCache[key] = 2; return props2[key]; } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { accessCache[key] = 3; return ctx[key]; } else if (shouldCacheAccess) { accessCache[key] = 4; } } const publicGetter = publicPropertiesMap[key]; let cssModule, globalProperties; if (publicGetter) { if (key === "$attrs") { track(instance, "get", key); } return publicGetter(instance); } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) { return cssModule; } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { accessCache[key] = 3; return ctx[key]; } else if (globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key)) { { return globalProperties[key]; } } else ; }, set({ _: instance }, key, value) { const { data, setupState, ctx } = instance; if (setupState !== EMPTY_OBJ && hasOwn$1(setupState, key)) { setupState[key] = value; } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) { data[key] = value; } else if (hasOwn$1(instance.props, key)) { return false; } if (key[0] === "$" && key.slice(1) in instance) { return false; } else { { ctx[key] = value; } } return true; }, has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) { let normalizedProps; return accessCache[key] !== void 0 || data !== EMPTY_OBJ && hasOwn$1(data, key) || setupState !== EMPTY_OBJ && hasOwn$1(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$1(normalizedProps, key) || hasOwn$1(ctx, key) || hasOwn$1(publicPropertiesMap, key) || hasOwn$1(appContext.config.globalProperties, key); } }; const RuntimeCompiledPublicInstanceProxyHandlers = extend({}, PublicInstanceProxyHandlers, { get(target, key) { if (key === Symbol.unscopables) { return; } return PublicInstanceProxyHandlers.get(target, key, target); }, has(_, key) { const has2 = key[0] !== "_" && !isGloballyWhitelisted(key); return has2; } }); const emptyAppContext = createAppContext(); let uid$2 = 0; function createComponentInstance(vnode, parent, suspense) { const type = vnode.type; const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext; const instance = { uid: uid$2++, vnode, type, parent, appContext, root: null, next: null, subTree: null, update: null, render: null, proxy: null, exposed: null, exposeProxy: null, withProxy: null, effects: null, provides: parent ? parent.provides : Object.create(appContext.provides), accessCache: null, renderCache: [], components: null, directives: null, propsOptions: normalizePropsOptions(type, appContext), emitsOptions: normalizeEmitsOptions(type, appContext), emit: null, emitted: null, propsDefaults: EMPTY_OBJ, inheritAttrs: type.inheritAttrs, ctx: EMPTY_OBJ, data: EMPTY_OBJ, props: EMPTY_OBJ, attrs: EMPTY_OBJ, slots: EMPTY_OBJ, refs: EMPTY_OBJ, setupState: EMPTY_OBJ, setupContext: null, suspense, suspenseId: suspense ? suspense.pendingId : 0, asyncDep: null, asyncResolved: false, isMounted: false, isUnmounted: false, isDeactivated: false, bc: null, c: null, bm: null, m: null, bu: null, u: null, um: null, bum: null, da: null, a: null, rtg: null, rtc: null, ec: null, sp: null }; { instance.ctx = { _: instance }; } instance.root = parent ? parent.root : instance; instance.emit = emit.bind(null, instance); return instance; } let currentInstance = null; const getCurrentInstance = () => currentInstance || currentRenderingInstance; const setCurrentInstance = (instance) => { currentInstance = instance; }; function isStatefulComponent(instance) { return instance.vnode.shapeFlag & 4; } let isInSSRComponentSetup = false; function setupComponent(instance, isSSR = false) { isInSSRComponentSetup = isSSR; const { props: props2, children } = instance.vnode; const isStateful = isStatefulComponent(instance); initProps(instance, props2, isStateful, isSSR); initSlots(instance, children); const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0; isInSSRComponentSetup = false; return setupResult; } function setupStatefulComponent(instance, isSSR) { const Component = instance.type; instance.accessCache = Object.create(null); instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers)); const { setup } = Component; if (setup) { const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null; currentInstance = instance; pauseTracking(); const setupResult = callWithErrorHandling(setup, instance, 0, [ instance.props, setupContext ]); resetTracking(); currentInstance = null; if (isPromise(setupResult)) { if (isSSR) { return setupResult.then((resolvedResult) => { handleSetupResult(instance, resolvedResult); }).catch((e) => { handleError(e, instance, 0); }); } else { instance.asyncDep = setupResult; } } else { handleSetupResult(instance, setupResult); } } else { finishComponentSetup(instance); } } function handleSetupResult(instance, setupResult, isSSR) { if (isFunction(setupResult)) { { instance.render = setupResult; } } else if (isObject$1(setupResult)) { instance.setupState = proxyRefs(setupResult); } else ; finishComponentSetup(instance); } function finishComponentSetup(instance, isSSR, skipOptions) { const Component = instance.type; if (!instance.render) { instance.render = Component.render || NOOP; if (instance.render._rc) { instance.withProxy = new Proxy(instance.ctx, RuntimeCompiledPublicInstanceProxyHandlers); } } { currentInstance = instance; pauseTracking(); applyOptions(instance); resetTracking(); currentInstance = null; } } function createSetupContext(instance) { const expose = (exposed) => { instance.exposed = exposed || {}; }; { return { attrs: instance.attrs, slots: instance.slots, emit: instance.emit, expose }; } } function getExposeProxy(instance) { if (instance.exposed) { return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), { get(target, key) { if (key in target) { return target[key]; } else if (key in publicPropertiesMap) { return publicPropertiesMap[key](instance); } } })); } } function recordInstanceBoundEffect(effect2, instance = currentInstance) { if (instance) { (instance.effects || (instance.effects = [])).push(effect2); } } const classifyRE = /(?:^|[-_])(\w)/g; const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, ""); function getComponentName(Component) { return isFunction(Component) ? Component.displayName || Component.name : Component.name; } function formatComponentName(instance, Component, isRoot = false) { let name = getComponentName(Component); if (!name && Component.__file) { const match = Component.__file.match(/([^/\\]+)\.\w+$/); if (match) { name = match[1]; } } if (!name && instance && instance.parent) { const inferFromRegistry = (registry) => { for (const key in registry) { if (registry[key] === Component) { return key; } } }; name = inferFromRegistry(instance.components || instance.parent.type.components) || inferFromRegistry(instance.appContext.components); } return name ? classify(name) : isRoot ? `App` : `Anonymous`; } function isClassComponent(value) { return isFunction(value) && "__vccOpts" in value; } function computed$1(getterOrOptions) { const c = computed(getterOrOptions); recordInstanceBoundEffect(c.effect); return c; } function h(type, propsOrChildren, children) { const l = arguments.length; if (l === 2) { if (isObject$1(propsOrChildren) && !isArray(propsOrChildren)) { if (isVNode(propsOrChildren)) { return createVNode(type, null, [propsOrChildren]); } return createVNode(type, propsOrChildren); } else { return createVNode(type, null, propsOrChildren); } } else { if (l > 3) { children = Array.prototype.slice.call(arguments, 2); } else if (l === 3 && isVNode(children)) { children = [children]; } return createVNode(type, propsOrChildren, children); } } const version = "3.1.2"; const svgNS = "http://www.w3.org/2000/svg"; const doc = typeof document !== "undefined" ? document : null; const nodeOps = { insert: (child, parent, anchor) => { parent.insertBefore(child, anchor || null); }, remove: (child) => { const parent = child.parentNode; if (parent) { parent.removeChild(child); } }, createElement: (tag, isSVG, is, props2) => { const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0); if (tag === "select" && props2 && props2.multiple != null) { el.setAttribute("multiple", props2.multiple); } return el; }, createText: (text) => doc.createTextNode(text), createComment: (text) => doc.createComment(text), setText: (node, text) => { node.nodeValue = text; }, setElementText: (el, text) => { el.textContent = text; }, parentNode: (node) => node.parentNode, nextSibling: (node) => node.nextSibling, querySelector: (selector) => doc.querySelector(selector), setScopeId(el, id) { el.setAttribute(id, ""); }, cloneNode(el) { const cloned = el.cloneNode(true); if (`_value` in el) { cloned._value = el._value; } return cloned; }, insertStaticContent(content, parent, anchor, isSVG, cached) { if (cached) { let [cachedFirst, cachedLast] = cached; let first, last; while (true) { let node = cachedFirst.cloneNode(true); if (!first) first = node; parent.insertBefore(node, anchor); if (cachedFirst === cachedLast) { last = node; break; } cachedFirst = cachedFirst.nextSibling; } return [first, last]; } const before = anchor ? anchor.previousSibling : parent.lastChild; if (anchor) { let insertionPoint; let usingTempInsertionPoint = false; if (anchor instanceof Element) { insertionPoint = anchor; } else { usingTempInsertionPoint = true; insertionPoint = isSVG ? doc.createElementNS(svgNS, "g") : doc.createElement("div"); parent.insertBefore(insertionPoint, anchor); } insertionPoint.insertAdjacentHTML("beforebegin", content); if (usingTempInsertionPoint) { parent.removeChild(insertionPoint); } } else { parent.insertAdjacentHTML("beforeend", content); } return [ before ? before.nextSibling : parent.firstChild, anchor ? anchor.previousSibling : parent.lastChild ]; } }; function patchClass(el, value, isSVG) { if (value == null) { value = ""; } if (isSVG) { el.setAttribute("class", value); } else { const transitionClasses = el._vtc; if (transitionClasses) { value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" "); } el.className = value; } } function patchStyle(el, prev, next) { const style = el.style; if (!next) { el.removeAttribute("style"); } else if (isString(next)) { if (prev !== next) { const current = style.display; style.cssText = next; if ("_vod" in el) { style.display = current; } } } else { for (const key in next) { setStyle(style, key, next[key]); } if (prev && !isString(prev)) { for (const key in prev) { if (next[key] == null) { setStyle(style, key, ""); } } } } } const importantRE = /\s*!important$/; function setStyle(style, name, val) { if (isArray(val)) { val.forEach((v) => setStyle(style, name, v)); } else { if (name.startsWith("--")) { style.setProperty(name, val); } else { const prefixed = autoPrefix(style, name); if (importantRE.test(val)) { style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important"); } else { style[prefixed] = val; } } } } const prefixes = ["Webkit", "Moz", "ms"]; const prefixCache = {}; function autoPrefix(style, rawName) { const cached = prefixCache[rawName]; if (cached) { return cached; } let name = camelize(rawName); if (name !== "filter" && name in style) { return prefixCache[rawName] = name; } name = capitalize(name); for (let i = 0; i < prefixes.length; i++) { const prefixed = prefixes[i] + name; if (prefixed in style) { return prefixCache[rawName] = prefixed; } } return rawName; } const xlinkNS = "http://www.w3.org/1999/xlink"; function patchAttr(el, key, value, isSVG, instance) { if (isSVG && key.startsWith("xlink:")) { if (value == null) { el.removeAttributeNS(xlinkNS, key.slice(6, key.length)); } else { el.setAttributeNS(xlinkNS, key, value); } } else { const isBoolean = isSpecialBooleanAttr(key); if (value == null || isBoolean && value === false) { el.removeAttribute(key); } else { el.setAttribute(key, isBoolean ? "" : value); } } } function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) { if (key === "innerHTML" || key === "textContent") { if (prevChildren) { unmountChildren(prevChildren, parentComponent, parentSuspense); } el[key] = value == null ? "" : value; return; } if (key === "value" && el.tagName !== "PROGRESS") { el._value = value; const newValue = value == null ? "" : value; if (el.value !== newValue) { el.value = newValue; } if (value == null) { el.removeAttribute(key); } return; } if (value === "" || value == null) { const type = typeof el[key]; if (value === "" && type === "boolean") { el[key] = true; return; } else if (value == null && type === "string") { el[key] = ""; el.removeAttribute(key); return; } else if (type === "number") { el[key] = 0; el.removeAttribute(key); return; } } try { el[key] = value; } catch (e) { } } let _getNow = Date.now; let skipTimestampCheck = false; if (typeof window !== "undefined") { if (_getNow() > document.createEvent("Event").timeStamp) { _getNow = () => performance.now(); } const ffMatch = navigator.userAgent.match(/firefox\/(\d+)/i); skipTimestampCheck = !!(ffMatch && Number(ffMatch[1]) <= 53); } let cachedNow = 0; const p = Promise.resolve(); const reset = () => { cachedNow = 0; }; const getNow = () => cachedNow || (p.then(reset), cachedNow = _getNow()); function addEventListener(el, event, handler, options) { el.addEventListener(event, handler, options); } function removeEventListener(el, event, handler, options) { el.removeEventListener(event, handler, options); } function patchEvent(el, rawName, prevValue, nextValue, instance = null) { const invokers = el._vei || (el._vei = {}); const existingInvoker = invokers[rawName]; if (nextValue && existingInvoker) { existingInvoker.value = nextValue; } else { const [name, options] = parseName(rawName); if (nextValue) { const invoker = invokers[rawName] = createInvoker(nextValue, instance); addEventListener(el, name, invoker, options); } else if (existingInvoker) { removeEventListener(el, name, existingInvoker, options); invokers[rawName] = void 0; } } } const optionsModifierRE = /(?:Once|Passive|Capture)$/; function parseName(name) { let options; if (optionsModifierRE.test(name)) { options = {}; let m; while (m = name.match(optionsModifierRE)) { name = name.slice(0, name.length - m[0].length); options[m[0].toLowerCase()] = true; } } return [hyphenate(name.slice(2)), options]; } function createInvoker(initialValue, instance) { const invoker = (e) => { const timeStamp = e.timeStamp || _getNow(); if (skipTimestampCheck || timeStamp >= invoker.attached - 1) { callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5, [e]); } }; invoker.value = initialValue; invoker.attached = getNow(); return invoker; } function patchStopImmediatePropagation(e, value) { if (isArray(value)) { const originalStop = e.stopImmediatePropagation; e.stopImmediatePropagation = () => { originalStop.call(e); e._stopped = true; }; return value.map((fn) => (e2) => !e2._stopped && fn(e2)); } else { return value; } } const nativeOnRE = /^on[a-z]/; const forcePatchProp = (_, key) => key === "value"; const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => { switch (key) { case "class": patchClass(el, nextValue, isSVG); break; case "style": patchStyle(el, prevValue, nextValue); break; default: if (isOn(key)) { if (!isModelListener(key)) { patchEvent(el, key, prevValue, nextValue, parentComponent); } } else if (shouldSetAsProp(el, key, nextValue, isSVG)) { patchDOMProp(el, key, nextValue, prevChildren, parentComponent, parentSuspense, unmountChildren); } else { if (key === "true-value") { el._trueValue = nextValue; } else if (key === "false-value") { el._falseValue = nextValue; } patchAttr(el, key, nextValue, isSVG); } break; } }; function shouldSetAsProp(el, key, value, isSVG) { if (isSVG) { if (key === "innerHTML") { return true; } if (key in el && nativeOnRE.test(key) && isFunction(value)) { return true; } return false; } if (key === "spellcheck" || key === "draggable") { return false; } if (key === "form") { return false; } if (key === "list" && el.tagName === "INPUT") { return false; } if (key === "type" && el.tagName === "TEXTAREA") { return false; } if (nativeOnRE.test(key) && isString(value)) { return false; } return key in el; } const rendererOptions = extend({ patchProp, forcePatchProp }, nodeOps); let renderer; function ensureRenderer() { return renderer || (renderer = createRenderer(rendererOptions)); } const createApp = (...args) => { const app = ensureRenderer().createApp(...args); const { mount } = app; app.mount = (containerOrSelector) => { const container = normalizeContainer(containerOrSelector); if (!container) return; const component = app._component; if (!isFunction(component) && !component.render && !component.template) { component.template = container.innerHTML; } container.innerHTML = ""; const proxy = mount(container, false, container instanceof SVGElement); if (container instanceof Element) { container.removeAttribute("v-cloak"); container.setAttribute("data-v-app", ""); } return proxy; }; return app; }; function normalizeContainer(container) { if (isString(container)) { const res = document.querySelector(container); return res; } return container; } var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}; function getDefaultExportFromCjs(x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; } var dist = { exports: {} }; (function(module, exports) { !function(t, e) { module.exports = e(); }(typeof self != "undefined" ? self : commonjsGlobal, function() { return function(t) { var e = {}; function n(r) { if (e[r]) return e[r].exports; var o = e[r] = { i: r, l: false, exports: {} }; return t[r].call(o.exports, o, o.exports, n), o.l = true, o.exports; } return n.m = t, n.c = e, n.d = function(t2, e2, r) { n.o(t2, e2) || Object.defineProperty(t2, e2, { enumerable: true, get: r }); }, n.r = function(t2) { typeof Symbol != "undefined" && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true }); }, n.t = function(t2, e2) { if (1 & e2 && (t2 = n(t2)), 8 & e2) return t2; if (4 & e2 && typeof t2 == "object" && t2 && t2.__esModule) return t2; var r = Object.create(null); if (n.r(r), Object.defineProperty(r, "default", { enumerable: true, value: t2 }), 2 & e2 && typeof t2 != "string") for (var o in t2) n.d(r, o, function(e3) { return t2[e3]; }.bind(null, o)); return r; }, n.n = function(t2) { var e2 = t2 && t2.__esModule ? function() { return t2.default; } : function() { return t2; }; return n.d(e2, "a", e2), e2; }, n.o = function(t2, e2) { return Object.prototype.hasOwnProperty.call(t2, e2); }, n.p = "", n(n.s = 1); }([function(t, e, n) { (function(t2) { n.d(e, "a", function() { return c; }); const r = (t3) => { const e2 = Object.create(null); return (n2) => e2[n2] || (e2[n2] = t3(n2)); }, u = r((t3) => t3.charAt(0).toUpperCase() + t3.slice(1)), c = r((t3) => t3 ? "on" + u(t3) : ""); }).call(this, n(2)); }, function(t, e, n) { t.exports = n(3); }, function(t, e) { var n; n = function() { return this; }(); try { n = n || new Function("return this")(); } catch (t2) { typeof window == "object" && (n = window); } t.exports = n; }, function(t, e, n) { n.r(e), n.d(e, "default", function() { return j; }); var r = n(0), o = /-(\w)/g, i = function(t2) { return t2.replace(o, function(t3, e2) { return e2 ? e2.toUpperCase() : ""; }); }, u = /\B([A-Z])/g, c = function(t2) { return t2.replace(u, "-$1").toLowerCase(); }; function a(t2, e2) { if (t2) { var n2 = t2.$options[e2] || []; Array.isArray(n2) || (n2 = [n2]), n2.forEach(function(e3) { e3.call(t2); }); } } function f(t2, e2) { return new CustomEvent(t2, { bubbles: false, cancelable: false, detail: e2.length === 1 ? e2[0] : e2 }); } var s = function(t2) { return /function Boolean/.test(String(t2)); }, l = function(t2) { return /function Number/.test(String(t2)); }; function p2(t2, e2) { if (t2.nodeType === 3) return t2.data.trim() ? t2.data : null; if (t2.nodeType === 1) { var n2 = { attrs: d(t2), domProps: { innerHTML: t2.innerHTML } }; return n2.attrs.slot && (n2.slot = n2.attrs.slot, delete n2.attrs.slot), e2(t2.tagName, n2); } return null; } function d(t2) { for (var e2 = {}, n2 = 0, r2 = t2.attributes.length; n2 < r2; n2++) { var o2 = t2.attributes[n2]; e2[o2.nodeName] = o2.nodeValue; } return e2; } function y(t2) { return (y = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t3) { return typeof t3; } : function(t3) { return t3 && typeof Symbol == "function" && t3.constructor === Symbol && t3 !== Symbol.prototype ? "symbol" : typeof t3; })(t2); } function b(t2, e2) { for (var n2 = 0; n2 < e2.length; n2++) { var r2 = e2[n2]; r2.enumerable = r2.enumerable || false, r2.configurable = true, "value" in r2 && (r2.writable = true), Object.defineProperty(t2, r2.key, r2); } } function v(t2, e2) { return !e2 || y(e2) !== "object" && typeof e2 != "function" ? h2(t2) : e2; } function h2(t2) { if (t2 === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t2; } function m(t2) { var e2 = typeof Map == "function" ? new Map() : void 0; return (m = function(t3) { if (t3 === null || (n2 = t3, Function.toString.call(n2).indexOf("[native code]") === -1)) return t3; var n2; if (typeof t3 != "function") throw new TypeError("Super expression must either be null or a function"); if (e2 !== void 0) { if (e2.has(t3)) return e2.get(t3); e2.set(t3, r2); } function r2() { return _(t3, arguments, O(this).constructor); } return r2.prototype = Object.create(t3.prototype, { constructor: { value: r2, enumerable: false, writable: true, configurable: true } }), w(r2, t3); })(t2); } function _(t2, e2, n2) { return (_ = g() ? Reflect.construct : function(t3, e3, n3) { var r2 = [null]; r2.push.apply(r2, e3); var o2 = new (Function.bind.apply(t3, r2))(); return n3 && w(o2, n3.prototype), o2; }).apply(null, arguments); } function g() { if (typeof Reflect == "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy == "function") return true; try { return Date.prototype.toString.call(Reflect.construct(Date, [], function() { })), true; } catch (t2) { return false; } } function w(t2, e2) { return (w = Object.setPrototypeOf || function(t3, e3) { return t3.__proto__ = e3, t3; })(t2, e2); } function O(t2) { return (O = Object.setPrototypeOf ? Object.getPrototypeOf : function(t3) { return t3.__proto__ || Object.getPrototypeOf(t3); })(t2); } function j(t2, e2, n2, o2) { var u2, d2, y2, _2 = t2, j2 = false; var x = function(t3) { !function(t4, e3) { if (typeof e3 != "function" && e3 !== null) throw new TypeError("Super expression must either be null or a function"); t4.prototype = Object.create(e3 && e3.prototype, { constructor: { value: t4, writable: true, configurable: true } }), e3 && w(t4, e3); }(C, t3); var c2, m2, x2, A, P = (c2 = C, m2 = g(), function() { var t4, e3 = O(c2); if (m2) { var n3 = O(this).constructor; t4 = Reflect.construct(e3, arguments, n3); } else t4 = e3.apply(this, arguments); return v(this, t4); }); function C() { var t4; !function(t5, e3) { if (!(t5 instanceof e3)) throw new TypeError("Cannot call a class as a function"); }(this, C), (t4 = P.call(this))._wrapper = void 0, t4._component = void 0, t4._props = void 0, t4._slotChildren = void 0, t4._mounted = false; var r2 = t4.createEventProxies(_2.emits); t4._props = {}, t4._slotChildren = []; var o3 = h2(t4); return t4._wrapper = e2({ render: function() { var t5 = Object.assign({}, o3._props, r2); return delete t5.dataVApp, n2(_2, t5, function() { return o3._slotChildren; }); }, mounted: function() { o3._mounted = true; }, unmounted: function() { o3._mounted = false; } }), new MutationObserver(function(e3) { for (var n3 = 0; n3 < e3.length; n3++) { var r3 = e3[n3]; j2 && r3.type === "attributes" && r3.target === h2(t4) ? r3.attributeName && t4.syncAttribute(r3.attributeName) : true; } }).observe(h2(t4), { childList: true, subtree: true, characterData: true, attributes: true }), t4; } return x2 = C, (A = [{ key: "createEventProxies", value: function(t4) { var e3 = this, n3 = {}; return t4 && t4.forEach(function(t5) { var o3 = Object(r.a)(i(t5)); n3[o3] = function() { for (var n4 = arguments.length, r2 = new Array(n4), o4 = 0; o4 < n4; o4++) r2[o4] = arguments[o4]; e3.dispatchEvent(f(t5, r2)); }; }), n3; } }, { key: "syncAttribute", value: function(t4) { var e3, n3 = i(t4), r2 = void 0; this.hasOwnProperty(t4) ? r2 = this[t4] : this.hasAttribute(t4) && (r2 = this.getAttribute(t4)), this._props[n3] = function(t5, e4) { var n4 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r3 = n4.type; if (s(r3)) return t5 === "true" || t5 === "false" ? t5 === "true" : t5 === "" || t5 === e4 || t5 != null; if (l(r3)) { var o3 = parseFloat(t5); return isNaN(o3) ? t5 : o3; } return t5; }(r2, t4, y2[n3]), (e3 = this._component) === null || e3 === void 0 || e3.$forceUpdate(); } }, { key: "syncSlots", value: function() { var t4; this._slotChildren = function(t5, e3) { for (var n3 = [], r2 = 0, o3 = t5.length; r2 < o3; r2++) n3.push(p2(t5[r2], e3)); return n3; }(this.childNodes, n2), (t4 = this._component) === null || t4 === void 0 || t4.$forceUpdate(); } }, { key: "syncInitialAttributes", value: function() { var t4, e3 = this; this._props = (t4 = {}, d2.forEach(function(e4) { t4[e4] = void 0; }), t4), u2.forEach(function(t5) { e3.syncAttribute(t5); }); } }, { key: "connectedCallback", value: function() { this._component && this._mounted ? a(this._component, "mounted") : (j2 && this.syncInitialAttributes(), this.syncSlots(), this._component = this._wrapper.mount(this)), (o2 == null ? void 0 : o2.connectedCallback) && o2.connectedCallback.bind(this)(); } }, { key: "disconnectedCallback", value: function() { a(this._component, "unmounted"); } }]) && b(x2.prototype, A), C; }(m(HTMLElement)); return function() { if (!j2) { var t3 = Array.isArray(_2.props) ? _2.props : Object.keys(_2.props || {}); u2 = t3.map(c), d2 = t3.map(i); var e3 = Array.isArray(_2.props) ? {} : _2.props || {}; y2 = d2.reduce(function(n3, r2, o3) { return n3[r2] = e3[t3[o3]], n3; }, {}), j2 = true; } }(), x; } }]).default; }); })(dist); var wrapper = /* @__PURE__ */ getDefaultExportFromCjs(dist.exports); var button = "uni-button {\n position: relative;\n display: block;\n margin-left: auto;\n margin-right: auto;\n padding-left: 14px;\n padding-right: 14px;\n box-sizing: border-box;\n font-size: 18px;\n text-align: center;\n text-decoration: none;\n line-height: 2.55555556;\n border-radius: 5px;\n -webkit-tap-highlight-color: transparent;\n overflow: hidden;\n color: #000000;\n background-color: #f8f8f8;\n cursor: pointer;\n}\n\nuni-button[hidden] {\n display: none !important;\n}\n\nuni-button:after {\n content: ' ';\n width: 200%;\n height: 200%;\n position: absolute;\n top: 0;\n left: 0;\n border: 1px solid rgba(0, 0, 0, 0.2);\n transform: scale(0.5);\n transform-origin: 0 0;\n box-sizing: border-box;\n border-radius: 10px;\n}\n\nuni-button[native] {\n padding-left: 0;\n padding-right: 0;\n}\n\nuni-button[native] .uni-button-cover-view-wrapper {\n border: inherit;\n border-color: inherit;\n border-radius: inherit;\n background-color: inherit;\n}\n\nuni-button[native] .uni-button-cover-view-inner {\n padding-left: 14px;\n padding-right: 14px;\n}\n\nuni-button uni-cover-view {\n line-height: inherit;\n white-space: inherit;\n}\n\nuni-button[type='default'] {\n color: #000000;\n background-color: #f8f8f8;\n}\n\nuni-button[type='primary'] {\n color: #ffffff;\n background-color: #007aff;\n}\n\nuni-button[type='warn'] {\n color: #ffffff;\n background-color: #e64340;\n}\n\nuni-button[disabled] {\n color: rgba(255, 255, 255, 0.6);\n cursor: not-allowed;\n}\n\nuni-button[disabled][type='default'],\nuni-button[disabled]:not([type]) {\n color: rgba(0, 0, 0, 0.3);\n background-color: #f7f7f7;\n}\n\nuni-button[disabled][type='primary'] {\n background-color: rgba(0, 122, 255, 0.6);\n}\n\nuni-button[disabled][type='warn'] {\n background-color: #ec8b89;\n}\n\nuni-button[type='primary'][plain] {\n color: #007aff;\n border: 1px solid #007aff;\n background-color: transparent;\n}\n\nuni-button[type='primary'][plain][disabled] {\n color: rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n\nuni-button[type='primary'][plain]:after {\n border-width: 0;\n}\n\nuni-button[type='default'][plain] {\n color: #353535;\n border: 1px solid #353535;\n background-color: transparent;\n}\n\nuni-button[type='default'][plain][disabled] {\n color: rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n\nuni-button[type='default'][plain]:after {\n border-width: 0;\n}\n\nuni-button[plain] {\n color: #353535;\n border: 1px solid #353535;\n background-color: transparent;\n}\n\nuni-button[plain][disabled] {\n color: rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n\nuni-button[plain]:after {\n border-width: 0;\n}\n\nuni-button[plain][native] .uni-button-cover-view-inner {\n padding: 0;\n}\n\nuni-button[type='warn'][plain] {\n color: #e64340;\n border: 1px solid #e64340;\n background-color: transparent;\n}\n\nuni-button[type='warn'][plain][disabled] {\n color: rgba(0, 0, 0, 0.2);\n border-color: rgba(0, 0, 0, 0.2);\n}\n\nuni-button[type='warn'][plain]:after {\n border-width: 0;\n}\n\nuni-button[size='mini'] {\n display: inline-block;\n line-height: 2.3;\n font-size: 13px;\n padding: 0 1.34em;\n}\n\nuni-button[size='mini'][native] {\n padding: 0;\n}\n\nuni-button[size='mini'][native] .uni-button-cover-view-inner {\n padding: 0 1.34em;\n}\n\nuni-button[loading]:not([disabled]) {\n cursor: progress;\n}\n\nuni-button[loading]:before {\n content: ' ';\n display: inline-block;\n width: 18px;\n height: 18px;\n vertical-align: middle;\n animation: uni-loading 1s steps(12, end) infinite;\n background-size: 100%;\n}\n\nuni-button[loading][type='primary'] {\n color: rgba(255, 255, 255, 0.6);\n background-color: #0062cc;\n}\n\nuni-button[loading][type='primary'][plain] {\n color: #007aff;\n background-color: transparent;\n}\n\nuni-button[loading][type='default'] {\n color: rgba(0, 0, 0, 0.6);\n background-color: #dedede;\n}\n\nuni-button[loading][type='default'][plain] {\n color: #353535;\n background-color: transparent;\n}\n\nuni-button[loading][type='warn'] {\n color: rgba(255, 255, 255, 0.6);\n background-color: #ce3c39;\n}\n\nuni-button[loading][type='warn'][plain] {\n color: #e64340;\n background-color: transparent;\n}\n\nuni-button[loading][native]:before {\n content: none;\n}\n\n.button-hover {\n color: rgba(0, 0, 0, 0.6);\n background-color: #dedede;\n}\n\n.button-hover[plain] {\n color: rgba(53, 53, 53, 0.6);\n border-color: rgba(53, 53, 53, 0.6);\n background-color: transparent;\n}\n\n.button-hover[type='primary'] {\n color: rgba(255, 255, 255, 0.6);\n background-color: #0062cc;\n}\n\n.button-hover[type='primary'][plain] {\n color: rgba(26, 173, 25, 0.6);\n border-color: rgba(26, 173, 25, 0.6);\n background-color: transparent;\n}\n\n.button-hover[type='default'] {\n color: rgba(0, 0, 0, 0.6);\n background-color: #dedede;\n}\n\n.button-hover[type='default'][plain] {\n color: rgba(53, 53, 53, 0.6);\n border-color: rgba(53, 53, 53, 0.6);\n background-color: transparent;\n}\n\n.button-hover[type='warn'] {\n color: rgba(255, 255, 255, 0.6);\n background-color: #ce3c39;\n}\n\n.button-hover[type='warn'][plain] {\n color: rgba(230, 67, 64, 0.6);\n border-color: rgba(230, 67, 64, 0.6);\n background-color: transparent;\n}\n"; function getCustomDataset(el) { return extend({}, el.dataset, el.__uniDataset); } function normalizeTarget(el) { const { id, offsetTop, offsetLeft } = el; return { id, dataset: getCustomDataset(el), offsetTop, offsetLeft }; } function cache(fn) { const cache2 = Object.create(null); return (str) => { const hit = cache2[str]; return hit || (cache2[str] = fn(str)); }; } function cacheStringFunction(fn) { return cache(fn); } const PRIMARY_COLOR = "#007aff"; const SCHEME_RE = /^([a-z-]+:)?\/\//i; const DATA_RE = /^data:.*,.*/; const isObject = (val) => val !== null && typeof val === "object"; class BaseFormatter { constructor() { this._caches = Object.create(null); } interpolate(message, values) { if (!values) { return [message]; } let tokens = this._caches[message]; if (!tokens) { tokens = parse(message); this._caches[message] = tokens; } return compile(tokens, values); } } const RE_TOKEN_LIST_VALUE = /^(?:\d)+/; const RE_TOKEN_NAMED_VALUE = /^(?:\w)+/; function parse(format) { const tokens = []; let position = 0; let text = ""; while (position < format.length) { let char = format[position++]; if (char === "{") { if (text) { tokens.push({ type: "text", value: text }); } text = ""; let sub = ""; char = format[position++]; while (char !== void 0 && char !== "}") { sub += char; char = format[position++]; } const isClosed = char === "}"; const type = RE_TOKEN_LIST_VALUE.test(sub) ? "list" : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? "named" : "unknown"; tokens.push({ value: sub, type }); } else if (char === "%") { if (format[position] !== "{") { text += char; } } else { text += char; } } text && tokens.push({ type: "text", value: text }); return tokens; } function compile(tokens, values) { const compiled = []; let index = 0; const mode = Array.isArray(values) ? "list" : isObject(values) ? "named" : "unknown"; if (mode === "unknown") { return compiled; } while (index < tokens.length) { const token = tokens[index]; switch (token.type) { case "text": compiled.push(token.value); break; case "list": compiled.push(values[parseInt(token.value, 10)]); break; case "named": if (mode === "named") { compiled.push(values[token.value]); } break; } index++; } return compiled; } const LOCALE_ZH_HANS = "zh-Hans"; const LOCALE_ZH_HANT = "zh-Hant"; const LOCALE_EN = "en"; const LOCALE_FR = "fr"; const LOCALE_ES = "es"; const hasOwnProperty = Object.prototype.hasOwnProperty; const hasOwn = (val, key) => hasOwnProperty.call(val, key); const defaultFormatter = new BaseFormatter(); function include(str, parts) { return !!parts.find((part) => str.indexOf(part) !== -1); } function startsWith(str, parts) { return parts.find((part) => str.indexOf(part) === 0); } function normalizeLocale(locale, messages) { if (!locale) { return; } locale = locale.trim().replace(/_/g, "-"); if (messages[locale]) { return locale; } locale = locale.toLowerCase(); if (locale.indexOf("zh") === 0) { if (locale.indexOf("-hans") !== -1) { return LOCALE_ZH_HANS; } if (locale.indexOf("-hant") !== -1) { return LOCALE_ZH_HANT; } if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) { return LOCALE_ZH_HANT; } return LOCALE_ZH_HANS; } const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]); if (lang) { return lang; } } class I18n { constructor({ locale, fallbackLocale, messages, watcher, formater }) { this.locale = LOCALE_EN; this.fallbackLocale = LOCALE_EN; this.message = {}; this.messages = {}; this.watchers = []; if (fallbackLocale) { this.fallbackLocale = fallbackLocale; } this.formater = formater || defaultFormatter; this.messages = messages || {}; this.setLocale(locale); if (watcher) { this.watchLocale(watcher); } } setLocale(locale) { const oldLocale = this.locale; this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale; if (!this.messages[this.locale]) { this.messages[this.locale] = {}; } this.message = this.messages[this.locale]; this.watchers.forEach((watcher) => { watcher(this.locale, oldLocale); }); } getLocale() { return this.locale; } watchLocale(fn) { const index = this.watchers.push(fn) - 1; return () => { this.watchers.splice(index, 1); }; } add(locale, message) { if (this.messages[locale]) { Object.assign(this.messages[locale], message); } else { this.messages[locale] = message; } } t(key, locale, values) { let message = this.message; if (typeof locale === "string") { locale = normalizeLocale(locale, this.messages); locale && (message = this.messages[locale]); } else { values = locale; } if (!hasOwn(message, key)) { console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`); return key; } return this.formater.interpolate(message[key], values).join(""); } } function initLocaleWatcher(appVm, i18n2) { appVm.$i18n && appVm.$i18n.vm.$watch("locale", (newLocale) => { i18n2.setLocale(newLocale); }, { immediate: true }); } function initVueI18n(locale = LOCALE_EN, messages = {}, fallbackLocale = LOCALE_EN) { if (typeof locale !== "string") { [locale, messages] = [messages, locale]; } if (typeof locale !== "string") { locale = fallbackLocale; } const i18n2 = new I18n({ locale: locale || fallbackLocale, fallbackLocale, messages }); let t = (key, values) => { if (typeof getApp !== "function") { t = function(key2, values2) { return i18n2.t(key2, values2); }; } else { const appVm = getApp().$vm; if (!appVm.$t || !appVm.$i18n) { t = function(key2, values2) { return i18n2.t(key2, values2); }; } else { initLocaleWatcher(appVm, i18n2); t = function(key2, values2) { const $i18n = appVm.$i18n; const silentTranslationWarn = $i18n.silentTranslationWarn; $i18n.silentTranslationWarn = true; const msg = appVm.$t(key2, values2); $i18n.silentTranslationWarn = silentTranslationWarn; if (msg !== key2) { return msg; } return i18n2.t(key2, $i18n.locale, values2); }; } } return t(key, values); }; return { i18n: i18n2, t(key, values) { return t(key, values); }, add(locale2, message) { return i18n2.add(locale2, message); }, getLocale() { return i18n2.getLocale(); }, setLocale(newLocale) { return i18n2.setLocale(newLocale); } }; } let i18n; function useI18n() { if (!i18n) { let language; { { language = navigator.language; } } i18n = initVueI18n(language); } return i18n; } const E = function() { }; E.prototype = { on: function(name, callback, ctx) { var e = this.e || (this.e = {}); (e[name] || (e[name] = [])).push({ fn: callback, ctx }); return this; }, once: function(name, callback, ctx) { var self2 = this; function listener() { self2.off(name, listener); callback.apply(ctx, arguments); } listener._ = callback; return this.on(name, listener, ctx); }, emit: function(name) { var data = [].slice.call(arguments, 1); var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); var i = 0; var len = evtArr.length; for (i; i < len; i++) { evtArr[i].fn.apply(evtArr[i].ctx, data); } return this; }, off: function(name, callback) { var e = this.e || (this.e = {}); var evts = e[name]; var liveEvents = []; if (evts && callback) { for (var i = 0, len = evts.length; i < len; i++) { if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]); } } liveEvents.length ? e[name] = liveEvents : delete e[name]; return this; } }; function initBridge(subscribeNamespace) { const emitter = new E(); return { on(event, callback) { return emitter.on(event, callback); }, once(event, callback) { return emitter.once(event, callback); }, off(event, callback) { return emitter.off(event, callback); }, emit(event, ...args) { return emitter.emit(event, ...args); }, subscribe(event, callback, once = false) { emitter[once ? "once" : "on"](`${subscribeNamespace}.${event}`, callback); }, unsubscribe(event, callback) { emitter.off(`${subscribeNamespace}.${event}`, callback); }, subscribeHandler(event, args, pageId) { { console.log(`[subscribeHandler][${Date.now()}]:${subscribeNamespace}.${event}, ${JSON.stringify(args)}, ${pageId}`); } emitter.emit(`${subscribeNamespace}.${event}`, args, pageId); } }; } const ViewJSBridge = /* @__PURE__ */ initBridge("service"); function PolySymbol(name) { return Symbol("[uni-app]: " + name); } function hasRpx(str) { return str.indexOf("rpx") !== -1 || str.indexOf("upx") !== -1; } function rpx2px(str, replace = false) { if (replace) { return rpx2pxWithReplace(str); } if (typeof str === "string") { const res = parseInt(str) || 0; if (hasRpx(str)) { return uni.upx2px(res); } return res; } return str; } function rpx2pxWithReplace(str) { if (!hasRpx(str)) { return str; } return str.replace(/(\d+(\.\d+)?)[ru]px/g, (_a, b) => { return uni.upx2px(parseFloat(b)) + "px"; }); } const ICON_PATH_CANCEL = "M20.928 10.176l-4.928 4.928-4.928-4.928-0.896 0.896 4.928 4.928-4.928 4.928 0.896 0.896 4.928-4.928 4.928 4.928 0.896-0.896-4.928-4.928 4.928-4.928-0.896-0.896zM16 2.080q-3.776 0-7.040 1.888-3.136 1.856-4.992 4.992-1.888 3.264-1.888 7.040t1.888 7.040q1.856 3.136 4.992 4.992 3.264 1.888 7.040 1.888t7.040-1.888q3.136-1.856 4.992-4.992 1.888-3.264 1.888-7.040t-1.888-7.040q-1.856-3.136-4.992-4.992-3.264-1.888-7.040-1.888zM16 28.64q-3.424 0-6.4-1.728-2.848-1.664-4.512-4.512-1.728-2.976-1.728-6.4t1.728-6.4q1.664-2.848 4.512-4.512 2.976-1.728 6.4-1.728t6.4 1.728q2.848 1.664 4.512 4.512 1.728 2.976 1.728 6.4t-1.728 6.4q-1.664 2.848-4.512 4.512-2.976 1.728-6.4 1.728z"; const ICON_PATH_CLEAR = "M16 0q-4.352 0-8.064 2.176-3.616 2.144-5.76 5.76-2.176 3.712-2.176 8.064t2.176 8.064q2.144 3.616 5.76 5.76 3.712 2.176 8.064 2.176t8.064-2.176q3.616-2.144 5.76-5.76 2.176-3.712 2.176-8.064t-2.176-8.064q-2.144-3.616-5.76-5.76-3.712-2.176-8.064-2.176zM22.688 21.408q0.32 0.32 0.304 0.752t-0.336 0.736-0.752 0.304-0.752-0.32l-5.184-5.376-5.376 5.184q-0.32 0.32-0.752 0.304t-0.736-0.336-0.304-0.752 0.32-0.752l5.376-5.184-5.184-5.376q-0.32-0.32-0.304-0.752t0.336-0.752 0.752-0.304 0.752 0.336l5.184 5.376 5.376-5.184q0.32-0.32 0.752-0.304t0.752 0.336 0.304 0.752-0.336 0.752l-5.376 5.184 5.184 5.376z"; const ICON_PATH_DOWNLOAD = "M15.808 1.696q-3.776 0-7.072 1.984-3.2 1.888-5.088 5.152-1.952 3.392-1.952 7.36 0 3.776 1.952 7.072 1.888 3.2 5.088 5.088 3.296 1.952 7.072 1.952 3.968 0 7.36-1.952 3.264-1.888 5.152-5.088 1.984-3.296 1.984-7.072 0-4-1.984-7.36-1.888-3.264-5.152-5.152-3.36-1.984-7.36-1.984zM20.864 18.592l-3.776 4.928q-0.448 0.576-1.088 0.576t-1.088-0.576l-3.776-4.928q-0.448-0.576-0.24-0.992t0.944-0.416h2.976v-8.928q0-0.256 0.176-0.432t0.4-0.176h1.216q0.224 0 0.4 0.176t0.176 0.432v8.928h2.976q0.736 0 0.944 0.416t-0.24 0.992z"; const ICON_PATH_INFO = "M15.808 0.128q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.176 3.776-2.176 8.16 0 4.224 2.176 7.872 2.080 3.552 5.632 5.632 3.648 2.176 7.872 2.176 4.384 0 8.16-2.176 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.416-2.176-8.16-2.112-3.616-5.728-5.728-3.744-2.176-8.16-2.176zM16.864 23.776q0 0.064-0.064 0.064h-1.568q-0.096 0-0.096-0.064l-0.256-11.328q0-0.064 0.064-0.064h2.112q0.096 0 0.064 0.064l-0.256 11.328zM16 10.88q-0.576 0-0.976-0.4t-0.4-0.96 0.4-0.96 0.976-0.4 0.976 0.4 0.4 0.96-0.4 0.96-0.976 0.4z"; const ICON_PATH_SEARCH = "M20.928 22.688q-1.696 1.376-3.744 2.112-2.112 0.768-4.384 0.768-3.488 0-6.464-1.728-2.88-1.696-4.576-4.608-1.76-2.976-1.76-6.464t1.76-6.464q1.696-2.88 4.576-4.576 2.976-1.76 6.464-1.76t6.464 1.76q2.912 1.696 4.608 4.576 1.728 2.976 1.728 6.464 0 2.272-0.768 4.384-0.736 2.048-2.112 3.744l9.312 9.28-1.824 1.824-9.28-9.312zM12.8 23.008q2.784 0 5.184-1.376 2.304-1.376 3.68-3.68 1.376-2.4 1.376-5.184t-1.376-5.152q-1.376-2.336-3.68-3.68-2.4-1.408-5.184-1.408t-5.152 1.408q-2.336 1.344-3.68 3.68-1.408 2.368-1.408 5.152t1.408 5.184q1.344 2.304 3.68 3.68 2.368 1.376 5.152 1.376zM12.8 23.008v0z"; const ICON_PATH_SUCCESS_NO_CIRCLE = "M1.952 18.080q-0.32-0.352-0.416-0.88t0.128-0.976l0.16-0.352q0.224-0.416 0.64-0.528t0.8 0.176l6.496 4.704q0.384 0.288 0.912 0.272t0.88-0.336l17.312-14.272q0.352-0.288 0.848-0.256t0.848 0.352l-0.416-0.416q0.32 0.352 0.32 0.816t-0.32 0.816l-18.656 18.912q-0.32 0.352-0.8 0.352t-0.8-0.32l-7.936-8.064z"; const ICON_PATH_SUCCESS = "M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM24.832 11.328l-11.264 11.104q-0.032 0.032-0.112 0.032t-0.112-0.032l-5.216-5.376q-0.096-0.128 0-0.288l0.704-0.96q0.032-0.064 0.112-0.064t0.112 0.032l4.256 3.264q0.064 0.032 0.144 0.032t0.112-0.032l10.336-8.608q0.064-0.064 0.144-0.064t0.112 0.064l0.672 0.672q0.128 0.128 0 0.224z"; const ICON_PATH_WAITING = "M15.84 0.096q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM23.008 21.92l-0.512 0.896q-0.096 0.128-0.224 0.064l-8-3.808q-0.096-0.064-0.16-0.128-0.128-0.096-0.128-0.288l0.512-12.096q0-0.064 0.048-0.112t0.112-0.048h1.376q0.064 0 0.112 0.048t0.048 0.112l0.448 10.848 6.304 4.256q0.064 0.064 0.080 0.128t-0.016 0.128z"; const ICON_PATH_WARN = "M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM15.136 8.672h1.728q0.128 0 0.224 0.096t0.096 0.256l-0.384 10.24q0 0.064-0.048 0.112t-0.112 0.048h-1.248q-0.096 0-0.144-0.048t-0.048-0.112l-0.384-10.24q0-0.16 0.096-0.256t0.224-0.096zM16 23.328q-0.48 0-0.832-0.352t-0.352-0.848 0.352-0.848 0.832-0.352 0.832 0.352 0.352 0.848-0.352 0.848-0.832 0.352z"; function createSvgIconVNode(path, color = "#000", size2 = 27) { return createVNode("svg", { width: size2, height: size2, viewBox: "0 0 32 32" }, [ createVNode("path", { d: path, fill: color }, null, 8, ["d", "fill"]) ], 8, ["width", "height"]); } function useCurrentPageId() { return getCurrentInstance().root.proxy.$page.id; } function getRealRoute(fromRoute, toRoute) { if (toRoute.indexOf("/") === 0) { return toRoute; } if (toRoute.indexOf("./") === 0) { return getRealRoute(fromRoute, toRoute.substr(2)); } const toRouteArray = toRoute.split("/"); const toRouteLength = toRouteArray.length; let i = 0; for (; i < toRouteLength && toRouteArray[i] === ".."; i++) { } toRouteArray.splice(0, i); toRoute = toRouteArray.join("/"); const fromRouteArray = fromRoute.length > 0 ? fromRoute.split("/") : []; fromRouteArray.splice(fromRouteArray.length - i - 1, i + 1); return "/" + fromRouteArray.concat(toRouteArray).join("/"); } function converPx(value) { if (/^-?\d+[ur]px$/i.test(value)) { return value.replace(/(^-?\d+)[ur]px$/i, (text, num) => { return `${uni.upx2px(parseFloat(num))}px`; }); } else if (/^-?[\d\.]+$/.test(value)) { return `${value}px`; } return value || ""; } function converType(type) { return type.replace(/[A-Z]/g, (text) => { return `-${text.toLowerCase()}`; }).replace("webkit", "-webkit"); } function getStyle(action) { const animateTypes1 = [ "matrix", "matrix3d", "scale", "scale3d", "rotate3d", "skew", "translate", "translate3d" ]; const animateTypes2 = [ "scaleX", "scaleY", "scaleZ", "rotate", "rotateX", "rotateY", "rotateZ", "skewX", "skewY", "translateX", "translateY", "translateZ" ]; const animateTypes3 = ["opacity", "background-color"]; const animateTypes4 = ["width", "height", "left", "right", "top", "bottom"]; const animates = action.animates; const option = action.option; const transition = option.transition; const style = {}; const transform = []; animates.forEach((animate) => { let type = animate.type; let args = [...animate.args]; if (animateTypes1.concat(animateTypes2).includes(type)) { if (type.startsWith("rotate") || type.startsWith("skew")) { args = args.map((value) => parseFloat(value) + "deg"); } else if (type.startsWith("translate")) { args = args.map(converPx); } if (animateTypes2.indexOf(type) >= 0) { args.length = 1; } transform.push(`${type}(${args.join(",")})`); } else if (animateTypes3.concat(animateTypes4).includes(args[0])) { type = args[0]; const value = args[1]; style[type] = animateTypes4.includes(type) ? converPx(value) : value; } }); style.transform = style.webkitTransform = transform.join(" "); style.transition = style.webkitTransition = Object.keys(style).map((type) => `${converType(type)} ${transition.duration}ms ${transition.timingFunction} ${transition.delay}ms`).join(","); style.transformOrigin = style.webkitTransformOrigin = option.transformOrigin; return style; } function startAnimation(context) { const animation2 = context.animation; if (!animation2 || !animation2.actions || !animation2.actions.length) { return; } let index = 0; const actions = animation2.actions; const length = animation2.actions.length; function animate() { const action = actions[index]; const transition = action.option.transition; const style = getStyle(action); Object.keys(style).forEach((key) => { context.$el.style[key] = style[key]; }); index += 1; if (index < length) { setTimeout(animate, transition.duration + transition.delay); } } setTimeout(() => { animate(); }, 0); } var animation = { props: ["animation"], watch: { animation: { deep: true, handler() { startAnimation(this); } } }, mounted() { startAnimation(this); } }; const defineBuiltInComponent = (options) => { const { props: props2, mixins } = options; if (!props2 || !props2.animation) { (mixins || (options.mixins = [])).push(animation); } return defineSystemComponent(options); }; const defineSystemComponent = (options) => { options.compatConfig = { MODE: 3 }; return defineComponent(options); }; const hoverProps = { hoverClass: { type: String, default: "none" }, hoverStopPropagation: { type: Boolean, default: false }, hoverStartTime: { type: [Number, String], default: 50 }, hoverStayTime: { type: [Number, String], default: 400 } }; function useHover(props2) { const hovering = ref(false); let hoverTouch = false; let hoverStartTimer; let hoverStayTimer; function hoverReset() { requestAnimationFrame(() => { clearTimeout(hoverStayTimer); hoverStayTimer = setTimeout(() => { hovering.value = false; }, parseInt(props2.hoverStayTime)); }); } function onTouchstartPassive(evt) { if (evt._hoverPropagationStopped) { return; } if (!props2.hoverClass || props2.hoverClass === "none" || props2.disabled) { return; } if (evt.touches.length > 1) { return; } if (props2.hoverStopPropagation) { evt._hoverPropagationStopped = true; } hoverTouch = true; hoverStartTimer = setTimeout(() => { hovering.value = true; if (!hoverTouch) { hoverReset(); } }, parseInt(props2.hoverStartTime)); } function onTouchend() { hoverTouch = false; if (hovering.value) { hoverReset(); } } function onTouchcancel() { hoverTouch = false; hovering.value = false; clearTimeout(hoverStartTimer); } return { hovering, binding: { onTouchstartPassive, onTouchend, onTouchcancel } }; } function useBooleanAttr(props2, keys) { if (isString(keys)) { keys = [keys]; } return keys.reduce((res, key) => { if (props2[key]) { res[key] = true; } return res; }, Object.create(null)); } function withWebEvent(fn) { return fn.__wwe = true, fn; } function useCustomEvent(ref2, emit2) { return (name, evt, detail) => { if (ref2.value) { emit2(name, normalizeCustomEvent(name, evt, ref2.value, detail || {})); } }; } function normalizeCustomEvent(name, domEvt, el, detail) { const target = normalizeTarget(el); return { type: detail.type || name, timeStamp: domEvt.timeStamp || 0, target, currentTarget: target, detail }; } const uniFormKey = PolySymbol("uniForm"); const uniLabelKey = PolySymbol("uniLabel"); function useListeners(props2, listeners) { _addListeners(props2.id, listeners); watch(() => props2.id, (newId, oldId) => { _removeListeners(oldId, listeners, true); _addListeners(newId, listeners, true); }); onUnmounted(() => { _removeListeners(props2.id, listeners); }); } function _addListeners(id, listeners, watch2) { const pageId = useCurrentPageId(); if (watch2 && !id) { return; } if (!isPlainObject(listeners)) { return; } Object.keys(listeners).forEach((name) => { if (watch2) { if (name.indexOf("@") !== 0 && name.indexOf("uni-") !== 0) { UniViewJSBridge.on(`uni-${name}-${pageId}-${id}`, listeners[name]); } } else { if (name.indexOf("uni-") === 0) { UniViewJSBridge.on(name, listeners[name]); } else if (id) { UniViewJSBridge.on(`uni-${name}-${pageId}-${id}`, listeners[name]); } } }); } function _removeListeners(id, listeners, watch2) { const pageId = useCurrentPageId(); if (watch2 && !id) { return; } if (!isPlainObject(listeners)) { return; } Object.keys(listeners).forEach((name) => { if (watch2) { if (name.indexOf("@") !== 0 && name.indexOf("uni-") !== 0) { UniViewJSBridge.off(`uni-${name}-${pageId}-${id}`, listeners[name]); } } else { if (name.indexOf("uni-") === 0) { UniViewJSBridge.off(name, listeners[name]); } else if (id) { UniViewJSBridge.off(`uni-${name}-${pageId}-${id}`, listeners[name]); } } }); } var Button = /* @__PURE__ */ defineBuiltInComponent({ name: "Button", props: { id: { type: String, default: "" }, hoverClass: { type: String, default: "button-hover" }, hoverStartTime: { type: [Number, String], default: 20 }, hoverStayTime: { type: [Number, String], default: 70 }, hoverStopPropagation: { type: Boolean, default: false }, disabled: { type: [Boolean, String], default: false }, formType: { type: String, default: "" }, openType: { type: String, default: "" }, loading: { type: [Boolean, String], default: false } }, setup(props2, { slots }) { const rootRef = ref(null); const uniForm = inject(uniFormKey, false); const { hovering, binding } = useHover(props2); useI18n(); const onClick = withWebEvent((e, isLabelClick) => { if (props2.disabled) { return e.stopImmediatePropagation(); } if (isLabelClick) { rootRef.value.click(); } const formType = props2.formType; if (formType) { if (!uniForm) { return; } if (formType === "submit") { uniForm.submit(); } else if (formType === "reset") { uniForm.reset(); } return; } }); const uniLabel = inject(uniLabelKey, false); if (uniLabel) { uniLabel.addHandler(onClick); onBeforeUnmount(() => { uniLabel.removeHandler(onClick); }); } useListeners(props2, { "label-click": onClick }); return () => { const hoverClass = props2.hoverClass; const booleanAttrs = useBooleanAttr(props2, "disabled"); const loadingAttrs = useBooleanAttr(props2, "loading"); const hasHoverClass = hoverClass && hoverClass !== "none"; return createVNode("uni-button", mergeProps({ "ref": rootRef, "onClick": onClick, "class": hasHoverClass && hovering.value ? hoverClass : "" }, hasHoverClass && binding, booleanAttrs, loadingAttrs), { default: () => [slots.default && slots.default()] }, 16, ["onClick", "class"]); }; } }); function getRealPath(filepath) { if (filepath.indexOf("//") === 0) { return "https:" + filepath; } if (SCHEME_RE.test(filepath) || DATA_RE.test(filepath)) { return filepath; } if (isSystemURL(filepath)) { return "file://" + normalizeLocalPath(filepath); } const wwwPath = "file://" + normalizeLocalPath("_www"); if (filepath.indexOf("/") === 0) { if (filepath.startsWith("/storage/") || filepath.includes("/Containers/Data/Application/")) { return "file://" + filepath; } return wwwPath + filepath; } if (filepath.indexOf("../") === 0 || filepath.indexOf("./") === 0) { if (typeof __id__ === "string") { return wwwPath + getRealRoute("/" + __id__, filepath); } else { const pages = getCurrentPages(); if (pages.length) { return wwwPath + getRealRoute("/" + pages[pages.length - 1].route, filepath); } } } return filepath; } const normalizeLocalPath = cacheStringFunction((filepath) => { return plus.io.convertLocalFileSystemURL(filepath).replace(/^\/?apps\//, "/android_asset/apps/").replace(/\/$/, ""); }); function isSystemURL(filepath) { if (filepath.indexOf("_www") === 0 || filepath.indexOf("_doc") === 0 || filepath.indexOf("_documents") === 0 || filepath.indexOf("_downloads") === 0) { return true; } return false; } var ResizeSensor = /* @__PURE__ */ defineBuiltInComponent({ name: "ResizeSensor", props: { initial: { type: Boolean, default: false } }, emits: ["resize"], setup(props2, { emit: emit2 }) { const rootRef = ref(null); const reset2 = useResizeSensorReset(rootRef); const update = useResizeSensorUpdate(rootRef, emit2, reset2); useResizeSensorLifecycle(rootRef, props2, update, reset2); return () => createVNode("uni-resize-sensor", { "ref": rootRef, "onAnimationstartOnce": update }, { default: () => [createVNode("div", { "onScroll": update }, [createVNode("div", null, null)], 40, ["onScroll"]), createVNode("div", { "onScroll": update }, [createVNode("div", null, null)], 40, ["onScroll"])], _: 1 }, 8, ["onAnimationstartOnce"]); } }); function useResizeSensorUpdate(rootRef, emit2, reset2) { const size2 = reactive({ width: -1, height: -1 }); watch(() => extend({}, size2), (value) => emit2("resize", value)); return () => { const rootEl = rootRef.value; size2.width = rootEl.offsetWidth; size2.height = rootEl.offsetHeight; reset2(); }; } function useResizeSensorReset(rootRef) { return () => { const { firstElementChild, lastElementChild } = rootRef.value; firstElementChild.scrollLeft = 1e5; firstElementChild.scrollTop = 1e5; lastElementChild.scrollLeft = 1e5; lastElementChild.scrollTop = 1e5; }; } function useResizeSensorLifecycle(rootRef, props2, update, reset2) { onActivated(reset2); onMounted(() => { if (props2.initial) { nextTick(update); } const rootEl = rootRef.value; if (rootEl.offsetParent !== rootEl.parentElement) { rootEl.parentElement.style.position = "relative"; } if (!("AnimationEvent" in window)) { reset2(); } }); } const INFO_COLOR = "#10aeff"; const WARN_COLOR = "#f76260"; const GREY_COLOR = "#b2b2b2"; const CANCEL_COLOR = "#f43530"; const ICONS = { success: { d: ICON_PATH_SUCCESS, c: PRIMARY_COLOR }, success_no_circle: { d: ICON_PATH_SUCCESS_NO_CIRCLE, c: PRIMARY_COLOR }, info: { d: ICON_PATH_INFO, c: INFO_COLOR }, warn: { d: ICON_PATH_WARN, c: WARN_COLOR }, waiting: { d: ICON_PATH_WAITING, c: INFO_COLOR }, cancel: { d: ICON_PATH_CANCEL, c: CANCEL_COLOR }, download: { d: ICON_PATH_DOWNLOAD, c: PRIMARY_COLOR }, search: { d: ICON_PATH_SEARCH, c: GREY_COLOR }, clear: { d: ICON_PATH_CLEAR, c: GREY_COLOR } }; var Icon = /* @__PURE__ */ defineBuiltInComponent({ name: "Icon", props: { type: { type: String, required: true, default: "" }, size: { type: [String, Number], default: 23 }, color: { type: String, default: "" } }, setup(props2) { const path = computed$1(() => ICONS[props2.type]); return () => { const { value } = path; return createVNode("uni-icon", null, { default: () => [value && value.d && createSvgIconVNode(value.d, props2.color || value.c, rpx2px(props2.size))] }); }; } }); const props = { src: { type: String, default: "" }, mode: { type: String, default: "scaleToFill" }, lazyLoad: { type: [Boolean, String], default: false }, draggable: { type: Boolean, default: true } }; const FIX_MODES = { widthFix: ["offsetWidth", "height"], heightFix: ["offsetHeight", "width"] }; const IMAGE_MODES = { aspectFit: ["center center", "contain"], aspectFill: ["center center", "cover"], widthFix: [, "100% 100%"], heightFix: [, "100% 100%"], top: ["center top"], bottom: ["center bottom"], center: ["center center"], left: ["left center"], right: ["right center"], "top left": ["left top"], "top right": ["right top"], "bottom left": ["left bottom"], "bottom right": ["right bottom"] }; var Image$1 = /* @__PURE__ */ defineBuiltInComponent({ name: "Image", props, setup(props2, { emit: emit2 }) { const rootRef = ref(null); const state = useImageState(rootRef, props2); const trigger2 = useCustomEvent(rootRef, emit2); const { fixSize } = useImageSize(rootRef, props2, state); useImageLoader(state, { trigger: trigger2, fixSize }); return () => { const { mode } = props2; const { imgSrc, modeStyle } = state; return createVNode("uni-image", { "ref": rootRef }, { default: () => [createVNode("div", { "style": modeStyle }, null, 4), imgSrc ? createVNode("img", { "src": imgSrc, "draggable": props2.draggable }, null, 8, ["src", "draggable"]) : createVNode("img", null, null), FIX_MODES[mode] ? createVNode(ResizeSensor, { "onResize": fixSize }, null, 8, ["onResize"]) : createVNode("span", null, null)], _: 1 }, 512); }; } }); function useImageState(rootRef, props2) { const imgSrc = ref(""); const modeStyleRef = computed$1(() => { let size2 = "auto"; let position = ""; const opts = IMAGE_MODES[props2.mode]; if (!opts) { position = "0% 0%"; size2 = "100% 100%"; } else { opts[0] && (position = opts[0]); opts[1] && (size2 = opts[1]); } const srcVal = imgSrc.value; return `background-image:${srcVal ? 'url("' + srcVal + '")' : "none"};background-position:${position};background-size:${size2};background-repeat:no-repeat;`; }); const state = reactive({ rootEl: rootRef, src: computed$1(() => props2.src ? getRealPath(props2.src) : ""), origWidth: 0, origHeight: 0, origStyle: { width: "", height: "" }, modeStyle: modeStyleRef, imgSrc }); onMounted(() => { const rootEl = rootRef.value; const style = rootEl.style; state.origWidth = Number(style.width) || 0; state.origHeight = Number(style.height) || 0; }); return state; } function useImageLoader(state, { trigger: trigger2, fixSize }) { let img; const setState = (width = 0, height = 0, imgSrc = "") => { state.origWidth = width; state.origHeight = height; state.imgSrc = imgSrc; }; const loadImage = (src) => { if (!src) { resetImage(); setState(); return; } if (!img) { img = new Image(); } img.onload = (evt) => { const { width, height } = img; setState(width, height, src); fixSize(); resetImage(); trigger2("load", evt, { width, height }); }; img.onerror = (evt) => { setState(); resetImage(); trigger2("error", evt, { errMsg: `GET ${state.src} 404 (Not Found)` }); }; img.src = src; }; const resetImage = () => { if (img) { img.onload = null; img.onerror = null; img = null; } }; watch(() => state.src, (value) => loadImage(value)); onMounted(() => loadImage(state.src)); onBeforeUnmount(() => resetImage()); } const isChrome = navigator.vendor === "Google Inc."; function fixNumber(num) { if (isChrome && num > 10) { num = Math.round(num / 2) * 2; } return num; } function useImageSize(rootRef, props2, state) { const fixSize = () => { const { mode } = props2; const names = FIX_MODES[mode]; if (!names) { return; } const { origWidth, origHeight } = state; const ratio = origWidth && origHeight ? origWidth / origHeight : 0; if (!ratio) { return; } const rootEl = rootRef.value; const value = rootEl[names[0]]; if (value) { rootEl.style[names[1]] = fixNumber(value / ratio) + "px"; } }; const resetSize = () => { const { style } = rootRef.value; const { origStyle: { width, height } } = state; style.width = width; style.height = height; }; watch(() => props2.mode, (value, oldValue) => { if (FIX_MODES[oldValue]) { resetSize(); } if (FIX_MODES[value]) { fixSize(); } }); return { fixSize, resetSize }; } function _isSlot(s) { return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s); } const SPACE_UNICODE = { ensp: "\u2002", emsp: "\u2003", nbsp: "\xA0" }; function normalizeText(text, { space, decode }) { if (space && SPACE_UNICODE[space]) { text = text.replace(/ /g, SPACE_UNICODE[space]); } if (!decode) { return text; } return text.replace(/ /g, SPACE_UNICODE.nbsp).replace(/ /g, SPACE_UNICODE.ensp).replace(/ /g, SPACE_UNICODE.emsp).replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&").replace(/"/g, '"').replace(/'/g, "'"); } var Text = /* @__PURE__ */ defineBuiltInComponent({ name: "Text", props: { selectable: { type: [Boolean, String], default: false }, space: { type: String, default: "" }, decode: { type: [Boolean, String], default: false } }, setup(props2, { slots }) { return () => { let _slot; const children = []; if (slots.default) { slots.default().forEach((vnode) => { if (vnode.shapeFlag & 8) { const lines = vnode.children.replace(/\\n/g, "\n").split("\n"); const len = lines.length - 1; lines.forEach((text, index) => { if (index === 0 && !text) ; else { children.push(createTextVNode(normalizeText(text, { space: props2.space, decode: props2.decode }))); } if (index !== len) { children.push(createVNode("br")); } }); } else { if (vnode.shapeFlag & 6 && vnode.type.name !== "Text") { console.warn("Do not nest other components in the text component, as there may be display differences on different platforms."); } children.push(vnode); } }); } return createVNode("uni-text", { "selectable": props2.selectable ? true : null }, _isSlot(_slot = createVNode("span", null, children)) ? _slot : { default: () => [_slot], _: 1 }, 8, ["selectable"]); }; } }); var View = /* @__PURE__ */ defineBuiltInComponent({ name: "View", props: extend({}, hoverProps), setup(props2, { slots }) { const { hovering, binding } = useHover(props2); return () => { const hoverClass = props2.hoverClass; if (hoverClass && hoverClass !== "none") { return createVNode("uni-view", mergeProps({ "class": hovering.value ? hoverClass : "" }, binding), { default: () => [slots.default && slots.default()] }, 16, ["class"]); } return createVNode("uni-view", null, { default: () => [slots.default && slots.default()] }); }; } }); const { customElements } = window; customElements.define("v-uni-button", wrapper(Button, createApp, h)); customElements.define("v-uni-icon", wrapper(Icon, createApp, h)); customElements.define("v-uni-image", wrapper(Image$1, createApp, h)); customElements.define("v-uni-text", wrapper(Text, createApp, h)); customElements.define("v-uni-view", wrapper(View, createApp, h)); const ON_WEBVIEW_READY = "onWebviewReady"; const APP_SERVICE_ID = "__uniapp__service"; const UniViewJSBridge$1 = /* @__PURE__ */ extend(ViewJSBridge, { publishHandler }); function publishHandler(event, args = {}) { const pageId = plus.webview.currentWebview().id; { console.log(`[VIEW][${Date.now()}]:`, event, args, pageId); } plus.webview.postMessageToUniNView({ type: "subscribeHandler", args: { type: event, data: args, pageId } }, APP_SERVICE_ID); } window.UniViewJSBridge = UniViewJSBridge$1; function onWebviewReady() { UniViewJSBridge$1.publishHandler(ON_WEBVIEW_READY); } if (typeof plus !== "undefined") { onWebviewReady(); } else { document.addEventListener("plusready", onWebviewReady); } });