smol-string 0.0.2-beta → 0.1.0-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/README.md +22 -22
- package/dist/common.d.ts +13 -13
- package/dist/smol-string-packed.d.ts +2 -2
- package/dist/smol-string-packed.js +30 -30
- package/dist/smol-string-worker-packed.d.ts +2 -2
- package/dist/smol-string-worker-packed.js +46 -36
- package/dist/smol-string-worker.d.ts +2 -2
- package/dist/smol-string-worker.js +46 -36
- package/dist/smol-string.d.ts +2 -2
- package/dist/smol-string.js +28 -28
- package/dist/{wasm-helper-57a16a1d.js → wasm-helper-C1VfMvbY.js} +56 -56
- package/dist/worker-packed.d.ts +5 -5
- package/dist/worker.d.ts +5 -5
- package/package.json +3 -2
- package/src/module-packed.wasm +0 -0
- package/src/module.wasm +0 -0
- package/vite.config.ts +10 -8
- package/test/basic.test.ts +0 -29
- package/test/common.ts +0 -15
- package/test/json.bench.ts +0 -51
- package/test/localStorage.test.browser.ts +0 -39
- package/test/sessionStorage.test.browser.ts +0 -39
- package/test/worker.test.browser.ts +0 -29
package/README.md
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# smol-string
|
|
2
|
-
|
|
3
|
-
`smol-string` is a compression library designed for use with browsers' `localStorage` (and `sessionStorage`). It serves as a faster alternative to [`lz-string`](https://github.com/pieroxy/lz-string).
|
|
4
|
-
|
|
5
|
-
For more information, check the [GitHub Repository](https://github.com/Senryoku/smol-string).
|
|
6
|
-
|
|
7
|
-
## Installation
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
npm install -S smol-string
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Basic Usage
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
import { compress, decompress } from "smol-string";
|
|
17
|
-
|
|
18
|
-
const input = "Any JS String";
|
|
19
|
-
|
|
20
|
-
const compressed = compress(input);
|
|
21
|
-
const decompressed = decompress(compressed);
|
|
22
|
-
```
|
|
1
|
+
# smol-string
|
|
2
|
+
|
|
3
|
+
`smol-string` is a compression library designed for use with browsers' `localStorage` (and `sessionStorage`). It serves as a faster alternative to [`lz-string`](https://github.com/pieroxy/lz-string).
|
|
4
|
+
|
|
5
|
+
For more information, check the [GitHub Repository](https://github.com/Senryoku/smol-string).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
npm install -S smol-string
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Basic Usage
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { compress, decompress } from "smol-string";
|
|
17
|
+
|
|
18
|
+
const input = "Any JS String";
|
|
19
|
+
|
|
20
|
+
const compressed = compress(input);
|
|
21
|
+
const decompressed = decompress(compressed);
|
|
22
|
+
```
|
package/dist/common.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export declare function copyToWasmBuffer(str: string, exports: {
|
|
2
|
-
allocUint8: (size: number) => number;
|
|
3
|
-
memory: any;
|
|
4
|
-
}): {
|
|
5
|
-
ptr: number;
|
|
6
|
-
length: number;
|
|
7
|
-
};
|
|
8
|
-
export declare function Uint16ArraytoString(buf: Uint16Array): string;
|
|
9
|
-
export declare function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number): {
|
|
10
|
-
start: number;
|
|
11
|
-
end: number;
|
|
12
|
-
capacity: number;
|
|
13
|
-
};
|
|
1
|
+
export declare function copyToWasmBuffer(str: string, exports: {
|
|
2
|
+
allocUint8: (size: number) => number;
|
|
3
|
+
memory: any;
|
|
4
|
+
}): {
|
|
5
|
+
ptr: number;
|
|
6
|
+
length: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function Uint16ArraytoString(buf: Uint16Array): string;
|
|
9
|
+
export declare function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number): {
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
capacity: number;
|
|
13
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compressPacked(str: string): string;
|
|
2
|
-
export declare function decompressPacked(compressedStr: string): string;
|
|
1
|
+
export declare function compressPacked(str: string): string;
|
|
2
|
+
export declare function decompressPacked(compressedStr: string): string;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { i as
|
|
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
|
-
function
|
|
4
|
-
const { ptr:
|
|
5
|
-
I.free(
|
|
6
|
-
const { start: Q, end: B, capacity: i } =
|
|
7
|
-
return I.free(Q, i),
|
|
8
|
-
}
|
|
9
|
-
function
|
|
10
|
-
const
|
|
11
|
-
let
|
|
12
|
-
I.memory.buffer,
|
|
13
|
-
|
|
14
|
-
A.length - 2
|
|
15
|
-
);
|
|
16
|
-
for (let E = 0; E < A.length - 2; E++)
|
|
17
|
-
D[E] = A.charCodeAt(E);
|
|
18
|
-
const Q = I.decompressPacked(
|
|
19
|
-
|
|
20
|
-
A.length - 2,
|
|
21
|
-
|
|
22
|
-
);
|
|
23
|
-
I.free(
|
|
24
|
-
const { start: B, end: i, capacity:
|
|
25
|
-
return I.free(B,
|
|
26
|
-
}
|
|
27
|
-
export {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
1
|
+
import { i as a, c as J, e as w, U as h } from "./wasm-helper-C1VfMvbY.js";
|
|
2
|
+
const F = (A) => a(A, "data:application/wasm;base64,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AGpBCGopAwA3AwAgAiACKQNANwOIASACQaABaiACQYgBaiAKIAMQiYCAgAACQAJAAkAgAi0ApAENACADQQJHDQEgCi0AACEDDAILIAIvAaABIAItAKIBQRB0ciEDDAILIAJBqAFqQRBqIAJBwABqQRBqKAIANgIAIAJBqAFqQQhqIAJBwABqQQhqKQMANwMAIAIgAikDQDcDqAEgAkHAAWogAkGoAWogCiADQX9qEImAgIAAIAIvAcABIAItAMIBQRB0ciEDCyACQdgAaiADEIyAgIAAIAsgAGpBf2otAAAhAwsgAkHYAGogAxCMgICAACACQcAAahCHgICAACACQSBqQRhqIAJB2ABqQRhqKQMANwMAIAJBIGpBEGogAkHYAGpBEGopAwA3AwAgAkEgakEIaiACQdgAakEIaikDADcDACACIAIpA1g3AyAMBAsgAkHAAGpBCGoiCygCACEMIAsgBigCADYCACAGIAw2AgAgAkEANgJEIAIpA0AhBCACIAIpA8gBNwNAIAIgBDcDyAEgAkHIAWogBxCIgICAAAsgAkHAAGogCiADIAgQkICAgAAgCEEBaiEIDAALCyACQcAAahCHgICAAEEAIQMMAQsgAkEYaiACQSBqQRhqKQMANwMAIAJBEGogAkEgakEQaikDADcDACACQQhqIAJBIGpBCGopAwA3AwAgAiACKQMgNwMAQQAhAyACIAIoAgQiAUECahCGgICAAEH//wNxDQAgAigCACIDIAIoAgRBA3RqIglBCGogAjUCCEIDhjcDACAJIAFBA3QiAUEEcq1CIIYgAjUCFIQ3AwAgAyABakEEaiEDCyACQZACaiSAgICAACADC60CAwV/AX4BfyOAgICAAEEQayICJICAgIAAQQAhAwJAIAAoAggiBCABTw0AIAAoAgAhBQJAIARFDQAgAiABQf////8BSzoACCABQYCAgIACTw0AIAAoAgwgBSAEQQN0QQMgAUEDdEEAIABBEGooAgAoAgQRgoCAgAAAQQFxRQ0AIAAgATYCCEEAIQMMAQsgAEEMaiIGKQIAIQcgAiABQf////8BSzoADAJAIAFBgICAgAJPDQACQAJAIAFBA3QiCA0AQXghCAwBCyAHpyAIQQNBACAHQiCIpygCABGAgICAAAAiCEUNAQsgCCAAKAIAIAAoAgRBA3QQpYCAgAAhCCAG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"), N = await F(), I = N.exports;
|
|
3
|
+
function y(A) {
|
|
4
|
+
const { ptr: C, length: g } = J(A, I), D = I.compressPacked(C, g);
|
|
5
|
+
I.free(C, g);
|
|
6
|
+
const { start: Q, end: B, capacity: i } = w(I.memory, D), o = new Uint16Array(I.memory.buffer.slice(Q, B)), k = h(o);
|
|
7
|
+
return I.free(Q, i), k;
|
|
8
|
+
}
|
|
9
|
+
function s(A) {
|
|
10
|
+
const C = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
|
|
11
|
+
let g = I.allocUint16(A.length - 2), D = new Uint16Array(
|
|
12
|
+
I.memory.buffer,
|
|
13
|
+
g,
|
|
14
|
+
A.length - 2
|
|
15
|
+
);
|
|
16
|
+
for (let E = 0; E < A.length - 2; E++)
|
|
17
|
+
D[E] = A.charCodeAt(E);
|
|
18
|
+
const Q = I.decompressPacked(
|
|
19
|
+
g,
|
|
20
|
+
A.length - 2,
|
|
21
|
+
C
|
|
22
|
+
);
|
|
23
|
+
I.free(g, 2 * (A.length - 2));
|
|
24
|
+
const { start: B, end: i, capacity: o } = w(I.memory, Q), k = new Uint8Array(I.memory.buffer.slice(B, i)), G = new TextDecoder().decode(k);
|
|
25
|
+
return I.free(B, o), G;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
y as compressPacked,
|
|
29
|
+
s as decompressPacked
|
|
30
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compressPacked(data: string): Promise<string>;
|
|
2
|
-
export declare function decompressPacked(data: string): Promise<string>;
|
|
1
|
+
export declare function compressPacked(data: string): Promise<string>;
|
|
2
|
+
export declare function decompressPacked(data: string): Promise<string>;
|
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsQyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksZz1DLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6ZyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGUoQSl7Y29uc3QgQz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKUNbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gQy5qb2luKCIiKX1mdW5jdGlvbiB3KEEsQyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoQyxDKzgpKSxnPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpDLWcsZW5kOkMsY2FwYWNpdHk6UX19dmFyIEo9YXN5bmMoQT17fSxDKT0+e2xldCBJO2lmKEMuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1DLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQyksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxjPUE9PkooQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQlg5K2ZuNStBR0FCZlFGOUF5UWpBd1FEQlFRREJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQkFzTUNnb0VCUUZ3QVFRRUJRTUJBQkVHRGdKL0FVR0FnTUFBQzM4QVFRQUxCMUFHQm0xbGJXOXllUUlBQ21Gc2JHOWpWV2x1ZERnQUFBdGhiR3h2WTFWcGJuUXhOZ0FDQkdaeVpXVUFBdzVqYjIxd2NtVnpjMUJoWTJ0bFpBQU5FR1JsWTI5dGNISmxjM05RWVdOclpXUUFFZ2tKQVFCQkFRc0RHeHdkQ3R4REkxNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxoZ0VDQW44QmZpT0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBRUVBU0RvQURDT0JnSUNBQUNFQ0FrQWdBRUYvVEEwQUFrQUNRQ0FBUVFGMElnQU5BRUYrSVFBTUFRc2dBa0dZZ01DQUFHb3BBd0FpQTZjZ0FFRUJRUUFnQTBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ0JGRFFFTElBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDeGtBSTRHQWdJQUFRWmlBd0lBQWFpQUFJQUVRaElDQWdBQUxPQUVCZndKQUlBSkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVR3ExYXJWZWlBQ0d5QURRUUJCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMUVFFQ2Z3SkFJQUFnQUNnQ0JFRUJhaENHZ0lDQUFDSUJRZi8vQTNFTkFDQUFJQUFvQWdRaUFrRUJhallDQkNBQUtBSUFJQUpCQTNScVFnQTNBd0FMSUFFTExRRUNmMEVBSVFJQ1FDQUFLQUlJSWdNZ0FVOE5BQ0FBSUFNZ0FSQ1BnSUNBQUJDT2dJQ0FBQ0VDQ3lBQ0M0RUNBd0YvQVg0Q2Z3SkFJQUF0QUJ3aUFrRVVUdzBBSUFBb0FoaEJnQUpxUVg4Z0FuUkJmM05KRFFBZ0FDQUNRUUZxSWdJNkFCd0xJQUd0UXYvL1A0TWhBd04vQWtBQ1FBSkFBa0FnQWtIL0FYRWlCRVVOQUNBQUxRQWRJZ0ZCd0FCR0RRRU1Bd3NnQUNBQUtBSVVRUUZxTmdJVUlBQWdBQ2dDR0VFQmFqWUNHRUVBSVFFTUFRc2dBQkNGZ0lDQUFDSUJRZi8vQTNFTkFFRUFJUUVnQUVFQU9nQWREQUVMSUFFUEN5QUFLQUlFUVFOMElBQW9BZ0JxUVhocUlnVWdCU2tEQUNBRFFRQWdBbXRCUDNHdGhpQUJyWWlFTndNQUlBQWdBQzBBSFNBRVFjQUFJQUZyUWY4QmNTSUJJQVFnQVVrYklnRnFPZ0FkSUFJZ0FXc2hBZ3dBQ3dzUEFDQUFJQUJCREdvUWlZQ0FnQUFMWlFFRGZ3SkFJQUFvQWdBaUFrVU5BQUpBSUFKQmRHb2lBMEVJYWlnQ0FFRU5iRUVQYWtGOGNTSUNRUUFnQWhzaUJFVU5BQ0FCS0FJQUlBTkJCQ0FDR3lBRVFRSkJBQ0FCS0FJRUtBSUlFWUdBZ0lBQUFBc2dBRUVBTmdJSUlBQkJBRFlDQUFzTGdRTUVCSDhCZmdSL0FYNGpnSUNBZ0FCQkVHc2lCQ1NBZ0lDQUFDT0JnSUNBQUNFRklBRW9BZ0FoQmdKQUFrQWdBU2dDQkEwQUlBVkJnSURBZ0FCcUlRY01BUXNnQWlBREVJdUFnSUFBSVFnQ1FBSkFJQVlOQUVFQUlRVkJmeUVKREFFTElBWkJmR29vQWdBaUJVRi9haUVKQ3lBR1FYaHFJUW9nQ1NBSXAzRWhBU0FJUWptSXB5RUxBMEFqZ1lDQWdBQkJnSURBZ0FCcUlRY2dCaUFCYWl3QUFDSU1SUTBCSUFWRkRRRUNRQ0FNUVg5S0RRQWdDeUFNUWY4QWNVY05BQ0FDSUFNZ0NpZ0NBQ0FCUVFOMGFpSU1LQUlBSUF3b0FnUVFqSUNBZ0FCQkFYRkZEUUFnQkVFQk9nQU1JQVFnQVRZQ0NDQUVRUWhxSVFjTUFnc2dCVUYvYWlFRklBRkJBV29nQ1hFaEFRd0FDd3NDUUFKQUlBY3RBQVFOQUVJQUlRaENBQ0VOREFFTElBUWdCa0YwYWlnQ0FDQUhLQUlBUVFKMGFpSUJRUUpxTFFBQVFROXhPZ0FDSUFRZ0FTOEJBRHNCQUNBRU13RUFJQVF4QUFKQ0VJYUVJUWhDZ0lDQWdCQWhEUXNnQUNBTklBaUVOd0lBSUFSQkVHb2tnSUNBZ0FBTDdBVUZBbjhCZmdGL0FuNENmeU9BZ0lDQUFFSGdBR3NpQWlTQWdJQ0FBQUpBQWtBQ1FBSkFBa0FnQVVFUVN3MEFJQUZCQTAwTkFTQUFOUUFBUWlDR0lBQWdBVUVCZGtIOC8vLy9CM0VpQTJvMUFBQ0VJUVFnQUNBQlFYeHFJZ1ZxTlFBQVFpQ0dJQUFnQlNBRGEybzFBQUNFSVFaQ3JKcmkwNlBTOFBvZklRY01CQXRCQUNFRFFxeWE0dE9qMHZENkh5RUhRUUFoQlNBQlFUQkpEUUpCQUNFRlFxeWE0dE9qMHZENkh5RUhRcXlhNHRPajB2RDZIeUVFUXF5YTR0T2owdkQ2SHlFR0EwQWdCVUV3YWlJSUlBRlBEUUlnQWtIQUFHb2dBQ0FGYWlJRktRQUlJQWFGUWdBZ0JTa0FBRUxiMGRDRm10cmZnV2VGUWdBUW40Q0FnQUFnQWtFd2FpQUZRUmhxS1FBQUlBU0ZRZ0FnQlVFUWFpa0FBRUxqamFQa2lkNmEzbzUvaFVJQUVKK0FnSUFBSUFKQklHb2dCVUVvYWlrQUFDQUhoVUlBSUFWQklHb3BBQUJDdzVuZHFjZTUyY3pZQUlWQ0FCQ2ZnSUNBQUNBQ1FjQUFha0VJYWlrREFDQUNLUU5BaFNFR0lBSkJJR3BCQ0dvcEF3QWdBaWtESUlVaEJ5QUNRVEJxUVFocUtRTUFJQUlwQXpDRklRUWdDQ0VGREFBTEMwSUFJUVpDckpyaTA2UFM4UG9mSVFjQ1FDQUJEUUJDQUNFRURBTUxJQUFnQVVFQmRtb3hBQUJDQ0lZZ0FERUFBRUlRaG9RZ0FTQUFha0YvYWpFQUFJUWhCQXdDQ3lBRUlBZUZJQWFGSVFjTElBQWdCV29oQ1NBQklBVnJJUWdDUUFOQUlBTkJFR29pQlNBSVR3MEJJQUpCMEFCcUlBa2dBMm9pQTBFSWFpa0FBQ0FIaFVJQUlBTXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKK0FnSUFBSUFKQjBBQnFRUWhxS1FNQUlBSXBBMUNGSVFjZ0JTRUREQUFMQ3lBQklBQnFJZ05CZUdvcEFBQWhCaUFEUVhCcUtRQUFJUVFMSUFKQkVHb2dCRUxiMGRDRm10cmZnV2VGUWdBZ0JpQUhoVUlBRUorQWdJQUFJQUlnQWtFUWFrRUlhaWtEQUVMYjBkQ0ZtdHJmZ1dlRlFnQWdBYTBnQWlrREVJVkNyOGoxeGNlc2g3dWdmNFZDQUJDZmdJQ0FBQ0FDUVFocUtRTUFJUWNnQWlrREFDRUVJQUpCNEFCcUpJQ0FnSUFBSUFjZ0JJVUxXQUVDZjBFQUlRUUNRQ0FCSUFOSERRQUNRQ0FBSUFKSERRQkJBUThMQTBBZ0FVVWhCQ0FCUlEwQklBRkJmMm9oQVNBQ0xRQUFJUU1nQUMwQUFDRUZJQUJCQVdvaEFDQUNRUUZxSVFJZ0JTQURSZzBBQ3dzZ0JBdU9FZ1lEZndGK0JuOEJmZ0Y5Q1g4amdJQ0FnQUJCc0FKcklnSWtnSUNBZ0FBQ1FBSkFBa0FDUUFKQUlBRU5BQ0FDUVFrN0FaUUNJQUpDQURjQ2pBSWdBa0VBTmdLQUFpQUNRcXJWcXRVS053TDRBU0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNDaEFJQ1FDQUNRZmdCYWhDRmdJQ0FBQ0lEUWYvL0EzRU5BQ0FDUWNBQWFrRVlhaUFDUWZnQmFrRVlhaWtDQURjREFDQUNRY0FBYWtFUWFpQUNRZmdCYWtFUWFpa0NBRGNEQUNBQ1FjQUFha0VJYWlBQ1FmZ0Jha0VJYWlrQ0FEY0RBQ0FDSUFJcEF2Z0JOd05BQ3lBQ1FTQnFRUWhxSUFKQndBQnFRUWhxS1FNQU53TUFJQUpCSUdwQkVHb2dBa0hBQUdwQkVHb3BBd0EzQXdBZ0FrRWdha0VZYWlBQ1FjQUFha0VZYWlrREFEY0RBQ0FDSUFJcEEwQTNBeUFNQVF0QkFDRUVJQUpCNEFCcVFRaHFRUUEyQWdBZ0FrSUFOd05nSUFJamdZQ0FnQUJCbUlEQWdBQnFLUU1BSWdVM0Ftd2dBa0g0QVdwQkNHcEJBRFlDQUNBQ1FnQTNBL2dCSUFGQmdJREFBQ0FCUVlDQXdBQkpHMEhrQUd4QjBBQnVJUVlnQWtIc0FHb2hCMEVCSVFNQ1FFRUFEUUJCZkNFSUFrQkNBVUVnSUFabmE2MUMvLzhEZzRhbklnUkJDQ0FFUVFoTEd5SUdRUTlxSWdrZ0JrRURkR29pQ2lBR1FRSjBha0Y4Y1NJTFJRMEFRUUFoQkNBRnB5QUxRUUpCQUNBRlFpQ0lweWdDQUJHQWdJQ0FBQUFpQ0VVTkFRc2dDQ0FHTmdJSUlBZ2dDQ0FKUVh4eGFqWUNCQ0FJSUFnZ0NrRjhjV28yQWdBZ0FpQUlRUXhxSWdnMkF2Z0JRUUFoQXlBSVFRQWdCaENoZ0lDQUFCb2dBa0g0QVdwQkNHb2lDQ0FHUWRBQWJFSGtBRzRpQkRZQ0FDQUNRZUFBYWtFSWFpSUdLQUlBSVFrZ0JpQUVOZ0lBSUFnZ0NUWUNBQ0FDUVFBMkFtUWdBaWtEWUNFTUlBSWdBaWtEK0FFM0EyQWdBaUFNTndQNEFVRUJJUVFMSUFKQitBRnFJQWNRaVlDQWdBQWdCQTBCSUFKQjRBQnFFSWlBZ0lBQUMwRUFJUWdnQTBILy93TnhSUTBCREFJTElBSWdCVGNDcUFJZ0FrRUFOZ0trQWlBQ1FxclZxdFVLTndLY0FnSkFBa0FnQWJOREFBQ0FQNUlRb0lDQWdBQWlEVU1BQUlCUFhTQU5Rd0FBQUFCZ2NVVU5BQ0FOcVNFSURBRUxRUUFoQ0FzQ1FBSkFJQUpCbkFKcUlBaEJGQ0FJUVJSSkd5QUJiRUhBQUdwQkJuWVFqb0NBZ0FCQi8vOERjUTBBSUFKQitBRnFRUkJxSWdnZ0FrR2NBbXBCRUdvb0FnQTJBZ0FnQWtINEFXcEJDR29pQXlBQ1Fad0Nha0VJYWlrQ0FEY0RBQ0FDSUFJcEFwd0NOd1A0QVNBQ1FRazdBWlFDSUFKQ0FEY0NqQUlnQWtINEFXb1FoWUNBZ0FCQi8vOERjUTBBSUFKQitBQnFRUmhxSUFKQitBRnFRUmhxS1FNQU53TUFJQUpCK0FCcVFSQnFJQWdwQXdBM0F3QWdBa0g0QUdwQkNHb2dBeWtEQURjREFDQUNJQUlwQS9nQk53TjRJQUpCQURzQm5BRWdBa0VBT2dDZUFTQUNLQUpnSWdwQmRHb2hEaUFLUVhocUlROGdDa0Y4YWlFUVFZQUNJUkVnQWlnQ2FDRVNJQUlvQW1RaEUwRUFJUU1EUUNBQUlBTnFJUWRCQWlFSUFrQUNRQU5BSUFNZ0NHb2lDU0FCVHcwQ0lBSkJvQUZxSUFKQjRBQnFJQWNnQ0JDS2dJQ0FBQUpBQWtBZ0FpMEFwQUVOQUNBSElBZ1FpNENBZ0FBaEJRSkFBa0FnQ2cwQUlBV25JUU5CQUNFTFFYOGhGQXdCQ3lBUUtBSUFJZ3RCZjJvaUZDQUZwM0VoQXdzZ0JVSTVpS2NoRlNBTElRUUNRQUpBQTBBZ0NpQURhaUlXTEFBQUlnWkZEUUVnQkVFQVJnMEJBa0FDUUNBR1FYOUtEUUFnRlNBR1FmOEFjVWNOQUNBSElBZ2dEeWdDQUNBRFFRTjBhaUlHS0FJQUlBWW9BZ1FRaklDQWdBQkJBWEZGRFFFZ0RpZ0NBQ0FEUVFKMGFpRUREQVFMSUFzZ0VDZ0NBRWNOQUNBRElBc2dCa0VCUmhzaEN3c2dCRUYvYWlFRUlBTkJBV29nRkhFaEF3d0FDd3NnQ2lBTGFpQVdJQXNnRUNnQ0FFa2lCQnNnRlVHQUFYSTZBQUFnRGlnQ0FDRUdJQThvQWdBZ0N5QURJQVFiSWdOQkEzUnFJZ1FnQ0RZQ0JDQUVJQWMyQWdBZ0FpQVNRWDlxSWhJMkFtZ2dBaUFUUVFGcUloTTJBbVFnQmlBRFFRSjBhaUVEQ3lBRElCRTdBUUFnQTBFQ2FpQVJRWUNBUEhGQkVIWTZBQUFnQ0VFQ1J3MEJJQWN0QUFBaENBd0RDeUFDSUFJdEFLSUJPZ0NlQVNBQ0lBSXZBYUFCT3dHY0FTQUlRUUZxSVFnTUFRc0xJQUl2QVp3QklBSXRBSjRCUVJCMGNpRUlDeUFDUWZnQWFpQUlFSWVBZ0lBQVFmLy9BM0VOQWlBSlFYOXFJUU1nRVVFQmFpSVJRZi8vUDNGQi8vOC9SdzBCSUFwQkFDQVFLQUlBSWdnUW9ZQ0FnQUFhSUFKQkFEWUNaQ0FDSUFpdFF0QUFma0xrQUlDbkloSTJBbWdnQWtINEFHcEIvLzgvRUllQWdJQUFRZi8vQTNFTkFrRUFJUk1nQWtFQU5nS1FBU0FDUVFrNkFKUUJRWUFDSVJFTUFRc0xBa0FnQTBFQmFpQUJTUTBBSUFKQitBQnFJQWN0QUFBUWg0Q0FnQUJCLy84RGNRMEJEQUlMSUFKQnFBRnFRUkJxSUFKQjRBQnFRUkJxS0FJQU5nSUFJQUpCcUFGcVFRaHFJQUpCNEFCcVFRaHFLUU1BTndNQUlBSWdBaWtEWURjRHFBRWdBa0hBQVdvZ0FrR29BV29nQnlBSUVJcUFnSUFBQWtBQ1FBSkFJQUl0QU1RQkRRQWdDRUVDUncwQklBY3RBQUFoQ0F3Q0N5QUNRZmdBYWlBQ0x3SEFBU0FDTFFEQ0FVRVFkSElRaDRDQWdBQkIvLzhEY1VVTkF3d0NDeUFDUWNnQmFrRVFhaUFDUWVBQWFrRVFhaWdDQURZQ0FDQUNRY2dCYWtFSWFpQUNRZUFBYWtFSWFpa0RBRGNEQUNBQ0lBSXBBMkEzQThnQklBSkIzQUZxSUFKQnlBRnFJQWNnQ0VGL2FoQ0tnSUNBQUNBQ0x3SGNBU0FDTFFEZUFVRVFkSEloQ0FzZ0FrSDRBR29nQ0JDSGdJQ0FBRUgvL3dOeERRQWdBa0g0QUdvZ0NTQUFha0YvYWkwQUFCQ0hnSUNBQUVILy93TnhSUTBCQ3lBQ1FlQUFhaENJZ0lDQUFFRUFJUWdNQWdzZ0FrSGdBR29RaUlDQWdBQWdBa0VnYWtFWWFpQUNRZmdBYWtFWWFpa0RBRGNEQUNBQ1FTQnFRUkJxSUFKQitBQnFRUkJxS1FNQU53TUFJQUpCSUdwQkNHb2dBa0g0QUdwQkNHb3BBd0EzQXdBZ0FpQUNLUU40TndNZ0N5QUNRUmhxSUFKQklHcEJHR29wQXdBM0F3QWdBa0VRYWlBQ1FTQnFRUkJxS1FNQU53TUFJQUpCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBd0JCQUNFSUlBSWdBaWdDQkNJQlFRSnFFSWFBZ0lBQVFmLy9BM0VOQUNBQ0tBSUFJZ2dnQWlnQ0JFRURkR29pQTBFSWFpQUNOUUlJUWdPR053TUFJQU1nQVVFRGRDSUJRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUlJQUZxUVFScUlRZ0xJQUpCc0FKcUpJQ0FnSUFBSUFnTHJRSURCWDhCZmdGL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQWdBQ2dDRENBRklBUkJBM1JCQXlBQlFRTjBRUUFnQUVFUWFpZ0NBQ2dDQkJHQ2dJQ0FBQUJCQVhGRkRRQWdBQ0FCTmdJSVFRQWhBd3dCQ3lBQVFReHFJZ1lwQWdBaEJ5QUNJQUZCLy8vLy93RkxPZ0FNQWtBZ0FVR0FnSUNBQWs4TkFBSkFBa0FnQVVFRGRDSUlEUUJCZUNFSURBRUxJQWVuSUFoQkEwRUFJQWRDSUlpbktBSUFFWUNBZ0lBQUFDSUlSUTBCQ3lBSUlBQW9BZ0FnQUNnQ0JFRURkQkNpZ0lDQUFDRUlJQVlnQlNBRUVKNkFnSUFBSUFBZ0FUWUNDQ0FBSUFnMkFnQU1BUXRCQVNFREN5QUNRUkJxSklDQWdJQUFJQU1MSlFFQmZ3TkFRWDhnQUVFQmRpQUFha0VJYWlJQ0lBSWdBRWtiSWdBZ0FVa05BQXNnQUFzL0FRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU0FBS1FJTU53TUlJQUZCQ0dvZ0FDZ0NBQ0FBS0FJSUVKR0FnSUFBSUFGQkVHb2tnSUNBZ0FBTE53RUJmd0pBSUFKQkEzUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUVJQUliSUFOQkFrRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3dUREQU1CZndGK0MzOGpnSUNBZ0FCQjBBQnJJZ01rZ0lDQWdBQWdBMEVBTmdKRUlBTkNxdFdxMVFvM0Fqd2dBeU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlCRGNDU0FKQUFrQUNRQUpBSUFJTkFFR3ExYXJWZWlFRlFRQWhCZ3dCQzBHcTFhclZlaUVGSUFJaEJpQURRY2dBYWlJSFFhclZxdFY2UVFBZ0FoQ1RnSUNBQUVFQmNRMEFJQU5CS0dvZ0J5QUNFSlNBZ0lBQUlBTXZBVEFOQVNBREtBSXNJUVlnQXlnQ0tDRUZDMEVKSVFoQkFDRUpRUUFoQ2tFQUlRdEJBQ0VNQTBBQ1FBSkFBa0FDUUFKQUlBd2dBa1lOQUNBSVFmOEJjU0lIUVJSSkRRRU1CQXNnQXlBRU53TWdBa0FDUUNBRFFTQnFJQVVnQmlBQ0VKT0FnSUFBUVFGeFJRMEFJQVVoQ0F3QkN5QURRVHhxSUFOQklHb2dBaENVZ0lDQUFDQURMd0ZFRFFZZ0F5Z0NQQ0lJSUFVZ0F5Z0NRQ0lDUVFKMEVLS0FnSUFBR2lBRElBUTNBeWdnQTBFb2FpQUZJQVlRbFlDQWdBQUxBa0FnQWcwQVFRQWhDVUdxMWFyVmVpRUtRUUFoREF3Q0N5QURRUUEyQWpBZ0EwS3ExYXJWQ2pjQ0tDQURJQVEzQWpRZ0EwRUFRZi8vUHhDUGdJQ0FBQ0lIUWYvLy8vOEJTem9BUENBSFFZQ0FnSUFDVHcwQ0FrQUNRQ0FIUVFOMElnME5BRUY4SVEwTUFRc2dCS2NnRFVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnMUZEUU1MSUFNZ0J6WUNNQ0FESUEwMkFpaEJBQ0VIQWtBRFFDQUhRZmovL3dOR0RRRWdEU0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQTBILy96ODJBaXdnQXlBRU53SklRUUFoQnlBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBRFFUeHFJQUpCR0d3UWxvQ0FnQUJCLy84RGNRMENJQU1wQWtnaEJDQURLQUpFSVF3Z0F5Z0NQQ0lLSUFNb0FrQWlDV29nQ0MwQUFEb0FBQ0FOSUFndkFRQWdDRUVDYWkwQUFFRVFkSEpCQTNScUlnNUJBVFlDQkNBT0lBbzJBZ0FnQ1VFQmFpRUFRWUFDSVE5QkFTRU9BMEFnQUNFSkFrQUNRQUpBQWtBZ0RpQUNUdzBBQWtBZ0NDQU9RUUowYWlJQUx3RUFJQUJCQW1vdEFBQkJFSFJ5SWdCQi8vOC9SdzBBSUE1QkFXb2lEaUFDVHcwQlFRQWhCd0pBQTBBZ0IwSDQvLzhEUmcwQklBMGdCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQ0NBT1FRSjBhaUlITHdFQUlBZEJBbW90QUFCQkVIUnlJZ2RCZ0FKSkRRQWdBMEgvL3o4MkFpd01DUXNnQ2lBSmFpQUhPZ0FBSUFsQkFXb2hBRUdBQWlFUERBUUxJQUJCZ0FKSkRRRUNRQ0FOSUFCQkEzUnFJZ0FvQWdBaUN3MEFJQW9nQ1dvZ0NpQUhhaUlBSUFrZ0Iyc2lDeENpZ0lDQUFCb2dDaUFMSUFscUlndHFJQUF0QUFBNkFBQWdDMEVCYWlFQURBTUxJQW9nQ1dvZ0N5QUFLQUlFSWdBUW9vQ0FnQUFhSUFBZ0NXb2hBQXdDQ3lBRFFmLy9QellDTENBRFFTaHFFSkNBZ0lBQURBVUxJQW9nQ1dvZ0FEb0FBQ0FKUVFGcUlRQUxJQTBnRDBILy96OXhRUU4wYWlJTElBa2dCMnRCQVdvMkFnUWdDeUFLSUFkcU5nSUFJQTlCQVdvaER3c2dEa0VCYWlFT0lBa2hCd3dBQ3dzZ0NDQUxRWUFDYWtGL0lBZDBRWDl6VDJvaENBd0NDeUFESUFRM0FoZ2dBeUFLTmdJTUlBTWdDVFlDRUNBRElBdzJBaFFDUUFKQUlBd2dDVUVJYWlJTlNRMEFJQWtoQnd3QkMwRUFJUWNnQTBFTWFpQU1JQTBRajRDQWdBQVFsb0NBZ0FCQi8vOERjUTBGSUFNb0Fnd2hDaUFES0FJVUlRd2dBeWdDRUNFSEN5QUtJQWRxSWdjZ0NUb0FBQ0FIUVFkcUlBeEJHSFk2QUFBZ0IwRUdhaUFNUVJCMk9nQUFJQWRCQldvZ0RFRUlkam9BQUNBSFFRUnFJQXc2QUFBZ0IwRURhaUFKUVJoMk9nQUFJQWRCQW1vZ0NVRVFkam9BQUNBSFFRRnFJQWxCQ0hZNkFBQWdDaUFKYWlFSERBUUxJQU5CS0dvUWtJQ0FnQUFNQWd0QkFDRU9JQWdoQndKQUEwQWdCMEgvQVhFaURVVU5BU0FBSUFvZ0NVSC9BWEZCd0FCR0lnOXFJZ3BCQTNScUtRTUFRUUFnQ1NBUEd5SUpRVDl4cllaQkFDQU5RY0FBSUFsclFmOEJjU0lQSUEwZ0Qwa2JJZzFyUVQ5eHJZaW5JQWNnRFdzaUIzUWdEbkloRGlBTklBbHFJUWtNQUFzTElBVWdERUVDZEdvaUJ5QU9Pd0VBSUFkQkFtb2dEa0gvL3o5eElnZEJFSFk2QUFCQkFDQUxRUUZxSUFkQi8vOC9SaUlIR3lFTFFRa2dDQ0FIR3lFSUlBeEJBV29oREF3QUN3dEJBQ0VIQ3lBRFFkQUFhaVNBZ0lDQUFDQUhDNUFCQVFKL0k0Q0FnSUFBUVJCcklnUWtnSUNBZ0FBQ1FBSkFJQU1OQUNBRUlBQXBBZ0EzQXdBZ0JDQUJJQUlRbFlDQWdBQkJBU0VGREFFTFFRQWhCU0FDUlEwQUlBUWdBMEgvLy8vL0EwczZBQXdnQTBHQWdJQ0FCRThOQUNBQUtBSUFJQUVnQWtFQ2RFRUNJQU5CQW5SQkFDQUFLQUlFS0FJRUVZS0FnSUFBQUNFRkN5QUVRUkJxSklDQWdJQUFJQVVMd1FFQ0FYOEJmaU9BZ0lDQUFFRWdheUlESklDQWdJQUFJQUVwQWdBaEJDQURJQUpCLy8vLy93TkxPZ0FjQWtBQ1FDQUNRWUNBZ0lBRVR3MEFBa0FDUUNBQ1FRSjBJZ0VOQUVGOElRRU1BUXNnQktjZ0FVRUNRUUFnQkVJZ2lLY29BZ0FSZ0lDQWdBQUFJZ0ZGRFFFTElBTWdBallDRkNBRElBRTJBaEFnQTBFQU93RVlJQU5CRUdvaEFnd0JDeUFEUVFFN0FRd2dBMEVFYWlFQ0N5QUFJQUlwQWdBM0FnQWdBRUVJYWlBQ1FRaHFLQUlBTmdJQUlBTkJJR29rZ0lDQWdBQUxOd0VCZndKQUlBSkJBblJCQUNBQ0d5SURSUTBBSUFBb0FnQWdBVUVFSUFJYklBTkJBa0VBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3ZhQVFFRmZ5T0FnSUNBQUVFZ2F5SUNKSUNBZ0lBQVFRQWhBd0pBSUFBb0FnZ2lCQ0FCVHcwQUlBQW9BZ0FoQlFKQUFrQWdCRVVOQUVFQURRQWdBQ2dDRENBRklBUkJBQ0FCUVFBZ0FFRVFhaWdDQUNnQ0JCR0NnSUNBQUFCQkFYRkZEUUFnQUNBQk5nSUlEQUVMSUFJZ0FFRU1haUlHS1FJQU53TVFJQUpCR0dvZ0FrRVFhaUFCRUlHQWdJQUFJQUl2QVJ3aUF3MEJJQUlvQWhnZ0FDZ0NBQ0FBS0FJRUVLS0FnSUFBSVFNZ0JpQUZJQVFRaElDQWdBQWdBQ0FCTmdJSUlBQWdBellDQUF0QkFDRURDeUFDUVNCcUpJQ0FnSUFBSUFNTDBnSURCbjhCZmdkL0k0Q0FnSUFBUVJCcklnTWtnSUNBZ0FBZ0FDZ0NCQ0VFSUFBb0FnQWhCVUVBSVFZZ0FrSC9BWEVoQndOL0FrQUNRQUpBSUFZZ0JFY05BRUYvSVFnTUFRc0NRQ0FGSUFaQkJIUnFJZ0pCQ0dvcEF3QWlDVUlBVXcwQUlBSXBBd0I3SUFsN2ZLY2dBVWtOQWdzZ0JrRUhkQ0lJUVlBQmFpRUtBMEFnQ0NBS1R3MENJQWdnQUNrQ0FDSUpRaG1JcDBHQWYzRWlBaUFJSUFKTEd5SUxJQWhySVF3Z0NhZEJDQ0FKUWlDSXB4c2hEU0FJUVJCMGFDRU9RUUFoQWdKQUEwQUNRQ0FNSUFKSERRQWdDeUVQREFJTFFmOEJJQWdnQW1vaUQwRUhjU0lRUVFkemRrRUJJQkIwY1NBTklBOUJBM1pxTFFBQWNVVU5BU0FDUVFGcUlnSWdBVWtOQUNBT0lBZEpEUUFMSUFNZ0NUY0RDQ0FEUVFocUlBZ2dBVUVBRUppQWdJQUFEQUlMSUE5QkFXb2hDQXdBQ3dzZ0EwRVFhaVNBZ0lDQUFDQUlEd3NnQmtFQmFpRUdEQUFMQzFRQkFYOGdBMEVCY1NFRUFrQURRQ0FDUlEwQklBQW9BZ0JCQ0NBQUtBSUVHeUFCUVFOMmFpSURJQU10QUFCQmZpQUJRUWR4SWdOM2NTQUVJQU4wY2pvQUFDQUJRUUZxSVFFZ0FrRi9haUVDREFBTEN3dmJBUUVEZnlPQWdJQ0FBRUVRYXlJQ0pJQ0FnSUFBQWtBZ0FFR0FFRThOQUNPQmdJQ0FBRUdvZ01DQUFHb2dBQ0FCUVlBUUlBRkJnQkJKR3lBQWF4Q2FnSUNBQUFzQ1FDQUJRWUFRVFEwQUFrQWpnWUNBZ0FCQm9JREFnQUJxS0FJRURRQWpnWUNBZ0FCQm9JREFnQUJxSWdOQmdDQTJBZ1FnQXlBQlFYOXFJZ0ZCRUhRaUJEWUNBQ0FFUVFCQmdJQUVFS0dBZ0lBQUdnc2dBaU9CZ0lDQUFFR2dnTUNBQUdvcEF3QTNBd2dnQWtFSWFpQUFRWUFRSUFCQmdCQkxHeUlBUVlCd2FpQUJJQUJyRUpxQWdJQUFDeUFDUVJCcUpJQ0FnSUFBQ3pzQkFYOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQURJQUFwQWdBM0F3Z2dBMEVJYWlBQklBSkJBUkNZZ0lDQUFDQURRUkJxSklDQWdJQUFDNzBCQVFSL1FRQWhCQUpBSUFGQmdZQjhUdzBBQWtBamdZQ0FnQUJCcUlEQWdBQnFJQUZCLy84RGFrRVFkaUlCSUFJUWw0Q0FnQUFpQkVGL1J3MEFBa0FqZ1lDQWdBQkJvSURBZ0FCcUlBRWdBaENYZ0lDQUFDSUVRWDlHRFFBZ0JFR0FFR29oQkF3QkMwRUFJUVJCQVNBQ2RDSUZQd0FpQmtFUWRDSUNha0YvYWtFQUlBVnJjU0lGSUFKclFSQjJJZ2NnQVdwQUFFRUJTQTBCSUFjZ0Jtb2hCQ0FGSUFKR0RRQWdCaUFFRUptQWdJQUFDeUFFUVJCMElRUUxJQVFMVHdFQmZ3SkFJQUpCLy84RGFpSUdRWUNBZkhFZ0JFOGlBa1VOQUNBRVFmLy9BMnBCRUhZaUJDQUdRUkIySWdaR0RRQWdCQ0FCUWYvL0EycEJFSFlpQVdvZ0FTQUdhaENaZ0lDQUFBc2dBZ3NoQUNBQlFmLy9BMnBCRUhZaUFTQUJJQUpCLy84RGFrRVFkbW9RbVlDQWdBQUxOd0VCZndKQUlBSkJBM1JCQUNBQ0d5SURSUTBBSUFBb0FnQWdBVUVJSUFJYklBTkJBMEVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3QxQVFGK0lBQWdCQ0FCZmlBQ0lBTitmQ0FEUWlDSUlnSWdBVUlnaUNJRWZud2dBMEwvLy8vL0Q0TWlBeUFCUXYvLy8vOFBneUlCZmlJRlFpQ0lJQU1nQkg1OElnTkNJSWg4SUFOQy8vLy8vdytESUFJZ0FYNThJZ0ZDSUloOE53TUlJQUFnQVVJZ2hpQUZRdi8vLy84UGc0UTNBd0FMbmdJQ0FuOENmUUpBQWtBQ1FDQUF2Q0lCUVlDQWdBUk9EUUJEQUFEQWYwTUFBSUQvSUFGQi8vLy8vd2R4SWdJYklRTWdBVUVBU0EwQ0lBSkZEUUlnQUVNQUFBQk1sTHdoQVVIb2ZpRUNEQUVMSUFBaEF5QUJRZi8vLy9zSFN3MEJRWUYvSVFKREFBQUFBQ0VESUFGQmdJQ0EvQU5HRFFFTElBRkJqZmFyQW1vaUFVSC8vLzhEY1VIemlkVDVBMnErUXdBQWdMK1NJZ0FnQUNBQVF3QUFBRCtVbENJRGs3eEJnR0J4dmlJRVF3Q3d1RCtVSUFBZ0JKTWdBNU1nQUNBQVF3QUFBRUNTbFNJQUlBTWdBQ0FBbENJQUlBQWdBSlFpQUVQdTZaRStsRU9xcWlvL2twUWdBQ0FBUXlhZWVENlVReFBPekQ2U2xKS1NsSklpQUVNQXNMZy9sQ0FBSUFTU1E5U2FPTG1Va3BJZ0FpQUJRUmQyYXJLU0lRTUxJQU1MTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgaD1hd2FpdCBjKCksQj1oLmV4cG9ydHM7ZnVuY3Rpb24gbihBKXtjb25zdHtwdHI6QyxsZW5ndGg6SX09ayhBLEIpLGc9Qi5jb21wcmVzc1BhY2tlZChDLEkpO0IuZnJlZShDLEkpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dyhCLm1lbW9yeSxnKSxhPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksbz1lKGEpO3JldHVybiBCLmZyZWUoUSxpKSxvfWZ1bmN0aW9uIEYoQSl7Y29uc3QgQz0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpO2xldCBJPUIuYWxsb2NVaW50MTYoQS5sZW5ndGgtMiksZz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEksQS5sZW5ndGgtMik7Zm9yKGxldCBEPTA7RDxBLmxlbmd0aC0yO0QrKylnW0RdPUEuY2hhckNvZGVBdChEKTtjb25zdCBRPUIuZGVjb21wcmVzc1BhY2tlZChJLEEubGVuZ3RoLTIsQyk7Qi5mcmVlKEksMiooQS5sZW5ndGgtMikpO2NvbnN0e3N0YXJ0OkUsZW5kOmksY2FwYWNpdHk6YX09dyhCLm1lbW9yeSxRKSxvPW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLGkpKSx0PW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShvKTtyZXR1cm4gQi5mcmVlKEUsYSksdH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihBKXtjb25zdHtjb21tYW5kOkMsaWQ6SSxkYXRhOmd9PUEuZGF0YTtzd2l0Y2goQyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOkYoZyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOm4oZyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function
|
|
3
|
-
let U;
|
|
4
|
-
try {
|
|
5
|
-
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
|
-
throw "";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
1
|
+
const d = "KGFzeW5jKCk9PntmdW5jdGlvbiB0KEEsZyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksQz1nLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6QyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIEcoQSl7Y29uc3QgZz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKWdbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiB3KEEsZyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIHM9YXN5bmMoQT17fSxnKT0+e2xldCBJO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxoPUE9PnMoQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJXdzVnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QVlBRjlBWDBESnlZREJBTUZCQU1HQndVSUNRQUZCZ1lLQ0FZSEJBb0FCQVFHQ2dnRkJBQUNBUVFMREEwS0NnUUZBWEFCQkFRRkF3RUFFUVlPQW44QlFZQ0F3QUFMZndCQkFBc0hVQVlHYldWdGIzSjVBZ0FLWVd4c2IyTlZhVzUwT0FBQUMyRnNiRzlqVldsdWRERTJBQUlFWm5KbFpRQUREbU52YlhCeVpYTnpVR0ZqYTJWa0FBMFFaR1ZqYjIxd2NtVnpjMUJoWTJ0bFpBQVVDUWtCQUVFQkN3TWRIaDhLZ1VzbVhnRUJmeU9BZ0lDQUFFRVFheUlCSklDQWdJQUFJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFOd01BSUFGQkNHb2dBU0FBRUlHQWdJQUFBa0FnQVM4QkRBMEFJQUVvQWdnaEFDQUJRUkJxSklDQWdJQUFJQUFQQ3dOL0FBd0FDd3R4QWdGL0FYNGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFFS0FnSUNBRUNFRUFrQkJBVVVOQUFKQUlBSU5BRUwvLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VBUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBdUdBUUlDZndGK0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFRUUJJT2dBTUk0R0FnSUFBSVFJQ1FDQUFRWDlNRFFBQ1FBSkFJQUJCQVhRaUFBMEFRWDRoQUF3QkN5QUNRWmlBd0lBQWFpa0RBQ0lEcHlBQVFRRkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlBRVVOQVFzZ0FVRVFhaVNBZ0lDQUFDQUFEd3NEZndBTUFBc0xHUUFqZ1lDQWdBQkJtSURBZ0FCcUlBQWdBUkNFZ0lDQUFBczRBUUYvQWtBZ0FrRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFhclZxdFY2SUFJYklBTkJBRUVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3RCQVFKL0FrQWdBQ0FBS0FJRVFRRnFFSWFBZ0lBQUlnRkIvLzhEY1EwQUlBQWdBQ2dDQkNJQ1FRRnFOZ0lFSUFBb0FnQWdBa0VEZEdwQ0FEY0RBQXNnQVFzdEFRSi9RUUFoQWdKQUlBQW9BZ2dpQXlBQlR3MEFJQUFnQXlBQkVKR0FnSUFBRUk2QWdJQUFJUUlMSUFJTER3QWdBQ0FBUVF4cUVJaUFnSUFBQzJVQkEzOENRQ0FBS0FJQUlnSkZEUUFDUUNBQ1FYUnFJZ05CQ0dvb0FnQkJEV3hCRDJwQmZIRWlBa0VBSUFJYklnUkZEUUFnQVNnQ0FDQURRUVFnQWhzZ0JFRUNRUUFnQVNnQ0JDZ0NDQkdCZ0lDQUFBQUxJQUJCQURZQ0NDQUFRUUEyQWdBTEM0RURCQVIvQVg0RWZ3RitJNENBZ0lBQVFSQnJJZ1FrZ0lDQWdBQWpnWUNBZ0FBaEJTQUJLQUlBSVFZQ1FBSkFJQUVvQWdRTkFDQUZRWUNBd0lBQWFpRUhEQUVMSUFJZ0F4Q0tnSUNBQUNFSUFrQUNRQ0FHRFFCQkFDRUZRWDhoQ1F3QkN5QUdRWHhxS0FJQUlnVkJmMm9oQ1FzZ0JrRjRhaUVLSUFrZ0NLZHhJUUVnQ0VJNWlLY2hDd05BSTRHQWdJQUFRWUNBd0lBQWFpRUhJQVlnQVdvc0FBQWlERVVOQVNBRlJRMEJBa0FnREVGL1NnMEFJQXNnREVIL0FIRkhEUUFnQWlBRElBb29BZ0FnQVVFRGRHb2lEQ2dDQUNBTUtBSUVFSXVBZ0lBQVFRRnhSUTBBSUFSQkFUb0FEQ0FFSUFFMkFnZ2dCRUVJYWlFSERBSUxJQVZCZjJvaEJTQUJRUUZxSUFseElRRU1BQXNMQWtBQ1FDQUhMUUFFRFFCQ0FDRUlRZ0FoRFF3QkN5QUVJQVpCZEdvb0FnQWdCeWdDQUVFQ2RHb2lBVUVDYWkwQUFFRVBjVG9BQWlBRUlBRXZBUUE3QVFBZ0JETUJBQ0FFTVFBQ1FoQ0doQ0VJUW9DQWdJQVFJUTBMSUFBZ0RTQUloRGNDQUNBRVFSQnFKSUNBZ0lBQUM2RUxBZ0YvQzM0amdJQ0FnQUJCd0FCcklnSWtnSUNBZ0FBZ0FhMGhBd0pBQWtBZ0FVRWdTdzBBQWtBZ0FVRVJUdzBBQWtBZ0FVRUlTUTBBSUFBcEFBQkN6NERCL0xMSDJ2Q2FmM3dpQkVJbmlTQUJJQUJxUVhocUtRQUFJZ1Y4SUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUF5QURJQVZDRzRrZ0JuNGdCSHlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3REN3SkFJQUZCQkVrTkFDQUFOUUFBUWdPR0lBTjhJQUVnQUdwQmZHbzFBQUFpQklVZ0EwSUJoa0xQZ01IOHNzZmE4SnAvZkNJR2ZpSUZRaStJSUFTRklBV0ZJQVorSWdSQ0w0Z2dCSVVnQm40aEJnd0RDd0pBSUFFTkFFTFBnTUg4c3NmYThKcC9JUVlNQXdzZ0FTQUFha0YvYWkwQUFFRUNkQ0FCYXExQ3ArS3N2c21MOHRKRGZpQUFJQUZCQVhacU1RQUFRZ2lHSUFBeEFBQ0VRcytBd2Z5eXg5cndtbjkraFNJR1FpK0lJQWFGUXMrQXdmeXl4OXJ3bW45K0lRWU1BZ3NnQUNrQUNDSUVRcytBd2Z5eXg5cndtbjk4UWk2SklBQXBBQUJDOCtUajlQdk5yY20wZjM0aUJYd2dBU0FBYWlJQVFYaHFLUUFBSUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUEzd2lCeUFISUFOQ0lva2dCU0FFZkVJVmlYd2dBRUZ3YWlrQUFFTFBnTUg4c3NmYThKcC9mbnlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3QkN3SkFJQUZCd1FCSkRRQWdBU0FBYWlJQlFWaHFLUUFBSVFjZ0FVRklhaWtBQUNFR0lBRkJjR29wQUFBaENDQUNJQUZCUUdvZ0F5QUJRVkJxS1FBQUlBTjhJQUZCYUdvcEFBQVFvWUNBZ0FBaUNSQ2lnSUNBQUNBQ0tRTUlJUVFnQWlrREFDRUZJQUpCRUdvZ0FVRmdhaUFHSUFoOElnWkM4K1RqOVB2TnJjbTBmM3dnQnhDaWdJQ0FBRUlBSUFOQ2YzeENRSU45SVFvZ0FDa0FBQ0FIUXZQazQvVDd6YTNKdEg5K2ZDRUlJQUlwQXhnaEF5QUNLUU1RSVFjRFFDQUFLUUF3SVFzZ0FDa0FLQ0VNSUFKQklHb2dBQ0FFUXZQazQvVDd6YTNKdEg5K0lBWWdCWHdnQ0h3Z0FDa0FDSHhDRzRsQzgrVGo5UHZOcmNtMGYzNGdBNFVpRFNBSGZCQ2lnSUNBQUNBTUlBVjhJUXdnQmlBRWZDRUdJQUlwQXlnaEJDQUNLUU1nSVFVZ0FrRXdhaUFBUVNCcUlBa2dCM3hDSDRsQzgrVGo5UHZOcmNtMGYzNGlDQ0FEZkNBQUtRQVFJQXdnQmlBTGZFSVdpVUx6NU9QMCs4MnR5YlIvZm53aUJud1Fvb0NBZ0FBZ0FFSEFBR29oQUNBQ0tRTTRJUU1nQWlrRE1DRUhJQTBoQ1NBS1FzQUFmQ0lLUWdCU0RRQUxJQVpDTDRnZ0JvVkM4K1RqOVB2TnJjbTBmMzRnRFh3Z0JTQUhFS0dBZ0lBQWZDQUVJQU1Rb1lDQWdBQWdDSHdRb1lDQWdBQWhCZ3dCQ3lBQklBQnFJZ0ZCY0dvcEFBQWdBMElCaGtMUGdNSDhzc2ZhOEpwL2ZDSUVmaUlGSUFGQllHb3BBQUFpQTN3Z0FDa0FHRUlKZmlJSElBQXBBQkJDejREQi9MTEgydkNhZjM1OElnZ2dBVUZvYWlrQUFDSUdmQ0lKSUFBcEFBZ2lDbndnQ1NBQlFYaHFLUUFBSWcxOElBaENGb2tnQm53aUNId2dCeUFOSUFBcEFBQkN6NERCL0xMSDJ2Q2FmMzU4SWdrZ0E0VjhRZ0Y4SWdNZ0JYd2dDVUlWaVNBS1FpS0pJQVo4UWdsK2ZDQURmQ0FFZmlJR1FqaUdJQVpDZ1A0RGcwSW9ob1FnQmtLQWdQd0hnMElZaGlBR1FvQ0FnUGdQZzBJSWhvU0VJQVpDQ0loQ2dJQ0ErQStESUFaQ0dJaENnSUQ4QjRPRUlBWkNLSWhDZ1A0RGd5QUdRamlJaElTRWZDQUVmaUlHUWppR0lBWkNnUDREZzBJb2hvUWdCa0tBZ1B3SGcwSVloaUFHUW9DQWdQZ1BnMElJaG9TRUlBWkNDSWhDZ0lDQStBK0RJQVpDR0loQ2dJRDhCNE9FSUFaQ0tJaENnUDREZ3lBR1FqaUloSVNFZkNBRWZpSUdRamlHSUFaQ2dQNERnMElvaG9RZ0JrS0FnUHdIZzBJWWhpQUdRb0NBZ1BnUGcwSUlob1NFSUFaQ0NJaENnSUNBK0ErRElBWkNHSWhDZ0lEOEI0T0VJQVpDS0loQ2dQNERneUFHUWppSWhJU0VmQ0FFZm53aUJrSXZpQ0FHaFNBRWZpQUlmQ0VHQ3lBQ1FjQUFhaVNBZ0lDQUFDQUdDMWdCQW45QkFDRUVBa0FnQVNBRFJ3MEFBa0FnQUNBQ1J3MEFRUUVQQ3dOQUlBRkZJUVFnQVVVTkFTQUJRWDlxSVFFZ0FpMEFBQ0VESUFBdEFBQWhCU0FBUVFGcUlRQWdBa0VCYWlFQ0lBVWdBMFlOQUFzTElBUUxzUUlCQTM4Q1FDQUFMUUFjSWdKQkZFOE5BQ0FBS0FJWVFZQUNha0YvSUFKMFFYOXpTUTBBSUFBZ0FrRUJhaUlDT2dBY0N3SkFBa0FnQWtIL0FYRkJ3QUFnQUMwQUhTSURheUlFUWY4QmNVc05BQ0FBS0FJRVFRTjBJQUFvQWdCcVFYaHFJZ1FnQkNrREFDQUJyVUwvL3orRFFRQWdBaUFEYW10QlAzR3Rob1EzQXdBZ0FDMEFIQ0FBTFFBZGFpRUNEQUVMQWtBZ0EwSC9BWEZCd0FCR0RRQWdBQ2dDQkVFRGRDQUFLQUlBYWtGNGFpSURJQU1wQXdBZ0FVSC8vejl4SUFJZ0JHdEIvd0Z4ZHEyRU53TUFJQUF0QUJ3aEFnc2dBQ0FBS0FJRUlnTkJBV28yQWdRZ0FDZ0NBQ0FEUVFOMGFpQUJyVUwvL3orRElBUWdBbXRCUDNHdGhqY0RBQ0FBTFFBY0lBUnJJUUlMSUFBZ0Fqb0FIU0FBSUFBb0FoUkJBV28yQWhRZ0FDQUFLQUlZUVFGcU5nSVlDOFlQQkFKL0FYNEJmUXAvSTRDQWdJQUFRWkFDYXlJQ0pJQ0FnSUFBQWtBQ1FBSkFJQUVOQUNBQ1FRazdBZVFCSUFKQ0FEY0MzQUZCQUNFRElBSkJBRFlDMEFFZ0FrS3ExYXJWQ2pjQ3lBRWdBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QTNBdFFCSUFKQnlBRnFFSVdBZ0lBQVFmLy9BM0VOQWlBQ1FTQnFRUmhxSUFKQnlBRnFRUmhxS1FJQU53TUFJQUpCSUdwQkVHb2dBa0hJQVdwQkVHb3BBZ0EzQXdBZ0FrRWdha0VJYWlBQ1FjZ0Jha0VJYWlrQ0FEY0RBQ0FDSUFJcEFzZ0JOd01nREFFTElBSkJ5QUJxUVFBMkFnQWdBa0lBTndOQUlBSWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlnUTNBa3dnQWlBRU53TDBBU0FDUVFBMkF2QUJJQUpDcXRXcTFRbzNBdWdCQWtBQ1FDQUJzME1BQUlBL2toQ2pnSUNBQUNJRlF3QUFnRTlkSUFWREFBQUFBR0J4UlEwQUlBV3BJUU1NQVF0QkFDRURDd0pBSUFKQjZBRnFJQU5CRkNBRFFSUkpHeUFCYkVIQUFHcEJCbllRam9DQWdBQkIvLzhEY1EwQUlBSkJ5QUZxUVJCcUlnTWdBa0hvQVdwQkVHb29BZ0EyQWdBZ0FrSElBV3BCQ0dvaUJpQUNRZWdCYWtFSWFpa0NBRGNEQUNBQ0lBSXBBdWdCTndQSUFTQUNRUWs3QWVRQklBSkNBRGNDM0FFZ0FrSElBV29RaFlDQWdBQkIvLzhEY1EwQUlBSkJ6QUJxSVFjZ0FrSFlBR3BCR0dvZ0FrSElBV3BCR0dvcEF3QTNBd0FnQWtIWUFHcEJFR29nQXlrREFEY0RBQ0FDUWRnQWFrRUlhaUFHS1FNQU53TUFJQUlnQWlrRHlBRTNBMWdnQWtFQU93RjhJQUpCQURvQWZrR0FBaUVJUVFBaENRTkFJQUFnQ1dvaENrRUNJUU1DUUFKQUFrQUNRQU5BSUFrZ0Eyb2lDeUFCVHcwQ0lBSkJnQUZxSUFKQndBQnFJQW9nQXhDSmdJQ0FBQUpBQWtBZ0FpMEFoQUVOQUNBRFFRSkhEUUVnQ2kwQUFDRUpEQU1MSUFJZ0FpMEFnZ0U2QUg0Z0FpQUNMd0dBQVRzQmZDQURRUUZxSVFNTUFRc0xJQUl2QVh3Z0FpMEFma0VRZEhJaENRc2dBa0hZQUdvZ0NSQ01nSUNBQUNBTFFYOXFJUWtDUUNBSVFmLy9QM0ZCLy84L1J3MEFBa0FnQWlnQ1FDSURSUTBBSUFOQkFDQURRWHhxS0FJQUlnb1FwSUNBZ0FBYUlBSkJBRFlDUkNBQ0lBcXRRdEFBZmtMa0FJQStBa2dMSUFKQjJBQnFRZi8vUHhDTWdJQ0FBQ0FDUVFBMkFuQWdBa0VKT2dCMFFZQUNJUWdNQkFzZ0FrSEFBR29nQ2lBREVJK0FnSUFBR2lBQ0tBSklEUUlDUUFKQUlBSW9Ba0FpQ3cwQVFRRWhEQXdCQ3lBTFFYeHFLQUlBclVMUUFINGlCQ0FFUXVRQWduMUM1QUI4UXRBQWdLY2hEQXNnQmtFQU5nSUFJQUpDQURjRHlBRUNRRUVBRFFBQ1FBSkFRZ0ZCSUNBTVoydXRRdi8vQTRPR3B5SU1RUWdnREVFSVN4c2lEVUVQYWlJT0lBMUJBM1JxSWc4Z0RVRUNkR3BCZkhFaURBMEFRWHdoREF3QkN5QUNLUUpNSWdTbklBeEJBa0VBSUFSQ0lJaW5LQUlBRVlDQWdJQUFBQ0lNUlEwQkN5QU1JQTAyQWdnZ0RDQU1JQTVCZkhGcU5nSUVJQXdnRENBUFFYeHhhallDQUNBQ0lBeEJER29pRERZQ3lBRWdERUVBSUEwUXBJQ0FnQUFhSUFJZ0RhMUMwQUIrUXVRQWdENEMwQUVnQWlnQ1JDSVBSUTBDQWtBQ1FDQUxEUUJCQUNFTURBRUxJQXRCZkdvb0FnQWhEQXNnQzBGMGFpSU9LQUlBSVEwZ0RrRUVhaWdDQUNFT0EwQWdERVVOQXdKQUlBc3NBQUJCQUU0TkFDQUNRY2dCYWlBT0tBSUFJQTVCQkdvb0FnQWdEUzhCQUNBTlFRSnFMUUFBUVJCMGNoQ1FnSUNBQUNBQ0tBTE1BU0FQUmcwRUN5QU1RWDlxSVF3Z0MwRUJhaUVMSUE1QkNHb2hEaUFOUVFScUlRME1BQXNMSUFKQnlBRnFJQWNRaUlDQWdBQU1CQXNDUUFKQUlBbEJBV29nQVVrTkFDQUtMUUFBSVFNTUFRc2dBa0dJQVdwQkVHb2dBa0hBQUdwQkVHb29BZ0EyQWdBZ0FrR0lBV3BCQ0dvZ0FrSEFBR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTkFOd09JQVNBQ1FhQUJhaUFDUVlnQmFpQUtJQU1RaVlDQWdBQUNRQUpBQWtBZ0FpMEFwQUVOQUNBRFFRSkhEUUVnQ2kwQUFDRUREQUlMSUFJdkFhQUJJQUl0QUtJQlFSQjBjaUVEREFJTElBSkJxQUZxUVJCcUlBSkJ3QUJxUVJCcUtBSUFOZ0lBSUFKQnFBRnFRUWhxSUFKQndBQnFRUWhxS1FNQU53TUFJQUlnQWlrRFFEY0RxQUVnQWtIQUFXb2dBa0dvQVdvZ0NpQURRWDlxRUltQWdJQUFJQUl2QWNBQklBSXRBTUlCUVJCMGNpRURDeUFDUWRnQWFpQURFSXlBZ0lBQUlBc2dBR3BCZjJvdEFBQWhBd3NnQWtIWUFHb2dBeENNZ0lDQUFDQUNRY0FBYWhDSGdJQ0FBQ0FDUVNCcVFSaHFJQUpCMkFCcVFSaHFLUU1BTndNQUlBSkJJR3BCRUdvZ0FrSFlBR3BCRUdvcEF3QTNBd0FnQWtFZ2FrRUlhaUFDUWRnQWFrRUlhaWtEQURjREFDQUNJQUlwQTFnM0F5QU1CQXNnQWtIQUFHcEJDR29pQ3lnQ0FDRU1JQXNnQmlnQ0FEWUNBQ0FHSUF3MkFnQWdBa0VBTmdKRUlBSXBBMEFoQkNBQ0lBSXBBOGdCTndOQUlBSWdCRGNEeUFFZ0FrSElBV29nQnhDSWdJQ0FBQXNnQWtIQUFHb2dDaUFESUFnUWtJQ0FnQUFnQ0VFQmFpRUlEQUFMQ3lBQ1FjQUFhaENIZ0lDQUFFRUFJUU1NQVFzZ0FrRVlhaUFDUVNCcVFSaHFLUU1BTndNQUlBSkJFR29nQWtFZ2FrRVFhaWtEQURjREFDQUNRUWhxSUFKQklHcEJDR29wQXdBM0F3QWdBaUFDS1FNZ053TUFRUUFoQXlBQ0lBSW9BZ1FpQVVFQ2FoQ0dnSUNBQUVILy93TnhEUUFnQWlnQ0FDSURJQUlvQWdSQkEzUnFJZ2xCQ0dvZ0FqVUNDRUlEaGpjREFDQUpJQUZCQTNRaUFVRUVjcTFDSUlZZ0FqVUNGSVEzQXdBZ0F5QUJha0VFYWlFREN5QUNRWkFDYWlTQWdJQ0FBQ0FEQzYwQ0F3Vi9BWDRCZnlPQWdJQ0FBRUVRYXlJQ0pJQ0FnSUFBUVFBaEF3SkFJQUFvQWdnaUJDQUJUdzBBSUFBb0FnQWhCUUpBSUFSRkRRQWdBaUFCUWYvLy8vOEJTem9BQ0NBQlFZQ0FnSUFDVHcwQUlBQW9BZ3dnQlNBRVFRTjBRUU1nQVVFRGRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0VFQUlRTU1BUXNnQUVFTWFpSUdLUUlBSVFjZ0FpQUJRZi8vLy84QlN6b0FEQUpBSUFGQmdJQ0FnQUpQRFFBQ1FBSkFJQUZCQTNRaUNBMEFRWGdoQ0F3QkN5QUhweUFJUVFOQkFDQUhRaUNJcHlnQ0FCR0FnSUNBQUFBaUNFVU5BUXNnQ0NBQUtBSUFJQUFvQWdSQkEzUVFwWUNBZ0FBaENDQUdJQVVnQkJDZ2dJQ0FBQ0FBSUFFMkFnZ2dBQ0FJTmdJQURBRUxRUUVoQXdzZ0FrRVFhaVNBZ0lDQUFDQURDNkFDQXdSL0FYNEVmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJNEdBZ0lBQUlRUUNRQUpBSUFBb0FnUU5BQ0FFUVlDQXdJQUFhaUVGREFFTElBQW9BZ0FoQmlBQklBSVFpb0NBZ0FBaEJ3SkFBa0FnQmcwQVFRQWhCRUYvSVFnTUFRc2dCa0Y4YWlnQ0FDSUVRWDlxSVFnTElBWkJlR29oQ1NBSUlBZW5jU0VBSUFkQ09ZaW5JUW9EUUNPQmdJQ0FBRUdBZ01DQUFHb2hCU0FHSUFCcUxBQUFJZ3RGRFFFZ0JFVU5BUUpBSUF0QmYwb05BQ0FLSUF0Qi93QnhSdzBBSUFFZ0FpQUpLQUlBSUFCQkEzUnFJZ3NvQWdBZ0N5Z0NCQkNMZ0lDQUFFRUJjVVVOQUNBRFFRRTZBQXdnQTBFSWFpRUZEQUlMSUFSQmYyb2hCQ0FBUVFGcUlBaHhJUUFNQUFzTElBVXRBQVFoQUNBRFFSQnFKSUNBZ0lBQUlBQkJBRWNMMkFFQ0FYNEVmeUFBSUFFZ0FoQ1BnSUNBQUJvZ0FTQUNFSXFBZ0lBQUlRUkJmeUVGQWtBZ0FDZ0NBQ0lHUlEwQUlBWkJmR29vQWdCQmYyb2hCUXNnQlNBRXAzRWhCd0pBQTBBZ0JpQUhhaUlJTEFBQVFYOUtEUUVnQjBFQmFpQUZjU0VIREFBTEN5QUFJQUFvQWdoQmYybzJBZ2dnQ0NBRVFqbUlwMEdBQVhJNkFBQWdBQ2dDQUVGNGFpZ0NBQ0FIUVFOMGFpSUdJQUkyQWdRZ0JpQUJOZ0lBSUFBb0FnQkJkR29vQWdBZ0IwRUNkR29pQnlBRE93RUFJQWRCQW1vZ0EwSC8vejl4UVJCMk9nQUFJQUFnQUNnQ0JFRUJhallDQkFzbEFRRi9BMEJCZnlBQVFRRjJJQUJxUVFocUlnSWdBaUFBU1JzaUFDQUJTUTBBQ3lBQUN6OEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSUFBcEFndzNBd2dnQVVFSWFpQUFLQUlBSUFBb0FnZ1FrNENBZ0FBZ0FVRVFhaVNBZ0lDQUFBczNBUUYvQWtBZ0FrRURkRUVBSUFJYklnTkZEUUFnQUNnQ0FDQUJRUVFnQWhzZ0EwRUNRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDNE1NQXdGL0FYNExmeU9BZ0lDQUFFSFFBR3NpQXlTQWdJQ0FBQ0FEUVFBMkFrUWdBMEtxMWFyVkNqY0NQQ0FESTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndKSUFrQUNRQUpBQWtBZ0FnMEFRYXJWcXRWNklRVkJBQ0VHREFFTFFhclZxdFY2SVFVZ0FpRUdJQU5CeUFCcUlnZEJxdFdxMVhwQkFDQUNFSldBZ0lBQVFRRnhEUUFnQTBFb2FpQUhJQUlRbG9DQWdBQWdBeThCTUEwQklBTW9BaXdoQmlBREtBSW9JUVVMUVFraENFRUFJUWxCQUNFS1FRQWhDMEVBSVF3RFFBSkFBa0FDUUFKQUFrQWdEQ0FDUmcwQUlBaEIvd0Z4SWdkQkZFa05BUXdFQ3lBRElBUTNBeUFDUUFKQUlBTkJJR29nQlNBR0lBSVFsWUNBZ0FCQkFYRkZEUUFnQlNFSURBRUxJQU5CUEdvZ0EwRWdhaUFDRUphQWdJQUFJQU12QVVRTkJpQURLQUk4SWdnZ0JTQURLQUpBSWdKQkFuUVFwWUNBZ0FBYUlBTWdCRGNES0NBRFFTaHFJQVVnQmhDWGdJQ0FBQXNDUUNBQ0RRQkJBQ0VKUWFyVnF0VjZJUXBCQUNFTURBSUxJQU5CQURZQ01DQURRcXJWcXRVS053SW9JQU1nQkRjQ05DQURRUUJCLy84L0VKR0FnSUFBSWdkQi8vLy8vd0ZMT2dBOElBZEJnSUNBZ0FKUERRSUNRQUpBSUFkQkEzUWlEUTBBUVh3aERRd0JDeUFFcHlBTlFRSkJBQ0FFUWlDSXB5Z0NBQkdBZ0lDQUFBQWlEVVVOQXdzZ0F5QUhOZ0l3SUFNZ0RUWUNLRUVBSVFjQ1FBTkFJQWRCK1AvL0EwWU5BU0FOSUFkcVFnQTNBZ0FnQjBFSWFpRUhEQUFMQ3lBRFFmLy9QellDTENBRElBUTNBa2hCQUNFSElBTkJBRFlDUkNBRFFxclZxdFVLTndJOElBTkJQR29nQWtFWWJCQ1lnSUNBQUVILy93TnhEUUlnQXlrQ1NDRUVJQU1vQWtRaERDQURLQUk4SWdvZ0F5Z0NRQ0lKYWlBSUxRQUFPZ0FBSUEwZ0NDOEJBQ0FJUVFKcUxRQUFRUkIwY2tFRGRHb2lEa0VCTmdJRUlBNGdDallDQUNBSlFRRnFJUUJCZ0FJaEQwRUJJUTREUUNBQUlRa0NRQUpBQWtBQ1FDQU9JQUpQRFFBQ1FDQUlJQTVCQW5ScUlnQXZBUUFnQUVFQ2FpMEFBRUVRZEhJaUFFSC8vejlIRFFBZ0RrRUJhaUlPSUFKUERRRkJBQ0VIQWtBRFFDQUhRZmovL3dOR0RRRWdEU0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NDUUNBSUlBNUJBblJxSWdjdkFRQWdCMEVDYWkwQUFFRVFkSElpQjBHQUFra05BQ0FEUWYvL1B6WUNMQXdKQ3lBS0lBbHFJQWM2QUFBZ0NVRUJhaUVBUVlBQ0lROE1CQXNnQUVHQUFra05BUUpBSUEwZ0FFRURkR29pQUNnQ0FDSUxEUUFnQ2lBSmFpQUtJQWRxSWdBZ0NTQUhheUlMRUtXQWdJQUFHaUFLSUFzZ0NXb2lDMm9nQUMwQUFEb0FBQ0FMUVFGcUlRQU1Bd3NnQ2lBSmFpQUxJQUFvQWdRaUFCQ2xnSUNBQUJvZ0FDQUphaUVBREFJTElBTkIvLzgvTmdJc0lBTkJLR29Ra29DQWdBQU1CUXNnQ2lBSmFpQUFPZ0FBSUFsQkFXb2hBQXNnRFNBUFFmLy9QM0ZCQTNScUlnc2dDU0FIYTBFQmFqWUNCQ0FMSUFvZ0IybzJBZ0FnRDBFQmFpRVBDeUFPUVFGcUlRNGdDU0VIREFBTEN5QUlJQXRCZ0FKcVFYOGdCM1JCZjNOUGFpRUlEQUlMSUFNZ0JEY0NHQ0FESUFvMkFnd2dBeUFKTmdJUUlBTWdERFlDRkFKQUFrQWdEQ0FKUVFocUlnMUpEUUFnQ1NFSERBRUxRUUFoQnlBRFFReHFJQXdnRFJDUmdJQ0FBQkNZZ0lDQUFFSC8vd054RFFVZ0F5Z0NEQ0VLSUFNb0FoUWhEQ0FES0FJUUlRY0xJQW9nQjJvaUJ5QUpPZ0FBSUFkQkIyb2dERUVZZGpvQUFDQUhRUVpxSUF4QkVIWTZBQUFnQjBFRmFpQU1RUWgyT2dBQUlBZEJCR29nRERvQUFDQUhRUU5xSUFsQkdIWTZBQUFnQjBFQ2FpQUpRUkIyT2dBQUlBZEJBV29nQ1VFSWRqb0FBQ0FLSUFscUlRY01CQXNnQTBFb2FoQ1NnSUNBQUF3Q0MwRUFJUTRnQ0NFSEFrQURRQ0FIUWY4QmNTSU5SUTBCSUFBZ0NpQUpRZjhCY1VIQUFFWWlEMm9pQ2tFRGRHb3BBd0JCQUNBSklBOGJJZ2xCUDNHdGhrRUFJQTFCd0FBZ0NXdEIvd0Z4SWc4Z0RTQVBTUnNpRFd0QlAzR3RpS2NnQnlBTmF5SUhkQ0FPY2lFT0lBMGdDV29oQ1F3QUN3c2dCU0FNUVFKMGFpSUhJQTQ3QVFBZ0IwRUNhaUFPUWYvL1AzRWlCMEVRZGpvQUFFRUFJQXRCQVdvZ0IwSC8vejlHSWdjYklRdEJDU0FJSUFjYklRZ2dERUVCYWlFTURBQUxDMEVBSVFjTElBTkIwQUJxSklDQWdJQUFJQWNMa0FFQkFuOGpnSUNBZ0FCQkVHc2lCQ1NBZ0lDQUFBSkFBa0FnQXcwQUlBUWdBQ2tDQURjREFDQUVJQUVnQWhDWGdJQ0FBRUVCSVFVTUFRdEJBQ0VGSUFKRkRRQWdCQ0FEUWYvLy8vOERTem9BRENBRFFZQ0FnSUFFVHcwQUlBQW9BZ0FnQVNBQ1FRSjBRUUlnQTBFQ2RFRUFJQUFvQWdRb0FnUVJnb0NBZ0FBQUlRVUxJQVJCRUdva2dJQ0FnQUFnQlF2QkFRSUJmd0YrSTRDQWdJQUFRU0JySWdNa2dJQ0FnQUFnQVNrQ0FDRUVJQU1nQWtILy8vLy9BMHM2QUJ3Q1FBSkFJQUpCZ0lDQWdBUlBEUUFDUUFKQUlBSkJBblFpQVEwQVFYd2hBUXdCQ3lBRXB5QUJRUUpCQUNBRVFpQ0lweWdDQUJHQWdJQ0FBQUFpQVVVTkFRc2dBeUFDTmdJVUlBTWdBVFlDRUNBRFFRQTdBUmdnQTBFUWFpRUNEQUVMSUFOQkFUc0JEQ0FEUVFScUlRSUxJQUFnQWlrQ0FEY0NBQ0FBUVFocUlBSkJDR29vQWdBMkFnQWdBMEVnYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VDZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzlvQkFRVi9JNENBZ0lBQVFTQnJJZ0lrZ0lDQWdBQkJBQ0VEQWtBZ0FDZ0NDQ0lFSUFGUERRQWdBQ2dDQUNFRkFrQUNRQ0FFUlEwQVFRQU5BQ0FBS0FJTUlBVWdCRUVBSUFGQkFDQUFRUkJxS0FJQUtBSUVFWUtBZ0lBQUFFRUJjVVVOQUNBQUlBRTJBZ2dNQVFzZ0FpQUFRUXhxSWdZcEFnQTNBeEFnQWtFWWFpQUNRUkJxSUFFUWdZQ0FnQUFnQWk4QkhDSUREUUVnQWlnQ0dDQUFLQUlBSUFBb0FnUVFwWUNBZ0FBaEF5QUdJQVVnQkJDRWdJQ0FBQ0FBSUFFMkFnZ2dBQ0FETmdJQUMwRUFJUU1MSUFKQklHb2tnSUNBZ0FBZ0F3dlNBZ01HZndGK0IzOGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFDQUFLQUlFSVFRZ0FDZ0NBQ0VGUVFBaEJpQUNRZjhCY1NFSEEzOENRQUpBQWtBZ0JpQUVSdzBBUVg4aENBd0JDd0pBSUFVZ0JrRUVkR29pQWtFSWFpa0RBQ0lKUWdCVERRQWdBaWtEQUhzZ0NYdDhweUFCU1EwQ0N5QUdRUWQwSWdoQmdBRnFJUW9EUUNBSUlBcFBEUUlnQ0NBQUtRSUFJZ2xDR1lpblFZQi9jU0lDSUFnZ0Frc2JJZ3NnQ0dzaERDQUpwMEVJSUFsQ0lJaW5HeUVOSUFoQkVIUm9JUTVCQUNFQ0FrQURRQUpBSUF3Z0FrY05BQ0FMSVE4TUFndEIvd0VnQ0NBQ2FpSVBRUWR4SWhCQkIzTjJRUUVnRUhSeElBMGdEMEVEZG1vdEFBQnhSUTBCSUFKQkFXb2lBaUFCU1EwQUlBNGdCMGtOQUFzZ0F5QUpOd01JSUFOQkNHb2dDQ0FCUVFBUW1vQ0FnQUFNQWdzZ0QwRUJhaUVJREFBTEN5QURRUkJxSklDQWdJQUFJQWdQQ3lBR1FRRnFJUVlNQUFzTFZBRUJmeUFEUVFGeElRUUNRQU5BSUFKRkRRRWdBQ2dDQUVFSUlBQW9BZ1FiSUFGQkEzWnFJZ01nQXkwQUFFRitJQUZCQjNFaUEzZHhJQVFnQTNSeU9nQUFJQUZCQVdvaEFTQUNRWDlxSVFJTUFBc0xDOXNCQVFOL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FBQ1FDQUFRWUFRVHcwQUk0R0FnSUFBUWFpQXdJQUFhaUFBSUFGQmdCQWdBVUdBRUVrYklBQnJFSnlBZ0lBQUN3SkFJQUZCZ0JCTkRRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvb0FnUU5BQ09CZ0lDQUFFR2dnTUNBQUdvaUEwR0FJRFlDQkNBRElBRkJmMm9pQVVFUWRDSUVOZ0lBSUFSQkFFR0FnQVFRcElDQWdBQWFDeUFDSTRHQWdJQUFRYUNBd0lBQWFpa0RBRGNEQ0NBQ1FRaHFJQUJCZ0JBZ0FFR0FFRXNiSWdCQmdIQnFJQUVnQUdzUW5JQ0FnQUFMSUFKQkVHb2tnSUNBZ0FBTE93RUJmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQU1nQUNrQ0FEY0RDQ0FEUVFocUlBRWdBa0VCRUpxQWdJQUFJQU5CRUdva2dJQ0FnQUFMdlFFQkJIOUJBQ0VFQWtBZ0FVR0JnSHhQRFFBQ1FDT0JnSUNBQUVHb2dNQ0FBR29nQVVILy93TnFRUkIySWdFZ0FoQ1pnSUNBQUNJRVFYOUhEUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb2dBU0FDRUptQWdJQUFJZ1JCZjBZTkFDQUVRWUFRYWlFRURBRUxRUUFoQkVFQklBSjBJZ1UvQUNJR1FSQjBJZ0pxUVg5cVFRQWdCV3R4SWdVZ0FtdEJFSFlpQnlBQmFrQUFRUUZJRFFFZ0J5QUdhaUVFSUFVZ0FrWU5BQ0FHSUFRUW00Q0FnQUFMSUFSQkVIUWhCQXNnQkF0UEFRRi9Ba0FnQWtILy93TnFJZ1pCZ0lCOGNTQUVUeUlDUlEwQUlBUkIvLzhEYWtFUWRpSUVJQVpCRUhZaUJrWU5BQ0FFSUFGQi8vOERha0VRZGlJQmFpQUJJQVpxRUp1QWdJQUFDeUFDQ3lFQUlBRkIvLzhEYWtFUWRpSUJJQUVnQWtILy93TnFRUkIyYWhDYmdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFnZ0Foc2dBMEVEUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQ3o0QUlBRWdBSVZDNmRyZzJZN0IrdStkZjM0aUFFSXZpQ0FCaFNBQWhVTHAydURaanNINjc1MS9maUlCUWkrSUlBR0ZRdW5hNE5tT3dmcnZuWDkrQzBJQkFuNGdBQ0FCS1FBQUlBSjhJZ0lnQVNrQUNId2dBU2tBRUh3aUJDQUJLUUFZSWdWOE53TUFJQUFnQkVJVWlTQUNmQ0FGSUFJZ0EzeDhRaXVKZkRjRENBdWVBZ0lDZndKOUFrQUNRQUpBSUFDOElnRkJnSUNBQkU0TkFFTUFBTUIvUXdBQWdQOGdBVUgvLy8vL0IzRWlBaHNoQXlBQlFRQklEUUlnQWtVTkFpQUFRd0FBQUV5VXZDRUJRZWgrSVFJTUFRc2dBQ0VESUFGQi8vLy8rd2RMRFFGQmdYOGhBa01BQUFBQUlRTWdBVUdBZ0lEOEEwWU5BUXNnQVVHTjlxc0NhaUlCUWYvLy93TnhRZk9KMVBrRGFyNURBQUNBdjVJaUFDQUFJQUJEQUFBQVA1U1VJZ09UdkVHQVlIRytJZ1JEQUxDNFA1UWdBQ0FFa3lBRGt5QUFJQUJEQUFBQVFKS1ZJZ0FnQXlBQUlBQ1VJZ0FnQUNBQWxDSUFRKzdwa1Q2VVE2cXFLaitTbENBQUlBQkRKcDU0UHBSREU4N01QcEtVa3BLVWtpSUFRd0N3dUQrVUlBQWdCSkpEMUpvNHVaU1NraUFDSUFGQkYzWnFzcEloQXdzZ0F3c3NBUUYvQWtBZ0FrVU5BQ0FBSVFNRFFDQURJQUU2QUFBZ0EwRUJhaUVESUFKQmYyb2lBZzBBQ3dzZ0FBdENBUUYvQWtBZ0FrVU5BQ0FDUVg5cUlRSWdBQ0VEQTBBZ0F5QUJMUUFBT2dBQUlBSkZEUUVnQWtGL2FpRUNJQUZCQVdvaEFTQURRUUZxSVFNTUFBc0xJQUFMQzBFQ0FFR0FnTUFBQ3dnQUFBQUFBQUFBQUFCQmlJREFBQXNvQVFBQUFBSUFBQUFEQUFBQUFBQUFBQUFBQUFBSUFCQUFxcXFxcWdBQUFBQXdBQkFBRUFBQUFBPT0iKTtjb25zdCBmPWF3YWl0IGgoKSxCPWYuZXhwb3J0cztmdW5jdGlvbiBuKEEpe2NvbnN0e3B0cjpnLGxlbmd0aDpJfT10KEEsQiksQz1CLmNvbXByZXNzUGFja2VkKGcsSSk7Qi5mcmVlKGcsSSk7Y29uc3R7c3RhcnQ6USxlbmQ6RSxjYXBhY2l0eTppfT13KEIubWVtb3J5LEMpLG89bmV3IFVpbnQxNkFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLEUpKSxhPUcobyk7cmV0dXJuIEIuZnJlZShRLGkpLGF9ZnVuY3Rpb24gSihBKXtjb25zdCBnPShBLmNoYXJDb2RlQXQoQS5sZW5ndGgtMSk8PDE2KStBLmNoYXJDb2RlQXQoQS5sZW5ndGgtMik7bGV0IEk9Qi5hbGxvY1VpbnQxNihBLmxlbmd0aC0yKSxDPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIsSSxBLmxlbmd0aC0yKTtmb3IobGV0IEQ9MDtEPEEubGVuZ3RoLTI7RCsrKUNbRF09QS5jaGFyQ29kZUF0KEQpO2NvbnN0IFE9Qi5kZWNvbXByZXNzUGFja2VkKEksQS5sZW5ndGgtMixnKTtCLmZyZWUoSSwyKihBLmxlbmd0aC0yKSk7Y29uc3R7c3RhcnQ6RSxlbmQ6aSxjYXBhY2l0eTpvfT13KEIubWVtb3J5LFEpLGE9bmV3IFVpbnQ4QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKEUsaSkpLGs9bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGEpO3JldHVybiBCLmZyZWUoRSxvKSxrfXNlbGYub25tZXNzYWdlPWZ1bmN0aW9uKEEpe2NvbnN0e2NvbW1hbmQ6ZyxpZDpJLGRhdGE6Q309QS5kYXRhO3N3aXRjaChnKXtjYXNlImRlY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpJLGRhdGE6SihDKX0pO2JyZWFrfWNhc2UiY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpJLGRhdGE6bihDKX0pO2JyZWFrfX19fSkoKTs=", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(d)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function V(Q) {
|
|
3
|
+
let U;
|
|
4
|
+
try {
|
|
5
|
+
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
|
+
throw "";
|
|
7
|
+
const F = new Worker(U, {
|
|
8
|
+
type: "module",
|
|
9
|
+
name: Q?.name
|
|
10
|
+
});
|
|
11
|
+
return F.addEventListener("error", () => {
|
|
12
|
+
(window.URL || window.webkitURL).revokeObjectURL(U);
|
|
13
|
+
}), F;
|
|
14
|
+
} catch {
|
|
15
|
+
return new Worker(
|
|
16
|
+
"data:application/javascript;base64," + d,
|
|
17
|
+
{
|
|
18
|
+
type: "module",
|
|
19
|
+
name: Q?.name
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const R = new V();
|
|
25
|
+
let J = 0;
|
|
26
|
+
const B = {};
|
|
27
|
+
R.onmessage = function(Q) {
|
|
28
|
+
const U = Q.data.id;
|
|
29
|
+
B[U](Q.data.data), delete B[U];
|
|
30
|
+
};
|
|
31
|
+
async function Z(Q) {
|
|
32
|
+
const U = J++;
|
|
33
|
+
return new Promise((F) => {
|
|
34
|
+
B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async function W(Q) {
|
|
38
|
+
const U = J++;
|
|
39
|
+
return new Promise((F) => {
|
|
40
|
+
B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
Z as compressPacked,
|
|
45
|
+
W as decompressPacked
|
|
46
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(data: string): Promise<string>;
|
|
2
|
-
export declare function decompress(data: string): Promise<string>;
|
|
1
|
+
export declare function compress(data: string): Promise<string>;
|
|
2
|
+
export declare function decompress(data: string): Promise<string>;
|
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBlKEksZyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksQz1nLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6QyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIHMoSSl7Y29uc3QgZz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKWdbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiB3KEksZyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIEQ9YXN5bmMoST17fSxnKT0+e2xldCBBO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxHPUk9PkQoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJVUXhnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQlg5K2ZuNStBQU1kSEFNRUF3UUZCQVlGQndnQUNRa0pCZ1FKQ1FvSEJRUUFBZ0VMQ2dvRUJRRndBUVFFQlFNQkFCRUdEZ0ovQVVHQWdNQUFDMzhBUVFBTEIwUUdCbTFsYlc5eWVRSUFDbUZzYkc5alZXbHVkRGdBQUF0aGJHeHZZMVZwYm5ReE5nQUNCR1p5WldVQUJBaGpiMjF3Y21WemN3QUxDbVJsWTI5dGNISmxjM01BRUFrSkFRQkJBUXNERmhjWUN0Z3hIRjRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0JnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGNRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUJDZ0lDQWdCQWhCQUpBUVFGRkRRQUNRQ0FDRFFCQy8vLy8vdzhoQkF3QkN5QUJLQUlBSUFKQkFFRUFJQUVvQWdRb0FnQVJnSUNBZ0FBQUlnSkZyVUlnaGlBQ3JZUWhCQXNnQUNBRU53SUFJQU5CRUdva2dJQ0FnQUFMWGdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWpnWUNBZ0FCQm1JREFnQUJxS1FNQU53TUFJQUZCQ0dvZ0FTQUFFSU9BZ0lBQUFrQWdBUzhCREEwQUlBRW9BZ2doQUNBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3dUhBUUlCZndGK0k0Q0FnSUFBUVJCcklnTWtnSUNBZ0FBZ0F5QUNRUUJJT2dBTUFrQUNRQ0FDUVg5S0RRQkNnSUNBZ0JBaEJBd0JDd0pBSUFKQkFYUWlBZzBBUXY3Ly8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFGQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDeGtBSTRHQWdJQUFRWmlBd0lBQWFpQUFJQUVRaFlDQWdBQUxPQUVCZndKQUlBSkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVR3ExYXJWZWlBQ0d5QURRUUJCQUNBQUtBSUVLQUlJRVlHQWdJQUFBQXNMRHdBZ0FDQUFRUXhxRUllQWdJQUFDM0FCQTM4Q1FDQUFLQUlBSWdKRkRRQUNRQ0FDUVhScUlnTkJDR29vQWdBaUFrRUtiQ0FDUVE5cVFYeHhha0VEYWtGOGNTSUNRUUFnQWhzaUJFVU5BQ0FCS0FJQUlBTkJCQ0FDR3lBRVFRSkJBQ0FCS0FJRUtBSUlFWUdBZ0lBQUFBc2dBRUVBTmdJSUlBQkJBRFlDQUFzTDJBSURCSDhCZmdSL0k0Q0FnSUFBUVJCcklnUWtnSUNBZ0FBamdZQ0FnQUFoQlNBQktBSUFJUVlDUUFKQUlBRW9BZ1FOQUNBRlFZQ0F3SUFBYWlFSERBRUxJQUlnQXhDSmdJQ0FBQ0VJQWtBQ1FDQUdEUUJCQUNFRlFYOGhDUXdCQ3lBR1FYeHFLQUlBSWdWQmYyb2hDUXNnQmtGNGFpRUtJQWtnQ0tkeElRRWdDRUk1aUtjaEN3TkFJNEdBZ0lBQVFZQ0F3SUFBYWlFSElBWWdBV29zQUFBaURFVU5BU0FGUlEwQkFrQWdERUYvU2cwQUlBc2dERUgvQUhGSERRQWdBaUFESUFvb0FnQWdBVUVEZEdvaURDZ0NBQ0FNS0FJRUVJcUFnSUFBUVFGeFJRMEFJQVJCQVRvQURDQUVJQUUyQWdnZ0JFRUlhaUVIREFJTElBVkJmMm9oQlNBQlFRRnFJQWx4SVFFTUFBc0xBa0FDUUNBSExRQUVEUUJCQUNFQlFRQWhCUXdCQ3lBR1FYUnFLQUlBSUFjb0FnQkJBWFJxTHdFQUlRRkJnSUFFSVFVTElBQWdCU0FCY2pZQkFDQUVRUkJxSklDQWdJQUFDK3dGQlFKL0FYNEJmd0orQW44amdJQ0FnQUJCNEFCcklnSWtnSUNBZ0FBQ1FBSkFBa0FDUUFKQUlBRkJFRXNOQUNBQlFRTk5EUUVnQURVQUFFSWdoaUFBSUFGQkFYWkIvUC8vL3dkeElnTnFOUUFBaENFRUlBQWdBVUY4YWlJRmFqVUFBRUlnaGlBQUlBVWdBMnRxTlFBQWhDRUdRcXlhNHRPajB2RDZIeUVIREFRTFFRQWhBMEtzbXVMVG85THcraDhoQjBFQUlRVWdBVUV3U1EwQ1FRQWhCVUtzbXVMVG85THcraDhoQjBLc211TFRvOUx3K2g4aEJFS3NtdUxUbzlMdytoOGhCZ05BSUFWQk1Hb2lDQ0FCVHcwQ0lBSkJ3QUJxSUFBZ0JXb2lCU2tBQ0NBR2hVSUFJQVVwQUFCQzI5SFFoWnJhMzRGbmhVSUFFSm1BZ0lBQUlBSkJNR29nQlVFWWFpa0FBQ0FFaFVJQUlBVkJFR29wQUFCQzQ0Mmo1SW5lbXQ2T2Y0VkNBQkNaZ0lDQUFDQUNRU0JxSUFWQktHb3BBQUFnQjRWQ0FDQUZRU0JxS1FBQVFzT1ozYW5IdWRuTTJBQ0ZRZ0FRbVlDQWdBQWdBa0hBQUdwQkNHb3BBd0FnQWlrRFFJVWhCaUFDUVNCcVFRaHFLUU1BSUFJcEF5Q0ZJUWNnQWtFd2FrRUlhaWtEQUNBQ0tRTXdoU0VFSUFnaEJRd0FDd3RDQUNFR1FxeWE0dE9qMHZENkh5RUhBa0FnQVEwQVFnQWhCQXdEQ3lBQUlBRkJBWFpxTVFBQVFnaUdJQUF4QUFCQ0VJYUVJQUVnQUdwQmYyb3hBQUNFSVFRTUFnc2dCQ0FIaFNBR2hTRUhDeUFBSUFWcUlRa2dBU0FGYXlFSUFrQURRQ0FEUVJCcUlnVWdDRThOQVNBQ1FkQUFhaUFKSUFOcUlnTkJDR29wQUFBZ0I0VkNBQ0FES1FBQVF0dlIwSVdhMnQrQlo0VkNBQkNaZ0lDQUFDQUNRZEFBYWtFSWFpa0RBQ0FDS1FOUWhTRUhJQVVoQXd3QUN3c2dBU0FBYWlJRFFYaHFLUUFBSVFZZ0EwRndhaWtBQUNFRUN5QUNRUkJxSUFSQzI5SFFoWnJhMzRGbmhVSUFJQVlnQjRWQ0FCQ1pnSUNBQUNBQ0lBSkJFR3BCQ0dvcEF3QkMyOUhRaFpyYTM0Rm5oVUlBSUFHdElBSXBBeENGUXEvSTljWEhySWU3b0grRlFnQVFtWUNBZ0FBZ0FrRUlhaWtEQUNFSElBSXBBd0FoQkNBQ1FlQUFhaVNBZ0lDQUFDQUhJQVNGQzFnQkFuOUJBQ0VFQWtBZ0FTQURSdzBBQWtBZ0FDQUNSdzBBUVFFUEN3TkFJQUZGSVFRZ0FVVU5BU0FCUVg5cUlRRWdBaTBBQUNFRElBQXRBQUFoQlNBQVFRRnFJUUFnQWtFQmFpRUNJQVVnQTBZTkFBc0xJQVFMNGd3RkFYOEJmZ2wvQVg0TWZ5T0FnSUNBQUVHUUFXc2lBaVNBZ0lDQUFBSkFBa0FDUUNBQkRRQWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlRTkJxdFdxMVhvaEJFRUFJUVZCQUNFR0RBRUxRUUFoQnlBQ1FSaHFRUWhxUVFBMkFnQWdBa0lBTndNWUlBSWpnWUNBZ0FCQm1JREFnQUJxS1FNQUlnTTNBaVFnQWtINEFHcEJDR3BCQURZQ0FDQUNRZ0EzQTNnZ0FVSC8vd01nQVVILy93TkpHMEhrQUd4QjBBQnVJUWdnQWtFa2FpRUpBa0FDUUVFQURRQkJmQ0VHUWdGQklDQUlaMnV0UXYvL0E0T0dweUlJUVFnZ0NFRUlTeHNpQ0VFQmRDQUlRUTlxUVh4eElnb2dDRUVEZEdvaUMycEJBMnBCZkhFaURFVU5BU0FEcHlBTVFRSkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlCZzBCQ3lBQ1FmZ0FhaUFKRUllQWdJQUFJQUpCR0dvUWhvQ0FnQUFNQWdzZ0JpQUlOZ0lJSUFZZ0JpQUthallDQkNBR0lBWWdDMm8yQWdBZ0FpQUdRUXhxSWdZMkFuaEJBQ0VISUFaQkFDQUlFSnFBZ0lBQUdpQUNRZmdBYWtFSWFpSUdJQWhCMEFCc1FlUUFiaUlJTmdJQUlBSkJHR3BCQ0dvaUNpZ0NBQ0VMSUFvZ0NEWUNBQ0FHSUFzMkFnQWdBa0VBTmdJY0lBSXBBeGdoRFNBQ0lBSXBBM2czQXhnZ0FpQU5Od040SUFKQitBQnFJQWtRaDRDQWdBQWdBaUFETndLRUFTQUNRUUEyQW9BQklBSkNxdFdxMVFvM0FuZ0NRQ0FDUWZnQWFpQUJFSXlBZ0lBQVFmLy9BM0ZGRFFBZ0FrRVlhaENHZ0lDQUFBd0NDeUFDS0FJWUlnNUJkR29oRHlBT1FYaHFJUkFnRGtGOGFpRVJJQUlwQW9RQklRTWdBaWdDZ0FFaEJTQUNLQUo4SVFZZ0FpZ0NlQ0VFUVlBQ0lSSWdBaWdDSUNFVElBSW9BaHdoRkVFQUlRY0RRQ0FHSVJVZ0FDQUhhaUVLUVFJaEJnSkFBa0FDUUFOQUFrQUNRQ0FISUFacUlnc2dBVThOQUNBQ1FTeHFJQUpCR0dvZ0NpQUdFSWlBZ0lBQUlBSXRBQzROQVNBS0lBWVFpWUNBZ0FBaERRSkFBa0FnRGcwQUlBMm5JUWRCQUNFV1FYOGhGd3dCQ3lBUktBSUFJaFpCZjJvaUZ5QU5wM0VoQndzZ0RVSTVpS2NoR0NBV0lRZ0NRQUpBQTBBZ0RpQUhhaUlaTEFBQUlnbEZEUUVnQ0VFQVJnMEJBa0FDUUNBSlFYOUtEUUFnR0NBSlFmOEFjVWNOQUNBS0lBWWdFQ2dDQUNBSFFRTjBhaUlKS0FJQUlBa29BZ1FRaW9DQWdBQkJBWEZGRFFFZ0R5Z0NBQ0FIUVFGMGFpRUhEQVFMSUJZZ0VTZ0NBRWNOQUNBSElCWWdDVUVCUmhzaEZnc2dDRUYvYWlFSUlBZEJBV29nRjNFaEJ3d0FDd3NnRGlBV2FpQVpJQllnRVNnQ0FFa2lDQnNnR0VHQUFYSTZBQUFnRHlnQ0FDRUpJQkFvQWdBZ0ZpQUhJQWdiSWdkQkEzUnFJZ2dnQmpZQ0JDQUlJQW8yQWdBZ0FpQVRRWDlxSWhNMkFpQWdBaUFVUVFGcUloUTJBaHdnQ1NBSFFRRjBhaUVIQ3lBSElCSTdBUUFnRENFSElBWkJBa1lOQXd3RkN3SkFJQWRCQVdvZ0FVa05BQ0FLTFFBQUlRWU1CQXNnQWtFd2FrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkJNR3BCQ0dvZ0FrRVlha0VJYWlrREFEY0RBQ0FDSUFJcEF4ZzNBekFnQWtIRUFHb2dBa0V3YWlBS0lBWVFpSUNBZ0FBQ1FBSkFBa0FnQWkwQVJnMEFJQVpCQWtjTkFTQUtMUUFBSVFZTUFnc2dBaThCUkNFR0RBVUxJQUpCeUFCcVFSQnFJQUpCR0dwQkVHb29BZ0EyQWdBZ0FrSElBR3BCQ0dvZ0FrRVlha0VJYWlrREFEY0RBQ0FDSUFJcEF4ZzNBMGdnQWtIZ0FHb2dBa0hJQUdvZ0NpQUdRWDlxRUlpQWdJQUFJQUl2QVdBaEJnc2dCQ0FWUVFGMGFpQUdPd0VBSUJWQkFXb2hGU0FMSUFCcVFYOXFMUUFBSVFZTUF3c2dCa0VCYWlFR0lBSXZBU3doREF3QUN3c2dDaTBBQUNFSERBRUxJQVFnRlVFQmRHb2dCanNCQUNBVlFRRnFJUVlnQWtFWWFoQ0dnSUNBQUF3Q0N5QUVJQlZCQVhScUlBYzdBUUFnRlVFQmFpRUdJQXRCZjJvaEJ5QVNRUUZxSWhKQi8vOERjVUgvL3dOSERRQkJBQ0VVSUE1QkFDQVJLQUlBSWdnUW1vQ0FnQUFhSUFRZ0JrRUJkR3BCL3Y4RE93RUFJQUpCQURZQ0hDQUNJQWl0UXRBQWZrTGtBSUNuSWhNMkFpQWdGVUVDYWlFR1FZQUNJUklNQUFzTElBSWdBemNDRUNBQ0lBUTJBZ1FnQWlBR05nSUlJQUlnQlRZQ0RDQUdJUWNDUUNBRklBWkJCR29pQVU4TkFFRUFJUWNnQWtFRWFpQUZJQUVRallDQWdBQVFqSUNBZ0FCQi8vOERjUTBCSUFJb0FnUWhCQ0FDS0FJSUlRY0xJQVFnQjBFQmRHb2lCeUFHUVFGMElnRTdBUUFnQjBFQ2FpQUdRUTkyT3dFQUlBZEJCR29nQlVFQmREc0JBQ0FIUVFacUlBVkJEM1k3QVFBZ0JDQUJhaUVIQ3lBQ1FaQUJhaVNBZ0lDQUFDQUhDNU1DQVFaL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQkFFZzZBQWdnQVVGL1RBMEFJQUFvQWd3Z0JTQUVRUUYwUVFFZ0FVRUJkRUVBSUFCQkVHb29BZ0FvQWdRUmdvQ0FnQUFBUVFGeFJRMEFJQUFnQVRZQ0NFRUFJUU1NQVFzZ0FpQUFLUUlNTndNQUlBSkJDR29nQWlBQkVJT0FnSUFBSUFJdkFRd2lBdzBBSUFJb0FnZ2dBQ2dDQUNBQUtBSUVRUUYwRUp1QWdJQUFJUVpCQUNFREFrQWdCRUVCZEVFQUlBUWJJZ2RGRFFBZ0FDZ0NEQ0FGUVFJZ0JCc2dCMEVCUVFBZ0FFRVFhaWdDQUNnQ0NCR0JnSUNBQUFBTElBQWdBVFlDQ0NBQUlBWTJBZ0FMSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRajRDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzlzSEF3Ri9BWDRKZnlPQWdJQ0FBRUhBQUdzaUFpU0FnSUNBQUNPQmdJQ0FBRUdZZ01DQUFHb3BBd0FoQXdKQUFrQUNRQUpBSUFFTkFFR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRc2dBa0VBTmdJZ0lBSkNxdFdxMVFvM0FoZ2dBaUFETndJa0lBSkJBRUgvL3dNUWpZQ0FnQUFpQjBILy8vLy9BVXM2QUN3Z0IwR0FnSUNBQWs4TkFRSkFBa0FnQjBFRGRDSUlEUUJCZkNFSURBRUxJQU9uSUFoQkFrRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUlSUTBDQ3lBQ0lBYzJBaUFnQWlBSU5nSVlRUUFoQndKQUEwQWdCMEg0L3g5R0RRRWdDQ0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NnQWtILy93TTJBaHdnQWlBRE53STRRUUFoQnlBQ1FRQTJBalFnQWtLcTFhclZDamNDTENBQ1FTeHFJQUZCR0d3UWtZQ0FnQUJCLy84RGNRMEJJQUlwQWpnaEF5QUNLQUkwSVFVZ0FpZ0NMQ0lFSUFJb0FqQWlCbW9nQUMwQUFEb0FBQ0FJSUFBdkFRQkJBM1JxSWdsQkFUWUNCQ0FKSUFRMkFnQWdCa0VCYWlFS1FRRWhDVUdBQWlFTEEwQWdDaUVHQWtBQ1FBSkFBa0FnQ1NBQlR3MEFBa0FnQUNBSlFRRjBhaThCQUNJS1FmNy9BMGNOQUNBSlFRRnFJZ2tnQVU4TkFVRUFJUWNDUUFOQUlBZEIrUDhmUmcwQklBZ2dCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xBa0FnQUNBSlFRRjBhaThCQUNJSFFZQUNTUTBBSUFKQi8vOEROZ0ljREFnTElBUWdCbW9nQnpvQUFDQUdRUUZxSVFwQmdBSWhDd3dFQ3lBS1FZQUNTUTBCQWtBZ0NDQUtRUU4wYWlJS0tBSUFJZ3dOQUNBRUlBWnFJQVFnQjJvaUNpQUdJQWRySWd3UW00Q0FnQUFhSUFRZ0RDQUdhaUlNYWlBS0xRQUFPZ0FBSUF4QkFXb2hDZ3dEQ3lBRUlBWnFJQXdnQ2lnQ0JDSUtFSnVBZ0lBQUdpQUtJQVpxSVFvTUFnc2dBa0gvL3dNMkFod2dBa0VZYWhDT2dJQ0FBQXdFQ3lBRUlBWnFJQW82QUFBZ0JrRUJhaUVLQ3lBSUlBdEIvLzhEY1VFRGRHb2lEQ0FHSUFkclFRRnFOZ0lFSUF3Z0JDQUhhallDQUNBTFFRRnFJUXNMSUFsQkFXb2hDU0FHSVFjTUFBc0xJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQUpBQWtBZ0JTQUdRUWhxSWdoSkRRQWdCaUVIREFFTFFRQWhCeUFDUVFScUlBVWdDQkNOZ0lDQUFCQ1JnSUNBQUVILy93TnhEUUlnQWlnQ0JDRUVJQUlvQWd3aEJTQUNLQUlJSVFjTElBUWdCMm9pQnlBR09nQUFJQWRCQjJvZ0JVRVlkam9BQUNBSFFRWnFJQVZCRUhZNkFBQWdCMEVGYWlBRlFRaDJPZ0FBSUFkQkJHb2dCVG9BQUNBSFFRTnFJQVpCR0hZNkFBQWdCMEVDYWlBR1FSQjJPZ0FBSUFkQkFXb2dCa0VJZGpvQUFDQUVJQVpxSVFjTUFRc2dBa0VZYWhDT2dJQ0FBRUVBSVFjTElBSkJ3QUJxSklDQWdJQUFJQWNMMmdFQkJYOGpnSUNBZ0FCQklHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FBSkFJQVJGRFFCQkFBMEFJQUFvQWd3Z0JTQUVRUUFnQVVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQ0lBQkJER29pQmlrQ0FEY0RFQ0FDUVJocUlBSkJFR29nQVJDQmdJQ0FBQ0FDTHdFY0lnTU5BU0FDS0FJWUlBQW9BZ0FnQUNnQ0JCQ2JnSUNBQUNFRElBWWdCU0FFRUlXQWdJQUFJQUFnQVRZQ0NDQUFJQU0yQWdBTFFRQWhBd3NnQWtFZ2FpU0FnSUNBQUNBREM5SUNBd1ovQVg0SGZ5T0FnSUNBQUVFUWF5SURKSUNBZ0lBQUlBQW9BZ1FoQkNBQUtBSUFJUVZCQUNFR0lBSkIvd0Z4SVFjRGZ3SkFBa0FDUUNBR0lBUkhEUUJCZnlFSURBRUxBa0FnQlNBR1FRUjBhaUlDUVFocUtRTUFJZ2xDQUZNTkFDQUNLUU1BZXlBSmUzeW5JQUZKRFFJTElBWkJCM1FpQ0VHQUFXb2hDZ05BSUFnZ0NrOE5BaUFJSUFBcEFnQWlDVUlaaUtkQmdIOXhJZ0lnQ0NBQ1N4c2lDeUFJYXlFTUlBbW5RUWdnQ1VJZ2lLY2JJUTBnQ0VFUWRHZ2hEa0VBSVFJQ1FBTkFBa0FnRENBQ1J3MEFJQXNoRHd3Q0MwSC9BU0FJSUFKcUlnOUJCM0VpRUVFSGMzWkJBU0FRZEhFZ0RTQVBRUU4yYWkwQUFIRkZEUUVnQWtFQmFpSUNJQUZKRFFBZ0RpQUhTUTBBQ3lBRElBazNBd2dnQTBFSWFpQUlJQUZCQUJDVGdJQ0FBQXdDQ3lBUFFRRnFJUWdNQUFzTElBTkJFR29rZ0lDQWdBQWdDQThMSUFaQkFXb2hCZ3dBQ3d0VUFRRi9JQU5CQVhFaEJBSkFBMEFnQWtVTkFTQUFLQUlBUVFnZ0FDZ0NCQnNnQVVFRGRtb2lBeUFETFFBQVFYNGdBVUVIY1NJRGQzRWdCQ0FEZEhJNkFBQWdBVUVCYWlFQklBSkJmMm9oQWd3QUN3c0wyd0VCQTM4amdJQ0FnQUJCRUdzaUFpU0FnSUNBQUFKQUlBQkJnQkJQRFFBamdZQ0FnQUJCcUlEQWdBQnFJQUFnQVVHQUVDQUJRWUFRU1JzZ0FHc1FsWUNBZ0FBTEFrQWdBVUdBRUUwTkFBSkFJNEdBZ0lBQVFhQ0F3SUFBYWlnQ0JBMEFJNEdBZ0lBQVFhQ0F3SUFBYWlJRFFZQWdOZ0lFSUFNZ0FVRi9haUlCUVJCMElnUTJBZ0FnQkVFQVFZQ0FCQkNhZ0lDQUFCb0xJQUlqZ1lDQWdBQkJvSURBZ0FCcUtRTUFOd01JSUFKQkNHb2dBRUdBRUNBQVFZQVFTeHNpQUVHQWNHb2dBU0FBYXhDVmdJQ0FBQXNnQWtFUWFpU0FnSUNBQUFzN0FRRi9JNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQWdBeUFBS1FJQU53TUlJQU5CQ0dvZ0FTQUNRUUVRazRDQWdBQWdBMEVRYWlTQWdJQ0FBQXU5QVFFRWYwRUFJUVFDUUNBQlFZR0FmRThOQUFKQUk0R0FnSUFBUWFpQXdJQUFhaUFCUWYvL0EycEJFSFlpQVNBQ0VKS0FnSUFBSWdSQmYwY05BQUpBSTRHQWdJQUFRYUNBd0lBQWFpQUJJQUlRa29DQWdBQWlCRUYvUmcwQUlBUkJnQkJxSVFRTUFRdEJBQ0VFUVFFZ0FuUWlCVDhBSWdaQkVIUWlBbXBCZjJwQkFDQUZhM0VpQlNBQ2EwRVFkaUlISUFGcVFBQkJBVWdOQVNBSElBWnFJUVFnQlNBQ1JnMEFJQVlnQkJDVWdJQ0FBQXNnQkVFUWRDRUVDeUFFQzA4QkFYOENRQ0FDUWYvL0Eyb2lCa0dBZ0h4eElBUlBJZ0pGRFFBZ0JFSC8vd05xUVJCMklnUWdCa0VRZGlJR1JnMEFJQVFnQVVILy93TnFRUkIySWdGcUlBRWdCbW9RbElDQWdBQUxJQUlMSVFBZ0FVSC8vd05xUVJCMklnRWdBU0FDUWYvL0EycEJFSFpxRUpTQWdJQUFDM1VCQVg0Z0FDQUVJQUYrSUFJZ0EzNThJQU5DSUlnaUFpQUJRaUNJSWdSK2ZDQURRdi8vLy84UGd5SURJQUZDLy8vLy93K0RJZ0YrSWdWQ0lJZ2dBeUFFZm53aUEwSWdpSHdnQTBMLy8vLy9ENE1nQWlBQmZud2lBVUlnaUh3M0F3Z2dBQ0FCUWlDR0lBVkMvLy8vL3crRGhEY0RBQXNzQVFGL0FrQWdBa1VOQUNBQUlRTURRQ0FESUFFNkFBQWdBMEVCYWlFRElBSkJmMm9pQWcwQUN3c2dBQXRDQVFGL0FrQWdBa1VOQUNBQ1FYOXFJUUlnQUNFREEwQWdBeUFCTFFBQU9nQUFJQUpGRFFFZ0FrRi9haUVDSUFGQkFXb2hBU0FEUVFGcUlRTU1BQXNMSUFBTEMwRUNBRUdBZ01BQUN3Z0FBQUFBQUFBQUFBQkJpSURBQUFzb0FRQUFBQUlBQUFBREFBQUFBQUFBQUFBQUFBQUlBQkFBcXFxcXFnQUFBQUF3QUJBQUVBQUFBQT09Iik7Y29uc3Qgbj1hd2FpdCBHKCksQj1uLmV4cG9ydHM7ZnVuY3Rpb24gaChJKXtjb25zdHtwdHI6ZyxsZW5ndGg6QX09ZShJLEIpLEM9Qi5jb21wcmVzcyhnLEEpO0IuZnJlZShnLEEpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dyhCLm1lbW9yeSxDKSxhPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksdD1zKGEpO3JldHVybiBCLmZyZWUoUSxpKSx0fWZ1bmN0aW9uIGsoSSl7Y29uc3QgZz1CLmFsbG9jVWludDE2KEkubGVuZ3RoKSxBPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCk7Zm9yKGxldCBvPTA7bzxJLmxlbmd0aDtvKyspQVtvXT1JLmNoYXJDb2RlQXQobyk7Y29uc3QgQz1CLmRlY29tcHJlc3MoZyxJLmxlbmd0aCk7Qi5mcmVlKGcsMipJLmxlbmd0aCk7Y29uc3R7c3RhcnQ6USxlbmQ6RSxjYXBhY2l0eTppfT13KEIubWVtb3J5LEMpLGE9bmV3IFVpbnQ4QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLHQ9bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGEpO3JldHVybiBCLmZyZWUoUSxpKSx0fXNlbGYub25tZXNzYWdlPWZ1bmN0aW9uKEkpe2NvbnN0e2NvbW1hbmQ6ZyxpZDpBLGRhdGE6Q309SS5kYXRhO3N3aXRjaChnKXtjYXNlImRlY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6ayhDKX0pO2JyZWFrfWNhc2UiY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6aChDKX0pO2JyZWFrfX19fSkoKTs=", l = typeof window < "u" && window.Blob && new Blob([atob(J)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
-
function
|
|
3
|
-
let U;
|
|
4
|
-
try {
|
|
5
|
-
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
|
-
throw "";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
1
|
+
const d = "KGFzeW5jKCk9PntmdW5jdGlvbiBHKEksZyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksQz1nLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6QyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIHcoSSl7Y29uc3QgZz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKWdbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiB0KEksZyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIHM9YXN5bmMoST17fSxnKT0+e2xldCBBO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxrPUk9PnMoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QUF4OGVBd1FEQkFVRUJnVUhDQUFKQ1FjSkJnUUpDUW9IQlFRQUFnRUxEQW9LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQkVKQ1FFQVFRRUxBeGNZR1FycU54NWVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdWhDd0lCZnd0K0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUlBR3RJUU1DUUFKQUlBRkJJRXNOQUFKQUlBRkJFVThOQUFKQUlBRkJDRWtOQUNBQUtRQUFRcytBd2Z5eXg5cndtbjk4SWdSQ0o0a2dBU0FBYWtGNGFpa0FBQ0lGZkNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTWdBeUFGUWh1SklBWitJQVI4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUF3c0NRQ0FCUVFSSkRRQWdBRFVBQUVJRGhpQURmQ0FCSUFCcVFYeHFOUUFBSWdTRklBTkNBWVpDejREQi9MTEgydkNhZjN3aUJuNGlCVUl2aUNBRWhTQUZoU0FHZmlJRVFpK0lJQVNGSUFaK0lRWU1Bd3NDUUNBQkRRQkN6NERCL0xMSDJ2Q2FmeUVHREFNTElBRWdBR3BCZjJvdEFBQkJBblFnQVdxdFFxZmlyTDdKaS9MU1EzNGdBQ0FCUVFGMmFqRUFBRUlJaGlBQU1RQUFoRUxQZ01IOHNzZmE4SnAvZm9VaUJrSXZpQ0FHaFVMUGdNSDhzc2ZhOEpwL2ZpRUdEQUlMSUFBcEFBZ2lCRUxQZ01IOHNzZmE4SnAvZkVJdWlTQUFLUUFBUXZQazQvVDd6YTNKdEg5K0lnVjhJQUVnQUdvaUFFRjRhaWtBQUNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTjhJZ2NnQnlBRFFpS0pJQVVnQkh4Q0ZZbDhJQUJCY0dvcEFBQkN6NERCL0xMSDJ2Q2FmMzU4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUFRc0NRQ0FCUWNFQVNRMEFJQUVnQUdvaUFVRllhaWtBQUNFSElBRkJTR29wQUFBaEJpQUJRWEJxS1FBQUlRZ2dBaUFCUVVCcUlBTWdBVUZRYWlrQUFDQURmQ0FCUVdocUtRQUFFSnFBZ0lBQUlna1FtNENBZ0FBZ0Fpa0RDQ0VFSUFJcEF3QWhCU0FDUVJCcUlBRkJZR29nQmlBSWZDSUdRdlBrNC9UN3phM0p0SDk4SUFjUW00Q0FnQUJDQUNBRFFuOThRa0NEZlNFS0lBQXBBQUFnQjBMejVPUDArODJ0eWJSL2Zud2hDQ0FDS1FNWUlRTWdBaWtERUNFSEEwQWdBQ2tBTUNFTElBQXBBQ2doRENBQ1FTQnFJQUFnQkVMejVPUDArODJ0eWJSL2ZpQUdJQVY4SUFoOElBQXBBQWg4UWh1SlF2UGs0L1Q3emEzSnRIOStJQU9GSWcwZ0Izd1FtNENBZ0FBZ0RDQUZmQ0VNSUFZZ0JId2hCaUFDS1FNb0lRUWdBaWtESUNFRklBSkJNR29nQUVFZ2FpQUpJQWQ4UWgrSlF2UGs0L1Q3emEzSnRIOStJZ2dnQTN3Z0FDa0FFQ0FNSUFZZ0MzeENGb2xDOCtUajlQdk5yY20wZjM1OElnWjhFSnVBZ0lBQUlBQkJ3QUJxSVFBZ0Fpa0RPQ0VESUFJcEF6QWhCeUFOSVFrZ0NrTEFBSHdpQ2tJQVVnMEFDeUFHUWkrSUlBYUZRdlBrNC9UN3phM0p0SDkrSUExOElBVWdCeENhZ0lDQUFId2dCQ0FERUpxQWdJQUFJQWg4RUpxQWdJQUFJUVlNQVFzZ0FTQUFhaUlCUVhCcUtRQUFJQU5DQVlaQ3o0REIvTExIMnZDYWYzd2lCSDRpQlNBQlFXQnFLUUFBSWdOOElBQXBBQmhDQ1g0aUJ5QUFLUUFRUXMrQXdmeXl4OXJ3bW45K2ZDSUlJQUZCYUdvcEFBQWlCbndpQ1NBQUtRQUlJZ3A4SUFrZ0FVRjRhaWtBQUNJTmZDQUlRaGFKSUFaOElnaDhJQWNnRFNBQUtRQUFRcytBd2Z5eXg5cndtbjkrZkNJSklBT0ZmRUlCZkNJRElBVjhJQWxDRllrZ0NrSWlpU0FHZkVJSmZud2dBM3dnQkg0aUJrSTRoaUFHUW9EK0E0TkNLSWFFSUFaQ2dJRDhCNE5DR0lZZ0JrS0FnSUQ0RDROQ0NJYUVoQ0FHUWdpSVFvQ0FnUGdQZ3lBR1FoaUlRb0NBL0FlRGhDQUdRaWlJUW9EK0E0TWdCa0k0aUlTRWhId2dCSDRpQmtJNGhpQUdRb0QrQTROQ0tJYUVJQVpDZ0lEOEI0TkNHSVlnQmtLQWdJRDRENE5DQ0lhRWhDQUdRZ2lJUW9DQWdQZ1BneUFHUWhpSVFvQ0EvQWVEaENBR1FpaUlRb0QrQTRNZ0JrSTRpSVNFaEh3Z0JINGlCa0k0aGlBR1FvRCtBNE5DS0lhRUlBWkNnSUQ4QjROQ0dJWWdCa0tBZ0lENEQ0TkNDSWFFaENBR1FnaUlRb0NBZ1BnUGd5QUdRaGlJUW9DQS9BZURoQ0FHUWlpSVFvRCtBNE1nQmtJNGlJU0VoSHdnQkg1OElnWkNMNGdnQm9VZ0JINGdDSHdoQmdzZ0FrSEFBR29rZ0lDQWdBQWdCZ3RZQVFKL1FRQWhCQUpBSUFFZ0EwY05BQUpBSUFBZ0FrY05BRUVCRHdzRFFDQUJSU0VFSUFGRkRRRWdBVUYvYWlFQklBSXRBQUFoQXlBQUxRQUFJUVVnQUVFQmFpRUFJQUpCQVdvaEFpQUZJQU5HRFFBTEN5QUVDNWtLQlFGL0FYNEhmd0YrQTM4amdJQ0FnQUJCa0FGcklnSWtnSUNBZ0FBQ1FBSkFBa0FnQVEwQUk0R0FnSUFBUVppQXdJQUFhaWtEQUNFRFFhclZxdFY2SVFSQkFDRUZRUUFoQmd3QkMwRUFJUWNnQWtFWWFrRUlha0VBTmdJQUlBSkNBRGNER0NBQ0k0R0FnSUFBUVppQXdJQUFhaWtEQUNJRE53SWtJQUpCK0FCcVFRaHFRUUEyQWdBZ0FrSUFOd040SUFGQi8vOERJQUZCLy84RFNSdEI1QUJzUWRBQWJpRUlJQUpCSkdvaENRSkFBa0JCQUEwQVFYd2hCa0lCUVNBZ0NHZHJyVUwvL3dPRGhxY2lDRUVJSUFoQkNFc2JJZ2hCQVhRZ0NFRVBha0Y4Y1NJS0lBaEJBM1JxSWdWcVFRTnFRWHh4SWdSRkRRRWdBNmNnQkVFQ1FRQWdBMElnaUtjb0FnQVJnSUNBZ0FBQUlnWU5BUXNnQWtINEFHb2dDUkNIZ0lDQUFDQUNRUmhxRUlhQWdJQUFEQUlMSUFZZ0NEWUNDQ0FHSUFZZ0NtbzJBZ1FnQmlBR0lBVnFOZ0lBSUFJZ0JrRU1haUlHTmdKNFFRQWhCeUFHUVFBZ0NCQ2NnSUNBQUJvZ0FrSDRBR3BCQ0dvaUJpQUlRZEFBYkVIa0FHNGlDRFlDQUNBQ1FSaHFRUWhxSWdvb0FnQWhCU0FLSUFnMkFnQWdCaUFGTmdJQUlBSkJBRFlDSENBQ0tRTVlJUXNnQWlBQ0tRTjROd01ZSUFJZ0N6Y0RlQ0FDUWZnQWFpQUpFSWVBZ0lBQUlBSWdBemNDaEFFZ0FrRUFOZ0tBQVNBQ1FxclZxdFVLTndKNEFrQWdBa0g0QUdvZ0FSQ01nSUNBQUVILy93TnhSUTBBSUFKQkdHb1Fob0NBZ0FBTUFnc2dBaWtDaEFFaEF5QUNLQUtBQVNFRklBSW9BbndoRENBQ0tBSjRJUVJCZ0FJaERVRUFJUWNEUUNBQUlBZHFJUWhCQWlFR0FrQUNRQUpBQTBBQ1FBSkFJQWNnQm1vaUNTQUJUdzBBSUFKQkxHb2dBa0VZYWlBSUlBWVFpSUNBZ0FBZ0FpMEFMZzBCSUFvaEJ5QUdRUUpHRFFNTUJRc0NRQ0FIUVFGcUlBRkpEUUFnQ0MwQUFDRUdEQVFMSUFKQk1HcEJFR29nQWtFWWFrRVFhaWdDQURZQ0FDQUNRVEJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd013SUFKQnhBQnFJQUpCTUdvZ0NDQUdFSWlBZ0lBQUFrQUNRQUpBSUFJdEFFWU5BQ0FHUVFKSERRRWdDQzBBQUNFR0RBSUxJQUl2QVVRaEJnd0ZDeUFDUWNnQWFrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkJ5QUJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd05JSUFKQjRBQnFJQUpCeUFCcUlBZ2dCa0YvYWhDSWdJQ0FBQ0FDTHdGZ0lRWUxJQVFnREVFQmRHb2dCanNCQUNBTVFRRnFJUXdnQ1NBQWFrRi9haTBBQUNFR0RBTUxJQVpCQVdvaEJpQUNMd0VzSVFvTUFBc0xJQWd0QUFBaEJ3d0JDeUFFSUF4QkFYUnFJQVk3QVFBZ0RFRUJhaUVHSUFKQkdHb1Fob0NBZ0FBTUFnc2dCQ0FNUVFGMGFpQUhPd0VBSUF4QkFXb2hEaUFKUVg5cUlRY0NRQ0FOUWYvL0EzRkIvdjhEUncwQUFrQWdBaWdDR0NJR1JRMEFJQVpCQUNBR1FYeHFLQUlBSWdnUW5JQ0FnQUFhSUFKQkFEWUNIQ0FDSUFpdFF0QUFma0xrQUlBK0FpQUxJQVFnRGtFQmRHcEIvdjhET3dFQUlBeEJBbW9oREVHQUFpRU5EQUVMSUFKQkdHb2dDQ0FHSUEwUWpZQ0FnQUFnRFVFQmFpRU5JQTRoREF3QUN3c2dBaUFETndJUUlBSWdCRFlDQkNBQ0lBWTJBZ2dnQWlBRk5nSU1JQVloQVFKQUlBVWdCa0VFYWlJSVR3MEFRUUFoQnlBQ1FRUnFJQVVnQ0JDT2dJQ0FBQkNNZ0lDQUFFSC8vd054RFFFZ0FpZ0NCQ0VFSUFJb0FnZ2hBUXNnQkNBQlFRRjBhaUlCSUFaQkFYUWlCenNCQUNBQlFRSnFJQVpCRDNZN0FRQWdBVUVFYWlBRlFRRjBPd0VBSUFGQkJtb2dCVUVQZGpzQkFDQUVJQWRxSVFjTElBSkJrQUZxSklDQWdJQUFJQWNMa3dJQkJuOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FDQUVSUTBBSUFJZ0FVRUFTRG9BQ0NBQlFYOU1EUUFnQUNnQ0RDQUZJQVJCQVhSQkFTQUJRUUYwUVFBZ0FFRVFhaWdDQUNnQ0JCR0NnSUNBQUFCQkFYRkZEUUFnQUNBQk5nSUlRUUFoQXd3QkN5QUNJQUFwQWd3M0F3QWdBa0VJYWlBQ0lBRVFnNENBZ0FBZ0FpOEJEQ0lERFFBZ0FpZ0NDQ0FBS0FJQUlBQW9BZ1JCQVhRUW5ZQ0FnQUFoQmtFQUlRTUNRQ0FFUVFGMFFRQWdCQnNpQjBVTkFDQUFLQUlNSUFWQkFpQUVHeUFIUVFGQkFDQUFRUkJxS0FJQUtBSUlFWUdBZ0lBQUFBc2dBQ0FCTmdJSUlBQWdCallDQUFzZ0FrRVFhaVNBZ0lDQUFDQURDNWdEQXdKL0FYNEdmeU9BZ0lDQUFFRVFheUlFSklDQWdJQUFBa0FnQUNnQ0JFVU5BQ0FBS0FJQUlRVWdBU0FDRUltQWdJQUFJUVlDUUFKQUlBVU5BRUVBSVFkQmZ5RUlEQUVMSUFWQmZHb29BZ0FpQjBGL2FpRUlDeUFGUVhocUlRa2dDQ0FHcDNFaENpQUdRam1JcHlFTEEwQWdCU0FLYWl3QUFDSU1SUTBCSUFkRkRRRUNRQ0FNUVg5S0RRQWdDeUFNUWY4QWNVY05BQ0FCSUFJZ0NTZ0NBQ0FLUVFOMGFpSU1LQUlBSUF3b0FnUVFpb0NBZ0FCQkFYRkZEUUFnQkVFQk9nQU1EQUlMSUFkQmYyb2hCeUFLUVFGcUlBaHhJUW9NQUFzTElBRWdBaENKZ0lDQUFDRUdRWDhoREFKQUlBQW9BZ0FpQjBVTkFDQUhRWHhxS0FJQVFYOXFJUXdMSUF3Z0JxZHhJUW9DUUFOQUlBY2dDbW9pQlN3QUFFRi9TZzBCSUFwQkFXb2dESEVoQ2d3QUN3c2dBQ0FBS0FJSVFYOXFOZ0lJSUFVZ0JrSTVpS2RCZ0FGeU9nQUFJQUFvQWdCQmVHb29BZ0FnQ2tFRGRHb2lCeUFDTmdJRUlBY2dBVFlDQUNBQUtBSUFRWFJxS0FJQUlBcEJBWFJxSUFNN0FRQWdBQ0FBS0FJRVFRRnFOZ0lFSUFSQkVHb2tnSUNBZ0FBTEpRRUJmd05BUVg4Z0FFRUJkaUFBYWtFSWFpSUNJQUlnQUVrYklnQWdBVWtOQUFzZ0FBcy9BUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNBQUtRSU1Od01JSUFGQkNHb2dBQ2dDQUNBQUtBSUlFSkNBZ0lBQUlBRkJFR29rZ0lDQWdBQUxOd0VCZndKQUlBSkJBM1JCQUNBQ0d5SURSUTBBSUFBb0FnQWdBVUVFSUFJYklBTkJBa0VBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3ZiQndNQmZ3RitDWDhqZ0lDQWdBQkJ3QUJySWdJa2dJQ0FnQUFqZ1lDQWdBQkJtSURBZ0FCcUtRTUFJUU1DUUFKQUFrQUNRQ0FCRFFCQnF0V3ExWG9oQkVFQUlRVkJBQ0VHREFFTElBSkJBRFlDSUNBQ1FxclZxdFVLTndJWUlBSWdBemNDSkNBQ1FRQkIvLzhERUk2QWdJQUFJZ2RCLy8vLy93RkxPZ0FzSUFkQmdJQ0FnQUpQRFFFQ1FBSkFJQWRCQTNRaUNBMEFRWHdoQ0F3QkN5QURweUFJUVFKQkFDQURRaUNJcHlnQ0FCR0FnSUNBQUFBaUNFVU5BZ3NnQWlBSE5nSWdJQUlnQ0RZQ0dFRUFJUWNDUUFOQUlBZEIrUDhmUmcwQklBZ2dCMnBDQURjQ0FDQUhRUWhxSVFjTUFBc0xJQUpCLy84RE5nSWNJQUlnQXpjQ09FRUFJUWNnQWtFQU5nSTBJQUpDcXRXcTFRbzNBaXdnQWtFc2FpQUJRUmhzRUpLQWdJQUFRZi8vQTNFTkFTQUNLUUk0SVFNZ0FpZ0NOQ0VGSUFJb0Fpd2lCQ0FDS0FJd0lnWnFJQUF0QUFBNkFBQWdDQ0FBTHdFQVFRTjBhaUlKUVFFMkFnUWdDU0FFTmdJQUlBWkJBV29oQ2tFQklRbEJnQUloQ3dOQUlBb2hCZ0pBQWtBQ1FBSkFJQWtnQVU4TkFBSkFJQUFnQ1VFQmRHb3ZBUUFpQ2tIKy93TkhEUUFnQ1VFQmFpSUpJQUZQRFFGQkFDRUhBa0FEUUNBSFFmai9IMFlOQVNBSUlBZHFRZ0EzQWdBZ0IwRUlhaUVIREFBTEN3SkFJQUFnQ1VFQmRHb3ZBUUFpQjBHQUFra05BQ0FDUWYvL0F6WUNIQXdJQ3lBRUlBWnFJQWM2QUFBZ0JrRUJhaUVLUVlBQ0lRc01CQXNnQ2tHQUFra05BUUpBSUFnZ0NrRURkR29pQ2lnQ0FDSU1EUUFnQkNBR2FpQUVJQWRxSWdvZ0JpQUhheUlNRUoyQWdJQUFHaUFFSUF3Z0Jtb2lER29nQ2kwQUFEb0FBQ0FNUVFGcUlRb01Bd3NnQkNBR2FpQU1JQW9vQWdRaUNoQ2RnSUNBQUJvZ0NpQUdhaUVLREFJTElBSkIvLzhETmdJY0lBSkJHR29RajRDQWdBQU1CQXNnQkNBR2FpQUtPZ0FBSUFaQkFXb2hDZ3NnQ0NBTFFmLy9BM0ZCQTNScUlnd2dCaUFIYTBFQmFqWUNCQ0FNSUFRZ0IybzJBZ0FnQzBFQmFpRUxDeUFKUVFGcUlRa2dCaUVIREFBTEN5QUNJQU0zQWhBZ0FpQUVOZ0lFSUFJZ0JqWUNDQ0FDSUFVMkFnd0NRQUpBSUFVZ0JrRUlhaUlJU1EwQUlBWWhCd3dCQzBFQUlRY2dBa0VFYWlBRklBZ1Fqb0NBZ0FBUWtvQ0FnQUJCLy84RGNRMENJQUlvQWdRaEJDQUNLQUlNSVFVZ0FpZ0NDQ0VIQ3lBRUlBZHFJZ2NnQmpvQUFDQUhRUWRxSUFWQkdIWTZBQUFnQjBFR2FpQUZRUkIyT2dBQUlBZEJCV29nQlVFSWRqb0FBQ0FIUVFScUlBVTZBQUFnQjBFRGFpQUdRUmgyT2dBQUlBZEJBbW9nQmtFUWRqb0FBQ0FIUVFGcUlBWkJDSFk2QUFBZ0JDQUdhaUVIREFFTElBSkJHR29RajRDQWdBQkJBQ0VIQ3lBQ1FjQUFhaVNBZ0lDQUFDQUhDOW9CQVFWL0k0Q0FnSUFBUVNCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBQ1FDQUVSUTBBUVFBTkFDQUFLQUlNSUFVZ0JFRUFJQUZCQUNBQVFSQnFLQUlBS0FJRUVZS0FnSUFBQUVFQmNVVU5BQ0FBSUFFMkFnZ01BUXNnQWlBQVFReHFJZ1lwQWdBM0F4QWdBa0VZYWlBQ1FSQnFJQUVRZ1lDQWdBQWdBaThCSENJRERRRWdBaWdDR0NBQUtBSUFJQUFvQWdRUW5ZQ0FnQUFoQXlBR0lBVWdCQkNGZ0lDQUFDQUFJQUUyQWdnZ0FDQUROZ0lBQzBFQUlRTUxJQUpCSUdva2dJQ0FnQUFnQXd2U0FnTUdmd0YrQjM4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNBQUtBSUVJUVFnQUNnQ0FDRUZRUUFoQmlBQ1FmOEJjU0VIQTM4Q1FBSkFBa0FnQmlBRVJ3MEFRWDhoQ0F3QkN3SkFJQVVnQmtFRWRHb2lBa0VJYWlrREFDSUpRZ0JURFFBZ0Fpa0RBSHNnQ1h0OHB5QUJTUTBDQ3lBR1FRZDBJZ2hCZ0FGcUlRb0RRQ0FJSUFwUERRSWdDQ0FBS1FJQUlnbENHWWluUVlCL2NTSUNJQWdnQWtzYklnc2dDR3NoRENBSnAwRUlJQWxDSUlpbkd5RU5JQWhCRUhSb0lRNUJBQ0VDQWtBRFFBSkFJQXdnQWtjTkFDQUxJUThNQWd0Qi93RWdDQ0FDYWlJUFFRZHhJaEJCQjNOMlFRRWdFSFJ4SUEwZ0QwRURkbW90QUFCeFJRMEJJQUpCQVdvaUFpQUJTUTBBSUE0Z0Iwa05BQXNnQXlBSk53TUlJQU5CQ0dvZ0NDQUJRUUFRbElDQWdBQU1BZ3NnRDBFQmFpRUlEQUFMQ3lBRFFSQnFKSUNBZ0lBQUlBZ1BDeUFHUVFGcUlRWU1BQXNMVkFFQmZ5QURRUUZ4SVFRQ1FBTkFJQUpGRFFFZ0FDZ0NBRUVJSUFBb0FnUWJJQUZCQTNacUlnTWdBeTBBQUVGK0lBRkJCM0VpQTNkeElBUWdBM1J5T2dBQUlBRkJBV29oQVNBQ1FYOXFJUUlNQUFzTEM5c0JBUU4vSTRDQWdJQUFRUkJySWdJa2dJQ0FnQUFDUUNBQVFZQVFUdzBBSTRHQWdJQUFRYWlBd0lBQWFpQUFJQUZCZ0JBZ0FVR0FFRWtiSUFCckVKYUFnSUFBQ3dKQUlBRkJnQkJORFFBQ1FDT0JnSUNBQUVHZ2dNQ0FBR29vQWdRTkFDT0JnSUNBQUVHZ2dNQ0FBR29pQTBHQUlEWUNCQ0FESUFGQmYyb2lBVUVRZENJRU5nSUFJQVJCQUVHQWdBUVFuSUNBZ0FBYUN5QUNJNEdBZ0lBQVFhQ0F3SUFBYWlrREFEY0RDQ0FDUVFocUlBQkJnQkFnQUVHQUVFc2JJZ0JCZ0hCcUlBRWdBR3NRbG9DQWdBQUxJQUpCRUdva2dJQ0FnQUFMT3dFQmZ5T0FnSUNBQUVFUWF5SURKSUNBZ0lBQUlBTWdBQ2tDQURjRENDQURRUWhxSUFFZ0FrRUJFSlNBZ0lBQUlBTkJFR29rZ0lDQWdBQUx2UUVCQkg5QkFDRUVBa0FnQVVHQmdIeFBEUUFDUUNPQmdJQ0FBRUdvZ01DQUFHb2dBVUgvL3dOcVFSQjJJZ0VnQWhDVGdJQ0FBQ0lFUVg5SERRQUNRQ09CZ0lDQUFFR2dnTUNBQUdvZ0FTQUNFSk9BZ0lBQUlnUkJmMFlOQUNBRVFZQVFhaUVFREFFTFFRQWhCRUVCSUFKMElnVS9BQ0lHUVJCMElnSnFRWDlxUVFBZ0JXdHhJZ1VnQW10QkVIWWlCeUFCYWtBQVFRRklEUUVnQnlBR2FpRUVJQVVnQWtZTkFDQUdJQVFRbFlDQWdBQUxJQVJCRUhRaEJBc2dCQXRQQVFGL0FrQWdBa0gvL3dOcUlnWkJnSUI4Y1NBRVR5SUNSUTBBSUFSQi8vOERha0VRZGlJRUlBWkJFSFlpQmtZTkFDQUVJQUZCLy84RGFrRVFkaUlCYWlBQklBWnFFSldBZ0lBQUN5QUNDeUVBSUFGQi8vOERha0VRZGlJQklBRWdBa0gvL3dOcVFSQjJhaENWZ0lDQUFBcytBQ0FCSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0JDTDRnZ0FZVWdBSVZDNmRyZzJZN0IrdStkZjM0aUFVSXZpQ0FCaFVMcDJ1RFpqc0g2NzUxL2ZndENBUUorSUFBZ0FTa0FBQ0FDZkNJQ0lBRXBBQWg4SUFFcEFCQjhJZ1FnQVNrQUdDSUZmRGNEQUNBQUlBUkNGSWtnQW53Z0JTQUNJQU44ZkVJcmlYdzNBd2dMTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgZT1hd2FpdCBrKCksQj1lLmV4cG9ydHM7ZnVuY3Rpb24gaChJKXtjb25zdHtwdHI6ZyxsZW5ndGg6QX09RyhJLEIpLEM9Qi5jb21wcmVzcyhnLEEpO0IuZnJlZShnLEEpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dChCLm1lbW9yeSxDKSxhPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksRD13KGEpO3JldHVybiBCLmZyZWUoUSxpKSxEfWZ1bmN0aW9uIG4oSSl7Y29uc3QgZz1CLmFsbG9jVWludDE2KEkubGVuZ3RoKSxBPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCk7Zm9yKGxldCBvPTA7bzxJLmxlbmd0aDtvKyspQVtvXT1JLmNoYXJDb2RlQXQobyk7Y29uc3QgQz1CLmRlY29tcHJlc3MoZyxJLmxlbmd0aCk7Qi5mcmVlKGcsMipJLmxlbmd0aCk7Y29uc3R7c3RhcnQ6USxlbmQ6RSxjYXBhY2l0eTppfT10KEIubWVtb3J5LEMpLGE9bmV3IFVpbnQ4QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLEQ9bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGEpO3JldHVybiBCLmZyZWUoUSxpKSxEfXNlbGYub25tZXNzYWdlPWZ1bmN0aW9uKEkpe2NvbnN0e2NvbW1hbmQ6ZyxpZDpBLGRhdGE6Q309SS5kYXRhO3N3aXRjaChnKXtjYXNlImRlY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6bihDKX0pO2JyZWFrfWNhc2UiY29tcHJlc3MiOntzZWxmLnBvc3RNZXNzYWdlKHtpZDpBLGRhdGE6aChDKX0pO2JyZWFrfX19fSkoKTs=", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(d)], { type: "text/javascript;charset=utf-8" });
|
|
2
|
+
function Z(Q) {
|
|
3
|
+
let U;
|
|
4
|
+
try {
|
|
5
|
+
if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
|
|
6
|
+
throw "";
|
|
7
|
+
const F = new Worker(U, {
|
|
8
|
+
type: "module",
|
|
9
|
+
name: Q?.name
|
|
10
|
+
});
|
|
11
|
+
return F.addEventListener("error", () => {
|
|
12
|
+
(window.URL || window.webkitURL).revokeObjectURL(U);
|
|
13
|
+
}), F;
|
|
14
|
+
} catch {
|
|
15
|
+
return new Worker(
|
|
16
|
+
"data:application/javascript;base64," + d,
|
|
17
|
+
{
|
|
18
|
+
type: "module",
|
|
19
|
+
name: Q?.name
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const R = new Z();
|
|
25
|
+
let J = 0;
|
|
26
|
+
const B = {};
|
|
27
|
+
R.onmessage = function(Q) {
|
|
28
|
+
const U = Q.data.id;
|
|
29
|
+
B[U](Q.data.data), delete B[U];
|
|
30
|
+
};
|
|
31
|
+
async function W(Q) {
|
|
32
|
+
const U = J++;
|
|
33
|
+
return new Promise((F) => {
|
|
34
|
+
B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async function V(Q) {
|
|
38
|
+
const U = J++;
|
|
39
|
+
return new Promise((F) => {
|
|
40
|
+
B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
W as compress,
|
|
45
|
+
V as decompress
|
|
46
|
+
};
|
package/dist/smol-string.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function compress(str: string): string;
|
|
2
|
-
export declare function decompress(compressedStr: string): string;
|
|
1
|
+
export declare function compress(str: string): string;
|
|
2
|
+
export declare function decompress(compressedStr: string): string;
|
package/dist/smol-string.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { i as
|
|
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
|
|
4
|
-
const { ptr: g, length: Q } =
|
|
5
|
-
A.free(g, Q);
|
|
6
|
-
const { start: C, end: i, capacity:
|
|
7
|
-
return A.free(C,
|
|
8
|
-
}
|
|
9
|
-
function
|
|
10
|
-
const g = A.allocUint16(I.length), Q = new Uint16Array(
|
|
11
|
-
A.memory.buffer,
|
|
12
|
-
g,
|
|
13
|
-
I.length
|
|
14
|
-
);
|
|
15
|
-
for (let B = 0; B < I.length; B++)
|
|
16
|
-
Q[B] = I.charCodeAt(B);
|
|
17
|
-
const E = A.decompress(
|
|
18
|
-
g,
|
|
19
|
-
I.length
|
|
20
|
-
);
|
|
21
|
-
A.free(g, 2 * I.length);
|
|
22
|
-
const { start: C, end: i, capacity:
|
|
23
|
-
return A.free(C,
|
|
24
|
-
}
|
|
25
|
-
export {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
1
|
+
import { i as w, c as a, e as k, U as h } from "./wasm-helper-C1VfMvbY.js";
|
|
2
|
+
const J = (I) => w(I, "data:application/wasm;base64,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"), F = await J(), A = F.exports;
|
|
3
|
+
function f(I) {
|
|
4
|
+
const { ptr: g, length: Q } = a(I, A), E = A.compress(g, Q);
|
|
5
|
+
A.free(g, Q);
|
|
6
|
+
const { start: C, end: i, capacity: D } = k(A.memory, E), o = new Uint16Array(A.memory.buffer.slice(C, i)), G = h(o);
|
|
7
|
+
return A.free(C, D), G;
|
|
8
|
+
}
|
|
9
|
+
function s(I) {
|
|
10
|
+
const g = A.allocUint16(I.length), Q = new Uint16Array(
|
|
11
|
+
A.memory.buffer,
|
|
12
|
+
g,
|
|
13
|
+
I.length
|
|
14
|
+
);
|
|
15
|
+
for (let B = 0; B < I.length; B++)
|
|
16
|
+
Q[B] = I.charCodeAt(B);
|
|
17
|
+
const E = A.decompress(
|
|
18
|
+
g,
|
|
19
|
+
I.length
|
|
20
|
+
);
|
|
21
|
+
A.free(g, 2 * I.length);
|
|
22
|
+
const { start: C, end: i, capacity: D } = k(A.memory, E), o = new Uint8Array(A.memory.buffer.slice(C, i)), G = new TextDecoder().decode(o);
|
|
23
|
+
return A.free(C, D), G;
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
f as compress,
|
|
27
|
+
s as decompress
|
|
28
|
+
};
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
function o(n, e) {
|
|
2
|
-
const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
|
|
3
|
-
return new Uint8Array(
|
|
4
|
-
e.memory.buffer,
|
|
5
|
-
a,
|
|
6
|
-
t.length
|
|
7
|
-
).set(t), { ptr: a, length: t.length };
|
|
8
|
-
}
|
|
9
|
-
function f(n) {
|
|
10
|
-
const e = new Array(n.length);
|
|
11
|
-
for (let t = 0; t < n.length; t++)
|
|
12
|
-
e[t] = String.fromCharCode(n[t]);
|
|
13
|
-
return e.join("");
|
|
14
|
-
}
|
|
15
|
-
function c(n, e) {
|
|
16
|
-
const t = new Uint32Array(
|
|
17
|
-
n.buffer.slice(e, e + 8)
|
|
18
|
-
), a = t.at(0), r = t.at(1);
|
|
19
|
-
return {
|
|
20
|
-
start: e - a,
|
|
21
|
-
end: e,
|
|
22
|
-
capacity: r
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
const l = async (n = {}, e) => {
|
|
26
|
-
let t;
|
|
27
|
-
if (e.startsWith("data:")) {
|
|
28
|
-
const a = e.replace(/^data:.*?base64,/, "");
|
|
29
|
-
let r;
|
|
30
|
-
if (typeof Buffer == "function" && typeof Buffer.from == "function")
|
|
31
|
-
r = Buffer.from(a, "base64");
|
|
32
|
-
else if (typeof atob == "function") {
|
|
33
|
-
const s = atob(a);
|
|
34
|
-
r = new Uint8Array(s.length);
|
|
35
|
-
for (let i = 0; i < s.length; i++)
|
|
36
|
-
r[i] = s.charCodeAt(i);
|
|
37
|
-
} else
|
|
38
|
-
throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
|
|
39
|
-
t = await WebAssembly.instantiate(r, n);
|
|
40
|
-
} else {
|
|
41
|
-
const a = await fetch(e), r = a.headers.get("Content-Type") || "";
|
|
42
|
-
if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
|
|
43
|
-
t = await WebAssembly.instantiateStreaming(a, n);
|
|
44
|
-
else {
|
|
45
|
-
const s = await a.arrayBuffer();
|
|
46
|
-
t = await WebAssembly.instantiate(s, n);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return t.instance;
|
|
50
|
-
};
|
|
51
|
-
export {
|
|
52
|
-
f as U,
|
|
53
|
-
o as c,
|
|
54
|
-
c as e,
|
|
55
|
-
l as i
|
|
56
|
-
};
|
|
1
|
+
function o(n, e) {
|
|
2
|
+
const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
|
|
3
|
+
return new Uint8Array(
|
|
4
|
+
e.memory.buffer,
|
|
5
|
+
a,
|
|
6
|
+
t.length
|
|
7
|
+
).set(t), { ptr: a, length: t.length };
|
|
8
|
+
}
|
|
9
|
+
function f(n) {
|
|
10
|
+
const e = new Array(n.length);
|
|
11
|
+
for (let t = 0; t < n.length; t++)
|
|
12
|
+
e[t] = String.fromCharCode(n[t]);
|
|
13
|
+
return e.join("");
|
|
14
|
+
}
|
|
15
|
+
function c(n, e) {
|
|
16
|
+
const t = new Uint32Array(
|
|
17
|
+
n.buffer.slice(e, e + 8)
|
|
18
|
+
), a = t.at(0), r = t.at(1);
|
|
19
|
+
return {
|
|
20
|
+
start: e - a,
|
|
21
|
+
end: e,
|
|
22
|
+
capacity: r
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const l = async (n = {}, e) => {
|
|
26
|
+
let t;
|
|
27
|
+
if (e.startsWith("data:")) {
|
|
28
|
+
const a = e.replace(/^data:.*?base64,/, "");
|
|
29
|
+
let r;
|
|
30
|
+
if (typeof Buffer == "function" && typeof Buffer.from == "function")
|
|
31
|
+
r = Buffer.from(a, "base64");
|
|
32
|
+
else if (typeof atob == "function") {
|
|
33
|
+
const s = atob(a);
|
|
34
|
+
r = new Uint8Array(s.length);
|
|
35
|
+
for (let i = 0; i < s.length; i++)
|
|
36
|
+
r[i] = s.charCodeAt(i);
|
|
37
|
+
} else
|
|
38
|
+
throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
|
|
39
|
+
t = await WebAssembly.instantiate(r, n);
|
|
40
|
+
} else {
|
|
41
|
+
const a = await fetch(e), r = a.headers.get("Content-Type") || "";
|
|
42
|
+
if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
|
|
43
|
+
t = await WebAssembly.instantiateStreaming(a, n);
|
|
44
|
+
else {
|
|
45
|
+
const s = await a.arrayBuffer();
|
|
46
|
+
t = await WebAssembly.instantiate(s, n);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return t.instance;
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
f as U,
|
|
53
|
+
o as c,
|
|
54
|
+
c as e,
|
|
55
|
+
l as i
|
|
56
|
+
};
|
package/dist/worker-packed.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type Message = {
|
|
2
|
-
command: string;
|
|
3
|
-
id: number;
|
|
4
|
-
data: string;
|
|
5
|
-
};
|
|
1
|
+
export type Message = {
|
|
2
|
+
command: string;
|
|
3
|
+
id: number;
|
|
4
|
+
data: string;
|
|
5
|
+
};
|
package/dist/worker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type Message = {
|
|
2
|
-
command: string;
|
|
3
|
-
id: number;
|
|
4
|
-
data: string;
|
|
5
|
-
};
|
|
1
|
+
export type Message = {
|
|
2
|
+
command: string;
|
|
3
|
+
id: number;
|
|
4
|
+
data: string;
|
|
5
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "smol-string",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0-beta",
|
|
4
4
|
"description": "Compression for browser localStorage",
|
|
5
5
|
"author": "Senryoku <maretverdant@gmail.com>",
|
|
6
6
|
"repository": {
|
|
@@ -52,8 +52,9 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@vitest/browser": "^0.34.6",
|
|
55
|
+
"smol-string": "^0.0.2-beta",
|
|
55
56
|
"typescript": "^5.2.2",
|
|
56
|
-
"vite": "^
|
|
57
|
+
"vite": "^5.0.0",
|
|
57
58
|
"vite-plugin-dts": "^3.6.2",
|
|
58
59
|
"vite-plugin-top-level-await": "^1.3.1",
|
|
59
60
|
"vitest": "^0.34.6",
|
package/src/module-packed.wasm
CHANGED
|
Binary file
|
package/src/module.wasm
CHANGED
|
Binary file
|
package/vite.config.ts
CHANGED
|
@@ -27,14 +27,16 @@ export default defineConfig({
|
|
|
27
27
|
},
|
|
28
28
|
worker: {
|
|
29
29
|
format: "es",
|
|
30
|
-
plugins
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
plugins() {
|
|
31
|
+
return [
|
|
32
|
+
topLevelAwait({
|
|
33
|
+
// The export name of top-level await promise for each chunk module
|
|
34
|
+
promiseExportName: "__tla",
|
|
35
|
+
// The function to generate import names of top-level await promise in each chunk module
|
|
36
|
+
promiseImportName: (i) => `__tla_${i}`,
|
|
37
|
+
}),
|
|
38
|
+
];
|
|
39
|
+
},
|
|
38
40
|
},
|
|
39
41
|
plugins: [
|
|
40
42
|
dts(), // emit TS declaration files
|
package/test/basic.test.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
import {
|
|
7
|
-
compressPacked,
|
|
8
|
-
decompressPacked,
|
|
9
|
-
} from "../dist/smol-string-packed.js";
|
|
10
|
-
|
|
11
|
-
describe("compress and decompress", () => {
|
|
12
|
-
for (const { name, input } of TestData) {
|
|
13
|
-
test(name, async () => {
|
|
14
|
-
const compressed = compress(input);
|
|
15
|
-
const decompressed = 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 = compressPacked(input);
|
|
25
|
-
const decompressed = decompressPacked(compressed);
|
|
26
|
-
expect(decompressed).toBe(input);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
});
|
package/test/common.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const json_512kb = import("../../test/data/512KB.json");
|
|
2
|
-
export const json_1mb = import("../../test/data/1MB.json");
|
|
3
|
-
export const rw_medium = import("../../test/data/rw_medium.json");
|
|
4
|
-
export const rw_large = import("../../test/data/rw_large.json");
|
|
5
|
-
|
|
6
|
-
export const TestData = [
|
|
7
|
-
{
|
|
8
|
-
name: "Simple String",
|
|
9
|
-
input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum",
|
|
10
|
-
},
|
|
11
|
-
{ name: "json_512kb", input: JSON.stringify(await json_512kb) },
|
|
12
|
-
{ name: "json_1mb", input: JSON.stringify(await json_1mb) },
|
|
13
|
-
{ name: "rw_medium", input: JSON.stringify(await rw_medium) },
|
|
14
|
-
{ name: "rw_large", input: JSON.stringify(await rw_large) },
|
|
15
|
-
];
|
package/test/json.bench.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { describe, bench, expect, test, beforeAll } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
compressPacked,
|
|
9
|
-
decompressPacked,
|
|
10
|
-
} from "../dist/smol-string-packed.js";
|
|
11
|
-
|
|
12
|
-
const options = { iterations: 20 };
|
|
13
|
-
|
|
14
|
-
describe.each(TestData)("Compression: $name", ({ name, input }) => {
|
|
15
|
-
bench(
|
|
16
|
-
"compress",
|
|
17
|
-
() => {
|
|
18
|
-
compress(input);
|
|
19
|
-
},
|
|
20
|
-
options
|
|
21
|
-
);
|
|
22
|
-
bench(
|
|
23
|
-
"compressPacked",
|
|
24
|
-
() => {
|
|
25
|
-
compressPacked(input);
|
|
26
|
-
},
|
|
27
|
-
options
|
|
28
|
-
);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
describe.each(TestData)("Decompression: $name", ({ name, input }) => {
|
|
32
|
-
let compressed = compress(input);
|
|
33
|
-
let compressedPacked = compressPacked(input);
|
|
34
|
-
|
|
35
|
-
bench(
|
|
36
|
-
"decompress",
|
|
37
|
-
() => {
|
|
38
|
-
const decompressed = decompress(compressed);
|
|
39
|
-
expect(decompressed).toBe(input);
|
|
40
|
-
},
|
|
41
|
-
options
|
|
42
|
-
);
|
|
43
|
-
bench(
|
|
44
|
-
"decompressPacked",
|
|
45
|
-
() => {
|
|
46
|
-
const decompressed = decompressPacked(compressedPacked);
|
|
47
|
-
expect(decompressed).toBe(input);
|
|
48
|
-
},
|
|
49
|
-
options
|
|
50
|
-
);
|
|
51
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
import {
|
|
7
|
-
compressPacked,
|
|
8
|
-
decompressPacked,
|
|
9
|
-
} from "../dist/smol-string-packed.js";
|
|
10
|
-
|
|
11
|
-
describe("compress and decompress via localStorage", async () => {
|
|
12
|
-
for (const { name, input } of TestData) {
|
|
13
|
-
test(name, async () => {
|
|
14
|
-
const compressed = await compress(input);
|
|
15
|
-
|
|
16
|
-
localStorage.setItem("compressed", compressed);
|
|
17
|
-
const restored = localStorage.getItem("compressed")!;
|
|
18
|
-
|
|
19
|
-
const decompressed = await decompress(restored);
|
|
20
|
-
|
|
21
|
-
expect(decompressed).toBe(input);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
describe("compressPacked and decompressPacked via localStorage", async () => {
|
|
27
|
-
for (const { name, input } of TestData) {
|
|
28
|
-
test(name, async () => {
|
|
29
|
-
const compressed = await compressPacked(input);
|
|
30
|
-
|
|
31
|
-
localStorage.setItem("compressed", compressed);
|
|
32
|
-
const restored = localStorage.getItem("compressed")!;
|
|
33
|
-
|
|
34
|
-
const decompressed = await decompressPacked(restored);
|
|
35
|
-
|
|
36
|
-
expect(decompressed).toBe(input);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
|
|
3
|
-
import { TestData } from "./common.js";
|
|
4
|
-
|
|
5
|
-
import { compress, decompress } from "../dist/smol-string.js";
|
|
6
|
-
import {
|
|
7
|
-
compressPacked,
|
|
8
|
-
decompressPacked,
|
|
9
|
-
} from "../dist/smol-string-packed.js";
|
|
10
|
-
|
|
11
|
-
describe("compress and decompress via sessionStorage", () => {
|
|
12
|
-
for (const { name, input } of TestData) {
|
|
13
|
-
test(name, async () => {
|
|
14
|
-
const compressed = compress(input);
|
|
15
|
-
|
|
16
|
-
sessionStorage.setItem("compressed", compressed);
|
|
17
|
-
const restored = sessionStorage.getItem("compressed")!;
|
|
18
|
-
|
|
19
|
-
const decompressed = decompress(restored);
|
|
20
|
-
|
|
21
|
-
expect(decompressed).toBe(input);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
describe("compressPacked and decompressPacked via sessionStorage", () => {
|
|
27
|
-
for (const { name, input } of TestData) {
|
|
28
|
-
test(name, async () => {
|
|
29
|
-
const compressed = compressPacked(input);
|
|
30
|
-
|
|
31
|
-
sessionStorage.setItem("compressed", compressed);
|
|
32
|
-
const restored = sessionStorage.getItem("compressed")!;
|
|
33
|
-
|
|
34
|
-
const decompressed = decompressPacked(restored);
|
|
35
|
-
|
|
36
|
-
expect(decompressed).toBe(input);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
});
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
});
|