|
|
|
|
|
|
|
(function () { |
|
|
|
const edge = navigator.userAgent.match(/Edge\/\d\d\.\d+$/); |
|
|
|
let baseUrl; |
|
|
|
function createBlob(source, type = 'text/javascript') { |
|
return URL.createObjectURL(new Blob([source], { type })); |
|
} |
|
|
|
const noop = () => { }; |
|
|
|
const baseEl = document.querySelector('base[href]'); |
|
if (baseEl) |
|
baseUrl = baseEl.href; |
|
|
|
if (!baseUrl && typeof location !== 'undefined') { |
|
baseUrl = location.href.split('#')[0].split('?')[0]; |
|
const lastSepIndex = baseUrl.lastIndexOf('/'); |
|
if (lastSepIndex !== -1) |
|
baseUrl = baseUrl.slice(0, lastSepIndex + 1); |
|
} |
|
|
|
function isURL(url) { |
|
try { |
|
new URL(url); |
|
return true; |
|
} |
|
catch { |
|
return false; |
|
} |
|
} |
|
|
|
const backslashRegEx = /\\/g; |
|
function resolveIfNotPlainOrUrl(relUrl, parentUrl) { |
|
|
|
parentUrl = parentUrl && parentUrl.split('#')[0].split('?')[0]; |
|
if (relUrl.indexOf('\\') !== -1) |
|
relUrl = relUrl.replace(backslashRegEx, '/'); |
|
|
|
if (relUrl[0] === '/' && relUrl[1] === '/') { |
|
return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl; |
|
} |
|
|
|
else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) || |
|
relUrl.length === 1 && (relUrl += '/')) || |
|
relUrl[0] === '/') { |
|
const parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1); |
|
|
|
|
|
|
|
|
|
|
|
let pathname; |
|
if (parentUrl[parentProtocol.length + 1] === '/') { |
|
|
|
if (parentProtocol !== 'file:') { |
|
pathname = parentUrl.slice(parentProtocol.length + 2); |
|
pathname = pathname.slice(pathname.indexOf('/') + 1); |
|
} |
|
else { |
|
pathname = parentUrl.slice(8); |
|
} |
|
} |
|
else { |
|
|
|
pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/')); |
|
} |
|
|
|
if (relUrl[0] === '/') |
|
return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl; |
|
|
|
|
|
|
|
|
|
const segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl; |
|
|
|
const output = []; |
|
let segmentIndex = -1; |
|
for (let i = 0; i < segmented.length; i++) { |
|
|
|
if (segmentIndex !== -1) { |
|
if (segmented[i] === '/') { |
|
output.push(segmented.slice(segmentIndex, i + 1)); |
|
segmentIndex = -1; |
|
} |
|
} |
|
|
|
|
|
else if (segmented[i] === '.') { |
|
|
|
if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) { |
|
output.pop(); |
|
i += 2; |
|
} |
|
|
|
else if (segmented[i + 1] === '/' || i + 1 === segmented.length) { |
|
i += 1; |
|
} |
|
else { |
|
|
|
segmentIndex = i; |
|
} |
|
} |
|
|
|
else { |
|
segmentIndex = i; |
|
} |
|
} |
|
|
|
if (segmentIndex !== -1) |
|
output.push(segmented.slice(segmentIndex)); |
|
return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join(''); |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function resolveUrl(relUrl, parentUrl) { |
|
return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl)); |
|
} |
|
|
|
function resolveAndComposePackages(packages, outPackages, baseUrl, parentMap) { |
|
for (let p in packages) { |
|
const resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p; |
|
if (outPackages[resolvedLhs]) { |
|
throw new Error(`Dynamic import map rejected: Overrides entry "${resolvedLhs}" from ${outPackages[resolvedLhs]} to ${packages[resolvedLhs]}.`); |
|
} |
|
let target = packages[p]; |
|
if (typeof target !== 'string') |
|
continue; |
|
const mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(target, baseUrl) || target, baseUrl); |
|
if (mapped) { |
|
outPackages[resolvedLhs] = mapped; |
|
continue; |
|
} |
|
targetWarning(p, packages[p], 'bare specifier did not resolve'); |
|
} |
|
} |
|
|
|
function resolveAndComposeImportMap(json, baseUrl, parentMap) { |
|
const outMap = { imports: Object.assign({}, parentMap.imports), scopes: Object.assign({}, parentMap.scopes) }; |
|
|
|
if (json.imports) |
|
resolveAndComposePackages(json.imports, outMap.imports, baseUrl, parentMap); |
|
|
|
if (json.scopes) |
|
for (let s in json.scopes) { |
|
const resolvedScope = resolveUrl(s, baseUrl); |
|
resolveAndComposePackages(json.scopes[s], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, parentMap); |
|
} |
|
|
|
return outMap; |
|
} |
|
|
|
function getMatch(path, matchObj) { |
|
if (matchObj[path]) |
|
return path; |
|
let sepIndex = path.length; |
|
do { |
|
const segment = path.slice(0, sepIndex + 1); |
|
if (segment in matchObj) |
|
return segment; |
|
} while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1) |
|
} |
|
|
|
function applyPackages(id, packages) { |
|
const pkgName = getMatch(id, packages); |
|
if (pkgName) { |
|
const pkg = packages[pkgName]; |
|
if (pkg === null) return; |
|
if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') |
|
targetWarning(pkgName, pkg, "should have a trailing '/'"); |
|
else |
|
return pkg + id.slice(pkgName.length); |
|
} |
|
} |
|
|
|
function targetWarning(match, target, msg) { |
|
console.warn("Package target " + msg + ", resolving target '" + target + "' for " + match); |
|
} |
|
|
|
function resolveImportMap(importMap, resolvedOrPlain, parentUrl) { |
|
let scopeUrl = parentUrl && getMatch(parentUrl, importMap.scopes); |
|
while (scopeUrl) { |
|
const packageResolution = applyPackages(resolvedOrPlain, importMap.scopes[scopeUrl]); |
|
if (packageResolution) |
|
return packageResolution; |
|
scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), importMap.scopes); |
|
} |
|
return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain; |
|
} |
|
|
|
const optionsScript = document.querySelector('script[type=esms-options]'); |
|
|
|
const esmsInitOptions = optionsScript ? JSON.parse(optionsScript.innerHTML) : self.esmsInitOptions ? self.esmsInitOptions : {}; |
|
|
|
let shimMode = !!esmsInitOptions.shimMode; |
|
const resolveHook = globalHook(shimMode && esmsInitOptions.resolve); |
|
|
|
const skip = esmsInitOptions.skip ? new RegExp(esmsInitOptions.skip) : null; |
|
|
|
let nonce = esmsInitOptions.nonce; |
|
|
|
if (!nonce) { |
|
const nonceElement = document.querySelector('script[nonce]'); |
|
if (nonceElement) |
|
nonce = nonceElement.nonce || nonceElement.getAttribute('nonce'); |
|
} |
|
|
|
const onerror = globalHook(esmsInitOptions.onerror || noop); |
|
const onpolyfill = globalHook(esmsInitOptions.onpolyfill || noop); |
|
|
|
const { revokeBlobURLs, noLoadEventRetriggers } = esmsInitOptions; |
|
|
|
const fetchHook = esmsInitOptions.fetch ? globalHook(esmsInitOptions.fetch) : fetch; |
|
|
|
function globalHook(name) { |
|
return typeof name === 'string' ? self[name] : name; |
|
} |
|
|
|
const enable = Array.isArray(esmsInitOptions.polyfillEnable) ? esmsInitOptions.polyfillEnable : []; |
|
const cssModulesEnabled = enable.includes('css-modules'); |
|
const jsonModulesEnabled = enable.includes('json-modules'); |
|
|
|
function setShimMode() { |
|
shimMode = true; |
|
} |
|
|
|
let err; |
|
window.addEventListener('error', _err => err = _err); |
|
function dynamicImportScript(url, { errUrl = url } = {}) { |
|
err = undefined; |
|
const src = createBlob(`import*as m from'${url}';self._esmsi=m`); |
|
const s = Object.assign(document.createElement('script'), { type: 'module', src }); |
|
s.setAttribute('nonce', nonce); |
|
s.setAttribute('noshim', ''); |
|
const p = new Promise((resolve, reject) => { |
|
|
|
s.addEventListener('error', cb); |
|
s.addEventListener('load', cb); |
|
|
|
function cb(_err) { |
|
document.head.removeChild(s); |
|
if (self._esmsi) { |
|
resolve(self._esmsi, baseUrl); |
|
self._esmsi = undefined; |
|
} |
|
else { |
|
reject(!(_err instanceof Event) && _err || err && err.error || new Error(`Error loading or executing the graph of ${errUrl} (check the console for ${src}).`)); |
|
err = undefined; |
|
} |
|
} |
|
}); |
|
document.head.appendChild(s); |
|
return p; |
|
} |
|
|
|
let dynamicImport = dynamicImportScript; |
|
|
|
const supportsDynamicImportCheck = dynamicImportScript(createBlob('export default u=>import(u)')).then(_dynamicImport => { |
|
if (_dynamicImport) |
|
dynamicImport = _dynamicImport.default; |
|
return !!_dynamicImport; |
|
}, noop); |
|
|
|
|
|
let supportsJsonAssertions = false; |
|
let supportsCssAssertions = false; |
|
|
|
let supportsImportMeta = false; |
|
let supportsImportMaps = false; |
|
|
|
let supportsDynamicImport = false; |
|
|
|
const featureDetectionPromise = Promise.resolve(supportsDynamicImportCheck).then(_supportsDynamicImport => { |
|
if (!_supportsDynamicImport) |
|
return; |
|
supportsDynamicImport = true; |
|
|
|
return Promise.all([ |
|
dynamicImport(createBlob('import.meta')).then(() => supportsImportMeta = true, noop), |
|
cssModulesEnabled && dynamicImport(createBlob('import"data:text/css,{}"assert{type:"css"}')).then(() => supportsCssAssertions = true, noop), |
|
jsonModulesEnabled && dynamicImport(createBlob('import"data:text/json,{}"assert{type:"json"}')).then(() => supportsJsonAssertions = true, noop), |
|
new Promise(resolve => { |
|
self._$s = v => { |
|
document.head.removeChild(iframe); |
|
if (v) supportsImportMaps = true; |
|
delete self._$s; |
|
resolve(); |
|
}; |
|
const iframe = document.createElement('iframe'); |
|
iframe.style.display = 'none'; |
|
document.head.appendChild(iframe); |
|
iframe.src = createBlob(`<script type=importmap nonce="${nonce}">{"imports":{"x":"data:text/javascript,"}}<${''}/script><script nonce="${nonce}">import('x').then(()=>1,()=>0).then(v=>parent._$s(v))<${''}/script>`, 'text/html'); |
|
}) |
|
]); |
|
}); |
|
|
|
let e, r, a, i = 4194304; const s = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0]; let t, f, c$1; function parse(k, l = "@") { if (t = k, f = l, t.length > i || !e) { for (; t.length > i;)i *= 2; r = new ArrayBuffer(4 * i), e = function (e, r, a) { "use asm"; var i = new e.Int8Array(a), s = new e.Int16Array(a), t = new e.Int32Array(a), f = new e.Uint8Array(a), c = new e.Uint16Array(a), n = 816; function b(e) { e = e | 0; var r = 0, a = 0, f = 0, b = 0, l = 0; l = n; n = n + 14336 | 0; b = l; i[589] = 1; s[291] = 0; s[292] = 0; s[293] = -1; t[15] = t[2]; i[590] = 0; t[14] = 0; i[588] = 0; t[16] = l + 10240; t[17] = l + 2048; i[591] = 0; e = (t[3] | 0) + -2 | 0; t[18] = e; r = e + (t[12] << 1) | 0; t[19] = r; e: while (1) { a = e + 2 | 0; t[18] = a; if (e >>> 0 >= r >>> 0) { f = 18; break } r: do { switch (s[a >> 1] | 0) { case 9: case 10: case 11: case 12: case 13: case 32: break; case 101: { if ((((s[292] | 0) == 0 ? R(a) | 0 : 0) ? B(e + 4 | 0, 120, 112, 111, 114, 116) | 0 : 0) ? (u(), (i[589] | 0) == 0) : 0) { f = 9; break e } else f = 17; break } case 105: { if (R(a) | 0 ? B(e + 4 | 0, 109, 112, 111, 114, 116) | 0 : 0) { k(); f = 17; } else f = 17; break } case 59: { f = 17; break } case 47: switch (s[e + 4 >> 1] | 0) { case 47: { G(); break r } case 42: { p(1); break r } default: { f = 16; break e } }default: { f = 16; break e } } } while (0); if ((f | 0) == 17) { f = 0; t[15] = t[18]; } e = t[18] | 0; r = t[19] | 0; } if ((f | 0) == 9) { e = t[18] | 0; t[15] = e; f = 19; } else if ((f | 0) == 16) { i[589] = 0; t[18] = e; f = 19; } else if ((f | 0) == 18) if (!(i[588] | 0)) { e = a; f = 19; } else e = 0; do { if ((f | 0) == 19) { e: while (1) { r = e + 2 | 0; t[18] = r; a = r; if (e >>> 0 >= (t[19] | 0) >>> 0) { f = 75; break } r: do { switch (s[r >> 1] | 0) { case 9: case 10: case 11: case 12: case 13: case 32: break; case 101: { if (((s[292] | 0) == 0 ? R(r) | 0 : 0) ? B(e + 4 | 0, 120, 112, 111, 114, 116) | 0 : 0) { u(); f = 74; } else f = 74; break } case 105: { if (R(r) | 0 ? B(e + 4 | 0, 109, 112, 111, 114, 116) | 0 : 0) { k(); f = 74; } else f = 74; break } case 99: { if ((R(r) | 0 ? z(e + 4 | 0, 108, 97, 115, 115) | 0 : 0) ? Z(s[e + 12 >> 1] | 0) | 0 : 0) { i[591] = 1; f = 74; } else f = 74; break } case 40: { r = t[15] | 0; a = t[17] | 0; f = s[292] | 0; s[292] = f + 1 << 16 >> 16; t[a + ((f & 65535) << 2) >> 2] = r; f = 74; break } case 41: { e = s[292] | 0; if (!(e << 16 >> 16)) { f = 36; break e } f = e + -1 << 16 >> 16; s[292] = f; e = t[11] | 0; if ((e | 0) != 0 ? (t[e + 20 >> 2] | 0) == (t[(t[17] | 0) + ((f & 65535) << 2) >> 2] | 0) : 0) { r = e + 4 | 0; if (!(t[r >> 2] | 0)) t[r >> 2] = a; t[e + 12 >> 2] = a; t[11] = 0; f = 74; } else f = 74; break } case 123: { f = t[15] | 0; a = t[8] | 0; e = f; do { if ((s[f >> 1] | 0) == 41 & (a | 0) != 0 ? (t[a + 4 >> 2] | 0) == (f | 0) : 0) { r = t[9] | 0; t[8] = r; if (!r) { t[4] = 0; break } else { t[r + 28 >> 2] = 0; break } } } while (0); r = s[292] | 0; f = r & 65535; i[b + f >> 0] = i[591] | 0; i[591] = 0; a = t[17] | 0; s[292] = r + 1 << 16 >> 16; t[a + (f << 2) >> 2] = e; f = 74; break } case 125: { e = s[292] | 0; if (!(e << 16 >> 16)) { f = 49; break e } a = e + -1 << 16 >> 16; s[292] = a; r = s[293] | 0; if (e << 16 >> 16 != r << 16 >> 16) if (r << 16 >> 16 != -1 & (a & 65535) < (r & 65535)) { f = 53; break e } else { f = 74; break r } else { a = t[16] | 0; f = (s[291] | 0) + -1 << 16 >> 16; s[291] = f; s[293] = s[a + ((f & 65535) << 1) >> 1] | 0; h(); f = 74; break r } } case 39: { d(39); f = 74; break } case 34: { d(34); f = 74; break } case 47: switch (s[e + 4 >> 1] | 0) { case 47: { G(); break r } case 42: { p(1); break r } default: { r = t[15] | 0; a = s[r >> 1] | 0; a: do { if (!(x(a) | 0)) { switch (a << 16 >> 16) { case 41: if (L(t[(t[17] | 0) + (c[292] << 2) >> 2] | 0) | 0) { f = 71; break a } else { f = 68; break a } case 125: break; default: { f = 68; break a } }e = c[292] | 0; if (!(y(t[(t[17] | 0) + (e << 2) >> 2] | 0) | 0) ? (i[b + e >> 0] | 0) == 0 : 0) f = 68; else f = 71; } else switch (a << 16 >> 16) { case 46: if (((s[r + -2 >> 1] | 0) + -48 & 65535) < 10) { f = 68; break a } else { f = 71; break a } case 43: if ((s[r + -2 >> 1] | 0) == 43) { f = 68; break a } else { f = 71; break a } case 45: if ((s[r + -2 >> 1] | 0) == 45) { f = 68; break a } else { f = 71; break a } default: { f = 71; break a } } } while (0); a: do { if ((f | 0) == 68) { f = 0; if (!(o(r) | 0)) { switch (a << 16 >> 16) { case 0: { f = 71; break a } case 47: break; default: { e = 1; break a } }if (!(i[590] | 0)) e = 1; else f = 71; } else f = 71; } } while (0); if ((f | 0) == 71) { I(); e = 0; } i[590] = e; f = 74; break r } }case 96: { h(); f = 74; break } default: f = 74; } } while (0); if ((f | 0) == 74) { f = 0; t[15] = t[18]; } e = t[18] | 0; } if ((f | 0) == 36) { Y(); e = 0; break } else if ((f | 0) == 49) { Y(); e = 0; break } else if ((f | 0) == 53) { Y(); e = 0; break } else if ((f | 0) == 75) { e = (s[293] | 0) == -1 & (s[292] | 0) == 0 & (i[588] | 0) == 0; break } } } while (0); n = l; return e | 0 } function u() { var e = 0, r = 0, a = 0, f = 0, c = 0, n = 0; c = t[18] | 0; n = c + 12 | 0; t[18] = n; r = w(1) | 0; e = t[18] | 0; if (!((e | 0) == (n | 0) ? !(S(r) | 0) : 0)) f = 3; e: do { if ((f | 0) == 3) { r: do { switch (r << 16 >> 16) { case 100: { J(e, e + 14 | 0); break e } case 97: { t[18] = e + 10; w(1) | 0; e = t[18] | 0; f = 6; break } case 102: { f = 6; break } case 99: { if (z(e + 2 | 0, 108, 97, 115, 115) | 0 ? (a = e + 10 | 0, F(s[a >> 1] | 0) | 0) : 0) { t[18] = a; c = w(1) | 0; n = t[18] | 0; H(c) | 0; J(n, t[18] | 0); t[18] = (t[18] | 0) + -2; break e } e = e + 4 | 0; t[18] = e; f = 13; break } case 108: case 118: { f = 13; break } case 123: { t[18] = e + 2; e = w(1) | 0; a = t[18] | 0; while (1) { if (_(e) | 0) { d(e); e = (t[18] | 0) + 2 | 0; t[18] = e; } else { H(e) | 0; e = t[18] | 0; } w(1) | 0; e = g(a, e) | 0; if (e << 16 >> 16 == 44) { t[18] = (t[18] | 0) + 2; e = w(1) | 0; } r = a; a = t[18] | 0; if (e << 16 >> 16 == 125) { f = 32; break } if ((a | 0) == (r | 0)) { f = 29; break } if (a >>> 0 > (t[19] | 0) >>> 0) { f = 31; break } } if ((f | 0) == 29) { Y(); break e } else if ((f | 0) == 31) { Y(); break e } else if ((f | 0) == 32) { t[18] = a + 2; f = 34; break r } break } case 42: { t[18] = e + 2; w(1) | 0; f = t[18] | 0; g(f, f) | 0; f = 34; break } default: { } } } while (0); if ((f | 0) == 6) { t[18] = e + 16; e = w(1) | 0; if (e << 16 >> 16 == 42) { t[18] = (t[18] | 0) + 2; e = w(1) | 0; } n = t[18] | 0; H(e) | 0; J(n, t[18] | 0); t[18] = (t[18] | 0) + -2; break } else if ((f | 0) == 13) { e = e + 4 | 0; t[18] = e; i[589] = 0; r: while (1) { t[18] = e + 2; n = w(1) | 0; e = t[18] | 0; switch ((H(n) | 0) << 16 >> 16) { case 91: case 123: { f = 15; break r } default: { } }r = t[18] | 0; if ((r | 0) == (e | 0)) break e; J(e, r); switch ((w(1) | 0) << 16 >> 16) { case 61: { f = 19; break r } case 44: break; default: { f = 20; break r } }e = t[18] | 0; } if ((f | 0) == 15) { t[18] = (t[18] | 0) + -2; break } else if ((f | 0) == 19) { t[18] = (t[18] | 0) + -2; break } else if ((f | 0) == 20) { t[18] = (t[18] | 0) + -2; break } } else if ((f | 0) == 34) r = w(1) | 0; e = t[18] | 0; if (r << 16 >> 16 == 102 ? K(e + 2 | 0, 114, 111, 109) | 0 : 0) { t[18] = e + 8; l(c, w(1) | 0); break } t[18] = e + -2; } } while (0); return } function k() { var e = 0, r = 0, a = 0, f = 0, c = 0; c = t[18] | 0; r = c + 12 | 0; t[18] = r; e: do { switch ((w(1) | 0) << 16 >> 16) { case 40: { r = t[17] | 0; a = s[292] | 0; s[292] = a + 1 << 16 >> 16; t[r + ((a & 65535) << 2) >> 2] = c; if ((s[t[15] >> 1] | 0) != 46) { v(c, (t[18] | 0) + 2 | 0, 0, c); t[11] = t[8]; t[18] = (t[18] | 0) + 2; switch ((w(1) | 0) << 16 >> 16) { case 39: { d(39); break } case 34: { d(34); break } default: { t[18] = (t[18] | 0) + -2; break e } }t[18] = (t[18] | 0) + 2; switch ((w(1) | 0) << 16 >> 16) { case 44: { c = t[18] | 0; t[(t[8] | 0) + 4 >> 2] = c; t[18] = c + 2; w(1) | 0; c = t[18] | 0; a = t[8] | 0; t[a + 16 >> 2] = c; i[a + 24 >> 0] = 1; t[18] = c + -2; break e } case 41: { s[292] = (s[292] | 0) + -1 << 16 >> 16; a = t[18] | 0; c = t[8] | 0; t[c + 4 >> 2] = a; t[c + 12 >> 2] = a; i[c + 24 >> 0] = 1; break e } default: { t[18] = (t[18] | 0) + -2; break e } } } break } case 46: { t[18] = (t[18] | 0) + 2; if (((w(1) | 0) << 16 >> 16 == 109 ? (e = t[18] | 0, K(e + 2 | 0, 101, 116, 97) | 0) : 0) ? (s[t[15] >> 1] | 0) != 46 : 0) v(c, c, e + 8 | 0, 2); break } case 42: case 39: case 34: { f = 16; break } case 123: { e = t[18] | 0; if (s[292] | 0) { t[18] = e + -2; break e } while (1) { if (e >>> 0 >= (t[19] | 0) >>> 0) break; e = w(1) | 0; if (!(_(e) | 0)) { if (e << 16 >> 16 == 125) { f = 31; break } } else d(e); e = (t[18] | 0) + 2 | 0; t[18] = e; } if ((f | 0) == 31) t[18] = (t[18] | 0) + 2; w(1) | 0; e = t[18] | 0; if (!(z(e, 102, 114, 111, 109) | 0)) { Y(); break e } t[18] = e + 8; e = w(1) | 0; if (_(e) | 0) { l(c, e); break e } else { Y(); break e } } default: if ((t[18] | 0) != (r | 0)) f = 16; } } while (0); do { if ((f | 0) == 16) { if (s[292] | 0) { t[18] = (t[18] | 0) + -2; break } e = t[19] | 0; r = t[18] | 0; while (1) { if (r >>> 0 >= e >>> 0) { f = 23; break } a = s[r >> 1] | 0; if (_(a) | 0) { f = 21; break } f = r + 2 | 0; t[18] = f; r = f; } if ((f | 0) == 21) { l(c, a); break } else if ((f | 0) == 23) { Y(); break } } } while (0); return } function l(e, r) { e = e | 0; r = r | 0; var a = 0, i = 0; a = (t[18] | 0) + 2 | 0; switch (r << 16 >> 16) { case 39: { d(39); i = 5; break } case 34: { d(34); i = 5; break } default: Y(); }do { if ((i | 0) == 5) { v(e, a, t[18] | 0, 1); t[18] = (t[18] | 0) + 2; i = (w(0) | 0) << 16 >> 16 == 97; r = t[18] | 0; if (i ? B(r + 2 | 0, 115, 115, 101, 114, 116) | 0 : 0) { t[18] = r + 12; if ((w(1) | 0) << 16 >> 16 != 123) { t[18] = r; break } e = t[18] | 0; a = e; e: while (1) { t[18] = a + 2; a = w(1) | 0; switch (a << 16 >> 16) { case 39: { d(39); t[18] = (t[18] | 0) + 2; a = w(1) | 0; break } case 34: { d(34); t[18] = (t[18] | 0) + 2; a = w(1) | 0; break } default: a = H(a) | 0; }if (a << 16 >> 16 != 58) { i = 16; break } t[18] = (t[18] | 0) + 2; switch ((w(1) | 0) << 16 >> 16) { case 39: { d(39); break } case 34: { d(34); break } default: { i = 20; break e } }t[18] = (t[18] | 0) + 2; switch ((w(1) | 0) << 16 >> 16) { case 125: { i = 25; break e } case 44: break; default: { i = 24; break e } }t[18] = (t[18] | 0) + 2; if ((w(1) | 0) << 16 >> 16 == 125) { i = 25; break } a = t[18] | 0; } if ((i | 0) == 16) { t[18] = r; break } else if ((i | 0) == 20) { t[18] = r; break } else if ((i | 0) == 24) { t[18] = r; break } else if ((i | 0) == 25) { i = t[8] | 0; t[i + 16 >> 2] = e; t[i + 12 >> 2] = (t[18] | 0) + 2; break } } t[18] = r + -2; } } while (0); return } function o(e) { e = e | 0; e: do { switch (s[e >> 1] | 0) { case 100: switch (s[e + -2 >> 1] | 0) { case 105: { e = q(e + -4 | 0, 118, 111) | 0; break e } case 108: { e = P(e + -4 | 0, 121, 105, 101) | 0; break e } default: { e = 0; break e } }case 101: { switch (s[e + -2 >> 1] | 0) { case 115: break; case 116: { e = E(e + -4 | 0, 100, 101, 108, 101) | 0; break e } default: { e = 0; break e } }switch (s[e + -4 >> 1] | 0) { case 108: { e = D(e + -6 | 0, 101) | 0; break e } case 97: { e = D(e + -6 | 0, 99) | 0; break e } default: { e = 0; break e } } } case 102: { if ((s[e + -2 >> 1] | 0) == 111 ? (s[e + -4 >> 1] | 0) == 101 : 0) switch (s[e + -6 >> 1] | 0) { case 99: { e = O(e + -8 | 0, 105, 110, 115, 116, 97, 110) | 0; break e } case 112: { e = q(e + -8 | 0, 116, 121) | 0; break e } default: { e = 0; break e } } else e = 0; break } case 110: { e = e + -2 | 0; if (D(e, 105) | 0) e = 1; else e = $(e, 114, 101, 116, 117, 114) | 0; break } case 111: { e = D(e + -2 | 0, 100) | 0; break } case 114: { e = m(e + -2 | 0, 100, 101, 98, 117, 103, 103, 101) | 0; break } case 116: { e = E(e + -2 | 0, 97, 119, 97, 105) | 0; break } case 119: switch (s[e + -2 >> 1] | 0) { case 101: { e = D(e + -4 | 0, 110) | 0; break e } case 111: { e = P(e + -4 | 0, 116, 104, 114) | 0; break e } default: { e = 0; break e } }default: e = 0; } } while (0); return e | 0 } function h() { var e = 0, r = 0, a = 0; r = t[19] | 0; a = t[18] | 0; e: while (1) { e = a + 2 | 0; if (a >>> 0 >= r >>> 0) { r = 8; break } switch (s[e >> 1] | 0) { case 96: { r = 9; break e } case 36: { if ((s[a + 4 >> 1] | 0) == 123) { r = 6; break e } break } case 92: { e = a + 4 | 0; break } default: { } }a = e; } if ((r | 0) == 6) { t[18] = a + 4; e = s[293] | 0; r = t[16] | 0; a = s[291] | 0; s[291] = a + 1 << 16 >> 16; s[r + ((a & 65535) << 1) >> 1] = e; a = (s[292] | 0) + 1 << 16 >> 16; s[292] = a; s[293] = a; } else if ((r | 0) == 8) { t[18] = e; Y(); } else if ((r | 0) == 9) t[18] = e; return } function w(e) { e = e | 0; var r = 0, a = 0, i = 0; a = t[18] | 0; e: do { r = s[a >> 1] | 0; r: do { if (r << 16 >> 16 != 47) if (e) if (Z(r) | 0) break; else break e; else if (Q(r) | 0) break; else break e; else switch (s[a + 2 >> 1] | 0) { case 47: { G(); break r } case 42: { p(e); break r } default: { r = 47; break e } } } while (0); i = t[18] | 0; a = i + 2 | 0; t[18] = a; } while (i >>> 0 < (t[19] | 0) >>> 0); return r | 0 } function d(e) { e = e | 0; var r = 0, a = 0, i = 0, f = 0; f = t[19] | 0; r = t[18] | 0; while (1) { i = r + 2 | 0; if (r >>> 0 >= f >>> 0) { r = 9; break } a = s[i >> 1] | 0; if (a << 16 >> 16 == e << 16 >> 16) { r = 10; break } if (a << 16 >> 16 == 92) { a = r + 4 | 0; if ((s[a >> 1] | 0) == 13) { r = r + 6 | 0; r = (s[r >> 1] | 0) == 10 ? r : a; } else r = a; } else if (ae(a) | 0) { r = 9; break } else r = i; } if ((r | 0) == 9) { t[18] = i; Y(); } else if ((r | 0) == 10) t[18] = i; return } function v(e, r, a, s) { e = e | 0; r = r | 0; a = a | 0; s = s | 0; var f = 0, c = 0; f = t[13] | 0; t[13] = f + 32; c = t[8] | 0; t[((c | 0) == 0 ? 16 : c + 28 | 0) >> 2] = f; t[9] = c; t[8] = f; t[f + 8 >> 2] = e; do { if (2 != (s | 0)) if (1 == (s | 0)) { t[f + 12 >> 2] = a + 2; break } else { t[f + 12 >> 2] = t[3]; break } else t[f + 12 >> 2] = a; } while (0); t[f >> 2] = r; t[f + 4 >> 2] = a; t[f + 16 >> 2] = 0; t[f + 20 >> 2] = s; i[f + 24 >> 0] = 1 == (s | 0) & 1; t[f + 28 >> 2] = 0; return } function A() { var e = 0, r = 0, a = 0; a = t[19] | 0; r = t[18] | 0; e: while (1) { e = r + 2 | 0; if (r >>> 0 >= a >>> 0) { r = 6; break } switch (s[e >> 1] | 0) { case 13: case 10: { r = 6; break e } case 93: { r = 7; break e } case 92: { e = r + 4 | 0; break } default: { } }r = e; } if ((r | 0) == 6) { t[18] = e; Y(); e = 0; } else if ((r | 0) == 7) { t[18] = e; e = 93; } return e | 0 } function C(e, r, a, i, t, f, c, n) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; t = t | 0; f = f | 0; c = c | 0; n = n | 0; if ((((((s[e + 12 >> 1] | 0) == n << 16 >> 16 ? (s[e + 10 >> 1] | 0) == c << 16 >> 16 : 0) ? (s[e + 8 >> 1] | 0) == f << 16 >> 16 : 0) ? (s[e + 6 >> 1] | 0) == t << 16 >> 16 : 0) ? (s[e + 4 >> 1] | 0) == i << 16 >> 16 : 0) ? (s[e + 2 >> 1] | 0) == a << 16 >> 16 : 0) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function y(e) { e = e | 0; switch (s[e >> 1] | 0) { case 62: { e = (s[e + -2 >> 1] | 0) == 61; break } case 41: case 59: { e = 1; break } case 104: { e = E(e + -2 | 0, 99, 97, 116, 99) | 0; break } case 121: { e = O(e + -2 | 0, 102, 105, 110, 97, 108, 108) | 0; break } case 101: { e = P(e + -2 | 0, 101, 108, 115) | 0; break } default: e = 0; }return e | 0 } function g(e, r) { e = e | 0; r = r | 0; var a = 0, i = 0; a = t[18] | 0; i = s[a >> 1] | 0; if (i << 16 >> 16 == 97) { t[18] = a + 4; a = w(1) | 0; e = t[18] | 0; if (_(a) | 0) { d(a); r = (t[18] | 0) + 2 | 0; t[18] = r; } else { H(a) | 0; r = t[18] | 0; } i = w(1) | 0; a = t[18] | 0; } if ((a | 0) != (e | 0)) J(e, r); return i | 0 } function I() { var e = 0, r = 0, a = 0; e: while (1) { e = t[18] | 0; r = e + 2 | 0; t[18] = r; if (e >>> 0 >= (t[19] | 0) >>> 0) { a = 7; break } switch (s[r >> 1] | 0) { case 13: case 10: { a = 7; break e } case 47: break e; case 91: { A() | 0; break } case 92: { t[18] = e + 4; break } default: { } } } if ((a | 0) == 7) Y(); return } function p(e) { e = e | 0; var r = 0, a = 0, i = 0, f = 0, c = 0; f = (t[18] | 0) + 2 | 0; t[18] = f; a = t[19] | 0; while (1) { r = f + 2 | 0; if (f >>> 0 >= a >>> 0) break; i = s[r >> 1] | 0; if (!e ? ae(i) | 0 : 0) break; if (i << 16 >> 16 == 42 ? (s[f + 4 >> 1] | 0) == 47 : 0) { c = 8; break } f = r; } if ((c | 0) == 8) { t[18] = r; r = f + 4 | 0; } t[18] = r; return } function U(e, r, a, i, t, f, c) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; t = t | 0; f = f | 0; c = c | 0; if (((((s[e + 10 >> 1] | 0) == c << 16 >> 16 ? (s[e + 8 >> 1] | 0) == f << 16 >> 16 : 0) ? (s[e + 6 >> 1] | 0) == t << 16 >> 16 : 0) ? (s[e + 4 >> 1] | 0) == i << 16 >> 16 : 0) ? (s[e + 2 >> 1] | 0) == a << 16 >> 16 : 0) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function m(e, r, a, i, f, c, n, b) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; f = f | 0; c = c | 0; n = n | 0; b = b | 0; var u = 0, k = 0; k = e + -12 | 0; u = t[3] | 0; if (k >>> 0 >= u >>> 0 ? C(k, r, a, i, f, c, n, b) | 0 : 0) if ((k | 0) == (u | 0)) u = 1; else u = F(s[e + -14 >> 1] | 0) | 0; else u = 0; return u | 0 } function S(e) { e = e | 0; e: do { switch (e << 16 >> 16) { case 38: case 37: case 33: { e = 1; break } default: if ((e & -8) << 16 >> 16 == 40 | (e + -58 & 65535) < 6) e = 1; else { switch (e << 16 >> 16) { case 91: case 93: case 94: { e = 1; break e } default: { } }e = (e + -123 & 65535) < 4; } } } while (0); return e | 0 } function x(e) { e = e | 0; e: do { switch (e << 16 >> 16) { case 38: case 37: case 33: break; default: if (!((e + -58 & 65535) < 6 | (e + -40 & 65535) < 7 & e << 16 >> 16 != 41)) { switch (e << 16 >> 16) { case 91: case 94: break e; default: { } }return e << 16 >> 16 != 125 & (e + -123 & 65535) < 4 | 0 } } } while (0); return 1 } function O(e, r, a, i, f, c, n) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; f = f | 0; c = c | 0; n = n | 0; var b = 0, u = 0; u = e + -10 | 0; b = t[3] | 0; if (u >>> 0 >= b >>> 0 ? U(u, r, a, i, f, c, n) | 0 : 0) if ((u | 0) == (b | 0)) b = 1; else b = F(s[e + -12 >> 1] | 0) | 0; else b = 0; return b | 0 } function $(e, r, a, i, f, c) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; f = f | 0; c = c | 0; var n = 0, b = 0; b = e + -8 | 0; n = t[3] | 0; if (b >>> 0 >= n >>> 0 ? B(b, r, a, i, f, c) | 0 : 0) if ((b | 0) == (n | 0)) n = 1; else n = F(s[e + -10 >> 1] | 0) | 0; else n = 0; return n | 0 } function j(e) { e = e | 0; var r = 0, a = 0, i = 0, f = 0; a = n; n = n + 16 | 0; i = a; t[i >> 2] = 0; t[12] = e; r = t[3] | 0; f = r + (e << 1) | 0; e = f + 2 | 0; s[f >> 1] = 0; t[i >> 2] = e; t[13] = e; t[4] = 0; t[8] = 0; t[6] = 0; t[5] = 0; t[10] = 0; t[7] = 0; n = a; return r | 0 } function B(e, r, a, i, t, f) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; t = t | 0; f = f | 0; if ((((s[e + 8 >> 1] | 0) == f << 16 >> 16 ? (s[e + 6 >> 1] | 0) == t << 16 >> 16 : 0) ? (s[e + 4 >> 1] | 0) == i << 16 >> 16 : 0) ? (s[e + 2 >> 1] | 0) == a << 16 >> 16 : 0) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function E(e, r, a, i, f) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; f = f | 0; var c = 0, n = 0; n = e + -6 | 0; c = t[3] | 0; if (n >>> 0 >= c >>> 0 ? z(n, r, a, i, f) | 0 : 0) if ((n | 0) == (c | 0)) c = 1; else c = F(s[e + -8 >> 1] | 0) | 0; else c = 0; return c | 0 } function P(e, r, a, i) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; var f = 0, c = 0; c = e + -4 | 0; f = t[3] | 0; if (c >>> 0 >= f >>> 0 ? K(c, r, a, i) | 0 : 0) if ((c | 0) == (f | 0)) f = 1; else f = F(s[e + -6 >> 1] | 0) | 0; else f = 0; return f | 0 } function q(e, r, a) { e = e | 0; r = r | 0; a = a | 0; var i = 0, f = 0; f = e + -2 | 0; i = t[3] | 0; if (f >>> 0 >= i >>> 0 ? N(f, r, a) | 0 : 0) if ((f | 0) == (i | 0)) i = 1; else i = F(s[e + -4 >> 1] | 0) | 0; else i = 0; return i | 0 } function z(e, r, a, i, t) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; t = t | 0; if (((s[e + 6 >> 1] | 0) == t << 16 >> 16 ? (s[e + 4 >> 1] | 0) == i << 16 >> 16 : 0) ? (s[e + 2 >> 1] | 0) == a << 16 >> 16 : 0) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function D(e, r) { e = e | 0; r = r | 0; var a = 0; a = t[3] | 0; if (a >>> 0 <= e >>> 0 ? (s[e >> 1] | 0) == r << 16 >> 16 : 0) if ((a | 0) == (e | 0)) a = 1; else a = F(s[e + -2 >> 1] | 0) | 0; else a = 0; return a | 0 } function F(e) { e = e | 0; e: do { if ((e + -9 & 65535) < 5) e = 1; else { switch (e << 16 >> 16) { case 32: case 160: { e = 1; break e } default: { } }e = e << 16 >> 16 != 46 & (S(e) | 0); } } while (0); return e | 0 } function G() { var e = 0, r = 0, a = 0; e = t[19] | 0; a = t[18] | 0; e: while (1) { r = a + 2 | 0; if (a >>> 0 >= e >>> 0) break; switch (s[r >> 1] | 0) { case 13: case 10: break e; default: a = r; } } t[18] = r; return } function H(e) { e = e | 0; while (1) { if (Z(e) | 0) break; if (S(e) | 0) break; e = (t[18] | 0) + 2 | 0; t[18] = e; e = s[e >> 1] | 0; if (!(e << 16 >> 16)) { e = 0; break } } return e | 0 } function J(e, r) { e = e | 0; r = r | 0; var a = 0, i = 0; a = t[13] | 0; t[13] = a + 12; i = t[10] | 0; t[((i | 0) == 0 ? 20 : i + 8 | 0) >> 2] = a; t[10] = a; t[a >> 2] = e; t[a + 4 >> 2] = r; t[a + 8 >> 2] = 0; return } function K(e, r, a, i) { e = e | 0; r = r | 0; a = a | 0; i = i | 0; if ((s[e + 4 >> 1] | 0) == i << 16 >> 16 ? (s[e + 2 >> 1] | 0) == a << 16 >> 16 : 0) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function L(e) { e = e | 0; if (!($(e, 119, 104, 105, 108, 101) | 0) ? !(P(e, 102, 111, 114) | 0) : 0) e = q(e, 105, 102) | 0; else e = 1; return e | 0 } function M() { var e = 0; e = t[(t[6] | 0) + 20 >> 2] | 0; switch (e | 0) { case 1: { e = -1; break } case 2: { e = -2; break } default: e = e - (t[3] | 0) >> 1; }return e | 0 } function N(e, r, a) { e = e | 0; r = r | 0; a = a | 0; if ((s[e + 2 >> 1] | 0) == a << 16 >> 16) r = (s[e >> 1] | 0) == r << 16 >> 16; else r = 0; return r | 0 } function Q(e) { e = e | 0; switch (e << 16 >> 16) { case 160: case 32: case 12: case 11: case 9: { e = 1; break } default: e = 0; }return e | 0 } function R(e) { e = e | 0; if ((t[3] | 0) == (e | 0)) e = 1; else e = F(s[e + -2 >> 1] | 0) | 0; return e | 0 } function T() { var e = 0; e = t[(t[6] | 0) + 16 >> 2] | 0; if (!e) e = -1; else e = e - (t[3] | 0) >> 1; return e | 0 } function V() { var e = 0; e = t[6] | 0; e = t[((e | 0) == 0 ? 16 : e + 28 | 0) >> 2] | 0; t[6] = e; return (e | 0) != 0 | 0 } function W() { var e = 0; e = t[7] | 0; e = t[((e | 0) == 0 ? 20 : e + 8 | 0) >> 2] | 0; t[7] = e; return (e | 0) != 0 | 0 } function X(e) { e = e | 0; var r = 0; r = n; n = n + e | 0; n = n + 15 & -16; return r | 0 } function Y() { i[588] = 1; t[14] = (t[18] | 0) - (t[3] | 0) >> 1; t[18] = (t[19] | 0) + 2; return } function Z(e) { e = e | 0; return (e | 128) << 16 >> 16 == 160 | (e + -9 & 65535) < 5 | 0 } function _(e) { e = e | 0; return e << 16 >> 16 == 39 | e << 16 >> 16 == 34 | 0 } function ee() { return (t[(t[6] | 0) + 12 >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function re() { return (t[(t[6] | 0) + 8 >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function ae(e) { e = e | 0; return e << 16 >> 16 == 13 | e << 16 >> 16 == 10 | 0 } function ie() { return (t[(t[6] | 0) + 4 >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function se() { return (t[(t[7] | 0) + 4 >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function te() { return (t[t[6] >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function fe() { return (t[t[7] >> 2] | 0) - (t[3] | 0) >> 1 | 0 } function ce() { return f[(t[6] | 0) + 24 >> 0] | 0 | 0 } function ne(e) { e = e | 0; t[3] = e; return } function be() { return (i[589] | 0) != 0 | 0 } function ue() { return t[14] | 0 } return { ai: T, e: ue, ee: se, es: fe, f: be, id: M, ie: ie, ip: ce, is: te, p: b, re: W, ri: V, sa: j, se: ee, ses: ne, ss: re, sta: X } }({ Int8Array: Int8Array, Int16Array: Int16Array, Int32Array: Int32Array, Uint8Array: Uint8Array, Uint16Array: Uint16Array }, {}, r), a = e.sta(2 * i); } const o = t.length + 1; e.ses(a), e.sa(o - 1), (s ? b : n)(t, new Uint16Array(r, a, o)), e.p() || (c$1 = e.e(), h()); const w = [], d = []; for (; e.ri();) { const r = e.is(), a = e.ie(), i = e.ai(), s = e.id(), f = e.ss(), c = e.se(); let n; e.ip() && (n = u(-1 === s ? r : r + 1, t.charCodeAt(-1 === s ? r - 1 : r))), w.push({ n: n, s: r, e: a, ss: f, se: c, d: s, a: i }); } for (; e.re();) { const r = e.es(), a = t.charCodeAt(r); d.push(34 === a || 39 === a ? u(r + 1, a) : t.slice(e.es(), e.ee())); } return [w, d, !!e.f()] } function n(e, r) { const a = e.length; let i = 0; for (; i < a;) { const a = e.charCodeAt(i); r[i++] = (255 & a) << 8 | a >>> 8; } } function b(e, r) { const a = e.length; let i = 0; for (; i < a;)r[i] = e.charCodeAt(i++); } function u(e, r) { c$1 = e; let a = "", i = c$1; for (; ;) { c$1 >= t.length && h(); const e = t.charCodeAt(c$1); if (e === r) break; 92 === e ? (a += t.slice(i, c$1), a += k(), i = c$1) : (8232 === e || 8233 === e || o(e) && h(), ++c$1); } return a += t.slice(i, c$1++), a } function k() { let e = t.charCodeAt(++c$1); switch (++c$1, e) { case 110: return "\n"; case 114: return "\r"; case 120: return String.fromCharCode(l(2)); case 117: return function () { let e; 123 === t.charCodeAt(c$1) ? (++c$1, e = l(t.indexOf("}", c$1) - c$1), ++c$1, e > 1114111 && h()) : e = l(4); return e <= 65535 ? String.fromCharCode(e) : (e -= 65536, String.fromCharCode(55296 + (e >> 10), 56320 + (1023 & e))) }(); case 116: return "\t"; case 98: return "\b"; case 118: return "\v"; case 102: return "\f"; case 13: 10 === t.charCodeAt(c$1) && ++c$1; case 10: return ""; case 56: case 57: h(); default: if (e >= 48 && e <= 55) { let r = t.substr(c$1 - 1, 3).match(/^[0-7]+/)[0], a = parseInt(r, 8); return a > 255 && (r = r.slice(0, -1), a = parseInt(r, 8)), c$1 += r.length - 1, e = t.charCodeAt(c$1), "0" === r && 56 !== e && 57 !== e || h(), String.fromCharCode(a) } return o(e) ? "" : String.fromCharCode(e) } } function l(e) { const r = c$1; let a = 0, i = 0; for (let r = 0; r < e; ++r, ++c$1) { let e, s = t.charCodeAt(c$1); if (95 !== s) { if (s >= 97) e = s - 97 + 10; else if (s >= 65) e = s - 65 + 10; else { if (!(s >= 48 && s <= 57)) break; e = s - 48; } if (e >= 16) break; i = s, a = 16 * a + e; } else 95 !== i && 0 !== r || h(), i = s; } return 95 !== i && c$1 - r === e || h(), a } function o(e) { return 13 === e || 10 === e } function h() { throw Object.assign(new Error(`Parse error ${f}:${t.slice(0, c$1).split("\n").length}:${c$1 - t.lastIndexOf("\n", c$1 - 1)}`), { idx: c$1 }) } |
|
|
|
async function defaultResolve(id, parentUrl) { |
|
return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl); |
|
} |
|
|
|
async function _resolve(id, parentUrl) { |
|
const urlResolved = resolveIfNotPlainOrUrl(id, parentUrl); |
|
return { |
|
r: resolveImportMap(importMap, urlResolved || id, parentUrl), |
|
|
|
b: !urlResolved && !isURL(id) |
|
}; |
|
} |
|
|
|
const resolve = resolveHook ? async (id, parentUrl) => ({ r: await resolveHook(id, parentUrl, defaultResolve), b: false }) : _resolve; |
|
|
|
let id = 0; |
|
const registry = {}; |
|
|
|
async function loadAll(load, seen) { |
|
if (load.b || seen[load.u]) |
|
return; |
|
seen[load.u] = 1; |
|
await load.L; |
|
await Promise.all(load.d.map(dep => loadAll(dep, seen))); |
|
if (!load.n) |
|
load.n = load.d.some(dep => dep.n); |
|
} |
|
|
|
let importMap = { imports: {}, scopes: {} }; |
|
let importMapSrcOrLazy = false; |
|
let baselinePassthrough; |
|
|
|
const initPromise = featureDetectionPromise.then(() => { |
|
|
|
if (!shimMode) { |
|
let seenScript = false; |
|
for (const script of document.querySelectorAll('script[type="module-shim"],script[type="importmap-shim"],script[type="module"],script[type="importmap"]')) { |
|
if (!seenScript && script.type === 'module') |
|
seenScript = true; |
|
if (script.type.endsWith('-shim')) { |
|
setShimMode(); |
|
break; |
|
} |
|
if (seenScript && script.type === 'importmap') { |
|
importMapSrcOrLazy = true; |
|
break; |
|
} |
|
} |
|
} |
|
baselinePassthrough = supportsDynamicImport && supportsImportMeta && supportsImportMaps && (!jsonModulesEnabled || supportsJsonAssertions) && (!cssModulesEnabled || supportsCssAssertions) && !importMapSrcOrLazy && !false; |
|
if (!baselinePassthrough) onpolyfill(); |
|
if (shimMode || !baselinePassthrough) { |
|
new MutationObserver(mutations => { |
|
for (const mutation of mutations) { |
|
if (mutation.type !== 'childList') continue; |
|
for (const node of mutation.addedNodes) { |
|
if (node.tagName === 'SCRIPT') { |
|
if (!shimMode && node.type === 'module' || shimMode && node.type === 'module-shim') |
|
processScript(node); |
|
if (!shimMode && node.type === 'importmap' || shimMode && node.type === 'importmap-shim') |
|
processImportMap(node); |
|
} |
|
else if (node.tagName === 'LINK' && node.rel === 'modulepreload') |
|
processPreload(node); |
|
} |
|
} |
|
}).observe(document, { childList: true, subtree: true }); |
|
processImportMaps(); |
|
processScriptsAndPreloads(); |
|
return undefined; |
|
} |
|
}); |
|
let importMapPromise = initPromise; |
|
|
|
let acceptingImportMaps = true; |
|
async function topLevelLoad(url, fetchOpts, source, nativelyLoaded, lastStaticLoadPromise) { |
|
if (!shimMode) |
|
acceptingImportMaps = false; |
|
await importMapPromise; |
|
|
|
if (!shimMode && baselinePassthrough) { |
|
|
|
if (nativelyLoaded) |
|
return null; |
|
await lastStaticLoadPromise; |
|
return dynamicImport(source ? createBlob(source) : url, { errUrl: url || source }); |
|
} |
|
const load = getOrCreateLoad(url, fetchOpts, source); |
|
const seen = {}; |
|
await loadAll(load, seen); |
|
lastLoad = undefined; |
|
resolveDeps(load, seen); |
|
await lastStaticLoadPromise; |
|
if (source && !shimMode && !load.n && !false) { |
|
const module = await dynamicImport(createBlob(source), { errUrl: source }); |
|
if (revokeBlobURLs) revokeObjectURLs(Object.keys(seen)); |
|
return module; |
|
} |
|
const module = await dynamicImport(!shimMode && !load.n && nativelyLoaded ? load.u : load.b, { errUrl: load.u }); |
|
|
|
if (load.s) |
|
(await dynamicImport(load.s)).u$_(module); |
|
if (revokeBlobURLs) revokeObjectURLs(Object.keys(seen)); |
|
|
|
|
|
return module; |
|
} |
|
|
|
function revokeObjectURLs(registryKeys) { |
|
let batch = 0; |
|
const keysLength = registryKeys.length; |
|
const schedule = self.requestIdleCallback ? self.requestIdleCallback : self.requestAnimationFrame; |
|
schedule(cleanup); |
|
function cleanup() { |
|
const batchStartIndex = batch * 100; |
|
if (batchStartIndex > keysLength) return |
|
for (const key of registryKeys.slice(batchStartIndex, batchStartIndex + 100)) { |
|
const load = registry[key]; |
|
if (load) URL.revokeObjectURL(load.b); |
|
} |
|
batch++; |
|
schedule(cleanup); |
|
} |
|
} |
|
|
|
async function importShim(id, parentUrl = baseUrl, _assertion) { |
|
|
|
await initPromise; |
|
if (acceptingImportMaps || shimMode || !baselinePassthrough) { |
|
processImportMaps(); |
|
if (!shimMode) |
|
acceptingImportMaps = false; |
|
} |
|
await importMapPromise; |
|
return topLevelLoad((await resolve(id, parentUrl)).r || throwUnresolved(id, parentUrl), { credentials: 'same-origin' }); |
|
} |
|
|
|
self.importShim = importShim; |
|
|
|
if (shimMode) { |
|
importShim.getImportMap = () => JSON.parse(JSON.stringify(importMap)); |
|
} |
|
|
|
const meta = {}; |
|
|
|
async function importMetaResolve(id, parentUrl = this.url) { |
|
return (await resolve(id, `${parentUrl}`)).r || throwUnresolved(id, parentUrl); |
|
} |
|
|
|
self._esmsm = meta; |
|
|
|
function urlJsString(url) { |
|
return `'${url.replace(/'/g, "\\'")}'`; |
|
} |
|
|
|
let lastLoad; |
|
function resolveDeps(load, seen) { |
|
if (load.b || !seen[load.u]) |
|
return; |
|
seen[load.u] = 0; |
|
|
|
for (const dep of load.d) |
|
resolveDeps(dep, seen); |
|
|
|
const [imports] = load.a; |
|
|
|
// "execution" |
|
const source = load.S; |
|
|
|
// edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies |
|
let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : ''; |
|
|
|
if (!imports.length) { |
|
resolvedSource += source; |
|
} |
|
else { |
|
// once all deps have loaded we can inline the dependency resolution blobs |
|
// and define this blob |
|
let lastIndex = 0, depIndex = 0; |
|
for (const { s: start, se: end, d: dynamicImportIndex } of imports) { |
|
// dependency source replacements |
|
if (dynamicImportIndex === -1) { |
|
const depLoad = load.d[depIndex++]; |
|
let blobUrl = depLoad.b; |
|
if (!blobUrl) { |
|
// circular shell creation |
|
if (!(blobUrl = depLoad.s)) { |
|
blobUrl = depLoad.s = createBlob(`export function u$_(m){${depLoad.a[1].map( |
|
name => name === 'default' ? `$_default=m.default` : `${name}=m.${name}` |
|
).join(',') |
|
}}${depLoad.a[1].map(name => |
|
name === 'default' ? `let $_default;export{$_default as default}` : `export let ${name}` |
|
).join(';') |
|
}\n//# sourceURL=${depLoad.r}?cycle`); |
|
} |
|
} |
|
// circular shell execution |
|
else if (depLoad.s) { |
|
resolvedSource += `${source.slice(lastIndex, start - 1)}/*${source.slice(start - 1, end)}*/${urlJsString(blobUrl)};import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`; |
|
lastIndex = end; |
|
depLoad.s = undefined; |
|
continue; |
|
} |
|
resolvedSource += `${source.slice(lastIndex, start - 1)}/*${source.slice(start - 1, end)}*/${urlJsString(blobUrl)}`; |
|
lastIndex = end; |
|
} |
|
// import.meta |
|
else if (dynamicImportIndex === -2) { |
|
meta[load.r] = { url: load.r, resolve: importMetaResolve }; |
|
resolvedSource += `${source.slice(lastIndex, start)}self._esmsm[${urlJsString(load.r)}]`; |
|
lastIndex = end; |
|
} |
|
// dynamic import |
|
else { |
|
resolvedSource += `${source.slice(lastIndex, dynamicImportIndex + 6)}Shim(${source.slice(start, end)}, ${load.r && urlJsString(load.r)}`; |
|
lastIndex = end; |
|
} |
|
} |
|
|
|
resolvedSource += source.slice(lastIndex); |
|
} |
|
|
|
// ; and // trailer support added for Ruby 7 source maps compatibility |
|
let hasSourceURL = false; |
|
resolvedSource = resolvedSource.replace(sourceMapURLRegEx, (match, isMapping, url) => (hasSourceURL = !isMapping, match.replace(url, () => new URL(url, load.r)))); |
|
if (!hasSourceURL) |
|
resolvedSource += '\n//# sourceURL=' + load.r; |
|
|
|
load.b = lastLoad = createBlob(resolvedSource); |
|
load.S = undefined; |
|
} |
|
|
|
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/; |
|
|
|
const jsContentType = /^(text|application)\/(x-)?javascript(;|$)/; |
|
const jsonContentType = /^(text|application)\/json(;|$)/; |
|
const cssContentType = /^(text|application)\/css(;|$)/; |
|
const wasmContentType = /^application\/wasm(;|$)/; |
|
|
|
const cssUrlRegEx = /url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g; |
|
|
|
// restrict in-flight fetches to a pool of 100 |
|
let p = []; |
|
let c = 0; |
|
function pushFetchPool() { |
|
if (++c > 100) |
|
return new Promise(r => p.push(r)); |
|
} |
|
function popFetchPool() { |
|
c--; |
|
if (p.length) |
|
p.shift()(); |
|
} |
|
|
|
async function doFetch(url, fetchOpts) { |
|
const poolQueue = pushFetchPool(); |
|
if (poolQueue) await poolQueue; |
|
try { |
|
var res = await fetchHook(url, fetchOpts); |
|
} |
|
finally { |
|
popFetchPool(); |
|
} |
|
if (!res.ok) |
|
throw new Error(`${res.status} ${res.statusText} ${res.url}`); |
|
const contentType = res.headers.get('content-type'); |
|
if (jsContentType.test(contentType)) |
|
return { r: res.url, s: await res.text(), t: 'js' }; |
|
else if (jsonContentType.test(contentType)) |
|
return { r: res.url, s: `export default ${await res.text()}`, t: 'json' }; |
|
else if (cssContentType.test(contentType)) |
|
return { |
|
r: res.url, s: `var s=new CSSStyleSheet();s.replaceSync(${JSON.stringify((await res.text()).replace(cssUrlRegEx, (_match, quotes, relUrl1, relUrl2) => `url(${quotes}${resolveUrl(relUrl1 || relUrl2, url)}${quotes})`)) |
|
});export default s;`, t: 'css' |
|
}; |
|
else if (wasmContentType.test(contentType)) |
|
throw new Error('WASM modules not supported'); |
|
else |
|
throw new Error(`Unknown Content-Type "${contentType}"`); |
|
} |
|
|
|
function getOrCreateLoad(url, fetchOpts, source) { |
|
let load = registry[url]; |
|
if (load) |
|
return load; |
|
|
|
load = registry[url] = { |
|
// url |
|
u: url, |
|
// response url |
|
r: undefined, |
|
// fetchPromise |
|
f: undefined, |
|
// source |
|
S: undefined, |
|
// linkPromise |
|
L: undefined, |
|
// analysis |
|
a: undefined, |
|
// deps |
|
d: undefined, |
|
// blobUrl |
|
b: undefined, |
|
// shellUrl |
|
s: undefined, |
|
// needsShim |
|
n: false, |
|
// type |
|
t: null |
|
}; |
|
|
|
load.f = (async () => { |
|
if (!source) { |
|
// preload fetch options override fetch options (race) |
|
let t; |
|
({ r: load.r, s: source, t } = await (fetchCache[url] || doFetch(url, fetchOpts))); |
|
if (t && !shimMode) { |
|
if (t === 'css' && !cssModulesEnabled || t === 'json' && !jsonModulesEnabled) |
|
throw new Error(`${t}-modules require <script type="esms-options">{ "polyfillEnable": ["${t}-modules"] }<${''}/script>`); |
|
if (t === 'css' && !supportsCssAssertions || t === 'json' && !supportsJsonAssertions) |
|
load.n = true; |
|
} |
|
} |
|
try { |
|
load.a = parse(source, load.u); |
|
} |
|
catch (e) { |
|
console.warn(e); |
|
load.a = [[], []]; |
|
} |
|
load.S = source; |
|
return load; |
|
})(); |
|
|
|
load.L = load.f.then(async () => { |
|
let childFetchOpts = fetchOpts; |
|
load.d = (await Promise.all(load.a[0].map(async ({ n, d }) => { |
|
if (d >= 0 && !supportsDynamicImport || d === 2 && !supportsImportMeta) |
|
load.n = true; |
|
if (!n) return; |
|
const { r, b } = await resolve(n, load.r || load.u); |
|
if (b && (!supportsImportMaps || importMapSrcOrLazy)) |
|
load.n = true; |
|
if (d !== -1) return; |
|
if (!r) |
|
throwUnresolved(n, load.r || load.u); |
|
if (skip && skip.test(r)) return { b: r }; |
|
if (childFetchOpts.integrity) |
|
childFetchOpts = Object.assign({}, childFetchOpts, { integrity: undefined }); |
|
return getOrCreateLoad(r, childFetchOpts).f; |
|
}))).filter(l => l); |
|
}); |
|
|
|
return load; |
|
} |
|
|
|
function processScriptsAndPreloads() { |
|
for (const script of document.querySelectorAll(shimMode ? 'script[type="module-shim"]' : 'script[type="module"]')) |
|
processScript(script); |
|
for (const link of document.querySelectorAll('link[rel="modulepreload"]')) |
|
processPreload(link); |
|
} |
|
|
|
function processImportMaps() { |
|
for (const script of document.querySelectorAll(shimMode ? 'script[type="importmap-shim"]' : 'script[type="importmap"]')) |
|
processImportMap(script); |
|
} |
|
|
|
function getFetchOpts(script) { |
|
const fetchOpts = {}; |
|
if (script.integrity) |
|
fetchOpts.integrity = script.integrity; |
|
if (script.referrerpolicy) |
|
fetchOpts.referrerPolicy = script.referrerpolicy; |
|
if (script.crossorigin === 'use-credentials') |
|
fetchOpts.credentials = 'include'; |
|
else if (script.crossorigin === 'anonymous') |
|
fetchOpts.credentials = 'omit'; |
|
else |
|
fetchOpts.credentials = 'same-origin'; |
|
return fetchOpts; |
|
} |
|
|
|
let lastStaticLoadPromise = Promise.resolve(); |
|
|
|
let domContentLoadedCnt = 1; |
|
function domContentLoadedCheck() { |
|
if (--domContentLoadedCnt === 0 && !noLoadEventRetriggers) |
|
document.dispatchEvent(new Event('DOMContentLoaded')); |
|
} |
|
// this should always trigger because we assume es-module-shims is itself a domcontentloaded requirement |
|
document.addEventListener('DOMContentLoaded', async () => { |
|
await initPromise; |
|
domContentLoadedCheck(); |
|
if (shimMode || !baselinePassthrough) { |
|
processImportMaps(); |
|
processScriptsAndPreloads(); |
|
} |
|
}); |
|
|
|
let readyStateCompleteCnt = 1; |
|
if (document.readyState === 'complete') { |
|
readyStateCompleteCheck(); |
|
} |
|
else { |
|
document.addEventListener('readystatechange', async () => { |
|
processImportMaps(); |
|
await initPromise; |
|
readyStateCompleteCheck(); |
|
}); |
|
} |
|
function readyStateCompleteCheck() { |
|
if (--readyStateCompleteCnt === 0 && !noLoadEventRetriggers) |
|
document.dispatchEvent(new Event('readystatechange')); |
|
} |
|
|
|
function processImportMap(script) { |
|
if (script.ep) // ep marker = script processed |
|
return; |
|
// empty inline scripts sometimes show before domready |
|
if (!script.src && !script.innerHTML) |
|
return; |
|
script.ep = true; |
|
// we dont currently support multiple, external or dynamic imports maps in polyfill mode to match native |
|
if (script.src) { |
|
if (!shimMode) |
|
return; |
|
importMapSrcOrLazy = true; |
|
} |
|
if (acceptingImportMaps) { |
|
importMapPromise = importMapPromise |
|
.then(async () => { |
|
importMap = resolveAndComposeImportMap(script.src ? await (await fetchHook(script.src)).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap); |
|
}) |
|
.catch(error => setTimeout(() => { throw error })); |
|
if (!shimMode) |
|
acceptingImportMaps = false; |
|
} |
|
} |
|
|
|
function processScript(script) { |
|
if (script.ep) // ep marker = script processed |
|
return; |
|
if (script.getAttribute('noshim') !== null) |
|
return; |
|
// empty inline scripts sometimes show before domready |
|
if (!script.src && !script.innerHTML) |
|
return; |
|
script.ep = true; |
|
// does this load block readystate complete |
|
const isReadyScript = readyStateCompleteCnt > 0; |
|
// does this load block DOMContentLoaded |
|
const isDomContentLoadedScript = domContentLoadedCnt > 0; |
|
if (isReadyScript) readyStateCompleteCnt++; |
|
if (isDomContentLoadedScript) domContentLoadedCnt++; |
|
const blocks = script.getAttribute('async') === null && isReadyScript; |
|
const loadPromise = topLevelLoad(script.src || `${baseUrl}?${id++}`, getFetchOpts(script), !script.src && script.innerHTML, !shimMode, blocks && lastStaticLoadPromise).catch(e => { |
|
setTimeout(() => { throw e }); |
|
onerror(e); |
|
}); |
|
if (blocks) |
|
lastStaticLoadPromise = loadPromise.then(readyStateCompleteCheck); |
|
if (isDomContentLoadedScript) |
|
loadPromise.then(domContentLoadedCheck); |
|
} |
|
|
|
const fetchCache = {}; |
|
function processPreload(link) { |
|
if (link.ep) // ep marker = processed |
|
return; |
|
link.ep = true; |
|
if (fetchCache[link.href]) |
|
return; |
|
fetchCache[link.href] = doFetch(link.href, getFetchOpts(link)); |
|
} |
|
|
|
function throwUnresolved(id, parentUrl) { |
|
throw Error("Unable to resolve specifier '" + id + (parentUrl ? "' from " + parentUrl : "'")); |
|
} |
|
|
|
})(); |