/*! (C) WebReflection Mit Style License */ (function(e, t, n, r) { "use strict"; function rt(e, t) { for (var n = 0, r = e.length; n < r; n++) vt(e[n], t) } function it(e) { for (var t = 0, n = e.length, r; t < n; t++) r = e[t], nt(r, b[ot(r)]) } function st(e) { return function(t) { j(t) && (vt(t, e), rt(t.querySelectorAll(w), e)) } } function ot(e) { var t = e.getAttribute("is"), n = e.nodeName.toUpperCase(), r = S.call(y, t ? v + t.toUpperCase() : d + n); return t && -1 < r && !ut(n, t) ? -1 : r } function ut(e, t) { return -1 < w.indexOf(e + '[is="' + t + '"]') } function at(e) { var t = e.currentTarget, n = e.attrChange, r = e.attrName, i = e.target; Q && (!i || i === t) && t.attributeChangedCallback && r !== "style" && e.prevValue !== e.newValue && t.attributeChangedCallback(r, n === e[a] ? null : e.prevValue, n === e[l] ? null : e.newValue) } function ft(e) { var t = st(e); return function(e) { X.push(t, e.target) } } function lt(e) { K && (K = !1, e.currentTarget.removeEventListener(h, lt)), rt((e.target || t).querySelectorAll(w), e.detail === o ? o : s), B && pt() } function ct(e, t) { var n = this; q.call(n, e, t), G.call(n, { target: n }) } function ht(e, t) { D(e, t), et ? et.observe(e, z) : (J && (e.setAttribute = ct, e[i] = Z(e), e.addEventListener(p, G)), e.addEventListener(c, at)), e.createdCallback && Q && (e.created = !0, e.createdCallback(), e.created = !1) } function pt() { for (var e, t = 0, n = F.length; t < n; t++) e = F[t], E.contains(e) || (n--, F.splice(t--, 1), vt(e, o)) } function dt(e) { throw new Error("A " + e + " type is already registered") } function vt(e, t) { var n, r = ot(e); - 1 < r && (tt(e, b[r]), r = 0, t === s && !e[s] ? (e[o] = !1, e[s] = !0, r = 1, B && S.call(F, e) < 0 && F.push(e)) : t === o && !e[o] && (e[s] = !1, e[o] = !0, r = 1), r && (n = e[t + "Callback"]) && n.call(e)) } if (r in t) return; var i = "__" + r + (Math.random() * 1e5 >> 0), s = "attached", o = "detached", u = "extends", a = "ADDITION", f = "MODIFICATION", l = "REMOVAL", c = "DOMAttrModified", h = "DOMContentLoaded", p = "DOMSubtreeModified", d = "<", v = "=", m = /^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/, g = ["ANNOTATION-XML", "COLOR-PROFILE", "FONT-FACE", "FONT-FACE-SRC", "FONT-FACE-URI", "FONT-FACE-FORMAT", "FONT-FACE-NAME", "MISSING-GLYPH"], y = [], b = [], w = "", E = t.documentElement, S = y.indexOf || function(e) { for (var t = this.length; t-- && this[t] !== e;); return t }, x = n.prototype, T = x.hasOwnProperty, N = x.isPrototypeOf, C = n.defineProperty, k = n.getOwnPropertyDescriptor, L = n.getOwnPropertyNames, A = n.getPrototypeOf, O = n.setPrototypeOf, M = !!n.__proto__, _ = n.create || function mt(e) { return e ? (mt.prototype = e, new mt) : this }, D = O || (M ? function(e, t) { return e.__proto__ = t, e } : L && k ? function() { function e(e, t) { for (var n, r = L(t), i = 0, s = r.length; i < s; i++) n = r[i], T.call(e, n) || C(e, n, k(t, n)) } return function(t, n) { do e(t, n); while ((n = A(n)) && !N.call(n, t)); return t } }() : function(e, t) { for (var n in t) e[n] = t[n]; return e }), P = e.MutationObserver || e.WebKitMutationObserver, H = (e.HTMLElement || e.Element || e.Node).prototype, B = !N.call(H, E), j = B ? function(e) { return e.nodeType === 1 } : function(e) { return N.call(H, e) }, F = B && [], I = H.cloneNode, q = H.setAttribute, R = H.removeAttribute, U = t.createElement, z = P && { attributes: !0, characterData: !0, attributeOldValue: !0 }, W = P || function(e) { J = !1, E.removeEventListener(c, W) }, X, V = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.msRequestAnimationFrame || function(e) { setTimeout(e, 10) }, $ = !1, J = !0, K = !0, Q = !0, G, Y, Z, et, tt, nt; O || M ? (tt = function(e, t) { N.call(t, e) || ht(e, t) }, nt = ht) : (tt = function(e, t) { e[i] || (e[i] = n(!0), ht(e, t)) }, nt = tt), B ? (J = !1, function() { var e = k(H, "addEventListener"), t = e.value, n = function(e) { var t = new CustomEvent(c, { bubbles: !0 }); t.attrName = e, t.prevValue = this.getAttribute(e), t.newValue = null, t[l] = t.attrChange = 2, R.call(this, e), this.dispatchEvent(t) }, r = function(e, t) { var n = this.hasAttribute(e), r = n && this.getAttribute(e), i = new CustomEvent(c, { bubbles: !0 }); q.call(this, e, t), i.attrName = e, i.prevValue = n ? r : null, i.newValue = t, n ? i[f] = i.attrChange = 1 : i[a] = i.attrChange = 0, this.dispatchEvent(i) }, s = function(e) { var t = e.currentTarget, n = t[i], r = e.propertyName, s; n.hasOwnProperty(r) && (n = n[r], s = new CustomEvent(c, { bubbles: !0 }), s.attrName = n.name, s.prevValue = n.value || null, s.newValue = n.value = t[r] || null, s.prevValue == null ? s[a] = s.attrChange = 0 : s[f] = s.attrChange = 1, t.dispatchEvent(s)) }; e.value = function(e, o, u) { e === c && this.attributeChangedCallback && this.setAttribute !== r && (this[i] = { className: { name: "class", value: this.className } }, this.setAttribute = r, this.removeAttribute = n, t.call(this, "propertychange", s)), t.call(this, e, o, u) }, C(H, "addEventListener", e) }()) : P || (E.addEventListener(c, W), E.setAttribute(i, 1), E.removeAttribute(i), J && (G = function(e) { var t = this, n, r, s; if (t === e.target) { n = t[i], t[i] = r = Z(t); for (s in r) { if (!(s in n)) return Y(0, t, s, n[s], r[s], a); if (r[s] !== n[s]) return Y(1, t, s, n[s], r[s], f) } for (s in n) if (!(s in r)) return Y(2, t, s, n[s], r[s], l) } }, Y = function(e, t, n, r, i, s) { var o = { attrChange: e, currentTarget: t, attrName: n, prevValue: r, newValue: i }; o[s] = e, at(o) }, Z = function(e) { for (var t, n, r = {}, i = e.attributes, s = 0, o = i.length; s < o; s++) t = i[s], n = t.name, n !== "setAttribute" && (r[n] = t.value); return r })), t[r] = function(n, r) { c = n.toUpperCase(), $ || ($ = !0, P ? (et = function(e, t) { function n(e, t) { for (var n = 0, r = e.length; n < r; t(e[n++])); } return new P(function(r) { for (var i, s, o, u = 0, a = r.length; u < a; u++) i = r[u], i.type === "childList" ? (n(i.addedNodes, e), n(i.removedNodes, t)) : (s = i.target, Q && s.attributeChangedCallback && i.attributeName !== "style" && (o = s.getAttribute(i.attributeName), o !== i.oldValue && s.attributeChangedCallback(i.attributeName, i.oldValue, o))) }) }(st(s), st(o)), et.observe(t, { childList: !0, subtree: !0 })) : (X = [], V(function E() { while (X.length) X.shift().call(null, X.shift()); V(E) }), t.addEventListener("DOMNodeInserted", ft(s)), t.addEventListener("DOMNodeRemoved", ft(o))), t.addEventListener(h, lt), t.addEventListener("readystatechange", lt), t.createElement = function(e, n) { var r = U.apply(t, arguments), i = "" + e, s = S.call(y, (n ? v : d) + (n || i).toUpperCase()), o = -1 < s; return n && (r.setAttribute("is", n = n.toLowerCase()), o && (o = ut(i.toUpperCase(), n))), Q = !t.createElement.innerHTMLHelper, o && nt(r, b[s]), r }, H.cloneNode = function(e) { var t = I.call(this, !!e), n = ot(t); return -1 < n && nt(t, b[n]), e && it(t.querySelectorAll(w)), t }), -2 < S.call(y, v + c) + S.call(y, d + c) && dt(n); if (!m.test(c) || -1 < S.call(g, c)) throw new Error("The type " + n + " is invalid"); var i = function() { return f ? t.createElement(l, c) : t.createElement(l) }, a = r || x, f = T.call(a, u), l = f ? r[u].toUpperCase() : c, c, p; return f && -1 < S.call(y, d + l) && dt(l), p = y.push((f ? v : d) + c) - 1, w = w.concat(w.length ? "," : "", f ? l + '[is="' + n.toLowerCase() + '"]' : l), i.prototype = b[p] = T.call(a, "prototype") ? a.prototype : _(H), rt(t.querySelectorAll(w), s), i } })(window, document, Object, "registerElement");