!(function (e, t) { "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : ((e || self)._hyperscript = t()); })(this, function () { function e(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; (r.enumerable = r.enumerable || !1), (r.configurable = !0), "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r); } } function t(t, n, r) { return n && e(t.prototype, n), r && e(t, r), t; } function n(e, t) { (e.prototype = Object.create(t.prototype)), (e.prototype.constructor = e), o(e, t); } function r(e) { return ( (r = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e); }), r(e) ); } function o(e, t) { return ( (o = Object.setPrototypeOf || function (e, t) { return (e.__proto__ = t), e; }), o(e, t) ); } function i() { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return ( Boolean.prototype.valueOf.call( Reflect.construct(Boolean, [], function () {}) ), !0 ); } catch (e) { return !1; } } function a(e, t, n) { return ( (a = i() ? Reflect.construct : function (e, t, n) { var r = [null]; r.push.apply(r, t); var i = new (Function.bind.apply(e, r))(); return n && o(i, n.prototype), i; }), a.apply(null, arguments) ); } function u(e) { var t = "function" == typeof Map ? new Map() : void 0; return ( (u = function (e) { if ( null === e || -1 === Function.toString.call(e).indexOf("[native code]") ) return e; if ("function" != typeof e) throw new TypeError( "Super expression must either be null or a function" ); if (void 0 !== t) { if (t.has(e)) return t.get(e); t.set(e, n); } function n() { return a(e, arguments, r(this).constructor); } return ( (n.prototype = Object.create(e.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0, }, })), o(n, e) ); }), u(e) ); } function s(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]; return r; } function l(e, t) { var n = ("undefined" != typeof Symbol && e[Symbol.iterator]) || e["@@iterator"]; if (n) return (n = n.call(e)).next.bind(n); if ( Array.isArray(e) || (n = (function (e, t) { if (e) { if ("string" == typeof e) return s(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return ( "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? s(e, t) : void 0 ); } })(e)) || (t && e && "number" == typeof e.length) ) { n && (e = n); var r = 0; return function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }; }; } throw new TypeError( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ); } function c(e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); return e; } function f(e, t) { var n = e[t]; if (n) return n; var r = {}; return (e[t] = r), r; } function m(e, t) { return new (e.bind.apply(e, [e].concat(t)))(); } var p, d = globalThis, h = (function (e) { function n(e, t, n) { (this._css = e), (this.relativeToElement = t), (this.escape = n); } var r = n.prototype; return ( (r.contains = function (e) { for (var t, n = l(this); !(t = n()).done; ) if (t.value.contains(e)) return !0; return !1; }), (r[e] = function () { return this.selectMatches()[Symbol.iterator](); }), (r.selectMatches = function () { return T.getRootNode(this.relativeToElement).querySelectorAll( this.css ); }), t(n, [ { key: "css", get: function () { return this.escape ? T.escapeSelector(this._css) : this._css; }, }, { key: "className", get: function () { return this._css.substr(1); }, }, { key: "id", get: function () { return this.className(); }, }, { key: "length", get: function () { return this.selectMatches().length; }, }, ]), n ); })(Symbol.iterator), v = (function () { var e = { "+": "PLUS", "-": "MINUS", "*": "MULTIPLY", "/": "DIVIDE", ".": "PERIOD", "..": "ELLIPSIS", "\\": "BACKSLASH", ":": "COLON", "%": "PERCENT", "|": "PIPE", "!": "EXCLAMATION", "?": "QUESTION", "#": "POUND", "&": "AMPERSAND", $: "DOLLAR", ";": "SEMI", ",": "COMMA", "(": "L_PAREN", ")": "R_PAREN", "<": "L_ANG", ">": "R_ANG", "<=": "LTE_ANG", ">=": "GTE_ANG", "==": "EQ", "===": "EQQ", "!=": "NEQ", "!==": "NEQQ", "{": "L_BRACE", "}": "R_BRACE", "[": "L_BRACKET", "]": "R_BRACKET", "=": "EQUALS", }; function t(e) { return a(e) || i(e) || "-" === e || "_" === e || ":" === e; } function n(e) { return a(e) || i(e) || "-" === e || "_" === e || ":" === e; } function r(e) { return " " === e || "\t" === e || o(e); } function o(e) { return "\r" === e || "\n" === e; } function i(e) { return e >= "0" && e <= "9"; } function a(e) { return (e >= "a" && e <= "z") || (e >= "A" && e <= "Z"); } function u(e, t) { return "_" === e || "$" === e; } function s(e, t, n) { o(); var r = null; function o() { for (; "WHITESPACE" === f(0, !0).type; ) t.push(e.shift()); } function i(e, t) { y.raiseParseError(e, t); } function a(e) { if (m() && m().op && m().value === e) return l(); } function u(e, t, n, r) { if (m() && m().type && [e, t, n, r].indexOf(m().type) >= 0) return l(); } function s(e, t) { if (-1 === p.indexOf(e)) return ( (t = t || "IDENTIFIER"), m() && m().value === e && m().type === t ? l() : void 0 ); } function l() { var n = e.shift(); return t.push(n), (r = n), o(), n; } function c(n, r) { for ( var i = [], a = f(0, !0); !( (null != r && a.type === r) || (null != n && a.value === n) || "EOF" === a.type ); ) { var u = e.shift(); t.push(u), i.push(a), (a = f(0, !0)); } return o(), i; } function f(t, n) { var r, o = 0; do { if (!n) for (; e[o] && "WHITESPACE" === e[o].type; ) o++; (r = e[o]), t--, o++; } while (t > -1); return r || { type: "EOF", value: "<<>>" }; } function m() { return f(0); } var p = []; return { pushFollow: function (e) { p.push(e); }, popFollow: function () { p.pop(); }, clearFollow: function () { var e = p; return (p = []), e; }, restoreFollow: function (e) { p = e; }, matchAnyToken: function (e, t, n) { for (var r = 0; r < arguments.length; r++) { var o = arguments[r], i = s(o); if (i) return i; } }, matchAnyOpToken: function (e, t, n) { for (var r = 0; r < arguments.length; r++) { var o = arguments[r], i = a(o); if (i) return i; } }, matchOpToken: a, requireOpToken: function (e) { var t = a(e); if (t) return t; i(this, "Expected '" + e + "' but found '" + m().value + "'"); }, matchTokenType: u, requireTokenType: function (e, t, n, r) { var o = u(e, t, n, r); if (o) return o; i(this, "Expected one of " + JSON.stringify([e, t, n])); }, consumeToken: l, peekToken: function (t, n, r) { return e[n] && e[n].value === t && e[n].type === r; }, matchToken: s, requireToken: function (e, t) { var n = s(e, t); if (n) return n; i(this, "Expected '" + e + "' but found '" + m().value + "'"); }, list: e, consumed: t, source: n, hasMore: function () { return e.length > 0; }, currentToken: m, lastMatch: function () { return r; }, token: f, consumeUntil: c, consumeUntilWhitespace: function () { return c(null, "WHITESPACE"); }, lastWhitespace: function () { return t[t.length - 1] && "WHITESPACE" === t[t.length - 1].type ? t[t.length - 1].value : ""; }, sourceFor: function () { return n.substring(this.startToken.start, this.endToken.end); }, lineFor: function () { return n.split("\n")[this.startToken.line - 1]; }, }; } function l(e) { if (e.length > 0) { var t = e[e.length - 1]; if ( "IDENTIFIER" === t.type || "CLASS_REF" === t.type || "ID_REF" === t.type ) return !1; if (t.op && (">" === t.value || ")" === t.value)) return !1; } return !0; } return { tokenize: function (c, f) { var m, p = [], d = c, h = 0, v = 0, y = 1, E = "", T = 0; function k() { return f && 0 === T; } for (; h < d.length; ) if ("-" !== R() || "-" !== A() || (!r(F()) && "" !== F())) if (r(R())) p.push(_()); else if (M() || "." !== R() || (!a(A()) && "{" !== A())) if (M() || "#" !== R() || (!a(A()) && "{" !== A())) if ("[" === R() && "@" === A()) p.push(w()); else if ("@" === R()) p.push(q()); else if ("*" === R() && a(A())) p.push(S()); else if (a(R()) || (!k() && u(R()))) p.push(L()); else if (i(R())) p.push(C()); else if (k() || ('"' !== R() && "`" !== R())) if (k() || "'" !== R()) { if (e[R()]) "$" === E && "{" === R() && T++, "}" === R() && T--, p.push(O()); else if (k() || "`" === (m = R()) || "^" === m) p.push(g("RESERVED", P())); else if (h < d.length) throw Error("Unknown token: " + R() + " "); } else l(p) ? p.push(I()) : p.push(O()); else p.push(I()); else p.push(N()); else p.push(b()); else x(); return s(p, [], d); function g(e, t) { return { type: e, value: t, start: h, end: h + 1, column: v, line: y, }; } function x() { for (; R() && !o(R()); ) P(); P(); } function b() { var e = g("CLASS_REF"), n = P(); if ("{" === R()) { for (e.template = !0, n += P(); R() && "}" !== R(); ) n += P(); if ("}" !== R()) throw Error("Unterminated class reference"); n += P(); } else for (; t(R()); ) n += P(); return (e.value = n), (e.end = h), e; } function w() { for ( var e = g("ATTRIBUTE_REF"), t = P(); h < d.length && "]" !== R(); ) t += P(); return "]" === R() && (t += P()), (e.value = t), (e.end = h), e; } function q() { for (var e = g("ATTRIBUTE_REF"), t = P(); n(R()); ) t += P(); return (e.value = t), (e.end = h), e; } function S() { for (var e = g("STYLE_REF"), t = P(); a(R()) || "-" === R(); ) t += P(); return (e.value = t), (e.end = h), e; } function N() { var e = g("ID_REF"), t = P(); if ("{" === R()) { for (e.template = !0, t += P(); R() && "}" !== R(); ) t += P(); if ("}" !== R()) throw Error("Unterminated id reference"); P(); } else for (; n(R()); ) t += P(); return (e.value = t), (e.end = h), e; } function L() { for (var e = g("IDENTIFIER"), t = P(); a(R()) || i(R()) || u(R()); ) t += P(); return ( "!" === R() && "beep" === t && (t += P()), (e.value = t), (e.end = h), e ); } function C() { for (var e = g("NUMBER"), t = P(); i(R()); ) t += P(); for ("." === R() && i(A()) && (t += P()); i(R()); ) t += P(); return (e.value = t), (e.end = h), e; } function O() { for ( var t = ((r = void 0), ((r = g(void 0, void 0)).op = !0), r), n = P(); R() && e[n + R()]; ) n += P(); var r; return (t.type = e[n]), (t.value = n), (t.end = h), t; } function I() { for (var e, t = g("STRING"), n = P(), r = ""; R() && R() !== n; ) if ("\\" === R()) { P(); var o = P(); r += "b" === o ? "\b" : "f" === o ? "\f" : "n" === o ? "\n" : "r" === o ? "\r" : "t" === o ? "\t" : "v" === o ? "\v" : o; } else r += P(); if (R() !== n) throw Error( "Unterminated string at [Line: " + (e = t).line + ", Column: " + e.column + "]" ); return P(), (t.value = r), (t.end = h), (t.template = "`" === n), t; } function R() { return d.charAt(h); } function A() { return d.charAt(h + 1); } function F() { return d.charAt(h + 2); } function P() { return (E = R()), h++, v++, E; } function M() { return ( a(E) || i(E) || ")" === E || '"' === E || "'" === E || "`" === E || "}" === E || "]" === E ); } function _() { for (var e = g("WHITESPACE"), t = ""; R() && r(R()); ) o(R()) && ((v = 0), y++), (t += P()); return (e.value = t), (e.end = h), e; } }, makeTokensObject: s, }; })(), y = (function () { var e = {}, t = {}, n = {}, r = [], o = []; function i(e, t, n) { (e.startToken = t), (e.sourceFor = n.sourceFor), (e.lineFor = n.lineFor), (e.programSource = n.source); } function a(t, n, r) { return ( void 0 === r && (r = void 0), (function (r) { var o = e[t]; if (o) { var a = n.currentToken(), u = o(y, T, n, r); if (u) for ( i(u, a, n), u.endToken = u.endToken || n.lastMatch(), r = u.root; null != r; ) i(r, a, n), (r = r.root); return u; } })(r) ); } function u(e, t, n, r) { var o = a(e, t, r); return o || c(t, n || "Expected " + e), o; } function s(e, t) { for (var n = 0; n < e.length; n++) { var r = a(e[n], t); if (r) return r; } } function l(t, n) { e[t] = n; } function c(e, t) { t = (t || "Unexpected Token : " + e.currentToken().value) + "\n\n" + (function (e) { var t = e.currentToken(), n = e.source.split("\n"), r = n[t && t.line ? t.line - 1 : n.length - 1]; return ( r + "\n" + " ".repeat(t && t.line ? t.column : r.length - 1) + "^^\n\n" ); })(e); var n = new Error(t); throw ((n.tokens = e), n); } function f(e) { return t[e.value]; } function m(e) { return n[e.value]; } return ( l("feature", function (e, t, r) { if (r.matchOpToken("(")) { var o = e.requireElement("feature", r); return r.requireOpToken(")"), o; } var i = n[r.currentToken().value]; if (i) return i(e, t, r); }), l("command", function (e, n, r) { if (r.matchOpToken("(")) { var o = e.requireElement("command", r); return r.requireOpToken(")"), o; } var i, a = t[r.currentToken().value]; return ( a ? (i = a(e, n, r)) : "IDENTIFIER" === r.currentToken().type && (i = e.parseElement("pseudoCommand", r)), i ? e.parseElement("indirectStatement", r, i) : i ); }), l("commandList", function (e, t, n) { var r = e.parseElement("command", n); if (r) { n.matchToken("then"); var o = e.parseElement("commandList", n); return o && (r.next = o), r; } }), l("leaf", function (e, t, n) { var o = s(r, n); return null == o ? a("symbol", n) : o; }), l("indirectExpression", function (e, t, n, r) { for (var i = 0; i < o.length; i++) { var a = o[i]; r.endToken = n.lastMatch(); var u = e.parseElement(a, n, r); if (u) return u; } return r; }), l("indirectStatement", function (e, t, n, r) { if (n.matchToken("unless")) { r.endToken = n.lastMatch(); var o = { type: "unlessStatementModifier", args: [e.requireElement("expression", n)], op: function (e, t) { return t ? this.next : r; }, execute: function (e) { return t.unifiedExec(this, e); }, }; return (r.parent = o), o; } return r; }), l("primaryExpression", function (e, t, n) { var r = e.parseElement("leaf", n); if (r) return e.parseElement("indirectExpression", n, r); e.raiseParseError(n, "Unexpected value: " + n.currentToken().value); }), { setParent: function e(t, n) { "object" == typeof t && ((t.parent = n), "object" == typeof n && ((n.children = n.children || new Set()), n.children.add(t)), e(t.next, n)); }, requireElement: u, parseElement: a, featureStart: m, commandStart: f, commandBoundary: function (e) { return !( "end" != e.value && "then" != e.value && "else" != e.value && "otherwise" != e.value && ")" != e.value && !f(e) && !m(e) && "EOF" != e.type ); }, parseAnyOf: s, parseHyperScript: function (e) { var t = a("hyperscript", e); if ((e.hasMore() && c(e), t)) return t; }, raiseParseError: c, addGrammarElement: l, addCommand: function (n, r) { var o = n + "Command", i = function (e, t, n) { var i = r(e, t, n); if (i) return ( (i.type = o), (i.execute = function (e) { return (e.meta.command = i), t.unifiedExec(this, e); }), i ); }; (e[o] = i), (t[n] = i); }, addFeature: function (t, r) { var o = t + "Feature", i = function (e, n, i) { var a = r(e, n, i); if (a) return (a.isFeature = !0), (a.keyword = t), (a.type = o), a; }; (e[o] = i), (n[t] = i); }, addLeafExpression: function (e, t) { r.push(e), l(e, t); }, addIndirectExpression: function (e, t) { o.push(e), l(e, t); }, parseStringTemplate: function (e) { var t = [""]; do { if ( (t.push(e.lastWhitespace()), "$" === e.currentToken().value) ) { e.consumeToken(); var n = e.matchOpToken("{"); t.push(u("expression", e)), n && e.requireOpToken("}"), t.push(""); } else if ("\\" === e.currentToken().value) e.consumeToken(), e.consumeToken(); else { var r = e.consumeToken(); t[t.length - 1] += r ? r.value : ""; } } while (e.hasMore()); return t.push(e.lastWhitespace()), t; }, ensureTerminated: function (e) { for ( var t = { type: "implicitReturn", op: function (e) { return ( (e.meta.returned = !0), e.meta.resolve && e.meta.resolve(), T.HALT ); }, execute: function (e) {}, }, n = e; n.next; ) n = n.next; n.next = t; }, } ); })(), E = { dynamicResolvers: [ function (e, t) { if ("Fixed" === e) return Number(t).toFixed(); if (0 === e.indexOf("Fixed:")) { var n = e.split(":")[1]; return Number(t).toFixed(parseInt(n)); } }, ], String: function (e) { return e.toString ? e.toString() : "" + e; }, Int: function (e) { return parseInt(e); }, Float: function (e) { return parseFloat(e); }, Number: (function (e) { function t(t) { return e.apply(this, arguments); } return ( (t.toString = function () { return e.toString(); }), t ); })(function (e) { return Number(e); }), Date: (function (e) { function t(t) { return e.apply(this, arguments); } return ( (t.toString = function () { return e.toString(); }), t ); })(function (e) { return new Date(e); }), Array: (function (e) { function t(t) { return e.apply(this, arguments); } return ( (t.toString = function () { return e.toString(); }), t ); })(function (e) { return Array.from(e); }), JSON: (function (e) { function t(t) { return e.apply(this, arguments); } return ( (t.toString = function () { return e.toString(); }), t ); })(function (e) { return JSON.stringify(e); }), Object: function (e) { return ( e instanceof String && (e = e.toString()), "string" == typeof e ? JSON.parse(e) : c({}, e) ); }, }, T = (function () { function e(e, t) { var n = e.matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector; return n && n.call(e, t); } function t(e, t, n, r) { (n = n || {}).sender = r; var o = (function (e, t) { var n; return ( d.Event && "function" == typeof d.Event ? ((n = new Event(e, { bubbles: !0, cancelable: !0 })).detail = t) : (n = document.createEvent("CustomEvent")).initCustomEvent( e, !0, !0, t ), n ); })(t, n); return e.dispatchEvent(o); } function r(e) { return ( Array.isArray(e) || ("undefined" != typeof NodeList && (e instanceof NodeList || e instanceof HTMLCollection)) ); } function o(e) { return e instanceof h || r(e); } function i(e, t) { if (null == e); else if ( (function (e) { return ( "object" == typeof e && Symbol.iterator in e && "function" == typeof e[Symbol.iterator] ); })(e) ) for (var n, o = l(e); !(n = o()).done; ) t(n.value); else if (r(e)) for (var i = 0; i < e.length; i++) t(e[i]); else t(e); } function a(e) { for (var t = 0; t < e.length; t++) { var n = e[t]; if ((n.asyncWrapper && (e[t] = n.value), Array.isArray(n))) for (var r = 0; r < n.length; r++) { var o = n[r]; o.asyncWrapper && (n[r] = o.value); } } } var s = {}; function m(e, t) { var n = [t], r = !1, o = !1; if (e.args) for (var i = 0; i < e.args.length; i++) { var u = e.args[i]; if (null == u) n.push(null); else if (Array.isArray(u)) { for (var s = [], l = 0; l < u.length; l++) { var c = u[l]; (f = c ? c.evaluate(t) : null) && (f.then ? (r = !0) : f.asyncWrapper && (o = !0)), s.push(f); } n.push(s); } else if (u.evaluate) { var f; (f = u.evaluate(t)) && (f.then ? (r = !0) : f.asyncWrapper && (o = !0)), n.push(f); } else n.push(u); } return r ? new Promise(function (t, r) { (n = (function (e) { for (var t = [], n = 0; n < e.length; n++) { var r = e[n]; Array.isArray(r) ? t.push(Promise.all(r)) : t.push(r); } return t; })(n)), Promise.all(n) .then(function (n) { o && a(n); try { var i = e.op.apply(e, n); t(i); } catch (e) { r(e); } }) .catch(function (e) { r(e); }); }) : (o && a(n), e.op.apply(e, n)); } var k = null; function g() { return ( null == k && (k = p.config.attributes.replace(/ /g, "").split(",")), k ); } function x(e) { for (var t = 0; t < g().length; t++) { var n = g()[t]; if (e.hasAttribute && e.hasAttribute(n)) return e.getAttribute(n); } return e instanceof HTMLScriptElement && "text/hyperscript" === e.type ? e.innerText : null; } var b = new WeakMap(); function w(e) { var t = b.get(e); return void 0 === t && b.set(e, (t = {})), t; } function q(e, t) { e && (c(t, w(e)), q(e.parentElement, t)); } function S(e, t, n, r) { var o = { meta: { parser: y, lexer: v, runtime: T, owner: e, feature: t, iterators: {}, }, me: n, event: r, target: r ? r.target : null, detail: r ? r.detail : null, sender: r && r.detail ? r.detail.sender : null, body: "document" in d ? document.body : null, }; return (o.meta.ctx = o), q(e, o), o; } function N(e) { var t = v.tokenize(e); if (y.commandStart(t.currentToken())) { var n = y.requireElement("commandList", t); return t.hasMore() && y.raiseParseError(t), y.ensureTerminated(n), n; } if (y.featureStart(t.currentToken())) { var r = y.requireElement("hyperscript", t); return t.hasMore() && y.raiseParseError(t), r; } var o = y.requireElement("expression", t); return t.hasMore() && y.raiseParseError(t), o; } function L(e, n) { if (!e.closest || !e.closest(p.config.disableSelector)) { var r = O(e); if (!r.initialized) { var o = x(e); if (o) try { (r.initialized = !0), (r.script = o); var i = v.tokenize(o), a = y.parseHyperScript(i); if (!a) return; a.apply(n || e, e), setTimeout(function () { t(n || e, "load", { hyperscript: !0 }); }, 1); } catch (t) { T.triggerEvent(e, "exception", { error: t }), console.error( "hyperscript errors were found on the following element:", e, "\n\n", t.message, t.stack ); } } } } var C = new WeakMap(); function O(e) { var t = C.get(e); return void 0 === t && C.set(e, (t = {})), t; } function I(e) { var t = e.meta && e.meta.owner; if (t) { var n = O(t), r = "elementScope"; return ( e.meta.feature && e.meta.feature.behavior && (r = e.meta.feature.behavior + "Scope"), f(n, r) ); } return {}; } function R(e, t, n) { if (null != e) { var r = n(e, t); if (void 0 !== r) return r; if (o(e)) { for (var i, a = [], u = l(e); !(i = u()).done; ) { var s = n(i.value, t); s && a.push(s); } return a; } } } return { typeCheck: function (e, t, n) { return ( !(null != e || !n) || Object.prototype.toString.call(e).slice(8, -1) === t ); }, forEach: i, implicitLoop: function (e, t) { if (o(e)) for (var n, r = l(e); !(n = r()).done; ) t(n.value); else t(e); }, shouldAutoIterate: o, triggerEvent: t, matchesSelector: e, getScript: x, processNode: function (t) { var n = T.getScriptSelector(); e(t, n) && L(t, t), t instanceof HTMLScriptElement && "text/hyperscript" === t.type && L(t, document.body), t.querySelectorAll && i( t.querySelectorAll(n + ", [type='text/hyperscript']"), function (e) { L( e, e instanceof HTMLScriptElement && "text/hyperscript" === e.type ? document.body : e ); } ); }, evaluate: function (e, t, r) { var o = (function (e) { function t(t) { var n; return ((n = e.call(this) || this).module = t), n; } return ( n(t, e), (t.prototype.toString = function () { return this.module.id; }), t ); })(u(EventTarget)), i = "document" in d ? d.document.body : new o(r && r.module); t = c(S(i, null, i, null), t || {}); var a = N(e); return a.execute ? (a.execute(t), t.result) : a.apply ? (a.apply(i, i, r), w(i)) : a.evaluate(t); }, evaluateNoPromise: function (e, t) { var n = e.evaluate(t); if (n.next) throw new Error( e.sourceFor() + " returned a Promise in a context that they are not allowed." ); return n; }, parse: N, getScriptSelector: function () { return g() .map(function (e) { return "[" + e + "]"; }) .join(", "); }, resolveSymbol: function (e, t, n) { if ("me" === e || "my" === e || "I" === e) return t.me; if ("it" === e || "its" === e) return t.result; if ("you" === e || "your" === e || "yourself" === e) return t.beingTold; if ("global" === n) return d[e]; if ("element" === n) return I(t)[e]; if ("local" === n) return t[e]; if (t.meta && t.meta.context) { var r = t.meta.context[e]; if (void 0 !== r) return r; } var o = t[e]; return void 0 !== o || void 0 !== (o = I(t)[e]) ? o : d[e]; }, setSymbol: function (e, t, n, r) { if ("global" === n) d[e] = r; else if ("element" === n) (o = I(t))[e] = r; else if ("local" === n) t[e] = r; else { var o, i = t[e]; void 0 !== i ? (t[e] = r) : void 0 !== (i = (o = I(t))[e]) ? (o[e] = r) : (t[e] = r); } }, makeContext: S, findNext: function e(t, n) { if (t) return t.resolveNext ? t.resolveNext(n) : t.next ? t.next : e(t.parent, n); }, unifiedEval: m, convertValue: function (e, t) { for (var n = E.dynamicResolvers, r = 0; r < n.length; r++) { var o = (0, n[r])(t, e); if (void 0 !== o) return o; } if (null == e) return null; var i = E[t]; if (i) return i(e); throw "Unknown conversion : " + t; }, unifiedExec: function e(t, n) { for (;;) { try { var r = m(t, n); } catch (e) { if (n.meta.handlingFinally) console.error(" Exception in finally block: ", e), (r = s); else { if ( (T.registerHyperTrace(n, e), n.meta.errorHandler && !n.meta.handlingError) ) { (n.meta.handlingError = !0), (n[n.meta.errorSymbol] = e), (t = n.meta.errorHandler); continue; } (n.meta.currentException = e), (r = s); } } if (null == r) return void console.error( t, " did not return a next element to execute! context: ", n ); if (r.then) return void r .then(function (t) { e(t, n); }) .catch(function (t) { e( { op: function () { throw t; }, }, n ); }); if (r === s) { if (!n.meta.finallyHandler || n.meta.handlingFinally) { if ( (n.meta.onHalt && n.meta.onHalt(), n.meta.currentException) ) { if (n.meta.reject) return void n.meta.reject(n.meta.currentException); throw n.meta.currentException; } return; } (n.meta.handlingFinally = !0), (t = n.meta.finallyHandler); } else t = r; } }, resolveProperty: function (e, t) { return R(e, t, function (e, t) { return e[t]; }); }, resolveAttribute: function (e, t) { return R(e, t, function (e, t) { return e.getAttribute && e.getAttribute(t); }); }, resolveStyle: function (e, t) { return R(e, t, function (e, t) { return e.style && e.style[t]; }); }, resolveComputedStyle: function (e, t) { return R(e, t, function (e, t) { return getComputedStyle(e).getPropertyValue(t); }); }, assignToNamespace: function (e, t, n, r) { var o; for ( o = "undefined" != typeof document && e === document.body ? d : w(e); t.length > 0; ) { var i = t.shift(), a = o[i]; null == a && (o[i] = a = {}), (o = a); } o[n] = r; }, registerHyperTrace: function (e, t) { for (var n = [], r = null; null != e; ) n.push(e), (r = e), (e = e.meta.caller); null == r.meta.traceMap && (r.meta.traceMap = new Map()), r.meta.traceMap.get(t) || r.meta.traceMap.set(t, { trace: n, print: function (e) { (e = e || console.error)("hypertrace /// "); for (var t = 0, r = 0; r < n.length; r++) t = Math.max(t, n[r].meta.feature.displayName.length); for (r = 0; r < n.length; r++) { var o = n[r]; e( " ->", o.meta.feature.displayName.padEnd(t + 2), "-", o.meta.owner ); } }, }); }, getHyperTrace: function (e, t) { for (var n = e; n.meta.caller; ) n = n.meta.caller; if (n.meta.traceMap) return n.meta.traceMap.get(t, []); }, getInternalData: O, getHyperscriptFeatures: w, escapeSelector: function (e) { return e.replace(/:/g, function (e) { return "\\" + e; }); }, nullCheck: function (e, t) { if (null == e) throw new Error("'" + t.sourceFor() + "' is null"); }, isEmpty: function (e) { return null == e || 0 === e.length; }, doesExist: function (e) { if (null == e) return !1; if (o(e)) for (var t = l(e); !t().done; ) return !0; return !1; }, getRootNode: function (e) { if (e && e instanceof Node) { var t = e.getRootNode(); if (t instanceof Document || t instanceof ShadowRoot) return t; } return document; }, getEventQueueFor: function (e, t) { var n = O(e), r = n.eventQueues; null == r && ((r = new Map()), (n.eventQueues = r)); var o = r.get(t); return null == o && r.set(t, (o = { queue: [], executing: !1 })), o; }, hyperscriptUrl: "document" in d ? "undefined" == typeof document && "undefined" == typeof location ? new (require("url").URL)("file:" + __filename).href : "undefined" == typeof document ? location.href : (document.currentScript && document.currentScript.src) || new URL("_hyperscript_w9y.min.js", document.baseURI).href : null, HALT: s, }; })(), k = function (e, t, n) { if (t.contains) return t.contains(n); if (t.includes) return t.includes(n); throw Error( "The value of " + e.sourceFor() + " does not have a contains or includes method on it" ); }, g = function (e, t, n) { if (t.match) return !!t.match(n); if (t.matches) return t.matches(n); throw Error( "The value of " + e.sourceFor() + " does not have a match or matches method on it" ); }, x = function (e, t, n, r) { var o = t.requireElement("eventName", r), i = t.parseElement("namedArgumentList", r); if ( ("send" === e && r.matchToken("to")) || ("trigger" === e && r.matchToken("on")) ) var a = t.requireElement("expression", r); else a = t.requireElement("implicitMeTarget", r); var u = { eventName: o, details: i, to: a, args: [a, o, i], op: function (e, t, r, o) { return ( n.nullCheck(t, a), n.forEach(t, function (t) { n.triggerEvent(t, r, o, e.me); }), n.findNext(u, e) ); }, }; return u; }, b = function (e, t) { var n, r = "text"; return ( e.matchToken("a") || e.matchToken("an"), e.matchToken("json") || e.matchToken("Object") ? (r = "json") : e.matchToken("response") ? (r = "response") : e.matchToken("html") ? (r = "html") : e.matchToken("text") || (n = t.requireElement("dotOrColonPath", e).evaluate()), { type: r, conversion: n } ); }; y.addLeafExpression("parenthesized", function (e, t, n) { if (n.matchOpToken("(")) { var r = n.clearFollow(); try { var o = e.requireElement("expression", n); } finally { n.restoreFollow(r); } return n.requireOpToken(")"), o; } }), y.addLeafExpression("string", function (e, t, n) { var r = n.matchTokenType("STRING"); if (r) { var o, i = r.value; if (r.template) { var a = v.tokenize(i, !0); o = e.parseStringTemplate(a); } else o = []; return { type: "string", token: r, args: o, op: function (e) { for (var t = "", n = 1; n < arguments.length; n++) { var r = arguments[n]; void 0 !== r && (t += r); } return t; }, evaluate: function (e) { return 0 === o.length ? i : t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("nakedString", function (e, t, n) { if (n.hasMore()) { var r = n.consumeUntilWhitespace(); return ( n.matchTokenType("WHITESPACE"), { type: "nakedString", tokens: r, evaluate: function (e) { return r .map(function (e) { return e.value; }) .join(""); }, } ); } }), y.addLeafExpression("number", function (e, t, n) { var r = n.matchTokenType("NUMBER"); if (r) { var o = r, i = parseFloat(r.value); return { type: "number", value: i, numberToken: o, evaluate: function () { return i; }, }; } }), y.addLeafExpression("idRef", function (e, t, n) { var r = n.matchTokenType("ID_REF"); if (r) { if (r.template) { var o = r.value.substr(2, r.value.length - 2), i = v.tokenize(o); return { type: "idRefTemplate", args: [e.requireElement("expression", i)], op: function (e, n) { return t.getRootNode(e.me).getElementById(n); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } var a = r.value.substr(1); return { type: "idRef", css: r.value, value: a, evaluate: function (e) { return t.getRootNode(e.me).getElementById(a); }, }; } }), y.addLeafExpression("classRef", function (e, t, n) { var r = n.matchTokenType("CLASS_REF"); if (r) { if (r.template) { var o = r.value.substr(2, r.value.length - 2), i = v.tokenize(o); return { type: "classRefTemplate", args: [e.requireElement("expression", i)], op: function (e, t) { return new h("." + t, e.me, !0); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } var a = r.value; return { type: "classRef", css: a, evaluate: function (e) { return new h(a, e.me, !0); }, }; } }); var w = (function (e, r) { function o(t, n, r) { var o; return ( ((o = e.call(this, t, n) || this).templateParts = r), (o.elements = r.filter(function (e) { return e instanceof Element; })), o ); } return ( n(o, e), (o.prototype[r] = function () { this.elements.forEach(function (e, t) { return (e.dataset.hsQueryId = t); }); var t = e.prototype[Symbol.iterator].call(this); return ( this.elements.forEach(function (e) { return e.removeAttribute("data-hs-query-id"); }), t ); }), t(o, [ { key: "css", get: function () { for ( var e, t = "", n = 0, r = l(this.templateParts); !(e = r()).done; ) { var o = e.value; o instanceof Element ? (t += "[data-hs-query-id='" + n++ + "']") : (t += o); } return t; }, }, ]), o ); })(h, Symbol.iterator); y.addLeafExpression("queryRef", function (e, t, n) { if (n.matchOpToken("<")) { var r = n.consumeUntil("/"); n.requireOpToken("/"), n.requireOpToken(">"); var o = r .map(function (e) { return "STRING" === e.type ? '"' + e.value + '"' : e.value; }) .join(""); if (o.indexOf("$") >= 0) var i = !0, a = v.tokenize(o, !0), u = e.parseStringTemplate(a); return { type: "queryRef", css: o, args: u, op: function (e) { return i ? new w(o, e.me, [].slice.call(arguments, 1)) : new h(o, e.me); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addLeafExpression("attributeRef", function (e, t, n) { var r = n.matchTokenType("ATTRIBUTE_REF"); if (r) { var o = r.value; if (0 === o.indexOf("[")) var i = o.substring(2, o.length - 1); else i = o.substring(1); var a = "[" + i + "]", u = i.split("="), s = u[0], l = u[1]; return ( l && 0 === l.indexOf('"') && (l = l.substring(1, l.length - 1)), { type: "attributeRef", name: s, css: a, value: l, op: function (e) { var t = e.beingTold || e.me; if (t) return t.getAttribute(s); }, evaluate: function (e) { return t.unifiedEval(this, e); }, } ); } }), y.addLeafExpression("styleRef", function (e, t, n) { var r = n.matchTokenType("STYLE_REF"); if (r) { var o = r.value.substr(1); return o.startsWith("computed-") ? { type: "computedStyleRef", name: (o = o.substr("computed-".length)), op: function (e) { var n = e.beingTold || e.me; if (n) return t.resolveComputedStyle(n, o); }, evaluate: function (e) { return t.unifiedEval(this, e); }, } : { type: "styleRef", name: o, op: function (e) { var n = e.beingTold || e.me; if (n) return t.resolveStyle(n, o); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("objectKey", function (e, t, n) { var r; if ((r = n.matchTokenType("STRING"))) return { type: "objectKey", key: r.value, evaluate: function () { return r.value; }, }; if (n.matchOpToken("[")) { var o = e.parseElement("expression", n); return ( n.requireOpToken("]"), { type: "objectKey", expr: o, args: [o], op: function (e, t) { return t; }, evaluate: function (e) { return t.unifiedEval(this, e); }, } ); } var i = ""; do { (r = n.matchTokenType("IDENTIFIER") || n.matchOpToken("-")) && (i += r.value); } while (r); return { type: "objectKey", key: i, evaluate: function () { return i; }, }; }), y.addLeafExpression("objectLiteral", function (e, t, n) { if (n.matchOpToken("{")) { var r = [], o = []; if (!n.matchOpToken("}")) { do { var i = e.requireElement("objectKey", n); n.requireOpToken(":"); var a = e.requireElement("expression", n); o.push(a), r.push(i); } while (n.matchOpToken(",")); n.requireOpToken("}"); } return { type: "objectLiteral", args: [r, o], op: function (e, t, n) { for (var r = {}, o = 0; o < t.length; o++) r[t[o]] = n[o]; return r; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("nakedNamedArgumentList", function (e, t, n) { var r = [], o = []; if ("IDENTIFIER" === n.currentToken().type) do { var i = n.requireTokenType("IDENTIFIER"); n.requireOpToken(":"); var a = e.requireElement("expression", n); o.push(a), r.push({ name: i, value: a }); } while (n.matchOpToken(",")); return { type: "namedArgumentList", fields: r, args: [o], op: function (e, t) { for (var n = { _namedArgList_: !0 }, o = 0; o < t.length; o++) n[r[o].name.value] = t[o]; return n; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; }), y.addGrammarElement("namedArgumentList", function (e, t, n) { if (n.matchOpToken("(")) { var r = e.requireElement("nakedNamedArgumentList", n); return n.requireOpToken(")"), r; } }), y.addGrammarElement("symbol", function (e, t, n) { var r = "default"; n.matchToken("global") ? (r = "global") : n.matchToken("element") || n.matchToken("module") ? ((r = "element"), n.matchOpToken("'") && n.requireToken("s")) : n.matchToken("local") && (r = "local"); var o = n.matchOpToken(":"), i = n.matchTokenType("IDENTIFIER"); if (i) { var a = i.value; return ( o && (a = ":" + a), "default" === r && (0 === a.indexOf("$") && (r = "global"), 0 === a.indexOf(":") && (r = "element")), { type: "symbol", token: i, scope: r, name: a, evaluate: function (e) { return t.resolveSymbol(a, e, r); }, } ); } }), y.addGrammarElement("implicitMeTarget", function (e, t, n) { return { type: "implicitMeTarget", evaluate: function (e) { return e.beingTold || e.me; }, }; }), y.addLeafExpression("boolean", function (e, t, n) { var r = n.matchToken("true") || n.matchToken("false"); if (r) { var o = "true" === r.value; return { type: "boolean", evaluate: function (e) { return o; }, }; } }), y.addLeafExpression("null", function (e, t, n) { if (n.matchToken("null")) return { type: "null", evaluate: function (e) { return null; }, }; }), y.addLeafExpression("arrayLiteral", function (e, t, n) { if (n.matchOpToken("[")) { var r = []; if (!n.matchOpToken("]")) { do { var o = e.requireElement("expression", n); r.push(o); } while (n.matchOpToken(",")); n.requireOpToken("]"); } return { type: "arrayLiteral", values: r, args: [r], op: function (e, t) { return t; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addLeafExpression("blockLiteral", function (e, t, n) { if (n.matchOpToken("\\")) { var r = [], o = n.matchTokenType("IDENTIFIER"); if (o) for (r.push(o); n.matchOpToken(","); ) r.push(n.requireTokenType("IDENTIFIER")); n.requireOpToken("-"), n.requireOpToken(">"); var i = e.requireElement("expression", n); return { type: "blockLiteral", args: r, expr: i, evaluate: function (e) { return function () { for (var t = 0; t < r.length; t++) e[r[t].value] = arguments[t]; return i.evaluate(e); }; }, }; } }), y.addIndirectExpression("propertyAccess", function (e, t, n, r) { if (n.matchOpToken(".")) { var o = n.requireTokenType("IDENTIFIER"); return e.parseElement("indirectExpression", n, { type: "propertyAccess", root: r, prop: o, args: [r], op: function (e, n) { return t.resolveProperty(n, o.value); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }); } }), y.addIndirectExpression("of", function (e, t, n, r) { if (n.matchToken("of")) { for ( var o = e.requireElement("unaryExpression", n), i = null, a = r; a.root; ) (i = a), (a = a.root); "symbol" !== a.type && "attributeRef" !== a.type && "styleRef" !== a.type && "computedStyleRef" !== a.type && e.raiseParseError( n, "Cannot take a property of a non-symbol: " + a.type ); var u = "attributeRef" === a.type, s = "styleRef" === a.type || "computedStyleRef" === a.type; if (u || s) var l = a; var c = a.name, f = { type: "ofExpression", prop: a.token, root: o, attribute: l, expression: r, args: [o], op: function (e, n) { return u ? t.resolveAttribute(n, c) : s ? "computedStyleRef" === a.type ? t.resolveComputedStyle(n, c) : t.resolveStyle(n, c) : t.resolveProperty(n, c); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return ( "attributeRef" === a.type && (f.attribute = a), i ? ((i.root = f), (i.args = [f])) : (r = f), e.parseElement("indirectExpression", n, r) ); } }), y.addIndirectExpression("possessive", function (e, t, n, r) { if (!e.possessivesDisabled) { var o = n.matchOpToken("'"); if ( o || ("symbol" === r.type && ("my" === r.name || "its" === r.name || "your" === r.name) && ("IDENTIFIER" === n.currentToken().type || "ATTRIBUTE_REF" === n.currentToken().type || "STYLE_REF" === n.currentToken().type)) ) { o && n.requireToken("s"); var i = e.parseElement("attributeRef", n); if (null == i) { var a = e.parseElement("styleRef", n); if (null == a) var u = n.requireTokenType("IDENTIFIER"); } return e.parseElement("indirectExpression", n, { type: "possessive", root: r, attribute: i || a, prop: u, args: [r], op: function (e, n) { if (i) var r = t.resolveAttribute(n, i.name); else r = a ? "computedStyleRef" === a.type ? t.resolveComputedStyle(n, a.name) : t.resolveStyle(n, a.name) : t.resolveProperty(n, u.value); return r; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }); } } }), y.addIndirectExpression("inExpression", function (e, t, n, r) { if (n.matchToken("in")) { var o = { type: "inExpression", root: r, args: [r, e.requireElement("unaryExpression", n)], op: function (e, n, r) { var o = []; if (n.css) t.implicitLoop(r, function (e) { for ( var t = e.querySelectorAll(n.css), r = 0; r < t.length; r++ ) o.push(t[r]); }); else if (n instanceof Element) { var i = !1; if ( (t.implicitLoop(r, function (e) { e.contains(n) && (i = !0); }), i) ) return n; } else t.implicitLoop(n, function (e) { t.implicitLoop(r, function (t) { e === t && o.push(e); }); }); return o; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return e.parseElement("indirectExpression", n, o); } }), y.addIndirectExpression("asExpression", function (e, t, n, r) { if (n.matchToken("as")) { n.matchToken("a") || n.matchToken("an"); var o = e.requireElement("dotOrColonPath", n).evaluate(); return e.parseElement("indirectExpression", n, { type: "asExpression", root: r, args: [r], op: function (e, n) { return t.convertValue(n, o); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }); } }), y.addIndirectExpression("functionCall", function (e, t, n, r) { if (n.matchOpToken("(")) { var o = []; if (!n.matchOpToken(")")) { do { o.push(e.requireElement("expression", n)); } while (n.matchOpToken(",")); n.requireOpToken(")"); } if (r.root) var i = { type: "functionCall", root: r, argExressions: o, args: [r.root, o], op: function (e, n, o) { t.nullCheck(n, r.root); var i = n[r.prop.value]; return t.nullCheck(i, r), i.hyperfunc && o.push(e), i.apply(n, o); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; else i = { type: "functionCall", root: r, argExressions: o, args: [r, o], op: function (e, n, o) { return ( t.nullCheck(n, r), n.hyperfunc && o.push(e), n.apply(null, o) ); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return e.parseElement("indirectExpression", n, i); } }), y.addIndirectExpression("attributeRefAccess", function (e, t, n, r) { var o = e.parseElement("attributeRef", n); if (o) return { type: "attributeRefAccess", root: r, attribute: o, args: [r], op: function (e, n) { return t.resolveAttribute(n, o.name); }, evaluate: function (e) { return T.unifiedEval(this, e); }, }; }), y.addIndirectExpression("arrayIndex", function (e, t, n, r) { if (n.matchOpToken("[")) { var o = !1, i = !1, a = null, u = null; n.matchOpToken("..") ? ((o = !0), (a = e.requireElement("expression", n))) : ((a = e.requireElement("expression", n)), n.matchOpToken("..") && ((i = !0), "R_BRACKET" !== n.currentToken().type && (u = e.parseElement("expression", n)))), n.requireOpToken("]"); var s = { type: "arrayIndex", root: r, prop: a, firstIndex: a, secondIndex: u, args: [r, a, u], op: function (e, t, n, r) { return null == t ? null : o ? (n < 0 && (n = t.length + n), t.slice(0, n + 1)) : i ? null != r ? (r < 0 && (r = t.length + r), t.slice(n, r + 1)) : t.slice(n) : t[n]; }, evaluate: function (e) { return T.unifiedEval(this, e); }, }; return y.parseElement("indirectExpression", n, s); } }); var q = [ "em", "ex", "cap", "ch", "ic", "rem", "lh", "rlh", "vw", "vh", "vi", "vb", "vmin", "vmax", "cm", "mm", "Q", "pc", "pt", "px", ]; y.addGrammarElement("postfixExpression", function (e, t, n) { var r = e.parseElement("primaryExpression", n), o = n.matchAnyToken.apply(n, q) || n.matchOpToken("%"); if (o) return { type: "stringPostfix", postfix: o.value, args: [r], op: function (e, t) { return "" + t + o.value; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; var i = null; if ( (n.matchToken("s") || n.matchToken("seconds") ? (i = 1e3) : (n.matchToken("ms") || n.matchToken("milliseconds")) && (i = 1), i) ) return { type: "timeExpression", time: r, factor: i, args: [r], op: function (e, t) { return t * i; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; if (n.matchOpToken(":")) { var a = n.requireTokenType("IDENTIFIER"), u = !n.matchOpToken("!"); return { type: "typeCheck", typeName: a, nullOk: u, args: [r], op: function (e, n) { if (t.typeCheck(n, a.value, u)) return n; throw new Error("Typecheck failed! Expected: " + a.value); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } return r; }), y.addGrammarElement("logicalNot", function (e, t, n) { if (n.matchToken("not")) { var r = e.requireElement("unaryExpression", n); return { type: "logicalNot", root: r, args: [r], op: function (e, t) { return !t; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("noExpression", function (e, t, n) { if (n.matchToken("no")) { var r = e.requireElement("unaryExpression", n); return { type: "noExpression", root: r, args: [r], op: function (e, n) { return t.isEmpty(n); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addLeafExpression("some", function (e, t, n) { if (n.matchToken("some")) { var r = e.requireElement("expression", n); return { type: "noExpression", root: r, args: [r], op: function (e, n) { return !t.isEmpty(n); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("negativeNumber", function (e, t, n) { if (n.matchOpToken("-")) { var r = e.requireElement("unaryExpression", n); return { type: "negativeNumber", root: r, args: [r], op: function (e, t) { return -1 * t; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("unaryExpression", function (e, t, n) { return ( n.matchToken("the"), e.parseAnyOf( [ "beepExpression", "logicalNot", "relativePositionalExpression", "positionalExpression", "noExpression", "negativeNumber", "postfixExpression", ], n ) ); }), y.addGrammarElement("beepExpression", function (e, t, n) { if (n.matchToken("beep!")) { var r = e.parseElement("unaryExpression", n); if (r) { r.booped = !0; var o = r.evaluate; return ( (r.evaluate = function (e) { var n = o.apply(r, arguments), i = e.me; if ( t.triggerEvent(i, "hyperscript:beep", { element: i, expression: r, value: n, }) ) { var a, u = n; "String" === (a = n ? n instanceof h ? "ElementCollection" : n.constructor ? n.constructor.name : "unknown" : "object (null)") ? (u = '"' + u + '"') : n instanceof h && (u = Array.from(n)), console.log( "///_ BEEP! The expression (" + r.sourceFor().substr(6) + ") evaluates to:", u, "of type " + a ); } return n; }), r ); } } }); var S = function (e, t, n, r) { var o = []; T.forEach(t, function (t) { (t.matches(n) || t === e) && o.push(t); }); for (var i = 0; i < o.length - 1; i++) if (o[i] === e) return o[i + 1]; if (r) { var a = o[0]; if (a && a.matches(n)) return a; } }; y.addGrammarElement("relativePositionalExpression", function (e, t, n) { var r = n.matchAnyToken("next", "previous"); if (r) { if ("next" === r.value) var o = !0; var i = e.parseElement("expression", n); if (n.matchToken("from")) { n.pushFollow("in"); try { var a = e.requireElement("unaryExpression", n); } finally { n.popFollow(); } } else a = e.requireElement("implicitMeTarget", n); var u, s = !1; if (n.matchToken("in")) { s = !0; var l = e.requireElement("unaryExpression", n); } else u = n.matchToken("within") ? e.requireElement("unaryExpression", n) : document.body; var c = !1; return ( n.matchToken("with") && (n.requireToken("wrapping"), (c = !0)), { type: "relativePositionalExpression", from: a, forwardSearch: o, inSearch: s, wrapping: c, inElt: l, withinElt: u, operator: r.value, args: [i, a, l, u], op: function (e, t, n, r, i) { var a, u, l = t.css; if (null == l) throw "Expected a CSS value"; if (s) { if (r) return o ? S(n, r, l, c) : ((a = l), (u = c), S(n, Array.from(r).reverse(), a, u)); } else if (i) return o ? (function (e, t, n, r) { for ( var o = t.querySelectorAll(n), i = 0; i < o.length; i++ ) { var a = o[i]; if ( a.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING ) return a; } if (r) return o[0]; })(n, i, l, c) : (function (e, t, n, r) { for ( var o = t.querySelectorAll(n), i = o.length - 1; i >= 0; i-- ) { var a = o[i]; if ( a.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING ) return a; } if (r) return o[o.length - 1]; })(n, i, l, c); }, evaluate: function (e) { return t.unifiedEval(this, e); }, } ); } }), y.addGrammarElement("positionalExpression", function (e, t, n) { var r = n.matchAnyToken("first", "last", "random"); if (r) { n.matchAnyToken("in", "from", "of"); var o = e.requireElement("unaryExpression", n), i = r.value; return { type: "positionalExpression", rhs: o, operator: r.value, args: [o], op: function (e, t) { if ( (t && !Array.isArray(t) && (t = t.children ? t.children : Array.from(t)), t) ) { if ("first" === i) return t[0]; if ("last" === i) return t[t.length - 1]; if ("random" === i) return t[Math.floor(Math.random() * t.length)]; } }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }), y.addGrammarElement("mathOperator", function (e, t, n) { var r, o = e.parseElement("unaryExpression", n), i = null; for (r = n.matchAnyOpToken("+", "-", "*", "/", "%"); r; ) { var a = r.value; (i = i || r).value !== a && e.raiseParseError( n, "You must parenthesize math operations with different operators" ); var u = e.parseElement("unaryExpression", n); (o = { type: "mathOperator", lhs: o, rhs: u, operator: a, args: [o, u], op: function (e, t, n) { return "+" === a ? t + n : "-" === a ? t - n : "*" === a ? t * n : "/" === a ? t / n : "%" === a ? t % n : void 0; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }), (r = n.matchAnyOpToken("+", "-", "*", "/", "%")); } return o; }), y.addGrammarElement("mathExpression", function (e, t, n) { return e.parseAnyOf(["mathOperator", "unaryExpression"], n); }), y.addGrammarElement("comparisonOperator", function (e, t, n) { var r = e.parseElement("mathExpression", n), o = n.matchAnyOpToken("<", ">", "<=", ">=", "==", "===", "!=", "!=="), i = o ? o.value : null, a = !0, u = !1; if ( (null == i && (n.matchToken("is") || n.matchToken("am") ? n.matchToken("not") ? n.matchToken("in") ? (i = "not in") : n.matchToken("a") ? ((i = "not a"), (u = !0)) : n.matchToken("empty") ? ((i = "not empty"), (a = !1)) : (i = "!=") : n.matchToken("in") ? (i = "in") : n.matchToken("a") ? ((i = "a"), (u = !0)) : n.matchToken("empty") ? ((i = "empty"), (a = !1)) : n.matchToken("less") ? (n.requireToken("than"), n.matchToken("or") ? (n.requireToken("equal"), n.requireToken("to"), (i = "<=")) : (i = "<")) : n.matchToken("greater") ? (n.requireToken("than"), n.matchToken("or") ? (n.requireToken("equal"), n.requireToken("to"), (i = ">=")) : (i = ">")) : (i = "==") : n.matchToken("exist") || n.matchToken("exists") ? ((i = "exist"), (a = !1)) : n.matchToken("matches") || n.matchToken("match") ? (i = "match") : n.matchToken("contains") || n.matchToken("contain") ? (i = "contain") : n.matchToken("includes") || n.matchToken("include") ? (i = "include") : (n.matchToken("do") || n.matchToken("does")) && (n.requireToken("not"), n.matchToken("matches") || n.matchToken("match") ? (i = "not match") : n.matchToken("contains") || n.matchToken("contain") ? (i = "not contain") : n.matchToken("exist") || n.matchToken("exist") ? ((i = "not exist"), (a = !1)) : n.matchToken("include") ? (i = "not include") : e.raiseParseError(n, "Expected matches or contains"))), i) ) { if (u) var s = n.requireTokenType("IDENTIFIER"), l = !n.matchOpToken("!"); else if (a) { var c = e.requireElement("mathExpression", n); ("match" !== i && "not match" !== i) || (c = c.css ? c.css : c); } var f = r; r = { type: "comparisonOperator", operator: i, typeName: s, nullOk: l, lhs: r, rhs: c, args: [r, c], op: function (e, n, r) { if ("==" === i) return n == r; if ("!=" === i) return n != r; if ("match" === i) return null != n && g(f, n, r); if ("not match" === i) return null == n || !g(f, n, r); if ("in" === i) return null != r && k(c, r, n); if ("not in" === i) return null == r || !k(c, r, n); if ("contain" === i) return null != n && k(f, n, r); if ("not contain" === i) return null == n || !k(f, n, r); if ("include" === i) return null != n && k(f, n, r); if ("not include" === i) return null == n || !k(f, n, r); if ("===" === i) return n === r; if ("!==" === i) return n !== r; if ("<" === i) return n < r; if (">" === i) return n > r; if ("<=" === i) return n <= r; if (">=" === i) return n >= r; if ("empty" === i) return t.isEmpty(n); if ("not empty" === i) return !t.isEmpty(n); if ("exist" === i) return t.doesExist(n); if ("not exist" === i) return !t.doesExist(n); if ("a" === i) return t.typeCheck(n, s.value, l); if ("not a" === i) return !t.typeCheck(n, s.value, l); throw "Unknown comparison : " + i; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } return r; }), y.addGrammarElement("comparisonExpression", function (e, t, n) { return e.parseAnyOf(["comparisonOperator", "mathExpression"], n); }), y.addGrammarElement("logicalOperator", function (e, t, n) { var r, o = e.parseElement("comparisonExpression", n), i = null; r = n.matchToken("and") || n.matchToken("or"); for ( var a = function () { (i = i || r).value !== r.value && e.raiseParseError( n, "You must parenthesize logical operations with different operators" ), (u = e.requireElement("comparisonExpression", n)); var a = r.value; (o = { type: "logicalOperator", operator: a, lhs: o, rhs: u, args: [o, u], op: function (e, t, n) { return "and" === a ? t && n : t || n; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }), (r = n.matchToken("and") || n.matchToken("or")); }; r; ) { var u; a(); } return o; }), y.addGrammarElement("logicalExpression", function (e, t, n) { return e.parseAnyOf(["logicalOperator", "mathExpression"], n); }), y.addGrammarElement("asyncExpression", function (e, t, n) { return n.matchToken("async") ? { type: "asyncExpression", value: e.requireElement("logicalExpression", n), evaluate: function (e) { return { asyncWrapper: !0, value: this.value.evaluate(e) }; }, } : e.parseElement("logicalExpression", n); }), y.addGrammarElement("expression", function (e, t, n) { return n.matchToken("the"), e.parseElement("asyncExpression", n); }), y.addGrammarElement("assignableExpression", function (e, t, n) { n.matchToken("the"); var r = e.parseElement("primaryExpression", n); return !r || ("symbol" !== r.type && "ofExpression" !== r.type && "propertyAccess" !== r.type && "attributeRefAccess" !== r.type && "attributeRef" !== r.type && "styleRef" !== r.type && "arrayIndex" !== r.type && "possessive" !== r.type) ? (y.raiseParseError( n, "A target expression must be writable. The expression type '" + (r && r.type) + "' is not." ), r) : r; }), y.addGrammarElement("hyperscript", function (e, t, n) { var r = []; if (n.hasMore()) for ( ; e.featureStart(n.currentToken()) || "(" === n.currentToken().value; ) { var o = e.requireElement("feature", n); r.push(o), n.matchToken("end"); } return { type: "hyperscript", features: r, apply: function (e, t, n) { for (var o, i = l(r); !(o = i()).done; ) o.value.install(e, t, n); }, }; }); var N = function (e) { var t = []; if ( "(" === e.token(0).value && (")" === e.token(1).value || "," === e.token(2).value || ")" === e.token(2).value) ) { e.matchOpToken("("); do { t.push(e.requireTokenType("IDENTIFIER")); } while (e.matchOpToken(",")); e.requireOpToken(")"); } return t; }; y.addFeature("on", function (e, t, n) { if (n.matchToken("on")) { var r = !1; n.matchToken("every") && (r = !0); var o = [], i = null; do { var a = e .requireElement("eventName", n, "Expected event name") .evaluate(); i = i ? i + " or " + a : "on " + a; var u = N(n), s = null; if ( (n.matchOpToken("[") && ((s = e.requireElement("expression", n)), n.requireOpToken("]")), "NUMBER" === n.currentToken().type) ) { var f = n.consumeToken(), m = parseInt(f.value); if (n.matchToken("to")) var p = n.consumeToken(), d = parseInt(p.value); else if (n.matchToken("and")) { var h = !0; n.requireToken("on"); } } if ("intersection" === a) { var v = {}; if ( (n.matchToken("with") && (v.with = e.requireElement("expression", n).evaluate()), n.matchToken("having")) ) do { n.matchToken("margin") ? (v.rootMargin = e.requireElement("stringLike", n).evaluate()) : n.matchToken("threshold") ? (v.threshold = e.requireElement("expression", n).evaluate()) : e.raiseParseError( n, "Unknown intersection config specification" ); } while (n.matchToken("and")); } else if ("mutation" === a) { var y = {}; if (n.matchToken("of")) do { if (n.matchToken("anything")) (y.attributes = !0), (y.subtree = !0), (y.characterData = !0), (y.childList = !0); else if (n.matchToken("childList")) y.childList = !0; else if (n.matchToken("attributes")) (y.attributes = !0), (y.attributeOldValue = !0); else if (n.matchToken("subtree")) y.subtree = !0; else if (n.matchToken("characterData")) (y.characterData = !0), (y.characterDataOldValue = !0); else if ("ATTRIBUTE_REF" === n.currentToken().type) { var E = n.consumeToken(); null == y.attributeFilter && (y.attributeFilter = []), 0 == E.value.indexOf("@") ? y.attributeFilter.push(E.value.substring(1)) : e.raiseParseError( n, "Only shorthand attribute references are allowed here" ); } else e.raiseParseError(n, "Unknown mutation config specification"); } while (n.matchToken("or")); else (y.attributes = !0), (y.characterData = !0), (y.childList = !0); } var k = null, g = !1; if ( (n.matchToken("from") && (n.matchToken("elsewhere") ? (g = !0) : (k = e.parseElement("expression", n)) || e.raiseParseError( n, 'Expected either target value or "elsewhere".' )), null === k && !1 === g && n.matchToken("elsewhere") && (g = !0), n.matchToken("in")) ) var x = e.parseElement("unaryExpression", n); if (n.matchToken("debounced")) { n.requireToken("at"); var b = e.requireElement("expression", n).evaluate({}); } else if (n.matchToken("throttled")) { n.requireToken("at"); var w = e.requireElement("expression", n).evaluate({}); } o.push({ execCount: 0, every: r, on: a, args: u, filter: s, from: k, inExpr: x, elsewhere: g, startCount: m, endCount: d, unbounded: h, debounceTime: b, throttleTime: w, mutationSpec: y, intersectionSpec: v, debounced: void 0, lastExec: void 0, }); } while (n.matchToken("or")); var q = !0; if (!r && n.matchToken("queue")) if (n.matchToken("all")) q = !1; else if (n.matchToken("first")) var S = !0; else if (n.matchToken("none")) var L = !0; else n.requireToken("last"); var C = e.requireElement("commandList", n); if ((e.ensureTerminated(C), n.matchToken("catch"))) { var O = n.requireTokenType("IDENTIFIER").value, I = e.requireElement("commandList", n); e.ensureTerminated(I); } if (n.matchToken("finally")) { var R = e.requireElement("commandList", n); e.ensureTerminated(R); } var A = { displayName: i, events: o, start: C, every: r, execCount: 0, errorHandler: I, errorSymbol: O, execute: function (e) { var n = t.getEventQueueFor(e.me, A); if (n.executing && !1 === r) { if (L || (S && n.queue.length > 0)) return; return q && (n.queue.length = 0), void n.queue.push(e); } A.execCount++, (n.executing = !0), (e.meta.onHalt = function () { n.executing = !1; var e = n.queue.shift(); e && setTimeout(function () { A.execute(e); }, 1); }), (e.meta.reject = function (n) { console.error(n.message ? n.message : n); var r = t.getHyperTrace(e, n); r && r.print(), t.triggerEvent(e.me, "exception", { error: n }); }), C.execute(e); }, install: function (e, n) { for ( var r, o = function () { var n = r.value; (a = n.elsewhere ? [document] : n.from ? n.from.evaluate(t.makeContext(e, A, e, null)) : [e]), t.implicitLoop(a, function (r) { var o = n.on; if ( (n.mutationSpec && ((o = "hyperscript:mutation"), new MutationObserver(function (e, t) { A.executing || T.triggerEvent(r, o, { mutationList: e, observer: t, }); }).observe(r, n.mutationSpec)), n.intersectionSpec) ) { o = "hyperscript:insersection"; var i = new IntersectionObserver(function (e) { for (var t, n = l(e); !(t = n()).done; ) { var a = t.value, u = { observer: i }; ((u = c(u, a)).intersecting = a.isIntersecting), T.triggerEvent(r, o, u); } }, n.intersectionSpec); i.observe(r); } (r.addEventListener || r.on).call(r, o, function i(a) { if ( "undefined" != typeof Node && e instanceof Node && r !== e && !e.isConnected ) r.removeEventListener(o, i); else { var u = t.makeContext(e, A, e, a); if (!n.elsewhere || !e.contains(a.target)) { n.from && (u.result = r); for (var s, c = l(n.args); !(s = c()).done; ) { var f = s.value, m = u.event[f.value]; void 0 !== m ? (u[f.value] = m) : ("detail" in u.event) && (u[f.value] = u.event.detail[f.value]); } if ( ((u.meta.errorHandler = I), (u.meta.errorSymbol = O), (u.meta.finallyHandler = R), n.filter) ) { var p = u.meta.context; u.meta.context = u.event; try { if (!n.filter.evaluate(u)) return; } finally { u.meta.context = p; } } if (n.inExpr) for (var d = a.target; ; ) { if (d.matches && d.matches(n.inExpr.css)) { u.result = d; break; } if (null == (d = d.parentElement)) return; } if ((n.execCount++, n.startCount)) if (n.endCount) { if ( n.execCount < n.startCount || n.execCount > n.endCount ) return; } else if (n.unbounded) { if (n.execCount < n.startCount) return; } else if (n.execCount !== n.startCount) return; if (n.debounceTime) return ( n.debounced && clearTimeout(n.debounced), void (n.debounced = setTimeout(function () { A.execute(u); }, n.debounceTime)) ); if (n.throttleTime) { if ( n.lastExec && Date.now() < n.lastExec + n.throttleTime ) return; n.lastExec = Date.now(); } A.execute(u); } } }); }); }, i = l(A.events); !(r = i()).done; ) { var a; o(); } }, }; return e.setParent(C, A), A; } }), y.addFeature("def", function (e, t, n) { if (n.matchToken("def")) { var r = e.requireElement("dotOrColonPath", n).evaluate(), o = r.split("."), i = o.pop(), a = []; if (n.matchOpToken("(")) if (n.matchOpToken(")")); else { do { a.push(n.requireTokenType("IDENTIFIER")); } while (n.matchOpToken(",")); n.requireOpToken(")"); } var u = e.requireElement("commandList", n); if (n.matchToken("catch")) var s = n.requireTokenType("IDENTIFIER").value, l = e.parseElement("commandList", n); if (n.matchToken("finally")) { var c = e.requireElement("commandList", n); e.ensureTerminated(c); } var f = { displayName: i + "(" + a .map(function (e) { return e.value; }) .join(", ") + ")", name: i, args: a, start: u, errorHandler: l, errorSymbol: s, finallyHandler: c, install: function (e, n) { var m = function () { var r = t.makeContext(n, f, e, null); (r.meta.errorHandler = l), (r.meta.errorSymbol = s), (r.meta.finallyHandler = c); for (var o = 0; o < a.length; o++) { var i = a[o], m = arguments[o]; i && (r[i.value] = m); } (r.meta.caller = arguments[a.length]), r.meta.caller && (r.meta.callingCommand = r.meta.caller.meta.command); var p, d = null, h = new Promise(function (e, t) { (p = e), (d = t); }); return ( u.execute(r), r.meta.returned ? r.meta.returnValue : ((r.meta.resolve = p), (r.meta.reject = d), h) ); }; (m.hyperfunc = !0), (m.hypername = r), t.assignToNamespace(e, o, i, m); }, }; return ( e.ensureTerminated(u), l && e.ensureTerminated(l), e.setParent(u, f), f ); } }), y.addFeature("set", function (e, t, n) { var r = e.parseElement("setCommand", n); if (r) { "element" !== r.target.scope && e.raiseParseError( n, "variables declared at the feature level must be element scoped." ); var o = { start: r, install: function (e, n) { r && r.execute(t.makeContext(e, o, e, null)); }, }; return e.ensureTerminated(r), o; } }), y.addFeature("init", function (e, t, n) { if (n.matchToken("init")) { var r = e.requireElement("commandList", n), o = { start: r, install: function (e, n) { setTimeout(function () { r && r.execute(t.makeContext(e, o, e, null)); }, 0); }, }; return e.ensureTerminated(r), e.setParent(r, o), o; } }), y.addFeature("worker", function (e, t, n) { n.matchToken("worker") && e.raiseParseError( n, "In order to use the 'worker' feature, include the _hyperscript worker plugin. See https://hyperscript.org/features/worker/ for more info." ); }), y.addFeature("behavior", function (e, t, n) { if (n.matchToken("behavior")) { var r = e.requireElement("dotOrColonPath", n).evaluate(), o = r.split("."), i = o.pop(), a = []; if (n.matchOpToken("(") && !n.matchOpToken(")")) { do { a.push(n.requireTokenType("IDENTIFIER").value); } while (n.matchOpToken(",")); n.requireOpToken(")"); } for ( var u = e.requireElement("hyperscript", n), s = 0; s < u.features.length; s++ ) u.features[s].behavior = r; return { install: function (e, n) { t.assignToNamespace( d.document && d.document.body, o, i, function (e, n, o) { for ( var i = f(t.getInternalData(e), r + "Scope"), s = 0; s < a.length; s++ ) i[a[s]] = o[a[s]]; u.apply(e, n); } ); }, }; } }), y.addFeature("install", function (e, t, n) { if (n.matchToken("install")) { var r, o = e.requireElement("dotOrColonPath", n).evaluate(), i = o.split("."), a = e.parseElement("namedArgumentList", n); return (r = { install: function (e, n) { t.unifiedEval( { args: [a], op: function (t, r) { for (var a = d, u = 0; u < i.length; u++) if ( "object" != typeof (a = a[i[u]]) && "function" != typeof a ) throw new Error("No such behavior defined as " + o); if (!(a instanceof Function)) throw new Error(o + " is not a behavior"); a(e, n, r); }, }, t.makeContext(e, r, e) ); }, }); } }), y.addGrammarElement("jsBody", function (e, t, n) { for ( var r = n.currentToken().start, o = n.currentToken(), i = [], a = "", u = !1; n.hasMore(); ) { o = n.consumeToken(); var s = n.token(0, !0); if ("IDENTIFIER" === s.type && "end" === s.value) break; u ? "IDENTIFIER" === o.type || "NUMBER" === o.type ? (a += o.value) : ("" !== a && i.push(a), (a = ""), (u = !1)) : "IDENTIFIER" === o.type && "function" === o.value && (u = !0); } return { type: "jsBody", exposedFunctionNames: i, jsSource: n.source.substring(r, o.end + 1), }; }), y.addFeature("js", function (e, t, n) { if (n.matchToken("js")) { var r = e.requireElement("jsBody", n), o = r.jsSource + "\nreturn { " + r.exposedFunctionNames .map(function (e) { return e + ":" + e; }) .join(",") + " } ", i = new Function(o); return { jsSource: o, function: i, exposedFunctionNames: r.exposedFunctionNames, install: function () { c(d, i()); }, }; } }), y.addCommand("js", function (e, t, n) { if (n.matchToken("js")) { var r = []; if (n.matchOpToken("(")) if (n.matchOpToken(")")); else { do { var o = n.requireTokenType("IDENTIFIER"); r.push(o.value); } while (n.matchOpToken(",")); n.requireOpToken(")"); } var i = e.requireElement("jsBody", n); n.matchToken("end"); var a = m(Function, r.concat([i.jsSource])); return { jsSource: i.jsSource, function: a, inputs: r, op: function (e) { var n = []; r.forEach(function (r) { n.push(t.resolveSymbol(r, e, "default")); }); var o = a.apply(d, n); return o && "function" == typeof o.then ? new Promise(function (n) { o.then(function (r) { (e.result = r), n(t.findNext(this, e)); }); }) : ((e.result = o), t.findNext(this, e)); }, }; } }), y.addCommand("async", function (e, t, n) { if (n.matchToken("async")) { if (n.matchToken("do")) { for (var r = (o = e.requireElement("commandList", n)); r.next; ) r = r.next; (r.next = t.HALT), n.requireToken("end"); } else var o = e.requireElement("command", n); var i = { body: o, op: function (e) { return ( setTimeout(function () { o.execute(e); }), t.findNext(this, e) ); }, }; return e.setParent(o, i), i; } }), y.addCommand("tell", function (e, t, n) { var r = n.currentToken(); if (n.matchToken("tell")) { var o = e.requireElement("expression", n), i = e.requireElement("commandList", n); n.hasMore() && !e.featureStart(n.currentToken()) && n.requireToken("end"); var a = "tell_" + r.start, u = { value: o, body: i, args: [o], resolveNext: function (e) { var n = e.meta.iterators[a]; return n.index < n.value.length ? ((e.beingTold = n.value[n.index++]), i) : ((e.beingTold = n.originalBeingTold), this.next ? this.next : t.findNext(this.parent, e)); }, op: function (e, t) { return ( null == t ? (t = []) : Array.isArray(t) || t instanceof NodeList || (t = [t]), (e.meta.iterators[a] = { originalBeingTold: e.beingTold, index: 0, value: t, }), this.resolveNext(e) ); }, }; return e.setParent(i, u), u; } }), y.addCommand("wait", function (e, t, n) { if (n.matchToken("wait")) { var r, o; if (n.matchToken("for")) { n.matchToken("a"); var i = []; do { var a = n.token(0); i.push( "NUMBER" === a.type || "L_PAREN" === a.type ? { time: e.requireElement("expression", n).evaluate() } : { name: y .requireElement( "dotOrColonPath", n, "Expected event name" ) .evaluate(), args: N(n), } ); } while (n.matchToken("or")); if (n.matchToken("from")) var u = e.requireElement("expression", n); return ( (r = { event: i, on: u, args: [u], op: function (e, n) { var r = this, o = n || e.me; if (!(o instanceof EventTarget)) throw new Error( "Not a valid event target: " + this.on.sourceFor() ); return new Promise(function (n) { for ( var a, u = !1, s = function () { var i = a.value; (f = function (o) { if (((e.result = o), i.args)) for (var a, s = l(i.args); !(a = s()).done; ) { var c = a.value; e[c.value] = o[c.value] || (o.detail ? o.detail[c.value] : null); } u || ((u = !0), n(t.findNext(r, e))); }), i.name ? o.addEventListener(i.name, f, { once: !0 }) : null != i.time && setTimeout(f, i.time, i.time); }, c = l(i); !(a = c()).done; ) { var f; s(); } }); }, }), r ); } return ( n.matchToken("a") ? (n.requireToken("tick"), (o = 0)) : (o = y.requireElement("expression", n)), { type: "waitCmd", time: o, args: [o], op: function (e, n) { var r = this; return new Promise(function (o) { setTimeout(function () { o(t.findNext(r, e)); }, n); }); }, execute: function (e) { return t.unifiedExec(this, e); }, } ); } }), y.addGrammarElement("dotOrColonPath", function (e, t, n) { var r = n.matchTokenType("IDENTIFIER"); if (r) { var o = [r.value], i = n.matchOpToken(".") || n.matchOpToken(":"); if (i) do { o.push(n.requireTokenType("IDENTIFIER", "NUMBER").value); } while (n.matchOpToken(i.value)); return { type: "dotOrColonPath", path: o, evaluate: function () { return o.join(i ? i.value : ""); }, }; } }), y.addGrammarElement("eventName", function (e, t, n) { var r; return (r = n.matchTokenType("STRING")) ? { evaluate: function () { return r.value; }, } : e.parseElement("dotOrColonPath", n); }), y.addCommand("trigger", function (e, t, n) { if (n.matchToken("trigger")) return x("trigger", e, t, n); }), y.addCommand("send", function (e, t, n) { if (n.matchToken("send")) return x("send", e, t, n); }); var L = function (e, t, n, r) { if (r) if (e.commandBoundary(n.currentToken())) e.raiseParseError( n, "'return' commands must return a value. If you do not wish to return a value, use 'exit' instead." ); else var o = e.requireElement("expression", n); var i = { value: o, args: [o], op: function (e, n) { var r = e.meta.resolve; return ( (e.meta.returned = !0), (e.meta.returnValue = n), r && (n ? r(n) : r()), t.HALT ); }, }; return i; }; y.addCommand("return", function (e, t, n) { if (n.matchToken("return")) return L(e, t, n, !0); }), y.addCommand("exit", function (e, t, n) { if (n.matchToken("exit")) return L(e, t, n, !1); }), y.addCommand("halt", function (e, t, n) { if (n.matchToken("halt")) { if (n.matchToken("the")) { n.requireToken("event"), n.matchOpToken("'") && n.requireToken("s"); var r = !0; } if (n.matchToken("bubbling")) var o = !0; else if (n.matchToken("default")) var i = !0; var a = L(e, t, n, !1); return { keepExecuting: !0, bubbling: o, haltDefault: i, exit: a, op: function (e) { if (e.event) return ( o ? e.event.stopPropagation() : (i || e.event.stopPropagation(), e.event.preventDefault()), r ? t.findNext(this, e) : a ); }, }; } }), y.addCommand("log", function (e, t, n) { if (n.matchToken("log")) { for (var r = [e.parseElement("expression", n)]; n.matchOpToken(","); ) r.push(e.requireElement("expression", n)); if (n.matchToken("with")) var o = e.requireElement("expression", n); var i = { exprs: r, withExpr: o, args: [o, r], op: function (e, n, r) { return ( n ? n.apply(null, r) : console.log.apply(null, r), t.findNext(this, e) ); }, }; return i; } }), y.addCommand("throw", function (e, t, n) { if (n.matchToken("throw")) { var r = e.requireElement("expression", n), o = { expr: r, args: [r], op: function (e, n) { throw (t.registerHyperTrace(e, n), n); }, }; return o; } }); var C = function (e, t, n) { var r = e.requireElement("expression", n), o = { expr: r, args: [r], op: function (e, n) { return (e.result = n), t.findNext(o, e); }, }; return o; }; y.addCommand("call", function (e, t, n) { if (n.matchToken("call")) { var r = C(e, t, n); return ( r.expr && "functionCall" !== r.expr.type && e.raiseParseError(n, "Must be a function invocation"), r ); } }), y.addCommand("get", function (e, t, n) { if (n.matchToken("get")) return C(e, t, n); }), y.addCommand("make", function (e, t, n) { if (n.matchToken("make")) { n.matchToken("a") || n.matchToken("an"); var r, o = e.requireElement("expression", n), i = []; if ("queryRef" !== o.type && n.matchToken("from")) do { i.push(e.requireElement("expression", n)); } while (n.matchOpToken(",")); if (n.matchToken("called")) var a = e.requireElement("symbol", n); return "queryRef" === o.type ? (r = { op: function (e) { for ( var n, r, i = "div", u = [], s = /(?:(^|#|\.)([^#\. ]+))/g; (n = s.exec(o.css)); ) "" === n[1] ? (i = n[2].trim()) : "#" === n[1] ? (r = n[2].trim()) : u.push(n[2].trim()); var l = document.createElement(i); void 0 !== r && (l.id = r); for (var c = 0; c < u.length; c++) l.classList.add(u[c]); return ( (e.result = l), a && t.setSymbol(a.name, e, a.scope, l), t.findNext(this, e) ); }, }) : ((r = { args: [o, i], op: function (e, n, r) { return ( (e.result = m(n, r)), a && t.setSymbol(a.name, e, a.scope, e.result), t.findNext(this, e) ); }, }), r); } }), y.addGrammarElement("pseudoCommand", function (e, t, n) { var r = n.token(1); if (!r || !r.op || ("." !== r.value && "(" !== r.value)) return null; for ( var o = e.requireElement("primaryExpression", n), i = o.root, a = o; null != i.root; ) (a = a.root), (i = i.root); if ( ("functionCall" !== o.type && e.raiseParseError(n, "Pseudo-commands must be function calls"), "functionCall" === a.type && null == a.root.root) ) if (n.matchAnyToken("the", "to", "on", "with", "into", "from", "at")) var u = e.requireElement("expression", n); else n.matchToken("me") && (u = e.requireElement("implicitMeTarget", n)); if (u) var s = { type: "pseudoCommand", root: u, argExressions: a.argExressions, args: [u, a.argExressions], op: function (e, n, r) { t.nullCheck(n, u); var o = n[a.root.name]; return ( t.nullCheck(o, a), o.hyperfunc && r.push(e), (e.result = o.apply(n, r)), t.findNext(s, e) ); }, execute: function (e) { return t.unifiedExec(this, e); }, }; else s = { type: "pseudoCommand", expr: o, args: [o], op: function (e, n) { return (e.result = n), t.findNext(s, e); }, execute: function (e) { return t.unifiedExec(this, e); }, }; return s; }); var O = function (e, t, n, r, o) { var i = "symbol" === r.type, a = "attributeRef" === r.type, u = "styleRef" === r.type, s = "arrayIndex" === r.type; a || u || i || null != r.root || e.raiseParseError( n, "Can only put directly into symbols, not references" ); var l = null, c = null; if (i); else if (a || u) { l = e.requireElement("implicitMeTarget", n); var f = r; } else s ? ((c = r.firstIndex), (l = r.root)) : ((c = r.prop ? r.prop.value : null), (f = r.attribute), (l = r.root)); var m = { target: r, symbolWrite: i, value: o, args: [l, c, o], op: function (e, n, o, a) { return ( i ? t.setSymbol(r.name, e, r.scope, a) : (t.nullCheck(n, l), s ? (n[o] = a) : t.implicitLoop(n, function (e) { f ? "attributeRef" === f.type ? null == a ? e.removeAttribute(f.name) : e.setAttribute(f.name, a) : (e.style[f.name] = a) : (e[o] = a); })), t.findNext(this, e) ); }, }; return m; }; y.addCommand("default", function (e, t, n) { if (n.matchToken("default")) { var r = e.requireElement("assignableExpression", n); n.requireToken("to"); var o = e.requireElement("expression", n), i = O(e, t, n, r, o), a = { target: r, value: o, setter: i, args: [r], op: function (e, n) { return n ? t.findNext(this, e) : i; }, }; return (i.parent = a), a; } }), y.addCommand("set", function (e, t, n) { if (n.matchToken("set")) { if ("L_BRACE" === n.currentToken().type) { var r = e.requireElement("objectLiteral", n); n.requireToken("on"); var o = { objectLiteral: r, target: (i = e.requireElement("expression", n)), args: [r, i], op: function (e, n, r) { return c(r, n), t.findNext(this, e); }, }; return o; } try { n.pushFollow("to"); var i = e.requireElement("assignableExpression", n); } finally { n.popFollow(); } n.requireToken("to"); var a = e.requireElement("expression", n); return O(e, t, n, i, a); } }), y.addCommand("if", function (e, t, n) { if (n.matchToken("if")) { var r = e.requireElement("expression", n); n.matchToken("then"); var o = e.parseElement("commandList", n); if (n.matchToken("else") || n.matchToken("otherwise")) var i = e.parseElement("commandList", n); n.hasMore() && n.requireToken("end"); var a = { expr: r, trueBranch: o, falseBranch: i, args: [r], op: function (e, n) { return n ? o : i || t.findNext(this, e); }, }; return e.setParent(o, a), e.setParent(i, a), a; } }); var I = function (e, t, n, r) { var o, i = t.currentToken(); if (t.matchToken("for") || r) { var a = t.requireTokenType("IDENTIFIER"); (o = a.value), t.requireToken("in"); var u = e.requireElement("expression", t); } else if (t.matchToken("in")) (o = "it"), (u = e.requireElement("expression", t)); else if (t.matchToken("while")) var s = e.requireElement("expression", t); else if (t.matchToken("until")) { var l = !0; if (t.matchToken("event")) { var c = y.requireElement("dotOrColonPath", t, "Expected event name"); if (t.matchToken("from")) var f = e.requireElement("expression", t); } else s = e.requireElement("expression", t); } else if ( e.commandBoundary(t.currentToken()) || "forever" === t.currentToken().value ) { t.matchToken("forever"); var m = !0; } else { var p = e.requireElement("expression", t); t.requireToken("times"); } if (t.matchToken("index")) var d = (a = t.requireTokenType("IDENTIFIER")).value; var h = e.parseElement("commandList", t); if (h && c) { for (var v = h; v.next; ) v = v.next; var E = { type: "waitATick", op: function () { return new Promise(function (e) { setTimeout(function () { e(n.findNext(E)); }, 0); }); }, }; v.next = E; } if ((t.hasMore() && t.requireToken("end"), null == o)) var T = (o = "_implicit_repeat_" + i.start); else T = o + "_" + i.start; var k = { identifier: o, indexIdentifier: d, slot: T, expression: u, forever: m, times: p, until: l, event: c, on: f, whileExpr: s, resolveNext: function () { return this; }, loop: h, args: [s, p], op: function (e, t, r) { var i = e.meta.iterators[T], a = !1, u = null; if (this.forever) a = !0; else if (this.until) a = c ? !1 === e.meta.iterators[T].eventFired : !0 !== t; else if (s) a = t; else if (r) a = i.index < r; else { var l = i.iterator.next(); (a = !l.done), (u = l.value); } return a ? ((e.result = i.value ? (e[o] = u) : i.index), d && (e[d] = i.index), i.index++, h) : ((e.meta.iterators[T] = null), n.findNext(this.parent, e)); }, }; e.setParent(h, k); var g = { name: "repeatInit", args: [u, c, f], op: function (e, t, n, r) { var o = { index: 0, value: t, eventFired: !1 }; return ( (e.meta.iterators[T] = o), t && t[Symbol.iterator] && (o.iterator = t[Symbol.iterator]()), c && (r || e.me).addEventListener( n, function (t) { e.meta.iterators[T].eventFired = !0; }, { once: !0 } ), k ); }, execute: function (e) { return n.unifiedExec(this, e); }, }; return e.setParent(k, g), g; }; if ( (y.addCommand("repeat", function (e, t, n) { if (n.matchToken("repeat")) return I(e, n, t, !1); }), y.addCommand("for", function (e, t, n) { if (n.matchToken("for")) return I(e, n, t, !0); }), y.addCommand("continue", function (e, t, n) { if (n.matchToken("continue")) return { op: function (t) { for (var r = this.parent; ; r = r.parent) if ( (null == r && e.raiseParseError( n, "Command `continue` cannot be used outside of a `repeat` loop." ), null != r.loop) ) return r.resolveNext(t); }, }; }), y.addCommand("break", function (e, t, n) { if (n.matchToken("break")) return { op: function (r) { for (var o = this.parent; ; o = o.parent) if ( (null == o && e.raiseParseError( n, "Command `continue` cannot be used outside of a `repeat` loop." ), null != o.loop) ) return t.findNext(o.parent, r); }, }; }), y.addGrammarElement("stringLike", function (e, t, n) { return y.parseAnyOf(["string", "nakedString"], n); }), y.addCommand("append", function (e, t, n) { if (n.matchToken("append")) { var r, o = e.requireElement("expression", n), i = { type: "symbol", evaluate: function (e) { return t.resolveSymbol("result", e); }, }; r = n.matchToken("to") ? e.requireElement("expression", n) : i; var a = null; ("symbol" !== r.type && "attributeRef" !== r.type && null == r.root) || (a = O(e, t, n, r, i)); var u = { value: o, target: r, args: [r, o], op: function (e, n, r) { if (Array.isArray(n)) return n.push(r), t.findNext(this, e); if (n instanceof Element) return (n.innerHTML += r), t.findNext(this, e); if (a) return (e.result = (n || "") + r), a; throw Error("Unable to append a value!"); }, execute: function (e) { return t.unifiedExec(this, e); }, }; return null != a && (a.parent = u), u; } }), y.addCommand("increment", function (e, t, n) { if (n.matchToken("increment")) { var r, o = e.parseElement("assignableExpression", n); n.matchToken("by") && (r = e.requireElement("expression", n)); var i = { type: "implicitIncrementOp", target: o, args: [o, r], op: function (e, t, n) { var r = (t = t ? parseFloat(t) : 0) + (n = n ? parseFloat(n) : 1); return (e.result = r), r; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return O(e, t, n, o, i); } }), y.addCommand("decrement", function (e, t, n) { if (n.matchToken("decrement")) { var r, o = e.parseElement("assignableExpression", n); n.matchToken("by") && (r = e.requireElement("expression", n)); var i = { type: "implicitDecrementOp", target: o, args: [o, r], op: function (e, t, n) { var r = (t = t ? parseFloat(t) : 0) - (n = n ? parseFloat(n) : 1); return (e.result = r), r; }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return O(e, t, n, o, i); } }), y.addCommand("fetch", function (e, t, n) { if (n.matchToken("fetch")) { var r = e.requireElement("stringLike", n); if (n.matchToken("as")) var o = b(n, e); if (n.matchToken("with") && "{" !== n.currentToken().value) var i = e.parseElement("nakedNamedArgumentList", n); else i = e.parseElement("objectLiteral", n); null == o && n.matchToken("as") && (o = b(n, e)); var a = o ? o.type : "text", u = o ? o.conversion : null, s = { url: r, argExpressions: i, args: [r, i], op: function (e, n, r) { var o = r || {}; (o.sender = e.me), (o.headers = o.headers || {}); var i = new AbortController(), l = e.me.addEventListener( "fetch:abort", function () { i.abort(); }, { once: !0 } ); (o.signal = i.signal), t.triggerEvent(e.me, "hyperscript:beforeFetch", o), t.triggerEvent(e.me, "fetch:beforeRequest", o); var c = !1; return ( (r = o).timeout && setTimeout(function () { c || i.abort(); }, r.timeout), fetch(n, r) .then(function (n) { var r = { response: n }; return ( t.triggerEvent(e.me, "fetch:afterResponse", r), (n = r.response), "response" === a ? ((e.result = n), t.triggerEvent(e.me, "fetch:afterRequest", { result: n, }), (c = !0), t.findNext(s, e)) : "json" === a ? n.json().then(function (n) { return ( (e.result = n), t.triggerEvent(e.me, "fetch:afterRequest", { result: n, }), (c = !0), t.findNext(s, e) ); }) : n.text().then(function (n) { return ( u && (n = t.convertValue(n, u)), "html" === a && (n = t.convertValue(n, "Fragment")), (e.result = n), t.triggerEvent(e.me, "fetch:afterRequest", { result: n, }), (c = !0), t.findNext(s, e) ); }) ); }) .catch(function (n) { throw ( (t.triggerEvent(e.me, "fetch:error", { reason: n }), n) ); }) .finally(function () { e.me.removeEventListener("fetch:abort", l); }) ); }, }; return s; } }), "document" in d) ) { var R = Array.from( document.querySelectorAll("script[type='text/hyperscript'][src]") ); Promise.all( R.map(function (e) { return fetch(e.src).then(function (e) { return e.text(); }); }) ) .then(function (e) { return e.forEach(T.evaluate); }) .then(function () { var e; (e = function () { var e, t; (t = (e = document.querySelector('meta[name="htmx-config"]')) ? (function (e) { try { return JSON.parse(e); } catch (e) { return ( (t = e), console.error ? console.error(t) : console.log && console.log("ERROR: ", t), null ); } var t; })(e.content) : null) && (p.config = c(p.config, t)), T.processNode(document.documentElement), document.addEventListener("htmx:load", function (e) { T.processNode(e.detail.elt); }); }), "loading" !== document.readyState ? setTimeout(e) : document.addEventListener("DOMContentLoaded", e); }); } var A = (p = c( function (e, t) { return T.evaluate(e, t); }, { internals: { lexer: v, parser: y, runtime: T }, ElementCollection: h, addFeature: function (e, t) { y.addFeature(e, t); }, addCommand: function (e, t) { y.addCommand(e, t); }, addLeafExpression: function (e, t) { y.addLeafExpression(e, t); }, addIndirectExpression: function (e, t) { y.addIndirectExpression(e, t); }, evaluate: T.evaluate.bind(T), parse: T.parse.bind(T), processNode: T.processNode.bind(T), config: { attributes: "_, script, data-script", defaultTransition: "all 500ms ease-in", disableSelector: "[disable-scripting], [data-disable-scripting]", conversions: E, }, } )); function F() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace( /[xy]/g, function (e) { var t = (16 * Math.random()) | 0; return ("x" == e ? t : (3 & t) | 8).toString(16); } ); } function P(e) { var t = (function (e) { var t = e; if (0 === t.indexOf("/")) { var n = window.location.hostname + (window.location.port ? ":" + window.location.port : ""); "https:" === window.location.protocol ? (t = "wss://" + n + t) : "http:" === window.location.protocol && (t = "ws://" + n + t); } return t; })(e.evaluate()); return new WebSocket(t); } return ( (function (e) { e.addCommand("settle", function (e, t, n) { if (n.matchToken("settle")) { if (e.commandBoundary(n.currentToken())) r = e.requireElement("implicitMeTarget", n); else var r = e.requireElement("expression", n); var o = { type: "settleCmd", args: [r], op: function (e, n) { t.nullCheck(n, r); var i = null, a = !1, u = new Promise(function (e) { i = e; }); return ( n.addEventListener( "transitionstart", function () { a = !0; }, { once: !0 } ), setTimeout(function () { a || i(t.findNext(o, e)); }, 500), n.addEventListener( "transitionend", function () { i(t.findNext(o, e)); }, { once: !0 } ), u ); }, execute: function (e) { return t.unifiedExec(this, e); }, }; return o; } }), e.addCommand("add", function (e, t, n) { if (n.matchToken("add")) { var r = e.parseElement("classRef", n), o = null, i = null; if (null == r) null == (o = e.parseElement("attributeRef", n)) && null == (i = e.parseElement("styleLiteral", n)) && e.raiseParseError( n, "Expected either a class reference or attribute expression" ); else for (var a = [r]; (r = e.parseElement("classRef", n)); ) a.push(r); if (n.matchToken("to")) var u = e.requireElement("expression", n); else u = e.requireElement("implicitMeTarget", n); if (n.matchToken("when")) { i && e.raiseParseError( n, "Only class and properties are supported with a when clause" ); var s = e.requireElement("expression", n); } return a ? { classRefs: a, to: u, args: [u, a], op: function (e, n, r) { return ( t.nullCheck(n, u), t.forEach(r, function (r) { t.implicitLoop(n, function (n) { s ? ((e.result = n), t.evaluateNoPromise(s, e) ? n instanceof Element && n.classList.add(r.className) : n instanceof Element && n.classList.remove(r.className), (e.result = null)) : n instanceof Element && n.classList.add(r.className); }); }), t.findNext(this, e) ); }, } : o ? { type: "addCmd", attributeRef: o, to: u, args: [u], op: function (e, n, r) { return ( t.nullCheck(n, u), t.implicitLoop(n, function (n) { s ? ((e.result = n), t.evaluateNoPromise(s, e) ? n.setAttribute(o.name, o.value) : n.removeAttribute(o.name), (e.result = null)) : n.setAttribute(o.name, o.value); }), t.findNext(this, e) ); }, execute: function (e) { return t.unifiedExec(this, e); }, } : { type: "addCmd", cssDeclaration: i, to: u, args: [u, i], op: function (e, n, r) { return ( t.nullCheck(n, u), t.implicitLoop(n, function (e) { e.style.cssText += r; }), t.findNext(this, e) ); }, execute: function (e) { return t.unifiedExec(this, e); }, }; } }), e.internals.parser.addGrammarElement( "styleLiteral", function (e, t, n) { if (n.matchOpToken("{")) { for (var r = [""], o = []; n.hasMore(); ) { if (n.matchOpToken("\\")) n.consumeToken(); else { if (n.matchOpToken("}")) break; if (n.matchToken("$")) { var i = n.matchOpToken("{"), a = e.parseElement("expression", n); i && n.requireOpToken("}"), o.push(a), r.push(""); } else { var u = n.consumeToken(); r[r.length - 1] += n.source.substring(u.start, u.end); } } r[r.length - 1] += n.lastWhitespace(); } return { type: "styleLiteral", args: [o], op: function (e, t) { var n = ""; return ( r.forEach(function (e, r) { (n += e), r in t && (n += t[r]); }), n ); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } } ), e.addCommand("remove", function (e, t, n) { if (n.matchToken("remove")) { var r = e.parseElement("classRef", n), o = null, i = null; if (null == r) null == (o = e.parseElement("attributeRef", n)) && null == (i = e.parseElement("expression", n)) && e.raiseParseError( n, "Expected either a class reference, attribute expression or value expression" ); else for (var a = [r]; (r = e.parseElement("classRef", n)); ) a.push(r); if (n.matchToken("from")) var u = e.requireElement("expression", n); else u = e.requireElement("implicitMeTarget", n); return i ? { elementExpr: i, from: u, args: [i], op: function (e, n) { return ( t.nullCheck(n, i), t.implicitLoop(n, function (e) { e.parentElement && e.parentElement.removeChild(e); }), t.findNext(this, e) ); }, } : { classRefs: a, attributeRef: o, elementExpr: i, from: u, args: [a, u], op: function (e, n, r) { return ( t.nullCheck(r, u), n ? t.forEach(n, function (e) { t.implicitLoop(r, function (t) { t.classList.remove(e.className); }); }) : t.implicitLoop(r, function (e) { e.removeAttribute(o.name); }), t.findNext(this, e) ); }, }; } }), e.addCommand("toggle", function (e, t, n) { if (n.matchToken("toggle")) { if ( (n.matchAnyToken("the", "my"), "STYLE_REF" === n.currentToken().type) ) { var o = n.consumeToken().value.substr(1), i = !0, a = r(e, n, o); if (n.matchToken("of")) { n.pushFollow("with"); try { var u = e.requireElement("expression", n); } finally { n.popFollow(); } } else u = e.requireElement("implicitMeTarget", n); } else if (n.matchToken("between")) { var s = !0, l = e.parseElement("classRef", n); n.requireToken("and"); var c = e.requireElement("classRef", n); } else { l = e.parseElement("classRef", n); var f = null; if (null == l) null == (f = e.parseElement("attributeRef", n)) && e.raiseParseError( n, "Expected either a class reference or attribute expression" ); else for (var m = [l]; (l = e.parseElement("classRef", n)); ) m.push(l); } if ( (!0 !== i && (u = n.matchToken("on") ? e.requireElement("expression", n) : e.requireElement("implicitMeTarget", n)), n.matchToken("for")) ) var p = e.requireElement("expression", n); else if (n.matchToken("until")) { var d = e.requireElement( "dotOrColonPath", n, "Expected event name" ); if (n.matchToken("from")) var h = e.requireElement("expression", n); } var v = { classRef: l, classRef2: c, classRefs: m, attributeRef: f, on: u, time: p, evt: d, from: h, toggle: function (e, n, r, o) { t.nullCheck(e, u), i ? t.implicitLoop(e, function (e) { a("toggle", e); }) : s ? t.implicitLoop(e, function (e) { e.classList.contains(n.className) ? (e.classList.remove(n.className), e.classList.add(r.className)) : (e.classList.add(n.className), e.classList.remove(r.className)); }) : o ? t.forEach(o, function (n) { t.implicitLoop(e, function (e) { e.classList.toggle(n.className); }); }) : t.forEach(e, function (e) { e.hasAttribute(f.name) ? e.removeAttribute(f.name) : e.setAttribute(f.name, f.value); }); }, args: [u, p, d, h, l, c, m], op: function (e, n, r, o, i, a, u, s) { return r ? new Promise(function (o) { v.toggle(n, a, u, s), setTimeout(function () { v.toggle(n, a, u, s), o(t.findNext(v, e)); }, r); }) : o ? new Promise(function (r) { (i || e.me).addEventListener( o, function () { v.toggle(n, a, u, s), r(t.findNext(v, e)); }, { once: !0 } ), v.toggle(n, a, u, s); }) : (this.toggle(n, a, u, s), t.findNext(v, e)); }, }; return v; } }); var t = { display: function (n, r, o) { if (o) r.style.display = o; else if ("toggle" === n) "none" === getComputedStyle(r).display ? t.display("show", r, o) : t.display("hide", r, o); else if ("hide" === n) { var i = e.internals.runtime.getInternalData(r); null == i.originalDisplay && (i.originalDisplay = r.style.display), (r.style.display = "none"); } else { var a = e.internals.runtime.getInternalData(r); a.originalDisplay && "none" !== a.originalDisplay ? (r.style.display = a.originalDisplay) : r.style.removeProperty("display"); } }, visibility: function (e, n, r) { r ? (n.style.visibility = r) : "toggle" === e ? "hidden" === getComputedStyle(n).visibility ? t.visibility("show", n, r) : t.visibility("hide", n, r) : (n.style.visibility = "hide" === e ? "hidden" : "visible"); }, opacity: function (e, n, r) { r ? (n.style.opacity = r) : "toggle" === e ? "0" === getComputedStyle(n).opacity ? t.opacity("show", n, r) : t.opacity("hide", n, r) : (n.style.opacity = "hide" === e ? "0" : "1"); }, }, n = function (e, t, n) { var r = n.currentToken(); return "when" === r.value || "with" === r.value || e.commandBoundary(r) ? e.parseElement("implicitMeTarget", n) : e.parseElement("expression", n); }, r = function (n, r, o) { var i = e.config.defaultHideShowStrategy, a = t; e.config.hideShowStrategies && (a = c(a, e.config.hideShowStrategies)); var u = a[(o = o || i || "display")]; return ( null == u && n.raiseParseError(r, "Unknown show/hide strategy : " + o), u ); }; function o(t, n, r, o) { if (null != r) var i = t.resolveSymbol(r, n); else i = n; if (i instanceof Element || i instanceof HTMLDocument) { for (; i.firstChild; ) i.removeChild(i.firstChild); i.append(e.internals.runtime.convertValue(o, "Fragment")); } else { if (null == r) throw "Don't know how to put a value into " + typeof n; t.setSymbol(r, n, null, o); } } function i(e, t, n) { var r; if ( n.matchToken("the") || n.matchToken("element") || n.matchToken("elements") || "CLASS_REF" === n.currentToken().type || "ID_REF" === n.currentToken().type || (n.currentToken().op && "<" === n.currentToken().value) ) { e.possessivesDisabled = !0; try { r = e.parseElement("expression", n); } finally { delete e.possessivesDisabled; } n.matchOpToken("'") && n.requireToken("s"); } else if ( "IDENTIFIER" === n.currentToken().type && "its" === n.currentToken().value ) { var o = n.matchToken("its"); r = { type: "pseudopossessiveIts", token: o, name: o.value, evaluate: function (e) { return t.resolveSymbol("it", e); }, }; } else n.matchToken("my") || n.matchToken("me"), (r = e.parseElement("implicitMeTarget", n)); return r; } e.addCommand("hide", function (e, t, o) { if (o.matchToken("hide")) { var i = n(e, 0, o), a = null; o.matchToken("with") && 0 === (a = o.requireTokenType("IDENTIFIER", "STYLE_REF").value).indexOf( "*" ) && (a = a.substr(1)); var u = r(e, o, a); return { target: i, args: [i], op: function (e, n) { return ( t.nullCheck(n, i), t.implicitLoop(n, function (e) { u("hide", e); }), t.findNext(this, e) ); }, }; } }), e.addCommand("show", function (e, t, o) { if (o.matchToken("show")) { var i = n(e, 0, o), a = null; o.matchToken("with") && 0 === (a = o.requireTokenType( "IDENTIFIER", "STYLE_REF" ).value).indexOf("*") && (a = a.substr(1)); var u = null; if (o.matchOpToken(":")) { var s = o.consumeUntilWhitespace(); o.matchTokenType("WHITESPACE"), (u = s .map(function (e) { return e.value; }) .join("")); } if (o.matchToken("when")) var l = e.requireElement("expression", o); var c = r(e, o, a); return { target: i, when: l, args: [i], op: function (e, n) { return ( t.nullCheck(n, i), t.implicitLoop(n, function (n) { l ? ((e.result = n), t.evaluateNoPromise(l, e) ? c("show", n, u) : c("hide", n), (e.result = null)) : c("show", n, u); }), t.findNext(this, e) ); }, }; } }), e.addCommand("take", function (e, t, n) { if (n.matchToken("take")) { var r = e.requireElement("classRef", n); if (n.matchToken("from")) var o = e.requireElement("expression", n); else o = r; if (n.matchToken("for")) var i = e.requireElement("expression", n); else i = e.requireElement("implicitMeTarget", n); return { classRef: r, from: o, forElt: i, args: [r, o, i], op: function (e, n, r, a) { t.nullCheck(r, o), t.nullCheck(a, i); var u = n.className; return ( t.implicitLoop(r, function (e) { e.classList.remove(u); }), t.implicitLoop(a, function (e) { e.classList.add(u); }), t.findNext(this, e) ); }, }; } }), e.addCommand("put", function (e, t, n) { if (n.matchToken("put")) { var r = e.requireElement("expression", n), i = n.matchAnyToken("into", "before", "after"); null == i && n.matchToken("at") && (n.matchToken("the"), (i = n.matchAnyToken("start", "end")), n.requireToken("of")), null == i && e.raiseParseError( n, "Expected one of 'into', 'before', 'at start of', 'at end of', 'after'" ); var a = e.requireElement("expression", n), u = i.value, s = !1, l = !1, c = null, f = null; if ("arrayIndex" === a.type && "into" === u) (s = !0), (f = a.prop), (c = a.root); else if (a.prop && a.root && "into" === u) (f = a.prop.value), (c = a.root); else if ("symbol" === a.type && "into" === u) (l = !0), (f = a.name); else if ("attributeRef" === a.type && "into" === u) { var m = !0; (f = a.name), (c = e.requireElement("implicitMeTarget", n)); } else if ("styleRef" === a.type && "into" === u) { var p = !0; (f = a.name), (c = e.requireElement("implicitMeTarget", n)); } else a.attribute && "into" === u ? ((m = "attributeRef" === a.attribute.type), (p = "styleRef" === a.attribute.type), (f = a.attribute.name), (c = a.root)) : (c = a); var d = { target: a, operation: u, symbolWrite: l, value: r, args: [c, f, r], op: function (e, n, r, i) { if (l) o(t, e, r, i); else if ((t.nullCheck(n, c), "into" === u)) m ? t.implicitLoop(n, function (e) { e.setAttribute(r, i); }) : p ? t.implicitLoop(n, function (e) { e.style[r] = i; }) : s ? (n[r] = i) : t.implicitLoop(n, function (e) { o(t, e, r, i); }); else { var a = "before" === u ? Element.prototype.before : "after" === u ? Element.prototype.after : "start" === u ? Element.prototype.prepend : Element.prototype.append; t.implicitLoop(n, function (e) { a.call( e, i instanceof Node ? i : t.convertValue(i, "Fragment") ); }); } return t.findNext(this, e); }, }; return d; } }), e.addCommand("transition", function (t, n, r) { if (r.matchToken("transition")) { for ( var o = i(t, n, r), a = [], u = [], s = [], l = r.currentToken(); !t.commandBoundary(l) && "over" !== l.value && "using" !== l.value; ) "STYLE_REF" === r.currentToken().type ? (function () { var e = r.consumeToken().value.substr(1); a.push({ type: "styleRefValue", evaluate: function () { return e; }, }); })() : a.push(t.requireElement("stringLike", r)), r.matchToken("from") ? u.push(t.requireElement("expression", r)) : u.push(null), r.requireToken("to"), r.matchToken("initial") ? s.push({ type: "initial_literal", evaluate: function () { return "initial"; }, }) : s.push(t.requireElement("expression", r)), (l = r.currentToken()); if (r.matchToken("over")) var c = t.requireElement("expression", r); else if (r.matchToken("using")) var f = t.requireElement("expression", r); var m = { to: s, args: [o, a, u, s, f, c], op: function (t, r, i, a, u, s, l) { n.nullCheck(r, o); var c = []; return ( n.implicitLoop(r, function (t) { var r = new Promise(function (r, o) { var c = t.style.transition; t.style.transition = l ? "all " + l + "ms ease-in" : s || e.config.defaultTransition; for ( var f = n.getInternalData(t), m = getComputedStyle(t), p = {}, d = 0; d < m.length; d++ ) { var h = m[d]; p[h] = m[h]; } for ( f.initalStyles || (f.initalStyles = p), d = 0; d < i.length; d++ ) { var v = i[d], y = a[d]; t.style[v] = "computed" === y || null == y ? p[v] : y; } var E = !1, T = !1; t.addEventListener( "transitionend", function () { T || ((t.style.transition = c), (T = !0), r()); }, { once: !0 } ), t.addEventListener( "transitionstart", function () { E = !0; }, { once: !0 } ), setTimeout(function () { T || E || ((t.style.transition = c), (T = !0), r()); }, 100), setTimeout(function () { for (var e = 0; e < i.length; e++) { var n = i[e], r = u[e]; t.style[n] = "initial" === r ? f.initalStyles[n] : r; } }, 0); }); c.push(r); }), Promise.all(c).then(function () { return n.findNext(m, t); }) ); }, }; return m; } }), e.addCommand("measure", function (e, t, n) { if (n.matchToken("measure")) { var r = i(e, t, n), o = []; if (!e.commandBoundary(n.currentToken())) do { o.push(n.matchTokenType("IDENTIFIER").value); } while (n.matchOpToken(",")); return { properties: o, args: [r], op: function (e, n) { t.nullCheck(n, r), 0 in n && (n = n[0]); var i = n.getBoundingClientRect(), a = { top: n.scrollTop, left: n.scrollLeft, topMax: n.scrollTopMax, leftMax: n.scrollLeftMax, height: n.scrollHeight, width: n.scrollWidth, }; return ( (e.result = { x: i.x, y: i.y, left: i.left, top: i.top, right: i.right, bottom: i.bottom, width: i.width, height: i.height, bounds: i, scrollLeft: a.left, scrollTop: a.top, scrollLeftMax: a.leftMax, scrollTopMax: a.topMax, scrollWidth: a.width, scrollHeight: a.height, scroll: a, }), t.forEach(o, function (t) { if (!(t in e.result)) throw "No such measurement as " + t; e[t] = e.result[t]; }), t.findNext(this, e) ); }, }; } }), e.addLeafExpression("closestExpr", function (e, t, n) { if (n.matchToken("closest")) { if (n.matchToken("parent")) var r = !0; var o = null; if ("ATTRIBUTE_REF" === n.currentToken().type) { var i = e.requireElement("attributeRefAccess", n, null); o = "[" + i.attribute.name + "]"; } if (null == o) { var a = e.requireElement("expression", n); null == a.css ? e.raiseParseError(n, "Expected a CSS expression") : (o = a.css); } if (n.matchToken("to")) var u = e.parseElement("expression", n); else u = e.parseElement("implicitMeTarget", n); var s = { type: "closestExpr", parentSearch: r, expr: a, css: o, to: u, args: [u], op: function (e, n) { if (null == n) return null; var i = []; return ( t.implicitLoop(n, function (e) { i.push( r ? e.parentElement ? e.parentElement.closest(o) : null : e.closest(o) ); }), t.shouldAutoIterate(n) ? i : i[0] ); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; return i ? ((i.root = s), (i.args = [s]), i) : s; } }), e.addCommand("go", function (e, t, n) { if (n.matchToken("go")) { if (n.matchToken("back")) var r = !0; else if ((n.matchToken("to"), n.matchToken("url"))) { var o = e.requireElement("stringLike", n), i = !0; if (n.matchToken("in")) { n.requireToken("new"), n.requireToken("window"); var a = !0; } } else { n.matchToken("the"); var u = n.matchAnyToken("top", "middle", "bottom"), s = n.matchAnyToken("left", "center", "right"); (u || s) && n.requireToken("of"), (o = e.requireElement("unaryExpression", n)); var l = n.matchAnyOpToken("+", "-"); if (l) { n.pushFollow("px"); try { var c = e.requireElement("expression", n); } finally { n.popFollow(); } } n.matchToken("px"); var f = n.matchAnyToken("smoothly", "instantly"), m = {}; u && ("top" === u.value ? (m.block = "start") : "bottom" === u.value ? (m.block = "end") : "middle" === u.value && (m.block = "center")), s && ("left" === s.value ? (m.inline = "start") : "center" === s.value ? (m.inline = "center") : "right" === s.value && (m.inline = "end")), f && ("smoothly" === f.value ? (m.behavior = "smooth") : "instantly" === f.value && (m.behavior = "instant")); } var p = { target: o, args: [o, c], op: function (e, n, o) { return ( r ? window.history.back() : i ? n && (a ? window.open(n) : (window.location.href = n)) : t.implicitLoop(n, function (e) { if ((e === window && (e = document.body), l)) { var t = e.getBoundingClientRect(), n = document.createElement("div"); if ("-" === l.value) var r = -o; else r = o; (n.style.position = "absolute"), (n.style.top = t.x + r + "px"), (n.style.left = t.y + r + "px"), (n.style.height = t.height + 2 * r + "px"), (n.style.width = t.width + 2 * r + "px"), (n.style.zIndex = "" + Number.MIN_SAFE_INTEGER), (n.style.opacity = "0"), document.body.appendChild(n), setTimeout(function () { document.body.removeChild(n); }, 100), (e = n); } e.scrollIntoView(m); }), t.findNext(p, e) ); }, }; return p; } }), e.config.conversions.dynamicResolvers.push(function (t, n) { if ("Values" === t || 0 === t.indexOf("Values:")) { var r = t.split(":")[1], o = {}; if ( ((0, e.internals.runtime.implicitLoop)(n, function (e) { var t = a(e); void 0 === t ? null != e.querySelectorAll && e.querySelectorAll("input,select,textarea").forEach(i) : (o[t.name] = t.value); }), r) ) { if ("JSON" === r) return JSON.stringify(o); if ("Form" === r) return new URLSearchParams(o).toString(); throw "Unknown conversion: " + r; } return o; } function i(e) { var t = a(e); null != t && (null != o[t.name] ? Array.isArray(o[t.name]) && Array.isArray(t.value) && (o[t.name] = [].concat(o[t.name], t.value)) : (o[t.name] = t.value)); } function a(e) { try { var t = { name: e.name, value: e.value }; if (null == t.name || null == t.value) return; if ("radio" == e.type && 0 == e.checked) return; if ( ("checkbox" == e.type && (0 == e.checked ? (t.value = void 0) : "string" == typeof t.value && (t.value = [t.value])), "select-multiple" == e.type) ) { var n = e.querySelectorAll("option[selected]"); t.value = []; for (var r = 0; r < n.length; r++) t.value.push(n[r].value); } return t; } catch (e) { return; } } }), (e.config.conversions.HTML = function (e) { return (function e(t) { if (t instanceof Array) return t .map(function (t) { return e(t); }) .join(""); if (t instanceof HTMLElement) return t.outerHTML; if (t instanceof NodeList) { for (var n = "", r = 0; r < t.length; r++) { var o = t[r]; o instanceof HTMLElement && (n += o.outerHTML); } return n; } return t.toString ? t.toString() : ""; })(e); }), (e.config.conversions.Fragment = function (t) { var n = document.createDocumentFragment(); return ( e.internals.runtime.implicitLoop(t, function (e) { if (e instanceof Node) n.append(e); else { var t = document.createElement("template"); (t.innerHTML = e), n.append(t.content); } }), n ); }); })(A), (function (e) { var t = 0, n = "(" + function (e) { e.onmessage = function (t) { switch (t.data.type) { case "init": e.importScripts(t.data._hyperscript), e.importScripts.apply(e, t.data.extraScripts); var n = e._hyperscript, r = n.internals.lexer.makeTokensObject( t.data.tokens, [], t.data.source ); n.internals.parser.parseElement("hyperscript", r).apply(e, e), postMessage({ type: "didInit" }); break; case "call": try { var o = e._hyperscript.internals.runtime .getHyperscriptFeatures(e) [t.data.function].apply(e, t.data.args); Promise.resolve(o) .then(function (e) { postMessage({ type: "resolve", id: t.data.id, value: e, }); }) .catch(function (e) { postMessage({ type: "reject", id: t.data.id, error: e.toString(), }); }); } catch (e) { postMessage({ type: "reject", id: t.data.id, error: e.toString(), }); } } }; }.toString() + ")(self)", r = new Blob([n], { type: "text/javascript" }), o = URL.createObjectURL(r); e.addFeature("worker", function (e, n, r) { if (r.matchToken("worker")) { var i = e.requireElement("dotOrColonPath", r).evaluate().split("."), a = i.pop(), u = []; if (r.matchOpToken("(")) if (r.matchOpToken(")")); else { do { var s = r.requireTokenType("STRING").value, l = new URL(s, location.href).href; u.push(l); } while (r.matchOpToken(",")); r.requireOpToken(")"); } var c = [], f = r.consumed.length, m = r.consumed.length; do { var p = e.parseAnyOf(["defFeature", "jsFeature"], r); if (!p) break; if ("defFeature" === p.type) c.push(p.name), (m = r.consumed.length); else if (r.hasMore()) continue; } while (r.matchToken("end") && r.hasMore()); var d = r.consumed.slice(f, m + 1), h = new Worker(o); h.postMessage({ type: "init", _hyperscript: n.hyperscriptUrl, extraScripts: u, tokens: d, source: r.source, }); var v = new Promise(function (e, t) { h.addEventListener( "message", function (t) { "didInit" === t.data.type && e(); }, { once: !0 } ); }), y = {}; return ( c.forEach(function (e) { console.log(e), (y[e] = function () { var n = arguments; return new Promise(function (r, o) { var i = t++; h.addEventListener("message", function e(t) { t.data.id === i && (h.removeEventListener("message", e), "resolve" === t.data.type ? r(t.data.value) : o(t.data.error)); }), v.then(function () { h.postMessage({ type: "call", function: e, args: Array.from(n), id: i, }); }); }); }); }), { name: a, worker: h, install: function (e) { n.assignToNamespace(e, i, a, y); }, } ); } }); })(A), (function (e) { var t = ["then", "catch", "length", "asyncWrapper", "toJSON"]; e.addFeature("socket", function (e, n, r) { if (r.matchToken("socket")) { var o = e.requireElement("dotOrColonPath", r).evaluate().split("."), i = o.pop(), a = {}, u = e.requireElement("stringLike", r), s = 1e4; if ( (r.matchToken("with") && (r.requireToken("timeout"), (s = e.requireElement("expression", r).evaluate())), r.matchToken("on")) ) { if ((r.requireToken("message"), r.matchToken("as"))) { r.requireToken("json"); var l = !0; } for ( var f = e.requireElement("commandList", r), m = { type: "implicitReturn", op: function (e) { return n.HALT; }, execute: function (e) {}, }, p = f; p.next; ) p = p.next; p.next = m; } var d = P(u), h = (function e(n) { return new Proxy( {}, { get: function (r, o) { return t.indexOf(o) >= 0 ? null : "noTimeout" === o ? e(-1) : "timeout" === o ? function (t) { return e(parseInt(t)); } : function () { for ( var e = F(), t = [], r = 0; r < arguments.length; r++ ) t.push(arguments[r]); var i = { iid: e, function: o, args: t }; (d = d || P(u)).send(JSON.stringify(i)); var s = new Promise(function (t, n) { a[e] = { resolve: t, reject: n }; }); return ( n >= 0 && setTimeout(function () { a[e] && a[e].reject("Timed out"), delete a[e]; }, n), s ); }; }, } ); })(s), v = { raw: d, dispatchEvent: function (e) { var t = e.detail; delete t.sender, delete t._namedArgList_, d.send(JSON.stringify(c({ type: e.type }, t))); }, rpc: h, }, y = { name: i, socket: v, install: function (e) { n.assignToNamespace(e, o, i, v); }, }; return ( (d.onmessage = function (e) { var t = e.data; try { var r = JSON.parse(t); } catch (e) {} if ( (r && r.iid && (r.throw ? a[r.iid].reject(r.throw) : a[r.iid].resolve(r.return), delete a[r.iid]), f) ) { var o = n.makeContext(v, y, v); if (l) { if (!r) throw "Received non-JSON message from socket: " + t; (o.message = r), (o.result = r); } else (o.message = t), (o.result = t); f.execute(o); } }), d.addEventListener("close", function (e) { d = null; }), y ); } }); })(A), (function (e) { e.addFeature("eventsource", function (e, t, n) { if (n.matchToken("eventsource")) { var r, o = function (e, n) { return function (r) { var o = i(r.data, e), a = t.makeContext(c, f, c); (a.event = r), (a.result = o), n.execute(a); }; }, i = function (e, t) { return "json" == t ? JSON.parse(e) : e; }, a = function e(n) { if (n.next) return e(n.next); n.next = { type: "implicitReturn", op: function (e) { return t.HALT; }, execute: function (e) {}, }; }, u = !1, s = e.requireElement("dotOrColonPath", n).evaluate().split("."), l = s.pop(); n.matchToken("from") && (r = e.requireElement("stringLike", n)), n.matchToken("with") && n.matchToken("credentials") && (u = !0); for ( var c = { eventSource: null, listeners: [], retryCount: 0, open: function (e) { if (null == e) { if (null == c.eventSource || null == c.eventSource.url) throw "no url defined for EventSource."; e = c.eventSource.url; } if (null != c.eventSource) if (e != c.eventSource.url) c.eventSource.close(); else if (c.eventSource.readyState != EventSource.CLOSED) return; (c.eventSource = new EventSource(e, { withCredentials: u })), c.eventSource.addEventListener("open", function (e) { c.retryCount = 0; }), c.eventSource.addEventListener("error", function (e) { if (c.eventSource.readyState == EventSource.CLOSED) { c.retryCount = Math.min(7, c.retryCount + 1); var t = Math.random() * (2 ^ c.retryCount) * 500; window.setTimeout(c.open, t); } }); for (var t = 0; t < c.listeners.length; t++) { var n = c.listeners[t]; c.eventSource.addEventListener( n.type, n.handler, n.options ); } }, close: function () { null != c.eventSource && c.eventSource.close(), (c.retryCount = 0); }, addEventListener: function (e, t, n) { c.listeners.push({ type: e, handler: t, options: n }), null != c.eventSource && c.eventSource.addEventListener(e, t, n); }, }, f = { name: l, object: c, install: function (e) { t.assignToNamespace(e, s, l, c); }, }; n.matchToken("on"); ) { var m = e .requireElement("stringLike", n, "Expected event name") .evaluate(), p = ""; n.matchToken("as") && (p = e .requireElement("stringLike", n, "Expected encoding type") .evaluate()); var d = e.requireElement("commandList", n); a(d), n.requireToken("end"), c.listeners.push({ type: m, handler: o(p, d) }); } return n.requireToken("end"), null != r && c.open(r.evaluate()), f; } }); })(A), (function (e) { e.addCommand("render", function (t, n, r) { if (r.matchToken("render")) { var o = t.requireElement("expression", r), i = {}; return ( r.matchToken("with") && (i = t.parseElement("namedArgumentList", r)), { args: [o, i], op: function (t, r, i) { if (!(r instanceof Element)) throw new Error(o.sourceFor() + " is not an element"); return ( (t.result = (function (t, n) { var r = []; return ( e.evaluate( t, Object.assign({ __ht_template_result: r }, n) ), r.join("") ); })( (function (e) { return e.replace(/(?:^|\n)([^@]*)@?/gm, function (e, t) { return ( "\ncall __ht_template_result.push(`" + (" " + t) .replace(/([^\\])\$\{/g, "$1$${escape html ") .substring(1) + "`)\n" ); }); })(r.innerHTML), i )), n.findNext(this, t) ); }, } ); } }), e.addLeafExpression("escape", function (e, t, n) { if (n.matchToken("escape")) { var r = n.matchTokenType("IDENTIFIER").value, o = n.matchToken("unescaped"); return { args: [e.requireElement("expression", n)], op: function (e, t) { if (o) return t; if (void 0 === t) return ""; if ("html" === r) return String(t) .replace(/&/g, "&") .replace(//g, ">") .replace(/\x22/g, """) .replace(/\x27/g, "'"); throw new Error("Unknown escape: " + r); }, evaluate: function (e) { return t.unifiedEval(this, e); }, }; } }); })(A), (function (e) { function t(t, n, r) { (this.ctx = t), (this.runtime = n), (this.cmd = r), (this._hyperscript = e), (this.cmdMap = []), (this.bus = new EventTarget()); } e.addCommand("breakpoint", function (e, n, r) { var o; if (r.matchToken("breakpoint")) return { op: function (e) { globalThis.hdb = o = new t(e, n, this); try { return o.break(e); } catch (e) { console.error(e, e.stack); } }, }; }), (t.prototype.break = function (e) { var t = this; return ( console.log("=== HDB///_hyperscript/debugger ==="), this.ui(), new Promise(function (n, r) { t.bus.addEventListener( "continue", function () { if (t.ctx !== e) { for (var r in e) delete e[r]; Object.assign(e, t.ctx); } delete window.hdb, n(t.runtime.findNext(t.cmd, t.ctx)); }, { once: !0 } ); }) ); }), (t.prototype.continueExec = function () { this.bus.dispatchEvent(new Event("continue")); }), (t.prototype.stepOver = function () { var e = this; if (!this.cmd) return this.continueExec(); var t = this.cmd && "breakpointCommand" === this.cmd.type ? this.runtime.findNext(this.cmd, this.ctx) : this.runtime.unifiedEval(this.cmd, this.ctx); return "implicitReturn" === t.type ? this.stepOut() : t && t.then instanceof Function ? t.then(function (t) { (e.cmd = t), e.bus.dispatchEvent(new Event("step")), e.logCommand(); }) : void (t.halt_flag ? this.bus.dispatchEvent(new Event("continue")) : ((this.cmd = t), this.bus.dispatchEvent(new Event("step")), this.logCommand())); }), (t.prototype.stepOut = function () { if (!this.ctx.meta.caller) return this.continueExec(); var e = this.ctx.meta.callingCommand, t = this.ctx.me; (this.ctx = this.ctx.meta.caller), console.log( "[hdb] stepping out into " + this.ctx.meta.feature.displayName ), this.ctx.me instanceof Element && this.ctx.me !== t && console.log("[hdb] me: ", this.ctx.me), (this.cmd = this.runtime.findNext(e, this.ctx)), (this.cmd = this.runtime.findNext(this.cmd, this.ctx)), this.logCommand(), this.bus.dispatchEvent(new Event("step")); }), (t.prototype.skipTo = function (e) { (this.cmd = e.cmd), this.bus.dispatchEvent(new Event("skip")); }), (t.prototype.rewrite = function (t, n) { console.log("##", t); for ( var r, o, i = t.cmd.parent, a = l(i.children); !(o = a()).done && (r = o.value).next !== t.cmd; ); var u = t.next, s = e.internals.lexer.tokenize(n), c = e.internals.parser.requireElement("command", s); console.log(c), (c.startToken = t.startToken), (c.endToken = t.endToken), (c.programSource = t.programSource), (c.sourceFor = function () { return n; }), (r.next = c), (c.next = u), (c.parent = i), this.bus.dispatchEvent(new Event("step")); }), (t.prototype.logCommand = function () { var e = this.cmd.sourceFor instanceof Function ? this.cmd.sourceFor() : "-- " + this.cmd.type; console.log("[hdb] current command: " + e); }), (t.prototype.traverse = function (e) { var t = []; return ( (function e(n) { if ((t.push(n), "children" in n)) for (var r, o = l(n.children); !(r = o()).done; ) e(r.value); })(e), t ); }), (t.prototype.ui = function () { var t = document.createElement("div"), n = t.attachShadow({ mode: "open" }); (t.style.cssText = "all: initial"), (n.innerHTML = '\n
\n\n\t\n\n\t
\n\t\t

HDB

\n\t\t\n\t
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\n\t\t
    \n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\t\n\t
\n\t'), document.body.appendChild(t), e.processNode(n.querySelector(".hdb")); }); })(A), A ); });