smol-string 0.0.1 → 0.0.2-beta
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/dist/smol-string-packed.js +8 -8
- package/dist/smol-string-worker-packed.d.ts +2 -2
- package/dist/smol-string-worker-packed.js +14 -15
- package/dist/smol-string-worker.d.ts +2 -2
- package/dist/smol-string-worker.js +18 -19
- package/dist/smol-string.js +16 -16
- package/package.json +5 -5
- package/src/common.ts +1 -1
- package/src/module-packed.wasm +0 -0
- package/src/module.wasm +0 -0
- package/src/smol-string-packed.ts +5 -1
- package/src/smol-string-worker-packed.ts +29 -32
- package/src/smol-string-worker.ts +29 -32
- package/src/smol-string.ts +1 -1
- package/src/worker-packed.ts +21 -21
- package/src/worker.ts +21 -21
- package/test/json.bench.ts +5 -5
- package/test/worker.test.browser.ts +29 -0
- package/vite.config.ts +11 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { i as J, c as
|
|
2
|
-
const N = (A) => J(A, "data:application/wasm;base64,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KQAAIASFQgAgBUEQaikAAELjjaPkid6a3o5/hUIAEJ2AgIAAIAJBIGogBUEoaikAACAHhUIAIAVBIGopAABCw5ndqce52czYAIVCABCdgICAACACQcAAakEIaikDACACKQNAhSEGIAJBIGpBCGopAwAgAikDIIUhByACQTBqQQhqKQMAIAIpAzCFIQQgCCEFDAALC0IAIQZCrJri06PS8PofIQcCQCABDQBCACEEDAMLIAAgAUEBdmoxAABCCIYgADEAAEIQhoQgASAAakF/ajEAAIQhBAwCCyAEIAeFIAaFIQcLIAAgBWohCSABIAVrIQgCQANAIANBEGoiBSAITw0BIAJB0ABqIAkgA2oiA0EIaikAACAHhUIAIAMpAABC29HQhZra34FnhUIAEJ2AgIAAIAJB0ABqQQhqKQMAIAIpA1CFIQcgBSEDDAALCyABIABqIgNBeGopAAAhBiADQXBqKQAAIQQLIAJBEGogBELb0dCFmtrfgWeFQgAgBiAHhUIAEJ2AgIAAIAIgAkEQakEIaikDAELb0dCFmtrfgWeFQgAgAa0gAikDEIVCr8j1xcesh7ugf4VCABCdgICAACACQQhqKQMAIQcgAikDACEEIAJB4ABqJICAgIAAIAcgBIULWAECf0EAIQQCQCABIANHDQACQCAAIAJHDQBBAQ8LA0AgAUUhBCABRQ0BIAFBf2ohASACLQAAIQMgAC0AACEFIABBAWohACACQQFqIQIgBSADRg0ACwsgBAv8FAQBfwF+H38BfiOAgICAAEHgAWsiAiSAgICAAAJAAkACQCABDQAjgYCAgABBmIDAgABqKQMAIQNBqtWq1XohBEEAIQVBCSEGQQAhB0EAIQFBACEIQQAhCQwBCyACQSBqQQhqIgpBADYCACACQgA3AyAgAiOBgICAAEGYgMCAAGopAwAiAzcCLCACIAM3ArQBIAJBADYCsAEgAkKq1arVCjcCqAECQAJAAkAgAkGoAWogARCNgICAAEH//wNxDQAgAkEgakEMaiELIAJBOGpBEGogAkGoAWpBEGooAgA2AgAgAkE4akEIaiACQagBakEIaiIMKQIANwMAIAIgAikCqAE3AzggAkEJOwFUIAJCADcCTCADQiCIpyENIAOnIQ5BgAIhD0EAIQgDQCAAIAhqIQdBACEEAkACQAJAAkACQAJAAkACQAJA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"), w = await N(), I = w.exports;
|
|
1
|
+
import { i as J, c as F, e as k, U as h } from "./wasm-helper-57a16a1d.js";
|
|
2
|
+
const G = (A) => J(A, "data:application/wasm;base64,AGFzbQEAAAABVg1gBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAn9/AX9gAX8AYAR/f39/AGACf38BfmADf39/AX9gBX9+fn5+AGABfQF9AyQjAwQDBQQDBgYHBQgJAAYGBgcECgAEBAYKCAUEAAIBBAsMCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB1AGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUAAw5jb21wcmVzc1BhY2tlZAANEGRlY29tcHJlc3NQYWNrZWQAEgkJAQBBAQsDGxwdCtxDI14BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALhgECAn8BfiOAgICAAEEQayIBJICAgIAAIAEgAEEASDoADCOBgICAACECAkAgAEF/TA0AAkACQCAAQQF0IgANAEF+IQAMAQsgAkGYgMCAAGopAwAiA6cgAEEBQQAgA0IgiKcoAgARgICAgAAAIgBFDQELIAFBEGokgICAgAAgAA8LA38ADAALCxkAI4GAgIAAQZiAwIAAaiAAIAEQhICAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLQQECfwJAIAAgACgCBEEBahCGgICAACIBQf//A3ENACAAIAAoAgQiAkEBajYCBCAAKAIAIAJBA3RqQgA3AwALIAELLQECf0EAIQICQCAAKAIIIgMgAU8NACAAIAMgARCPgICAABCOgICAACECCyACC4ECAwF/AX4CfwJAIAAtABwiAkEUTw0AIAAoAhhBgAJqQX8gAnRBf3NJDQAgACACQQFqIgI6ABwLIAGtQv//P4MhAwN/AkACQAJAAkAgAkH/AXEiBEUNACAALQAdIgFBwABGDQEMAwsgACAAKAIUQQFqNgIUIAAgACgCGEEBajYCGEEAIQEMAQsgABCFgICAACIBQf//A3ENAEEAIQEgAEEAOgAdDAELIAEPCyAAKAIEQQN0IAAoAgBqQXhqIgUgBSkDACADQQAgAmtBP3GthiABrYiENwMAIAAgAC0AHSAEQcAAIAFrQf8BcSIBIAQgAUkbIgFqOgAdIAIgAWshAgwACwsPACAAIABBDGoQiYCAgAALZQEDfwJAIAAoAgAiAkUNAAJAIAJBdGoiA0EIaigCAEENbEEPakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsLgQMEBH8BfgR/AX4jgICAgABBEGsiBCSAgICAACOBgICAACEFIAEoAgAhBgJAAkAgASgCBA0AIAVBgIDAgABqIQcMAQsgAiADEIuAgIAAIQgCQAJAIAYNAEEAIQVBfyEJDAELIAZBfGooAgAiBUF/aiEJCyAGQXhqIQogCSAIp3EhASAIQjmIpyELA0AjgYCAgABBgIDAgABqIQcgBiABaiwAACIMRQ0BIAVFDQECQCAMQX9KDQAgCyAMQf8AcUcNACACIAMgCigCACABQQN0aiIMKAIAIAwoAgQQjICAgABBAXFFDQAgBEEBOgAMIAQgATYCCCAEQQhqIQcMAgsgBUF/aiEFIAFBAWogCXEhAQwACwsCQAJAIActAAQNAEIAIQhCACENDAELIAQgBkF0aigCACAHKAIAQQJ0aiIBQQJqLQAAQQ9xOgACIAQgAS8BADsBACAEMwEAIAQxAAJCEIaEIQhCgICAgBAhDQsgACANIAiENwIAIARBEGokgICAgAAL7AUFAn8BfgF/An4CfyOAgICAAEHgAGsiAiSAgICAAAJAAkACQAJAAkAgAUEQSw0AIAFBA00NASAANQAAQiCGIAAgAUEBdkH8////B3EiA2o1AACEIQQgACABQXxqIgVqNQAAQiCGIAAgBSADa2o1AACEIQZCrJri06PS8PofIQcMBAtBACEDQqya4tOj0vD6HyEHQQAhBSABQTBJDQJBACEFQqya4tOj0vD6HyEHQqya4tOj0vD6HyEEQqya4tOj0vD6HyEGA0AgBUEwaiIIIAFPDQIgAkHAAGogACAFaiIFKQAIIAaFQgAgBSkAAELb0dCFmtrfgWeFQgAQn4CAgAAgAkEwaiAFQRhqKQAAIASFQgAgBUEQaikAAELjjaPkid6a3o5/hUIAEJ+AgIAAIAJBIGogBUEoaikAACAHhUIAIAVBIGopAABCw5ndqce52czYAIVCABCfgICAACACQcAAakEIaikDACACKQNAhSEGIAJBIGpBCGopAwAgAikDIIUhByACQTBqQQhqKQMAIAIpAzCFIQQgCCEFDAALC0IAIQZCrJri06PS8PofIQcCQCABDQBCACEEDAMLIAAgAUEBdmoxAABCCIYgADEAAEIQhoQgASAAakF/ajEAAIQhBAwCCyAEIAeFIAaFIQcLIAAgBWohCSABIAVrIQgCQANAIANBEGoiBSAITw0BIAJB0ABqIAkgA2oiA0EIaikAACAHhUIAIAMpAABC29HQhZra34FnhUIAEJ+AgIAAIAJB0ABqQQhqKQMAIAIpA1CFIQcgBSEDDAALCyABIABqIgNBeGopAAAhBiADQXBqKQAAIQQLIAJBEGogBELb0dCFmtrfgWeFQgAgBiAHhUIAEJ+AgIAAIAIgAkEQakEIaikDAELb0dCFmtrfgWeFQgAgAa0gAikDEIVCr8j1xcesh7ugf4VCABCfgICAACACQQhqKQMAIQcgAikDACEEIAJB4ABqJICAgIAAIAcgBIULWAECf0EAIQQCQCABIANHDQACQCAAIAJHDQBBAQ8LA0AgAUUhBCABRQ0BIAFBf2ohASACLQAAIQMgAC0AACEFIABBAWohACACQQFqIQIgBSADRg0ACwsgBAuOEgYDfwF+Bn8BfgF9CX8jgICAgABBsAJrIgIkgICAgAACQAJAAkACQAJAIAENACACQQk7AZQCIAJCADcCjAIgAkEANgKAAiACQqrVqtUKNwL4ASACI4GAgIAAQZiAwIAAaikDADcChAICQCACQfgBahCFgICAACIDQf//A3ENACACQcAAakEYaiACQfgBakEYaikCADcDACACQcAAakEQaiACQfgBakEQaikCADcDACACQcAAakEIaiACQfgBakEIaikCADcDACACIAIpAvgBNwNACyACQSBqQQhqIAJBwABqQQhqKQMANwMAIAJBIGpBEGogAkHAAGpBEGopAwA3AwAgAkEgakEYaiACQcAAakEYaikDADcDACACIAIpA0A3AyAMAQtBACEEIAJB4ABqQQhqQQA2AgAgAkIANwNgIAIjgYCAgABBmIDAgABqKQMAIgU3AmwgAkH4AWpBCGpBADYCACACQgA3A/gBIAFBgIDAACABQYCAwABJG0HkAGxB0ABuIQYgAkHsAGohB0EBIQMCQEEADQBBfCEIAkBCAUEgIAZna61C//8Dg4anIgRBCCAEQQhLGyIGQQ9qIgkgBkEDdGoiCiAGQQJ0akF8cSILRQ0AQQAhBCAFpyALQQJBACAFQiCIpygCABGAgICAAAAiCEUNAQsgCCAGNgIIIAggCCAJQXxxajYCBCAIIAggCkF8cWo2AgAgAiAIQQxqIgg2AvgBQQAhAyAIQQAgBhChgICAABogAkH4AWpBCGoiCCAGQdAAbEHkAG4iBDYCACACQeAAakEIaiIGKAIAIQkgBiAENgIAIAggCTYCACACQQA2AmQgAikDYCEMIAIgAikD+AE3A2AgAiAMNwP4AUEBIQQLIAJB+AFqIAcQiYCAgAAgBA0BIAJB4ABqEIiAgIAAC0EAIQggA0H//wNxRQ0BDAILIAIgBTcCqAIgAkEANgKkAiACQqrVqtUKNwKcAgJAAkAgAbNDAACAP5IQoICAgAAiDUMAAIBPXSANQwAAAABgcUUNACANqSEIDAELQQAhCAsCQAJAIAJBnAJqIAhBFCAIQRRJGyABbEHAAGpBBnYQjoCAgABB//8DcQ0AIAJB+AFqQRBqIgggAkGcAmpBEGooAgA2AgAgAkH4AWpBCGoiAyACQZwCakEIaikCADcDACACIAIpApwCNwP4ASACQQk7AZQCIAJCADcCjAIgAkH4AWoQhYCAgABB//8DcQ0AIAJB+ABqQRhqIAJB+AFqQRhqKQMANwMAIAJB+ABqQRBqIAgpAwA3AwAgAkH4AGpBCGogAykDADcDACACIAIpA/gBNwN4IAJBADsBnAEgAkEAOgCeASACKAJgIgpBdGohDiAKQXhqIQ8gCkF8aiEQQYACIREgAigCaCESIAIoAmQhE0EAIQMDQCAAIANqIQdBAiEIAkACQANAIAMgCGoiCSABTw0CIAJBoAFqIAJB4ABqIAcgCBCKgICAAAJAAkAgAi0ApAENACAHIAgQi4CAgAAhBQJAAkAgCg0AIAWnIQNBACELQX8hFAwBCyAQKAIAIgtBf2oiFCAFp3EhAwsgBUI5iKchFSALIQQCQAJAA0AgCiADaiIWLAAAIgZFDQEgBEEARg0BAkACQCAGQX9KDQAgFSAGQf8AcUcNACAHIAggDygCACADQQN0aiIGKAIAIAYoAgQQjICAgABBAXFFDQEgDigCACADQQJ0aiEDDAQLIAsgECgCAEcNACADIAsgBkEBRhshCwsgBEF/aiEEIANBAWogFHEhAwwACwsgCiALaiAWIAsgECgCAEkiBBsgFUGAAXI6AAAgDigCACEGIA8oAgAgCyADIAQbIgNBA3RqIgQgCDYCBCAEIAc2AgAgAiASQX9qIhI2AmggAiATQQFqIhM2AmQgBiADQQJ0aiEDCyADIBE7AQAgA0ECaiARQYCAPHFBEHY6AAAgCEECRw0BIActAAAhCAwDCyACIAItAKIBOgCeASACIAIvAaABOwGcASAIQQFqIQgMAQsLIAIvAZwBIAItAJ4BQRB0ciEICyACQfgAaiAIEIeAgIAAQf//A3ENAiAJQX9qIQMgEUEBaiIRQf//P3FB//8/Rw0BIApBACAQKAIAIggQoYCAgAAaIAJBADYCZCACIAitQtAAfkLkAICnIhI2AmggAkH4AGpB//8/EIeAgIAAQf//A3ENAkEAIRMgAkEANgKQASACQQk6AJQBQYACIREMAQsLAkAgA0EBaiABSQ0AIAJB+ABqIActAAAQh4CAgABB//8DcQ0BDAILIAJBqAFqQRBqIAJB4ABqQRBqKAIANgIAIAJBqAFqQQhqIAJB4ABqQQhqKQMANwMAIAIgAikDYDcDqAEgAkHAAWogAkGoAWogByAIEIqAgIAAAkACQAJAIAItAMQBDQAgCEECRw0BIActAAAhCAwCCyACQfgAaiACLwHAASACLQDCAUEQdHIQh4CAgABB//8DcUUNAwwCCyACQcgBakEQaiACQeAAakEQaigCADYCACACQcgBakEIaiACQeAAakEIaikDADcDACACIAIpA2A3A8gBIAJB3AFqIAJByAFqIAcgCEF/ahCKgICAACACLwHcASACLQDeAUEQdHIhCAsgAkH4AGogCBCHgICAAEH//wNxDQAgAkH4AGogCSAAakF/ai0AABCHgICAAEH//wNxRQ0BCyACQeAAahCIgICAAEEAIQgMAgsgAkHgAGoQiICAgAAgAkEgakEYaiACQfgAakEYaikDADcDACACQSBqQRBqIAJB+ABq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"), N = await G(), I = N.exports;
|
|
3
3
|
function c(A) {
|
|
4
|
-
const { ptr: g, length: C } =
|
|
4
|
+
const { ptr: g, length: C } = F(A, I), D = I.compressPacked(g, C);
|
|
5
5
|
I.free(g, C);
|
|
6
|
-
const { start: Q, end: B, capacity: i } = k(I.memory, D),
|
|
7
|
-
return I.free(Q, i),
|
|
6
|
+
const { start: Q, end: B, capacity: i } = k(I.memory, D), w = new Uint16Array(I.memory.buffer.slice(Q, B)), o = h(w);
|
|
7
|
+
return I.free(Q, i), o;
|
|
8
8
|
}
|
|
9
9
|
function y(A) {
|
|
10
10
|
const g = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
|
|
@@ -20,9 +20,9 @@ function y(A) {
|
|
|
20
20
|
A.length - 2,
|
|
21
21
|
g
|
|
22
22
|
);
|
|
23
|
-
I.free(C, A.length - 2);
|
|
24
|
-
const { start: B, end: i, capacity:
|
|
25
|
-
return I.free(B,
|
|
23
|
+
I.free(C, 2 * (A.length - 2));
|
|
24
|
+
const { start: B, end: i, capacity: w } = k(I.memory, Q), o = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(o);
|
|
25
|
+
return I.free(B, w), a;
|
|
26
26
|
}
|
|
27
27
|
export {
|
|
28
28
|
c as compressPacked,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
1
|
+
export declare function compressPacked(data: string): Promise<string>;
|
|
2
|
+
export declare function decompressPacked(data: string): Promise<string>;
|
|
@@ -1,37 +1,36 @@
|
|
|
1
|
-
const l = "ZnVuY3Rpb24gayhBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShBKSwgZyA9IEMuYWxsb2NVaW50OChJLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgQy5tZW1vcnkuYnVmZmVyLAogICAgZywKICAgIEkubGVuZ3RoCiAgKS5zZXQoSSksIHsgcHRyOiBnLCBsZW5ndGg6IEkubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChBKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShBLmxlbmd0aCk7CiAgZm9yIChsZXQgSSA9IDA7IEkgPCBBLmxlbmd0aDsgSSsrKQogICAgQ1tJXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoQVtJXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KZnVuY3Rpb24gdChBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEEuYnVmZmVyLnNsaWNlKEMsIEMgKyA4KQogICksIGcgPSBJLmF0KDApLCBRID0gSS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IEMgLSBnLAogICAgZW5kOiBDLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBuID0gYXN5bmMgKEEgPSB7fSwgQykgPT4gewogIGxldCBJOwogIGlmIChDLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IGcgPSBDLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShnLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKGcpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEEpOwogIH0gZWxzZSB7CiAgICBjb25zdCBnID0gYXdhaXQgZmV0Y2goQyksIFEgPSBnLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBJID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZywgQSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IGcuYXJyYXlCdWZmZXIoKTsKICAgICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEEpOwogICAgfQogIH0KICByZXR1cm4gSS5pbnN0YW5jZTsKfSwgSiA9IChBKSA9PiBuKEEsICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FuOS9BWDlnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFEZjM5L0FYOWdCWDkrZm41K0FBTWhJQU1FQXdVRUJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQ3dvS0JBVUJjQUVFQkFVREFRQVJCZzRDZndGQmdJREFBQXQvQUVFQUN3ZFFCZ1p0WlcxdmNua0NBQXBoYkd4dlkxVnBiblE0QUFBTFlXeHNiMk5WYVc1ME1UWUFBZ1JtY21WbEFBTU9ZMjl0Y0hKbGMzTlFZV05yWldRQURCQmtaV052YlhCeVpYTnpVR0ZqYTJWa0FCRUpDUUVBUVFFTEF4b2JIQXFGUkNCZUFRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU09CZ0lDQUFFR1lnTUNBQUdvcEF3QTNBd0FnQVVFSWFpQUJJQUFRZ1lDQWdBQUNRQ0FCTHdFTURRQWdBU2dDQ0NFQUlBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDM0VDQVg4QmZpT0FnSUNBQUVFUWF5SURKSUNBZ0lBQVFvQ0FnSUFRSVFRQ1FFRUJSUTBBQWtBZ0FnMEFRdi8vLy84UElRUU1BUXNnQVNnQ0FDQUNRUUJCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUM0WUJBZ0ovQVg0amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQkJBRWc2QUF3amdZQ0FnQUFoQWdKQUlBQkJmMHdOQUFKQUFrQWdBRUVCZENJQURRQkJmaUVBREFFTElBSkJtSURBZ0FCcUtRTUFJZ09uSUFCQkFVRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUFSUTBCQ3lBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3c1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVNBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDNjBDQXdGL0FYNENmd0pBSUFBdEFCd2lBa0VVVHcwQUlBQW9BaGhCZ0FKcVFYOGdBblJCZjNOSkRRQWdBQ0FDUVFGcUlnSTZBQndMSUFHdFF2Ly9QNE1oQXdKQUFrQURRQ0FDUWY4QmNTSUVSUTBCSUFBb0FnUWhBUUpBQWtBZ0FDMEFIU0lGUWNBQVJnMEFJQUVOQVFzZ0FDQUJRUUZxRUlhQWdJQUFJZ0ZCLy84RGNRMERJQUFnQUNnQ0JDSUJRUUZxTmdJRUlBQW9BZ0FnQVVFRGRHcENBRGNEQUVFQUlRVWdBRUVBT2dBZElBQW9BZ1FoQVFzZ0FVRURkQ0FBS0FJQWFrRjRhaUlCSUFFcEF3QWdBMEVBSUFKclFUOXhyWVlnQmEySWhEY0RBQ0FBSUFBdEFCMGdCRUhBQUNBRmEwSC9BWEVpQVNBRUlBRkpHeUlCYWpvQUhTQUNJQUZySVFJTUFBc0xJQUFnQUNnQ0ZFRUJhallDRkNBQUlBQW9BaGhCQVdvMkFoaEJBQ0VCQ3lBQkN5MEJBbjlCQUNFQ0FrQWdBQ2dDQ0NJRElBRlBEUUFnQUNBRElBRVFqb0NBZ0FBUWpZQ0FnQUFoQWdzZ0Fnc1BBQ0FBSUFCQkRHb1FpSUNBZ0FBTFpRRURmd0pBSUFBb0FnQWlBa1VOQUFKQUlBSkJkR29pQTBFSWFpZ0NBRUVOYkVFUGFrRjhjU0lDUVFBZ0Foc2lCRVVOQUNBQktBSUFJQU5CQkNBQ0d5QUVRUUpCQUNBQktBSUVLQUlJRVlHQWdJQUFBQXNnQUVFQU5nSUlJQUJCQURZQ0FBc0xnUU1FQkg4QmZnUi9BWDRqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQ09CZ0lDQUFDRUZJQUVvQWdBaEJnSkFBa0FnQVNnQ0JBMEFJQVZCZ0lEQWdBQnFJUWNNQVFzZ0FpQURFSXFBZ0lBQUlRZ0NRQUpBSUFZTkFFRUFJUVZCZnlFSkRBRUxJQVpCZkdvb0FnQWlCVUYvYWlFSkN5QUdRWGhxSVFvZ0NTQUlwM0VoQVNBSVFqbUlweUVMQTBBamdZQ0FnQUJCZ0lEQWdBQnFJUWNnQmlBQmFpd0FBQ0lNUlEwQklBVkZEUUVDUUNBTVFYOUtEUUFnQ3lBTVFmOEFjVWNOQUNBQ0lBTWdDaWdDQUNBQlFRTjBhaUlNS0FJQUlBd29BZ1FRaTRDQWdBQkJBWEZGRFFBZ0JFRUJPZ0FNSUFRZ0FUWUNDQ0FFUVFocUlRY01BZ3NnQlVGL2FpRUZJQUZCQVdvZ0NYRWhBUXdBQ3dzQ1FBSkFJQWN0QUFRTkFFSUFJUWhDQUNFTkRBRUxJQVFnQmtGMGFpZ0NBQ0FIS0FJQVFRSjBhaUlCUVFKcUxRQUFRUTl4T2dBQ0lBUWdBUzhCQURzQkFDQUVNd0VBSUFReEFBSkNFSWFFSVFoQ2dJQ0FnQkFoRFFzZ0FDQU5JQWlFTndJQUlBUkJFR29rZ0lDQWdBQUw3QVVGQW44QmZnRi9BbjRDZnlPQWdJQ0FBRUhnQUdzaUFpU0FnSUNBQUFKQUFrQUNRQUpBQWtBZ0FVRVFTdzBBSUFGQkEwME5BU0FBTlFBQVFpQ0dJQUFnQVVFQmRrSDgvLy8vQjNFaUEybzFBQUNFSVFRZ0FDQUJRWHhxSWdWcU5RQUFRaUNHSUFBZ0JTQURhMm8xQUFDRUlRWkNySnJpMDZQUzhQb2ZJUWNNQkF0QkFDRURRcXlhNHRPajB2RDZIeUVIUVFBaEJTQUJRVEJKRFFKQkFDRUZRcXlhNHRPajB2RDZIeUVIUXF5YTR0T2owdkQ2SHlFRVFxeWE0dE9qMHZENkh5RUdBMEFnQlVFd2FpSUlJQUZQRFFJZ0FrSEFBR29nQUNBRmFpSUZLUUFJSUFhRlFnQWdCU2tBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrRXdhaUFGUVJocUtRQUFJQVNGUWdBZ0JVRVFhaWtBQUVMamphUGtpZDZhM281L2hVSUFFSjJBZ0lBQUlBSkJJR29nQlVFb2Fpa0FBQ0FIaFVJQUlBVkJJR29wQUFCQ3c1bmRxY2U1MmN6WUFJVkNBQkNkZ0lDQUFDQUNRY0FBYWtFSWFpa0RBQ0FDS1FOQWhTRUdJQUpCSUdwQkNHb3BBd0FnQWlrRElJVWhCeUFDUVRCcVFRaHFLUU1BSUFJcEF6Q0ZJUVFnQ0NFRkRBQUxDMElBSVFaQ3JKcmkwNlBTOFBvZklRY0NRQ0FCRFFCQ0FDRUVEQU1MSUFBZ0FVRUJkbW94QUFCQ0NJWWdBREVBQUVJUWhvUWdBU0FBYWtGL2FqRUFBSVFoQkF3Q0N5QUVJQWVGSUFhRklRY0xJQUFnQldvaENTQUJJQVZySVFnQ1FBTkFJQU5CRUdvaUJTQUlUdzBCSUFKQjBBQnFJQWtnQTJvaUEwRUlhaWtBQUNBSGhVSUFJQU1wQUFCQzI5SFFoWnJhMzRGbmhVSUFFSjJBZ0lBQUlBSkIwQUJxUVFocUtRTUFJQUlwQTFDRklRY2dCU0VEREFBTEN5QUJJQUJxSWdOQmVHb3BBQUFoQmlBRFFYQnFLUUFBSVFRTElBSkJFR29nQkVMYjBkQ0ZtdHJmZ1dlRlFnQWdCaUFIaFVJQUVKMkFnSUFBSUFJZ0FrRVFha0VJYWlrREFFTGIwZENGbXRyZmdXZUZRZ0FnQWEwZ0Fpa0RFSVZDcjhqMXhjZXNoN3VnZjRWQ0FCQ2RnSUNBQUNBQ1FRaHFLUU1BSVFjZ0Fpa0RBQ0VFSUFKQjRBQnFKSUNBZ0lBQUlBY2dCSVVMV0FFQ2YwRUFJUVFDUUNBQklBTkhEUUFDUUNBQUlBSkhEUUJCQVE4TEEwQWdBVVVoQkNBQlJRMEJJQUZCZjJvaEFTQUNMUUFBSVFNZ0FDMEFBQ0VGSUFCQkFXb2hBQ0FDUVFGcUlRSWdCU0FEUmcwQUN3c2dCQXY4RkFRQmZ3RitIMzhCZmlPQWdJQ0FBRUhnQVdzaUFpU0FnSUNBQUFKQUFrQUNRQ0FCRFFBamdZQ0FnQUJCbUlEQWdBQnFLUU1BSVFOQnF0V3ExWG9oQkVFQUlRVkJDU0VHUVFBaEIwRUFJUUZCQUNFSVFRQWhDUXdCQ3lBQ1FTQnFRUWhxSWdwQkFEWUNBQ0FDUWdBM0F5QWdBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDTENBQ0lBTTNBclFCSUFKQkFEWUNzQUVnQWtLcTFhclZDamNDcUFFQ1FBSkFBa0FnQWtHb0FXb2dBUkNOZ0lDQUFFSC8vd054RFFBZ0FrRWdha0VNYWlFTElBSkJPR3BCRUdvZ0FrR29BV3BCRUdvb0FnQTJBZ0FnQWtFNGFrRUlhaUFDUWFnQmFrRUlhaUlNS1FJQU53TUFJQUlnQWlrQ3FBRTNBemdnQWtFSk93RlVJQUpDQURjQ1RDQURRaUNJcHlFTklBT25JUTVCZ0FJaEQwRUFJUWdEUUNBQUlBaHFJUWRCQUNFRUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUEwQUNRQUpBSUFSQkFtb2lDU0FJYWlBQlR3MEFJQUpCMkFCcUlBSkJJR29nQnlBSkVJbUFnSUFBSUFJdEFGd05BU0FDS0FJZ0lSQWdBaWdDS0EwR0FrQUNRQ0FRRFFCQkFTRUZEQUVMSUJCQmZHb29BZ0N0UXRBQWZpSURJQU5DNUFDQ2ZVTGtBSHhDMEFDQXB5RUZDMEVBSVFZZ0RFRUFOZ0lBSUFKQ0FEY0RxQUZCQUEwRkFrQUNRRUlCUVNBZ0JXZHJyVUwvL3dPRGhxY2lCVUVJSUFWQkNFc2JJaEZCRDJvaUVpQVJRUU4wYWlJVElCRkJBblJxUVh4eElnVU5BRUY4SVFVTUFRdEJBQ0VHSUE0Z0JVRUNRUUFnRFNnQ0FCR0FnSUNBQUFBaUJVVU5CZ3NnQlVFSWFpSVVJQkUyQWdBZ0JTQUZJQkpCZkhGcU5nSUVJQVVnQlNBVFFYeHhhallDQUNBQ0lBVkJER29pQlRZQ3FBRWdCVUVBSUJFUW5vQ0FnQUFoQmlBQ0lCR3RRdEFBZmtMa0FJQ25JaFUyQXJBQklBSW9BaVFpRmtVTkJFRUFJUmRCQUNFWUFrQWdFRVVOQUNBUVFYeHFLQUlBSVJnTElBWkJkR29oR1NBR1FYaHFJUm9nRUVGMGFpSUZLQUlBSVJzZ0JVRUVhaWdDQUNFY1FRQWhIUU5BSUIwZ0dFWU5CQUpBSUJBZ0hXb3NBQUJCQUU0TkFDQWJJQjFCQW5ScUlnVkJBbW90QUFCQkVIUWhIaUFGTHdFQUlSOGdIQ0FkUVFOMGFpSUZLQUlFSVNBZ0JTZ0NBQ0VoQWtBZ0YwVU5BQ0FoSUNBUWlvQ0FnQUFoQXlBVUtBSUFJaEZCZjJvaUV5QURwM0VoQlNBRFFqbUlweUVpQTBBZ0JpQUZhaXdBQUNJU1JRMEJJQkZGRFFFQ1FDQVNRWDlLRFFBZ0lpQVNRZjhBY1VjTkFDQWhJQ0FnR2lnQ0FDQUZRUU4wYWlJU0tBSUFJQklvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBa0VCT2dEY0FRd0NDeUFSUVg5cUlSRWdCVUVCYWlBVGNTRUZEQUFMQ3lBZklCNXlJUk1nSVNBZ0VJcUFnSUFBSVFNZ0ZDZ0NBRUYvYWlJU0lBT25jU0VGQWtBRFFDQUdJQVZxSWhFc0FBQkJmMG9OQVNBRlFRRnFJQkp4SVFVTUFBc0xJQkVnQTBJNWlLZEJnQUZ5T2dBQUlCb29BZ0FnQlVFRGRHb2lFU0FnTmdJRUlCRWdJVFlDQUNBWktBSUFJQVZCQW5ScUlnVWdFenNCQUNBRlFRSnFJQk5CZ0lBOGNVRVFkam9BQUNBVlFYOXFJUlVnRjBFQmFpSVhJQlpIRFFBZ0ZpRVhEQVVMSUIxQkFXb2hIUXdBQ3dzQ1FBSkFJQWhCQVdvZ0FVa05BQ0FDUVRocUlBY3RBQUFRaFlDQWdBQkIvLzhEY1EwT0RBRUxJQUpCNkFCcVFSQnFJQUpCSUdwQkVHb29BZ0EyQWdBZ0FrSG9BR3BCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBMmdnQWtHQUFXb2dBa0hvQUdvZ0J5QUVRUUpxRUltQWdJQUFBa0FDUUFKQUlBSXRBSVFCRFFBZ0JBMEJJQWN0QUFBaENRd0NDeUFDUVRocUlBSXZBWUFCSUFJdEFJSUJRUkIwY2hDRmdJQ0FBRUgvL3dOeFJRMENEQThMSUFKQmlBRnFRUkJxSUFKQklHcEJFR29vQWdBMkFnQWdBa0dJQVdwQkNHb2dBa0VnYWtFSWFpa0RBRGNEQUNBQ0lBSXBBeUEzQTRnQklBSkJvQUZxSUFKQmlBRnFJQWNnQkVFQmFoQ0pnSUNBQUNBQ0x3R2dBU0FDTFFDaUFVRVFkSEloQ1FzZ0FrRTRhaUFKRUlXQWdJQUFRZi8vQTNFTkRTQUNRVGhxSUFjZ0JHcEJBV290QUFBUWhZQ0FnQUJCLy84RGNRME5DeUFDUVNCcUVJZUFnSUFBSUFJdkFWWWhFU0FDTFFCVklRVWdBaTBBVkNFR0lBSW9BbEFoQnlBQ0tBSk1JUUVnQWlrQ1JDRURJQUlvQWtBaENDQUNLQUk4SVFrZ0FpZ0NPQ0VFREE4TElBUkJBV29oQkF3QUN3c2dBaUFWTmdLd0FTQUNJQmMyQXF3QkN5QUtLQUlBSVFVZ0NpQU1LQUlBTmdJQUlBd2dCVFlDQUNBQ1FRQTJBaVFnQWlrRElDRURJQUlnQWlrRHFBRWlJemNESUNBQ0lBTTNBNmdCSUNPbklSQkJBU0VHQ3lBQ1FhZ0JhaUFMRUlpQWdJQUFJQVlOQUNPQmdJQ0FBQ0VGSUFJb0FpUU5BU0FGUVlDQXdJQUFhaUVTREFNTElBY2dDUkNLZ0lDQUFDRURBa0FDUUNBUURRQWdBNmNoQlVFQUlSSkJmeUVkREFFTElCQkJmR29vQWdBaUVrRi9haUlkSUFPbmNTRUZDeUFRUVhocUlTQWdFRUY4YWlFaElBTkNPWWluSVNJZ0VpRUdBMEFnRUNBRmFpSVRMQUFBSWhGRkRRSWdCa0VBUmcwQ0FrQUNRQ0FSUVg5S0RRQWdJaUFSUWY4QWNVY05BQ0FISUFrZ0lDZ0NBQ0FGUVFOMGFpSVJLQUlBSUJFb0FnUVFpNENBZ0FCQkFYRkZEUUVNQmdzZ0VpQWhLQUlBUncwQUlBVWdFaUFSUVFGR0d5RVNDeUFHUVg5cUlRWWdCVUVCYWlBZGNTRUZEQUFMQ3lBSElBa1Fpb0NBZ0FBaEF3SkFBa0FnRUEwQVFRQWhCa0YvSVJNTUFRc2dFRUY4YWlnQ0FDSUdRWDlxSVJNTElCQkJlR29oSWlBVElBT25jU0VGSUFOQ09ZaW5JUjBEUUNPQmdJQ0FBRUdBZ01DQUFHb2hFaUFRSUFWcUxBQUFJaEZGRFFJZ0JrVU5BZ0pBSUJGQmYwb05BQ0FkSUJGQi93QnhSdzBBSUFjZ0NTQWlLQUlBSUFWQkEzUnFJaEVvQWdBZ0VTZ0NCQkNMZ0lDQUFFRUJjVVVOQUNBQ1FRRTZBTUFCSUFJZ0JUWUN2QUVnQWtHOEFXb2hFZ3dEQ3lBR1FYOXFJUVlnQlVFQmFpQVRjU0VGREFBTEN5QWhLQUlBSVFZZ0FpQUNLQUlvUVg5cU5nSW9JQkFnRW1vZ0V5QVNJQVpKSWdZYklDSkJnQUZ5T2dBQUlCQkJkR29vQWdBaEVTQWdLQUlBSVJNZ0FpQUNLQUlrUVFGcU5nSWtJQk1nRWlBRklBWWJJZ1ZCQTNScUlnWWdDVFlDQkNBR0lBYzJBZ0FnRVNBRlFRSjBhaUVKREFJTElCSXRBQVJGRFFRZ0VpZ0NBQ0VGQ3lBUVFYUnFLQUlBSUFWQkFuUnFJUWtMSUFrZ0R6c0JBQ0FKUVFKcUlBOUJnSUE4Y1VFUWRqb0FBQUpBQWtBZ0JBMEFJQWN0QUFBaENRd0JDeUFDUWVBQWFpQUNRU0JxSUFjZ0JFRUJhaENKZ0lDQUFDQUNMd0ZnSUFJdEFHSkJFSFJ5SVFrTElBSkJPR29nQ1JDRmdJQ0FBRUgvL3dOeERRRWdDQ0FFYWtFQmFpRUlJQTlCQVdvaUQwSC8vejl4UWYvL1AwY05BQ0FRUVFBZ0VFRjhhaWdDQUNJRUVKNkFnSUFBR2lBQ1FRQTJBaVFnQWlBRXJVTFFBSDVDNUFDQVBnSW9JQUpCT0dwQi8vOC9FSVdBZ0lBQVFmLy9BM0VOQVNBQ1FRQTJBbEFnQWtFSk9nQlVRWUFDSVE4TUFBc0xJQUpCSUdvUWg0Q0FnQUFNQVFzZ0FrRWdhaENIZ0lDQUFBdEJBQ0VFREFFTElBSWdFVHNCSGlBQ0lBVTZBQjBnQWlBR09nQWNJQUlnQnpZQ0dDQUNJQUUyQWhRZ0FpQUROd0lNSUFJZ0NEWUNDQ0FDSUFRMkFnQWdBaUFKTmdJRVFRQWhCQ0FDSUFsQkFtb1Fob0NBZ0FCQi8vOERjUTBBSUFJb0FnQWlCQ0FDS0FJRVFRTjBhaUlGUVFocUlBSW9BZ2hCQW5TdE53TUFJQVVnQ1VFRGRDSUpRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUVJQWxxUVFScUlRUUxJQUpCNEFGcUpJQ0FnSUFBSUFRTDFnSURCSDhCZmdKL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQkJBQ0VESUFBb0Fnd2dCU0FFUVFOMFFRTWdBVUVEZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQUtRSU1JUVlnQWlBQlFmLy8vLzhCU3pvQURBSkFJQUZCZ0lDQWdBSlBEUUFDUUFKQUlBRkJBM1FpQXcwQVFYZ2hBd3dCQ3lBR3B5QURRUU5CQUNBR1FpQ0lweWdDQUJHQWdJQ0FBQUFpQTBVTkFRc2dBeUFBS0FJQUlBQW9BZ1JCQTNRUW40Q0FnQUFoQjBFQUlRTUNRQ0FFUVFOMFFRQWdCQnNpQ0VVTkFDQUFLQUlNSUFWQkNDQUVHeUFJUVFOQkFDQUFRUkJxS0FJQUtBSUlFWUdBZ0lBQUFBc2dBQ0FCTmdJSUlBQWdCellDQUF3QkMwRUJJUU1MSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRa0lDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzRNTUF3Ri9BWDRMZnlPQWdJQ0FBRUhRQUdzaUF5U0FnSUNBQUNBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBREk0R0FnSUFBUVppQXdJQUFhaWtEQUNJRU53SklBa0FDUUFKQUFrQWdBZzBBUWFyVnF0VjZJUVZCQUNFR0RBRUxRYXJWcXRWNklRVWdBaUVHSUFOQnlBQnFJZ2RCcXRXcTFYcEJBQ0FDRUpLQWdJQUFRUUZ4RFFBZ0EwRW9haUFISUFJUWs0Q0FnQUFnQXk4Qk1BMEJJQU1vQWl3aEJpQURLQUlvSVFVTFFRa2hDRUVBSVFsQkFDRUtRUUFoQzBFQUlRd0RRQUpBQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3RUN5QURJQVEzQXlBQ1FBSkFJQU5CSUdvZ0JTQUdJQUlRa29DQWdBQkJBWEZGRFFBZ0JTRUlEQUVMSUFOQlBHb2dBMEVnYWlBQ0VKT0FnSUFBSUFNdkFVUU5CaUFES0FJOElnZ2dCU0FES0FKQUlnSkJBblFRbjRDQWdBQWFJQU1nQkRjREtDQURRU2hxSUFVZ0JoQ1VnSUNBQUFzQ1FDQUNEUUJCQUNFSlFhclZxdFY2SVFwQkFDRU1EQUlMSUFOQkFEWUNNQ0FEUXFyVnF0VUtOd0lvSUFNZ0JEY0NOQ0FEUVFCQi8vOC9FSTZBZ0lBQUlnZEIvLy8vL3dGTE9nQThJQWRCZ0lDQWdBSlBEUUlDUUFKQUlBZEJBM1FpRFEwQVFYd2hEUXdCQ3lBRXB5QU5RUUpCQUNBRVFpQ0lweWdDQUJHQWdJQ0FBQUFpRFVVTkF3c2dBeUFITmdJd0lBTWdEVFlDS0VFQUlRY0NRQU5BSUFkQitQLy9BMFlOQVNBTklBZHFRZ0EzQWdBZ0IwRUlhaUVIREFBTEN5QURRZi8vUHpZQ0xDQURJQVEzQWtoQkFDRUhJQU5CQURZQ1JDQURRcXJWcXRVS053SThJQU5CUEdvZ0FrRVliQkNWZ0lDQUFFSC8vd054RFFJZ0F5a0NTQ0VFSUFNb0FrUWhEQ0FES0FJOElnb2dBeWdDUUNJSmFpQUlMUUFBT2dBQUlBMGdDQzhCQUNBSVFRSnFMUUFBUVJCMGNrRURkR29pRGtFQk5nSUVJQTRnQ2pZQ0FDQUpRUUZxSVFCQmdBSWhEMEVCSVE0RFFDQUFJUWtDUUFKQUFrQUNRQ0FPSUFKUERRQUNRQ0FJSUE1QkFuUnFJZ0F2QVFBZ0FFRUNhaTBBQUVFUWRISWlBRUgvL3o5SERRQWdEa0VCYWlJT0lBSlBEUUZCQUNFSEFrQURRQ0FIUWZqLy93TkdEUUVnRFNBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzQ1FDQUlJQTVCQW5ScUlnY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJaUIwR0FBa2tOQUNBRFFmLy9QellDTEF3SkN5QUtJQWxxSUFjNkFBQWdDVUVCYWlFQVFZQUNJUThNQkFzZ0FFR0FBa2tOQVFKQUlBMGdBRUVEZEdvaUFDZ0NBQ0lMRFFBZ0NpQUphaUFLSUFkcUlnQWdDU0FIYXlJTEVKK0FnSUFBR2lBS0lBc2dDV29pQzJvZ0FDMEFBRG9BQUNBTFFRRnFJUUFNQXdzZ0NpQUphaUFMSUFBb0FnUWlBQkNmZ0lDQUFCb2dBQ0FKYWlFQURBSUxJQU5CLy84L05nSXNJQU5CS0dvUWo0Q0FnQUFNQlFzZ0NpQUphaUFBT2dBQUlBbEJBV29oQUFzZ0RTQVBRZi8vUDNGQkEzUnFJZ3NnQ1NBSGEwRUJhallDQkNBTElBb2dCMm8yQWdBZ0QwRUJhaUVQQ3lBT1FRRnFJUTRnQ1NFSERBQUxDeUFJSUF0QmdBSnFRWDhnQjNSQmYzTlBhaUVJREFJTElBTWdCRGNDR0NBRElBbzJBZ3dnQXlBSk5nSVFJQU1nRERZQ0ZBSkFBa0FnRENBSlFRaHFJZzFKRFFBZ0NTRUhEQUVMUVFBaEJ5QURRUXhxSUF3Z0RSQ09nSUNBQUJDVmdJQ0FBRUgvL3dOeERRVWdBeWdDRENFS0lBTW9BaFFoRENBREtBSVFJUWNMSUFvZ0Iyb2lCeUFKT2dBQUlBZEJCMm9nREVFWWRqb0FBQ0FIUVFacUlBeEJFSFk2QUFBZ0IwRUZhaUFNUVFoMk9nQUFJQWRCQkdvZ0REb0FBQ0FIUVFOcUlBbEJHSFk2QUFBZ0IwRUNhaUFKUVJCMk9nQUFJQWRCQVdvZ0NVRUlkam9BQUNBS0lBbHFJUWNNQkFzZ0EwRW9haENQZ0lDQUFBd0NDMEVBSVE0Z0NDRUhBa0FEUUNBSFFmOEJjU0lOUlEwQklBQWdDaUFKUWY4QmNVSEFBRVlpRDJvaUNrRURkR29wQXdCQkFDQUpJQThiSWdsQlAzR3Roa0VBSUExQndBQWdDV3RCL3dGeElnOGdEU0FQU1JzaURXdEJQM0d0aUtjZ0J5QU5heUlIZENBT2NpRU9JQTBnQ1dvaENRd0FDd3NnQlNBTVFRSjBhaUlISUE0N0FRQWdCMEVDYWlBT1FmLy9QM0VpQjBFUWRqb0FBRUVBSUF0QkFXb2dCMEgvL3o5R0lnY2JJUXRCQ1NBSUlBY2JJUWdnREVFQmFpRU1EQUFMQzBFQUlRY0xJQU5CMEFCcUpJQ0FnSUFBSUFjTGtBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1VnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFmLy8vLzhEU3pvQURDQURRWUNBZ0lBRVR3MEFJQUFvQWdBZ0FTQUNRUUowUVFJZ0EwRUNkRUVBSUFBb0FnUW9BZ1FSZ29DQWdBQUFJUVVMSUFSQkVHb2tnSUNBZ0FBZ0JRdkJBUUlCZndGK0k0Q0FnSUFBUVNCcklnTWtnSUNBZ0FBZ0FTa0NBQ0VFSUFNZ0FrSC8vLy8vQTBzNkFCd0NRQUpBSUFKQmdJQ0FnQVJQRFFBQ1FBSkFJQUpCQW5RaUFRMEFRWHdoQVF3QkN5QUVweUFCUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaUFVVU5BUXNnQXlBQ05nSVVJQU1nQVRZQ0VDQURRUUE3QVJnZ0EwRVFhaUVDREFFTElBTkJBVHNCRENBRFFRUnFJUUlMSUFBZ0Fpa0NBRGNDQUNBQVFRaHFJQUpCQ0dvb0FnQTJBZ0FnQTBFZ2FpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFQ2RFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5b0JBUVYvSTRDQWdJQUFRU0JySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FDUUNBRVJRMEFRUUFOQUNBQUtBSU1JQVVnQkVFQUlBRkJBQ0FBUVJCcUtBSUFLQUlFRVlLQWdJQUFBRUVCY1VVTkFDQUFJQUUyQWdnTUFRc2dBaUFBUVF4cUlnWXBBZ0EzQXhBZ0FrRVlhaUFDUVJCcUlBRVFnWUNBZ0FBZ0FpOEJIQ0lERFFFZ0FpZ0NHQ0FBS0FJQUlBQW9BZ1FRbjRDQWdBQWhBeUFHSUFVZ0JCQ0VnSUNBQUNBQUlBRTJBZ2dnQUNBRE5nSUFDMEVBSVFNTElBSkJJR29rZ0lDQWdBQWdBd3ZTQWdNR2Z3RitCMzhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FBS0FJRUlRUWdBQ2dDQUNFRlFRQWhCaUFDUWY4QmNTRUhBMzhDUUFKQUFrQWdCaUFFUncwQVFYOGhDQXdCQ3dKQUlBVWdCa0VFZEdvaUFrRUlhaWtEQUNJSlFnQlREUUFnQWlrREFIc2dDWHQ4cHlBQlNRMENDeUFHUVFkMElnaEJnQUZxSVFvRFFDQUlJQXBQRFFJZ0NDQUFLUUlBSWdsQ0dZaW5RWUIvY1NJQ0lBZ2dBa3NiSWdzZ0NHc2hEQ0FKcDBFSUlBbENJSWluR3lFTklBaEJFSFJvSVE1QkFDRUNBa0FEUUFKQUlBd2dBa2NOQUNBTElROE1BZ3RCL3dFZ0NDQUNhaUlQUVFkeEloQkJCM04yUVFFZ0VIUnhJQTBnRDBFRGRtb3RBQUJ4UlEwQklBSkJBV29pQWlBQlNRMEFJQTRnQjBrTkFBc2dBeUFKTndNSUlBTkJDR29nQ0NBQlFRQVFsNENBZ0FBTUFnc2dEMEVCYWlFSURBQUxDeUFEUVJCcUpJQ0FnSUFBSUFnUEN5QUdRUUZxSVFZTUFBc0xWQUVCZnlBRFFRRnhJUVFDUUFOQUlBSkZEUUVnQUNnQ0FFRUlJQUFvQWdRYklBRkJBM1pxSWdNZ0F5MEFBRUYrSUFGQkIzRWlBM2R4SUFRZ0EzUnlPZ0FBSUFGQkFXb2hBU0FDUVg5cUlRSU1BQXNMQzlzQkFRTi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQUNRQ0FBUVlBUVR3MEFJNEdBZ0lBQVFhaUF3SUFBYWlBQUlBRkJnQkFnQVVHQUVFa2JJQUJyRUptQWdJQUFDd0pBSUFGQmdCQk5EUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb29BZ1FOQUNPQmdJQ0FBRUdnZ01DQUFHb2lBMEdBSURZQ0JDQURJQUZCZjJvaUFVRVFkQ0lFTmdJQUlBUkJBRUdBZ0FRUW5vQ0FnQUFhQ3lBQ0k0R0FnSUFBUWFDQXdJQUFhaWtEQURjRENDQUNRUWhxSUFCQmdCQWdBRUdBRUVzYklnQkJnSEJxSUFFZ0FHc1FtWUNBZ0FBTElBSkJFR29rZ0lDQWdBQUxPd0VCZnlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FDa0NBRGNEQ0NBRFFRaHFJQUVnQWtFQkVKZUFnSUFBSUFOQkVHb2tnSUNBZ0FBTHZRRUJCSDlCQUNFRUFrQWdBVUdCZ0h4UERRQUNRQ09CZ0lDQUFFR29nTUNBQUdvZ0FVSC8vd05xUVJCMklnRWdBaENXZ0lDQUFDSUVRWDlIRFFBQ1FDT0JnSUNBQUVHZ2dNQ0FBR29nQVNBQ0VKYUFnSUFBSWdSQmYwWU5BQ0FFUVlBUWFpRUVEQUVMUVFBaEJFRUJJQUowSWdVL0FDSUdRUkIwSWdKcVFYOXFRUUFnQld0eElnVWdBbXRCRUhZaUJ5QUJha0FBUVFGSURRRWdCeUFHYWlFRUlBVWdBa1lOQUNBR0lBUVFtSUNBZ0FBTElBUkJFSFFoQkFzZ0JBdFBBUUYvQWtBZ0FrSC8vd05xSWdaQmdJQjhjU0FFVHlJQ1JRMEFJQVJCLy84RGFrRVFkaUlFSUFaQkVIWWlCa1lOQUNBRUlBRkIvLzhEYWtFUWRpSUJhaUFCSUFacUVKaUFnSUFBQ3lBQ0N5RUFJQUZCLy84RGFrRVFkaUlCSUFFZ0FrSC8vd05xUVJCMmFoQ1lnSUNBQUF0MUFRRitJQUFnQkNBQmZpQUNJQU4rZkNBRFFpQ0lJZ0lnQVVJZ2lDSUVmbndnQTBMLy8vLy9ENE1pQXlBQlF2Ly8vLzhQZ3lJQmZpSUZRaUNJSUFNZ0JINThJZ05DSUloOElBTkMvLy8vL3crRElBSWdBWDU4SWdGQ0lJaDhOd01JSUFBZ0FVSWdoaUFGUXYvLy8vOFBnNFEzQXdBTExBRUJmd0pBSUFKRkRRQWdBQ0VEQTBBZ0F5QUJPZ0FBSUFOQkFXb2hBeUFDUVg5cUlnSU5BQXNMSUFBTFFnRUJmd0pBSUFKRkRRQWdBa0YvYWlFQ0lBQWhBd05BSUFNZ0FTMEFBRG9BQUNBQ1JRMEJJQUpCZjJvaEFpQUJRUUZxSVFFZ0EwRUJhaUVEREFBTEN5QUFDd3RCQWdCQmdJREFBQXNJQUFBQUFBQUFBQUFBUVlpQXdBQUxLQUVBQUFBQ0FBQUFBd0FBQUFBQUFBQUFBQUFBQ0FBUUFLcXFxcW9BQUFBQU1BQVFBQkFBQUFBPSIpOwpjb25zdCBlID0gYXdhaXQgSigpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBjKEEpIHsKICBjb25zdCB7IHB0cjogQywgbGVuZ3RoOiBJIH0gPSBrKEEsIEIpLCBnID0gQi5jb21wcmVzc1BhY2tlZChDLCBJKTsKICBCLmZyZWUoQywgSSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdChCLm1lbW9yeSwgZyksIEQgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgYSA9IGgoRCk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgYTsKfQpmdW5jdGlvbiBzKEEpIHsKICBjb25zdCBDID0gKEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDEpIDw8IDE2KSArIEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDIpOwogIGxldCBJID0gQi5hbGxvY1VpbnQxNihBLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgSSwKICAgIEEubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBBLmxlbmd0aCAtIDI7IG8rKykKICAgIGdbb10gPSBBLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgUSA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEksCiAgICBBLmxlbmd0aCAtIDIsCiAgICBDCiAgKTsKICBCLmZyZWUoSSwgQS5sZW5ndGggLSAyKTsKICBjb25zdCB7IHN0YXJ0OiBFLCBlbmQ6IGksIGNhcGFjaXR5OiBEIH0gPSB0KEIubWVtb3J5LCBRKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLCBpKSksIEYgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShFLCBEKSwgRjsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihBKSB7CiAgY29uc3QgeyBjb21tYW5kOiBDLCBpZDogSSwgZGF0YTogZyB9ID0gQS5kYXRhOwogIHN3aXRjaCAoQykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogcyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogYyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", V = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function
|
|
1
|
+
const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsQyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksZz1DLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6ZyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGUoQSl7Y29uc3QgQz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKUNbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gQy5qb2luKCIiKX1mdW5jdGlvbiB3KEEsQyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoQyxDKzgpKSxnPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpDLWcsZW5kOkMsY2FwYWNpdHk6UX19dmFyIEo9YXN5bmMoQT17fSxDKT0+e2xldCBJO2lmKEMuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1DLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQyksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxjPUE9PkooQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQlg5K2ZuNStBR0FCZlFGOUF5UWpBd1FEQlFRREJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQkFzTUNnb0VCUUZ3QVFRRUJRTUJBQkVHRGdKL0FVR0FnTUFBQzM4QVFRQUxCMUFHQm0xbGJXOXllUUlBQ21Gc2JHOWpWV2x1ZERnQUFBdGhiR3h2WTFWcGJuUXhOZ0FDQkdaeVpXVUFBdzVqYjIxd2NtVnpjMUJoWTJ0bFpBQU5FR1JsWTI5dGNISmxjM05RWVdOclpXUUFFZ2tKQVFCQkFRc0RHeHdkQ3R4REkxNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxoZ0VDQW44QmZpT0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBRUVBU0RvQURDT0JnSUNBQUNFQ0FrQWdBRUYvVEEwQUFrQUNRQ0FBUVFGMElnQU5BRUYrSVFBTUFRc2dBa0dZZ01DQUFHb3BBd0FpQTZjZ0FFRUJRUUFnQTBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ0JGRFFFTElBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDeGtBSTRHQWdJQUFRWmlBd0lBQWFpQUFJQUVRaElDQWdBQUxPQUVCZndKQUlBSkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVR3ExYXJWZWlBQ0d5QURRUUJCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMUVFFQ2Z3SkFJQUFnQUNnQ0JFRUJhaENHZ0lDQUFDSUJRZi8vQTNFTkFDQUFJQUFvQWdRaUFrRUJhallDQkNBQUtBSUFJQUpCQTNScVFnQTNBd0FMSUFFTExRRUNmMEVBSVFJQ1FDQUFLQUlJSWdNZ0FVOE5BQ0FBSUFNZ0FSQ1BnSUNBQUJDT2dJQ0FBQ0VDQ3lBQ0M0RUNBd0YvQVg0Q2Z3SkFJQUF0QUJ3aUFrRVVUdzBBSUFBb0FoaEJnQUpxUVg4Z0FuUkJmM05KRFFBZ0FDQUNRUUZxSWdJNkFCd0xJQUd0UXYvL1A0TWhBd04vQWtBQ1FBSkFBa0FnQWtIL0FYRWlCRVVOQUNBQUxRQWRJZ0ZCd0FCR0RRRU1Bd3NnQUNBQUtBSVVRUUZxTmdJVUlBQWdBQ2dDR0VFQmFqWUNHRUVBSVFFTUFRc2dBQkNGZ0lDQUFDSUJRZi8vQTNFTkFFRUFJUUVnQUVFQU9nQWREQUVMSUFFUEN5QUFLQUlFUVFOMElBQW9BZ0JxUVhocUlnVWdCU2tEQUNBRFFRQWdBbXRCUDNHdGhpQUJyWWlFTndNQUlBQWdBQzBBSFNBRVFjQUFJQUZyUWY4QmNTSUJJQVFnQVVrYklnRnFPZ0FkSUFJZ0FXc2hBZ3dBQ3dzUEFDQUFJQUJCREdvUWlZQ0FnQUFMWlFFRGZ3SkFJQUFvQWdBaUFrVU5BQUpBSUFKQmRHb2lBMEVJYWlnQ0FFRU5iRUVQYWtGOGNTSUNRUUFnQWhzaUJFVU5BQ0FCS0FJQUlBTkJCQ0FDR3lBRVFRSkJBQ0FCS0FJRUtBSUlFWUdBZ0lBQUFBc2dBRUVBTmdJSUlBQkJBRFlDQUFzTGdRTUVCSDhCZmdSL0FYNGpnSUNBZ0FCQkVHc2lCQ1NBZ0lDQUFDT0JnSUNBQUNFRklBRW9BZ0FoQmdKQUFrQWdBU2dDQkEwQUlBVkJnSURBZ0FCcUlRY01BUXNnQWlBREVJdUFnSUFBSVFnQ1FBSkFJQVlOQUVFQUlRVkJmeUVKREFFTElBWkJmR29vQWdBaUJVRi9haUVKQ3lBR1FYaHFJUW9nQ1NBSXAzRWhBU0FJUWptSXB5RUxBMEFqZ1lDQWdBQkJnSURBZ0FCcUlRY2dCaUFCYWl3QUFDSU1SUTBCSUFWRkRRRUNRQ0FNUVg5S0RRQWdDeUFNUWY4QWNVY05BQ0FDSUFNZ0NpZ0NBQ0FCUVFOMGFpSU1LQUlBSUF3b0FnUVFqSUNBZ0FCQkFYRkZEUUFnQkVFQk9nQU1JQVFnQVRZQ0NDQUVRUWhxSVFjTUFnc2dCVUYvYWlFRklBRkJBV29nQ1hFaEFRd0FDd3NDUUFKQUlBY3RBQVFOQUVJQUlRaENBQ0VOREFFTElBUWdCa0YwYWlnQ0FDQUhLQUlBUVFKMGFpSUJRUUpxTFFBQVFROXhPZ0FDSUFRZ0FTOEJBRHNCQUNBRU13RUFJQVF4QUFKQ0VJYUVJUWhDZ0lDQWdCQWhEUXNnQUNBTklBaUVOd0lBSUFSQkVHb2tnSUNBZ0FBTDdBVUZBbjhCZmdGL0FuNENmeU9BZ0lDQUFFSGdBR3NpQWlTQWdJQ0FBQUpBQWtBQ1FBSkFBa0FnQVVFUVN3MEFJQUZCQTAwTkFTQUFOUUFBUWlDR0lBQWdBVUVCZGtIOC8vLy9CM0VpQTJvMUFBQ0VJUVFnQUNBQlFYeHFJZ1ZxTlFBQVFpQ0dJQUFnQlNBRGEybzFBQUNFSVFaQ3JKcmkwNlBTOFBvZklRY01CQXRCQUNFRFFxeWE0dE9qMHZENkh5RUhRUUFoQlNBQlFUQkpEUUpCQUNFRlFxeWE0dE9qMHZENkh5RUhRcXlhNHRPajB2RDZIeUVFUXF5YTR0T2owdkQ2SHlFR0EwQWdCVUV3YWlJSUlBRlBEUUlnQWtIQUFHb2dBQ0FGYWlJRktRQUlJQWFGUWdBZ0JTa0FBRUxiMGRDRm10cmZnV2VGUWdBUW40Q0FnQUFnQWtFd2FpQUZRUmhxS1FBQUlBU0ZRZ0FnQlVFUWFpa0FBRUxqamFQa2lkNmEzbzUvaFVJQUVKK0FnSUFBSUFKQklHb2dCVUVvYWlrQUFDQUhoVUlBSUFWQklHb3BBQUJDdzVuZHFjZTUyY3pZQUlWQ0FCQ2ZnSUNBQUNBQ1FjQUFha0VJYWlrREFDQUNLUU5BaFNFR0lBSkJJR3BCQ0dvcEF3QWdBaWtESUlVaEJ5QUNRVEJxUVFocUtRTUFJQUlwQXpDRklRUWdDQ0VGREFBTEMwSUFJUVpDckpyaTA2UFM4UG9mSVFjQ1FDQUJEUUJDQUNFRURBTUxJQUFnQVVFQmRtb3hBQUJDQ0lZZ0FERUFBRUlRaG9RZ0FTQUFha0YvYWpFQUFJUWhCQXdDQ3lBRUlBZUZJQWFGSVFjTElBQWdCV29oQ1NBQklBVnJJUWdDUUFOQUlBTkJFR29pQlNBSVR3MEJJQUpCMEFCcUlBa2dBMm9pQTBFSWFpa0FBQ0FIaFVJQUlBTXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKK0FnSUFBSUFKQjBBQnFRUWhxS1FNQUlBSXBBMUNGSVFjZ0JTRUREQUFMQ3lBQklBQnFJZ05CZUdvcEFBQWhCaUFEUVhCcUtRQUFJUVFMSUFKQkVHb2dCRUxiMGRDRm10cmZnV2VGUWdBZ0JpQUhoVUlBRUorQWdJQUFJQUlnQWtFUWFrRUlhaWtEQUVMYjBkQ0ZtdHJmZ1dlRlFnQWdBYTBnQWlrREVJVkNyOGoxeGNlc2g3dWdmNFZDQUJDZmdJQ0FBQ0FDUVFocUtRTUFJUWNnQWlrREFDRUVJQUpCNEFCcUpJQ0FnSUFBSUFjZ0JJVUxXQUVDZjBFQUlRUUNRQ0FCSUFOSERRQUNRQ0FBSUFKSERRQkJBUThMQTBBZ0FVVWhCQ0FCUlEwQklBRkJmMm9oQVNBQ0xRQUFJUU1nQUMwQUFDRUZJQUJCQVdvaEFDQUNRUUZxSVFJZ0JTQURSZzBBQ3dzZ0JBdU9FZ1lEZndGK0JuOEJmZ0Y5Q1g4amdJQ0FnQUJCc0FKcklnSWtnSUNBZ0FBQ1FBSkFBa0FDUUFKQUlBRU5BQ0FDUVFrN0FaUUNJQUpDQURjQ2pBSWdBa0VBTmdLQUFpQUNRcXJWcXRVS053TDRBU0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNDaEFJQ1FDQUNRZmdCYWhDRmdJQ0FBQ0lEUWYvL0EzRU5BQ0FDUWNBQWFrRVlhaUFDUWZnQmFrRVlhaWtDQURjREFDQUNRY0FBYWtFUWFpQUNRZmdCYWtFUWFpa0NBRGNEQUNBQ1FjQUFha0VJYWlBQ1FmZ0Jha0VJYWlrQ0FEY0RBQ0FDSUFJcEF2Z0JOd05BQ3lBQ1FTQnFRUWhxSUFKQndBQnFRUWhxS1FNQU53TUFJQUpCSUdwQkVHb2dBa0hBQUdwQkVHb3BBd0EzQXdBZ0FrRWdha0VZYWlBQ1FjQUFha0VZYWlrREFEY0RBQ0FDSUFJcEEwQTNBeUFNQVF0QkFDRUVJQUpCNEFCcVFRaHFRUUEyQWdBZ0FrSUFOd05nSUFJamdZQ0FnQUJCbUlEQWdBQnFLUU1BSWdVM0Ftd2dBa0g0QVdwQkNHcEJBRFlDQUNBQ1FnQTNBL2dCSUFGQmdJREFBQ0FCUVlDQXdBQkpHMEhrQUd4QjBBQnVJUVlnQWtIc0FHb2hCMEVCSVFNQ1FFRUFEUUJCZkNFSUFrQkNBVUVnSUFabmE2MUMvLzhEZzRhbklnUkJDQ0FFUVFoTEd5SUdRUTlxSWdrZ0JrRURkR29pQ2lBR1FRSjBha0Y4Y1NJTFJRMEFRUUFoQkNBRnB5QUxRUUpCQUNBRlFpQ0lweWdDQUJHQWdJQ0FBQUFpQ0VVTkFRc2dDQ0FHTmdJSUlBZ2dDQ0FKUVh4eGFqWUNCQ0FJSUFnZ0NrRjhjV28yQWdBZ0FpQUlRUXhxSWdnMkF2Z0JRUUFoQXlBSVFRQWdCaENoZ0lDQUFCb2dBa0g0QVdwQkNHb2lDQ0FHUWRBQWJFSGtBRzRpQkRZQ0FDQUNRZUFBYWtFSWFpSUdLQUlBSVFrZ0JpQUVOZ0lBSUFnZ0NUWUNBQ0FDUVFBMkFtUWdBaWtEWUNFTUlBSWdBaWtEK0FFM0EyQWdBaUFNTndQNEFVRUJJUVFMSUFKQitBRnFJQWNRaVlDQWdBQWdCQTBCSUFKQjRBQnFFSWlBZ0lBQUMwRUFJUWdnQTBILy93TnhSUTBCREFJTElBSWdCVGNDcUFJZ0FrRUFOZ0trQWlBQ1FxclZxdFVLTndLY0FnSkFBa0FnQWJOREFBQ0FQNUlRb0lDQWdBQWlEVU1BQUlCUFhTQU5Rd0FBQUFCZ2NVVU5BQ0FOcVNFSURBRUxRUUFoQ0FzQ1FBSkFJQUpCbkFKcUlBaEJGQ0FJUVJSSkd5QUJiRUhBQUdwQkJuWVFqb0NBZ0FCQi8vOERjUTBBSUFKQitBRnFRUkJxSWdnZ0FrR2NBbXBCRUdvb0FnQTJBZ0FnQWtINEFXcEJDR29pQXlBQ1Fad0Nha0VJYWlrQ0FEY0RBQ0FDSUFJcEFwd0NOd1A0QVNBQ1FRazdBWlFDSUFKQ0FEY0NqQUlnQWtINEFXb1FoWUNBZ0FCQi8vOERjUTBBSUFKQitBQnFRUmhxSUFKQitBRnFRUmhxS1FNQU53TUFJQUpCK0FCcVFSQnFJQWdwQXdBM0F3QWdBa0g0QUdwQkNHb2dBeWtEQURjREFDQUNJQUlwQS9nQk53TjRJQUpCQURzQm5BRWdBa0VBT2dDZUFTQUNLQUpnSWdwQmRHb2hEaUFLUVhocUlROGdDa0Y4YWlFUVFZQUNJUkVnQWlnQ2FDRVNJQUlvQW1RaEUwRUFJUU1EUUNBQUlBTnFJUWRCQWlFSUFrQUNRQU5BSUFNZ0NHb2lDU0FCVHcwQ0lBSkJvQUZxSUFKQjRBQnFJQWNnQ0JDS2dJQ0FBQUpBQWtBZ0FpMEFwQUVOQUNBSElBZ1FpNENBZ0FBaEJRSkFBa0FnQ2cwQUlBV25JUU5CQUNFTFFYOGhGQXdCQ3lBUUtBSUFJZ3RCZjJvaUZDQUZwM0VoQXdzZ0JVSTVpS2NoRlNBTElRUUNRQUpBQTBBZ0NpQURhaUlXTEFBQUlnWkZEUUVnQkVFQVJnMEJBa0FDUUNBR1FYOUtEUUFnRlNBR1FmOEFjVWNOQUNBSElBZ2dEeWdDQUNBRFFRTjBhaUlHS0FJQUlBWW9BZ1FRaklDQWdBQkJBWEZGRFFFZ0RpZ0NBQ0FEUVFKMGFpRUREQVFMSUFzZ0VDZ0NBRWNOQUNBRElBc2dCa0VCUmhzaEN3c2dCRUYvYWlFRUlBTkJBV29nRkhFaEF3d0FDd3NnQ2lBTGFpQVdJQXNnRUNnQ0FFa2lCQnNnRlVHQUFYSTZBQUFnRGlnQ0FDRUdJQThvQWdBZ0N5QURJQVFiSWdOQkEzUnFJZ1FnQ0RZQ0JDQUVJQWMyQWdBZ0FpQVNRWDlxSWhJMkFtZ2dBaUFUUVFGcUloTTJBbVFnQmlBRFFRSjBhaUVEQ3lBRElCRTdBUUFnQTBFQ2FpQVJRWUNBUEhGQkVIWTZBQUFnQ0VFQ1J3MEJJQWN0QUFBaENBd0RDeUFDSUFJdEFLSUJPZ0NlQVNBQ0lBSXZBYUFCT3dHY0FTQUlRUUZxSVFnTUFRc0xJQUl2QVp3QklBSXRBSjRCUVJCMGNpRUlDeUFDUWZnQWFpQUlFSWVBZ0lBQVFmLy9BM0VOQWlBSlFYOXFJUU1nRVVFQmFpSVJRZi8vUDNGQi8vOC9SdzBCSUFwQkFDQVFLQUlBSWdnUW9ZQ0FnQUFhSUFKQkFEWUNaQ0FDSUFpdFF0QUFma0xrQUlDbkloSTJBbWdnQWtINEFHcEIvLzgvRUllQWdJQUFRZi8vQTNFTkFrRUFJUk1nQWtFQU5nS1FBU0FDUVFrNkFKUUJRWUFDSVJFTUFRc0xBa0FnQTBFQmFpQUJTUTBBSUFKQitBQnFJQWN0QUFBUWg0Q0FnQUJCLy84RGNRMEJEQUlMSUFKQnFBRnFRUkJxSUFKQjRBQnFRUkJxS0FJQU5nSUFJQUpCcUFGcVFRaHFJQUpCNEFCcVFRaHFLUU1BTndNQUlBSWdBaWtEWURjRHFBRWdBa0hBQVdvZ0FrR29BV29nQnlBSUVJcUFnSUFBQWtBQ1FBSkFJQUl0QU1RQkRRQWdDRUVDUncwQklBY3RBQUFoQ0F3Q0N5QUNRZmdBYWlBQ0x3SEFBU0FDTFFEQ0FVRVFkSElRaDRDQWdBQkIvLzhEY1VVTkF3d0NDeUFDUWNnQmFrRVFhaUFDUWVBQWFrRVFhaWdDQURZQ0FDQUNRY2dCYWtFSWFpQUNRZUFBYWtFSWFpa0RBRGNEQUNBQ0lBSXBBMkEzQThnQklBSkIzQUZxSUFKQnlBRnFJQWNnQ0VGL2FoQ0tnSUNBQUNBQ0x3SGNBU0FDTFFEZUFVRVFkSEloQ0FzZ0FrSDRBR29nQ0JDSGdJQ0FBRUgvL3dOeERRQWdBa0g0QUdvZ0NTQUFha0YvYWkwQUFCQ0hnSUNBQUVILy93TnhSUTBCQ3lBQ1FlQUFhaENJZ0lDQUFFRUFJUWdNQWdzZ0FrSGdBR29RaUlDQWdBQWdBa0VnYWtFWWFpQUNRZmdBYWtFWWFpa0RBRGNEQUNBQ1FTQnFRUkJxSUFKQitBQnFRUkJxS1FNQU53TUFJQUpCSUdwQkNHb2dBa0g0QUdwQkNHb3BBd0EzQXdBZ0FpQUNLUU40TndNZ0N5QUNRUmhxSUFKQklHcEJHR29wQXdBM0F3QWdBa0VRYWlBQ1FTQnFRUkJxS1FNQU53TUFJQUpCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBd0JCQUNFSUlBSWdBaWdDQkNJQlFRSnFFSWFBZ0lBQVFmLy9BM0VOQUNBQ0tBSUFJZ2dnQWlnQ0JFRURkR29pQTBFSWFpQUNOUUlJUWdPR053TUFJQU1nQVVFRGRDSUJRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUlJQUZxUVFScUlRZ0xJQUpCc0FKcUpJQ0FnSUFBSUFnTHJRSURCWDhCZmdGL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQWdBQ2dDRENBRklBUkJBM1JCQXlBQlFRTjBRUUFnQUVFUWFpZ0NBQ2dDQkJHQ2dJQ0FBQUJCQVhGRkRRQWdBQ0FCTmdJSVFRQWhBd3dCQ3lBQVFReHFJZ1lwQWdBaEJ5QUNJQUZCLy8vLy93RkxPZ0FNQWtBZ0FVR0FnSUNBQWs4TkFBSkFBa0FnQVVFRGRDSUlEUUJCZUNFSURBRUxJQWVuSUFoQkEwRUFJQWRDSUlpbktBSUFFWUNBZ0lBQUFDSUlSUTBCQ3lBSUlBQW9BZ0FnQUNnQ0JFRURkQkNpZ0lDQUFDRUlJQVlnQlNBRUVKNkFnSUFBSUFBZ0FUWUNDQ0FBSUFnMkFnQU1BUXRCQVNFREN5QUNRUkJxSklDQWdJQUFJQU1MSlFFQmZ3TkFRWDhnQUVFQmRpQUFha0VJYWlJQ0lBSWdBRWtiSWdBZ0FVa05BQXNnQUFzL0FRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU0FBS1FJTU53TUlJQUZCQ0dvZ0FDZ0NBQ0FBS0FJSUVKR0FnSUFBSUFGQkVHb2tnSUNBZ0FBTE53RUJmd0pBSUFKQkEzUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUVJQUliSUFOQkFrRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3dUREQU1CZndGK0MzOGpnSUNBZ0FCQjBBQnJJZ01rZ0lDQWdBQWdBMEVBTmdKRUlBTkNxdFdxMVFvM0Fqd2dBeU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlCRGNDU0FKQUFrQUNRQUpBSUFJTkFFR3ExYXJWZWlFRlFRQWhCZ3dCQzBHcTFhclZlaUVGSUFJaEJpQURRY2dBYWlJSFFhclZxdFY2UVFBZ0FoQ1RnSUNBQUVFQmNRMEFJQU5CS0dvZ0J5QUNFSlNBZ0lBQUlBTXZBVEFOQVNBREtBSXNJUVlnQXlnQ0tDRUZDMEVKSVFoQkFDRUpRUUFoQ2tFQUlRdEJBQ0VNQTBBQ1FBSkFBa0FDUUFKQUlBd2dBa1lOQUNBSVFmOEJjU0lIUVJSSkRRRU1CQXNnQXlBRU53TWdBa0FDUUNBRFFTQnFJQVVnQmlBQ0VKT0FnSUFBUVFGeFJRMEFJQVVoQ0F3QkN5QURRVHhxSUFOQklHb2dBaENVZ0lDQUFDQURMd0ZFRFFZZ0F5Z0NQQ0lJSUFVZ0F5Z0NRQ0lDUVFKMEVLS0FnSUFBR2lBRElBUTNBeWdnQTBFb2FpQUZJQVlRbFlDQWdBQUxBa0FnQWcwQVFRQWhDVUdxMWFyVmVpRUtRUUFoREF3Q0N5QURRUUEyQWpBZ0EwS3ExYXJWQ2pjQ0tDQURJQVEzQWpRZ0EwRUFRZi8vUHhDUGdJQ0FBQ0lIUWYvLy8vOEJTem9BUENBSFFZQ0FnSUFDVHcwQ0FrQUNRQ0FIUVFOMElnME5BRUY4SVEwTUFRc2dCS2NnRFVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnMUZEUU1MSUFNZ0J6WUNNQ0FESUEwMkFpaEJBQ0VIQWtBRFFDQUhRZmovL3dOR0RRRWdEU0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQTBILy96ODJBaXdnQXlBRU53SklRUUFoQnlBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBRFFUeHFJQUpCR0d3UWxvQ0FnQUJCLy84RGNRMENJQU1wQWtnaEJDQURLQUpFSVF3Z0F5Z0NQQ0lLSUFNb0FrQWlDV29nQ0MwQUFEb0FBQ0FOSUFndkFRQWdDRUVDYWkwQUFFRVFkSEpCQTNScUlnNUJBVFlDQkNBT0lBbzJBZ0FnQ1VFQmFpRUFRWUFDSVE5QkFTRU9BMEFnQUNFSkFrQUNRQUpBQWtBZ0RpQUNUdzBBQWtBZ0NDQU9RUUowYWlJQUx3RUFJQUJCQW1vdEFBQkJFSFJ5SWdCQi8vOC9SdzBBSUE1QkFXb2lEaUFDVHcwQlFRQWhCd0pBQTBBZ0IwSDQvLzhEUmcwQklBMGdCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQ0NBT1FRSjBhaUlITHdFQUlBZEJBbW90QUFCQkVIUnlJZ2RCZ0FKSkRRQWdBMEgvL3o4MkFpd01DUXNnQ2lBSmFpQUhPZ0FBSUFsQkFXb2hBRUdBQWlFUERBUUxJQUJCZ0FKSkRRRUNRQ0FOSUFCQkEzUnFJZ0FvQWdBaUN3MEFJQW9nQ1dvZ0NpQUhhaUlBSUFrZ0Iyc2lDeENpZ0lDQUFCb2dDaUFMSUFscUlndHFJQUF0QUFBNkFBQWdDMEVCYWlFQURBTUxJQW9nQ1dvZ0N5QUFLQUlFSWdBUW9vQ0FnQUFhSUFBZ0NXb2hBQXdDQ3lBRFFmLy9QellDTENBRFFTaHFFSkNBZ0lBQURBVUxJQW9nQ1dvZ0FEb0FBQ0FKUVFGcUlRQUxJQTBnRDBILy96OXhRUU4wYWlJTElBa2dCMnRCQVdvMkFnUWdDeUFLSUFkcU5nSUFJQTlCQVdvaER3c2dEa0VCYWlFT0lBa2hCd3dBQ3dzZ0NDQUxRWUFDYWtGL0lBZDBRWDl6VDJvaENBd0NDeUFESUFRM0FoZ2dBeUFLTmdJTUlBTWdDVFlDRUNBRElBdzJBaFFDUUFKQUlBd2dDVUVJYWlJTlNRMEFJQWtoQnd3QkMwRUFJUWNnQTBFTWFpQU1JQTBRajRDQWdBQVFsb0NBZ0FCQi8vOERjUTBGSUFNb0Fnd2hDaUFES0FJVUlRd2dBeWdDRUNFSEN5QUtJQWRxSWdjZ0NUb0FBQ0FIUVFkcUlBeEJHSFk2QUFBZ0IwRUdhaUFNUVJCMk9nQUFJQWRCQldvZ0RFRUlkam9BQUNBSFFRUnFJQXc2QUFBZ0IwRURhaUFKUVJoMk9nQUFJQWRCQW1vZ0NVRVFkam9BQUNBSFFRRnFJQWxCQ0hZNkFBQWdDaUFKYWlFSERBUUxJQU5CS0dvUWtJQ0FnQUFNQWd0QkFDRU9JQWdoQndKQUEwQWdCMEgvQVhFaURVVU5BU0FBSUFvZ0NVSC9BWEZCd0FCR0lnOXFJZ3BCQTNScUtRTUFRUUFnQ1NBUEd5SUpRVDl4cllaQkFDQU5RY0FBSUFsclFmOEJjU0lQSUEwZ0Qwa2JJZzFyUVQ5eHJZaW5JQWNnRFdzaUIzUWdEbkloRGlBTklBbHFJUWtNQUFzTElBVWdERUVDZEdvaUJ5QU9Pd0VBSUFkQkFtb2dEa0gvL3o5eElnZEJFSFk2QUFCQkFDQUxRUUZxSUFkQi8vOC9SaUlIR3lFTFFRa2dDQ0FIR3lFSUlBeEJBV29oREF3QUN3dEJBQ0VIQ3lBRFFkQUFhaVNBZ0lDQUFDQUhDNUFCQVFKL0k0Q0FnSUFBUVJCcklnUWtnSUNBZ0FBQ1FBSkFJQU1OQUNBRUlBQXBBZ0EzQXdBZ0JDQUJJQUlRbFlDQWdBQkJBU0VGREFFTFFRQWhCU0FDUlEwQUlBUWdBMEgvLy8vL0EwczZBQXdnQTBHQWdJQ0FCRThOQUNBQUtBSUFJQUVnQWtFQ2RFRUNJQU5CQW5SQkFDQUFLQUlFS0FJRUVZS0FnSUFBQUNFRkN5QUVRUkJxSklDQWdJQUFJQVVMd1FFQ0FYOEJmaU9BZ0lDQUFFRWdheUlESklDQWdJQUFJQUVwQWdBaEJDQURJQUpCLy8vLy93TkxPZ0FjQWtBQ1FDQUNRWUNBZ0lBRVR3MEFBa0FDUUNBQ1FRSjBJZ0VOQUVGOElRRU1BUXNnQktjZ0FVRUNRUUFnQkVJZ2lLY29BZ0FSZ0lDQWdBQUFJZ0ZGRFFFTElBTWdBallDRkNBRElBRTJBaEFnQTBFQU93RVlJQU5CRUdvaEFnd0JDeUFEUVFFN0FRd2dBMEVFYWlFQ0N5QUFJQUlwQWdBM0FnQWdBRUVJYWlBQ1FRaHFLQUlBTmdJQUlBTkJJR29rZ0lDQWdBQUxOd0VCZndKQUlBSkJBblJCQUNBQ0d5SURSUTBBSUFBb0FnQWdBVUVFSUFJYklBTkJBa0VBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3ZhQVFFRmZ5T0FnSUNBQUVFZ2F5SUNKSUNBZ0lBQVFRQWhBd0pBSUFBb0FnZ2lCQ0FCVHcwQUlBQW9BZ0FoQlFKQUFrQWdCRVVOQUVFQURRQWdBQ2dDRENBRklBUkJBQ0FCUVFBZ0FFRVFhaWdDQUNnQ0JCR0NnSUNBQUFCQkFYRkZEUUFnQUNBQk5nSUlEQUVMSUFJZ0FFRU1haUlHS1FJQU53TVFJQUpCR0dvZ0FrRVFhaUFCRUlHQWdJQUFJQUl2QVJ3aUF3MEJJQUlvQWhnZ0FDZ0NBQ0FBS0FJRUVLS0FnSUFBSVFNZ0JpQUZJQVFRaElDQWdBQWdBQ0FCTmdJSUlBQWdBellDQUF0QkFDRURDeUFDUVNCcUpJQ0FnSUFBSUFNTDBnSURCbjhCZmdkL0k0Q0FnSUFBUVJCcklnTWtnSUNBZ0FBZ0FDZ0NCQ0VFSUFBb0FnQWhCVUVBSVFZZ0FrSC9BWEVoQndOL0FrQUNRQUpBSUFZZ0JFY05BRUYvSVFnTUFRc0NRQ0FGSUFaQkJIUnFJZ0pCQ0dvcEF3QWlDVUlBVXcwQUlBSXBBd0I3SUFsN2ZLY2dBVWtOQWdzZ0JrRUhkQ0lJUVlBQmFpRUtBMEFnQ0NBS1R3MENJQWdnQUNrQ0FDSUpRaG1JcDBHQWYzRWlBaUFJSUFKTEd5SUxJQWhySVF3Z0NhZEJDQ0FKUWlDSXB4c2hEU0FJUVJCMGFDRU9RUUFoQWdKQUEwQUNRQ0FNSUFKSERRQWdDeUVQREFJTFFmOEJJQWdnQW1vaUQwRUhjU0lRUVFkemRrRUJJQkIwY1NBTklBOUJBM1pxTFFBQWNVVU5BU0FDUVFGcUlnSWdBVWtOQUNBT0lBZEpEUUFMSUFNZ0NUY0RDQ0FEUVFocUlBZ2dBVUVBRUppQWdJQUFEQUlMSUE5QkFXb2hDQXdBQ3dzZ0EwRVFhaVNBZ0lDQUFDQUlEd3NnQmtFQmFpRUdEQUFMQzFRQkFYOGdBMEVCY1NFRUFrQURRQ0FDUlEwQklBQW9BZ0JCQ0NBQUtBSUVHeUFCUVFOMmFpSURJQU10QUFCQmZpQUJRUWR4SWdOM2NTQUVJQU4wY2pvQUFDQUJRUUZxSVFFZ0FrRi9haUVDREFBTEN3dmJBUUVEZnlPQWdJQ0FBRUVRYXlJQ0pJQ0FnSUFBQWtBZ0FFR0FFRThOQUNPQmdJQ0FBRUdvZ01DQUFHb2dBQ0FCUVlBUUlBRkJnQkJKR3lBQWF4Q2FnSUNBQUFzQ1FDQUJRWUFRVFEwQUFrQWpnWUNBZ0FCQm9JREFnQUJxS0FJRURRQWpnWUNBZ0FCQm9JREFnQUJxSWdOQmdDQTJBZ1FnQXlBQlFYOXFJZ0ZCRUhRaUJEWUNBQ0FFUVFCQmdJQUVFS0dBZ0lBQUdnc2dBaU9CZ0lDQUFFR2dnTUNBQUdvcEF3QTNBd2dnQWtFSWFpQUFRWUFRSUFCQmdCQkxHeUlBUVlCd2FpQUJJQUJyRUpxQWdJQUFDeUFDUVJCcUpJQ0FnSUFBQ3pzQkFYOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQURJQUFwQWdBM0F3Z2dBMEVJYWlBQklBSkJBUkNZZ0lDQUFDQURRUkJxSklDQWdJQUFDNzBCQVFSL1FRQWhCQUpBSUFGQmdZQjhUdzBBQWtBamdZQ0FnQUJCcUlEQWdBQnFJQUZCLy84RGFrRVFkaUlCSUFJUWw0Q0FnQUFpQkVGL1J3MEFBa0FqZ1lDQWdBQkJvSURBZ0FCcUlBRWdBaENYZ0lDQUFDSUVRWDlHRFFBZ0JFR0FFR29oQkF3QkMwRUFJUVJCQVNBQ2RDSUZQd0FpQmtFUWRDSUNha0YvYWtFQUlBVnJjU0lGSUFKclFSQjJJZ2NnQVdwQUFFRUJTQTBCSUFjZ0Jtb2hCQ0FGSUFKR0RRQWdCaUFFRUptQWdJQUFDeUFFUVJCMElRUUxJQVFMVHdFQmZ3SkFJQUpCLy84RGFpSUdRWUNBZkhFZ0JFOGlBa1VOQUNBRVFmLy9BMnBCRUhZaUJDQUdRUkIySWdaR0RRQWdCQ0FCUWYvL0EycEJFSFlpQVdvZ0FTQUdhaENaZ0lDQUFBc2dBZ3NoQUNBQlFmLy9BMnBCRUhZaUFTQUJJQUpCLy84RGFrRVFkbW9RbVlDQWdBQUxOd0VCZndKQUlBSkJBM1JCQUNBQ0d5SURSUTBBSUFBb0FnQWdBVUVJSUFJYklBTkJBMEVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3QxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMbmdJQ0FuOENmUUpBQWtBQ1FDQUF2Q0lCUVlDQWdBUk9EUUJEQUFEQWYwTUFBSUQvSUFGQi8vLy8vd2R4SWdJYklRTWdBVUVBU0EwQ0lBSkZEUUlnQUVNQUFBQk1sTHdoQVVIb2ZpRUNEQUVMSUFBaEF5QUJRZi8vLy9zSFN3MEJRWUYvSVFKREFBQUFBQ0VESUFGQmdJQ0EvQU5HRFFFTElBRkJqZmFyQW1vaUFVSC8vLzhEY1VIemlkVDVBMnErUXdBQWdMK1NJZ0FnQUNBQVF3QUFBRCtVbENJRGs3eEJnR0J4dmlJRVF3Q3d1RCtVSUFBZ0JKTWdBNU1nQUNBQVF3QUFBRUNTbFNJQUlBTWdBQ0FBbENJQUlBQWdBSlFpQUVQdTZaRStsRU9xcWlvL2twUWdBQ0FBUXlhZWVENlVReFBPekQ2U2xKS1NsSklpQUVNQXNMZy9sQ0FBSUFTU1E5U2FPTG1Va3BJZ0FpQUJRUmQyYXJLU0lRTUxJQU1MTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgaD1hd2FpdCBjKCksQj1oLmV4cG9ydHM7ZnVuY3Rpb24gbihBKXtjb25zdHtwdHI6QyxsZW5ndGg6SX09ayhBLEIpLGc9Qi5jb21wcmVzc1BhY2tlZChDLEkpO0IuZnJlZShDLEkpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dyhCLm1lbW9yeSxnKSxhPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksbz1lKGEpO3JldHVybiBCLmZyZWUoUSxpKSxvfWZ1bmN0aW9uIEYoQSl7Y29uc3QgQz0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpO2xldCBJPUIuYWxsb2NVaW50MTYoQS5sZW5ndGgtMiksZz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEksQS5sZW5ndGgtMik7Zm9yKGxldCBEPTA7RDxBLmxlbmd0aC0yO0QrKylnW0RdPUEuY2hhckNvZGVBdChEKTtjb25zdCBRPUIuZGVjb21wcmVzc1BhY2tlZChJLEEubGVuZ3RoLTIsQyk7Qi5mcmVlKEksMiooQS5sZW5ndGgtMikpO2NvbnN0e3N0YXJ0OkUsZW5kOmksY2FwYWNpdHk6YX09dyhCLm1lbW9yeSxRKSxvPW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLGkpKSx0PW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShvKTtyZXR1cm4gQi5mcmVlKEUsYSksdH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihBKXtjb25zdHtjb21tYW5kOkMsaWQ6SSxkYXRhOmd9PUEuZGF0YTtzd2l0Y2goQyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOkYoZyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOm4oZyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function W() {
|
|
3
3
|
let U;
|
|
4
4
|
try {
|
|
5
|
-
if (U =
|
|
5
|
+
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
6
|
throw "";
|
|
7
7
|
return new Worker(U);
|
|
8
8
|
} catch {
|
|
9
|
-
return new Worker("data:application/javascript;base64," +
|
|
9
|
+
return new Worker("data:application/javascript;base64," + J, { type: "module" });
|
|
10
10
|
} finally {
|
|
11
11
|
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
const R = new
|
|
15
|
-
let
|
|
14
|
+
const R = new W();
|
|
15
|
+
let d = 0;
|
|
16
16
|
const Q = {};
|
|
17
17
|
R.onmessage = function(U) {
|
|
18
|
-
console.log("onmessage", U);
|
|
19
18
|
const F = U.data.id;
|
|
20
19
|
Q[F](U.data.data), delete Q[F];
|
|
21
20
|
};
|
|
22
|
-
async function
|
|
23
|
-
const F =
|
|
24
|
-
return
|
|
21
|
+
async function V(U) {
|
|
22
|
+
const F = d++;
|
|
23
|
+
return new Promise((B) => {
|
|
25
24
|
Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
|
-
async function
|
|
29
|
-
const F =
|
|
30
|
-
return
|
|
27
|
+
async function Z(U) {
|
|
28
|
+
const F = d++;
|
|
29
|
+
return new Promise((B) => {
|
|
31
30
|
Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
33
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
V as compressPacked,
|
|
35
|
+
Z as decompressPacked
|
|
37
36
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(data: string): Promise<
|
|
2
|
-
export declare function decompress(data: string): Promise<
|
|
1
|
+
export declare function compress(data: string): Promise<string>;
|
|
2
|
+
export declare function decompress(data: string): Promise<string>;
|
|
@@ -1,37 +1,36 @@
|
|
|
1
|
-
const V = "ZnVuY3Rpb24gRChJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgQyA9IGcuYWxsb2NVaW50OChBLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgZy5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEEubGVuZ3RoCiAgKS5zZXQoQSksIHsgcHRyOiBDLCBsZW5ndGg6IEEubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChJKSB7CiAgY29uc3QgZyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgZ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIGcuam9pbigiIik7Cn0KZnVuY3Rpb24gdyhJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEkuYnVmZmVyLnNsaWNlKGcsIGcgKyA4KQogICksIEMgPSBBLmF0KDApLCBRID0gQS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IGcgLSBDLAogICAgZW5kOiBnLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBzID0gYXN5bmMgKEkgPSB7fSwgZykgPT4gewogIGxldCBBOwogIGlmIChnLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IEMgPSBnLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShDLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKEMpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEkpOwogIH0gZWxzZSB7CiAgICBjb25zdCBDID0gYXdhaXQgZmV0Y2goZyksIFEgPSBDLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQywgSSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IEMuYXJyYXlCdWZmZXIoKTsKICAgICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEkpOwogICAgfQogIH0KICByZXR1cm4gQS5pbnN0YW5jZTsKfSwgRyA9IChJKSA9PiBzKEksICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BQ2YzOEJmMkFEZjM5L0FYOWdCWDkrZm41K0FBTWRIQU1FQXdRRkJBWUZCd2dBQ1FrSkJnUUpDUW9IQlFRQUFnRUxDZ29FQlFGd0FRUUVCUU1CQUJFR0RnSi9BVUdBZ01BQUMzOEFRUUFMQjBRR0JtMWxiVzl5ZVFJQUNtRnNiRzlqVldsdWREZ0FBQXRoYkd4dlkxVnBiblF4TmdBQ0JHWnlaV1VBQkFoamIyMXdjbVZ6Y3dBTENtUmxZMjl0Y0hKbGMzTUFFQWtKQVFCQkFRc0RGaGNZQ3Y4M0hGNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxYZ0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndNQUlBRkJDR29nQVNBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnZ2hBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1SEFRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQ1FRQklPZ0FNQWtBQ1FDQUNRWDlLRFFCQ2dJQ0FnQkFoQkF3QkN3SkFJQUpCQVhRaUFnMEFRdjcvLy84UElRUU1BUXNnQVNnQ0FDQUNRUUZCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUN4a0FJNEdBZ0lBQVFaaUF3SUFBYWlBQUlBRVFoWUNBZ0FBTE9BRUJmd0pBSUFKQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVHcTFhclZlaUFDR3lBRFFRQkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xEd0FnQUNBQVFReHFFSWVBZ0lBQUMzQUJBMzhDUUNBQUtBSUFJZ0pGRFFBQ1FDQUNRWFJxSWdOQkNHb29BZ0FpQWtFS2JDQUNRUTlxUVh4eGFrRURha0Y4Y1NJQ1FRQWdBaHNpQkVVTkFDQUJLQUlBSUFOQkJDQUNHeUFFUVFKQkFDQUJLQUlFS0FJSUVZR0FnSUFBQUFzZ0FFRUFOZ0lJSUFCQkFEWUNBQXNMMkFJREJIOEJmZ1IvSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFqZ1lDQWdBQWhCU0FCS0FJQUlRWUNRQUpBSUFFb0FnUU5BQ0FGUVlDQXdJQUFhaUVIREFFTElBSWdBeENKZ0lDQUFDRUlBa0FDUUNBR0RRQkJBQ0VGUVg4aENRd0JDeUFHUVh4cUtBSUFJZ1ZCZjJvaENRc2dCa0Y0YWlFS0lBa2dDS2R4SVFFZ0NFSTVpS2NoQ3dOQUk0R0FnSUFBUVlDQXdJQUFhaUVISUFZZ0FXb3NBQUFpREVVTkFTQUZSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FpQURJQW9vQWdBZ0FVRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BRENBRUlBRTJBZ2dnQkVFSWFpRUhEQUlMSUFWQmYyb2hCU0FCUVFGcUlBbHhJUUVNQUFzTEFrQUNRQ0FITFFBRURRQkJBQ0VCUVFBaEJRd0JDeUFHUVhScUtBSUFJQWNvQWdCQkFYUnFMd0VBSVFGQmdJQUVJUVVMSUFBZ0JTQUJjallCQUNBRVFSQnFKSUNBZ0lBQUMrd0ZCUUovQVg0QmZ3SitBbjhqZ0lDQWdBQkI0QUJySWdJa2dJQ0FnQUFDUUFKQUFrQUNRQUpBSUFGQkVFc05BQ0FCUVFOTkRRRWdBRFVBQUVJZ2hpQUFJQUZCQVhaQi9QLy8vd2R4SWdOcU5RQUFoQ0VFSUFBZ0FVRjhhaUlGYWpVQUFFSWdoaUFBSUFVZ0EydHFOUUFBaENFR1FxeWE0dE9qMHZENkh5RUhEQVFMUVFBaEEwS3NtdUxUbzlMdytoOGhCMEVBSVFVZ0FVRXdTUTBDUVFBaEJVS3NtdUxUbzlMdytoOGhCMEtzbXVMVG85THcraDhoQkVLc211TFRvOUx3K2g4aEJnTkFJQVZCTUdvaUNDQUJUdzBDSUFKQndBQnFJQUFnQldvaUJTa0FDQ0FHaFVJQUlBVXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKbUFnSUFBSUFKQk1Hb2dCVUVZYWlrQUFDQUVoVUlBSUFWQkVHb3BBQUJDNDQyajVJbmVtdDZPZjRWQ0FCQ1pnSUNBQUNBQ1FTQnFJQVZCS0dvcEFBQWdCNFZDQUNBRlFTQnFLUUFBUXNPWjNhbkh1ZG5NMkFDRlFnQVFtWUNBZ0FBZ0FrSEFBR3BCQ0dvcEF3QWdBaWtEUUlVaEJpQUNRU0JxUVFocUtRTUFJQUlwQXlDRklRY2dBa0V3YWtFSWFpa0RBQ0FDS1FNd2hTRUVJQWdoQlF3QUN3dENBQ0VHUXF5YTR0T2owdkQ2SHlFSEFrQWdBUTBBUWdBaEJBd0RDeUFBSUFGQkFYWnFNUUFBUWdpR0lBQXhBQUJDRUlhRUlBRWdBR3BCZjJveEFBQ0VJUVFNQWdzZ0JDQUhoU0FHaFNFSEN5QUFJQVZxSVFrZ0FTQUZheUVJQWtBRFFDQURRUkJxSWdVZ0NFOE5BU0FDUWRBQWFpQUpJQU5xSWdOQkNHb3BBQUFnQjRWQ0FDQURLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ1pnSUNBQUNBQ1FkQUFha0VJYWlrREFDQUNLUU5RaFNFSElBVWhBd3dBQ3dzZ0FTQUFhaUlEUVhocUtRQUFJUVlnQTBGd2Fpa0FBQ0VFQ3lBQ1FSQnFJQVJDMjlIUWhacmEzNEZuaFVJQUlBWWdCNFZDQUJDWmdJQ0FBQ0FDSUFKQkVHcEJDR29wQXdCQzI5SFFoWnJhMzRGbmhVSUFJQUd0SUFJcEF4Q0ZRcS9JOWNYSHJJZTdvSCtGUWdBUW1ZQ0FnQUFnQWtFSWFpa0RBQ0VISUFJcEF3QWhCQ0FDUWVBQWFpU0FnSUNBQUNBSElBU0ZDMWdCQW45QkFDRUVBa0FnQVNBRFJ3MEFBa0FnQUNBQ1J3MEFRUUVQQ3dOQUlBRkZJUVFnQVVVTkFTQUJRWDlxSVFFZ0FpMEFBQ0VESUFBdEFBQWhCU0FBUVFGcUlRQWdBa0VCYWlFQ0lBVWdBMFlOQUFzTElBUUxpUk1HQVg4QmZnVi9BWDRjZndGK0k0Q0FnSUFBUWFBQmF5SUNKSUNBZ0lBQUFrQUNRQUpBSUFFTkFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEEwR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRdEJBQ0VISUFKQkdHcEJDR29pQ0VFQU5nSUFJQUpDQURjREdDQUNJNEdBZ0lBQVFaaUF3SUFBYWlrREFDSUpOd0lrSUFJZ0NUY0NkQ0FDUVFBMkFuQWdBa0txMWFyVkNqY0NhQUpBSUFKQjZBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFKQkdHcEJER29oQ2lBSlFpQ0lweUVMSUFJcEFuUWhBeUFDS0FKd0lRVWdBaWdDYkNFR0lBSW9BbWdoQkNBSnB5RU1RWUFDSVExQkFDRU9BMEFnQmlFUElBNUJBbW9oQnlBQUlBNXFJUkJCQUNFR0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQURRQUpBQWtBZ0J5QUdhaUFCVHcwQUlBSkJNR29nQWtFWWFpQVFJQVpCQW1vaUVSQ0lnSUNBQUNBQ0xRQXlEUUVnQWlnQ0dDRVNJQUlvQWlBTkJnSkFBa0FnRWcwQVFRRWhCd3dCQ3lBU1FYeHFLQUlBclVMUUFINGlDU0FKUXVRQWduMUM1QUI4UXRBQWdLY2hCd3RCQUNFVElBSkI2QUJxUVFocUloUkJBRFlDQUNBQ1FnQTNBMmhCQUEwRkFrQUNRRUlCUVNBZ0IyZHJyVUwvL3dPRGhxY2lCMEVJSUFkQkNFc2JJaFZCQVhRZ0ZVRVBha0Y4Y1NJV0lCVkJBM1JxSWhkcVFRTnFRWHh4SWdjTkFFRjhJUWNNQVF0QkFDRVRJQXdnQjBFQ1FRQWdDeWdDQUJHQWdJQ0FBQUFpQjBVTkJnc2dCMEVJYWlJWUlCVTJBZ0FnQnlBSElCWnFOZ0lFSUFjZ0J5QVhhallDQUNBQ0lBZEJER29pQnpZQ2FDQUhRUUFnRlJDYWdJQ0FBQ0VUSUFJZ0ZhMUMwQUIrUXVRQWdLY2lHVFlDY0NBQ0tBSWNJaHBGRFFSQkFDRWJRUUFoSEFKQUlCSkZEUUFnRWtGOGFpZ0NBQ0VjQ3lBVFFYUnFJUjBnRTBGNGFpRWVJQkpCZEdvaUJ5Z0NBQ0VmSUFkQkJHb29BZ0FoSUVFQUlTRURRQ0FoSUJ4R0RRUUNRQ0FTSUNGcUxBQUFRUUJPRFFBZ0h5QWhRUUYwYWk4QkFDRWlJQ0FnSVVFRGRHb2lCeWdDQkNFaklBY29BZ0FoSkFKQUlCdEZEUUFnSkNBakVJbUFnSUFBSVFrZ0dDZ0NBQ0lWUVg5cUloY2dDYWR4SVFjZ0NVSTVpS2NoSlFOQUlCTWdCMm9zQUFBaUZrVU5BU0FWUlEwQkFrQWdGa0YvU2cwQUlDVWdGa0gvQUhGSERRQWdKQ0FqSUI0b0FnQWdCMEVEZEdvaUZpZ0NBQ0FXS0FJRUVJcUFnSUFBUVFGeFJRMEFJQUpCQVRvQW5BRU1BZ3NnRlVGL2FpRVZJQWRCQVdvZ0YzRWhCd3dBQ3dzZ0pDQWpFSW1BZ0lBQUlRa2dHQ2dDQUVGL2FpSVdJQW1uY1NFSEFrQURRQ0FUSUFkcUloVXNBQUJCZjBvTkFTQUhRUUZxSUJaeElRY01BQXNMSUJVZ0NVSTVpS2RCZ0FGeU9nQUFJQjRvQWdBZ0IwRURkR29pRlNBak5nSUVJQlVnSkRZQ0FDQWRLQUlBSUFkQkFYUnFJQ0k3QVFBZ0dVRi9haUVaSUJ0QkFXb2lHeUFhUncwQUlCb2hHd3dGQ3lBaFFRRnFJU0VNQUFzTEFrQUNRQ0FPUVFGcUlBRkpEUUFnRUMwQUFDRUdEQUVMSUFKQk9HcEJFR29nQWtFWWFrRVFhaWdDQURZQ0FDQUNRVGhxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd000SUFKQnpBQnFJQUpCT0dvZ0VDQUdRUUpxRUlpQWdJQUFBa0FDUUFKQUlBSXRBRTROQUNBR0RRRWdFQzBBQUNFSERBSUxJQUl2QVV3aEJnd0NDeUFDUWRBQWFrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkIwQUJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd05RSUFKQjVBQnFJQUpCMEFCcUlCQWdCa0VCYWhDSWdJQ0FBQ0FDTHdGa0lRY0xJQVFnRDBFQmRHb2dCenNCQUNBUFFRRnFJUThnRUNBR2FrRUJhaTBBQUNFR0N5QUVJQTlCQVhScUlBWTdBUUFnRDBFQmFpRUdJQUpCR0dvUWhvQ0FnQUFNRFFzZ0JrRUJhaUVHREFBTEN5QUNJQmsyQW5BZ0FpQWJOZ0pzQ3lBSUtBSUFJUWNnQ0NBVUtBSUFOZ0lBSUJRZ0J6WUNBQ0FDUVFBMkFod2dBaWtER0NFSklBSWdBaWtEYUNJbU53TVlJQUlnQ1RjRGFDQW1weUVTUVFFaEV3c2dBa0hvQUdvZ0NoQ0hnSUNBQUNBVERRQWpnWUNBZ0FBaEJ5QUNLQUljRFFFZ0IwR0FnTUNBQUdvaEZnd0RDeUFRSUJFUWlZQ0FnQUFoQ1FKQUFrQWdFZzBBSUFtbklRZEJBQ0VXUVg4aElRd0JDeUFTUVh4cUtBSUFJaFpCZjJvaUlTQUpwM0VoQndzZ0VrRjRhaUVqSUJKQmZHb2hKQ0FKUWptSXB5RWxJQlloRXdOQUlCSWdCMm9pRnl3QUFDSVZSUTBDSUJOQkFFWU5BZ0pBQWtBZ0ZVRi9TZzBBSUNVZ0ZVSC9BSEZIRFFBZ0VDQVJJQ01vQWdBZ0IwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQkRBWUxJQllnSkNnQ0FFY05BQ0FISUJZZ0ZVRUJSaHNoRmdzZ0UwRi9haUVUSUFkQkFXb2dJWEVoQnd3QUN3c2dFQ0FSRUltQWdJQUFJUWtDUUFKQUlCSU5BRUVBSVJOQmZ5RVhEQUVMSUJKQmZHb29BZ0FpRTBGL2FpRVhDeUFTUVhocUlTVWdGeUFKcDNFaEJ5QUpRam1JcHlFaEEwQWpnWUNBZ0FCQmdJREFnQUJxSVJZZ0VpQUhhaXdBQUNJVlJRMENJQk5GRFFJQ1FDQVZRWDlLRFFBZ0lTQVZRZjhBY1VjTkFDQVFJQkVnSlNnQ0FDQUhRUU4wYWlJVktBSUFJQlVvQWdRUWlvQ0FnQUJCQVhGRkRRQWdBa0VCT2dDQUFTQUNJQWMyQW53Z0FrSDhBR29oRmd3REN5QVRRWDlxSVJNZ0IwRUJhaUFYY1NFSERBQUxDeUFrS0FJQUlSTWdBaUFDS0FJZ1FYOXFOZ0lnSUJJZ0Ztb2dGeUFXSUJOSkloTWJJQ1ZCZ0FGeU9nQUFJQkpCZEdvb0FnQWhGU0FqS0FJQUlSY2dBaUFDS0FJY1FRRnFOZ0ljSUJjZ0ZpQUhJQk1iSWdkQkEzUnFJaE1nRVRZQ0JDQVRJQkEyQWdBZ0ZTQUhRUUYwYWlFSERBSUxJQll0QUFSRkRRSWdGaWdDQUNFSEN5QVNRWFJxS0FJQUlBZEJBWFJxSVFjTElBY2dEVHNCQUFKQUFrQWdCZzBBSUJBdEFBQWhCa0VCSVFjTUFRc2dBa0UwYWlBQ1FSaHFJQkFnQmtFQmFpSUhFSWlBZ0lBQUlBSXZBVFFoQmdzZ0JDQVBRUUYwYWlBR093RUFJQWNnRG1vaERpQVBRUUZxSVFZZ0RVRUJhaUlOUWYvL0EzRkIvLzhEUncwQklCSkJBQ0FTUVh4cUtBSUFJZ2NRbW9DQWdBQWFJQVFnQmtFQmRHcEIvdjhET3dFQUlBSkJBRFlDSENBQ0lBZXRRdEFBZmtMa0FJQStBaUFnRDBFQ2FpRUdRWUFDSVEwTUFRc0xJQUpCR0dvUWhvQ0FnQUJCQUNFSERBRUxJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQ0FHSVFjQ1FDQUZJQVpCQkdvaUUwOE5BRUVBSVFjZ0FrRUVhaUFGSUJNUWpZQ0FnQUFRaklDQWdBQkIvLzhEY1EwQklBSW9BZ1FoQkNBQ0tBSUlJUWNMSUFRZ0IwRUJkR29pQnlBR1FRRjBJaE03QVFBZ0IwRUNhaUFHUVE5Mk93RUFJQWRCQkdvZ0JVRUJkRHNCQUNBSFFRWnFJQVZCRDNZN0FRQWdCQ0FUYWlFSEN5QUNRYUFCYWlTQWdJQ0FBQ0FIQzVNQ0FRWi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQkJBQ0VEQWtBZ0FDZ0NDQ0lFSUFGUERRQWdBQ2dDQUNFRkFrQWdCRVVOQUNBQ0lBRkJBRWc2QUFnZ0FVRi9UQTBBSUFBb0Fnd2dCU0FFUVFGMFFRRWdBVUVCZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDRUVBSVFNTUFRc2dBaUFBS1FJTU53TUFJQUpCQ0dvZ0FpQUJFSU9BZ0lBQUlBSXZBUXdpQXcwQUlBSW9BZ2dnQUNnQ0FDQUFLQUlFUVFGMEVKdUFnSUFBSVFaQkFDRURBa0FnQkVFQmRFRUFJQVFiSWdkRkRRQWdBQ2dDRENBRlFRSWdCQnNnQjBFQlFRQWdBRUVRYWlnQ0FDZ0NDQkdCZ0lDQUFBQUxJQUFnQVRZQ0NDQUFJQVkyQWdBTElBSkJFR29rZ0lDQWdBQWdBd3NsQVFGL0EwQkJmeUFBUVFGMklBQnFRUWhxSWdJZ0FpQUFTUnNpQUNBQlNRMEFDeUFBQ3o4QkFYOGpnSUNBZ0FCQkVHc2lBU1NBZ0lDQUFDQUJJQUFwQWd3M0F3Z2dBVUVJYWlBQUtBSUFJQUFvQWdnUWo0Q0FnQUFnQVVFUWFpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFRGRFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5c0hBd0YvQVg0SmZ5T0FnSUNBQUVIQUFHc2lBaVNBZ0lDQUFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEF3SkFBa0FDUUFKQUlBRU5BRUdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXNnQWtFQU5nSWdJQUpDcXRXcTFRbzNBaGdnQWlBRE53SWtJQUpCQUVILy93TVFqWUNBZ0FBaUIwSC8vLy8vQVVzNkFDd2dCMEdBZ0lDQUFrOE5BUUpBQWtBZ0IwRURkQ0lJRFFCQmZDRUlEQUVMSUFPbklBaEJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lJUlEwQ0N5QUNJQWMyQWlBZ0FpQUlOZ0lZUVFBaEJ3SkFBMEFnQjBINC94OUdEUUVnQ0NBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzZ0FrSC8vd00yQWh3Z0FpQUROd0k0UVFBaEJ5QUNRUUEyQWpRZ0FrS3ExYXJWQ2pjQ0xDQUNRU3hxSUFGQkdHd1FrWUNBZ0FCQi8vOERjUTBCSUFJcEFqZ2hBeUFDS0FJMElRVWdBaWdDTENJRUlBSW9BakFpQm1vZ0FDMEFBRG9BQUNBSUlBQXZBUUJCQTNScUlnbEJBVFlDQkNBSklBUTJBZ0FnQmtFQmFpRUtRUUVoQ1VHQUFpRUxBMEFnQ2lFR0FrQUNRQUpBQWtBZ0NTQUJUdzBBQWtBZ0FDQUpRUUYwYWk4QkFDSUtRZjcvQTBjTkFDQUpRUUZxSWdrZ0FVOE5BVUVBSVFjQ1FBTkFJQWRCK1A4ZlJnMEJJQWdnQjJwQ0FEY0NBQ0FIUVFocUlRY01BQXNMQWtBZ0FDQUpRUUYwYWk4QkFDSUhRWUFDU1EwQUlBSkIvLzhETmdJY0RBZ0xJQVFnQm1vZ0J6b0FBQ0FHUVFGcUlRcEJnQUloQ3d3RUN5QUtRWUFDU1EwQkFrQWdDQ0FLUVFOMGFpSUtLQUlBSWd3TkFDQUVJQVpxSUFRZ0Iyb2lDaUFHSUFkcklnd1FtNENBZ0FBYUlBUWdEQ0FHYWlJTWFpQUtMUUFBT2dBQUlBeEJBV29oQ2d3REN5QUVJQVpxSUF3Z0NpZ0NCQ0lLRUp1QWdJQUFHaUFLSUFacUlRb01BZ3NnQWtILy93TTJBaHdnQWtFWWFoQ09nSUNBQUF3RUN5QUVJQVpxSUFvNkFBQWdCa0VCYWlFS0N5QUlJQXRCLy84RGNVRURkR29pRENBR0lBZHJRUUZxTmdJRUlBd2dCQ0FIYWpZQ0FDQUxRUUZxSVFzTElBbEJBV29oQ1NBR0lRY01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDREFKQUFrQWdCU0FHUVFocUlnaEpEUUFnQmlFSERBRUxRUUFoQnlBQ1FRUnFJQVVnQ0JDTmdJQ0FBQkNSZ0lDQUFFSC8vd054RFFJZ0FpZ0NCQ0VFSUFJb0Fnd2hCU0FDS0FJSUlRY0xJQVFnQjJvaUJ5QUdPZ0FBSUFkQkIyb2dCVUVZZGpvQUFDQUhRUVpxSUFWQkVIWTZBQUFnQjBFRmFpQUZRUWgyT2dBQUlBZEJCR29nQlRvQUFDQUhRUU5xSUFaQkdIWTZBQUFnQjBFQ2FpQUdRUkIyT2dBQUlBZEJBV29nQmtFSWRqb0FBQ0FFSUFacUlRY01BUXNnQWtFWWFoQ09nSUNBQUVFQUlRY0xJQUpCd0FCcUpJQ0FnSUFBSUFjTDJnRUJCWDhqZ0lDQWdBQkJJR3NpQWlTQWdJQ0FBRUVBSVFNQ1FDQUFLQUlJSWdRZ0FVOE5BQ0FBS0FJQUlRVUNRQUpBSUFSRkRRQkJBQTBBSUFBb0Fnd2dCU0FFUVFBZ0FVRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNERUNBQ1FSaHFJQUpCRUdvZ0FSQ0JnSUNBQUNBQ0x3RWNJZ01OQVNBQ0tBSVlJQUFvQWdBZ0FDZ0NCQkNiZ0lDQUFDRURJQVlnQlNBRUVJV0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRWdhaVNBZ0lDQUFDQURDOUlDQXdaL0FYNEhmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQUFvQWdRaEJDQUFLQUlBSVFWQkFDRUdJQUpCL3dGeElRY0Rmd0pBQWtBQ1FDQUdJQVJIRFFCQmZ5RUlEQUVMQWtBZ0JTQUdRUVIwYWlJQ1FRaHFLUU1BSWdsQ0FGTU5BQ0FDS1FNQWV5QUplM3luSUFGSkRRSUxJQVpCQjNRaUNFR0FBV29oQ2dOQUlBZ2dDazhOQWlBSUlBQXBBZ0FpQ1VJWmlLZEJnSDl4SWdJZ0NDQUNTeHNpQ3lBSWF5RU1JQW1uUVFnZ0NVSWdpS2NiSVEwZ0NFRVFkR2doRGtFQUlRSUNRQU5BQWtBZ0RDQUNSdzBBSUFzaER3d0NDMEgvQVNBSUlBSnFJZzlCQjNFaUVFRUhjM1pCQVNBUWRIRWdEU0FQUVFOMmFpMEFBSEZGRFFFZ0FrRUJhaUlDSUFGSkRRQWdEaUFIU1EwQUN5QURJQWszQXdnZ0EwRUlhaUFJSUFGQkFCQ1RnSUNBQUF3Q0N5QVBRUUZxSVFnTUFBc0xJQU5CRUdva2dJQ0FnQUFnQ0E4TElBWkJBV29oQmd3QUN3dFVBUUYvSUFOQkFYRWhCQUpBQTBBZ0FrVU5BU0FBS0FJQVFRZ2dBQ2dDQkJzZ0FVRURkbW9pQXlBRExRQUFRWDRnQVVFSGNTSURkM0VnQkNBRGRISTZBQUFnQVVFQmFpRUJJQUpCZjJvaEFnd0FDd3NMMndFQkEzOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFBSkFJQUJCZ0JCUERRQWpnWUNBZ0FCQnFJREFnQUJxSUFBZ0FVR0FFQ0FCUVlBUVNSc2dBR3NRbFlDQWdBQUxBa0FnQVVHQUVFME5BQUpBSTRHQWdJQUFRYUNBd0lBQWFpZ0NCQTBBSTRHQWdJQUFRYUNBd0lBQWFpSURRWUFnTmdJRUlBTWdBVUYvYWlJQlFSQjBJZ1EyQWdBZ0JFRUFRWUNBQkJDYWdJQ0FBQm9MSUFJamdZQ0FnQUJCb0lEQWdBQnFLUU1BTndNSUlBSkJDR29nQUVHQUVDQUFRWUFRU3hzaUFFR0FjR29nQVNBQWF4Q1ZnSUNBQUFzZ0FrRVFhaVNBZ0lDQUFBczdBUUYvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQUtRSUFOd01JSUFOQkNHb2dBU0FDUVFFUWs0Q0FnQUFnQTBFUWFpU0FnSUNBQUF1OUFRRUVmMEVBSVFRQ1FDQUJRWUdBZkU4TkFBSkFJNEdBZ0lBQVFhaUF3SUFBYWlBQlFmLy9BMnBCRUhZaUFTQUNFSktBZ0lBQUlnUkJmMGNOQUFKQUk0R0FnSUFBUWFDQXdJQUFhaUFCSUFJUWtvQ0FnQUFpQkVGL1JnMEFJQVJCZ0JCcUlRUU1BUXRCQUNFRVFRRWdBblFpQlQ4QUlnWkJFSFFpQW1wQmYycEJBQ0FGYTNFaUJTQUNhMEVRZGlJSElBRnFRQUJCQVVnTkFTQUhJQVpxSVFRZ0JTQUNSZzBBSUFZZ0JCQ1VnSUNBQUFzZ0JFRVFkQ0VFQ3lBRUMwOEJBWDhDUUNBQ1FmLy9BMm9pQmtHQWdIeHhJQVJQSWdKRkRRQWdCRUgvL3dOcVFSQjJJZ1FnQmtFUWRpSUdSZzBBSUFRZ0FVSC8vd05xUVJCMklnRnFJQUVnQm1vUWxJQ0FnQUFMSUFJTElRQWdBVUgvL3dOcVFSQjJJZ0VnQVNBQ1FmLy9BMnBCRUhacUVKU0FnSUFBQzNVQkFYNGdBQ0FFSUFGK0lBSWdBMzU4SUFOQ0lJZ2lBaUFCUWlDSUlnUitmQ0FEUXYvLy8vOFBneUlESUFGQy8vLy8vdytESWdGK0lnVkNJSWdnQXlBRWZud2lBMElnaUh3Z0EwTC8vLy8vRDRNZ0FpQUJmbndpQVVJZ2lIdzNBd2dnQUNBQlFpQ0dJQVZDLy8vLy93K0RoRGNEQUFzc0FRRi9Ba0FnQWtVTkFDQUFJUU1EUUNBRElBRTZBQUFnQTBFQmFpRURJQUpCZjJvaUFnMEFDd3NnQUF0Q0FRRi9Ba0FnQWtVTkFDQUNRWDlxSVFJZ0FDRURBMEFnQXlBQkxRQUFPZ0FBSUFKRkRRRWdBa0YvYWlFQ0lBRkJBV29oQVNBRFFRRnFJUU1NQUFzTElBQUxDMEVDQUVHQWdNQUFDd2dBQUFBQUFBQUFBQUJCaUlEQUFBc29BUUFBQUFJQUFBQURBQUFBQUFBQUFBQUFBQUFJQUJBQXFxcXFxZ0FBQUFBd0FCQUFFQUFBQUE9PSIpOwpjb25zdCBlID0gYXdhaXQgRygpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBGKEkpIHsKICBjb25zdCB7IHB0cjogZywgbGVuZ3RoOiBBIH0gPSBEKEksIEIpLCBDID0gQi5jb21wcmVzcyhnLCBBKTsKICBCLmZyZWUoZywgQSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdyhCLm1lbW9yeSwgQyksIGEgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgdCA9IGgoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpmdW5jdGlvbiBuKEkpIHsKICBjb25zdCBnID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCksIEEgPSBuZXcgVWludDE2QXJyYXkoCiAgICBCLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgSS5sZW5ndGgKICApOwogIGZvciAobGV0IG8gPSAwOyBvIDwgSS5sZW5ndGg7IG8rKykKICAgIEFbb10gPSBJLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzcygKICAgIGcsCiAgICBJLmxlbmd0aAogICk7CiAgQi5mcmVlKGcsIEkubGVuZ3RoKTsKICBjb25zdCB7IHN0YXJ0OiBRLCBlbmQ6IEUsIGNhcGFjaXR5OiBpIH0gPSB3KEIubWVtb3J5LCBDKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLCBFKSksIHQgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihJKSB7CiAgY29uc3QgeyBjb21tYW5kOiBnLCBpZDogQSwgZGF0YTogQyB9ID0gSS5kYXRhOwogIHN3aXRjaCAoZykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogbihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogRihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", J = typeof window < "u" && window.Blob && new Blob([atob(V)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function
|
|
1
|
+
const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBlKEksZyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksQz1nLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6QyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIHMoSSl7Y29uc3QgZz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKWdbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiB3KEksZyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIEQ9YXN5bmMoST17fSxnKT0+e2xldCBBO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxHPUk9PkQoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJVUXhnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQlg5K2ZuNStBQU1kSEFNRUF3UUZCQVlGQndnQUNRa0pCZ1FKQ1FvSEJRUUFBZ0VMQ2dvRUJRRndBUVFFQlFNQkFCRUdEZ0ovQVVHQWdNQUFDMzhBUVFBTEIwUUdCbTFsYlc5eWVRSUFDbUZzYkc5alZXbHVkRGdBQUF0aGJHeHZZMVZwYm5ReE5nQUNCR1p5WldVQUJBaGpiMjF3Y21WemN3QUxDbVJsWTI5dGNISmxjM01BRUFrSkFRQkJBUXNERmhjWUN0Z3hIRjRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0JnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGNRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUJDZ0lDQWdCQWhCQUpBUVFGRkRRQUNRQ0FDRFFCQy8vLy8vdzhoQkF3QkN5QUJLQUlBSUFKQkFFRUFJQUVvQWdRb0FnQVJnSUNBZ0FBQUlnSkZyVUlnaGlBQ3JZUWhCQXNnQUNBRU53SUFJQU5CRUdva2dJQ0FnQUFMWGdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWpnWUNBZ0FCQm1JREFnQUJxS1FNQU53TUFJQUZCQ0dvZ0FTQUFFSU9BZ0lBQUFrQWdBUzhCREEwQUlBRW9BZ2doQUNBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3dUhBUUlCZndGK0k0Q0FnSUFBUVJCcklnTWtnSUNBZ0FBZ0F5QUNRUUJJT2dBTUFrQUNRQ0FDUVg5S0RRQkNnSUNBZ0JBaEJBd0JDd0pBSUFKQkFYUWlBZzBBUXY3Ly8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFGQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDeGtBSTRHQWdJQUFRWmlBd0lBQWFpQUFJQUVRaFlDQWdBQUxPQUVCZndKQUlBSkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVR3ExYXJWZWlBQ0d5QURRUUJCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMRHdBZ0FDQUFRUXhxRUllQWdJQUFDM0FCQTM4Q1FDQUFLQUlBSWdKRkRRQUNRQ0FDUVhScUlnTkJDR29vQWdBaUFrRUtiQ0FDUVE5cVFYeHhha0VEYWtGOGNTSUNRUUFnQWhzaUJFVU5BQ0FCS0FJQUlBTkJCQ0FDR3lBRVFRSkJBQ0FCS0FJRUtBSUlFWUdBZ0lBQUFBc2dBRUVBTmdJSUlBQkJBRFlDQUFzTDJBSURCSDhCZmdSL0k0Q0FnSUFBUVJCcklnUWtnSUNBZ0FBamdZQ0FnQUFoQlNBQktBSUFJUVlDUUFKQUlBRW9BZ1FOQUNBRlFZQ0F3SUFBYWlFSERBRUxJQUlnQXhDSmdJQ0FBQ0VJQWtBQ1FDQUdEUUJCQUNFRlFYOGhDUXdCQ3lBR1FYeHFLQUlBSWdWQmYyb2hDUXNnQmtGNGFpRUtJQWtnQ0tkeElRRWdDRUk1aUtjaEN3TkFJNEdBZ0lBQVFZQ0F3SUFBYWlFSElBWWdBV29zQUFBaURFVU5BU0FGUlEwQkFrQWdERUYvU2cwQUlBc2dERUgvQUhGSERRQWdBaUFESUFvb0FnQWdBVUVEZEdvaURDZ0NBQ0FNS0FJRUVJcUFnSUFBUVFGeFJRMEFJQVJCQVRvQURDQUVJQUUyQWdnZ0JFRUlhaUVIREFJTElBVkJmMm9oQlNBQlFRRnFJQWx4SVFFTUFBc0xBa0FDUUNBSExRQUVEUUJCQUNFQlFRQWhCUXdCQ3lBR1FYUnFLQUlBSUFjb0FnQkJBWFJxTHdFQUlRRkJnSUFFSVFVTElBQWdCU0FCY2pZQkFDQUVRUkJxSklDQWdJQUFDK3dGQlFKL0FYNEJmd0orQW44amdJQ0FnQUJCNEFCcklnSWtnSUNBZ0FBQ1FBSkFBa0FDUUFKQUlBRkJFRXNOQUNBQlFRTk5EUUVnQURVQUFFSWdoaUFBSUFGQkFYWkIvUC8vL3dkeElnTnFOUUFBaENFRUlBQWdBVUY4YWlJRmFqVUFBRUlnaGlBQUlBVWdBMnRxTlFBQWhDRUdRcXlhNHRPajB2RDZIeUVIREFRTFFRQWhBMEtzbXVMVG85THcraDhoQjBFQUlRVWdBVUV3U1EwQ1FRQWhCVUtzbXVMVG85THcraDhoQjBLc211TFRvOUx3K2g4aEJFS3NtdUxUbzlMdytoOGhCZ05BSUFWQk1Hb2lDQ0FCVHcwQ0lBSkJ3QUJxSUFBZ0JXb2lCU2tBQ0NBR2hVSUFJQVVwQUFCQzI5SFFoWnJhMzRGbmhVSUFFSm1BZ0lBQUlBSkJNR29nQlVFWWFpa0FBQ0FFaFVJQUlBVkJFR29wQUFCQzQ0Mmo1SW5lbXQ2T2Y0VkNBQkNaZ0lDQUFDQUNRU0JxSUFWQktHb3BBQUFnQjRWQ0FDQUZRU0JxS1FBQVFzT1ozYW5IdWRuTTJBQ0ZRZ0FRbVlDQWdBQWdBa0hBQUdwQkNHb3BBd0FnQWlrRFFJVWhCaUFDUVNCcVFRaHFLUU1BSUFJcEF5Q0ZJUWNnQWtFd2FrRUlhaWtEQUNBQ0tRTXdoU0VFSUFnaEJRd0FDd3RDQUNFR1FxeWE0dE9qMHZENkh5RUhBa0FnQVEwQVFnQWhCQXdEQ3lBQUlBRkJBWFpxTVFBQVFnaUdJQUF4QUFCQ0VJYUVJQUVnQUdwQmYyb3hBQUNFSVFRTUFnc2dCQ0FIaFNBR2hTRUhDeUFBSUFWcUlRa2dBU0FGYXlFSUFrQURRQ0FEUVJCcUlnVWdDRThOQVNBQ1FkQUFhaUFKSUFOcUlnTkJDR29wQUFBZ0I0VkNBQ0FES1FBQVF0dlIwSVdhMnQrQlo0VkNBQkNaZ0lDQUFDQUNRZEFBYWtFSWFpa0RBQ0FDS1FOUWhTRUhJQVVoQXd3QUN3c2dBU0FBYWlJRFFYaHFLUUFBSVFZZ0EwRndhaWtBQUNFRUN5QUNRUkJxSUFSQzI5SFFoWnJhMzRGbmhVSUFJQVlnQjRWQ0FCQ1pnSUNBQUNBQ0lBSkJFR3BCQ0dvcEF3QkMyOUhRaFpyYTM0Rm5oVUlBSUFHdElBSXBBeENGUXEvSTljWEhySWU3b0grRlFnQVFtWUNBZ0FBZ0FrRUlhaWtEQUNFSElBSXBBd0FoQkNBQ1FlQUFhaVNBZ0lDQUFDQUhJQVNGQzFnQkFuOUJBQ0VFQWtBZ0FTQURSdzBBQWtBZ0FDQUNSdzBBUVFFUEN3TkFJQUZGSVFRZ0FVVU5BU0FCUVg5cUlRRWdBaTBBQUNFRElBQXRBQUFoQlNBQVFRRnFJUUFnQWtFQmFpRUNJQVVnQTBZTkFBc0xJQVFMNGd3RkFYOEJmZ2wvQVg0TWZ5T0FnSUNBQUVHUUFXc2lBaVNBZ0lDQUFBSkFBa0FDUUNBQkRRQWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlRTkJxdFdxMVhvaEJFRUFJUVZCQUNFR0RBRUxRUUFoQnlBQ1FSaHFRUWhxUVFBMkFnQWdBa0lBTndNWUlBSWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlnTTNBaVFnQWtINEFHcEJDR3BCQURZQ0FDQUNRZ0EzQTNnZ0FVSC8vd01nQVVILy93TkpHMEhrQUd4QjBBQnVJUWdnQWtFa2FpRUpBa0FDUUVFQURRQkJmQ0VHUWdGQklDQUlaMnV0UXYvL0E0T0dweUlJUVFnZ0NFRUlTeHNpQ0VFQmRDQUlRUTlxUVh4eElnb2dDRUVEZEdvaUMycEJBMnBCZkhFaURFVU5BU0FEcHlBTVFRSkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlCZzBCQ3lBQ1FmZ0FhaUFKRUllQWdJQUFJQUpCR0dvUWhvQ0FnQUFNQWdzZ0JpQUlOZ0lJSUFZZ0JpQUthallDQkNBR0lBWWdDMm8yQWdBZ0FpQUdRUXhxSWdZMkFuaEJBQ0VISUFaQkFDQUlFSnFBZ0lBQUdpQUNRZmdBYWtFSWFpSUdJQWhCMEFCc1FlUUFiaUlJTmdJQUlBSkJHR3BCQ0dvaUNpZ0NBQ0VMSUFvZ0NEWUNBQ0FHSUFzMkFnQWdBa0VBTmdJY0lBSXBBeGdoRFNBQ0lBSXBBM2czQXhnZ0FpQU5Od040SUFKQitBQnFJQWtRaDRDQWdBQWdBaUFETndLRUFTQUNRUUEyQW9BQklBSkNxdFdxMVFvM0FuZ0NRQ0FDUWZnQWFpQUJFSXlBZ0lBQVFmLy9BM0ZGRFFBZ0FrRVlhaENHZ0lDQUFBd0NDeUFDS0FJWUlnNUJkR29oRHlBT1FYaHFJUkFnRGtGOGFpRVJJQUlwQW9RQklRTWdBaWdDZ0FFaEJTQUNLQUo4SVFZZ0FpZ0NlQ0VFUVlBQ0lSSWdBaWdDSUNFVElBSW9BaHdoRkVFQUlRY0RRQ0FHSVJVZ0FDQUhhaUVLUVFJaEJnSkFBa0FDUUFOQUFrQUNRQ0FISUFacUlnc2dBVThOQUNBQ1FTeHFJQUpCR0dvZ0NpQUdFSWlBZ0lBQUlBSXRBQzROQVNBS0lBWVFpWUNBZ0FBaERRSkFBa0FnRGcwQUlBMm5JUWRCQUNFV1FYOGhGd3dCQ3lBUktBSUFJaFpCZjJvaUZ5QU5wM0VoQndzZ0RVSTVpS2NoR0NBV0lRZ0NRQUpBQTBBZ0RpQUhhaUlaTEFBQUlnbEZEUUVnQ0VFQVJnMEJBa0FDUUNBSlFYOUtEUUFnR0NBSlFmOEFjVWNOQUNBS0lBWWdFQ2dDQUNBSFFRTjBhaUlKS0FJQUlBa29BZ1FRaW9DQWdBQkJBWEZGRFFFZ0R5Z0NBQ0FIUVFGMGFpRUhEQVFMSUJZZ0VTZ0NBRWNOQUNBSElCWWdDVUVCUmhzaEZnc2dDRUYvYWlFSUlBZEJBV29nRjNFaEJ3d0FDd3NnRGlBV2FpQVpJQllnRVNnQ0FFa2lDQnNnR0VHQUFYSTZBQUFnRHlnQ0FDRUpJQkFvQWdBZ0ZpQUhJQWdiSWdkQkEzUnFJZ2dnQmpZQ0JDQUlJQW8yQWdBZ0FpQVRRWDlxSWhNMkFpQWdBaUFVUVFGcUloUTJBaHdnQ1NBSFFRRjBhaUVIQ3lBSElCSTdBUUFnRENFSElBWkJBa1lOQXd3RkN3SkFJQWRCQVdvZ0FVa05BQ0FLTFFBQUlRWU1CQXNnQWtFd2FrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkJNR3BCQ0dvZ0FrRVlha0VJYWlrREFEY0RBQ0FDSUFJcEF4ZzNBekFnQWtIRUFHb2dBa0V3YWlBS0lBWVFpSUNBZ0FBQ1FBSkFBa0FnQWkwQVJnMEFJQVpCQWtjTkFTQUtMUUFBSVFZTUFnc2dBaThCUkNFR0RBVUxJQUpCeUFCcVFSQnFJQUpCR0dwQkVHb29BZ0EyQWdBZ0FrSElBR3BCQ0dvZ0FrRVlha0VJYWlrREFEY0RBQ0FDSUFJcEF4ZzNBMGdnQWtIZ0FHb2dBa0hJQUdvZ0NpQUdRWDlxRUlpQWdJQUFJQUl2QVdBaEJnc2dCQ0FWUVFGMGFpQUdPd0VBSUJWQkFXb2hGU0FMSUFCcVFYOXFMUUFBSVFZTUF3c2dCa0VCYWlFR0lBSXZBU3doREF3QUN3c2dDaTBBQUNFSERBRUxJQVFnRlVFQmRHb2dCanNCQUNBVlFRRnFJUVlnQWtFWWFoQ0dnSUNBQUF3Q0N5QUVJQlZCQVhScUlBYzdBUUFnRlVFQmFpRUdJQXRCZjJvaEJ5QVNRUUZxSWhKQi8vOERjVUgvL3dOSERRQkJBQ0VVSUE1QkFDQVJLQUlBSWdnUW1vQ0FnQUFhSUFRZ0JrRUJkR3BCL3Y4RE93RUFJQUpCQURZQ0hDQUNJQWl0UXRBQWZrTGtBSUNuSWhNMkFpQWdGVUVDYWlFR1FZQUNJUklNQUFzTElBSWdBemNDRUNBQ0lBUTJBZ1FnQWlBR05nSUlJQUlnQlRZQ0RDQUdJUWNDUUNBRklBWkJCR29pQVU4TkFFRUFJUWNnQWtFRWFpQUZJQUVRallDQWdBQVFqSUNBZ0FCQi8vOERjUTBCSUFJb0FnUWhCQ0FDS0FJSUlRY0xJQVFnQjBFQmRHb2lCeUFHUVFGMElnRTdBUUFnQjBFQ2FpQUdRUTkyT3dFQUlBZEJCR29nQlVFQmREc0JBQ0FIUVFacUlBVkJEM1k3QVFBZ0JDQUJhaUVIQ3lBQ1FaQUJhaVNBZ0lDQUFDQUhDNU1DQVFaL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQkFFZzZBQWdnQVVGL1RBMEFJQUFvQWd3Z0JTQUVRUUYwUVFFZ0FVRUJkRUVBSUFCQkVHb29BZ0FvQWdRUmdvQ0FnQUFBUVFGeFJRMEFJQUFnQVRZQ0NFRUFJUU1NQVFzZ0FpQUFLUUlNTndNQUlBSkJDR29nQWlBQkVJT0FnSUFBSUFJdkFRd2lBdzBBSUFJb0FnZ2dBQ2dDQUNBQUtBSUVRUUYwRUp1QWdJQUFJUVpCQUNFREFrQWdCRUVCZEVFQUlBUWJJZ2RGRFFBZ0FDZ0NEQ0FGUVFJZ0JCc2dCMEVCUVFBZ0FFRVFhaWdDQUNnQ0NCR0JnSUNBQUFBTElBQWdBVFlDQ0NBQUlBWTJBZ0FMSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRajRDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzlzSEF3Ri9BWDRKZnlPQWdJQ0FBRUhBQUdzaUFpU0FnSUNBQUNPQmdJQ0FBRUdZZ01DQUFHb3BBd0FoQXdKQUFrQUNRQUpBSUFFTkFFR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRc2dBa0VBTmdJZ0lBSkNxdFdxMVFvM0FoZ2dBaUFETndJa0lBSkJBRUgvL3dNUWpZQ0FnQUFpQjBILy8vLy9BVXM2QUN3Z0IwR0FnSUNBQWs4TkFRSkFBa0FnQjBFRGRDSUlEUUJCZkNFSURBRUxJQU9uSUFoQkFrRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUlSUTBDQ3lBQ0lBYzJBaUFnQWlBSU5nSVlRUUFoQndKQUEwQWdCMEg0L3g5R0RRRWdDQ0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQWtILy93TTJBaHdnQWlBRE53STRRUUFoQnlBQ1FRQTJBalFnQWtLcTFhclZDamNDTENBQ1FTeHFJQUZCR0d3UWtZQ0FnQUJCLy84RGNRMEJJQUlwQWpnaEF5QUNLQUkwSVFVZ0FpZ0NMQ0lFSUFJb0FqQWlCbW9nQUMwQUFEb0FBQ0FJSUFBdkFRQkJBM1JxSWdsQkFUWUNCQ0FKSUFRMkFnQWdCa0VCYWlFS1FRRWhDVUdBQWlFTEEwQWdDaUVHQWtBQ1FBSkFBa0FnQ1NBQlR3MEFBa0FnQUNBSlFRRjBhaThCQUNJS1FmNy9BMGNOQUNBSlFRRnFJZ2tnQVU4TkFVRUFJUWNDUUFOQUlBZEIrUDhmUmcwQklBZ2dCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQUNBSlFRRjBhaThCQUNJSFFZQUNTUTBBSUFKQi8vOEROZ0ljREFnTElBUWdCbW9nQnpvQUFDQUdRUUZxSVFwQmdBSWhDd3dFQ3lBS1FZQUNTUTBCQWtBZ0NDQUtRUU4wYWlJS0tBSUFJZ3dOQUNBRUlBWnFJQVFnQjJvaUNpQUdJQWRySWd3UW00Q0FnQUFhSUFRZ0RDQUdhaUlNYWlBS0xRQUFPZ0FBSUF4QkFXb2hDZ3dEQ3lBRUlBWnFJQXdnQ2lnQ0JDSUtFSnVBZ0lBQUdpQUtJQVpxSVFvTUFnc2dBa0gvL3dNMkFod2dBa0VZYWhDT2dJQ0FBQXdFQ3lBRUlBWnFJQW82QUFBZ0JrRUJhaUVLQ3lBSUlBdEIvLzhEY1VFRGRHb2lEQ0FHSUFkclFRRnFOZ0lFSUF3Z0JDQUhhallDQUNBTFFRRnFJUXNMSUFsQkFXb2hDU0FHSVFjTUFBc0xJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQUpBQWtBZ0JTQUdRUWhxSWdoSkRRQWdCaUVIREFFTFFRQWhCeUFDUVFScUlBVWdDQkNOZ0lDQUFCQ1JnSUNBQUVILy93TnhEUUlnQWlnQ0JDRUVJQUlvQWd3aEJTQUNLQUlJSVFjTElBUWdCMm9pQnlBR09nQUFJQWRCQjJvZ0JVRVlkam9BQUNBSFFRWnFJQVZCRUhZNkFBQWdCMEVGYWlBRlFRaDJPZ0FBSUFkQkJHb2dCVG9BQUNBSFFRTnFJQVpCR0hZNkFBQWdCMEVDYWlBR1FSQjJPZ0FBSUFkQkFXb2dCa0VJZGpvQUFDQUVJQVpxSVFjTUFRc2dBa0VZYWhDT2dJQ0FBRUVBSVFjTElBSkJ3QUJxSklDQWdJQUFJQWNMMmdFQkJYOGpnSUNBZ0FCQklHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FBSkFJQVJGRFFCQkFBMEFJQUFvQWd3Z0JTQUVRUUFnQVVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQ0lBQkJER29pQmlrQ0FEY0RFQ0FDUVJocUlBSkJFR29nQVJDQmdJQ0FBQ0FDTHdFY0lnTU5BU0FDS0FJWUlBQW9BZ0FnQUNnQ0JCQ2JnSUNBQUNFRElBWWdCU0FFRUlXQWdJQUFJQUFnQVRZQ0NDQUFJQU0yQWdBTFFRQWhBd3NnQWtFZ2FpU0FnSUNBQUNBREM5SUNBd1ovQVg0SGZ5T0FnSUNBQUVFUWF5SURKSUNBZ0lBQUlBQW9BZ1FoQkNBQUtBSUFJUVZCQUNFR0lBSkIvd0Z4SVFjRGZ3SkFBa0FDUUNBR0lBUkhEUUJCZnlFSURBRUxBa0FnQlNBR1FRUjBhaUlDUVFocUtRTUFJZ2xDQUZNTkFDQUNLUU1BZXlBSmUzeW5JQUZKRFFJTElBWkJCM1FpQ0VHQUFXb2hDZ05BSUFnZ0NrOE5BaUFJSUFBcEFnQWlDVUlaaUtkQmdIOXhJZ0lnQ0NBQ1N4c2lDeUFJYXlFTUlBbW5RUWdnQ1VJZ2lLY2JJUTBnQ0VFUWRHZ2hEa0VBSVFJQ1FBTkFBa0FnRENBQ1J3MEFJQXNoRHd3Q0MwSC9BU0FJSUFKcUlnOUJCM0VpRUVFSGMzWkJBU0FRZEhFZ0RTQVBRUU4yYWkwQUFIRkZEUUVnQWtFQmFpSUNJQUZKRFFBZ0RpQUhTUTBBQ3lBRElBazNBd2dnQTBFSWFpQUlJQUZCQUJDVGdJQ0FBQXdDQ3lBUFFRRnFJUWdNQUFzTElBTkJFR29rZ0lDQWdBQWdDQThMSUFaQkFXb2hCZ3dBQ3d0VUFRRi9JQU5CQVhFaEJBSkFBMEFnQWtVTkFTQUFLQUlBUVFnZ0FDZ0NCQnNnQVVFRGRtb2lBeUFETFFBQVFYNGdBVUVIY1NJRGQzRWdCQ0FEZEhJNkFBQWdBVUVCYWlFQklBSkJmMm9oQWd3QUN3c0wyd0VCQTM4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUFKQUlBQkJnQkJQRFFBamdZQ0FnQUJCcUlEQWdBQnFJQUFnQVVHQUVDQUJRWUFRU1JzZ0FHc1FsWUNBZ0FBTEFrQWdBVUdBRUUwTkFBSkFJNEdBZ0lBQVFhQ0F3SUFBYWlnQ0JBMEFJNEdBZ0lBQVFhQ0F3SUFBYWlJRFFZQWdOZ0lFSUFNZ0FVRi9haUlCUVJCMElnUTJBZ0FnQkVFQVFZQ0FCQkNhZ0lDQUFCb0xJQUlqZ1lDQWdBQkJvSURBZ0FCcUtRTUFOd01JSUFKQkNHb2dBRUdBRUNBQVFZQVFTeHNpQUVHQWNHb2dBU0FBYXhDVmdJQ0FBQXNnQWtFUWFpU0FnSUNBQUFzN0FRRi9JNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQWdBeUFBS1FJQU53TUlJQU5CQ0dvZ0FTQUNRUUVRazRDQWdBQWdBMEVRYWlTQWdJQ0FBQXU5QVFFRWYwRUFJUVFDUUNBQlFZR0FmRThOQUFKQUk0R0FnSUFBUWFpQXdJQUFhaUFCUWYvL0EycEJFSFlpQVNBQ0VKS0FnSUFBSWdSQmYwY05BQUpBSTRHQWdJQUFRYUNBd0lBQWFpQUJJQUlRa29DQWdBQWlCRUYvUmcwQUlBUkJnQkJxSVFRTUFRdEJBQ0VFUVFFZ0FuUWlCVDhBSWdaQkVIUWlBbXBCZjJwQkFDQUZhM0VpQlNBQ2EwRVFkaUlISUFGcVFBQkJBVWdOQVNBSElBWnFJUVFnQlNBQ1JnMEFJQVlnQkJDVWdJQ0FBQXNnQkVFUWRDRUVDeUFFQzA4QkFYOENRQ0FDUWYvL0Eyb2lCa0dBZ0h4eElBUlBJZ0pGRFFBZ0JFSC8vd05xUVJCMklnUWdCa0VRZGlJR1JnMEFJQVFnQVVILy93TnFRUkIySWdGcUlBRWdCbW9RbElDQWdBQUxJQUlMSVFBZ0FVSC8vd05xUVJCMklnRWdBU0FDUWYvL0EycEJFSFpxRUpTQWdJQUFDM1VCQVg0Z0FDQUVJQUYrSUFJZ0EzNThJQU5DSUlnaUFpQUJRaUNJSWdSK2ZDQURRdi8vLy84UGd5SURJQUZDLy8vLy93K0RJZ0YrSWdWQ0lJZ2dBeUFFZm53aUEwSWdpSHdnQTBMLy8vLy9ENE1nQWlBQmZud2lBVUlnaUh3M0F3Z2dBQ0FCUWlDR0lBVkMvLy8vL3crRGhEY0RBQXNzQVFGL0FrQWdBa1VOQUNBQUlRTURRQ0FESUFFNkFBQWdBMEVCYWlFRElBSkJmMm9pQWcwQUN3c2dBQXRDQVFGL0FrQWdBa1VOQUNBQ1FYOXFJUUlnQUNFREEwQWdBeUFCTFFBQU9nQUFJQUpGRFFFZ0FrRi9haUVDSUFGQkFXb2hBU0FEUVFGcUlRTU1BQXNMSUFBTEMwRUNBRUdBZ01BQUN3Z0FBQUFBQUFBQUFBQkJpSURBQUFzb0FRQUFBQUlBQUFBREFBQUFBQUFBQUFBQUFBQUlBQkFBcXFxcXFnQUFBQUF3QUJBQUVBQUFBQT09Iik7Y29uc3Qgbj1hd2FpdCBHKCksQj1uLmV4cG9ydHM7ZnVuY3Rpb24gaChJKXtjb25zdHtwdHI6ZyxsZW5ndGg6QX09ZShJLEIpLEM9Qi5jb21wcmVzcyhnLEEpO0IuZnJlZShnLEEpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dyhCLm1lbW9yeSxDKSxhPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksdD1zKGEpO3JldHVybiBCLmZyZWUoUSxpKSx0fWZ1bmN0aW9uIGsoSSl7Y29uc3QgZz1CLmFsbG9jVWludDE2KEkubGVuZ3RoKSxBPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCk7Zm9yKGxldCBvPTA7bzxJLmxlbmd0aDtvKyspQVtvXT1JLmNoYXJDb2RlQXQobyk7Y29uc3QgQz1CLmRlY29tcHJlc3MoZyxJLmxlbmd0aCk7Qi5mcmVlKGcsMipJLmxlbmd0aCk7Y29uc3R7c3RhcnQ6USxlbmQ6RSxjYXBhY2l0eTppfT13KEIubWVtb3J5LEMpLGE9bmV3IFVpbnQ4QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLHQ9bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGEpO3JldHVybiBCLmZyZWUoUSxpKSx0fXNlbGYub25tZXNzYWdlPWZ1bmN0aW9uKEkpe2NvbnN0e2NvbW1hbmQ6ZyxpZDpBLGRhdGE6Q309SS5kYXRhO3N3aXRjaChnKXtjYXNlImRlY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6ayhDKX0pO2JyZWFrfWNhc2UiY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6aChDKX0pO2JyZWFrfX19fSkoKTs=", l = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function V() {
|
|
3
3
|
let U;
|
|
4
4
|
try {
|
|
5
|
-
if (U =
|
|
5
|
+
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
6
|
throw "";
|
|
7
7
|
return new Worker(U);
|
|
8
8
|
} catch {
|
|
9
|
-
return new Worker("data:application/javascript;base64," +
|
|
9
|
+
return new Worker("data:application/javascript;base64," + J, { type: "module" });
|
|
10
10
|
} finally {
|
|
11
11
|
U && (window.URL || window.webkitURL).revokeObjectURL(U);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
const R = new
|
|
14
|
+
const R = new V();
|
|
15
15
|
let d = 0;
|
|
16
|
-
const
|
|
16
|
+
const Q = {};
|
|
17
17
|
R.onmessage = function(U) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
F[Q](U.data.data), delete F[Q];
|
|
18
|
+
const F = U.data.id;
|
|
19
|
+
Q[F](U.data.data), delete Q[F];
|
|
21
20
|
};
|
|
22
|
-
async function
|
|
23
|
-
const
|
|
24
|
-
return
|
|
25
|
-
F
|
|
21
|
+
async function W(U) {
|
|
22
|
+
const F = d++;
|
|
23
|
+
return new Promise((B) => {
|
|
24
|
+
Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
|
-
async function
|
|
29
|
-
const
|
|
30
|
-
return
|
|
31
|
-
F
|
|
27
|
+
async function Z(U) {
|
|
28
|
+
const F = d++;
|
|
29
|
+
return new Promise((B) => {
|
|
30
|
+
Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
33
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
W as compress,
|
|
35
|
+
Z as decompress
|
|
37
36
|
};
|
package/dist/smol-string.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
const k = (I) => F(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMdHAMEAwQFBAYFBwgACQkJBgQJCQoHBQQAAgELCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB0QGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUABAhjb21wcmVzcwALCmRlY29tcHJlc3MAEAkJAQBBAQsDFhcYCv83HF4BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIOAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwuHAQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyACQQBIOgAMAkACQCACQX9KDQBCgICAgBAhBAwBCwJAIAJBAXQiAg0AQv7///8PIQQMAQsgASgCACACQQFBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAACxkAI4GAgIAAQZiAwIAAaiAAIAEQhYCAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLDwAgACAAQQxqEIeAgIAAC3ABA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgAiAkEKbCACQQ9qQXxxakEDakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsL2AIDBH8BfgR/I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCJgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIqAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBBACEBQQAhBQwBCyAGQXRqKAIAIAcoAgBBAXRqLwEAIQFBgIAEIQULIAAgBSABcjYBACAEQRBqJICAgIAAC+wFBQJ/AX4BfwJ+An8jgICAgABB4ABrIgIkgICAgAACQAJAAkACQAJAIAFBEEsNACABQQNNDQEgADUAAEIghiAAIAFBAXZB/P///wdxIgNqNQAAhCEEIAAgAUF8aiIFajUAAEIghiAAIAUgA2tqNQAAhCEGQqya4tOj0vD6HyEHDAQLQQAhA0KsmuLTo9Lw+h8hB0EAIQUgAUEwSQ0CQQAhBUKsmuLTo9Lw+h8hB0KsmuLTo9Lw+h8hBEKsmuLTo9Lw+h8hBgNAIAVBMGoiCCABTw0CIAJBwABqIAAgBWoiBSkACCAGhUIAIAUpAABC29HQhZra34FnhUIAEJmAgIAAIAJBMGogBUEYaikAACAEhUIAIAVBEGopAABC442j5Inemt6Of4VCABCZgICAACACQSBqIAVBKGopAAAgB4VCACAFQSBqKQAAQsOZ3anHudnM2ACFQgAQmYCAgAAgAkHAAGpBCGopAwAgAikDQIUhBiACQSBqQQhqKQMAIAIpAyCFIQcgAkEwakEIaikDACACKQMwhSEEIAghBQwACwtCACEGQqya4tOj0vD6HyEHAkAgAQ0AQgAhBAwDCyAAIAFBAXZqMQAAQgiGIAAxAABCEIaEIAEgAGpBf2oxAACEIQQMAgsgBCAHhSAGhSEHCyAAIAVqIQkgASAFayEIAkADQCADQRBqIgUgCE8NASACQdAAaiAJIANqIgNBCGopAAAgB4VCACADKQAAQtvR0IWa2t+BZ4VCABCZgICAACACQdAAakEIaikDACACKQNQhSEHIAUhAwwACwsgASAAaiIDQXhqKQAAIQYgA0FwaikAACEECyACQRBqIARC29HQhZra34FnhUIAIAYgB4VCABCZgICAACACIAJBEGpBCGopAwBC29HQhZra34FnhUIAIAGtIAIpAxCFQq/I9cXHrIe7oH+FQgAQmYCAgAAgAkEIaikDACEHIAIpAwAhBCACQeAAaiSAgICAACAHIASFC1gBAn9BACEEAkAgASADRw0AAkAgACACRw0AQQEPCwNAIAFFIQQgAUUNASABQX9qIQEgAi0AACEDIAAtAAAhBSAAQQFqIQAgAkEBaiECIAUgA0YNAAsLIAQLiRMGAX8BfgV/AX4cfwF+I4CAgIAAQaABayICJICAgIAAAkACQAJAIAENACOBgICAAEGYgMCAAGopAwAhA0Gq1arVeiEEQQAhBUEAIQYMAQtBACEHIAJBGGpBCGoiCEEANgIAIAJCADcDGCACI4GAgIAAQZiAwIAAaikDACIJNwIkIAIgCTcCdCACQQA2AnAgAkKq1arVCjcCaAJAIAJB6ABqIAEQjICAgABB//8DcUUNACACQRhqEIaAgIAADAILIAJBGGpBDGohCiAJQiCIpyELIAIpAnQhAyACKAJwIQUgAigCbCEGIAIoAmghBCAJpyEMQYACIQ1BACEOA0AgBiEPIA5BAmohByAAIA5qIRBBACEGAkACQAJAAkACQAJAAkACQAJAAkADQAJAAkAgByAGaiABTw0AIAJBMGogAkEYaiAQIAZBAmoiERCIgICAACACLQAyDQEgAigCGCESIAIoAiANBgJAAkAgEg0AQQEhBwwBCyASQXxqKAIArULQAH4iCSAJQuQAgn1C5AB8QtAAgKchBwtBACETIAJB6ABqQQhqIhRBADYCACACQgA3A2hBAA0FAkACQEIBQSAgB2drrUL//wODhqciB0EIIAdBCEsbIhVBAXQgFUEPakF8cSIWIBVBA3RqIhdqQQNqQXxxIgcNAEF8IQcMAQtBACETIAwgB0ECQQAgCygCABGAgICAAAAiB0UNBgsgB0EIaiIYIBU2AgAgByAHIBZqNgIEIAcgByAXajYCACACIAdBDGoiBzYCaCAHQQAgFRCagICAACETIAIgFa1C0AB+QuQAgKciGTYCcCACKAIcIhpFDQRB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"), J = await k(), A = J.exports;
|
|
3
|
-
function
|
|
4
|
-
const { ptr:
|
|
5
|
-
A.free(
|
|
6
|
-
const { start:
|
|
7
|
-
return A.free(
|
|
1
|
+
import { i as a, c as k, e as G, U as h } from "./wasm-helper-57a16a1d.js";
|
|
2
|
+
const F = (I) => a(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMdHAMEAwQFBAYFBwgACQkJBgQJCQoHBQQAAgELCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB0QGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUABAhjb21wcmVzcwALCmRlY29tcHJlc3MAEAkJAQBBAQsDFhcYCtgxHF4BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIOAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwuHAQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyACQQBIOgAMAkACQCACQX9KDQBCgICAgBAhBAwBCwJAIAJBAXQiAg0AQv7///8PIQQMAQsgASgCACACQQFBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAACxkAI4GAgIAAQZiAwIAAaiAAIAEQhYCAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLDwAgACAAQQxqEIeAgIAAC3ABA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgAiAkEKbCACQQ9qQXxxakEDakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsL2AIDBH8BfgR/I4CA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"), s = await F(), A = s.exports;
|
|
3
|
+
function J(I) {
|
|
4
|
+
const { ptr: g, length: Q } = k(I, A), E = A.compress(g, Q);
|
|
5
|
+
A.free(g, Q);
|
|
6
|
+
const { start: C, end: i, capacity: o } = G(A.memory, E), D = new Uint16Array(A.memory.buffer.slice(C, i)), w = h(D);
|
|
7
|
+
return A.free(C, o), w;
|
|
8
8
|
}
|
|
9
|
-
function
|
|
10
|
-
const
|
|
9
|
+
function N(I) {
|
|
10
|
+
const g = A.allocUint16(I.length), Q = new Uint16Array(
|
|
11
11
|
A.memory.buffer,
|
|
12
|
-
|
|
12
|
+
g,
|
|
13
13
|
I.length
|
|
14
14
|
);
|
|
15
15
|
for (let B = 0; B < I.length; B++)
|
|
16
16
|
Q[B] = I.charCodeAt(B);
|
|
17
17
|
const E = A.decompress(
|
|
18
|
-
|
|
18
|
+
g,
|
|
19
19
|
I.length
|
|
20
20
|
);
|
|
21
|
-
A.free(
|
|
22
|
-
const { start:
|
|
23
|
-
return A.free(
|
|
21
|
+
A.free(g, 2 * I.length);
|
|
22
|
+
const { start: C, end: i, capacity: o } = G(A.memory, E), D = new Uint8Array(A.memory.buffer.slice(C, i)), w = new TextDecoder().decode(D);
|
|
23
|
+
return A.free(C, o), w;
|
|
24
24
|
}
|
|
25
25
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
J as compress,
|
|
27
|
+
N as decompress
|
|
28
28
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smol-string",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2-beta",
|
|
4
4
|
"description": "Compression for browser localStorage",
|
|
5
5
|
"author": "Senryoku <maretverdant@gmail.com>",
|
|
6
6
|
"repository": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
"@vitest/browser": "^0.34.6",
|
|
55
55
|
"typescript": "^5.2.2",
|
|
56
56
|
"vite": "^4.4.5",
|
|
57
|
+
"vite-plugin-dts": "^3.6.2",
|
|
58
|
+
"vite-plugin-top-level-await": "^1.3.1",
|
|
57
59
|
"vitest": "^0.34.6",
|
|
58
|
-
"webdriverio": "^8.20.4"
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
"dependencies": {}
|
|
60
|
+
"webdriverio": "^8.20.4"
|
|
61
|
+
}
|
|
62
62
|
}
|
package/src/common.ts
CHANGED
|
@@ -2,7 +2,7 @@ export function copyToWasmBuffer(
|
|
|
2
2
|
str: string,
|
|
3
3
|
exports: { allocUint8: (size: number) => number; memory: any }
|
|
4
4
|
) {
|
|
5
|
-
// There's also an 'encodeInto' method to avoid a copy, but by encoding first, we
|
|
5
|
+
// There's also an 'encodeInto' method to avoid a copy, but by encoding first, we can allocate only exactly what we need.
|
|
6
6
|
const utf8Str = new TextEncoder().encode(str);
|
|
7
7
|
const ptrToStr = exports.allocUint8(utf8Str.length);
|
|
8
8
|
const inBuffer = new Uint8Array(
|
package/src/module-packed.wasm
CHANGED
|
Binary file
|
package/src/module.wasm
CHANGED
|
Binary file
|
|
@@ -28,8 +28,12 @@ export function compressPacked(str: string) {
|
|
|
28
28
|
|
|
29
29
|
exports.free(ptr, length);
|
|
30
30
|
|
|
31
|
+
//console.log(ptrToFooter);
|
|
32
|
+
|
|
31
33
|
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
32
34
|
|
|
35
|
+
//console.log(start, end, capacity / (1024 * 1024));
|
|
36
|
+
|
|
33
37
|
// Includes the tokenCount at the end of the stream (2 * u16).
|
|
34
38
|
const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
|
|
35
39
|
|
|
@@ -61,7 +65,7 @@ export function decompressPacked(compressedStr: string) {
|
|
|
61
65
|
tokenCount
|
|
62
66
|
);
|
|
63
67
|
|
|
64
|
-
exports.free(ptrToCompressed, compressedStr.length - 2);
|
|
68
|
+
exports.free(ptrToCompressed, 2 * (compressedStr.length - 2));
|
|
65
69
|
|
|
66
70
|
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
67
71
|
const content = new Uint8Array(exports.memory.buffer.slice(start, end));
|
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
// @ts-expect-error
|
|
2
|
-
import Worker from "./worker-packed.js?worker&inline";
|
|
3
|
-
|
|
4
|
-
const worker = new Worker();
|
|
5
|
-
|
|
6
|
-
let nextID = 0;
|
|
7
|
-
const resolver: Record<number, (str: string) => void> = {};
|
|
8
|
-
|
|
9
|
-
worker.onmessage = function (e: { data: { id: number; data: string } }) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
resolver[id]
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
worker.postMessage({ command: "decompress", id, data });
|
|
31
|
-
});
|
|
32
|
-
}
|
|
1
|
+
// @ts-expect-error
|
|
2
|
+
import Worker from "./worker-packed.js?worker&inline";
|
|
3
|
+
|
|
4
|
+
const worker = new Worker();
|
|
5
|
+
|
|
6
|
+
let nextID = 0;
|
|
7
|
+
const resolver: Record<number, (str: string) => void> = {};
|
|
8
|
+
|
|
9
|
+
worker.onmessage = function (e: { data: { id: number; data: string } }) {
|
|
10
|
+
const id = e.data.id;
|
|
11
|
+
resolver[id](e.data.data);
|
|
12
|
+
delete resolver[id];
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export async function compressPacked(data: string) {
|
|
16
|
+
const id = nextID++;
|
|
17
|
+
return new Promise<string>((resolve) => {
|
|
18
|
+
resolver[id] = resolve;
|
|
19
|
+
worker.postMessage({ command: "compress", id, data });
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function decompressPacked(data: string) {
|
|
24
|
+
const id = nextID++;
|
|
25
|
+
return new Promise<string>((resolve) => {
|
|
26
|
+
resolver[id] = resolve;
|
|
27
|
+
worker.postMessage({ command: "decompress", id, data });
|
|
28
|
+
});
|
|
29
|
+
}
|
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
// @ts-expect-error
|
|
2
|
-
import Worker from "./worker.js?worker&inline";
|
|
3
|
-
|
|
4
|
-
const worker = new Worker();
|
|
5
|
-
|
|
6
|
-
let nextID = 0;
|
|
7
|
-
const resolver: Record<number, (str: string) => void> = {};
|
|
8
|
-
|
|
9
|
-
worker.onmessage = function (e: { data: { id: number; data: string } }) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
resolver[id]
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
worker.postMessage({ command: "decompress", id, data });
|
|
31
|
-
});
|
|
32
|
-
}
|
|
1
|
+
// @ts-expect-error
|
|
2
|
+
import Worker from "./worker.js?worker&inline";
|
|
3
|
+
|
|
4
|
+
const worker = new Worker();
|
|
5
|
+
|
|
6
|
+
let nextID = 0;
|
|
7
|
+
const resolver: Record<number, (str: string) => void> = {};
|
|
8
|
+
|
|
9
|
+
worker.onmessage = function (e: { data: { id: number; data: string } }) {
|
|
10
|
+
const id = e.data.id;
|
|
11
|
+
resolver[id](e.data.data);
|
|
12
|
+
delete resolver[id];
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export async function compress(data: string) {
|
|
16
|
+
const id = nextID++;
|
|
17
|
+
return new Promise<string>((resolve) => {
|
|
18
|
+
resolver[id] = resolve;
|
|
19
|
+
worker.postMessage({ command: "compress", id, data });
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export async function decompress(data: string) {
|
|
24
|
+
const id = nextID++;
|
|
25
|
+
return new Promise<string>((resolve) => {
|
|
26
|
+
resolver[id] = resolve;
|
|
27
|
+
worker.postMessage({ command: "decompress", id, data });
|
|
28
|
+
});
|
|
29
|
+
}
|
package/src/smol-string.ts
CHANGED
|
@@ -49,7 +49,7 @@ export function decompress(compressedStr: string) {
|
|
|
49
49
|
compressedStr.length
|
|
50
50
|
);
|
|
51
51
|
|
|
52
|
-
exports.free(ptrToCompressed, compressedStr.length);
|
|
52
|
+
exports.free(ptrToCompressed, 2 * compressedStr.length);
|
|
53
53
|
|
|
54
54
|
const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
|
|
55
55
|
const content = new Uint8Array(exports.memory.buffer.slice(start, end));
|
package/src/worker-packed.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { compressPacked, decompressPacked } from "./smol-string-packed.js";
|
|
2
|
-
|
|
3
|
-
export type Message = {
|
|
4
|
-
command: string;
|
|
5
|
-
id: number;
|
|
6
|
-
data: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
onmessage =
|
|
10
|
-
const { command, id, data } = e.data;
|
|
11
|
-
switch (command) {
|
|
12
|
-
case "decompress": {
|
|
13
|
-
postMessage({ id, data: decompressPacked(data) });
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
case "compress": {
|
|
17
|
-
postMessage({ id, data: compressPacked(data) });
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
1
|
+
import { compressPacked, decompressPacked } from "./smol-string-packed.js";
|
|
2
|
+
|
|
3
|
+
export type Message = {
|
|
4
|
+
command: string;
|
|
5
|
+
id: number;
|
|
6
|
+
data: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
self.onmessage = function (e: { data: Message }) {
|
|
10
|
+
const { command, id, data } = e.data;
|
|
11
|
+
switch (command) {
|
|
12
|
+
case "decompress": {
|
|
13
|
+
self.postMessage({ id, data: decompressPacked(data) });
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
case "compress": {
|
|
17
|
+
self.postMessage({ id, data: compressPacked(data) });
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
package/src/worker.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { compress, decompress } from "./smol-string.js";
|
|
2
|
-
|
|
3
|
-
export type Message = {
|
|
4
|
-
command: string;
|
|
5
|
-
id: number;
|
|
6
|
-
data: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
onmessage =
|
|
10
|
-
const { command, id, data } = e.data;
|
|
11
|
-
switch (command) {
|
|
12
|
-
case "decompress": {
|
|
13
|
-
postMessage({ id, data: decompress(data) });
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
case "compress": {
|
|
17
|
-
postMessage({ id, data: compress(data) });
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
1
|
+
import { compress, decompress } from "./smol-string.js";
|
|
2
|
+
|
|
3
|
+
export type Message = {
|
|
4
|
+
command: string;
|
|
5
|
+
id: number;
|
|
6
|
+
data: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
self.onmessage = function (e: { data: Message }) {
|
|
10
|
+
const { command, id, data } = e.data;
|
|
11
|
+
switch (command) {
|
|
12
|
+
case "decompress": {
|
|
13
|
+
self.postMessage({ id, data: decompress(data) });
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
case "compress": {
|
|
17
|
+
self.postMessage({ id, data: compress(data) });
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
package/test/json.bench.ts
CHANGED
|
@@ -9,19 +9,19 @@ import {
|
|
|
9
9
|
decompressPacked,
|
|
10
10
|
} from "../dist/smol-string-packed.js";
|
|
11
11
|
|
|
12
|
-
const options = { iterations:
|
|
12
|
+
const options = { iterations: 20 };
|
|
13
13
|
|
|
14
14
|
describe.each(TestData)("Compression: $name", ({ name, input }) => {
|
|
15
15
|
bench(
|
|
16
16
|
"compress",
|
|
17
|
-
|
|
17
|
+
() => {
|
|
18
18
|
compress(input);
|
|
19
19
|
},
|
|
20
20
|
options
|
|
21
21
|
);
|
|
22
22
|
bench(
|
|
23
23
|
"compressPacked",
|
|
24
|
-
|
|
24
|
+
() => {
|
|
25
25
|
compressPacked(input);
|
|
26
26
|
},
|
|
27
27
|
options
|
|
@@ -34,7 +34,7 @@ describe.each(TestData)("Decompression: $name", ({ name, input }) => {
|
|
|
34
34
|
|
|
35
35
|
bench(
|
|
36
36
|
"decompress",
|
|
37
|
-
|
|
37
|
+
() => {
|
|
38
38
|
const decompressed = decompress(compressed);
|
|
39
39
|
expect(decompressed).toBe(input);
|
|
40
40
|
},
|
|
@@ -42,7 +42,7 @@ describe.each(TestData)("Decompression: $name", ({ name, input }) => {
|
|
|
42
42
|
);
|
|
43
43
|
bench(
|
|
44
44
|
"decompressPacked",
|
|
45
|
-
|
|
45
|
+
() => {
|
|
46
46
|
const decompressed = decompressPacked(compressedPacked);
|
|
47
47
|
expect(decompressed).toBe(input);
|
|
48
48
|
},
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
|
|
3
|
+
import { TestData } from "./common.js";
|
|
4
|
+
|
|
5
|
+
import { compress, decompress } from "../dist/smol-string-worker.js";
|
|
6
|
+
import {
|
|
7
|
+
compressPacked,
|
|
8
|
+
decompressPacked,
|
|
9
|
+
} from "../dist/smol-string-worker-packed.js";
|
|
10
|
+
|
|
11
|
+
describe("compress and decompress", () => {
|
|
12
|
+
for (const { name, input } of TestData) {
|
|
13
|
+
test(name, async () => {
|
|
14
|
+
const compressed = await compress(input);
|
|
15
|
+
const decompressed = await decompress(compressed);
|
|
16
|
+
expect(decompressed).toBe(input);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
describe("compressPacked and decompressPacked", () => {
|
|
22
|
+
for (const { name, input } of TestData) {
|
|
23
|
+
test(name, async () => {
|
|
24
|
+
const compressed = await compressPacked(input);
|
|
25
|
+
const decompressed = await decompressPacked(compressed);
|
|
26
|
+
expect(decompressed).toBe(input);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
package/vite.config.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { defineConfig } from "vite";
|
|
|
3
3
|
import dts from "vite-plugin-dts";
|
|
4
4
|
import pkg from "./package.json" assert { type: "json" };
|
|
5
5
|
|
|
6
|
+
import topLevelAwait from "vite-plugin-top-level-await";
|
|
7
|
+
|
|
6
8
|
export default defineConfig({
|
|
7
9
|
build: {
|
|
8
10
|
lib: {
|
|
@@ -17,7 +19,7 @@ export default defineConfig({
|
|
|
17
19
|
},
|
|
18
20
|
rollupOptions: {
|
|
19
21
|
external: [
|
|
20
|
-
...Object.keys(pkg
|
|
22
|
+
...Object.keys(pkg["dependencies"] ?? {}), // don't bundle dependencies
|
|
21
23
|
/^node:.*/, // don't bundle built-in Node.js modules (use protocol imports!)
|
|
22
24
|
],
|
|
23
25
|
},
|
|
@@ -25,6 +27,14 @@ export default defineConfig({
|
|
|
25
27
|
},
|
|
26
28
|
worker: {
|
|
27
29
|
format: "es",
|
|
30
|
+
plugins: [
|
|
31
|
+
topLevelAwait({
|
|
32
|
+
// The export name of top-level await promise for each chunk module
|
|
33
|
+
promiseExportName: "__tla",
|
|
34
|
+
// The function to generate import names of top-level await promise in each chunk module
|
|
35
|
+
promiseImportName: (i) => `__tla_${i}`,
|
|
36
|
+
}),
|
|
37
|
+
],
|
|
28
38
|
},
|
|
29
39
|
plugins: [
|
|
30
40
|
dts(), // emit TS declaration files
|