/*! art-template@4.13.2 for browser | https://github.com/aui/art-template */ ! function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.template = t() : e.template = t() }("undefined" != typeof self ? self : this, function () { return function (e) { function t(r) { if (n[r]) return n[r].exports; var i = n[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, t), i.l = !0, i.exports } var n = {}; return t.m = e, t.c = n, t.d = function (e, n, r) { t.o(e, n) || Object.defineProperty(e, n, { configurable: !1, enumerable: !0, get: r }) }, t.n = function (e) { var n = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return t.d(n, "a", n), n }, t.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, t.p = "", t(t.s = 4) }([function (e, t, n) { "use strict"; var r = n(6), i = n(2), o = n(22), s = function (e, t) { t.onerror(e, t); var n = function () { return "{Template Error}" }; return n.mappings = [], n.sourcesContent = [], n }, a = function u(e) { var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; "string" != typeof e ? t = e : t.source = e, t = i.$extend(t), e = t.source, !0 === t.debug && (t.cache = !1, t.minimize = !1, t.compileDebug = !0), t.compileDebug && (t.minimize = !1), t.filename && (t.filename = t.resolveFilename(t.filename, t)); var n = t.filename, a = t.cache, c = t.caches; if (a && n) { var l = c.get(n); if (l) return l } if (!e) try { e = t.loader(n, t), t.source = e } catch (m) { var f = new o({ name: "CompileError", path: n, message: "template not found: " + m.message, stack: m.stack }); if (t.bail) throw f; return s(f, t) } var p = void 0, h = new r(t); try { p = h.build() } catch (f) { if (f = new o(f), t.bail) throw f; return s(f, t) } var d = function (e, n) { try { return p(e, n) } catch (f) { if (!t.compileDebug) return t.cache = !1, t.compileDebug = !0, u(t)(e, n); if (f = new o(f), t.bail) throw f; return s(f, t)() } }; return d.mappings = p.mappings, d.sourcesContent = p.sourcesContent, d.toString = function () { return p.toString() }, a && n && c.set(n, d), d }; a.Compiler = r, e.exports = a }, function (e, t) { Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g, t.matchToToken = function (e) { var t = { type: "invalid", value: e[0] }; return e[1] ? (t.type = "string", t.closed = !(!e[3] && !e[4])) : e[5] ? t.type = "comment" : e[6] ? (t.type = "comment", t.closed = !!e[7]) : e[8] ? t.type = "regex" : e[9] ? t.type = "number" : e[10] ? t.type = "name" : e[11] ? t.type = "punctuator" : e[12] && (t.type = "whitespace"), t } }, function (e, t, n) { "use strict"; function r() { this.$extend = function (e) { return e = e || {}, o(e, e instanceof r ? e : this) } } var i = n(10), o = n(12), s = n(13), a = n(14), u = n(15), c = n(16), l = n(17), f = n(18), p = n(19), h = n(21), d = "undefined" == typeof window, m = { source: null, filename: null, rules: [f, l], escape: !0, debug: !!d && "production" !== process.env.NODE_ENV, bail: !0, cache: !0, minimize: !0, compileDebug: !1, resolveFilename: h, include: s, htmlMinifier: p, htmlMinifierOptions: { collapseWhitespace: !0, minifyCSS: !0, minifyJS: !0, ignoreCustomFragments: [] }, onerror: a, loader: c, caches: u, root: "/", extname: ".art", ignore: [], imports: i }; r.prototype = m, e.exports = new r }, function (e, t) {}, function (e, t, n) { "use strict"; var r = n(5), i = n(0), o = n(23), s = function (e, t) { return t instanceof Object ? r({ filename: e }, t) : i({ filename: e, source: t }) }; s.render = r, s.compile = i, s.defaults = o, e.exports = s }, function (e, t, n) { "use strict"; var r = n(0), i = function (e, t, n) { return r(e, n)(t) }; e.exports = i }, function (e, t, n) { "use strict"; function r(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function i(e) { if (Array.isArray(e)) { for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; return n } return Array.from(e) } function o(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var s = 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) } } return function (t, n, r) { return n && e(t.prototype, n), r && e(t, r), t } }(), a = n(7), u = n(9), c = "$data", l = "$imports", f = "print", p = "include", h = "extend", d = "block", m = "$$out", v = "$$line", g = "$$blocks", y = "$$slice", b = "$$from", w = "$$options", x = function (e, t) { return Object.hasOwnProperty.call(e, t) }, k = JSON.stringify, E = function () { function e(t) { var n, s, a = this; o(this, e); var x = t.source, k = t.minimize, E = t.htmlMinifier; if (this.options = t, this.stacks = [], this.context = [], this.scripts = [], this.CONTEXT_MAP = {}, this.ignore = [c, l, w].concat(i(t.ignore)), this.internal = (n = {}, r(n, m, "''"), r(n, v, "[0,0]"), r(n, g, "arguments[1]||{}"), r(n, b, "null"), r(n, f, "function(){var s=''.concat.apply('',arguments);" + m + "+=s;return s}"), r(n, p, "function(src,data){var s=" + w + ".include(src,data||" + c + ",arguments[2]||" + g + "," + w + ");" + m + "+=s;return s}"), r(n, h, "function(from){" + b + "=from}"), r(n, y, "function(c,p,s){p=" + m + ";" + m + "='';c();s=" + m + ";" + m + "=p+s;return s}"), r(n, d, "function(){var a=arguments,s;if(typeof a[0]==='function'){return " + y + "(a[0])}else if(" + b + "){if(!" + g + "[a[0]]){" + g + "[a[0]]=" + y + "(a[1])}else{" + m + "+=" + g + "[a[0]]}}else{s=" + g + "[a[0]];if(typeof s==='string'){" + m + "+=s}else{s=" + y + "(a[1])}return s}}"), n), this.dependencies = (s = {}, r(s, f, [m]), r(s, p, [m, w, c, g]), r(s, h, [b, p]), r(s, d, [y, b, m, g]), s), this.importContext(m), t.compileDebug && this.importContext(v), k) try { x = E(x, t) } catch (T) {} this.source = x, this.getTplTokens(x, t.rules, this).forEach(function (e) { e.type === u.TYPE_STRING ? a.parseString(e) : a.parseExpression(e) }) } return s(e, [{ key: "getTplTokens", value: function () { return u.apply(undefined, arguments) } }, { key: "getEsTokens", value: function (e) { return a(e) } }, { key: "getVariables", value: function (e) { var t = !1; return e.filter(function (e) { return "whitespace" !== e.type && "comment" !== e.type }).filter(function (e) { return "name" === e.type && !t || (t = "punctuator" === e.type && "." === e.value, !1) }).map(function (e) { return e.value }) } }, { key: "importContext", value: function (e) { var t = this, n = "", r = this.internal, i = this.dependencies, o = this.ignore, s = this.context, a = this.options, u = a.imports, f = this.CONTEXT_MAP; x(f, e) || -1 !== o.indexOf(e) || (x(r, e) ? (n = r[e], x(i, e) && i[e].forEach(function (e) { return t.importContext(e) })) : n = "$escape" === e || "$each" === e || x(u, e) ? l + "." + e : c + "." + e, f[e] = n, s.push({ name: e, value: n })) } }, { key: "parseString", value: function (e) { var t = e.value; if (t) { var n = m + "+=" + k(t); this.scripts.push({ source: t, tplToken: e, code: n }) } } }, { key: "parseExpression", value: function (e) { var t = this, n = e.value, r = e.script, i = r.output, o = this.options.escape, s = r.code; i && (s = !1 === o || i === u.TYPE_RAW ? m + "+=" + r.code : m + "+=$escape(" + r.code + ")"); var a = this.getEsTokens(s); this.getVariables(a).forEach(function (e) { return t.importContext(e) }), this.scripts.push({ source: n, tplToken: e, code: s }) } }, { key: "checkExpression", value: function (e) { for (var t = [ [/^\s*}[\w\W]*?{?[\s;]*$/, ""], [/(^[\w\W]*?\([\w\W]*?(?:=>|\([\w\W]*?\))\s*{[\s;]*$)/, "$1})"], [/(^[\w\W]*?\([\w\W]*?\)\s*{[\s;]*$)/, "$1}"] ], n = 0; n < t.length;) { if (t[n][0].test(e)) { var r; e = (r = e).replace.apply(r, i(t[n])); break } n++ } try { return new Function(e), !0 } catch (o) { return !1 } } }, { key: "build", value: function () { var e = this.options, t = this.context, n = this.scripts, r = this.stacks, i = this.source, o = e.filename, s = e.imports, a = [], f = x(this.CONTEXT_MAP, h), d = 0, y = function (e, t) { var n = t.line, i = t.start, o = { generated: { line: r.length + d + 1, column: 1 }, original: { line: n + 1, column: i + 1 } }; return d += e.split(/\n/).length - 1, o }, E = function (e) { return e.replace(/^[\t ]+|[\t ]$/g, "") }; r.push("function(" + c + "){"), r.push("'use strict'"), r.push(c + "=" + c + "||{}"), r.push("var " + t.map(function (e) { return e.name + "=" + e.value }).join(",")), e.compileDebug ? (r.push("try{"), n.forEach(function (e) { e.tplToken.type === u.TYPE_EXPRESSION && r.push(v + "=[" + [e.tplToken.line, e.tplToken.start].join(",") + "]"), a.push(y(e.code, e.tplToken)), r.push(E(e.code)) }), r.push("}catch(error){"), r.push("throw {" + ["name:'RuntimeError'", "path:" + k(o), "message:error.message", "line:" + v + "[0]+1", "column:" + v + "[1]+1", "source:" + k(i), "stack:error.stack"].join(",") + "}"), r.push("}")) : n.forEach(function (e) { a.push(y(e.code, e.tplToken)), r.push(E(e.code)) }), f && (r.push(m + "=''"), r.push(p + "(" + b + "," + c + "," + g + ")")), r.push("return " + m), r.push("}"); var T = r.join("\n"); try { var O = new Function(l, w, "return " + T)(s, e); return O.mappings = a, O.sourcesContent = [i], O } catch (P) { for (var $ = 0, j = 0, _ = 0, S = void 0; $ < n.length;) { var C = n[$]; if (!this.checkExpression(C.code)) { j = C.tplToken.line, _ = C.tplToken.start, S = C.code; break } $++ } throw { name: "CompileError", path: o, message: P.message, line: j + 1, column: _ + 1, source: i, generated: S, stack: P.stack } } } }]), e }(); E.CONSTS = { DATA: c, IMPORTS: l, PRINT: f, INCLUDE: p, EXTEND: h, BLOCK: d, OPTIONS: w, OUT: m, LINE: v, BLOCKS: g, SLICE: y, FROM: b, ESCAPE: "$escape", EACH: "$each" }, e.exports = E }, function (e, t, n) { "use strict"; var r = n(8), i = n(1)["default"], o = n(1).matchToToken, s = function (e) { return e.match(i).map(function (e) { return i.lastIndex = 0, o(i.exec(e)) }).map(function (e) { return "name" === e.type && r(e.value) && (e.type = "keyword"), e }) }; e.exports = s }, function (e, t, n) { "use strict"; var r = { "abstract": !0, await: !0, "boolean": !0, "break": !0, "byte": !0, "case": !0, "catch": !0, "char": !0, "class": !0, "const": !0, "continue": !0, "debugger": !0, "default": !0, "delete": !0, "do": !0, "double": !0, "else": !0, "enum": !0, "export": !0, "extends": !0, "false": !0, "final": !0, "finally": !0, "float": !0, "for": !0, "function": !0, "goto": !0, "if": !0, "implements": !0, "import": !0, "in": !0, "instanceof": !0, "int": !0, "interface": !0, "let": !0, "long": !0, "native": !0, "new": !0, "null": !0, "package": !0, "private": !0, "protected": !0, "public": !0, "return": !0, "short": !0, "static": !0, "super": !0, "switch": !0, "synchronized": !0, "this": !0, "throw": !0, "transient": !0, "true": !0, "try": !0, "typeof": !0, "var": !0, "void": !0, "volatile": !0, "while": !0, "with": !0, "yield": !0 }; e.exports = function (e) { return r.hasOwnProperty(e) } }, function (e, t, n) { "use strict"; function r(e) { var t = new String(e.value); return t.line = e.line, t.start = e.start, t.end = e.end, t } function i(e, t, n) { this.type = e, this.value = t, this.script = null, n ? (this.line = n.line + n.value.split(/\n/).length - 1, this.line === n.line ? this.start = n.end : this.start = n.value.length - n.value.lastIndexOf("\n") - 1) : (this.line = 0, this.start = 0), this.end = this.start + this.value.length } var o = function (e, t) { for (var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, o = [new i("string", e)], s = 0; s < t.length; s++) for (var a = t[s], u = a.test.ignoreCase ? "ig" : "g", c = new RegExp(a.test.source, u), l = 0; l < o.length; l++) { var f = o[l], p = o[l - 1]; if ("string" === f.type) { for (var h = void 0, d = 0, m = [], v = f.value; null !== (h = c.exec(v));) h.index > d && (p = new i("string", v.slice(d, h.index), p), m.push(p)), p = new i("expression", h[0], p), h[0] = r(p), p.script = a.use.apply(n, h), m.push(p), d = h.index + h[0].length; d < v.length && (p = new i("string", v.slice(d), p), m.push(p)), o.splice.apply(o, [l, 1].concat(m)), l += m.length - 1 } } return o }; o.TYPE_STRING = "string", o.TYPE_EXPRESSION = "expression", o.TYPE_RAW = "raw", o.TYPE_ESCAPE = "escape", e.exports = o }, function (e, t, n) { "use strict"; (function (t) { function n(e) { return "string" != typeof e && (e = e === undefined || null === e ? "" : "function" == typeof e ? n(e.call(e)) : JSON.stringify(e)), e } function r(e) { var t = "" + e, n = s.exec(t); if (!n) return e; var r = "", i = void 0, o = void 0, a = void 0; for (i = n.index, o = 0; i < t.length; i++) { switch (t.charCodeAt(i)) { case 34: a = """; break; case 38: a = "&"; break; case 39: a = "'"; break; case 60: a = "<"; break; case 62: a = ">"; break; default: continue } o !== i && (r += t.substring(o, i)), o = i + 1, r += a } return o !== i ? r + t.substring(o, i) : r } /*! art-template@runtime | https://github.com/aui/art-template */ var i = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== t ? t : {}, o = Object.create(i), s = /["&'<>]/; o.$escape = function (e) { return r(n(e)) }, o.$each = function (e, t) { if (Array.isArray(e)) for (var n = 0, r = e.length; n < r; n++) t(e[n], n); else for (var i in e) t(e[i], i) }, e.exports = o }).call(t, n(11)) }, function (e, t) { var n; n = function () { return this }(); try { n = n || Function("return this")() || (0, eval)("this") } catch (r) { "object" == typeof window && (n = window) } e.exports = n }, function (e, t, n) { "use strict"; var r = Object.prototype.toString, i = function (e) { return null === e ? "Null" : r.call(e).slice(8, -1) }, o = function s(e, t) { var n = void 0, r = i(e); if ("Object" === r ? n = Object.create(t || {}) : "Array" === r && (n = [].concat(t || [])), n) { for (var o in e) Object.hasOwnProperty.call(e, o) && (n[o] = s(e[o], n[o])); return n } return e }; e.exports = o }, function (e, t, n) { "use strict"; var r = function (e, t, r, i) { var o = n(0); return i = i.$extend({ filename: i.resolveFilename(e, i), bail: !0, source: null }), o(i)(t, r) }; e.exports = r }, function (e, t, n) { "use strict"; var r = function (e) { console.error(e.name, e.message) }; e.exports = r }, function (e, t, n) { "use strict"; var r = { __data: Object.create(null), set: function (e, t) { this.__data[e] = t }, get: function (e) { return this.__data[e] }, reset: function () { this.__data = {} } }; e.exports = r }, function (e, t, n) { "use strict"; var r = "undefined" == typeof window, i = function (e) { if (r) { return n(3).readFileSync(e, "utf8") } var t = document.getElementById(e); return t.value || t.innerHTML }; e.exports = i }, function (e, t, n) { "use strict"; var r = { test: /{{([@#]?)[ \t]*(\/?)([\w\W]*?)[ \t]*}}/, use: function (e, t, n, i) { var o = this, s = o.options, a = o.getEsTokens(i), u = a.map(function (e) { return e.value }), c = {}, l = void 0, f = !!t && "raw", p = n + u.shift(), h = function (t, n) { console.warn((s.filename || "anonymous") + ":" + (e.line + 1) + ":" + (e.start + 1) + "\nTemplate upgrade: {{" + t + "}} -> {{" + n + "}}") }; switch ("#" === t && h("#value", "@value"), p) { case "set": i = "var " + u.join("").trim(); break; case "if": i = "if(" + u.join("").trim() + "){"; break; case "else": var d = u.indexOf("if"); ~d ? (u.splice(0, d + 1), i = "}else if(" + u.join("").trim() + "){") : i = "}else{"; break; case "/if": i = "}"; break; case "each": l = r._split(a), l.shift(), "as" === l[1] && (h("each object as value index", "each object value index"), l.splice(1, 1)); i = "$each(" + (l[0] || "$data") + ",function(" + (l[1] || "$value") + "," + (l[2] || "$index") + "){"; break; case "/each": i = "})"; break; case "block": l = r._split(a), l.shift(), i = "block(" + l.join(",").trim() + ",function(){"; break; case "/block": i = "})"; break; case "echo": p = "print", h("echo value", "value"); case "print": case "include": case "extend": if (0 !== u.join("").trim().indexOf("(")) { l = r._split(a), l.shift(), i = p + "(" + l.join(",") + ")"; break } default: if (~u.indexOf("|")) { var m = a.reduce(function (e, t) { var n = t.value, r = t.type; return "|" === n ? e.push([]) : "whitespace" !== r && "comment" !== r && (e.length || e.push([]), ":" === n && 1 === e[e.length - 1].length ? h("value | filter: argv", "value | filter argv") : e[e.length - 1].push(t)), e }, []).map(function (e) { return r._split(e) }); i = m.reduce(function (e, t) { var n = t.shift(); return t.unshift(e), "$imports." + n + "(" + t.join(",") + ")" }, m.shift().join(" ").trim()) } f = f || "escape" } return c.code = i, c.output = f, c }, _split: function (e) { e = e.filter(function (e) { var t = e.type; return "whitespace" !== t && "comment" !== t }); for (var t = 0, n = e.shift(), r = /\]|\)/, i = [ [n] ]; t < e.length;) { var o = e[t]; "punctuator" === o.type || "punctuator" === n.type && !r.test(n.value) ? i[i.length - 1].push(o) : i.push([o]), n = o, t++ } return i.map(function (e) { return e.map(function (e) { return e.value }).join("") }) } }; e.exports = r }, function (e, t, n) { "use strict"; var r = { test: /<%(#?)((?:==|=#|[=-])?)[ \t]*([\w\W]*?)[ \t]*(-?)%>/, use: function (e, t, n, r) { return n = { "-": "raw", "=": "escape", "": !1, "==": "raw", "=#": "raw" } [n], t && (r = "/*" + r + "*/", n = !1), { code: r, output: n } } }; e.exports = r }, function (e, t, n) { "use strict"; function r(e) { if (Array.isArray(e)) { for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; return n } return Array.from(e) } var i = "undefined" == typeof window, o = function (e, t) { if (i) { var o, s = n(20).minify, a = t.htmlMinifierOptions, u = t.rules.map(function (e) { return e.test }); (o = a.ignoreCustomFragments).push.apply(o, r(u)), e = s(e, a) } return e }; e.exports = o }, function (e, t) { ! function (e) { e.noop = function () {} }("object" == typeof e && "object" == typeof e.exports ? e.exports : window) }, function (e, t, n) { "use strict"; var r = "undefined" == typeof window, i = /^\.+\//, o = function (e, t) { if (r) { var o = n(3), s = t.root, a = t.extname; if (i.test(e)) { var u = t.filename, c = !u || e === u, l = c ? s : o.dirname(u); e = o.resolve(l, e) } else e = o.resolve(s, e); o.extname(e) || (e += a) } return e }; e.exports = o }, function (e, t, n) { "use strict"; function r(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function i(e, t) { if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return !t || "object" != typeof t && "function" != typeof t ? e : t } function o(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t) } function s(e) { var t = e.name, n = e.source, r = e.path, i = e.line, o = e.column, s = e.generated, a = e.message; if (!n) return a; var u = n.split(/\n/), c = Math.max(i - 3, 0), l = Math.min(u.length, i + 3), f = u.slice(c, l).map(function (e, t) { var n = t + c + 1; return (n === i ? " >> " : " ") + n + "| " + e }).join("\n"); return (r || "anonymous") + ":" + i + ":" + o + "\n" + f + "\n\n" + t + ": " + a + (s ? "\n generated: " + s : "") } var a = function (e) { function t(e) { r(this, t); var n = i(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e.message)); return n.name = "TemplateError", n.message = s(e), Error.captureStackTrace && Error.captureStackTrace(n, n.constructor), n } return o(t, e), t }(Error); e.exports = a }, function (e, t, n) { "use strict"; e.exports = n(2) }]) });