@private.me/xbind 1.2.0
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/AGENTS.md +778 -0
- package/LICENSE.md +27 -0
- package/README.md +400 -0
- package/dist-standalone/_deps/crypto/base64.d.ts +29 -0
- package/dist-standalone/_deps/crypto/base64.js +97 -0
- package/dist-standalone/_deps/crypto/cjs/base64.js +103 -0
- package/dist-standalone/_deps/crypto/cjs/errors.js +119 -0
- package/dist-standalone/_deps/crypto/cjs/hmac.js +71 -0
- package/dist-standalone/_deps/crypto/cjs/index.js +86 -0
- package/dist-standalone/_deps/crypto/cjs/padding.js +57 -0
- package/dist-standalone/_deps/crypto/cjs/share-header.js +68 -0
- package/dist-standalone/_deps/crypto/cjs/shares.js +152 -0
- package/dist-standalone/_deps/crypto/cjs/tlv.js +199 -0
- package/dist-standalone/_deps/crypto/cjs/uuid.js +61 -0
- package/dist-standalone/_deps/crypto/cjs/verify.js +24 -0
- package/dist-standalone/_deps/crypto/cjs/xorida.js +221 -0
- package/dist-standalone/_deps/crypto/errors.d.ts +51 -0
- package/dist-standalone/_deps/crypto/errors.js +109 -0
- package/dist-standalone/_deps/crypto/hmac.d.ts +39 -0
- package/dist-standalone/_deps/crypto/hmac.js +66 -0
- package/dist-standalone/_deps/crypto/index.d.ts +20 -0
- package/dist-standalone/_deps/crypto/index.js +45 -0
- package/dist-standalone/_deps/crypto/padding.d.ts +19 -0
- package/dist-standalone/_deps/crypto/padding.js +53 -0
- package/dist-standalone/_deps/crypto/share-header.d.ts +44 -0
- package/dist-standalone/_deps/crypto/share-header.js +63 -0
- package/dist-standalone/_deps/crypto/shares.d.ts +27 -0
- package/dist-standalone/_deps/crypto/shares.js +148 -0
- package/dist-standalone/_deps/crypto/tlv.d.ts +26 -0
- package/dist-standalone/_deps/crypto/tlv.js +195 -0
- package/dist-standalone/_deps/crypto/uuid.d.ts +22 -0
- package/dist-standalone/_deps/crypto/uuid.js +56 -0
- package/dist-standalone/_deps/crypto/verify.d.ts +15 -0
- package/dist-standalone/_deps/crypto/verify.js +15 -0
- package/dist-standalone/_deps/crypto/xorida.d.ts +44 -0
- package/dist-standalone/_deps/crypto/xorida.js +215 -0
- package/dist-standalone/_deps/mldsa-wasm/LICENSE +24 -0
- package/dist-standalone/_deps/mldsa-wasm/dist/mldsa.js +1920 -0
- package/dist-standalone/_deps/mldsa-wasm/package.json +46 -0
- package/dist-standalone/_deps/mldsa-wasm/types/mldsa.d.ts +30 -0
- package/dist-standalone/_deps/shared/cjs/errors.js +582 -0
- package/dist-standalone/_deps/shared/cjs/index.js +492 -0
- package/dist-standalone/_deps/shared/cjs/package.json +1 -0
- package/dist-standalone/_deps/shared/cjs/types.js +403 -0
- package/dist-standalone/_deps/shared/errors.d.ts +48 -0
- package/dist-standalone/_deps/shared/errors.d.ts.map +1 -0
- package/dist-standalone/_deps/shared/errors.js +192 -0
- package/dist-standalone/_deps/shared/errors.js.map +1 -0
- package/dist-standalone/_deps/shared/index.d.ts +4 -0
- package/dist-standalone/_deps/shared/index.d.ts.map +1 -0
- package/dist-standalone/_deps/shared/index.js +78 -0
- package/dist-standalone/_deps/shared/index.js.map +1 -0
- package/dist-standalone/_deps/shared/types.d.ts +1097 -0
- package/dist-standalone/_deps/shared/types.d.ts.map +1 -0
- package/dist-standalone/_deps/shared/types.js +89 -0
- package/dist-standalone/_deps/shared/types.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/errors.d.ts +115 -0
- package/dist-standalone/_deps/ux-helpers/cjs/errors.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/errors.js +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/errors.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/index.d.ts +13 -0
- package/dist-standalone/_deps/ux-helpers/cjs/index.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/index.js +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/index.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/package.json +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/pagination.d.ts +39 -0
- package/dist-standalone/_deps/ux-helpers/cjs/pagination.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/pagination.js +83 -0
- package/dist-standalone/_deps/ux-helpers/cjs/pagination.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/progress.d.ts +99 -0
- package/dist-standalone/_deps/ux-helpers/cjs/progress.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/progress.js +143 -0
- package/dist-standalone/_deps/ux-helpers/cjs/progress.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/search.d.ts +32 -0
- package/dist-standalone/_deps/ux-helpers/cjs/search.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/search.js +119 -0
- package/dist-standalone/_deps/ux-helpers/cjs/search.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/types.d.ts +109 -0
- package/dist-standalone/_deps/ux-helpers/cjs/types.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/cjs/types.js +8 -0
- package/dist-standalone/_deps/ux-helpers/cjs/types.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/errors.d.ts +115 -0
- package/dist-standalone/_deps/ux-helpers/errors.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/errors.js +253 -0
- package/dist-standalone/_deps/ux-helpers/errors.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/index.d.ts +13 -0
- package/dist-standalone/_deps/ux-helpers/index.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/index.js +16 -0
- package/dist-standalone/_deps/ux-helpers/index.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/pagination.d.ts +39 -0
- package/dist-standalone/_deps/ux-helpers/pagination.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/pagination.js +79 -0
- package/dist-standalone/_deps/ux-helpers/pagination.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/progress.d.ts +99 -0
- package/dist-standalone/_deps/ux-helpers/progress.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/progress.js +138 -0
- package/dist-standalone/_deps/ux-helpers/progress.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/search.d.ts +32 -0
- package/dist-standalone/_deps/ux-helpers/search.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/search.js +116 -0
- package/dist-standalone/_deps/ux-helpers/search.js.map +1 -0
- package/dist-standalone/_deps/ux-helpers/types.d.ts +109 -0
- package/dist-standalone/_deps/ux-helpers/types.d.ts.map +1 -0
- package/dist-standalone/_deps/ux-helpers/types.js +7 -0
- package/dist-standalone/_deps/ux-helpers/types.js.map +1 -0
- package/dist-standalone/_deps/xchange/auto-accept.d.ts +127 -0
- package/dist-standalone/_deps/xchange/auto-accept.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/auto-accept.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/errors.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/index.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/invite-client.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/lazy-init.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/package.json +1 -0
- package/dist-standalone/_deps/xchange/cjs/trust-integration.js +1 -0
- package/dist-standalone/_deps/xchange/cjs/xchange.js +1 -0
- package/dist-standalone/_deps/xchange/errors.d.ts +69 -0
- package/dist-standalone/_deps/xchange/errors.js +1 -0
- package/dist-standalone/_deps/xchange/index.d.ts +15 -0
- package/dist-standalone/_deps/xchange/index.js +1 -0
- package/dist-standalone/_deps/xchange/invite-client.d.ts +178 -0
- package/dist-standalone/_deps/xchange/invite-client.js +1 -0
- package/dist-standalone/_deps/xchange/lazy-init.d.ts +176 -0
- package/dist-standalone/_deps/xchange/lazy-init.js +1 -0
- package/dist-standalone/_deps/xchange/trust-integration.d.ts +102 -0
- package/dist-standalone/_deps/xchange/trust-integration.js +1 -0
- package/dist-standalone/_deps/xchange/xchange.d.ts +60 -0
- package/dist-standalone/_deps/xchange/xchange.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/discovery.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/errors.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/index.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/package.json +1 -0
- package/dist-standalone/_deps/xregistry/cjs/registry.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/schema.js +1 -0
- package/dist-standalone/_deps/xregistry/cjs/types.js +1 -0
- package/dist-standalone/_deps/xregistry/discovery.d.ts +126 -0
- package/dist-standalone/_deps/xregistry/discovery.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/discovery.js +1 -0
- package/dist-standalone/_deps/xregistry/discovery.js.map +1 -0
- package/dist-standalone/_deps/xregistry/errors.d.ts +41 -0
- package/dist-standalone/_deps/xregistry/errors.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/errors.js +1 -0
- package/dist-standalone/_deps/xregistry/errors.js.map +1 -0
- package/dist-standalone/_deps/xregistry/index.d.ts +8 -0
- package/dist-standalone/_deps/xregistry/index.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/index.js +1 -0
- package/dist-standalone/_deps/xregistry/index.js.map +1 -0
- package/dist-standalone/_deps/xregistry/registry.d.ts +85 -0
- package/dist-standalone/_deps/xregistry/registry.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/registry.js +1 -0
- package/dist-standalone/_deps/xregistry/registry.js.map +1 -0
- package/dist-standalone/_deps/xregistry/schema.d.ts +81 -0
- package/dist-standalone/_deps/xregistry/schema.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/schema.js +1 -0
- package/dist-standalone/_deps/xregistry/schema.js.map +1 -0
- package/dist-standalone/_deps/xregistry/types.d.ts +95 -0
- package/dist-standalone/_deps/xregistry/types.d.ts.map +1 -0
- package/dist-standalone/_deps/xregistry/types.js +1 -0
- package/dist-standalone/_deps/xregistry/types.js.map +1 -0
- package/dist-standalone/agent-call.d.ts +286 -0
- package/dist-standalone/agent-call.js +642 -0
- package/dist-standalone/agent-sdk.d.ts +207 -0
- package/dist-standalone/agent-sdk.js +328 -0
- package/dist-standalone/agent.d.ts +670 -0
- package/dist-standalone/agent.js +1529 -0
- package/dist-standalone/approval.d.ts +145 -0
- package/dist-standalone/approval.js +193 -0
- package/dist-standalone/auth.d.ts +75 -0
- package/dist-standalone/auth.js +219 -0
- package/dist-standalone/auto-accept.d.ts +102 -0
- package/dist-standalone/auto-accept.js +229 -0
- package/dist-standalone/backup-config.d.ts +150 -0
- package/dist-standalone/backup-config.js +201 -0
- package/dist-standalone/checkpoint.d.ts +125 -0
- package/dist-standalone/checkpoint.js +186 -0
- package/dist-standalone/cjs/agent-call.js +651 -0
- package/dist-standalone/cjs/agent-sdk.js +332 -0
- package/dist-standalone/cjs/agent.js +1566 -0
- package/dist-standalone/cjs/approval.js +199 -0
- package/dist-standalone/cjs/auth.js +225 -0
- package/dist-standalone/cjs/auto-accept.js +233 -0
- package/dist-standalone/cjs/backup-config.js +207 -0
- package/dist-standalone/cjs/checkpoint.js +193 -0
- package/dist-standalone/cjs/cli/init.js +487 -0
- package/dist-standalone/cjs/connect.js +312 -0
- package/dist-standalone/cjs/did-document.js +101 -0
- package/dist-standalone/cjs/did-privateme.js +130 -0
- package/dist-standalone/cjs/did-web.js +201 -0
- package/dist-standalone/cjs/discovery.js +462 -0
- package/dist-standalone/cjs/dual-mode.js +251 -0
- package/dist-standalone/cjs/email-templates.js +313 -0
- package/dist-standalone/cjs/email-transport.js +239 -0
- package/dist-standalone/cjs/envelope.js +510 -0
- package/dist-standalone/cjs/errors.js +562 -0
- package/dist-standalone/cjs/gateway-state.js +55 -0
- package/dist-standalone/cjs/gateway-transport.js +120 -0
- package/dist-standalone/cjs/guardrails.js +223 -0
- package/dist-standalone/cjs/http-compat.js +272 -0
- package/dist-standalone/cjs/identity.js +541 -0
- package/dist-standalone/cjs/index.js +224 -0
- package/dist-standalone/cjs/invitation.js +421 -0
- package/dist-standalone/cjs/invite.js +328 -0
- package/dist-standalone/cjs/key-agreement.js +246 -0
- package/dist-standalone/cjs/lazy-init.js +300 -0
- package/dist-standalone/cjs/mdns-discovery.js +202 -0
- package/dist-standalone/cjs/nonce-store.js +66 -0
- package/dist-standalone/cjs/package.json +3 -0
- package/dist-standalone/cjs/pairing-manager.js +223 -0
- package/dist-standalone/cjs/policy.js +320 -0
- package/dist-standalone/cjs/redis-nonce-store.js +76 -0
- package/dist-standalone/cjs/registry-middleware.js +50 -0
- package/dist-standalone/cjs/retry-transport.js +102 -0
- package/dist-standalone/cjs/security-policy.js +204 -0
- package/dist-standalone/cjs/split-channel.js +177 -0
- package/dist-standalone/cjs/subscription-proof.js +230 -0
- package/dist-standalone/cjs/succession.js +148 -0
- package/dist-standalone/cjs/transport.js +63 -0
- package/dist-standalone/cjs/trust-registry.js +742 -0
- package/dist-standalone/cjs/verify.js +25 -0
- package/dist-standalone/cjs/xfetch.js +252 -0
- package/dist-standalone/cli/init.d.ts +63 -0
- package/dist-standalone/cli/init.js +450 -0
- package/dist-standalone/connect.d.ts +143 -0
- package/dist-standalone/connect.js +274 -0
- package/dist-standalone/did-document.d.ts +65 -0
- package/dist-standalone/did-document.js +96 -0
- package/dist-standalone/did-privateme.d.ts +70 -0
- package/dist-standalone/did-privateme.js +121 -0
- package/dist-standalone/did-web.d.ts +73 -0
- package/dist-standalone/did-web.js +196 -0
- package/dist-standalone/discovery.d.ts +176 -0
- package/dist-standalone/discovery.js +458 -0
- package/dist-standalone/dual-mode.d.ts +145 -0
- package/dist-standalone/dual-mode.js +247 -0
- package/dist-standalone/email-templates.d.ts +41 -0
- package/dist-standalone/email-templates.js +309 -0
- package/dist-standalone/email-transport.d.ts +139 -0
- package/dist-standalone/email-transport.js +232 -0
- package/dist-standalone/envelope.d.ts +288 -0
- package/dist-standalone/envelope.js +497 -0
- package/dist-standalone/errors.d.ts +74 -0
- package/dist-standalone/errors.js +548 -0
- package/dist-standalone/gateway-state.d.ts +32 -0
- package/dist-standalone/gateway-state.js +51 -0
- package/dist-standalone/gateway-transport.d.ts +59 -0
- package/dist-standalone/gateway-transport.js +116 -0
- package/dist-standalone/guardrails.d.ts +136 -0
- package/dist-standalone/guardrails.js +216 -0
- package/dist-standalone/http-compat.d.ts +150 -0
- package/dist-standalone/http-compat.js +267 -0
- package/dist-standalone/identity.d.ts +176 -0
- package/dist-standalone/identity.js +516 -0
- package/dist-standalone/index.d.ts +83 -0
- package/dist-standalone/index.js +51 -0
- package/dist-standalone/invitation.d.ts +211 -0
- package/dist-standalone/invitation.js +415 -0
- package/dist-standalone/invite.d.ts +192 -0
- package/dist-standalone/invite.js +324 -0
- package/dist-standalone/key-agreement.d.ts +122 -0
- package/dist-standalone/key-agreement.js +236 -0
- package/dist-standalone/lazy-init.d.ts +167 -0
- package/dist-standalone/lazy-init.js +295 -0
- package/dist-standalone/mdns-discovery.d.ts +117 -0
- package/dist-standalone/mdns-discovery.js +195 -0
- package/dist-standalone/nonce-store.d.ts +39 -0
- package/dist-standalone/nonce-store.js +62 -0
- package/dist-standalone/package.json +11 -0
- package/dist-standalone/pairing-manager.d.ts +147 -0
- package/dist-standalone/pairing-manager.js +219 -0
- package/dist-standalone/policy.d.ts +150 -0
- package/dist-standalone/policy.js +315 -0
- package/dist-standalone/redis-nonce-store.d.ts +93 -0
- package/dist-standalone/redis-nonce-store.js +72 -0
- package/dist-standalone/registry-middleware.d.ts +38 -0
- package/dist-standalone/registry-middleware.js +47 -0
- package/dist-standalone/retry-transport.d.ts +76 -0
- package/dist-standalone/retry-transport.js +98 -0
- package/dist-standalone/security-policy.d.ts +146 -0
- package/dist-standalone/security-policy.js +198 -0
- package/dist-standalone/split-channel.d.ts +69 -0
- package/dist-standalone/split-channel.js +171 -0
- package/dist-standalone/subscription-proof.d.ts +103 -0
- package/dist-standalone/subscription-proof.js +224 -0
- package/dist-standalone/succession.d.ts +57 -0
- package/dist-standalone/succession.js +142 -0
- package/dist-standalone/transport.d.ts +50 -0
- package/dist-standalone/transport.js +59 -0
- package/dist-standalone/trust-registry.d.ts +286 -0
- package/dist-standalone/trust-registry.js +702 -0
- package/dist-standalone/verify.d.ts +16 -0
- package/dist-standalone/verify.js +16 -0
- package/dist-standalone/xfetch.d.ts +129 -0
- package/dist-standalone/xfetch.js +247 -0
- package/llms.txt +800 -0
- package/package.json +79 -0
- package/share1.dat +0 -0
|
@@ -0,0 +1,1920 @@
|
|
|
1
|
+
// src/build/wasm-module.js
|
|
2
|
+
async function MLDSAModule(moduleArg = {}) {
|
|
3
|
+
var moduleRtn;
|
|
4
|
+
(function() {
|
|
5
|
+
function humanReadableVersionToPacked(str) {
|
|
6
|
+
str = str.split("-")[0];
|
|
7
|
+
var vers = str.split(".").slice(0, 3);
|
|
8
|
+
while (vers.length < 3) vers.push("00");
|
|
9
|
+
vers = vers.map((n, i2, arr) => n.padStart(2, "0"));
|
|
10
|
+
return vers.join("");
|
|
11
|
+
}
|
|
12
|
+
var packedVersionToHumanReadable = (n) => [n / 1e4 | 0, (n / 100 | 0) % 100, n % 100].join(".");
|
|
13
|
+
var TARGET_NOT_SUPPORTED = 2147483647;
|
|
14
|
+
var currentNodeVersion = typeof process !== "undefined" && process.versions?.node ? humanReadableVersionToPacked(process.versions.node) : TARGET_NOT_SUPPORTED;
|
|
15
|
+
if (currentNodeVersion < 16e4) {
|
|
16
|
+
throw new Error(`This emscripten-generated code requires node v${packedVersionToHumanReadable(16e4)} (detected v${packedVersionToHumanReadable(currentNodeVersion)})`);
|
|
17
|
+
}
|
|
18
|
+
var userAgent = typeof navigator !== "undefined" && navigator.userAgent;
|
|
19
|
+
if (!userAgent) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
var currentSafariVersion = userAgent.includes("Safari/") && !userAgent.includes("Chrome/") && userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
|
|
23
|
+
if (currentSafariVersion < 15e4) {
|
|
24
|
+
throw new Error(`This emscripten-generated code requires Safari v${packedVersionToHumanReadable(15e4)} (detected v${currentSafariVersion})`);
|
|
25
|
+
}
|
|
26
|
+
var currentFirefoxVersion = userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
|
|
27
|
+
if (currentFirefoxVersion < 79) {
|
|
28
|
+
throw new Error(`This emscripten-generated code requires Firefox v79 (detected v${currentFirefoxVersion})`);
|
|
29
|
+
}
|
|
30
|
+
var currentChromeVersion = userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
|
|
31
|
+
if (currentChromeVersion < 85) {
|
|
32
|
+
throw new Error(`This emscripten-generated code requires Chrome v85 (detected v${currentChromeVersion})`);
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
35
|
+
var Module = moduleArg;
|
|
36
|
+
var ENVIRONMENT_IS_WEB = !!globalThis.window;
|
|
37
|
+
var ENVIRONMENT_IS_WORKER = !!globalThis.WorkerGlobalScope;
|
|
38
|
+
var ENVIRONMENT_IS_NODE = globalThis.process?.versions?.node && globalThis.process?.type != "renderer";
|
|
39
|
+
var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
|
|
40
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
41
|
+
const { createRequire } = await import("module");
|
|
42
|
+
var require2 = createRequire(import.meta.url);
|
|
43
|
+
}
|
|
44
|
+
var arguments_ = [];
|
|
45
|
+
var thisProgram = "./this.program";
|
|
46
|
+
var quit_ = (status, toThrow) => {
|
|
47
|
+
throw toThrow;
|
|
48
|
+
};
|
|
49
|
+
var _scriptName = import.meta.url;
|
|
50
|
+
var scriptDirectory = "";
|
|
51
|
+
function locateFile(path) {
|
|
52
|
+
return scriptDirectory + path;
|
|
53
|
+
}
|
|
54
|
+
var readAsync, readBinary;
|
|
55
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
56
|
+
const isNode = globalThis.process?.versions?.node && globalThis.process?.type != "renderer";
|
|
57
|
+
if (!isNode) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
|
|
58
|
+
var fs = require2("fs");
|
|
59
|
+
if (_scriptName.startsWith("file:")) {
|
|
60
|
+
scriptDirectory = require2("path").dirname(require2("url").fileURLToPath(_scriptName)) + "/";
|
|
61
|
+
}
|
|
62
|
+
readBinary = (filename) => {
|
|
63
|
+
filename = isFileURI(filename) ? new URL(filename) : filename;
|
|
64
|
+
var ret = fs.readFileSync(filename);
|
|
65
|
+
assert(Buffer.isBuffer(ret));
|
|
66
|
+
return ret;
|
|
67
|
+
};
|
|
68
|
+
readAsync = async (filename, binary = true) => {
|
|
69
|
+
filename = isFileURI(filename) ? new URL(filename) : filename;
|
|
70
|
+
var ret = fs.readFileSync(filename, binary ? void 0 : "utf8");
|
|
71
|
+
assert(binary ? Buffer.isBuffer(ret) : typeof ret == "string");
|
|
72
|
+
return ret;
|
|
73
|
+
};
|
|
74
|
+
if (process.argv.length > 1) {
|
|
75
|
+
thisProgram = process.argv[1].replace(/\\/g, "/");
|
|
76
|
+
}
|
|
77
|
+
arguments_ = process.argv.slice(2);
|
|
78
|
+
quit_ = (status, toThrow) => {
|
|
79
|
+
process.exitCode = status;
|
|
80
|
+
throw toThrow;
|
|
81
|
+
};
|
|
82
|
+
} else if (ENVIRONMENT_IS_SHELL) {
|
|
83
|
+
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
84
|
+
try {
|
|
85
|
+
scriptDirectory = new URL(".", _scriptName).href;
|
|
86
|
+
} catch {
|
|
87
|
+
}
|
|
88
|
+
if (!(globalThis.window || globalThis.WorkerGlobalScope)) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
|
|
89
|
+
{
|
|
90
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
91
|
+
readBinary = (url) => {
|
|
92
|
+
var xhr = new XMLHttpRequest();
|
|
93
|
+
xhr.open("GET", url, false);
|
|
94
|
+
xhr.responseType = "arraybuffer";
|
|
95
|
+
xhr.send(null);
|
|
96
|
+
return new Uint8Array(
|
|
97
|
+
/** @type{!ArrayBuffer} */
|
|
98
|
+
xhr.response
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
readAsync = async (url) => {
|
|
103
|
+
if (isFileURI(url)) {
|
|
104
|
+
return new Promise((resolve, reject) => {
|
|
105
|
+
var xhr = new XMLHttpRequest();
|
|
106
|
+
xhr.open("GET", url, true);
|
|
107
|
+
xhr.responseType = "arraybuffer";
|
|
108
|
+
xhr.onload = () => {
|
|
109
|
+
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
|
|
110
|
+
resolve(xhr.response);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
reject(xhr.status);
|
|
114
|
+
};
|
|
115
|
+
xhr.onerror = reject;
|
|
116
|
+
xhr.send(null);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
var response = await fetch(url, { credentials: "same-origin" });
|
|
120
|
+
if (response.ok) {
|
|
121
|
+
return response.arrayBuffer();
|
|
122
|
+
}
|
|
123
|
+
throw new Error(response.status + " : " + response.url);
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
throw new Error("environment detection error");
|
|
128
|
+
}
|
|
129
|
+
var out = console.log.bind(console);
|
|
130
|
+
var err = console.error.bind(console);
|
|
131
|
+
var IDBFS = "IDBFS is no longer included by default; build with -lidbfs.js";
|
|
132
|
+
var PROXYFS = "PROXYFS is no longer included by default; build with -lproxyfs.js";
|
|
133
|
+
var WORKERFS = "WORKERFS is no longer included by default; build with -lworkerfs.js";
|
|
134
|
+
var FETCHFS = "FETCHFS is no longer included by default; build with -lfetchfs.js";
|
|
135
|
+
var ICASEFS = "ICASEFS is no longer included by default; build with -licasefs.js";
|
|
136
|
+
var JSFILEFS = "JSFILEFS is no longer included by default; build with -ljsfilefs.js";
|
|
137
|
+
var OPFS = "OPFS is no longer included by default; build with -lopfs.js";
|
|
138
|
+
var NODEFS = "NODEFS is no longer included by default; build with -lnodefs.js";
|
|
139
|
+
assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");
|
|
140
|
+
var wasmBinary;
|
|
141
|
+
if (!globalThis.WebAssembly) {
|
|
142
|
+
err("no native wasm support detected");
|
|
143
|
+
}
|
|
144
|
+
var ABORT = false;
|
|
145
|
+
var EXITSTATUS;
|
|
146
|
+
function assert(condition, text) {
|
|
147
|
+
if (!condition) {
|
|
148
|
+
abort("Assertion failed" + (text ? ": " + text : ""));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
var isFileURI = (filename) => filename.startsWith("file://");
|
|
152
|
+
function writeStackCookie() {
|
|
153
|
+
var max = _emscripten_stack_get_end();
|
|
154
|
+
assert((max & 3) == 0);
|
|
155
|
+
if (max == 0) {
|
|
156
|
+
max += 4;
|
|
157
|
+
}
|
|
158
|
+
HEAPU32[max >> 2] = 34821223;
|
|
159
|
+
HEAPU32[max + 4 >> 2] = 2310721022;
|
|
160
|
+
HEAPU32[0 >> 2] = 1668509029;
|
|
161
|
+
}
|
|
162
|
+
function checkStackCookie() {
|
|
163
|
+
if (ABORT) return;
|
|
164
|
+
var max = _emscripten_stack_get_end();
|
|
165
|
+
if (max == 0) {
|
|
166
|
+
max += 4;
|
|
167
|
+
}
|
|
168
|
+
var cookie1 = HEAPU32[max >> 2];
|
|
169
|
+
var cookie2 = HEAPU32[max + 4 >> 2];
|
|
170
|
+
if (cookie1 != 34821223 || cookie2 != 2310721022) {
|
|
171
|
+
abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`);
|
|
172
|
+
}
|
|
173
|
+
if (HEAPU32[0 >> 2] != 1668509029) {
|
|
174
|
+
abort("Runtime error: The application has corrupted its heap memory area (address zero)!");
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
var runtimeDebug = true;
|
|
178
|
+
function dbg(...args) {
|
|
179
|
+
if (!runtimeDebug && typeof runtimeDebug != "undefined") return;
|
|
180
|
+
console.warn(...args);
|
|
181
|
+
}
|
|
182
|
+
(() => {
|
|
183
|
+
var h16 = new Int16Array(1);
|
|
184
|
+
var h8 = new Int8Array(h16.buffer);
|
|
185
|
+
h16[0] = 25459;
|
|
186
|
+
if (h8[0] !== 115 || h8[1] !== 99) abort("Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)");
|
|
187
|
+
})();
|
|
188
|
+
function consumedModuleProp(prop) {
|
|
189
|
+
if (!Object.getOwnPropertyDescriptor(Module, prop)) {
|
|
190
|
+
Object.defineProperty(Module, prop, {
|
|
191
|
+
configurable: true,
|
|
192
|
+
set() {
|
|
193
|
+
abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function makeInvalidEarlyAccess(name) {
|
|
199
|
+
return () => assert(false, `call to '${name}' via reference taken before Wasm module initialization`);
|
|
200
|
+
}
|
|
201
|
+
function ignoredModuleProp(prop) {
|
|
202
|
+
if (Object.getOwnPropertyDescriptor(Module, prop)) {
|
|
203
|
+
abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function isExportedByForceFilesystem(name) {
|
|
207
|
+
return name === "FS_createPath" || name === "FS_createDataFile" || name === "FS_createPreloadedFile" || name === "FS_preloadFile" || name === "FS_unlink" || name === "addRunDependency" || // The old FS has some functionality that WasmFS lacks.
|
|
208
|
+
name === "FS_createLazyFile" || name === "FS_createDevice" || name === "removeRunDependency";
|
|
209
|
+
}
|
|
210
|
+
function missingLibrarySymbol(sym) {
|
|
211
|
+
unexportedRuntimeSymbol(sym);
|
|
212
|
+
}
|
|
213
|
+
function unexportedRuntimeSymbol(sym) {
|
|
214
|
+
if (!Object.getOwnPropertyDescriptor(Module, sym)) {
|
|
215
|
+
Object.defineProperty(Module, sym, {
|
|
216
|
+
configurable: true,
|
|
217
|
+
get() {
|
|
218
|
+
var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;
|
|
219
|
+
if (isExportedByForceFilesystem(sym)) {
|
|
220
|
+
msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you";
|
|
221
|
+
}
|
|
222
|
+
abort(msg);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
function binaryDecode(bin) {
|
|
228
|
+
for (var i2 = 0, l = bin.length, o = new Uint8Array(l), c; i2 < l; ++i2) {
|
|
229
|
+
c = bin.charCodeAt(i2);
|
|
230
|
+
o[i2] = ~c >> 8 & c;
|
|
231
|
+
}
|
|
232
|
+
return o;
|
|
233
|
+
}
|
|
234
|
+
var readyPromiseResolve, readyPromiseReject;
|
|
235
|
+
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
|
|
236
|
+
var HEAP64, HEAPU64;
|
|
237
|
+
var runtimeInitialized = false;
|
|
238
|
+
function updateMemoryViews() {
|
|
239
|
+
var b = wasmMemory.buffer;
|
|
240
|
+
Module["HEAP8"] = HEAP8 = new Int8Array(b);
|
|
241
|
+
HEAP16 = new Int16Array(b);
|
|
242
|
+
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
243
|
+
HEAPU16 = new Uint16Array(b);
|
|
244
|
+
HEAP32 = new Int32Array(b);
|
|
245
|
+
HEAPU32 = new Uint32Array(b);
|
|
246
|
+
HEAPF32 = new Float32Array(b);
|
|
247
|
+
HEAPF64 = new Float64Array(b);
|
|
248
|
+
HEAP64 = new BigInt64Array(b);
|
|
249
|
+
HEAPU64 = new BigUint64Array(b);
|
|
250
|
+
}
|
|
251
|
+
assert(
|
|
252
|
+
globalThis.Int32Array && globalThis.Float64Array && Int32Array.prototype.subarray && Int32Array.prototype.set,
|
|
253
|
+
"JS engine does not provide full typed array support"
|
|
254
|
+
);
|
|
255
|
+
function preRun() {
|
|
256
|
+
}
|
|
257
|
+
function initRuntime() {
|
|
258
|
+
assert(!runtimeInitialized);
|
|
259
|
+
runtimeInitialized = true;
|
|
260
|
+
checkStackCookie();
|
|
261
|
+
wasmExports["__wasm_call_ctors"]();
|
|
262
|
+
}
|
|
263
|
+
function postRun() {
|
|
264
|
+
checkStackCookie();
|
|
265
|
+
}
|
|
266
|
+
function abort(what) {
|
|
267
|
+
what = "Aborted(" + what + ")";
|
|
268
|
+
err(what);
|
|
269
|
+
ABORT = true;
|
|
270
|
+
var e = new WebAssembly.RuntimeError(what);
|
|
271
|
+
readyPromiseReject?.(e);
|
|
272
|
+
throw e;
|
|
273
|
+
}
|
|
274
|
+
var FS = {
|
|
275
|
+
error() {
|
|
276
|
+
abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM");
|
|
277
|
+
},
|
|
278
|
+
init() {
|
|
279
|
+
FS.error();
|
|
280
|
+
},
|
|
281
|
+
createDataFile() {
|
|
282
|
+
FS.error();
|
|
283
|
+
},
|
|
284
|
+
createPreloadedFile() {
|
|
285
|
+
FS.error();
|
|
286
|
+
},
|
|
287
|
+
createLazyFile() {
|
|
288
|
+
FS.error();
|
|
289
|
+
},
|
|
290
|
+
open() {
|
|
291
|
+
FS.error();
|
|
292
|
+
},
|
|
293
|
+
mkdev() {
|
|
294
|
+
FS.error();
|
|
295
|
+
},
|
|
296
|
+
registerDevice() {
|
|
297
|
+
FS.error();
|
|
298
|
+
},
|
|
299
|
+
analyzePath() {
|
|
300
|
+
FS.error();
|
|
301
|
+
},
|
|
302
|
+
ErrnoError() {
|
|
303
|
+
FS.error();
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
function createExportWrapper(name, nargs) {
|
|
307
|
+
return (...args) => {
|
|
308
|
+
assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`);
|
|
309
|
+
var f = wasmExports[name];
|
|
310
|
+
assert(f, `exported native function \`${name}\` not found`);
|
|
311
|
+
assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`);
|
|
312
|
+
return f(...args);
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
var wasmBinaryFile;
|
|
316
|
+
function findWasmBinary() {
|
|
317
|
+
return binaryDecode('\0asm\0\0\0\xA4`\x7F\x7F\x7F\x7F`\x7F~\x7F~`\x7F\x7F\x7F\x7F\0`\x7F\x7F`\x7F\x7F\x7F\x7F\x7F`\0\0`\b\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F`\x7F\x7F\x7F\0`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0`\x7F\x7F\0` \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0`\x7F\0`\x7F\x7F\x7F\x7F\x7F\0`\x7F\x7F\x7F` \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F`\b\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0`\x7F\x7F\x7F\x7F\x7F\x7F\x7F`\x7F\x7F\x7F\x7F\x7F\x7F\0`\0\x7F`~\x7FTenv\r__assert_fail\0envemscripten_resize_heap\0wasi_snapshot_preview1\bfd_write\0\xED\xEB\0\x07\0\x07\0\x07\b\b \n\b\n\0\b\v\v\n\n\n\n\n\n\f\f\n\n\f\f\f\b\b\n\r\n\n\n\n\n\b\b\f\f\f\n\n\f\f\f\b\b\n\b\n\n\n\n\n\n\n\n\0 \x07\f\b\f\b\f\f\b\f\b\f \f\f\f\f \f\f\b\b \n\b\n\0\b\v\b\n\v\n\n\n\n\n\n\b\b\f\f\f\n\n\f\f\f\b\b\n\b\n\n\n\n\n\n\n\n\0 \x07\b\b \n\b\n\0\b\v\v\n\n\n\n\n\n\n\b\b\f\f\f\n\n\f\f\f\b\b\n\b\n\n\n\n\n\n\n\n\0 \x07\0\f\f\f\f\n\f\0\f\fp\x07\x85\x80\x80\'\x7FA\x80\x80\v\x7FA\0\v\x7FA\0\v\x7F\0A\xEC\xA9\v\x7F\0A\xEC\xA9\v\x7F\0A\xF9\xA9\v\x07\x8Amemory\0__wasm_call_ctors\0mldsa44_keypair\0\fmldsa44_sign\0mldsa44_verify\0mldsa65_keypair\0\x07\fmldsa65_sign\0\bmldsa65_verify\0 mldsa87_keypair\0\n\fmldsa87_sign\0\vmldsa87_verify\0\f__indirect_function_table\0fflush\0\xEB\bstrerror\0\xEDfree\0\xE7__em_lib_deps__em_malloc_depsmalloc\0\xE6emscripten_stack_init\0\xCEemscripten_stack_get_free\0\xCFemscripten_stack_get_base\0\xD0emscripten_stack_get_end\0\xD1_emscripten_stack_restore\0\xE8_emscripten_stack_alloc\0\xE9emscripten_stack_get_current\0\xEA__start_em_lib_deps__stop_em_lib_deps \f\0A\v\xD7\xD6\xD8\n\x9B\x91\xEB\b\0\xCE\xDF\v\0 \0 \xC8\x80\x80\x80\0\v`\x7F#\x80\x80\x80\x80\0A\xD0k"\b$\x80\x80\x80\x80\0@@ \bA\0A\0 A\0\xCE\x80\x80\x80\0"\r\0A\x7F!\f\v \0 \b \x07 A\0\xCA\x80\x80\x80\0!\v \bA\xD0j$\x80\x80\x80\x80\0 \v\0 \0 \xCD\x80\x80\x80\0\v\0 \0 \x95\x81\x80\x80\0\v`\x7F#\x80\x80\x80\x80\0A\xD0k"\b$\x80\x80\x80\x80\0@@ \bA\0A\0 A\0\x9B\x81\x80\x80\0"\r\0A\x7F!\f\v \0 \b \x07 A\0\x97\x81\x80\x80\0!\v \bA\xD0j$\x80\x80\x80\x80\0 \v\0 \0 \x9A\x81\x80\x80\0\v\0 \0 \xC7\x81\x80\x80\0\v`\x7F#\x80\x80\x80\x80\0A\xD0k"\b$\x80\x80\x80\x80\0@@ \bA\0A\0 A\0\xCD\x81\x80\x80\0"\r\0A\x7F!\f\v \0 \b \x07 A\0\xC9\x81\x80\x80\0!\v \bA\xD0j$\x80\x80\x80\x80\0 \v\0 \0 \xCC\x81\x80\x80\0\vm\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0A j \xAB\x80\x80\x80\0 \0A\xE0j A\x80\bj\xAB\x80\x80\x80\0 \0A\xA0j A\x80j\xAB\x80\x80\x80\0 \0A\xE0\x07j A\x80j\xAB\x80\x80\x80\0\vm\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A j\xAC\x80\x80\x80\0 A\x80\bj A\xE0j\xAC\x80\x80\x80\0 A\x80j A\xA0j\xAC\x80\x80\x80\0 A\x80j A\xE0\x07j\xAC\x80\x80\x80\0\v\xCC\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0 )\0\x007\0 \0 )\0\b7\0( \0 )\07\x000 \0 )\07\x008 \0 )\0\x007\0@ \0 )\0\b7\0H \0 )\07\0P \0 )\07\0X \0 )\0 7\0` \0 )\0(7\0h \0 )\x0007\0p \0 )\x0087\0x \0A\x80j \xC2\x80\x80\x80\0 \0A\x80j \xC1\x80\x80\x80\0 \0A\x80\x07j \xC3\x80\x80\x80\0\v\xE4\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 )\x0087\0 )\x0007\0 )\0(7\0\b )\0 7\0\0 )\0x7\x008 )\0p7\x000 )\0h7\0( )\0`7\0 )\0X7\0 )\0P7\0 )\0H7\0\b )\0@7\0\0 A\x80j\xC4\x80\x80\x80\0 \xB3\x80\x80\x80\0 A\x80j\xC6\x80\x80\x80\0 \xBA\x80\x80\x80\0 A\x80\x07j\xC7\x80\x80\x80\0 \xBA\x80\x80\x80\0\v*\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0\v\x87\x7F \0A\xA0j!A\0!\0@@ \0Atj(\0E\r\0 A\xCF\0K\r\0 j \0:\0\0 Aj!\v@ \0Ar"Atj(\0E\r\0 A\xCF\0K\r\0 j :\0\0 Aj!\v \0Aj"\0A\x80G\r\0\v jA\xD0\0j :\0\0\v\0 \0 A\xC0ljA j \x9E\x80\x80\x80\0\v\xF0\x7F \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A j\xC5\x80\x80\x80\0 A\0A\x80 \xFC\v\0A!@ -\0\xF0"A\xD0\0K\r\0 A\xA0j!@@ E\r\0A!\0 -\0\0AtjA6\0 AF\r\0@ \0j"-\0\0"\x07 A\x7Fj-\0\0M\r \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xF1"A\xD0\0K\r K\r@ O\r\0 A\x80\bj"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xF2"A\xD0\0K\r K\r@ O\r\0 A\x80j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xF3"A\xD0\0K\r K\r@ O\r\0 A\x80j" j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j"\x07-\0\0!@ \0 M\r\0 \x07A\x7Fj-\0\0M\r\v AtjA6\0 \0Aj"\0 G\r\0\v\vA\0! A\xD0\0O\r@ j-\0\0\r Aj"A\xD0\0F\r\f\0\v\vA!\v \v\xA5\x7F~A\0!@ \0 At"j" j"(\0"A\xFF\0jA\x07uA\x8B\xD8\0lA\x80\x80\x80jAu"\x076\0A+ \x07k\xAC!\b \bB\x88\xA7! \x07 A\x7Fsq"6\0 A\x80\xB0tlj"6\0A\x80\xE0\xFF k\xAC!\b \bB\x88\xA7!\x07 A\xFF\xBF\x80|j s \x07q s6\0 Aj"A\x80G\r\0\v\v\\\x7FA\0!A\0!@ \0 At"j j(\0"A\xFF\x97zjA\xFF\xAFtI A\x80\x98zF j(\0A\0Gqr"6\0 j! Aj"A\x80G\r\0\v \v\xC7\x7F~\x7FA\0!@ At"j(\0!A+ j(\0"A\xFF\0jA\x07uA\x8B\xD8\0lA\x80\x80\x80jAu"\x07k\xAC!\b \bB\x88\xA7! A\x80\xE0\xFF \x07 A\x7Fsq" A\x80\xB0tlj"\x07k\xAC!\b \bB\x88\xA7!@ E\r\0@ \x07A\xFF\xBF\x80|j \x07s q \x07sAH\r\0A\0 Aj A+F\x1B! \f\v A\x7FjA+ \x1B! \v \0 j 6\0 Aj"A\x80G\r\0\v\v\xA2\n\x7F#\x80\x80\x80\x80\0" !\n A\xA0kA`q"\v$\x80\x80\x80\x80\0 \v )\x0087\xD8 \v )\x0007\xD0 \v )\0(7\xC8 \v )\0 7\xC0 \v )\07\xB8 \v )\07\xB0 \v )\0\b7\xA8 \v )\0\x007\xA0 \v )\0\x007\x80\x07 \v )\0\b7\x88\x07 \v )\07\x90\x07 \v )\07\x98\x07 \v )\0 7\xA0\x07 \v )\0(7\xA8\x07 \v )\x0007\xB0\x07 \v )\x0087\xB8\x07 \v )\0\x007\xE0\x07 \v )\0\b7\xE8\x07 \v )\07\xF0\x07 \v )\07\xF8\x07 \v )\0 7\x80\b \v )\0(7\x88\b \v )\x0007\x90\b \v )\x0087\x98\b \v )\0\x007\xC0\b \v )\0\b7\xC8\b \v )\07\xD0\b \v )\07\xD8\b \v )\0 7\xE0\b \v )\0(7\xE8\b \v )\x0087\xF8\b \v )\x0007\xF0\b \v \b:\0\x80 \v \x07:\0\xA0\b \v :\0\xC0\x07 \v :\0\xE0A\0!\b \vA\0:\0\x81 \vA\0:\0\xA1\b \vA\0:\0\xC1\x07 \vA\0:\0\xE1 \v\xE1\x80\x80\x80\0 \v \vA\xA0j \vA\x80\x07j \vA\xE0\x07j \vA\xC0\bjA\xC2\0\xDF\x80\x80\x80\0 \vA\xA0 j \vA\xC0\nj"\f \vA\xE0\vj"\r \vA\x80\rj"A \v\xE0\x80\x80\x80\0A\0!@ \vA\xA0 j \bj-\0\0"\x07Av!@ \x07Aq"\x07AF\r\0 \0 Atj \x07A\xCDlA\nvAl \x07kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\x80I!A\0!\x07@@ A\xFFM\r\0A\0!\f\v \bA\x87I! \bAj!\bA\0! \r\v\v@ \f \x07j-\0\0"Av!\b@ Aq"AF\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ \bAF\r\0 A\xFFK\r\0 Atj \bA\xCDlA\nvAl \bkAj6\0 Aj!\v A\x80I!A\0!@@ A\xFFM\r\0A\0!\b\f\v \x07A\x87I! \x07Aj!\x07A\0!\b \r\v\v@ \r j-\0\0" Av!\x07@ Aq" AF\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v@ \x07AF\r\0 \bA\xFFK\r\0 \bAtj \x07A\xCDlA\nvAl \x07kAj6\0 \bAj!\b\v \bA\x80I!A\0! @@ \bA\xFFM\r\0A\0!\x07\f\v A\x87I! Aj!A\0!\x07 \r\v\v@ j-\0\0"Av!@ Aq"AF\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ AF\r\0 \x07A\xFFK\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ \x07A\xFFK\r\0 A\x87I! Aj! \r\v\v \x07A\x80I!@@ A\x80I\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\xFFK\r\v@ \vA\xA0 j \f \r A \v\xE0\x80\x80\x80\0A\0!@ AqE\r\0@ \vA\xA0 j j-\0\0"Av! @ Aq"AF\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ \f j-\0\0"Av! @ Aq"AF\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ \r j-\0\0"Av! @ Aq"AF\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v@ AF\r\0 \bA\xFFK\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v \bA\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ j-\0\0"Av! @ Aq"AF\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ AF\r\0 \x07A\xFFK\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v \x07A\xFFK\r A\x87I! Aj! \r\0\v\v \x07A\x80I! \bA\x80I! A\x80I! A\x80I"\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\x80I\r\0\v\v \v\xE2\x80\x80\x80\0 \vA\xA0 jA\0A\x80\xFC\v\0 \vA\xA0 j! \vA\xA0jA\0A\x80\xFC\v\0 \vA\xA0j! \n$\x80\x80\x80\x80\0\v\x82\x7F#\x80\x80\x80\x80\0" A\xA0kA`q"\n$\x80\x80\x80\x80\0 \n )\x0087\xD8 \n )\x0007\xD0 \n )\0(7\xC8 \n )\0 7\xC0 \n )\07\xB8 \n )\07\xB0 \n )\0\b7\xA8 \n )\0\x007\xA0 \n )\0\x007\x80\x07 \n )\0\b7\x88\x07 \n )\07\x90\x07 \n )\07\x98\x07 \n )\0 7\xA0\x07 \n )\0(7\xA8\x07 \n )\x0007\xB0\x07 \n )\x0087\xB8\x07 \n )\0\x007\xE0\x07 \n )\0\b7\xE8\x07 \n )\07\xF0\x07 \n )\07\xF8\x07 \n )\0 7\x80\b \n )\0(7\x88\b \n )\x0007\x90\b \n )\x0087\x98\b \n )\0\x007\xC0\b \n )\0\b7\xC8\b \n )\07\xD0\b \n )\07\xD8\b \n )\0 7\xE0\b \n )\0(7\xE8\b \n )\x0087\xF8\b \n )\x0007\xF0\b \n \b:\0\x80 \n \bA\bv:\0\x81 \n \x07:\0\xA0\b \n \x07A\bv:\0\xA1\b \n :\0\xC0\x07 \n A\bv:\0\xC1\x07 \n :\0\xE0 \n A\bv:\0\xE1 \n\xE1\x80\x80\x80\0 \n \nA\xA0j \nA\x80\x07j \nA\xE0\x07j \nA\xC0\bjA\xC2\0\xDF\x80\x80\x80\0 \nA\xA0 j \nA\xE0j" \nA\xA0j"\b \nA\xE0j"\x07A \n\xE0\x80\x80\x80\0 \0 \nA\xA0 j\x9A\x80\x80\x80\0 \x9A\x80\x80\x80\0 \b\x9A\x80\x80\x80\0 \x07\x9A\x80\x80\x80\0 \n\xE2\x80\x80\x80\0 \nA\xA0 jA\0A\x80\xFC\v\0 \nA\xA0 j! \nA\xA0jA\0A\x80\xFC\v\0 \nA\xA0j!\n $\x80\x80\x80\x80\0\v\xAB\x07\x7FA\0!@ \0 Atj" A lj"-\0\0"6\0 -\0A\btr"6\0 -\0AtA\x80\x80\fq r"6\0 -\0Av"6 -\0At r"6 -\0AtA\x80\x80q r"6 -\0Av"\x076\b -\0At \x07r"\x076\b -\0A\ftA\x80\xE0q \x07r"\x076\b -\0Av"\b6\f -\0\x07At \br"\b6\f -\0\b! A\x80\x80\b \x07k6\b A\x80\x80\b k6 A\x80\x80\b k6\0 A\x80\x80\b A\nt \brk6\f Aj"A\xC0\0G\r\0\v\v\xAF\x7F~\x7F#\x80\x80\x80\x80\0"! A\x80kA`q"$\x80\x80\x80\x80\0 Aj\xD4\x80\x80\x80\0 Aj A \xD5\x80\x80\x80\0 Aj\xD6\x80\x80\x80\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0 )\xE0! \0A\0A\x80\b\xFC\v\0A\b!A\xD9!@@ A\x88I\r\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0A\0!\v "Aj! A\xE0jj-\0\0"I\r\0 \0 Atj \0 Atj"(\x006\0 A \xA7AtAqk6\0 B\x88! Aj"A\x80G\r\0\v Aj\xD8\x80\x80\x80\0 A\xE0jA\0A\x88\xFC\v\0 A\xE0j! B\x007\xF8 A\xF8j! $\x80\x80\x80\x80\0\v\xBD\b\x7FA\0!@ Atj"(! (\f! (! (!\x07 (!\b \0 Alj" A (AtkA (\0krA (\bk"Atr:\0\0 A \x07k"\x07A\xFEqAvA\b \bAtkrA\xC0\0 Atkr:\0 A Atk A\xFCqAvrA Atkr \x07A\x07tr:\0 Aj"A G\r\0\v\v\x8E\n\x7FA\0!@ \0 Atj" Alj"-\0\0A\x07q"6\0 -\0\0AvA\x07q"6 -\0AtAq -\0\0Avr"\x076\b -\0AvA\x07q"\b6\f -\0AvA\x07q" 6 -\0AtAq -\0A\x07vr"\n6 -\0AvA\x07q"\v6 -\0! A \vk6 A \nk6 A k6 A \bk6\f A \x07k6\b A k6 A k6\0 A Avk6 Aj"A G\r\0\v\v\xC5\x7FA\0!@ Atj"(! (\b! (\f! \0 A lj"\x07A\x80\x80\b (\0k":\0\0 \x07A\x80\x80\b k"A\nv:\0\b \x07 Av:\0\x07 \x07A\x80\x80\b k"Av:\0 \x07A\x80\x80\b k"Av:\0 \x07 A\bv:\0 \x07 At A\fvr:\0 \x07 At Avr:\0 \x07 At Avr:\0 Aj"A\xC0\0G\r\0\v\v\x82\x7FA\0!@ \0 Alj" Atj"(\0":\0\0 (Atr:\0\0 (Av":\0 (\bAt r:\0 (\bAv":\0 (\fAt r:\0 Aj"A\xC0\0G\r\0\v\v\\\x7FA\0!@ \0 Atj" (\0"A\x80\x80\x80jAuA\xFF\xBF\x80|l j6\0 ("A\x80\x80\x80jAuA\xFF\xBF\x80|l j6 Aj"A\x80G\r\0\v\vt\x7F~\x7FA\0!@ \0 Atj"(\0"\xAC! B\x88\xA7! A\x81\xC0\xFFjsqs6\0 ("\xAC! B\x88\xA7! A\x81\xC0\xFFjsqs6 Aj"A\x80G\r\0\v\v\x8C\x7FA\0!@ \0 At"j" j(\0 (\0j6\0 \0 Ar"j" j(\0 (\0j6\0 \0 A\br"j" j(\0 (\0j6\0 \0 A\fr"j" j(\0 (\0j6\0 Aj"A\x80G\r\0\v\v\x8C\x7FA\0!@ \0 At"j" (\0 j(\0k6\0 \0 Ar"j" (\0 j(\0k6\0 \0 A\br"j" (\0 j(\0k6\0 \0 A\fr"j" (\0 j(\0k6\0 Aj"A\x80G\r\0\v\vT\x7FA\0!@ \0 Atj" (\0A\rt6\0 (A\rt6 (\bA\rt6\b (\fA\rt6\f Aj"A\x80G\r\0\v\v\xFC\x7F~\x7F~A\0!A\0!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\xF0\x9E\xD1\x8F\xED\0~B \x87B\xFF\xBF\x80|~ B\xF7\xC9~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\xF0\x9E\xD1\x8F\xED\0~B \x87B\xFF\xBF\x80|~ B\xF7\xC9~|B \x88\xA7"k6\x84 j6 Aj"A\x80G\r\0\v@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\xA0\xA0\x9C\xFC\x8C\x7F~B \x87B\xFF\xBF\x80|~ B\x82\xE2\xE0~~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\xA0\xA0\x9C\xFC\x8C\x7F~B \x87B\xFF\xBF\x80|~ B\x82\xE2\xE0~~|B \x88\xA7"k6\x84 j6 Aj"A\xC0\0G\r\0\vA\x80!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\xB0\xA0\x9D\x8C\x8D\x7F~B \x87B\xFF\xBF\x80|~ B\x83\xAA`~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\xB0\xA0\x9D\x8C\x8D\x7F~B \x87B\xFF\xBF\x80|~ B\x83\xAA`~|B \x88\xA7"k6\x84 j6 Aj"A\xC0G\r\0\vA\0!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\xC0\xC8\x87\xE6\xE1\0~B \x87B\xFF\xBF\x80|~ B\xC4\xBC~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\xC0\xC8\x87\xE6\xE1\0~B \x87B\xFF\xBF\x80|~ B\xC4\xBC~|B \x88\xA7"k6\x84 j6 Aj"A G\r\0\vA\xC0\0!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\x80\xA3\xC8\x8B\xD8\0~B \x87B\xFF\xBF\x80|~ B\x98\xC2P~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\x80\xA3\xC8\x8B\xD8\0~B \x87B\xFF\xBF\x80|~ B\x98\xC2P~|B \x88\xA7"k6\x84 j6 Aj"A\xE0\0G\r\0\vA\x80!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\x80\xA5\xE8\x8B\xE0\0~B \x87B\xFF\xBF\x80|~ B\xA8\xC2J~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\x80\xA5\xE8\x8B\xE0\0~B \x87B\xFF\xBF\x80|~ B\xA8\xC2J~|B \x88\xA7"k6\x84 j6 Aj"A\xA0G\r\0\vA\xC0!@ \0 Atj" (\0" 4\x80"B\x80\x80\x80\x80\xC0\xC4\xE7\xE5\xE1\0~B \x87B\xFF\xBF\x80|~ B\xA4\xBC~|B \x88\xA7"k6\x80 j6\0 (" 4\x84"B\x80\x80\x80\x80\xC0\xC4\xE7\xE5\xE1\0~B \x87B\xFF\xBF\x80|~ B\xA4\xBC~|B \x88\xA7"k6\x84 j6 Aj"A\xE0G\r\0\vA\b!A\0!@ \0 Atj" (\0" 4@ At4\x80\x80\x90\x80\0"~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6@ j6\0 (" 4D~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6D j6 (\b" 4H~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6H j6\b (\f" 4L~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6L j6\f (" 4P~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6P j6 (" 4T~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6T j6 (" 4X~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6X j6 (" 4\\~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6\\ j6 ( " 4`~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6` j6 ($" 4d~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6d j6$ ((" 4h~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6h j6( (," 4l~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6l j6, (0" 4p~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6p j60 (4" 4t~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6t j64 (8" 4x~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6x j68 (<" 4|~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88\xA7"k6| j6< A j!A! Aj"AG\r\0\vA\0!@ \0 Atj" (\0" 4 At4\x80\x80\x90\x80\0"~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6 j6\0 (" 4$~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6$ j6 (\b" 4(~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6( j6\b (\f" 4,~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6, j6\f (" 40~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k60 j6 (" 44~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k64 j6 (" 48~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k68 j6 (" 4<~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88\xA7"k6< j6 Aj!A ! Aj"A G\r\0\vA\0!@ \0 Atj" (\0" 4 At4\x80\x80\x90\x80\0"~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6 j6\0 (" 4~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6 j6 (\b" 4~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6 j6\b (\f" 4~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88\xA7"k6 j6\f A\bj!A\xC0\0! Aj"A\xC0\0G\r\0\vA\0!@ \0 Atj" (\0" 4\b At4\x80\x80\x90\x80\0"~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88\xA7"k6\b j6\0 (" 4\f~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88\xA7"k6\f j6 Aj!A\x80! Aj"A\x80G\r\0\vA\0!@ \0 Atj" (\0" 4 At4\x80\x80\x90\x80\0~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88\xA7"k6 j6\0 Aj! Aj"A\x80G\r\0\v\v\xCE\x7F~\x7F~\x7FA\xFF!A\0!A\0!@ \0 Atj" (" (\0"j6\0 k\xACA\0 At(\x80\x80\x90\x80\0k\xAC~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88> A\x7Fj! A\xFEI! Aj! \r\0\vA\xFF\0!@ \0 Atj" (\b" (\0"j6\0 (\f"\b (" j6A\0! k\xACA\0 At(\x80\x80\x90\x80\0k\xAC"\x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>\b \bk\xAC \x07~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88>\f A\x7Fj! A\xFCI! Aj! \r\0\vA?!@ \0 Atj" (" (\0"j6\0 ("\b (" j6 ("\v (\b"\fj6\b ("\r (\f"j6\fA\0! k\xACA\0 At(\x80\x80\x90\x80\0k\xAC"\x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88> \bk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88> \f \vk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88> \rk\xAC \x07~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88> A\x7Fj! A\xF8I! A\bj! \r\0\vA!@ \0 Atj" ( " (\0"j6\0 ($"\b (" j6 (("\v (\b"\fj6\b (,"\r (\f"j6\f (0" ("j6A\0! k\xACA\0 At(\x80\x80\x90\x80\0k\xAC"\x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88> \bk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>$ \f \vk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>( \rk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>, k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>0 (4" ("j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>4 (8" ("j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>8 (<" ("j6 k\xAC \x07~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88>< A\x7Fj! A\xF0I! Aj! \r\0\vA!@ \0 Atj" (@" (\0"j6\0 (D"\b (" j6 (H"\v (\b"\fj6\b (L"\r (\f"j6\f (P" ("j6A\0! k\xACA\0 At(\x80\x80\x90\x80\0k\xAC"\x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>@ \bk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>D \f \vk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>H \rk\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>L k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>P (T" ("j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>T (X" ("j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>X (\\" ("j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>\\ (`" ( "j6 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>` (d" ($"j6$ k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>d (h" (("j6( k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>h (l" (,"j6, k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>l (p" (0"j60 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>p (t" (4"j64 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>t (x" (8"j68 k\xAC \x07~"\nB\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \n|B \x88>x (|" (<"j6< k\xAC \x07~"\x07B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ \x07|B \x88>| A\x7Fj! A\xE0I! A j! \r\0\v@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\xC0\xBB\x98\x9A\x9E\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xDC\xC3c~|B \x88>\x80 Aj"A G\r\0\vA\xC0\0!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\x80\xDB\x97\xF4\x9F\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xD8\xBD5~|B \x88>\x80 Aj"A\xE0\0G\r\0\vA\x80!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\x80\xDD\xB7\xF4\xA7\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xE8\xBD/~|B \x88>\x80 Aj"A\xA0G\r\0\vA\xC0!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\xC0\xB7\xF8\x99\x9E\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xBC\xC3q~|B \x88>\x80 Aj"A\xE0G\r\0\vA\0!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\xD0\xDF\xE2\xF3\xF2\0~B \x87B\xFF\xBF\x80|~ \x07B\xFD\xD5~|B \x88>\x80 Aj"A\xC0\0G\r\0\vA\x80!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\xE0\xDF\xE3\x83\xF3\0~B \x87B\xFF\xBF\x80|~ \x07B\xFE\x9D\x9F~|B \x88>\x80 Aj"A\xC0G\r\0\vA\0!@ \0 Atj" (\x80" (\0"j6\0 k\xAC"\x07B\x80\x80\x80\x80\x90\xE1\xAE\xF0\x92\x7F~B \x87B\xFF\xBF\x80|~ \x07B\x89\xB6~~|B \x88>\x80 Aj"A\x80G\r\0\vA\0!@ \0 Atj" 4\0"\x07B\x80\x80\x80\x80\xA0\xFF\xF8\xBF\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xFA\xC7~|B \x88>\0 4"\x07B\x80\x80\x80\x80\xA0\xFF\xF8\xBF\x7F~B \x87B\xFF\xBF\x80|~ \x07B\xFA\xC7~|B \x88> Aj"A\x80G\r\0\v\v\x8E\x7F~A\0!@ \0 At"j j4\0 j4\0~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 \0 Ar"j j4\0 j4\0~"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v\vz\x7FA\0!@ \0 At"j j(\0"A\xFFj"A\ru6\0 j A\x80@qk6\0 \0 Ar"j j(\0"A\xFFj"A\ru6\0 j A\x80@qk6\0 Aj"A\x80G\r\0\v\v\x8B\x7F#\x80\x80\x80\x80\0"! A\xC0\bkA`q"$\x80\x80\x80\x80\0 Aj\xCF\x80\x80\x80\0 Aj A"\xD0\x80\x80\x80\0 Aj\xD1\x80\x80\x80\0 A\xE0jA\xC8 Aj\xD2\x80\x80\x80\0A\0!A!A\0!@ !@ A\xE0j j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \0 Atj 6\0 Aj!\v@ A\xC5K\r\0 Aj! ! A\x80I\r\v\v@ A\x80O\r\0@ A\xE0jA\xA8 Aj\xD2\x80\x80\x80\0A\0!A!@ !@ A\xE0j j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \0 Atj 6\0 Aj!\v@ A\xA5K\r\0 Aj! ! A\x80I\r\v\v A\xFFM\r\0\v\v Aj\xD3\x80\x80\x80\0 A\xE0jA\0A\xC8\xFC\v\0 A\xE0j! $\x80\x80\x80\x80\0\v\xCF \x7F#\x80\x80\x80\x80\0"! A\xA0!kA`q"\x07$\x80\x80\x80\x80\0 \x07\xDD\x80\x80\x80\0 \x07 A\xC0\0j A\x80j A\xC0jA"\xDA\x80\x80\x80\0 \x07A\xA0j \x07A\x80\rj"\b \x07A\xE0j" \x07A\xC0j"\nA \x07\xDC\x80\x80\x80\0A\0!\vA!\fA\0!\r@ \f!@ \x07A\xA0j \vj"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \0 \rAtj 6\0 \rAj!\r\vA! \rA\x80I!A\0!@@ A\xC5M\r\0A\0!\f\v Aj!\f !\vA\0! \rA\x80I\r\v\v@ !@ \b j"\v/\0\0 \vAj-\0\0AtA\x80\x80\xFCqr"\vA\x80\xC0\xFFK\r\0 Atj \v6\0 Aj!\vA!\f A\x80I!A\0!@@ A\xC5M\r\0A\0!\v\f\v Aj! !A\0!\v A\x80I\r\v\v@ \f!@ j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \vAtj 6\0 \vAj!\v\vA! \vA\x80I!A\0!@@ A\xC5M\r\0A\0!\f\v Aj!\f !A\0! \vA\x80I\r\v\v@ !@ \n j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 Atj 6\0 Aj!\v@ A\xC5K\r\0 Aj! ! A\x80I\r\v\v A\x80I!@@ \rA\x80I\r\0 A\x80I\r\0 \vA\x80I\r\0 A\xFFK\r\v@ \x07A\xA0j \b \nA \x07\xDC\x80\x80\x80\0@ AqE\r\0A\0!A!\f@ \f!@ \x07A\xA0j j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \0 \rAtj 6\0 \rAj!\r\v A\xA5K\r Aj!\f ! \rA\x80I\r\0\v\v@ AqE\r\0A\0!A!\f@ \f!@ \b j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 Atj 6\0 Aj!\v A\xA5K\r Aj!\f ! A\x80I\r\0\v\v@ AqE\r\0A\0!A!\f@ \f!@ j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 \vAtj 6\0 \vAj!\v\v A\xA5K\r Aj!\f ! \vA\x80I\r\0\v\v@ AqE\r\0A\0!A!\f@ \f!@ \n j"/\0\0 Aj-\0\0AtA\x80\x80\xFCqr"A\x80\xC0\xFFK\r\0 Atj 6\0 Aj!\v A\xA5K\r Aj!\f ! A\x80I\r\0\v\v A\x80I! \vA\x80I! A\x80I! \rA\x80I"\r\0 A\x80I\r\0 \vA\x80I\r\0 A\x80I\r\0\v\v \x07\xDE\x80\x80\x80\0 \x07A\xA0jA\0A\x80\x1B\xFC\v\0 \x07A\xA0j! $\x80\x80\x80\x80\0\v\x81\x7FA\0!@ \0 Alj" Atj"(\0:\0\0 (At (\0A\bvr:\0 (\bAt (Avr:\0 (\fAt (\bAvr:\0 (\fAv:\0 Aj"A\xC0\0G\r\0\v\v\x89\x7FA\0!@ \0 Atj" Alj"-\0A\btA\x80q -\0\0r6\0 -\0AtA\xC0\x07q -\0Avr6 -\0AtA\xF0\x07q -\0Avr6\b -\0At -\0Avr6\f Aj"A\xC0\0G\r\0\v\v\xB4\v\x7FA\0!@ Atj"(\b! (! (! (\f!\x07 (!\b (! (!\n \0 A\rlj"\vA\x80 (\0k"\f:\0\0 \vA\x80 \nk"\nAv:\0\f \vA\x80 k"Av:\0\n \vA\x80 \bk"\bAv:\0\x07 \vA\x80 \x07k"\x07Av:\0 \vA\x80 k"Av:\0 \v \nAt A\nvr:\0\v \v AtA\x80 k"A\x07vr:\0 \v At \bA\fvr:\0\b \v \bAt \x07A vr:\0 \v \x07A\x07tA\x80 k"Avr:\0 \v At A\vvr:\0 \v At \fA\bvr:\0 Aj"A G\r\0\v\v\xE3\v\x7FA\0!@ \0 Atj" A\rlj"-\0\0"6\0 -\0A\btA\x80>qr"6\0 -\0Av"6 -\0At r"6 -\0A\vtA\x800q r"6 -\0Av"\x076\b -\0AtA\xC0?q \x07r"\x076\b -\0A\x07v"\b6\f -\0At \br"\b6\f -\0A tA\x80<q \br"\b6\f -\0Av" 6 -\0\x07At r" 6 -\0\bA\ftA\x80 q r" 6 -\0\bAv"\n6 -\0 A\x07tA\x80?q \nr"\n6 -\0 Av"\v6 -\0\nAt \vr"\v6 -\0\vA\ntA\x808q \vr"\v6 -\0\vAv"\f6 -\0\f! A\x80 \vk6 A\x80 \nk6 A\x80 k6 A\x80 \bk6\f A\x80 \x07k6\b A\x80 k6 A\x80 k6\0 A\x80 At \frk6 Aj"A G\r\0\v\v\\\x7F~\x7FA\0!A\0!@ \0 Atj(\0"\xAC! B\x88\xA7! A\0 ksqsA\x7Fsj\xAC! B\x88\xA7r! Aj"A\x80G\r\0\v \v\xE1\x7F#\x80\x80\x80\x80\0"A\x80kA`q"$\x80\x80\x80\x80\0 )\07 )\07 )\0\b7\b )\0\x007\0 )\07X )\07P )\0\b7H )\0\x007@ )\0\x007\x80 )\0\b7\x88 )\07\x90 )\07\x98 )\0\x007\xC0 )\0\b7\xC8 )\07\xD0 )\07\xD8 A;\xE0 A;\xA0 A;` A\0; \0 \0A\x80\bj \0A\x80j \0A\x80j \xAA\x80\x80\x80\0 A\x83;\xE0 A\x82;\xA0 A\x81;` A\x80; \0A\x80 j \0A\x80(j \0A\x800j \0A\x808j \xAA\x80\x80\x80\0 A\x83;\xE0 A\x82;\xA0 A\x81;` A\x80; \0A\x80\xC0\0j \0A\x80\xC8\0j \0A\x80\xD0\0j \0A\x80\xD8\0j \xAA\x80\x80\x80\0 A\x83;\xE0 A\x82;\xA0 A\x81;` A\x80; \0A\x80\xE0\0j \0A\x80\xE8\0j \0A\x80\xF0\0j \0A\x80\xF8\0j \xAA\x80\x80\x80\0 A\0A\x80\xFC\v\0 ! $\x80\x80\x80\x80\0\v\xAA\x7F~\x7FA\0!@ \0 At"j j"4\x80\b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80\bj!\x07 A\x80 j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80j!\x07 A\x80\xC0\0j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80j!\0 A\x80\xE0\0j!A\0!@ \0 At"j j"4\x80\b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v\vH\0 \0 \0A\x80\bj \0A\x80j \0A\x80j At"A\xFC\xFFq ArA\xFD\xFFq ArA\xFE\xFFq ArA\xFF\xFFq\x99\x80\x80\x80\0\v.\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0\vG\x7F \0 \xAF\x80\x80\x80\0! \0A\x80\bj \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0 rrr\v.\0 \0\xA0\x80\x80\x80\0 \0A\x80\bj\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0\v.\0 \0\xA1\x80\x80\x80\0 \0A\x80\bj\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0\vB\0 \0 \xA2\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0\vB\0 \0 \xA3\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0\v.\0 \0\xA4\x80\x80\x80\0 \0A\x80\bj\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0\v.\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0\v.\0 \0\xA6\x80\x80\x80\0 \0A\x80\bj\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0\vJ\0 \0 \xA7\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0\vV\0 \0 \xA8\x80\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0\vB\0 \0 \x95\x80\x80\x80\0 \0A\x80\bj A\x80\bj\x95\x80\x80\x80\0 \0A\x80j A\x80j\x95\x80\x80\x80\0 \0A\x80j A\x80j\x95\x80\x80\x80\0\vV\0 \0 \x97\x80\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\x97\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\x97\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\x97\x80\x80\x80\0\vB\0 \0 \x9F\x80\x80\x80\0 \0A\xC0j A\x80\bj\x9F\x80\x80\x80\0 \0A\x80j A\x80j\x9F\x80\x80\x80\0 \0A\xC0j A\x80j\x9F\x80\x80\x80\0\vB\0 \0 \x9C\x80\x80\x80\0 \0A\xE0\0j A\x80\bj\x9C\x80\x80\x80\0 \0A\xC0j A\x80j\x9C\x80\x80\x80\0 \0A\xA0j A\x80j\x9C\x80\x80\x80\0\vB\0 \0 \x9C\x80\x80\x80\0 \0A\xE0\0j A\x80\bj\x9C\x80\x80\x80\0 \0A\xC0j A\x80j\x9C\x80\x80\x80\0 \0A\xA0j A\x80j\x9C\x80\x80\x80\0\vB\0 \0 \xAD\x80\x80\x80\0 \0A\xA0j A\x80\bj\xAD\x80\x80\x80\0 \0A\xC0j A\x80j\xAD\x80\x80\x80\0 \0A\xE0 j A\x80j\xAD\x80\x80\x80\0\vB\0 \0 \x9D\x80\x80\x80\0 \0A\x80\bj A\xE0\0j\x9D\x80\x80\x80\0 \0A\x80j A\xC0j\x9D\x80\x80\x80\0 \0A\x80j A\xA0j\x9D\x80\x80\x80\0\vB\0 \0 \x9A\x80\x80\x80\0 \0A\x80\bj A\xC0j\x9A\x80\x80\x80\0 \0A\x80j A\x80 j\x9A\x80\x80\x80\0 \0A\x80j A\xC0\rj\x9A\x80\x80\x80\0\vB\0 \0 \x9D\x80\x80\x80\0 \0A\x80\bj A\xE0\0j\x9D\x80\x80\x80\0 \0A\x80j A\xC0j\x9D\x80\x80\x80\0 \0A\x80j A\xA0j\x9D\x80\x80\x80\0\vB\0 \0 \xAE\x80\x80\x80\0 \0A\x80\bj A\xA0j\xAE\x80\x80\x80\0 \0A\x80j A\xC0j\xAE\x80\x80\x80\0 \0A\x80j A\xE0 j\xAE\x80\x80\x80\0\v\xBC\x7F#\x80\x80\x80\x80\0"A\x80\x82kA`q"$\x80\x80\x80\x80\0 )\0\x007\xC0\x80 )\0\b7\xC8\x80 )\07\xD0\x80 )\07\xD8\x80 A\x84\b;\xE0\x80 A\x80\x81jA\x80 A\xC0\x80jA"\xD9\x80\x80\x80\0 A\x80\xE0\0j A\x80\xE0\0jA\x80\bj A\x80\xE0\0jA\x80j A\x80\xE0\0jA\x80j A\xA0\x81j"A\0AAA\x98\x80\x80\x80\0 A\x80\xC0\0j A\x80\xC0\0jA\x80\bj A\x80\xC0\0jA\x80j A\x80\xC0\0jA\x80j AAAA\x07\x98\x80\x80\x80\0 A\x80 j A\x80\x80j \0 A\x80\x81j A\x80\xE0\0j A\x80\xC0\0j\xC9\x80\x80\x80\0 A\x80\x81j A\x80\x80j A\xE0\x81j A\x80\xE0\0j A\x80\xC0\0j\x8F\x80\x80\x80\0 A\0A\x80 \xFC\v\0 ! A\x80 jA\0A\x80 \xFC\v\0 A\x80 j! A\x80\xC0\0jA\0A\x80 \xFC\v\0 A\x80\xC0\0j! A\x80\xE0\0jA\0A\x80 \xFC\v\0 A\x80\xE0\0j! B\x007\xB8\x80 B\x007\xB0\x80 B\x007\xA8\x80 B\x007\xA0\x80 B\x007\x98\x80 B\x007\x90\x80 B\x007\x88\x80 B\x007\x80\x80 A\x80\x80j! A\0;\xE0\x80 B\x007\xD8\x80 B\x007\xD0\x80 B\x007\xC8\x80 B\x007\xC0\x80 A\xC0\x80j! A\x80\x81jA\0A\x80\xFC\v\0 A\x80\x81j! $\x80\x80\x80\x80\0A\0\v\xEA\x7F#\x80\x80\x80\x80\0"\x07A\x80\xC0kA`q"\b$\x80\x80\x80\x80\0 \bA\x80\xC0\0j \xB0\x80\x80\x80\0 \bA\x80 j A\x80 \xFC\n\0\0 \bA\x80 j\xB3\x80\x80\x80\0 \b \bA\x80\xC0\0j \bA\x80 j\xB1\x80\x80\x80\0 \b\xBB\x80\x80\x80\0 \b \xB7\x80\x80\x80\0 \b\xB5\x80\x80\x80\0 \b\xB6\x80\x80\x80\0 \0 \b\xBD\x80\x80\x80\0 \x8D\x80\x80\x80\0 A\xC0\0 A\xA0\n\xD9\x80\x80\x80\0 \bA\0A\x80 \xFC\v\0 \b! \bA\x80 jA\0A\x80 \xFC\v\0 \bA\x80 j! \bA\x80\xC0\0jA\0A\x80\x80\xFC\v\0 \bA\x80\xC0\0j!\b \x07$\x80\x80\x80\x80\0\v\xCE\x7F#\x80\x80\x80\x80\0" !\n A\xA0\xFAkA`q" $\x80\x80\x80\x80\0 A\x80\xE0j A\xA0\xE0j"\v A\xE0\xE0j"\f A\x80 j A\x80\xC0\0j \x07\x90\x80\x80\x80\0 A\xC0\xE1j!\r A\x80\xE1j!@@ \b\r\0 A\xC0\0 \vA\xC0\0 \xCB\x80\x80\x80\0\f\v )\x0087\x008 )\x0007\x000 )\0(7\0( )\0 7\0 )\07\0 )\07\0 )\0\b7\0\b )\0\x007\0\0\v A\x80\xE0\0j\xD4\x80\x80\x80\0 A\x80\xE0\0j \fA \xD5\x80\x80\x80\0 A\x80\xE0\0j A \xD5\x80\x80\x80\0 A\x80\xE0\0j A\xC0\0\xD5\x80\x80\x80\0 A\x80\xE0\0j\xD6\x80\x80\x80\0 \rA\xC0\0 A\x80\xE0\0j\xD7\x80\x80\x80\0 A\x80\xE0\0j\xD8\x80\x80\x80\0 A\x80\xE0\0jA\0A\xD0\xFC\v\0 A\x80\xE0\0j! \0A\xA0j! A\x80\xE0\0j A\x80\xE0j\xB0\x80\x80\x80\0 A\x80\x92jA\x80j! A\x80\x92jA\x80j! A\x80\x92jA\x80\bj! A\x80 jA\x80j! A\x80\xF2jA\x80j! A\x80j! A\x80 jA\x80j! A\x80\xF2jA\x80j! A\x80j! A\x80 jA\x80\bj! A\x80\xF2jA\x80\bj! A\x80\bj!\x1B A\x80\xDAjA\x80j! A\x80\xC0\0jA\x80j! A\x80\xDAjA\x80j! A\x80\xC0\0jA\x80j!\v A\x80\xDAjA\x80\bj! A\x80\xC0\0jA\x80\bj! A\x80\x92jA\x80 j!A\0!@@ A\x80\xDAj \r A\xFF\xFFq\xB2\x80\x80\x80\0 A\x80\xDAjA\x80 \xFC\n\0\0 \xB3\x80\x80\x80\0 A\x80\xF2j A\x80\xE0\0j \xB1\x80\x80\x80\0 A\x80\xF2j\xBB\x80\x80\x80\0 A\x80\xF2j\xB6\x80\x80\x80\0 A\x80\x92j A\x80\xF2j\xBE\x80\x80\x80\0 \0 A\x80\x92j\xC0\x80\x80\x80\0 A\x80\xD2j\xD4\x80\x80\x80\0 A\x80\xD2j A\xC0\0\xD5\x80\x80\x80\0 A\x80\xD2j \0A\x80\xD5\x80\x80\x80\0 A\x80\xD2j\xD6\x80\x80\x80\0 A\x80\xFAjA A\x80\xD2j\xD7\x80\x80\x80\0 A\x80\xD2j\xD8\x80\x80\x80\0 A\x80\xD2jA\0A\xD0\xFC\v\0 A\x80\xD2j!\x07 A\x80\xEAj A\x80\xFAj\x9B\x80\x80\x80\0 A\x80\xEAj\xA5\x80\x80\x80\0 A\x80\xD2j A\x80\xC0\0jA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xEAj A\x80\xD2j\xA7\x80\x80\x80\0 A\x80\xE2j\xA6\x80\x80\x80\0 A\x80\xE2j A\x80\xDAj\xA2\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0A\0!\b@ A\x80\xE2jA\xB2\xFF\x07\xAF\x80\x80\x80\0\r\0A\0!\b \0 A\x80\xE2jA\0\x93\x80\x80\x80\0 A\x80\xD2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xEAj A\x80\xD2j\xA7\x80\x80\x80\0 A\x80\xE2j\xA6\x80\x80\x80\0 A\x80\xE2j \xA2\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xFF\x07\xAF\x80\x80\x80\0\r\0 \0 A\x80\xE2jA\x93\x80\x80\x80\0 A\x80\xD2j \vA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xEAj A\x80\xD2j\xA7\x80\x80\x80\0 A\x80\xE2j\xA6\x80\x80\x80\0 A\x80\xE2j \xA2\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xFF\x07\xAF\x80\x80\x80\0\r\0 \0 A\x80\xE2jA\x93\x80\x80\x80\0 A\x80\xD2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xEAj A\x80\xD2j\xA7\x80\x80\x80\0 A\x80\xE2j\xA6\x80\x80\x80\0 A\x80\xE2j \xA2\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xFF\x07\xAF\x80\x80\x80\0\r\0 \0 A\x80\xE2jA\x93\x80\x80\x80\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xE2j A\x80\xF2jA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA3\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xE7\xAF\x80\x80\x80\0!\f A\x80\xF2j A\x80\xE2jA\x80\b\xFC\n\0\0 \f\r\0 A\x80\xE2j A\x80 jA\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xD2j\xA0\x80\x80\x80\0 A\x80\xD2jA\x80\xE8\xAF\x80\x80\x80\0\r\0 A\x80\xE2j A\x80\xF2jA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA2\x80\x80\x80\0 A\x80\xF2j A\x80\xE2jA\x80\b\xFC\n\0\0 A\x80\xE2j \x1BA\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA3\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xE7\xAF\x80\x80\x80\0!\f A\x80\xE2jA\x80\b\xFC\n\0\0 \f\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xD2j\xA0\x80\x80\x80\0 A\x80\xD2jA\x80\xE8\xAF\x80\x80\x80\0\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA2\x80\x80\x80\0 A\x80\xE2jA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA3\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xE7\xAF\x80\x80\x80\0!\f A\x80\xE2jA\x80\b\xFC\n\0\0 \f\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xD2j\xA0\x80\x80\x80\0 A\x80\xD2jA\x80\xE8\xAF\x80\x80\x80\0\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA2\x80\x80\x80\0 A\x80\xE2jA\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA3\x80\x80\x80\0 A\x80\xE2j\xA0\x80\x80\x80\0 A\x80\xE2jA\xB2\xE7\xAF\x80\x80\x80\0!\f A\x80\xE2jA\x80\b\xFC\n\0\0 \f\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xD2j A\x80\xEAj A\x80\xE2j\xA7\x80\x80\x80\0 A\x80\xD2j\xA6\x80\x80\x80\0 A\x80\xD2j\xA0\x80\x80\x80\0 A\x80\xD2jA\x80\xE8\xAF\x80\x80\x80\0\r\0 A\x80\xE2j A\x80\b\xFC\n\0\0 A\x80\xE2j A\x80\xD2j\xA2\x80\x80\x80\0 A\x80\xE2jA\x80\b\xFC\n\0\0 \0 A\x80\xFAj\x91\x80\x80\x80\0A\0!\b A\0A\xD4\0\xFC\v\0 A\x80\xD2j A\x80\xF2j A\x80\x92j\x96\x80\x80\x80\0"\fA\xD0\0K\r\0A\0!\b \0 A\x80\xD2jA\0A\0\x92\x80\x80\x80\0 A\x80\xD2j \x96\x80\x80\x80\0 \fj"A\xD0\0K\r\0 \0 A\x80\xD2jA \f\x92\x80\x80\x80\0 A\x80\xD2j \x96\x80\x80\x80\0 j"\fA\xD0\0K\r\0 \0 A\x80\xD2jA \x92\x80\x80\x80\0 A\x80\xD2j \x96\x80\x80\x80\0 \fjA\xD0\0K\r\0 \0 A\x80\xD2jA \f\x92\x80\x80\x80\0A!\b\v A\x80\xE2jA\0A\x80\b\xFC\v\0 A\x80\xE2j!\f A\x80\xEAjA\0A\x80\b\xFC\v\0 A\x80\xEAj!\f A\x80\xF2jA\0A\x80 \xFC\v\0 A\x80\xF2j!\f A\x80\x92jA\0A\x80\xC0\0\xFC\v\0 A\x80\x92j!\f A\x80\xD2jA\0A\x80\b\xFC\v\0 A\x80\xDAjA\0A\x80 \xFC\v\0 A\x80\xDAj!\x07 B\x007\x98\xFA B\x007\x90\xFA B\x007\x88\xFA B\x007\x80\xFA A\x80\xFAj!\x07@ \bE\r\0 A\xF46\0A\0!\f\v Aj"A\xFF\xFFqA\xFE\xFF\0G\r\0\v A\x006\0 \0A\0A\xF4\xFC\v\0A\x7F!\v A\0A\x80 \xFC\v\0 !\x07 A\x80 jA\0A\x80 \xFC\v\0 A\x80 j!\x07 A\x80\xC0\0jA\0A\x80 \xFC\v\0 A\x80\xC0\0j!\x07 A\x80\xE0\0jA\0A\x80\x80\xFC\v\0 A\x80\xE0\0j!\x07 A\x80\xE0jA\0A\x80\xFC\v\0 A\x80\xE0j! \n$\x80\x80\x80\x80\0 \v\x88\x7F#\x80\x80\x80\x80\0A\xD0k"\b$\x80\x80\x80\x80\0 \b\xD4\x80\x80\x80\0 \b \xD5\x80\x80\x80\0@ E\r\0 \b \xD5\x80\x80\x80\0\v@ \x07E\r\0 \b \x07\xD5\x80\x80\x80\0\v \b\xD6\x80\x80\x80\0 \0 \b\xD7\x80\x80\x80\0 \b\xD8\x80\x80\x80\0 \bA\0A\xD0\xFC\v\0 \b!\x07 \bA\xD0j$\x80\x80\x80\x80\0\v\xDC\x7F~#\x80\x80\x80\x80\0"\b! \bA\x80\xB1kA`q"\b$\x80\x80\x80\x80\0A\x7F!\n@ A\xF4G\r\0 \bA\x80\xA9j \bA\x80\xC0\0j \x8E\x80\x80\x80\0 \bA\xA0\xA8j \bA\x80\x80j \b \0\x94\x80\x80\x80\0\r\0 \bA\x80\x80jA\xB2\xFF\x07\xB4\x80\x80\x80\0\r\0 \bA\x80\xC0\0jA\x80 j!\n@@ \x07\r\0 \bA\x80\xA0j\xD4\x80\x80\x80\0 \bA\x80\xA0j A\xA0\n\xD5\x80\x80\x80\0 \bA\x80\xA0j\xD6\x80\x80\x80\0 \bA\x80 jA\xC0\0 \bA\x80\xA0j\xD7\x80\x80\x80\0 \bA\x80\xA0j\xD8\x80\x80\x80\0 \bA\x80\xA0jA\0A\xD0\xFC\v\0 \bA\x80\xA0j! \bA\xC0\xA8jA\xC0\0 \bA\x80 jA\xC0\0 \xCB\x80\x80\x80\0 \bB\x007\xB8 \bB\x007\xB0 \bB\x007\xA8 \bB\x007\xA0 \bB\x007\x98 \bB\x007\x90 \bB\x007\x88 \bB\x007\x80 \bA\x80 j!\f\v \b )\x0087\xF8\xA8 \b )\x0007\xF0\xA8 \b )\0(7\xE8\xA8 \b )\0 7\xE0\xA8 \b )\07\xD8\xA8 \b )\07\xD0\xA8 \b )\0\b7\xC8\xA8 \b )\0\x007\xC0\xA8\v \bA\x80\xA0j \bA\xA0\xA8j\x9B\x80\x80\x80\0 \bA\x80\xA0j\xA5\x80\x80\x80\0 \bA\x80\xC0\0j\xB9\x80\x80\x80\0 \bA\x80\xC0\0j\xBA\x80\x80\x80\0 \bA\x80 j \bA\x80\xA0j \bA\x80\xC0\0j\xBC\x80\x80\x80\0 \bA\x80\xA0j \bA\x80\xA9j\xB0\x80\x80\x80\0 \bA\x80\x80j\xB3\x80\x80\x80\0 \n \bA\x80\xA0j \bA\x80\x80j\xB1\x80\x80\x80\0 \n \bA\x80 j\xB8\x80\x80\x80\0 \n\xB5\x80\x80\x80\0 \n\xBB\x80\x80\x80\0 \n\xB6\x80\x80\x80\0 \bA\x80 j \n \b\xBF\x80\x80\x80\0 \bA\xA0\xA9j \bA\x80 j\xC0\x80\x80\x80\0 \bA\xB0\xAFj\xD4\x80\x80\x80\0 \bA\xB0\xAFj \bA\xC0\xA8jA\xC0\0\xD5\x80\x80\x80\0 \bA\xB0\xAFj \bA\xA0\xA9jA\x80\xD5\x80\x80\x80\0 \bA\xB0\xAFj\xD6\x80\x80\x80\0 \bA\x80\xA8jA \bA\xB0\xAFj\xD7\x80\x80\x80\0 \bA\xB0\xAFj\xD8\x80\x80\x80\0 \bA\xB0\xAFjA\0A\xD0\xFC\v\0 \bA\xB0\xAFj!\nB\0 \b-\0\x9F\xA8 \b-\0\xBF\xA8s"\n \b-\0\x9E\xA8 \b-\0\xBE\xA8s" \b-\0\x9D\xA8 \b-\0\xBD\xA8s" \b-\0\x9C\xA8 \b-\0\xBC\xA8s"\0 \b-\0\x9B\xA8 \b-\0\xBB\xA8s" \b-\0\x9A\xA8 \b-\0\xBA\xA8s"\x07 \b-\0\x99\xA8 \b-\0\xB9\xA8s" \b-\0\x98\xA8 \b-\0\xB8\xA8s" \b-\0\x97\xA8 \b-\0\xB7\xA8s" \b-\0\x96\xA8 \b-\0\xB6\xA8s"\v \b-\0\x95\xA8 \b-\0\xB5\xA8s"\f \b-\0\x94\xA8 \b-\0\xB4\xA8s"\r \b-\0\x93\xA8 \b-\0\xB3\xA8s" \b-\0\x92\xA8 \b-\0\xB2\xA8s" \b-\0\x91\xA8 \b-\0\xB1\xA8s" \b-\0\x90\xA8 \b-\0\xB0\xA8s" \b-\0\x8F\xA8 \b-\0\xAF\xA8s" \b-\0\x8E\xA8 \b-\0\xAE\xA8s" \b-\0\x8D\xA8 \b-\0\xAD\xA8s" \b-\0\x8C\xA8 \b-\0\xAC\xA8s" \b-\0\x8B\xA8 \b-\0\xAB\xA8s" \b-\0\x8A\xA8 \b-\0\xAA\xA8s" \b-\0\x89\xA8 \b-\0\xA9\xA8s" \b-\0\x88\xA8 \b-\0\xA8\xA8s" \b-\0\x87\xA8 \b-\0\xA7\xA8s" \b-\0\x86\xA8 \b-\0\xA6\xA8s"\x1B \b-\0\x85\xA8 \b-\0\xA5\xA8s" \b-\0\x84\xA8 \b-\0\xA4\xA8s" \b-\0\x83\xA8 \b-\0\xA3\xA8s" \b-\0\x82\xA8 \b-\0\xA2\xA8s" \b-\0\x81\xA8 \b-\0\xA1\xA8s" \b-\0\x80\xA8 \b-\0\xA0\xA8s"!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\xADB\xFF\x83}!" \n \0 \x07 \v \f \r \x1B !sssssssssssssssssssssssssssssss" "B \x88\xA7s!\nA\x7FA\0 \nA\xFFq A\xFFqG\x1B!\n\v \bA\0A\x80 \xFC\v\0 \b! \bA\x80 jA\0A\x80 \xFC\v\0 \bA\x80 j! \bA\x80\xC0\0jA\0A\x80\xC0\0\xFC\v\0 \bA\x80\xC0\0j! \bA\x80\x80jA\0A\x80 \xFC\v\0 \bA\x80\x80j! \bA\x80\xA0jA\0A\x80\x80\xFC\v\0 \bA\x80\xA0j! \bA\x80\xA0jA\0A\x80\b\xFC\v\0 \bA\x80\xA0j! \bB\x007\x98\xA8 \bB\x007\x90\xA8 \bB\x007\x88\xA8 \bB\x007\x80\xA8 \bA\x80\xA8j! \bB\x007\xB8\xA8 \bB\x007\xB0\xA8 \bB\x007\xA8\xA8 \bB\x007\xA0\xA8 \bA\xA0\xA8j! \bB\x007\xF8\xA8 \bB\x007\xF0\xA8 \bB\x007\xE8\xA8 \bB\x007\xE0\xA8 \bB\x007\xD8\xA8 \bB\x007\xD0\xA8 \bB\x007\xC8\xA8 \bB\x007\xC0\xA8 \bA\xC0\xA8j! \bB\x007\x98\xA9 \bB\x007\x90\xA9 \bB\x007\x88\xA9 \bB\x007\x80\xA9 \bA\x80\xA9j! \bA\xA0\xA9jA\0A\x80\xFC\v\0 \bA\xA0\xA9j!\b $\x80\x80\x80\x80\0 \n\v\x89\x7F#\x80\x80\x80\x80\0"\x07!\b \x07A\xE0kA`q"\x07$\x80\x80\x80\x80\0A\x7F! @ A\xFFK\r\0 \x07 :\0 \x07A\0:\0\0@ E\r\0 E\r\0 \x07Ar \xFC\n\0\0\v \0 \x07 Aj A\0\xCC\x80\x80\x80\0! \v \x07A\0A\xCC\xFC\v\0 \x07!\x07 \b$\x80\x80\x80\x80\0 \v\xC6\x7FA\0!@ A\xFFK\r\0@ E\r\0 E\r@@@@@@@@@@@@ A\x7Fj\f\v\0\x07\b \n\r\v A F\r\v\f\f\v A0F\r\n\f\v\v A\xC0\0F\r \f\n\v AF\r\b\f \v A F\r\x07\f\b\v AF\r\f\x07\v A F\r\f\v A0F\r\f\v A\xC0\0F\r\f\v A F\r\f\v A\xC0\0F\r\f\v AG\r\v \0 :\0 \0 A\0G:\0\0@ E\r\0 E\r\0 \0Aj \xFC\n\0\0\v@ \r\0 Aj\v \0 j" AtA\xBC\x89\x90\x80\0j(\0"(\0\v6\0 )\07\0@ E\r\0 A\rj \xFC\n\0\0\v jA\rj!\v \v\f\0 \0A\0A\xCC\xFC\v\0\v\x95\x7F@ A\xA8 \0(\xC8"k"I\r\0 \0 \xE4\x80\x80\x80\0 \0\xE8\x80\x80\x80\0 j!A\0! k"A\xA8I\r\0@A\0! \0 A\0A\xA8\xE4\x80\x80\x80\0 \0\xE8\x80\x80\x80\0 A\xA8j! A\xD8~j"A\xA7K\r\0\v\v \0 \xE4\x80\x80\x80\0 \0 j6\xC8\vc\x7F#\x80\x80\x80\x80\0Ak"$\x80\x80\x80\x80\0 \0(\xC8! A:\0 A\x80:\0 \0 Aj A\xE4\x80\x80\x80\0 \0 AjA\xA7A\xE4\x80\x80\x80\0 \0A\xA86\xC8 Aj$\x80\x80\x80\x80\0\vr\x7F (\xC8!@ E\r\0A\0!@@ A\xA8G\r\0 \xE8\x80\x80\x80\0A\0!\v \0 j A\xA8 k" I\x1B"\xE3\x80\x80\x80\0 j! j! k"\r\0\v\v 6\xC8\v\f\0 \0A\0A\xD0\xFC\v\0\v\f\0 \0A\0A\xCC\xFC\v\0\v\x95\x7F@ A\x88 \0(\xC8"k"I\r\0 \0 \xE4\x80\x80\x80\0 \0\xE8\x80\x80\x80\0 j!A\0! k"A\x88I\r\0@A\0! \0 A\0A\x88\xE4\x80\x80\x80\0 \0\xE8\x80\x80\x80\0 A\x88j! A\xF8~j"A\x87K\r\0\v\v \0 \xE4\x80\x80\x80\0 \0 j6\xC8\vc\x7F#\x80\x80\x80\x80\0Ak"$\x80\x80\x80\x80\0 \0(\xC8! A:\0 A\x80:\0 \0 Aj A\xE4\x80\x80\x80\0 \0 AjA\x87A\xE4\x80\x80\x80\0 \0A\x886\xC8 Aj$\x80\x80\x80\x80\0\vr\x7F (\xC8!@ E\r\0A\0!@@ A\x88G\r\0 \xE8\x80\x80\x80\0A\0!\v \0 j A\x88 k" I\x1B"\xE3\x80\x80\x80\0 j! j! k"\r\0\v\v 6\xC8\v\f\0 \0A\0A\xD0\xFC\v\0\v\xFE\x7F#\x80\x80\x80\x80\0A\xE0k"$\x80\x80\x80\x80\0A\0! A\bjA\0A\xCC\xFC\v\0A\x88!@ A\x88I\r\0 A\bj A\0A\x88\xE4\x80\x80\x80\0 A\x88j! A\bj\xE8\x80\x80\x80\0 A\xF8~j"A\x88I\r\0@ A\bj A\0A\x88\xE4\x80\x80\x80\0 A\x88j! A\bj\xE8\x80\x80\x80\0 A\xF8~j"A\x87K\r\0\v\v A\bj A\0 \xE4\x80\x80\x80\0 6\xD0 A:\0\xDF A\x80:\0\xDE A\bj A\xDFj A\xE4\x80\x80\x80\0 A\bj A\xDEjA\x87A\xE4\x80\x80\x80\0 A\x886\xD0@ E\r\0@@ A\x88G\r\0 A\bj\xE8\x80\x80\x80\0A\0!\v A\bj \0 j A\x88 k" I\x1B"\xE3\x80\x80\x80\0 j! j! k"\r\0\v\v A\bjA\0A\xD0\xFC\v\0 A\bj! A\xE0j$\x80\x80\x80\x80\0\v!\0 \0A\0A\xA0\xFC\v\0 \0A\xA8 \xDB\x80\x80\x80\0\v\xFD\x7F#\x80\x80\x80\x80\0Ak"\x07$\x80\x80\x80\x80\0 \x07A:\0@ I\r\0@ \0 A\0 \xE6\x80\x80\x80\0 \0\xE7\x80\x80\x80\0 j! j! j! j! k" O\r\0\v\v@ E\r\0 \0 A\0 \xE6\x80\x80\x80\0\vA\x9F!@@ A\x7Fj"G\r\0 !\f\v \0 \x07Aj \x07Aj \x07Aj \x07Aj A\xE6\x80\x80\x80\0A\x80!\v \x07 :\0 \0 \x07Aj \x07Aj \x07Aj \x07Aj A\xE6\x80\x80\x80\0 \x07Aj$\x80\x80\x80\x80\0\vM\x7F@ E\r\0A\0!@ \xE7\x80\x80\x80\0 \0 j j j jA\0A\xA8\xE5\x80\x80\x80\0 A\xA8j! A\x7Fj"\r\0\v\v\v\0\v\f\0 \0A\0A\xA0\xFC\v\0\v!\0 \0A\0A\xA0\xFC\v\0 \0A\x88 \xDB\x80\x80\x80\0\vM\x7F@ E\r\0A\0!@ \xE7\x80\x80\x80\0 \0 j j j jA\0A\x88\xE5\x80\x80\x80\0 A\x88j! A\x7Fj"\r\0\v\v\v\0\v\f\0 \0A\0A\xA0\xFC\v\0\v\xCB\x7F@ E\r\0 \0 j!\0 Aq!A\0!A\0!@ AI\r\0 A|q!A\0!A\0!@ j \0 j-\0\0:\0\0 Ar"\x07j \0 \x07j-\0\0:\0\0 Ar"\x07j \0 \x07j-\0\0:\0\0 Ar"\x07j \0 \x07j-\0\0:\0\0 Aj! Aj" G\r\0\v E\r\v@ j \0 j-\0\0:\0\0 Aj! Aj" G\r\0\v\v\v\xF3\x7F@ E\r\0 \0 j!\0 Aq!A\0!A\0!@ AI\r\0 A|q!A\0!A\0!@ \0 j"\x07 \x07-\0\0 j-\0\0s:\0\0 \0 Ar"\x07j"\b \b-\0\0 \x07j-\0\0s:\0\0 \0 Ar"\x07j"\b \b-\0\0 \x07j-\0\0s:\0\0 \0 Ar"\x07j"\b \b-\0\0 \x07j-\0\0s:\0\0 Aj! Aj" G\r\0\v E\r\v@ \0 j" -\0\0 j-\0\0s:\0\0 Aj! Aj" G\r\0\v\v\v\x94\x7F@ E\r\0 \0 j!\0 Aq!\x07A\0!\bA\0!@@ AI\r\0 A|q! A\0!A\0!\n@ j \0 j-\0\0:\0\0 Ar"\vj \0 \vj-\0\0:\0\0 Ar"\vj \0 \vj-\0\0:\0\0 Ar"\vj \0 \vj-\0\0:\0\0 Aj! \nAj"\n G\r\0\v \x07E\r\v@ j \0 j-\0\0:\0\0 Aj! \bAj"\b \x07G\r\0\v\v Aq!\x07 \0A\xC8j!A\0!\bA\0!@@ AI\r\0 A|q! A\0!A\0!\n@ j j-\0\0:\0\0 Ar"\vj \vj-\0\0:\0\0 Ar"\vj \vj-\0\0:\0\0 Ar"\vj \vj-\0\0:\0\0 Aj! \nAj"\n G\r\0\v \x07E\r\v@ j j-\0\0:\0\0 Aj! \bAj"\b \x07G\r\0\v\v Aq!\v \0A\x90j!A\0!A\0!@@ AI\r\0 A|q!\x07A\0!A\0!\b@ j j-\0\0:\0\0 Ar"\nj \nj-\0\0:\0\0 Ar"\nj \nj-\0\0:\0\0 Ar"\nj \nj-\0\0:\0\0 Aj! \bAj"\b \x07G\r\0\v \vE\r\v@ j j-\0\0:\0\0 Aj! Aj" \vG\r\0\v\v Aq!\b \0A\xD8j!\0A\0!A\0!@ AI\r\0 A|q!\nA\0!A\0!@ j \0 j-\0\0:\0\0 Ar"j \0 j-\0\0:\0\0 Ar"j \0 j-\0\0:\0\0 Ar"j \0 j-\0\0:\0\0 Aj! Aj" \nG\r\0\v \bE\r\v@ j \0 j-\0\0:\0\0 Aj! Aj" \bG\r\0\v\v\v\xB4\x07\x7F@ E\r\0 \0 j!\0 Aq!\x07A\0!\bA\0!@@ AI\r\0 A|q! A\0!A\0!\n@ \0 j"\v \v-\0\0 j-\0\0s:\0\0 \0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 \0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 \0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 Aj! \nAj"\n G\r\0\v \x07E\r\v@ \0 j"\n \n-\0\0 j-\0\0s:\0\0 Aj! \bAj"\b \x07G\r\0\v\v Aq!\x07 \0A\xC8j!A\0!\bA\0!@@ AI\r\0 A|q! A\0!A\0!\n@ j"\v \v-\0\0 j-\0\0s:\0\0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 Ar"\vj"\f \f-\0\0 \vj-\0\0s:\0\0 Aj! \nAj"\n G\r\0\v \x07E\r\v@ j"\n \n-\0\0 j-\0\0s:\0\0 Aj! \bAj"\b \x07G\r\0\v\v Aq!\f \0A\x90j!A\0!A\0!@@ AI\r\0 A|q!\x07A\0!A\0!\b@ j"\n \n-\0\0 j-\0\0s:\0\0 Ar"\nj"\v \v-\0\0 \nj-\0\0s:\0\0 Ar"\nj"\v \v-\0\0 \nj-\0\0s:\0\0 Ar"\nj"\v \v-\0\0 \nj-\0\0s:\0\0 Aj! \bAj"\b \x07G\r\0\v \fE\r\v@ j"\b \b-\0\0 j-\0\0s:\0\0 Aj! Aj" \fG\r\0\v\v Aq!\n \0A\xD8j!\0A\0!A\0!@ AI\r\0 A|q!\vA\0!A\0!@ \0 j" -\0\0 j-\0\0s:\0\0 \0 Ar"j"\b \b-\0\0 j-\0\0s:\0\0 \0 Ar"j"\b \b-\0\0 j-\0\0s:\0\0 \0 Ar"j"\b \b-\0\0 j-\0\0s:\0\0 Aj! Aj" \vG\r\0\v \nE\r\v@ \0 j" -\0\0 j-\0\0s:\0\0 Aj! Aj" \nG\r\0\v\v\v.\0 \0\xE8\x80\x80\x80\0 \0A\xC8j\xE8\x80\x80\x80\0 \0A\x90j\xE8\x80\x80\x80\0 \0A\xD8j\xE8\x80\x80\x80\0\v\xEC\f~\x7F~\x7F~ \0)\xC0! \0)\xB8! \0)\xB0! \0)\xA8! \0)\xA0! \0)\x98! \0)\x90!\x07 \0)\x88!\b \0)\x80! \0)x!\n \0)p!\v \0)h!\f \0)`!\r \0)X! \0)P! \0)H! \0)@! \0)8! \0)0! \0)(! \0) ! \0)! \0)! \0)\b! \0)\0!A\0!@ \x85 \r\x85 \b\x85 \x85"\x1BB\x89 \x85 \x85 \n\x85 \x85"\x85" \x85B\x89" \x85 \v\x85 \x85 \x85" \x85 \x85 \x85 \x85" B\x89\x85"! \n\x85B)\x89"B\x7F\x85\x83 \x85 \f\x85 \x07\x85 \x85"" B\x89\x85" \v\x85B\'\x89"\n\x85"# "B\x89 \x85" \x85B=\x89" \x85B-\x89" B\x7F\x85\x83 ! \x85B\x89"\v\x85""\x85 ! \x85B\x89" \x85B\b\x89"B\x7F\x85\x83 B\x89 \x1B\x85"\x1B \f\x85B\x89"\f\x85"$\x85 \x1B \x85B8\x89" \b\x85B\x89"\bB\x7F\x85\x83 \x85B\n\x89"\x85"%\x85 \x85B\x89" \x1B \x07\x85B\x89"\x07B\x7F\x85\x83 \r\x85B+\x89"\r\x85"&\x85"\'B\x89 \v \x85B\x89"B\x7F\x85\x83 \x1B \x85B\x89"\x85" ! \x85B$\x89"B\x7F\x85\x83 \x85B\x1B\x89"\x85"(\x85 \f \x85B\x89"B\x7F\x85\x83 \x85B\x89"\x85"\x85 \n \x1B \x85B7\x89"\x1BB\x7F\x85\x83 \x85B>\x89" \x85")\x85 At"*)\xF0\x89\x90\x80\0 \r \x85B,\x89"B\x7F\x85\x83\x85 ! \x85"\x85"\x85"+\x85" \vB\x7F\x85\x83 \x85"!\x85B,\x89" \b B\x7F\x85\x83 \x85", !\x85 \nB\x7F\x85\x83 \x1B\x85"\n\x85 \x07 \rB\x7F\x85\x83 \x85"\r\x85 \fB\x7F\x85\x83 \x85"\f\x85"\vB\x89 B\x7F\x85\x83 \x85" B\x7F\x85\x83 \x85"\x85 B\x7F\x85\x83 \x85"\x85 \x1B B\x7F\x85\x83 \x85"\x1B\x85 B\x7F\x85\x83 \x85"\x85"\x85"! \x85"B\x7F\x85\x83 +B\x89 B\x7F\x85\x83 \x85" B\x7F\x85\x83 \x85"+\x85 \x07 B\x7F\x85\x83\x85"\x85 B\x7F\x85\x83 \x85"\x85 B\x7F\x85\x83 \b\x85"-\x85"\x85" \x1B\x85B\x89"\x85! B\x89 \'\x85" \x85B7\x89" B\x89 \v\x85"\x1B &\x85B>\x89"B\x7F\x85\x83 \n\x85B\x89"\x85! B\x7F\x85\x83 ! (\x85B)\x89"\x85! B\x7F\x85\x83 \x85B\'\x89"\x07\x85! \x07B\x7F\x85\x83 \x85! \x07 B\x7F\x85\x83 \x85! ! \x85B$\x89"\n \x85B\x1B\x89"\vB\x7F\x85\x83 \x85B8\x89"\b\x85! \v \bB\x7F\x85\x83 \x1B %\x85B\x89" \x85!\x07 \b B\x7F\x85\x83 \f\x85B\n\x89"\f\x85!\b \fB\x7F\x85\x83 \n\x85! \f \nB\x7F\x85\x83 \v\x85!\n \x1B "\x85B\x89" \r\x85B\x89"B\x7F\x85\x83 ! )\x85B\x89"\r\x85!\v \rB\x7F\x85\x83 \x85B\b\x89"\x85!\f \r B\x7F\x85\x83 +\x85B\x89"\x85!\r B\x7F\x85\x83 \x85! B\x7F\x85\x83 \x85! \x85B\x89" \x85B\x89"B\x7F\x85\x83 \x1B #\x85B=\x89"\x85! B\x7F\x85\x83 ,\x85B-\x89"\x85! B\x7F\x85\x83 ! \x85B\x89"!\x85! !B\x7F\x85\x83 \x85! ! B\x7F\x85\x83 \x85! B\x7F\x85\x83 -\x85B\x89"\x85! B\x7F\x85\x83 \x1B $\x85B+\x89"!\x85! !B\x7F\x85\x83 \x85! *)\xF8\x89\x90\x80\0 ! B\x7F\x85\x83\x85 \x85! AI!* Aj! *\r\0\v \0 7\xC0 \0 7\xB8 \0 7\xB0 \0 7\xA8 \0 7\xA0 \0 7\x98 \0 \x077\x90 \0 \b7\x88 \0 7\x80 \0 \n7x \0 \v7p \0 \f7h \0 \r7` \0 7X \0 7P \0 7H \0 7@ \0 78 \0 70 \0 7( \0 7 \0 7 \0 7 \0 7\b \0 7\0\v\x91\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0A j \xAB\x80\x80\x80\0 \0A\xE0j A\x80\bj\xAB\x80\x80\x80\0 \0A\xA0j A\x80j\xAB\x80\x80\x80\0 \0A\xE0\x07j A\x80j\xAB\x80\x80\x80\0 \0A\xA0\nj A\x80 j\xAB\x80\x80\x80\0 \0A\xE0\fj A\x80(j\xAB\x80\x80\x80\0\v\x91\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A j\xAC\x80\x80\x80\0 A\x80\bj A\xE0j\xAC\x80\x80\x80\0 A\x80j A\xA0j\xAC\x80\x80\x80\0 A\x80j A\xE0\x07j\xAC\x80\x80\x80\0 A\x80 j A\xA0\nj\xAC\x80\x80\x80\0 A\x80(j A\xE0\fj\xAC\x80\x80\x80\0\v\xCC\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0 )\0\x007\0 \0 )\0\b7\0( \0 )\07\x000 \0 )\07\x008 \0 )\0\x007\0@ \0 )\0\b7\0H \0 )\07\0P \0 )\07\0X \0 )\0 7\0` \0 )\0(7\0h \0 )\x0007\0p \0 )\x0087\0x \0A\x80j \x8F\x81\x80\x80\0 \0A\x80j \x8E\x81\x80\x80\0 \0A\x80\fj \x90\x81\x80\x80\0\v\xE4\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 )\x0087\0 )\x0007\0 )\0(7\0\b )\0 7\0\0 )\0x7\x008 )\0p7\x000 )\0h7\0( )\0`7\0 )\0X7\0 )\0P7\0 )\0H7\0\b )\0@7\0\0 A\x80j\x91\x81\x80\x80\0 \x80\x81\x80\x80\0 A\x80j\x93\x81\x80\x80\0 \x87\x81\x80\x80\0 A\x80\fj\x94\x81\x80\x80\0 \x87\x81\x80\x80\0\v>\0 \0 )\0(7\0( \0 )\0 7\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0\v\x84\x7F \0A\xB0j!A\0!\0@@ \0Atj(\0E\r\0 A6K\r\0 j \0:\0\0 Aj!\v@ \0Ar"Atj(\0E\r\0 A6K\r\0 j :\0\0 Aj!\v \0Aj"\0A\x80G\r\0\v jA7j :\0\0\v\0 \0 A\x80ljA0j \xFB\x80\x80\x80\0\v\x82\x07\x7F \0 )\0(7\0( \0 )\0 7\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A0j\x92\x81\x80\x80\0 A\0A\x800\xFC\v\0A!@ -\0\xE7"A7K\r\0 A\xB0j!@@ E\r\0A!\0 -\0\0AtjA6\0 AF\r\0@ \0j"-\0\0"\x07 A\x7Fj-\0\0M\r \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xE8"A7K\r K\r@ O\r\0 A\x80\bj"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xE9"A7K\r K\r@ O\r\0 A\x80j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xEA"A7K\r K\r@ O\r\0 A\x80j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xEB"A7K\r K\r@ O\r\0 A\x80 j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\xEC"A7K\r K\r@ O\r\0 A\x80(j" j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j"\x07-\0\0!@ \0 M\r\0 \x07A\x7Fj-\0\0M\r\v AtjA6\0 \0Aj"\0 G\r\0\v\vA\0! A7O\r@ j-\0\0\r Aj"A7F\r\f\0\v\vA!\v \v\x86\x7F~A\0!@ \0 At"j j"(\0"A\xFF\0jA\x07uA\x81\blA\x80\x80\x80jAvAq"6\0 A\x80\x84`lj"6\0A\x80\xE0\xFF k\xAC! B\x88\xA7! A\xFF\xBF\x80|j s q s6\0 Aj"A\x80G\r\0\v\v\\\x7FA\0!A\0!@ \0 At"j j(\0"A\xFF\x81pjA\xFF\x83`I A\x80\x82pF j(\0A\0Gqr"6\0 j! Aj"A\x80G\r\0\v \v\xAC\x7F~\x7FA\0!@A\x80\xE0\xFF At"j(\0"A\xFF\0jA\x07uA\x81\blA\x80\x80\x80jAv"Aq"\x07A\x80\x84`l j"\bk\xAC! j(\0!\n B\x88\xA7!@ \nE\r\0@ \bA\xFF\xBF\x80|j \bs q \bsAH\r\0 AjAq!\x07\f\v A\x7FjAq!\x07\v \0 j \x076\0 Aj"A\x80G\r\0\v\v\xC2\n\x7F#\x80\x80\x80\x80\0" !\n A\xA0kA`q"\v$\x80\x80\x80\x80\0 \v )\x0087\xD8 \v )\x0007\xD0 \v )\0(7\xC8 \v )\0 7\xC0 \v )\07\xB8 \v )\07\xB0 \v )\0\b7\xA8 \v )\0\x007\xA0 \v )\0\x007\x80\x07 \v )\0\b7\x88\x07 \v )\07\x90\x07 \v )\07\x98\x07 \v )\0 7\xA0\x07 \v )\0(7\xA8\x07 \v )\x0007\xB0\x07 \v )\x0087\xB8\x07 \v )\0\x007\xE0\x07 \v )\0\b7\xE8\x07 \v )\07\xF0\x07 \v )\07\xF8\x07 \v )\0 7\x80\b \v )\0(7\x88\b \v )\x0007\x90\b \v )\x0087\x98\b \v )\0\x007\xC0\b \v )\0\b7\xC8\b \v )\07\xD0\b \v )\07\xD8\b \v )\0 7\xE0\b \v )\0(7\xE8\b \v )\x0087\xF8\b \v )\x0007\xF0\b \v \b:\0\x80 \v \x07:\0\xA0\b \v :\0\xC0\x07 \v :\0\xE0A\0!\b \vA\0:\0\x81 \vA\0:\0\xA1\b \vA\0:\0\xC1\x07 \vA\0:\0\xE1 \v\xE1\x80\x80\x80\0 \v \vA\xA0j \vA\x80\x07j \vA\xE0\x07j \vA\xA0jA\xA0jA\xC2\0\xDF\x80\x80\x80\0 \vA\xA0 j \vA\xA0 jA\xA0j"\f \vA\xE0\rj"\r \vA\x80j"A \v\xE0\x80\x80\x80\0A\0!@@ \vA\xA0 j \bj-\0\0"Aq"\x07A\bK\r\0 \0 AtjA \x07k6\0 Aj!\v@ A\x8FK\r\0 A\xFFK\r\0 \0 AtjA Avk6\0 Aj!\v A\x80I!A\0!@@ A\xFFM\r\0A\0!\x07\f\v \bA\x8FI! \bAj!\bA\0!\x07 \r\v\v@@ \f \x07j-\0\0"\bAq"A\bK\r\0 AtjA k6\0 Aj!\v@ \bA\x8FK\r\0 A\xFFK\r\0 AtjA \bAvk6\0 Aj!\v A\x80I!A\0!\b@@ A\xFFM\r\0A\0!\f\v \x07A\x8FI! \x07Aj!\x07A\0! \r\v\v@@ \r j-\0\0"\x07Aq" A\bK\r\0 \bAtjA k6\0 \bAj!\b\v@ \x07A\x8FK\r\0 \bA\xFFK\r\0 \bAtjA \x07Avk6\0 \bAj!\b\v \bA\x80I!A\0!\x07@@ \bA\xFFM\r\0A\0! \f\v A\x8FI! Aj!A\0! \r\v\v@@ j-\0\0"Aq"A\bK\r\0 \x07AtjA k6\0 \x07Aj!\x07\v@ A\x8FK\r\0 \x07A\xFFK\r\0 \x07AtjA Avk6\0 \x07Aj!\x07\v@ \x07A\xFFK\r\0 A\x8FI! Aj! \r\v\v \x07A\x80I!@@ A\x80I\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\xFFK\r\v@ \vA\xA0 j \f \r A \v\xE0\x80\x80\x80\0A\0!@ AqE\r\0@@ \vA\xA0 j j-\0\0" Aq"A\bK\r\0 \0 AtjA k6\0 Aj!\v@ A\x8FK\r\0 A\xFFK\r\0 \0 AtjA Avk6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@@ \f j-\0\0" Aq"A\bK\r\0 AtjA k6\0 Aj!\v@ A\x8FK\r\0 A\xFFK\r\0 AtjA Avk6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@@ \r j-\0\0" Aq"A\bK\r\0 \bAtjA k6\0 \bAj!\b\v@ A\x8FK\r\0 \bA\xFFK\r\0 \bAtjA Avk6\0 \bAj!\b\v \bA\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@@ j-\0\0" Aq"A\bK\r\0 \x07AtjA k6\0 \x07Aj!\x07\v@ A\x8FK\r\0 \x07A\xFFK\r\0 \x07AtjA Avk6\0 \x07Aj!\x07\v \x07A\xFFK\r A\x87I! Aj! \r\0\v\v \x07A\x80I! \bA\x80I! A\x80I! A\x80I"\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\x80I\r\0\v\v \v\xE2\x80\x80\x80\0 \vA\xA0 jA\0A\x80 \xFC\v\0 \vA\xA0 j! \vA\xA0jA\0A\x80\xFC\v\0 \vA\xA0j! \n$\x80\x80\x80\x80\0\v\xE8\x7F#\x80\x80\x80\x80\0"! A\x80\bkA`q"$\x80\x80\x80\x80\0 )\0\x007\xE0 )\0\b7\xE8 )\07\xF0 )\07\xF8 )\0 7\x80 )\0(7\x88 )\x0007\x90 )\x0087\x98 ;\xA0 Aj\xD4\x80\x80\x80\0 Aj A\xE0jA\xC2\0\xD5\x80\x80\x80\0 Aj\xD6\x80\x80\x80\0 A\xC0jA\xA8 Aj\xD7\x80\x80\x80\0A\0!@ A\xC0j Alj"/\0\0! \0 Atj"A\x80\x80 -\0A\ft -\0At -\0"Avrrk6 A\x80\x80 AtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\v Aj\xD8\x80\x80\x80\0 A\xC0jA\0A\xA8\xFC\v\0 A\xC0j! A\xE0jA\0A\xC2\0\xFC\v\0 A\xE0j! $\x80\x80\x80\x80\0\v\xA3\x7FA\0!@ \0 Atj" Alj"-\0\0"6\0 -\0A\btr"6\0 -\0AtA\x80\x80<q r"6\0 -\0Av"6 -\0At r"6 -\0! A\x80\x80 k6\0 A\x80\x80 A\ft rk6 Aj"A\x80G\r\0\v\v\xFE\x07\x7F#\x80\x80\x80\x80\0" !\n A\xA0kA`q" $\x80\x80\x80\x80\0 )\x0087\xD8 )\x0007\xD0 )\0(7\xC8 )\0 7\xC0 )\07\xB8 )\07\xB0 )\0\b7\xA8 )\0\x007\xA0 )\0\x007\x80\x07 )\0\b7\x88\x07 )\07\x90\x07 )\07\x98\x07 )\0 7\xA0\x07 )\0(7\xA8\x07 )\x0007\xB0\x07 )\x0087\xB8\x07 )\0\x007\xE0\x07 )\0\b7\xE8\x07 )\07\xF0\x07 )\07\xF8\x07 )\0 7\x80\b )\0(7\x88\b )\x0007\x90\b )\x0087\x98\b )\0\x007\xC0\b )\0\b7\xC8\b )\07\xD0\b )\07\xD8\b )\0 7\xE0\b )\0(7\xE8\b )\x0087\xF8\b )\x0007\xF0\b \b:\0\x80 \bA\bv:\0\x81 \x07:\0\xA0\b \x07A\bv:\0\xA1\b :\0\xC0\x07 A\bv:\0\xC1\x07 :\0\xE0 A\bv:\0\xE1 \xE1\x80\x80\x80\0 A\xA0j A\x80\x07j A\xE0\x07j A\xC0\bjA\xC2\0\xDF\x80\x80\x80\0 A\xA0 j A\xE0j"\v A\xA0j"\f A\xE0j"\rA \xE0\x80\x80\x80\0A\0!A\0!\b@ A\xA0 j \bAlj"\x07/\0\0! \0 \bAtj"A\x80\x80 \x07-\0A\ft \x07-\0At \x07-\0"\x07Avrrk6 A\x80\x80 \x07AtA\x80\x80<qrk6\0 \bAj"\bA\x80G\r\0\v@ \v Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\vA\0!@ \f Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\vA\0!@ \r Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\v \xE2\x80\x80\x80\0 A\xA0 jA\0A\x80\xFC\v\0 A\xA0 j! A\xA0jA\0A\x80\xFC\v\0 A\xA0j! \n$\x80\x80\x80\x80\0\v\xAF\x7F~\x7F#\x80\x80\x80\x80\0"! A\x80kA`q"$\x80\x80\x80\x80\0 Aj\xD4\x80\x80\x80\0 Aj A0\xD5\x80\x80\x80\0 Aj\xD6\x80\x80\x80\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0 )\xE0! \0A\0A\x80\b\xFC\v\0A\b!A\xCF!@@ A\x88I\r\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0A\0!\v "Aj! A\xE0jj-\0\0"I\r\0 \0 Atj \0 Atj"(\x006\0 A \xA7AtAqk6\0 B\x88! Aj"A\x80G\r\0\v Aj\xD8\x80\x80\x80\0 A\xE0jA\0A\x88\xFC\v\0 A\xE0j! B\x007\xF8 A\xF8j! $\x80\x80\x80\x80\0\vg\x7FA\0!@ \0 jA\xC0\0 Atj"(AtkA (\0kr:\0\0 \0 Ar"jA\xC0\0 Atj"(AtkA (\0kr:\0\0 Aj"A\x80G\r\0\v\vR\x7FA\0!@ \0 Atj" j"-\0\0Aq"6\0 -\0\0! A k6\0 A Avk6 Aj"A\x80G\r\0\v\vu\x7FA\0!@ Atj"(! \0 Alj"A\x80\x80 (\0k":\0\0 A\x80\x80 k"A\fv:\0 Av:\0 A\bv:\0 At Avr:\0 Aj"A\x80G\r\0\v\vY\x7FA\0!@ \0 j Atj"(At (\0r:\0\0 \0 Ar"j Atj"(At (\0r:\0\0 Aj"A\x80G\r\0\v\v\xED\n\x7F#\x80\x80\x80\x80\0"! A\x80kA`q"$\x80\x80\x80\x80\0 )\07 )\07 )\0\b7\b )\0\x007\0 )\07X )\07P )\0\b7H )\0\x007@ )\0\x007\x80 )\0\b7\x88 )\07\x90 )\07\x98 )\0\x007\xC0 )\0\b7\xC8 )\07\xD0 )\07\xD8A\0!@ A\xFFq"Ap":\0 An":\0! ArA\xFFq"Ap"\x07:\0\xE0 An":\0\xE1 ArA\xFFq"\bAp" :\0\xA0 \bAn"\b:\0\xA1 ArA\xFFq"\nAp"\v:\0` \nAn"\n:\0a \0 A\x80(lj A\ntj \0 \nA\x80(lj \vA\ntj \0 \bA\x80(lj A\ntj \0 A\x80(lj \x07A\ntj \xAA\x80\x80\x80\0 AI! Aj! \r\0\v A\x83\n; \0A\x80\xE0j \xA9\x80\x80\x80\0 A\x84\n; \0A\x80\xE8j \xA9\x80\x80\x80\0 A\0A\x80\xFC\v\0 ! $\x80\x80\x80\x80\0\v\x98\x07\x7F~\x7FA\0!@ \0 At"j j"4\x80\b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80\bj!\x07 A\x80(j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80j!\x07 A\x80\xD0\0j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80j!\x07 A\x80\xF8\0j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80 j!\x07 A\x80\xA0j!\bA\0!@ \x07 At"j j"4\x80\b \b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v \0A\x80(j!\0 A\x80\xC8j!A\0!@ \0 At"j j"4\x80\b j"4\x80\b~ 4\0 4\0~| 4\x80 4\x80~| 4\x80 4\x80~| 4\x80 4\x80 ~|"B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v\v`\0 \0 \0A\x80\bj \0A\x80j \0A\x80j Al"A\xFF\xFFq AjA\xFF\xFFq AjA\xFF\xFFq AjA\xFF\xFFq\xF7\x80\x80\x80\0 \0A\x80 j AjA\xFF\xFFq\xF5\x80\x80\x80\0\v:\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80 j\xA5\x80\x80\x80\0\vZ\x7F \0 \xAF\x80\x80\x80\0! \0A\x80\bj \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0! \0A\x80 j \xAF\x80\x80\x80\0 rrrr\vF\0 \0\xA0\x80\x80\x80\0 \0A\x80\bj\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0 \0A\x80 j\xA0\x80\x80\x80\0 \0A\x80(j\xA0\x80\x80\x80\0\vF\0 \0\xA1\x80\x80\x80\0 \0A\x80\bj\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0 \0A\x80 j\xA1\x80\x80\x80\0 \0A\x80(j\xA1\x80\x80\x80\0\vf\0 \0 \xA2\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0 \0A\x80 j A\x80 j\xA2\x80\x80\x80\0 \0A\x80(j A\x80(j\xA2\x80\x80\x80\0\vf\0 \0 \xA3\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0 \0A\x80 j A\x80 j\xA3\x80\x80\x80\0 \0A\x80(j A\x80(j\xA3\x80\x80\x80\0\vF\0 \0\xA4\x80\x80\x80\0 \0A\x80\bj\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0 \0A\x80 j\xA4\x80\x80\x80\0 \0A\x80(j\xA4\x80\x80\x80\0\vF\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80 j\xA5\x80\x80\x80\0 \0A\x80(j\xA5\x80\x80\x80\0\vF\0 \0\xA6\x80\x80\x80\0 \0A\x80\bj\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0 \0A\x80 j\xA6\x80\x80\x80\0 \0A\x80(j\xA6\x80\x80\x80\0\vr\0 \0 \xA7\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0 \0A\x80 j A\x80 j\xA7\x80\x80\x80\0 \0A\x80(j A\x80(j\xA7\x80\x80\x80\0\v\x86\0 \0 \xA8\x80\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0 \0A\x80 j A\x80 j A\x80 j\xA8\x80\x80\x80\0 \0A\x80(j A\x80(j A\x80(j\xA8\x80\x80\x80\0\vf\0 \0 \xF1\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xF1\x80\x80\x80\0 \0A\x80j A\x80j\xF1\x80\x80\x80\0 \0A\x80j A\x80j\xF1\x80\x80\x80\0 \0A\x80 j A\x80 j\xF1\x80\x80\x80\0 \0A\x80(j A\x80(j\xF1\x80\x80\x80\0\v\x86\0 \0 \xF3\x80\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\xF3\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xF3\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xF3\x80\x80\x80\0 \0A\x80 j A\x80 j A\x80 j\xF3\x80\x80\x80\0 \0A\x80(j A\x80(j A\x80(j\xF3\x80\x80\x80\0\vf\0 \0 \xFC\x80\x80\x80\0 \0A\x80j A\x80\bj\xFC\x80\x80\x80\0 \0A\x80j A\x80j\xFC\x80\x80\x80\0 \0A\x80j A\x80j\xFC\x80\x80\x80\0 \0A\x80j A\x80 j\xFC\x80\x80\x80\0 \0A\x80j A\x80(j\xFC\x80\x80\x80\0\vf\0 \0 \xF9\x80\x80\x80\0 \0A\x80j A\x80\bj\xF9\x80\x80\x80\0 \0A\x80j A\x80j\xF9\x80\x80\x80\0 \0A\x80j A\x80j\xF9\x80\x80\x80\0 \0A\x80j A\x80 j\xF9\x80\x80\x80\0 \0A\x80j A\x80(j\xF9\x80\x80\x80\0\vT\0 \0 \xF9\x80\x80\x80\0 \0A\x80j A\x80\bj\xF9\x80\x80\x80\0 \0A\x80j A\x80j\xF9\x80\x80\x80\0 \0A\x80j A\x80j\xF9\x80\x80\x80\0 \0A\x80j A\x80 j\xF9\x80\x80\x80\0\vf\0 \0 \xAD\x80\x80\x80\0 \0A\xA0j A\x80\bj\xAD\x80\x80\x80\0 \0A\xC0j A\x80j\xAD\x80\x80\x80\0 \0A\xE0 j A\x80j\xAD\x80\x80\x80\0 \0A\x80\rj A\x80 j\xAD\x80\x80\x80\0 \0A\xA0j A\x80(j\xAD\x80\x80\x80\0\vT\0 \0 \xFA\x80\x80\x80\0 \0A\x80\bj A\x80j\xFA\x80\x80\x80\0 \0A\x80j A\x80j\xFA\x80\x80\x80\0 \0A\x80j A\x80j\xFA\x80\x80\x80\0 \0A\x80 j A\x80j\xFA\x80\x80\x80\0\vT\0 \0 \xF6\x80\x80\x80\0 \0A\x80\bj A\x80j\xF6\x80\x80\x80\0 \0A\x80j A\x80\nj\xF6\x80\x80\x80\0 \0A\x80j A\x80j\xF6\x80\x80\x80\0 \0A\x80 j A\x80j\xF6\x80\x80\x80\0\vf\0 \0 \xFA\x80\x80\x80\0 \0A\x80\bj A\x80j\xFA\x80\x80\x80\0 \0A\x80j A\x80j\xFA\x80\x80\x80\0 \0A\x80j A\x80j\xFA\x80\x80\x80\0 \0A\x80 j A\x80j\xFA\x80\x80\x80\0 \0A\x80(j A\x80j\xFA\x80\x80\x80\0\vf\0 \0 \xAE\x80\x80\x80\0 \0A\x80\bj A\xA0j\xAE\x80\x80\x80\0 \0A\x80j A\xC0j\xAE\x80\x80\x80\0 \0A\x80j A\xE0 j\xAE\x80\x80\x80\0 \0A\x80 j A\x80\rj\xAE\x80\x80\x80\0 \0A\x80(j A\xA0j\xAE\x80\x80\x80\0\v\xF2\x7F#\x80\x80\x80\x80\0"A\x80\xBAkA`q"$\x80\x80\x80\x80\0 )\0\x007\xC0\xB8 )\0\b7\xC8\xB8 )\07\xD0\xB8 )\07\xD8\xB8 A\x86\n;\xE0\xB8 A\x80\xB9jA\x80 A\xC0\xB8jA"\xD9\x80\x80\x80\0 A\x80\x90j A\x80\x90jA\x80\bj A\x80\x90jA\x80j A\x80\x90jA\x80j A\xA0\xB9j"A\0AAA\xF4\x80\x80\x80\0 A\x80\x90jA\x80 j A\x80\xE0\0j A\x80\xE0\0jA\x80\bj A\x80\xE0\0jA\x80j" AAAA\xFF\xF4\x80\x80\x80\0 A\x80\xE0\0jA\x80j A\x80\xE0\0jA\x80 j A\x80\xE0\0jA\x80(j A\x07A\bA A\n\xF4\x80\x80\x80\0 A\x800j A\x80\xB8j \0 A\x80\xB9j A\x80\x90j A\x80\xE0\0j\x96\x81\x80\x80\0 A\x80\xB9j A\x80\xB8j A\xE0\xB9j A\x80\x90j A\x80\xE0\0j\xEB\x80\x80\x80\0 A\0A\x800\xFC\v\0 ! A\x800jA\0A\x800\xFC\v\0 A\x800j! A\x80\xE0\0jA\0A\x800\xFC\v\0 A\x80\xE0\0j! A\x80\x90jA\0A\x80(\xFC\v\0 A\x80\x90j! B\x007\xB8\xB8 B\x007\xB0\xB8 B\x007\xA8\xB8 B\x007\xA0\xB8 B\x007\x98\xB8 B\x007\x90\xB8 B\x007\x88\xB8 B\x007\x80\xB8 A\x80\xB8j! A\0;\xE0\xB8 B\x007\xD8\xB8 B\x007\xD0\xB8 B\x007\xC8\xB8 B\x007\xC0\xB8 A\xC0\xB8j! A\x80\xB9jA\0A\x80\xFC\v\0 A\x80\xB9j! $\x80\x80\x80\x80\0A\0\v\xEA\x7F#\x80\x80\x80\x80\0"\x07A\x80\xC8kA`q"\b$\x80\x80\x80\x80\0 \bA\x80\xD8\0j \xFD\x80\x80\x80\0 \bA\x800j A\x80(\xFC\n\0\0 \bA\x800j\x80\x81\x80\x80\0 \b \bA\x80\xD8\0j \bA\x800j\xFE\x80\x80\x80\0 \b\x88\x81\x80\x80\0 \b \x84\x81\x80\x80\0 \b\x82\x81\x80\x80\0 \b\x83\x81\x80\x80\0 \0 \b\x8A\x81\x80\x80\0 \xE9\x80\x80\x80\0 A\xC0\0 A\xA0\xD9\x80\x80\x80\0 \bA\0A\x800\xFC\v\0 \b! \bA\x800jA\0A\x80(\xFC\v\0 \bA\x800j! \bA\x80\xD8\0jA\0A\x80\xF0\xFC\v\0 \bA\x80\xD8\0j!\b \x07$\x80\x80\x80\x80\0\v\xB0\x7F#\x80\x80\x80\x80\0" !\n A\xC0\xC2kA`q" $\x80\x80\x80\x80\0 A\x80\xF8j A\xA0\xF8j"\v A\xE0\xF8j"\f A\x800j A\x80\xE0\0j \x07\xEC\x80\x80\x80\0 A\xC0\xF9j!\r A\x80\xF9j!@@ \b\r\0 A\xC0\0 \vA\xC0\0 \x98\x81\x80\x80\0\f\v )\x0087\x008 )\x0007\x000 )\0(7\0( )\0 7\0 )\07\0 )\07\0 )\0\b7\0\b )\0\x007\0\0\v A\x80\x88j\xD4\x80\x80\x80\0 A\x80\x88j \fA \xD5\x80\x80\x80\0 A\x80\x88j A \xD5\x80\x80\x80\0 A\x80\x88j A\xC0\0\xD5\x80\x80\x80\0 A\x80\x88j\xD6\x80\x80\x80\0 \rA\xC0\0 A\x80\x88j\xD7\x80\x80\x80\0 A\x80\x88j\xD8\x80\x80\x80\0 A\x80\x88jA\0A\xD0\xFC\v\0 A\x80\x88j! \0A\xB0j! A\x80\x88j A\x80\xF8j\xFD\x80\x80\x80\0 A\x80\xBAjA\x80(j! A\x80\x8AjA\x80(j! A\x80\xBAjA\x80 j! A\x80\x8AjA\x80 j! A\x80\xBAjA\x80j! A\x80\x8AjA\x80j! A\x80\xBAjA\x80j! A\x80\x8AjA\x80j! A\x80\xBAjA\x80\bj! A\x80\x8AjA\x80\bj! A\x80\x9AjA\x80 j! A\x80\xE0\0jA\x80 j!\x1B A\x80\x9AjA\x80j! A\x80\xE0\0jA\x80j! A\x80\x9AjA\x80j! A\x80\xE0\0jA\x80j! A\x80\x9AjA\x80\bj! A\x80\xE0\0jA\x80\bj! A\x80\xBAjA\x800j!A\0!@@ A\x80\x9Aj \r A\xFF\xFFq\xFF\x80\x80\x80\0 A\x80\x9AjA\x80(\xFC\n\0\0 \x80\x81\x80\x80\0 A\x80\x8Aj A\x80\x88j \xFE\x80\x80\x80\0 A\x80\x8Aj\x88\x81\x80\x80\0 A\x80\x8Aj\x83\x81\x80\x80\0 A\x80\xBAj A\x80\x8Aj\x8B\x81\x80\x80\0 \0 A\x80\xBAj\x8D\x81\x80\x80\0 A\x80\x92j\xD4\x80\x80\x80\0 A\x80\x92j A\xC0\0\xD5\x80\x80\x80\0 A\x80\x92j \0A\x80\xD5\x80\x80\x80\0 A\x80\x92j\xD6\x80\x80\x80\0 A\x80\xC2jA0 A\x80\x92j\xD7\x80\x80\x80\0 A\x80\x92j\xD8\x80\x80\x80\0 A\x80\x92jA\0A\xD0\xFC\v\0 A\x80\x92j!\x07 A\x80\x82j A\x80\xC2j\xF8\x80\x80\x80\0 A\x80\x82j\xA5\x80\x80\x80\0 A\x80\x92j A\x80\xE0\0jA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\x92j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj A\x80\x9Aj\xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0A\0!\b@ A\x80\xFAjA\xBC\xFE\xAF\x80\x80\x80\0\r\0A\0!\b \0 A\x80\xFAjA\0\xEF\x80\x80\x80\0 A\x80\x92j A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\x92j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\xBC\xFE\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xEF\x80\x80\x80\0 A\x80\x92j A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\x92j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\xBC\xFE\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xEF\x80\x80\x80\0 A\x80\x92j A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\x92j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\xBC\xFE\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xEF\x80\x80\x80\0 A\x80\x92j \x1BA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\x92j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\xBC\xFE\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xEF\x80\x80\x80\0A\0!\bA\0!\v@ A\x80\xFAj \vA\nt"jA\x80\b\xFC\n\0\0 A\x80\x92j A\x80\x82j A\x80\xFAj\xA7\x80\x80\x80\0 A\x80\x92j\xA6\x80\x80\x80\0 A\x80\xFAj A\x80\x8Aj j"\fA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x92j\xA3\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\xBC\xFC\xAF\x80\x80\x80\0! \f A\x80\xFAjA\x80\b\xFC\n\0\0 \r A\x80\xFAj A\x800j jA\x80\b\xFC\n\0\0 A\x80\x92j A\x80\x82j A\x80\xFAj\xA7\x80\x80\x80\0 A\x80\x92j\xA6\x80\x80\x80\0 A\x80\x92j\xA0\x80\x80\x80\0 A\x80\x92jA\x80\xFE\xAF\x80\x80\x80\0\r A\x80\xFAj \fA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x92j\xA2\x80\x80\x80\0 \f A\x80\xFAjA\x80\b\xFC\n\0\0 \vAj"\vAG\r\0\v \0 A\x80\xC2j\xED\x80\x80\x80\0 B\x007\x005 B\x007\x000 B\x007\0( B\x007\0 B\x007\0 B\x007\0 B\x007\0\b B\x007\0\0 A\x80\x92j A\x80\x8Aj A\x80\xBAj\xF2\x80\x80\x80\0"\fA7K\r\0A\0!\b \0 A\x80\x92jA\0A\0\xEE\x80\x80\x80\0 A\x80\x92j \xF2\x80\x80\x80\0 \fj"A7K\r\0 \0 A\x80\x92jA \f\xEE\x80\x80\x80\0 A\x80\x92j \xF2\x80\x80\x80\0 j"\fA7K\r\0 \0 A\x80\x92jA \xEE\x80\x80\x80\0 A\x80\x92j \xF2\x80\x80\x80\0 \fj"A7K\r\0 \0 A\x80\x92jA \f\xEE\x80\x80\x80\0 A\x80\x92j \xF2\x80\x80\x80\0 j"\fA7K\r\0 \0 A\x80\x92jA \xEE\x80\x80\x80\0 A\x80\x92j \xF2\x80\x80\x80\0 \fjA7K\r\0 \0 A\x80\x92jA \f\xEE\x80\x80\x80\0A!\b\v A\x80\xFAjA\0A\x80\b\xFC\v\0 A\x80\xFAj!\f A\x80\x82jA\0A\x80\b\xFC\v\0 A\x80\x82j!\f A\x80\x8AjA\0A\x800\xFC\v\0 A\x80\x8Aj!\f A\x80\xBAjA\0A\x80\xD8\0\xFC\v\0 A\x80\xBAj!\f A\x80\x92jA\0A\x80\b\xFC\v\0 A\x80\x9AjA\0A\x80(\xFC\v\0 A\x80\x9Aj!\x07 B\x007\xA8\xC2 B\x007\xA0\xC2 B\x007\x98\xC2 B\x007\x90\xC2 B\x007\x88\xC2 B\x007\x80\xC2 A\x80\xC2j!\x07@ \bE\r\0 A\xED6\0A\0!\f\v Aj"A\xFF\xFFqA\xB2\xE6\0G\r\0\v A\x006\0 \0A\0A\xED\xFC\v\0A\x7F!\v A\0A\x800\xFC\v\0 !\x07 A\x800jA\0A\x800\xFC\v\0 A\x800j!\x07 A\x80\xE0\0jA\0A\x80(\xFC\v\0 A\x80\xE0\0j!\x07 A\x80\x88jA\0A\x80\xF0\xFC\v\0 A\x80\x88j!\x07 A\x80\xF8jA\0A\x80\xFC\v\0 A\x80\xF8j! \n$\x80\x80\x80\x80\0 \v\x88\x7F#\x80\x80\x80\x80\0A\xD0k"\b$\x80\x80\x80\x80\0 \b\xD4\x80\x80\x80\0 \b \xD5\x80\x80\x80\0@ E\r\0 \b \xD5\x80\x80\x80\0\v@ \x07E\r\0 \b \x07\xD5\x80\x80\x80\0\v \b\xD6\x80\x80\x80\0 \0 \b\xD7\x80\x80\x80\0 \b\xD8\x80\x80\x80\0 \bA\0A\xD0\xFC\v\0 \b!\x07 \bA\xD0j$\x80\x80\x80\x80\0\v\xF4\n\x7F~#\x80\x80\x80\x80\0"\b! \bA\xC0\xE9kA`q"\b$\x80\x80\x80\x80\0A\x7F!\n@ A\xEDG\r\0 \bA\xC0\xE1j \bA\x80\xE0\0j \xEA\x80\x80\x80\0 \bA\xC0\xE0j \bA\x80\xC0j \b \0\xF0\x80\x80\x80\0\r\0 \bA\x80\xC0jA\xBC\xFE\x81\x81\x80\x80\0\r\0 \bA\x80\xE0\0jA\x800j!\n@@ \x07\r\0 \bA\x80\xE8j\xD4\x80\x80\x80\0 \bA\x80\xE8j A\xA0\xD5\x80\x80\x80\0 \bA\x80\xE8j\xD6\x80\x80\x80\0 \bA\x800jA\xC0\0 \bA\x80\xE8j\xD7\x80\x80\x80\0 \bA\x80\xE8j\xD8\x80\x80\x80\0 \bA\x80\xE8jA\0A\xD0\xFC\v\0 \bA\x80\xE8j! \bA\x80\xE1jA\xC0\0 \bA\x800jA\xC0\0 \x98\x81\x80\x80\0 \bB\x007\xB80 \bB\x007\xB00 \bB\x007\xA80 \bB\x007\xA00 \bB\x007\x980 \bB\x007\x900 \bB\x007\x880 \bB\x007\x800 \bA\x800j!\f\v \b )\x0087\xB8\xE1 \b )\x0007\xB0\xE1 \b )\0(7\xA8\xE1 \b )\0 7\xA0\xE1 \b )\07\x98\xE1 \b )\07\x90\xE1 \b )\0\b7\x88\xE1 \b )\0\x007\x80\xE1\v \bA\x80\xD8j \bA\xC0\xE0j\xF8\x80\x80\x80\0 \bA\x80\xD8j\xA5\x80\x80\x80\0 \bA\x80\xE0\0j\x86\x81\x80\x80\0 \bA\x80\xE0\0j\x87\x81\x80\x80\0 \bA\x800j \bA\x80\xD8j \bA\x80\xE0\0j\x89\x81\x80\x80\0 \bA\x80\xE8j \bA\xC0\xE1j\xFD\x80\x80\x80\0 \bA\x80\xC0j\x80\x81\x80\x80\0 \n \bA\x80\xE8j \bA\x80\xC0j\xFE\x80\x80\x80\0 \n \bA\x800j\x85\x81\x80\x80\0 \n\x82\x81\x80\x80\0 \n\x88\x81\x80\x80\0 \n\x83\x81\x80\x80\0 \bA\x800j \n \b\x8C\x81\x80\x80\0 \bA\xE0\xE1j \bA\x800j\x8D\x81\x80\x80\0 \bA\xF0\xE7j\xD4\x80\x80\x80\0 \bA\xF0\xE7j \bA\x80\xE1jA\xC0\0\xD5\x80\x80\x80\0 \bA\xF0\xE7j \bA\xE0\xE1jA\x80\xD5\x80\x80\x80\0 \bA\xF0\xE7j\xD6\x80\x80\x80\0 \bA\x80\xE0jA0 \bA\xF0\xE7j\xD7\x80\x80\x80\0 \bA\xF0\xE7j\xD8\x80\x80\x80\0A\0! \bA\xF0\xE7jA\0A\xD0\xFC\v\0 \bA\xF0\xE7j!\nA\0!\nA\0!@ \bA\x80\xE0j \nAj"\0j-\0\0 \bA\xC0\xE0j \0j-\0\0s"\0 \bA\x80\xE0j \nAj"j-\0\0 \bA\xC0\xE0j j-\0\0s" \bA\x80\xE0j \nj-\0\0 \bA\xC0\xE0j \nj-\0\0s"\x07 sss! \0 \x07 rrr! \nAj"\nA0G\r\0\vB\0 \xADB\xFF\x83}!\v \vB \x88\xA7s!\nA\x7FA\0 \nA\xFFq A\xFFqG\x1B!\n\v \bA\0A\x800\xFC\v\0 \b! \bA\x800jA\0A\x800\xFC\v\0 \bA\x800j! \bA\x80\xE0\0jA\0A\x80\xE0\0\xFC\v\0 \bA\x80\xE0\0j! \bA\x80\xC0jA\0A\x80(\xFC\v\0 \bA\x80\xC0j! \bA\x80\xE8jA\0A\x80\xF0\xFC\v\0 \bA\x80\xE8j! \bA\x80\xD8jA\0A\x80\b\xFC\v\0 \bA\x80\xD8j! \bB\x007\xA8\xE0 \bB\x007\xA0\xE0 \bB\x007\x98\xE0 \bB\x007\x90\xE0 \bB\x007\x88\xE0 \bB\x007\x80\xE0 \bA\x80\xE0j! \bB\x007\xE8\xE0 \bB\x007\xE0\xE0 \bB\x007\xD8\xE0 \bB\x007\xD0\xE0 \bB\x007\xC8\xE0 \bB\x007\xC0\xE0 \bA\xC0\xE0j! \bB\x007\xB8\xE1 \bB\x007\xB0\xE1 \bB\x007\xA8\xE1 \bB\x007\xA0\xE1 \bB\x007\x98\xE1 \bB\x007\x90\xE1 \bB\x007\x88\xE1 \bB\x007\x80\xE1 \bA\x80\xE1j! \bB\x007\xD8\xE1 \bB\x007\xD0\xE1 \bB\x007\xC8\xE1 \bB\x007\xC0\xE1 \bA\xC0\xE1j! \bA\xE0\xE1jA\0A\x80\xFC\v\0 \bA\xE0\xE1j!\b $\x80\x80\x80\x80\0 \n\v\x89\x7F#\x80\x80\x80\x80\0"\x07!\b \x07A\xE0kA`q"\x07$\x80\x80\x80\x80\0A\x7F! @ A\xFFK\r\0 \x07 :\0 \x07A\0:\0\0@ E\r\0 E\r\0 \x07Ar \xFC\n\0\0\v \0 \x07 Aj A\0\x99\x81\x80\x80\0! \v \x07A\0A\xCC\xFC\v\0 \x07!\x07 \b$\x80\x80\x80\x80\0 \v\xC6\x7FA\0!@ A\xFFK\r\0@ E\r\0 E\r@@@@@@@@@@@@ A\x7Fj\f\v\0\x07\b \n\r\v A F\r\v\f\f\v A0F\r\n\f\v\v A\xC0\0F\r \f\n\v AF\r\b\f \v A F\r\x07\f\b\v AF\r\f\x07\v A F\r\f\v A0F\r\f\v A\xC0\0F\r\f\v A F\r\f\v A\xC0\0F\r\f\v AG\r\v \0 :\0 \0 A\0G:\0\0@ E\r\0 E\r\0 \0Aj \xFC\n\0\0\v@ \r\0 Aj\v \0 j" AtA\xEC\x8C\x90\x80\0j(\0"(\0\v6\0 )\07\0@ E\r\0 A\rj \xFC\n\0\0\v jA\rj!\v \v\xB5\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0A j \xAB\x80\x80\x80\0 \0A\xE0j A\x80\bj\xAB\x80\x80\x80\0 \0A\xA0j A\x80j\xAB\x80\x80\x80\0 \0A\xE0\x07j A\x80j\xAB\x80\x80\x80\0 \0A\xA0\nj A\x80 j\xAB\x80\x80\x80\0 \0A\xE0\fj A\x80(j\xAB\x80\x80\x80\0 \0A\xA0j A\x800j\xAB\x80\x80\x80\0 \0A\xE0j A\x808j\xAB\x80\x80\x80\0\v\xB5\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A j\xAC\x80\x80\x80\0 A\x80\bj A\xE0j\xAC\x80\x80\x80\0 A\x80j A\xA0j\xAC\x80\x80\x80\0 A\x80j A\xE0\x07j\xAC\x80\x80\x80\0 A\x80 j A\xA0\nj\xAC\x80\x80\x80\0 A\x80(j A\xE0\fj\xAC\x80\x80\x80\0 A\x800j A\xA0j\xAC\x80\x80\x80\0 A\x808j A\xE0j\xAC\x80\x80\x80\0\v\xCC\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 \0 )\0\x007\0 \0 )\0\b7\0( \0 )\07\x000 \0 )\07\x008 \0 )\0\x007\0@ \0 )\0\b7\0H \0 )\07\0P \0 )\07\0X \0 )\0 7\0` \0 )\0(7\0h \0 )\x0007\0p \0 )\x0087\0x \0A\x80j \xC1\x81\x80\x80\0 \0A\xA0j \xC0\x81\x80\x80\0 \0A\xA0\fj \xC2\x81\x80\x80\0\v\xE4\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 )\x0087\0 )\x0007\0 )\0(7\0\b )\0 7\0\0 )\0x7\x008 )\0p7\x000 )\0h7\0( )\0`7\0 )\0X7\0 )\0P7\0 )\0H7\0\b )\0@7\0\0 A\x80j\xC3\x81\x80\x80\0 \xB2\x81\x80\x80\0 A\xA0j\xC5\x81\x80\x80\0 \xB9\x81\x80\x80\0 A\xA0\fj\xC6\x81\x80\x80\0 \xB9\x81\x80\x80\0\vR\0 \0 )\x0087\x008 \0 )\x0007\x000 \0 )\0(7\0( \0 )\0 7\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0\v\x87\x7F \0A\xC0#j!A\0!\0@@ \0Atj(\0E\r\0 A\xCA\0K\r\0 j \0:\0\0 Aj!\v@ \0Ar"Atj(\0E\r\0 A\xCA\0K\r\0 j :\0\0 Aj!\v \0Aj"\0A\x80G\r\0\v jA\xCB\0j :\0\0\v\0 \0 A\x80ljA\xC0\0j \xAD\x81\x80\x80\0\v\xA6 \x7F \0 )\x0087\x008 \0 )\x0007\x000 \0 )\0(7\0( \0 )\0 7\0 \0 )\07\0 \0 )\07\0 \0 )\0\b7\0\b \0 )\0\x007\0\0 A\xC0\0j\xC4\x81\x80\x80\0 A\0A\x80\xC0\0\xFC\v\0A!@ -\0\x8B$"A\xCB\0K\r\0 A\xC0#j!@@ E\r\0A!\0 -\0\0AtjA6\0 AF\r\0@ \0j"-\0\0"\x07 A\x7Fj-\0\0M\r \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x8C$"A\xCB\0K\r K\r@ O\r\0 A\x80\bj"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x8D$"A\xCB\0K\r K\r@ O\r\0 A\x80j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x8E$"A\xCB\0K\r K\r@ O\r\0 A\x80j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x8F$"A\xCB\0K\r K\r@ O\r\0 A\x80 j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x90$"A\xCB\0K\r K\r@ O\r\0 A\x80(j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x91$"A\xCB\0K\r K\r@ O\r\0 A\x800j"\b j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j" -\0\0!\x07@ \0 M\r\0 \x07 A\x7Fj-\0\0M\r\v \b \x07AtjA6\0 \0Aj"\0 G\r\0\v\v -\0\x92$"A\xCB\0K\r K\r@ O\r\0 A\x808j" j-\0\0AtjA6\0 Aj"\0 F\r\0@ \0j"\x07-\0\0!@ \0 M\r\0 \x07A\x7Fj-\0\0M\r\v AtjA6\0 \0Aj"\0 G\r\0\v\vA\0! A\xCB\0O\r@ j-\0\0\r Aj"A\xCB\0F\r\f\0\v\vA!\v \v\x86\x7F~A\0!@ \0 At"j j"(\0"A\xFF\0jA\x07uA\x81\blA\x80\x80\x80jAvAq"6\0 A\x80\x84`lj"6\0A\x80\xE0\xFF k\xAC! B\x88\xA7! A\xFF\xBF\x80|j s q s6\0 Aj"A\x80G\r\0\v\v\\\x7FA\0!A\0!@ \0 At"j j(\0"A\xFF\x81pjA\xFF\x83`I A\x80\x82pF j(\0A\0Gqr"6\0 j! Aj"A\x80G\r\0\v \v\xAC\x7F~\x7FA\0!@A\x80\xE0\xFF At"j(\0"A\xFF\0jA\x07uA\x81\blA\x80\x80\x80jAv"Aq"\x07A\x80\x84`l j"\bk\xAC! j(\0!\n B\x88\xA7!@ \nE\r\0@ \bA\xFF\xBF\x80|j \bs q \bsAH\r\0 AjAq!\x07\f\v A\x7FjAq!\x07\v \0 j \x076\0 Aj"A\x80G\r\0\v\v\xA2\n\x7F#\x80\x80\x80\x80\0" !\n A\xA0kA`q"\v$\x80\x80\x80\x80\0 \v )\x0087\xD8 \v )\x0007\xD0 \v )\0(7\xC8 \v )\0 7\xC0 \v )\07\xB8 \v )\07\xB0 \v )\0\b7\xA8 \v )\0\x007\xA0 \v )\0\x007\x80\x07 \v )\0\b7\x88\x07 \v )\07\x90\x07 \v )\07\x98\x07 \v )\0 7\xA0\x07 \v )\0(7\xA8\x07 \v )\x0007\xB0\x07 \v )\x0087\xB8\x07 \v )\0\x007\xE0\x07 \v )\0\b7\xE8\x07 \v )\07\xF0\x07 \v )\07\xF8\x07 \v )\0 7\x80\b \v )\0(7\x88\b \v )\x0007\x90\b \v )\x0087\x98\b \v )\0\x007\xC0\b \v )\0\b7\xC8\b \v )\07\xD0\b \v )\07\xD8\b \v )\0 7\xE0\b \v )\0(7\xE8\b \v )\x0087\xF8\b \v )\x0007\xF0\b \v \b:\0\x80 \v \x07:\0\xA0\b \v :\0\xC0\x07 \v :\0\xE0A\0!\b \vA\0:\0\x81 \vA\0:\0\xA1\b \vA\0:\0\xC1\x07 \vA\0:\0\xE1 \v\xE1\x80\x80\x80\0 \v \vA\xA0j \vA\x80\x07j \vA\xE0\x07j \vA\xC0\bjA\xC2\0\xDF\x80\x80\x80\0 \vA\xA0 j \vA\xC0\nj"\f \vA\xE0\vj"\r \vA\x80\rj"A \v\xE0\x80\x80\x80\0A\0!@ \vA\xA0 j \bj-\0\0"\x07Av!@ \x07Aq"\x07AF\r\0 \0 Atj \x07A\xCDlA\nvAl \x07kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\x80I!A\0!\x07@@ A\xFFM\r\0A\0!\f\v \bA\x87I! \bAj!\bA\0! \r\v\v@ \f \x07j-\0\0"Av!\b@ Aq"AF\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ \bAF\r\0 A\xFFK\r\0 Atj \bA\xCDlA\nvAl \bkAj6\0 Aj!\v A\x80I!A\0!@@ A\xFFM\r\0A\0!\b\f\v \x07A\x87I! \x07Aj!\x07A\0!\b \r\v\v@ \r j-\0\0" Av!\x07@ Aq" AF\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v@ \x07AF\r\0 \bA\xFFK\r\0 \bAtj \x07A\xCDlA\nvAl \x07kAj6\0 \bAj!\b\v \bA\x80I!A\0! @@ \bA\xFFM\r\0A\0!\x07\f\v A\x87I! Aj!A\0!\x07 \r\v\v@ j-\0\0"Av!@ Aq"AF\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ AF\r\0 \x07A\xFFK\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ \x07A\xFFK\r\0 A\x87I! Aj! \r\v\v \x07A\x80I!@@ A\x80I\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\xFFK\r\v@ \vA\xA0 j \f \r A \v\xE0\x80\x80\x80\0A\0!@ AqE\r\0@ \vA\xA0 j j-\0\0"Av! @ Aq"AF\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 \0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ \f j-\0\0"Av! @ Aq"AF\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v@ AF\r\0 A\xFFK\r\0 Atj A\xCDlA\nvAl kAj6\0 Aj!\v A\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ \r j-\0\0"Av! @ Aq"AF\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v@ AF\r\0 \bA\xFFK\r\0 \bAtj A\xCDlA\nvAl kAj6\0 \bAj!\b\v \bA\xFFK\r A\x87I! Aj! \r\0\v\vA\0!@ AqE\r\0@ j-\0\0"Av! @ Aq"AF\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v@ AF\r\0 \x07A\xFFK\r\0 \x07Atj A\xCDlA\nvAl kAj6\0 \x07Aj!\x07\v \x07A\xFFK\r A\x87I! Aj! \r\0\v\v \x07A\x80I! \bA\x80I! A\x80I! A\x80I"\r\0 A\x80I\r\0 \bA\x80I\r\0 \x07A\x80I\r\0\v\v \v\xE2\x80\x80\x80\0 \vA\xA0 jA\0A\x80\xFC\v\0 \vA\xA0 j! \vA\xA0jA\0A\x80\xFC\v\0 \vA\xA0j! \n$\x80\x80\x80\x80\0\v\xFE\x07\x7F#\x80\x80\x80\x80\0" !\n A\xA0kA`q" $\x80\x80\x80\x80\0 )\x0087\xD8 )\x0007\xD0 )\0(7\xC8 )\0 7\xC0 )\07\xB8 )\07\xB0 )\0\b7\xA8 )\0\x007\xA0 )\0\x007\x80\x07 )\0\b7\x88\x07 )\07\x90\x07 )\07\x98\x07 )\0 7\xA0\x07 )\0(7\xA8\x07 )\x0007\xB0\x07 )\x0087\xB8\x07 )\0\x007\xE0\x07 )\0\b7\xE8\x07 )\07\xF0\x07 )\07\xF8\x07 )\0 7\x80\b )\0(7\x88\b )\x0007\x90\b )\x0087\x98\b )\0\x007\xC0\b )\0\b7\xC8\b )\07\xD0\b )\07\xD8\b )\0 7\xE0\b )\0(7\xE8\b )\x0087\xF8\b )\x0007\xF0\b \b:\0\x80 \bA\bv:\0\x81 \x07:\0\xA0\b \x07A\bv:\0\xA1\b :\0\xC0\x07 A\bv:\0\xC1\x07 :\0\xE0 A\bv:\0\xE1 \xE1\x80\x80\x80\0 A\xA0j A\x80\x07j A\xE0\x07j A\xC0\bjA\xC2\0\xDF\x80\x80\x80\0 A\xA0 j A\xE0j"\v A\xA0j"\f A\xE0j"\rA \xE0\x80\x80\x80\0A\0!A\0!\b@ A\xA0 j \bAlj"\x07/\0\0! \0 \bAtj"A\x80\x80 \x07-\0A\ft \x07-\0At \x07-\0"\x07Avrrk6 A\x80\x80 \x07AtA\x80\x80<qrk6\0 \bAj"\bA\x80G\r\0\v@ \v Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\vA\0!@ \f Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\vA\0!@ \r Alj"\b/\0\0!\x07 Atj"A\x80\x80 \b-\0A\ft \b-\0At \b-\0"\bAvrrk6 A\x80\x80 \x07 \bAtA\x80\x80<qrk6\0 Aj"A\x80G\r\0\v \xE2\x80\x80\x80\0 A\xA0 jA\0A\x80\xFC\v\0 A\xA0 j! A\xA0jA\0A\x80\xFC\v\0 A\xA0j! \n$\x80\x80\x80\x80\0\v\xA3\x7FA\0!@ \0 Atj" Alj"-\0\0"6\0 -\0A\btr"6\0 -\0AtA\x80\x80<q r"6\0 -\0Av"6 -\0At r"6 -\0! A\x80\x80 k6\0 A\x80\x80 A\ft rk6 Aj"A\x80G\r\0\v\v\xB0\x7F~\x7F#\x80\x80\x80\x80\0"! A\x80kA`q"$\x80\x80\x80\x80\0 Aj\xD4\x80\x80\x80\0 Aj A\xC0\0\xD5\x80\x80\x80\0 Aj\xD6\x80\x80\x80\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0 )\xE0! \0A\0A\x80\b\xFC\v\0A\b!A\xC4!@@ A\x88I\r\0 A\xE0jA\x88 Aj\xD7\x80\x80\x80\0A\0!\v "Aj! A\xE0jj-\0\0"I\r\0 \0 Atj \0 Atj"(\x006\0 A \xA7AtAqk6\0 B\x88! Aj"A\x80G\r\0\v Aj\xD8\x80\x80\x80\0 A\xE0jA\0A\x88\xFC\v\0 A\xE0j! B\x007\xF8 A\xF8j! $\x80\x80\x80\x80\0\v\xBD\b\x7FA\0!@ Atj"(! (\f! (! (!\x07 (!\b \0 Alj" A (AtkA (\0krA (\bk"Atr:\0\0 A \x07k"\x07A\xFEqAvA\b \bAtkrA\xC0\0 Atkr:\0 A Atk A\xFCqAvrA Atkr \x07A\x07tr:\0 Aj"A G\r\0\v\v\x8E\n\x7FA\0!@ \0 Atj" Alj"-\0\0A\x07q"6\0 -\0\0AvA\x07q"6 -\0AtAq -\0\0Avr"\x076\b -\0AvA\x07q"\b6\f -\0AvA\x07q" 6 -\0AtAq -\0A\x07vr"\n6 -\0AvA\x07q"\v6 -\0! A \vk6 A \nk6 A k6 A \bk6\f A \x07k6\b A k6 A k6\0 A Avk6 Aj"A G\r\0\v\vu\x7FA\0!@ Atj"(! \0 Alj"A\x80\x80 (\0k":\0\0 A\x80\x80 k"A\fv:\0 Av:\0 A\bv:\0 At Avr:\0 Aj"A\x80G\r\0\v\vY\x7FA\0!@ \0 j Atj"(At (\0r:\0\0 \0 Ar"j Atj"(At (\0r:\0\0 Aj"A\x80G\r\0\v\v\xBF\n\x7F#\x80\x80\x80\x80\0"! A\x80kA`q"$\x80\x80\x80\x80\0 )\07 )\07 )\0\b7\b )\0\x007\0 )\07X )\07P )\0\b7H )\0\x007@ )\0\x007\x80 )\0\b7\x88 )\07\x90 )\07\x98 )\0\x007\xC0 )\0\b7\xC8 )\07\xD0 )\07\xD8A\0!@ A\xFFq"A\x07p":\0 A\x07n":\0! ArA\xFFq"A\x07p"\x07:\0\xE0 A\x07n":\0\xE1 ArA\xFFq"\bA\x07p" :\0\xA0 \bA\x07n"\b:\0\xA1 ArA\xFFq"\nA\x07p"\v:\0` \nA\x07n"\n:\0a \0 A\x808lj A\ntj \0 \nA\x808lj \vA\ntj \0 \bA\x808lj A\ntj \0 A\x808lj \x07A\ntj \xAA\x80\x80\x80\0 A4I! Aj! \r\0\v A\0A\x80\xFC\v\0 ! $\x80\x80\x80\x80\0\v\xD4\x7F~A\0!@ \0 A\ntj! A\x808lj!A\0!@ At"\x07j \x07j"\b4\x80\b \x07j"\x074\x80\b~ \b4\0 \x074\0~| \b4\x80 \x074\x80~| \b4\x80 \x074\x80~| \b4\x80 \x074\x80 ~| \b4\x80( \x074\x80(~| \b4\x800 \x074\x800~|" B\x80\x80\x80\x80\x90\x80\x88\xC0~B \x87B\xFF\xBF\x80|~ |B \x88>\0 Aj"A\x80G\r\0\v Aj"A\bG\r\0\v\v\x89\x7F \0 \0A\x80\bj \0A\x80j \0A\x80j" A\x07l"A\xFF\xFFq AjA\xFF\xFFq AjA\xFF\xFFqA\xFF\xA8\x81\x80\x80\0 \0A\x80 j \0A\x80(j \0A\x800j AjA\xFF\xFFq AjA\xFF\xFFq AjA\xFF\xFFq AjA\xFF\xFFq\xA8\x81\x80\x80\0\vR\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80 j\xA5\x80\x80\x80\0 \0A\x80(j\xA5\x80\x80\x80\0 \0A\x800j\xA5\x80\x80\x80\0\v\x80\x7F \0 \xAF\x80\x80\x80\0! \0A\x80\bj \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0! \0A\x80j \xAF\x80\x80\x80\0! \0A\x80 j \xAF\x80\x80\x80\0! \0A\x80(j \xAF\x80\x80\x80\0!\x07 \0A\x800j \xAF\x80\x80\x80\0 \x07 rrrrrr\v^\0 \0\xA0\x80\x80\x80\0 \0A\x80\bj\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0 \0A\x80j\xA0\x80\x80\x80\0 \0A\x80 j\xA0\x80\x80\x80\0 \0A\x80(j\xA0\x80\x80\x80\0 \0A\x800j\xA0\x80\x80\x80\0 \0A\x808j\xA0\x80\x80\x80\0\v^\0 \0\xA1\x80\x80\x80\0 \0A\x80\bj\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0 \0A\x80j\xA1\x80\x80\x80\0 \0A\x80 j\xA1\x80\x80\x80\0 \0A\x80(j\xA1\x80\x80\x80\0 \0A\x800j\xA1\x80\x80\x80\0 \0A\x808j\xA1\x80\x80\x80\0\v\x8A\0 \0 \xA2\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0 \0A\x80j A\x80j\xA2\x80\x80\x80\0 \0A\x80 j A\x80 j\xA2\x80\x80\x80\0 \0A\x80(j A\x80(j\xA2\x80\x80\x80\0 \0A\x800j A\x800j\xA2\x80\x80\x80\0 \0A\x808j A\x808j\xA2\x80\x80\x80\0\v\x8A\0 \0 \xA3\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0 \0A\x80j A\x80j\xA3\x80\x80\x80\0 \0A\x80 j A\x80 j\xA3\x80\x80\x80\0 \0A\x80(j A\x80(j\xA3\x80\x80\x80\0 \0A\x800j A\x800j\xA3\x80\x80\x80\0 \0A\x808j A\x808j\xA3\x80\x80\x80\0\v^\0 \0\xA4\x80\x80\x80\0 \0A\x80\bj\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0 \0A\x80j\xA4\x80\x80\x80\0 \0A\x80 j\xA4\x80\x80\x80\0 \0A\x80(j\xA4\x80\x80\x80\0 \0A\x800j\xA4\x80\x80\x80\0 \0A\x808j\xA4\x80\x80\x80\0\v^\0 \0\xA5\x80\x80\x80\0 \0A\x80\bj\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80j\xA5\x80\x80\x80\0 \0A\x80 j\xA5\x80\x80\x80\0 \0A\x80(j\xA5\x80\x80\x80\0 \0A\x800j\xA5\x80\x80\x80\0 \0A\x808j\xA5\x80\x80\x80\0\v^\0 \0\xA6\x80\x80\x80\0 \0A\x80\bj\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0 \0A\x80j\xA6\x80\x80\x80\0 \0A\x80 j\xA6\x80\x80\x80\0 \0A\x80(j\xA6\x80\x80\x80\0 \0A\x800j\xA6\x80\x80\x80\0 \0A\x808j\xA6\x80\x80\x80\0\v\x9A\0 \0 \xA7\x80\x80\x80\0 \0A\x80\bj A\x80\bj\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0 \0A\x80j A\x80j\xA7\x80\x80\x80\0 \0A\x80 j A\x80 j\xA7\x80\x80\x80\0 \0A\x80(j A\x80(j\xA7\x80\x80\x80\0 \0A\x800j A\x800j\xA7\x80\x80\x80\0 \0A\x808j A\x808j\xA7\x80\x80\x80\0\v\xB6\0 \0 \xA8\x80\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0 \0A\x80j A\x80j A\x80j\xA8\x80\x80\x80\0 \0A\x80 j A\x80 j A\x80 j\xA8\x80\x80\x80\0 \0A\x80(j A\x80(j A\x80(j\xA8\x80\x80\x80\0 \0A\x800j A\x800j A\x800j\xA8\x80\x80\x80\0 \0A\x808j A\x808j A\x808j\xA8\x80\x80\x80\0\v\x8A\0 \0 \xA4\x81\x80\x80\0 \0A\x80\bj A\x80\bj\xA4\x81\x80\x80\0 \0A\x80j A\x80j\xA4\x81\x80\x80\0 \0A\x80j A\x80j\xA4\x81\x80\x80\0 \0A\x80 j A\x80 j\xA4\x81\x80\x80\0 \0A\x80(j A\x80(j\xA4\x81\x80\x80\0 \0A\x800j A\x800j\xA4\x81\x80\x80\0 \0A\x808j A\x808j\xA4\x81\x80\x80\0\v\xB6\0 \0 \xA6\x81\x80\x80\0 \0A\x80\bj A\x80\bj A\x80\bj\xA6\x81\x80\x80\0 \0A\x80j A\x80j A\x80j\xA6\x81\x80\x80\0 \0A\x80j A\x80j A\x80j\xA6\x81\x80\x80\0 \0A\x80 j A\x80 j A\x80 j\xA6\x81\x80\x80\0 \0A\x80(j A\x80(j A\x80(j\xA6\x81\x80\x80\0 \0A\x800j A\x800j A\x800j\xA6\x81\x80\x80\0 \0A\x808j A\x808j A\x808j\xA6\x81\x80\x80\0\v\x8A\0 \0 \xAE\x81\x80\x80\0 \0A\x80j A\x80\bj\xAE\x81\x80\x80\0 \0A\x80j A\x80j\xAE\x81\x80\x80\0 \0A\x80j A\x80j\xAE\x81\x80\x80\0 \0A\x80j A\x80 j\xAE\x81\x80\x80\0 \0A\x80j A\x80(j\xAE\x81\x80\x80\0 \0A\x80j A\x800j\xAE\x81\x80\x80\0 \0A\x80\x07j A\x808j\xAE\x81\x80\x80\0\v\x8A\0 \0 \xAB\x81\x80\x80\0 \0A\xE0\0j A\x80\bj\xAB\x81\x80\x80\0 \0A\xC0j A\x80j\xAB\x81\x80\x80\0 \0A\xA0j A\x80j\xAB\x81\x80\x80\0 \0A\x80j A\x80 j\xAB\x81\x80\x80\0 \0A\xE0j A\x80(j\xAB\x81\x80\x80\0 \0A\xC0j A\x800j\xAB\x81\x80\x80\0 \0A\xA0j A\x808j\xAB\x81\x80\x80\0\vx\0 \0 \xAB\x81\x80\x80\0 \0A\xE0\0j A\x80\bj\xAB\x81\x80\x80\0 \0A\xC0j A\x80j\xAB\x81\x80\x80\0 \0A\xA0j A\x80j\xAB\x81\x80\x80\0 \0A\x80j A\x80 j\xAB\x81\x80\x80\0 \0A\xE0j A\x80(j\xAB\x81\x80\x80\0 \0A\xC0j A\x800j\xAB\x81\x80\x80\0\v\x8A\0 \0 \xAD\x80\x80\x80\0 \0A\xA0j A\x80\bj\xAD\x80\x80\x80\0 \0A\xC0j A\x80j\xAD\x80\x80\x80\0 \0A\xE0 j A\x80j\xAD\x80\x80\x80\0 \0A\x80\rj A\x80 j\xAD\x80\x80\x80\0 \0A\xA0j A\x80(j\xAD\x80\x80\x80\0 \0A\xC0j A\x800j\xAD\x80\x80\x80\0 \0A\xE0j A\x808j\xAD\x80\x80\x80\0\vx\0 \0 \xAC\x81\x80\x80\0 \0A\x80\bj A\xE0\0j\xAC\x81\x80\x80\0 \0A\x80j A\xC0j\xAC\x81\x80\x80\0 \0A\x80j A\xA0j\xAC\x81\x80\x80\0 \0A\x80 j A\x80j\xAC\x81\x80\x80\0 \0A\x80(j A\xE0j\xAC\x81\x80\x80\0 \0A\x800j A\xC0j\xAC\x81\x80\x80\0\vx\0 \0 \xA9\x81\x80\x80\0 \0A\x80\bj A\x80j\xA9\x81\x80\x80\0 \0A\x80j A\x80\nj\xA9\x81\x80\x80\0 \0A\x80j A\x80j\xA9\x81\x80\x80\0 \0A\x80 j A\x80j\xA9\x81\x80\x80\0 \0A\x80(j A\x80j\xA9\x81\x80\x80\0 \0A\x800j A\x80j\xA9\x81\x80\x80\0\v\x8A\0 \0 \xAC\x81\x80\x80\0 \0A\x80\bj A\xE0\0j\xAC\x81\x80\x80\0 \0A\x80j A\xC0j\xAC\x81\x80\x80\0 \0A\x80j A\xA0j\xAC\x81\x80\x80\0 \0A\x80 j A\x80j\xAC\x81\x80\x80\0 \0A\x80(j A\xE0j\xAC\x81\x80\x80\0 \0A\x800j A\xC0j\xAC\x81\x80\x80\0 \0A\x808j A\xA0j\xAC\x81\x80\x80\0\v\x8A\0 \0 \xAE\x80\x80\x80\0 \0A\x80\bj A\xA0j\xAE\x80\x80\x80\0 \0A\x80j A\xC0j\xAE\x80\x80\x80\0 \0A\x80j A\xE0 j\xAE\x80\x80\x80\0 \0A\x80 j A\x80\rj\xAE\x80\x80\x80\0 \0A\x80(j A\xA0j\xAE\x80\x80\x80\0 \0A\x800j A\xC0j\xAE\x80\x80\x80\0 \0A\x808j A\xE0j\xAE\x80\x80\x80\0\v\xB7\x7F#\x80\x80\x80\x80\0"A\x80\xFAkA`q"$\x80\x80\x80\x80\0 )\0\x007\xC0\xF8 )\0\b7\xC8\xF8 )\07\xD0\xF8 )\07\xD8\xF8 A\x88;\xE0\xF8 A\x80\xF9jA\x80 A\xC0\xF8jA"\xD9\x80\x80\x80\0 A\x80\xC0j A\x80\xC0jA\x80\bj A\x80\xC0jA\x80j A\x80\xC0jA\x80j A\xA0\xF9j"A\0AAA\xA7\x81\x80\x80\0 A\x80\xC0jA\x80 j A\x80\xC0jA\x80(j A\x80\xC0jA\x800j A\x80\x80j AAAA\xFF\xA7\x81\x80\x80\0 A\x80\x80j A\x80\x80jA\x80\bj A\x80\x80jA\x80j A\x80\x80jA\x80j A\x07A\bA A\n\xA7\x81\x80\x80\0 A\x80\x80jA\x80 j A\x80\x80jA\x80(j A\x80\x80jA\x800j A\x80\x80jA\x808j A\vA\fA\rA\xA7\x81\x80\x80\0 A\x80\xC0\0j A\x80\xF8j \0 A\x80\xF9j A\x80\xC0j A\x80\x80j\xC8\x81\x80\x80\0 A\x80\xF9j A\x80\xF8j A\xE0\xF9j A\x80\xC0j A\x80\x80j\x9E\x81\x80\x80\0 A\0A\x80\xC0\0\xFC\v\0 ! A\x80\xC0\0jA\0A\x80\xC0\0\xFC\v\0 A\x80\xC0\0j! A\x80\x80jA\0A\x80\xC0\0\xFC\v\0 A\x80\x80j! A\x80\xC0jA\0A\x808\xFC\v\0 A\x80\xC0j! B\x007\xB8\xF8 B\x007\xB0\xF8 B\x007\xA8\xF8 B\x007\xA0\xF8 B\x007\x98\xF8 B\x007\x90\xF8 B\x007\x88\xF8 B\x007\x80\xF8 A\x80\xF8j! A\0;\xE0\xF8 B\x007\xD8\xF8 B\x007\xD0\xF8 B\x007\xC8\xF8 B\x007\xC0\xF8 A\xC0\xF8j! A\x80\xF9jA\0A\x80\xFC\v\0 A\x80\xF9j! $\x80\x80\x80\x80\0A\0\v\xF0\x7F#\x80\x80\x80\x80\0"\x07A\x80\xB8kA`q"\b$\x80\x80\x80\x80\0 \bA\x80\xF8\0j \xAF\x81\x80\x80\0 \bA\x80\xC0\0j A\x808\xFC\n\0\0 \bA\x80\xC0\0j\xB2\x81\x80\x80\0 \b \bA\x80\xF8\0j \bA\x80\xC0\0j\xB0\x81\x80\x80\0 \b\xBA\x81\x80\x80\0 \b \xB6\x81\x80\x80\0 \b\xB4\x81\x80\x80\0 \b\xB5\x81\x80\x80\0 \0 \b\xBC\x81\x80\x80\0 \x9C\x81\x80\x80\0 A\xC0\0 A\xA0\xD9\x80\x80\x80\0 \bA\0A\x80\xC0\0\xFC\v\0 \b! \bA\x80\xC0\0jA\0A\x808\xFC\v\0 \bA\x80\xC0\0j! \bA\x80\xF8\0jA\0A\x80\xC0\xFC\v\0 \bA\x80\xF8\0j!\b \x07$\x80\x80\x80\x80\0\v\xDA \x7F#\x80\x80\x80\x80\0" !\n A\xC0\x82\x07kA`q" $\x80\x80\x80\x80\0 A\x80\xF8j A\xA0\xF8j"\v A\xE0\xF8j"\f A\x80\xC0\0j A\x80\x80j \x07\x9F\x81\x80\x80\0 A\xC0\xF9j!\r A\x80\xF9j!@@ \b\r\0 \vA\xC0\0 \xCA\x81\x80\x80\0\f\v )\x0087\x008 )\x0007\x000 )\0(7\0( )\0 7\0 )\07\0 )\07\0 )\0\b7\0\b )\0\x007\0\0\v A\x80\xB8j\xD4\x80\x80\x80\0 A\x80\xB8j \fA \xD5\x80\x80\x80\0 A\x80\xB8j A \xD5\x80\x80\x80\0 A\x80\xB8j A\xC0\0\xD5\x80\x80\x80\0 A\x80\xB8j\xD6\x80\x80\x80\0 \rA\xC0\0 A\x80\xB8j\xD7\x80\x80\x80\0 A\x80\xB8j\xD8\x80\x80\x80\0 A\x80\xB8jA\0A\xD0\xFC\v\0 A\x80\xB8j! \0A\xC0#j! A\x80\xB8j A\x80\xF8j\xAF\x81\x80\x80\0 A\x80\xCAjA\x808j! A\x80\x8AjA\x808j! A\x80\xCAjA\x800j! A\x80\x8AjA\x800j! A\x80\xCAjA\x80(j! A\x80\x8AjA\x80(j! A\x80\xCAjA\x80 j! A\x80\x8AjA\x80 j! A\x80\xCAjA\x80j! A\x80\x8AjA\x80j! A\x80\xCAjA\x80j! A\x80\x8AjA\x80j!\x1B A\x80\xCAjA\x80\bj! A\x80\x8AjA\x80\bj! A\x80\xCAjA\x800j! A\x80\x80jA\x800j! A\x80\xCAjA\x80(j! A\x80\x80jA\x80(j!! A\x80\xCAjA\x80 j!" A\x80\x80jA\x80 j!# A\x80\xCAjA\x80j!$ A\x80\x80jA\x80j!% A\x80\xCAjA\x80j! A\x80\x80jA\x80j!\v A\x80\xCAjA\x80\bj! A\x80\x80jA\x80\bj! A\x80\xCAjA\x80\xC0\0j!A\0!@@ A\x80\xCAj \r A\xFF\xFFq\xB1\x81\x80\x80\0 A\x80\xCAjA\x808\xFC\n\0\0 \xB2\x81\x80\x80\0 A\x80\x8Aj A\x80\xB8j \xB0\x81\x80\x80\0 A\x80\x8Aj\xBA\x81\x80\x80\0 A\x80\x8Aj\xB5\x81\x80\x80\0 A\x80\xCAj A\x80\x8Aj\xBD\x81\x80\x80\0 \0 A\x80\xCAj\xBF\x81\x80\x80\0 A\x80\xC2j\xD4\x80\x80\x80\0 A\x80\xC2j A\xC0\0\xD5\x80\x80\x80\0 A\x80\xC2j \0A\x80\b\xD5\x80\x80\x80\0 A\x80\xC2j\xD6\x80\x80\x80\0 A\x80\x82\x07jA\xC0\0 A\x80\xC2j\xD7\x80\x80\x80\0 A\x80\xC2j\xD8\x80\x80\x80\0 A\x80\xC2jA\0A\xD0\xFC\v\0 A\x80\xC2j!\x07 A\x80\x82j A\x80\x82\x07j\xAA\x81\x80\x80\0 A\x80\x82j\xA5\x80\x80\x80\0 A\x80\xC2j A\x80\x80jA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj A\x80\xCAj\xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0A\0!\b@ A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0A\0!\b \0 A\x80\xFAjA\0\xA2\x81\x80\x80\0 A\x80\xC2j A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0 A\x80\xC2j \vA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0 A\x80\xC2j %A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj $\xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0 A\x80\xC2j #A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj "\xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0 A\x80\xC2j !A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0 A\x80\xC2j A\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\x82j A\x80\xC2j\xA7\x80\x80\x80\0 A\x80\xFAj\xA6\x80\x80\x80\0 A\x80\xFAj \xA2\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFF\xAF\x80\x80\x80\0\r\0 \0 A\x80\xFAjA\xA2\x81\x80\x80\0A\0!\bA\0!&@ A\x80\xFAj &A\nt"\'jA\x80\b\xFC\n\0\0 A\x80\xC2j A\x80\x82j A\x80\xFAj\xA7\x80\x80\x80\0 A\x80\xC2j\xA6\x80\x80\x80\0 A\x80\xFAj A\x80\x8Aj \'j"\fA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\xC2j\xA3\x80\x80\x80\0 A\x80\xFAj\xA0\x80\x80\x80\0 A\x80\xFAjA\x88\xFD\xAF\x80\x80\x80\0!( \f A\x80\xFAjA\x80\b\xFC\n\0\0 (\r A\x80\xFAj A\x80\xC0\0j \'jA\x80\b\xFC\n\0\0 A\x80\xC2j A\x80\x82j A\x80\xFAj\xA7\x80\x80\x80\0 A\x80\xC2j\xA6\x80\x80\x80\0 A\x80\xC2j\xA0\x80\x80\x80\0 A\x80\xC2jA\x80\xFE\xAF\x80\x80\x80\0\r A\x80\xFAj \fA\x80\b\xFC\n\0\0 A\x80\xFAj A\x80\xC2j\xA2\x80\x80\x80\0 \f A\x80\xFAjA\x80\b\xFC\n\0\0 &Aj"&A\bG\r\0\v \0 A\x80\x82\x07j\xA0\x81\x80\x80\0A\0!\b A\0A\xD3\0\xFC\v\0 A\x80\xC2j A\x80\x8Aj A\x80\xCAj\xA5\x81\x80\x80\0"\fA\xCB\0K\r\0A\0!\b \0 A\x80\xC2jA\0A\0\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \fj"\'A\xCB\0K\r\0 \0 A\x80\xC2jA \f\xA1\x81\x80\x80\0 A\x80\xC2j \x1B \xA5\x81\x80\x80\0 \'j"\fA\xCB\0K\r\0 \0 A\x80\xC2jA \'\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \fj"\'A\xCB\0K\r\0 \0 A\x80\xC2jA \f\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \'j"\fA\xCB\0K\r\0 \0 A\x80\xC2jA \'\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \fj"\'A\xCB\0K\r\0 \0 A\x80\xC2jA \f\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \'j"\fA\xCB\0K\r\0 \0 A\x80\xC2jA \'\xA1\x81\x80\x80\0 A\x80\xC2j \xA5\x81\x80\x80\0 \fjA\xCB\0K\r\0 \0 A\x80\xC2jA\x07 \f\xA1\x81\x80\x80\0A!\b\v A\x80\xFAjA\0A\x80\b\xFC\v\0 A\x80\xFAj!\f A\x80\x82jA\0A\x80\b\xFC\v\0 A\x80\x82j!\f A\x80\x8AjA\0A\x80\xC0\0\xFC\v\0 A\x80\x8Aj!\f A\x80\xCAjA\0A\x80\xF8\0\xFC\v\0 A\x80\xCAj!\f A\x80\xC2jA\0A\x80\b\xFC\v\0 A\x80\xCAjA\0A\x808\xFC\v\0 A\x80\xCAj!\x07 B\x007\xB8\x82\x07 B\x007\xB0\x82\x07 B\x007\xA8\x82\x07 B\x007\xA0\x82\x07 B\x007\x98\x82\x07 B\x007\x90\x82\x07 B\x007\x88\x82\x07 B\x007\x80\x82\x07 A\x80\x82\x07j!\x07@ \bE\r\0 A\x93$6\0A\0!\f\v Aj"A\xFF\xFFqA\x91\xC9\0G\r\0\v A\x006\0 \0A\0A\x93$\xFC\v\0A\x7F!\v A\0A\x80\xC0\0\xFC\v\0 !\x07 A\x80\xC0\0jA\0A\x80\xC0\0\xFC\v\0 A\x80\xC0\0j!\x07 A\x80\x80jA\0A\x808\xFC\v\0 A\x80\x80j!\x07 A\x80\xB8jA\0A\x80\xC0\xFC\v\0 A\x80\xB8j!\x07 A\x80\xF8jA\0A\x80\xFC\v\0 A\x80\xF8j! \n$\x80\x80\x80\x80\0 \v\x89\x7F#\x80\x80\x80\x80\0A\xD0k"\x07$\x80\x80\x80\x80\0 \x07\xD4\x80\x80\x80\0 \x07 \xD5\x80\x80\x80\0@ E\r\0 \x07 \xD5\x80\x80\x80\0\v@ E\r\0 \x07 \xD5\x80\x80\x80\0\v \x07\xD6\x80\x80\x80\0 \0A\xC0\0 \x07\xD7\x80\x80\x80\0 \x07\xD8\x80\x80\x80\0 \x07A\0A\xD0\xFC\v\0 \x07! \x07A\xD0j$\x80\x80\x80\x80\0\v\xFD\n\x7F~#\x80\x80\x80\x80\0"\b! \bA\xC0\x8BkA`q"\b$\x80\x80\x80\x80\0A\x7F!\n@ A\x93$G\r\0 \bA\xC0\x81j \bA\x80\x80j \x9D\x81\x80\x80\0 \bA\xC0\x80j \bA\x80\x80j \b \0\xA3\x81\x80\x80\0\r\0 \bA\x80\x80jA\x88\xFF\xB3\x81\x80\x80\0\r\0 \bA\x80\x80jA\x80\xC0\0j!\n@@ \x07\r\0 \bA\x80\xB8j\xD4\x80\x80\x80\0 \bA\x80\xB8j A\xA0\xD5\x80\x80\x80\0 \bA\x80\xB8j\xD6\x80\x80\x80\0 \bA\x80\xC0\0jA\xC0\0 \bA\x80\xB8j\xD7\x80\x80\x80\0 \bA\x80\xB8j\xD8\x80\x80\x80\0 \bA\x80\xB8jA\0A\xD0\xFC\v\0 \bA\x80\xB8j! \bA\x80\x81j \bA\x80\xC0\0jA\xC0\0 \xCA\x81\x80\x80\0 \bB\x007\xB8@ \bB\x007\xB0@ \bB\x007\xA8@ \bB\x007\xA0@ \bB\x007\x98@ \bB\x007\x90@ \bB\x007\x88@ \bB\x007\x80@ \bA\x80\xC0\0j!\f\v \b )\x0087\xB8\x81 \b )\x0007\xB0\x81 \b )\0(7\xA8\x81 \b )\0 7\xA0\x81 \b )\07\x98\x81 \b )\07\x90\x81 \b )\0\b7\x88\x81 \b )\0\x007\x80\x81\v \bA\x80\xF8j \bA\xC0\x80j\xAA\x81\x80\x80\0 \bA\x80\xF8j\xA5\x80\x80\x80\0 \bA\x80\x80j\xB8\x81\x80\x80\0 \bA\x80\x80j\xB9\x81\x80\x80\0 \bA\x80\xC0\0j \bA\x80\xF8j \bA\x80\x80j\xBB\x81\x80\x80\0 \bA\x80\xB8j \bA\xC0\x81j\xAF\x81\x80\x80\0 \bA\x80\x80j\xB2\x81\x80\x80\0 \n \bA\x80\xB8j \bA\x80\x80j\xB0\x81\x80\x80\0 \n \bA\x80\xC0\0j\xB7\x81\x80\x80\0 \n\xB4\x81\x80\x80\0 \n\xBA\x81\x80\x80\0 \n\xB5\x81\x80\x80\0 \bA\x80\xC0\0j \n \b\xBE\x81\x80\x80\0 \bA\xE0\x81j \bA\x80\xC0\0j\xBF\x81\x80\x80\0 \bA\xF0\x89j\xD4\x80\x80\x80\0 \bA\xF0\x89j \bA\x80\x81jA\xC0\0\xD5\x80\x80\x80\0 \bA\xF0\x89j \bA\xE0\x81jA\x80\b\xD5\x80\x80\x80\0 \bA\xF0\x89j\xD6\x80\x80\x80\0 \bA\x80\x80jA\xC0\0 \bA\xF0\x89j\xD7\x80\x80\x80\0 \bA\xF0\x89j\xD8\x80\x80\x80\0A\0! \bA\xF0\x89jA\0A\xD0\xFC\v\0 \bA\xF0\x89j!\nA\0!\nA\0!@ \bA\x80\x80j \nAr"\0j-\0\0 \bA\xC0\x80j \0j-\0\0s"\0 \bA\x80\x80j \nj-\0\0 \bA\xC0\x80j \nj-\0\0s" ss! \0 rr! \nAj"\nA\xC0\0G\r\0\vB\0 \xADB\xFF\x83}!\v \vB \x88\xA7s!\nA\x7FA\0 \nA\xFFq A\xFFqG\x1B!\n\v \bA\0A\x80\xC0\0\xFC\v\0 \b! \bA\x80\xC0\0jA\0A\x80\xC0\0\xFC\v\0 \bA\x80\xC0\0j! \bA\x80\x80jA\0A\x80\x80\xFC\v\0 \bA\x80\x80j! \bA\x80\x80jA\0A\x808\xFC\v\0 \bA\x80\x80j! \bA\x80\xB8jA\0A\x80\xC0\xFC\v\0 \bA\x80\xB8j! \bA\x80\xF8jA\0A\x80\b\xFC\v\0 \bA\x80\xF8j! \bB\x007\xB8\x80 \bB\x007\xB0\x80 \bB\x007\xA8\x80 \bB\x007\xA0\x80 \bB\x007\x98\x80 \bB\x007\x90\x80 \bB\x007\x88\x80 \bB\x007\x80\x80 \bA\x80\x80j! \bB\x007\xF8\x80 \bB\x007\xF0\x80 \bB\x007\xE8\x80 \bB\x007\xE0\x80 \bB\x007\xD8\x80 \bB\x007\xD0\x80 \bB\x007\xC8\x80 \bB\x007\xC0\x80 \bA\xC0\x80j! \bB\x007\xB8\x81 \bB\x007\xB0\x81 \bB\x007\xA8\x81 \bB\x007\xA0\x81 \bB\x007\x98\x81 \bB\x007\x90\x81 \bB\x007\x88\x81 \bB\x007\x80\x81 \bA\x80\x81j! \bB\x007\xD8\x81 \bB\x007\xD0\x81 \bB\x007\xC8\x81 \bB\x007\xC0\x81 \bA\xC0\x81j! \bA\xE0\x81jA\0A\x80\b\xFC\v\0 \bA\xE0\x81j!\b $\x80\x80\x80\x80\0 \n\v\x89\x7F#\x80\x80\x80\x80\0"\x07!\b \x07A\xE0kA`q"\x07$\x80\x80\x80\x80\0A\x7F! @ A\xFFK\r\0 \x07 :\0 \x07A\0:\0\0@ E\r\0 E\r\0 \x07Ar \xFC\n\0\0\v \0 \x07 Aj A\0\xCB\x81\x80\x80\0! \v \x07A\0A\xCC\xFC\v\0 \x07!\x07 \b$\x80\x80\x80\x80\0 \v\xC6\x7FA\0!@ A\xFFK\r\0@ E\r\0 E\r@@@@@@@@@@@@ A\x7Fj\f\v\0\x07\b \n\r\v A F\r\v\f\f\v A0F\r\n\f\v\v A\xC0\0F\r \f\n\v AF\r\b\f \v A F\r\x07\f\b\v AF\r\f\x07\v A F\r\f\v A0F\r\f\v A\xC0\0F\r\f\v A F\r\f\v A\xC0\0F\r\f\v AG\r\v \0 :\0 \0 A\0G:\0\0@ E\r\0 E\r\0 \0Aj \xFC\n\0\0\v@ \r\0 Aj\v \0 j" AtA\xDC\x8E\x90\x80\0j(\0"(\0\v6\0 )\07\0@ E\r\0 A\rj \xFC\n\0\0\v jA\rj!\v \v \0A\x80\x80\x90\x80\0$\x82\x80\x80\x80\0A\x80\x80\x80\x80\0AjApq$\x81\x80\x80\x80\0\v\0#\x80\x80\x80\x80\0#\x81\x80\x80\x80\0k\v\b\0#\x82\x80\x80\x80\0\v\b\0#\x81\x80\x80\x80\0\v\x07\0?\0At\v\b\0A\x80\xAA\x90\x80\0\v\x8F\x7F@@ \0B\0S\r\0 \0B\x07|B\xF8\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x83!\0\f\vB\0B\0 \0}B\xF8\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x83}!\0\v@@ \0A\0(\xD0\xA8\x90\x80\0"\xAD|"\0B\xFF\xFF\xFF\xFFV\r\0\xD2\x81\x80\x80\0 \0\xA7"O\r \x81\x80\x80\x80\0\r\v\xD3\x81\x80\x80\0A06\0A\x7F\vA\0 6\xD0\xA8\x90\x80\0 \v\0@ \0\r\0A\0\v\xD3\x81\x80\x80\0 \x006\0A\x7F\v\x81\x07\x7F#\x80\x80\x80\x80\0A k"$\x80\x80\x80\x80\0 \0("6 \0(! 6 6 k"6 j! Aj!A!\x07@@@@@ \0(< AjA A\fj\x82\x80\x80\x80\0\xD5\x81\x80\x80\0E\r\0 !\f\v@ (\f"F\r@ A\x7FJ\r\0 !\f\v A\bA\0 ("\bK" \x1Bj" (\0 \bA\0 \x1Bk"\bj6\0 A\fA \x1Bj" (\0 \bk6\0 k! ! \0(< \x07 k"\x07 A\fj\x82\x80\x80\x80\0\xD5\x81\x80\x80\0E\r\0\v\v A\x7FG\r\v \0 \0(,"6 \0 6 \0 \0(0j6 !\f\vA\0! \0A\x006 \0B\x007 \0 \0(\0A r6\0 \x07AF\r\0 (k!\v A j$\x80\x80\x80\x80\0 \v\0A\0\v\0B\0\v\0A\v\0\v\0\v\0\v\0A\x98\xB2\x90\x80\0\xDB\x81\x80\x80\0A\x9C\xB2\x90\x80\0\v\0A\x98\xB2\x90\x80\0\xDC\x81\x80\x80\0\vE\x7FA\0!\0@ \0At" A\xB0\xB2\x90\x80\0j"6\xB4\xB2\x90\x80\0 6\xB8\xB2\x90\x80\0 \0Aj"\0A\xC0\0G\r\0\vA0\xE0\x81\x80\x80\0\v\xEC\b\x7F@@@@@@ \0A\x07jAxq"\xAD\xD4\x81\x80\x80\0"\0A\x7FF\r\0 \0Aq\r \0 j"A|jA6\0 Apj"A6\0A\0!@A\0(\xB0\xBA\x90\x80\0"E\r\0 (\b!\v@@@ \0 G\r\0 \0 \0A|j(\0A~q"k"(\0"\x07 \x07jA|j(\0"\bA~qG\r \x07 \bG\r A|j(\0A~q"\bk"(\0"\x07 \x07jA|j(\0"\x07A~qG\r\x07 6\b@ \x07AqE\r\0 \xE1\x81\x80\x80\0 j \bjApj\xE2\x81\x80\x80\0\f\v \0Apj!\f\v \0E\r\x07 \0A6\0 \0 6\b \0 6 \0A\fjA6\0A\0 \x006\xB0\xBA\x90\x80\0 \0Aj!\v k\xE2\x81\x80\x80\0\v \xE3\x81\x80\x80\0\v \0A\x7FG\vA\x91\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xE4A\xA0\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xC3\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xF6A\xA0\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xEF\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xF7A\xA0\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB5\x94\x90\x80\0A\xD6\x91\x90\x80\0A\xF9A\xA0\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB3\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xAEA\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\v\xBF\x7F@@@@ \0E\r\0 \0 \0(\0jA|j-\0\0AqE\r \0("E\r \0(\b"E\r 6\b \0(\b 6\vA\xE4\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xCFA\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFC\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xD0A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD1A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD2A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\v\xB0\0@@@@ \0E\r\0 \0Aq\r Aq\r AM\r \0 6\0 \0 jA|j Ar6\0\vA\xB3\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xB7A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBA\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xB8A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\x83\x97\x90\x80\0A\xD6\x91\x90\x80\0A\xB9A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xAC\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xBAA\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\v\xD8\x7F@@@@ \0E\r\0 \0(\0"AM\r@@ Axj"A\xFF\0K\r\0 AvA\x7Fj!\f\v g!@ A\x80 I\r\0 A kvAs AtkA\xC7\0j"A? A?I\x1B!\f\v A kvAs Atk"ARN\r A\xEE\0j!\v \0 At"A\xB0\xB2\x90\x80\0j"6 \0 (\xB8\xB2\x90\x80\0"6\b E\r \x006\b \0(\b \x006A\0A\0)\xB8\xBA\x90\x80\0B \xAD\x86\x847\xB8\xBA\x90\x80\0\vA\xEB\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xD8A\xDD\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xA0\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xD9A\xDD\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFE\x91\x90\x80\0A\xD6\x91\x90\x80\0A\xFDA\x9A\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xCC\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xDEA\xDD\x8F\x90\x80\0\x80\x80\x80\x80\0\0\v\xC6\b\x7F~\x7F \0A\b \0A\bK\x1B"A0j!@@@@@@@@@@@@@@ \0 \0A\x7Fjq\r AGK\r AjA|qA\b A\bK\x1B" I\r@@ A\xFF\0K\r\0 AvA\x7Fj!\f\v g!@ A\x80 I\r\0 A kvAs AtkA\xC7\0j"A? A?I\x1B!\f\v A kvAs Atk"ARN\r A\xEE\0j!\v@A\0)\xB8\xBA\x90\x80\0" \xAD\x88"\x07P\r\0@ \x07z"\b\xA7j"A\x7FL\r\x07 A\xC0\0O\r\b B \xAD" \x86"\n\x83B\0Q\r At"\v(\xB8\xB2\x90\x80\0"E\r\n \x07 \b\x88!\x07@@@ \vA\xB0\xB2\x90\x80\0j"\vF\r\0 \xE5\x81\x80\x80\0"\f\r\x07 (\0jA|j-\0\0AqE\r ("\fE\r (\b"\rE\r \f \r6\b (\b \f6 \v6\b \v("\f6 \f\rA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xC9A\xEF\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\0 \nB\x7F\x85\x83"7\xB8\xBA\x90\x80\0 \x07B\x85!\x07\f\v \v 6 ( 6\b \x07B\x88!\x07A\0)\xB8\xBA\x90\x80\0!@ Aj"A\xC0\0G\r\0 \x07P\r\v \xAD! \v \x07 \x88R\r \x07B\0R\r\0\v\vA? y\xA7k!\r@@ PE\r\0A\0!\f\v \rAt"\vA\xB8\xB2\x90\x80\0j(\0! B\x80\x80\x80\x80T\r\0A\xE3\0! \vA\xB0\xB2\x90\x80\0j"\vF\r\0@ E\r \xE5\x81\x80\x80\0"\f\r A\x7Fj! (\b" \vG\r\0\v\v A0 \0A\bK\x1Bj"\v M\r\r !\0 ! \v\xE0\x81\x80\x80\0\r\0\v E\r\0 \rAtA\xB0\xB2\x90\x80\0j"F\r\0@ \xE5\x81\x80\x80\0"\f\r (\b" G\r\0\v\vA\0!\f\v \f\vA\xA1\x91\x90\x80\0A\xD6\x91\x90\x80\0A\x90A\xF6\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFE\x91\x90\x80\0A\xD6\x91\x90\x80\0A\xFDA\x9A\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x92\x90\x80\0A\xD6\x91\x90\x80\0A\xBEA\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\x9D\x92\x90\x80\0A\xD6\x91\x90\x80\0A\xBFA\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBD\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xC0A\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xEB\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xC3A\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFC\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xD0A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD1A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD2A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xD0\x92\x90\x80\0A\xD6\x91\x90\x80\0A\xE5A\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\vA\x8A\x91\x90\x80\0A\xD6\x91\x90\x80\0A\x92A\x90\x8F\x90\x80\0\x80\x80\x80\x80\0\0\v\xF2\x7F@@@@@@@@@@@@@ \0E\r\0A\0!@ \0Aj"jA\x7FjA\0 kq" j \0 \0(\0"jA|j"K\r\0 -\0\0AqE\r (\0"E\r \0(\b"E\r 6\b \0(\b 6@ F\r\0 \0 \0A|j(\0A~qk"(\0" jA|j(\0G\r Aq\r\x07 k"j"Aq\r\b AM\r 6\0 jA|j 6\0 \0 j"\0 k"6\0\v@ Aj K\r\0 \0 jA\bj"Aq\r\n k"Aq\r\v Axj"6\0 jA|j Ar6\0 \xE3\x81\x80\x80\0 \0Aq\r\f Aq\r\r A\x07M\r \0 A\bj"6\0\v \0 jA|j 6\0 \0Aj!\v \vA\xEB\x90\x90\x80\0A\xD6\x91\x90\x80\0A\xC3A\xB7\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFC\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xD0A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD1A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD2A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xDC\x94\x90\x80\0A\xD6\x91\x90\x80\0A\xDCA\xB7\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBA\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xAFA\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\x83\x97\x90\x80\0A\xD6\x91\x90\x80\0A\xB0A\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xAC\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xB1A\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBA\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xB8A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\x83\x97\x90\x80\0A\xD6\x91\x90\x80\0A\xB9A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBA\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xAFA\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\x83\x97\x90\x80\0A\xD6\x91\x90\x80\0A\xB0A\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xAC\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xB1A\xD8\x90\x90\x80\0\x80\x80\x80\x80\0\0\v\f\0A\b \0\xE4\x81\x80\x80\0\v\xDF\x7F@@@@@@@@@@@@@@@ \0E\r\0 \0A|j"Aq\r (\0"AM\r j"A|j(\0G\r@ \0Axj(\0"\0 \0A~q"\0F\r\0 \0k"(\0" jA|j(\0"A~qG\r AqE\r ("E\r\x07 (\b"E\r\b 6\b (\b 6 \0 j!\v (\0"\0 \0jA|j(\0"A~qG\r\b@ \0 F\r\0 AqE\r\n ("E\r\v (\b"E\r\f 6\b (\b 6 \0 j!\v Aq\r\f Aq\r\r AM\r 6\0 jA|j Ar6\0 \xE3\x81\x80\x80\0\v\vA\xDD\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xEAA\xC8\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xAC\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xFAA\xC8\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\x9C\x94\x90\x80\0A\xD6\x91\x90\x80\0A\xFBA\xC8\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB5\x94\x90\x80\0A\xD6\x91\x90\x80\0A\x86\x07A\xC8\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFC\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xD0A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD1A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD2A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xF9\x94\x90\x80\0A\xD6\x91\x90\x80\0A\x8E\x07A\xC8\x91\x90\x80\0\x80\x80\x80\x80\0\0\vA\xFC\x93\x90\x80\0A\xD6\x91\x90\x80\0A\xD0A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xB2\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD1A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBF\x8F\x90\x80\0A\xD6\x91\x90\x80\0A\xD2A\x84\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xBA\x96\x90\x80\0A\xD6\x91\x90\x80\0A\xB8A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\x83\x97\x90\x80\0A\xD6\x91\x90\x80\0A\xB9A\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\vA\xAC\x95\x90\x80\0A\xD6\x91\x90\x80\0A\xBAA\xC5\x90\x90\x80\0\x80\x80\x80\x80\0\0\v\n\0 \0$\x80\x80\x80\x80\0\v\x7F#\x80\x80\x80\x80\0 \0kApq"$\x80\x80\x80\x80\0 \v\b\0#\x80\x80\x80\x80\0\v\xFB\x7F@ \0\r\0A\0!@A\0(\xE8\xA9\x90\x80\0E\r\0A\0(\xE8\xA9\x90\x80\0\xEB\x81\x80\x80\0!\v@A\0(\xA0\xB2\x90\x80\0E\r\0A\0(\xA0\xB2\x90\x80\0\xEB\x81\x80\x80\0 r!\v@\xDD\x81\x80\x80\0(\0"\0E\r\0@@@ \0(LA\0N\r\0A!\f\v \0\xD9\x81\x80\x80\0E!\v@ \0( \0(F\r\0 \0\xEB\x81\x80\x80\0 r!\v@ \r\0 \0\xDA\x81\x80\x80\0\v \0(8"\0\r\0\v\v\xDE\x81\x80\x80\0 \v@@ \0(LA\0N\r\0A!\f\v \0\xD9\x81\x80\x80\0E!\v@@@ \0( \0(F\r\0 \0A\0A\0 \0($\x80\x80\x80\x80\0\x80\x80\x80\x80\0 \0(\r\0A\x7F! E\r\f\v@ \0(" \0(\b"F\r\0 \0 k\xACA \0((\x81\x80\x80\x80\0\x80\x80\x80\x80\0\vA\0! \0A\x006 \0B\x007 \0B\x007 \r\v \0\xDA\x81\x80\x80\0\v \vE\x7FA\xB7\x90\x90\x80\0!@ \0A\x99K\r\0@@ \0\r\0A\0!\0\f\v \0At/\xB0\x97\x90\x80\0"\0E\r\v \0A\xE4\x99\x90\x80\0j!\v \v\f\0 \0 \0\xEC\x81\x80\x80\0\v\v\x91*\0A\x80\x80\v\xD0(\0\0\0\0\xF7d\0\01\xD8\xFF\xF8\xFFD\x9E\0!\xF4\xFF(\xA1\xF2\xFF$\x07\0+\xDE\x1B\0+\xE9#\0\xAD\x84\xFA\xFF\x7F\xE0\xFFu\x9A/\0 \xFB\xD3\xFFIz/\0\'\xE5(\0X\x96)\0p\xA0\0\xA4\x85\xEF\xFF\x88\xB76\0\x90\x9D\xF7\xFF\xA0\xEA\xEE\xFFh\xF9\'\0{\xD3\xDF\xFF\xD6\xAD\xDF\xFF\xE7\xC5\xFF\xF7\xA4\xEA\xFF\x98\xFC\xCD\xFF5\xD0\0"\xB4\xFF\xFF2=\0\xC5E\0gJ)\0 v\0\xCD\xF4.\0\xC5\xDE5\0\xA5\xE6\xFF,0\xC9\xFF\xD4G\xD9\xFF\xAF\xBE;\0\x85\xC5\xFF|\x8E\xD1\xFF\x96\x8A6\0A>\xD4\xFF\06\0Mj\xFB\xFF\x9C\xD6#\0]\xC5\xF7\xFF=\xE6\xFF\xD6\xEA\xE6\xFF~5\0Y\xAF\xC5\xFF?\x845\0V\xDF\xFF\\\x94\xE7\xFF\x8Cs8\0\xA8c\f\0\x9A\x1B\b\0v\x8F\0S8;\x004\x85;\x000\xFC\xD8\xFFT\x9D\0-O\xD5\xFF\xE5\xC4\xFF\x81\xAC\xE8\xFF\xCF\xE1\xC7\xFF\x98\xD1\xFF]\xD6\xE9\xFF\xEE 5\0\xC75!\0\xBB\xCF\xE7\xFFu\xCF\xEC\xFFr\x97\0r\xB0\xC1\xFF\xF6\xBC\xF0\xFF\x80R\xCF\xFF\xAE\xD2\xCF\xFF\xE0\x90\xC8\xFF\xCA\xEF\0\xF24\0\x85\xFE\xF0\xFF8\xC6 \0\x9Fn)\0\xA3\xB7\xD2\xFFK\xA4\xC7\xFFm\xBA\xF9\xFF 4\xDA\xFF\x82\xC2\xF5\xFFA\xED\xFF;\xA6\xFF\xFF\xF7 \xEC\xFF\xDD+\xFA\xFF\xD4\x95\0cE\0b,\xEA\xFF\xE9\xFB\xCC\xFF\xF0\n\0\xC4\x07\0\x88E/\0\0\xAD\0\0\xBE6\xEF\xFFD\xCD\r\0Zg<\0\xCA+\xC7\xFF~\xDE\xFF\xFFH9\0\xC0i\xCE\xFFlu$\0\xDF\xC7\xFC\xFF\xA1\x98\v\0\b\xE8\xEB\xFFl\xE4\0\b\xC8\xC9\xFF\xC260\0\xF6\xBF\xE3\xFF\x93<\xDB\xFF\xE0J\xFD\xFF\0\x92w\0%\x9E\0\xE0\xD0\xE7\xFFD\x99\xF3\xFF\b\xEA\xFF\xA2\xEE\xD1\xFF\x9C\xC7\xC4\xFFW\xA0\xC8\xFF\xD9\x97:\0\x93\xEA\0Z\xFF3\0\xD4X#\0\xF8A:\0r\xFF\xCC\xFF\xFB="\0\x9F\xAB\xDA\xFF"\xA4\xC9\xFF\xF5\0\x87%%\0\xF0$\xED\xFF]\x9B5\0\xA0H\xCA\xFF\xFC\xA2\xC6\xFFV\xBB\xED\xFF\xDEE\xCF\xFF^\xBE\r\0^\0\xE6\xE0\r\0Z\x7F\f\0\x83\x8F\x07\0\x8Ab\xE7\xFFW\xFF\xFF\xFC\xF8\xFF!\0\xF6\xFF\xF6Z\xD0\xFF\x84\0\0\x86\xEF0\0}\xB9\xC9\xFF\xD6\xFC\xF7\xFF\x92E\xF4\xFF\xC2!\xC9\xFF9\0\fa\0A\xCD\xDA\xFF\x1B\xB0>\0\xE7r4\0;\0\xCD\xFF\xC7|\0$\0\xE5^+\0\x99)\0:z\xD8\xFFqM\0\xE1=\0\x84 \0Q\xF0%\0FZ\0\x85\xC6\xFF\xBE\0\x918(\0\x90\xDB\xC9\xFF\x89P\xD2\xFF?\x85\0K\v\0\xA6\xF6\xEF\xFF\xBE\xA8\xEB\xFF\x1B\xE1\0>^\xCD\xFF/-\xEA\xFF\xE4\xF9\xFF\xC7\0\x83r2\0n\r\xE2\xFFSy\xEC\xFF\x99@\0x%\xD9\xFF\xAD\xEB\xFF\xE4\0\xE7\xDB\v\0\xE8"\0\xCF\xF83\x004\xB9\xF7\xFF\f\xCA\xD4\xFF\xF8\x7F\xE6\xFFW\xD1\xE3\xFF\x1B\x91\xD8\xFF,\xC7\xFF\xD8 \0^\xC6\xFFXF\xE1\xFF\x8B%\0\xB7s%\0\x8F|\xFD\xFF\x98\xDD\0\x98h3\0\xBB\xD4\0\xA7\x93\xED\xFF\xBEl\xCF\xFF|\0\b\xAA\0q\xFD-\0\xA5\\\f\0\x9A7\0g\xA1\xC7\xFF=\x8C\xE4\xFF<\xA1\xD1\xFF9\xC55\0;\0\xC0\0\xF7\xC4!\0\xF4\x1B\xF1\xFF\xE75\04\x07\0E}\xF9\xFF\xD0L\0\xAE|\xE4\xFFh&\0\x98\x8E\xE6\xFF3&\xEF\xFF\xDA\xFC\xFF\xDB\x7F\xC5\xFFd\'\xD3\xFF\xAF\xE1\xDD\xFF\xDD\x93\xF9\xFF \xDD\xFF\x93\xCC\0\xF1\xFF*\x9C\0\xA9\xE5\xC9\xFFP\x8A\xF7\xFF,\xCF;\0NC\xFF\xFF\xDF6\xEB\xFF\xCA<\0h^\0\xB6\xF3\xFF\xCE)\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\x07\0\0\0 `\x86He\x07\0\b\0\0\0 `\x86He\b\0 \0\0\0 `\x86He \0\n\0\0\0 `\x86He\n\0\v\0\0\0 `\x86He\v\0\f\0\0\0 `\x86He\f\0\0\0\0 \x000\0@\0P\0`\0p\0\x80\0\x90\0\xA0\0\xB0\0\0\0\0\0\0\0\0\x82\x80\0\0\0\0\0\0\x8A\x80\0\0\0\0\0\x80\0\x80\0\x80\0\0\0\x80\x8B\x80\0\0\0\0\0\0\0\0\x80\0\0\0\0\x81\x80\0\x80\0\0\0\x80 \x80\0\0\0\0\0\x80\x8A\0\0\0\0\0\0\0\x88\0\0\0\0\0\0\0 \x80\0\x80\0\0\0\0\n\0\0\x80\0\0\0\0\x8B\x80\0\x80\0\0\0\0\x8B\0\0\0\0\0\0\x80\x89\x80\0\0\0\0\0\x80\x80\0\0\0\0\0\x80\x80\0\0\0\0\0\x80\x80\0\0\0\0\0\0\x80\n\x80\0\0\0\0\0\0\n\0\0\x80\0\0\0\x80\x81\x80\0\x80\0\0\0\x80\x80\x80\0\0\0\0\0\x80\0\0\x80\0\0\0\0\b\x80\0\x80\0\0\0\x80\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\x07\0\0\0 `\x86He\x07\0\b\0\0\0 `\x86He\b\0 \0\0\0 `\x86He \0\n\0\0\0 `\x86He\n\0\v\0\0\0 `\x86He\v\0\f\0\0\0 `\x86He\f\0\xB0\0\xC0\0\xD0\0\xE0\0\xF0\0\0\0\0 \x000\0@\0P\0`\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\0\0\0 `\x86He\0\x07\0\0\0 `\x86He\x07\0\b\0\0\0 `\x86He\b\0 \0\0\0 `\x86He \0\n\0\0\0 `\x86He\n\0\v\0\0\0 `\x86He\v\0\f\0\0\0 `\x86He\f\0\xA0\0\xB0\0\xC0\0\xD0\0\xE0\0\xF0\0\0\x07\0\x07\0 \x07\x000\x07\0@\x07\0P\x07\0allocate_memory\0claim_more_memory\0region->prev\0region->next\0freeRegion->next\0link_to_free_list\0prepend_to_free_list\0unlink_from_free_list\0compute_free_list_bucket\0ptr\0Unknown error\0create_free_region\0create_used_region\0freeRegion\0validate_alloc_size\0numBytesToClaim > size\0validatedSize >= size\0attempt_allocate\0emmalloc_free\0/emsdk/emscripten/system/lib/emmalloc.c\0bucketIndex < NUM_FREE_BUCKETS\0bucketIndex <= NUM_FREE_BUCKETS-1\0bucketIndex >= 0\0(bucketIndex == NUM_FREE_BUCKETS && bucketMask == 0) || (bucketMask == freeRegionBucketsUsed >> bucketIndex)\0freeRegionBucketsUsed & (((BUCKET_BITMASK_T)1) << bucketIndex)\0region_is_free((Region*)region)\0region_is_in_use(region)\0debug_region_is_consistent(prevRegion)\0region_is_in_use(prevRegion)\0debug_region_is_consistent(nextRegion)\0freeRegion->size >= sizeof(Region)\0debug_region_is_consistent(prevEndSentinel)\0region_is_in_use(prevEndSentinel)\0HAS_ALIGNMENT(startPtr, alignof(size_t))\0HAS_ALIGNMENT(ptr, sizeof(size_t))\0HAS_ALIGNMENT(region, sizeof(size_t))\0HAS_ALIGNMENT(size, sizeof(size_t))\0\0\0\0\0\0\0\0\0\0\0\0\xA0N\0\xEB\xA7~ u\x86\xFA\0\xB9,\xFD\xB7\x8Az\xBC\0\xCC\xA2\0=I\xD7\0\b\0\x93\b\x8F*_\xB7\xFAX\xD9\xFD\xCA\xBD\xE1\xCD\xDC@x\0}ga\xEC\0\xE5\n\xD4\0\xCC>Ov\x98\xAF\0\0D\0\xAE\0\xAE`\0\xFAw!\xEB+\0`A\x92\0\xA9\xA3nN\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\'9H\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x008R`S\0\0\xCA\0\0\0\0\0\0\0\0\xBB\xDB\xEB\x07+\x07;\x07P\x07Success\0Illegal byte sequence\0Domain error\0Result not representable\0Not a tty\0Permission denied\0Operation not permitted\0No such file or directory\0No such process\0File exists\0Value too large for defined data type\0No space left on device\0Out of memory\0Resource busy\0Interrupted system call\0Resource temporarily unavailable\0Invalid seek\0Cross-device link\0Read-only file system\0Directory not empty\0Connection reset by peer\0Operation timed out\0Connection refused\0Host is down\0Host is unreachable\0Address in use\0Broken pipe\0I/O error\0No such device or address\0Block device required\0No such device\0Not a directory\0Is a directory\0Text file busy\0Exec format error\0Invalid argument\0Argument list too long\0Symbolic link loop\0Filename too long\0Too many open files in system\0No file descriptors available\0Bad file descriptor\0No child process\0Bad address\0File too large\0Too many links\0No locks available\0Resource deadlock would occur\0State not recoverable\0Owner died\0Operation canceled\0Function not implemented\0No message of desired type\0Identifier removed\0Device not a stream\0No data available\0Device timeout\0Out of streams resources\0Link has been severed\0Protocol error\0Bad message\0File descriptor in bad state\0Not a socket\0Destination address required\0Message too large\0Protocol wrong type for socket\0Protocol not available\0Protocol not supported\0Socket type not supported\0Not supported\0Protocol family not supported\0Address family not supported by protocol\0Address not available\0Network is down\0Network unreachable\0Connection reset by network\0Connection aborted\0No buffer space available\0Socket is connected\0Socket not connected\0Cannot send after socket shutdown\0Operation already in progress\0Operation in progress\0Stale file handle\0Remote I/O error\0Quota exceeded\0No medium found\0Wrong medium type\0Multihop attempted\0Required key not available\0Key has expired\0Key has been revoked\0Key was rejected by service\0\0A\xD0\xA8\v\x9C@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xFF\xFF\xFF\xFF\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0X\0\0A\xEC\xA9\v\r$ptrToString\0\0\x94target_features\b+\vbulk-memory+bulk-memory-opt+call-indirect-overlong+\nmultivalue+mutable-globals+nontrapping-fptoint+reference-types+\bsign-ext');
|
|
318
|
+
}
|
|
319
|
+
function getBinarySync(file) {
|
|
320
|
+
return file;
|
|
321
|
+
}
|
|
322
|
+
async function getWasmBinary(binaryFile) {
|
|
323
|
+
return getBinarySync(binaryFile);
|
|
324
|
+
}
|
|
325
|
+
async function instantiateArrayBuffer(binaryFile, imports) {
|
|
326
|
+
try {
|
|
327
|
+
var binary = await getWasmBinary(binaryFile);
|
|
328
|
+
var instance = await WebAssembly.instantiate(binary, imports);
|
|
329
|
+
return instance;
|
|
330
|
+
} catch (reason) {
|
|
331
|
+
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
332
|
+
if (isFileURI(binaryFile)) {
|
|
333
|
+
err(`warning: Loading from a file URI (${binaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`);
|
|
334
|
+
}
|
|
335
|
+
abort(reason);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
async function instantiateAsync(binary, binaryFile, imports) {
|
|
339
|
+
return instantiateArrayBuffer(binaryFile, imports);
|
|
340
|
+
}
|
|
341
|
+
function getWasmImports() {
|
|
342
|
+
var imports = {
|
|
343
|
+
"env": wasmImports,
|
|
344
|
+
"wasi_snapshot_preview1": wasmImports
|
|
345
|
+
};
|
|
346
|
+
return imports;
|
|
347
|
+
}
|
|
348
|
+
async function createWasm() {
|
|
349
|
+
function receiveInstance(instance, module) {
|
|
350
|
+
wasmExports = instance.exports;
|
|
351
|
+
assignWasmExports(wasmExports);
|
|
352
|
+
updateMemoryViews();
|
|
353
|
+
return wasmExports;
|
|
354
|
+
}
|
|
355
|
+
var trueModule = Module;
|
|
356
|
+
function receiveInstantiationResult(result2) {
|
|
357
|
+
assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");
|
|
358
|
+
trueModule = null;
|
|
359
|
+
return receiveInstance(result2["instance"]);
|
|
360
|
+
}
|
|
361
|
+
var info = getWasmImports();
|
|
362
|
+
wasmBinaryFile ??= findWasmBinary();
|
|
363
|
+
var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
|
|
364
|
+
var exports = receiveInstantiationResult(result);
|
|
365
|
+
return exports;
|
|
366
|
+
}
|
|
367
|
+
class ExitStatus {
|
|
368
|
+
name = "ExitStatus";
|
|
369
|
+
constructor(status) {
|
|
370
|
+
this.message = `Program terminated with exit(${status})`;
|
|
371
|
+
this.status = status;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
var base64Decode = (b64) => {
|
|
375
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
376
|
+
var buf = Buffer.from(b64, "base64");
|
|
377
|
+
return new Uint8Array(buf.buffer, buf.byteOffset, buf.length);
|
|
378
|
+
}
|
|
379
|
+
assert(b64.length % 4 == 0);
|
|
380
|
+
var b1, b2, i2 = 0, j = 0, bLength = b64.length;
|
|
381
|
+
var output = new Uint8Array((bLength * 3 >> 2) - (b64[bLength - 2] == "=") - (b64[bLength - 1] == "="));
|
|
382
|
+
for (; i2 < bLength; i2 += 4, j += 3) {
|
|
383
|
+
b1 = base64ReverseLookup[b64.charCodeAt(i2 + 1)];
|
|
384
|
+
b2 = base64ReverseLookup[b64.charCodeAt(i2 + 2)];
|
|
385
|
+
output[j] = base64ReverseLookup[b64.charCodeAt(i2)] << 2 | b1 >> 4;
|
|
386
|
+
output[j + 1] = b1 << 4 | b2 >> 2;
|
|
387
|
+
output[j + 2] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i2 + 3)];
|
|
388
|
+
}
|
|
389
|
+
return output;
|
|
390
|
+
};
|
|
391
|
+
var callRuntimeCallbacks = (callbacks) => {
|
|
392
|
+
while (callbacks.length > 0) {
|
|
393
|
+
callbacks.shift()(Module);
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
function getValue(ptr, type = "i8") {
|
|
397
|
+
if (type.endsWith("*")) type = "*";
|
|
398
|
+
switch (type) {
|
|
399
|
+
case "i1":
|
|
400
|
+
return HEAP8[ptr];
|
|
401
|
+
case "i8":
|
|
402
|
+
return HEAP8[ptr];
|
|
403
|
+
case "i16":
|
|
404
|
+
return HEAP16[ptr >> 1];
|
|
405
|
+
case "i32":
|
|
406
|
+
return HEAP32[ptr >> 2];
|
|
407
|
+
case "i64":
|
|
408
|
+
return HEAP64[ptr >> 3];
|
|
409
|
+
case "float":
|
|
410
|
+
return HEAPF32[ptr >> 2];
|
|
411
|
+
case "double":
|
|
412
|
+
return HEAPF64[ptr >> 3];
|
|
413
|
+
case "*":
|
|
414
|
+
return HEAPU32[ptr >> 2];
|
|
415
|
+
default:
|
|
416
|
+
abort(`invalid type for getValue: ${type}`);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
var ptrToString = (ptr) => {
|
|
420
|
+
assert(typeof ptr === "number", `ptrToString expects a number, got ${typeof ptr}`);
|
|
421
|
+
ptr >>>= 0;
|
|
422
|
+
return "0x" + ptr.toString(16).padStart(8, "0");
|
|
423
|
+
};
|
|
424
|
+
function setValue(ptr, value, type = "i8") {
|
|
425
|
+
if (type.endsWith("*")) type = "*";
|
|
426
|
+
switch (type) {
|
|
427
|
+
case "i1":
|
|
428
|
+
HEAP8[ptr] = value;
|
|
429
|
+
break;
|
|
430
|
+
case "i8":
|
|
431
|
+
HEAP8[ptr] = value;
|
|
432
|
+
break;
|
|
433
|
+
case "i16":
|
|
434
|
+
HEAP16[ptr >> 1] = value;
|
|
435
|
+
break;
|
|
436
|
+
case "i32":
|
|
437
|
+
HEAP32[ptr >> 2] = value;
|
|
438
|
+
break;
|
|
439
|
+
case "i64":
|
|
440
|
+
HEAP64[ptr >> 3] = BigInt(value);
|
|
441
|
+
break;
|
|
442
|
+
case "float":
|
|
443
|
+
HEAPF32[ptr >> 2] = value;
|
|
444
|
+
break;
|
|
445
|
+
case "double":
|
|
446
|
+
HEAPF64[ptr >> 3] = value;
|
|
447
|
+
break;
|
|
448
|
+
case "*":
|
|
449
|
+
HEAPU32[ptr >> 2] = value;
|
|
450
|
+
break;
|
|
451
|
+
default:
|
|
452
|
+
abort(`invalid type for setValue: ${type}`);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
var stackRestore = (val) => __emscripten_stack_restore(val);
|
|
456
|
+
var stackSave = () => _emscripten_stack_get_current();
|
|
457
|
+
var warnOnce = (text) => {
|
|
458
|
+
warnOnce.shown ||= {};
|
|
459
|
+
if (!warnOnce.shown[text]) {
|
|
460
|
+
warnOnce.shown[text] = 1;
|
|
461
|
+
if (ENVIRONMENT_IS_NODE) text = "warning: " + text;
|
|
462
|
+
err(text);
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
var UTF8Decoder = globalThis.TextDecoder && new TextDecoder();
|
|
466
|
+
var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
|
|
467
|
+
var maxIdx = idx + maxBytesToRead;
|
|
468
|
+
if (ignoreNul) return maxIdx;
|
|
469
|
+
while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
|
|
470
|
+
return idx;
|
|
471
|
+
};
|
|
472
|
+
var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => {
|
|
473
|
+
var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
|
|
474
|
+
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
475
|
+
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
476
|
+
}
|
|
477
|
+
var str = "";
|
|
478
|
+
while (idx < endPtr) {
|
|
479
|
+
var u0 = heapOrArray[idx++];
|
|
480
|
+
if (!(u0 & 128)) {
|
|
481
|
+
str += String.fromCharCode(u0);
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
var u1 = heapOrArray[idx++] & 63;
|
|
485
|
+
if ((u0 & 224) == 192) {
|
|
486
|
+
str += String.fromCharCode((u0 & 31) << 6 | u1);
|
|
487
|
+
continue;
|
|
488
|
+
}
|
|
489
|
+
var u2 = heapOrArray[idx++] & 63;
|
|
490
|
+
if ((u0 & 240) == 224) {
|
|
491
|
+
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
|
|
492
|
+
} else {
|
|
493
|
+
if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte " + ptrToString(u0) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!");
|
|
494
|
+
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
|
|
495
|
+
}
|
|
496
|
+
if (u0 < 65536) {
|
|
497
|
+
str += String.fromCharCode(u0);
|
|
498
|
+
} else {
|
|
499
|
+
var ch = u0 - 65536;
|
|
500
|
+
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
return str;
|
|
504
|
+
};
|
|
505
|
+
var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => {
|
|
506
|
+
assert(typeof ptr == "number", `UTF8ToString expects a number (got ${typeof ptr})`);
|
|
507
|
+
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : "";
|
|
508
|
+
};
|
|
509
|
+
var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
|
|
510
|
+
var getHeapMax = () => (
|
|
511
|
+
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
|
|
512
|
+
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
|
|
513
|
+
// for any code that deals with heap sizes, which would require special
|
|
514
|
+
// casing all heap size related code to treat 0 specially.
|
|
515
|
+
2147483648
|
|
516
|
+
);
|
|
517
|
+
var alignMemory = (size, alignment) => {
|
|
518
|
+
assert(alignment, "alignment argument is required");
|
|
519
|
+
return Math.ceil(size / alignment) * alignment;
|
|
520
|
+
};
|
|
521
|
+
var growMemory = (size) => {
|
|
522
|
+
var oldHeapSize = wasmMemory.buffer.byteLength;
|
|
523
|
+
var pages = (size - oldHeapSize + 65535) / 65536 | 0;
|
|
524
|
+
try {
|
|
525
|
+
wasmMemory.grow(pages);
|
|
526
|
+
updateMemoryViews();
|
|
527
|
+
return 1;
|
|
528
|
+
} catch (e) {
|
|
529
|
+
err(`growMemory: Attempted to grow heap from ${oldHeapSize} bytes to ${size} bytes, but got error: ${e}`);
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
var _emscripten_resize_heap = (requestedSize) => {
|
|
533
|
+
var oldSize = HEAPU8.length;
|
|
534
|
+
requestedSize >>>= 0;
|
|
535
|
+
assert(requestedSize > oldSize);
|
|
536
|
+
var maxHeapSize = getHeapMax();
|
|
537
|
+
if (requestedSize > maxHeapSize) {
|
|
538
|
+
err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);
|
|
539
|
+
return false;
|
|
540
|
+
}
|
|
541
|
+
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
542
|
+
var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
|
|
543
|
+
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
|
|
544
|
+
var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
|
|
545
|
+
var replacement = growMemory(newSize);
|
|
546
|
+
if (replacement) {
|
|
547
|
+
return true;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);
|
|
551
|
+
return false;
|
|
552
|
+
};
|
|
553
|
+
var printCharBuffers = [null, [], []];
|
|
554
|
+
var printChar = (stream, curr) => {
|
|
555
|
+
var buffer = printCharBuffers[stream];
|
|
556
|
+
assert(buffer);
|
|
557
|
+
if (curr === 0 || curr === 10) {
|
|
558
|
+
(stream === 1 ? out : err)(UTF8ArrayToString(buffer));
|
|
559
|
+
buffer.length = 0;
|
|
560
|
+
} else {
|
|
561
|
+
buffer.push(curr);
|
|
562
|
+
}
|
|
563
|
+
};
|
|
564
|
+
var flush_NO_FILESYSTEM = () => {
|
|
565
|
+
_fflush(0);
|
|
566
|
+
if (printCharBuffers[1].length) printChar(1, 10);
|
|
567
|
+
if (printCharBuffers[2].length) printChar(2, 10);
|
|
568
|
+
};
|
|
569
|
+
var SYSCALLS = {
|
|
570
|
+
varargs: void 0,
|
|
571
|
+
getStr(ptr) {
|
|
572
|
+
var ret = UTF8ToString(ptr);
|
|
573
|
+
return ret;
|
|
574
|
+
}
|
|
575
|
+
};
|
|
576
|
+
var _fd_write = (fd, iov, iovcnt, pnum) => {
|
|
577
|
+
var num = 0;
|
|
578
|
+
for (var i2 = 0; i2 < iovcnt; i2++) {
|
|
579
|
+
var ptr = HEAPU32[iov >> 2];
|
|
580
|
+
var len = HEAPU32[iov + 4 >> 2];
|
|
581
|
+
iov += 8;
|
|
582
|
+
for (var j = 0; j < len; j++) {
|
|
583
|
+
printChar(fd, HEAPU8[ptr + j]);
|
|
584
|
+
}
|
|
585
|
+
num += len;
|
|
586
|
+
}
|
|
587
|
+
HEAPU32[pnum >> 2] = num;
|
|
588
|
+
return 0;
|
|
589
|
+
};
|
|
590
|
+
var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
|
|
591
|
+
for (var base64ReverseLookup = new Uint8Array(
|
|
592
|
+
123
|
|
593
|
+
/*'z'+1*/
|
|
594
|
+
), i = 25; i >= 0; --i) {
|
|
595
|
+
base64ReverseLookup[48 + i] = 52 + i;
|
|
596
|
+
base64ReverseLookup[65 + i] = i;
|
|
597
|
+
base64ReverseLookup[97 + i] = 26 + i;
|
|
598
|
+
}
|
|
599
|
+
base64ReverseLookup[43] = 62;
|
|
600
|
+
base64ReverseLookup[47] = 63;
|
|
601
|
+
;
|
|
602
|
+
{
|
|
603
|
+
Module["FS_createDataFile"] = FS.createDataFile;
|
|
604
|
+
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
|
|
605
|
+
checkIncomingModuleAPI();
|
|
606
|
+
assert(typeof Module["memoryInitializerPrefixURL"] == "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
|
|
607
|
+
assert(typeof Module["pthreadMainPrefixURL"] == "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
|
|
608
|
+
assert(typeof Module["cdInitializerPrefixURL"] == "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
|
|
609
|
+
assert(typeof Module["filePackagePrefixURL"] == "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
|
|
610
|
+
assert(typeof Module["read"] == "undefined", "Module.read option was removed");
|
|
611
|
+
assert(typeof Module["readAsync"] == "undefined", "Module.readAsync option was removed (modify readAsync in JS)");
|
|
612
|
+
assert(typeof Module["readBinary"] == "undefined", "Module.readBinary option was removed (modify readBinary in JS)");
|
|
613
|
+
assert(typeof Module["setWindowTitle"] == "undefined", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");
|
|
614
|
+
assert(typeof Module["TOTAL_MEMORY"] == "undefined", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");
|
|
615
|
+
assert(typeof Module["ENVIRONMENT"] == "undefined", "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");
|
|
616
|
+
assert(typeof Module["STACK_SIZE"] == "undefined", "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");
|
|
617
|
+
assert(typeof Module["wasmMemory"] == "undefined", "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");
|
|
618
|
+
assert(typeof Module["INITIAL_MEMORY"] == "undefined", "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");
|
|
619
|
+
}
|
|
620
|
+
Module["stackSave"] = stackSave;
|
|
621
|
+
Module["stackRestore"] = stackRestore;
|
|
622
|
+
Module["stackAlloc"] = stackAlloc;
|
|
623
|
+
Module["setValue"] = setValue;
|
|
624
|
+
Module["getValue"] = getValue;
|
|
625
|
+
var missingLibrarySymbols = [
|
|
626
|
+
"writeI53ToI64",
|
|
627
|
+
"writeI53ToI64Clamped",
|
|
628
|
+
"writeI53ToI64Signaling",
|
|
629
|
+
"writeI53ToU64Clamped",
|
|
630
|
+
"writeI53ToU64Signaling",
|
|
631
|
+
"readI53FromI64",
|
|
632
|
+
"readI53FromU64",
|
|
633
|
+
"convertI32PairToI53",
|
|
634
|
+
"convertI32PairToI53Checked",
|
|
635
|
+
"convertU32PairToI53",
|
|
636
|
+
"bigintToI53Checked",
|
|
637
|
+
"getTempRet0",
|
|
638
|
+
"setTempRet0",
|
|
639
|
+
"createNamedFunction",
|
|
640
|
+
"zeroMemory",
|
|
641
|
+
"exitJS",
|
|
642
|
+
"withStackSave",
|
|
643
|
+
"strError",
|
|
644
|
+
"inetPton4",
|
|
645
|
+
"inetNtop4",
|
|
646
|
+
"inetPton6",
|
|
647
|
+
"inetNtop6",
|
|
648
|
+
"readSockaddr",
|
|
649
|
+
"writeSockaddr",
|
|
650
|
+
"readEmAsmArgs",
|
|
651
|
+
"jstoi_q",
|
|
652
|
+
"getExecutableName",
|
|
653
|
+
"autoResumeAudioContext",
|
|
654
|
+
"getDynCaller",
|
|
655
|
+
"dynCall",
|
|
656
|
+
"handleException",
|
|
657
|
+
"keepRuntimeAlive",
|
|
658
|
+
"runtimeKeepalivePush",
|
|
659
|
+
"runtimeKeepalivePop",
|
|
660
|
+
"callUserCallback",
|
|
661
|
+
"maybeExit",
|
|
662
|
+
"asyncLoad",
|
|
663
|
+
"asmjsMangle",
|
|
664
|
+
"mmapAlloc",
|
|
665
|
+
"HandleAllocator",
|
|
666
|
+
"getUniqueRunDependency",
|
|
667
|
+
"addRunDependency",
|
|
668
|
+
"removeRunDependency",
|
|
669
|
+
"addOnPreRun",
|
|
670
|
+
"addOnInit",
|
|
671
|
+
"addOnPostCtor",
|
|
672
|
+
"addOnPreMain",
|
|
673
|
+
"addOnExit",
|
|
674
|
+
"addOnPostRun",
|
|
675
|
+
"STACK_SIZE",
|
|
676
|
+
"STACK_ALIGN",
|
|
677
|
+
"POINTER_SIZE",
|
|
678
|
+
"ASSERTIONS",
|
|
679
|
+
"ccall",
|
|
680
|
+
"cwrap",
|
|
681
|
+
"convertJsFunctionToWasm",
|
|
682
|
+
"getEmptyTableSlot",
|
|
683
|
+
"updateTableMap",
|
|
684
|
+
"getFunctionAddress",
|
|
685
|
+
"addFunction",
|
|
686
|
+
"removeFunction",
|
|
687
|
+
"stringToUTF8Array",
|
|
688
|
+
"stringToUTF8",
|
|
689
|
+
"lengthBytesUTF8",
|
|
690
|
+
"intArrayFromString",
|
|
691
|
+
"intArrayToString",
|
|
692
|
+
"AsciiToString",
|
|
693
|
+
"stringToAscii",
|
|
694
|
+
"UTF16ToString",
|
|
695
|
+
"stringToUTF16",
|
|
696
|
+
"lengthBytesUTF16",
|
|
697
|
+
"UTF32ToString",
|
|
698
|
+
"stringToUTF32",
|
|
699
|
+
"lengthBytesUTF32",
|
|
700
|
+
"stringToNewUTF8",
|
|
701
|
+
"stringToUTF8OnStack",
|
|
702
|
+
"writeArrayToMemory",
|
|
703
|
+
"registerKeyEventCallback",
|
|
704
|
+
"maybeCStringToJsString",
|
|
705
|
+
"findEventTarget",
|
|
706
|
+
"getBoundingClientRect",
|
|
707
|
+
"fillMouseEventData",
|
|
708
|
+
"registerMouseEventCallback",
|
|
709
|
+
"registerWheelEventCallback",
|
|
710
|
+
"registerUiEventCallback",
|
|
711
|
+
"registerFocusEventCallback",
|
|
712
|
+
"fillDeviceOrientationEventData",
|
|
713
|
+
"registerDeviceOrientationEventCallback",
|
|
714
|
+
"fillDeviceMotionEventData",
|
|
715
|
+
"registerDeviceMotionEventCallback",
|
|
716
|
+
"screenOrientation",
|
|
717
|
+
"fillOrientationChangeEventData",
|
|
718
|
+
"registerOrientationChangeEventCallback",
|
|
719
|
+
"fillFullscreenChangeEventData",
|
|
720
|
+
"registerFullscreenChangeEventCallback",
|
|
721
|
+
"JSEvents_requestFullscreen",
|
|
722
|
+
"JSEvents_resizeCanvasForFullscreen",
|
|
723
|
+
"registerRestoreOldStyle",
|
|
724
|
+
"hideEverythingExceptGivenElement",
|
|
725
|
+
"restoreHiddenElements",
|
|
726
|
+
"setLetterbox",
|
|
727
|
+
"softFullscreenResizeWebGLRenderTarget",
|
|
728
|
+
"doRequestFullscreen",
|
|
729
|
+
"fillPointerlockChangeEventData",
|
|
730
|
+
"registerPointerlockChangeEventCallback",
|
|
731
|
+
"registerPointerlockErrorEventCallback",
|
|
732
|
+
"requestPointerLock",
|
|
733
|
+
"fillVisibilityChangeEventData",
|
|
734
|
+
"registerVisibilityChangeEventCallback",
|
|
735
|
+
"registerTouchEventCallback",
|
|
736
|
+
"fillGamepadEventData",
|
|
737
|
+
"registerGamepadEventCallback",
|
|
738
|
+
"registerBeforeUnloadEventCallback",
|
|
739
|
+
"fillBatteryEventData",
|
|
740
|
+
"registerBatteryEventCallback",
|
|
741
|
+
"setCanvasElementSize",
|
|
742
|
+
"getCanvasElementSize",
|
|
743
|
+
"jsStackTrace",
|
|
744
|
+
"getCallstack",
|
|
745
|
+
"convertPCtoSourceLocation",
|
|
746
|
+
"getEnvStrings",
|
|
747
|
+
"checkWasiClock",
|
|
748
|
+
"wasiRightsToMuslOFlags",
|
|
749
|
+
"wasiOFlagsToMuslOFlags",
|
|
750
|
+
"initRandomFill",
|
|
751
|
+
"randomFill",
|
|
752
|
+
"safeSetTimeout",
|
|
753
|
+
"setImmediateWrapped",
|
|
754
|
+
"safeRequestAnimationFrame",
|
|
755
|
+
"clearImmediateWrapped",
|
|
756
|
+
"registerPostMainLoop",
|
|
757
|
+
"registerPreMainLoop",
|
|
758
|
+
"getPromise",
|
|
759
|
+
"makePromise",
|
|
760
|
+
"idsToPromises",
|
|
761
|
+
"makePromiseCallback",
|
|
762
|
+
"ExceptionInfo",
|
|
763
|
+
"findMatchingCatch",
|
|
764
|
+
"Browser_asyncPrepareDataCounter",
|
|
765
|
+
"isLeapYear",
|
|
766
|
+
"ydayFromDate",
|
|
767
|
+
"arraySum",
|
|
768
|
+
"addDays",
|
|
769
|
+
"getSocketFromFD",
|
|
770
|
+
"getSocketAddress",
|
|
771
|
+
"FS_createPreloadedFile",
|
|
772
|
+
"FS_preloadFile",
|
|
773
|
+
"FS_modeStringToFlags",
|
|
774
|
+
"FS_getMode",
|
|
775
|
+
"FS_stdin_getChar",
|
|
776
|
+
"FS_mkdirTree",
|
|
777
|
+
"_setNetworkCallback",
|
|
778
|
+
"heapObjectForWebGLType",
|
|
779
|
+
"toTypedArrayIndex",
|
|
780
|
+
"webgl_enable_ANGLE_instanced_arrays",
|
|
781
|
+
"webgl_enable_OES_vertex_array_object",
|
|
782
|
+
"webgl_enable_WEBGL_draw_buffers",
|
|
783
|
+
"webgl_enable_WEBGL_multi_draw",
|
|
784
|
+
"webgl_enable_EXT_polygon_offset_clamp",
|
|
785
|
+
"webgl_enable_EXT_clip_control",
|
|
786
|
+
"webgl_enable_WEBGL_polygon_mode",
|
|
787
|
+
"emscriptenWebGLGet",
|
|
788
|
+
"computeUnpackAlignedImageSize",
|
|
789
|
+
"colorChannelsInGlTextureFormat",
|
|
790
|
+
"emscriptenWebGLGetTexPixelData",
|
|
791
|
+
"emscriptenWebGLGetUniform",
|
|
792
|
+
"webglGetUniformLocation",
|
|
793
|
+
"webglPrepareUniformLocationsBeforeFirstUse",
|
|
794
|
+
"webglGetLeftBracePos",
|
|
795
|
+
"emscriptenWebGLGetVertexAttrib",
|
|
796
|
+
"__glGetActiveAttribOrUniform",
|
|
797
|
+
"writeGLArray",
|
|
798
|
+
"registerWebGlEventCallback",
|
|
799
|
+
"runAndAbortIfError",
|
|
800
|
+
"ALLOC_NORMAL",
|
|
801
|
+
"ALLOC_STACK",
|
|
802
|
+
"allocate",
|
|
803
|
+
"writeStringToMemory",
|
|
804
|
+
"writeAsciiToMemory",
|
|
805
|
+
"allocateUTF8",
|
|
806
|
+
"allocateUTF8OnStack",
|
|
807
|
+
"demangle",
|
|
808
|
+
"stackTrace",
|
|
809
|
+
"getNativeTypeSize"
|
|
810
|
+
];
|
|
811
|
+
missingLibrarySymbols.forEach(missingLibrarySymbol);
|
|
812
|
+
var unexportedSymbols = [
|
|
813
|
+
"run",
|
|
814
|
+
"out",
|
|
815
|
+
"err",
|
|
816
|
+
"callMain",
|
|
817
|
+
"abort",
|
|
818
|
+
"wasmExports",
|
|
819
|
+
"HEAPF32",
|
|
820
|
+
"HEAPF64",
|
|
821
|
+
"HEAP16",
|
|
822
|
+
"HEAPU16",
|
|
823
|
+
"HEAP32",
|
|
824
|
+
"HEAPU32",
|
|
825
|
+
"HEAP64",
|
|
826
|
+
"HEAPU64",
|
|
827
|
+
"writeStackCookie",
|
|
828
|
+
"checkStackCookie",
|
|
829
|
+
"INT53_MAX",
|
|
830
|
+
"INT53_MIN",
|
|
831
|
+
"ptrToString",
|
|
832
|
+
"getHeapMax",
|
|
833
|
+
"growMemory",
|
|
834
|
+
"ENV",
|
|
835
|
+
"ERRNO_CODES",
|
|
836
|
+
"DNS",
|
|
837
|
+
"Protocols",
|
|
838
|
+
"Sockets",
|
|
839
|
+
"timers",
|
|
840
|
+
"warnOnce",
|
|
841
|
+
"readEmAsmArgsArray",
|
|
842
|
+
"alignMemory",
|
|
843
|
+
"wasmTable",
|
|
844
|
+
"wasmMemory",
|
|
845
|
+
"noExitRuntime",
|
|
846
|
+
"freeTableIndexes",
|
|
847
|
+
"functionsInTableMap",
|
|
848
|
+
"PATH",
|
|
849
|
+
"PATH_FS",
|
|
850
|
+
"UTF8Decoder",
|
|
851
|
+
"UTF8ArrayToString",
|
|
852
|
+
"UTF8ToString",
|
|
853
|
+
"UTF16Decoder",
|
|
854
|
+
"JSEvents",
|
|
855
|
+
"specialHTMLTargets",
|
|
856
|
+
"findCanvasEventTarget",
|
|
857
|
+
"currentFullscreenStrategy",
|
|
858
|
+
"restoreOldWindowedStyle",
|
|
859
|
+
"UNWIND_CACHE",
|
|
860
|
+
"ExitStatus",
|
|
861
|
+
"flush_NO_FILESYSTEM",
|
|
862
|
+
"emSetImmediate",
|
|
863
|
+
"emClearImmediate_deps",
|
|
864
|
+
"emClearImmediate",
|
|
865
|
+
"promiseMap",
|
|
866
|
+
"uncaughtExceptionCount",
|
|
867
|
+
"exceptionLast",
|
|
868
|
+
"exceptionCaught",
|
|
869
|
+
"Browser",
|
|
870
|
+
"requestFullscreen",
|
|
871
|
+
"requestFullScreen",
|
|
872
|
+
"setCanvasSize",
|
|
873
|
+
"getUserMedia",
|
|
874
|
+
"createContext",
|
|
875
|
+
"getPreloadedImageData__data",
|
|
876
|
+
"wget",
|
|
877
|
+
"MONTH_DAYS_REGULAR",
|
|
878
|
+
"MONTH_DAYS_LEAP",
|
|
879
|
+
"MONTH_DAYS_REGULAR_CUMULATIVE",
|
|
880
|
+
"MONTH_DAYS_LEAP_CUMULATIVE",
|
|
881
|
+
"base64Decode",
|
|
882
|
+
"SYSCALLS",
|
|
883
|
+
"preloadPlugins",
|
|
884
|
+
"FS_stdin_getChar_buffer",
|
|
885
|
+
"FS_unlink",
|
|
886
|
+
"FS_createPath",
|
|
887
|
+
"FS_createDevice",
|
|
888
|
+
"FS_readFile",
|
|
889
|
+
"FS",
|
|
890
|
+
"FS_root",
|
|
891
|
+
"FS_mounts",
|
|
892
|
+
"FS_devices",
|
|
893
|
+
"FS_streams",
|
|
894
|
+
"FS_nextInode",
|
|
895
|
+
"FS_nameTable",
|
|
896
|
+
"FS_currentPath",
|
|
897
|
+
"FS_initialized",
|
|
898
|
+
"FS_ignorePermissions",
|
|
899
|
+
"FS_filesystems",
|
|
900
|
+
"FS_syncFSRequests",
|
|
901
|
+
"FS_lookupPath",
|
|
902
|
+
"FS_getPath",
|
|
903
|
+
"FS_hashName",
|
|
904
|
+
"FS_hashAddNode",
|
|
905
|
+
"FS_hashRemoveNode",
|
|
906
|
+
"FS_lookupNode",
|
|
907
|
+
"FS_createNode",
|
|
908
|
+
"FS_destroyNode",
|
|
909
|
+
"FS_isRoot",
|
|
910
|
+
"FS_isMountpoint",
|
|
911
|
+
"FS_isFile",
|
|
912
|
+
"FS_isDir",
|
|
913
|
+
"FS_isLink",
|
|
914
|
+
"FS_isChrdev",
|
|
915
|
+
"FS_isBlkdev",
|
|
916
|
+
"FS_isFIFO",
|
|
917
|
+
"FS_isSocket",
|
|
918
|
+
"FS_flagsToPermissionString",
|
|
919
|
+
"FS_nodePermissions",
|
|
920
|
+
"FS_mayLookup",
|
|
921
|
+
"FS_mayCreate",
|
|
922
|
+
"FS_mayDelete",
|
|
923
|
+
"FS_mayOpen",
|
|
924
|
+
"FS_checkOpExists",
|
|
925
|
+
"FS_nextfd",
|
|
926
|
+
"FS_getStreamChecked",
|
|
927
|
+
"FS_getStream",
|
|
928
|
+
"FS_createStream",
|
|
929
|
+
"FS_closeStream",
|
|
930
|
+
"FS_dupStream",
|
|
931
|
+
"FS_doSetAttr",
|
|
932
|
+
"FS_chrdev_stream_ops",
|
|
933
|
+
"FS_major",
|
|
934
|
+
"FS_minor",
|
|
935
|
+
"FS_makedev",
|
|
936
|
+
"FS_registerDevice",
|
|
937
|
+
"FS_getDevice",
|
|
938
|
+
"FS_getMounts",
|
|
939
|
+
"FS_syncfs",
|
|
940
|
+
"FS_mount",
|
|
941
|
+
"FS_unmount",
|
|
942
|
+
"FS_lookup",
|
|
943
|
+
"FS_mknod",
|
|
944
|
+
"FS_statfs",
|
|
945
|
+
"FS_statfsStream",
|
|
946
|
+
"FS_statfsNode",
|
|
947
|
+
"FS_create",
|
|
948
|
+
"FS_mkdir",
|
|
949
|
+
"FS_mkdev",
|
|
950
|
+
"FS_symlink",
|
|
951
|
+
"FS_rename",
|
|
952
|
+
"FS_rmdir",
|
|
953
|
+
"FS_readdir",
|
|
954
|
+
"FS_readlink",
|
|
955
|
+
"FS_stat",
|
|
956
|
+
"FS_fstat",
|
|
957
|
+
"FS_lstat",
|
|
958
|
+
"FS_doChmod",
|
|
959
|
+
"FS_chmod",
|
|
960
|
+
"FS_lchmod",
|
|
961
|
+
"FS_fchmod",
|
|
962
|
+
"FS_doChown",
|
|
963
|
+
"FS_chown",
|
|
964
|
+
"FS_lchown",
|
|
965
|
+
"FS_fchown",
|
|
966
|
+
"FS_doTruncate",
|
|
967
|
+
"FS_truncate",
|
|
968
|
+
"FS_ftruncate",
|
|
969
|
+
"FS_utime",
|
|
970
|
+
"FS_open",
|
|
971
|
+
"FS_close",
|
|
972
|
+
"FS_isClosed",
|
|
973
|
+
"FS_llseek",
|
|
974
|
+
"FS_read",
|
|
975
|
+
"FS_write",
|
|
976
|
+
"FS_mmap",
|
|
977
|
+
"FS_msync",
|
|
978
|
+
"FS_ioctl",
|
|
979
|
+
"FS_writeFile",
|
|
980
|
+
"FS_cwd",
|
|
981
|
+
"FS_chdir",
|
|
982
|
+
"FS_createDefaultDirectories",
|
|
983
|
+
"FS_createDefaultDevices",
|
|
984
|
+
"FS_createSpecialDirectories",
|
|
985
|
+
"FS_createStandardStreams",
|
|
986
|
+
"FS_staticInit",
|
|
987
|
+
"FS_init",
|
|
988
|
+
"FS_quit",
|
|
989
|
+
"FS_findObject",
|
|
990
|
+
"FS_analyzePath",
|
|
991
|
+
"FS_createFile",
|
|
992
|
+
"FS_createDataFile",
|
|
993
|
+
"FS_forceLoadFile",
|
|
994
|
+
"FS_createLazyFile",
|
|
995
|
+
"FS_absolutePath",
|
|
996
|
+
"FS_createFolder",
|
|
997
|
+
"FS_createLink",
|
|
998
|
+
"FS_joinPath",
|
|
999
|
+
"FS_mmapAlloc",
|
|
1000
|
+
"FS_standardizePath",
|
|
1001
|
+
"MEMFS",
|
|
1002
|
+
"TTY",
|
|
1003
|
+
"PIPEFS",
|
|
1004
|
+
"SOCKFS",
|
|
1005
|
+
"tempFixedLengthArray",
|
|
1006
|
+
"miniTempWebGLFloatBuffers",
|
|
1007
|
+
"miniTempWebGLIntBuffers",
|
|
1008
|
+
"GL",
|
|
1009
|
+
"AL",
|
|
1010
|
+
"GLUT",
|
|
1011
|
+
"EGL",
|
|
1012
|
+
"GLEW",
|
|
1013
|
+
"IDBStore",
|
|
1014
|
+
"SDL",
|
|
1015
|
+
"SDL_gfx",
|
|
1016
|
+
"print",
|
|
1017
|
+
"printErr",
|
|
1018
|
+
"jstoi_s"
|
|
1019
|
+
];
|
|
1020
|
+
unexportedSymbols.forEach(unexportedRuntimeSymbol);
|
|
1021
|
+
function checkIncomingModuleAPI() {
|
|
1022
|
+
ignoredModuleProp("ENVIRONMENT");
|
|
1023
|
+
ignoredModuleProp("GL_MAX_TEXTURE_IMAGE_UNITS");
|
|
1024
|
+
ignoredModuleProp("SDL_canPlayWithWebAudio");
|
|
1025
|
+
ignoredModuleProp("SDL_numSimultaneouslyQueuedBuffers");
|
|
1026
|
+
ignoredModuleProp("INITIAL_MEMORY");
|
|
1027
|
+
ignoredModuleProp("wasmMemory");
|
|
1028
|
+
ignoredModuleProp("arguments");
|
|
1029
|
+
ignoredModuleProp("buffer");
|
|
1030
|
+
ignoredModuleProp("canvas");
|
|
1031
|
+
ignoredModuleProp("doNotCaptureKeyboard");
|
|
1032
|
+
ignoredModuleProp("dynamicLibraries");
|
|
1033
|
+
ignoredModuleProp("elementPointerLock");
|
|
1034
|
+
ignoredModuleProp("extraStackTrace");
|
|
1035
|
+
ignoredModuleProp("forcedAspectRatio");
|
|
1036
|
+
ignoredModuleProp("instantiateWasm");
|
|
1037
|
+
ignoredModuleProp("keyboardListeningElement");
|
|
1038
|
+
ignoredModuleProp("freePreloadedMediaOnUse");
|
|
1039
|
+
ignoredModuleProp("loadSplitModule");
|
|
1040
|
+
ignoredModuleProp("locateFile");
|
|
1041
|
+
ignoredModuleProp("logReadFiles");
|
|
1042
|
+
ignoredModuleProp("mainScriptUrlOrBlob");
|
|
1043
|
+
ignoredModuleProp("mem");
|
|
1044
|
+
ignoredModuleProp("monitorRunDependencies");
|
|
1045
|
+
ignoredModuleProp("noExitRuntime");
|
|
1046
|
+
ignoredModuleProp("noInitialRun");
|
|
1047
|
+
ignoredModuleProp("onAbort");
|
|
1048
|
+
ignoredModuleProp("onExit");
|
|
1049
|
+
ignoredModuleProp("onFree");
|
|
1050
|
+
ignoredModuleProp("onFullScreen");
|
|
1051
|
+
ignoredModuleProp("onMalloc");
|
|
1052
|
+
ignoredModuleProp("onRealloc");
|
|
1053
|
+
ignoredModuleProp("onRuntimeInitialized");
|
|
1054
|
+
ignoredModuleProp("postMainLoop");
|
|
1055
|
+
ignoredModuleProp("postRun");
|
|
1056
|
+
ignoredModuleProp("preInit");
|
|
1057
|
+
ignoredModuleProp("preMainLoop");
|
|
1058
|
+
ignoredModuleProp("preRun");
|
|
1059
|
+
ignoredModuleProp("preinitializedWebGLContext");
|
|
1060
|
+
ignoredModuleProp("preloadPlugins");
|
|
1061
|
+
ignoredModuleProp("print");
|
|
1062
|
+
ignoredModuleProp("printErr");
|
|
1063
|
+
ignoredModuleProp("setStatus");
|
|
1064
|
+
ignoredModuleProp("statusMessage");
|
|
1065
|
+
ignoredModuleProp("stderr");
|
|
1066
|
+
ignoredModuleProp("stdin");
|
|
1067
|
+
ignoredModuleProp("stdout");
|
|
1068
|
+
ignoredModuleProp("thisProgram");
|
|
1069
|
+
ignoredModuleProp("wasm");
|
|
1070
|
+
ignoredModuleProp("wasmBinary");
|
|
1071
|
+
ignoredModuleProp("websocket");
|
|
1072
|
+
ignoredModuleProp("fetchSettings");
|
|
1073
|
+
}
|
|
1074
|
+
var _mldsa44_keypair = Module["_mldsa44_keypair"] = makeInvalidEarlyAccess("_mldsa44_keypair");
|
|
1075
|
+
var _mldsa44_sign = Module["_mldsa44_sign"] = makeInvalidEarlyAccess("_mldsa44_sign");
|
|
1076
|
+
var _mldsa44_verify = Module["_mldsa44_verify"] = makeInvalidEarlyAccess("_mldsa44_verify");
|
|
1077
|
+
var _mldsa65_keypair = Module["_mldsa65_keypair"] = makeInvalidEarlyAccess("_mldsa65_keypair");
|
|
1078
|
+
var _mldsa65_sign = Module["_mldsa65_sign"] = makeInvalidEarlyAccess("_mldsa65_sign");
|
|
1079
|
+
var _mldsa65_verify = Module["_mldsa65_verify"] = makeInvalidEarlyAccess("_mldsa65_verify");
|
|
1080
|
+
var _mldsa87_keypair = Module["_mldsa87_keypair"] = makeInvalidEarlyAccess("_mldsa87_keypair");
|
|
1081
|
+
var _mldsa87_sign = Module["_mldsa87_sign"] = makeInvalidEarlyAccess("_mldsa87_sign");
|
|
1082
|
+
var _mldsa87_verify = Module["_mldsa87_verify"] = makeInvalidEarlyAccess("_mldsa87_verify");
|
|
1083
|
+
var _fflush = makeInvalidEarlyAccess("_fflush");
|
|
1084
|
+
var _strerror = makeInvalidEarlyAccess("_strerror");
|
|
1085
|
+
var _free = Module["_free"] = makeInvalidEarlyAccess("_free");
|
|
1086
|
+
var _malloc = Module["_malloc"] = makeInvalidEarlyAccess("_malloc");
|
|
1087
|
+
var _emscripten_stack_init = makeInvalidEarlyAccess("_emscripten_stack_init");
|
|
1088
|
+
var _emscripten_stack_get_free = makeInvalidEarlyAccess("_emscripten_stack_get_free");
|
|
1089
|
+
var _emscripten_stack_get_base = makeInvalidEarlyAccess("_emscripten_stack_get_base");
|
|
1090
|
+
var _emscripten_stack_get_end = makeInvalidEarlyAccess("_emscripten_stack_get_end");
|
|
1091
|
+
var __emscripten_stack_restore = makeInvalidEarlyAccess("__emscripten_stack_restore");
|
|
1092
|
+
var __emscripten_stack_alloc = makeInvalidEarlyAccess("__emscripten_stack_alloc");
|
|
1093
|
+
var _emscripten_stack_get_current = makeInvalidEarlyAccess("_emscripten_stack_get_current");
|
|
1094
|
+
var memory = makeInvalidEarlyAccess("memory");
|
|
1095
|
+
var __indirect_function_table = makeInvalidEarlyAccess("__indirect_function_table");
|
|
1096
|
+
var wasmMemory = makeInvalidEarlyAccess("wasmMemory");
|
|
1097
|
+
function assignWasmExports(wasmExports2) {
|
|
1098
|
+
assert(typeof wasmExports2["mldsa44_keypair"] != "undefined", "missing Wasm export: mldsa44_keypair");
|
|
1099
|
+
assert(typeof wasmExports2["mldsa44_sign"] != "undefined", "missing Wasm export: mldsa44_sign");
|
|
1100
|
+
assert(typeof wasmExports2["mldsa44_verify"] != "undefined", "missing Wasm export: mldsa44_verify");
|
|
1101
|
+
assert(typeof wasmExports2["mldsa65_keypair"] != "undefined", "missing Wasm export: mldsa65_keypair");
|
|
1102
|
+
assert(typeof wasmExports2["mldsa65_sign"] != "undefined", "missing Wasm export: mldsa65_sign");
|
|
1103
|
+
assert(typeof wasmExports2["mldsa65_verify"] != "undefined", "missing Wasm export: mldsa65_verify");
|
|
1104
|
+
assert(typeof wasmExports2["mldsa87_keypair"] != "undefined", "missing Wasm export: mldsa87_keypair");
|
|
1105
|
+
assert(typeof wasmExports2["mldsa87_sign"] != "undefined", "missing Wasm export: mldsa87_sign");
|
|
1106
|
+
assert(typeof wasmExports2["mldsa87_verify"] != "undefined", "missing Wasm export: mldsa87_verify");
|
|
1107
|
+
assert(typeof wasmExports2["fflush"] != "undefined", "missing Wasm export: fflush");
|
|
1108
|
+
assert(typeof wasmExports2["strerror"] != "undefined", "missing Wasm export: strerror");
|
|
1109
|
+
assert(typeof wasmExports2["free"] != "undefined", "missing Wasm export: free");
|
|
1110
|
+
assert(typeof wasmExports2["malloc"] != "undefined", "missing Wasm export: malloc");
|
|
1111
|
+
assert(typeof wasmExports2["emscripten_stack_init"] != "undefined", "missing Wasm export: emscripten_stack_init");
|
|
1112
|
+
assert(typeof wasmExports2["emscripten_stack_get_free"] != "undefined", "missing Wasm export: emscripten_stack_get_free");
|
|
1113
|
+
assert(typeof wasmExports2["emscripten_stack_get_base"] != "undefined", "missing Wasm export: emscripten_stack_get_base");
|
|
1114
|
+
assert(typeof wasmExports2["emscripten_stack_get_end"] != "undefined", "missing Wasm export: emscripten_stack_get_end");
|
|
1115
|
+
assert(typeof wasmExports2["_emscripten_stack_restore"] != "undefined", "missing Wasm export: _emscripten_stack_restore");
|
|
1116
|
+
assert(typeof wasmExports2["_emscripten_stack_alloc"] != "undefined", "missing Wasm export: _emscripten_stack_alloc");
|
|
1117
|
+
assert(typeof wasmExports2["emscripten_stack_get_current"] != "undefined", "missing Wasm export: emscripten_stack_get_current");
|
|
1118
|
+
assert(typeof wasmExports2["memory"] != "undefined", "missing Wasm export: memory");
|
|
1119
|
+
assert(typeof wasmExports2["__indirect_function_table"] != "undefined", "missing Wasm export: __indirect_function_table");
|
|
1120
|
+
_mldsa44_keypair = Module["_mldsa44_keypair"] = createExportWrapper("mldsa44_keypair", 3);
|
|
1121
|
+
_mldsa44_sign = Module["_mldsa44_sign"] = createExportWrapper("mldsa44_sign", 8);
|
|
1122
|
+
_mldsa44_verify = Module["_mldsa44_verify"] = createExportWrapper("mldsa44_verify", 7);
|
|
1123
|
+
_mldsa65_keypair = Module["_mldsa65_keypair"] = createExportWrapper("mldsa65_keypair", 3);
|
|
1124
|
+
_mldsa65_sign = Module["_mldsa65_sign"] = createExportWrapper("mldsa65_sign", 8);
|
|
1125
|
+
_mldsa65_verify = Module["_mldsa65_verify"] = createExportWrapper("mldsa65_verify", 7);
|
|
1126
|
+
_mldsa87_keypair = Module["_mldsa87_keypair"] = createExportWrapper("mldsa87_keypair", 3);
|
|
1127
|
+
_mldsa87_sign = Module["_mldsa87_sign"] = createExportWrapper("mldsa87_sign", 8);
|
|
1128
|
+
_mldsa87_verify = Module["_mldsa87_verify"] = createExportWrapper("mldsa87_verify", 7);
|
|
1129
|
+
_fflush = createExportWrapper("fflush", 1);
|
|
1130
|
+
_strerror = createExportWrapper("strerror", 1);
|
|
1131
|
+
_free = Module["_free"] = createExportWrapper("free", 1);
|
|
1132
|
+
_malloc = Module["_malloc"] = createExportWrapper("malloc", 1);
|
|
1133
|
+
_emscripten_stack_init = wasmExports2["emscripten_stack_init"];
|
|
1134
|
+
_emscripten_stack_get_free = wasmExports2["emscripten_stack_get_free"];
|
|
1135
|
+
_emscripten_stack_get_base = wasmExports2["emscripten_stack_get_base"];
|
|
1136
|
+
_emscripten_stack_get_end = wasmExports2["emscripten_stack_get_end"];
|
|
1137
|
+
__emscripten_stack_restore = wasmExports2["_emscripten_stack_restore"];
|
|
1138
|
+
__emscripten_stack_alloc = wasmExports2["_emscripten_stack_alloc"];
|
|
1139
|
+
_emscripten_stack_get_current = wasmExports2["emscripten_stack_get_current"];
|
|
1140
|
+
memory = wasmMemory = wasmExports2["memory"];
|
|
1141
|
+
__indirect_function_table = wasmExports2["__indirect_function_table"];
|
|
1142
|
+
}
|
|
1143
|
+
var wasmImports = {
|
|
1144
|
+
/** @export */
|
|
1145
|
+
__assert_fail: ___assert_fail,
|
|
1146
|
+
/** @export */
|
|
1147
|
+
emscripten_resize_heap: _emscripten_resize_heap,
|
|
1148
|
+
/** @export */
|
|
1149
|
+
fd_write: _fd_write
|
|
1150
|
+
};
|
|
1151
|
+
var calledRun;
|
|
1152
|
+
function stackCheckInit() {
|
|
1153
|
+
_emscripten_stack_init();
|
|
1154
|
+
writeStackCookie();
|
|
1155
|
+
}
|
|
1156
|
+
function run() {
|
|
1157
|
+
stackCheckInit();
|
|
1158
|
+
preRun();
|
|
1159
|
+
function doRun() {
|
|
1160
|
+
assert(!calledRun);
|
|
1161
|
+
calledRun = true;
|
|
1162
|
+
Module["calledRun"] = true;
|
|
1163
|
+
if (ABORT) return;
|
|
1164
|
+
initRuntime();
|
|
1165
|
+
readyPromiseResolve?.(Module);
|
|
1166
|
+
assert(!Module["_main"], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
|
|
1167
|
+
postRun();
|
|
1168
|
+
}
|
|
1169
|
+
{
|
|
1170
|
+
doRun();
|
|
1171
|
+
}
|
|
1172
|
+
checkStackCookie();
|
|
1173
|
+
}
|
|
1174
|
+
function checkUnflushedContent() {
|
|
1175
|
+
var oldOut = out;
|
|
1176
|
+
var oldErr = err;
|
|
1177
|
+
var has = false;
|
|
1178
|
+
out = err = (x) => {
|
|
1179
|
+
has = true;
|
|
1180
|
+
};
|
|
1181
|
+
try {
|
|
1182
|
+
flush_NO_FILESYSTEM();
|
|
1183
|
+
} catch (e) {
|
|
1184
|
+
}
|
|
1185
|
+
out = oldOut;
|
|
1186
|
+
err = oldErr;
|
|
1187
|
+
if (has) {
|
|
1188
|
+
warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.");
|
|
1189
|
+
warnOnce("(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)");
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
var wasmExports;
|
|
1193
|
+
wasmExports = await createWasm();
|
|
1194
|
+
run();
|
|
1195
|
+
if (runtimeInitialized) {
|
|
1196
|
+
moduleRtn = Module;
|
|
1197
|
+
} else {
|
|
1198
|
+
moduleRtn = new Promise((resolve, reject) => {
|
|
1199
|
+
readyPromiseResolve = resolve;
|
|
1200
|
+
readyPromiseReject = reject;
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
for (const prop of Object.keys(Module)) {
|
|
1204
|
+
if (!(prop in moduleArg)) {
|
|
1205
|
+
Object.defineProperty(moduleArg, prop, {
|
|
1206
|
+
configurable: true,
|
|
1207
|
+
get() {
|
|
1208
|
+
abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`);
|
|
1209
|
+
}
|
|
1210
|
+
});
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
return moduleRtn;
|
|
1214
|
+
}
|
|
1215
|
+
var wasm_module_default = MLDSAModule;
|
|
1216
|
+
|
|
1217
|
+
// src/mldsa.ts
|
|
1218
|
+
var ALGORITHM_NAMES = ["ML-DSA-44", "ML-DSA-65", "ML-DSA-87"];
|
|
1219
|
+
var KEY_USAGES = ["sign", "verify"];
|
|
1220
|
+
var MlDsaOperationError = class extends Error {
|
|
1221
|
+
constructor(message) {
|
|
1222
|
+
super(message);
|
|
1223
|
+
this.name = "OperationError";
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
var MlDsaInvalidAccessError = class extends Error {
|
|
1227
|
+
constructor(message) {
|
|
1228
|
+
super(message);
|
|
1229
|
+
this.name = "InvalidAccessError";
|
|
1230
|
+
}
|
|
1231
|
+
};
|
|
1232
|
+
var MlDsaNotSupportedError = class extends Error {
|
|
1233
|
+
constructor(message) {
|
|
1234
|
+
super(message);
|
|
1235
|
+
this.name = "NotSupportedError";
|
|
1236
|
+
}
|
|
1237
|
+
};
|
|
1238
|
+
var MlDsaDataError = class extends Error {
|
|
1239
|
+
constructor(message) {
|
|
1240
|
+
super(message);
|
|
1241
|
+
this.name = "DataError";
|
|
1242
|
+
}
|
|
1243
|
+
};
|
|
1244
|
+
var internalKeyData = /* @__PURE__ */ new WeakMap();
|
|
1245
|
+
function getInternalKeyData(key) {
|
|
1246
|
+
const keyData = internalKeyData.get(key);
|
|
1247
|
+
if (!keyData) {
|
|
1248
|
+
throw new TypeError("Unknown key object");
|
|
1249
|
+
}
|
|
1250
|
+
return keyData;
|
|
1251
|
+
}
|
|
1252
|
+
var cleanupRegistry = new FinalizationRegistry((keyData) => {
|
|
1253
|
+
keyData.publicKeyData.fill(0);
|
|
1254
|
+
keyData.privateSeedData?.fill(0);
|
|
1255
|
+
keyData.privateSecretKeyData?.fill(0);
|
|
1256
|
+
});
|
|
1257
|
+
function getPublicKeyDataRef(key) {
|
|
1258
|
+
const keyData = getInternalKeyData(key);
|
|
1259
|
+
if (!keyData.publicKeyData) {
|
|
1260
|
+
throw new MlDsaOperationError("Failed to get public key data");
|
|
1261
|
+
}
|
|
1262
|
+
return keyData.publicKeyData;
|
|
1263
|
+
}
|
|
1264
|
+
function getPrivateKeyDataRef(key) {
|
|
1265
|
+
const keyData = getInternalKeyData(key);
|
|
1266
|
+
if (!keyData.privateSeedData || !keyData.privateSecretKeyData) {
|
|
1267
|
+
throw new MlDsaOperationError("Failed to get private key data");
|
|
1268
|
+
}
|
|
1269
|
+
return keyData;
|
|
1270
|
+
}
|
|
1271
|
+
var noClone = Symbol("CryptoKey created by mldsa-wasm cannot be cloned");
|
|
1272
|
+
var keyIdKey = "_mldsa_wasm";
|
|
1273
|
+
var emptyToJSON = () => ({});
|
|
1274
|
+
function createKeyObject(name, type, extractable, usages, keyData) {
|
|
1275
|
+
const key = {
|
|
1276
|
+
type,
|
|
1277
|
+
extractable,
|
|
1278
|
+
algorithm: Object.freeze({ name }),
|
|
1279
|
+
usages: Object.freeze(Array.from(usages)),
|
|
1280
|
+
[keyIdKey]: noClone
|
|
1281
|
+
// to prevent structured cloning
|
|
1282
|
+
};
|
|
1283
|
+
Object.defineProperty(key, "toJSON", {
|
|
1284
|
+
value: emptyToJSON,
|
|
1285
|
+
writable: false,
|
|
1286
|
+
enumerable: false,
|
|
1287
|
+
configurable: false
|
|
1288
|
+
});
|
|
1289
|
+
Object.setPrototypeOf(key, CryptoKey.prototype);
|
|
1290
|
+
internalKeyData.set(key, keyData);
|
|
1291
|
+
cleanupRegistry.register(key, keyData);
|
|
1292
|
+
return Object.freeze(key);
|
|
1293
|
+
}
|
|
1294
|
+
function createPublicKey(name, publicKeyData, usages) {
|
|
1295
|
+
return createKeyObject(name, "public", true, usages, { publicKeyData });
|
|
1296
|
+
}
|
|
1297
|
+
function createPrivateKey(name, publicKeyData, privateSeedData, privateSecretKeyData, extractable, usages) {
|
|
1298
|
+
return createKeyObject(name, "private", extractable, usages, {
|
|
1299
|
+
publicKeyData,
|
|
1300
|
+
privateSeedData,
|
|
1301
|
+
privateSecretKeyData
|
|
1302
|
+
});
|
|
1303
|
+
}
|
|
1304
|
+
function _isSupportedCryptoKey(key) {
|
|
1305
|
+
return key instanceof CryptoKey && keyIdKey in key && key[keyIdKey] == noClone && internalKeyData.has(key);
|
|
1306
|
+
}
|
|
1307
|
+
function toBase64url(data) {
|
|
1308
|
+
return btoa(String.fromCharCode(...data)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
1309
|
+
}
|
|
1310
|
+
function fromBase64url(base64url) {
|
|
1311
|
+
const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
|
|
1312
|
+
const binary = atob(base64 + "===".slice((base64.length + 3) % 4));
|
|
1313
|
+
return Uint8Array.from(binary, (c) => c.charCodeAt(0));
|
|
1314
|
+
}
|
|
1315
|
+
var SIZES = {
|
|
1316
|
+
"ML-DSA-44": { publicKeyBytes: 1312, secretKeyBytes: 2560, signatureBytes: 2420 },
|
|
1317
|
+
"ML-DSA-65": { publicKeyBytes: 1952, secretKeyBytes: 4032, signatureBytes: 3309 },
|
|
1318
|
+
"ML-DSA-87": { publicKeyBytes: 2592, secretKeyBytes: 4896, signatureBytes: 4627 }
|
|
1319
|
+
};
|
|
1320
|
+
var KEYPAIR_SEED_BYTES = 32;
|
|
1321
|
+
var SIGN_RANDOM_BYTES = 32;
|
|
1322
|
+
var _module;
|
|
1323
|
+
async function getModule() {
|
|
1324
|
+
if (!_module) {
|
|
1325
|
+
_module = await wasm_module_default();
|
|
1326
|
+
}
|
|
1327
|
+
return _module;
|
|
1328
|
+
}
|
|
1329
|
+
var getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
1330
|
+
function normalizeAlgorithm(algorithm) {
|
|
1331
|
+
const name = typeof algorithm === "string" ? algorithm.toUpperCase() : typeof algorithm === "object" && algorithm !== null && "name" in algorithm && typeof algorithm.name === "string" ? algorithm.name.toUpperCase() : null;
|
|
1332
|
+
if (!name || !ALGORITHM_NAMES.includes(name)) {
|
|
1333
|
+
throw new TypeError("Unsupported algorithm");
|
|
1334
|
+
}
|
|
1335
|
+
const context = typeof algorithm === "object" && algorithm !== null && "context" in algorithm ? algorithm.context : void 0;
|
|
1336
|
+
return { name, context };
|
|
1337
|
+
}
|
|
1338
|
+
async function internalGenerateKeyPair(name, coins) {
|
|
1339
|
+
const module = await getModule();
|
|
1340
|
+
let pkPtr = 0, skPtr = 0, coinsPtr = 0;
|
|
1341
|
+
try {
|
|
1342
|
+
pkPtr = module._malloc(SIZES[name].publicKeyBytes);
|
|
1343
|
+
skPtr = module._malloc(SIZES[name].secretKeyBytes);
|
|
1344
|
+
coinsPtr = module._malloc(KEYPAIR_SEED_BYTES);
|
|
1345
|
+
if (pkPtr === 0 || skPtr === 0 || coinsPtr === 0) {
|
|
1346
|
+
throw new MlDsaOperationError("Memory allocation failed");
|
|
1347
|
+
}
|
|
1348
|
+
module.HEAPU8.set(coins, coinsPtr);
|
|
1349
|
+
const fn = name === "ML-DSA-44" ? module._mldsa44_keypair : name === "ML-DSA-65" ? module._mldsa65_keypair : module._mldsa87_keypair;
|
|
1350
|
+
const result = fn(pkPtr, skPtr, coinsPtr);
|
|
1351
|
+
if (result !== 0) {
|
|
1352
|
+
throw new MlDsaOperationError("Key generation failed");
|
|
1353
|
+
}
|
|
1354
|
+
const rawPublicKey = new Uint8Array(SIZES[name].publicKeyBytes);
|
|
1355
|
+
const rawSecretKey = new Uint8Array(SIZES[name].secretKeyBytes);
|
|
1356
|
+
const rawSeed = new Uint8Array(coins);
|
|
1357
|
+
rawPublicKey.set(module.HEAPU8.subarray(pkPtr, pkPtr + SIZES[name].publicKeyBytes));
|
|
1358
|
+
rawSecretKey.set(module.HEAPU8.subarray(skPtr, skPtr + SIZES[name].secretKeyBytes));
|
|
1359
|
+
module.HEAPU8.fill(0, pkPtr, pkPtr + SIZES[name].publicKeyBytes);
|
|
1360
|
+
module.HEAPU8.fill(0, skPtr, skPtr + SIZES[name].secretKeyBytes);
|
|
1361
|
+
module.HEAPU8.fill(0, coinsPtr, coinsPtr + KEYPAIR_SEED_BYTES);
|
|
1362
|
+
return { rawPublicKey, rawSecretKey, rawSeed };
|
|
1363
|
+
} finally {
|
|
1364
|
+
if (pkPtr !== 0) module._free(pkPtr);
|
|
1365
|
+
if (skPtr !== 0) module._free(skPtr);
|
|
1366
|
+
if (coinsPtr !== 0) module._free(coinsPtr);
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
async function generateKey(keyAlgorithm, extractable, usages) {
|
|
1370
|
+
const alg = normalizeAlgorithm(keyAlgorithm);
|
|
1371
|
+
if (!Array.isArray(usages) || usages.some((usage) => !KEY_USAGES.includes(usage))) {
|
|
1372
|
+
throw new SyntaxError("Invalid key usages");
|
|
1373
|
+
}
|
|
1374
|
+
const { rawPublicKey, rawSecretKey, rawSeed } = await internalGenerateKeyPair(
|
|
1375
|
+
alg.name,
|
|
1376
|
+
getRandomValues(new Uint8Array(KEYPAIR_SEED_BYTES))
|
|
1377
|
+
);
|
|
1378
|
+
const publicKey = createPublicKey(alg.name, rawPublicKey, ["verify"]);
|
|
1379
|
+
const privateKey = createPrivateKey(
|
|
1380
|
+
alg.name,
|
|
1381
|
+
rawPublicKey,
|
|
1382
|
+
rawSeed,
|
|
1383
|
+
rawSecretKey,
|
|
1384
|
+
extractable,
|
|
1385
|
+
["sign"]
|
|
1386
|
+
);
|
|
1387
|
+
return {
|
|
1388
|
+
publicKey,
|
|
1389
|
+
privateKey
|
|
1390
|
+
};
|
|
1391
|
+
}
|
|
1392
|
+
var MLDSA_SPKI = {
|
|
1393
|
+
"ML-DSA-44": {
|
|
1394
|
+
fullLength: 22 + SIZES["ML-DSA-44"].publicKeyBytes,
|
|
1395
|
+
prefix: new Uint8Array([
|
|
1396
|
+
48,
|
|
1397
|
+
130,
|
|
1398
|
+
5,
|
|
1399
|
+
50,
|
|
1400
|
+
48,
|
|
1401
|
+
11,
|
|
1402
|
+
6,
|
|
1403
|
+
9,
|
|
1404
|
+
96,
|
|
1405
|
+
134,
|
|
1406
|
+
72,
|
|
1407
|
+
1,
|
|
1408
|
+
101,
|
|
1409
|
+
3,
|
|
1410
|
+
4,
|
|
1411
|
+
3,
|
|
1412
|
+
17,
|
|
1413
|
+
3,
|
|
1414
|
+
130,
|
|
1415
|
+
5,
|
|
1416
|
+
33,
|
|
1417
|
+
0
|
|
1418
|
+
])
|
|
1419
|
+
},
|
|
1420
|
+
"ML-DSA-65": {
|
|
1421
|
+
fullLength: 22 + SIZES["ML-DSA-65"].publicKeyBytes,
|
|
1422
|
+
prefix: new Uint8Array([
|
|
1423
|
+
48,
|
|
1424
|
+
130,
|
|
1425
|
+
7,
|
|
1426
|
+
178,
|
|
1427
|
+
48,
|
|
1428
|
+
11,
|
|
1429
|
+
6,
|
|
1430
|
+
9,
|
|
1431
|
+
96,
|
|
1432
|
+
134,
|
|
1433
|
+
72,
|
|
1434
|
+
1,
|
|
1435
|
+
101,
|
|
1436
|
+
3,
|
|
1437
|
+
4,
|
|
1438
|
+
3,
|
|
1439
|
+
18,
|
|
1440
|
+
3,
|
|
1441
|
+
130,
|
|
1442
|
+
7,
|
|
1443
|
+
161,
|
|
1444
|
+
0
|
|
1445
|
+
])
|
|
1446
|
+
},
|
|
1447
|
+
"ML-DSA-87": {
|
|
1448
|
+
fullLength: 22 + SIZES["ML-DSA-87"].publicKeyBytes,
|
|
1449
|
+
prefix: new Uint8Array([
|
|
1450
|
+
48,
|
|
1451
|
+
130,
|
|
1452
|
+
10,
|
|
1453
|
+
50,
|
|
1454
|
+
48,
|
|
1455
|
+
11,
|
|
1456
|
+
6,
|
|
1457
|
+
9,
|
|
1458
|
+
96,
|
|
1459
|
+
134,
|
|
1460
|
+
72,
|
|
1461
|
+
1,
|
|
1462
|
+
101,
|
|
1463
|
+
3,
|
|
1464
|
+
4,
|
|
1465
|
+
3,
|
|
1466
|
+
19,
|
|
1467
|
+
3,
|
|
1468
|
+
130,
|
|
1469
|
+
10,
|
|
1470
|
+
33,
|
|
1471
|
+
0
|
|
1472
|
+
])
|
|
1473
|
+
}
|
|
1474
|
+
};
|
|
1475
|
+
var MLDSA_PKCS8 = {
|
|
1476
|
+
"ML-DSA-44": {
|
|
1477
|
+
fullLength: 54,
|
|
1478
|
+
prefix: new Uint8Array([
|
|
1479
|
+
48,
|
|
1480
|
+
52,
|
|
1481
|
+
2,
|
|
1482
|
+
1,
|
|
1483
|
+
0,
|
|
1484
|
+
48,
|
|
1485
|
+
11,
|
|
1486
|
+
6,
|
|
1487
|
+
9,
|
|
1488
|
+
96,
|
|
1489
|
+
134,
|
|
1490
|
+
72,
|
|
1491
|
+
1,
|
|
1492
|
+
101,
|
|
1493
|
+
3,
|
|
1494
|
+
4,
|
|
1495
|
+
3,
|
|
1496
|
+
17,
|
|
1497
|
+
4,
|
|
1498
|
+
34,
|
|
1499
|
+
128,
|
|
1500
|
+
32
|
|
1501
|
+
])
|
|
1502
|
+
},
|
|
1503
|
+
"ML-DSA-65": {
|
|
1504
|
+
fullLength: 54,
|
|
1505
|
+
prefix: new Uint8Array([
|
|
1506
|
+
48,
|
|
1507
|
+
52,
|
|
1508
|
+
2,
|
|
1509
|
+
1,
|
|
1510
|
+
0,
|
|
1511
|
+
48,
|
|
1512
|
+
11,
|
|
1513
|
+
6,
|
|
1514
|
+
9,
|
|
1515
|
+
96,
|
|
1516
|
+
134,
|
|
1517
|
+
72,
|
|
1518
|
+
1,
|
|
1519
|
+
101,
|
|
1520
|
+
3,
|
|
1521
|
+
4,
|
|
1522
|
+
3,
|
|
1523
|
+
18,
|
|
1524
|
+
4,
|
|
1525
|
+
34,
|
|
1526
|
+
128,
|
|
1527
|
+
32
|
|
1528
|
+
])
|
|
1529
|
+
},
|
|
1530
|
+
"ML-DSA-87": {
|
|
1531
|
+
fullLength: 54,
|
|
1532
|
+
prefix: new Uint8Array([
|
|
1533
|
+
48,
|
|
1534
|
+
52,
|
|
1535
|
+
2,
|
|
1536
|
+
1,
|
|
1537
|
+
0,
|
|
1538
|
+
48,
|
|
1539
|
+
11,
|
|
1540
|
+
6,
|
|
1541
|
+
9,
|
|
1542
|
+
96,
|
|
1543
|
+
134,
|
|
1544
|
+
72,
|
|
1545
|
+
1,
|
|
1546
|
+
101,
|
|
1547
|
+
3,
|
|
1548
|
+
4,
|
|
1549
|
+
3,
|
|
1550
|
+
19,
|
|
1551
|
+
4,
|
|
1552
|
+
34,
|
|
1553
|
+
128,
|
|
1554
|
+
32
|
|
1555
|
+
])
|
|
1556
|
+
}
|
|
1557
|
+
};
|
|
1558
|
+
function bytesEqual(a, b) {
|
|
1559
|
+
if (a.length !== b.length) {
|
|
1560
|
+
return false;
|
|
1561
|
+
}
|
|
1562
|
+
let diff = 0;
|
|
1563
|
+
for (let i = 0; i < a.length; i++) {
|
|
1564
|
+
diff |= a[i] ^ b[i];
|
|
1565
|
+
}
|
|
1566
|
+
return diff === 0;
|
|
1567
|
+
}
|
|
1568
|
+
function derToRaw(encoding, der) {
|
|
1569
|
+
if (der.length !== encoding.fullLength) {
|
|
1570
|
+
throw new MlDsaDataError("Invalid encoding");
|
|
1571
|
+
}
|
|
1572
|
+
const prefix = der.subarray(0, encoding.prefix.length);
|
|
1573
|
+
if (!bytesEqual(prefix, encoding.prefix)) {
|
|
1574
|
+
throw new MlDsaNotSupportedError("Unsupported encoding");
|
|
1575
|
+
}
|
|
1576
|
+
return der.slice(encoding.prefix.length);
|
|
1577
|
+
}
|
|
1578
|
+
function rawToDer(encoding, raw) {
|
|
1579
|
+
const der = new Uint8Array(encoding.fullLength);
|
|
1580
|
+
der.set(encoding.prefix);
|
|
1581
|
+
der.set(raw, encoding.prefix.length);
|
|
1582
|
+
return der;
|
|
1583
|
+
}
|
|
1584
|
+
async function exportKey(format, key) {
|
|
1585
|
+
if (!(key instanceof CryptoKey)) {
|
|
1586
|
+
throw new TypeError("Expected key to be an instance of CryptoKey");
|
|
1587
|
+
}
|
|
1588
|
+
const alg = normalizeAlgorithm(key.algorithm);
|
|
1589
|
+
if (!key.extractable) {
|
|
1590
|
+
throw new MlDsaOperationError("Key is not extractable");
|
|
1591
|
+
}
|
|
1592
|
+
if (format === "spki") {
|
|
1593
|
+
if (key.type !== "public") {
|
|
1594
|
+
throw new TypeError("Expected key type to be 'public'");
|
|
1595
|
+
}
|
|
1596
|
+
return rawToDer(MLDSA_SPKI[alg.name], getPublicKeyDataRef(key)).buffer;
|
|
1597
|
+
}
|
|
1598
|
+
if (format === "pkcs8") {
|
|
1599
|
+
if (key.type !== "private") {
|
|
1600
|
+
throw new MlDsaInvalidAccessError("Expected key type to be 'private'");
|
|
1601
|
+
}
|
|
1602
|
+
return rawToDer(MLDSA_PKCS8[alg.name], getPrivateKeyDataRef(key).privateSeedData).buffer;
|
|
1603
|
+
}
|
|
1604
|
+
if (format === "raw-public") {
|
|
1605
|
+
if (key.type !== "public") {
|
|
1606
|
+
throw new TypeError("Expected key type to be 'public'");
|
|
1607
|
+
}
|
|
1608
|
+
return new Uint8Array(getPublicKeyDataRef(key)).buffer;
|
|
1609
|
+
}
|
|
1610
|
+
if (format === "raw-seed") {
|
|
1611
|
+
if (key.type !== "private") {
|
|
1612
|
+
throw new MlDsaInvalidAccessError("Expected key type to be 'private'");
|
|
1613
|
+
}
|
|
1614
|
+
return new Uint8Array(getPrivateKeyDataRef(key).privateSeedData).buffer;
|
|
1615
|
+
}
|
|
1616
|
+
if (format === "jwk") {
|
|
1617
|
+
const jwk = {
|
|
1618
|
+
// Set the kty attribute of jwk to "AKP".
|
|
1619
|
+
kty: "AKP",
|
|
1620
|
+
// Set the alg attribute of jwk to the name member of normalizedAlgorithm.
|
|
1621
|
+
alg: alg.name,
|
|
1622
|
+
// Set the pub attribute of jwk to the base64url encoded public key
|
|
1623
|
+
// corresponding to the [[handle]] internal slot of key.
|
|
1624
|
+
pub: toBase64url(getPublicKeyDataRef(key))
|
|
1625
|
+
};
|
|
1626
|
+
if (key.type === "private") {
|
|
1627
|
+
jwk.priv = toBase64url(getPrivateKeyDataRef(key).privateSeedData);
|
|
1628
|
+
}
|
|
1629
|
+
jwk.key_ops = key.usages;
|
|
1630
|
+
jwk.ext = key.extractable;
|
|
1631
|
+
return jwk;
|
|
1632
|
+
}
|
|
1633
|
+
throw new MlDsaNotSupportedError("Format not supported");
|
|
1634
|
+
}
|
|
1635
|
+
function bufferSourcetoUint8Array(value) {
|
|
1636
|
+
if (ArrayBuffer.isView(value) && value.buffer instanceof ArrayBuffer) {
|
|
1637
|
+
return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
|
|
1638
|
+
} else if (value instanceof ArrayBuffer) {
|
|
1639
|
+
return new Uint8Array(value);
|
|
1640
|
+
} else {
|
|
1641
|
+
throw new TypeError("Value must be a BufferSource");
|
|
1642
|
+
}
|
|
1643
|
+
}
|
|
1644
|
+
function bufferSourcetoUint8ArrayCopy(value) {
|
|
1645
|
+
return bufferSourcetoUint8Array(value).slice();
|
|
1646
|
+
}
|
|
1647
|
+
async function importKey(format, keyData, algorithm, extractable, usages) {
|
|
1648
|
+
const alg = normalizeAlgorithm(algorithm);
|
|
1649
|
+
if (format === "spki") {
|
|
1650
|
+
if (!Array.isArray(usages) || usages.some((usage) => usage !== "verify")) {
|
|
1651
|
+
throw new SyntaxError("Invalid key usages for public key");
|
|
1652
|
+
}
|
|
1653
|
+
const data = derToRaw(MLDSA_SPKI[alg.name], bufferSourcetoUint8Array(keyData));
|
|
1654
|
+
if (data.length !== SIZES[alg.name].publicKeyBytes) {
|
|
1655
|
+
throw new MlDsaDataError("Invalid key length");
|
|
1656
|
+
}
|
|
1657
|
+
return createPublicKey(alg.name, data, usages);
|
|
1658
|
+
}
|
|
1659
|
+
if (format === "pkcs8") {
|
|
1660
|
+
if (!Array.isArray(usages) || usages.some((usage) => usage !== "sign")) {
|
|
1661
|
+
throw new SyntaxError("Invalid key usages for private key");
|
|
1662
|
+
}
|
|
1663
|
+
const data = derToRaw(MLDSA_PKCS8[alg.name], bufferSourcetoUint8Array(keyData));
|
|
1664
|
+
if (data.length !== KEYPAIR_SEED_BYTES) {
|
|
1665
|
+
throw new MlDsaDataError("Invalid key length");
|
|
1666
|
+
}
|
|
1667
|
+
const { rawPublicKey, rawSecretKey, rawSeed } = await internalGenerateKeyPair(alg.name, data);
|
|
1668
|
+
return createPrivateKey(
|
|
1669
|
+
alg.name,
|
|
1670
|
+
rawPublicKey,
|
|
1671
|
+
rawSeed,
|
|
1672
|
+
rawSecretKey,
|
|
1673
|
+
extractable,
|
|
1674
|
+
usages
|
|
1675
|
+
);
|
|
1676
|
+
}
|
|
1677
|
+
if (format === "raw-public") {
|
|
1678
|
+
if (!Array.isArray(usages) || usages.some((usage) => usage !== "verify")) {
|
|
1679
|
+
throw new SyntaxError("Invalid key usages for public key");
|
|
1680
|
+
}
|
|
1681
|
+
const data = bufferSourcetoUint8ArrayCopy(keyData);
|
|
1682
|
+
return createPublicKey(alg.name, data, usages);
|
|
1683
|
+
}
|
|
1684
|
+
if (format === "raw-seed") {
|
|
1685
|
+
if (!Array.isArray(usages) || usages.some((usage) => usage !== "sign")) {
|
|
1686
|
+
throw new SyntaxError("Invalid key usages for private key");
|
|
1687
|
+
}
|
|
1688
|
+
const data = bufferSourcetoUint8ArrayCopy(keyData);
|
|
1689
|
+
if (data.length !== KEYPAIR_SEED_BYTES) {
|
|
1690
|
+
throw new MlDsaDataError("Invalid key length");
|
|
1691
|
+
}
|
|
1692
|
+
const { rawPublicKey, rawSecretKey, rawSeed } = await internalGenerateKeyPair(alg.name, data);
|
|
1693
|
+
return createPrivateKey(
|
|
1694
|
+
alg.name,
|
|
1695
|
+
rawPublicKey,
|
|
1696
|
+
rawSeed,
|
|
1697
|
+
rawSecretKey,
|
|
1698
|
+
extractable,
|
|
1699
|
+
usages
|
|
1700
|
+
);
|
|
1701
|
+
}
|
|
1702
|
+
if (format === "jwk") {
|
|
1703
|
+
if (typeof keyData !== "object" || keyData === null) {
|
|
1704
|
+
throw new MlDsaDataError(
|
|
1705
|
+
"Expected keyData to be a JsonWebKey dictionary"
|
|
1706
|
+
);
|
|
1707
|
+
}
|
|
1708
|
+
const jwk = keyData;
|
|
1709
|
+
if (jwk.priv && usages.some((usage) => usage !== "sign") || !jwk.priv && usages.some((usage) => usage !== "verify")) {
|
|
1710
|
+
throw new SyntaxError("Invalid key usages for private key");
|
|
1711
|
+
}
|
|
1712
|
+
if (jwk.kty !== "AKP") {
|
|
1713
|
+
throw new MlDsaDataError("Invalid key type");
|
|
1714
|
+
}
|
|
1715
|
+
if (jwk.alg !== alg.name) {
|
|
1716
|
+
throw new MlDsaDataError("Invalid algorithm");
|
|
1717
|
+
}
|
|
1718
|
+
if (usages.length > 0 && jwk.use && jwk.use !== "sig") {
|
|
1719
|
+
throw new MlDsaDataError("Invalid key usage");
|
|
1720
|
+
}
|
|
1721
|
+
if (jwk.key_ops && Array.isArray(jwk.key_ops) && !Array.prototype.every.call(
|
|
1722
|
+
jwk.key_ops,
|
|
1723
|
+
(op) => KEY_USAGES.includes(op)
|
|
1724
|
+
) || !Array.isArray(jwk.key_ops)) {
|
|
1725
|
+
throw new MlDsaDataError("Invalid key operations");
|
|
1726
|
+
}
|
|
1727
|
+
if (jwk.ext === false && extractable) {
|
|
1728
|
+
throw new MlDsaDataError("Invalid key extractability");
|
|
1729
|
+
}
|
|
1730
|
+
if (jwk.priv) {
|
|
1731
|
+
try {
|
|
1732
|
+
const seedData = fromBase64url(jwk.priv);
|
|
1733
|
+
if (seedData.length !== KEYPAIR_SEED_BYTES) {
|
|
1734
|
+
throw new MlDsaDataError("Invalid private key length");
|
|
1735
|
+
}
|
|
1736
|
+
const { rawPublicKey, rawSecretKey, rawSeed } = await internalGenerateKeyPair(alg.name, seedData);
|
|
1737
|
+
const key = createPrivateKey(
|
|
1738
|
+
alg.name,
|
|
1739
|
+
rawPublicKey,
|
|
1740
|
+
rawSeed,
|
|
1741
|
+
rawSecretKey,
|
|
1742
|
+
extractable,
|
|
1743
|
+
usages
|
|
1744
|
+
);
|
|
1745
|
+
if (toBase64url(rawPublicKey) !== jwk.pub) {
|
|
1746
|
+
throw new MlDsaDataError("Invalid public key data");
|
|
1747
|
+
}
|
|
1748
|
+
return key;
|
|
1749
|
+
} catch {
|
|
1750
|
+
throw new MlDsaDataError("Invalid private key format");
|
|
1751
|
+
}
|
|
1752
|
+
} else {
|
|
1753
|
+
try {
|
|
1754
|
+
const publicKeyData = fromBase64url(jwk.pub);
|
|
1755
|
+
if (publicKeyData.length !== SIZES[alg.name].publicKeyBytes) {
|
|
1756
|
+
throw new MlDsaDataError("Invalid public key data");
|
|
1757
|
+
}
|
|
1758
|
+
return createPublicKey(alg.name, publicKeyData, usages);
|
|
1759
|
+
} catch {
|
|
1760
|
+
throw new MlDsaDataError("Invalid public key format");
|
|
1761
|
+
}
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
throw new MlDsaNotSupportedError("Unsupported key format");
|
|
1765
|
+
}
|
|
1766
|
+
async function getPublicKey(key, usages) {
|
|
1767
|
+
if (!(key instanceof CryptoKey)) {
|
|
1768
|
+
throw new TypeError("Expected key to be an instance of CryptoKey");
|
|
1769
|
+
}
|
|
1770
|
+
const alg = normalizeAlgorithm(key.algorithm);
|
|
1771
|
+
if (key.type !== "private") {
|
|
1772
|
+
throw new MlDsaInvalidAccessError("Expected key type to be 'private'");
|
|
1773
|
+
}
|
|
1774
|
+
if (!Array.isArray(usages) || usages.some((usage) => usage !== "verify")) {
|
|
1775
|
+
throw new SyntaxError("Invalid key usages");
|
|
1776
|
+
}
|
|
1777
|
+
const keyData = getInternalKeyData(key);
|
|
1778
|
+
if (!keyData.publicKeyData) {
|
|
1779
|
+
throw new MlDsaOperationError("Failed to get public key data");
|
|
1780
|
+
}
|
|
1781
|
+
return createPublicKey(alg.name, new Uint8Array(keyData.publicKeyData), usages);
|
|
1782
|
+
}
|
|
1783
|
+
async function verify(algorithm, key, signature, message) {
|
|
1784
|
+
const module = await getModule();
|
|
1785
|
+
const alg = normalizeAlgorithm(algorithm);
|
|
1786
|
+
if (!(key instanceof CryptoKey) || key.type !== "public") {
|
|
1787
|
+
throw new MlDsaInvalidAccessError(
|
|
1788
|
+
"Expected publicKey to be an instance of CryptoKey with type 'public'"
|
|
1789
|
+
);
|
|
1790
|
+
}
|
|
1791
|
+
if (!key.usages.includes("verify")) {
|
|
1792
|
+
throw new MlDsaInvalidAccessError(`Key usages don't include 'verify'`);
|
|
1793
|
+
}
|
|
1794
|
+
const publicKeyData = getPublicKeyDataRef(key);
|
|
1795
|
+
if (!publicKeyData || publicKeyData.length !== SIZES[alg.name].publicKeyBytes) {
|
|
1796
|
+
throw new MlDsaOperationError("Invalid public key");
|
|
1797
|
+
}
|
|
1798
|
+
const sig = bufferSourcetoUint8Array(signature);
|
|
1799
|
+
if (sig.length !== SIZES[alg.name].signatureBytes) {
|
|
1800
|
+
return false;
|
|
1801
|
+
}
|
|
1802
|
+
const ctx = alg.context ? bufferSourcetoUint8Array(alg.context) : null;
|
|
1803
|
+
const ctxLen = ctx == null ? 0 : ctx.length;
|
|
1804
|
+
if (ctxLen > 255) {
|
|
1805
|
+
throw new MlDsaDataError("Context is too long");
|
|
1806
|
+
}
|
|
1807
|
+
const msg = bufferSourcetoUint8Array(message);
|
|
1808
|
+
const msgLen = msg.length;
|
|
1809
|
+
let msgPtr = 0, sigPtr = 0, pkPtr = 0, ctxPtr = 0;
|
|
1810
|
+
try {
|
|
1811
|
+
sigPtr = module._malloc(SIZES[alg.name].signatureBytes);
|
|
1812
|
+
pkPtr = module._malloc(SIZES[alg.name].publicKeyBytes);
|
|
1813
|
+
msgPtr = module._malloc(msgLen);
|
|
1814
|
+
ctxPtr = ctxLen > 0 ? module._malloc(ctxLen) : 0;
|
|
1815
|
+
if (sigPtr === 0 || pkPtr === 0 || msgPtr === 0 || ctxPtr === 0 && ctxLen > 0) {
|
|
1816
|
+
throw new MlDsaOperationError("Memory allocation failed");
|
|
1817
|
+
}
|
|
1818
|
+
module.HEAPU8.set(sig, sigPtr);
|
|
1819
|
+
module.HEAPU8.set(publicKeyData, pkPtr);
|
|
1820
|
+
module.HEAPU8.set(msg, msgPtr);
|
|
1821
|
+
if (ctxLen > 0) {
|
|
1822
|
+
module.HEAPU8.set(ctx, ctxPtr);
|
|
1823
|
+
}
|
|
1824
|
+
const fn = alg.name === "ML-DSA-44" ? module._mldsa44_verify : alg.name === "ML-DSA-65" ? module._mldsa65_verify : module._mldsa87_verify;
|
|
1825
|
+
const result = fn(
|
|
1826
|
+
sigPtr,
|
|
1827
|
+
SIZES[alg.name].signatureBytes,
|
|
1828
|
+
msgPtr,
|
|
1829
|
+
msgLen,
|
|
1830
|
+
ctxPtr,
|
|
1831
|
+
ctxLen,
|
|
1832
|
+
pkPtr
|
|
1833
|
+
);
|
|
1834
|
+
return result === 0;
|
|
1835
|
+
} finally {
|
|
1836
|
+
if (msgPtr !== 0) module._free(msgPtr);
|
|
1837
|
+
if (sigPtr !== 0) module._free(sigPtr);
|
|
1838
|
+
if (pkPtr !== 0) module._free(pkPtr);
|
|
1839
|
+
if (ctxPtr !== 0) module._free(ctxPtr);
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
async function sign(algorithm, key, data) {
|
|
1843
|
+
const module = await getModule();
|
|
1844
|
+
const alg = normalizeAlgorithm(algorithm);
|
|
1845
|
+
if (!(key instanceof CryptoKey) || key.type !== "private") {
|
|
1846
|
+
throw new MlDsaInvalidAccessError(
|
|
1847
|
+
"Expected key to be an instance of CryptoKey with type 'private'"
|
|
1848
|
+
);
|
|
1849
|
+
}
|
|
1850
|
+
if (!key.usages.includes("sign")) {
|
|
1851
|
+
throw new MlDsaInvalidAccessError(`Key usages don't include 'sign'`);
|
|
1852
|
+
}
|
|
1853
|
+
const secretKeyData = getPrivateKeyDataRef(key).privateSecretKeyData;
|
|
1854
|
+
if (!secretKeyData || secretKeyData.length !== SIZES[alg.name].secretKeyBytes) {
|
|
1855
|
+
throw new Error("Invalid secret key");
|
|
1856
|
+
}
|
|
1857
|
+
const context = alg.context ?? new Uint8Array(0);
|
|
1858
|
+
const ctx = bufferSourcetoUint8Array(context);
|
|
1859
|
+
const ctxLen = ctx.length;
|
|
1860
|
+
if (ctxLen > 255) {
|
|
1861
|
+
throw new MlDsaDataError("Context too long");
|
|
1862
|
+
}
|
|
1863
|
+
const msg = bufferSourcetoUint8Array(data);
|
|
1864
|
+
const msgLen = msg.length;
|
|
1865
|
+
const randomness = getRandomValues(new Uint8Array(SIGN_RANDOM_BYTES));
|
|
1866
|
+
let skPtr = 0, rndPtr = 0, sigPtr = 0, ctxPtr = 0, msgPtr = 0;
|
|
1867
|
+
try {
|
|
1868
|
+
skPtr = module._malloc(SIZES[alg.name].secretKeyBytes);
|
|
1869
|
+
rndPtr = module._malloc(SIGN_RANDOM_BYTES);
|
|
1870
|
+
sigPtr = module._malloc(SIZES[alg.name].signatureBytes);
|
|
1871
|
+
ctxPtr = module._malloc(ctxLen);
|
|
1872
|
+
msgPtr = module._malloc(msgLen);
|
|
1873
|
+
if (skPtr === 0 || rndPtr === 0 || sigPtr === 0 || ctxPtr === 0 || msgPtr === 0) {
|
|
1874
|
+
throw new MlDsaOperationError("Failed to allocate memory");
|
|
1875
|
+
}
|
|
1876
|
+
module.HEAPU8.set(secretKeyData, skPtr);
|
|
1877
|
+
module.HEAPU8.set(randomness, rndPtr);
|
|
1878
|
+
module.HEAPU8.set(ctx, ctxPtr);
|
|
1879
|
+
module.HEAPU8.set(msg, msgPtr);
|
|
1880
|
+
const fn = alg.name === "ML-DSA-44" ? module._mldsa44_sign : alg.name === "ML-DSA-65" ? module._mldsa65_sign : module._mldsa87_sign;
|
|
1881
|
+
const result = fn(
|
|
1882
|
+
sigPtr,
|
|
1883
|
+
SIZES[alg.name].signatureBytes,
|
|
1884
|
+
msgPtr,
|
|
1885
|
+
msgLen,
|
|
1886
|
+
ctxPtr,
|
|
1887
|
+
ctxLen,
|
|
1888
|
+
skPtr,
|
|
1889
|
+
rndPtr
|
|
1890
|
+
);
|
|
1891
|
+
if (result !== 0) {
|
|
1892
|
+
throw new MlDsaOperationError("Signing failed");
|
|
1893
|
+
}
|
|
1894
|
+
const signature = new Uint8Array(SIZES[alg.name].signatureBytes);
|
|
1895
|
+
signature.set(module.HEAPU8.subarray(sigPtr, sigPtr + SIZES[alg.name].signatureBytes));
|
|
1896
|
+
module.HEAPU8.fill(0, skPtr, skPtr + SIZES[alg.name].secretKeyBytes);
|
|
1897
|
+
module.HEAPU8.fill(0, rndPtr, rndPtr + SIGN_RANDOM_BYTES);
|
|
1898
|
+
randomness.fill(0);
|
|
1899
|
+
return signature.buffer;
|
|
1900
|
+
} finally {
|
|
1901
|
+
if (skPtr !== 0) module._free(skPtr);
|
|
1902
|
+
if (rndPtr !== 0) module._free(rndPtr);
|
|
1903
|
+
if (sigPtr !== 0) module._free(sigPtr);
|
|
1904
|
+
if (ctxPtr !== 0) module._free(ctxPtr);
|
|
1905
|
+
if (msgPtr !== 0) module._free(msgPtr);
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
var mldsa = {
|
|
1909
|
+
generateKey,
|
|
1910
|
+
exportKey,
|
|
1911
|
+
importKey,
|
|
1912
|
+
getPublicKey,
|
|
1913
|
+
sign,
|
|
1914
|
+
verify,
|
|
1915
|
+
_isSupportedCryptoKey
|
|
1916
|
+
};
|
|
1917
|
+
var mldsa_default = mldsa;
|
|
1918
|
+
export {
|
|
1919
|
+
mldsa_default as default
|
|
1920
|
+
};
|