single-file-core 1.5.98 → 1.5.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/processors/compression/compression-extract.js +3 -1
- package/processors/compression/compression-packager.js +230 -0
- package/single-file-archive.js +26 -0
- package/test/fixtures/README.md +15 -0
- package/test/fixtures/generate-fixtures.sh +31 -0
- package/test/fixtures/multi-page-dedup.zip.html +70 -0
- package/test/fixtures/multi-page.zip.html +26 -0
- package/test/fixtures/single-page.zip.html +11 -0
- package/test/fixtures/site/multi-page/alpha.html +2 -0
- package/test/fixtures/site/multi-page/beta.html +2 -0
- package/test/fixtures/site/multi-page/index.html +2 -0
- package/test/fixtures/site/multi-page/sub/gamma.html +2 -0
- package/test/fixtures/site/multi-page-dedup/index.html +2 -0
- package/test/fixtures/site/multi-page-dedup/logo.png +0 -0
- package/test/fixtures/site/multi-page-dedup/one.html +2 -0
- package/test/fixtures/site/multi-page-dedup/shared.css +3 -0
- package/test/fixtures/site/multi-page-dedup/two.html +2 -0
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ export {
|
|
|
27
27
|
extract
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
async function extract(content, { password, prompt = () => { }, zipOptions = { useWebWorkers: true }, noBlobURL, entries, pagePath = "" } = {}) {
|
|
30
|
+
async function extract(content, { password, prompt = () => { }, zipOptions = { useWebWorkers: true }, noBlobURL, entries, pagePath = "", excludedPaths } = {}) {
|
|
31
31
|
const KNOWN_MIMETYPES = {
|
|
32
32
|
"gif": "image/gif",
|
|
33
33
|
"jpg": "image/jpeg",
|
|
@@ -91,6 +91,8 @@ async function extract(content, { password, prompt = () => { }, zipOptions = { u
|
|
|
91
91
|
}
|
|
92
92
|
if (pagePath) {
|
|
93
93
|
entries = entries.filter(entry => entry.filename.startsWith(pagePath));
|
|
94
|
+
} else if (excludedPaths) {
|
|
95
|
+
entries = entries.filter(entry => !excludedPaths.some(excludedPath => entry.filename.startsWith(excludedPath)));
|
|
94
96
|
}
|
|
95
97
|
const options = { password };
|
|
96
98
|
let docContent, origDocContent, url, resources = [], indexPages = [], textResources = [];
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2010-2026 Gildas Lormeau
|
|
3
|
+
* contact : gildas.lormeau <at> gmail.com
|
|
4
|
+
*
|
|
5
|
+
* This file is part of SingleFile.
|
|
6
|
+
*
|
|
7
|
+
* The code in this file is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License
|
|
9
|
+
* (GNU AGPL) as published by the Free Software Foundation, either version 3
|
|
10
|
+
* of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* The code in this file is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* As additional permission under GNU AGPL version 3 section 7, you may
|
|
18
|
+
* distribute UNMODIFIED VERSIONS OF THIS file without the copy of the GNU
|
|
19
|
+
* AGPL normally required by section 4, provided you include this license
|
|
20
|
+
* notice and a URL through which recipients can access the Corresponding
|
|
21
|
+
* Source.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/* global URL */
|
|
25
|
+
|
|
26
|
+
import {
|
|
27
|
+
configure,
|
|
28
|
+
TextReader,
|
|
29
|
+
Uint8ArrayReader,
|
|
30
|
+
Uint8ArrayWriter,
|
|
31
|
+
ZipReader
|
|
32
|
+
} from "./../../vendor/zip/zip.js";
|
|
33
|
+
import {
|
|
34
|
+
createArchive
|
|
35
|
+
} from "./compression.js";
|
|
36
|
+
|
|
37
|
+
const PAGES_PREFIX = "pages/";
|
|
38
|
+
const PAGES_FILENAME = "sfz-pages.json";
|
|
39
|
+
const TOC_FILENAME = "sfz-toc.html";
|
|
40
|
+
const TOC_TITLE = "Table of contents";
|
|
41
|
+
const TOC_STYLE = "body{font-family:system-ui,sans-serif;margin:2em auto;max-width:40em;padding:0 1em;background-color:#fff;color:#000}" +
|
|
42
|
+
"a{color:#0000ee}a:visited{color:#551a8b}" +
|
|
43
|
+
"summary{cursor:pointer;font-weight:bold;margin:.5em 0}" +
|
|
44
|
+
"details{padding-left:1em}ul{margin:.25em 0;padding-left:1.5em}" +
|
|
45
|
+
"@media(prefers-color-scheme:dark){body{background-color:#111;color:#eee}a{color:#8ab4f8}a:visited{color:#c58af9}}";
|
|
46
|
+
const COMMENT_HEADER = "Page saved with SingleFile";
|
|
47
|
+
const SYMLINK_UNIX_MODE = 0o120777;
|
|
48
|
+
|
|
49
|
+
export { createPagesArchive };
|
|
50
|
+
|
|
51
|
+
async function createPagesArchive(pages, options) {
|
|
52
|
+
configure({ useWebWorkers: false });
|
|
53
|
+
const manifest = {
|
|
54
|
+
pages: pages.map((page, pageIndex) => ({
|
|
55
|
+
path: getPagePath(pageIndex),
|
|
56
|
+
url: page.url,
|
|
57
|
+
originalUrls: page.originalUrls,
|
|
58
|
+
title: page.title
|
|
59
|
+
}))
|
|
60
|
+
};
|
|
61
|
+
if (options.markUnarchivedLinks) {
|
|
62
|
+
manifest.markUnarchivedLinks = true;
|
|
63
|
+
}
|
|
64
|
+
if (options.pageTransitions && options.pageTransitions != "auto") {
|
|
65
|
+
manifest.pageTransitions = options.pageTransitions;
|
|
66
|
+
}
|
|
67
|
+
const pageData = {
|
|
68
|
+
doctype: "<!DOCTYPE html>",
|
|
69
|
+
content: "",
|
|
70
|
+
title: pages[0].title || "",
|
|
71
|
+
comment: options.insertSingleFileComment ? getComment(pages[0].url, options) : undefined,
|
|
72
|
+
tocContent: getTOCContent(pages)
|
|
73
|
+
};
|
|
74
|
+
const archiveOptions = {
|
|
75
|
+
url: pages[0].url,
|
|
76
|
+
multiPageArchive: true,
|
|
77
|
+
selfExtractingArchive: options.selfExtractingArchive,
|
|
78
|
+
extractDataFromPage: options.extractDataFromPage,
|
|
79
|
+
preventAppendedData: options.preventAppendedData,
|
|
80
|
+
includeBOM: options.includeBOM,
|
|
81
|
+
insertMetaCSP: options.insertMetaCSP,
|
|
82
|
+
insertCanonicalLink: options.insertCanonicalLink,
|
|
83
|
+
insertMetaNoIndex: options.insertMetaNoIndex
|
|
84
|
+
};
|
|
85
|
+
const writtenEntries = options.dedupPages ? new Map() : undefined;
|
|
86
|
+
const aliases = {};
|
|
87
|
+
const blob = await createArchive(pageData, archiveOptions, options.zipScript, async zipWriter => {
|
|
88
|
+
for (let pageIndex = 0; pageIndex < pages.length; pageIndex++) {
|
|
89
|
+
const pagePath = getPagePath(pageIndex);
|
|
90
|
+
const zipReader = new ZipReader(new Uint8ArrayReader(await pages[pageIndex].getData()));
|
|
91
|
+
for (const entry of await zipReader.getEntries()) {
|
|
92
|
+
const filename = pagePath + entry.filename;
|
|
93
|
+
const rawData = await entry.getData(new Uint8ArrayWriter(), { passThrough: true, checkSignature: false });
|
|
94
|
+
const canonicalFilename = writtenEntries && findDuplicate(writtenEntries, filename, entry, rawData);
|
|
95
|
+
if (canonicalFilename === undefined) {
|
|
96
|
+
await zipWriter.add(filename, new Uint8ArrayReader(rawData), {
|
|
97
|
+
passThrough: true,
|
|
98
|
+
compressionMethod: entry.compressionMethod,
|
|
99
|
+
uncompressedSize: entry.uncompressedSize,
|
|
100
|
+
signature: entry.signature,
|
|
101
|
+
comment: entry.comment,
|
|
102
|
+
lastModDate: entry.lastModDate
|
|
103
|
+
});
|
|
104
|
+
} else {
|
|
105
|
+
// the duplicate becomes a symlink entry so that external
|
|
106
|
+
// extractors still produce complete page folders, the router
|
|
107
|
+
// resolves it from the manifest alias map instead
|
|
108
|
+
aliases[filename] = canonicalFilename;
|
|
109
|
+
await zipWriter.add(filename, new TextReader(getRelativePath(filename, canonicalFilename)), {
|
|
110
|
+
msDosCompatible: false,
|
|
111
|
+
unixMode: SYMLINK_UNIX_MODE,
|
|
112
|
+
level: 0,
|
|
113
|
+
comment: entry.comment,
|
|
114
|
+
lastModDate: entry.lastModDate
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
await zipReader.close();
|
|
119
|
+
}
|
|
120
|
+
if (Object.keys(aliases).length) {
|
|
121
|
+
manifest.aliases = aliases;
|
|
122
|
+
}
|
|
123
|
+
if (options.tocPage) {
|
|
124
|
+
await zipWriter.add(TOC_FILENAME, new TextReader(getTOCPageContent(manifest.pages)));
|
|
125
|
+
}
|
|
126
|
+
await zipWriter.add(PAGES_FILENAME, new TextReader(JSON.stringify(manifest, null, 2)));
|
|
127
|
+
});
|
|
128
|
+
return new Uint8Array(await blob.arrayBuffer());
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function findDuplicate(writtenEntries, filename, entry, rawData) {
|
|
132
|
+
if (entry.directory || !entry.uncompressedSize) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const key = [entry.compressionMethod, entry.uncompressedSize, entry.signature, rawData.length].join(":");
|
|
136
|
+
const candidates = writtenEntries.get(key);
|
|
137
|
+
if (candidates) {
|
|
138
|
+
const match = candidates.find(candidate => equalData(candidate.rawData, rawData));
|
|
139
|
+
if (match) {
|
|
140
|
+
return match.filename;
|
|
141
|
+
}
|
|
142
|
+
candidates.push({ filename, rawData });
|
|
143
|
+
} else {
|
|
144
|
+
writtenEntries.set(key, [{ filename, rawData }]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function equalData(dataLeft, dataRight) {
|
|
149
|
+
return dataLeft.length == dataRight.length && dataLeft.every((value, index) => value == dataRight[index]);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function getRelativePath(filename, targetFilename) {
|
|
153
|
+
const baseSegments = filename.split("/").slice(0, -1);
|
|
154
|
+
const targetSegments = targetFilename.split("/");
|
|
155
|
+
while (baseSegments.length && targetSegments.length > 1 && baseSegments[0] == targetSegments[0]) {
|
|
156
|
+
baseSegments.shift();
|
|
157
|
+
targetSegments.shift();
|
|
158
|
+
}
|
|
159
|
+
return "../".repeat(baseSegments.length) + targetSegments.join("/");
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function getPagePath(pageIndex) {
|
|
163
|
+
return pageIndex == 0 ? "" : PAGES_PREFIX + (pageIndex + 1) + "/";
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function getComment(url, options) {
|
|
167
|
+
return "\n " + COMMENT_HEADER +
|
|
168
|
+
" \n url: " + url +
|
|
169
|
+
(options.removeSavedDate ? " " : " \n saved date: " + new Date()) + "\n";
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function getTOCPageContent(pages) {
|
|
173
|
+
const origins = new Set(pages.map(page => new URL(page.url).origin));
|
|
174
|
+
const rootGroup = { groups: new Map(), pages: [] };
|
|
175
|
+
pages.forEach(page => {
|
|
176
|
+
const url = new URL(page.url);
|
|
177
|
+
const segments = url.pathname.split("/").slice(1, -1);
|
|
178
|
+
if (origins.size > 1) {
|
|
179
|
+
segments.unshift(url.origin);
|
|
180
|
+
}
|
|
181
|
+
let group = rootGroup;
|
|
182
|
+
segments.forEach(segment => {
|
|
183
|
+
if (!group.groups.has(segment)) {
|
|
184
|
+
group.groups.set(segment, { groups: new Map(), pages: [] });
|
|
185
|
+
}
|
|
186
|
+
group = group.groups.get(segment);
|
|
187
|
+
});
|
|
188
|
+
group.pages.push(page);
|
|
189
|
+
});
|
|
190
|
+
const title = pages[0].title ? TOC_TITLE + " - " + pages[0].title : TOC_TITLE;
|
|
191
|
+
return "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">" +
|
|
192
|
+
"<title>" + escapeUnicodeHTML(title) + "</title><style>" + TOC_STYLE + "</style></head><body><main><h1>" +
|
|
193
|
+
escapeUnicodeHTML(TOC_TITLE) + "</h1>" + getTOCGroupContent(rootGroup) + "</main></body></html>";
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// nested details/summary groups stay collapsible without scripts on purpose,
|
|
197
|
+
// the page must remain usable after a plain unzip
|
|
198
|
+
function getTOCGroupContent(group) {
|
|
199
|
+
let content = "";
|
|
200
|
+
if (group.pages.length) {
|
|
201
|
+
content += "<ul>" + group.pages.map(page =>
|
|
202
|
+
"<li><a href=\"" + escapeUnicodeHTML(page.path + "index.html") + "\">" + escapeUnicodeHTML(page.title || page.url) + "</a></li>").join("") + "</ul>";
|
|
203
|
+
}
|
|
204
|
+
group.groups.forEach((childGroup, segment) => {
|
|
205
|
+
content += "<details open><summary>" + escapeUnicodeHTML(segment) + "</summary>" + getTOCGroupContent(childGroup) + "</details>";
|
|
206
|
+
});
|
|
207
|
+
return content;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// unlike the prelude TOC below, the stored page is a UTF-8 entry: only the
|
|
211
|
+
// markup delimiters need escaping, but crawled titles remain untrusted
|
|
212
|
+
function escapeUnicodeHTML(value) {
|
|
213
|
+
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function getTOCContent(pages) {
|
|
217
|
+
return "<nav><ul>" +
|
|
218
|
+
pages.map(page => "<li><a href=\"" + escapeHTML(page.url) + "\">" + escapeHTML(page.title || page.url) + "</a></li>").join("") +
|
|
219
|
+
"</ul></nav>";
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// the prelude declares the windows-1252 charset, non-ASCII characters must be
|
|
223
|
+
// encoded as HTML entities to survive it
|
|
224
|
+
function escapeHTML(value) {
|
|
225
|
+
return Array.from(value).map(character => {
|
|
226
|
+
const codePoint = character.codePointAt(0);
|
|
227
|
+
return codePoint < 32 || codePoint > 126 || character == "&" || character == "<" || character == ">" || character == "\"" ?
|
|
228
|
+
"&#" + codePoint + ";" : character;
|
|
229
|
+
}).join("");
|
|
230
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2010-2026 Gildas Lormeau
|
|
3
|
+
* contact : gildas.lormeau <at> gmail.com
|
|
4
|
+
*
|
|
5
|
+
* This file is part of SingleFile.
|
|
6
|
+
*
|
|
7
|
+
* The code in this file is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License
|
|
9
|
+
* (GNU AGPL) as published by the Free Software Foundation, either version 3
|
|
10
|
+
* of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* The code in this file is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* As additional permission under GNU AGPL version 3 section 7, you may
|
|
18
|
+
* distribute UNMODIFIED VERSIONS OF THIS file without the copy of the GNU
|
|
19
|
+
* AGPL normally required by section 4, provided you include this license
|
|
20
|
+
* notice and a URL through which recipients can access the Corresponding
|
|
21
|
+
* Source.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export * from "./processors/compression/compression.js";
|
|
25
|
+
export * from "./processors/compression/compression-packager.js";
|
|
26
|
+
export * from "./vendor/zip/zip.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# SFZ test fixtures
|
|
2
|
+
|
|
3
|
+
Frozen sample archives used by the test suites of the projects consuming
|
|
4
|
+
`single-file-core` (single-file-mv3 editor e2e tests, single-file-cli tests).
|
|
5
|
+
|
|
6
|
+
- `multi-page.zip.html` — 5-page crawl with TOC, unarchived-link markers, no
|
|
7
|
+
duplicate resources (saved with single-file-cli 2.3.1)
|
|
8
|
+
- `multi-page-dedup.zip.html` — 4-page crawl where every page shares a
|
|
9
|
+
stylesheet and an image: the manifest has an `aliases` map and the
|
|
10
|
+
`pages/N/` copies are symlink entries
|
|
11
|
+
- `single-page.zip.html` — regular single-page self-extracting archive
|
|
12
|
+
|
|
13
|
+
The fixtures are intentionally frozen. When the archive format evolves, add
|
|
14
|
+
new fixtures (see `generate-fixtures.sh`) instead of regenerating these ones,
|
|
15
|
+
so that archives produced by older versions stay covered.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Regenerates the frozen SFZ fixtures from the sites in site/.
|
|
3
|
+
# Requires single-file-cli in PATH (or set SINGLE_FILE) and python3.
|
|
4
|
+
# Fixtures are intentionally frozen: when the archive format evolves,
|
|
5
|
+
# add NEW fixtures instead of regenerating these, so older archives
|
|
6
|
+
# keep being covered.
|
|
7
|
+
set -e
|
|
8
|
+
cd "$(dirname "$0")"
|
|
9
|
+
SINGLE_FILE="${SINGLE_FILE:-single-file}"
|
|
10
|
+
PORT=8934
|
|
11
|
+
serve() {
|
|
12
|
+
(cd "site/$1" && python3 -m http.server $PORT > /dev/null 2>&1 & echo $! > /tmp/sf-fixture-server.pid)
|
|
13
|
+
sleep 1
|
|
14
|
+
}
|
|
15
|
+
stop() {
|
|
16
|
+
kill "$(cat /tmp/sf-fixture-server.pid)" 2>/dev/null || true
|
|
17
|
+
}
|
|
18
|
+
serve multi-page
|
|
19
|
+
"$SINGLE_FILE" "http://localhost:$PORT/" multi-page.zip.html \
|
|
20
|
+
--crawl-links --crawl-max-depth 2 --compress-content --self-extracting-archive \
|
|
21
|
+
--crawl-save-archive --crawl-save-archive-dedup --crawl-save-archive-toc \
|
|
22
|
+
--crawl-save-archive-mark-unarchived-links
|
|
23
|
+
"$SINGLE_FILE" "http://localhost:$PORT/alpha.html" single-page.zip.html \
|
|
24
|
+
--compress-content --self-extracting-archive
|
|
25
|
+
stop
|
|
26
|
+
serve multi-page-dedup
|
|
27
|
+
"$SINGLE_FILE" "http://localhost:$PORT/" multi-page-dedup.zip.html \
|
|
28
|
+
--crawl-links --crawl-max-depth 2 --compress-content --self-extracting-archive \
|
|
29
|
+
--crawl-save-archive --crawl-save-archive-dedup --crawl-save-archive-toc \
|
|
30
|
+
--crawl-save-archive-mark-unarchived-links
|
|
31
|
+
stop
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<!DOCTYPE html><html data-sfz><!--
|
|
2
|
+
Page saved with SingleFile
|
|
3
|
+
url: http://localhost:8933/
|
|
4
|
+
saved date: Thu Aug 27 2026 14:52:28 GMT+0200 (Central European Summer Time)
|
|
5
|
+
--><meta charset=windows-1252><title></title><meta http-equiv=content-security-policy content="default-src 'none';connect-src 'self' data: blob:;font-src 'self' data: blob:;img-src 'self' data: blob:;style-src 'self' 'unsafe-inline' data: blob:;frame-src 'self' data: blob:;media-src 'self' data: blob:;script-src 'self' 'unsafe-inline' data: blob:;object-src 'self' data: blob:"><style>@keyframes display-wait-message{0%{opacity:0}100%{opacity:1}};body{color:transparent};div{color:initial}body>:not(#sfz-wait-message,#sfz-error-message){display:none}</style><body hidden><div id=sfz-wait-message>Please wait...</div><div id=sfz-error-message><strong>Error</strong>: Cannot extract the data of the page. The file is still a valid ZIP file, you can rename it with a "zip" extension and unzip it to display the page and its resources.</div><nav><ul><li><a href="http://localhost:8933/">Dedup home</a></li><li><a href="http://localhost:8933/one.html">Dedup one</a></li><li><a href="http://localhost:8933/two.html">Dedup two</a></li><li><a href="http://localhost:8933/index.html">Dedup home</a></li></ul></nav><script>var zip=(()=>{var gi=(xe,Ce)=>()=>(Ce||xe((Ce={exports:{}}).exports,Ce),Ce.exports);var mi=gi((fn,ea)=>{((xe,Ce)=>{typeof fn=="object"&&typeof ea<"u"?Ce(fn):typeof define=="function"&&define.amd?define(["exports"],Ce):Ce((xe=typeof globalThis<"u"?globalThis:xe||self).zip={})})(fn,function(xe){"use strict";let{Array:Ce,Object:k,String:Gn,Number:le,BigInt:dn,Math:$,Date:xt,Map:lt,Set:ta,Response:na,URL:_n,Error:m,Uint8Array:H,Uint16Array:ra,Uint32Array:sa,DataView:ut,Blob:Mt,Promise:ft,TextEncoder:Yn,TextDecoder:hn,crypto:It,btoa:$n,TransformStream:se,ReadableStream:dt,WritableStream:ht,CompressionStream:Jn,DecompressionStream:Qn,navigator:wn,Worker:yi,setTimeout:pn,clearTimeout:gn}=typeof globalThis<"u"?globalThis:this||self,_e=4294967295,Ae=65535,Xt=255,mn=134695760,aa=mn,wt=33639248,er=101075792,tr=117853008,Be=22,pt=20,rt=56,yn=61440,nr=new xt(1980,0,1),g=void 0,st="undefined",Pe="function",rr="string",Ue=new H,kt="strict",bn="balanced",gt="tolerant";function sr(t){if(t&&typeof t!=Pe)throw new m("Invalid option (must be a function)");return t}function Sn(t){return typeof t==rr&&t.trim()?le(t):t}let ar=2;try{typeof wn!=st&&wn.hardwareConcurrency&&(ar=wn.hardwareConcurrency)}catch{}let ir={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ar,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof Jn!=st&&Jn,DecompressionStream:typeof Qn!=st&&Qn},or="maxWorkers",cr=["chunkSize",or,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lr=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ia=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...cr,...lr],zn={...ir};function vn(){return zn}function xn(t){return ur(t.chunkSize)}function ur(t){return t=Sn(t),le.isInteger(t)&&t>=1?$.max(t,64):65536}function fr(t){let e={};for(let n of ia){let r=t[n];r!==g&&(e[n]=oa(n,r))}return e}function oa(t,e){if(cr.includes(t)){if(e=Sn(e),t==or&&(!le.isInteger(e)||1>e))throw new m("Invalid maxWorkers (must be an integer greater than 0)")}else lr.includes(t)&&sr(e);return e}function dr(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(e===g&&n===g)return t;let r=k.assign({},t);return r.CompressionStreamFallback===g&&(r.CompressionStreamFallback=e),r.DecompressionStreamFallback===g&&(r.DecompressionStreamFallback=n),r}var we=H,Rt=ra,ca=Int32Array,hr=new we([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),wr=new we([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),la=new we([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),pr=(t,e)=>{for(var n=new Rt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new ca(n[30]);for(r=1;30>r;++r)for(var a=n[r];a<n[r+1];++a)s[a]=a-n[r]<<5|r;return{b:n,r:s}},gr=pr(hr,2),mr=gr.b,ua=gr.r;mr[28]=258,ua[258]=28;for(var fa=pr(wr,0).b,kn=new Rt(32768),G=0;32768>G;++G){var mt=(43690&G)>>1|(21845&G)<<1;mt=(61680&(mt=(52428&mt)>>2|(13107&mt)<<2))>>4|(3855&mt)<<4,kn[G]=((65280&mt)>>8|(255&mt)<<8)>>1}var Lt=(t,e,n)=>{for(var r=t.length,s=0,a=new Rt(e);r>s;++s)t[s]&&++a[t[s]-1];var i,o=new Rt(e);for(s=1;e>s;++s)o[s]=o[s-1]+a[s-1]<<1;if(n){i=new Rt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var u=s<<4|t[s],f=e-t[s],l=o[t[s]-1]++<<f,d=l|(1<<f)-1;d>=l;++l)i[kn[l]>>c]=u}else for(i=new Rt(r),s=0;r>s;++s)t[s]&&(i[s]=kn[o[t[s]-1]++]>>15-t[s]);return i},qt=new we(288);for(G=0;144>G;++G)qt[G]=8;for(G=144;256>G;++G)qt[G]=9;for(G=256;280>G;++G)qt[G]=7;for(G=280;288>G;++G)qt[G]=8;var yr=new we(32);for(G=0;32>G;++G)yr[G]=5;var da=Lt(qt,9,1),ha=Lt(yr,5,1),Rn=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},He=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Fn=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},wa=t=>(t+7)/8|0,Gt=(t,e,n)=>((e==null||0>e)&&(e=0),(n==null||n>t.length)&&(n=t.length),new we(t.subarray(e,n))),pa=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ne=(t,e,n)=>{var r=new m(e||pa[t]);if(r.code=t,m.captureStackTrace&&m.captureStackTrace(r,Ne),!n)throw r;return r},br=(t,e,n,r)=>{var s=t.length,a=r?r.length:0;if(!s||e.f&&!e.o)return n||new we(0);var i=!n,o=i||e.i!=2,c=e.i;i&&(n=new we(3*s));var u=Je=>{var zt=n.length;if(Je>zt){var je=new we($.max(2*zt,Je));je.set(n),n=je}},f=e.f||0,l=e.p||0,d=e.b||0,w=e.o,h=e.d,v=e.l,S=e.n,C=8*s;do{if(!w){f=He(t,l,1);var R=He(t,l+1,3);if(l+=3,!R){var p=t[(E=wa(l)+4)-4]|t[E-3]<<8,N=E+p;if(N>s){c&&Ne(0);break}o&&u(d+p),n.set(t.subarray(E,N),d),e.b=d+=p,e.p=l=8*N,e.f=f;continue}if(R==1)w=da,h=ha,v=9,S=5;else if(R==2){var U=He(t,l,31)+257,z=He(t,l+10,15)+4,I=U+He(t,l+5,31)+1;l+=14;for(var B=new we(I),A=new we(19),b=0;z>b;++b)A[la[b]]=He(t,l+3*b,7);l+=3*z;var F=Rn(A),W=(1<<F)-1,O=Lt(A,F,1);for(b=0;I>b;){var E,ne=O[He(t,l,W)];if(l+=15&ne,16>(E=ne>>4))B[b++]=E;else{var q=0,P=0;for(E==16?(P=3+He(t,l,3),l+=2,q=B[b-1]):E==17?(P=3+He(t,l,7),l+=3):E==18&&(P=11+He(t,l,127),l+=7);P--;)B[b++]=q}}var j=B.subarray(0,U),ae=B.subarray(U);v=Rn(j),S=Rn(ae),w=Lt(j,v,1),h=Lt(ae,S,1)}else Ne(1);if(l>C){c&&Ne(0);break}}o&&u(d+131072);for(var _=(1<<v)-1,Y=(1<<S)-1,De=l;;De=l){var Ze=(q=w[Fn(t,l)&_])>>4;if((l+=15&q)>C){c&&Ne(0);break}if(q||Ne(2),256>Ze)n[d++]=Ze;else{if(Ze==256){De=l,w=null;break}var St=Ze-254;if(Ze>264){var me=hr[b=Ze-257];St=He(t,l,(1<<me)-1)+mr[b],l+=me}var We=h[Fn(t,l)&Y],Ee=We>>4;if(We||Ne(3),l+=15&We,ae=fa[Ee],Ee>3&&(me=wr[Ee],ae+=Fn(t,l)&(1<<me)-1,l+=me),l>C){c&&Ne(0);break}o&&u(d+131072);var it=d+St;if(ae>d){var ot=a-ae,nt=$.min(ae,it);for(0>ot+d&&Ne(3);nt>d;++d)n[d]=r[ot+d]}for(;it>d;++d)n[d]=n[d-ae]}}e.o=w,e.p=De,e.b=d,e.f=f,w&&(f=1,e.l=v,e.d=h,e.n=S)}while(!f);return d!=n.length&&i?Gt(n,0,d):n.subarray(0,d)},ga=new we(0),ma=(function(){function t(e,n){typeof e=="function"&&(n=e,e={}),this.h=n;var r=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:r?r.length:0},this.v=new we(32768),this.p=new we(0),r&&this.v.set(r)}return t.prototype.e=function(e){if(this.h||Ne(5),this.d&&Ne(4),this.p.length){if(e.length){var n=new we(this.p.length+e.length);n.set(this.p),n.set(e,this.p.length),this.p=n}}else this.p=e},t.prototype.c=function(e){this.s.i=+(this.d=e||!1);var n=this.s.b,r=br(this.p,this.s,this.v);this.h(Gt(r,n,this.s.b),this.d),this.v=Gt(r,this.s.b-32768),this.s.b=this.v.length,this.p=Gt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(e,n){this.e(e),this.c(n)},t})(),ya=hn!==void 0&&new hn;try{ya.decode(ga,{stream:!0})}catch{}class ba extends se{constructor(e){super({start(n){e.h=r=>{r.length&&n.enqueue(r)}},transform(n){e.push(n)},flush(){e.push(new H(0),!0)}})}}let Sa=new lt,Cn=new lt;function Sr(t){return Cn.get(t)}let Bt=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let n=0;8>n;n++)e=1&e?e>>>1^3988292384:e>>>1;Bt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){let n=Bt[e-1][t];Bt[e][t]=n>>>8^Bt[0][255&n]}let[zr,za,va,xa,ka,Ra,Fa,Ca]=Bt;class Pt{constructor(e){this.S=e||-1}append(e){let n=0|this.S,r=0|e.length,s=0;if(r>=8&&e.buffer){let a=new ut(e.buffer,e.byteOffset,r),i=r-8;for(;i>=s;s+=8){let o=n^a.getInt32(s,!0),c=a.getInt32(s+4,!0);n=Ca[255&o]^Fa[o>>>8&255]^Ra[o>>>16&255]^ka[o>>>24&255]^xa[255&c]^va[c>>>8&255]^za[c>>>16&255]^zr[c>>>24&255]}}for(;r>s;s++)n=n>>>8^zr[255&(n^e[s])];this.S=n}get(){return~this.S}}class vr extends se{constructor(){let e,n=new Pt;super({transform(r,s){n.append(r),s.enqueue(r)},flush(){let r=new H(4);new ut(r.buffer).setUint32(0,n.get()),e.value=r}}),e=this}}function yt(t,e){let n=new H(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Z(t){return new ut(t.buffer,t.byteOffset,t.byteLength)}let pe={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],r=pe.R(n);return r===32?t.concat(e):pe.D(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return 32*(e-1)+pe.R(n)},F(t,e){if(32*t.length<e)return t;let n=(t=t.slice(0,$.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=pe.C(e,t[n-1]&2147483648>>e-1,1)),t},C:(t,e,n)=>t===32?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>$.round(t/1099511627776)||32,D(t,e,n,r){for(r===void 0&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(e===0)return r.concat(t);for(let i=0;i<t.length;i++)r.push(n|t[i]>>>e),n=t[i]<<32-e;let s=t.length?t[t.length-1]:0,a=pe.R(s);return r.push(pe.C(e+a&31,e+a>32?n:r.pop(),1)),r}},_t={bytes:{A(t){let e=pe.bitLength(t)/8,n=new H(e),r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},T(t){let e=[],n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(pe.C(8*(3&n),r)),e}}},Aa=class{constructor(t){let e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.I=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){let t=this;return t.W=t.U.slice(0),t.M=[],t.O=0,t}update(t){let e=this;typeof t=="string"&&(t=_t.L.T(t));let n=e.M=pe.concat(e.M,t),r=e.O,s=e.O=r+pe.bitLength(t);if(s>9007199254740991)throw new m("Cannot hash more than 2^53 - 1 bits");let a=new sa(n),i=0;for(let o=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=o;o+=e.blockSize)e.P(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),e}B(){let t=this,e=t.M,n=t.W;e=pe.concat(e,[pe.C(1,1)]);for(let r=e.length+2;15&r;r++)e.push(0);for(e.push($.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){let e=this,n=e.W,r=Ce(80);for(let u=0;16>u;u++)r[u]=t[u];let s=n[0],a=n[1],i=n[2],o=n[3],c=n[4];for(let u=0;79>=u;u++){16>u||(r[u]=e.V(1,r[u-3]^r[u-8]^r[u-14]^r[u-16]));let f=e.V(5,s)+e.H(u,a,i,o)+c+r[u]+e.I[$.floor(u/20)]|0;c=o,o=i,i=e.V(30,a),a=s,s=f}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}},Ft={importKey:t=>new Ft.Z(_t.bytes.T(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new m("invalid params to pbkdf2");let s=1+(r>>5)<<2,a,i,o,c,u,f=new ArrayBuffer(s),l=new ut(f),d=0,w=pe;for(e=_t.bytes.T(e),u=1;(s||1)>d;u++){for(a=i=t.encrypt(w.concat(e,[u])),o=1;n>o;o++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>d&&o<a.length;o++)l.setInt32(d,a[o]),d+=4}return f.slice(0,r/8)},Z:class{constructor(t){let e=this,n=e._=Aa,r=[[],[]];e.j=[new n,new n];let s=e.j[0].blockSize/32;t.length>s&&(t=new n().update(t).B());for(let a=0;s>a;a++)r[0][a]=909522486^t[a],r[1][a]=1549556828^t[a];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){let t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){let t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new m("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Ua=typeof It!=st&&typeof It.getRandomValues==Pe,xr="Invalid password",kr="Invalid signature",Ta=kr,An="zipjs-abort-check-password";function Rr(t){if(Ua)return It.getRandomValues(t);throw new m("Crypto API not supported")}let Ct=16,Fr={name:"PBKDF2"},Da=k.assign({hash:{name:"HMAC"}},Fr),Un=k.assign({iterations:1e3,hash:{name:"SHA-1"}},Fr),Wa=["deriveBits"],Ht=[8,12,16],Nt=[16,24,32],et=10,Ea=[0,0,0,0],Yt=typeof It!=st,Ot=Yt&&It.subtle,Cr=Yt&&typeof Ot!=st,Ye=_t.bytes,Ma=class{constructor(t){let e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();let n=e.X[0][4],r=e.X[1],s=t.length,a,i,o,c=1;if(s!==4&&s!==6&&s!==8)throw new m("invalid aes key size");for(e.I=[i=t.slice(0),o=[]],a=s;4*s+28>a;a++){let u=i[a-1];(a%s===0||s===8&&a%s===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[255&u],a%s===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^u}for(let u=0;a;u++,a--){let f=i[3&u?a:a-4];o[u]=4>=a||4>u?f:r[0][n[f>>>24]]^r[1][n[f>>16&255]]^r[2][n[f>>8&255]]^r[3][n[255&f]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){let t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],a=[],i,o,c,u;for(let f=0;256>f;f++)a[(s[f]=f<<1^283*(f>>7))^f]=f;for(let f=i=0;!n[f];f^=o||1,i=a[i]||1){let l=i^i<<1^i<<2^i<<3^i<<4;l=l>>8^255&l^99,n[f]=l,r[l]=f,u=s[c=s[o=s[f]]];let d=16843009*u^65537*c^257*o^16843008*f,w=257*s[l]^16843008*l;for(let h=0;4>h;h++)t[h][f]=w=w<<24^w>>>8,e[h][l]=d=d<<24^d>>>8}for(let f=0;5>f;f++)t[f]=t[f].slice(0),e[f]=e[f].slice(0)}Y(t,e){if(t.length!==4)throw new m("invalid aes block size");let n=this.I[e],r=n.length/4-2,s=[0,0,0,0],a=this.X[e],i=a[0],o=a[1],c=a[2],u=a[3],f=a[4],l,d,w,h=t[0]^n[0],v=t[e?3:1]^n[1],S=t[2]^n[2],C=t[e?1:3]^n[3],R=4;for(let p=0;r>p;p++)l=i[h>>>24]^o[v>>16&255]^c[S>>8&255]^u[255&C]^n[R],d=i[v>>>24]^o[S>>16&255]^c[C>>8&255]^u[255&h]^n[R+1],w=i[S>>>24]^o[C>>16&255]^c[h>>8&255]^u[255&v]^n[R+2],C=i[C>>>24]^o[h>>16&255]^c[v>>8&255]^u[255&S]^n[R+3],R+=4,h=l,v=d,S=w;for(let p=0;4>p;p++)s[e?3&-p:p]=f[h>>>24]<<24^f[v>>16&255]<<16^f[S>>8&255]<<8^f[255&C]^n[R++],l=h,h=v,v=S,S=C,C=l;return s}},Ia=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;e===255?(e=0,n===255?(n=0,r===255?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){(t[0]=this.ot(t[0]))===0&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];let s=pe.bitLength(e);for(let a=0;r>a;a+=4){this.it(n);let i=t.encrypt(n);e[a]^=i[0],e[a+1]^=i[1],e[a+2]^=i[2],e[a+3]^=i[3]}return pe.F(e,s)}},La=Ft.Z,Ar=Yt&&Cr&&typeof Ot.importKey==Pe,Ur=Yt&&Cr&&typeof Ot.deriveBits==Pe;class qa extends se{constructor({password:e,rawPassword:n,encryptionStrength:r,checkPasswordOnly:s,checkAuthenticationCode:a=!0}){super({start(){Tr(this,e,n,r)},async transform(i,o){let c=this,{password:u,strength:f,ct:l,ready:d}=c;u?(await(async(h,v,S,C)=>{let R=await Wr(h,v,S,Te(C,0,Ht[v])),p=Te(C,Ht[v]);if(R[0]!=p[0]||R[1]!=p[1])throw new m(xr)})(c,f,u,Te(i,0,Ht[f]+2)),i=Te(i,Ht[f]+2),s?o.error(new m(An)):l()):await d;let w=new H(i.length-et-(i.length-et)%Ct);o.enqueue(Dr(c,i,w,0,et,!0))},async flush(i){let{ut:o,ft:c,lt:u,ready:f}=this;if(c&&o){await f;let l=Te(u,0,u.length-et),d=Te(u,u.length-et),w=Ue;if(l.length){let S=Zt(Ye,l);c.update(S);let C=o.update(S);w=Vt(Ye,C)}let h=Te(Vt(Ye,c.digest()),0,et),v=u.length<et?1:0;for(let S=0;et>S;S++)v|=h[S]^d[S];if(v&&a)throw new m(Ta);i.enqueue(w)}}})}}class Ba extends se{constructor({password:e,rawPassword:n,encryptionStrength:r}){super({start(){Tr(this,e,n,r)},async transform(s,a){let i=this,{password:o,strength:c,ct:u,ready:f}=i,l=Ue;o?(l=await(async(w,h,v)=>{let S=Rr(new H(Ht[h]));return yt(S,await Wr(w,h,v,S))})(i,c,o),u()):await f;let d=new H(l.length+s.length-s.length%Ct);d.set(l,0),a.enqueue(Dr(i,s,d,l.length,0))},async flush(s){let{ut:a,ft:i,lt:o,ready:c}=this;if(i&&a){await c;let u=Ue;if(o.length){let l=a.update(Zt(Ye,o));i.update(l),u=Vt(Ye,l)}let f=Vt(Ye,i.digest()).slice(0,et);s.enqueue(yt(u,f))}}})}}function Tr(t,e,n,r){k.assign(t,{ready:new ft(s=>t.ct=s),password:Pa(e,n),strength:r-1,lt:Ue})}function Dr(t,e,n,r,s,a){let{ut:i,ft:o,lt:c}=t;c.length&&(e=yt(c,e));let u=e.length-s,f;for(n=((l,d)=>{if(d&&d>l.length){let w=l;(l=new H(d)).set(w,0)}return l})(n,r+(u-u%Ct)),f=0;u-Ct>=f;f+=Ct){let l=Zt(Ye,Te(e,f,f+Ct));a&&o.update(l);let d=i.update(l);a||o.update(d),n.set(Vt(Ye,d),f+r)}return t.lt=Te(e,f),n}async function Wr(t,e,n,r){t.password=null;let s=await(async(f,l,d,w,h)=>{if(!Ar)return Ft.importKey(l);try{return await Ot.importKey("raw",l,d,!1,h)}catch{return Ar=!1,Ft.importKey(l)}})(0,n,Da,0,Wa),a=await(async(f,l,d)=>{if(!Ur)return Ft.N(l,f.salt,Un.iterations,d);try{return await Ot.deriveBits(f,l,d)}catch{return Ur=!1,Ft.N(l,f.salt,Un.iterations,d)}})(k.assign({salt:r},Un),s,8*(2*Nt[e]+2)),i=new H(a),o=Zt(Ye,Te(i,0,Nt[e])),c=Zt(Ye,Te(i,Nt[e],2*Nt[e])),u=Te(i,2*Nt[e]);return k.assign(t,{keys:{key:o,wt:c,passwordVerification:u},ut:new Ia(new Ma(o),Ce.from(Ea)),ft:new La(c)}),u}function Pa(t,e){return e===g?(n=>{if(typeof Yn==st){let r=new H((n=unescape(encodeURIComponent(n))).length);for(let s=0;s<r.length;s++)r[s]=n.charCodeAt(s);return r}return new Yn().encode(n)})(t):e}function Te(t,e,n){return t.subarray(e,n)}function Vt(t,e){return t.A(e)}function Zt(t,e){return t.T(e)}class Ha extends se{constructor({password:e,rawPassword:n,passwordVerification:r,checkPasswordOnly:s}){super({start(){Er(this,e,n,r)},transform(a,i){let o=this;if(o.password||o.rawPassword){let c=Mr(o,a.subarray(0,12));if(o.password=o.rawPassword=null,(c[11]^o.passwordVerification)!=0)throw new m(xr);a=a.subarray(12)}s?i.error(new m(An)):i.enqueue(Mr(o,a))}})}}class Na extends se{constructor({password:e,rawPassword:n,passwordVerification:r}){super({start(){Er(this,e,n,r)},transform(s,a){let i=this,o,c;if(i.password||i.rawPassword){i.password=i.rawPassword=null;let u=Rr(new H(12));u[11]=i.passwordVerification,o=new H(s.length+u.length),o.set(Ir(i,u),0),c=12}else o=new H(s.length),c=0;o.set(Ir(i,s),c),a.enqueue(o)}})}}function Er(t,e,n,r){k.assign(t,{password:e,rawPassword:n,passwordVerification:r}),((s,a,i)=>{let o=[305419896,591751049,878082192];if(k.assign(s,{keys:o,ht:new Pt(o[0]),yt:new Pt(o[2])}),i)for(let c=0;c<i.length;c++)$t(s,i[c]);else for(let c=0;c<a.length;c++)$t(s,a.charCodeAt(c))})(t,e,n)}function Mr(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,n[r]);return n}function Ir(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,e[r]);return n}function $t(t,e){let[,n]=t.keys;t.ht.append([e]);let r=~t.ht.get();n=Br($.imul(Br(n+qr(r)),134775813)+1),t.yt.append([n>>>24]);let s=~t.yt.get();t.keys=[r,n,s]}function Lr(t){let e=2|t.keys[2];return qr($.imul(e,1^e)>>>8)}function qr(t){return 255&t}function Br(t){return 4294967295&t}function At(t){if(t instanceof dt)return t;let e=t.getReader();return new dt({async pull(n){let{value:r,done:s}=await e.read();s?n.close():n.enqueue(r)},cancel:n=>e.cancel(n)})}function Jt(t,e){t=At(t);let n=e?{type:e}:{};if(typeof Mt.prototype.stream!=Pe||new Mt([]).stream()instanceof dt)return new na(t).blob().then(s=>e?new Mt([s],n):s);let r=[];return t.pipeTo(new ht({write(s){r.push(s)}})).then(()=>new Mt(r,n))}function Oa(t){if(t instanceof ht)return t;let e=t.getWriter();return new ht({write:n=>e.write(n),close:()=>e.close(),abort:n=>e.abort(n)})}let Tn="Invalid uncompressed size",Va=kr,Pr="deflate-raw",Dn="gzip",Za=[31,139,8];class ja extends se{constructor(e,{chunkSize:n,CompressionStreamFallback:r,CompressionStream:s}){super({});let{compressed:a,encrypted:i,useCompressionStream:o,zipCrypto:c,computeCrc32:u,level:f,deflate64:l,format:d,compressionMethod:w,inputSize:h}=e,v=this,S,C,R,p=super.readable,N=d&&Sr(d),U=u&&a&&!l&&!N&&(!i||c)&&!(!o||!s);if(i&&!c||!u||U||(S=new vr,p=Oe(p,S)),a)if(N)p=Ut(p,Vr(N.CompressionStream,d,{level:f,chunkSize:n,compressionMethod:w,uncompressedSize:h}));else if(U)R=new Hr,p=Ut(p,new s(Dn)),p=Oe(p,R);else try{p=Zr(p,o,{level:f,chunkSize:n},s,r)}catch(z){let I;try{I=new s(Dn)}catch{throw z}p=Ut(p,I),p=Oe(p,new Hr)}i&&(c?p=Oe(p,new Na(e)):(C=new Ba(e),p=Oe(p,C))),Or(v,p,()=>{i&&!c||!u||(v.crc32=U?R.crc32:new ut(S.value.buffer).getUint32(0))})}}class Hr extends se{constructor(){let e,n=10,r=new H(0);super({transform(s,a){if(n){let u=$.min(n,s.length);if(n-=u,!(s=s.subarray(u)).length)return}let i=r.length+s.length;if(8>=i)return void(r=yt(r,s));let o=i-8,c=$.min(o,r.length);a.enqueue(yt(r.subarray(0,c),s.subarray(0,o-c))),r=yt(r.subarray(c),s.subarray(o-c))},flush(){let s=Z(r);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}}class Ka extends se{constructor(e,{chunkSize:n,DecompressionStreamFallback:r,DecompressionStream:s}){super({});let{zipCrypto:a,encrypted:i,checkCrc32:o,crc32:c,compressed:u,useCompressionStream:f,deflate64:l,format:d,compressionMethod:w,rawBitFlag:h,outputSize:v}=e,S,C,R=super.readable;if(i&&(a?R=Oe(R,new Ha(e)):(C=new qa(e),R=Oe(R,C))),u){let p=d&&Sr(d);if(p)R=Ut(R,Vr(p.DecompressionStream,d,{chunkSize:n,compressionMethod:w,rawBitFlag:h,uncompressedSize:v}));else try{R=Zr(R,f,{chunkSize:n,deflate64:l},s,r)}catch(N){if(l||v===g)throw N;let U;try{U=new s(Dn)}catch{throw N}R=((z,I,B)=>{let A=new Pt,b,F,W,O=0,E=!1,ne=new ft((_,Y)=>{F=_,W=Y});ne.catch(()=>{}),B||F();let q=new se({start(_){let Y=new H(10);Y.set(Za),_.enqueue(Y)},transform(_,Y){Y.enqueue(_)},async flush(_){E=!0,j();try{await ne}finally{ae()}let Y=new H(8),De=Z(Y);De.setUint32(0,A.get(),!0),De.setUint32(4,B,!0),_.enqueue(Y)},cancel(_){W(_)}}),P=new se({transform(_,Y){A.append(_),O+=_.length,B>O?E&&j():F(),Y.enqueue(_)},cancel(_){W(_)}});return z=Oe(z,q),Oe(z=Ut(z,I),P);function j(){ae(),b=pn(()=>W(new m(Tn)),5e3)}function ae(){gn(b)}})(R,U,v)}R=(N=>{let U=N.getReader();return new dt({async pull(z){let I;try{I=await U.read()}catch(b){if(b&&b.message)throw b;let F=new m("Invalid compressed data");throw F.cause=b,F}let{value:B,done:A}=I;A?z.close():z.enqueue(B)},cancel:z=>U.cancel(z)})})(R)}o&&(S=new vr,R=Oe(R,S)),Or(this,R,()=>{if(o){let p=new ut(S.value.buffer);if(c!=p.getUint32(0,!1))throw new m(Va)}})}}let Nr=new lt;function Or(t,e,n){e=Oe(e,new se({flush:n})),k.defineProperty(t,"readable",{get:()=>e})}function Vr(t,e,n){if(!t)throw new m("Compression method not supported");return new t(e,n)}function Zr(t,e,n,r,s){let a=e&&r?r:s||r,i=n.deflate64?"deflate64-raw":Pr,o;try{o=new a(i,n)}catch(c){if(!e||!s||a==s)throw c;o=new s(i,n)}return Ut(t,o)}function Oe(t,e){return At(t).pipeThrough(e)}function Ut(t,e){let n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;let s=await r.read();if(s.done){await n.close();break}await n.write(s.value)}}catch(s){await(async(a,i)=>{try{await a.abort(i)}catch{}})(n,s),await(async(a,i)=>{try{await a.cancel(i)}catch{}})(r,s)}})(),e.readable}let jr="deflate",Kr="inflate";class Xa extends se{constructor(e,n){super({});let r=this,{codecType:s}=e,a;s.startsWith(jr)?a=ja:s.startsWith(Kr)&&(a=Ka),r.outputSize=0;let i=0,o=new a(e,n),c=super.readable,u=new se({transform(l,d){l&&l.length&&(i+=l.length,d.enqueue(l))},flush(){k.assign(r,{inputSize:i})}}),f=new se({transform(l,d){if(l&&l.length&&(d.enqueue(l),r.outputSize+=l.length,e.outputSize!==g&&r.outputSize>e.outputSize))throw new m(Tn)},flush(){let{crc32:l}=o;k.assign(r,{crc32:l,inputSize:i})}});k.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(o).pipeThrough(f)})}}class Xr extends se{constructor(e){let n=[],r=0;function s(){let a=new H(e),i=0;for(;e>i;){let o=n[0],c=e-i;o.length>c?(a.set(o.subarray(0,c),i),n[0]=o.subarray(c),i+=c):(a.set(o,i),i+=o.length,n.shift())}return r-=e,a}le.isFinite(e)&&e>=1||(e=65536),super({transform(a,i){for(n.push(a),r+=a.length;r>e;)i.enqueue(s())},flush(a){r&&a.enqueue(((i,o)=>{let c=new H(o),u=0;for(let f of i)c.set(f,u),u+=f.length;return c})(n,r))}})}}class Qt{constructor(e,{readable:n,writable:r},{options:s,config:a,gt:i,useWebWorkers:o,transferStreams:c,workerURI:u,createWorker:f},l){let{signal:d}=i;return k.assign(e,{bt:!0,vt:(e.vt||0)+1,readable:n.pipeThrough(new Xr(xn(a))).pipeThrough(new Ga(i),{signal:d}),writable:r,options:k.assign({},s),workerURI:u,createWorker:f,transferStreams:c,terminate:()=>new ft(w=>{let{St:h,bt:v}=e;h?(v?e.kt=w:(h.terminate(),w()),e.xt=null):w()}),zt(){if(e.bt){let{kt:w}=e;w&&(e.kt=null,e.Rt=!0,e.St.terminate(),w()),e.bt=!1,l(e)}}}),((w,h)=>({run:()=>(async({options:v,readable:S,writable:C,zt:R},p)=>{let N;try{if(v.compressed&&!v.format){let B=v.codecType.startsWith(jr),A=B?p.CompressionStreamFallback:p.DecompressionStreamFallback,b=B?p.CompressionStream:p.DecompressionStream;if(v.useCompressionStream){if(A&&A.Dt&&!((F,W)=>{if(!F)return!1;let O=Nr.get(F);O||(O=new lt,Nr.set(F,O));let E=O.get(W);if(E===g){try{new F(W),E=!0}catch{E=!1}O.set(W,E)}return E})(b,Pr))try{await void 0}catch{}}else try{await void 0}catch{A&&!A.Dt||(v.useCompressionStream=!0)}}N=new Xa(v,p),await S.pipeThrough(N).pipeThrough(new Xr(xn(p))).pipeTo(C,{preventClose:!0,preventAbort:!0});let{crc32:U,inputSize:z,outputSize:I}=N;return{crc32:U,inputSize:z,outputSize:I}}catch(U){throw N&&(U.outputSize=N.outputSize),U}finally{R()}})(w,h)}))(e,a)}}class Ga extends se{constructor({onstart:e,onprogress:n,size:r,onend:s}){let a=0;super({async start(){e&&await Wn(e,r)},async transform(i,o){a+=i.length,n&&await Wn(n,a,r),o.enqueue(i)},async flush(){s&&await Wn(s,a)}})}}async function Wn(t,...e){try{await t(...e)}catch{}}let bt=[],Tt=[],Dt,en,Gr=0;function tn(){!Dt&&Tt.length&&le.isFinite(en)&&en>=0&&(Dt=pn(_a,en))}function _r(){Dt&&(gn(Dt),Dt=null)}function _a(){if(Dt=null,Tt.length){let[{resolve:t,stream:e,Ft:n}]=Tt.splice(0,1),r=k.assign({},n,{useWebWorkers:!1,workerURI:g,createWorker:g});t(new Qt({},e,r,Ya)),tn()}}function Ya(){_r(),tn()}function Yr(t){let{Ct:e}=t;e&&(gn(e),t.Ct=null)}let $a="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("");function nn(t,e){return $r(t,e,!0)}function $r(t,e,n){return e&&e.trim().toLowerCase()=="cp437"?(r=>{{let s="";for(let a=0;a<r.length;a++)s+=$a[r[a]];return s}})(t):new hn(e,{ignoreBOM:n}).decode(t)}let Jr="HTTP error ",tt="HTTP Range not supported",Qr="HTTP resource changed",En="Content-Range",Ja="Range",rn="GET",es="bytes",Qa=16777216,Mn="writable",ts=Symbol();class sn{constructor(){this.size=0}init(){this.initialized=!0}}class jt extends sn{get readable(){return this.createReadable()}createReadable({offset:e=0,size:n,chunkSize:r=xn(vn())}={}){let s=this,a=0;return r=ur(r),new dt({async pull(i){let o=n===g?r:$.min(r,n-a),c=await ee(s,e+a,o);c.length&&i.enqueue(c),a+r>=n||!c.length&&o?i.close():a+=r}})}}class ei extends sn{constructor(){super();let e=this,n=new ht({write(r){if(!e.initialized)throw new m("Writer not initialized");return e.writeUint8Array((s=r).byteOffset||s.byteLength!=s.buffer.byteLength?new H(s):s);var s}});k.defineProperty(e,Mn,{get:()=>n})}writeUint8Array(){}}let In,ns;class Ln extends jt{constructor(e){super(),k.assign(this,{At:e,size:e.size}),ns||(ns=(async()=>{try{let n=new Mt([new H(3)]).slice(1,2).stream().getReader(),r=0,s=await n.read();for(;!s.done;)r+=s.value.length,s=await n.read();In=r==1}catch{In=!1}})())}createReadable(e){let{At:n,size:r}=this,{offset:s=0,size:a=r-s}=e||{};return s||r>a?In?At(n.slice(s,s+a).stream()):super.createReadable(e):At(n.stream())}async readUint8Array(e,n){let r=this,s=e+n,i=await(e||s<r.size?r.At.slice(e,s):r.At).arrayBuffer();return i.byteLength>n&&(i=i.slice(e,s)),new H(i)}}class rs extends sn{constructor(e){super();let n=this,r=new se;k.defineProperty(n,Mn,{get:()=>r.writable}),n.contentType=e,n.Tt=Jt(r.readable,e),n.Tt.catch(()=>{})}getData(){return this.Tt}}class ti extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,an,us),super.init()}createReadable(e){let n=this,{useRangeHeader:r,forceRangeRequests:s,size:a}=n;if((r||s)&&a!==g){let{offset:i=0,size:o=a-i}=e||{};if(o>0&&a>i)return((c,u,f)=>{let l,d=u,w=0,h=f;return new dt({start:()=>v(),async pull(S){l||await v();let{value:C,done:R}=await l.read();if(R)throw new m(tt);let p=C.length>w?C.subarray(0,w):C;w-=p.length,h-=p.length,p.length&&S.enqueue(p),w||(await(async()=>{let N=l;l=g,await N.cancel()})(),h||S.close())},cancel:S=>l&&l.cancel(S)});async function v(){let S=$.min(c.maximumRangeSize,h),C=await an(rn,c,Bn(c,d,S));if(C.status!=206)throw new m(tt);let R=C.headers.get(En);if(R){let p=le(R.trim().split(/[\s-]+/)[1]);if(!le.isNaN(p)&&p!=d)throw new m(tt)}ls(c,C),qn(c,C),d+=S,w=S,l=C.body.getReader()}})(n,i,$.min(o,a-i))}return super.createReadable(e)}readUint8Array(e,n){return is(this,e,n,an,us)}}class ni extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,Hn,fs),super.init()}readUint8Array(e,n){return is(this,e,n,Hn,fs)}}function ss(t,e,n){let{preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=Qa,fetch:u}=n;delete(n=k.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,k.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o,maximumRangeSize:c,fetch:u})}async function as(t,e,n){let{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=t;if((c=>{let{baseURI:u}=vn(),{protocol:f}=new _n(c,u);return f=="http:"||f=="https:"})(r)&&(a||i)&&(typeof s==st||s)){let c=await e(rn,t,Bn(t,o?-22:void 0)),u=c.headers.get("Accept-Ranges");if(!(i||u&&u.toLowerCase()==es))throw new m(tt);{if(o){let l=new H(await c.arrayBuffer());c.status==206&&l.length==Be&&(t.Ut=l)}qn(t,c);let f=os(c);f===g?await hs(t,e,n):t.size=f}}else await hs(t,e,n)}async function is(t,e,n,r,s){let{useRangeHeader:a,forceRangeRequests:i,Ut:o,size:c,options:u}=t;if(a||i){if(o&&e==c-Be&&n==Be)return o;if(c>e&&n!==0){e+n>c&&(n=c-e);let f=await r(rn,t,Bn(t,e,n));if(f.status!=206)throw new m(tt);let l=f.headers.get(En);if(l){let w=le(l.trim().split(/[\s-]+/)[1]);if(!le.isNaN(w)&&w!=e)throw new m(tt)}ls(t,f),qn(t,f);let d=new H(await f.arrayBuffer());if(d.length!=n)throw new m(tt);return d}return Ue}{let{data:f}=t;return f||await s(t,u),t.data.subarray(e,e+n)}}function os(t){let e=t.headers.get(En);if(e){let n=e.trim().split(/\s*\/\s*/)[1];if(n&&n!="*"){let r=le(n);if(!le.isNaN(r))return r}}}function cs({headers:t}){return{Et:t.get("Etag")||g,lastModified:t.get("Last-Modified")||g}}function qn(t,e){let{checkResourceChanges:n,It:r}=t;n&&!r&&e.status==206&&(t.It=cs(e))}function ls(t,e){let{checkResourceChanges:n,It:r,size:s}=t;if(n){let a=os(e);if(a!==g&&s!==g&&a!=s)throw new m(Qr);if(r){let i=cs(e);if(k.entries(r).some(([o,c])=>c!==g&&i[o]!==g&&c!=i[o]))throw new m(Qr)}}}function Bn(t,e=0,n=1){return k.assign({},Pn(t),{[Ja]:es+"="+(0>e?e:e+"-"+(e+n-1))})}function Pn({options:t}){let{headers:e}=t;if(e)return Symbol.iterator in e?k.fromEntries(e):e}async function us(t){await ds(t,an)}async function fs(t){await ds(t,Hn)}async function ds(t,e){let n=await e(rn,t,Pn(t));t.data=new H(await n.arrayBuffer()),t.size=t.data.length}async function hs(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{let r=await e("HEAD",t,Pn(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=le(s):await n(t,t.options)}}async function an(t,{fetch:e=fetch,options:n,url:r},s){let a=await e(r,k.assign({},n,{method:t,headers:s}));if(400>a.status)return a;throw a.status==416?new m(tt):new m(Jr+(a.statusText||a.status))}function Hn(t,{url:e},n){return new ft((r,s)=>{let a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){let i=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{let c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,u=>u.toUpperCase()),i.push(c)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new lt(i)})}else s(a.status==416?new m(tt):new m(Jr+(a.statusText||a.status)))},!1),a.addEventListener("error",i=>s(i.detail?i.detail.error:new m("Network error")),!1),a.open(t,e),n)for(let i of k.entries(n))a.setRequestHeader(i[0],i[1]);a.responseType="arraybuffer",a.send()})}class ri extends jt{constructor(e,n={}){super(),k.assign(this,{url:e,reader:n.useXHR&&!n.fetch?new ni(e,n):new ti(e,n)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,n){return this.reader.readUint8Array(e,n)}}class si extends jt{constructor(e){super(),this.Wt=e}async init(){let e=this;e.Mt=0;let n=e.Wt=await ft.all(e.Wt.map(oi));e.Ot=n.map(r=>{let s=e.size;return e.size+=r.size,s}),super.init()}Lt(e){let{Ot:n,size:r}=this,s=n[e];return s===g?r:s}async readUint8Array(e,n){let r=this,{Wt:s}=this,a,i=0,o=e;for(;s[i]&&o>=s[i].size;)o-=s[i].size,i++;let c=s[i];if(c){let u=c.size;if(o+n>u){let f=u-o;a=yt(await ee(c,o,f),await r.readUint8Array(e+f,n-f))}else a=await ee(c,o,n)}else a=Ue;return r.Mt=$.max(i,r.Mt),a}}class ai extends sn{constructor(e,n=4294967295){super();let r=this,s,a,i;k.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o=new ht({async write(l){if(l===ts)return void(i&&await u());let{availableSize:d}=r;if(i)l.length<d?await c(l):(await c(l.subarray(0,d)),await u(),l.length>d&&await this.write(l.subarray(d)));else{let{value:w,done:h}=await e.next();if(h&&!w)throw new m("Writer iterator completed too soon");s=w,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Wt(s),a=w.writable,i=a.getWriter(),await this.write(l)}},async close(){i&&(await i.ready,await f())},async abort(l){i&&await i.abort(l)}});async function c(l){let d=l.length;d&&(await i.ready,await i.write(l),s.size+=d,r.availableSize-=d)}async function u(){await f(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function f(){await i.close()}k.defineProperty(r,Mn,{get:()=>o})}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(ts)}finally{e.releaseLock()}}}class ws{constructor(e){return Ce.isArray(e)&&(e=new si(e)),(e instanceof dt||typeof e.getReader==Pe)&&(e={readable:At(e)}),e}}class ii{constructor(e){return e.writable===g&&typeof e.next==Pe&&(e=new ai(e)),(e instanceof ht||typeof e.getWriter==Pe)&&(e={writable:Oa(e)}),e.size===g&&(e.size=0),e}}async function Wt(t,e){if(!t.init||t.initialized)return ft.resolve();await t.init(e)}async function oi(t){return t=new ws(t),await Wt(t),t.size!==g&&t.readUint8Array||(t=new Ln(await Jt(t.readable)),await Wt(t)),t}function ee(t,e,n){return t.readUint8Array(e,n)}let ps="filename",gs="rawFilename",ms="comment",ys="rawComment",bs="uncompressedSize",Ss="compressedSize",zs="offset",vs="diskNumberStart",Nn="lastModDate",On="rawLastModDate",xs="lastAccessDate",ks="rawLastAccessDate",Rs="creationDate",Fs="rawCreationDate",ci=[ps,gs,bs,Ss,Nn,On,ms,ys,xs,ks,Rs,Fs,zs,vs,"internalFileAttributes","externalFileAttributes","internalFileAttribute","externalFileAttribute","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Cs{constructor(e){ci.forEach(n=>this[n]=e[n])}}let on="File format is not recognized",As="Encryption method not supported",Us="Compression method not supported",Ts="Split zip file",Ds="malformed extra field",Ws="wrapped entries count",Es="appended data",Ms="prepended data",cn="mismatched zip64 end of central directory record",li=/^[a-zA-Z]:/,Is="utf-8",Ls="cp437",ui=[[bs,_e],[Ss,_e],[zs,_e],[vs,Ae]],qs={[Ae]:{Pt:D,bytes:4},[_e]:{Pt:ke,bytes:8}},fi=dn(le.MAX_SAFE_INTEGER);class di{constructor(e,n){k.assign(this,{reader:e,options:n})}async getData(e,n,r,s={}){let a=this,i=vn(),{reader:o,index:c,offset:u,diskNumberStart:f,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,bitFlag:h,rawBitFlag:v,crc32:S,rawLastModDate:C,uncompressedSize:R,compressedSize:p}=a,{dataDescriptor:N}=h,U=n.localDirectory={},z=n.warnings=[],I=Et(o,f)+u,B=await ee(o,I,30),A=Z(B),b=J(a,s,"password"),F=J(a,s,"rawPassword"),W=J(a,s,"passThrough");if(((x,T)=>{if(x&&typeof x!=rr||T&&!(T instanceof H))throw new m("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(b,F),b=b&&b.length&&b,F=F&&F.length&&F,l&&l.originalCompressionMethod!=99)throw new m(Us);if(30>B.length||D(A,0)!=67324752)throw new m("Local file header not found");Ps(U,A,4);let{extraFieldLength:O,filenameLength:E}=U,ne=U.dataOffset=I+30+E+O,q=J(a,s,"checkLocalDirectory"),P=Gs(s,a.options),j=((x,T)=>x===g?T!=gt:!!x)(q,P),ae=((x,T)=>x===g?T==kt:!!x)(q,P),_=Ue;if(ae&&(E||O)){let x=await ee(o,I+30,E+O);_=x.subarray(0,E),U.rawExtraField=x.subarray(E)}else U.rawExtraField=O?await ee(o,I+30+E,O):Ue;ae&&(U.rawFilename=_),Hs(a,U,A,4,!0)&&Ve(z,Ds),((x,T,V,re,Q)=>{let{rawFilename:Se}=x,Re=!Q,ze=x.Bt&&!(8192&~T.rawBitFlag);!re||ze||V.length==Se.length&&!V.some((Xe,ve)=>Xe!=Se[ve])||$e(Re,Q,"mismatched local file header (filename)"),(2057&T.rawBitFlag)!=(2057&x.rawBitFlag)&&$e(Re,Q,"mismatched local file header (general purpose bit flag)"),T.compressionMethod!=x.compressionMethod&&$e(Re,Q,"mismatched local file header (compression method)"),T.bitFlag.dataDescriptor||ze||!(T.crc32||T.compressedSize||T.uncompressedSize)||T.crc32==x.crc32&&T.compressedSize==x.compressedSize&&T.uncompressedSize==x.uncompressedSize||$e(Re,Q,"mismatched local file header (crc32 or sizes)")})(a,U,_,ae,j?g:z);let{lastAccessDate:Y,creationDate:De,uid:Ze,gid:St}=U;Y&&(n.lastAccessDate=Y),De&&(n.creationDate=De),Ze!==g&&n.uid===g&&(n.uid=Ze),St!==g&&n.gid===g&&(n.gid=St);let me=a.encrypted&&U.encrypted&&!W,We=me&&!l;if(W||(n.zipCrypto=We),me&&!(64&~U.rawBitFlag))throw new m(As);let Ee=W?g:(x=>Sa.get(x))(w);if(w!=0&&w!=8&&w!=9&&!Ee&&!W)throw new m(Us);if(me){if(!We&&(1>l.strength||l.strength>3))throw new m(As);if(!b&&!F)throw new m("File contains encrypted entry")}if(ne+p>o.size)throw new m("Entry data out of bounds");let it=p,ot=At(o.createReadable({offset:ne,size:it})),nt=(x=>{if(x&&(typeof x.addEventListener!=Pe||typeof x.aborted!="boolean"))throw new m("Invalid signal (must be an AbortSignal instance)");return x||g})(J(a,s,"signal")),Je=J(a,s,"checkPasswordOnly"),zt=J(a,s,"checkOverlappingEntry"),je=J(a,s,"checkOverlappingEntryOnly");je&&(zt=!0);let{onstart:M,onprogress:y,onend:te}=s,K=w!=0&&!W,ue=W?p:R,de=w==9,ie=J(a,s,"useCompressionStream");de&&(ie=!1);let Me=J(a,s,"checkCrc32"),he=(Me===g?J(a,s,"checkSignature"):Me)&&!W&&(!me||We||l&&l.vendorVersion==1),ye={options:{codecType:Kr,password:b,rawPassword:F,zipCrypto:We,encryptionStrength:l&&l.strength,checkCrc32:he,checkAuthenticationCode:J(a,s,"checkAuthenticationCode"),passwordVerification:We&&(N?C>>>8&Xt:S>>>24&Xt),outputSize:ue,crc32:S,compressed:K,encrypted:me,useWebWorkers:J(a,s,"useWebWorkers"),useCompressionStream:ie,transferStreams:J(a,s,"transferStreams"),deflate64:de,format:Ee?Ee.format:g,codecURI:Ee?Ee.codecURI:g,compressionMethod:w,rawBitFlag:v,checkPasswordOnly:Je},config:i,gt:{signal:nt,size:it,onstart:M,onprogress:y,onend:te}},be,Ke;zt&&await(async({reader:x,Ht:T,index:V,offset:re,crc32:Q,compressedSize:Se,uncompressedSize:Re,dataOffset:ze,dataDescriptor:Xe,extraFieldZip64:ve,Vt:oe})=>{let Fe=0;if(Xe&&(Fe=ve?20:12),Fe){let ge=await ee(x,ze+Se,Fe+4),Le=Z(ge),qe=ge.length==Fe+4&&D(Le,0)==aa;if(qe){let Qe=js(Le,4,ve);(T.encrypted&&!T.zipCrypto||Qe.crc32==Q)&&Qe.compressedSize==Se&&Qe.uncompressedSize==Re?Fe+=4:qe=!1}if(ge.length>=Fe){let Qe=js(Le,qe?4:0,ve);Qe.signature=qe,T.localDirectory.dataDescriptor=Qe}}let Ie={start:re,end:ze+Se+Fe,Ht:T};for(let[ge,Le]of oe)if(ge!=V&&Ie.start<Le.end&&Le.start<Ie.end){let qe=new m("Overlapping entry found");throw qe.overlappingEntry=Le.Ht,qe}oe.set(V,Ie)})({reader:o,Ht:n,index:c,offset:I,crc32:S,compressedSize:p,uncompressedSize:R,dataOffset:ne,dataDescriptor:N||U.bitFlag.dataDescriptor,extraFieldZip64:d||U.extraFieldZip64,Vt:r});try{if(!je){Je&&(e=new ht),e=new ii(e),await Wt(e,((T,V,re)=>$.min(T,re?1032*V:V))(ue,p,K)),{writable:be}=e;let{outputSize:x}=await(async function(T,V){let{options:re,config:Q}=V,{transferStreams:Se,useWebWorkers:Re,useCompressionStream:ze,compressed:Xe,checkCrc32:ve,computeCrc32:oe,encrypted:Fe,format:Ie,codecURI:ge}=re,{workerURI:Le,createWorker:qe,maxWorkers:Qe}=Q;Ie&&(ge&&(re.codecURI=((fe,X)=>{try{return new _n(fe,X).toString()}catch{return fe}})(ge,Q.baseURI)),await(async(fe,X)=>{!Cn.has(fe)&&X&&((ct,ce)=>{let{CompressionStream:Ge,DecompressionStream:vt}=ce;if(typeof Ge!=Pe&&typeof vt!=Pe)throw new m("Invalid codec module");Cn.set(ct,{CompressionStream:Ge,DecompressionStream:vt})})(fe,await import(X))})(Ie,re.codecURI)),V.transferStreams=!Ie&&(Se||Se===g&&Q.transferStreams);let un=!(Xe||ve||oe||Fe),Xn=Ie===g||!!re.codecURI;return V.useWebWorkers=!un&&Xn&&(Re||Re===g&&Q.useWebWorkers),V.workerURI=V.useWebWorkers&&Le?Le:g,V.createWorker=V.useWebWorkers&&qe?qe:g,re.useCompressionStream=ze||ze===g&&Q.useCompressionStream,(await(async()=>{let fe=bt.find(X=>!X.bt);if(fe)return Yr(fe),new Qt(fe,T,V,Kt);if(bt.length<Qe){let X={Zt:Gr};return Gr++,bt.push(X),new Qt(X,T,V,Kt)}return new ft(X=>{Tt.push({resolve:X,stream:T,Ft:V}),en=Q.workerStarvationTimeout,tn()})})()).run();function Kt(fe){if(_r(),Tt.length){let[{resolve:X,stream:ct,Ft:ce}]=Tt.splice(0,1);X(new Qt(fe,ct,ce,Kt)),tn()}else fe.St?(Yr(fe),((X,ct)=>{let{config:ce}=ct,{terminateWorkerTimeout:Ge}=ce;le.isFinite(Ge)&&Ge>=0&&(X.Rt?X.Rt=!1:X.Ct=pn(async()=>{bt=bt.filter(vt=>vt!=X);try{await X.terminate()}catch{}},Ge))})(fe,V)):bt=bt.filter(X=>X!=fe)}})({readable:ot,writable:be},ye);if(e.size+=x,x!=ue)throw new m(Tn)}}catch(x){if(x.outputSize!==g&&(e.size+=x.outputSize),!Je||x.message!=An)throw Ke=x,x}finally{if(!(!(T=>!(!T||!T.getData))(e)&&J(a,s,"preventClose"))&&be&&!be.locked){let T=be.getWriter();if(Ke)try{await T.abort(Ke)}catch{}else await T.close()}}return Je||je?g:e.getData?e.getData():be}}function Vn(t){let e=$.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(D(t,n)==134630224)return!0;return!1}function Bs(t,e,n){let r=0;for(;n+46<=e.length&&D(t,n)==wt;)n+=46+L(t,n+28)+L(t,n+30)+L(t,n+32),r++;return r%65536?0:r}function Zn(t){if(t.length>=6){let e=Z(t);if(D(e,0)==84233040){let n=L(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function Ps(t,e,n){let r=t.rawBitFlag=L(e,n+2),s=!(1&~r),a=D(e,n+6);k.assign(t,{encrypted:s,version:L(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:a,lastModDate:wi(a),filenameLength:L(e,n+22),extraFieldLength:L(e,n+24)})}function Hs(t,e,n,r,s){let{rawExtraField:a}=e,i=e.extraField=new lt,o=Z(a),c=0,u=!1;try{for(;c<a.length;){let z=L(o,c),I=L(o,c+2);i.set(z,{type:z,data:a.slice(c+4,c+4+I)}),c+=4+I}}catch{u=!0}c>a.length&&(u=!0);let f=L(n,r+4);k.assign(e,{signature:D(n,r+10),crc32:D(n,r+10),compressedSize:D(n,r+14),uncompressedSize:D(n,r+18)});let l=i.get(1);l&&(((z,I)=>{I.zip64=!0;let B=Z(z.data),A=ui.filter(([F,W])=>I[F]==W),b=A.reduce((F,[,W])=>F+qs[W].bytes,0);if(z.data.length<b)throw new m("Zip64 extra field not found");for(let F=0,W=0;F<A.length;F++){let[O,E]=A[F],ne=qs[E];I[O]=z[O]=ne.Pt(B,W),W+=ne.bytes}})(l,e),e.extraFieldZip64=l);let d=i.get(28789);d&&(Ns(d,ps,gs,e,t),e.extraFieldUnicodePath=d);let w=i.get(25461);w&&(Ns(w,ms,ys,e,t),e.extraFieldUnicodeComment=w);let h=i.get(39169);h&&h.data.length>=7?(((z,I,B)=>{let A=Z(z.data),b=at(A,4);k.assign(z,{vendorVersion:at(A,0),vendorId:at(A,2),strength:b,originalCompressionMethod:B,compressionMethod:L(A,5)}),I.compressionMethod=z.compressionMethod,z.vendorVersion!=1&&(I.crc32=g)})(h,e,f),e.extraFieldAES=h):e.compressionMethod=f;let v=i.get(13);v&&(Os(v,e),e.extraFieldPkwareUnix=v);let S=i.get(22613);S&&(Os(S,e),e.extraFieldUnixType1=S);let C=i.get(10);C&&(((z,I)=>{let B=Z(z.data),A,b=4;try{for(;b<z.data.length&&!A;){let F=L(B,b),W=L(B,b+2);F==1&&(A=z.data.slice(b+4,b+4+W)),b+=4+W}}catch{}if(A&&A.length==24){let F=Z(A),W=F.getBigUint64(0,!0),O=F.getBigUint64(8,!0),E=F.getBigUint64(16,!0);k.assign(z,{rawLastModDate:W,rawLastAccessDate:O,rawCreationDate:E});let ne={lastModDate:Kn(W),lastAccessDate:Kn(O),creationDate:Kn(E)};k.assign(z,ne),k.assign(I,ne,{rawLastAccessDate:O,rawCreationDate:E})}})(C,e),e.extraFieldNTFS=C);let R=i.get(30805),p;if(R&&(p=Vs(R,e,!1),e.extraFieldUnix=R),!p){let z=i.get(30837);z&&(Vs(z,e,!0),e.extraFieldInfoZip=z)}let N=i.get(21589);N&&(((z,I,B)=>{if(!z.data.length)return;let A=Z(z.data),b=at(A,0),F=[],W=[];B?(1&~b||(F.push(Nn),W.push(On)),2&~b||(F.push(xs),W.push(ks)),4&~b||(F.push(Rs),W.push(Fs))):5>z.data.length||(F.push(Nn),W.push(On));let O=1;F.forEach((E,ne)=>{if(z.data.length>=O+4){let q=D(A,O);I[E]=z[E]=new xt(1e3*(0|q));let P=W[ne];z[P]=q}O+=4})})(N,e,s),e.extraFieldExtendedTimestamp=N);let U=i.get(6534);return U&&(e.extraFieldUSDZ=U),u}function Ns(t,e,n,r,s){if(5>t.data.length)return void(t.valid=!1);let a=Z(t.data),i=new Pt;i.append(s[n]);let o=Z(new H(4));o.setUint32(0,i.get(),!0);let c=D(a,1),u=at(a,0);k.assign(t,{version:u,[e]:nn(t.data.subarray(5)),valid:u==1&&!s.bitFlag.languageEncodingFlag&&c==D(o,0)}),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function Os(t,e){if(8>t.data.length)return;let n=Z(t.data),r={lastAccessDate:new xt(1e3*(0|D(n,0))),lastModDate:new xt(1e3*(0|D(n,4)))};12>t.data.length||(r.uid=L(n,8),r.gid=L(n,10)),k.assign(t,r),k.assign(e,r)}function Vs(t,e,n){try{let r=Z(t.data),s,a;if(n){let i=0,o=at(r,i++),c=at(r,i++);s=Zs(t.data.subarray(i,i+c)),i+=c;let u=at(r,i++);a=Zs(t.data.subarray(i,i+u)),k.assign(t,{version:o,uid:s,gid:a})}else 4>t.data.length||(s=L(r,0),a=L(r,2),k.assign(t,{uid:s,gid:a}));return s!==g&&(e.uid=s),a!==g&&(e.gid=a),s!==g||a!==g}catch{}}function Zs(t){let e=new H(4);return e.set(t,0),new ut(e.buffer,e.byteOffset,4).getUint32(0,!0)}function js(t,e,n){let r=D(t,e),s,a;return n?(s=ke(t,e+4),a=ke(t,e+12)):(s=D(t,e+4),a=D(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Et(t,e){return t.Lt?t.Lt(e):0}async function Ks(t){return D(Z(await ee(t,0,4)))}function Xs(t){return t===kt||t===bn||t===gt}function Gs(t,e){return _s(t,_s(e,bn))}function _s(t,e){let n=t.strictness;if(n!==g){if(!Xs(n))throw new m("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}let r=t.checkAmbiguity;return r===g?e:r?kt:e==gt?gt:bn}function hi(t,e){if(e==gt)return!1;let n=t.split("/");return n.length>1&&n[n.length-1]===""&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||li.test(t))||e==kt&&(n.includes(".")||n.includes(""))}async function*Ys(t,e){let n=t.size-e,r=await ee(t,n,e),s=Z(r);for(let a=r.length-Be;a>=0;a--)D(s,a)==101010256&&(yield[s,n,r,a,n+a])}function jn(t,e,n){return{offset:n,buffer:t.slice(e,e+Be).buffer}}async function $s(t,e,n,r,s,a,i){let o=L(e,r+10),c=D(e,r+12),u=D(e,r+16);if(o==Ae||c==_e||u==_e)return await Js(t,e,n,s-pt,a,i)==tr?2:0;if(!o&&!c)return 1;let f=L(e,r+6);for(let l of[s-c,Et(t,f)+u])if(await Js(t,e,n,l,a,i)==wt)return 2;return 0}async function Js(t,e,n,r,s,a){return 0>r||r+4>s?g:n>r?a.count>0?(a.count--,D(Z(await ee(t,r,4)),0)):g:D(e,r-n)}function $e(t,e,n){t?ln(n):Ve(e,n)}function Ve(t,e,n){if(!t.some(r=>r.reason==e)){let r={reason:e};n!==g&&(r.filename=n),t.push(r)}}function ln(t){let e=new m("Ambiguous archive");throw e.reason=t,e}function J(t,e,n){return e[n]===g?t.options[n]:e[n]}function Qs(t,e,n){return sr(J(t,e,n))}function wi(t){let e=(4294901760&t)>>16,n=t&Ae,r=new xt(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return nr>r?nr:r}function Kn(t){return new xt(le(t/dn(1e4)-dn(116444736e5)))}function at(t,e){return t.getUint8(e)}function L(t,e){return t.getUint16(e,!0)}function D(t,e){return t.getUint32(e,!0)}function ke(t,e){let n=t.getBigUint64(e,!0);if(n>fi)throw new m("64-bit value exceeds Number.MAX_SAFE_INTEGER");return le(n)}(t=>{let e=fr(dr(t));k.assign(ir,e),k.assign(zn,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends ba{constructor(t){(e=>{if(e!="deflate-raw")throw new TypeError("Unsupported compression format: "+e)})(t),super(new ma)}}}),xe.BlobReader=Ln,xe.BlobWriter=rs,xe.Data64URIWriter=class extends ei{constructor(t){super(),k.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){let e=this,n,r=e.qt,s=e.qt.length;for(e.qt="",n=0;n<3*$.floor((s+t.length)/3)-s;n++)r+=Gn.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=Gn.fromCharCode(t[n]);r.length>2?e.data+=$n(r):e.qt=r+e.qt}getData(){return this.data+$n(this.qt)}},xe.HttpRangeReader=class extends ri{constructor(t,e={}){super(t,k.assign({},e,{useRangeHeader:!0}))}},xe.TextWriter=class extends rs{constructor(t){super(),k.assign(this,{encoding:t,Nt:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((r,s)=>$r(r,s,!1))(new H(await n.arrayBuffer()),t)}},xe.ZipReader=class{constructor(t,e={}){k.assign(this,{reader:new ws(t),options:e,Vt:new lt})}async*getEntriesGenerator(t={}){let e=this,{reader:n}=e;if(await Wt(n),n.size!==g&&n.readUint8Array||(n=new Ln(await Jt(n.readable)),await Wt(n)),n.size<Be)throw new m(on);let r=e.warnings=[],s=Gs(t,e.options),a=s==kt,i=s!=gt,o=((M,y)=>{if(M!==g){let te=Sn(M);if(typeof te!="number"||le.isNaN(te)||0>te)throw new m("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return te}return y==kt?0:y==gt?1/0:Ae})(J(e,t,"maxAppendedDataSize"),s),c=((M,y)=>{if(M===g)return y;if(!Xs(M))throw new m("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return M})(J(e,t,"filenameValidation"),s),u=J(e,t,"normalizeFilename"),{_t:f,jt:l}=await(async(M,y,te)=>{let{size:K}=M,ue=$.min(K,65557),de={count:64},ie,Me,he=0;for await(let[ye,be,Ke,x,T]of Ys(M,ue)){let V=L(ye,x+20);if(T+Be+V==K){let re=await $s(M,ye,be,x,T,K,de);if(re==2){if(ie||(ie=jn(Ke,x,T)),he++,!y||he>1)break}else re!=1||Me||(Me=jn(Ke,x,T))}}return ie||(ie=Me),ie||(ie=await(async(ye,be,Ke)=>{let{size:x}=ye,T=$.min(x,be==1/0?x:65557+be),V,re;for await(let[Q,Se,Re,ze,Xe]of Ys(ye,T)){let ve=jn(Re,ze,Xe);V||(V=ve);let oe=await $s(ye,Q,Se,ze,Xe,x,Ke);if(oe==2)return ve;oe!=1||re||(re=ve)}return re||V})(M,te,de)),{_t:ie,jt:he}})(n,i,o);if(!f)throw await(async M=>await Ks(M)==mn)(n)?new m(Ts):new m("End of central directory not found");i&&l>1&&ln("multiple end of central directory records");let d=Z(f),w=D(d,12),h=D(d,16),v=f.offset,S=L(d,20),C=v+Be+S,R=n.size-C;R>o&&ln(Es),R>0&&Ve(r,Es);let p=L(d,4),N=n.Mt||0,U,z,I,B,A=L(d,6),b=L(d,10),F=0,W=rt,O=h==_e||w==_e||b==Ae||A==Ae;if(h!=_e&&A!=Ae&&(h+=Et(n,A)),O){let M=f.offset<pt?Ue:await ee(n,f.offset-pt,pt),y=Z(M);if(M.length==pt&&D(y,0)==tr){h=Et(n,D(y,4))+ke(y,8);let te=await ee(n,h,rt),K=Z(te),ue=f.offset-pt-rt;if((te.length<rt||D(K,0)!=er)&&h!=ue&&ue>=0){let de=h;h=ue,h>de&&(F=h-de),te=await ee(n,h,rt),K=Z(te)}if(te.length<rt||D(K,0)!=er)throw new m("End of Zip64 central directory locator not found");if(z=!0,I=ke(K,4)>44,I){let de=$.min(ke(K,4)-44,n.size-h-rt);de>0&&(W+=de,B=(ie=>{let Me={rawExtensibleData:ie};if(ie.length>=28){let he=Z(ie),ye=L(he,26);k.assign(Me,{compressionMethod:L(he,0),compressedSize:ke(he,2),uncompressedSize:ke(he,10),encryptionAlgorithm:L(he,18),bitLength:L(he,20),flags:L(he,22),hashAlgorithm:L(he,24),hashData:ie.subarray(28,28+ye)})}return Me})(await ee(n,h+rt,de)))}p==Ae?p=D(K,16):p!=D(K,16)&&$e(a,r,cn),A==Ae?A=D(K,20):A!=D(K,20)&&$e(a,r,cn),b==Ae?b=ke(K,32):b!=ke(K,32)&&$e(a,r,cn),w==_e?w=ke(K,40):w!=ke(K,40)&&$e(a,r,cn),h=Et(n,A)+ke(K,48)+F}}let E=w,ne=f.offset-(z?W+pt:0);if(h<n.size||(F=n.size-h-w-Be,h=n.size-w-Be),N!=p)throw new m(Ts);if(0>h)throw new m(on);let q=0,P=await ee(n,h,w),j=Z(P);if(w){if(4>P.length)throw new m(on);let M=ne-w;if(h!=M&&A==p){let y=!(D(j,q)==wt||B&&B.compressedSize||Vn(j));if(y||0>M||M+4>n.size||(y=D(Z(await ee(n,M,4)),0)==wt),y){let te=h;h=M,h>te&&(F+=h-te),P=await ee(n,h,w),j=Z(P)}}}let ae=ne-h;if(w==ae||0>ae||A!=p||(w=ae,P=await ee(n,h,w),j=Z(P)),0>h||h>=n.size)throw new m(on);e.directoryOffset=h,e.directoryLength=E;let _=Qs(e,t,"decryptCentralDirectory"),Y,De;if(_&&b&&P.length>=4&&D(j,0)!=wt&&(I||Vn(j))){let M=((y,te,K)=>{let ue=y&&y.compressedSize?y.compressedSize:te;return ue>0&&K>=ue?ue:K})(B,E,P.length);De=P.subarray(M),P=await _(P.subarray(0,M),B),j=Z(P),E=P.length,Y=!0}!B||Y||P.length>=4&&D(j,0)!=wt||Ve(r,"unknown zip64 extensible data"),U=h;let Ze=J(e,t,"filenameEncoding"),St=J(e,t,"commentEncoding"),me=new ta,We,Ee=-1,it=!a&&!z;!b&&it&&(b=Bs(j,P,q),b&&Ve(r,Ws));for(let M=0;b>M;M++){let y=new di(n,e.options);if(q+46>P.length||D(j,q)!=wt)throw M==0&&!Y&&(I||Vn(j))?new m("Encrypted central directory is not supported"):new m("Central directory header not found");Ps(y,j,q+6);let te=!!y.bitFlag.languageEncodingFlag,K=q+46,ue=K+y.filenameLength,de=ue+y.extraFieldLength,ie=L(j,q+4),Me=!(ie>>8),he=ie>>8==3,ye=P.subarray(K,ue),be=L(j,q+32),Ke=de+be,x=P.subarray(de,Ke),T=te,V=te,re=D(j,q+38),Q=re&Xt,Se={readOnly:!!(1&Q),hidden:!!(2&Q),system:!!(4&Q),directory:!!(16&Q),archive:!!(32&Q)},Re=D(j,q+42),ze=Qs(e,t,"decodeText")||nn,Xe=T?Is:Ze||Ls,ve=V?Is:St||Ls,oe=ze(ye,Xe,"filename");if(oe===g&&(oe=nn(ye,Xe)),u){let ce=u(oe);ce!==g&&(oe=ce)}if(hi(oe,c)){let ce=new m("Unsafe filename");throw ce.filename=oe,ce}let Fe=ze(x,ve,"comment");Fe===g&&(Fe=nn(x,ve)),k.assign(y,{index:M,Bt:Y,versionMadeBy:ie,msDosCompatible:Me,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:be,offset:Re,diskNumberStart:L(j,q+34),internalFileAttributes:L(j,q+36),externalFileAttributes:re,msdosAttributesRaw:Q,msdosAttributes:Se,rawFilename:ye,filenameUTF8:T,commentUTF8:V,rawExtraField:P.subarray(ue,de),rawComment:x,filename:oe,comment:Fe}),Hs(y,y,j,q+6)&&Ve(r,Ds,oe),y.offset+=F;let Ie=Et(n,y.diskNumberStart)+y.offset;U=$.min(Ie,U),Ee>Ie&&Ve(r,"unsorted central directory",oe),Ee=Ie,(y.version&Xt)>63&&Ve(r,"unknown version needed to extract",oe),32&~y.rawBitFlag||Ve(r,"compressed patched data",oe),me.has(y.filename)&&(We=!0),me.add(y.filename);let ge=y.externalFileAttributes>>16&Ae;y.unixMode===g&&16877&ge&&(y.unixMode=ge);let Le=!!(2048&y.unixMode),qe=!!(1024&y.unixMode),Qe=!!(512&y.unixMode),un=((y.unixMode===g?ge:y.unixMode)&yn)==40960,Xn=!un&&(y.unixMode!==g?!!(73&y.unixMode):he&&!!(73&ge)),Kt=y.unixMode!==g&&(y.unixMode&yn)==16384,fe=(ge&yn)==16384;k.assign(y,{setuid:Le,setgid:qe,sticky:Qe,symlink:un,unixExternalUpper:ge,internalFileAttribute:y.internalFileAttributes,externalFileAttribute:y.externalFileAttributes,executable:Xn,directory:Kt||fe||Me&&Se.directory||y.filename.endsWith("/"),zipCrypto:y.encrypted&&!y.extraFieldAES});let X=new Cs(y);if(X.getData=(ce,Ge)=>y.getData(ce,X,e.Vt,Ge),X.arrayBuffer=async ce=>{let Ge=new se,vt=Jt(Ge.readable).then(pi=>pi.arrayBuffer());return vt.catch(()=>{}),await y.getData(Ge,X,e.Vt,ce),vt},q=Ke,M==b-1&&it){let ce=Bs(j,P,q);ce&&(b+=ce,Ve(r,Ws))}let{onprogress:ct}=t;if(ct)try{await ct(M+1,b,new Cs(y))}catch{}yield X}let ot=q,nt=Zn(P.subarray(q))||(Y?Zn(De):g);if(!nt&&!Y){let M=h+q,y=$.min(ne-M,65541);6>y||(nt=Zn(await ee(n,M,y)))}nt&&(e.digitalSignature=nt,ot=q+6+nt.length),(q!=E&&ot!=E||!Y&&q!=w&&ot!=w)&&$e(a,r,"trailing central directory data"),We&&$e(a,r,"duplicate filename");let Je=J(e,t,"extractPrependedData"),zt=J(e,t,"extractAppendedData"),je=(a||Je)&&b&&U==4&&await(async M=>{let y=await Ks(M);return y==mn||y==808471376})(n)?4:0;return a&&(F||b&&U>je)&&ln(Ms),(F||b&&U>4)&&Ve(r,Ms),Je&&(e.prependedData=U>je?await ee(n,je,U-je):Ue),e.comment=S?await ee(n,v+Be,S):Ue,zt&&(e.appendedData=C<n.size?await ee(n,C,n.size-C):Ue),!0}async getEntries(t={}){let e=[];for await(let n of this.getEntriesGenerator(t))e.push(n);return e}async close(){let{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}},xe.configure=t=>{k.assign(zn,fr(dr(t)))},xe.inflateRaw=(t,e)=>br(t,{i:2},e&&e.Gt,e&&e.m)})});return mi();})();
|
|
6
|
+
document.currentScript.remove();globalThis.bootstrap=(()=>{let bootstrapStarted;return async content=>{if (bootstrapStarted) return bootstrapStarted; bootstrapStarted = (async function pf(t,{extract:e,display:n}){let r="pages/",s="sfz-",i="sfz-pages.json",a="sfz-toc.html",o="#sfz/",c="?toc",l="data-sfz-target",u=/:target(?![\w-])/g,f="data-sfz-visited",d=/:visited(?![\w-])/g,_="#551a8b",h="data-sfz-unarchived",E="a["+h+']::after{content:" \\2197";font-size:.75em;opacity:.7}',m="Not saved in this archive",A=["http:","https:"],p=100,{zip:g,document:T,location:y,history:N,CSS:D,URL:P,setTimeout:x,clearTimeout:M}=globalThis,B=new Map,k=new Map,V=new Map,b=new Set,C=Math.random().toString(36).substring(2),U,O,L,F,q=0;try{N.scrollRestoration="manual"}catch{}g.configure({useWebWorkers:!0});let j=await new g.ZipReader(t.readUint8Array?t:new g.BlobReader(t)).getEntries(),ce=j.find(R=>R.filename==i);if(!ce)throw new Error("Pages data not found");let ie=JSON.parse(await ce.getData(new g.TextWriter)),$=j.find(R=>R.filename==a),{pages:he}=ie,le=ie.pageTransitions||"auto",Ae=new Map(Object.entries(ie.aliases||{}));return he.forEach(R=>{k.set(Oe(R.url),R.path),R.originalUrls&&R.originalUrls.forEach(I=>k.set(Oe(I),R.path))}),De(),O=Vt(),O===null&&(O=Ze()),se(!0);function De(){globalThis.addEventListener("click",Q,!0),globalThis.addEventListener("auxclick",Q,!0),globalThis.addEventListener("mouseover",Yt,!0),globalThis.addEventListener("hashchange",Ee)}function Ee(){pe().catch(R=>globalThis.console.error(R))}function Q(R){if(R.type=="auxclick"&&R.button!=1)return;let I=Le(R.target);if(I&&I.href){let z=ar(I.href);if(z&&z.startsWith(o)&&Oe(I.href)==Oe(y.href))return;let ne=k.get(Oe(I.href));if(ne===void 0&&z&&Oe(I.href)==Oe(y.href)&&(ne=U),ne!==void 0)if(R.preventDefault(),R.type=="auxclick"||R.metaKey||R.ctrlKey||R.shiftKey||R.altKey)globalThis.open(Oe(y.href)+o+ne+(z||""));else{let ae=y.hash;y.hash=o+ne+(z||""),y.hash==ae&&z&&(xt(),ke(z))}}}async function pe(){xt(),V.set(O,nn());let R=$e(),I=Vt(),{routed:z,path:ne,fragment:ae}=ee();z&&ne!=U&&H(ne)&&T.startViewTransition&&ot()&&!ct()?await T.startViewTransition(ve).updateCallbackDone:await ve();async function ve(){let Pt=await se();Pt&&es(),rn(Pt)}function rn(Pt){if(I!==null){O=I;let sn=V.get(I);if(sn&&(bt(sn.elements),globalThis.scrollTo(sn.x,sn.y)),ae){let aa=Ke(ae);aa&&Xt(aa)}}else O=Ze(),Pt&&bt(R),ae?ke(ae):Pt&&globalThis.scrollTo(0,0)}}async function se(R){let{routed:I,path:z,fragment:ne}=ee();if(!I&&!R||z==U||!H(z))return!1;let ae=await ye(z);return U=z,await n(T,ae,{inPlace:!0}),De(),z==c&&We(),b.add(z),Ue(),ie.markUnarchivedLinks&&Ft(),R&&(ne?ke(ne):!I&&y.hash&&ke(y.hash)),!0}function ee(){let R=y.hash,I=!R||R.startsWith(o),z=he[0].path,ne;return I&&R&&({path:z,fragment:ne}=fe(R)),{routed:I,path:z,fragment:ne}}function fe(R){let I=R.substring(o.length),z=I.indexOf("#");return{path:decodeURIComponent(z==-1?I:I.substring(0,z)),fragment:z==-1?void 0:I.substring(z)}}function H(R){return R==c?!!$:!!he.find(I=>I.path==R)}function ye(R){if(!B.has(R)){let I=de(R);I.catch(()=>B.delete(R)),B.set(R,I)}return B.get(R)}async function de(R){if(R==c)return $.getData(new g.TextWriter);let I=j.filter(ne=>be(ne.filename,R)&&!Ae.has(ne.filename)).concat(He(R)),{docContent:z}=await e(null,{entries:I,pagePath:R});return z}function He(R){return Array.from(Ae).filter(([I])=>be(I,R)).map(([I,z])=>{let ne=j.find(ae=>ae.filename==z);return ne&&{filename:I,comment:ne.comment,encrypted:ne.encrypted,uncompressedSize:ne.uncompressedSize,getData:(ae,Je)=>ne.getData(ae,Je)}}).filter(Boolean)}function be(R,I){return I==""?!R.startsWith(r)&&!R.startsWith(s):R.startsWith(I)}function We(){let R=new Map;he.forEach(I=>R.set(new P(I.path+"index.html",Oe(y.href)).href,I.path)),T.querySelectorAll("a[href]").forEach(I=>{let z=ar(I.href),ne=R.get(Oe(I.href));ne!==void 0&&I.setAttribute("href",o+ne+(z||""))})}function wt(R){let I=ar(R);return I&&I.startsWith(o)&&Oe(R)==Oe(y.href)?fe(I).path:k.get(Oe(R))}function Yt(R){let I=Le(R.target);if(I&&I.href){let z=wt(I.href);z!==void 0&&z!=U&&!B.has(z)&&(M(F),F=x(()=>ye(z).catch(()=>{}),p))}}function Le(R){for(;R&&R.tagName!="A";)R=R.parentNode;return R}function ot(){return le=="fade"?!0:le=="none"?!1:Array.from(T.styleSheets).some(R=>{try{return Se(R.cssRules)}catch{return!1}})}function Se(R){return Array.from(R).some(I=>I.navigation=="auto"||I.cssRules&&I.cssRules.length&&Se(I.cssRules))}function ct(){return!!(globalThis.matchMedia&&globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches)}function Vt(){let R=N.state;return R&&R.sfzSession==C&&typeof R.sfzEntry=="number"?R.sfzEntry:null}function Ze(){let R=q++;try{N.replaceState({sfzSession:C,sfzEntry:R},"")}catch{}return R}function nn(){return{x:globalThis.scrollX,y:globalThis.scrollY,elements:$e()}}function $e(){let R=[];return T.querySelectorAll("*").forEach(I=>{if(I.scrollTop||I.scrollLeft){let z=Ot(I);z&&R.push({path:z,top:I.scrollTop,left:I.scrollLeft})}}),R}function bt(R){R.forEach(({path:I,top:z,left:ne})=>{let ae;try{ae=T.querySelector(I)}catch{}ae&&(ae.scrollTop=z,ae.scrollLeft=ne)})}function Ot(R){let I=[];for(;R&&R.parentElement;){if(R.id&&D)return I.unshift("#"+D.escape(R.id)),I.join(">");let z=R.parentElement;I.unshift(R.tagName+":nth-child("+(Array.from(z.children).indexOf(R)+1)+")"),R=z}return I.join(">")}function ke(R){let I=Ke(R);I&&(Xt(I),I.scrollIntoView())}function Ke(R){let I=decodeURIComponent(R.substring(1)),z=T.getElementById(I);return!z&&D&&(z=T.querySelector("a[name="+D.escape(I)+"]")),z}function Xt(R){let I=Fe(u,l);I&&(R.setAttribute(l,""),L=T.createElement("style"),L.textContent=I,T.head.appendChild(L))}function Ue(){let R=T.createElement("style");R.textContent="a["+f+"]{color:"+_+"}"+Fe(d,f),T.head.appendChild(R),T.querySelectorAll("a[href]").forEach(I=>{let z=wt(I.href);z!==void 0&&b.has(z)&&I.setAttribute(f,"")})}function Ft(){let R=T.createElement("style");R.textContent=E,T.head.appendChild(R),T.querySelectorAll("a[href]").forEach(I=>{A.includes(I.protocol)&&k.get(Oe(I.href))===void 0&&Oe(I.href)!=Oe(y.href)&&(I.setAttribute(h,""),I.hasAttribute("title")||I.setAttribute("title",m))})}function xt(){if(L){let R=T.querySelector("["+l+"]");R&&R.removeAttribute(l),L.remove(),L=void 0}}function Fe(R,I){let z="";return Array.from(T.styleSheets).forEach(ne=>{try{z+=ir(ne.cssRules,R,I)}catch{}}),z}function ir(R,I,z){let ne="";return Array.from(R).forEach(ae=>{if(ae.cssRules&&ae.cssRules.length){let Je=ir(ae.cssRules,I,z);Je&&(ne+=ae.cssText.substring(0,ae.cssText.indexOf("{")+1)+Je+"}")}else if(ae.selectorText){let Je=ae.selectorText.replace(I,"["+z+"]");Je!=ae.selectorText&&(ne+=Je+"{"+ae.style.cssText+"}")}}),ne}function es(){let R=T.querySelector("h1")||T.body;R&&(R.setAttribute("tabindex","-1"),R.focus({preventScroll:!0}))}function Oe(R){let I=R.indexOf("#");return I==-1?R:R.substring(0,I)}function ar(R){let I=R.indexOf("#");return I==-1?void 0:R.substring(I)}})(content,{extract:async function ji(t,{password:e,prompt:n=()=>{},zipOptions:r={useWebWorkers:!0},noBlobURL:s,entries:i,pagePath:a=""}={}){let o={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},c=/stylesheet_[0-9]+\.css/,l=/scripts\/[0-9]+\.js/,u=/^([0-9_]+\/)?index\.html$/,f=/index\.html$/,d=/frames\//,_=/^frames\/\d+\/index.html/,h=/manifest\.json$/,E=";charset=utf-8",m=/([{}()^$&.*?/+|[\\\\]|\]|-)/g,A;if(zip.configure(r),!i){let b;t.readUint8Array?b=t:(Array.isArray(t)&&(t=new Blob([new Uint8Array(t)])),b=new zip.BlobReader(t)),A=new zip.ZipReader(b),i=await A.getEntries()}a&&(i=i.filter(b=>b.filename.startsWith(a)));let p={password:e},g,T,y,N=[],D=[],P=[];await Promise.all(i.map(async b=>{let C=b.filename.substring(a.length),U,O,L,F,q={};if(!p.password&&b.encrypted&&(p.password=n("Please enter the password to view the page")),C.match(f)||C.match(c)||C.match(l))C.match(f)?D.push(q):P.push(q),U=new zip.TextWriter,b.uncompressedSize>0?L=await b.getData(U,p):L="",C.match(f)?F="text/html"+E:C.match(c)?F="text/css"+E:C.match(l)&&(F="text/javascript"+E);else{N.push(q);let ie=C.match(/\.([^.]+)/);if(ie&&ie[1]&&o[ie[1]]?F=o[ie[1]]:F="application/octet-stream",C.match(d)||s)O=await b.getData(new zip.Data64URIWriter(F),p);else{let $=await b.getData(new zip.BlobWriter(F),p);O=URL.createObjectURL($)}}let G=C.match(/^([0-9_]+\/)?(.*)$/)[2],j="",ce=C.match(/(.*\/)[^/]+$/);ce&&ce[1]&&(j=ce[1]),Object.assign(q,{prefixPath:j,filename:C,name:G,url:b.comment,content:O,mimeType:F,textContent:L,parentResources:[]})})),A&&await A.close(),D.sort(k),P.sort(V),N=N.sort(k).concat(...P).concat(...D);for(let b of N){let{filename:C,prefixPath:U}=b,{textContent:O}=b;O!==void 0&&(C.match(u)&&(T=O),C.match(l)||(N.forEach(L=>{let{filename:F,parentResources:q,content:G}=L;if(F.startsWith(U)&&F!=b.filename){let j=F.substring(U.length);j.match(h)||O.includes(j)&&(q.push(b.filename),L.textContent===void 0&&(O=B(O,j,G)))}}),b.textContent=O))}for(let b of N){let{textContent:C,prefixPath:U,filename:O}=b;if(C!==void 0){if(!O.match(l)){let L=O;for(let F of N){let{filename:q}=F;if(q.startsWith(U)&&q!=L){let G=q.substring(U.length);G.match(h)||C.indexOf(G)!=-1&&(F.content=await x(F),C=B(C,G,F.content))}}b.textContent=C,b.content=await x(b)}O.match(u)&&(g=C,y=b.url)}}return{docContent:g,origDocContent:T,resources:N,url:y};async function x(b){return b.filename.match(d)&&!b.filename.match(_)||s?await M(b.textContent,b.mimeType):URL.createObjectURL(new Blob([b.textContent],{type:b.mimeType}))}async function M(b,C){let U=new Blob([b],{type:C}),O=new Uint8Array(await U.arrayBuffer()),L="";for(let F=0;F<O.length;F+=8192)L+=String.fromCharCode(...O.subarray(F,F+8192));return("data:"+(U.type||"application/octet-stream")+";base64,"+btoa(L)).replace(E,"")}function B(b,C,U){if(typeof b.replaceAll=="function")return b.replaceAll(C,U);{let O=new RegExp(C.replace(m,"\\$1"),"g");return b.replace(O,U)}}function k(b,C){let U=C.filename.length-b.filename.length;return U||C.filename.localeCompare(b.filename)}function V(b,C){let U=b.filename.length-C.filename.length;return U||b.filename.localeCompare(C.filename)}},display:async function $i(t,e,{disableFramePointerEvents:n,inPlace:r}={}){e=e.replace(/<noscript/gi,"<template disabled-noscript"),e=e.replace(/<\/noscript/gi,"</template");let s=new DOMParser().parseFromString(e,"text/html");if(n&&s.querySelectorAll("iframe").forEach(a=>{let o="pointer-events";a.style.setProperty("-sf-"+o,a.style.getPropertyValue(o),a.style.getPropertyPriority(o)),a.style.setProperty(o,"none","important")}),r&&s.compatMode==t.compatMode&&!s.querySelector("script")){await Promise.all(Array.from(s.querySelectorAll("link[rel~=stylesheet][href]")).map(c=>new Promise(l=>{let u=t.createElement("link");u.rel="preload",u.as="style",u.href=c.getAttribute("href"),u.onload=l,u.onerror=l,t.head.appendChild(u),setTimeout(l,500)})));let a=t.documentElement,o=t.adoptNode(s.documentElement);for(;a.attributes.length;)a.removeAttribute(a.attributes[0].name);if(Array.from(o.attributes).forEach(c=>a.setAttribute(c.name,c.value)),a.replaceChildren(...o.childNodes),t.querySelector("link[rel~=stylesheet][href]")){let c=t.createElement("style");c.textContent="html{visibility:hidden}",t.head.appendChild(c);let l=Date.now();for(;Date.now()-l<500&&Array.from(t.querySelectorAll("link[rel~=stylesheet][href]")).some(u=>!u.sheet);)await new Promise(u=>setTimeout(u,10));c.remove()}}else t.open(),t.write(i(s)),t.write(s.documentElement.outerHTML),t.close();t.querySelectorAll("template[disabled-noscript]").forEach(a=>{let o=t.createElement("noscript");a.removeAttribute("disabled-noscript"),Array.from(a.attributes).forEach(c=>o.setAttribute(c.name,c.value)),o.textContent=a.innerHTML,a.parentElement.replaceChild(o,a)}),t.documentElement.setAttribute("data-sfz",""),t.querySelectorAll("link[rel*=icon]").forEach(a=>a.replaceWith(a.cloneNode(!0)));function i(a){let o=a.doctype,c="";return o&&(c="<!DOCTYPE "+o.nodeName,o.publicId?(c+=' PUBLIC "'+o.publicId+'"',o.systemId&&(c+=' "'+o.systemId+'"')):o.systemId&&(c+=' SYSTEM "'+o.systemId+'"'),o.internalSubset&&(c+=" ["+o.internalSubset+"]"),c+="> "),c}}});return bootstrapStarted;}})();(async function H_(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",{Blob:e,XMLHttpRequest:n,document:r,zip:s,location:i}=globalThis,a=new Map([[65533,0],[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),o=new Uint32Array(256).map((d,_)=>{let h=_;for(let E=0;E<8;E++)h=h&1?3988292384^h>>>1:h>>>1;return h});return new Promise((d,_)=>{let h=!1;i.protocol=="file:"?E():m();async function E(){try{await c(r),r.body.querySelectorAll("meta, style").forEach(p=>r.head.appendChild(p));let A=u();l("sfz-wait-message",2),d(A)}catch(A){console.error(A),l("sfz-error-message",2),_(A)}}function m(){let A=new n;A.responseType="blob",A.open("GET",""),A.onerror=()=>{h?(l("sfz-error-message",2),_()):E()},A.send(),A.onreadystatechange=()=>{if(A.readyState===2&&A.status===200&&!h){h=!0;let p=A.getResponseHeader("Accept-Ranges")==="bytes";A.abort(),l("sfz-wait-message",2),p?d(new s.HttpRangeReader(i.href,{useXHR:!0,combineSizeEocd:!0})):m()}},h&&(A.onload=()=>d(A.response))}});function c(d){return new Promise(_=>{d.readyState==="complete"||d.readyState==="interactive"?_():d.addEventListener("DOMContentLoaded",()=>_())})}function l(d,_=0){let h=r.getElementById(d);h&&(Array.from(r.body.childNodes).forEach(E=>{E.id!=d&&(E.id=="sfz-wait-message"||E.id=="sfz-error-message"?E.hidden=!0:E.remove())}),h.hidden=!1,r.body.hidden=!1,h.style="opacity: 0; animation: 0s linear "+_+"s display-wait-message 1 normal forwards")}function u(){let d=r.querySelector("sfz-extra-data");if(d){let P=function(x){g[y]=x,D=D>>>8^o[(D^x)&255],y++},_=d.nextSibling;_&&_.nodeType==Node.TEXT_NODE&&_.nextSibling?_=_.nextSibling:_=d.previousSibling;let h=s.inflateRaw(f(d.textContent)),E=new Uint32Array(h.buffer,h.byteOffset,h.length>>2),m=E[0],A=E[1],p=E[2],g=new Uint8Array(A),{textContent:T}=_,y=0,N=0,D=-1;for(let x=0;x<T.length;x++){let M=T.charCodeAt(x);if(M==10){let B=E[3+(N>>4)]>>>(N&15)*2&3;N++,B==0?P(10):(P(13),B==2&&P(10))}else P(M>255?a.get(M):M)}if(D=(D^-1)>>>0,y!=A||N!=p||D!=m)throw new Error("Invalid checksum of the extracted zip data");return new e([g],{type:"application/octet-stream"})}throw new Error("Extra zip data data not found")}function f(d){d=String(d).replace(/[^A-Za-z0-9+/=]/g,"");let _=d.length,h=[];for(let E=0;E<_;E+=4){let m=t.indexOf(d[E]),A=t.indexOf(d[E+1]),p=t.indexOf(d[E+2]),g=t.indexOf(d[E+3]),T=m<<18|A<<12|(p&63)<<6|g&63;h.push(T>>16&255),d[E+2]!=="="&&h.push(T>>8&255),d[E+3]!=="="&&h.push(T&255)}return new Uint8Array(h)}})().then(globalThis.bootstrap).then(() => document.dispatchEvent(new CustomEvent("single-file-display-infobar"))).catch(error => {console.error(error);const waitMessage = document.getElementById("sfz-wait-message");if (waitMessage) { waitMessage.remove(); }const errorMessage = document.getElementById("sfz-error-message");if (errorMessage) { errorMessage.hidden = false; document.body.hidden = false; }});</script><!--PK�v]��ˈ�p
|
|
7
|
+
index.htmlUT3�j�SMo1��x�% ��d�G�z-��pB�h.���}�6<ۋ��(�eP@����fF����������-v$AL�8+��Հ��#v��l�����%�r���T�Ȅ������
|
|
8
|
+
���S�
|
|
9
|
+
�0�O���o�9�>���R�.&����"�{ќ��|�$�y��Q�ӓP L�*
|
|
10
|
+
r�&�8�뭮�n4�@��;v��
|
|
11
|
+
�0F�>[h&�I�mh�_Ɣ*����|p,�y�6S8��{᠋�ȕ�/ښ���h橧��"ChT�-�y�,ZC!�Î�nxfeD\?v-�2o�N�cj�PK
|
|
12
|
+
�v]�X�"" images/1.pngUT3�j�PNG
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
�� � � � � � � � � � � � � � � �f��``���f��#@�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|���'�AB��%F�IR�ɐ%G�EJ��P�F�MZ��ХG�CF��0eƜKV�ٰeǞGN��p�ƝO^����� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
16
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|C��� &B�q$I�&C�y
|
|
17
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|#��� &B�q$I�&C�y
|
|
18
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|c��� &B�q$I�&C�y
|
|
19
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�H @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
20
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�H @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|S��� &B�q$I�&C�y
|
|
21
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|3��� &B�q$I�&C�y
|
|
22
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|s��� &B�q$I�&C�y
|
|
23
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���7�( @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
24
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�( @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|K��� &B�q$I�&C�y
|
|
25
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|+��� &B�q$I�&C�y
|
|
26
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|k��� &B�q$I�&C�y
|
|
27
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�h @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
28
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�h @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|[��� &B�q$I�&C�y
|
|
29
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|;��� &B�q$I�&C�y
|
|
30
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|{��� &B�q$I�&C�y
|
|
31
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��÷� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
32
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|G��� &B�q$I�&C�y
|
|
33
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|'��� &B�q$I�&C�y
|
|
34
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|g��� &B�q$I�&C�y
|
|
35
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�X @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
36
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�X @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|W��� &B�q$I�&C�y
|
|
37
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|7��� &B�q$I�&C�y
|
|
38
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�� @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|w��� &B�q$I�&C�y
|
|
39
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y���w�8 @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
40
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y�����8 @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|O��� &B�q$I�&C�y
|
|
41
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y������ @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|/��� &B�q$I�&C�y
|
|
42
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y������ @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|o��� &B�q$I�&C�y
|
|
43
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y�����x @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|��� &B�q$I�&C�y
|
|
44
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y�����x @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|_��� &B�q$I�&C�y
|
|
45
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y������ @�a"D�'A�i2dɑ�@�e*T�Q�A�m:t��g��c&L�1g��k6lٱ���g.\�q���o>|?��� &B�q$I�&C�y
|
|
46
|
+
)Q�B�u4iѦC�}1fs,Y�fÖ{9q�w<y��×��9�h�2��IEND�B`�PK�v]�g��H pages/2/index.htmlUT3�j��Ko�0����\ܢ�e+I�*�"����/=kj%��H�\���ha�����<�{�]�x�ÃS ��<��'� �P+����=XGP@���<�e�FgB�����E<M7(��[d�aa2|�=T���U�`~Y_Uuu ߾/>̪��ݒ��s#���<aaz_��@��
|
|
47
|
+
�_'>W�4��*�2�k%�\=n�o�Jڡ�0�ƅ>@�������t�=�㭣�lL#��$��(��n��WA����U�
|
|
48
|
+
PK�v]�Hb��" pages/2/manifest.jsonUT3�ju���0��<Ŧg���س� ���4��M��t����/\g�/3S |��u�n��abU��o5�Q���>�3��m$���#x�k�Ck�;,�,d�u*OM)�Q*y�꺺��u�����_����쟡E
|
|
49
|
+
�@p��A��"k������٭�t������m�|�"���PK
|
|
50
|
+
�v]pZoe pages/2/stylesheet_0.cssUT3�j../../stylesheet_0.cssPK
|
|
51
|
+
�v]�z pages/2/images/1.pngUT3�j../../../images/1.pngPK�v]�Y��I pages/3/index.htmlUT 3�j���o1���WL{ �l6ٶP�^K�-���'4�ή
|
|
52
|
+
�v]pZoe pages/3/stylesheet_0.cssUT 3�j../../stylesheet_0.cssPK
|
|
53
|
+
�v]�z pages/3/images/1.pngUT 3�j../../../images/1.pngPK�v]�
|
|
54
|
+
�����������[!(��X���;�g�[��n��M��O���f�l/��sD79����}v�",���EYJ��Ƙ���}���
|
|
55
|
+
|���i��'Q�3�{�rv�*[Y�PK�v]�}�T�% pages/4/manifest.jsonUT3�ju��
|
|
56
|
+
�0D���%�����Y��x��.M`ӔlE�wiz<�{3�.D�nt��K$�@ؔfU��&8��o��M>+�<�r��K�~��>�
|
|
57
|
+
�v]pZoe pages/4/stylesheet_0.cssUT3�j../../stylesheet_0.cssPK
|
|
58
|
+
�v]�z pages/4/images/1.pngUT3�j../../../images/1.pngPK�v]�X�i�L sfz-toc.htmlUT3�j|�Oo�0ſ�C/�b��J�U��=����`��mv�B|��eQm��e���3fwO�>�����hΖ�h�]��M8�g#��0��eZ$ת�urTx�� i��hc����}-�ZL/�eUT��Ђ�:O8�*j���h$Nn�@R�bH�2��X�g��q�<Igc*�(}.�9D4�ؐ�JV|�l�CC`��2�(��j!��ʌ�h�ڗλъ�u���n�,�a��g(�*��b�9�Fc���v���rp�F��%� U�DzqZl�hH6��t���R�2�9�y�Ӧ�]��{��
|
|
59
|
+
��}X���h��_�N��e��|cąic)���▱= ��3�k#]�c��3�r���d��95gZq��(�DY���˸%�m��3���j�0���8�����xr�Y�X�'�
|
|
60
|
+
]y�
|
|
61
|
+
O/����PK�v]�lz7? sfz-pages.jsonUT3�j���n� Ewb�L[<4�;v�TU��
|
|
62
|
+
��VQ�=��Qӆ8���p@�+����Ӛ����m,��5�t�]��8Ԍi�-���y�9;ŬS�2B��>a��+���D@��V/Ў���)�_\v�G`O,��(%�z�s"\s�&K����ީ���qksԫ\ueZ��S��WSc�n�2�5R}@���&�n�8-�>����]y���%��Ƈ�U�D����c9�.���gY>��o�W3����"�����PK�v]��ˈ�p
|
|
63
|
+
��@index.htmlUT3�jhttp://localhost:8933/PK�v]8�l�
|
|
64
|
+
�v]�X�"" ���!images/1.pngUT3�jhttp://localhost:8933/logo.pngPK�v]�g��H ���4pages/2/index.htmlUT3�jhttp://localhost:8933/one.htmlPK�v]�Hb��" ���6pages/2/manifest.jsonUT3�jPK
|
|
65
|
+
�v]pZoe ���7pages/2/stylesheet_0.cssUT3�jhttp://localhost:8933/shared.cssPK
|
|
66
|
+
�v]�z ��8pages/2/images/1.pngUT3�jhttp://localhost:8933/logo.pngPK�v]�Y��I ��n8pages/3/index.htmlUT 3�jhttp://localhost:8933/two.htmlPK�v]A�ʴ" ��P:pages/3/manifest.jsonUT 3�jPK
|
|
67
|
+
�v]pZoe ��@;pages/3/stylesheet_0.cssUT 3�jhttp://localhost:8933/shared.cssPK
|
|
68
|
+
�v]�z ���;pages/3/images/1.pngUT 3�jhttp://localhost:8933/logo.pngPK�v]�
|
|
69
|
+
�v]pZoe ���>pages/4/stylesheet_0.cssUT3�jhttp://localhost:8933/shared.cssPK
|
|
70
|
+
�v]�z ��?pages/4/images/1.pngUT3�jhttp://localhost:8933/logo.pngPK�v]�X�i�L ��c?sfz-toc.htmlUT3�jPK�v]�lz7? ��UAsfz-pages.jsonUT3�jPK��B--><sfz-extra-data>u93jaPFRi4HBn4GBIUDAA0iCAWOAo5gIgwADIwA=</sfz-extra-data></body></html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html><html data-sfz><!--
|
|
2
|
+
Page saved with SingleFile
|
|
3
|
+
url: http://localhost:8931/
|
|
4
|
+
saved date: Thu Aug 27 2026 13:48:52 GMT+0200 (Central European Summer Time)
|
|
5
|
+
--><meta charset=windows-1252><title></title><meta http-equiv=content-security-policy content="default-src 'none';connect-src 'self' data: blob:;font-src 'self' data: blob:;img-src 'self' data: blob:;style-src 'self' 'unsafe-inline' data: blob:;frame-src 'self' data: blob:;media-src 'self' data: blob:;script-src 'self' 'unsafe-inline' data: blob:;object-src 'self' data: blob:"><style>@keyframes display-wait-message{0%{opacity:0}100%{opacity:1}};body{color:transparent};div{color:initial}body>:not(#sfz-wait-message,#sfz-error-message){display:none}</style><body hidden><div id=sfz-wait-message>Please wait...</div><div id=sfz-error-message><strong>Error</strong>: Cannot extract the data of the page. The file is still a valid ZIP file, you can rename it with a "zip" extension and unzip it to display the page and its resources.</div><nav><ul><li><a href="http://localhost:8931/">Fixture home</a></li><li><a href="http://localhost:8931/alpha.html">Alpha page</a></li><li><a href="http://localhost:8931/beta.html">Beta page</a></li><li><a href="http://localhost:8931/sub/gamma.html">Gamma page</a></li><li><a href="http://localhost:8931/index.html">Fixture home</a></li></ul></nav><script>var zip=(()=>{var gi=(xe,Ce)=>()=>(Ce||xe((Ce={exports:{}}).exports,Ce),Ce.exports);var mi=gi((fn,ea)=>{((xe,Ce)=>{typeof fn=="object"&&typeof ea<"u"?Ce(fn):typeof define=="function"&&define.amd?define(["exports"],Ce):Ce((xe=typeof globalThis<"u"?globalThis:xe||self).zip={})})(fn,function(xe){"use strict";let{Array:Ce,Object:k,String:Gn,Number:le,BigInt:dn,Math:$,Date:xt,Map:lt,Set:ta,Response:na,URL:_n,Error:m,Uint8Array:H,Uint16Array:ra,Uint32Array:sa,DataView:ut,Blob:Mt,Promise:ft,TextEncoder:Yn,TextDecoder:hn,crypto:It,btoa:$n,TransformStream:se,ReadableStream:dt,WritableStream:ht,CompressionStream:Jn,DecompressionStream:Qn,navigator:wn,Worker:yi,setTimeout:pn,clearTimeout:gn}=typeof globalThis<"u"?globalThis:this||self,_e=4294967295,Ae=65535,Xt=255,mn=134695760,aa=mn,wt=33639248,er=101075792,tr=117853008,Be=22,pt=20,rt=56,yn=61440,nr=new xt(1980,0,1),g=void 0,st="undefined",Pe="function",rr="string",Ue=new H,kt="strict",bn="balanced",gt="tolerant";function sr(t){if(t&&typeof t!=Pe)throw new m("Invalid option (must be a function)");return t}function Sn(t){return typeof t==rr&&t.trim()?le(t):t}let ar=2;try{typeof wn!=st&&wn.hardwareConcurrency&&(ar=wn.hardwareConcurrency)}catch{}let ir={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ar,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof Jn!=st&&Jn,DecompressionStream:typeof Qn!=st&&Qn},or="maxWorkers",cr=["chunkSize",or,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lr=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ia=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...cr,...lr],zn={...ir};function vn(){return zn}function xn(t){return ur(t.chunkSize)}function ur(t){return t=Sn(t),le.isInteger(t)&&t>=1?$.max(t,64):65536}function fr(t){let e={};for(let n of ia){let r=t[n];r!==g&&(e[n]=oa(n,r))}return e}function oa(t,e){if(cr.includes(t)){if(e=Sn(e),t==or&&(!le.isInteger(e)||1>e))throw new m("Invalid maxWorkers (must be an integer greater than 0)")}else lr.includes(t)&&sr(e);return e}function dr(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(e===g&&n===g)return t;let r=k.assign({},t);return r.CompressionStreamFallback===g&&(r.CompressionStreamFallback=e),r.DecompressionStreamFallback===g&&(r.DecompressionStreamFallback=n),r}var we=H,Rt=ra,ca=Int32Array,hr=new we([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),wr=new we([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),la=new we([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),pr=(t,e)=>{for(var n=new Rt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new ca(n[30]);for(r=1;30>r;++r)for(var a=n[r];a<n[r+1];++a)s[a]=a-n[r]<<5|r;return{b:n,r:s}},gr=pr(hr,2),mr=gr.b,ua=gr.r;mr[28]=258,ua[258]=28;for(var fa=pr(wr,0).b,kn=new Rt(32768),G=0;32768>G;++G){var mt=(43690&G)>>1|(21845&G)<<1;mt=(61680&(mt=(52428&mt)>>2|(13107&mt)<<2))>>4|(3855&mt)<<4,kn[G]=((65280&mt)>>8|(255&mt)<<8)>>1}var Lt=(t,e,n)=>{for(var r=t.length,s=0,a=new Rt(e);r>s;++s)t[s]&&++a[t[s]-1];var i,o=new Rt(e);for(s=1;e>s;++s)o[s]=o[s-1]+a[s-1]<<1;if(n){i=new Rt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var u=s<<4|t[s],f=e-t[s],l=o[t[s]-1]++<<f,d=l|(1<<f)-1;d>=l;++l)i[kn[l]>>c]=u}else for(i=new Rt(r),s=0;r>s;++s)t[s]&&(i[s]=kn[o[t[s]-1]++]>>15-t[s]);return i},qt=new we(288);for(G=0;144>G;++G)qt[G]=8;for(G=144;256>G;++G)qt[G]=9;for(G=256;280>G;++G)qt[G]=7;for(G=280;288>G;++G)qt[G]=8;var yr=new we(32);for(G=0;32>G;++G)yr[G]=5;var da=Lt(qt,9,1),ha=Lt(yr,5,1),Rn=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},He=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Fn=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},wa=t=>(t+7)/8|0,Gt=(t,e,n)=>((e==null||0>e)&&(e=0),(n==null||n>t.length)&&(n=t.length),new we(t.subarray(e,n))),pa=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ne=(t,e,n)=>{var r=new m(e||pa[t]);if(r.code=t,m.captureStackTrace&&m.captureStackTrace(r,Ne),!n)throw r;return r},br=(t,e,n,r)=>{var s=t.length,a=r?r.length:0;if(!s||e.f&&!e.o)return n||new we(0);var i=!n,o=i||e.i!=2,c=e.i;i&&(n=new we(3*s));var u=Je=>{var zt=n.length;if(Je>zt){var je=new we($.max(2*zt,Je));je.set(n),n=je}},f=e.f||0,l=e.p||0,d=e.b||0,w=e.o,h=e.d,v=e.l,S=e.n,C=8*s;do{if(!w){f=He(t,l,1);var R=He(t,l+1,3);if(l+=3,!R){var p=t[(E=wa(l)+4)-4]|t[E-3]<<8,N=E+p;if(N>s){c&&Ne(0);break}o&&u(d+p),n.set(t.subarray(E,N),d),e.b=d+=p,e.p=l=8*N,e.f=f;continue}if(R==1)w=da,h=ha,v=9,S=5;else if(R==2){var U=He(t,l,31)+257,z=He(t,l+10,15)+4,I=U+He(t,l+5,31)+1;l+=14;for(var B=new we(I),A=new we(19),b=0;z>b;++b)A[la[b]]=He(t,l+3*b,7);l+=3*z;var F=Rn(A),W=(1<<F)-1,O=Lt(A,F,1);for(b=0;I>b;){var E,ne=O[He(t,l,W)];if(l+=15&ne,16>(E=ne>>4))B[b++]=E;else{var q=0,P=0;for(E==16?(P=3+He(t,l,3),l+=2,q=B[b-1]):E==17?(P=3+He(t,l,7),l+=3):E==18&&(P=11+He(t,l,127),l+=7);P--;)B[b++]=q}}var j=B.subarray(0,U),ae=B.subarray(U);v=Rn(j),S=Rn(ae),w=Lt(j,v,1),h=Lt(ae,S,1)}else Ne(1);if(l>C){c&&Ne(0);break}}o&&u(d+131072);for(var _=(1<<v)-1,Y=(1<<S)-1,De=l;;De=l){var Ze=(q=w[Fn(t,l)&_])>>4;if((l+=15&q)>C){c&&Ne(0);break}if(q||Ne(2),256>Ze)n[d++]=Ze;else{if(Ze==256){De=l,w=null;break}var St=Ze-254;if(Ze>264){var me=hr[b=Ze-257];St=He(t,l,(1<<me)-1)+mr[b],l+=me}var We=h[Fn(t,l)&Y],Ee=We>>4;if(We||Ne(3),l+=15&We,ae=fa[Ee],Ee>3&&(me=wr[Ee],ae+=Fn(t,l)&(1<<me)-1,l+=me),l>C){c&&Ne(0);break}o&&u(d+131072);var it=d+St;if(ae>d){var ot=a-ae,nt=$.min(ae,it);for(0>ot+d&&Ne(3);nt>d;++d)n[d]=r[ot+d]}for(;it>d;++d)n[d]=n[d-ae]}}e.o=w,e.p=De,e.b=d,e.f=f,w&&(f=1,e.l=v,e.d=h,e.n=S)}while(!f);return d!=n.length&&i?Gt(n,0,d):n.subarray(0,d)},ga=new we(0),ma=(function(){function t(e,n){typeof e=="function"&&(n=e,e={}),this.h=n;var r=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:r?r.length:0},this.v=new we(32768),this.p=new we(0),r&&this.v.set(r)}return t.prototype.e=function(e){if(this.h||Ne(5),this.d&&Ne(4),this.p.length){if(e.length){var n=new we(this.p.length+e.length);n.set(this.p),n.set(e,this.p.length),this.p=n}}else this.p=e},t.prototype.c=function(e){this.s.i=+(this.d=e||!1);var n=this.s.b,r=br(this.p,this.s,this.v);this.h(Gt(r,n,this.s.b),this.d),this.v=Gt(r,this.s.b-32768),this.s.b=this.v.length,this.p=Gt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(e,n){this.e(e),this.c(n)},t})(),ya=hn!==void 0&&new hn;try{ya.decode(ga,{stream:!0})}catch{}class ba extends se{constructor(e){super({start(n){e.h=r=>{r.length&&n.enqueue(r)}},transform(n){e.push(n)},flush(){e.push(new H(0),!0)}})}}let Sa=new lt,Cn=new lt;function Sr(t){return Cn.get(t)}let Bt=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let n=0;8>n;n++)e=1&e?e>>>1^3988292384:e>>>1;Bt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){let n=Bt[e-1][t];Bt[e][t]=n>>>8^Bt[0][255&n]}let[zr,za,va,xa,ka,Ra,Fa,Ca]=Bt;class Pt{constructor(e){this.S=e||-1}append(e){let n=0|this.S,r=0|e.length,s=0;if(r>=8&&e.buffer){let a=new ut(e.buffer,e.byteOffset,r),i=r-8;for(;i>=s;s+=8){let o=n^a.getInt32(s,!0),c=a.getInt32(s+4,!0);n=Ca[255&o]^Fa[o>>>8&255]^Ra[o>>>16&255]^ka[o>>>24&255]^xa[255&c]^va[c>>>8&255]^za[c>>>16&255]^zr[c>>>24&255]}}for(;r>s;s++)n=n>>>8^zr[255&(n^e[s])];this.S=n}get(){return~this.S}}class vr extends se{constructor(){let e,n=new Pt;super({transform(r,s){n.append(r),s.enqueue(r)},flush(){let r=new H(4);new ut(r.buffer).setUint32(0,n.get()),e.value=r}}),e=this}}function yt(t,e){let n=new H(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Z(t){return new ut(t.buffer,t.byteOffset,t.byteLength)}let pe={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],r=pe.R(n);return r===32?t.concat(e):pe.D(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return 32*(e-1)+pe.R(n)},F(t,e){if(32*t.length<e)return t;let n=(t=t.slice(0,$.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=pe.C(e,t[n-1]&2147483648>>e-1,1)),t},C:(t,e,n)=>t===32?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>$.round(t/1099511627776)||32,D(t,e,n,r){for(r===void 0&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(e===0)return r.concat(t);for(let i=0;i<t.length;i++)r.push(n|t[i]>>>e),n=t[i]<<32-e;let s=t.length?t[t.length-1]:0,a=pe.R(s);return r.push(pe.C(e+a&31,e+a>32?n:r.pop(),1)),r}},_t={bytes:{A(t){let e=pe.bitLength(t)/8,n=new H(e),r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},T(t){let e=[],n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(pe.C(8*(3&n),r)),e}}},Aa=class{constructor(t){let e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.I=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){let t=this;return t.W=t.U.slice(0),t.M=[],t.O=0,t}update(t){let e=this;typeof t=="string"&&(t=_t.L.T(t));let n=e.M=pe.concat(e.M,t),r=e.O,s=e.O=r+pe.bitLength(t);if(s>9007199254740991)throw new m("Cannot hash more than 2^53 - 1 bits");let a=new sa(n),i=0;for(let o=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=o;o+=e.blockSize)e.P(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),e}B(){let t=this,e=t.M,n=t.W;e=pe.concat(e,[pe.C(1,1)]);for(let r=e.length+2;15&r;r++)e.push(0);for(e.push($.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){let e=this,n=e.W,r=Ce(80);for(let u=0;16>u;u++)r[u]=t[u];let s=n[0],a=n[1],i=n[2],o=n[3],c=n[4];for(let u=0;79>=u;u++){16>u||(r[u]=e.V(1,r[u-3]^r[u-8]^r[u-14]^r[u-16]));let f=e.V(5,s)+e.H(u,a,i,o)+c+r[u]+e.I[$.floor(u/20)]|0;c=o,o=i,i=e.V(30,a),a=s,s=f}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}},Ft={importKey:t=>new Ft.Z(_t.bytes.T(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new m("invalid params to pbkdf2");let s=1+(r>>5)<<2,a,i,o,c,u,f=new ArrayBuffer(s),l=new ut(f),d=0,w=pe;for(e=_t.bytes.T(e),u=1;(s||1)>d;u++){for(a=i=t.encrypt(w.concat(e,[u])),o=1;n>o;o++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>d&&o<a.length;o++)l.setInt32(d,a[o]),d+=4}return f.slice(0,r/8)},Z:class{constructor(t){let e=this,n=e._=Aa,r=[[],[]];e.j=[new n,new n];let s=e.j[0].blockSize/32;t.length>s&&(t=new n().update(t).B());for(let a=0;s>a;a++)r[0][a]=909522486^t[a],r[1][a]=1549556828^t[a];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){let t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){let t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new m("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Ua=typeof It!=st&&typeof It.getRandomValues==Pe,xr="Invalid password",kr="Invalid signature",Ta=kr,An="zipjs-abort-check-password";function Rr(t){if(Ua)return It.getRandomValues(t);throw new m("Crypto API not supported")}let Ct=16,Fr={name:"PBKDF2"},Da=k.assign({hash:{name:"HMAC"}},Fr),Un=k.assign({iterations:1e3,hash:{name:"SHA-1"}},Fr),Wa=["deriveBits"],Ht=[8,12,16],Nt=[16,24,32],et=10,Ea=[0,0,0,0],Yt=typeof It!=st,Ot=Yt&&It.subtle,Cr=Yt&&typeof Ot!=st,Ye=_t.bytes,Ma=class{constructor(t){let e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();let n=e.X[0][4],r=e.X[1],s=t.length,a,i,o,c=1;if(s!==4&&s!==6&&s!==8)throw new m("invalid aes key size");for(e.I=[i=t.slice(0),o=[]],a=s;4*s+28>a;a++){let u=i[a-1];(a%s===0||s===8&&a%s===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[255&u],a%s===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^u}for(let u=0;a;u++,a--){let f=i[3&u?a:a-4];o[u]=4>=a||4>u?f:r[0][n[f>>>24]]^r[1][n[f>>16&255]]^r[2][n[f>>8&255]]^r[3][n[255&f]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){let t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],a=[],i,o,c,u;for(let f=0;256>f;f++)a[(s[f]=f<<1^283*(f>>7))^f]=f;for(let f=i=0;!n[f];f^=o||1,i=a[i]||1){let l=i^i<<1^i<<2^i<<3^i<<4;l=l>>8^255&l^99,n[f]=l,r[l]=f,u=s[c=s[o=s[f]]];let d=16843009*u^65537*c^257*o^16843008*f,w=257*s[l]^16843008*l;for(let h=0;4>h;h++)t[h][f]=w=w<<24^w>>>8,e[h][l]=d=d<<24^d>>>8}for(let f=0;5>f;f++)t[f]=t[f].slice(0),e[f]=e[f].slice(0)}Y(t,e){if(t.length!==4)throw new m("invalid aes block size");let n=this.I[e],r=n.length/4-2,s=[0,0,0,0],a=this.X[e],i=a[0],o=a[1],c=a[2],u=a[3],f=a[4],l,d,w,h=t[0]^n[0],v=t[e?3:1]^n[1],S=t[2]^n[2],C=t[e?1:3]^n[3],R=4;for(let p=0;r>p;p++)l=i[h>>>24]^o[v>>16&255]^c[S>>8&255]^u[255&C]^n[R],d=i[v>>>24]^o[S>>16&255]^c[C>>8&255]^u[255&h]^n[R+1],w=i[S>>>24]^o[C>>16&255]^c[h>>8&255]^u[255&v]^n[R+2],C=i[C>>>24]^o[h>>16&255]^c[v>>8&255]^u[255&S]^n[R+3],R+=4,h=l,v=d,S=w;for(let p=0;4>p;p++)s[e?3&-p:p]=f[h>>>24]<<24^f[v>>16&255]<<16^f[S>>8&255]<<8^f[255&C]^n[R++],l=h,h=v,v=S,S=C,C=l;return s}},Ia=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;e===255?(e=0,n===255?(n=0,r===255?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){(t[0]=this.ot(t[0]))===0&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];let s=pe.bitLength(e);for(let a=0;r>a;a+=4){this.it(n);let i=t.encrypt(n);e[a]^=i[0],e[a+1]^=i[1],e[a+2]^=i[2],e[a+3]^=i[3]}return pe.F(e,s)}},La=Ft.Z,Ar=Yt&&Cr&&typeof Ot.importKey==Pe,Ur=Yt&&Cr&&typeof Ot.deriveBits==Pe;class qa extends se{constructor({password:e,rawPassword:n,encryptionStrength:r,checkPasswordOnly:s,checkAuthenticationCode:a=!0}){super({start(){Tr(this,e,n,r)},async transform(i,o){let c=this,{password:u,strength:f,ct:l,ready:d}=c;u?(await(async(h,v,S,C)=>{let R=await Wr(h,v,S,Te(C,0,Ht[v])),p=Te(C,Ht[v]);if(R[0]!=p[0]||R[1]!=p[1])throw new m(xr)})(c,f,u,Te(i,0,Ht[f]+2)),i=Te(i,Ht[f]+2),s?o.error(new m(An)):l()):await d;let w=new H(i.length-et-(i.length-et)%Ct);o.enqueue(Dr(c,i,w,0,et,!0))},async flush(i){let{ut:o,ft:c,lt:u,ready:f}=this;if(c&&o){await f;let l=Te(u,0,u.length-et),d=Te(u,u.length-et),w=Ue;if(l.length){let S=Zt(Ye,l);c.update(S);let C=o.update(S);w=Vt(Ye,C)}let h=Te(Vt(Ye,c.digest()),0,et),v=u.length<et?1:0;for(let S=0;et>S;S++)v|=h[S]^d[S];if(v&&a)throw new m(Ta);i.enqueue(w)}}})}}class Ba extends se{constructor({password:e,rawPassword:n,encryptionStrength:r}){super({start(){Tr(this,e,n,r)},async transform(s,a){let i=this,{password:o,strength:c,ct:u,ready:f}=i,l=Ue;o?(l=await(async(w,h,v)=>{let S=Rr(new H(Ht[h]));return yt(S,await Wr(w,h,v,S))})(i,c,o),u()):await f;let d=new H(l.length+s.length-s.length%Ct);d.set(l,0),a.enqueue(Dr(i,s,d,l.length,0))},async flush(s){let{ut:a,ft:i,lt:o,ready:c}=this;if(i&&a){await c;let u=Ue;if(o.length){let l=a.update(Zt(Ye,o));i.update(l),u=Vt(Ye,l)}let f=Vt(Ye,i.digest()).slice(0,et);s.enqueue(yt(u,f))}}})}}function Tr(t,e,n,r){k.assign(t,{ready:new ft(s=>t.ct=s),password:Pa(e,n),strength:r-1,lt:Ue})}function Dr(t,e,n,r,s,a){let{ut:i,ft:o,lt:c}=t;c.length&&(e=yt(c,e));let u=e.length-s,f;for(n=((l,d)=>{if(d&&d>l.length){let w=l;(l=new H(d)).set(w,0)}return l})(n,r+(u-u%Ct)),f=0;u-Ct>=f;f+=Ct){let l=Zt(Ye,Te(e,f,f+Ct));a&&o.update(l);let d=i.update(l);a||o.update(d),n.set(Vt(Ye,d),f+r)}return t.lt=Te(e,f),n}async function Wr(t,e,n,r){t.password=null;let s=await(async(f,l,d,w,h)=>{if(!Ar)return Ft.importKey(l);try{return await Ot.importKey("raw",l,d,!1,h)}catch{return Ar=!1,Ft.importKey(l)}})(0,n,Da,0,Wa),a=await(async(f,l,d)=>{if(!Ur)return Ft.N(l,f.salt,Un.iterations,d);try{return await Ot.deriveBits(f,l,d)}catch{return Ur=!1,Ft.N(l,f.salt,Un.iterations,d)}})(k.assign({salt:r},Un),s,8*(2*Nt[e]+2)),i=new H(a),o=Zt(Ye,Te(i,0,Nt[e])),c=Zt(Ye,Te(i,Nt[e],2*Nt[e])),u=Te(i,2*Nt[e]);return k.assign(t,{keys:{key:o,wt:c,passwordVerification:u},ut:new Ia(new Ma(o),Ce.from(Ea)),ft:new La(c)}),u}function Pa(t,e){return e===g?(n=>{if(typeof Yn==st){let r=new H((n=unescape(encodeURIComponent(n))).length);for(let s=0;s<r.length;s++)r[s]=n.charCodeAt(s);return r}return new Yn().encode(n)})(t):e}function Te(t,e,n){return t.subarray(e,n)}function Vt(t,e){return t.A(e)}function Zt(t,e){return t.T(e)}class Ha extends se{constructor({password:e,rawPassword:n,passwordVerification:r,checkPasswordOnly:s}){super({start(){Er(this,e,n,r)},transform(a,i){let o=this;if(o.password||o.rawPassword){let c=Mr(o,a.subarray(0,12));if(o.password=o.rawPassword=null,(c[11]^o.passwordVerification)!=0)throw new m(xr);a=a.subarray(12)}s?i.error(new m(An)):i.enqueue(Mr(o,a))}})}}class Na extends se{constructor({password:e,rawPassword:n,passwordVerification:r}){super({start(){Er(this,e,n,r)},transform(s,a){let i=this,o,c;if(i.password||i.rawPassword){i.password=i.rawPassword=null;let u=Rr(new H(12));u[11]=i.passwordVerification,o=new H(s.length+u.length),o.set(Ir(i,u),0),c=12}else o=new H(s.length),c=0;o.set(Ir(i,s),c),a.enqueue(o)}})}}function Er(t,e,n,r){k.assign(t,{password:e,rawPassword:n,passwordVerification:r}),((s,a,i)=>{let o=[305419896,591751049,878082192];if(k.assign(s,{keys:o,ht:new Pt(o[0]),yt:new Pt(o[2])}),i)for(let c=0;c<i.length;c++)$t(s,i[c]);else for(let c=0;c<a.length;c++)$t(s,a.charCodeAt(c))})(t,e,n)}function Mr(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,n[r]);return n}function Ir(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,e[r]);return n}function $t(t,e){let[,n]=t.keys;t.ht.append([e]);let r=~t.ht.get();n=Br($.imul(Br(n+qr(r)),134775813)+1),t.yt.append([n>>>24]);let s=~t.yt.get();t.keys=[r,n,s]}function Lr(t){let e=2|t.keys[2];return qr($.imul(e,1^e)>>>8)}function qr(t){return 255&t}function Br(t){return 4294967295&t}function At(t){if(t instanceof dt)return t;let e=t.getReader();return new dt({async pull(n){let{value:r,done:s}=await e.read();s?n.close():n.enqueue(r)},cancel:n=>e.cancel(n)})}function Jt(t,e){t=At(t);let n=e?{type:e}:{};if(typeof Mt.prototype.stream!=Pe||new Mt([]).stream()instanceof dt)return new na(t).blob().then(s=>e?new Mt([s],n):s);let r=[];return t.pipeTo(new ht({write(s){r.push(s)}})).then(()=>new Mt(r,n))}function Oa(t){if(t instanceof ht)return t;let e=t.getWriter();return new ht({write:n=>e.write(n),close:()=>e.close(),abort:n=>e.abort(n)})}let Tn="Invalid uncompressed size",Va=kr,Pr="deflate-raw",Dn="gzip",Za=[31,139,8];class ja extends se{constructor(e,{chunkSize:n,CompressionStreamFallback:r,CompressionStream:s}){super({});let{compressed:a,encrypted:i,useCompressionStream:o,zipCrypto:c,computeCrc32:u,level:f,deflate64:l,format:d,compressionMethod:w,inputSize:h}=e,v=this,S,C,R,p=super.readable,N=d&&Sr(d),U=u&&a&&!l&&!N&&(!i||c)&&!(!o||!s);if(i&&!c||!u||U||(S=new vr,p=Oe(p,S)),a)if(N)p=Ut(p,Vr(N.CompressionStream,d,{level:f,chunkSize:n,compressionMethod:w,uncompressedSize:h}));else if(U)R=new Hr,p=Ut(p,new s(Dn)),p=Oe(p,R);else try{p=Zr(p,o,{level:f,chunkSize:n},s,r)}catch(z){let I;try{I=new s(Dn)}catch{throw z}p=Ut(p,I),p=Oe(p,new Hr)}i&&(c?p=Oe(p,new Na(e)):(C=new Ba(e),p=Oe(p,C))),Or(v,p,()=>{i&&!c||!u||(v.crc32=U?R.crc32:new ut(S.value.buffer).getUint32(0))})}}class Hr extends se{constructor(){let e,n=10,r=new H(0);super({transform(s,a){if(n){let u=$.min(n,s.length);if(n-=u,!(s=s.subarray(u)).length)return}let i=r.length+s.length;if(8>=i)return void(r=yt(r,s));let o=i-8,c=$.min(o,r.length);a.enqueue(yt(r.subarray(0,c),s.subarray(0,o-c))),r=yt(r.subarray(c),s.subarray(o-c))},flush(){let s=Z(r);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}}class Ka extends se{constructor(e,{chunkSize:n,DecompressionStreamFallback:r,DecompressionStream:s}){super({});let{zipCrypto:a,encrypted:i,checkCrc32:o,crc32:c,compressed:u,useCompressionStream:f,deflate64:l,format:d,compressionMethod:w,rawBitFlag:h,outputSize:v}=e,S,C,R=super.readable;if(i&&(a?R=Oe(R,new Ha(e)):(C=new qa(e),R=Oe(R,C))),u){let p=d&&Sr(d);if(p)R=Ut(R,Vr(p.DecompressionStream,d,{chunkSize:n,compressionMethod:w,rawBitFlag:h,uncompressedSize:v}));else try{R=Zr(R,f,{chunkSize:n,deflate64:l},s,r)}catch(N){if(l||v===g)throw N;let U;try{U=new s(Dn)}catch{throw N}R=((z,I,B)=>{let A=new Pt,b,F,W,O=0,E=!1,ne=new ft((_,Y)=>{F=_,W=Y});ne.catch(()=>{}),B||F();let q=new se({start(_){let Y=new H(10);Y.set(Za),_.enqueue(Y)},transform(_,Y){Y.enqueue(_)},async flush(_){E=!0,j();try{await ne}finally{ae()}let Y=new H(8),De=Z(Y);De.setUint32(0,A.get(),!0),De.setUint32(4,B,!0),_.enqueue(Y)},cancel(_){W(_)}}),P=new se({transform(_,Y){A.append(_),O+=_.length,B>O?E&&j():F(),Y.enqueue(_)},cancel(_){W(_)}});return z=Oe(z,q),Oe(z=Ut(z,I),P);function j(){ae(),b=pn(()=>W(new m(Tn)),5e3)}function ae(){gn(b)}})(R,U,v)}R=(N=>{let U=N.getReader();return new dt({async pull(z){let I;try{I=await U.read()}catch(b){if(b&&b.message)throw b;let F=new m("Invalid compressed data");throw F.cause=b,F}let{value:B,done:A}=I;A?z.close():z.enqueue(B)},cancel:z=>U.cancel(z)})})(R)}o&&(S=new vr,R=Oe(R,S)),Or(this,R,()=>{if(o){let p=new ut(S.value.buffer);if(c!=p.getUint32(0,!1))throw new m(Va)}})}}let Nr=new lt;function Or(t,e,n){e=Oe(e,new se({flush:n})),k.defineProperty(t,"readable",{get:()=>e})}function Vr(t,e,n){if(!t)throw new m("Compression method not supported");return new t(e,n)}function Zr(t,e,n,r,s){let a=e&&r?r:s||r,i=n.deflate64?"deflate64-raw":Pr,o;try{o=new a(i,n)}catch(c){if(!e||!s||a==s)throw c;o=new s(i,n)}return Ut(t,o)}function Oe(t,e){return At(t).pipeThrough(e)}function Ut(t,e){let n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;let s=await r.read();if(s.done){await n.close();break}await n.write(s.value)}}catch(s){await(async(a,i)=>{try{await a.abort(i)}catch{}})(n,s),await(async(a,i)=>{try{await a.cancel(i)}catch{}})(r,s)}})(),e.readable}let jr="deflate",Kr="inflate";class Xa extends se{constructor(e,n){super({});let r=this,{codecType:s}=e,a;s.startsWith(jr)?a=ja:s.startsWith(Kr)&&(a=Ka),r.outputSize=0;let i=0,o=new a(e,n),c=super.readable,u=new se({transform(l,d){l&&l.length&&(i+=l.length,d.enqueue(l))},flush(){k.assign(r,{inputSize:i})}}),f=new se({transform(l,d){if(l&&l.length&&(d.enqueue(l),r.outputSize+=l.length,e.outputSize!==g&&r.outputSize>e.outputSize))throw new m(Tn)},flush(){let{crc32:l}=o;k.assign(r,{crc32:l,inputSize:i})}});k.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(o).pipeThrough(f)})}}class Xr extends se{constructor(e){let n=[],r=0;function s(){let a=new H(e),i=0;for(;e>i;){let o=n[0],c=e-i;o.length>c?(a.set(o.subarray(0,c),i),n[0]=o.subarray(c),i+=c):(a.set(o,i),i+=o.length,n.shift())}return r-=e,a}le.isFinite(e)&&e>=1||(e=65536),super({transform(a,i){for(n.push(a),r+=a.length;r>e;)i.enqueue(s())},flush(a){r&&a.enqueue(((i,o)=>{let c=new H(o),u=0;for(let f of i)c.set(f,u),u+=f.length;return c})(n,r))}})}}class Qt{constructor(e,{readable:n,writable:r},{options:s,config:a,gt:i,useWebWorkers:o,transferStreams:c,workerURI:u,createWorker:f},l){let{signal:d}=i;return k.assign(e,{bt:!0,vt:(e.vt||0)+1,readable:n.pipeThrough(new Xr(xn(a))).pipeThrough(new Ga(i),{signal:d}),writable:r,options:k.assign({},s),workerURI:u,createWorker:f,transferStreams:c,terminate:()=>new ft(w=>{let{St:h,bt:v}=e;h?(v?e.kt=w:(h.terminate(),w()),e.xt=null):w()}),zt(){if(e.bt){let{kt:w}=e;w&&(e.kt=null,e.Rt=!0,e.St.terminate(),w()),e.bt=!1,l(e)}}}),((w,h)=>({run:()=>(async({options:v,readable:S,writable:C,zt:R},p)=>{let N;try{if(v.compressed&&!v.format){let B=v.codecType.startsWith(jr),A=B?p.CompressionStreamFallback:p.DecompressionStreamFallback,b=B?p.CompressionStream:p.DecompressionStream;if(v.useCompressionStream){if(A&&A.Dt&&!((F,W)=>{if(!F)return!1;let O=Nr.get(F);O||(O=new lt,Nr.set(F,O));let E=O.get(W);if(E===g){try{new F(W),E=!0}catch{E=!1}O.set(W,E)}return E})(b,Pr))try{await void 0}catch{}}else try{await void 0}catch{A&&!A.Dt||(v.useCompressionStream=!0)}}N=new Xa(v,p),await S.pipeThrough(N).pipeThrough(new Xr(xn(p))).pipeTo(C,{preventClose:!0,preventAbort:!0});let{crc32:U,inputSize:z,outputSize:I}=N;return{crc32:U,inputSize:z,outputSize:I}}catch(U){throw N&&(U.outputSize=N.outputSize),U}finally{R()}})(w,h)}))(e,a)}}class Ga extends se{constructor({onstart:e,onprogress:n,size:r,onend:s}){let a=0;super({async start(){e&&await Wn(e,r)},async transform(i,o){a+=i.length,n&&await Wn(n,a,r),o.enqueue(i)},async flush(){s&&await Wn(s,a)}})}}async function Wn(t,...e){try{await t(...e)}catch{}}let bt=[],Tt=[],Dt,en,Gr=0;function tn(){!Dt&&Tt.length&&le.isFinite(en)&&en>=0&&(Dt=pn(_a,en))}function _r(){Dt&&(gn(Dt),Dt=null)}function _a(){if(Dt=null,Tt.length){let[{resolve:t,stream:e,Ft:n}]=Tt.splice(0,1),r=k.assign({},n,{useWebWorkers:!1,workerURI:g,createWorker:g});t(new Qt({},e,r,Ya)),tn()}}function Ya(){_r(),tn()}function Yr(t){let{Ct:e}=t;e&&(gn(e),t.Ct=null)}let $a="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("");function nn(t,e){return $r(t,e,!0)}function $r(t,e,n){return e&&e.trim().toLowerCase()=="cp437"?(r=>{{let s="";for(let a=0;a<r.length;a++)s+=$a[r[a]];return s}})(t):new hn(e,{ignoreBOM:n}).decode(t)}let Jr="HTTP error ",tt="HTTP Range not supported",Qr="HTTP resource changed",En="Content-Range",Ja="Range",rn="GET",es="bytes",Qa=16777216,Mn="writable",ts=Symbol();class sn{constructor(){this.size=0}init(){this.initialized=!0}}class jt extends sn{get readable(){return this.createReadable()}createReadable({offset:e=0,size:n,chunkSize:r=xn(vn())}={}){let s=this,a=0;return r=ur(r),new dt({async pull(i){let o=n===g?r:$.min(r,n-a),c=await ee(s,e+a,o);c.length&&i.enqueue(c),a+r>=n||!c.length&&o?i.close():a+=r}})}}class ei extends sn{constructor(){super();let e=this,n=new ht({write(r){if(!e.initialized)throw new m("Writer not initialized");return e.writeUint8Array((s=r).byteOffset||s.byteLength!=s.buffer.byteLength?new H(s):s);var s}});k.defineProperty(e,Mn,{get:()=>n})}writeUint8Array(){}}let In,ns;class Ln extends jt{constructor(e){super(),k.assign(this,{At:e,size:e.size}),ns||(ns=(async()=>{try{let n=new Mt([new H(3)]).slice(1,2).stream().getReader(),r=0,s=await n.read();for(;!s.done;)r+=s.value.length,s=await n.read();In=r==1}catch{In=!1}})())}createReadable(e){let{At:n,size:r}=this,{offset:s=0,size:a=r-s}=e||{};return s||r>a?In?At(n.slice(s,s+a).stream()):super.createReadable(e):At(n.stream())}async readUint8Array(e,n){let r=this,s=e+n,i=await(e||s<r.size?r.At.slice(e,s):r.At).arrayBuffer();return i.byteLength>n&&(i=i.slice(e,s)),new H(i)}}class rs extends sn{constructor(e){super();let n=this,r=new se;k.defineProperty(n,Mn,{get:()=>r.writable}),n.contentType=e,n.Tt=Jt(r.readable,e),n.Tt.catch(()=>{})}getData(){return this.Tt}}class ti extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,an,us),super.init()}createReadable(e){let n=this,{useRangeHeader:r,forceRangeRequests:s,size:a}=n;if((r||s)&&a!==g){let{offset:i=0,size:o=a-i}=e||{};if(o>0&&a>i)return((c,u,f)=>{let l,d=u,w=0,h=f;return new dt({start:()=>v(),async pull(S){l||await v();let{value:C,done:R}=await l.read();if(R)throw new m(tt);let p=C.length>w?C.subarray(0,w):C;w-=p.length,h-=p.length,p.length&&S.enqueue(p),w||(await(async()=>{let N=l;l=g,await N.cancel()})(),h||S.close())},cancel:S=>l&&l.cancel(S)});async function v(){let S=$.min(c.maximumRangeSize,h),C=await an(rn,c,Bn(c,d,S));if(C.status!=206)throw new m(tt);let R=C.headers.get(En);if(R){let p=le(R.trim().split(/[\s-]+/)[1]);if(!le.isNaN(p)&&p!=d)throw new m(tt)}ls(c,C),qn(c,C),d+=S,w=S,l=C.body.getReader()}})(n,i,$.min(o,a-i))}return super.createReadable(e)}readUint8Array(e,n){return is(this,e,n,an,us)}}class ni extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,Hn,fs),super.init()}readUint8Array(e,n){return is(this,e,n,Hn,fs)}}function ss(t,e,n){let{preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=Qa,fetch:u}=n;delete(n=k.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,k.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o,maximumRangeSize:c,fetch:u})}async function as(t,e,n){let{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=t;if((c=>{let{baseURI:u}=vn(),{protocol:f}=new _n(c,u);return f=="http:"||f=="https:"})(r)&&(a||i)&&(typeof s==st||s)){let c=await e(rn,t,Bn(t,o?-22:void 0)),u=c.headers.get("Accept-Ranges");if(!(i||u&&u.toLowerCase()==es))throw new m(tt);{if(o){let l=new H(await c.arrayBuffer());c.status==206&&l.length==Be&&(t.Ut=l)}qn(t,c);let f=os(c);f===g?await hs(t,e,n):t.size=f}}else await hs(t,e,n)}async function is(t,e,n,r,s){let{useRangeHeader:a,forceRangeRequests:i,Ut:o,size:c,options:u}=t;if(a||i){if(o&&e==c-Be&&n==Be)return o;if(c>e&&n!==0){e+n>c&&(n=c-e);let f=await r(rn,t,Bn(t,e,n));if(f.status!=206)throw new m(tt);let l=f.headers.get(En);if(l){let w=le(l.trim().split(/[\s-]+/)[1]);if(!le.isNaN(w)&&w!=e)throw new m(tt)}ls(t,f),qn(t,f);let d=new H(await f.arrayBuffer());if(d.length!=n)throw new m(tt);return d}return Ue}{let{data:f}=t;return f||await s(t,u),t.data.subarray(e,e+n)}}function os(t){let e=t.headers.get(En);if(e){let n=e.trim().split(/\s*\/\s*/)[1];if(n&&n!="*"){let r=le(n);if(!le.isNaN(r))return r}}}function cs({headers:t}){return{Et:t.get("Etag")||g,lastModified:t.get("Last-Modified")||g}}function qn(t,e){let{checkResourceChanges:n,It:r}=t;n&&!r&&e.status==206&&(t.It=cs(e))}function ls(t,e){let{checkResourceChanges:n,It:r,size:s}=t;if(n){let a=os(e);if(a!==g&&s!==g&&a!=s)throw new m(Qr);if(r){let i=cs(e);if(k.entries(r).some(([o,c])=>c!==g&&i[o]!==g&&c!=i[o]))throw new m(Qr)}}}function Bn(t,e=0,n=1){return k.assign({},Pn(t),{[Ja]:es+"="+(0>e?e:e+"-"+(e+n-1))})}function Pn({options:t}){let{headers:e}=t;if(e)return Symbol.iterator in e?k.fromEntries(e):e}async function us(t){await ds(t,an)}async function fs(t){await ds(t,Hn)}async function ds(t,e){let n=await e(rn,t,Pn(t));t.data=new H(await n.arrayBuffer()),t.size=t.data.length}async function hs(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{let r=await e("HEAD",t,Pn(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=le(s):await n(t,t.options)}}async function an(t,{fetch:e=fetch,options:n,url:r},s){let a=await e(r,k.assign({},n,{method:t,headers:s}));if(400>a.status)return a;throw a.status==416?new m(tt):new m(Jr+(a.statusText||a.status))}function Hn(t,{url:e},n){return new ft((r,s)=>{let a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){let i=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{let c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,u=>u.toUpperCase()),i.push(c)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new lt(i)})}else s(a.status==416?new m(tt):new m(Jr+(a.statusText||a.status)))},!1),a.addEventListener("error",i=>s(i.detail?i.detail.error:new m("Network error")),!1),a.open(t,e),n)for(let i of k.entries(n))a.setRequestHeader(i[0],i[1]);a.responseType="arraybuffer",a.send()})}class ri extends jt{constructor(e,n={}){super(),k.assign(this,{url:e,reader:n.useXHR&&!n.fetch?new ni(e,n):new ti(e,n)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,n){return this.reader.readUint8Array(e,n)}}class si extends jt{constructor(e){super(),this.Wt=e}async init(){let e=this;e.Mt=0;let n=e.Wt=await ft.all(e.Wt.map(oi));e.Ot=n.map(r=>{let s=e.size;return e.size+=r.size,s}),super.init()}Lt(e){let{Ot:n,size:r}=this,s=n[e];return s===g?r:s}async readUint8Array(e,n){let r=this,{Wt:s}=this,a,i=0,o=e;for(;s[i]&&o>=s[i].size;)o-=s[i].size,i++;let c=s[i];if(c){let u=c.size;if(o+n>u){let f=u-o;a=yt(await ee(c,o,f),await r.readUint8Array(e+f,n-f))}else a=await ee(c,o,n)}else a=Ue;return r.Mt=$.max(i,r.Mt),a}}class ai extends sn{constructor(e,n=4294967295){super();let r=this,s,a,i;k.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o=new ht({async write(l){if(l===ts)return void(i&&await u());let{availableSize:d}=r;if(i)l.length<d?await c(l):(await c(l.subarray(0,d)),await u(),l.length>d&&await this.write(l.subarray(d)));else{let{value:w,done:h}=await e.next();if(h&&!w)throw new m("Writer iterator completed too soon");s=w,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Wt(s),a=w.writable,i=a.getWriter(),await this.write(l)}},async close(){i&&(await i.ready,await f())},async abort(l){i&&await i.abort(l)}});async function c(l){let d=l.length;d&&(await i.ready,await i.write(l),s.size+=d,r.availableSize-=d)}async function u(){await f(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function f(){await i.close()}k.defineProperty(r,Mn,{get:()=>o})}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(ts)}finally{e.releaseLock()}}}class ws{constructor(e){return Ce.isArray(e)&&(e=new si(e)),(e instanceof dt||typeof e.getReader==Pe)&&(e={readable:At(e)}),e}}class ii{constructor(e){return e.writable===g&&typeof e.next==Pe&&(e=new ai(e)),(e instanceof ht||typeof e.getWriter==Pe)&&(e={writable:Oa(e)}),e.size===g&&(e.size=0),e}}async function Wt(t,e){if(!t.init||t.initialized)return ft.resolve();await t.init(e)}async function oi(t){return t=new ws(t),await Wt(t),t.size!==g&&t.readUint8Array||(t=new Ln(await Jt(t.readable)),await Wt(t)),t}function ee(t,e,n){return t.readUint8Array(e,n)}let ps="filename",gs="rawFilename",ms="comment",ys="rawComment",bs="uncompressedSize",Ss="compressedSize",zs="offset",vs="diskNumberStart",Nn="lastModDate",On="rawLastModDate",xs="lastAccessDate",ks="rawLastAccessDate",Rs="creationDate",Fs="rawCreationDate",ci=[ps,gs,bs,Ss,Nn,On,ms,ys,xs,ks,Rs,Fs,zs,vs,"internalFileAttributes","externalFileAttributes","internalFileAttribute","externalFileAttribute","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Cs{constructor(e){ci.forEach(n=>this[n]=e[n])}}let on="File format is not recognized",As="Encryption method not supported",Us="Compression method not supported",Ts="Split zip file",Ds="malformed extra field",Ws="wrapped entries count",Es="appended data",Ms="prepended data",cn="mismatched zip64 end of central directory record",li=/^[a-zA-Z]:/,Is="utf-8",Ls="cp437",ui=[[bs,_e],[Ss,_e],[zs,_e],[vs,Ae]],qs={[Ae]:{Pt:D,bytes:4},[_e]:{Pt:ke,bytes:8}},fi=dn(le.MAX_SAFE_INTEGER);class di{constructor(e,n){k.assign(this,{reader:e,options:n})}async getData(e,n,r,s={}){let a=this,i=vn(),{reader:o,index:c,offset:u,diskNumberStart:f,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,bitFlag:h,rawBitFlag:v,crc32:S,rawLastModDate:C,uncompressedSize:R,compressedSize:p}=a,{dataDescriptor:N}=h,U=n.localDirectory={},z=n.warnings=[],I=Et(o,f)+u,B=await ee(o,I,30),A=Z(B),b=J(a,s,"password"),F=J(a,s,"rawPassword"),W=J(a,s,"passThrough");if(((x,T)=>{if(x&&typeof x!=rr||T&&!(T instanceof H))throw new m("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(b,F),b=b&&b.length&&b,F=F&&F.length&&F,l&&l.originalCompressionMethod!=99)throw new m(Us);if(30>B.length||D(A,0)!=67324752)throw new m("Local file header not found");Ps(U,A,4);let{extraFieldLength:O,filenameLength:E}=U,ne=U.dataOffset=I+30+E+O,q=J(a,s,"checkLocalDirectory"),P=Gs(s,a.options),j=((x,T)=>x===g?T!=gt:!!x)(q,P),ae=((x,T)=>x===g?T==kt:!!x)(q,P),_=Ue;if(ae&&(E||O)){let x=await ee(o,I+30,E+O);_=x.subarray(0,E),U.rawExtraField=x.subarray(E)}else U.rawExtraField=O?await ee(o,I+30+E,O):Ue;ae&&(U.rawFilename=_),Hs(a,U,A,4,!0)&&Ve(z,Ds),((x,T,V,re,Q)=>{let{rawFilename:Se}=x,Re=!Q,ze=x.Bt&&!(8192&~T.rawBitFlag);!re||ze||V.length==Se.length&&!V.some((Xe,ve)=>Xe!=Se[ve])||$e(Re,Q,"mismatched local file header (filename)"),(2057&T.rawBitFlag)!=(2057&x.rawBitFlag)&&$e(Re,Q,"mismatched local file header (general purpose bit flag)"),T.compressionMethod!=x.compressionMethod&&$e(Re,Q,"mismatched local file header (compression method)"),T.bitFlag.dataDescriptor||ze||!(T.crc32||T.compressedSize||T.uncompressedSize)||T.crc32==x.crc32&&T.compressedSize==x.compressedSize&&T.uncompressedSize==x.uncompressedSize||$e(Re,Q,"mismatched local file header (crc32 or sizes)")})(a,U,_,ae,j?g:z);let{lastAccessDate:Y,creationDate:De,uid:Ze,gid:St}=U;Y&&(n.lastAccessDate=Y),De&&(n.creationDate=De),Ze!==g&&n.uid===g&&(n.uid=Ze),St!==g&&n.gid===g&&(n.gid=St);let me=a.encrypted&&U.encrypted&&!W,We=me&&!l;if(W||(n.zipCrypto=We),me&&!(64&~U.rawBitFlag))throw new m(As);let Ee=W?g:(x=>Sa.get(x))(w);if(w!=0&&w!=8&&w!=9&&!Ee&&!W)throw new m(Us);if(me){if(!We&&(1>l.strength||l.strength>3))throw new m(As);if(!b&&!F)throw new m("File contains encrypted entry")}if(ne+p>o.size)throw new m("Entry data out of bounds");let it=p,ot=At(o.createReadable({offset:ne,size:it})),nt=(x=>{if(x&&(typeof x.addEventListener!=Pe||typeof x.aborted!="boolean"))throw new m("Invalid signal (must be an AbortSignal instance)");return x||g})(J(a,s,"signal")),Je=J(a,s,"checkPasswordOnly"),zt=J(a,s,"checkOverlappingEntry"),je=J(a,s,"checkOverlappingEntryOnly");je&&(zt=!0);let{onstart:M,onprogress:y,onend:te}=s,K=w!=0&&!W,ue=W?p:R,de=w==9,ie=J(a,s,"useCompressionStream");de&&(ie=!1);let Me=J(a,s,"checkCrc32"),he=(Me===g?J(a,s,"checkSignature"):Me)&&!W&&(!me||We||l&&l.vendorVersion==1),ye={options:{codecType:Kr,password:b,rawPassword:F,zipCrypto:We,encryptionStrength:l&&l.strength,checkCrc32:he,checkAuthenticationCode:J(a,s,"checkAuthenticationCode"),passwordVerification:We&&(N?C>>>8&Xt:S>>>24&Xt),outputSize:ue,crc32:S,compressed:K,encrypted:me,useWebWorkers:J(a,s,"useWebWorkers"),useCompressionStream:ie,transferStreams:J(a,s,"transferStreams"),deflate64:de,format:Ee?Ee.format:g,codecURI:Ee?Ee.codecURI:g,compressionMethod:w,rawBitFlag:v,checkPasswordOnly:Je},config:i,gt:{signal:nt,size:it,onstart:M,onprogress:y,onend:te}},be,Ke;zt&&await(async({reader:x,Ht:T,index:V,offset:re,crc32:Q,compressedSize:Se,uncompressedSize:Re,dataOffset:ze,dataDescriptor:Xe,extraFieldZip64:ve,Vt:oe})=>{let Fe=0;if(Xe&&(Fe=ve?20:12),Fe){let ge=await ee(x,ze+Se,Fe+4),Le=Z(ge),qe=ge.length==Fe+4&&D(Le,0)==aa;if(qe){let Qe=js(Le,4,ve);(T.encrypted&&!T.zipCrypto||Qe.crc32==Q)&&Qe.compressedSize==Se&&Qe.uncompressedSize==Re?Fe+=4:qe=!1}if(ge.length>=Fe){let Qe=js(Le,qe?4:0,ve);Qe.signature=qe,T.localDirectory.dataDescriptor=Qe}}let Ie={start:re,end:ze+Se+Fe,Ht:T};for(let[ge,Le]of oe)if(ge!=V&&Ie.start<Le.end&&Le.start<Ie.end){let qe=new m("Overlapping entry found");throw qe.overlappingEntry=Le.Ht,qe}oe.set(V,Ie)})({reader:o,Ht:n,index:c,offset:I,crc32:S,compressedSize:p,uncompressedSize:R,dataOffset:ne,dataDescriptor:N||U.bitFlag.dataDescriptor,extraFieldZip64:d||U.extraFieldZip64,Vt:r});try{if(!je){Je&&(e=new ht),e=new ii(e),await Wt(e,((T,V,re)=>$.min(T,re?1032*V:V))(ue,p,K)),{writable:be}=e;let{outputSize:x}=await(async function(T,V){let{options:re,config:Q}=V,{transferStreams:Se,useWebWorkers:Re,useCompressionStream:ze,compressed:Xe,checkCrc32:ve,computeCrc32:oe,encrypted:Fe,format:Ie,codecURI:ge}=re,{workerURI:Le,createWorker:qe,maxWorkers:Qe}=Q;Ie&&(ge&&(re.codecURI=((fe,X)=>{try{return new _n(fe,X).toString()}catch{return fe}})(ge,Q.baseURI)),await(async(fe,X)=>{!Cn.has(fe)&&X&&((ct,ce)=>{let{CompressionStream:Ge,DecompressionStream:vt}=ce;if(typeof Ge!=Pe&&typeof vt!=Pe)throw new m("Invalid codec module");Cn.set(ct,{CompressionStream:Ge,DecompressionStream:vt})})(fe,await import(X))})(Ie,re.codecURI)),V.transferStreams=!Ie&&(Se||Se===g&&Q.transferStreams);let un=!(Xe||ve||oe||Fe),Xn=Ie===g||!!re.codecURI;return V.useWebWorkers=!un&&Xn&&(Re||Re===g&&Q.useWebWorkers),V.workerURI=V.useWebWorkers&&Le?Le:g,V.createWorker=V.useWebWorkers&&qe?qe:g,re.useCompressionStream=ze||ze===g&&Q.useCompressionStream,(await(async()=>{let fe=bt.find(X=>!X.bt);if(fe)return Yr(fe),new Qt(fe,T,V,Kt);if(bt.length<Qe){let X={Zt:Gr};return Gr++,bt.push(X),new Qt(X,T,V,Kt)}return new ft(X=>{Tt.push({resolve:X,stream:T,Ft:V}),en=Q.workerStarvationTimeout,tn()})})()).run();function Kt(fe){if(_r(),Tt.length){let[{resolve:X,stream:ct,Ft:ce}]=Tt.splice(0,1);X(new Qt(fe,ct,ce,Kt)),tn()}else fe.St?(Yr(fe),((X,ct)=>{let{config:ce}=ct,{terminateWorkerTimeout:Ge}=ce;le.isFinite(Ge)&&Ge>=0&&(X.Rt?X.Rt=!1:X.Ct=pn(async()=>{bt=bt.filter(vt=>vt!=X);try{await X.terminate()}catch{}},Ge))})(fe,V)):bt=bt.filter(X=>X!=fe)}})({readable:ot,writable:be},ye);if(e.size+=x,x!=ue)throw new m(Tn)}}catch(x){if(x.outputSize!==g&&(e.size+=x.outputSize),!Je||x.message!=An)throw Ke=x,x}finally{if(!(!(T=>!(!T||!T.getData))(e)&&J(a,s,"preventClose"))&&be&&!be.locked){let T=be.getWriter();if(Ke)try{await T.abort(Ke)}catch{}else await T.close()}}return Je||je?g:e.getData?e.getData():be}}function Vn(t){let e=$.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(D(t,n)==134630224)return!0;return!1}function Bs(t,e,n){let r=0;for(;n+46<=e.length&&D(t,n)==wt;)n+=46+L(t,n+28)+L(t,n+30)+L(t,n+32),r++;return r%65536?0:r}function Zn(t){if(t.length>=6){let e=Z(t);if(D(e,0)==84233040){let n=L(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function Ps(t,e,n){let r=t.rawBitFlag=L(e,n+2),s=!(1&~r),a=D(e,n+6);k.assign(t,{encrypted:s,version:L(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:a,lastModDate:wi(a),filenameLength:L(e,n+22),extraFieldLength:L(e,n+24)})}function Hs(t,e,n,r,s){let{rawExtraField:a}=e,i=e.extraField=new lt,o=Z(a),c=0,u=!1;try{for(;c<a.length;){let z=L(o,c),I=L(o,c+2);i.set(z,{type:z,data:a.slice(c+4,c+4+I)}),c+=4+I}}catch{u=!0}c>a.length&&(u=!0);let f=L(n,r+4);k.assign(e,{signature:D(n,r+10),crc32:D(n,r+10),compressedSize:D(n,r+14),uncompressedSize:D(n,r+18)});let l=i.get(1);l&&(((z,I)=>{I.zip64=!0;let B=Z(z.data),A=ui.filter(([F,W])=>I[F]==W),b=A.reduce((F,[,W])=>F+qs[W].bytes,0);if(z.data.length<b)throw new m("Zip64 extra field not found");for(let F=0,W=0;F<A.length;F++){let[O,E]=A[F],ne=qs[E];I[O]=z[O]=ne.Pt(B,W),W+=ne.bytes}})(l,e),e.extraFieldZip64=l);let d=i.get(28789);d&&(Ns(d,ps,gs,e,t),e.extraFieldUnicodePath=d);let w=i.get(25461);w&&(Ns(w,ms,ys,e,t),e.extraFieldUnicodeComment=w);let h=i.get(39169);h&&h.data.length>=7?(((z,I,B)=>{let A=Z(z.data),b=at(A,4);k.assign(z,{vendorVersion:at(A,0),vendorId:at(A,2),strength:b,originalCompressionMethod:B,compressionMethod:L(A,5)}),I.compressionMethod=z.compressionMethod,z.vendorVersion!=1&&(I.crc32=g)})(h,e,f),e.extraFieldAES=h):e.compressionMethod=f;let v=i.get(13);v&&(Os(v,e),e.extraFieldPkwareUnix=v);let S=i.get(22613);S&&(Os(S,e),e.extraFieldUnixType1=S);let C=i.get(10);C&&(((z,I)=>{let B=Z(z.data),A,b=4;try{for(;b<z.data.length&&!A;){let F=L(B,b),W=L(B,b+2);F==1&&(A=z.data.slice(b+4,b+4+W)),b+=4+W}}catch{}if(A&&A.length==24){let F=Z(A),W=F.getBigUint64(0,!0),O=F.getBigUint64(8,!0),E=F.getBigUint64(16,!0);k.assign(z,{rawLastModDate:W,rawLastAccessDate:O,rawCreationDate:E});let ne={lastModDate:Kn(W),lastAccessDate:Kn(O),creationDate:Kn(E)};k.assign(z,ne),k.assign(I,ne,{rawLastAccessDate:O,rawCreationDate:E})}})(C,e),e.extraFieldNTFS=C);let R=i.get(30805),p;if(R&&(p=Vs(R,e,!1),e.extraFieldUnix=R),!p){let z=i.get(30837);z&&(Vs(z,e,!0),e.extraFieldInfoZip=z)}let N=i.get(21589);N&&(((z,I,B)=>{if(!z.data.length)return;let A=Z(z.data),b=at(A,0),F=[],W=[];B?(1&~b||(F.push(Nn),W.push(On)),2&~b||(F.push(xs),W.push(ks)),4&~b||(F.push(Rs),W.push(Fs))):5>z.data.length||(F.push(Nn),W.push(On));let O=1;F.forEach((E,ne)=>{if(z.data.length>=O+4){let q=D(A,O);I[E]=z[E]=new xt(1e3*(0|q));let P=W[ne];z[P]=q}O+=4})})(N,e,s),e.extraFieldExtendedTimestamp=N);let U=i.get(6534);return U&&(e.extraFieldUSDZ=U),u}function Ns(t,e,n,r,s){if(5>t.data.length)return void(t.valid=!1);let a=Z(t.data),i=new Pt;i.append(s[n]);let o=Z(new H(4));o.setUint32(0,i.get(),!0);let c=D(a,1),u=at(a,0);k.assign(t,{version:u,[e]:nn(t.data.subarray(5)),valid:u==1&&!s.bitFlag.languageEncodingFlag&&c==D(o,0)}),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function Os(t,e){if(8>t.data.length)return;let n=Z(t.data),r={lastAccessDate:new xt(1e3*(0|D(n,0))),lastModDate:new xt(1e3*(0|D(n,4)))};12>t.data.length||(r.uid=L(n,8),r.gid=L(n,10)),k.assign(t,r),k.assign(e,r)}function Vs(t,e,n){try{let r=Z(t.data),s,a;if(n){let i=0,o=at(r,i++),c=at(r,i++);s=Zs(t.data.subarray(i,i+c)),i+=c;let u=at(r,i++);a=Zs(t.data.subarray(i,i+u)),k.assign(t,{version:o,uid:s,gid:a})}else 4>t.data.length||(s=L(r,0),a=L(r,2),k.assign(t,{uid:s,gid:a}));return s!==g&&(e.uid=s),a!==g&&(e.gid=a),s!==g||a!==g}catch{}}function Zs(t){let e=new H(4);return e.set(t,0),new ut(e.buffer,e.byteOffset,4).getUint32(0,!0)}function js(t,e,n){let r=D(t,e),s,a;return n?(s=ke(t,e+4),a=ke(t,e+12)):(s=D(t,e+4),a=D(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Et(t,e){return t.Lt?t.Lt(e):0}async function Ks(t){return D(Z(await ee(t,0,4)))}function Xs(t){return t===kt||t===bn||t===gt}function Gs(t,e){return _s(t,_s(e,bn))}function _s(t,e){let n=t.strictness;if(n!==g){if(!Xs(n))throw new m("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}let r=t.checkAmbiguity;return r===g?e:r?kt:e==gt?gt:bn}function hi(t,e){if(e==gt)return!1;let n=t.split("/");return n.length>1&&n[n.length-1]===""&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||li.test(t))||e==kt&&(n.includes(".")||n.includes(""))}async function*Ys(t,e){let n=t.size-e,r=await ee(t,n,e),s=Z(r);for(let a=r.length-Be;a>=0;a--)D(s,a)==101010256&&(yield[s,n,r,a,n+a])}function jn(t,e,n){return{offset:n,buffer:t.slice(e,e+Be).buffer}}async function $s(t,e,n,r,s,a,i){let o=L(e,r+10),c=D(e,r+12),u=D(e,r+16);if(o==Ae||c==_e||u==_e)return await Js(t,e,n,s-pt,a,i)==tr?2:0;if(!o&&!c)return 1;let f=L(e,r+6);for(let l of[s-c,Et(t,f)+u])if(await Js(t,e,n,l,a,i)==wt)return 2;return 0}async function Js(t,e,n,r,s,a){return 0>r||r+4>s?g:n>r?a.count>0?(a.count--,D(Z(await ee(t,r,4)),0)):g:D(e,r-n)}function $e(t,e,n){t?ln(n):Ve(e,n)}function Ve(t,e,n){if(!t.some(r=>r.reason==e)){let r={reason:e};n!==g&&(r.filename=n),t.push(r)}}function ln(t){let e=new m("Ambiguous archive");throw e.reason=t,e}function J(t,e,n){return e[n]===g?t.options[n]:e[n]}function Qs(t,e,n){return sr(J(t,e,n))}function wi(t){let e=(4294901760&t)>>16,n=t&Ae,r=new xt(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return nr>r?nr:r}function Kn(t){return new xt(le(t/dn(1e4)-dn(116444736e5)))}function at(t,e){return t.getUint8(e)}function L(t,e){return t.getUint16(e,!0)}function D(t,e){return t.getUint32(e,!0)}function ke(t,e){let n=t.getBigUint64(e,!0);if(n>fi)throw new m("64-bit value exceeds Number.MAX_SAFE_INTEGER");return le(n)}(t=>{let e=fr(dr(t));k.assign(ir,e),k.assign(zn,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends ba{constructor(t){(e=>{if(e!="deflate-raw")throw new TypeError("Unsupported compression format: "+e)})(t),super(new ma)}}}),xe.BlobReader=Ln,xe.BlobWriter=rs,xe.Data64URIWriter=class extends ei{constructor(t){super(),k.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){let e=this,n,r=e.qt,s=e.qt.length;for(e.qt="",n=0;n<3*$.floor((s+t.length)/3)-s;n++)r+=Gn.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=Gn.fromCharCode(t[n]);r.length>2?e.data+=$n(r):e.qt=r+e.qt}getData(){return this.data+$n(this.qt)}},xe.HttpRangeReader=class extends ri{constructor(t,e={}){super(t,k.assign({},e,{useRangeHeader:!0}))}},xe.TextWriter=class extends rs{constructor(t){super(),k.assign(this,{encoding:t,Nt:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((r,s)=>$r(r,s,!1))(new H(await n.arrayBuffer()),t)}},xe.ZipReader=class{constructor(t,e={}){k.assign(this,{reader:new ws(t),options:e,Vt:new lt})}async*getEntriesGenerator(t={}){let e=this,{reader:n}=e;if(await Wt(n),n.size!==g&&n.readUint8Array||(n=new Ln(await Jt(n.readable)),await Wt(n)),n.size<Be)throw new m(on);let r=e.warnings=[],s=Gs(t,e.options),a=s==kt,i=s!=gt,o=((M,y)=>{if(M!==g){let te=Sn(M);if(typeof te!="number"||le.isNaN(te)||0>te)throw new m("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return te}return y==kt?0:y==gt?1/0:Ae})(J(e,t,"maxAppendedDataSize"),s),c=((M,y)=>{if(M===g)return y;if(!Xs(M))throw new m("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return M})(J(e,t,"filenameValidation"),s),u=J(e,t,"normalizeFilename"),{_t:f,jt:l}=await(async(M,y,te)=>{let{size:K}=M,ue=$.min(K,65557),de={count:64},ie,Me,he=0;for await(let[ye,be,Ke,x,T]of Ys(M,ue)){let V=L(ye,x+20);if(T+Be+V==K){let re=await $s(M,ye,be,x,T,K,de);if(re==2){if(ie||(ie=jn(Ke,x,T)),he++,!y||he>1)break}else re!=1||Me||(Me=jn(Ke,x,T))}}return ie||(ie=Me),ie||(ie=await(async(ye,be,Ke)=>{let{size:x}=ye,T=$.min(x,be==1/0?x:65557+be),V,re;for await(let[Q,Se,Re,ze,Xe]of Ys(ye,T)){let ve=jn(Re,ze,Xe);V||(V=ve);let oe=await $s(ye,Q,Se,ze,Xe,x,Ke);if(oe==2)return ve;oe!=1||re||(re=ve)}return re||V})(M,te,de)),{_t:ie,jt:he}})(n,i,o);if(!f)throw await(async M=>await Ks(M)==mn)(n)?new m(Ts):new m("End of central directory not found");i&&l>1&&ln("multiple end of central directory records");let d=Z(f),w=D(d,12),h=D(d,16),v=f.offset,S=L(d,20),C=v+Be+S,R=n.size-C;R>o&&ln(Es),R>0&&Ve(r,Es);let p=L(d,4),N=n.Mt||0,U,z,I,B,A=L(d,6),b=L(d,10),F=0,W=rt,O=h==_e||w==_e||b==Ae||A==Ae;if(h!=_e&&A!=Ae&&(h+=Et(n,A)),O){let M=f.offset<pt?Ue:await ee(n,f.offset-pt,pt),y=Z(M);if(M.length==pt&&D(y,0)==tr){h=Et(n,D(y,4))+ke(y,8);let te=await ee(n,h,rt),K=Z(te),ue=f.offset-pt-rt;if((te.length<rt||D(K,0)!=er)&&h!=ue&&ue>=0){let de=h;h=ue,h>de&&(F=h-de),te=await ee(n,h,rt),K=Z(te)}if(te.length<rt||D(K,0)!=er)throw new m("End of Zip64 central directory locator not found");if(z=!0,I=ke(K,4)>44,I){let de=$.min(ke(K,4)-44,n.size-h-rt);de>0&&(W+=de,B=(ie=>{let Me={rawExtensibleData:ie};if(ie.length>=28){let he=Z(ie),ye=L(he,26);k.assign(Me,{compressionMethod:L(he,0),compressedSize:ke(he,2),uncompressedSize:ke(he,10),encryptionAlgorithm:L(he,18),bitLength:L(he,20),flags:L(he,22),hashAlgorithm:L(he,24),hashData:ie.subarray(28,28+ye)})}return Me})(await ee(n,h+rt,de)))}p==Ae?p=D(K,16):p!=D(K,16)&&$e(a,r,cn),A==Ae?A=D(K,20):A!=D(K,20)&&$e(a,r,cn),b==Ae?b=ke(K,32):b!=ke(K,32)&&$e(a,r,cn),w==_e?w=ke(K,40):w!=ke(K,40)&&$e(a,r,cn),h=Et(n,A)+ke(K,48)+F}}let E=w,ne=f.offset-(z?W+pt:0);if(h<n.size||(F=n.size-h-w-Be,h=n.size-w-Be),N!=p)throw new m(Ts);if(0>h)throw new m(on);let q=0,P=await ee(n,h,w),j=Z(P);if(w){if(4>P.length)throw new m(on);let M=ne-w;if(h!=M&&A==p){let y=!(D(j,q)==wt||B&&B.compressedSize||Vn(j));if(y||0>M||M+4>n.size||(y=D(Z(await ee(n,M,4)),0)==wt),y){let te=h;h=M,h>te&&(F+=h-te),P=await ee(n,h,w),j=Z(P)}}}let ae=ne-h;if(w==ae||0>ae||A!=p||(w=ae,P=await ee(n,h,w),j=Z(P)),0>h||h>=n.size)throw new m(on);e.directoryOffset=h,e.directoryLength=E;let _=Qs(e,t,"decryptCentralDirectory"),Y,De;if(_&&b&&P.length>=4&&D(j,0)!=wt&&(I||Vn(j))){let M=((y,te,K)=>{let ue=y&&y.compressedSize?y.compressedSize:te;return ue>0&&K>=ue?ue:K})(B,E,P.length);De=P.subarray(M),P=await _(P.subarray(0,M),B),j=Z(P),E=P.length,Y=!0}!B||Y||P.length>=4&&D(j,0)!=wt||Ve(r,"unknown zip64 extensible data"),U=h;let Ze=J(e,t,"filenameEncoding"),St=J(e,t,"commentEncoding"),me=new ta,We,Ee=-1,it=!a&&!z;!b&&it&&(b=Bs(j,P,q),b&&Ve(r,Ws));for(let M=0;b>M;M++){let y=new di(n,e.options);if(q+46>P.length||D(j,q)!=wt)throw M==0&&!Y&&(I||Vn(j))?new m("Encrypted central directory is not supported"):new m("Central directory header not found");Ps(y,j,q+6);let te=!!y.bitFlag.languageEncodingFlag,K=q+46,ue=K+y.filenameLength,de=ue+y.extraFieldLength,ie=L(j,q+4),Me=!(ie>>8),he=ie>>8==3,ye=P.subarray(K,ue),be=L(j,q+32),Ke=de+be,x=P.subarray(de,Ke),T=te,V=te,re=D(j,q+38),Q=re&Xt,Se={readOnly:!!(1&Q),hidden:!!(2&Q),system:!!(4&Q),directory:!!(16&Q),archive:!!(32&Q)},Re=D(j,q+42),ze=Qs(e,t,"decodeText")||nn,Xe=T?Is:Ze||Ls,ve=V?Is:St||Ls,oe=ze(ye,Xe,"filename");if(oe===g&&(oe=nn(ye,Xe)),u){let ce=u(oe);ce!==g&&(oe=ce)}if(hi(oe,c)){let ce=new m("Unsafe filename");throw ce.filename=oe,ce}let Fe=ze(x,ve,"comment");Fe===g&&(Fe=nn(x,ve)),k.assign(y,{index:M,Bt:Y,versionMadeBy:ie,msDosCompatible:Me,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:be,offset:Re,diskNumberStart:L(j,q+34),internalFileAttributes:L(j,q+36),externalFileAttributes:re,msdosAttributesRaw:Q,msdosAttributes:Se,rawFilename:ye,filenameUTF8:T,commentUTF8:V,rawExtraField:P.subarray(ue,de),rawComment:x,filename:oe,comment:Fe}),Hs(y,y,j,q+6)&&Ve(r,Ds,oe),y.offset+=F;let Ie=Et(n,y.diskNumberStart)+y.offset;U=$.min(Ie,U),Ee>Ie&&Ve(r,"unsorted central directory",oe),Ee=Ie,(y.version&Xt)>63&&Ve(r,"unknown version needed to extract",oe),32&~y.rawBitFlag||Ve(r,"compressed patched data",oe),me.has(y.filename)&&(We=!0),me.add(y.filename);let ge=y.externalFileAttributes>>16&Ae;y.unixMode===g&&16877&ge&&(y.unixMode=ge);let Le=!!(2048&y.unixMode),qe=!!(1024&y.unixMode),Qe=!!(512&y.unixMode),un=((y.unixMode===g?ge:y.unixMode)&yn)==40960,Xn=!un&&(y.unixMode!==g?!!(73&y.unixMode):he&&!!(73&ge)),Kt=y.unixMode!==g&&(y.unixMode&yn)==16384,fe=(ge&yn)==16384;k.assign(y,{setuid:Le,setgid:qe,sticky:Qe,symlink:un,unixExternalUpper:ge,internalFileAttribute:y.internalFileAttributes,externalFileAttribute:y.externalFileAttributes,executable:Xn,directory:Kt||fe||Me&&Se.directory||y.filename.endsWith("/"),zipCrypto:y.encrypted&&!y.extraFieldAES});let X=new Cs(y);if(X.getData=(ce,Ge)=>y.getData(ce,X,e.Vt,Ge),X.arrayBuffer=async ce=>{let Ge=new se,vt=Jt(Ge.readable).then(pi=>pi.arrayBuffer());return vt.catch(()=>{}),await y.getData(Ge,X,e.Vt,ce),vt},q=Ke,M==b-1&&it){let ce=Bs(j,P,q);ce&&(b+=ce,Ve(r,Ws))}let{onprogress:ct}=t;if(ct)try{await ct(M+1,b,new Cs(y))}catch{}yield X}let ot=q,nt=Zn(P.subarray(q))||(Y?Zn(De):g);if(!nt&&!Y){let M=h+q,y=$.min(ne-M,65541);6>y||(nt=Zn(await ee(n,M,y)))}nt&&(e.digitalSignature=nt,ot=q+6+nt.length),(q!=E&&ot!=E||!Y&&q!=w&&ot!=w)&&$e(a,r,"trailing central directory data"),We&&$e(a,r,"duplicate filename");let Je=J(e,t,"extractPrependedData"),zt=J(e,t,"extractAppendedData"),je=(a||Je)&&b&&U==4&&await(async M=>{let y=await Ks(M);return y==mn||y==808471376})(n)?4:0;return a&&(F||b&&U>je)&&ln(Ms),(F||b&&U>4)&&Ve(r,Ms),Je&&(e.prependedData=U>je?await ee(n,je,U-je):Ue),e.comment=S?await ee(n,v+Be,S):Ue,zt&&(e.appendedData=C<n.size?await ee(n,C,n.size-C):Ue),!0}async getEntries(t={}){let e=[];for await(let n of this.getEntriesGenerator(t))e.push(n);return e}async close(){let{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}},xe.configure=t=>{k.assign(zn,fr(dr(t)))},xe.inflateRaw=(t,e)=>br(t,{i:2},e&&e.Gt,e&&e.m)})});return mi();})();
|
|
6
|
+
document.currentScript.remove();globalThis.bootstrap=(()=>{let bootstrapStarted;return async content=>{if (bootstrapStarted) return bootstrapStarted; bootstrapStarted = (async function pf(t,{extract:e,display:n}){let r="pages/",s="sfz-",i="sfz-pages.json",a="sfz-toc.html",o="#sfz/",c="?toc",l="data-sfz-target",u=/:target(?![\w-])/g,f="data-sfz-visited",d=/:visited(?![\w-])/g,_="#551a8b",h="data-sfz-unarchived",E="a["+h+']::after{content:" \\2197";font-size:.75em;opacity:.7}',m="Not saved in this archive",A=["http:","https:"],p=100,{zip:g,document:T,location:y,history:N,CSS:D,URL:P,setTimeout:x,clearTimeout:M}=globalThis,B=new Map,k=new Map,V=new Map,b=new Set,C=Math.random().toString(36).substring(2),U,O,L,F,q=0;try{N.scrollRestoration="manual"}catch{}g.configure({useWebWorkers:!0});let j=await new g.ZipReader(t.readUint8Array?t:new g.BlobReader(t)).getEntries(),ce=j.find(R=>R.filename==i);if(!ce)throw new Error("Pages data not found");let ie=JSON.parse(await ce.getData(new g.TextWriter)),$=j.find(R=>R.filename==a),{pages:he}=ie,le=ie.pageTransitions||"auto",Ae=new Map(Object.entries(ie.aliases||{}));return he.forEach(R=>{k.set(Oe(R.url),R.path),R.originalUrls&&R.originalUrls.forEach(I=>k.set(Oe(I),R.path))}),De(),O=Vt(),O===null&&(O=Ze()),se(!0);function De(){globalThis.addEventListener("click",Q,!0),globalThis.addEventListener("auxclick",Q,!0),globalThis.addEventListener("mouseover",Yt,!0),globalThis.addEventListener("hashchange",Ee)}function Ee(){pe().catch(R=>globalThis.console.error(R))}function Q(R){if(R.type=="auxclick"&&R.button!=1)return;let I=Le(R.target);if(I&&I.href){let z=ar(I.href);if(z&&z.startsWith(o)&&Oe(I.href)==Oe(y.href))return;let ne=k.get(Oe(I.href));if(ne===void 0&&z&&Oe(I.href)==Oe(y.href)&&(ne=U),ne!==void 0)if(R.preventDefault(),R.type=="auxclick"||R.metaKey||R.ctrlKey||R.shiftKey||R.altKey)globalThis.open(Oe(y.href)+o+ne+(z||""));else{let ae=y.hash;y.hash=o+ne+(z||""),y.hash==ae&&z&&(xt(),ke(z))}}}async function pe(){xt(),V.set(O,nn());let R=$e(),I=Vt(),{routed:z,path:ne,fragment:ae}=ee();z&&ne!=U&&H(ne)&&T.startViewTransition&&ot()&&!ct()?await T.startViewTransition(ve).updateCallbackDone:await ve();async function ve(){let Pt=await se();Pt&&es(),rn(Pt)}function rn(Pt){if(I!==null){O=I;let sn=V.get(I);if(sn&&(bt(sn.elements),globalThis.scrollTo(sn.x,sn.y)),ae){let aa=Ke(ae);aa&&Xt(aa)}}else O=Ze(),Pt&&bt(R),ae?ke(ae):Pt&&globalThis.scrollTo(0,0)}}async function se(R){let{routed:I,path:z,fragment:ne}=ee();if(!I&&!R||z==U||!H(z))return!1;let ae=await ye(z);return U=z,await n(T,ae,{inPlace:!0}),De(),z==c&&We(),b.add(z),Ue(),ie.markUnarchivedLinks&&Ft(),R&&(ne?ke(ne):!I&&y.hash&&ke(y.hash)),!0}function ee(){let R=y.hash,I=!R||R.startsWith(o),z=he[0].path,ne;return I&&R&&({path:z,fragment:ne}=fe(R)),{routed:I,path:z,fragment:ne}}function fe(R){let I=R.substring(o.length),z=I.indexOf("#");return{path:decodeURIComponent(z==-1?I:I.substring(0,z)),fragment:z==-1?void 0:I.substring(z)}}function H(R){return R==c?!!$:!!he.find(I=>I.path==R)}function ye(R){if(!B.has(R)){let I=de(R);I.catch(()=>B.delete(R)),B.set(R,I)}return B.get(R)}async function de(R){if(R==c)return $.getData(new g.TextWriter);let I=j.filter(ne=>be(ne.filename,R)&&!Ae.has(ne.filename)).concat(He(R)),{docContent:z}=await e(null,{entries:I,pagePath:R});return z}function He(R){return Array.from(Ae).filter(([I])=>be(I,R)).map(([I,z])=>{let ne=j.find(ae=>ae.filename==z);return ne&&{filename:I,comment:ne.comment,encrypted:ne.encrypted,uncompressedSize:ne.uncompressedSize,getData:(ae,Je)=>ne.getData(ae,Je)}}).filter(Boolean)}function be(R,I){return I==""?!R.startsWith(r)&&!R.startsWith(s):R.startsWith(I)}function We(){let R=new Map;he.forEach(I=>R.set(new P(I.path+"index.html",Oe(y.href)).href,I.path)),T.querySelectorAll("a[href]").forEach(I=>{let z=ar(I.href),ne=R.get(Oe(I.href));ne!==void 0&&I.setAttribute("href",o+ne+(z||""))})}function wt(R){let I=ar(R);return I&&I.startsWith(o)&&Oe(R)==Oe(y.href)?fe(I).path:k.get(Oe(R))}function Yt(R){let I=Le(R.target);if(I&&I.href){let z=wt(I.href);z!==void 0&&z!=U&&!B.has(z)&&(M(F),F=x(()=>ye(z).catch(()=>{}),p))}}function Le(R){for(;R&&R.tagName!="A";)R=R.parentNode;return R}function ot(){return le=="fade"?!0:le=="none"?!1:Array.from(T.styleSheets).some(R=>{try{return Se(R.cssRules)}catch{return!1}})}function Se(R){return Array.from(R).some(I=>I.navigation=="auto"||I.cssRules&&I.cssRules.length&&Se(I.cssRules))}function ct(){return!!(globalThis.matchMedia&&globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches)}function Vt(){let R=N.state;return R&&R.sfzSession==C&&typeof R.sfzEntry=="number"?R.sfzEntry:null}function Ze(){let R=q++;try{N.replaceState({sfzSession:C,sfzEntry:R},"")}catch{}return R}function nn(){return{x:globalThis.scrollX,y:globalThis.scrollY,elements:$e()}}function $e(){let R=[];return T.querySelectorAll("*").forEach(I=>{if(I.scrollTop||I.scrollLeft){let z=Ot(I);z&&R.push({path:z,top:I.scrollTop,left:I.scrollLeft})}}),R}function bt(R){R.forEach(({path:I,top:z,left:ne})=>{let ae;try{ae=T.querySelector(I)}catch{}ae&&(ae.scrollTop=z,ae.scrollLeft=ne)})}function Ot(R){let I=[];for(;R&&R.parentElement;){if(R.id&&D)return I.unshift("#"+D.escape(R.id)),I.join(">");let z=R.parentElement;I.unshift(R.tagName+":nth-child("+(Array.from(z.children).indexOf(R)+1)+")"),R=z}return I.join(">")}function ke(R){let I=Ke(R);I&&(Xt(I),I.scrollIntoView())}function Ke(R){let I=decodeURIComponent(R.substring(1)),z=T.getElementById(I);return!z&&D&&(z=T.querySelector("a[name="+D.escape(I)+"]")),z}function Xt(R){let I=Fe(u,l);I&&(R.setAttribute(l,""),L=T.createElement("style"),L.textContent=I,T.head.appendChild(L))}function Ue(){let R=T.createElement("style");R.textContent="a["+f+"]{color:"+_+"}"+Fe(d,f),T.head.appendChild(R),T.querySelectorAll("a[href]").forEach(I=>{let z=wt(I.href);z!==void 0&&b.has(z)&&I.setAttribute(f,"")})}function Ft(){let R=T.createElement("style");R.textContent=E,T.head.appendChild(R),T.querySelectorAll("a[href]").forEach(I=>{A.includes(I.protocol)&&k.get(Oe(I.href))===void 0&&Oe(I.href)!=Oe(y.href)&&(I.setAttribute(h,""),I.hasAttribute("title")||I.setAttribute("title",m))})}function xt(){if(L){let R=T.querySelector("["+l+"]");R&&R.removeAttribute(l),L.remove(),L=void 0}}function Fe(R,I){let z="";return Array.from(T.styleSheets).forEach(ne=>{try{z+=ir(ne.cssRules,R,I)}catch{}}),z}function ir(R,I,z){let ne="";return Array.from(R).forEach(ae=>{if(ae.cssRules&&ae.cssRules.length){let Je=ir(ae.cssRules,I,z);Je&&(ne+=ae.cssText.substring(0,ae.cssText.indexOf("{")+1)+Je+"}")}else if(ae.selectorText){let Je=ae.selectorText.replace(I,"["+z+"]");Je!=ae.selectorText&&(ne+=Je+"{"+ae.style.cssText+"}")}}),ne}function es(){let R=T.querySelector("h1")||T.body;R&&(R.setAttribute("tabindex","-1"),R.focus({preventScroll:!0}))}function Oe(R){let I=R.indexOf("#");return I==-1?R:R.substring(0,I)}function ar(R){let I=R.indexOf("#");return I==-1?void 0:R.substring(I)}})(content,{extract:async function ji(t,{password:e,prompt:n=()=>{},zipOptions:r={useWebWorkers:!0},noBlobURL:s,entries:i,pagePath:a=""}={}){let o={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},c=/stylesheet_[0-9]+\.css/,l=/scripts\/[0-9]+\.js/,u=/^([0-9_]+\/)?index\.html$/,f=/index\.html$/,d=/frames\//,_=/^frames\/\d+\/index.html/,h=/manifest\.json$/,E=";charset=utf-8",m=/([{}()^$&.*?/+|[\\\\]|\]|-)/g,A;if(zip.configure(r),!i){let b;t.readUint8Array?b=t:(Array.isArray(t)&&(t=new Blob([new Uint8Array(t)])),b=new zip.BlobReader(t)),A=new zip.ZipReader(b),i=await A.getEntries()}a&&(i=i.filter(b=>b.filename.startsWith(a)));let p={password:e},g,T,y,N=[],D=[],P=[];await Promise.all(i.map(async b=>{let C=b.filename.substring(a.length),U,O,L,F,q={};if(!p.password&&b.encrypted&&(p.password=n("Please enter the password to view the page")),C.match(f)||C.match(c)||C.match(l))C.match(f)?D.push(q):P.push(q),U=new zip.TextWriter,b.uncompressedSize>0?L=await b.getData(U,p):L="",C.match(f)?F="text/html"+E:C.match(c)?F="text/css"+E:C.match(l)&&(F="text/javascript"+E);else{N.push(q);let ie=C.match(/\.([^.]+)/);if(ie&&ie[1]&&o[ie[1]]?F=o[ie[1]]:F="application/octet-stream",C.match(d)||s)O=await b.getData(new zip.Data64URIWriter(F),p);else{let $=await b.getData(new zip.BlobWriter(F),p);O=URL.createObjectURL($)}}let G=C.match(/^([0-9_]+\/)?(.*)$/)[2],j="",ce=C.match(/(.*\/)[^/]+$/);ce&&ce[1]&&(j=ce[1]),Object.assign(q,{prefixPath:j,filename:C,name:G,url:b.comment,content:O,mimeType:F,textContent:L,parentResources:[]})})),A&&await A.close(),D.sort(k),P.sort(V),N=N.sort(k).concat(...P).concat(...D);for(let b of N){let{filename:C,prefixPath:U}=b,{textContent:O}=b;O!==void 0&&(C.match(u)&&(T=O),C.match(l)||(N.forEach(L=>{let{filename:F,parentResources:q,content:G}=L;if(F.startsWith(U)&&F!=b.filename){let j=F.substring(U.length);j.match(h)||O.includes(j)&&(q.push(b.filename),L.textContent===void 0&&(O=B(O,j,G)))}}),b.textContent=O))}for(let b of N){let{textContent:C,prefixPath:U,filename:O}=b;if(C!==void 0){if(!O.match(l)){let L=O;for(let F of N){let{filename:q}=F;if(q.startsWith(U)&&q!=L){let G=q.substring(U.length);G.match(h)||C.indexOf(G)!=-1&&(F.content=await x(F),C=B(C,G,F.content))}}b.textContent=C,b.content=await x(b)}O.match(u)&&(g=C,y=b.url)}}return{docContent:g,origDocContent:T,resources:N,url:y};async function x(b){return b.filename.match(d)&&!b.filename.match(_)||s?await M(b.textContent,b.mimeType):URL.createObjectURL(new Blob([b.textContent],{type:b.mimeType}))}async function M(b,C){let U=new Blob([b],{type:C}),O=new Uint8Array(await U.arrayBuffer()),L="";for(let F=0;F<O.length;F+=8192)L+=String.fromCharCode(...O.subarray(F,F+8192));return("data:"+(U.type||"application/octet-stream")+";base64,"+btoa(L)).replace(E,"")}function B(b,C,U){if(typeof b.replaceAll=="function")return b.replaceAll(C,U);{let O=new RegExp(C.replace(m,"\\$1"),"g");return b.replace(O,U)}}function k(b,C){let U=C.filename.length-b.filename.length;return U||C.filename.localeCompare(b.filename)}function V(b,C){let U=b.filename.length-C.filename.length;return U||b.filename.localeCompare(C.filename)}},display:async function $i(t,e,{disableFramePointerEvents:n,inPlace:r}={}){e=e.replace(/<noscript/gi,"<template disabled-noscript"),e=e.replace(/<\/noscript/gi,"</template");let s=new DOMParser().parseFromString(e,"text/html");if(n&&s.querySelectorAll("iframe").forEach(a=>{let o="pointer-events";a.style.setProperty("-sf-"+o,a.style.getPropertyValue(o),a.style.getPropertyPriority(o)),a.style.setProperty(o,"none","important")}),r&&s.compatMode==t.compatMode&&!s.querySelector("script")){await Promise.all(Array.from(s.querySelectorAll("link[rel~=stylesheet][href]")).map(c=>new Promise(l=>{let u=t.createElement("link");u.rel="preload",u.as="style",u.href=c.getAttribute("href"),u.onload=l,u.onerror=l,t.head.appendChild(u),setTimeout(l,500)})));let a=t.documentElement,o=t.adoptNode(s.documentElement);for(;a.attributes.length;)a.removeAttribute(a.attributes[0].name);if(Array.from(o.attributes).forEach(c=>a.setAttribute(c.name,c.value)),a.replaceChildren(...o.childNodes),t.querySelector("link[rel~=stylesheet][href]")){let c=t.createElement("style");c.textContent="html{visibility:hidden}",t.head.appendChild(c);let l=Date.now();for(;Date.now()-l<500&&Array.from(t.querySelectorAll("link[rel~=stylesheet][href]")).some(u=>!u.sheet);)await new Promise(u=>setTimeout(u,10));c.remove()}}else t.open(),t.write(i(s)),t.write(s.documentElement.outerHTML),t.close();t.querySelectorAll("template[disabled-noscript]").forEach(a=>{let o=t.createElement("noscript");a.removeAttribute("disabled-noscript"),Array.from(a.attributes).forEach(c=>o.setAttribute(c.name,c.value)),o.textContent=a.innerHTML,a.parentElement.replaceChild(o,a)}),t.documentElement.setAttribute("data-sfz",""),t.querySelectorAll("link[rel*=icon]").forEach(a=>a.replaceWith(a.cloneNode(!0)));function i(a){let o=a.doctype,c="";return o&&(c="<!DOCTYPE "+o.nodeName,o.publicId?(c+=' PUBLIC "'+o.publicId+'"',o.systemId&&(c+=' "'+o.systemId+'"')):o.systemId&&(c+=' SYSTEM "'+o.systemId+'"'),o.internalSubset&&(c+=" ["+o.internalSubset+"]"),c+="> "),c}}});return bootstrapStarted;}})();(async function H_(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",{Blob:e,XMLHttpRequest:n,document:r,zip:s,location:i}=globalThis,a=new Map([[65533,0],[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),o=new Uint32Array(256).map((d,_)=>{let h=_;for(let E=0;E<8;E++)h=h&1?3988292384^h>>>1:h>>>1;return h});return new Promise((d,_)=>{let h=!1;i.protocol=="file:"?E():m();async function E(){try{await c(r),r.body.querySelectorAll("meta, style").forEach(p=>r.head.appendChild(p));let A=u();l("sfz-wait-message",2),d(A)}catch(A){console.error(A),l("sfz-error-message",2),_(A)}}function m(){let A=new n;A.responseType="blob",A.open("GET",""),A.onerror=()=>{h?(l("sfz-error-message",2),_()):E()},A.send(),A.onreadystatechange=()=>{if(A.readyState===2&&A.status===200&&!h){h=!0;let p=A.getResponseHeader("Accept-Ranges")==="bytes";A.abort(),l("sfz-wait-message",2),p?d(new s.HttpRangeReader(i.href,{useXHR:!0,combineSizeEocd:!0})):m()}},h&&(A.onload=()=>d(A.response))}});function c(d){return new Promise(_=>{d.readyState==="complete"||d.readyState==="interactive"?_():d.addEventListener("DOMContentLoaded",()=>_())})}function l(d,_=0){let h=r.getElementById(d);h&&(Array.from(r.body.childNodes).forEach(E=>{E.id!=d&&(E.id=="sfz-wait-message"||E.id=="sfz-error-message"?E.hidden=!0:E.remove())}),h.hidden=!1,r.body.hidden=!1,h.style="opacity: 0; animation: 0s linear "+_+"s display-wait-message 1 normal forwards")}function u(){let d=r.querySelector("sfz-extra-data");if(d){let P=function(x){g[y]=x,D=D>>>8^o[(D^x)&255],y++},_=d.nextSibling;_&&_.nodeType==Node.TEXT_NODE&&_.nextSibling?_=_.nextSibling:_=d.previousSibling;let h=s.inflateRaw(f(d.textContent)),E=new Uint32Array(h.buffer,h.byteOffset,h.length>>2),m=E[0],A=E[1],p=E[2],g=new Uint8Array(A),{textContent:T}=_,y=0,N=0,D=-1;for(let x=0;x<T.length;x++){let M=T.charCodeAt(x);if(M==10){let B=E[3+(N>>4)]>>>(N&15)*2&3;N++,B==0?P(10):(P(13),B==2&&P(10))}else P(M>255?a.get(M):M)}if(D=(D^-1)>>>0,y!=A||N!=p||D!=m)throw new Error("Invalid checksum of the extracted zip data");return new e([g],{type:"application/octet-stream"})}throw new Error("Extra zip data data not found")}function f(d){d=String(d).replace(/[^A-Za-z0-9+/=]/g,"");let _=d.length,h=[];for(let E=0;E<_;E+=4){let m=t.indexOf(d[E]),A=t.indexOf(d[E+1]),p=t.indexOf(d[E+2]),g=t.indexOf(d[E+3]),T=m<<18|A<<12|(p&63)<<6|g&63;h.push(T>>16&255),d[E+2]!=="="&&h.push(T>>8&255),d[E+3]!=="="&&h.push(T&255)}return new Uint8Array(h)}})().then(globalThis.bootstrap).then(() => document.dispatchEvent(new CustomEvent("single-file-display-infobar"))).catch(error => {console.error(error);const waitMessage = document.getElementById("sfz-wait-message");if (waitMessage) { waitMessage.remove(); }const errorMessage = document.getElementById("sfz-error-message");if (errorMessage) { errorMessage.hidden = false; document.body.hidden = false; }});</script><!--PKn]���ż�
|
|
7
|
+
index.htmlUT$�j��Mo�@����rm����^���'DEs�8^��K���GK���ȉA�"UO;�Wϼ���G?_l��\�J�1V�
|
|
8
|
+
6*�y�a����[X�Vg���
|
|
9
|
+
�H��T;���7��A SKt�i�T����L�����{���T�E�9�e�7Zn����a6�� a漣�z�)�t�q�XAc|S�a��!Q����k�_u�]Ď�vF;zl���Z�Z���d�Cz��o�=���"lE��e��B-���� �fܝ��Ժ�
|
|
10
|
+
Ov�|y�ϠJ��3����Gk'�zwd��(~PKn]
|
|
11
|
+
̦��
|
|
12
|
+
x��`�'j�e�6��#( 'W�a��tQ�3q�j��rS�^LFP,��*؛7���;خ�oasY]���|���ޮ���'tp�S<f�)��zz]��'F��H\g��NI��H�L�0`O���y8��:QG)QS�:D�S���
|
|
13
|
+
6��KX_������8�XmV+xvG�3z؍9���c���=/��*#�y �Fn�V+v�I���;R�Ix�����RΔ�����I�д�.~�L�2St=�Lm���f�4%����9]d���(��9��^6���Y��"�H��Ɍdfm �.���j����ϛ.tg����~wc�%�w���dt6+P��<�d���R��/_j%-a�U�樕]��UҮ����L�
|
|
14
|
+
6�R�#���Ҥ �)G�z7_`�[I�K%{]|PKn]�.��� pages/3/manifest.jsonUT!$�jM���@E{�b��<vE�--�l�F���,YFcB�w4�瞓;'J����Y;�����C��$���&�@�g}X!a\�+
|
|
15
|
+
�:�9�������Uj/�1��\Yg�d�L��7b`�7��q
|
|
16
|
+
��⤝��d�PKn]�@ �
|
|
17
|
+
pages/4/index.htmlUT!$�j��Oo�@����^��N�
|
|
18
|
+
Rw�*�'�Rs�8^����f��푛�P�T=�����4���ǯ7�o��`�w
|
|
19
|
+
�Ӑ'BTp�#A�G���,��>YGPA�����Ե� )7���U�JW��=��aP2z�����PFX���r�V�妹����۳�z��77�9����D��P��[��m%���2�6��Al��6;Rw3&I�{e��詍4P�A�Ĺ� �jJ:�? �k5r`�с�4��9�@�W�,��= D"]��;1g�������"E
|
|
20
|
+
��T�R��4^�Q>�j��tQj�������o1Q��,��|���,N�7����>o^ϗ�9�<'�����n��`�-�*�RB�
|
|
21
|
+
C�T�Ա��I'C�R?�����}�Ǵ5$�nv�%֡�f[Et�E
|
|
22
|
+
�[7(o��k�D�/^�CKu��B�һD.�γ?5��v����wZ�������a|��G�w�ԞE�9�e�7Zn����a6�� a漣�zɩ�t�q�XAc|S�a7�!Q����[ÿ�,��1�v��&����,�;ɠ��l+�|b�c�KE؊�������Z>���'���͘���Tph�����+/�TCi�>Rz&sS�h�^��Yf#��PKn]v�GE�� pages/5/manifest.jsonUT$$�j]�;�0ОSX���@B|N@�t���WZ��,���K=of�L"��zD�ZH���eI�raf�ߛ�D���p<��%F&8��+/���D��#N'P���U���X�u���m� ��x���Q�9,��,���l�PKn]��#z�� sfz-toc.htmlUT$$�j�Sˎ�0��\iY�dG�����qs�K�
|
|
23
|
+
��1!��m������U�鹸SVE:
|
|
24
|
+
���index.htmlUT$�jhttp://localhost:8931/PKn]
|
|
25
|
+
̦��
|
|
26
|
+
$��Y&pages/4/index.htmlUT!$�jhttp://localhost:8931/sub/gamma.htmlPKn]��� ��(pages/4/manifest.jsonUT!$�jPKn]D�>*�� ���(pages/5/index.htmlUT$$�jhttp://localhost:8931/index.htmlPKn]v�GE�� ���*pages/5/manifest.jsonUT$$�jPKn]��#z�� ���+sfz-toc.htmlUT$$�jPKn]���)�� ���-sfz-pages.jsonUT$$�jPK��.--><sfz-extra-data>O8V3dXa4CAODIgMDg4uDCKMDY6AjkMkAAA==</sfz-extra-data></body></html>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!DOCTYPE html> <html data-sfz><!--
|
|
2
|
+
Page saved with SingleFile
|
|
3
|
+
url: http://localhost:8932/alpha.html
|
|
4
|
+
saved date: Thu Aug 27 2026 14:23:46 GMT+0200 (Central European Summer Time)
|
|
5
|
+
--><meta charset=windows-1252><title></title><link rel=canonical href="http://localhost:8932/alpha.html"><meta http-equiv=content-security-policy content="default-src 'none';connect-src 'self' data: blob:;font-src 'self' data: blob:;img-src 'self' data: blob:;style-src 'self' 'unsafe-inline' data: blob:;frame-src 'self' data: blob:;media-src 'self' data: blob:;script-src 'self' 'unsafe-inline' data: blob:;object-src 'self' data: blob:"><style>@keyframes display-wait-message{0%{opacity:0}100%{opacity:1}};body{color:transparent};div{color:initial}body>:not(#sfz-wait-message,#sfz-error-message){display:none}</style><body hidden><div id=sfz-wait-message>Please wait...</div><div id=sfz-error-message><strong>Error</strong>: Cannot extract the data of the page. The file is still a valid ZIP file, you can rename it with a "zip" extension and unzip it to display the page and its resources.</div><script>var zip=(()=>{var gi=(xe,Ce)=>()=>(Ce||xe((Ce={exports:{}}).exports,Ce),Ce.exports);var mi=gi((fn,ea)=>{((xe,Ce)=>{typeof fn=="object"&&typeof ea<"u"?Ce(fn):typeof define=="function"&&define.amd?define(["exports"],Ce):Ce((xe=typeof globalThis<"u"?globalThis:xe||self).zip={})})(fn,function(xe){"use strict";let{Array:Ce,Object:k,String:Gn,Number:le,BigInt:dn,Math:$,Date:xt,Map:lt,Set:ta,Response:na,URL:_n,Error:m,Uint8Array:H,Uint16Array:ra,Uint32Array:sa,DataView:ut,Blob:Mt,Promise:ft,TextEncoder:Yn,TextDecoder:hn,crypto:It,btoa:$n,TransformStream:se,ReadableStream:dt,WritableStream:ht,CompressionStream:Jn,DecompressionStream:Qn,navigator:wn,Worker:yi,setTimeout:pn,clearTimeout:gn}=typeof globalThis<"u"?globalThis:this||self,_e=4294967295,Ae=65535,Xt=255,mn=134695760,aa=mn,wt=33639248,er=101075792,tr=117853008,Be=22,pt=20,rt=56,yn=61440,nr=new xt(1980,0,1),g=void 0,st="undefined",Pe="function",rr="string",Ue=new H,kt="strict",bn="balanced",gt="tolerant";function sr(t){if(t&&typeof t!=Pe)throw new m("Invalid option (must be a function)");return t}function Sn(t){return typeof t==rr&&t.trim()?le(t):t}let ar=2;try{typeof wn!=st&&wn.hardwareConcurrency&&(ar=wn.hardwareConcurrency)}catch{}let ir={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ar,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof Jn!=st&&Jn,DecompressionStream:typeof Qn!=st&&Qn},or="maxWorkers",cr=["chunkSize",or,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lr=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ia=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...cr,...lr],zn={...ir};function vn(){return zn}function xn(t){return ur(t.chunkSize)}function ur(t){return t=Sn(t),le.isInteger(t)&&t>=1?$.max(t,64):65536}function fr(t){let e={};for(let n of ia){let r=t[n];r!==g&&(e[n]=oa(n,r))}return e}function oa(t,e){if(cr.includes(t)){if(e=Sn(e),t==or&&(!le.isInteger(e)||1>e))throw new m("Invalid maxWorkers (must be an integer greater than 0)")}else lr.includes(t)&&sr(e);return e}function dr(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(e===g&&n===g)return t;let r=k.assign({},t);return r.CompressionStreamFallback===g&&(r.CompressionStreamFallback=e),r.DecompressionStreamFallback===g&&(r.DecompressionStreamFallback=n),r}var we=H,Rt=ra,ca=Int32Array,hr=new we([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),wr=new we([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),la=new we([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),pr=(t,e)=>{for(var n=new Rt(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new ca(n[30]);for(r=1;30>r;++r)for(var a=n[r];a<n[r+1];++a)s[a]=a-n[r]<<5|r;return{b:n,r:s}},gr=pr(hr,2),mr=gr.b,ua=gr.r;mr[28]=258,ua[258]=28;for(var fa=pr(wr,0).b,kn=new Rt(32768),G=0;32768>G;++G){var mt=(43690&G)>>1|(21845&G)<<1;mt=(61680&(mt=(52428&mt)>>2|(13107&mt)<<2))>>4|(3855&mt)<<4,kn[G]=((65280&mt)>>8|(255&mt)<<8)>>1}var Lt=(t,e,n)=>{for(var r=t.length,s=0,a=new Rt(e);r>s;++s)t[s]&&++a[t[s]-1];var i,o=new Rt(e);for(s=1;e>s;++s)o[s]=o[s-1]+a[s-1]<<1;if(n){i=new Rt(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var u=s<<4|t[s],f=e-t[s],l=o[t[s]-1]++<<f,d=l|(1<<f)-1;d>=l;++l)i[kn[l]>>c]=u}else for(i=new Rt(r),s=0;r>s;++s)t[s]&&(i[s]=kn[o[t[s]-1]++]>>15-t[s]);return i},qt=new we(288);for(G=0;144>G;++G)qt[G]=8;for(G=144;256>G;++G)qt[G]=9;for(G=256;280>G;++G)qt[G]=7;for(G=280;288>G;++G)qt[G]=8;var yr=new we(32);for(G=0;32>G;++G)yr[G]=5;var da=Lt(qt,9,1),ha=Lt(yr,5,1),Rn=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},He=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Fn=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},wa=t=>(t+7)/8|0,Gt=(t,e,n)=>((e==null||0>e)&&(e=0),(n==null||n>t.length)&&(n=t.length),new we(t.subarray(e,n))),pa=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ne=(t,e,n)=>{var r=new m(e||pa[t]);if(r.code=t,m.captureStackTrace&&m.captureStackTrace(r,Ne),!n)throw r;return r},br=(t,e,n,r)=>{var s=t.length,a=r?r.length:0;if(!s||e.f&&!e.o)return n||new we(0);var i=!n,o=i||e.i!=2,c=e.i;i&&(n=new we(3*s));var u=Je=>{var zt=n.length;if(Je>zt){var je=new we($.max(2*zt,Je));je.set(n),n=je}},f=e.f||0,l=e.p||0,d=e.b||0,w=e.o,h=e.d,v=e.l,S=e.n,C=8*s;do{if(!w){f=He(t,l,1);var R=He(t,l+1,3);if(l+=3,!R){var p=t[(E=wa(l)+4)-4]|t[E-3]<<8,N=E+p;if(N>s){c&&Ne(0);break}o&&u(d+p),n.set(t.subarray(E,N),d),e.b=d+=p,e.p=l=8*N,e.f=f;continue}if(R==1)w=da,h=ha,v=9,S=5;else if(R==2){var U=He(t,l,31)+257,z=He(t,l+10,15)+4,I=U+He(t,l+5,31)+1;l+=14;for(var B=new we(I),A=new we(19),b=0;z>b;++b)A[la[b]]=He(t,l+3*b,7);l+=3*z;var F=Rn(A),W=(1<<F)-1,O=Lt(A,F,1);for(b=0;I>b;){var E,ne=O[He(t,l,W)];if(l+=15&ne,16>(E=ne>>4))B[b++]=E;else{var q=0,P=0;for(E==16?(P=3+He(t,l,3),l+=2,q=B[b-1]):E==17?(P=3+He(t,l,7),l+=3):E==18&&(P=11+He(t,l,127),l+=7);P--;)B[b++]=q}}var j=B.subarray(0,U),ae=B.subarray(U);v=Rn(j),S=Rn(ae),w=Lt(j,v,1),h=Lt(ae,S,1)}else Ne(1);if(l>C){c&&Ne(0);break}}o&&u(d+131072);for(var _=(1<<v)-1,Y=(1<<S)-1,De=l;;De=l){var Ze=(q=w[Fn(t,l)&_])>>4;if((l+=15&q)>C){c&&Ne(0);break}if(q||Ne(2),256>Ze)n[d++]=Ze;else{if(Ze==256){De=l,w=null;break}var St=Ze-254;if(Ze>264){var me=hr[b=Ze-257];St=He(t,l,(1<<me)-1)+mr[b],l+=me}var We=h[Fn(t,l)&Y],Ee=We>>4;if(We||Ne(3),l+=15&We,ae=fa[Ee],Ee>3&&(me=wr[Ee],ae+=Fn(t,l)&(1<<me)-1,l+=me),l>C){c&&Ne(0);break}o&&u(d+131072);var it=d+St;if(ae>d){var ot=a-ae,nt=$.min(ae,it);for(0>ot+d&&Ne(3);nt>d;++d)n[d]=r[ot+d]}for(;it>d;++d)n[d]=n[d-ae]}}e.o=w,e.p=De,e.b=d,e.f=f,w&&(f=1,e.l=v,e.d=h,e.n=S)}while(!f);return d!=n.length&&i?Gt(n,0,d):n.subarray(0,d)},ga=new we(0),ma=(function(){function t(e,n){typeof e=="function"&&(n=e,e={}),this.h=n;var r=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:r?r.length:0},this.v=new we(32768),this.p=new we(0),r&&this.v.set(r)}return t.prototype.e=function(e){if(this.h||Ne(5),this.d&&Ne(4),this.p.length){if(e.length){var n=new we(this.p.length+e.length);n.set(this.p),n.set(e,this.p.length),this.p=n}}else this.p=e},t.prototype.c=function(e){this.s.i=+(this.d=e||!1);var n=this.s.b,r=br(this.p,this.s,this.v);this.h(Gt(r,n,this.s.b),this.d),this.v=Gt(r,this.s.b-32768),this.s.b=this.v.length,this.p=Gt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(e,n){this.e(e),this.c(n)},t})(),ya=hn!==void 0&&new hn;try{ya.decode(ga,{stream:!0})}catch{}class ba extends se{constructor(e){super({start(n){e.h=r=>{r.length&&n.enqueue(r)}},transform(n){e.push(n)},flush(){e.push(new H(0),!0)}})}}let Sa=new lt,Cn=new lt;function Sr(t){return Cn.get(t)}let Bt=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let n=0;8>n;n++)e=1&e?e>>>1^3988292384:e>>>1;Bt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){let n=Bt[e-1][t];Bt[e][t]=n>>>8^Bt[0][255&n]}let[zr,za,va,xa,ka,Ra,Fa,Ca]=Bt;class Pt{constructor(e){this.S=e||-1}append(e){let n=0|this.S,r=0|e.length,s=0;if(r>=8&&e.buffer){let a=new ut(e.buffer,e.byteOffset,r),i=r-8;for(;i>=s;s+=8){let o=n^a.getInt32(s,!0),c=a.getInt32(s+4,!0);n=Ca[255&o]^Fa[o>>>8&255]^Ra[o>>>16&255]^ka[o>>>24&255]^xa[255&c]^va[c>>>8&255]^za[c>>>16&255]^zr[c>>>24&255]}}for(;r>s;s++)n=n>>>8^zr[255&(n^e[s])];this.S=n}get(){return~this.S}}class vr extends se{constructor(){let e,n=new Pt;super({transform(r,s){n.append(r),s.enqueue(r)},flush(){let r=new H(4);new ut(r.buffer).setUint32(0,n.get()),e.value=r}}),e=this}}function yt(t,e){let n=new H(t.length+e.length);return n.set(t),n.set(e,t.length),n}function Z(t){return new ut(t.buffer,t.byteOffset,t.byteLength)}let pe={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],r=pe.R(n);return r===32?t.concat(e):pe.D(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return 32*(e-1)+pe.R(n)},F(t,e){if(32*t.length<e)return t;let n=(t=t.slice(0,$.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=pe.C(e,t[n-1]&2147483648>>e-1,1)),t},C:(t,e,n)=>t===32?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>$.round(t/1099511627776)||32,D(t,e,n,r){for(r===void 0&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(e===0)return r.concat(t);for(let i=0;i<t.length;i++)r.push(n|t[i]>>>e),n=t[i]<<32-e;let s=t.length?t[t.length-1]:0,a=pe.R(s);return r.push(pe.C(e+a&31,e+a>32?n:r.pop(),1)),r}},_t={bytes:{A(t){let e=pe.bitLength(t)/8,n=new H(e),r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},T(t){let e=[],n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(pe.C(8*(3&n),r)),e}}},Aa=class{constructor(t){let e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.I=[1518500249,1859775393,2400959708,3395469782],t?(e.W=t.W.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){let t=this;return t.W=t.U.slice(0),t.M=[],t.O=0,t}update(t){let e=this;typeof t=="string"&&(t=_t.L.T(t));let n=e.M=pe.concat(e.M,t),r=e.O,s=e.O=r+pe.bitLength(t);if(s>9007199254740991)throw new m("Cannot hash more than 2^53 - 1 bits");let a=new sa(n),i=0;for(let o=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=o;o+=e.blockSize)e.P(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),e}B(){let t=this,e=t.M,n=t.W;e=pe.concat(e,[pe.C(1,1)]);for(let r=e.length+2;15&r;r++)e.push(0);for(e.push($.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.P(e.splice(0,16));return t.reset(),n}H(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}P(t){let e=this,n=e.W,r=Ce(80);for(let u=0;16>u;u++)r[u]=t[u];let s=n[0],a=n[1],i=n[2],o=n[3],c=n[4];for(let u=0;79>=u;u++){16>u||(r[u]=e.V(1,r[u-3]^r[u-8]^r[u-14]^r[u-16]));let f=e.V(5,s)+e.H(u,a,i,o)+c+r[u]+e.I[$.floor(u/20)]|0;c=o,o=i,i=e.V(30,a),a=s,s=f}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}},Ft={importKey:t=>new Ft.Z(_t.bytes.T(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new m("invalid params to pbkdf2");let s=1+(r>>5)<<2,a,i,o,c,u,f=new ArrayBuffer(s),l=new ut(f),d=0,w=pe;for(e=_t.bytes.T(e),u=1;(s||1)>d;u++){for(a=i=t.encrypt(w.concat(e,[u])),o=1;n>o;o++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>d&&o<a.length;o++)l.setInt32(d,a[o]),d+=4}return f.slice(0,r/8)},Z:class{constructor(t){let e=this,n=e._=Aa,r=[[],[]];e.j=[new n,new n];let s=e.j[0].blockSize/32;t.length>s&&(t=new n().update(t).B());for(let a=0;s>a;a++)r[0][a]=909522486^t[a],r[1][a]=1549556828^t[a];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){let t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){let t=this,e=t.K.B(),n=new t._(t.j[1]).update(e).B();return t.reset(),n}encrypt(t){if(this.G)throw new m("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Ua=typeof It!=st&&typeof It.getRandomValues==Pe,xr="Invalid password",kr="Invalid signature",Ta=kr,An="zipjs-abort-check-password";function Rr(t){if(Ua)return It.getRandomValues(t);throw new m("Crypto API not supported")}let Ct=16,Fr={name:"PBKDF2"},Da=k.assign({hash:{name:"HMAC"}},Fr),Un=k.assign({iterations:1e3,hash:{name:"SHA-1"}},Fr),Wa=["deriveBits"],Ht=[8,12,16],Nt=[16,24,32],et=10,Ea=[0,0,0,0],Yt=typeof It!=st,Ot=Yt&&It.subtle,Cr=Yt&&typeof Ot!=st,Ye=_t.bytes,Ma=class{constructor(t){let e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();let n=e.X[0][4],r=e.X[1],s=t.length,a,i,o,c=1;if(s!==4&&s!==6&&s!==8)throw new m("invalid aes key size");for(e.I=[i=t.slice(0),o=[]],a=s;4*s+28>a;a++){let u=i[a-1];(a%s===0||s===8&&a%s===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[255&u],a%s===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^u}for(let u=0;a;u++,a--){let f=i[3&u?a:a-4];o[u]=4>=a||4>u?f:r[0][n[f>>>24]]^r[1][n[f>>16&255]]^r[2][n[f>>8&255]]^r[3][n[255&f]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){let t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],a=[],i,o,c,u;for(let f=0;256>f;f++)a[(s[f]=f<<1^283*(f>>7))^f]=f;for(let f=i=0;!n[f];f^=o||1,i=a[i]||1){let l=i^i<<1^i<<2^i<<3^i<<4;l=l>>8^255&l^99,n[f]=l,r[l]=f,u=s[c=s[o=s[f]]];let d=16843009*u^65537*c^257*o^16843008*f,w=257*s[l]^16843008*l;for(let h=0;4>h;h++)t[h][f]=w=w<<24^w>>>8,e[h][l]=d=d<<24^d>>>8}for(let f=0;5>f;f++)t[f]=t[f].slice(0),e[f]=e[f].slice(0)}Y(t,e){if(t.length!==4)throw new m("invalid aes block size");let n=this.I[e],r=n.length/4-2,s=[0,0,0,0],a=this.X[e],i=a[0],o=a[1],c=a[2],u=a[3],f=a[4],l,d,w,h=t[0]^n[0],v=t[e?3:1]^n[1],S=t[2]^n[2],C=t[e?1:3]^n[3],R=4;for(let p=0;r>p;p++)l=i[h>>>24]^o[v>>16&255]^c[S>>8&255]^u[255&C]^n[R],d=i[v>>>24]^o[S>>16&255]^c[C>>8&255]^u[255&h]^n[R+1],w=i[S>>>24]^o[C>>16&255]^c[h>>8&255]^u[255&v]^n[R+2],C=i[C>>>24]^o[h>>16&255]^c[v>>8&255]^u[255&S]^n[R+3],R+=4,h=l,v=d,S=w;for(let p=0;4>p;p++)s[e?3&-p:p]=f[h>>>24]<<24^f[v>>16&255]<<16^f[S>>8&255]<<8^f[255&C]^n[R++],l=h,h=v,v=S,S=C,C=l;return s}},Ia=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;e===255?(e=0,n===255?(n=0,r===255?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){(t[0]=this.ot(t[0]))===0&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];let s=pe.bitLength(e);for(let a=0;r>a;a+=4){this.it(n);let i=t.encrypt(n);e[a]^=i[0],e[a+1]^=i[1],e[a+2]^=i[2],e[a+3]^=i[3]}return pe.F(e,s)}},La=Ft.Z,Ar=Yt&&Cr&&typeof Ot.importKey==Pe,Ur=Yt&&Cr&&typeof Ot.deriveBits==Pe;class qa extends se{constructor({password:e,rawPassword:n,encryptionStrength:r,checkPasswordOnly:s,checkAuthenticationCode:a=!0}){super({start(){Tr(this,e,n,r)},async transform(i,o){let c=this,{password:u,strength:f,ct:l,ready:d}=c;u?(await(async(h,v,S,C)=>{let R=await Wr(h,v,S,Te(C,0,Ht[v])),p=Te(C,Ht[v]);if(R[0]!=p[0]||R[1]!=p[1])throw new m(xr)})(c,f,u,Te(i,0,Ht[f]+2)),i=Te(i,Ht[f]+2),s?o.error(new m(An)):l()):await d;let w=new H(i.length-et-(i.length-et)%Ct);o.enqueue(Dr(c,i,w,0,et,!0))},async flush(i){let{ut:o,ft:c,lt:u,ready:f}=this;if(c&&o){await f;let l=Te(u,0,u.length-et),d=Te(u,u.length-et),w=Ue;if(l.length){let S=Zt(Ye,l);c.update(S);let C=o.update(S);w=Vt(Ye,C)}let h=Te(Vt(Ye,c.digest()),0,et),v=u.length<et?1:0;for(let S=0;et>S;S++)v|=h[S]^d[S];if(v&&a)throw new m(Ta);i.enqueue(w)}}})}}class Ba extends se{constructor({password:e,rawPassword:n,encryptionStrength:r}){super({start(){Tr(this,e,n,r)},async transform(s,a){let i=this,{password:o,strength:c,ct:u,ready:f}=i,l=Ue;o?(l=await(async(w,h,v)=>{let S=Rr(new H(Ht[h]));return yt(S,await Wr(w,h,v,S))})(i,c,o),u()):await f;let d=new H(l.length+s.length-s.length%Ct);d.set(l,0),a.enqueue(Dr(i,s,d,l.length,0))},async flush(s){let{ut:a,ft:i,lt:o,ready:c}=this;if(i&&a){await c;let u=Ue;if(o.length){let l=a.update(Zt(Ye,o));i.update(l),u=Vt(Ye,l)}let f=Vt(Ye,i.digest()).slice(0,et);s.enqueue(yt(u,f))}}})}}function Tr(t,e,n,r){k.assign(t,{ready:new ft(s=>t.ct=s),password:Pa(e,n),strength:r-1,lt:Ue})}function Dr(t,e,n,r,s,a){let{ut:i,ft:o,lt:c}=t;c.length&&(e=yt(c,e));let u=e.length-s,f;for(n=((l,d)=>{if(d&&d>l.length){let w=l;(l=new H(d)).set(w,0)}return l})(n,r+(u-u%Ct)),f=0;u-Ct>=f;f+=Ct){let l=Zt(Ye,Te(e,f,f+Ct));a&&o.update(l);let d=i.update(l);a||o.update(d),n.set(Vt(Ye,d),f+r)}return t.lt=Te(e,f),n}async function Wr(t,e,n,r){t.password=null;let s=await(async(f,l,d,w,h)=>{if(!Ar)return Ft.importKey(l);try{return await Ot.importKey("raw",l,d,!1,h)}catch{return Ar=!1,Ft.importKey(l)}})(0,n,Da,0,Wa),a=await(async(f,l,d)=>{if(!Ur)return Ft.N(l,f.salt,Un.iterations,d);try{return await Ot.deriveBits(f,l,d)}catch{return Ur=!1,Ft.N(l,f.salt,Un.iterations,d)}})(k.assign({salt:r},Un),s,8*(2*Nt[e]+2)),i=new H(a),o=Zt(Ye,Te(i,0,Nt[e])),c=Zt(Ye,Te(i,Nt[e],2*Nt[e])),u=Te(i,2*Nt[e]);return k.assign(t,{keys:{key:o,wt:c,passwordVerification:u},ut:new Ia(new Ma(o),Ce.from(Ea)),ft:new La(c)}),u}function Pa(t,e){return e===g?(n=>{if(typeof Yn==st){let r=new H((n=unescape(encodeURIComponent(n))).length);for(let s=0;s<r.length;s++)r[s]=n.charCodeAt(s);return r}return new Yn().encode(n)})(t):e}function Te(t,e,n){return t.subarray(e,n)}function Vt(t,e){return t.A(e)}function Zt(t,e){return t.T(e)}class Ha extends se{constructor({password:e,rawPassword:n,passwordVerification:r,checkPasswordOnly:s}){super({start(){Er(this,e,n,r)},transform(a,i){let o=this;if(o.password||o.rawPassword){let c=Mr(o,a.subarray(0,12));if(o.password=o.rawPassword=null,(c[11]^o.passwordVerification)!=0)throw new m(xr);a=a.subarray(12)}s?i.error(new m(An)):i.enqueue(Mr(o,a))}})}}class Na extends se{constructor({password:e,rawPassword:n,passwordVerification:r}){super({start(){Er(this,e,n,r)},transform(s,a){let i=this,o,c;if(i.password||i.rawPassword){i.password=i.rawPassword=null;let u=Rr(new H(12));u[11]=i.passwordVerification,o=new H(s.length+u.length),o.set(Ir(i,u),0),c=12}else o=new H(s.length),c=0;o.set(Ir(i,s),c),a.enqueue(o)}})}}function Er(t,e,n,r){k.assign(t,{password:e,rawPassword:n,passwordVerification:r}),((s,a,i)=>{let o=[305419896,591751049,878082192];if(k.assign(s,{keys:o,ht:new Pt(o[0]),yt:new Pt(o[2])}),i)for(let c=0;c<i.length;c++)$t(s,i[c]);else for(let c=0;c<a.length;c++)$t(s,a.charCodeAt(c))})(t,e,n)}function Mr(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,n[r]);return n}function Ir(t,e){let n=new H(e.length);for(let r=0;r<e.length;r++)n[r]=Lr(t)^e[r],$t(t,e[r]);return n}function $t(t,e){let[,n]=t.keys;t.ht.append([e]);let r=~t.ht.get();n=Br($.imul(Br(n+qr(r)),134775813)+1),t.yt.append([n>>>24]);let s=~t.yt.get();t.keys=[r,n,s]}function Lr(t){let e=2|t.keys[2];return qr($.imul(e,1^e)>>>8)}function qr(t){return 255&t}function Br(t){return 4294967295&t}function At(t){if(t instanceof dt)return t;let e=t.getReader();return new dt({async pull(n){let{value:r,done:s}=await e.read();s?n.close():n.enqueue(r)},cancel:n=>e.cancel(n)})}function Jt(t,e){t=At(t);let n=e?{type:e}:{};if(typeof Mt.prototype.stream!=Pe||new Mt([]).stream()instanceof dt)return new na(t).blob().then(s=>e?new Mt([s],n):s);let r=[];return t.pipeTo(new ht({write(s){r.push(s)}})).then(()=>new Mt(r,n))}function Oa(t){if(t instanceof ht)return t;let e=t.getWriter();return new ht({write:n=>e.write(n),close:()=>e.close(),abort:n=>e.abort(n)})}let Tn="Invalid uncompressed size",Va=kr,Pr="deflate-raw",Dn="gzip",Za=[31,139,8];class ja extends se{constructor(e,{chunkSize:n,CompressionStreamFallback:r,CompressionStream:s}){super({});let{compressed:a,encrypted:i,useCompressionStream:o,zipCrypto:c,computeCrc32:u,level:f,deflate64:l,format:d,compressionMethod:w,inputSize:h}=e,v=this,S,C,R,p=super.readable,N=d&&Sr(d),U=u&&a&&!l&&!N&&(!i||c)&&!(!o||!s);if(i&&!c||!u||U||(S=new vr,p=Oe(p,S)),a)if(N)p=Ut(p,Vr(N.CompressionStream,d,{level:f,chunkSize:n,compressionMethod:w,uncompressedSize:h}));else if(U)R=new Hr,p=Ut(p,new s(Dn)),p=Oe(p,R);else try{p=Zr(p,o,{level:f,chunkSize:n},s,r)}catch(z){let I;try{I=new s(Dn)}catch{throw z}p=Ut(p,I),p=Oe(p,new Hr)}i&&(c?p=Oe(p,new Na(e)):(C=new Ba(e),p=Oe(p,C))),Or(v,p,()=>{i&&!c||!u||(v.crc32=U?R.crc32:new ut(S.value.buffer).getUint32(0))})}}class Hr extends se{constructor(){let e,n=10,r=new H(0);super({transform(s,a){if(n){let u=$.min(n,s.length);if(n-=u,!(s=s.subarray(u)).length)return}let i=r.length+s.length;if(8>=i)return void(r=yt(r,s));let o=i-8,c=$.min(o,r.length);a.enqueue(yt(r.subarray(0,c),s.subarray(0,o-c))),r=yt(r.subarray(c),s.subarray(o-c))},flush(){let s=Z(r);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}}class Ka extends se{constructor(e,{chunkSize:n,DecompressionStreamFallback:r,DecompressionStream:s}){super({});let{zipCrypto:a,encrypted:i,checkCrc32:o,crc32:c,compressed:u,useCompressionStream:f,deflate64:l,format:d,compressionMethod:w,rawBitFlag:h,outputSize:v}=e,S,C,R=super.readable;if(i&&(a?R=Oe(R,new Ha(e)):(C=new qa(e),R=Oe(R,C))),u){let p=d&&Sr(d);if(p)R=Ut(R,Vr(p.DecompressionStream,d,{chunkSize:n,compressionMethod:w,rawBitFlag:h,uncompressedSize:v}));else try{R=Zr(R,f,{chunkSize:n,deflate64:l},s,r)}catch(N){if(l||v===g)throw N;let U;try{U=new s(Dn)}catch{throw N}R=((z,I,B)=>{let A=new Pt,b,F,W,O=0,E=!1,ne=new ft((_,Y)=>{F=_,W=Y});ne.catch(()=>{}),B||F();let q=new se({start(_){let Y=new H(10);Y.set(Za),_.enqueue(Y)},transform(_,Y){Y.enqueue(_)},async flush(_){E=!0,j();try{await ne}finally{ae()}let Y=new H(8),De=Z(Y);De.setUint32(0,A.get(),!0),De.setUint32(4,B,!0),_.enqueue(Y)},cancel(_){W(_)}}),P=new se({transform(_,Y){A.append(_),O+=_.length,B>O?E&&j():F(),Y.enqueue(_)},cancel(_){W(_)}});return z=Oe(z,q),Oe(z=Ut(z,I),P);function j(){ae(),b=pn(()=>W(new m(Tn)),5e3)}function ae(){gn(b)}})(R,U,v)}R=(N=>{let U=N.getReader();return new dt({async pull(z){let I;try{I=await U.read()}catch(b){if(b&&b.message)throw b;let F=new m("Invalid compressed data");throw F.cause=b,F}let{value:B,done:A}=I;A?z.close():z.enqueue(B)},cancel:z=>U.cancel(z)})})(R)}o&&(S=new vr,R=Oe(R,S)),Or(this,R,()=>{if(o){let p=new ut(S.value.buffer);if(c!=p.getUint32(0,!1))throw new m(Va)}})}}let Nr=new lt;function Or(t,e,n){e=Oe(e,new se({flush:n})),k.defineProperty(t,"readable",{get:()=>e})}function Vr(t,e,n){if(!t)throw new m("Compression method not supported");return new t(e,n)}function Zr(t,e,n,r,s){let a=e&&r?r:s||r,i=n.deflate64?"deflate64-raw":Pr,o;try{o=new a(i,n)}catch(c){if(!e||!s||a==s)throw c;o=new s(i,n)}return Ut(t,o)}function Oe(t,e){return At(t).pipeThrough(e)}function Ut(t,e){let n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;let s=await r.read();if(s.done){await n.close();break}await n.write(s.value)}}catch(s){await(async(a,i)=>{try{await a.abort(i)}catch{}})(n,s),await(async(a,i)=>{try{await a.cancel(i)}catch{}})(r,s)}})(),e.readable}let jr="deflate",Kr="inflate";class Xa extends se{constructor(e,n){super({});let r=this,{codecType:s}=e,a;s.startsWith(jr)?a=ja:s.startsWith(Kr)&&(a=Ka),r.outputSize=0;let i=0,o=new a(e,n),c=super.readable,u=new se({transform(l,d){l&&l.length&&(i+=l.length,d.enqueue(l))},flush(){k.assign(r,{inputSize:i})}}),f=new se({transform(l,d){if(l&&l.length&&(d.enqueue(l),r.outputSize+=l.length,e.outputSize!==g&&r.outputSize>e.outputSize))throw new m(Tn)},flush(){let{crc32:l}=o;k.assign(r,{crc32:l,inputSize:i})}});k.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(o).pipeThrough(f)})}}class Xr extends se{constructor(e){let n=[],r=0;function s(){let a=new H(e),i=0;for(;e>i;){let o=n[0],c=e-i;o.length>c?(a.set(o.subarray(0,c),i),n[0]=o.subarray(c),i+=c):(a.set(o,i),i+=o.length,n.shift())}return r-=e,a}le.isFinite(e)&&e>=1||(e=65536),super({transform(a,i){for(n.push(a),r+=a.length;r>e;)i.enqueue(s())},flush(a){r&&a.enqueue(((i,o)=>{let c=new H(o),u=0;for(let f of i)c.set(f,u),u+=f.length;return c})(n,r))}})}}class Qt{constructor(e,{readable:n,writable:r},{options:s,config:a,gt:i,useWebWorkers:o,transferStreams:c,workerURI:u,createWorker:f},l){let{signal:d}=i;return k.assign(e,{bt:!0,vt:(e.vt||0)+1,readable:n.pipeThrough(new Xr(xn(a))).pipeThrough(new Ga(i),{signal:d}),writable:r,options:k.assign({},s),workerURI:u,createWorker:f,transferStreams:c,terminate:()=>new ft(w=>{let{St:h,bt:v}=e;h?(v?e.kt=w:(h.terminate(),w()),e.xt=null):w()}),zt(){if(e.bt){let{kt:w}=e;w&&(e.kt=null,e.Rt=!0,e.St.terminate(),w()),e.bt=!1,l(e)}}}),((w,h)=>({run:()=>(async({options:v,readable:S,writable:C,zt:R},p)=>{let N;try{if(v.compressed&&!v.format){let B=v.codecType.startsWith(jr),A=B?p.CompressionStreamFallback:p.DecompressionStreamFallback,b=B?p.CompressionStream:p.DecompressionStream;if(v.useCompressionStream){if(A&&A.Dt&&!((F,W)=>{if(!F)return!1;let O=Nr.get(F);O||(O=new lt,Nr.set(F,O));let E=O.get(W);if(E===g){try{new F(W),E=!0}catch{E=!1}O.set(W,E)}return E})(b,Pr))try{await void 0}catch{}}else try{await void 0}catch{A&&!A.Dt||(v.useCompressionStream=!0)}}N=new Xa(v,p),await S.pipeThrough(N).pipeThrough(new Xr(xn(p))).pipeTo(C,{preventClose:!0,preventAbort:!0});let{crc32:U,inputSize:z,outputSize:I}=N;return{crc32:U,inputSize:z,outputSize:I}}catch(U){throw N&&(U.outputSize=N.outputSize),U}finally{R()}})(w,h)}))(e,a)}}class Ga extends se{constructor({onstart:e,onprogress:n,size:r,onend:s}){let a=0;super({async start(){e&&await Wn(e,r)},async transform(i,o){a+=i.length,n&&await Wn(n,a,r),o.enqueue(i)},async flush(){s&&await Wn(s,a)}})}}async function Wn(t,...e){try{await t(...e)}catch{}}let bt=[],Tt=[],Dt,en,Gr=0;function tn(){!Dt&&Tt.length&&le.isFinite(en)&&en>=0&&(Dt=pn(_a,en))}function _r(){Dt&&(gn(Dt),Dt=null)}function _a(){if(Dt=null,Tt.length){let[{resolve:t,stream:e,Ft:n}]=Tt.splice(0,1),r=k.assign({},n,{useWebWorkers:!1,workerURI:g,createWorker:g});t(new Qt({},e,r,Ya)),tn()}}function Ya(){_r(),tn()}function Yr(t){let{Ct:e}=t;e&&(gn(e),t.Ct=null)}let $a="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("");function nn(t,e){return $r(t,e,!0)}function $r(t,e,n){return e&&e.trim().toLowerCase()=="cp437"?(r=>{{let s="";for(let a=0;a<r.length;a++)s+=$a[r[a]];return s}})(t):new hn(e,{ignoreBOM:n}).decode(t)}let Jr="HTTP error ",tt="HTTP Range not supported",Qr="HTTP resource changed",En="Content-Range",Ja="Range",rn="GET",es="bytes",Qa=16777216,Mn="writable",ts=Symbol();class sn{constructor(){this.size=0}init(){this.initialized=!0}}class jt extends sn{get readable(){return this.createReadable()}createReadable({offset:e=0,size:n,chunkSize:r=xn(vn())}={}){let s=this,a=0;return r=ur(r),new dt({async pull(i){let o=n===g?r:$.min(r,n-a),c=await ee(s,e+a,o);c.length&&i.enqueue(c),a+r>=n||!c.length&&o?i.close():a+=r}})}}class ei extends sn{constructor(){super();let e=this,n=new ht({write(r){if(!e.initialized)throw new m("Writer not initialized");return e.writeUint8Array((s=r).byteOffset||s.byteLength!=s.buffer.byteLength?new H(s):s);var s}});k.defineProperty(e,Mn,{get:()=>n})}writeUint8Array(){}}let In,ns;class Ln extends jt{constructor(e){super(),k.assign(this,{At:e,size:e.size}),ns||(ns=(async()=>{try{let n=new Mt([new H(3)]).slice(1,2).stream().getReader(),r=0,s=await n.read();for(;!s.done;)r+=s.value.length,s=await n.read();In=r==1}catch{In=!1}})())}createReadable(e){let{At:n,size:r}=this,{offset:s=0,size:a=r-s}=e||{};return s||r>a?In?At(n.slice(s,s+a).stream()):super.createReadable(e):At(n.stream())}async readUint8Array(e,n){let r=this,s=e+n,i=await(e||s<r.size?r.At.slice(e,s):r.At).arrayBuffer();return i.byteLength>n&&(i=i.slice(e,s)),new H(i)}}class rs extends sn{constructor(e){super();let n=this,r=new se;k.defineProperty(n,Mn,{get:()=>r.writable}),n.contentType=e,n.Tt=Jt(r.readable,e),n.Tt.catch(()=>{})}getData(){return this.Tt}}class ti extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,an,us),super.init()}createReadable(e){let n=this,{useRangeHeader:r,forceRangeRequests:s,size:a}=n;if((r||s)&&a!==g){let{offset:i=0,size:o=a-i}=e||{};if(o>0&&a>i)return((c,u,f)=>{let l,d=u,w=0,h=f;return new dt({start:()=>v(),async pull(S){l||await v();let{value:C,done:R}=await l.read();if(R)throw new m(tt);let p=C.length>w?C.subarray(0,w):C;w-=p.length,h-=p.length,p.length&&S.enqueue(p),w||(await(async()=>{let N=l;l=g,await N.cancel()})(),h||S.close())},cancel:S=>l&&l.cancel(S)});async function v(){let S=$.min(c.maximumRangeSize,h),C=await an(rn,c,Bn(c,d,S));if(C.status!=206)throw new m(tt);let R=C.headers.get(En);if(R){let p=le(R.trim().split(/[\s-]+/)[1]);if(!le.isNaN(p)&&p!=d)throw new m(tt)}ls(c,C),qn(c,C),d+=S,w=S,l=C.body.getReader()}})(n,i,$.min(o,a-i))}return super.createReadable(e)}readUint8Array(e,n){return is(this,e,n,an,us)}}class ni extends jt{constructor(e,n){super(),ss(this,e,n)}async init(){await as(this,Hn,fs),super.init()}readUint8Array(e,n){return is(this,e,n,Hn,fs)}}function ss(t,e,n){let{preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=Qa,fetch:u}=n;delete(n=k.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,k.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o,maximumRangeSize:c,fetch:u})}async function as(t,e,n){let{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=t;if((c=>{let{baseURI:u}=vn(),{protocol:f}=new _n(c,u);return f=="http:"||f=="https:"})(r)&&(a||i)&&(typeof s==st||s)){let c=await e(rn,t,Bn(t,o?-22:void 0)),u=c.headers.get("Accept-Ranges");if(!(i||u&&u.toLowerCase()==es))throw new m(tt);{if(o){let l=new H(await c.arrayBuffer());c.status==206&&l.length==Be&&(t.Ut=l)}qn(t,c);let f=os(c);f===g?await hs(t,e,n):t.size=f}}else await hs(t,e,n)}async function is(t,e,n,r,s){let{useRangeHeader:a,forceRangeRequests:i,Ut:o,size:c,options:u}=t;if(a||i){if(o&&e==c-Be&&n==Be)return o;if(c>e&&n!==0){e+n>c&&(n=c-e);let f=await r(rn,t,Bn(t,e,n));if(f.status!=206)throw new m(tt);let l=f.headers.get(En);if(l){let w=le(l.trim().split(/[\s-]+/)[1]);if(!le.isNaN(w)&&w!=e)throw new m(tt)}ls(t,f),qn(t,f);let d=new H(await f.arrayBuffer());if(d.length!=n)throw new m(tt);return d}return Ue}{let{data:f}=t;return f||await s(t,u),t.data.subarray(e,e+n)}}function os(t){let e=t.headers.get(En);if(e){let n=e.trim().split(/\s*\/\s*/)[1];if(n&&n!="*"){let r=le(n);if(!le.isNaN(r))return r}}}function cs({headers:t}){return{Et:t.get("Etag")||g,lastModified:t.get("Last-Modified")||g}}function qn(t,e){let{checkResourceChanges:n,It:r}=t;n&&!r&&e.status==206&&(t.It=cs(e))}function ls(t,e){let{checkResourceChanges:n,It:r,size:s}=t;if(n){let a=os(e);if(a!==g&&s!==g&&a!=s)throw new m(Qr);if(r){let i=cs(e);if(k.entries(r).some(([o,c])=>c!==g&&i[o]!==g&&c!=i[o]))throw new m(Qr)}}}function Bn(t,e=0,n=1){return k.assign({},Pn(t),{[Ja]:es+"="+(0>e?e:e+"-"+(e+n-1))})}function Pn({options:t}){let{headers:e}=t;if(e)return Symbol.iterator in e?k.fromEntries(e):e}async function us(t){await ds(t,an)}async function fs(t){await ds(t,Hn)}async function ds(t,e){let n=await e(rn,t,Pn(t));t.data=new H(await n.arrayBuffer()),t.size=t.data.length}async function hs(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{let r=await e("HEAD",t,Pn(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=le(s):await n(t,t.options)}}async function an(t,{fetch:e=fetch,options:n,url:r},s){let a=await e(r,k.assign({},n,{method:t,headers:s}));if(400>a.status)return a;throw a.status==416?new m(tt):new m(Jr+(a.statusText||a.status))}function Hn(t,{url:e},n){return new ft((r,s)=>{let a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){let i=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{let c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,u=>u.toUpperCase()),i.push(c)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new lt(i)})}else s(a.status==416?new m(tt):new m(Jr+(a.statusText||a.status)))},!1),a.addEventListener("error",i=>s(i.detail?i.detail.error:new m("Network error")),!1),a.open(t,e),n)for(let i of k.entries(n))a.setRequestHeader(i[0],i[1]);a.responseType="arraybuffer",a.send()})}class ri extends jt{constructor(e,n={}){super(),k.assign(this,{url:e,reader:n.useXHR&&!n.fetch?new ni(e,n):new ti(e,n)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,n){return this.reader.readUint8Array(e,n)}}class si extends jt{constructor(e){super(),this.Wt=e}async init(){let e=this;e.Mt=0;let n=e.Wt=await ft.all(e.Wt.map(oi));e.Ot=n.map(r=>{let s=e.size;return e.size+=r.size,s}),super.init()}Lt(e){let{Ot:n,size:r}=this,s=n[e];return s===g?r:s}async readUint8Array(e,n){let r=this,{Wt:s}=this,a,i=0,o=e;for(;s[i]&&o>=s[i].size;)o-=s[i].size,i++;let c=s[i];if(c){let u=c.size;if(o+n>u){let f=u-o;a=yt(await ee(c,o,f),await r.readUint8Array(e+f,n-f))}else a=await ee(c,o,n)}else a=Ue;return r.Mt=$.max(i,r.Mt),a}}class ai extends sn{constructor(e,n=4294967295){super();let r=this,s,a,i;k.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o=new ht({async write(l){if(l===ts)return void(i&&await u());let{availableSize:d}=r;if(i)l.length<d?await c(l):(await c(l.subarray(0,d)),await u(),l.length>d&&await this.write(l.subarray(d)));else{let{value:w,done:h}=await e.next();if(h&&!w)throw new m("Writer iterator completed too soon");s=w,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Wt(s),a=w.writable,i=a.getWriter(),await this.write(l)}},async close(){i&&(await i.ready,await f())},async abort(l){i&&await i.abort(l)}});async function c(l){let d=l.length;d&&(await i.ready,await i.write(l),s.size+=d,r.availableSize-=d)}async function u(){await f(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function f(){await i.close()}k.defineProperty(r,Mn,{get:()=>o})}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(ts)}finally{e.releaseLock()}}}class ws{constructor(e){return Ce.isArray(e)&&(e=new si(e)),(e instanceof dt||typeof e.getReader==Pe)&&(e={readable:At(e)}),e}}class ii{constructor(e){return e.writable===g&&typeof e.next==Pe&&(e=new ai(e)),(e instanceof ht||typeof e.getWriter==Pe)&&(e={writable:Oa(e)}),e.size===g&&(e.size=0),e}}async function Wt(t,e){if(!t.init||t.initialized)return ft.resolve();await t.init(e)}async function oi(t){return t=new ws(t),await Wt(t),t.size!==g&&t.readUint8Array||(t=new Ln(await Jt(t.readable)),await Wt(t)),t}function ee(t,e,n){return t.readUint8Array(e,n)}let ps="filename",gs="rawFilename",ms="comment",ys="rawComment",bs="uncompressedSize",Ss="compressedSize",zs="offset",vs="diskNumberStart",Nn="lastModDate",On="rawLastModDate",xs="lastAccessDate",ks="rawLastAccessDate",Rs="creationDate",Fs="rawCreationDate",ci=[ps,gs,bs,Ss,Nn,On,ms,ys,xs,ks,Rs,Fs,zs,vs,"internalFileAttributes","externalFileAttributes","internalFileAttribute","externalFileAttribute","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Cs{constructor(e){ci.forEach(n=>this[n]=e[n])}}let on="File format is not recognized",As="Encryption method not supported",Us="Compression method not supported",Ts="Split zip file",Ds="malformed extra field",Ws="wrapped entries count",Es="appended data",Ms="prepended data",cn="mismatched zip64 end of central directory record",li=/^[a-zA-Z]:/,Is="utf-8",Ls="cp437",ui=[[bs,_e],[Ss,_e],[zs,_e],[vs,Ae]],qs={[Ae]:{Pt:D,bytes:4},[_e]:{Pt:ke,bytes:8}},fi=dn(le.MAX_SAFE_INTEGER);class di{constructor(e,n){k.assign(this,{reader:e,options:n})}async getData(e,n,r,s={}){let a=this,i=vn(),{reader:o,index:c,offset:u,diskNumberStart:f,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,bitFlag:h,rawBitFlag:v,crc32:S,rawLastModDate:C,uncompressedSize:R,compressedSize:p}=a,{dataDescriptor:N}=h,U=n.localDirectory={},z=n.warnings=[],I=Et(o,f)+u,B=await ee(o,I,30),A=Z(B),b=J(a,s,"password"),F=J(a,s,"rawPassword"),W=J(a,s,"passThrough");if(((x,T)=>{if(x&&typeof x!=rr||T&&!(T instanceof H))throw new m("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(b,F),b=b&&b.length&&b,F=F&&F.length&&F,l&&l.originalCompressionMethod!=99)throw new m(Us);if(30>B.length||D(A,0)!=67324752)throw new m("Local file header not found");Ps(U,A,4);let{extraFieldLength:O,filenameLength:E}=U,ne=U.dataOffset=I+30+E+O,q=J(a,s,"checkLocalDirectory"),P=Gs(s,a.options),j=((x,T)=>x===g?T!=gt:!!x)(q,P),ae=((x,T)=>x===g?T==kt:!!x)(q,P),_=Ue;if(ae&&(E||O)){let x=await ee(o,I+30,E+O);_=x.subarray(0,E),U.rawExtraField=x.subarray(E)}else U.rawExtraField=O?await ee(o,I+30+E,O):Ue;ae&&(U.rawFilename=_),Hs(a,U,A,4,!0)&&Ve(z,Ds),((x,T,V,re,Q)=>{let{rawFilename:Se}=x,Re=!Q,ze=x.Bt&&!(8192&~T.rawBitFlag);!re||ze||V.length==Se.length&&!V.some((Xe,ve)=>Xe!=Se[ve])||$e(Re,Q,"mismatched local file header (filename)"),(2057&T.rawBitFlag)!=(2057&x.rawBitFlag)&&$e(Re,Q,"mismatched local file header (general purpose bit flag)"),T.compressionMethod!=x.compressionMethod&&$e(Re,Q,"mismatched local file header (compression method)"),T.bitFlag.dataDescriptor||ze||!(T.crc32||T.compressedSize||T.uncompressedSize)||T.crc32==x.crc32&&T.compressedSize==x.compressedSize&&T.uncompressedSize==x.uncompressedSize||$e(Re,Q,"mismatched local file header (crc32 or sizes)")})(a,U,_,ae,j?g:z);let{lastAccessDate:Y,creationDate:De,uid:Ze,gid:St}=U;Y&&(n.lastAccessDate=Y),De&&(n.creationDate=De),Ze!==g&&n.uid===g&&(n.uid=Ze),St!==g&&n.gid===g&&(n.gid=St);let me=a.encrypted&&U.encrypted&&!W,We=me&&!l;if(W||(n.zipCrypto=We),me&&!(64&~U.rawBitFlag))throw new m(As);let Ee=W?g:(x=>Sa.get(x))(w);if(w!=0&&w!=8&&w!=9&&!Ee&&!W)throw new m(Us);if(me){if(!We&&(1>l.strength||l.strength>3))throw new m(As);if(!b&&!F)throw new m("File contains encrypted entry")}if(ne+p>o.size)throw new m("Entry data out of bounds");let it=p,ot=At(o.createReadable({offset:ne,size:it})),nt=(x=>{if(x&&(typeof x.addEventListener!=Pe||typeof x.aborted!="boolean"))throw new m("Invalid signal (must be an AbortSignal instance)");return x||g})(J(a,s,"signal")),Je=J(a,s,"checkPasswordOnly"),zt=J(a,s,"checkOverlappingEntry"),je=J(a,s,"checkOverlappingEntryOnly");je&&(zt=!0);let{onstart:M,onprogress:y,onend:te}=s,K=w!=0&&!W,ue=W?p:R,de=w==9,ie=J(a,s,"useCompressionStream");de&&(ie=!1);let Me=J(a,s,"checkCrc32"),he=(Me===g?J(a,s,"checkSignature"):Me)&&!W&&(!me||We||l&&l.vendorVersion==1),ye={options:{codecType:Kr,password:b,rawPassword:F,zipCrypto:We,encryptionStrength:l&&l.strength,checkCrc32:he,checkAuthenticationCode:J(a,s,"checkAuthenticationCode"),passwordVerification:We&&(N?C>>>8&Xt:S>>>24&Xt),outputSize:ue,crc32:S,compressed:K,encrypted:me,useWebWorkers:J(a,s,"useWebWorkers"),useCompressionStream:ie,transferStreams:J(a,s,"transferStreams"),deflate64:de,format:Ee?Ee.format:g,codecURI:Ee?Ee.codecURI:g,compressionMethod:w,rawBitFlag:v,checkPasswordOnly:Je},config:i,gt:{signal:nt,size:it,onstart:M,onprogress:y,onend:te}},be,Ke;zt&&await(async({reader:x,Ht:T,index:V,offset:re,crc32:Q,compressedSize:Se,uncompressedSize:Re,dataOffset:ze,dataDescriptor:Xe,extraFieldZip64:ve,Vt:oe})=>{let Fe=0;if(Xe&&(Fe=ve?20:12),Fe){let ge=await ee(x,ze+Se,Fe+4),Le=Z(ge),qe=ge.length==Fe+4&&D(Le,0)==aa;if(qe){let Qe=js(Le,4,ve);(T.encrypted&&!T.zipCrypto||Qe.crc32==Q)&&Qe.compressedSize==Se&&Qe.uncompressedSize==Re?Fe+=4:qe=!1}if(ge.length>=Fe){let Qe=js(Le,qe?4:0,ve);Qe.signature=qe,T.localDirectory.dataDescriptor=Qe}}let Ie={start:re,end:ze+Se+Fe,Ht:T};for(let[ge,Le]of oe)if(ge!=V&&Ie.start<Le.end&&Le.start<Ie.end){let qe=new m("Overlapping entry found");throw qe.overlappingEntry=Le.Ht,qe}oe.set(V,Ie)})({reader:o,Ht:n,index:c,offset:I,crc32:S,compressedSize:p,uncompressedSize:R,dataOffset:ne,dataDescriptor:N||U.bitFlag.dataDescriptor,extraFieldZip64:d||U.extraFieldZip64,Vt:r});try{if(!je){Je&&(e=new ht),e=new ii(e),await Wt(e,((T,V,re)=>$.min(T,re?1032*V:V))(ue,p,K)),{writable:be}=e;let{outputSize:x}=await(async function(T,V){let{options:re,config:Q}=V,{transferStreams:Se,useWebWorkers:Re,useCompressionStream:ze,compressed:Xe,checkCrc32:ve,computeCrc32:oe,encrypted:Fe,format:Ie,codecURI:ge}=re,{workerURI:Le,createWorker:qe,maxWorkers:Qe}=Q;Ie&&(ge&&(re.codecURI=((fe,X)=>{try{return new _n(fe,X).toString()}catch{return fe}})(ge,Q.baseURI)),await(async(fe,X)=>{!Cn.has(fe)&&X&&((ct,ce)=>{let{CompressionStream:Ge,DecompressionStream:vt}=ce;if(typeof Ge!=Pe&&typeof vt!=Pe)throw new m("Invalid codec module");Cn.set(ct,{CompressionStream:Ge,DecompressionStream:vt})})(fe,await import(X))})(Ie,re.codecURI)),V.transferStreams=!Ie&&(Se||Se===g&&Q.transferStreams);let un=!(Xe||ve||oe||Fe),Xn=Ie===g||!!re.codecURI;return V.useWebWorkers=!un&&Xn&&(Re||Re===g&&Q.useWebWorkers),V.workerURI=V.useWebWorkers&&Le?Le:g,V.createWorker=V.useWebWorkers&&qe?qe:g,re.useCompressionStream=ze||ze===g&&Q.useCompressionStream,(await(async()=>{let fe=bt.find(X=>!X.bt);if(fe)return Yr(fe),new Qt(fe,T,V,Kt);if(bt.length<Qe){let X={Zt:Gr};return Gr++,bt.push(X),new Qt(X,T,V,Kt)}return new ft(X=>{Tt.push({resolve:X,stream:T,Ft:V}),en=Q.workerStarvationTimeout,tn()})})()).run();function Kt(fe){if(_r(),Tt.length){let[{resolve:X,stream:ct,Ft:ce}]=Tt.splice(0,1);X(new Qt(fe,ct,ce,Kt)),tn()}else fe.St?(Yr(fe),((X,ct)=>{let{config:ce}=ct,{terminateWorkerTimeout:Ge}=ce;le.isFinite(Ge)&&Ge>=0&&(X.Rt?X.Rt=!1:X.Ct=pn(async()=>{bt=bt.filter(vt=>vt!=X);try{await X.terminate()}catch{}},Ge))})(fe,V)):bt=bt.filter(X=>X!=fe)}})({readable:ot,writable:be},ye);if(e.size+=x,x!=ue)throw new m(Tn)}}catch(x){if(x.outputSize!==g&&(e.size+=x.outputSize),!Je||x.message!=An)throw Ke=x,x}finally{if(!(!(T=>!(!T||!T.getData))(e)&&J(a,s,"preventClose"))&&be&&!be.locked){let T=be.getWriter();if(Ke)try{await T.abort(Ke)}catch{}else await T.close()}}return Je||je?g:e.getData?e.getData():be}}function Vn(t){let e=$.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(D(t,n)==134630224)return!0;return!1}function Bs(t,e,n){let r=0;for(;n+46<=e.length&&D(t,n)==wt;)n+=46+L(t,n+28)+L(t,n+30)+L(t,n+32),r++;return r%65536?0:r}function Zn(t){if(t.length>=6){let e=Z(t);if(D(e,0)==84233040){let n=L(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function Ps(t,e,n){let r=t.rawBitFlag=L(e,n+2),s=!(1&~r),a=D(e,n+6);k.assign(t,{encrypted:s,version:L(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:a,lastModDate:wi(a),filenameLength:L(e,n+22),extraFieldLength:L(e,n+24)})}function Hs(t,e,n,r,s){let{rawExtraField:a}=e,i=e.extraField=new lt,o=Z(a),c=0,u=!1;try{for(;c<a.length;){let z=L(o,c),I=L(o,c+2);i.set(z,{type:z,data:a.slice(c+4,c+4+I)}),c+=4+I}}catch{u=!0}c>a.length&&(u=!0);let f=L(n,r+4);k.assign(e,{signature:D(n,r+10),crc32:D(n,r+10),compressedSize:D(n,r+14),uncompressedSize:D(n,r+18)});let l=i.get(1);l&&(((z,I)=>{I.zip64=!0;let B=Z(z.data),A=ui.filter(([F,W])=>I[F]==W),b=A.reduce((F,[,W])=>F+qs[W].bytes,0);if(z.data.length<b)throw new m("Zip64 extra field not found");for(let F=0,W=0;F<A.length;F++){let[O,E]=A[F],ne=qs[E];I[O]=z[O]=ne.Pt(B,W),W+=ne.bytes}})(l,e),e.extraFieldZip64=l);let d=i.get(28789);d&&(Ns(d,ps,gs,e,t),e.extraFieldUnicodePath=d);let w=i.get(25461);w&&(Ns(w,ms,ys,e,t),e.extraFieldUnicodeComment=w);let h=i.get(39169);h&&h.data.length>=7?(((z,I,B)=>{let A=Z(z.data),b=at(A,4);k.assign(z,{vendorVersion:at(A,0),vendorId:at(A,2),strength:b,originalCompressionMethod:B,compressionMethod:L(A,5)}),I.compressionMethod=z.compressionMethod,z.vendorVersion!=1&&(I.crc32=g)})(h,e,f),e.extraFieldAES=h):e.compressionMethod=f;let v=i.get(13);v&&(Os(v,e),e.extraFieldPkwareUnix=v);let S=i.get(22613);S&&(Os(S,e),e.extraFieldUnixType1=S);let C=i.get(10);C&&(((z,I)=>{let B=Z(z.data),A,b=4;try{for(;b<z.data.length&&!A;){let F=L(B,b),W=L(B,b+2);F==1&&(A=z.data.slice(b+4,b+4+W)),b+=4+W}}catch{}if(A&&A.length==24){let F=Z(A),W=F.getBigUint64(0,!0),O=F.getBigUint64(8,!0),E=F.getBigUint64(16,!0);k.assign(z,{rawLastModDate:W,rawLastAccessDate:O,rawCreationDate:E});let ne={lastModDate:Kn(W),lastAccessDate:Kn(O),creationDate:Kn(E)};k.assign(z,ne),k.assign(I,ne,{rawLastAccessDate:O,rawCreationDate:E})}})(C,e),e.extraFieldNTFS=C);let R=i.get(30805),p;if(R&&(p=Vs(R,e,!1),e.extraFieldUnix=R),!p){let z=i.get(30837);z&&(Vs(z,e,!0),e.extraFieldInfoZip=z)}let N=i.get(21589);N&&(((z,I,B)=>{if(!z.data.length)return;let A=Z(z.data),b=at(A,0),F=[],W=[];B?(1&~b||(F.push(Nn),W.push(On)),2&~b||(F.push(xs),W.push(ks)),4&~b||(F.push(Rs),W.push(Fs))):5>z.data.length||(F.push(Nn),W.push(On));let O=1;F.forEach((E,ne)=>{if(z.data.length>=O+4){let q=D(A,O);I[E]=z[E]=new xt(1e3*(0|q));let P=W[ne];z[P]=q}O+=4})})(N,e,s),e.extraFieldExtendedTimestamp=N);let U=i.get(6534);return U&&(e.extraFieldUSDZ=U),u}function Ns(t,e,n,r,s){if(5>t.data.length)return void(t.valid=!1);let a=Z(t.data),i=new Pt;i.append(s[n]);let o=Z(new H(4));o.setUint32(0,i.get(),!0);let c=D(a,1),u=at(a,0);k.assign(t,{version:u,[e]:nn(t.data.subarray(5)),valid:u==1&&!s.bitFlag.languageEncodingFlag&&c==D(o,0)}),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function Os(t,e){if(8>t.data.length)return;let n=Z(t.data),r={lastAccessDate:new xt(1e3*(0|D(n,0))),lastModDate:new xt(1e3*(0|D(n,4)))};12>t.data.length||(r.uid=L(n,8),r.gid=L(n,10)),k.assign(t,r),k.assign(e,r)}function Vs(t,e,n){try{let r=Z(t.data),s,a;if(n){let i=0,o=at(r,i++),c=at(r,i++);s=Zs(t.data.subarray(i,i+c)),i+=c;let u=at(r,i++);a=Zs(t.data.subarray(i,i+u)),k.assign(t,{version:o,uid:s,gid:a})}else 4>t.data.length||(s=L(r,0),a=L(r,2),k.assign(t,{uid:s,gid:a}));return s!==g&&(e.uid=s),a!==g&&(e.gid=a),s!==g||a!==g}catch{}}function Zs(t){let e=new H(4);return e.set(t,0),new ut(e.buffer,e.byteOffset,4).getUint32(0,!0)}function js(t,e,n){let r=D(t,e),s,a;return n?(s=ke(t,e+4),a=ke(t,e+12)):(s=D(t,e+4),a=D(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Et(t,e){return t.Lt?t.Lt(e):0}async function Ks(t){return D(Z(await ee(t,0,4)))}function Xs(t){return t===kt||t===bn||t===gt}function Gs(t,e){return _s(t,_s(e,bn))}function _s(t,e){let n=t.strictness;if(n!==g){if(!Xs(n))throw new m("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}let r=t.checkAmbiguity;return r===g?e:r?kt:e==gt?gt:bn}function hi(t,e){if(e==gt)return!1;let n=t.split("/");return n.length>1&&n[n.length-1]===""&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||li.test(t))||e==kt&&(n.includes(".")||n.includes(""))}async function*Ys(t,e){let n=t.size-e,r=await ee(t,n,e),s=Z(r);for(let a=r.length-Be;a>=0;a--)D(s,a)==101010256&&(yield[s,n,r,a,n+a])}function jn(t,e,n){return{offset:n,buffer:t.slice(e,e+Be).buffer}}async function $s(t,e,n,r,s,a,i){let o=L(e,r+10),c=D(e,r+12),u=D(e,r+16);if(o==Ae||c==_e||u==_e)return await Js(t,e,n,s-pt,a,i)==tr?2:0;if(!o&&!c)return 1;let f=L(e,r+6);for(let l of[s-c,Et(t,f)+u])if(await Js(t,e,n,l,a,i)==wt)return 2;return 0}async function Js(t,e,n,r,s,a){return 0>r||r+4>s?g:n>r?a.count>0?(a.count--,D(Z(await ee(t,r,4)),0)):g:D(e,r-n)}function $e(t,e,n){t?ln(n):Ve(e,n)}function Ve(t,e,n){if(!t.some(r=>r.reason==e)){let r={reason:e};n!==g&&(r.filename=n),t.push(r)}}function ln(t){let e=new m("Ambiguous archive");throw e.reason=t,e}function J(t,e,n){return e[n]===g?t.options[n]:e[n]}function Qs(t,e,n){return sr(J(t,e,n))}function wi(t){let e=(4294901760&t)>>16,n=t&Ae,r=new xt(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return nr>r?nr:r}function Kn(t){return new xt(le(t/dn(1e4)-dn(116444736e5)))}function at(t,e){return t.getUint8(e)}function L(t,e){return t.getUint16(e,!0)}function D(t,e){return t.getUint32(e,!0)}function ke(t,e){let n=t.getBigUint64(e,!0);if(n>fi)throw new m("64-bit value exceeds Number.MAX_SAFE_INTEGER");return le(n)}(t=>{let e=fr(dr(t));k.assign(ir,e),k.assign(zn,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends ba{constructor(t){(e=>{if(e!="deflate-raw")throw new TypeError("Unsupported compression format: "+e)})(t),super(new ma)}}}),xe.BlobReader=Ln,xe.BlobWriter=rs,xe.Data64URIWriter=class extends ei{constructor(t){super(),k.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",qt:""})}writeUint8Array(t){let e=this,n,r=e.qt,s=e.qt.length;for(e.qt="",n=0;n<3*$.floor((s+t.length)/3)-s;n++)r+=Gn.fromCharCode(t[n]);for(;n<t.length;n++)e.qt+=Gn.fromCharCode(t[n]);r.length>2?e.data+=$n(r):e.qt=r+e.qt}getData(){return this.data+$n(this.qt)}},xe.HttpRangeReader=class extends ri{constructor(t,e={}){super(t,k.assign({},e,{useRangeHeader:!0}))}},xe.TextWriter=class extends rs{constructor(t){super(),k.assign(this,{encoding:t,Nt:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,Nt:e}=this,n=await super.getData();return n.text&&e?n.text():((r,s)=>$r(r,s,!1))(new H(await n.arrayBuffer()),t)}},xe.ZipReader=class{constructor(t,e={}){k.assign(this,{reader:new ws(t),options:e,Vt:new lt})}async*getEntriesGenerator(t={}){let e=this,{reader:n}=e;if(await Wt(n),n.size!==g&&n.readUint8Array||(n=new Ln(await Jt(n.readable)),await Wt(n)),n.size<Be)throw new m(on);let r=e.warnings=[],s=Gs(t,e.options),a=s==kt,i=s!=gt,o=((M,y)=>{if(M!==g){let te=Sn(M);if(typeof te!="number"||le.isNaN(te)||0>te)throw new m("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return te}return y==kt?0:y==gt?1/0:Ae})(J(e,t,"maxAppendedDataSize"),s),c=((M,y)=>{if(M===g)return y;if(!Xs(M))throw new m("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return M})(J(e,t,"filenameValidation"),s),u=J(e,t,"normalizeFilename"),{_t:f,jt:l}=await(async(M,y,te)=>{let{size:K}=M,ue=$.min(K,65557),de={count:64},ie,Me,he=0;for await(let[ye,be,Ke,x,T]of Ys(M,ue)){let V=L(ye,x+20);if(T+Be+V==K){let re=await $s(M,ye,be,x,T,K,de);if(re==2){if(ie||(ie=jn(Ke,x,T)),he++,!y||he>1)break}else re!=1||Me||(Me=jn(Ke,x,T))}}return ie||(ie=Me),ie||(ie=await(async(ye,be,Ke)=>{let{size:x}=ye,T=$.min(x,be==1/0?x:65557+be),V,re;for await(let[Q,Se,Re,ze,Xe]of Ys(ye,T)){let ve=jn(Re,ze,Xe);V||(V=ve);let oe=await $s(ye,Q,Se,ze,Xe,x,Ke);if(oe==2)return ve;oe!=1||re||(re=ve)}return re||V})(M,te,de)),{_t:ie,jt:he}})(n,i,o);if(!f)throw await(async M=>await Ks(M)==mn)(n)?new m(Ts):new m("End of central directory not found");i&&l>1&&ln("multiple end of central directory records");let d=Z(f),w=D(d,12),h=D(d,16),v=f.offset,S=L(d,20),C=v+Be+S,R=n.size-C;R>o&&ln(Es),R>0&&Ve(r,Es);let p=L(d,4),N=n.Mt||0,U,z,I,B,A=L(d,6),b=L(d,10),F=0,W=rt,O=h==_e||w==_e||b==Ae||A==Ae;if(h!=_e&&A!=Ae&&(h+=Et(n,A)),O){let M=f.offset<pt?Ue:await ee(n,f.offset-pt,pt),y=Z(M);if(M.length==pt&&D(y,0)==tr){h=Et(n,D(y,4))+ke(y,8);let te=await ee(n,h,rt),K=Z(te),ue=f.offset-pt-rt;if((te.length<rt||D(K,0)!=er)&&h!=ue&&ue>=0){let de=h;h=ue,h>de&&(F=h-de),te=await ee(n,h,rt),K=Z(te)}if(te.length<rt||D(K,0)!=er)throw new m("End of Zip64 central directory locator not found");if(z=!0,I=ke(K,4)>44,I){let de=$.min(ke(K,4)-44,n.size-h-rt);de>0&&(W+=de,B=(ie=>{let Me={rawExtensibleData:ie};if(ie.length>=28){let he=Z(ie),ye=L(he,26);k.assign(Me,{compressionMethod:L(he,0),compressedSize:ke(he,2),uncompressedSize:ke(he,10),encryptionAlgorithm:L(he,18),bitLength:L(he,20),flags:L(he,22),hashAlgorithm:L(he,24),hashData:ie.subarray(28,28+ye)})}return Me})(await ee(n,h+rt,de)))}p==Ae?p=D(K,16):p!=D(K,16)&&$e(a,r,cn),A==Ae?A=D(K,20):A!=D(K,20)&&$e(a,r,cn),b==Ae?b=ke(K,32):b!=ke(K,32)&&$e(a,r,cn),w==_e?w=ke(K,40):w!=ke(K,40)&&$e(a,r,cn),h=Et(n,A)+ke(K,48)+F}}let E=w,ne=f.offset-(z?W+pt:0);if(h<n.size||(F=n.size-h-w-Be,h=n.size-w-Be),N!=p)throw new m(Ts);if(0>h)throw new m(on);let q=0,P=await ee(n,h,w),j=Z(P);if(w){if(4>P.length)throw new m(on);let M=ne-w;if(h!=M&&A==p){let y=!(D(j,q)==wt||B&&B.compressedSize||Vn(j));if(y||0>M||M+4>n.size||(y=D(Z(await ee(n,M,4)),0)==wt),y){let te=h;h=M,h>te&&(F+=h-te),P=await ee(n,h,w),j=Z(P)}}}let ae=ne-h;if(w==ae||0>ae||A!=p||(w=ae,P=await ee(n,h,w),j=Z(P)),0>h||h>=n.size)throw new m(on);e.directoryOffset=h,e.directoryLength=E;let _=Qs(e,t,"decryptCentralDirectory"),Y,De;if(_&&b&&P.length>=4&&D(j,0)!=wt&&(I||Vn(j))){let M=((y,te,K)=>{let ue=y&&y.compressedSize?y.compressedSize:te;return ue>0&&K>=ue?ue:K})(B,E,P.length);De=P.subarray(M),P=await _(P.subarray(0,M),B),j=Z(P),E=P.length,Y=!0}!B||Y||P.length>=4&&D(j,0)!=wt||Ve(r,"unknown zip64 extensible data"),U=h;let Ze=J(e,t,"filenameEncoding"),St=J(e,t,"commentEncoding"),me=new ta,We,Ee=-1,it=!a&&!z;!b&&it&&(b=Bs(j,P,q),b&&Ve(r,Ws));for(let M=0;b>M;M++){let y=new di(n,e.options);if(q+46>P.length||D(j,q)!=wt)throw M==0&&!Y&&(I||Vn(j))?new m("Encrypted central directory is not supported"):new m("Central directory header not found");Ps(y,j,q+6);let te=!!y.bitFlag.languageEncodingFlag,K=q+46,ue=K+y.filenameLength,de=ue+y.extraFieldLength,ie=L(j,q+4),Me=!(ie>>8),he=ie>>8==3,ye=P.subarray(K,ue),be=L(j,q+32),Ke=de+be,x=P.subarray(de,Ke),T=te,V=te,re=D(j,q+38),Q=re&Xt,Se={readOnly:!!(1&Q),hidden:!!(2&Q),system:!!(4&Q),directory:!!(16&Q),archive:!!(32&Q)},Re=D(j,q+42),ze=Qs(e,t,"decodeText")||nn,Xe=T?Is:Ze||Ls,ve=V?Is:St||Ls,oe=ze(ye,Xe,"filename");if(oe===g&&(oe=nn(ye,Xe)),u){let ce=u(oe);ce!==g&&(oe=ce)}if(hi(oe,c)){let ce=new m("Unsafe filename");throw ce.filename=oe,ce}let Fe=ze(x,ve,"comment");Fe===g&&(Fe=nn(x,ve)),k.assign(y,{index:M,Bt:Y,versionMadeBy:ie,msDosCompatible:Me,zip64:!1,compressedSize:0,uncompressedSize:0,Kt:be,offset:Re,diskNumberStart:L(j,q+34),internalFileAttributes:L(j,q+36),externalFileAttributes:re,msdosAttributesRaw:Q,msdosAttributes:Se,rawFilename:ye,filenameUTF8:T,commentUTF8:V,rawExtraField:P.subarray(ue,de),rawComment:x,filename:oe,comment:Fe}),Hs(y,y,j,q+6)&&Ve(r,Ds,oe),y.offset+=F;let Ie=Et(n,y.diskNumberStart)+y.offset;U=$.min(Ie,U),Ee>Ie&&Ve(r,"unsorted central directory",oe),Ee=Ie,(y.version&Xt)>63&&Ve(r,"unknown version needed to extract",oe),32&~y.rawBitFlag||Ve(r,"compressed patched data",oe),me.has(y.filename)&&(We=!0),me.add(y.filename);let ge=y.externalFileAttributes>>16&Ae;y.unixMode===g&&16877&ge&&(y.unixMode=ge);let Le=!!(2048&y.unixMode),qe=!!(1024&y.unixMode),Qe=!!(512&y.unixMode),un=((y.unixMode===g?ge:y.unixMode)&yn)==40960,Xn=!un&&(y.unixMode!==g?!!(73&y.unixMode):he&&!!(73&ge)),Kt=y.unixMode!==g&&(y.unixMode&yn)==16384,fe=(ge&yn)==16384;k.assign(y,{setuid:Le,setgid:qe,sticky:Qe,symlink:un,unixExternalUpper:ge,internalFileAttribute:y.internalFileAttributes,externalFileAttribute:y.externalFileAttributes,executable:Xn,directory:Kt||fe||Me&&Se.directory||y.filename.endsWith("/"),zipCrypto:y.encrypted&&!y.extraFieldAES});let X=new Cs(y);if(X.getData=(ce,Ge)=>y.getData(ce,X,e.Vt,Ge),X.arrayBuffer=async ce=>{let Ge=new se,vt=Jt(Ge.readable).then(pi=>pi.arrayBuffer());return vt.catch(()=>{}),await y.getData(Ge,X,e.Vt,ce),vt},q=Ke,M==b-1&&it){let ce=Bs(j,P,q);ce&&(b+=ce,Ve(r,Ws))}let{onprogress:ct}=t;if(ct)try{await ct(M+1,b,new Cs(y))}catch{}yield X}let ot=q,nt=Zn(P.subarray(q))||(Y?Zn(De):g);if(!nt&&!Y){let M=h+q,y=$.min(ne-M,65541);6>y||(nt=Zn(await ee(n,M,y)))}nt&&(e.digitalSignature=nt,ot=q+6+nt.length),(q!=E&&ot!=E||!Y&&q!=w&&ot!=w)&&$e(a,r,"trailing central directory data"),We&&$e(a,r,"duplicate filename");let Je=J(e,t,"extractPrependedData"),zt=J(e,t,"extractAppendedData"),je=(a||Je)&&b&&U==4&&await(async M=>{let y=await Ks(M);return y==mn||y==808471376})(n)?4:0;return a&&(F||b&&U>je)&&ln(Ms),(F||b&&U>4)&&Ve(r,Ms),Je&&(e.prependedData=U>je?await ee(n,je,U-je):Ue),e.comment=S?await ee(n,v+Be,S):Ue,zt&&(e.appendedData=C<n.size?await ee(n,C,n.size-C):Ue),!0}async getEntries(t={}){let e=[];for await(let n of this.getEntriesGenerator(t))e.push(n);return e}async close(){let{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}},xe.configure=t=>{k.assign(zn,fr(dr(t)))},xe.inflateRaw=(t,e)=>br(t,{i:2},e&&e.Gt,e&&e.m)})});return mi();})();
|
|
6
|
+
document.currentScript.remove();globalThis.bootstrap=(()=>{let bootstrapStarted;return async content=>{if (bootstrapStarted) return bootstrapStarted; bootstrapStarted = (async function um(e,{password:t,prompt:a=()=>{},zipOptions:o={useWebWorkers:!0},noBlobURL:n,entries:i,pagePath:r=""}={}){let s={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},l=/stylesheet_[0-9]+\.css/,c=/scripts\/[0-9]+\.js/,d=/^([0-9_]+\/)?index\.html$/,m=/index\.html$/,u=/frames\//,h=/^frames\/\d+\/index.html/,p=/manifest\.json$/,g=";charset=utf-8",b=/([{}()^$&.*?/+|[\\\\]|\]|-)/g,y;if(zip.configure(o),!i){let I;e.readUint8Array?I=e:(Array.isArray(e)&&(e=new Blob([new Uint8Array(e)])),I=new zip.BlobReader(e)),y=new zip.ZipReader(I),i=await y.getEntries()}r&&(i=i.filter(I=>I.filename.startsWith(r)));let E={password:t},v,A,f,k=[],T=[],w=[];await Promise.all(i.map(async I=>{let P=I.filename.substring(r.length),B,M,H,F,te={};if(!E.password&&I.encrypted&&(E.password=a("Please enter the password to view the page")),P.match(m)||P.match(l)||P.match(c))P.match(m)?T.push(te):w.push(te),B=new zip.TextWriter,I.uncompressedSize>0?H=await I.getData(B,E):H="",P.match(m)?F="text/html"+g:P.match(l)?F="text/css"+g:P.match(c)&&(F="text/javascript"+g);else{k.push(te);let ce=P.match(/\.([^.]+)/);if(ce&&ce[1]&&s[ce[1]]?F=s[ce[1]]:F="application/octet-stream",P.match(u)||n)M=await I.getData(new zip.Data64URIWriter(F),E);else{let ae=await I.getData(new zip.BlobWriter(F),E);M=URL.createObjectURL(ae)}}let q=P.match(/^([0-9_]+\/)?(.*)$/)[2],Z="",he=P.match(/(.*\/)[^/]+$/);he&&he[1]&&(Z=he[1]),Object.assign(te,{prefixPath:Z,filename:P,name:q,url:I.comment,content:M,mimeType:F,textContent:H,parentResources:[]})})),y&&await y.close(),T.sort(U),w.sort(W),k=k.sort(U).concat(...w).concat(...T);for(let I of k){let{filename:P,prefixPath:B}=I,{textContent:M}=I;M!==void 0&&(P.match(d)&&(A=M),P.match(c)||(k.forEach(H=>{let{filename:F,parentResources:te,content:q}=H;if(F.startsWith(B)&&F!=I.filename){let Z=F.substring(B.length);Z.match(p)||M.includes(Z)&&(te.push(I.filename),H.textContent===void 0&&(M=R(M,Z,q)))}}),I.textContent=M))}for(let I of k){let{textContent:P,prefixPath:B,filename:M}=I;if(P!==void 0){if(!M.match(c)){let H=M;for(let F of k){let{filename:te}=F;if(te.startsWith(B)&&te!=H){let q=te.substring(B.length);q.match(p)||P.indexOf(q)!=-1&&(F.content=await S(F),P=R(P,q,F.content))}}I.textContent=P,I.content=await S(I)}M.match(d)&&(v=P,f=I.url)}}return{docContent:v,origDocContent:A,resources:k,url:f};async function S(I){return I.filename.match(u)&&!I.filename.match(h)||n?await j(I.textContent,I.mimeType):URL.createObjectURL(new Blob([I.textContent],{type:I.mimeType}))}async function j(I,P){let B=new Blob([I],{type:P}),M=new Uint8Array(await B.arrayBuffer()),H="";for(let F=0;F<M.length;F+=8192)H+=String.fromCharCode(...M.subarray(F,F+8192));return("data:"+(B.type||"application/octet-stream")+";base64,"+btoa(H)).replace(g,"")}function R(I,P,B){if(typeof I.replaceAll=="function")return I.replaceAll(P,B);{let M=new RegExp(P.replace(b,"\\$1"),"g");return I.replace(M,B)}}function U(I,P){let B=P.filename.length-I.filename.length;return B||P.filename.localeCompare(I.filename)}function W(I,P){let B=I.filename.length-P.filename.length;return B||I.filename.localeCompare(P.filename)}})(content,{prompt}).then(({docContent}) => async function hm(e,t,{disableFramePointerEvents:a,inPlace:o}={}){t=t.replace(/<noscript/gi,"<template disabled-noscript"),t=t.replace(/<\/noscript/gi,"</template");let n=new DOMParser().parseFromString(t,"text/html");if(a&&n.querySelectorAll("iframe").forEach(r=>{let s="pointer-events";r.style.setProperty("-sf-"+s,r.style.getPropertyValue(s),r.style.getPropertyPriority(s)),r.style.setProperty(s,"none","important")}),o&&n.compatMode==e.compatMode&&!n.querySelector("script")){await Promise.all(Array.from(n.querySelectorAll("link[rel~=stylesheet][href]")).map(l=>new Promise(c=>{let d=e.createElement("link");d.rel="preload",d.as="style",d.href=l.getAttribute("href"),d.onload=c,d.onerror=c,e.head.appendChild(d),setTimeout(c,500)})));let r=e.documentElement,s=e.adoptNode(n.documentElement);for(;r.attributes.length;)r.removeAttribute(r.attributes[0].name);if(Array.from(s.attributes).forEach(l=>r.setAttribute(l.name,l.value)),r.replaceChildren(...s.childNodes),e.querySelector("link[rel~=stylesheet][href]")){let l=e.createElement("style");l.textContent="html{visibility:hidden}",e.head.appendChild(l);let c=Date.now();for(;Date.now()-c<500&&Array.from(e.querySelectorAll("link[rel~=stylesheet][href]")).some(d=>!d.sheet);)await new Promise(d=>setTimeout(d,10));l.remove()}}else e.open(),e.write(i(n)),e.write(n.documentElement.outerHTML),e.close();e.querySelectorAll("template[disabled-noscript]").forEach(r=>{let s=e.createElement("noscript");r.removeAttribute("disabled-noscript"),Array.from(r.attributes).forEach(l=>s.setAttribute(l.name,l.value)),s.textContent=r.innerHTML,r.parentElement.replaceChild(s,r)}),e.documentElement.setAttribute("data-sfz",""),e.querySelectorAll("link[rel*=icon]").forEach(r=>r.replaceWith(r.cloneNode(!0)));function i(r){let s=r.doctype,l="";return s&&(l="<!DOCTYPE "+s.nodeName,s.publicId?(l+=' PUBLIC "'+s.publicId+'"',s.systemId&&(l+=' "'+s.systemId+'"')):s.systemId&&(l+=' SYSTEM "'+s.systemId+'"'),s.internalSubset&&(l+=" ["+s.internalSubset+"]"),l+="> "),l}}(document,docContent,{"insertEmbeddedImage":false,"insertEmbeddedScreenshotImage":false}));return bootstrapStarted;}})();(async function m0(){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",{Blob:t,XMLHttpRequest:a,document:o,zip:n,location:i}=globalThis,r=new Map([[65533,0],[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),s=new Uint32Array(256).map((u,h)=>{let p=h;for(let g=0;g<8;g++)p=p&1?3988292384^p>>>1:p>>>1;return p});return new Promise((u,h)=>{let p=!1;i.protocol=="file:"?g():b();async function g(){try{await l(o),o.body.querySelectorAll("meta, style").forEach(E=>o.head.appendChild(E));let y=d();c("sfz-wait-message",2),u(y)}catch(y){console.error(y),c("sfz-error-message",2),h(y)}}function b(){let y=new a;y.responseType="blob",y.open("GET",""),y.onerror=()=>{p?(c("sfz-error-message",2),h()):g()},y.send(),y.onreadystatechange=()=>{if(y.readyState===2&&y.status===200&&!p){p=!0;let E=y.getResponseHeader("Accept-Ranges")==="bytes";y.abort(),c("sfz-wait-message",2),E?u(new n.HttpRangeReader(i.href,{useXHR:!0,combineSizeEocd:!0})):b()}},p&&(y.onload=()=>u(y.response))}});function l(u){return new Promise(h=>{u.readyState==="complete"||u.readyState==="interactive"?h():u.addEventListener("DOMContentLoaded",()=>h())})}function c(u,h=0){let p=o.getElementById(u);p&&(Array.from(o.body.childNodes).forEach(g=>{g.id!=u&&(g.id=="sfz-wait-message"||g.id=="sfz-error-message"?g.hidden=!0:g.remove())}),p.hidden=!1,o.body.hidden=!1,p.style="opacity: 0; animation: 0s linear "+h+"s display-wait-message 1 normal forwards")}function d(){let u=o.querySelector("sfz-extra-data");if(u){let w=function(S){v[f]=S,T=T>>>8^s[(T^S)&255],f++},h=u.nextSibling;h&&h.nodeType==Node.TEXT_NODE&&h.nextSibling?h=h.nextSibling:h=u.previousSibling;let p=n.inflateRaw(m(u.textContent)),g=new Uint32Array(p.buffer,p.byteOffset,p.length>>2),b=g[0],y=g[1],E=g[2],v=new Uint8Array(y),{textContent:A}=h,f=0,k=0,T=-1;for(let S=0;S<A.length;S++){let j=A.charCodeAt(S);if(j==10){let R=g[3+(k>>4)]>>>(k&15)*2&3;k++,R==0?w(10):(w(13),R==2&&w(10))}else w(j>255?r.get(j):j)}if(T=(T^-1)>>>0,f!=y||k!=E||T!=b)throw new Error("Invalid checksum of the extracted zip data");return new t([v],{type:"application/octet-stream"})}throw new Error("Extra zip data data not found")}function m(u){u=String(u).replace(/[^A-Za-z0-9+/=]/g,"");let h=u.length,p=[];for(let g=0;g<h;g+=4){let b=e.indexOf(u[g]),y=e.indexOf(u[g+1]),E=e.indexOf(u[g+2]),v=e.indexOf(u[g+3]),A=b<<18|y<<12|(E&63)<<6|v&63;p.push(A>>16&255),u[g+2]!=="="&&p.push(A>>8&255),u[g+3]!=="="&&p.push(A&255)}return new Uint8Array(p)}})().then(globalThis.bootstrap).then(() => document.dispatchEvent(new CustomEvent("single-file-display-infobar"))).catch(error => {console.error(error);const waitMessage = document.getElementById("sfz-wait-message");if (waitMessage) { waitMessage.remove(); }const errorMessage = document.getElementById("sfz-error-message");if (errorMessage) { errorMessage.hidden = false; document.body.hidden = false; }});</script><!--PK�r]��5�C
|
|
7
|
+
index.htmlUTR,�j�R]o�0|ϯ���@��]Z��:����TQ�����ٜ
|
|
8
|
+
��'B��;�����
|
|
9
|
+
�?(�ėzk���}s� �%*�н"������DO��L��*~PK�r]�:1g��
|
|
10
|
+
!dH4�~$�VH�s�Jq�]��5�F+��rybyڢL�q�oF<���{�v�kݖ�)uן�Ս��Uk��!���N�}�n�����Z�?PK�r]��5�C
|
|
11
|
+
���index.htmlUTR,�jhttp://localhost:8932/alpha.htmlPK�r]�:1g��
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Fixture home</title><style>body{font-family:sans-serif;background:#eef}</style></head>
|
|
2
|
+
<body><h1>Fixture home</h1><p>Root page.</p><ul><li><a href="alpha.html">Alpha</a></li><li><a href="beta.html">Beta</a></li><li><a href="sub/gamma.html">Gamma</a></li></ul></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Dedup home</title><link rel="stylesheet" href="shared.css"></head>
|
|
2
|
+
<body><h1>Dedup home</h1><img class="logo" src="logo.png" alt="logo"><p>Root.</p><ul><li><a href="one.html">One</a></li><li><a href="two.html">Two</a></li></ul></body></html>
|
|
Binary file
|