vendor: 11,867 bytes, lines 1-12
1/** 2 * @license 3 * Copyright 2019 Google LLC 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6const $c6bd03dca0294ca2$var$tt = globalThis, $c6bd03dca0294ca2$export$b4d10f6001c083c2 = $c6bd03dca0294ca2$var$tt.ShadowRoot && (void 0 === $c6bd03dca0294ca2$var$tt.ShadyCSS || $c6bd03dca0294ca2$var$tt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, $c6bd03dca0294ca2$var$it = Symbol(), $c6bd03dca0294ca2$var$et = new WeakMap; class $c6bd03dca0294ca2$export$505d1e8739bad805 { constructor(t, s, i) { if (this._$cssResult$ = !0, i !== $c6bd03dca0294ca2$var$it) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); this.cssText = t, this.t = s } get styleSheet () { let t = this.i; const s = this.t; if ($c6bd03dca0294ca2$export$b4d10f6001c083c2 && void 0 === t) { const i = void 0 !== s && 1 === s.length; i && (t = $c6bd03dca0294ca2$var$et.get(s)), void 0 === t && ((this.i = t = new CSSStyleSheet).replaceSync(this.cssText), i && $c6bd03dca0294ca2$var$et.set(s, t)) } return t } toString () { return this.cssText } } const $c6bd03dca0294ca2$export$8d80f9cac07cdb3 = t => new $c6bd03dca0294ca2$export$505d1e8739bad805("string" == typeof t ? t : t + "", void 0, $c6bd03dca0294ca2$var$it), $c6bd03dca0294ca2$export$dbf350e5966cf602 = (t, ...s) => { const i = 1 === t.length ? t[0] : s.reduce((s, i, e) => s + (t => { if (!0 === t._$cssResult$) return t.cssText; if ("number" == typeof t) return t; throw Error("Value passed to 'css' function must be a 'css' function result: " + t + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.") })(i) + t[e + 1], t[0]); return new $c6bd03dca0294ca2$export$505d1e8739bad805(i, t, $c6bd03dca0294ca2$var$it) }, $c6bd03dca0294ca2$export$2ca4a66ec4cecb90 = (t, s) => { if ($c6bd03dca0294ca2$export$b4d10f6001c083c2) t.adoptedStyleSheets = s.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet); else for (const i of s) { const s = document.createElement("style"), e = $c6bd03dca0294ca2$var$tt.litNonce; void 0 !== e && s.setAttribute("nonce", e), s.textContent = i.cssText, t.appendChild(s) } }, $c6bd03dca0294ca2$export$ee69dfd951e24778 = $c6bd03dca0294ca2$export$b4d10f6001c083c2 ? t => t : t => t instanceof CSSStyleSheet ? (t => { let s = ""; for (const i of t.cssRules) s += i.cssText; return $c6bd03dca0294ca2$export$8d80f9cac07cdb3(s) })(t) : t, { is: $c6bd03dca0294ca2$var$at, defineProperty: $c6bd03dca0294ca2$var$lt, getOwnPropertyDescriptor: $c6bd03dca0294ca2$var$ut, getOwnPropertyNames: $c6bd03dca0294ca2$var$dt, getOwnPropertySymbols: $c6bd03dca0294ca2$var$ft, getPrototypeOf: $c6bd03dca0294ca2$var$pt } = Object, $c6bd03dca0294ca2$var$vt = globalThis, $c6bd03dca0294ca2$var$mt = $c6bd03dca0294ca2$var$vt.trustedTypes, $c6bd03dca0294ca2$var$yt = $c6bd03dca0294ca2$var$mt ? $c6bd03dca0294ca2$var$mt.emptyScript : "", $c6bd03dca0294ca2$var$gt = $c6bd03dca0294ca2$var$vt.reactiveElementPolyfillSupport, $c6bd03dca0294ca2$var$_t = (t, s) => t, $c6bd03dca0294ca2$export$7312b35fbf521afb = { toAttribute (t, s) { switch (s) { case Boolean: t = t ? $c6bd03dca0294ca2$var$yt : null; break; case Object: case Array: t = null == t ? t : JSON.stringify(t) }return t }, fromAttribute (t, s) { let i = t; switch (s) { case Boolean: i = null !== t; break; case Number: i = null === t ? null : Number(t); break; case Object: case Array: try { i = JSON.parse(t) } catch (t) { i = null } }return i } }, $c6bd03dca0294ca2$export$53a6892c50694894 = (t, s) => !$c6bd03dca0294ca2$var$at(t, s), $c6bd03dca0294ca2$var$wt = { attribute: !0, type: String, converter: $c6bd03dca0294ca2$export$7312b35fbf521afb, reflect: !1, hasChanged: $c6bd03dca0294ca2$export$53a6892c50694894 }; Symbol.metadata ??= Symbol("metadata"), $c6bd03dca0294ca2$var$vt.litPropertyMetadata ??= new WeakMap; class $c6bd03dca0294ca2$export$c7c07a37856565d extends HTMLElement { static addInitializer (t) { this.o(), (this.l ??= []).push(t) } static get observedAttributes () { return this.finalize(), this.u && [...this.u.keys()] } static createProperty (t, s = $c6bd03dca0294ca2$var$wt) { if (s.state && (s.attribute = !1), this.o(), this.elementProperties.set(t, s), !s.noAccessor) { const i = Symbol(), e = this.getPropertyDescriptor(t, i, s); void 0 !== e && $c6bd03dca0294ca2$var$lt(this.prototype, t, e) } } static getPropertyDescriptor (t, s, i) { const { get: e, set: h } = $c6bd03dca0294ca2$var$ut(this.prototype, t) ?? { get () { return this[s] }, set (t) { this[s] = t } }; return { get () { return e?.call(this) }, set (s) { const o = e?.call(this); h.call(this, s), this.requestUpdate(t, o, i) }, configurable: !0, enumerable: !0 } } static getPropertyOptions (t) { return this.elementProperties.get(t) ?? $c6bd03dca0294ca2$var$wt } static o () { if (this.hasOwnProperty($c6bd03dca0294ca2$var$_t("elementProperties"))) return; const t = $c6bd03dca0294ca2$var$pt(this); t.finalize(), void 0 !== t.l && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties) } static finalize () { if (this.hasOwnProperty($c6bd03dca0294ca2$var$_t("finalized"))) return; if (this.finalized = !0, this.o(), this.hasOwnProperty($c6bd03dca0294ca2$var$_t("properties"))) { const t = this.properties, s = [...$c6bd03dca0294ca2$var$dt(t), ...$c6bd03dca0294ca2$var$ft(t)]; for (const i of s) this.createProperty(i, t[i]) } const t = this[Symbol.metadata]; if (null !== t) { const s = litPropertyMetadata.get(t); if (void 0 !== s) for (const [t, i] of s) this.elementProperties.set(t, i) } this.u = new Map; for (const [t, s] of this.elementProperties) { const i = this.p(t, s); void 0 !== i && this.u.set(i, t) } this.elementStyles = this.finalizeStyles(this.styles) } static finalizeStyles (t) { const s = []; if (Array.isArray(t)) { const i = new Set(t.flat(1 / 0).reverse()); for (const t of i) s.unshift($c6bd03dca0294ca2$export$ee69dfd951e24778(t)) } else void 0 !== t && s.push($c6bd03dca0294ca2$export$ee69dfd951e24778(t)); return s } static p (t, s) { const i = s.attribute; return !1 === i ? void 0 : "string" == typeof i ? i : "string" == typeof t ? t.toLowerCase() : void 0 } constructor() { super(), this.v = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this.m = null, this._() } _ () { this.S = new Promise(t => this.enableUpdating = t), this._$AL = new Map, this.$(), this.requestUpdate(), this.constructor.l?.forEach(t => t(this)) } addController (t) { (this.P ??= new Set).add(t), void 0 !== this.renderRoot && this.isConnected && t.hostConnected?.() } removeController (t) { this.P?.delete(t) } $ () { const t = new Map, s = this.constructor.elementProperties; for (const i of s.keys()) this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]); t.size > 0 && (this.v = t) } createRenderRoot () { const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions); return $c6bd03dca0294ca2$export$2ca4a66ec4cecb90(t, this.constructor.elementStyles), t } connectedCallback () { this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this.P?.forEach(t => t.hostConnected?.()) } enableUpdating (t) { } disconnectedCallback () { this.P?.forEach(t => t.hostDisconnected?.()) } attributeChangedCallback (t, s, i) { this._$AK(t, i) } C (t, s) { const i = this.constructor.elementProperties.get(t), e = this.constructor.p(t, i); if (void 0 !== e && !0 === i.reflect) { const h = (void 0 !== i.converter?.toAttribute ? i.converter : $c6bd03dca0294ca2$export$7312b35fbf521afb).toAttribute(s, i.type); this.m = t, null == h ? this.removeAttribute(e) : this.setAttribute(e, h), this.m = null } } _$AK (t, s) { const i = this.constructor, e = i.u.get(t); if (void 0 !== e && this.m !== e) { const t = i.getPropertyOptions(e), h = "function" == typeof t.converter ? { fromAttribute: t.converter } : void 0 !== t.converter?.fromAttribute ? t.converter : $c6bd03dca0294ca2$export$7312b35fbf521afb; this.m = e, this[e] = h.fromAttribute(s, t.type), this.m = null } } requestUpdate (t, s, i) { if (void 0 !== t) { if (i ??= this.constructor.getPropertyOptions(t), !(i.hasChanged ?? $c6bd03dca0294ca2$export$53a6892c50694894)(this[t], s)) return; this.T(t, s, i) } !1 === this.isUpdatePending && (this.S = this.M()) } T (t, s, i) { this._$AL.has(t) || this._$AL.set(t, s), !0 === i.reflect && this.m !== t && (this.k ??= new Set).add(t) } async M () { this.isUpdatePending = !0; try { await this.S } catch (t) { Promise.reject(t) } const t = this.scheduleUpdate(); return null != t && await t, !this.isUpdatePending } scheduleUpdate () { return this.performUpdate() } performUpdate () { if (!this.isUpdatePending) return; if (!this.hasUpdated) { if (this.renderRoot ??= this.createRenderRoot(), this.v) { for (const [t, s] of this.v) this[t] = s; this.v = void 0 } const t = this.constructor.elementProperties; if (t.size > 0) for (const [s, i] of t) !0 !== i.wrapped || this._$AL.has(s) || void 0 === this[s] || this.T(s, this[s], i) } let t = !1; const s = this._$AL; try { t = this.shouldUpdate(s), t ? (this.willUpdate(s), this.P?.forEach(t => t.hostUpdate?.()), this.update(s)) : this.A() } catch (s) { throw t = !1, this.A(), s } t && this._$AE(s) } willUpdate (t) { } _$AE (t) { this.P?.forEach(t => t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t) } A () { this._$AL = new Map, this.isUpdatePending = !1 } get updateComplete () { return this.getUpdateComplete() } getUpdateComplete () { return this.S } shouldUpdate (t) { return !0 } update (t) { this.k &&= this.k.forEach(t => this.C(t, this[t])), this.A() } updated (t) { } firstUpdated (t) { } } $c6bd03dca0294ca2$export$c7c07a37856565d.elementStyles = [], $c6bd03dca0294ca2$export$c7c07a37856565d.shadowRootOptions = { mode: "open" }, $c6bd03dca0294ca2$export$c7c07a37856565d[$c6bd03dca0294ca2$var$_t("elementProperties")] = new Map, $c6bd03dca0294ca2$export$c7c07a37856565d[$c6bd03dca0294ca2$var$_t("finalized")] = new Map, $c6bd03dca0294ca2$var$gt?.({ ReactiveElement: $c6bd03dca0294ca2$export$c7c07a37856565d }), ($c6bd03dca0294ca2$var$vt.reactiveElementVersions ??= []).push("2.0.4"); 7/** 8 * @license 9 * Copyright 2017 Google LLC 10 * SPDX-License-Identifier: BSD-3-Clause 11 */ 12const $c6bd03dca0294ca2$var$Pt = globalThis, $c6bd03dca0294ca2$var$Ct = $c6bd03dca0294ca2$var$Pt.trustedTypes, $c6bd03dca0294ca2$var$Tt = $c6bd03dca0294ca2$var$Ct ? $c6bd03dca0294ca2$var$Ct.createPolicy("lit-html", { createHTML: t => t }) : void 0, $c6bd03dca0294ca2$var$xt = "$lit$", $c6bd03dca0294ca2$var$Mt = `lit$${Math.random().toFixed(9).slice(2)}$`, $c6bd03dca0294ca2$var$kt = "?" + $c6bd03dca0294ca2$var$Mt, $c6bd03dca0294ca2$var$At = `<${$c6bd03dca0294ca2$var$kt}>`, $c6bd03dca0294ca2$var$Et = document, $c6bd03dca0294ca2$var$Ut = () => $c6bd03dca0294ca2$var$Et.createComment(""), $c6bd03dca0294ca2$var$Nt = t => null === t || "object" != typeof t && "function" != typeof t, $c6bd03dca0294ca2$var$Ot = Array.isArray, $c6bd03dca0294ca2$var$Rt = t => $c6bd03dca0294ca2$var$Ot(t) || "function" == typeof t?.[Symbol.iterator], $c6bd03dca0294ca2$var$zt = "[ \t\n\f\r]", $c6bd03dca0294ca2$var$Vt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, $c6bd03dca0294ca2$var$Lt = /-->/g, $c6bd03dca0294ca2$var$It = />/g, $c6bd03dca0294ca2$var$jt = RegExp(`>|${$c6bd03dca0294ca2$var$zt}(?:([^\\s"'>=/]+)(${$c6bd03dca0294ca2$var$zt}*=${$c6bd03dca0294ca2$var$zt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"), $c6bd03dca0294ca2$var$Dt = /'/g, $c6bd03dca0294ca2$var$Ht = /"/g, $c6bd03dca0294ca2$var$Bt = /^(?:script|style|textarea|title)$/i, $c6bd03dca0294ca2$var$Wt = t => (s, ...i) => ({ _$litType$: t, strings: s, values: i }), $c6bd03dca0294ca2$export$c0bb0b647f701bb5 = $c6bd03dca0294ca2$var$Wt(1), $c6bd03dca0294ca2$export$7ed1367e7fa1ad68 = $c6bd03dca0294ca2$var$Wt(2), $c6bd03dca0294ca2$export$47d5b44d225be5b4 = $c6bd03dca0294ca2$var$Wt(3), $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 = Symbol.for("lit-noC
12hange"), $c6bd03dca0294ca2$export$45b790e32b2810ee = Symbol.for("lit-nothing"), $c6bd03dca0294ca2$var$Kt = new WeakMap, $c6bd03dca0294ca2$var$Qt = $c6bd03dca0294ca2$var$Et.createTreeWalker($c6bd03dca0294ca2$var$Et, 129); function $c6bd03dca0294ca2$var$Xt (t, s) { if (!$c6bd03dca0294ca2$var$Ot(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array"); return void 0 !== $c6bd03dca0294ca2$var$Tt ? $c6bd03dca0294ca2$var$Tt.createHTML(s) : s } const $c6bd03dca0294ca2$var$Yt = (t, s) => { const i = t.length - 1, e = []; let h, o = 2 === s ? "<svg>" : 3 === s ? "<math>" : "", r = $c6bd03dca0294ca2$var$Vt; for (let s = 0; s < i; s++) { const i = t[s]; let n, c, a = -1, l = 0; for (; l < i.length && (r.lastIndex = l, c = r.exec(i), null !== c);)l = r.lastIndex, r === $c6bd03dca0294ca2$var$Vt ? "!--" === c[1] ? r = $c6bd03dca0294ca2$var$Lt : void 0 !== c[1] ? r = $c6bd03dca0294ca2$var$It : void 0 !== c[2] ? ($c6bd03dca0294ca2$var$Bt.test(c[2]) && (h = RegExp("</" + c[2], "g")), r = $c6bd03dca0294ca2$var$jt) : void 0 !== c[3] && (r = $c6bd03dca0294ca2$var$jt) : r === $c6bd03dca0294ca2$var$jt ? ">" === c[0] ? (r = h ?? $c6bd03dca0294ca2$var$Vt, a = -1) : void 0 === c[1] ? a = -2 : (a = r.lastIndex - c[2].length, n = c[1], r = void 0 === c[3] ? $c6bd03dca0294ca2$var$jt : '"' === c[3] ? $c6bd03dca0294ca2$var$Ht : $c6bd03dca0294ca2$var$Dt) : r === $c6bd03dca0294ca2$var$Ht || r === $c6bd03dca0294ca2$var$Dt ? r = $c6bd03dca0294ca2$var$jt : r === $c6bd03dca0294ca2$var$Lt || r === $c6bd03dca0294ca2$var$It ? r = $c6bd03dca0294ca2$var$Vt : (r = $c6bd03dca0294ca2$var$jt, h = void 0); const u = r === $c6bd03dca0294ca2$var$jt && t[s + 1].startsWith("/>") ? " " : ""; o += r === $c6bd03dca0294ca2$var$Vt ? i + $c6bd03dca0294ca2$var$At : a >= 0 ? (e.push(n), i.slice(0, a) + $c6bd03dca0294ca2$var$xt + i.slice(a) + $c6bd03dca0294ca2$var$Mt + u) : i + $c6bd03dca0294ca2$var$Mt + (-2 === a ? s : u) } return [$c6bd03dca0294ca2$var$Xt(t, o + (t[i] || "<?>") + (2 === s ? "</svg>" : 3 === s ? "</math>" : "")), e] }; class $c6bd03dca0294ca2$var$ts { constructor({ strings: t, _$litType$: s }, i) { let e; this.parts = []; let h = 0, o = 0; const r = t.length - 1, n = this.parts, [c, a] = $c6bd03dca0294ca2$var$Yt(t, s); if (this.el = $c6bd03dca0294ca2$var$ts.createElement(c, i), $c6bd03dca0294ca2$var$Qt.currentNode = this.el.content, 2 === s || 3 === s) { const t = this.el.content.firstChild; t.replaceWith(...t.childNodes) } for (; null !== (e = $c6bd03dca0294ca2$var$Qt.nextNode()) && n.length < r;) { if (1 === e.nodeType) { if (e.hasAttributes()) for (const t of e.getAttributeNames()) if (t.endsWith($c6bd03dca0294ca2$var$xt)) { const s = a[o++], i = e.getAttribute(t).split($c6bd03dca0294ca2$var$Mt), r = /([.?@])?(.*)/.exec(s); n.push({ type: 1, index: h, name: r[2], strings: i, ctor: "." === r[1] ? $c6bd03dca0294ca2$var$os : "?" === r[1] ? $c6bd03dca0294ca2$var$rs : "@" === r[1] ? $c6bd03dca0294ca2$var$ns : $c6bd03dca0294ca2$var$hs }), e.removeAttribute(t) } else t.startsWith($c6bd03dca0294ca2$var$Mt) && (n.push({ type: 6, index: h }), e.removeAttribute(t)); if ($c6bd03dca0294ca2$var$Bt.test(e.tagName)) { const t = e.textContent.split($c6bd03dca0294ca2$var$Mt), s = t.length - 1; if (s > 0) { e.textContent = $c6bd03dca0294ca2$var$Ct ? $c6bd03dca0294ca2$var$Ct.emptyScript : ""; for (let i = 0; i < s; i++)e.append(t[i], $c6bd03dca0294ca2$var$Ut()), $c6bd03dca0294ca2$var$Qt.nextNode(), n.push({ type: 2, index: ++h });
vendor: 4,637 bytes, line 12
12 e.append(t[s], $c6bd03dca0294ca2$var$Ut()) } } } else if (8 === e.nodeType) if (e.data === $c6bd03dca0294ca2$var$kt) n.push({ type: 2, index: h }); else { let t = -1; for (; -1 !== (t = e.data.indexOf($c6bd03dca0294ca2$var$Mt, t + 1));)n.push({ type: 7, index: h }), t += $c6bd03dca0294ca2$var$Mt.length - 1 } h++ } } static createElement (t, s) { const i = $c6bd03dca0294ca2$var$Et.createElement("template"); return i.innerHTML = t, i } } function $c6bd03dca0294ca2$var$ss (t, s, i = t, e) { if (s === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8) return s; let h = void 0 !== e ? i.U?.[e] : i.N; const o = $c6bd03dca0294ca2$var$Nt(s) ? void 0 : s._$litDirective$; return h?.constructor !== o && (h?._$AO?.(!1), void 0 === o ? h = void 0 : (h = new o(t), h._$AT(t, i, e)), void 0 !== e ? (i.U ??= [])[e] = h : i.N = h), void 0 !== h && (s = $c6bd03dca0294ca2$var$ss(t, h._$AS(t, s.values), h, e)), s } class $c6bd03dca0294ca2$var$is { constructor(t, s) { this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = s } get parentNode () { return this._$AM.parentNode } get _$AU () { return this._$AM._$AU } O (t) { const { el: { content: s }, parts: i } = this._$AD, e = (t?.creationScope ?? $c6bd03dca0294ca2$var$Et).importNode(s, !0); $c6bd03dca0294ca2$var$Qt.currentNode = e; let h = $c6bd03dca0294ca2$var$Qt.nextNode(), o = 0, r = 0, n = i[0]; for (; void 0 !== n;) { if (o === n.index) { let s; 2 === n.type ? s = new $c6bd03dca0294ca2$var$es(h, h.nextSibling, this, t) : 1 === n.type ? s = new n.ctor(h, n.name, n.strings, this, t) : 6 === n.type && (s = new $c6bd03dca0294ca2$var$cs(h, this, t)), this._$AV.push(s), n = i[++r] } o !== n?.index && (h = $c6bd03dca0294ca2$var$Qt.nextNode(), o++) } return $c6bd03dca0294ca2$var$Qt.currentNode = $c6bd03dca0294ca2$var$Et, e } R (t) { let s = 0; for (const i of this._$AV) void 0 !== i && (void 0 !== i.strings ? (i._$AI(t, i, s), s += i.strings.length - 2) : i._$AI(t[s])), s++ } } class $c6bd03dca0294ca2$var$es { get _$AU () { return this._$AM?._$AU ?? this.V } constructor(t, s, i, e) { this.type = 2, this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee, this._$AN = void 0, this._$AA = t, this._$AB = s, this._$AM = i, this.options = e, this.V = e?.isConnected ?? !0 } get parentNode () { let t = this._$AA.parentNode; const s = this._$AM; return void 0 !== s && 11 === t?.nodeType && (t = s.parentNode), t } get startNode () { return this._$AA } get endNode () { return this._$AB } _$AI (t, s = this) { t = $c6bd03dca0294ca2$var$ss(this, t, s), $c6bd03dca0294ca2$var$Nt(t) ? t === $c6bd03dca0294ca2$export$45b790e32b2810ee || null == t || "" === t ? (this._$AH !== $c6bd03dca0294ca2$export$45b790e32b2810ee && this._$AR(), this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee) : t !== this._$AH && t !== $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 && this.L(t) : void 0 !== t._$litType$ ? this.I(t) : void 0 !== t.nodeType ? this.j(t) : $c6bd03dca0294ca2$var$Rt(t) ? this.D(t) : this.L(t) } H (t) { return this._$AA.parentNode.insertBefore(t, this._$AB) } j (t) { this._$AH !== t && (this._$AR(), this._$AH = this.H(t)) } L (t) { this._$AH !== $c6bd03dca0294ca2$export$45b790e32b2810ee && $c6bd03dca0294ca2$var$Nt(this._$AH) ? this._$AA.nextSibling.data = t : this.j($c6bd03dca0294ca2$var$Et.createTextNode(t)), this._$AH = t } I (t) { const { values: s, _$litType$: i } = t, e = "number" == typeof i ? this._$AC(t) : (void 0 === i.el && (i.el = $c6bd03dca0294ca2$var$ts.createElement($c6bd03dca0294ca2$var$Xt(i.h, i.h[0]), this.options)), i); if (this._$AH?._$AD === e) this._$AH.R(s); else { const t = new $c6bd03dca0294ca2$var$is(e, this), i = t.O(this.options); t.R(s), this.j(i), this._$AH = t } } _$AC (t) { let s = $c6bd03dca0294ca2$var$Kt.get(t.strings); return void 0 === s && $c6bd03dca0294ca2$var$Kt.set(t.strings, s = new $c6bd03dca0294ca2$var$ts(t)), s } D (t) { $c6bd03dca0294ca2$var$Ot(this._$AH) || (this._$AH = [], this._$AR()); const s = this._$AH; let i, e = 0; for (const h of t) e === s.length ? s.push(i = new $c6bd03dca0294ca2$var$es(this.H($c6bd03dca0294ca2$var$Ut()), this.H($c6bd03dca0294ca2$var$Ut()), this, this.options)) : i = s[e], i._$AI(h), e++; e < s.length && (this._$AR(i && i._$AB.nextSibling, e), s.length = e) } _$AR (t = this._$AA.nextSibling, s) { for (this._$AP?.(!1, !0, s); t && t !== this._$AB;) { const s = t.nextSibling; t.remove(), t = s } } setConnected (t) { void 0 === this._$AM && (this.V = t, this._$AP?.(t)) } } class $c6bd03dca0294ca2$var$hs { get tagName () { return this.element.tagName } get _$AU () { return this._$AM._$AU } constructor(t, s, i, e, h) { this.type = 1, this._$AH = $c6bd03dca0294ca2$export$45b790e32b28
vendor: 5,699 bytes, lines 12-23
1210ee, this._$AN = void 0, this.element = t, this.name = s, this._$AM = e, this.options = h, i.length > 2 || "" !== i[0] || "" !== i[1] ? (this._$AH = Array(i.length - 1).fill(new String), this.strings = i) : this._$AH = $c6bd03dca0294ca2$export$45b790e32b2810ee } _$AI (t, s = this, i, e) { const h = this.strings; let o = !1; if (void 0 === h) t = $c6bd03dca0294ca2$var$ss(this, t, s, 0), o = !$c6bd03dca0294ca2$var$Nt(t) || t !== this._$AH && t !== $c6bd03dca0294ca2$export$9c068ae9cc5db4e8, o && (this._$AH = t); else { const e = t; let r, n; for (t = h[0], r = 0; r < h.length - 1; r++)n = $c6bd03dca0294ca2$var$ss(this, e[i + r], s, r), n === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 && (n = this._$AH[r]), o ||= !$c6bd03dca0294ca2$var$Nt(n) || n !== this._$AH[r], n === $c6bd03dca0294ca2$export$45b790e32b2810ee ? t = $c6bd03dca0294ca2$export$45b790e32b2810ee : t !== $c6bd03dca0294ca2$export$45b790e32b2810ee && (t += (n ?? "") + h[r + 1]), this._$AH[r] = n } o && !e && this.B(t) } B (t) { t === $c6bd03dca0294ca2$export$45b790e32b2810ee ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "") } } class $c6bd03dca0294ca2$var$os extends $c6bd03dca0294ca2$var$hs { constructor() { super(...arguments), this.type = 3 } B (t) { this.element[this.name] = t === $c6bd03dca0294ca2$export$45b790e32b2810ee ? void 0 : t } } class $c6bd03dca0294ca2$var$rs extends $c6bd03dca0294ca2$var$hs { constructor() { super(...arguments), this.type = 4 } B (t) { this.element.toggleAttribute(this.name, !!t && t !== $c6bd03dca0294ca2$export$45b790e32b2810ee) } } class $c6bd03dca0294ca2$var$ns extends $c6bd03dca0294ca2$var$hs { constructor(t, s, i, e, h) { super(t, s, i, e, h), this.type = 5 } _$AI (t, s = this) { if ((t = $c6bd03dca0294ca2$var$ss(this, t, s, 0) ?? $c6bd03dca0294ca2$export$45b790e32b2810ee) === $c6bd03dca0294ca2$export$9c068ae9cc5db4e8) return; const i = this._$AH, e = t === $c6bd03dca0294ca2$export$45b790e32b2810ee && i !== $c6bd03dca0294ca2$export$45b790e32b2810ee || t.capture !== i.capture || t.once !== i.once || t.passive !== i.passive, h = t !== $c6bd03dca0294ca2$export$45b790e32b2810ee && (i === $c6bd03dca0294ca2$export$45b790e32b2810ee || e); e && this.element.removeEventListener(this.name, this, i), h && this.element.addEventListener(this.name, this, t), this._$AH = t } handleEvent (t) { "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t) } } class $c6bd03dca0294ca2$var$cs { constructor(t, s, i) { this.element = t, this.type = 6, this._$AN = void 0, this._$AM = s, this.options = i } get _$AU () { return this._$AM._$AU } _$AI (t) { $c6bd03dca0294ca2$var$ss(this, t) } } const $c6bd03dca0294ca2$export$8613d1ca9052b22e = { W: $c6bd03dca0294ca2$var$xt, q: $c6bd03dca0294ca2$var$Mt, J: $c6bd03dca0294ca2$var$kt, Z: 1, F: $c6bd03dca0294ca2$var$Yt, G: $c6bd03dca0294ca2$var$is, K: $c6bd03dca0294ca2$var$Rt, X: $c6bd03dca0294ca2$var$ss, Y: $c6bd03dca0294ca2$var$es, tt: $c6bd03dca0294ca2$var$hs, st: $c6bd03dca0294ca2$var$rs, it: $c6bd03dca0294ca2$var$ns, et: $c6bd03dca0294ca2$var$os, ht: $c6bd03dca0294ca2$var$cs }, $c6bd03dca0294ca2$var$ls = $c6bd03dca0294ca2$var$Pt.litHtmlPolyfillSupport; $c6bd03dca0294ca2$var$ls?.($c6bd03dca0294ca2$var$ts, $c6bd03dca0294ca2$var$es), ($c6bd03dca0294ca2$var$Pt.litHtmlVersions ??= []).push("3.2.0"); const $c6bd03dca0294ca2$export$b3890eb0ae9dca99 = (t, s, i) => { const e = i?.renderBefore ?? s; let h = e._$litPart$; if (void 0 === h) { const t = i?.renderBefore ?? null; e._$litPart$ = h = new $c6bd03dca0294ca2$var$es(s.insertBefore($c6bd03dca0294ca2$var$Ut(), t), t, void 0, i ?? {}) } return h._$AI(t), h }; 13/** 14 * @license 15 * Copyright 2017 Google LLC 16 * SPDX-License-Identifier: BSD-3-Clause 17 */class $c6bd03dca0294ca2$export$3f2f9f5909897157 extends $c6bd03dca0294ca2$export$c7c07a37856565d { constructor() { super(...arguments), this.renderOptions = { host: this }, this.ot = void 0 } createRenderRoot () { const t = super.createRenderRoot(); return this.renderOptions.renderBefore ??= t.firstChild, t } update (t) { const s = this.render(); this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this.ot = $c6bd03dca0294ca2$export$b3890eb0ae9dca99(s, this.renderRoot, this.renderOptions) } connectedCallback () { super.connectedCallback(), this.ot?.setConnected(!0) } disconnectedCallback () { super.disconnectedCallback(), this.ot?.setConnected(!1) } render () { return $c6bd03dca0294ca2$export$9c068ae9cc5db4e8 } } $c6bd03dca0294ca2$export$3f2f9f5909897157._$litElement$ = !0, $c6bd03dca0294ca2$export$3f2f9f5909897157.finalized = !0, globalThis.litElementHydrateSupport?.({ LitElement: $c6bd03dca0294ca2$export$3f2f9f5909897157 }); const $c6bd03dca0294ca2$var$fs = globalThis.litElementPolyfillSupport; $c6bd03dca0294ca2$var$fs?.({ LitElement: $c6bd03dca0294ca2$export$3f2f9f5909897157 }); const $c6bd03dca0294ca2$export$f5c524615a7708d6 = { _$AK: (t, s, i) => { t._$AK(s, i) }, _$AL: t => t._$AL }; (globalThis.litElementVersions ??= []).push("4.1.0"); 18/** 19 * @license 20 * Copyright 2022 Google LLC 21 * SPDX-License-Identifier: BSD-3-Clause 22 */ 23const $c6bd03dca0294ca2$export$6acf61af03e62db = !1; document.addEventListener("DOMContentLoaded", () => { const addWidget = () => { const wrapBody = "true" === document.querySelector('script[src*="accessibility-widget"]').getAttribute("data-wrapper"), lang = document.querySelector('script[src*="accessibility-widget"]').getAttribute("data-lang"); if (wrapBody) { const wrapper = document.createElement("div"); wrapper.id = "awidget-maincontent", wrapper.classList.add("content-wrapper"); const bodyChildren = Array.from(document.body.children);
23 bodyChildren.forEach(child => { const childStyle = window.getComputedStyle(child); "fixed" === childStyle.position ? child.classList.add("fixed-content") : wrapper.appendChild(child) }), document.body.appendChild(wrapper) } const widget = document.createElement("accessibility-widget"); widget.setAttribute("lang", lang), widget.setAttribute("wrapperdiv", wrapBody), document.body.appendChild(widget) }; addWidget() }); class $0b76d225d32304e5$var$AccessibilityWidget extends HTMLElement { 24 constructor() { super(), this.root = this.attachShadow({ mode: "open" }) } setIsDragging = value => { let me = this; me.isDragging = value }; setFullContrast = value => { let me = this; me.fullContrast = value }; setDragOffset = ({ x: x, y: y }) => { let me = this; me.dragOffset = { x: x, y: y } }; setVoice = voice => { let me = this; me.voice = voice }; setSynth = synth => { let me = this; me.synth = synth }; setReadableFont = value => { let me = this; me.readableFont = value }; setBiggerCursor = value => { let me = this; me.biggerCursor = value }; setHideImages = value => { let me = this; me.hideImages = value, me.saveSettings() }; setPosition = ({ x: x, y: y }) => { let me = this; me.position = { x: x, y: y }, me.modalContent.style.left = `${x}%`, me.modalContent.style.top = `${y}%`, me.modalContent.style.transition = me.isDragging ? "none" : "all 0.3s ease" }; handleMouseDown = e => { let me = this; if (e.target.classList.contains("drag-handle")) { me.setIsDragging(!0); const clientX = "touches" in e ? e.touches[0].clientX : e.clientX, clientY = "touches" in e ? e.touches[0].clientY : e.clientY, offsetX = clientX - window.innerWidth * me.position.x / 100, offsetY = clientY - window.innerHeight * me.position.y / 100; me.setDragOffset({ x: offsetX, y: offsetY }), e.preventDefault() } }; handleMouseMove = (clientX, clientY) => { let me = this; if (me.isDragging) { const newX = (clientX - me.dragOffset.x) / window.innerWidth * 100, newY = (clientY - me.dragOffset.y) / window.innerHeight * 100; me.setPosition({ x: Math.max(0, Math.min(newX, 100)), y: Math.max(0, Math.min(newY, 100)) }) } }; handleMouseUp = () => { let me = this; me.setIsDragging(!1) }; handleGlobalMouseMove = e => { let me = this; me.handleMouseMove(e.clientX, e.clientY) }; handleGlobalTouchMove = e => { let me = this; const touch = e.touches[0]; me.handleMouseMove(touch.clientX, touch.clientY) }; getBaseFontSize () { const doc = globalThis.document; let baseFont; try { baseFont = parseFloat(doc.defaultView.getComputedStyle(doc.documentElement, null).fontSize) } catch (e) { } if (!baseFont) { const style = globalThis.document.defaultView.getComputedStyle(globalThis.document.body, null); baseFont = parseFloat(style.fontSize) } return isNaN(baseFont) && (baseFont = 16), baseFont } saveSettings () { const settings = { bluefilter: this.bluefilter, sepia: this.sepia, grayscale: this.grayscale, brightness: this.brightness, contrast: this.contrast, invert: this.invert, opacity: this.opacity, saturate: this.saturate, hideImages: this.hideImages, readableFont: this.readableFont, biggerCursor: this.biggerCursor, fullContrast: this.fullContrast, fontSizeMultiplicator: this.fontSizeMultiplicator }; localStorage.setItem("accessibilitySettings", JSON.stringify(settings)) } loadSettings () { const savedSettings = localStorage.getItem("accessibilitySettings"); return savedSettings ? JSON.parse(savedSettings) : null } initFilters = reset => { let me = this; const savedSettings = me.loadSettings(); !reset && savedSettings ? (me.readableFont = savedSettings.readableFont || !1, me.biggerCursor = savedSettings.biggerCursor || !1, me.fontSizeMultiplicator = savedSettings.fontSizeMultiplicator || 1, me.bluefilter = savedSettings.bluefilter || 0, me.sepia = savedSettings.sepia || 0, me.grayscale = savedSettings.grayscale || 0, me.brightness = savedSettings.brightness || 1, me.contrast = savedSettings.contrast || 1, me.invert = savedSettings.invert || 0, me.opacity = savedSettings.opacity || 1, me.saturate = savedSettings.saturate || 1, me.hideImages = savedSettings.hideImages || !1, me.fullContrast = savedSettings.fullContrast || !1) : (me.fontSizeMultiplicator = 1, me.readableFont = !1, me.biggerCurs
24or = !1, me.bluefilter = 0, me.sepia = 0, me.grayscale = 0, me.brightness = 1, me.contrast = 1, me.invert = 0, me.opacity = 1, me.saturate = 1, me.hideImages = !1, me.fullContrast = !1), me.updateUI(), me.applyFilters(), me.newFontSize(), me.fullContrast ? me.applyHighContrast() : me.removeHighContrast(), me.applyHideImages(me.hideImages), me.applyReadableFont(me.readableFont), me.applyBiggerCursor(me.biggerCursor) }; setUpWidget (lang) { let me = this; me.openModalButton = me.shadowRoot.getElementById("open-modal"), me.modalOverlay = me.shadowRoot.querySelector(".modal-overlay"), me.modalContent = me.shadowRoot.getElementById("modal-dialog"), me.closeModalButton = me.shadowRoot.querySelector(".close-button"), me.dragHandle = me.shadowRoot.querySelector(".drag-handle"), me.position = { x: 90, y: 50 }, me.isDragging = !1, me.dragOffset = { x: 0, y: 0 }, me.synth = null, me.voice = null, me.styledElements = new Set, me.initFilters(!1), me.openModalButton.addEventListener("click", () => { me.modalContent.style.display = "block", me.modalContent.style.transform = "translate(-50%, -50%) scale(1)", me.modalOverlay.style.visibility = "visible", me.modalOverlay.style.opacity = "1" }), me.closeModalButton.addEventListener("click", () => { me.modalContent.style.display = "none", me.modalContent.style.transform = "translate(-50%, -50%) scale(0)", me.modalOverlay.style.visibility = "hidden", me.modalOverlay.style.opacity = "0" }), me.shadowRoot.addEventListener("keydown", e => { "Escape" === e.key && "none" !== me.modalContent.style.display && me.closeModalButton.click() }), me.dragHandle.addEventListener("mousedown", e => { me.handleMouseDown(e) }), me.shadowRoot.addEventListener("mousemove", me.handleGlobalMouseMove), me.shadowRoot.addEventListener("mouseup", me.handleMouseUp), me.shadowRoot.addEventListener("touchmove", me.handleGlobalTouchMove), me.shadowRoot.addEventListener("touchend", me.handleMouseUp), me.setupSynthetizer(lang) } setupSynthetizer () { let me = this; try { me.setSynth(window.speechSynthesis), me.initVoice(), me.synth && void 0 !== me.synth.onvoiceschanged && (me.synth.onvoiceschanged = me.initVoice) } catch (error) { } } getMainContent (skipWidget) { let me = this; if ("undefined" != typeof window) { let mainContent = document.getElementById("awidget-maincontent"); if (!skipWidget && mainContent) return mainContent; const hostingElementRoot = me.root.getRootNode().host.getRootNode(); return mainContent = hostingElementRoot.body, mainContent || (mainContent = document.documentElement), mainContent } } setCSSVariable (variable, value) { let me = this; if ("undefined" != typeof window) { const mainContent = me.getMainContent(!1); mainContent && mainContent.style.setProperty(variable, value, "important") } } newFontSize () { const me = this, el = me.root.getRootNode().host.getRootNode(); let numFontStyle = 0; if (1 === me.fontSizeMultiplicator && me.fontSizeApplied) return; me.fontSizeApplied = !0, me.originalFontSizes || (me.originalFontSizes = new Map); try { for (const style of el.styleSheets) try { for (const rule of style.cssRules) if (rule.style && rule.style.fontSize) { if (rule.style.fontSize.includes("calc") && rule.style.fontSize.includes("*")) continue; me.originalFontSizes.has(rule) || me.originalFontSizes.set(rule, rule.style.fontSize), rule.style.fontSize = `calc(${me.originalFontSizes.get(rule)} * ${me.fontSizeMultiplicator})`, numFontStyle++ } } catch (cssRulesError) { continue } } catch (e) { } if (numFontStyle > 0) return; const baseFontSize = me.getBaseFontSize(); document.documentElement.style.fontSize = baseFontSize * me.fontSizeMultiplicator + "px" } increaseFontSize () { let me = this; me.fontSizeMultiplicator = Math.min((me.fontSizeMultiplicator || 1) + .1, 2), me.saveSettings(), me.applyFontSizeChanges() } decreaseFontSize () { let me = this; const currentMultiplicator = me.fontSizeMultiplicator || 1; currentMultiplicator > .5 && (me.fontSizeMultiplicator = Math.max(currentMultiplicator - .1, .5), me.saveSettings(), me.applyFontSizeChanges()) } applyFontSizeChanges () { const me = this; me.resetFontSizeChanges(), me.newFontSize() } resetFontSizeChanges () { const me = this, el = me.root.getRootNode().host.getRootNode(); if (me.originalFontSizes) try { for (const style of el.styleSheets) try { for (const rule of style.cssRules) rule.style && rule.style.fontSize && me.originalFontSizes.has(rule) && (rule.style.fontSize = me.originalFontSizes.get(rule)) } catch (cssRulesError) { continue } } catch (e) { } document.documentElement.style.fontSize = "", me.originalFontSizes = new Map } toggleHideImages = () => { let me = this; const newHideImages = !me.hideImages; me.setHideImages(newHideImages), me.applyHideImages(newHideImages) }; applyHideImages = hideImages => { let me = this; const mainContent = me.getMainContent(!1), images = mainContent.querySelectorAll("img");
24 images.forEach(img => { img.style.display = hideImages ? "none" : "initial" }) }; toggleReadableFont = () => { let me = this; const newReadableFont = !me.readableFont; me.setReadableFont(newReadableFont), me.applyReadableFont(newReadableFont), me.saveSettings() }; toggleBiggerCursor = () => { let me = this; const newBiggerCursor = !me.biggerCursor; me.setBiggerCursor(newBiggerCursor), me.applyBiggerCursor(newBiggerCursor), me.saveSettings() }; applyReadableFont = readableFont => { let me = this; const mainContent = me.getMainContent(!1); mainContent.style.fontFamily = readableFont ? "Arial, sans-serif" : "" }; applyBiggerCursor = biggerCursor => { if (biggerCursor) { const svgCursor = '<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 32 32">\n <path\n d="M3.29227 0.048984C3.47033 -0.032338 3.67946 -0.00228214 3.8274 0.125891L12.8587 7.95026C13.0134 8.08432 13.0708 8.29916 13.0035 8.49251C12.9362 8.68586 12.7578 8.81866 12.5533 8.82768L9.21887 8.97474L11.1504 13.2187C11.2648 13.47 11.1538 13.7664 10.9026 13.8808L8.75024 14.8613C8.499 14.9758 8.20255 14.8649 8.08802 14.6137L6.15339 10.3703L3.86279 12.7855C3.72196 12.934 3.50487 12.9817 3.31479 12.9059C3.1247 12.8301 3 12.6461 3 12.4414V0.503792C3 0.308048 3.11422 0.130306 3.29227 0.048984ZM4 1.59852V11.1877L5.93799 9.14425C6.05238 9.02363 6.21924 8.96776 6.38319 8.99516C6.54715 9.02256 6.68677 9.12965 6.75573 9.2809L8.79056 13.7441L10.0332 13.178L8.00195 8.71497C7.93313 8.56376 7.94391 8.38824 8.03072 8.24659C8.11753 8.10494 8.26903 8.01566 8.435 8.00834L11.2549 7.88397L4 1.59852Z"\n fill="#000000"/></svg>'; document.body.style.cursor = `url('data:image/svg+xml;utf8,${encodeURIComponent(svgCursor)}') 2 2, auto` } else document.body.style.cursor = "default" }; applyHighContrast = () => { let me = this; const mainContent = me.getMainContent(!0); if (mainContent) { me.saveElementStyles(mainContent); const elements = mainContent.querySelectorAll("*"); for (let i = 0; i < elements.length; i++)"SCRIPT" !== elements[i].tagName && me.saveElementStyles(elements[i]); for (let i = 0; i < elements.length; i++)"SCRIPT" !== elements[i].tagName && me.applyHighContrastToElement(elements[i]); me.applyHighContrastToElement(mainContent) } }; saveElementStyles = element => { let me = this; const computedStyle = window.getComputedStyle(element); let backgroundColor = computedStyle.getPropertyValue("background-color"), color = computedStyle.getPropertyValue("color"); element.hasAttribute("data-original-background-color") || element.setAttribute("data-original-background-color", backgroundColor), element.hasAttribute("data-original-color") || element.setAttribute("data-original-color", color), me.styledElements.add(element) }; applyHighContrastToElement = element => { element.style.setProperty("background-color", "black", "important"), element.style.setProperty("color", "white", "important") }; removeHighContrast = () => { let me = this; const mainContent = me.getMainContent(!1); mainContent && (me.styledElements.forEach(element => { me.removeHighContrastFromElement(element) }), me.styledElements.clear()) }; removeHighContrastFromElement = element => { const originalBackgroundColor = element.getAttribute("data-original-background-color"), originalColor = element.getAttribute("data-original-color"); if (originalBackgroundColor ? "rgba(0, 0, 0, 0)" === originalBackgroundColor || "transparent" === originalBackgroundColor ? element.style.removeProperty("background-color") : element.style.setProperty("background-color", originalBackgroundColor, "important") : element.style.removeProperty("background-color"), originalColor) if ("rgba(0, 0, 0, 0)" === originalColor || "transparent" === originalColor) { const parentBackgroundColor = this.getParentBackgroundColor(element), textColor = this.getContrastingColor(parentBackgroundColor); element.style.setProperty("color", textColor, "important") } else element.style.setProperty("color", originalColor, "important"); else element.style.removeProperty("color"); element.removeAttribute("data-original-background-color"), element.removeAttribute("data-original-color") };
24 getParentBackgroundColor = element => { let parent = element.parentElement, backgroundColor = "white"; for (; parent;) { const parentBgColor = window.getComputedStyle(parent).backgroundColor; if ("rgba(0, 0, 0, 0)" !== parentBgColor && "transparent" !== parentBgColor) { backgroundColor = parentBgColor; break } parent = parent.parentElement } return backgroundColor }; getContrastingColor = bgColor => { const rgb = bgColor.match(/\d+/g); if (rgb) { const brightness = (299 * parseInt(rgb[0]) + 587 * parseInt(rgb[1]) + 114 * parseInt(rgb[2])) / 1e3; return brightness > 128 ? "black" : "white" } return "black" }; backupAndApplyStyle = (element, property, value) => { let property2 = property.replace(/([A-Z])/g, "-$1").toLowerCase(), originalValue = element.style.getPropertyValue(property2); element.dataset[`original${property}`] = originalValue, element.style.setProperty(property2, value) }; restoreStyle = (element, property) => { const originalValue = element.dataset[`original${property}`]; void 0 !== originalValue ? (delete element.dataset[`original${property}`], property = property.replace(/([A-Z])/g, "-$1").toLowerCase(), element.style.setProperty(property, originalValue)) : delete element.dataset[property] }; toggleContrast = () => { let me = this; const newContrast = !me.fullContrast; me.setFullContrast(newContrast), newContrast ? me.applyHighContrast() : me.removeHighContrast() }; changeBlueFilter = value => { let me = this; me.bluefilter = value, me.applyFilters() }; changeSepia = value => { let me = this; me.sepia = value, me.applyFilters() }; changeGrayscale = value => { let me = this; me.grayscale = value, me.applyFilters() }; changeBrightness = value => { let me = this; me.brightness = value, me.applyFilters() }; changeContrast = value => { let me = this; me.contrast = value, me.applyFilters() }; changeInvert = value => { let me = this; me.invert = value, me.applyFilters() }; changeOpacity = value => { let me = this; me.opacity = value, me.applyFilters() }; changeSaturate = value => { let me = this; me.saturate = value, me.applyFilters() }; hasPositionFixed = node => { const style = window.getComputedStyle(node); return "fixed" === style.getPropertyValue("position") }; applyFilters = () => { let me = this, currentFilter = me.grayscaleF() + me.blueF() + me.sepiaF() + me.brightnessF() + me.contrastF() + me.invertF() + me.opacityF() + me.saturateF(); if (me.wrapperDiv) { const mainContent = me.getMainContent(!1); mainContent.style.filter = currentFilter } const bodyChildren = document.body.children; for (let i = 0; i < bodyChildren.length; i++) { const child = bodyChildren[i]; "accessibility-widget" !== child.tagName.toLowerCase() && "awidget-maincontent" !== child.id && (me.wrapperDiv ? me.applyFilterRecursively(child, currentFilter) : child.style.filter = currentFilter) } me.saveSettings() }; applyFilterRecursively = (child, currentFilter) => { const children = child.children; 0 === children.length && (child.style.filter = currentFilter); for (let i = 0; i < children.length; i++)this.hasChildNodesWithPositionFixed(children[i]) ? this.applyFilterRecursively(children[i], currentFilter) : children[i].style.filter = currentFilter }; hasChildNodesWithPositionFixed = node => { if (this.hasPositionFixed(node)) return !0; const children = node.children; for (let i = 0; i < children.length; i++) { if (this.hasPositionFixed(children[i])) return !0; if (this.hasChildNodesWithPositionFixed(children[i])) return !0 } return !1 }; resetFilters = () => { let me = this; me.initFilters(!0), document.location.reload() }; grayscaleF = () => 0 == this.grayscale ? "" : `grayscale(${this.grayscale}) `; blueF = () => 0 == this.bluefilter ? "" : `sepia(${this.bluefilter}) hue-rotate(180deg) brightness(95%) `; sepiaF = () => 0 == this.sepia ? "" : `sepia(${this.sepia}) `; brightnessF = () => 1 == this.brightness ? "" : `brightness(${this.brightness}) `; contrastF = () => 1 == this.contrast ? "" : `contrast(${this.contrast}) `; invertF = () => 0 == this.invert ? "" : `invert(${this.invert}) `; opacityF = () => 1 == this.opacity ? "" : `opacity(${this.opacity}) `; saturateF = () => 1 == this.saturate ? "" : `saturate(${this.saturate}) `; updateUI () { let me = this; me.shadowRoot.querySelector('input[name="bluefilter"]').value = me.bluefilter, me.shadowRoot.querySelector('input[name="sepia"]').value = me.sepia, me.shadowRoot.querySelector('input[name="grayscale"]').value = me.grayscale, me.shadowRoot.querySelector('input[name="brightness"]').value = me.brightness, me.shadowRoot.querySelector('input[name="contrast"]').value = me.contrast, me.shadowRoot.querySelector('input[name="invert"]').value = me.invert, me.shadowRoot.querySelector('input[name="opacity"]').value = me.opacity, me.shadowRoot.querySelector('input[name="saturate"]').value = me.saturate, me.shadowRoot.querySelector('input[name="toggleHideImages"]').checked = me.hideImages, me.shadowRoot.querySelector('input[name="toggleReadableFont"]').checked = me.readableFont, me.shadowRoot.querySelector('input[name="toggleBiggerCurs
24or"]').checked = me.biggerCursor, me.shadowRoot.querySelector('input[name="toggleFullContrast"]').checked = me.fullContrast } initVoice = () => { let me = this; if (!me.voice) if (window.speechSynthesis) { const voices = me.synth?.getVoices(), speaker = "de-DE" === me.lang ? "Martin" : "Aaron", myvoice = voices?.find(v => v.lang === me.lang && v.name === speaker) || null; myvoice && me.setVoice(myvoice) } else alert("Your browser does not support speech synthesis.") }; readWebsite = () => { let me = this; if ("undefined" != typeof window && me.voice) { if (me.synth?.speaking) return void me.synth?.cancel(); const mainContent = me.getMainContent(!1), mainContentText = mainContent.innerText, utterance = new SpeechSynthesisUtterance(mainContentText); utterance.voice = me.voice, utterance.pitch = 1, utterance.rate = 1, me.synth?.speak(utterance) } }; analyzeInWave = () => { const url = window.location.href, waveUrl = `https://wave.webaim.org/report#/${url}`; window.open(waveUrl, "_blank") }; connectedCallback () { 25 let me = this; me.wrapperDiv = !1, "" !== me.getAttribute("lang") ? me.lang = me.getAttribute("lang") : me.lang = "de-DE", "" !== me.getAttribute("wrapperdiv") && (me.wrapperDiv = "true" === me.getAttribute("wrapperdiv")); const template = $c6bd03dca0294ca2$export$c0bb0b647f701bb5` 26 <style> 27 /* Global widget styles */ 28 :host { 29 font-size: 16px !important; 30 /* Set a fixed font size for the widget */ 31 32 font-family: Arial, sans-serif; 33 line-height: 1.4; 34 color: #333; 35 overflow-x: hidden; 36 37 position: fixed; 38 top: 50%; 39 right: 25px; 40 z-index: 2000; 41 margin: 0; 42 } 43 44 #modal-dialog { 45 position: fixed; 46 top: 50%; 47 left: 88%; 48 transform: translate(-50%, -50%); 49 z-index: 1000; 50 margin: 0; 51 } 52
53 .modal-content { 54 position: fixed; 55 top: 50%; 56 left: 90%; 57 /*transform: translate(-50%, -50%);*/ 58 max-width: 320px; 59 max-height: 560px; 60 width: 320px; 61 height: 560px; 62 background-color: #FDFFFB; 63 border: 1px solid #ddd; 64 border-radius: 10px; 65 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33); 66 overflow-y: auto; 67 z-index: 9999 !important; 68 transition: transform 0.3s ease; 69 } 70 71 .modal-content::before { 72 content: ""; 73 position: absolute; 74 top: 50%; 75 left: 50%; 76 transform: translate(-50%, -50%) scale(0); 77 width: 100%; 78 height: 100%; 79 background-color: inherit; 80 border-radius: inherit; 81 z-index: -1; 82 transition: transform 0.3s ease; 83 } 84
85 .modal-content::after { 86 content: ""; 87 position: absolute; 88 top: 50%; 89 left: 50%; 90 transform: translate(-50%, -50%) scale(0); 91 width: 100%; 92 height: 100%; 93 background-color: inherit; 94 border-radius: inherit; 95 z-index: -1; 96 transition: transform 0.3s ease; 97 } 98 99 .modal-content.open { 100 transform: translate(-50%, -50%) scale(1); 101 } 102 103 .modal-content::before { 104 transform: translate(-50%, -50%) scale(1); 105 } 106 107 .modal-content::after { 108 transform: translate(-50%, -50%) scale(1); 109 } 110 111 /* Button styles */ 112 .openbutton { 113 background-color: #fff; 114 border: 1px solid #000; 115 color: white; 116 padding: 3px 3px 0px 3px; 117 margin: 5px 0 5px 0; 118 text-align: center; 119 text-decoration: none; 120 font-size: 16px; 121 cursor: pointer; 122 border-radius: 30px; 123 transition: background-color 0.3s; 124 } 125 .openbutton:hover { 126 border: 1px solid #FFC341; 127 } 128 129 .button { 130 background-color: #fff; 131 border: 1px solid #FFC341; 132 color: white; 133 padding: 5px 5px; 134 margin: 5px 0 5px 0; 135 text-align: center; 136 text-decoration: none; 137 display: inline-block; 138 font-size: 16px; 139 cursor: pointer; 140 border-radius: 40px; 141 transition: background-color 0.3s; 142 } 143 .action-button { 144 background-color: #DF9F42; 145 color: white; 146 } 147 .accessibility-icon { 148 /*background-image: url('./assets/img/Accessibility-icon.png'); 149 background-size: 64px 64px; 150 background-repeat: no-repeat; 151 background-position: center; 152 display: inline-block; 153 */ 154 width: 64px; 155 height: 64px; 156 vertical-align: middle; 157 margin-right: 0px; 158 } 159 160 .button:hover { 161 background-color: #D18121; 162 /* Darker shade of light blue */ 163 } 164 .button.small { 165 font-size: 14px; 166 padding: 8px 10px; 167 } 168 169 /* Modal overlay */
170 .modal-overlay { 171 position: fixed; 172 top: 0; 173 left: 0; 174 width: 100%; 175 height: 100%; 176 background-color: rgba(0, 0, 0, 0); 177 visibility: hidden; 178 opacity: 0; 179 transition: visibility 0.3s, opacity 0.3s; 180 z-index: 998 !important; 181 /* Lower z-index than the modal content */ 182 } 183 184 185 /* Modal header */ 186 .modal-header { 187 display: flex; 188 justify-content: space-between; 189 align-items: center; 190 padding: 5px; 191 border-bottom: 1px solid #ccc; 192 } 193 194 .modal-header h2 { 195 margin: 0; 196 } 197 198 .modal-dialog > h3 { 199 margin: 0; 200 font-size: 12px; 201 } 202 203 .close-button { 204 font-size: 18px; 205 cursor: pointer; 206 font-weight: bold; 207 } 208 209 /* Modal body */
210 .modal-body { 211 padding: 5px 10px 5px 10px; 212 overflow-y: auto; 213 } 214 215 /* Close button */ 216 .close-button:hover { 217 color: #888; 218 } 219 220 /* Make the modal draggable */ 221 .drag-handle { 222 cursor: move; 223 user-select: none; 224 -webkit-app-region: drag; 225 -webkit-user-drag: element; 226 } 227 </style> 228 <button class="openbutton" id="open-modal" aria-label="Einstellungen für Barrierefreiheit öffnen" title="Einstellungen für Barrierefreiheit öffnen"> 229 <span class="accessibility-icon-X"> 230 <?xml version="1.0" encoding="utf-8"?> 231 <svg width="48px" height="48px" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> 232 <g id="Layer_2" data-name="Layer 2"> 233 <g id="invisible_box" data-name="invisible box"> 234 <rect width="48" height="48" fill="none"/> 235 </g> 236 <g id="icons_Q2" data-name="icons Q2"> 237 <path d="M24,2A22,22,0,1,0,46,24,21.9,21.9,0,0,0,24,2Zm0,8a3,3,0,1,1-3,3A2.9,2.9,0,0,1,24,10ZM35,21H28v4.8l2,9.8A2.1,2.1,0,0,1,28.4,38H28a2.1,2.1,0,0,1-2-1.6L24.2,27h-.4L22,36.4A2.1,2.1,0,0,1,20,38h-.4A2.1,2.1,0,0,1,18,35.6l2-9.8V21H13a2,2,0,0,1,0-4H35a2,2,0,0,1,0,4Z"/> 238 </g> 239 </g> 240 </svg> 241 </span> 242 </button> 243 <div class="modal-overlay"></div> 244 <dialog id="modal-dialog" class="modal-content mywidget"> 245 <div class="modal-header"> 246 <div class="drag-handle" title="Barrierefreiheit Popup bewegen" aria-label="Barrierefreiheit Popup bewegen">☰</div> 247 <h2>Barrierefreiheit</h2> 248 <span class="close-button" title="Barrierefreiheit Popup schliessen" aria-label="Barrierefreiheit Popup schliessen">×</span> 249 </div> 250 <div class="modal-body"> 251 <div> 252 <h3>Allgemein</h3> 253 254 <div> 255 <label>SchriftgröÃe: </label> 256 <button @click=${() => this.decreaseFontSize()}>-</button> 257 <button @click=${() => this.increaseFontSize()}>+</button> 258 </div> 259 <div> 260 <label> 261 <input 262 type="checkbox" 263 name="toggleFullContrast" 264 @change=${e => { this.toggleContrast(), this.saveSettings() }} 265 /> 266 Maximaler Kontrast 267 </label> 268 </div> 269 <div> 270 <label> 271 <input 272 type="checkbox" 273 name="toggleHideImages" 274 @change=${e => this.toggleHideImages()} 275 /> 276 Alle Bilder ausblenden 277 </label> 278 </div> 279 <div> 280 <label> 281 <input 282 type="checkbox" 283 name="toggleBiggerCursor" 284 @change=${e => this.toggleBiggerCursor()} 285 /> 286 GroÃer Cursor 287 </label> 288 </div> 289 <div> 290 <label> 291 <input 292 type="checkbox" 293 name="toggleReadableFont" 294 @change=${e => this.toggleReadableFont()} 295 /> 296 Lesbare Schriftart 297 </label> 298 </div> 299 </div> 300 <div> 301 <h3>Farbkorrektur</h3> 302 <div> 303 <label>Blaufilter: </label> 304 <input 305 type="range" 306 name="bluefilter" 307 min="0" 308 max="1"
309 value="0" 310 step="0.1" 311 @input=${e => this.changeBlueFilter(e.target.value)} 312 /> 313 </div> 314 <div> 315 <label>Sepia Filter: </label> 316 <input 317 type="range" 318 name="sepia" 319 min="0" 320 max="1" 321 value="0" 322 step="0.1" 323 @input=${e => this.changeSepia(e.target.value)} 324 /> 325 </div> 326 <div> 327 <label>Helligkeit: </label> 328 <input 329 type="range" 330 name="brightness" 331 value="1" 332 min="0" 333 max="2" 334 step="0.1" 335 @input=${e => this.changeBrightness(e.target.value)} 336 /> 337 </div> 338 <div> 339 <label>Kontrast: </label> 340 <input 341 type="range" 342 name="contrast" 343 value="1" 344 min="0" 345 max="2" 346 step="0.1" 347 @input=${e => this.changeContrast(e.target.value)} 348 /> 349 </div> 350 <div> 351 <label>Farben invertieren: </label> 352 <input 353 type="range" 354 name="invert" 355 value="0" 356 min="0" 357 max="1" 358 step="0.1" 359 @input=${e => this.changeInvert(e.target.value)} 360 /> 361 </div> 362 <div> 363 <label>Deckkraft: </label> 364 <input 365 type="range" 366 name="opacity" 367 value="1" 368 min="0" 369 max="1" 370 step="0.1" 371 @input=${e => this.changeOpacity(e.target.value)} 372 /> 373 </div> 374 <div> 375 <label>Farbtiefe: </label> 376 <input 377 type="range" 378 name="saturate" 379 value="1" 380 min="0" 381 max="2" 382 step="0.1" 383 @input=${e => this.changeSaturate(e.target.value)} 384 /> 385 </div> 386 </div> 387 <div> 388 <label>Grautöne: </label> 389 <input 390 name="grayscale" 391 type="range" 392 min="0" 393 max="1" 394 value="0" 395 step="0.1" 396 @input=${e => this.changeGrayscale(e.target.value)} 397 /> 398 </div> 399 <div style="margin-top:10px"> 400 <button title="Website vorlesen" aria-label="Website vorlesen" class="button small action-button" @click=${e => this.readWebsite()}>Vorlesen</button> 401 <button title="Website mit WAVE analysieren" aria-label="Website mit WAVE analysieren" class="button small action-button" @click=${e => this.analyzeInWave()}>Analyse</button> 402 <button title="Alle Filter zurücksetzen" aria-label="Alle Filter zurücksetzen" class="button small action-button" @click=${e => this.resetFilters()}>Filter zurücksetzen</button> 403 </div> 404 405 </div> 406 </dialog> 407 `; $c6bd03dca0294ca2$export$b3890eb0ae9dca99(template, me.root), me.setUpWidget(me.lang) 408 } 409} customElements.get("accessibility-widget") || customElements.define("accessibility-widget", $0b76d225d32304e5$var$AccessibilityWidget);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.