smol-string 0.0.2 → 0.1.1-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 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
+ ```
@@ -1,30 +1,30 @@
1
- import { i as J, c as h, e as k, U as G } from "./wasm-helper-57a16a1d.js";
2
- const N = (A) => J(A, "data:application/wasm;base64,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KQAAIASFQgAgBUEQaikAAELjjaPkid6a3o5/hUIAEJ2AgIAAIAJBIGogBUEoaikAACAHhUIAIAVBIGopAABCw5ndqce52czYAIVCABCdgICAACACQcAAakEIaikDACACKQNAhSEGIAJBIGpBCGopAwAgAikDIIUhByACQTBqQQhqKQMAIAIpAzCFIQQgCCEFDAALC0IAIQZCrJri06PS8PofIQcCQCABDQBCACEEDAMLIAAgAUEBdmoxAABCCIYgADEAAEIQhoQgASAAakF/ajEAAIQhBAwCCyAEIAeFIAaFIQcLIAAgBWohCSABIAVrIQgCQANAIANBEGoiBSAITw0BIAJB0ABqIAkgA2oiA0EIaikAACAHhUIAIAMpAABC29HQhZra34FnhUIAEJ2AgIAAIAJB0ABqQQhqKQMAIAIpA1CFIQcgBSEDDAALCyABIABqIgNBeGopAAAhBiADQXBqKQAAIQQLIAJBEGogBELb0dCFmtrfgWeFQgAgBiAHhUIAEJ2AgIAAIAIgAkEQakEIaikDAELb0dCFmtrfgWeFQgAgAa0gAikDEIVCr8j1xcesh7ugf4VCABCdgICAACACQQhqKQMAIQcgAikDACEEIAJB4ABqJICAgIAAIAcgBIULWAECf0EAIQQCQCABIANHDQACQCAAIAJHDQBBAQ8LA0AgAUUhBCABRQ0BIAFBf2ohASACLQAAIQMgAC0AACEFIABBAWohACACQQFqIQIgBSADRg0ACwsgBAv8FAQBfwF+H38BfiOAgICAAEHgAWsiAiSAgICAAAJAAkACQCABDQAjgYCAgABBmIDAgABqKQMAIQNBqtWq1XohBEEAIQVBCSEGQQAhB0EAIQFBACEIQQAhCQwBCyACQSBqQQhqIgpBADYCACACQgA3AyAgAiOBgICAAEGYgMCAAGopAwAiAzcCLCACIAM3ArQBIAJBADYCsAEgAkKq1arVCjcCqAECQAJAAkAgAkGoAWogARCNgICAAEH//wNxDQAgAkEgakEMaiELIAJBOGpBEGogAkGoAWpBEGooAgA2AgAgAkE4akEIaiACQagBakEIaiIMKQIANwMAIAIgAikCqAE3AzggAkEJOwFUIAJCADcCTCADQiCIpyENIAOnIQ5BgAIhD0EAIQgDQCAAIAhqIQdBACEEAkACQAJAAkACQAJAAkACQAJA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"), w = await N(), I = w.exports;
3
- function c(A) {
4
- const { ptr: g, length: C } = h(A, I), D = I.compressPacked(g, C);
5
- I.free(g, C);
6
- const { start: Q, end: B, capacity: i } = k(I.memory, D), o = new Uint16Array(I.memory.buffer.slice(Q, B)), F = G(o);
7
- return I.free(Q, i), F;
1
+ import { i as G, c as J, e as k, U as h } from "./wasm-helper-C1VfMvbY.js";
2
+ const F = (A) => G(A, "data:application/wasm;base64,AGFzbQEAAAABWw5gBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAn9/AX9gAX8AYAR/f39/AGACf38BfmADf39/AX9gAn5+AX5gBH9/fn4AYAF9AX0DJyYDBAMFBAMGBwUICQAFBgYKCAYHBAoABAQGCggFBAACAQQLDA0KCgQFAXABBAQFAwEAEQYOAn8BQYCAwAALfwBBAAsHUAYGbWVtb3J5AgAKYWxsb2NVaW50OAAAC2FsbG9jVWludDE2AAIEZnJlZQADDmNvbXByZXNzUGFja2VkAA0QZGVjb21wcmVzc1BhY2tlZAAUCQkBAEEBCwMdHh8K1ksmXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIGAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwtxAgF/AX4jgICAgABBEGsiAySAgICAAEKAgICAECEEAkBBAUUNAAJAIAINAEL/////DyEEDAELIAEoAgAgAkEAQQAgASgCBCgCABGAgICAAAAiAkWtQiCGIAKthCEECyAAIAQ3AgAgA0EQaiSAgICAAAuGAQICfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAQQBIOgAMI4GAgIAAIQICQCAAQX9MDQACQAJAIABBAXQiAA0AQX4hAAwBCyACQZiAwIAAaikDACIDpyAAQQFBACADQiCIpygCABGAgICAAAAiAEUNAQsgAUEQaiSAgICAACAADwsDfwAMAAsLGQAjgYCAgABBmIDAgABqIAAgARCEgICAAAs4AQF/AkAgAkEAIAIbIgNFDQAgACgCACABQarVqtV6IAIbIANBAEEAIAAoAgQoAggRgYCAgAAACwtBAQJ/AkAgACAAKAIEQQFqEIaAgIAAIgFB//8DcQ0AIAAgACgCBCICQQFqNgIEIAAoAgAgAkEDdGpCADcDAAsgAQstAQJ/QQAhAgJAIAAoAggiAyABTw0AIAAgAyABEJGAgIAAEI6AgIAAIQILIAILDwAgACAAQQxqEIiAgIAAC2UBA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgBBDWxBD2pBfHEiAkEAIAIbIgRFDQAgASgCACADQQQgAhsgBEECQQAgASgCBCgCCBGBgICAAAALIABBADYCCCAAQQA2AgALC4EDBAR/AX4EfwF+I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCKgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIuAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBCACEIQgAhDQwBCyAEIAZBdGooAgAgBygCAEECdGoiAUECai0AAEEPcToAAiAEIAEvAQA7AQAgBDMBACAEMQACQhCGhCEIQoCAgIAQIQ0LIAAgDSAIhDcCACAEQRBqJICAgIAAC6ELAgF/C34jgICAgABBwABrIgIkgICAgAAgAa0hAwJAAkAgAUEgSw0AAkAgAUERTw0AAkAgAUEISQ0AIAApAABCz4DB/LLH2vCaf3wiBEIniSABIABqQXhqKQAAIgV8IANCAYZCz4DB/LLH2vCaf3wiBn4iAyADIAVCG4kgBn4gBHyFIAZ+IgRCL4iFIASFIAZ+IgRCL4ggBIUgBn4hBgwDCwJAIAFBBEkNACAANQAAQgOGIAN8IAEgAGpBfGo1AAAiBIUgA0IBhkLPgMH8ssfa8Jp/fCIGfiIFQi+IIASFIAWFIAZ+IgRCL4ggBIUgBn4hBgwDCwJAIAENAELPgMH8ssfa8Jp/IQYMAwsgASAAakF/ai0AAEECdCABaq1Cp+KsvsmL8tJDfiAAIAFBAXZqMQAAQgiGIAAxAACEQs+Awfyyx9rwmn9+hSIGQi+IIAaFQs+Awfyyx9rwmn9+IQYMAgsgACkACCIEQs+Awfyyx9rwmn98Qi6JIAApAABC8+Tj9PvNrcm0f34iBXwgASAAaiIAQXhqKQAAIANCAYZCz4DB/LLH2vCaf3wiBn4iA3wiByAHIANCIokgBSAEfEIViXwgAEFwaikAAELPgMH8ssfa8Jp/fnyFIAZ+IgRCL4iFIASFIAZ+IgRCL4ggBIUgBn4hBgwBCwJAIAFBwQBJDQAgASAAaiIBQVhqKQAAIQcgAUFIaikAACEGIAFBcGopAAAhCCACIAFBQGogAyABQVBqKQAAIAN8IAFBaGopAAAQoYCAgAAiCRCigICAACACKQMIIQQgAikDACEFIAJBEGogAUFgaiAGIAh8IgZC8+Tj9PvNrcm0f3wgBxCigICAAEIAIANCf3xCQIN9IQogACkAACAHQvPk4/T7za3JtH9+fCEIIAIpAxghAyACKQMQIQcDQCAAKQAwIQsgACkAKCEMIAJBIGogACAEQvPk4/T7za3JtH9+IAYgBXwgCHwgACkACHxCG4lC8+Tj9PvNrcm0f34gA4UiDSAHfBCigICAACAMIAV8IQwgBiAEfCEGIAIpAyghBCACKQMgIQUgAkEwaiAAQSBqIAkgB3xCH4lC8+Tj9PvNrcm0f34iCCADfCAAKQAQIAwgBiALfEIWiULz5OP0+82tybR/fnwiBnwQooCAgAAgAEHAAGohACACKQM4IQMgAikDMCEHIA0hCSAKQsAAfCIKQgBSDQALIAZCL4ggBoVC8+Tj9PvNrcm0f34gDXwgBSAHEKGAgIAAfCAEIAMQoYCAgAAgCHwQoYCAgAAhBgwBCyABIABqIgFBcGopAAAgA0IBhkLPgMH8ssfa8Jp/fCIEfiIFIAFBYGopAAAiA3wgACkAGEIJfiIHIAApABBCz4DB/LLH2vCaf358IgggAUFoaikAACIGfCIJIAApAAgiCnwgCSABQXhqKQAAIg18IAhCFokgBnwiCHwgByANIAApAABCz4DB/LLH2vCaf358IgkgA4V8QgF8IgMgBXwgCUIViSAKQiKJIAZ8Qgl+fCADfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfiIGQjiGIAZCgP4Dg0IohoQgBkKAgPwHg0IYhiAGQoCAgPgPg0IIhoSEIAZCCIhCgICA+A+DIAZCGIhCgID8B4OEIAZCKIhCgP4DgyAGQjiIhISEfCAEfnwiBkIviCAGhSAEfiAIfCEGCyACQcAAaiSAgICAACAGC6wBAQV/QQAhBAJAIAEgA0cNACABQQJ2QQFqIQUgAiEDIAAhBgJAA0AgBUF/aiIFRQ0BIAMoAAAhByAGKAAAIQggA0EEaiEDIAZBBGohBiAIIAdGDQAMAgsLIAFBA3EhAyAAIAFBfHEiBWohBiACIAVqIQUDQCADRSEEIANFDQEgA0F/aiEDIAUtAAAhByAGLQAAIQggBkEBaiEGIAVBAWohBSAIIAdGDQALCyAEC7ECAQN/AkAgAC0AHCICQRRPDQAgACgCGEGAAmpBfyACdEF/c0kNACAAIAJBAWoiAjoAHAsCQAJAIAJB/wFxQcAAIAAtAB0iA2siBEH/AXFLDQAgACgCBEEDdCAAKAIAakF4aiIEIAQpAwAgAa1C//8/g0EAIAIgA2prQT9xrYaENwMAIAAtABwgAC0AHWohAgwBCwJAIANB/wFxQcAARg0AIAAoAgRBA3QgACgCAGpBeGoiAyADKQMAIAFB//8/cSACIARrQf8BcXathDcDACAALQAcIQILIAAgACgCBCIDQQFqNgIEIAAoAgAgA0EDdGogAa1C//8/gyAEIAJrQT9xrYY3AwAgAC0AHCAEayECCyAAIAI6AB0gACAAKAIUQQFqNgIUIAAgACgCGEEBajYCGAvGDwQCfwF+AX0KfyOAgICAAEGQAmsiAiSAgICAAAJAAkACQCABDQAgAkEJOwHkASACQgA3AtwBQQAhAyACQQA2AtABIAJCqtWq1Qo3AsgBIAIjgYCAgABBmIDAgABqKQMANwLUASACQcgBahCFgICAAEH//wNxDQIgAkEgakEYaiACQcgBakEYaikCADcDACACQSBqQRBqIAJByAFqQRBqKQIANwMAIAJBIGpBCGogAkHIAWpBCGopAgA3AwAgAiACKQLIATcDIAwBCyACQcgAakEANgIAIAJCADcDQCACI4GAgIAAQZiAwIAAaikDACIENwJMIAIgBDcC9AEgAkEANgLwASACQqrVqtUKNwLoAQJAAkAgAbNDAACAP5IQo4CAgAAiBUMAAIBPXSAFQwAAAABgcUUNACAFqSEDDAELQQAhAwsCQCACQegBaiADQRQgA0EUSRsgAWxBwABqQQZ2EI6AgIAAQf//A3ENACACQcgBakEQaiIDIAJB6AFqQRBqKAIANgIAIAJByAFqQQhqIgYgAkHoAWpBCGopAgA3AwAgAiACKQLoATcDyAEgAkEJOwHkASACQgA3AtwBIAJByAFqEIWAgIAAQf//A3ENACACQcwAaiEHIAJB2ABqQRhqIAJByAFqQRhqKQMANwMAIAJB2ABqQRBqIAMpAwA3AwAgAkHYAGpBCGogBikDADcDACACIAIpA8gBNwNYIAJBADsBfCACQQA6AH5BgAIhCEEAIQkDQCAAIAlqIQpBAiEDAkACQAJAAkADQCAJIANqIgsgAU8NAiACQYABaiACQcAAaiAKIAMQiYCAgAACQAJAIAItAIQBDQAgA0ECRw0BIAotAAAhCQwDCyACIAItAIIBOgB+IAIgAi8BgAE7AXwgA0EBaiEDDAELCyACLwF8IAItAH5BEHRyIQkLIAJB2ABqIAkQjICAgAAgC0F/aiEJAkAgCEH//z9xQf//P0cNAAJAIAIoAkAiA0UNACADQQAgA0F8aigCACIKEKSAgIAAGiACQQA2AkQgAiAKrULQAH5C5ACAPgJICyACQdgAakH//z8QjICAgAAgAkEANgJwIAJBCToAdEGAAiEIDAQLIAJBwABqIAogAxCPgICAABogAigCSA0CAkACQCACKAJAIgsNAEEBIQwMAQsgC0F8aigCAK1C0AB+IgQgBELkAIJ9QuQAfELQAICnIQwLIAZBADYCACACQgA3A8gBAkBBAA0AAkACQEIBQSAgDGdrrUL//wODhqciDEEIIAxBCEsbIg1BD2oiDiANQQN0aiIPIA1BAnRqQXxxIgwNAEF8IQwMAQsgAikCTCIEpyAMQQJBACAEQiCIpygCABGAgICAAAAiDEUNAQsgDCANNgIIIAwgDCAOQXxxajYCBCAMIAwgD0F8cWo2AgAgAiAMQQxqIgw2AsgBIAxBACANEKSAgIAAGiACIA2tQtAAfkLkAIA+AtABIAIoAkQiD0UNAgJAAkAgCw0AQQAhDAwBCyALQXxqKAIAIQwLIAtBdGoiDigCACENIA5BBGooAgAhDgNAIAxFDQMCQCALLAAAQQBODQAgAkHIAWogDigCACAOQQRqKAIAIA0vAQAgDUECai0AAEEQdHIQkICAgAAgAigCzAEgD0YNBAsgDEF/aiEMIAtBAWohCyAOQQhqIQ4gDUEEaiENDAALCyACQcgBaiAHEIiAgIAADAQLAkACQCAJQQFqIAFJDQAgCi0AACEDDAELIAJBiAFqQRBqIAJBwABqQRBqKAIANgIAIAJBiAFqQQhqIAJBwABqQQhqKQMANwMAIAIgAikDQDcDiAEgAkGgAWogAkGIAWogCiADEImAgIAAAkACQAJAIAItAKQBDQAgA0ECRw0BIAotAAAhAwwCCyACLwGgASACLQCiAUEQdHIhAwwCCyACQagBakEQaiACQcAAakEQaigCADYCACACQagBakEIaiACQcAAakEIaikDADcDACACIAIpA0A3A6gBIAJBwAFqIAJBqAFqIAogA0F/ahCJgICAACACLwHAASACLQDCAUEQdHIhAwsgAkHYAGogAxCMgICAACALIABqQX9qLQAAIQMLIAJB2ABqIAMQjICAgAAgAkHAAGoQh4CAgAAgAkEgakEYaiACQdgAakEYaikDADcDACACQSBqQRBqIAJB2ABqQRBqKQMANwMAIAJBIGpBCGogAkHYAGpBCGopAwA3AwAgAiACKQNYNwMgDAQLIAJBwABqQQhqIgsoAgAhDCALIAYoAgA2AgAgBiAMNgIAIAJBADYCRCACKQNAIQQgAiACKQPIATcDQCACIAQ3A8gBIAJByAFqIAcQiICAgAALIAJBwABqIAogAyAIEJCAgIAAIAhBAWohCAwACwsgAkHAAGoQh4CAgABBACEDDAELIAJBGGogAkEgakEYaikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAkEIaiACQSBqQQhqKQMANwMAIAIgAikDIDcDAEEAIQMgAiACKAIEIgFBAmoQhoCAgABB//8DcQ0AIAIoAgAiAyACKAIEQQN0aiIJQQhqIAI1AghCA4Y3AwAgCSABQQN0IgFBBHKtQiCGIAI1AhSENwMAIAMgAWpBBGohAwsgAkGQAmokgICAgAAgAwutAgMFfwF+AX8jgICAgABBEGsiAiSAgICAAEEAIQMCQCAAKAIIIgQgAU8NACAAKAIAIQUCQCAERQ0AIAIgAUH/////AUs6AAggAUGAgICAAk8NACAAKAIMIAUgBEEDdEEDIAFBA3RBACAAQRBqKAIAKAIEEYKAgIAAAEEBcUUNACAAIAE2AghBACEDDAELIABBDGoiBikCACEHIAIgAUH/////AUs6AAwCQCAB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"), N = await F(), I = N.exports;
3
+ function L(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 } = k(I.memory, D), w = new Uint16Array(I.memory.buffer.slice(Q, B)), o = h(w);
7
+ return I.free(Q, i), o;
8
8
  }
9
- function y(A) {
10
- const g = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
11
- let C = I.allocUint16(A.length - 2), D = new Uint16Array(
9
+ function f(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
12
  I.memory.buffer,
13
- C,
13
+ g,
14
14
  A.length - 2
15
15
  );
16
16
  for (let E = 0; E < A.length - 2; E++)
17
17
  D[E] = A.charCodeAt(E);
18
18
  const Q = I.decompressPacked(
19
- C,
19
+ g,
20
20
  A.length - 2,
21
- g
21
+ C
22
22
  );
23
- I.free(C, A.length - 2);
24
- const { start: B, end: i, capacity: o } = k(I.memory, Q), F = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(F);
25
- return I.free(B, o), a;
23
+ I.free(g, 2 * (A.length - 2));
24
+ const { start: B, end: i, capacity: w } = k(I.memory, Q), o = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(o);
25
+ return I.free(B, w), a;
26
26
  }
27
27
  export {
28
- c as compressPacked,
29
- y as decompressPacked
28
+ L as compressPacked,
29
+ f as decompressPacked
30
30
  };
@@ -1,2 +1,2 @@
1
- export declare function compressPacked(data: string): Promise<unknown>;
2
- export declare function decompressPacked(data: string): Promise<unknown>;
1
+ export declare function compressPacked(data: string): Promise<string>;
2
+ export declare function decompressPacked(data: string): Promise<string>;
@@ -1,36 +1,46 @@
1
- const l = "ZnVuY3Rpb24gayhBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShBKSwgZyA9IEMuYWxsb2NVaW50OChJLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgQy5tZW1vcnkuYnVmZmVyLAogICAgZywKICAgIEkubGVuZ3RoCiAgKS5zZXQoSSksIHsgcHRyOiBnLCBsZW5ndGg6IEkubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChBKSB7CiAgY29uc3QgQyA9IG5ldyBBcnJheShBLmxlbmd0aCk7CiAgZm9yIChsZXQgSSA9IDA7IEkgPCBBLmxlbmd0aDsgSSsrKQogICAgQ1tJXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoQVtJXSk7CiAgcmV0dXJuIEMuam9pbigiIik7Cn0KZnVuY3Rpb24gdChBLCBDKSB7CiAgY29uc3QgSSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEEuYnVmZmVyLnNsaWNlKEMsIEMgKyA4KQogICksIGcgPSBJLmF0KDApLCBRID0gSS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IEMgLSBnLAogICAgZW5kOiBDLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBuID0gYXN5bmMgKEEgPSB7fSwgQykgPT4gewogIGxldCBJOwogIGlmIChDLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IGcgPSBDLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShnLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKGcpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEEpOwogIH0gZWxzZSB7CiAgICBjb25zdCBnID0gYXdhaXQgZmV0Y2goQyksIFEgPSBnLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBJID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZywgQSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IGcuYXJyYXlCdWZmZXIoKTsKICAgICAgSSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEEpOwogICAgfQogIH0KICByZXR1cm4gSS5pbnN0YW5jZTsKfSwgSiA9IChBKSA9PiBuKEEsICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FuOS9BWDlnQVg4QVlBUi9mMzkvQUdBQ2YzOEJmbUFEZjM5L0FYOWdCWDkrZm41K0FBTWhJQU1FQXdVRUJnWUhCUWdKQUFZR0JnY0VDZ0FFQkFZS0NBVUVBQUlCQ3dvS0JBVUJjQUVFQkFVREFRQVJCZzRDZndGQmdJREFBQXQvQUVFQUN3ZFFCZ1p0WlcxdmNua0NBQXBoYkd4dlkxVnBiblE0QUFBTFlXeHNiMk5WYVc1ME1UWUFBZ1JtY21WbEFBTU9ZMjl0Y0hKbGMzTlFZV05yWldRQURCQmtaV052YlhCeVpYTnpVR0ZqYTJWa0FCRUpDUUVBUVFFTEF4b2JIQXFGUkNCZUFRRi9JNENBZ0lBQVFSQnJJZ0VrZ0lDQWdBQWdBU09CZ0lDQUFFR1lnTUNBQUdvcEF3QTNBd0FnQVVFSWFpQUJJQUFRZ1lDQWdBQUNRQ0FCTHdFTURRQWdBU2dDQ0NFQUlBRkJFR29rZ0lDQWdBQWdBQThMQTM4QURBQUxDM0VDQVg4QmZpT0FnSUNBQUVFUWF5SURKSUNBZ0lBQVFvQ0FnSUFRSVFRQ1FFRUJSUTBBQWtBZ0FnMEFRdi8vLy84UElRUU1BUXNnQVNnQ0FDQUNRUUJCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUM0WUJBZ0ovQVg0amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQkJBRWc2QUF3amdZQ0FnQUFoQWdKQUlBQkJmMHdOQUFKQUFrQWdBRUVCZENJQURRQkJmaUVBREFFTElBSkJtSURBZ0FCcUtRTUFJZ09uSUFCQkFVRUFJQU5DSUlpbktBSUFFWUNBZ0lBQUFDSUFSUTBCQ3lBQlFSQnFKSUNBZ0lBQUlBQVBDd04vQUF3QUN3c1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVNBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDNjBDQXdGL0FYNENmd0pBSUFBdEFCd2lBa0VVVHcwQUlBQW9BaGhCZ0FKcVFYOGdBblJCZjNOSkRRQWdBQ0FDUVFGcUlnSTZBQndMSUFHdFF2Ly9QNE1oQXdKQUFrQURRQ0FDUWY4QmNTSUVSUTBCSUFBb0FnUWhBUUpBQWtBZ0FDMEFIU0lGUWNBQVJnMEFJQUVOQVFzZ0FDQUJRUUZxRUlhQWdJQUFJZ0ZCLy84RGNRMERJQUFnQUNnQ0JDSUJRUUZxTmdJRUlBQW9BZ0FnQVVFRGRHcENBRGNEQUVFQUlRVWdBRUVBT2dBZElBQW9BZ1FoQVFzZ0FVRURkQ0FBS0FJQWFrRjRhaUlCSUFFcEF3QWdBMEVBSUFKclFUOXhyWVlnQmEySWhEY0RBQ0FBSUFBdEFCMGdCRUhBQUNBRmEwSC9BWEVpQVNBRUlBRkpHeUlCYWpvQUhTQUNJQUZySVFJTUFBc0xJQUFnQUNnQ0ZFRUJhallDRkNBQUlBQW9BaGhCQVdvMkFoaEJBQ0VCQ3lBQkN5MEJBbjlCQUNFQ0FrQWdBQ2dDQ0NJRElBRlBEUUFnQUNBRElBRVFqb0NBZ0FBUWpZQ0FnQUFoQWdzZ0Fnc1BBQ0FBSUFCQkRHb1FpSUNBZ0FBTFpRRURmd0pBSUFBb0FnQWlBa1VOQUFKQUlBSkJkR29pQTBFSWFpZ0NBRUVOYkVFUGFrRjhjU0lDUVFBZ0Foc2lCRVVOQUNBQktBSUFJQU5CQkNBQ0d5QUVRUUpCQUNBQktBSUVLQUlJRVlHQWdJQUFBQXNnQUVFQU5nSUlJQUJCQURZQ0FBc0xnUU1FQkg4QmZnUi9BWDRqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQ09CZ0lDQUFDRUZJQUVvQWdBaEJnSkFBa0FnQVNnQ0JBMEFJQVZCZ0lEQWdBQnFJUWNNQVFzZ0FpQURFSXFBZ0lBQUlRZ0NRQUpBSUFZTkFFRUFJUVZCZnlFSkRBRUxJQVpCZkdvb0FnQWlCVUYvYWlFSkN5QUdRWGhxSVFvZ0NTQUlwM0VoQVNBSVFqbUlweUVMQTBBamdZQ0FnQUJCZ0lEQWdBQnFJUWNnQmlBQmFpd0FBQ0lNUlEwQklBVkZEUUVDUUNBTVFYOUtEUUFnQ3lBTVFmOEFjVWNOQUNBQ0lBTWdDaWdDQUNBQlFRTjBhaUlNS0FJQUlBd29BZ1FRaTRDQWdBQkJBWEZGRFFBZ0JFRUJPZ0FNSUFRZ0FUWUNDQ0FFUVFocUlRY01BZ3NnQlVGL2FpRUZJQUZCQVdvZ0NYRWhBUXdBQ3dzQ1FBSkFJQWN0QUFRTkFFSUFJUWhDQUNFTkRBRUxJQVFnQmtGMGFpZ0NBQ0FIS0FJQVFRSjBhaUlCUVFKcUxRQUFRUTl4T2dBQ0lBUWdBUzhCQURzQkFDQUVNd0VBSUFReEFBSkNFSWFFSVFoQ2dJQ0FnQkFoRFFzZ0FDQU5JQWlFTndJQUlBUkJFR29rZ0lDQWdBQUw3QVVGQW44QmZnRi9BbjRDZnlPQWdJQ0FBRUhnQUdzaUFpU0FnSUNBQUFKQUFrQUNRQUpBQWtBZ0FVRVFTdzBBSUFGQkEwME5BU0FBTlFBQVFpQ0dJQUFnQVVFQmRrSDgvLy8vQjNFaUEybzFBQUNFSVFRZ0FDQUJRWHhxSWdWcU5RQUFRaUNHSUFBZ0JTQURhMm8xQUFDRUlRWkNySnJpMDZQUzhQb2ZJUWNNQkF0QkFDRURRcXlhNHRPajB2RDZIeUVIUVFBaEJTQUJRVEJKRFFKQkFDRUZRcXlhNHRPajB2RDZIeUVIUXF5YTR0T2owdkQ2SHlFRVFxeWE0dE9qMHZENkh5RUdBMEFnQlVFd2FpSUlJQUZQRFFJZ0FrSEFBR29nQUNBRmFpSUZLUUFJSUFhRlFnQWdCU2tBQUVMYjBkQ0ZtdHJmZ1dlRlFnQVFuWUNBZ0FBZ0FrRXdhaUFGUVJocUtRQUFJQVNGUWdBZ0JVRVFhaWtBQUVMamphUGtpZDZhM281L2hVSUFFSjJBZ0lBQUlBSkJJR29nQlVFb2Fpa0FBQ0FIaFVJQUlBVkJJR29wQUFCQ3c1bmRxY2U1MmN6WUFJVkNBQkNkZ0lDQUFDQUNRY0FBYWtFSWFpa0RBQ0FDS1FOQWhTRUdJQUpCSUdwQkNHb3BBd0FnQWlrRElJVWhCeUFDUVRCcVFRaHFLUU1BSUFJcEF6Q0ZJUVFnQ0NFRkRBQUxDMElBSVFaQ3JKcmkwNlBTOFBvZklRY0NRQ0FCRFFCQ0FDRUVEQU1MSUFBZ0FVRUJkbW94QUFCQ0NJWWdBREVBQUVJUWhvUWdBU0FBYWtGL2FqRUFBSVFoQkF3Q0N5QUVJQWVGSUFhRklRY0xJQUFnQldvaENTQUJJQVZySVFnQ1FBTkFJQU5CRUdvaUJTQUlUdzBCSUFKQjBBQnFJQWtnQTJvaUEwRUlhaWtBQUNBSGhVSUFJQU1wQUFCQzI5SFFoWnJhMzRGbmhVSUFFSjJBZ0lBQUlBSkIwQUJxUVFocUtRTUFJQUlwQTFDRklRY2dCU0VEREFBTEN5QUJJQUJxSWdOQmVHb3BBQUFoQmlBRFFYQnFLUUFBSVFRTElBSkJFR29nQkVMYjBkQ0ZtdHJmZ1dlRlFnQWdCaUFIaFVJQUVKMkFnSUFBSUFJZ0FrRVFha0VJYWlrREFFTGIwZENGbXRyZmdXZUZRZ0FnQWEwZ0Fpa0RFSVZDcjhqMXhjZXNoN3VnZjRWQ0FCQ2RnSUNBQUNBQ1FRaHFLUU1BSVFjZ0Fpa0RBQ0VFSUFKQjRBQnFKSUNBZ0lBQUlBY2dCSVVMV0FFQ2YwRUFJUVFDUUNBQklBTkhEUUFDUUNBQUlBSkhEUUJCQVE4TEEwQWdBVVVoQkNBQlJRMEJJQUZCZjJvaEFTQUNMUUFBSVFNZ0FDMEFBQ0VGSUFCQkFXb2hBQ0FDUVFGcUlRSWdCU0FEUmcwQUN3c2dCQXY4RkFRQmZ3RitIMzhCZmlPQWdJQ0FBRUhnQVdzaUFpU0FnSUNBQUFKQUFrQUNRQ0FCRFFBamdZQ0FnQUJCbUlEQWdBQnFLUU1BSVFOQnF0V3ExWG9oQkVFQUlRVkJDU0VHUVFBaEIwRUFJUUZCQUNFSVFRQWhDUXdCQ3lBQ1FTQnFRUWhxSWdwQkFEWUNBQ0FDUWdBM0F5QWdBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDTENBQ0lBTTNBclFCSUFKQkFEWUNzQUVnQWtLcTFhclZDamNDcUFFQ1FBSkFBa0FnQWtHb0FXb2dBUkNOZ0lDQUFFSC8vd054RFFBZ0FrRWdha0VNYWlFTElBSkJPR3BCRUdvZ0FrR29BV3BCRUdvb0FnQTJBZ0FnQWtFNGFrRUlhaUFDUWFnQmFrRUlhaUlNS1FJQU53TUFJQUlnQWlrQ3FBRTNBemdnQWtFSk93RlVJQUpDQURjQ1RDQURRaUNJcHlFTklBT25JUTVCZ0FJaEQwRUFJUWdEUUNBQUlBaHFJUWRCQUNFRUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUEwQUNRQUpBSUFSQkFtb2lDU0FJYWlBQlR3MEFJQUpCMkFCcUlBSkJJR29nQnlBSkVJbUFnSUFBSUFJdEFGd05BU0FDS0FJZ0lSQWdBaWdDS0EwR0FrQUNRQ0FRRFFCQkFTRUZEQUVMSUJCQmZHb29BZ0N0UXRBQWZpSURJQU5DNUFDQ2ZVTGtBSHhDMEFDQXB5RUZDMEVBSVFZZ0RFRUFOZ0lBSUFKQ0FEY0RxQUZCQUEwRkFrQUNRRUlCUVNBZ0JXZHJyVUwvL3dPRGhxY2lCVUVJSUFWQkNFc2JJaEZCRDJvaUVpQVJRUU4wYWlJVElCRkJBblJxUVh4eElnVU5BRUY4SVFVTUFRdEJBQ0VHSUE0Z0JVRUNRUUFnRFNnQ0FCR0FnSUNBQUFBaUJVVU5CZ3NnQlVFSWFpSVVJQkUyQWdBZ0JTQUZJQkpCZkhGcU5nSUVJQVVnQlNBVFFYeHhhallDQUNBQ0lBVkJER29pQlRZQ3FBRWdCVUVBSUJFUW5vQ0FnQUFoQmlBQ0lCR3RRdEFBZmtMa0FJQ25JaFUyQXJBQklBSW9BaVFpRmtVTkJFRUFJUmRCQUNFWUFrQWdFRVVOQUNBUVFYeHFLQUlBSVJnTElBWkJkR29oR1NBR1FYaHFJUm9nRUVGMGFpSUZLQUlBSVJzZ0JVRUVhaWdDQUNFY1FRQWhIUU5BSUIwZ0dFWU5CQUpBSUJBZ0hXb3NBQUJCQUU0TkFDQWJJQjFCQW5ScUlnVkJBbW90QUFCQkVIUWhIaUFGTHdFQUlSOGdIQ0FkUVFOMGFpSUZLQUlFSVNBZ0JTZ0NBQ0VoQWtBZ0YwVU5BQ0FoSUNBUWlvQ0FnQUFoQXlBVUtBSUFJaEZCZjJvaUV5QURwM0VoQlNBRFFqbUlweUVpQTBBZ0JpQUZhaXdBQUNJU1JRMEJJQkZGRFFFQ1FDQVNRWDlLRFFBZ0lpQVNRZjhBY1VjTkFDQWhJQ0FnR2lnQ0FDQUZRUU4wYWlJU0tBSUFJQklvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBa0VCT2dEY0FRd0NDeUFSUVg5cUlSRWdCVUVCYWlBVGNTRUZEQUFMQ3lBZklCNXlJUk1nSVNBZ0VJcUFnSUFBSVFNZ0ZDZ0NBRUYvYWlJU0lBT25jU0VGQWtBRFFDQUdJQVZxSWhFc0FBQkJmMG9OQVNBRlFRRnFJQkp4SVFVTUFBc0xJQkVnQTBJNWlLZEJnQUZ5T2dBQUlCb29BZ0FnQlVFRGRHb2lFU0FnTmdJRUlCRWdJVFlDQUNBWktBSUFJQVZCQW5ScUlnVWdFenNCQUNBRlFRSnFJQk5CZ0lBOGNVRVFkam9BQUNBVlFYOXFJUlVnRjBFQmFpSVhJQlpIRFFBZ0ZpRVhEQVVMSUIxQkFXb2hIUXdBQ3dzQ1FBSkFJQWhCQVdvZ0FVa05BQ0FDUVRocUlBY3RBQUFRaFlDQWdBQkIvLzhEY1EwT0RBRUxJQUpCNkFCcVFSQnFJQUpCSUdwQkVHb29BZ0EyQWdBZ0FrSG9BR3BCQ0dvZ0FrRWdha0VJYWlrREFEY0RBQ0FDSUFJcEF5QTNBMmdnQWtHQUFXb2dBa0hvQUdvZ0J5QUVRUUpxRUltQWdJQUFBa0FDUUFKQUlBSXRBSVFCRFFBZ0JBMEJJQWN0QUFBaENRd0NDeUFDUVRocUlBSXZBWUFCSUFJdEFJSUJRUkIwY2hDRmdJQ0FBRUgvL3dOeFJRMENEQThMSUFKQmlBRnFRUkJxSUFKQklHcEJFR29vQWdBMkFnQWdBa0dJQVdwQkNHb2dBa0VnYWtFSWFpa0RBRGNEQUNBQ0lBSXBBeUEzQTRnQklBSkJvQUZxSUFKQmlBRnFJQWNnQkVFQmFoQ0pnSUNBQUNBQ0x3R2dBU0FDTFFDaUFVRVFkSEloQ1FzZ0FrRTRhaUFKRUlXQWdJQUFRZi8vQTNFTkRTQUNRVGhxSUFjZ0JHcEJBV290QUFBUWhZQ0FnQUJCLy84RGNRME5DeUFDUVNCcUVJZUFnSUFBSUFJdkFWWWhFU0FDTFFCVklRVWdBaTBBVkNFR0lBSW9BbEFoQnlBQ0tBSk1JUUVnQWlrQ1JDRURJQUlvQWtBaENDQUNLQUk4SVFrZ0FpZ0NPQ0VFREE4TElBUkJBV29oQkF3QUN3c2dBaUFWTmdLd0FTQUNJQmMyQXF3QkN5QUtLQUlBSVFVZ0NpQU1LQUlBTmdJQUlBd2dCVFlDQUNBQ1FRQTJBaVFnQWlrRElDRURJQUlnQWlrRHFBRWlJemNESUNBQ0lBTTNBNmdCSUNPbklSQkJBU0VHQ3lBQ1FhZ0JhaUFMRUlpQWdJQUFJQVlOQUNPQmdJQ0FBQ0VGSUFJb0FpUU5BU0FGUVlDQXdJQUFhaUVTREFNTElBY2dDUkNLZ0lDQUFDRURBa0FDUUNBUURRQWdBNmNoQlVFQUlSSkJmeUVkREFFTElCQkJmR29vQWdBaUVrRi9haUlkSUFPbmNTRUZDeUFRUVhocUlTQWdFRUY4YWlFaElBTkNPWWluSVNJZ0VpRUdBMEFnRUNBRmFpSVRMQUFBSWhGRkRRSWdCa0VBUmcwQ0FrQUNRQ0FSUVg5S0RRQWdJaUFSUWY4QWNVY05BQ0FISUFrZ0lDZ0NBQ0FGUVFOMGFpSVJLQUlBSUJFb0FnUVFpNENBZ0FCQkFYRkZEUUVNQmdzZ0VpQWhLQUlBUncwQUlBVWdFaUFSUVFGR0d5RVNDeUFHUVg5cUlRWWdCVUVCYWlBZGNTRUZEQUFMQ3lBSElBa1Fpb0NBZ0FBaEF3SkFBa0FnRUEwQVFRQWhCa0YvSVJNTUFRc2dFRUY4YWlnQ0FDSUdRWDlxSVJNTElCQkJlR29oSWlBVElBT25jU0VGSUFOQ09ZaW5JUjBEUUNPQmdJQ0FBRUdBZ01DQUFHb2hFaUFRSUFWcUxBQUFJaEZGRFFJZ0JrVU5BZ0pBSUJGQmYwb05BQ0FkSUJGQi93QnhSdzBBSUFjZ0NTQWlLQUlBSUFWQkEzUnFJaEVvQWdBZ0VTZ0NCQkNMZ0lDQUFFRUJjVVVOQUNBQ1FRRTZBTUFCSUFJZ0JUWUN2QUVnQWtHOEFXb2hFZ3dEQ3lBR1FYOXFJUVlnQlVFQmFpQVRjU0VGREFBTEN5QWhLQUlBSVFZZ0FpQUNLQUlvUVg5cU5nSW9JQkFnRW1vZ0V5QVNJQVpKSWdZYklDSkJnQUZ5T2dBQUlCQkJkR29vQWdBaEVTQWdLQUlBSVJNZ0FpQUNLQUlrUVFGcU5nSWtJQk1nRWlBRklBWWJJZ1ZCQTNScUlnWWdDVFlDQkNBR0lBYzJBZ0FnRVNBRlFRSjBhaUVKREFJTElCSXRBQVJGRFFRZ0VpZ0NBQ0VGQ3lBUVFYUnFLQUlBSUFWQkFuUnFJUWtMSUFrZ0R6c0JBQ0FKUVFKcUlBOUJnSUE4Y1VFUWRqb0FBQUpBQWtBZ0JBMEFJQWN0QUFBaENRd0JDeUFDUWVBQWFpQUNRU0JxSUFjZ0JFRUJhaENKZ0lDQUFDQUNMd0ZnSUFJdEFHSkJFSFJ5SVFrTElBSkJPR29nQ1JDRmdJQ0FBRUgvL3dOeERRRWdDQ0FFYWtFQmFpRUlJQTlCQVdvaUQwSC8vejl4UWYvL1AwY05BQ0FRUVFBZ0VFRjhhaWdDQUNJRUVKNkFnSUFBR2lBQ1FRQTJBaVFnQWlBRXJVTFFBSDVDNUFDQVBnSW9JQUpCT0dwQi8vOC9FSVdBZ0lBQVFmLy9BM0VOQVNBQ1FRQTJBbEFnQWtFSk9nQlVRWUFDSVE4TUFBc0xJQUpCSUdvUWg0Q0FnQUFNQVFzZ0FrRWdhaENIZ0lDQUFBdEJBQ0VFREFFTElBSWdFVHNCSGlBQ0lBVTZBQjBnQWlBR09nQWNJQUlnQnpZQ0dDQUNJQUUyQWhRZ0FpQUROd0lNSUFJZ0NEWUNDQ0FDSUFRMkFnQWdBaUFKTmdJRVFRQWhCQ0FDSUFsQkFtb1Fob0NBZ0FCQi8vOERjUTBBSUFJb0FnQWlCQ0FDS0FJRVFRTjBhaUlGUVFocUlBSW9BZ2hCQW5TdE53TUFJQVVnQ1VFRGRDSUpRUVJ5clVJZ2hpQUNOUUlVaERjREFDQUVJQWxxUVFScUlRUUxJQUpCNEFGcUpJQ0FnSUFBSUFRTDFnSURCSDhCZmdKL0k0Q0FnSUFBUVJCcklnSWtnSUNBZ0FCQkFDRURBa0FnQUNnQ0NDSUVJQUZQRFFBZ0FDZ0NBQ0VGQWtBZ0JFVU5BQ0FDSUFGQi8vLy8vd0ZMT2dBSUlBRkJnSUNBZ0FKUERRQkJBQ0VESUFBb0Fnd2dCU0FFUVFOMFFRTWdBVUVEZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDQXdCQ3lBQUtRSU1JUVlnQWlBQlFmLy8vLzhCU3pvQURBSkFJQUZCZ0lDQWdBSlBEUUFDUUFKQUlBRkJBM1FpQXcwQVFYZ2hBd3dCQ3lBR3B5QURRUU5CQUNBR1FpQ0lweWdDQUJHQWdJQ0FBQUFpQTBVTkFRc2dBeUFBS0FJQUlBQW9BZ1JCQTNRUW40Q0FnQUFoQjBFQUlRTUNRQ0FFUVFOMFFRQWdCQnNpQ0VVTkFDQUFLQUlNSUFWQkNDQUVHeUFJUVFOQkFDQUFRUkJxS0FJQUtBSUlFWUdBZ0lBQUFBc2dBQ0FCTmdJSUlBQWdCellDQUF3QkMwRUJJUU1MSUFKQkVHb2tnSUNBZ0FBZ0F3c2xBUUYvQTBCQmZ5QUFRUUYySUFCcVFRaHFJZ0lnQWlBQVNSc2lBQ0FCU1EwQUN5QUFDejhCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQklBQXBBZ3czQXdnZ0FVRUlhaUFBS0FJQUlBQW9BZ2dRa0lDQWdBQWdBVUVRYWlTQWdJQ0FBQXMzQVFGL0FrQWdBa0VEZEVFQUlBSWJJZ05GRFFBZ0FDZ0NBQ0FCUVFRZ0Foc2dBMEVDUVFBZ0FDZ0NCQ2dDQ0JHQmdJQ0FBQUFMQzRNTUF3Ri9BWDRMZnlPQWdJQ0FBRUhRQUdzaUF5U0FnSUNBQUNBRFFRQTJBa1FnQTBLcTFhclZDamNDUENBREk0R0FnSUFBUVppQXdJQUFhaWtEQUNJRU53SklBa0FDUUFKQUFrQWdBZzBBUWFyVnF0VjZJUVZCQUNFR0RBRUxRYXJWcXRWNklRVWdBaUVHSUFOQnlBQnFJZ2RCcXRXcTFYcEJBQ0FDRUpLQWdJQUFRUUZ4RFFBZ0EwRW9haUFISUFJUWs0Q0FnQUFnQXk4Qk1BMEJJQU1vQWl3aEJpQURLQUlvSVFVTFFRa2hDRUVBSVFsQkFDRUtRUUFoQzBFQUlRd0RRQUpBQWtBQ1FBSkFBa0FnRENBQ1JnMEFJQWhCL3dGeElnZEJGRWtOQVF3RUN5QURJQVEzQXlBQ1FBSkFJQU5CSUdvZ0JTQUdJQUlRa29DQWdBQkJBWEZGRFFBZ0JTRUlEQUVMSUFOQlBHb2dBMEVnYWlBQ0VKT0FnSUFBSUFNdkFVUU5CaUFES0FJOElnZ2dCU0FES0FKQUlnSkJBblFRbjRDQWdBQWFJQU1nQkRjREtDQURRU2hxSUFVZ0JoQ1VnSUNBQUFzQ1FDQUNEUUJCQUNFSlFhclZxdFY2SVFwQkFDRU1EQUlMSUFOQkFEWUNNQ0FEUXFyVnF0VUtOd0lvSUFNZ0JEY0NOQ0FEUVFCQi8vOC9FSTZBZ0lBQUlnZEIvLy8vL3dGTE9nQThJQWRCZ0lDQWdBSlBEUUlDUUFKQUlBZEJBM1FpRFEwQVFYd2hEUXdCQ3lBRXB5QU5RUUpCQUNBRVFpQ0lweWdDQUJHQWdJQ0FBQUFpRFVVTkF3c2dBeUFITmdJd0lBTWdEVFlDS0VFQUlRY0NRQU5BSUFkQitQLy9BMFlOQVNBTklBZHFRZ0EzQWdBZ0IwRUlhaUVIREFBTEN5QURRZi8vUHpZQ0xDQURJQVEzQWtoQkFDRUhJQU5CQURZQ1JDQURRcXJWcXRVS053SThJQU5CUEdvZ0FrRVliQkNWZ0lDQUFFSC8vd054RFFJZ0F5a0NTQ0VFSUFNb0FrUWhEQ0FES0FJOElnb2dBeWdDUUNJSmFpQUlMUUFBT2dBQUlBMGdDQzhCQUNBSVFRSnFMUUFBUVJCMGNrRURkR29pRGtFQk5nSUVJQTRnQ2pZQ0FDQUpRUUZxSVFCQmdBSWhEMEVCSVE0RFFDQUFJUWtDUUFKQUFrQUNRQ0FPSUFKUERRQUNRQ0FJSUE1QkFuUnFJZ0F2QVFBZ0FFRUNhaTBBQUVFUWRISWlBRUgvL3o5SERRQWdEa0VCYWlJT0lBSlBEUUZCQUNFSEFrQURRQ0FIUWZqLy93TkdEUUVnRFNBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzQ1FDQUlJQTVCQW5ScUlnY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJaUIwR0FBa2tOQUNBRFFmLy9QellDTEF3SkN5QUtJQWxxSUFjNkFBQWdDVUVCYWlFQVFZQUNJUThNQkFzZ0FFR0FBa2tOQVFKQUlBMGdBRUVEZEdvaUFDZ0NBQ0lMRFFBZ0NpQUphaUFLSUFkcUlnQWdDU0FIYXlJTEVKK0FnSUFBR2lBS0lBc2dDV29pQzJvZ0FDMEFBRG9BQUNBTFFRRnFJUUFNQXdzZ0NpQUphaUFMSUFBb0FnUWlBQkNmZ0lDQUFCb2dBQ0FKYWlFQURBSUxJQU5CLy84L05nSXNJQU5CS0dvUWo0Q0FnQUFNQlFzZ0NpQUphaUFBT2dBQUlBbEJBV29oQUFzZ0RTQVBRZi8vUDNGQkEzUnFJZ3NnQ1NBSGEwRUJhallDQkNBTElBb2dCMm8yQWdBZ0QwRUJhaUVQQ3lBT1FRRnFJUTRnQ1NFSERBQUxDeUFJSUF0QmdBSnFRWDhnQjNSQmYzTlBhaUVJREFJTElBTWdCRGNDR0NBRElBbzJBZ3dnQXlBSk5nSVFJQU1nRERZQ0ZBSkFBa0FnRENBSlFRaHFJZzFKRFFBZ0NTRUhEQUVMUVFBaEJ5QURRUXhxSUF3Z0RSQ09nSUNBQUJDVmdJQ0FBRUgvL3dOeERRVWdBeWdDRENFS0lBTW9BaFFoRENBREtBSVFJUWNMSUFvZ0Iyb2lCeUFKT2dBQUlBZEJCMm9nREVFWWRqb0FBQ0FIUVFacUlBeEJFSFk2QUFBZ0IwRUZhaUFNUVFoMk9nQUFJQWRCQkdvZ0REb0FBQ0FIUVFOcUlBbEJHSFk2QUFBZ0IwRUNhaUFKUVJCMk9nQUFJQWRCQVdvZ0NVRUlkam9BQUNBS0lBbHFJUWNNQkFzZ0EwRW9haENQZ0lDQUFBd0NDMEVBSVE0Z0NDRUhBa0FEUUNBSFFmOEJjU0lOUlEwQklBQWdDaUFKUWY4QmNVSEFBRVlpRDJvaUNrRURkR29wQXdCQkFDQUpJQThiSWdsQlAzR3Roa0VBSUExQndBQWdDV3RCL3dGeElnOGdEU0FQU1JzaURXdEJQM0d0aUtjZ0J5QU5heUlIZENBT2NpRU9JQTBnQ1dvaENRd0FDd3NnQlNBTVFRSjBhaUlISUE0N0FRQWdCMEVDYWlBT1FmLy9QM0VpQjBFUWRqb0FBRUVBSUF0QkFXb2dCMEgvL3o5R0lnY2JJUXRCQ1NBSUlBY2JJUWdnREVFQmFpRU1EQUFMQzBFQUlRY0xJQU5CMEFCcUpJQ0FnSUFBSUFjTGtBRUJBbjhqZ0lDQWdBQkJFR3NpQkNTQWdJQ0FBQUpBQWtBZ0F3MEFJQVFnQUNrQ0FEY0RBQ0FFSUFFZ0FoQ1VnSUNBQUVFQklRVU1BUXRCQUNFRklBSkZEUUFnQkNBRFFmLy8vLzhEU3pvQURDQURRWUNBZ0lBRVR3MEFJQUFvQWdBZ0FTQUNRUUowUVFJZ0EwRUNkRUVBSUFBb0FnUW9BZ1FSZ29DQWdBQUFJUVVMSUFSQkVHb2tnSUNBZ0FBZ0JRdkJBUUlCZndGK0k0Q0FnSUFBUVNCcklnTWtnSUNBZ0FBZ0FTa0NBQ0VFSUFNZ0FrSC8vLy8vQTBzNkFCd0NRQUpBSUFKQmdJQ0FnQVJQRFFBQ1FBSkFJQUpCQW5RaUFRMEFRWHdoQVF3QkN5QUVweUFCUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaUFVVU5BUXNnQXlBQ05nSVVJQU1nQVRZQ0VDQURRUUE3QVJnZ0EwRVFhaUVDREFFTElBTkJBVHNCRENBRFFRUnFJUUlMSUFBZ0Fpa0NBRGNDQUNBQVFRaHFJQUpCQ0dvb0FnQTJBZ0FnQTBFZ2FpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFQ2RFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5b0JBUVYvSTRDQWdJQUFRU0JySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FDUUNBRVJRMEFRUUFOQUNBQUtBSU1JQVVnQkVFQUlBRkJBQ0FBUVJCcUtBSUFLQUlFRVlLQWdJQUFBRUVCY1VVTkFDQUFJQUUyQWdnTUFRc2dBaUFBUVF4cUlnWXBBZ0EzQXhBZ0FrRVlhaUFDUVJCcUlBRVFnWUNBZ0FBZ0FpOEJIQ0lERFFFZ0FpZ0NHQ0FBS0FJQUlBQW9BZ1FRbjRDQWdBQWhBeUFHSUFVZ0JCQ0VnSUNBQUNBQUlBRTJBZ2dnQUNBRE5nSUFDMEVBSVFNTElBSkJJR29rZ0lDQWdBQWdBd3ZTQWdNR2Z3RitCMzhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FBS0FJRUlRUWdBQ2dDQUNFRlFRQWhCaUFDUWY4QmNTRUhBMzhDUUFKQUFrQWdCaUFFUncwQVFYOGhDQXdCQ3dKQUlBVWdCa0VFZEdvaUFrRUlhaWtEQUNJSlFnQlREUUFnQWlrREFIc2dDWHQ4cHlBQlNRMENDeUFHUVFkMElnaEJnQUZxSVFvRFFDQUlJQXBQRFFJZ0NDQUFLUUlBSWdsQ0dZaW5RWUIvY1NJQ0lBZ2dBa3NiSWdzZ0NHc2hEQ0FKcDBFSUlBbENJSWluR3lFTklBaEJFSFJvSVE1QkFDRUNBa0FEUUFKQUlBd2dBa2NOQUNBTElROE1BZ3RCL3dFZ0NDQUNhaUlQUVFkeEloQkJCM04yUVFFZ0VIUnhJQTBnRDBFRGRtb3RBQUJ4UlEwQklBSkJBV29pQWlBQlNRMEFJQTRnQjBrTkFBc2dBeUFKTndNSUlBTkJDR29nQ0NBQlFRQVFsNENBZ0FBTUFnc2dEMEVCYWlFSURBQUxDeUFEUVJCcUpJQ0FnSUFBSUFnUEN5QUdRUUZxSVFZTUFBc0xWQUVCZnlBRFFRRnhJUVFDUUFOQUlBSkZEUUVnQUNnQ0FFRUlJQUFvQWdRYklBRkJBM1pxSWdNZ0F5MEFBRUYrSUFGQkIzRWlBM2R4SUFRZ0EzUnlPZ0FBSUFGQkFXb2hBU0FDUVg5cUlRSU1BQXNMQzlzQkFRTi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQUNRQ0FBUVlBUVR3MEFJNEdBZ0lBQVFhaUF3SUFBYWlBQUlBRkJnQkFnQVVHQUVFa2JJQUJyRUptQWdJQUFDd0pBSUFGQmdCQk5EUUFDUUNPQmdJQ0FBRUdnZ01DQUFHb29BZ1FOQUNPQmdJQ0FBRUdnZ01DQUFHb2lBMEdBSURZQ0JDQURJQUZCZjJvaUFVRVFkQ0lFTmdJQUlBUkJBRUdBZ0FRUW5vQ0FnQUFhQ3lBQ0k0R0FnSUFBUWFDQXdJQUFhaWtEQURjRENDQUNRUWhxSUFCQmdCQWdBRUdBRUVzYklnQkJnSEJxSUFFZ0FHc1FtWUNBZ0FBTElBSkJFR29rZ0lDQWdBQUxPd0VCZnlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FDa0NBRGNEQ0NBRFFRaHFJQUVnQWtFQkVKZUFnSUFBSUFOQkVHb2tnSUNBZ0FBTHZRRUJCSDlCQUNFRUFrQWdBVUdCZ0h4UERRQUNRQ09CZ0lDQUFFR29nTUNBQUdvZ0FVSC8vd05xUVJCMklnRWdBaENXZ0lDQUFDSUVRWDlIRFFBQ1FDT0JnSUNBQUVHZ2dNQ0FBR29nQVNBQ0VKYUFnSUFBSWdSQmYwWU5BQ0FFUVlBUWFpRUVEQUVMUVFBaEJFRUJJQUowSWdVL0FDSUdRUkIwSWdKcVFYOXFRUUFnQld0eElnVWdBbXRCRUhZaUJ5QUJha0FBUVFGSURRRWdCeUFHYWlFRUlBVWdBa1lOQUNBR0lBUVFtSUNBZ0FBTElBUkJFSFFoQkFzZ0JBdFBBUUYvQWtBZ0FrSC8vd05xSWdaQmdJQjhjU0FFVHlJQ1JRMEFJQVJCLy84RGFrRVFkaUlFSUFaQkVIWWlCa1lOQUNBRUlBRkIvLzhEYWtFUWRpSUJhaUFCSUFacUVKaUFnSUFBQ3lBQ0N5RUFJQUZCLy84RGFrRVFkaUlCSUFFZ0FrSC8vd05xUVJCMmFoQ1lnSUNBQUF0MUFRRitJQUFnQkNBQmZpQUNJQU4rZkNBRFFpQ0lJZ0lnQVVJZ2lDSUVmbndnQTBMLy8vLy9ENE1pQXlBQlF2Ly8vLzhQZ3lJQmZpSUZRaUNJSUFNZ0JINThJZ05DSUloOElBTkMvLy8vL3crRElBSWdBWDU4SWdGQ0lJaDhOd01JSUFBZ0FVSWdoaUFGUXYvLy8vOFBnNFEzQXdBTExBRUJmd0pBSUFKRkRRQWdBQ0VEQTBBZ0F5QUJPZ0FBSUFOQkFXb2hBeUFDUVg5cUlnSU5BQXNMSUFBTFFnRUJmd0pBSUFKRkRRQWdBa0YvYWlFQ0lBQWhBd05BSUFNZ0FTMEFBRG9BQUNBQ1JRMEJJQUpCZjJvaEFpQUJRUUZxSVFFZ0EwRUJhaUVEREFBTEN5QUFDd3RCQWdCQmdJREFBQXNJQUFBQUFBQUFBQUFBUVlpQXdBQUxLQUVBQUFBQ0FBQUFBd0FBQUFBQUFBQUFBQUFBQ0FBUUFLcXFxcW9BQUFBQU1BQVFBQkFBQUFBPSIpOwpjb25zdCBlID0gYXdhaXQgSigpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBjKEEpIHsKICBjb25zdCB7IHB0cjogQywgbGVuZ3RoOiBJIH0gPSBrKEEsIEIpLCBnID0gQi5jb21wcmVzc1BhY2tlZChDLCBJKTsKICBCLmZyZWUoQywgSSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdChCLm1lbW9yeSwgZyksIEQgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgYSA9IGgoRCk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgYTsKfQpmdW5jdGlvbiBzKEEpIHsKICBjb25zdCBDID0gKEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDEpIDw8IDE2KSArIEEuY2hhckNvZGVBdChBLmxlbmd0aCAtIDIpOwogIGxldCBJID0gQi5hbGxvY1VpbnQxNihBLmxlbmd0aCAtIDIpLCBnID0gbmV3IFVpbnQxNkFycmF5KAogICAgQi5tZW1vcnkuYnVmZmVyLAogICAgSSwKICAgIEEubGVuZ3RoIC0gMgogICk7CiAgZm9yIChsZXQgbyA9IDA7IG8gPCBBLmxlbmd0aCAtIDI7IG8rKykKICAgIGdbb10gPSBBLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgUSA9IEIuZGVjb21wcmVzc1BhY2tlZCgKICAgIEksCiAgICBBLmxlbmd0aCAtIDIsCiAgICBDCiAgKTsKICBCLmZyZWUoSSwgQS5sZW5ndGggLSAyKTsKICBjb25zdCB7IHN0YXJ0OiBFLCBlbmQ6IGksIGNhcGFjaXR5OiBEIH0gPSB0KEIubWVtb3J5LCBRKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLCBpKSksIEYgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShFLCBEKSwgRjsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihBKSB7CiAgY29uc3QgeyBjb21tYW5kOiBDLCBpZDogSSwgZGF0YTogZyB9ID0gQS5kYXRhOwogIHN3aXRjaCAoQykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogcyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogSSwgZGF0YTogYyhnKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", V = typeof window < "u" && window.Blob && new Blob([atob(l)], { type: "text/javascript;charset=utf-8" });
2
- function S() {
1
+ const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsZyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksQz1nLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6QyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGgoQSl7Y29uc3QgZz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKWdbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiBhKEEsZyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIEc9YXN5bmMoQT17fSxnKT0+e2xldCBJO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxmPUE9PkcoQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJXdzVnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QVlBRjlBWDBESnlZREJBTUZCQU1HQndVSUNRQUZCZ1lLQ0FZSEJBb0FCQVFHQ2dnRkJBQUNBUVFMREEwS0NnUUZBWEFCQkFRRkF3RUFFUVlPQW44QlFZQ0F3QUFMZndCQkFBc0hVQVlHYldWdGIzSjVBZ0FLWVd4c2IyTlZhVzUwT0FBQUMyRnNiRzlqVldsdWRERTJBQUlFWm5KbFpRQUREbU52YlhCeVpYTnpVR0ZqYTJWa0FBMFFaR1ZqYjIxd2NtVnpjMUJoWTJ0bFpBQVVDUWtCQUVFQkN3TWRIaDhLMWtzbVhnRUJmeU9BZ0lDQUFFRVFheUlCSklDQWdJQUFJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFOd01BSUFGQkNHb2dBU0FBRUlHQWdJQUFBa0FnQVM4QkRBMEFJQUVvQWdnaEFDQUJRUkJxSklDQWdJQUFJQUFQQ3dOL0FBd0FDd3R4QWdGL0FYNGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFFS0FnSUNBRUNFRUFrQkJBVVVOQUFKQUlBSU5BRUwvLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VBUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBdUdBUUlDZndGK0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFRUUJJT2dBTUk0R0FnSUFBSVFJQ1FDQUFRWDlNRFFBQ1FBSkFJQUJCQVhRaUFBMEFRWDRoQUF3QkN5QUNRWmlBd0lBQWFpa0RBQ0lEcHlBQVFRRkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlBRVVOQVFzZ0FVRVFhaVNBZ0lDQUFDQUFEd3NEZndBTUFBc0xHUUFqZ1lDQWdBQkJtSURBZ0FCcUlBQWdBUkNFZ0lDQUFBczRBUUYvQWtBZ0FrRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFhclZxdFY2SUFJYklBTkJBRUVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3RCQVFKL0FrQWdBQ0FBS0FJRVFRRnFFSWFBZ0lBQUlnRkIvLzhEY1EwQUlBQWdBQ2dDQkNJQ1FRRnFOZ0lFSUFBb0FnQWdBa0VEZEdwQ0FEY0RBQXNnQVFzdEFRSi9RUUFoQWdKQUlBQW9BZ2dpQXlBQlR3MEFJQUFnQXlBQkVKR0FnSUFBRUk2QWdJQUFJUUlMSUFJTER3QWdBQ0FBUVF4cUVJaUFnSUFBQzJVQkEzOENRQ0FBS0FJQUlnSkZEUUFDUUNBQ1FYUnFJZ05CQ0dvb0FnQkJEV3hCRDJwQmZIRWlBa0VBSUFJYklnUkZEUUFnQVNnQ0FDQURRUVFnQWhzZ0JFRUNRUUFnQVNnQ0JDZ0NDQkdCZ0lDQUFBQUxJQUJCQURZQ0NDQUFRUUEyQWdBTEM0RURCQVIvQVg0RWZ3RitJNENBZ0lBQVFSQnJJZ1FrZ0lDQWdBQWpnWUNBZ0FBaEJTQUJLQUlBSVFZQ1FBSkFJQUVvQWdRTkFDQUZRWUNBd0lBQWFpRUhEQUVMSUFJZ0F4Q0tnSUNBQUNFSUFrQUNRQ0FHRFFCQkFDRUZRWDhoQ1F3QkN5QUdRWHhxS0FJQUlnVkJmMm9oQ1FzZ0JrRjRhaUVLSUFrZ0NLZHhJUUVnQ0VJNWlLY2hDd05BSTRHQWdJQUFRWUNBd0lBQWFpRUhJQVlnQVdvc0FBQWlERVVOQVNBRlJRMEJBa0FnREVGL1NnMEFJQXNnREVIL0FIRkhEUUFnQWlBRElBb29BZ0FnQVVFRGRHb2lEQ2dDQUNBTUtBSUVFSXVBZ0lBQVFRRnhSUTBBSUFSQkFUb0FEQ0FFSUFFMkFnZ2dCRUVJYWlFSERBSUxJQVZCZjJvaEJTQUJRUUZxSUFseElRRU1BQXNMQWtBQ1FDQUhMUUFFRFFCQ0FDRUlRZ0FoRFF3QkN5QUVJQVpCZEdvb0FnQWdCeWdDQUVFQ2RHb2lBVUVDYWkwQUFFRVBjVG9BQWlBRUlBRXZBUUE3QVFBZ0JETUJBQ0FFTVFBQ1FoQ0doQ0VJUW9DQWdJQVFJUTBMSUFBZ0RTQUloRGNDQUNBRVFSQnFKSUNBZ0lBQUM2RUxBZ0YvQzM0amdJQ0FnQUJCd0FCcklnSWtnSUNBZ0FBZ0FhMGhBd0pBQWtBZ0FVRWdTdzBBQWtBZ0FVRVJUdzBBQWtBZ0FVRUlTUTBBSUFBcEFBQkN6NERCL0xMSDJ2Q2FmM3dpQkVJbmlTQUJJQUJxUVhocUtRQUFJZ1Y4SUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUF5QURJQVZDRzRrZ0JuNGdCSHlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3REN3SkFJQUZCQkVrTkFDQUFOUUFBUWdPR0lBTjhJQUVnQUdwQmZHbzFBQUFpQklVZ0EwSUJoa0xQZ01IOHNzZmE4SnAvZkNJR2ZpSUZRaStJSUFTRklBV0ZJQVorSWdSQ0w0Z2dCSVVnQm40aEJnd0RDd0pBSUFFTkFFTFBnTUg4c3NmYThKcC9JUVlNQXdzZ0FTQUFha0YvYWkwQUFFRUNkQ0FCYXExQ3ArS3N2c21MOHRKRGZpQUFJQUZCQVhacU1RQUFRZ2lHSUFBeEFBQ0VRcytBd2Z5eXg5cndtbjkraFNJR1FpK0lJQWFGUXMrQXdmeXl4OXJ3bW45K0lRWU1BZ3NnQUNrQUNDSUVRcytBd2Z5eXg5cndtbjk4UWk2SklBQXBBQUJDOCtUajlQdk5yY20wZjM0aUJYd2dBU0FBYWlJQVFYaHFLUUFBSUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUEzd2lCeUFISUFOQ0lva2dCU0FFZkVJVmlYd2dBRUZ3YWlrQUFFTFBnTUg4c3NmYThKcC9mbnlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3QkN3SkFJQUZCd1FCSkRRQWdBU0FBYWlJQlFWaHFLUUFBSVFjZ0FVRklhaWtBQUNFR0lBRkJjR29wQUFBaENDQUNJQUZCUUdvZ0F5QUJRVkJxS1FBQUlBTjhJQUZCYUdvcEFBQVFvWUNBZ0FBaUNSQ2lnSUNBQUNBQ0tRTUlJUVFnQWlrREFDRUZJQUpCRUdvZ0FVRmdhaUFHSUFoOElnWkM4K1RqOVB2TnJjbTBmM3dnQnhDaWdJQ0FBRUlBSUFOQ2YzeENRSU45SVFvZ0FDa0FBQ0FIUXZQazQvVDd6YTNKdEg5K2ZDRUlJQUlwQXhnaEF5QUNLUU1RSVFjRFFDQUFLUUF3SVFzZ0FDa0FLQ0VNSUFKQklHb2dBQ0FFUXZQazQvVDd6YTNKdEg5K0lBWWdCWHdnQ0h3Z0FDa0FDSHhDRzRsQzgrVGo5UHZOcmNtMGYzNGdBNFVpRFNBSGZCQ2lnSUNBQUNBTUlBVjhJUXdnQmlBRWZDRUdJQUlwQXlnaEJDQUNLUU1nSVFVZ0FrRXdhaUFBUVNCcUlBa2dCM3hDSDRsQzgrVGo5UHZOcmNtMGYzNGlDQ0FEZkNBQUtRQVFJQXdnQmlBTGZFSVdpVUx6NU9QMCs4MnR5YlIvZm53aUJud1Fvb0NBZ0FBZ0FFSEFBR29oQUNBQ0tRTTRJUU1nQWlrRE1DRUhJQTBoQ1NBS1FzQUFmQ0lLUWdCU0RRQUxJQVpDTDRnZ0JvVkM4K1RqOVB2TnJjbTBmMzRnRFh3Z0JTQUhFS0dBZ0lBQWZDQUVJQU1Rb1lDQWdBQWdDSHdRb1lDQWdBQWhCZ3dCQ3lBQklBQnFJZ0ZCY0dvcEFBQWdBMElCaGtMUGdNSDhzc2ZhOEpwL2ZDSUVmaUlGSUFGQllHb3BBQUFpQTN3Z0FDa0FHRUlKZmlJSElBQXBBQkJDejREQi9MTEgydkNhZjM1OElnZ2dBVUZvYWlrQUFDSUdmQ0lKSUFBcEFBZ2lDbndnQ1NBQlFYaHFLUUFBSWcxOElBaENGb2tnQm53aUNId2dCeUFOSUFBcEFBQkN6NERCL0xMSDJ2Q2FmMzU4SWdrZ0E0VjhRZ0Y4SWdNZ0JYd2dDVUlWaVNBS1FpS0pJQVo4UWdsK2ZDQURmQ0FFZmlJR1FqaUdJQVpDZ1A0RGcwSW9ob1FnQmtLQWdQd0hnMElZaGlBR1FvQ0FnUGdQZzBJSWhvU0VJQVpDQ0loQ2dJQ0ErQStESUFaQ0dJaENnSUQ4QjRPRUlBWkNLSWhDZ1A0RGd5QUdRamlJaElTRWZDQUVmaUlHUWppR0lBWkNnUDREZzBJb2hvUWdCa0tBZ1B3SGcwSVloaUFHUW9DQWdQZ1BnMElJaG9TRUlBWkNDSWhDZ0lDQStBK0RJQVpDR0loQ2dJRDhCNE9FSUFaQ0tJaENnUDREZ3lBR1FqaUloSVNFZkNBRWZpSUdRamlHSUFaQ2dQNERnMElvaG9RZ0JrS0FnUHdIZzBJWWhpQUdRb0NBZ1BnUGcwSUlob1NFSUFaQ0NJaENnSUNBK0ErRElBWkNHSWhDZ0lEOEI0T0VJQVpDS0loQ2dQNERneUFHUWppSWhJU0VmQ0FFZm53aUJrSXZpQ0FHaFNBRWZpQUlmQ0VHQ3lBQ1FjQUFhaVNBZ0lDQUFDQUdDNndCQVFWL1FRQWhCQUpBSUFFZ0EwY05BQ0FCUVFKMlFRRnFJUVVnQWlFRElBQWhCZ0pBQTBBZ0JVRi9haUlGUlEwQklBTW9BQUFoQnlBR0tBQUFJUWdnQTBFRWFpRURJQVpCQkdvaEJpQUlJQWRHRFFBTUFnc0xJQUZCQTNFaEF5QUFJQUZCZkhFaUJXb2hCaUFDSUFWcUlRVURRQ0FEUlNFRUlBTkZEUUVnQTBGL2FpRURJQVV0QUFBaEJ5QUdMUUFBSVFnZ0JrRUJhaUVHSUFWQkFXb2hCU0FJSUFkR0RRQUxDeUFFQzdFQ0FRTi9Ba0FnQUMwQUhDSUNRUlJQRFFBZ0FDZ0NHRUdBQW1wQmZ5QUNkRUYvYzBrTkFDQUFJQUpCQVdvaUFqb0FIQXNDUUFKQUlBSkIvd0Z4UWNBQUlBQXRBQjBpQTJzaUJFSC9BWEZMRFFBZ0FDZ0NCRUVEZENBQUtBSUFha0Y0YWlJRUlBUXBBd0FnQWExQy8vOC9nMEVBSUFJZ0EycHJRVDl4cllhRU53TUFJQUF0QUJ3Z0FDMEFIV29oQWd3QkN3SkFJQU5CL3dGeFFjQUFSZzBBSUFBb0FnUkJBM1FnQUNnQ0FHcEJlR29pQXlBREtRTUFJQUZCLy84L2NTQUNJQVJyUWY4QmNYYXRoRGNEQUNBQUxRQWNJUUlMSUFBZ0FDZ0NCQ0lEUVFGcU5nSUVJQUFvQWdBZ0EwRURkR29nQWExQy8vOC9neUFFSUFKclFUOXhyWVkzQXdBZ0FDMEFIQ0FFYXlFQ0N5QUFJQUk2QUIwZ0FDQUFLQUlVUVFGcU5nSVVJQUFnQUNnQ0dFRUJhallDR0F2R0R3UUNmd0YrQVgwS2Z5T0FnSUNBQUVHUUFtc2lBaVNBZ0lDQUFBSkFBa0FDUUNBQkRRQWdBa0VKT3dIa0FTQUNRZ0EzQXR3QlFRQWhBeUFDUVFBMkF0QUJJQUpDcXRXcTFRbzNBc2dCSUFJamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndMVUFTQUNRY2dCYWhDRmdJQ0FBRUgvL3dOeERRSWdBa0VnYWtFWWFpQUNRY2dCYWtFWWFpa0NBRGNEQUNBQ1FTQnFRUkJxSUFKQnlBRnFRUkJxS1FJQU53TUFJQUpCSUdwQkNHb2dBa0hJQVdwQkNHb3BBZ0EzQXdBZ0FpQUNLUUxJQVRjRElBd0JDeUFDUWNnQWFrRUFOZ0lBSUFKQ0FEY0RRQ0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndKTUlBSWdCRGNDOUFFZ0FrRUFOZ0x3QVNBQ1FxclZxdFVLTndMb0FRSkFBa0FnQWJOREFBQ0FQNUlRbzRDQWdBQWlCVU1BQUlCUFhTQUZRd0FBQUFCZ2NVVU5BQ0FGcVNFRERBRUxRUUFoQXdzQ1FDQUNRZWdCYWlBRFFSUWdBMEVVU1JzZ0FXeEJ3QUJxUVFaMkVJNkFnSUFBUWYvL0EzRU5BQ0FDUWNnQmFrRVFhaUlESUFKQjZBRnFRUkJxS0FJQU5nSUFJQUpCeUFGcVFRaHFJZ1lnQWtIb0FXcEJDR29wQWdBM0F3QWdBaUFDS1FMb0FUY0R5QUVnQWtFSk93SGtBU0FDUWdBM0F0d0JJQUpCeUFGcUVJV0FnSUFBUWYvL0EzRU5BQ0FDUWN3QWFpRUhJQUpCMkFCcVFSaHFJQUpCeUFGcVFSaHFLUU1BTndNQUlBSkIyQUJxUVJCcUlBTXBBd0EzQXdBZ0FrSFlBR3BCQ0dvZ0Jpa0RBRGNEQUNBQ0lBSXBBOGdCTndOWUlBSkJBRHNCZkNBQ1FRQTZBSDVCZ0FJaENFRUFJUWtEUUNBQUlBbHFJUXBCQWlFREFrQUNRQUpBQWtBRFFDQUpJQU5xSWdzZ0FVOE5BaUFDUVlBQmFpQUNRY0FBYWlBS0lBTVFpWUNBZ0FBQ1FBSkFJQUl0QUlRQkRRQWdBMEVDUncwQklBb3RBQUFoQ1F3REN5QUNJQUl0QUlJQk9nQitJQUlnQWk4QmdBRTdBWHdnQTBFQmFpRUREQUVMQ3lBQ0x3RjhJQUl0QUg1QkVIUnlJUWtMSUFKQjJBQnFJQWtRaklDQWdBQWdDMEYvYWlFSkFrQWdDRUgvL3o5eFFmLy9QMGNOQUFKQUlBSW9Ba0FpQTBVTkFDQURRUUFnQTBGOGFpZ0NBQ0lLRUtTQWdJQUFHaUFDUVFBMkFrUWdBaUFLclVMUUFINUM1QUNBUGdKSUN5QUNRZGdBYWtILy96OFFqSUNBZ0FBZ0FrRUFOZ0p3SUFKQkNUb0FkRUdBQWlFSURBUUxJQUpCd0FCcUlBb2dBeENQZ0lDQUFCb2dBaWdDU0EwQ0FrQUNRQ0FDS0FKQUlnc05BRUVCSVF3TUFRc2dDMEY4YWlnQ0FLMUMwQUIrSWdRZ0JFTGtBSUo5UXVRQWZFTFFBSUNuSVF3TElBWkJBRFlDQUNBQ1FnQTNBOGdCQWtCQkFBMEFBa0FDUUVJQlFTQWdER2RyclVMLy93T0RocWNpREVFSUlBeEJDRXNiSWcxQkQyb2lEaUFOUVFOMGFpSVBJQTFCQW5ScVFYeHhJZ3dOQUVGOElRd01BUXNnQWlrQ1RDSUVweUFNUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaURFVU5BUXNnRENBTk5nSUlJQXdnRENBT1FYeHhhallDQkNBTUlBd2dEMEY4Y1dvMkFnQWdBaUFNUVF4cUlndzJBc2dCSUF4QkFDQU5FS1NBZ0lBQUdpQUNJQTJ0UXRBQWZrTGtBSUErQXRBQklBSW9Ba1FpRDBVTkFnSkFBa0FnQ3cwQVFRQWhEQXdCQ3lBTFFYeHFLQUlBSVF3TElBdEJkR29pRGlnQ0FDRU5JQTVCQkdvb0FnQWhEZ05BSUF4RkRRTUNRQ0FMTEFBQVFRQk9EUUFnQWtISUFXb2dEaWdDQUNBT1FRUnFLQUlBSUEwdkFRQWdEVUVDYWkwQUFFRVFkSElRa0lDQWdBQWdBaWdDekFFZ0QwWU5CQXNnREVGL2FpRU1JQXRCQVdvaEN5QU9RUWhxSVE0Z0RVRUVhaUVOREFBTEN5QUNRY2dCYWlBSEVJaUFnSUFBREFRTEFrQUNRQ0FKUVFGcUlBRkpEUUFnQ2kwQUFDRUREQUVMSUFKQmlBRnFRUkJxSUFKQndBQnFRUkJxS0FJQU5nSUFJQUpCaUFGcVFRaHFJQUpCd0FCcVFRaHFLUU1BTndNQUlBSWdBaWtEUURjRGlBRWdBa0dnQVdvZ0FrR0lBV29nQ2lBREVJbUFnSUFBQWtBQ1FBSkFJQUl0QUtRQkRRQWdBMEVDUncwQklBb3RBQUFoQXd3Q0N5QUNMd0dnQVNBQ0xRQ2lBVUVRZEhJaEF3d0NDeUFDUWFnQmFrRVFhaUFDUWNBQWFrRVFhaWdDQURZQ0FDQUNRYWdCYWtFSWFpQUNRY0FBYWtFSWFpa0RBRGNEQUNBQ0lBSXBBMEEzQTZnQklBSkJ3QUZxSUFKQnFBRnFJQW9nQTBGL2FoQ0pnSUNBQUNBQ0x3SEFBU0FDTFFEQ0FVRVFkSEloQXdzZ0FrSFlBR29nQXhDTWdJQ0FBQ0FMSUFCcVFYOXFMUUFBSVFNTElBSkIyQUJxSUFNUWpJQ0FnQUFnQWtIQUFHb1FoNENBZ0FBZ0FrRWdha0VZYWlBQ1FkZ0Fha0VZYWlrREFEY0RBQ0FDUVNCcVFSQnFJQUpCMkFCcVFSQnFLUU1BTndNQUlBSkJJR3BCQ0dvZ0FrSFlBR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTllOd01nREFRTElBSkJ3QUJxUVFocUlnc29BZ0FoRENBTElBWW9BZ0EyQWdBZ0JpQU1OZ0lBSUFKQkFEWUNSQ0FDS1FOQUlRUWdBaUFDS1FQSUFUY0RRQ0FDSUFRM0E4Z0JJQUpCeUFGcUlBY1FpSUNBZ0FBTElBSkJ3QUJxSUFvZ0F5QUlFSkNBZ0lBQUlBaEJBV29oQ0F3QUN3c2dBa0hBQUdvUWg0Q0FnQUJCQUNFRERBRUxJQUpCR0dvZ0FrRWdha0VZYWlrREFEY0RBQ0FDUVJCcUlBSkJJR3BCRUdvcEF3QTNBd0FnQWtFSWFpQUNRU0JxUVFocUtRTUFOd01BSUFJZ0Fpa0RJRGNEQUVFQUlRTWdBaUFDS0FJRUlnRkJBbW9RaG9DQWdBQkIvLzhEY1EwQUlBSW9BZ0FpQXlBQ0tBSUVRUU4wYWlJSlFRaHFJQUkxQWdoQ0E0WTNBd0FnQ1NBQlFRTjBJZ0ZCQkhLdFFpQ0dJQUkxQWhTRU53TUFJQU1nQVdwQkJHb2hBd3NnQWtHUUFtb2tnSUNBZ0FBZ0F3dXRBZ01GZndGK0FYOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FDQUVSUTBBSUFJZ0FVSC8vLy8vQVVzNkFBZ2dBVUdBZ0lDQUFrOE5BQ0FBS0FJTUlBVWdCRUVEZEVFRElBRkJBM1JCQUNBQVFSQnFLQUlBS0FJRUVZS0FnSUFBQUVFQmNVVU5BQ0FBSUFFMkFnaEJBQ0VEREFFTElBQkJER29pQmlrQ0FDRUhJQUlnQVVILy8vLy9BVXM2QUF3Q1FDQUJRWUNBZ0lBQ1R3MEFBa0FDUUNBQlFRTjBJZ2dOQUVGNElRZ01BUXNnQjZjZ0NFRURRUUFnQjBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFFTElBZ2dBQ2dDQUNBQUtBSUVRUU4wRUtXQWdJQUFJUWdnQmlBRklBUVFvSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0NEWUNBQXdCQzBFQklRTUxJQUpCRUdva2dJQ0FnQUFnQXd1Z0FnTUVmd0YrQkg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNPQmdJQ0FBQ0VFQWtBQ1FDQUFLQUlFRFFBZ0JFR0FnTUNBQUdvaEJRd0JDeUFBS0FJQUlRWWdBU0FDRUlxQWdJQUFJUWNDUUFKQUlBWU5BRUVBSVFSQmZ5RUlEQUVMSUFaQmZHb29BZ0FpQkVGL2FpRUlDeUFHUVhocUlRa2dDQ0FIcDNFaEFDQUhRam1JcHlFS0EwQWpnWUNBZ0FCQmdJREFnQUJxSVFVZ0JpQUFhaXdBQUNJTFJRMEJJQVJGRFFFQ1FDQUxRWDlLRFFBZ0NpQUxRZjhBY1VjTkFDQUJJQUlnQ1NnQ0FDQUFRUU4wYWlJTEtBSUFJQXNvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBMEVCT2dBTUlBTkJDR29oQlF3Q0N5QUVRWDlxSVFRZ0FFRUJhaUFJY1NFQURBQUxDeUFGTFFBRUlRQWdBMEVRYWlTQWdJQ0FBQ0FBUVFCSEM5Z0JBZ0YrQkg4Z0FDQUJJQUlRajRDQWdBQWFJQUVnQWhDS2dJQ0FBQ0VFUVg4aEJRSkFJQUFvQWdBaUJrVU5BQ0FHUVh4cUtBSUFRWDlxSVFVTElBVWdCS2R4SVFjQ1FBTkFJQVlnQjJvaUNDd0FBRUYvU2cwQklBZEJBV29nQlhFaEJ3d0FDd3NnQUNBQUtBSUlRWDlxTmdJSUlBZ2dCRUk1aUtkQmdBRnlPZ0FBSUFBb0FnQkJlR29vQWdBZ0IwRURkR29pQmlBQ05nSUVJQVlnQVRZQ0FDQUFLQUlBUVhScUtBSUFJQWRCQW5ScUlnY2dBenNCQUNBSFFRSnFJQU5CLy84L2NVRVFkam9BQUNBQUlBQW9BZ1JCQVdvMkFnUUxKUUVCZndOQVFYOGdBRUVCZGlBQWFrRUlhaUlDSUFJZ0FFa2JJZ0FnQVVrTkFBc2dBQXMvQVFGL0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFLUUlNTndNSUlBRkJDR29nQUNnQ0FDQUFLQUlJRUpPQWdJQUFJQUZCRUdva2dJQ0FnQUFMTndFQmZ3SkFJQUpCQTNSQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVFRUlBSWJJQU5CQWtFQUlBQW9BZ1FvQWdnUmdZQ0FnQUFBQ3d1RERBTUJmd0YrQzM4amdJQ0FnQUJCMEFCcklnTWtnSUNBZ0FBZ0EwRUFOZ0pFSUFOQ3F0V3ExUW8zQWp3Z0F5T0JnSUNBQUVHWWdNQ0FBR29wQXdBaUJEY0NTQUpBQWtBQ1FBSkFJQUlOQUVHcTFhclZlaUVGUVFBaEJnd0JDMEdxMWFyVmVpRUZJQUloQmlBRFFjZ0FhaUlIUWFyVnF0VjZRUUFnQWhDVmdJQ0FBRUVCY1EwQUlBTkJLR29nQnlBQ0VKYUFnSUFBSUFNdkFUQU5BU0FES0FJc0lRWWdBeWdDS0NFRkMwRUpJUWhCQUNFSlFRQWhDa0VBSVF0QkFDRU1BMEFDUUFKQUFrQUNRQUpBSUF3Z0FrWU5BQ0FJUWY4QmNTSUhRUlJKRFFFTUJBc2dBeUFFTndNZ0FrQUNRQ0FEUVNCcUlBVWdCaUFDRUpXQWdJQUFRUUZ4UlEwQUlBVWhDQXdCQ3lBRFFUeHFJQU5CSUdvZ0FoQ1dnSUNBQUNBREx3RkVEUVlnQXlnQ1BDSUlJQVVnQXlnQ1FDSUNRUUowRUtXQWdJQUFHaUFESUFRM0F5Z2dBMEVvYWlBRklBWVFsNENBZ0FBTEFrQWdBZzBBUVFBaENVR3ExYXJWZWlFS1FRQWhEQXdDQ3lBRFFRQTJBakFnQTBLcTFhclZDamNDS0NBRElBUTNBalFnQTBFQVFmLy9QeENSZ0lDQUFDSUhRZi8vLy84QlN6b0FQQ0FIUVlDQWdJQUNUdzBDQWtBQ1FDQUhRUU4wSWcwTkFFRjhJUTBNQVFzZ0JLY2dEVUVDUVFBZ0JFSWdpS2NvQWdBUmdJQ0FnQUFBSWcxRkRRTUxJQU1nQnpZQ01DQURJQTAyQWloQkFDRUhBa0FEUUNBSFFmai8vd05HRFFFZ0RTQUhha0lBTndJQUlBZEJDR29oQnd3QUN3c2dBMEgvL3o4MkFpd2dBeUFFTndKSVFRQWhCeUFEUVFBMkFrUWdBMEtxMWFyVkNqY0NQQ0FEUVR4cUlBSkJHR3dRbUlDQWdBQkIvLzhEY1EwQ0lBTXBBa2doQkNBREtBSkVJUXdnQXlnQ1BDSUtJQU1vQWtBaUNXb2dDQzBBQURvQUFDQU5JQWd2QVFBZ0NFRUNhaTBBQUVFUWRISkJBM1JxSWc1QkFUWUNCQ0FPSUFvMkFnQWdDVUVCYWlFQVFZQUNJUTlCQVNFT0EwQWdBQ0VKQWtBQ1FBSkFBa0FnRGlBQ1R3MEFBa0FnQ0NBT1FRSjBhaUlBTHdFQUlBQkJBbW90QUFCQkVIUnlJZ0JCLy84L1J3MEFJQTVCQVdvaURpQUNUdzBCUVFBaEJ3SkFBMEFnQjBINC8vOERSZzBCSUEwZ0IycENBRGNDQUNBSFFRaHFJUWNNQUFzTEFrQWdDQ0FPUVFKMGFpSUhMd0VBSUFkQkFtb3RBQUJCRUhSeUlnZEJnQUpKRFFBZ0EwSC8vejgyQWl3TUNRc2dDaUFKYWlBSE9nQUFJQWxCQVdvaEFFR0FBaUVQREFRTElBQkJnQUpKRFFFQ1FDQU5JQUJCQTNScUlnQW9BZ0FpQ3cwQUlBb2dDV29nQ2lBSGFpSUFJQWtnQjJzaUN4Q2xnSUNBQUJvZ0NpQUxJQWxxSWd0cUlBQXRBQUE2QUFBZ0MwRUJhaUVBREFNTElBb2dDV29nQ3lBQUtBSUVJZ0FRcFlDQWdBQWFJQUFnQ1dvaEFBd0NDeUFEUWYvL1B6WUNMQ0FEUVNocUVKS0FnSUFBREFVTElBb2dDV29nQURvQUFDQUpRUUZxSVFBTElBMGdEMEgvL3o5eFFRTjBhaUlMSUFrZ0IydEJBV28yQWdRZ0N5QUtJQWRxTmdJQUlBOUJBV29oRHdzZ0RrRUJhaUVPSUFraEJ3d0FDd3NnQ0NBTFFZQUNha0YvSUFkMFFYOXpUMm9oQ0F3Q0N5QURJQVEzQWhnZ0F5QUtOZ0lNSUFNZ0NUWUNFQ0FESUF3MkFoUUNRQUpBSUF3Z0NVRUlhaUlOU1EwQUlBa2hCd3dCQzBFQUlRY2dBMEVNYWlBTUlBMFFrWUNBZ0FBUW1JQ0FnQUJCLy84RGNRMEZJQU1vQWd3aENpQURLQUlVSVF3Z0F5Z0NFQ0VIQ3lBS0lBZHFJZ2NnQ1RvQUFDQUhRUWRxSUF4QkdIWTZBQUFnQjBFR2FpQU1RUkIyT2dBQUlBZEJCV29nREVFSWRqb0FBQ0FIUVFScUlBdzZBQUFnQjBFRGFpQUpRUmgyT2dBQUlBZEJBbW9nQ1VFUWRqb0FBQ0FIUVFGcUlBbEJDSFk2QUFBZ0NpQUphaUVIREFRTElBTkJLR29Ra29DQWdBQU1BZ3RCQUNFT0lBZ2hCd0pBQTBBZ0IwSC9BWEVpRFVVTkFTQUFJQW9nQ1VIL0FYRkJ3QUJHSWc5cUlncEJBM1JxS1FNQVFRQWdDU0FQR3lJSlFUOXhyWVpCQUNBTlFjQUFJQWxyUWY4QmNTSVBJQTBnRDBrYklnMXJRVDl4cllpbklBY2dEV3NpQjNRZ0RuSWhEaUFOSUFscUlRa01BQXNMSUFVZ0RFRUNkR29pQnlBT093RUFJQWRCQW1vZ0RrSC8vejl4SWdkQkVIWTZBQUJCQUNBTFFRRnFJQWRCLy84L1JpSUhHeUVMUVFrZ0NDQUhHeUVJSUF4QkFXb2hEQXdBQ3d0QkFDRUhDeUFEUWRBQWFpU0FnSUNBQUNBSEM1QUJBUUovSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFDUUFKQUlBTU5BQ0FFSUFBcEFnQTNBd0FnQkNBQklBSVFsNENBZ0FCQkFTRUZEQUVMUVFBaEJTQUNSUTBBSUFRZ0EwSC8vLy8vQTBzNkFBd2dBMEdBZ0lDQUJFOE5BQ0FBS0FJQUlBRWdBa0VDZEVFQ0lBTkJBblJCQUNBQUtBSUVLQUlFRVlLQWdJQUFBQ0VGQ3lBRVFSQnFKSUNBZ0lBQUlBVUx3UUVDQVg4QmZpT0FnSUNBQUVFZ2F5SURKSUNBZ0lBQUlBRXBBZ0FoQkNBRElBSkIvLy8vL3dOTE9nQWNBa0FDUUNBQ1FZQ0FnSUFFVHcwQUFrQUNRQ0FDUVFKMElnRU5BRUY4SVFFTUFRc2dCS2NnQVVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnRkZEUUVMSUFNZ0FqWUNGQ0FESUFFMkFoQWdBMEVBT3dFWUlBTkJFR29oQWd3QkN5QURRUUU3QVF3Z0EwRUVhaUVDQ3lBQUlBSXBBZ0EzQWdBZ0FFRUlhaUFDUVFocUtBSUFOZ0lBSUFOQklHb2tnSUNBZ0FBTE53RUJmd0pBSUFKQkFuUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUVJQUliSUFOQkFrRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3dmFBUUVGZnlPQWdJQ0FBRUVnYXlJQ0pJQ0FnSUFBUVFBaEF3SkFJQUFvQWdnaUJDQUJUdzBBSUFBb0FnQWhCUUpBQWtBZ0JFVU5BRUVBRFFBZ0FDZ0NEQ0FGSUFSQkFDQUJRUUFnQUVFUWFpZ0NBQ2dDQkJHQ2dJQ0FBQUJCQVhGRkRRQWdBQ0FCTmdJSURBRUxJQUlnQUVFTWFpSUdLUUlBTndNUUlBSkJHR29nQWtFUWFpQUJFSUdBZ0lBQUlBSXZBUndpQXcwQklBSW9BaGdnQUNnQ0FDQUFLQUlFRUtXQWdJQUFJUU1nQmlBRklBUVFoSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0F6WUNBQXRCQUNFREN5QUNRU0JxSklDQWdJQUFJQU1MMGdJREJuOEJmZ2QvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQUNnQ0JDRUVJQUFvQWdBaEJVRUFJUVlnQWtIL0FYRWhCd04vQWtBQ1FBSkFJQVlnQkVjTkFFRi9JUWdNQVFzQ1FDQUZJQVpCQkhScUlnSkJDR29wQXdBaUNVSUFVdzBBSUFJcEF3QjdJQWw3ZktjZ0FVa05BZ3NnQmtFSGRDSUlRWUFCYWlFS0EwQWdDQ0FLVHcwQ0lBZ2dBQ2tDQUNJSlFobUlwMEdBZjNFaUFpQUlJQUpMR3lJTElBaHJJUXdnQ2FkQkNDQUpRaUNJcHhzaERTQUlRUkIwYUNFT1FRQWhBZ0pBQTBBQ1FDQU1JQUpIRFFBZ0N5RVBEQUlMUWY4QklBZ2dBbW9pRDBFSGNTSVFRUWR6ZGtFQklCQjBjU0FOSUE5QkEzWnFMUUFBY1VVTkFTQUNRUUZxSWdJZ0FVa05BQ0FPSUFkSkRRQUxJQU1nQ1RjRENDQURRUWhxSUFnZ0FVRUFFSnFBZ0lBQURBSUxJQTlCQVdvaENBd0FDd3NnQTBFUWFpU0FnSUNBQUNBSUR3c2dCa0VCYWlFR0RBQUxDMVFCQVg4Z0EwRUJjU0VFQWtBRFFDQUNSUTBCSUFBb0FnQkJDQ0FBS0FJRUd5QUJRUU4yYWlJRElBTXRBQUJCZmlBQlFRZHhJZ04zY1NBRUlBTjBjam9BQUNBQlFRRnFJUUVnQWtGL2FpRUNEQUFMQ3d2YkFRRURmeU9BZ0lDQUFFRVFheUlDSklDQWdJQUFBa0FnQUVHQUVFOE5BQ09CZ0lDQUFFR29nTUNBQUdvZ0FDQUJRWUFRSUFGQmdCQkpHeUFBYXhDY2dJQ0FBQXNDUUNBQlFZQVFUUTBBQWtBamdZQ0FnQUJCb0lEQWdBQnFLQUlFRFFBamdZQ0FnQUJCb0lEQWdBQnFJZ05CZ0NBMkFnUWdBeUFCUVg5cUlnRkJFSFFpQkRZQ0FDQUVRUUJCZ0lBRUVLU0FnSUFBR2dzZ0FpT0JnSUNBQUVHZ2dNQ0FBR29wQXdBM0F3Z2dBa0VJYWlBQVFZQVFJQUJCZ0JCTEd5SUFRWUJ3YWlBQklBQnJFSnlBZ0lBQUN5QUNRUkJxSklDQWdJQUFDenNCQVg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNBRElBQXBBZ0EzQXdnZ0EwRUlhaUFCSUFKQkFSQ2FnSUNBQUNBRFFSQnFKSUNBZ0lBQUM3MEJBUVIvUVFBaEJBSkFJQUZCZ1lCOFR3MEFBa0FqZ1lDQWdBQkJxSURBZ0FCcUlBRkIvLzhEYWtFUWRpSUJJQUlRbVlDQWdBQWlCRUYvUncwQUFrQWpnWUNBZ0FCQm9JREFnQUJxSUFFZ0FoQ1pnSUNBQUNJRVFYOUdEUUFnQkVHQUVHb2hCQXdCQzBFQUlRUkJBU0FDZENJRlB3QWlCa0VRZENJQ2FrRi9ha0VBSUFWcmNTSUZJQUpyUVJCMklnY2dBV3BBQUVFQlNBMEJJQWNnQm1vaEJDQUZJQUpHRFFBZ0JpQUVFSnVBZ0lBQUN5QUVRUkIwSVFRTElBUUxUd0VCZndKQUlBSkIvLzhEYWlJR1FZQ0FmSEVnQkU4aUFrVU5BQ0FFUWYvL0EycEJFSFlpQkNBR1FSQjJJZ1pHRFFBZ0JDQUJRZi8vQTJwQkVIWWlBV29nQVNBR2FoQ2JnSUNBQUFzZ0Fnc2hBQ0FCUWYvL0EycEJFSFlpQVNBQklBSkIvLzhEYWtFUWRtb1FtNENBZ0FBTE53RUJmd0pBSUFKQkEzUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUlJQUliSUFOQkEwRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3cytBQ0FCSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0JDTDRnZ0FZVWdBSVZDNmRyZzJZN0IrdStkZjM0aUFVSXZpQ0FCaFVMcDJ1RFpqc0g2NzUxL2ZndENBUUorSUFBZ0FTa0FBQ0FDZkNJQ0lBRXBBQWg4SUFFcEFCQjhJZ1FnQVNrQUdDSUZmRGNEQUNBQUlBUkNGSWtnQW53Z0JTQUNJQU44ZkVJcmlYdzNBd2dMbmdJQ0FuOENmUUpBQWtBQ1FDQUF2Q0lCUVlDQWdBUk9EUUJEQUFEQWYwTUFBSUQvSUFGQi8vLy8vd2R4SWdJYklRTWdBVUVBU0EwQ0lBSkZEUUlnQUVNQUFBQk1sTHdoQVVIb2ZpRUNEQUVMSUFBaEF5QUJRZi8vLy9zSFN3MEJRWUYvSVFKREFBQUFBQ0VESUFGQmdJQ0EvQU5HRFFFTElBRkJqZmFyQW1vaUFVSC8vLzhEY1VIemlkVDVBMnErUXdBQWdMK1NJZ0FnQUNBQVF3QUFBRCtVbENJRGs3eEJnR0J4dmlJRVF3Q3d1RCtVSUFBZ0JKTWdBNU1nQUNBQVF3QUFBRUNTbFNJQUlBTWdBQ0FBbENJQUlBQWdBSlFpQUVQdTZaRStsRU9xcWlvL2twUWdBQ0FBUXlhZWVENlVReFBPekQ2U2xKS1NsSklpQUVNQXNMZy9sQ0FBSUFTU1E5U2FPTG1Va3BJZ0FpQUJRUmQyYXJLU0lRTUxJQU1MTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgSj1hd2FpdCBmKCksQj1KLmV4cG9ydHM7ZnVuY3Rpb24gcyhBKXtjb25zdHtwdHI6ZyxsZW5ndGg6SX09ayhBLEIpLEM9Qi5jb21wcmVzc1BhY2tlZChnLEkpO0IuZnJlZShnLEkpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09YShCLm1lbW9yeSxDKSxvPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksdz1oKG8pO3JldHVybiBCLmZyZWUoUSxpKSx3fWZ1bmN0aW9uIGUoQSl7Y29uc3QgZz0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpO2xldCBJPUIuYWxsb2NVaW50MTYoQS5sZW5ndGgtMiksQz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEksQS5sZW5ndGgtMik7Zm9yKGxldCBEPTA7RDxBLmxlbmd0aC0yO0QrKylDW0RdPUEuY2hhckNvZGVBdChEKTtjb25zdCBRPUIuZGVjb21wcmVzc1BhY2tlZChJLEEubGVuZ3RoLTIsZyk7Qi5mcmVlKEksMiooQS5sZW5ndGgtMikpO2NvbnN0e3N0YXJ0OkUsZW5kOmksY2FwYWNpdHk6b309YShCLm1lbW9yeSxRKSx3PW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLGkpKSx0PW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZSh3KTtyZXR1cm4gQi5mcmVlKEUsbyksdH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihBKXtjb25zdHtjb21tYW5kOmcsaWQ6SSxkYXRhOkN9PUEuZGF0YTtzd2l0Y2goZyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOmUoQyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOnMoQyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
+ function V(Q) {
3
3
  let U;
4
4
  try {
5
- if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
5
+ if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
6
6
  throw "";
7
- return new Worker(U);
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;
8
14
  } catch {
9
- return new Worker("data:application/javascript;base64," + l, { type: "module" });
10
- } finally {
11
- U && (window.URL || window.webkitURL).revokeObjectURL(U);
15
+ return new Worker(
16
+ "data:application/javascript;base64," + J,
17
+ {
18
+ type: "module",
19
+ name: Q?.name
20
+ }
21
+ );
12
22
  }
13
23
  }
14
- const R = new S();
15
- let J = 0;
16
- const Q = {};
17
- R.onmessage = function(U) {
18
- const F = U.data.id;
19
- Q[F](U.data.data), delete Q[F];
24
+ const R = new V();
25
+ let d = 0;
26
+ const B = {};
27
+ R.onmessage = function(Q) {
28
+ const U = Q.data.id;
29
+ B[U](Q.data.data), delete B[U];
20
30
  };
21
- async function Z(U) {
22
- const F = J++;
23
- return new Promise((B) => {
24
- Q[F] = B, R.postMessage({ command: "compress", id: F, data: U });
31
+ async function Z(Q) {
32
+ const U = d++;
33
+ return new Promise((F) => {
34
+ B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
25
35
  });
26
36
  }
27
- async function d(U) {
28
- const F = J++;
29
- return new Promise((B) => {
30
- Q[F] = B, R.postMessage({ command: "decompress", id: F, data: U });
37
+ async function W(Q) {
38
+ const U = d++;
39
+ return new Promise((F) => {
40
+ B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
31
41
  });
32
42
  }
33
43
  export {
34
44
  Z as compressPacked,
35
- d as decompressPacked
45
+ W as decompressPacked
36
46
  };
@@ -1,2 +1,2 @@
1
- export declare function compress(data: string): Promise<unknown>;
2
- export declare function decompress(data: string): Promise<unknown>;
1
+ export declare function compress(data: string): Promise<string>;
2
+ export declare function decompress(data: string): Promise<string>;
@@ -1,36 +1,46 @@
1
- const V = "ZnVuY3Rpb24gRChJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShJKSwgQyA9IGcuYWxsb2NVaW50OChBLmxlbmd0aCk7CiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KAogICAgZy5tZW1vcnkuYnVmZmVyLAogICAgQywKICAgIEEubGVuZ3RoCiAgKS5zZXQoQSksIHsgcHRyOiBDLCBsZW5ndGg6IEEubGVuZ3RoIH07Cn0KZnVuY3Rpb24gaChJKSB7CiAgY29uc3QgZyA9IG5ldyBBcnJheShJLmxlbmd0aCk7CiAgZm9yIChsZXQgQSA9IDA7IEEgPCBJLmxlbmd0aDsgQSsrKQogICAgZ1tBXSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoSVtBXSk7CiAgcmV0dXJuIGcuam9pbigiIik7Cn0KZnVuY3Rpb24gdyhJLCBnKSB7CiAgY29uc3QgQSA9IG5ldyBVaW50MzJBcnJheSgKICAgIEkuYnVmZmVyLnNsaWNlKGcsIGcgKyA4KQogICksIEMgPSBBLmF0KDApLCBRID0gQS5hdCgxKTsKICByZXR1cm4gewogICAgc3RhcnQ6IGcgLSBDLAogICAgZW5kOiBnLAogICAgY2FwYWNpdHk6IFEKICB9Owp9CnZhciBzID0gYXN5bmMgKEkgPSB7fSwgZykgPT4gewogIGxldCBBOwogIGlmIChnLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKICAgIGNvbnN0IEMgPSBnLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCAiIik7CiAgICBsZXQgUTsKICAgIGlmICh0eXBlb2YgQnVmZmVyID09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIEJ1ZmZlci5mcm9tID09ICJmdW5jdGlvbiIpCiAgICAgIFEgPSBCdWZmZXIuZnJvbShDLCAiYmFzZTY0Iik7CiAgICBlbHNlIGlmICh0eXBlb2YgYXRvYiA9PSAiZnVuY3Rpb24iKSB7CiAgICAgIGNvbnN0IEUgPSBhdG9iKEMpOwogICAgICBRID0gbmV3IFVpbnQ4QXJyYXkoRS5sZW5ndGgpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEUubGVuZ3RoOyBpKyspCiAgICAgICAgUVtpXSA9IEUuY2hhckNvZGVBdChpKTsKICAgIH0gZWxzZQogICAgICB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpOwogICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFEsIEkpOwogIH0gZWxzZSB7CiAgICBjb25zdCBDID0gYXdhaXQgZmV0Y2goZyksIFEgPSBDLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKSB8fCAiIjsKICAgIGlmICgiaW5zdGFudGlhdGVTdHJlYW1pbmciIGluIFdlYkFzc2VtYmx5ICYmIFEuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24vd2FzbSIpKQogICAgICBBID0gYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQywgSSk7CiAgICBlbHNlIHsKICAgICAgY29uc3QgRSA9IGF3YWl0IEMuYXJyYXlCdWZmZXIoKTsKICAgICAgQSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsIEkpOwogICAgfQogIH0KICByZXR1cm4gQS5pbnN0YW5jZTsKfSwgRyA9IChJKSA9PiBzKEksICJkYXRhOmFwcGxpY2F0aW9uL3dhc207YmFzZTY0LEFHRnpiUUVBQUFBQlVReGdCSDkvZjM4QmYyQUZmMzkvZjM4QVlBWi9mMzkvZjM4QmYyQUJmd0YvWUFOL2YzOEFZQUovZndCZ0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BQ2YzOEJmMkFEZjM5L0FYOWdCWDkrZm41K0FBTWRIQU1FQXdRRkJBWUZCd2dBQ1FrSkJnUUpDUW9IQlFRQUFnRUxDZ29FQlFGd0FRUUVCUU1CQUJFR0RnSi9BVUdBZ01BQUMzOEFRUUFMQjBRR0JtMWxiVzl5ZVFJQUNtRnNiRzlqVldsdWREZ0FBQXRoYkd4dlkxVnBiblF4TmdBQ0JHWnlaV1VBQkFoamIyMXdjbVZ6Y3dBTENtUmxZMjl0Y0hKbGMzTUFFQWtKQVFCQkFRc0RGaGNZQ3Y4M0hGNEJBWDhqZ0lDQWdBQkJFR3NpQVNTQWdJQ0FBQ0FCSTRHQWdJQUFRWmlBd0lBQWFpa0RBRGNEQUNBQlFRaHFJQUVnQUJDQmdJQ0FBQUpBSUFFdkFRd05BQ0FCS0FJSUlRQWdBVUVRYWlTQWdJQ0FBQ0FBRHdzRGZ3QU1BQXNMY1FJQmZ3RitJNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQkNnSUNBZ0JBaEJBSkFRUUZGRFFBQ1FDQUNEUUJDLy8vLy93OGhCQXdCQ3lBQktBSUFJQUpCQUVFQUlBRW9BZ1FvQWdBUmdJQ0FnQUFBSWdKRnJVSWdoaUFDcllRaEJBc2dBQ0FFTndJQUlBTkJFR29rZ0lDQWdBQUxYZ0VCZnlPQWdJQ0FBRUVRYXlJQkpJQ0FnSUFBSUFFamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndNQUlBRkJDR29nQVNBQUVJT0FnSUFBQWtBZ0FTOEJEQTBBSUFFb0FnZ2hBQ0FCUVJCcUpJQ0FnSUFBSUFBUEN3Ti9BQXdBQ3d1SEFRSUJmd0YrSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQ1FRQklPZ0FNQWtBQ1FDQUNRWDlLRFFCQ2dJQ0FnQkFoQkF3QkN3SkFJQUpCQVhRaUFnMEFRdjcvLy84UElRUU1BUXNnQVNnQ0FDQUNRUUZCQUNBQktBSUVLQUlBRVlDQWdJQUFBQ0lDUmExQ0lJWWdBcTJFSVFRTElBQWdCRGNDQUNBRFFSQnFKSUNBZ0lBQUN4a0FJNEdBZ0lBQVFaaUF3SUFBYWlBQUlBRVFoWUNBZ0FBTE9BRUJmd0pBSUFKQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVHcTFhclZlaUFDR3lBRFFRQkJBQ0FBS0FJRUtBSUlFWUdBZ0lBQUFBc0xEd0FnQUNBQVFReHFFSWVBZ0lBQUMzQUJBMzhDUUNBQUtBSUFJZ0pGRFFBQ1FDQUNRWFJxSWdOQkNHb29BZ0FpQWtFS2JDQUNRUTlxUVh4eGFrRURha0Y4Y1NJQ1FRQWdBaHNpQkVVTkFDQUJLQUlBSUFOQkJDQUNHeUFFUVFKQkFDQUJLQUlFS0FJSUVZR0FnSUFBQUFzZ0FFRUFOZ0lJSUFCQkFEWUNBQXNMMkFJREJIOEJmZ1IvSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFqZ1lDQWdBQWhCU0FCS0FJQUlRWUNRQUpBSUFFb0FnUU5BQ0FGUVlDQXdJQUFhaUVIREFFTElBSWdBeENKZ0lDQUFDRUlBa0FDUUNBR0RRQkJBQ0VGUVg4aENRd0JDeUFHUVh4cUtBSUFJZ1ZCZjJvaENRc2dCa0Y0YWlFS0lBa2dDS2R4SVFFZ0NFSTVpS2NoQ3dOQUk0R0FnSUFBUVlDQXdJQUFhaUVISUFZZ0FXb3NBQUFpREVVTkFTQUZSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FpQURJQW9vQWdBZ0FVRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BRENBRUlBRTJBZ2dnQkVFSWFpRUhEQUlMSUFWQmYyb2hCU0FCUVFGcUlBbHhJUUVNQUFzTEFrQUNRQ0FITFFBRURRQkJBQ0VCUVFBaEJRd0JDeUFHUVhScUtBSUFJQWNvQWdCQkFYUnFMd0VBSVFGQmdJQUVJUVVMSUFBZ0JTQUJjallCQUNBRVFSQnFKSUNBZ0lBQUMrd0ZCUUovQVg0QmZ3SitBbjhqZ0lDQWdBQkI0QUJySWdJa2dJQ0FnQUFDUUFKQUFrQUNRQUpBSUFGQkVFc05BQ0FCUVFOTkRRRWdBRFVBQUVJZ2hpQUFJQUZCQVhaQi9QLy8vd2R4SWdOcU5RQUFoQ0VFSUFBZ0FVRjhhaUlGYWpVQUFFSWdoaUFBSUFVZ0EydHFOUUFBaENFR1FxeWE0dE9qMHZENkh5RUhEQVFMUVFBaEEwS3NtdUxUbzlMdytoOGhCMEVBSVFVZ0FVRXdTUTBDUVFBaEJVS3NtdUxUbzlMdytoOGhCMEtzbXVMVG85THcraDhoQkVLc211TFRvOUx3K2g4aEJnTkFJQVZCTUdvaUNDQUJUdzBDSUFKQndBQnFJQUFnQldvaUJTa0FDQ0FHaFVJQUlBVXBBQUJDMjlIUWhacmEzNEZuaFVJQUVKbUFnSUFBSUFKQk1Hb2dCVUVZYWlrQUFDQUVoVUlBSUFWQkVHb3BBQUJDNDQyajVJbmVtdDZPZjRWQ0FCQ1pnSUNBQUNBQ1FTQnFJQVZCS0dvcEFBQWdCNFZDQUNBRlFTQnFLUUFBUXNPWjNhbkh1ZG5NMkFDRlFnQVFtWUNBZ0FBZ0FrSEFBR3BCQ0dvcEF3QWdBaWtEUUlVaEJpQUNRU0JxUVFocUtRTUFJQUlwQXlDRklRY2dBa0V3YWtFSWFpa0RBQ0FDS1FNd2hTRUVJQWdoQlF3QUN3dENBQ0VHUXF5YTR0T2owdkQ2SHlFSEFrQWdBUTBBUWdBaEJBd0RDeUFBSUFGQkFYWnFNUUFBUWdpR0lBQXhBQUJDRUlhRUlBRWdBR3BCZjJveEFBQ0VJUVFNQWdzZ0JDQUhoU0FHaFNFSEN5QUFJQVZxSVFrZ0FTQUZheUVJQWtBRFFDQURRUkJxSWdVZ0NFOE5BU0FDUWRBQWFpQUpJQU5xSWdOQkNHb3BBQUFnQjRWQ0FDQURLUUFBUXR2UjBJV2EydCtCWjRWQ0FCQ1pnSUNBQUNBQ1FkQUFha0VJYWlrREFDQUNLUU5RaFNFSElBVWhBd3dBQ3dzZ0FTQUFhaUlEUVhocUtRQUFJUVlnQTBGd2Fpa0FBQ0VFQ3lBQ1FSQnFJQVJDMjlIUWhacmEzNEZuaFVJQUlBWWdCNFZDQUJDWmdJQ0FBQ0FDSUFKQkVHcEJDR29wQXdCQzI5SFFoWnJhMzRGbmhVSUFJQUd0SUFJcEF4Q0ZRcS9JOWNYSHJJZTdvSCtGUWdBUW1ZQ0FnQUFnQWtFSWFpa0RBQ0VISUFJcEF3QWhCQ0FDUWVBQWFpU0FnSUNBQUNBSElBU0ZDMWdCQW45QkFDRUVBa0FnQVNBRFJ3MEFBa0FnQUNBQ1J3MEFRUUVQQ3dOQUlBRkZJUVFnQVVVTkFTQUJRWDlxSVFFZ0FpMEFBQ0VESUFBdEFBQWhCU0FBUVFGcUlRQWdBa0VCYWlFQ0lBVWdBMFlOQUFzTElBUUxpUk1HQVg4QmZnVi9BWDRjZndGK0k0Q0FnSUFBUWFBQmF5SUNKSUNBZ0lBQUFrQUNRQUpBSUFFTkFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEEwR3ExYXJWZWlFRVFRQWhCVUVBSVFZTUFRdEJBQ0VISUFKQkdHcEJDR29pQ0VFQU5nSUFJQUpDQURjREdDQUNJNEdBZ0lBQVFaaUF3SUFBYWlrREFDSUpOd0lrSUFJZ0NUY0NkQ0FDUVFBMkFuQWdBa0txMWFyVkNqY0NhQUpBSUFKQjZBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFKQkdHcEJER29oQ2lBSlFpQ0lweUVMSUFJcEFuUWhBeUFDS0FKd0lRVWdBaWdDYkNFR0lBSW9BbWdoQkNBSnB5RU1RWUFDSVExQkFDRU9BMEFnQmlFUElBNUJBbW9oQnlBQUlBNXFJUkJCQUNFR0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQURRQUpBQWtBZ0J5QUdhaUFCVHcwQUlBSkJNR29nQWtFWWFpQVFJQVpCQW1vaUVSQ0lnSUNBQUNBQ0xRQXlEUUVnQWlnQ0dDRVNJQUlvQWlBTkJnSkFBa0FnRWcwQVFRRWhCd3dCQ3lBU1FYeHFLQUlBclVMUUFINGlDU0FKUXVRQWduMUM1QUI4UXRBQWdLY2hCd3RCQUNFVElBSkI2QUJxUVFocUloUkJBRFlDQUNBQ1FnQTNBMmhCQUEwRkFrQUNRRUlCUVNBZ0IyZHJyVUwvL3dPRGhxY2lCMEVJSUFkQkNFc2JJaFZCQVhRZ0ZVRVBha0Y4Y1NJV0lCVkJBM1JxSWhkcVFRTnFRWHh4SWdjTkFFRjhJUWNNQVF0QkFDRVRJQXdnQjBFQ1FRQWdDeWdDQUJHQWdJQ0FBQUFpQjBVTkJnc2dCMEVJYWlJWUlCVTJBZ0FnQnlBSElCWnFOZ0lFSUFjZ0J5QVhhallDQUNBQ0lBZEJER29pQnpZQ2FDQUhRUUFnRlJDYWdJQ0FBQ0VUSUFJZ0ZhMUMwQUIrUXVRQWdLY2lHVFlDY0NBQ0tBSWNJaHBGRFFSQkFDRWJRUUFoSEFKQUlCSkZEUUFnRWtGOGFpZ0NBQ0VjQ3lBVFFYUnFJUjBnRTBGNGFpRWVJQkpCZEdvaUJ5Z0NBQ0VmSUFkQkJHb29BZ0FoSUVFQUlTRURRQ0FoSUJ4R0RRUUNRQ0FTSUNGcUxBQUFRUUJPRFFBZ0h5QWhRUUYwYWk4QkFDRWlJQ0FnSVVFRGRHb2lCeWdDQkNFaklBY29BZ0FoSkFKQUlCdEZEUUFnSkNBakVJbUFnSUFBSVFrZ0dDZ0NBQ0lWUVg5cUloY2dDYWR4SVFjZ0NVSTVpS2NoSlFOQUlCTWdCMm9zQUFBaUZrVU5BU0FWUlEwQkFrQWdGa0YvU2cwQUlDVWdGa0gvQUhGSERRQWdKQ0FqSUI0b0FnQWdCMEVEZEdvaUZpZ0NBQ0FXS0FJRUVJcUFnSUFBUVFGeFJRMEFJQUpCQVRvQW5BRU1BZ3NnRlVGL2FpRVZJQWRCQVdvZ0YzRWhCd3dBQ3dzZ0pDQWpFSW1BZ0lBQUlRa2dHQ2dDQUVGL2FpSVdJQW1uY1NFSEFrQURRQ0FUSUFkcUloVXNBQUJCZjBvTkFTQUhRUUZxSUJaeElRY01BQXNMSUJVZ0NVSTVpS2RCZ0FGeU9nQUFJQjRvQWdBZ0IwRURkR29pRlNBak5nSUVJQlVnSkRZQ0FDQWRLQUlBSUFkQkFYUnFJQ0k3QVFBZ0dVRi9haUVaSUJ0QkFXb2lHeUFhUncwQUlCb2hHd3dGQ3lBaFFRRnFJU0VNQUFzTEFrQUNRQ0FPUVFGcUlBRkpEUUFnRUMwQUFDRUdEQUVMSUFKQk9HcEJFR29nQWtFWWFrRVFhaWdDQURZQ0FDQUNRVGhxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd000SUFKQnpBQnFJQUpCT0dvZ0VDQUdRUUpxRUlpQWdJQUFBa0FDUUFKQUlBSXRBRTROQUNBR0RRRWdFQzBBQUNFSERBSUxJQUl2QVV3aEJnd0NDeUFDUWRBQWFrRVFhaUFDUVJocVFSQnFLQUlBTmdJQUlBSkIwQUJxUVFocUlBSkJHR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTVlOd05RSUFKQjVBQnFJQUpCMEFCcUlCQWdCa0VCYWhDSWdJQ0FBQ0FDTHdGa0lRY0xJQVFnRDBFQmRHb2dCenNCQUNBUFFRRnFJUThnRUNBR2FrRUJhaTBBQUNFR0N5QUVJQTlCQVhScUlBWTdBUUFnRDBFQmFpRUdJQUpCR0dvUWhvQ0FnQUFNRFFzZ0JrRUJhaUVHREFBTEN5QUNJQmsyQW5BZ0FpQWJOZ0pzQ3lBSUtBSUFJUWNnQ0NBVUtBSUFOZ0lBSUJRZ0J6WUNBQ0FDUVFBMkFod2dBaWtER0NFSklBSWdBaWtEYUNJbU53TVlJQUlnQ1RjRGFDQW1weUVTUVFFaEV3c2dBa0hvQUdvZ0NoQ0hnSUNBQUNBVERRQWpnWUNBZ0FBaEJ5QUNLQUljRFFFZ0IwR0FnTUNBQUdvaEZnd0RDeUFRSUJFUWlZQ0FnQUFoQ1FKQUFrQWdFZzBBSUFtbklRZEJBQ0VXUVg4aElRd0JDeUFTUVh4cUtBSUFJaFpCZjJvaUlTQUpwM0VoQndzZ0VrRjRhaUVqSUJKQmZHb2hKQ0FKUWptSXB5RWxJQlloRXdOQUlCSWdCMm9pRnl3QUFDSVZSUTBDSUJOQkFFWU5BZ0pBQWtBZ0ZVRi9TZzBBSUNVZ0ZVSC9BSEZIRFFBZ0VDQVJJQ01vQWdBZ0IwRURkR29pRlNnQ0FDQVZLQUlFRUlxQWdJQUFRUUZ4UlEwQkRBWUxJQllnSkNnQ0FFY05BQ0FISUJZZ0ZVRUJSaHNoRmdzZ0UwRi9haUVUSUFkQkFXb2dJWEVoQnd3QUN3c2dFQ0FSRUltQWdJQUFJUWtDUUFKQUlCSU5BRUVBSVJOQmZ5RVhEQUVMSUJKQmZHb29BZ0FpRTBGL2FpRVhDeUFTUVhocUlTVWdGeUFKcDNFaEJ5QUpRam1JcHlFaEEwQWpnWUNBZ0FCQmdJREFnQUJxSVJZZ0VpQUhhaXdBQUNJVlJRMENJQk5GRFFJQ1FDQVZRWDlLRFFBZ0lTQVZRZjhBY1VjTkFDQVFJQkVnSlNnQ0FDQUhRUU4wYWlJVktBSUFJQlVvQWdRUWlvQ0FnQUJCQVhGRkRRQWdBa0VCT2dDQUFTQUNJQWMyQW53Z0FrSDhBR29oRmd3REN5QVRRWDlxSVJNZ0IwRUJhaUFYY1NFSERBQUxDeUFrS0FJQUlSTWdBaUFDS0FJZ1FYOXFOZ0lnSUJJZ0Ztb2dGeUFXSUJOSkloTWJJQ1ZCZ0FGeU9nQUFJQkpCZEdvb0FnQWhGU0FqS0FJQUlSY2dBaUFDS0FJY1FRRnFOZ0ljSUJjZ0ZpQUhJQk1iSWdkQkEzUnFJaE1nRVRZQ0JDQVRJQkEyQWdBZ0ZTQUhRUUYwYWlFSERBSUxJQll0QUFSRkRRSWdGaWdDQUNFSEN5QVNRWFJxS0FJQUlBZEJBWFJxSVFjTElBY2dEVHNCQUFKQUFrQWdCZzBBSUJBdEFBQWhCa0VCSVFjTUFRc2dBa0UwYWlBQ1FSaHFJQkFnQmtFQmFpSUhFSWlBZ0lBQUlBSXZBVFFoQmdzZ0JDQVBRUUYwYWlBR093RUFJQWNnRG1vaERpQVBRUUZxSVFZZ0RVRUJhaUlOUWYvL0EzRkIvLzhEUncwQklCSkJBQ0FTUVh4cUtBSUFJZ2NRbW9DQWdBQWFJQVFnQmtFQmRHcEIvdjhET3dFQUlBSkJBRFlDSENBQ0lBZXRRdEFBZmtMa0FJQStBaUFnRDBFQ2FpRUdRWUFDSVEwTUFRc0xJQUpCR0dvUWhvQ0FnQUJCQUNFSERBRUxJQUlnQXpjQ0VDQUNJQVEyQWdRZ0FpQUdOZ0lJSUFJZ0JUWUNEQ0FHSVFjQ1FDQUZJQVpCQkdvaUUwOE5BRUVBSVFjZ0FrRUVhaUFGSUJNUWpZQ0FnQUFRaklDQWdBQkIvLzhEY1EwQklBSW9BZ1FoQkNBQ0tBSUlJUWNMSUFRZ0IwRUJkR29pQnlBR1FRRjBJaE03QVFBZ0IwRUNhaUFHUVE5Mk93RUFJQWRCQkdvZ0JVRUJkRHNCQUNBSFFRWnFJQVZCRDNZN0FRQWdCQ0FUYWlFSEN5QUNRYUFCYWlTQWdJQ0FBQ0FIQzVNQ0FRWi9JNENBZ0lBQVFSQnJJZ0lrZ0lDQWdBQkJBQ0VEQWtBZ0FDZ0NDQ0lFSUFGUERRQWdBQ2dDQUNFRkFrQWdCRVVOQUNBQ0lBRkJBRWc2QUFnZ0FVRi9UQTBBSUFBb0Fnd2dCU0FFUVFGMFFRRWdBVUVCZEVFQUlBQkJFR29vQWdBb0FnUVJnb0NBZ0FBQVFRRnhSUTBBSUFBZ0FUWUNDRUVBSVFNTUFRc2dBaUFBS1FJTU53TUFJQUpCQ0dvZ0FpQUJFSU9BZ0lBQUlBSXZBUXdpQXcwQUlBSW9BZ2dnQUNnQ0FDQUFLQUlFUVFGMEVKdUFnSUFBSVFaQkFDRURBa0FnQkVFQmRFRUFJQVFiSWdkRkRRQWdBQ2dDRENBRlFRSWdCQnNnQjBFQlFRQWdBRUVRYWlnQ0FDZ0NDQkdCZ0lDQUFBQUxJQUFnQVRZQ0NDQUFJQVkyQWdBTElBSkJFR29rZ0lDQWdBQWdBd3NsQVFGL0EwQkJmeUFBUVFGMklBQnFRUWhxSWdJZ0FpQUFTUnNpQUNBQlNRMEFDeUFBQ3o4QkFYOGpnSUNBZ0FCQkVHc2lBU1NBZ0lDQUFDQUJJQUFwQWd3M0F3Z2dBVUVJYWlBQUtBSUFJQUFvQWdnUWo0Q0FnQUFnQVVFUWFpU0FnSUNBQUFzM0FRRi9Ba0FnQWtFRGRFRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFRUWdBaHNnQTBFQ1FRQWdBQ2dDQkNnQ0NCR0JnSUNBQUFBTEM5c0hBd0YvQVg0SmZ5T0FnSUNBQUVIQUFHc2lBaVNBZ0lDQUFDT0JnSUNBQUVHWWdNQ0FBR29wQXdBaEF3SkFBa0FDUUFKQUlBRU5BRUdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXNnQWtFQU5nSWdJQUpDcXRXcTFRbzNBaGdnQWlBRE53SWtJQUpCQUVILy93TVFqWUNBZ0FBaUIwSC8vLy8vQVVzNkFDd2dCMEdBZ0lDQUFrOE5BUUpBQWtBZ0IwRURkQ0lJRFFCQmZDRUlEQUVMSUFPbklBaEJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lJUlEwQ0N5QUNJQWMyQWlBZ0FpQUlOZ0lZUVFBaEJ3SkFBMEFnQjBINC94OUdEUUVnQ0NBSGFrSUFOd0lBSUFkQkNHb2hCd3dBQ3dzZ0FrSC8vd00yQWh3Z0FpQUROd0k0UVFBaEJ5QUNRUUEyQWpRZ0FrS3ExYXJWQ2pjQ0xDQUNRU3hxSUFGQkdHd1FrWUNBZ0FCQi8vOERjUTBCSUFJcEFqZ2hBeUFDS0FJMElRVWdBaWdDTENJRUlBSW9BakFpQm1vZ0FDMEFBRG9BQUNBSUlBQXZBUUJCQTNScUlnbEJBVFlDQkNBSklBUTJBZ0FnQmtFQmFpRUtRUUVoQ1VHQUFpRUxBMEFnQ2lFR0FrQUNRQUpBQWtBZ0NTQUJUdzBBQWtBZ0FDQUpRUUYwYWk4QkFDSUtRZjcvQTBjTkFDQUpRUUZxSWdrZ0FVOE5BVUVBSVFjQ1FBTkFJQWRCK1A4ZlJnMEJJQWdnQjJwQ0FEY0NBQ0FIUVFocUlRY01BQXNMQWtBZ0FDQUpRUUYwYWk4QkFDSUhRWUFDU1EwQUlBSkIvLzhETmdJY0RBZ0xJQVFnQm1vZ0J6b0FBQ0FHUVFGcUlRcEJnQUloQ3d3RUN5QUtRWUFDU1EwQkFrQWdDQ0FLUVFOMGFpSUtLQUlBSWd3TkFDQUVJQVpxSUFRZ0Iyb2lDaUFHSUFkcklnd1FtNENBZ0FBYUlBUWdEQ0FHYWlJTWFpQUtMUUFBT2dBQUlBeEJBV29oQ2d3REN5QUVJQVpxSUF3Z0NpZ0NCQ0lLRUp1QWdJQUFHaUFLSUFacUlRb01BZ3NnQWtILy93TTJBaHdnQWtFWWFoQ09nSUNBQUF3RUN5QUVJQVpxSUFvNkFBQWdCa0VCYWlFS0N5QUlJQXRCLy84RGNVRURkR29pRENBR0lBZHJRUUZxTmdJRUlBd2dCQ0FIYWpZQ0FDQUxRUUZxSVFzTElBbEJBV29oQ1NBR0lRY01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDREFKQUFrQWdCU0FHUVFocUlnaEpEUUFnQmlFSERBRUxRUUFoQnlBQ1FRUnFJQVVnQ0JDTmdJQ0FBQkNSZ0lDQUFFSC8vd054RFFJZ0FpZ0NCQ0VFSUFJb0Fnd2hCU0FDS0FJSUlRY0xJQVFnQjJvaUJ5QUdPZ0FBSUFkQkIyb2dCVUVZZGpvQUFDQUhRUVpxSUFWQkVIWTZBQUFnQjBFRmFpQUZRUWgyT2dBQUlBZEJCR29nQlRvQUFDQUhRUU5xSUFaQkdIWTZBQUFnQjBFQ2FpQUdRUkIyT2dBQUlBZEJBV29nQmtFSWRqb0FBQ0FFSUFacUlRY01BUXNnQWtFWWFoQ09nSUNBQUVFQUlRY0xJQUpCd0FCcUpJQ0FnSUFBSUFjTDJnRUJCWDhqZ0lDQWdBQkJJR3NpQWlTQWdJQ0FBRUVBSVFNQ1FDQUFLQUlJSWdRZ0FVOE5BQ0FBS0FJQUlRVUNRQUpBSUFSRkRRQkJBQTBBSUFBb0Fnd2dCU0FFUVFBZ0FVRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0F3QkN5QUNJQUJCREdvaUJpa0NBRGNERUNBQ1FSaHFJQUpCRUdvZ0FSQ0JnSUNBQUNBQ0x3RWNJZ01OQVNBQ0tBSVlJQUFvQWdBZ0FDZ0NCQkNiZ0lDQUFDRURJQVlnQlNBRUVJV0FnSUFBSUFBZ0FUWUNDQ0FBSUFNMkFnQUxRUUFoQXdzZ0FrRWdhaVNBZ0lDQUFDQURDOUlDQXdaL0FYNEhmeU9BZ0lDQUFFRVFheUlESklDQWdJQUFJQUFvQWdRaEJDQUFLQUlBSVFWQkFDRUdJQUpCL3dGeElRY0Rmd0pBQWtBQ1FDQUdJQVJIRFFCQmZ5RUlEQUVMQWtBZ0JTQUdRUVIwYWlJQ1FRaHFLUU1BSWdsQ0FGTU5BQ0FDS1FNQWV5QUplM3luSUFGSkRRSUxJQVpCQjNRaUNFR0FBV29oQ2dOQUlBZ2dDazhOQWlBSUlBQXBBZ0FpQ1VJWmlLZEJnSDl4SWdJZ0NDQUNTeHNpQ3lBSWF5RU1JQW1uUVFnZ0NVSWdpS2NiSVEwZ0NFRVFkR2doRGtFQUlRSUNRQU5BQWtBZ0RDQUNSdzBBSUFzaER3d0NDMEgvQVNBSUlBSnFJZzlCQjNFaUVFRUhjM1pCQVNBUWRIRWdEU0FQUVFOMmFpMEFBSEZGRFFFZ0FrRUJhaUlDSUFGSkRRQWdEaUFIU1EwQUN5QURJQWszQXdnZ0EwRUlhaUFJSUFGQkFCQ1RnSUNBQUF3Q0N5QVBRUUZxSVFnTUFBc0xJQU5CRUdva2dJQ0FnQUFnQ0E4TElBWkJBV29oQmd3QUN3dFVBUUYvSUFOQkFYRWhCQUpBQTBBZ0FrVU5BU0FBS0FJQVFRZ2dBQ2dDQkJzZ0FVRURkbW9pQXlBRExRQUFRWDRnQVVFSGNTSURkM0VnQkNBRGRISTZBQUFnQVVFQmFpRUJJQUpCZjJvaEFnd0FDd3NMMndFQkEzOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFBSkFJQUJCZ0JCUERRQWpnWUNBZ0FCQnFJREFnQUJxSUFBZ0FVR0FFQ0FCUVlBUVNSc2dBR3NRbFlDQWdBQUxBa0FnQVVHQUVFME5BQUpBSTRHQWdJQUFRYUNBd0lBQWFpZ0NCQTBBSTRHQWdJQUFRYUNBd0lBQWFpSURRWUFnTmdJRUlBTWdBVUYvYWlJQlFSQjBJZ1EyQWdBZ0JFRUFRWUNBQkJDYWdJQ0FBQm9MSUFJamdZQ0FnQUJCb0lEQWdBQnFLUU1BTndNSUlBSkJDR29nQUVHQUVDQUFRWUFRU3hzaUFFR0FjR29nQVNBQWF4Q1ZnSUNBQUFzZ0FrRVFhaVNBZ0lDQUFBczdBUUYvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQXlBQUtRSUFOd01JSUFOQkNHb2dBU0FDUVFFUWs0Q0FnQUFnQTBFUWFpU0FnSUNBQUF1OUFRRUVmMEVBSVFRQ1FDQUJRWUdBZkU4TkFBSkFJNEdBZ0lBQVFhaUF3SUFBYWlBQlFmLy9BMnBCRUhZaUFTQUNFSktBZ0lBQUlnUkJmMGNOQUFKQUk0R0FnSUFBUWFDQXdJQUFhaUFCSUFJUWtvQ0FnQUFpQkVGL1JnMEFJQVJCZ0JCcUlRUU1BUXRCQUNFRVFRRWdBblFpQlQ4QUlnWkJFSFFpQW1wQmYycEJBQ0FGYTNFaUJTQUNhMEVRZGlJSElBRnFRQUJCQVVnTkFTQUhJQVpxSVFRZ0JTQUNSZzBBSUFZZ0JCQ1VnSUNBQUFzZ0JFRVFkQ0VFQ3lBRUMwOEJBWDhDUUNBQ1FmLy9BMm9pQmtHQWdIeHhJQVJQSWdKRkRRQWdCRUgvL3dOcVFSQjJJZ1FnQmtFUWRpSUdSZzBBSUFRZ0FVSC8vd05xUVJCMklnRnFJQUVnQm1vUWxJQ0FnQUFMSUFJTElRQWdBVUgvL3dOcVFSQjJJZ0VnQVNBQ1FmLy9BMnBCRUhacUVKU0FnSUFBQzNVQkFYNGdBQ0FFSUFGK0lBSWdBMzU4SUFOQ0lJZ2lBaUFCUWlDSUlnUitmQ0FEUXYvLy8vOFBneUlESUFGQy8vLy8vdytESWdGK0lnVkNJSWdnQXlBRWZud2lBMElnaUh3Z0EwTC8vLy8vRDRNZ0FpQUJmbndpQVVJZ2lIdzNBd2dnQUNBQlFpQ0dJQVZDLy8vLy93K0RoRGNEQUFzc0FRRi9Ba0FnQWtVTkFDQUFJUU1EUUNBRElBRTZBQUFnQTBFQmFpRURJQUpCZjJvaUFnMEFDd3NnQUF0Q0FRRi9Ba0FnQWtVTkFDQUNRWDlxSVFJZ0FDRURBMEFnQXlBQkxRQUFPZ0FBSUFKRkRRRWdBa0YvYWlFQ0lBRkJBV29oQVNBRFFRRnFJUU1NQUFzTElBQUxDMEVDQUVHQWdNQUFDd2dBQUFBQUFBQUFBQUJCaUlEQUFBc29BUUFBQUFJQUFBQURBQUFBQUFBQUFBQUFBQUFJQUJBQXFxcXFxZ0FBQUFBd0FCQUFFQUFBQUE9PSIpOwpjb25zdCBlID0gYXdhaXQgRygpLCBCID0gZS5leHBvcnRzOwpmdW5jdGlvbiBGKEkpIHsKICBjb25zdCB7IHB0cjogZywgbGVuZ3RoOiBBIH0gPSBEKEksIEIpLCBDID0gQi5jb21wcmVzcyhnLCBBKTsKICBCLmZyZWUoZywgQSk7CiAgY29uc3QgeyBzdGFydDogUSwgZW5kOiBFLCBjYXBhY2l0eTogaSB9ID0gdyhCLm1lbW9yeSwgQyksIGEgPSBuZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsIEUpKSwgdCA9IGgoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpmdW5jdGlvbiBuKEkpIHsKICBjb25zdCBnID0gQi5hbGxvY1VpbnQxNihJLmxlbmd0aCksIEEgPSBuZXcgVWludDE2QXJyYXkoCiAgICBCLm1lbW9yeS5idWZmZXIsCiAgICBnLAogICAgSS5sZW5ndGgKICApOwogIGZvciAobGV0IG8gPSAwOyBvIDwgSS5sZW5ndGg7IG8rKykKICAgIEFbb10gPSBJLmNoYXJDb2RlQXQobyk7CiAgY29uc3QgQyA9IEIuZGVjb21wcmVzcygKICAgIGcsCiAgICBJLmxlbmd0aAogICk7CiAgQi5mcmVlKGcsIEkubGVuZ3RoKTsKICBjb25zdCB7IHN0YXJ0OiBRLCBlbmQ6IEUsIGNhcGFjaXR5OiBpIH0gPSB3KEIubWVtb3J5LCBDKSwgYSA9IG5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLCBFKSksIHQgPSBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoYSk7CiAgcmV0dXJuIEIuZnJlZShRLCBpKSwgdDsKfQpvbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihJKSB7CiAgY29uc3QgeyBjb21tYW5kOiBnLCBpZDogQSwgZGF0YTogQyB9ID0gSS5kYXRhOwogIHN3aXRjaCAoZykgewogICAgY2FzZSAiZGVjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogbihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBjYXNlICJjb21wcmVzcyI6IHsKICAgICAgcG9zdE1lc3NhZ2UoeyBpZDogQSwgZGF0YTogRihDKSB9KTsKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9Owo=", J = typeof window < "u" && window.Blob && new Blob([atob(V)], { type: "text/javascript;charset=utf-8" });
2
- function S() {
1
+ const J = "KGFzeW5jKCk9PntmdW5jdGlvbiB3KEksQyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksZz1DLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIsZyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6ZyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIGUoSSl7Y29uc3QgQz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKUNbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gQy5qb2luKCIiKX1mdW5jdGlvbiB0KEksQyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoQyxDKzgpKSxnPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpDLWcsZW5kOkMsY2FwYWNpdHk6UX19dmFyIGg9YXN5bmMoST17fSxDKT0+e2xldCBBO2lmKEMuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1DLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQyksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxHPUk9PmgoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QUF4OGVBd1FEQkFVRUJnVUhDQUFKQ1FjSkJnUUpDUW9IQlFRQUFnRUxEQW9LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQkVKQ1FFQVFRRUxBeGNZR1FxL09CNWVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdWhDd0lCZnd0K0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUlBR3RJUU1DUUFKQUlBRkJJRXNOQUFKQUlBRkJFVThOQUFKQUlBRkJDRWtOQUNBQUtRQUFRcytBd2Z5eXg5cndtbjk4SWdSQ0o0a2dBU0FBYWtGNGFpa0FBQ0lGZkNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTWdBeUFGUWh1SklBWitJQVI4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUF3c0NRQ0FCUVFSSkRRQWdBRFVBQUVJRGhpQURmQ0FCSUFCcVFYeHFOUUFBSWdTRklBTkNBWVpDejREQi9MTEgydkNhZjN3aUJuNGlCVUl2aUNBRWhTQUZoU0FHZmlJRVFpK0lJQVNGSUFaK0lRWU1Bd3NDUUNBQkRRQkN6NERCL0xMSDJ2Q2FmeUVHREFNTElBRWdBR3BCZjJvdEFBQkJBblFnQVdxdFFxZmlyTDdKaS9MU1EzNGdBQ0FCUVFGMmFqRUFBRUlJaGlBQU1RQUFoRUxQZ01IOHNzZmE4SnAvZm9VaUJrSXZpQ0FHaFVMUGdNSDhzc2ZhOEpwL2ZpRUdEQUlMSUFBcEFBZ2lCRUxQZ01IOHNzZmE4SnAvZkVJdWlTQUFLUUFBUXZQazQvVDd6YTNKdEg5K0lnVjhJQUVnQUdvaUFFRjRhaWtBQUNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTjhJZ2NnQnlBRFFpS0pJQVVnQkh4Q0ZZbDhJQUJCY0dvcEFBQkN6NERCL0xMSDJ2Q2FmMzU4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUFRc0NRQ0FCUWNFQVNRMEFJQUVnQUdvaUFVRllhaWtBQUNFSElBRkJTR29wQUFBaEJpQUJRWEJxS1FBQUlRZ2dBaUFCUVVCcUlBTWdBVUZRYWlrQUFDQURmQ0FCUVdocUtRQUFFSnFBZ0lBQUlna1FtNENBZ0FBZ0Fpa0RDQ0VFSUFJcEF3QWhCU0FDUVJCcUlBRkJZR29nQmlBSWZDSUdRdlBrNC9UN3phM0p0SDk4SUFjUW00Q0FnQUJDQUNBRFFuOThRa0NEZlNFS0lBQXBBQUFnQjBMejVPUDArODJ0eWJSL2Zud2hDQ0FDS1FNWUlRTWdBaWtERUNFSEEwQWdBQ2tBTUNFTElBQXBBQ2doRENBQ1FTQnFJQUFnQkVMejVPUDArODJ0eWJSL2ZpQUdJQVY4SUFoOElBQXBBQWg4UWh1SlF2UGs0L1Q3emEzSnRIOStJQU9GSWcwZ0Izd1FtNENBZ0FBZ0RDQUZmQ0VNSUFZZ0JId2hCaUFDS1FNb0lRUWdBaWtESUNFRklBSkJNR29nQUVFZ2FpQUpJQWQ4UWgrSlF2UGs0L1Q3emEzSnRIOStJZ2dnQTN3Z0FDa0FFQ0FNSUFZZ0MzeENGb2xDOCtUajlQdk5yY20wZjM1OElnWjhFSnVBZ0lBQUlBQkJ3QUJxSVFBZ0Fpa0RPQ0VESUFJcEF6QWhCeUFOSVFrZ0NrTEFBSHdpQ2tJQVVnMEFDeUFHUWkrSUlBYUZRdlBrNC9UN3phM0p0SDkrSUExOElBVWdCeENhZ0lDQUFId2dCQ0FERUpxQWdJQUFJQWg4RUpxQWdJQUFJUVlNQVFzZ0FTQUFhaUlCUVhCcUtRQUFJQU5DQVlaQ3o0REIvTExIMnZDYWYzd2lCSDRpQlNBQlFXQnFLUUFBSWdOOElBQXBBQmhDQ1g0aUJ5QUFLUUFRUXMrQXdmeXl4OXJ3bW45K2ZDSUlJQUZCYUdvcEFBQWlCbndpQ1NBQUtRQUlJZ3A4SUFrZ0FVRjRhaWtBQUNJTmZDQUlRaGFKSUFaOElnaDhJQWNnRFNBQUtRQUFRcytBd2Z5eXg5cndtbjkrZkNJSklBT0ZmRUlCZkNJRElBVjhJQWxDRllrZ0NrSWlpU0FHZkVJSmZud2dBM3dnQkg0aUJrSTRoaUFHUW9EK0E0TkNLSWFFSUFaQ2dJRDhCNE5DR0lZZ0JrS0FnSUQ0RDROQ0NJYUVoQ0FHUWdpSVFvQ0FnUGdQZ3lBR1FoaUlRb0NBL0FlRGhDQUdRaWlJUW9EK0E0TWdCa0k0aUlTRWhId2dCSDRpQmtJNGhpQUdRb0QrQTROQ0tJYUVJQVpDZ0lEOEI0TkNHSVlnQmtLQWdJRDRENE5DQ0lhRWhDQUdRZ2lJUW9DQWdQZ1BneUFHUWhpSVFvQ0EvQWVEaENBR1FpaUlRb0QrQTRNZ0JrSTRpSVNFaEh3Z0JINGlCa0k0aGlBR1FvRCtBNE5DS0lhRUlBWkNnSUQ4QjROQ0dJWWdCa0tBZ0lENEQ0TkNDSWFFaENBR1FnaUlRb0NBZ1BnUGd5QUdRaGlJUW9DQS9BZURoQ0FHUWlpSVFvRCtBNE1nQmtJNGlJU0VoSHdnQkg1OElnWkNMNGdnQm9VZ0JINGdDSHdoQmdzZ0FrSEFBR29rZ0lDQWdBQWdCZ3VzQVFFRmYwRUFJUVFDUUNBQklBTkhEUUFnQVVFQ2RrRUJhaUVGSUFJaEF5QUFJUVlDUUFOQUlBVkJmMm9pQlVVTkFTQURLQUFBSVFjZ0JpZ0FBQ0VJSUFOQkJHb2hBeUFHUVFScUlRWWdDQ0FIUmcwQURBSUxDeUFCUVFOeElRTWdBQ0FCUVh4eElnVnFJUVlnQWlBRmFpRUZBMEFnQTBVaEJDQURSUTBCSUFOQmYyb2hBeUFGTFFBQUlRY2dCaTBBQUNFSUlBWkJBV29oQmlBRlFRRnFJUVVnQ0NBSFJnMEFDd3NnQkF1WkNnVUJmd0YrQjM4QmZnTi9JNENBZ0lBQVFaQUJheUlDSklDQWdJQUFBa0FDUUFKQUlBRU5BQ09CZ0lDQUFFR1lnTUNBQUdvcEF3QWhBMEdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXRCQUNFSElBSkJHR3BCQ0dwQkFEWUNBQ0FDUWdBM0F4Z2dBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDSkNBQ1FmZ0Fha0VJYWtFQU5nSUFJQUpDQURjRGVDQUJRZi8vQXlBQlFmLy9BMGtiUWVRQWJFSFFBRzRoQ0NBQ1FTUnFJUWtDUUFKQVFRQU5BRUY4SVFaQ0FVRWdJQWhuYTYxQy8vOERnNGFuSWdoQkNDQUlRUWhMR3lJSVFRRjBJQWhCRDJwQmZIRWlDaUFJUVFOMGFpSUZha0VEYWtGOGNTSUVSUTBCSUFPbklBUkJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lHRFFFTElBSkIrQUJxSUFrUWg0Q0FnQUFnQWtFWWFoQ0dnSUNBQUF3Q0N5QUdJQWcyQWdnZ0JpQUdJQXBxTmdJRUlBWWdCaUFGYWpZQ0FDQUNJQVpCREdvaUJqWUNlRUVBSVFjZ0JrRUFJQWdRbklDQWdBQWFJQUpCK0FCcVFRaHFJZ1lnQ0VIUUFHeEI1QUJ1SWdnMkFnQWdBa0VZYWtFSWFpSUtLQUlBSVFVZ0NpQUlOZ0lBSUFZZ0JUWUNBQ0FDUVFBMkFod2dBaWtER0NFTElBSWdBaWtEZURjREdDQUNJQXMzQTNnZ0FrSDRBR29nQ1JDSGdJQ0FBQ0FDSUFNM0FvUUJJQUpCQURZQ2dBRWdBa0txMWFyVkNqY0NlQUpBSUFKQitBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFJcEFvUUJJUU1nQWlnQ2dBRWhCU0FDS0FKOElRd2dBaWdDZUNFRVFZQUNJUTFCQUNFSEEwQWdBQ0FIYWlFSVFRSWhCZ0pBQWtBQ1FBTkFBa0FDUUNBSElBWnFJZ2tnQVU4TkFDQUNRU3hxSUFKQkdHb2dDQ0FHRUlpQWdJQUFJQUl0QUM0TkFTQUtJUWNnQmtFQ1JnMEREQVVMQWtBZ0IwRUJhaUFCU1EwQUlBZ3RBQUFoQmd3RUN5QUNRVEJxUVJCcUlBSkJHR3BCRUdvb0FnQTJBZ0FnQWtFd2FrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRE1DQUNRY1FBYWlBQ1FUQnFJQWdnQmhDSWdJQ0FBQUpBQWtBQ1FDQUNMUUJHRFFBZ0JrRUNSdzBCSUFndEFBQWhCZ3dDQ3lBQ0x3RkVJUVlNQlFzZ0FrSElBR3BCRUdvZ0FrRVlha0VRYWlnQ0FEWUNBQ0FDUWNnQWFrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRFNDQUNRZUFBYWlBQ1FjZ0FhaUFJSUFaQmYyb1FpSUNBZ0FBZ0FpOEJZQ0VHQ3lBRUlBeEJBWFJxSUFZN0FRQWdERUVCYWlFTUlBa2dBR3BCZjJvdEFBQWhCZ3dEQ3lBR1FRRnFJUVlnQWk4QkxDRUtEQUFMQ3lBSUxRQUFJUWNNQVFzZ0JDQU1RUUYwYWlBR093RUFJQXhCQVdvaEJpQUNRUmhxRUlhQWdJQUFEQUlMSUFRZ0RFRUJkR29nQnpzQkFDQU1RUUZxSVE0Z0NVRi9haUVIQWtBZ0RVSC8vd054UWY3L0EwY05BQUpBSUFJb0FoZ2lCa1VOQUNBR1FRQWdCa0Y4YWlnQ0FDSUlFSnlBZ0lBQUdpQUNRUUEyQWh3Z0FpQUlyVUxRQUg1QzVBQ0FQZ0lnQ3lBRUlBNUJBWFJxUWY3L0F6c0JBQ0FNUVFKcUlReEJnQUloRFF3QkN5QUNRUmhxSUFnZ0JpQU5FSTJBZ0lBQUlBMUJBV29oRFNBT0lRd01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDRENBR0lRRUNRQ0FGSUFaQkJHb2lDRThOQUVFQUlRY2dBa0VFYWlBRklBZ1Fqb0NBZ0FBUWpJQ0FnQUJCLy84RGNRMEJJQUlvQWdRaEJDQUNLQUlJSVFFTElBUWdBVUVCZEdvaUFTQUdRUUYwSWdjN0FRQWdBVUVDYWlBR1FROTJPd0VBSUFGQkJHb2dCVUVCZERzQkFDQUJRUVpxSUFWQkQzWTdBUUFnQkNBSGFpRUhDeUFDUVpBQmFpU0FnSUNBQUNBSEM1TUNBUVovSTRDQWdJQUFRUkJySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FnQkVVTkFDQUNJQUZCQUVnNkFBZ2dBVUYvVEEwQUlBQW9BZ3dnQlNBRVFRRjBRUUVnQVVFQmRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0VFQUlRTU1BUXNnQWlBQUtRSU1Od01BSUFKQkNHb2dBaUFCRUlPQWdJQUFJQUl2QVF3aUF3MEFJQUlvQWdnZ0FDZ0NBQ0FBS0FJRVFRRjBFSjJBZ0lBQUlRWkJBQ0VEQWtBZ0JFRUJkRUVBSUFRYklnZEZEUUFnQUNnQ0RDQUZRUUlnQkJzZ0IwRUJRUUFnQUVFUWFpZ0NBQ2dDQ0JHQmdJQ0FBQUFMSUFBZ0FUWUNDQ0FBSUFZMkFnQUxJQUpCRUdva2dJQ0FnQUFnQXd1WUF3TUNmd0YrQm44amdJQ0FnQUJCRUdzaUJDU0FnSUNBQUFKQUlBQW9BZ1JGRFFBZ0FDZ0NBQ0VGSUFFZ0FoQ0pnSUNBQUNFR0FrQUNRQ0FGRFFCQkFDRUhRWDhoQ0F3QkN5QUZRWHhxS0FJQUlnZEJmMm9oQ0FzZ0JVRjRhaUVKSUFnZ0JxZHhJUW9nQmtJNWlLY2hDd05BSUFVZ0Ntb3NBQUFpREVVTkFTQUhSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FTQUNJQWtvQWdBZ0NrRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BREF3Q0N5QUhRWDlxSVFjZ0NrRUJhaUFJY1NFS0RBQUxDeUFCSUFJUWlZQ0FnQUFoQmtGL0lRd0NRQ0FBS0FJQUlnZEZEUUFnQjBGOGFpZ0NBRUYvYWlFTUN5QU1JQWFuY1NFS0FrQURRQ0FISUFwcUlnVXNBQUJCZjBvTkFTQUtRUUZxSUF4eElRb01BQXNMSUFBZ0FDZ0NDRUYvYWpZQ0NDQUZJQVpDT1lpblFZQUJjam9BQUNBQUtBSUFRWGhxS0FJQUlBcEJBM1JxSWdjZ0FqWUNCQ0FISUFFMkFnQWdBQ2dDQUVGMGFpZ0NBQ0FLUVFGMGFpQURPd0VBSUFBZ0FDZ0NCRUVCYWpZQ0JDQUVRUkJxSklDQWdJQUFDeVVCQVg4RFFFRi9JQUJCQVhZZ0FHcEJDR29pQWlBQ0lBQkpHeUlBSUFGSkRRQUxJQUFMUHdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBQ2tDRERjRENDQUJRUWhxSUFBb0FnQWdBQ2dDQ0JDUWdJQ0FBQ0FCUVJCcUpJQ0FnSUFBQ3pjQkFYOENRQ0FDUVFOMFFRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQkJDQUNHeUFEUVFKQkFDQUFLQUlFS0FJSUVZR0FnSUFBQUFzTDJ3Y0RBWDhCZmdsL0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUk0R0FnSUFBUVppQXdJQUFhaWtEQUNFREFrQUNRQUpBQWtBZ0FRMEFRYXJWcXRWNklRUkJBQ0VGUVFBaEJnd0JDeUFDUVFBMkFpQWdBa0txMWFyVkNqY0NHQ0FDSUFNM0FpUWdBa0VBUWYvL0F4Q09nSUNBQUNJSFFmLy8vLzhCU3pvQUxDQUhRWUNBZ0lBQ1R3MEJBa0FDUUNBSFFRTjBJZ2dOQUVGOElRZ01BUXNnQTZjZ0NFRUNRUUFnQTBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFJTElBSWdCellDSUNBQ0lBZzJBaGhCQUNFSEFrQURRQ0FIUWZqL0gwWU5BU0FJSUFkcVFnQTNBZ0FnQjBFSWFpRUhEQUFMQ3lBQ1FmLy9BellDSENBQ0lBTTNBamhCQUNFSElBSkJBRFlDTkNBQ1FxclZxdFVLTndJc0lBSkJMR29nQVVFWWJCQ1NnSUNBQUVILy93TnhEUUVnQWlrQ09DRURJQUlvQWpRaEJTQUNLQUlzSWdRZ0FpZ0NNQ0lHYWlBQUxRQUFPZ0FBSUFnZ0FDOEJBRUVEZEdvaUNVRUJOZ0lFSUFrZ0JEWUNBQ0FHUVFGcUlRcEJBU0VKUVlBQ0lRc0RRQ0FLSVFZQ1FBSkFBa0FDUUNBSklBRlBEUUFDUUNBQUlBbEJBWFJxTHdFQUlncEIvdjhEUncwQUlBbEJBV29pQ1NBQlR3MEJRUUFoQndKQUEwQWdCMEg0L3g5R0RRRWdDQ0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NDUUNBQUlBbEJBWFJxTHdFQUlnZEJnQUpKRFFBZ0FrSC8vd00yQWh3TUNBc2dCQ0FHYWlBSE9nQUFJQVpCQVdvaENrR0FBaUVMREFRTElBcEJnQUpKRFFFQ1FDQUlJQXBCQTNScUlnb29BZ0FpREEwQUlBUWdCbW9nQkNBSGFpSUtJQVlnQjJzaURCQ2RnSUNBQUJvZ0JDQU1JQVpxSWd4cUlBb3RBQUE2QUFBZ0RFRUJhaUVLREFNTElBUWdCbW9nRENBS0tBSUVJZ29RbllDQWdBQWFJQW9nQm1vaENnd0NDeUFDUWYvL0F6WUNIQ0FDUVJocUVJK0FnSUFBREFRTElBUWdCbW9nQ2pvQUFDQUdRUUZxSVFvTElBZ2dDMEgvL3dOeFFRTjBhaUlNSUFZZ0IydEJBV28yQWdRZ0RDQUVJQWRxTmdJQUlBdEJBV29oQ3dzZ0NVRUJhaUVKSUFZaEJ3d0FDd3NnQWlBRE53SVFJQUlnQkRZQ0JDQUNJQVkyQWdnZ0FpQUZOZ0lNQWtBQ1FDQUZJQVpCQ0dvaUNFa05BQ0FHSVFjTUFRdEJBQ0VISUFKQkJHb2dCU0FJRUk2QWdJQUFFSktBZ0lBQVFmLy9BM0VOQWlBQ0tBSUVJUVFnQWlnQ0RDRUZJQUlvQWdnaEJ3c2dCQ0FIYWlJSElBWTZBQUFnQjBFSGFpQUZRUmgyT2dBQUlBZEJCbW9nQlVFUWRqb0FBQ0FIUVFWcUlBVkJDSFk2QUFBZ0IwRUVhaUFGT2dBQUlBZEJBMm9nQmtFWWRqb0FBQ0FIUVFKcUlBWkJFSFk2QUFBZ0IwRUJhaUFHUVFoMk9nQUFJQVFnQm1vaEJ3d0JDeUFDUVJocUVJK0FnSUFBUVFBaEJ3c2dBa0hBQUdva2dJQ0FnQUFnQnd2YUFRRUZmeU9BZ0lDQUFFRWdheUlDSklDQWdJQUFRUUFoQXdKQUlBQW9BZ2dpQkNBQlR3MEFJQUFvQWdBaEJRSkFBa0FnQkVVTkFFRUFEUUFnQUNnQ0RDQUZJQVJCQUNBQlFRQWdBRUVRYWlnQ0FDZ0NCQkdDZ0lDQUFBQkJBWEZGRFFBZ0FDQUJOZ0lJREFFTElBSWdBRUVNYWlJR0tRSUFOd01RSUFKQkdHb2dBa0VRYWlBQkVJR0FnSUFBSUFJdkFSd2lBdzBCSUFJb0FoZ2dBQ2dDQUNBQUtBSUVFSjJBZ0lBQUlRTWdCaUFGSUFRUWhZQ0FnQUFnQUNBQk5nSUlJQUFnQXpZQ0FBdEJBQ0VEQ3lBQ1FTQnFKSUNBZ0lBQUlBTUwwZ0lEQm44QmZnZC9JNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQWdBQ2dDQkNFRUlBQW9BZ0FoQlVFQUlRWWdBa0gvQVhFaEJ3Ti9Ba0FDUUFKQUlBWWdCRWNOQUVGL0lRZ01BUXNDUUNBRklBWkJCSFJxSWdKQkNHb3BBd0FpQ1VJQVV3MEFJQUlwQXdCN0lBbDdmS2NnQVVrTkFnc2dCa0VIZENJSVFZQUJhaUVLQTBBZ0NDQUtUdzBDSUFnZ0FDa0NBQ0lKUWhtSXAwR0FmM0VpQWlBSUlBSkxHeUlMSUFocklRd2dDYWRCQ0NBSlFpQ0lweHNoRFNBSVFSQjBhQ0VPUVFBaEFnSkFBMEFDUUNBTUlBSkhEUUFnQ3lFUERBSUxRZjhCSUFnZ0Ftb2lEMEVIY1NJUVFRZHpka0VCSUJCMGNTQU5JQTlCQTNacUxRQUFjVVVOQVNBQ1FRRnFJZ0lnQVVrTkFDQU9JQWRKRFFBTElBTWdDVGNEQ0NBRFFRaHFJQWdnQVVFQUVKU0FnSUFBREFJTElBOUJBV29oQ0F3QUN3c2dBMEVRYWlTQWdJQ0FBQ0FJRHdzZ0JrRUJhaUVHREFBTEMxUUJBWDhnQTBFQmNTRUVBa0FEUUNBQ1JRMEJJQUFvQWdCQkNDQUFLQUlFR3lBQlFRTjJhaUlESUFNdEFBQkJmaUFCUVFkeElnTjNjU0FFSUFOMGNqb0FBQ0FCUVFGcUlRRWdBa0YvYWlFQ0RBQUxDd3ZiQVFFRGZ5T0FnSUNBQUVFUWF5SUNKSUNBZ0lBQUFrQWdBRUdBRUU4TkFDT0JnSUNBQUVHb2dNQ0FBR29nQUNBQlFZQVFJQUZCZ0JCSkd5QUFheENXZ0lDQUFBc0NRQ0FCUVlBUVRRMEFBa0FqZ1lDQWdBQkJvSURBZ0FCcUtBSUVEUUFqZ1lDQWdBQkJvSURBZ0FCcUlnTkJnQ0EyQWdRZ0F5QUJRWDlxSWdGQkVIUWlCRFlDQUNBRVFRQkJnSUFFRUp5QWdJQUFHZ3NnQWlPQmdJQ0FBRUdnZ01DQUFHb3BBd0EzQXdnZ0FrRUlhaUFBUVlBUUlBQkJnQkJMR3lJQVFZQndhaUFCSUFCckVKYUFnSUFBQ3lBQ1FSQnFKSUNBZ0lBQUN6c0JBWDhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FESUFBcEFnQTNBd2dnQTBFSWFpQUJJQUpCQVJDVWdJQ0FBQ0FEUVJCcUpJQ0FnSUFBQzcwQkFRUi9RUUFoQkFKQUlBRkJnWUI4VHcwQUFrQWpnWUNBZ0FCQnFJREFnQUJxSUFGQi8vOERha0VRZGlJQklBSVFrNENBZ0FBaUJFRi9SdzBBQWtBamdZQ0FnQUJCb0lEQWdBQnFJQUVnQWhDVGdJQ0FBQ0lFUVg5R0RRQWdCRUdBRUdvaEJBd0JDMEVBSVFSQkFTQUNkQ0lGUHdBaUJrRVFkQ0lDYWtGL2FrRUFJQVZyY1NJRklBSnJRUkIySWdjZ0FXcEFBRUVCU0EwQklBY2dCbW9oQkNBRklBSkdEUUFnQmlBRUVKV0FnSUFBQ3lBRVFSQjBJUVFMSUFRTFR3RUJmd0pBSUFKQi8vOERhaUlHUVlDQWZIRWdCRThpQWtVTkFDQUVRZi8vQTJwQkVIWWlCQ0FHUVJCMklnWkdEUUFnQkNBQlFmLy9BMnBCRUhZaUFXb2dBU0FHYWhDVmdJQ0FBQXNnQWdzaEFDQUJRZi8vQTJwQkVIWWlBU0FCSUFKQi8vOERha0VRZG1vUWxZQ0FnQUFMUGdBZ0FTQUFoVUxwMnVEWmpzSDY3NTEvZmlJQVFpK0lJQUdGSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0ZDTDRnZ0FZVkM2ZHJnMlk3Qit1K2RmMzRMUWdFQ2ZpQUFJQUVwQUFBZ0Fud2lBaUFCS1FBSWZDQUJLUUFRZkNJRUlBRXBBQmdpQlh3M0F3QWdBQ0FFUWhTSklBSjhJQVVnQWlBRGZIeENLNGw4TndNSUN5d0JBWDhDUUNBQ1JRMEFJQUFoQXdOQUlBTWdBVG9BQUNBRFFRRnFJUU1nQWtGL2FpSUNEUUFMQ3lBQUMwSUJBWDhDUUNBQ1JRMEFJQUpCZjJvaEFpQUFJUU1EUUNBRElBRXRBQUE2QUFBZ0FrVU5BU0FDUVg5cUlRSWdBVUVCYWlFQklBTkJBV29oQXd3QUN3c2dBQXNMUVFJQVFZQ0F3QUFMQ0FBQUFBQUFBQUFBQUVHSWdNQUFDeWdCQUFBQUFnQUFBQU1BQUFBQUFBQUFBQUFBQUFnQUVBQ3FxcXFxQUFBQUFEQUFFQUFRQUFBQSIpO2NvbnN0IGY9YXdhaXQgRygpLEI9Zi5leHBvcnRzO2Z1bmN0aW9uIHMoSSl7Y29uc3R7cHRyOkMsbGVuZ3RoOkF9PXcoSSxCKSxnPUIuY29tcHJlc3MoQyxBKTtCLmZyZWUoQyxBKTtjb25zdHtzdGFydDpRLGVuZDpFLGNhcGFjaXR5Oml9PXQoQi5tZW1vcnksZyksbz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLEQ9ZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1mdW5jdGlvbiBuKEkpe2NvbnN0IEM9Qi5hbGxvY1VpbnQxNihJLmxlbmd0aCksQT1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEMsSS5sZW5ndGgpO2ZvcihsZXQgYT0wO2E8SS5sZW5ndGg7YSsrKUFbYV09SS5jaGFyQ29kZUF0KGEpO2NvbnN0IGc9Qi5kZWNvbXByZXNzKEMsSS5sZW5ndGgpO0IuZnJlZShDLDIqSS5sZW5ndGgpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dChCLm1lbW9yeSxnKSxvPW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLEUpKSxEPW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihJKXtjb25zdHtjb21tYW5kOkMsaWQ6QSxkYXRhOmd9PUkuZGF0YTtzd2l0Y2goQyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOm4oZyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOnMoZyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
+ function W(Q) {
3
3
  let U;
4
4
  try {
5
- if (U = J && (window.URL || window.webkitURL).createObjectURL(J), !U)
5
+ if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
6
6
  throw "";
7
- return new Worker(U);
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;
8
14
  } catch {
9
- return new Worker("data:application/javascript;base64," + V, { type: "module" });
10
- } finally {
11
- U && (window.URL || window.webkitURL).revokeObjectURL(U);
15
+ return new Worker(
16
+ "data:application/javascript;base64," + J,
17
+ {
18
+ type: "module",
19
+ name: Q?.name
20
+ }
21
+ );
12
22
  }
13
23
  }
14
- const R = new S();
24
+ const R = new W();
15
25
  let d = 0;
16
- const F = {};
17
- R.onmessage = function(U) {
18
- const Q = U.data.id;
19
- F[Q](U.data.data), delete F[Q];
26
+ const B = {};
27
+ R.onmessage = function(Q) {
28
+ const U = Q.data.id;
29
+ B[U](Q.data.data), delete B[U];
20
30
  };
21
- async function l(U) {
22
- const Q = d++;
23
- return new Promise((B) => {
24
- F[Q] = B, R.postMessage({ command: "compress", id: Q, data: U });
31
+ async function Z(Q) {
32
+ const U = d++;
33
+ return new Promise((F) => {
34
+ B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
25
35
  });
26
36
  }
27
- async function W(U) {
28
- const Q = d++;
29
- return new Promise((B) => {
30
- F[Q] = B, R.postMessage({ command: "decompress", id: Q, data: U });
37
+ async function V(Q) {
38
+ const U = d++;
39
+ return new Promise((F) => {
40
+ B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
31
41
  });
32
42
  }
33
43
  export {
34
- l as compress,
35
- W as decompress
44
+ Z as compress,
45
+ V as decompress
36
46
  };
@@ -1,10 +1,10 @@
1
- import { i as F, c as a, e as G, U as h } from "./wasm-helper-57a16a1d.js";
2
- const k = (I) => F(I, "data:application/wasm;base64,AGFzbQEAAAABUQxgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ABfwF/YAN/f38AYAJ/fwBgAX8AYAR/f39/AGACf38BfmACf38Bf2ADf39/AX9gBX9+fn5+AAMdHAMEAwQFBAYFBwgACQkJBgQJCQoHBQQAAgELCgoEBQFwAQQEBQMBABEGDgJ/AUGAgMAAC38AQQALB0QGBm1lbW9yeQIACmFsbG9jVWludDgAAAthbGxvY1VpbnQxNgACBGZyZWUABAhjb21wcmVzcwALCmRlY29tcHJlc3MAEAkJAQBBAQsDFhcYCv83HF4BAX8jgICAgABBEGsiASSAgICAACABI4GAgIAAQZiAwIAAaikDADcDACABQQhqIAEgABCBgICAAAJAIAEvAQwNACABKAIIIQAgAUEQaiSAgICAACAADwsDfwAMAAsLcQIBfwF+I4CAgIAAQRBrIgMkgICAgABCgICAgBAhBAJAQQFFDQACQCACDQBC/////w8hBAwBCyABKAIAIAJBAEEAIAEoAgQoAgARgICAgAAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALXgEBfyOAgICAAEEQayIBJICAgIAAIAEjgYCAgABBmIDAgABqKQMANwMAIAFBCGogASAAEIOAgIAAAkAgAS8BDA0AIAEoAgghACABQRBqJICAgIAAIAAPCwN/AAwACwuHAQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyACQQBIOgAMAkACQCACQX9KDQBCgICAgBAhBAwBCwJAIAJBAXQiAg0AQv7///8PIQQMAQsgASgCACACQQFBACABKAIEKAIAEYCAgIAAACICRa1CIIYgAq2EIQQLIAAgBDcCACADQRBqJICAgIAACxkAI4GAgIAAQZiAwIAAaiAAIAEQhYCAgAALOAEBfwJAIAJBACACGyIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQBBACAAKAIEKAIIEYGAgIAAAAsLDwAgACAAQQxqEIeAgIAAC3ABA38CQCAAKAIAIgJFDQACQCACQXRqIgNBCGooAgAiAkEKbCACQQ9qQXxxakEDakF8cSICQQAgAhsiBEUNACABKAIAIANBBCACGyAEQQJBACABKAIEKAIIEYGAgIAAAAsgAEEANgIIIABBADYCAAsL2AIDBH8BfgR/I4CAgIAAQRBrIgQkgICAgAAjgYCAgAAhBSABKAIAIQYCQAJAIAEoAgQNACAFQYCAwIAAaiEHDAELIAIgAxCJgICAACEIAkACQCAGDQBBACEFQX8hCQwBCyAGQXxqKAIAIgVBf2ohCQsgBkF4aiEKIAkgCKdxIQEgCEI5iKchCwNAI4GAgIAAQYCAwIAAaiEHIAYgAWosAAAiDEUNASAFRQ0BAkAgDEF/Sg0AIAsgDEH/AHFHDQAgAiADIAooAgAgAUEDdGoiDCgCACAMKAIEEIqAgIAAQQFxRQ0AIARBAToADCAEIAE2AgggBEEIaiEHDAILIAVBf2ohBSABQQFqIAlxIQEMAAsLAkACQCAHLQAEDQBBACEBQQAhBQwBCyAGQXRqKAIAIAcoAgBBAXRqLwEAIQFBgIAEIQULIAAgBSABcjYBACAEQRBqJICAgIAAC+wFBQJ/AX4BfwJ+An8jgICAgABB4ABrIgIkgICAgAACQAJAAkACQAJAIAFBEEsNACABQQNNDQEgADUAAEIghiAAIAFBAXZB/P///wdxIgNqNQAAhCEEIAAgAUF8aiIFajUAAEIghiAAIAUgA2tqNQAAhCEGQqya4tOj0vD6HyEHDAQLQQAhA0KsmuLTo9Lw+h8hB0EAIQUgAUEwSQ0CQQAhBUKsmuLTo9Lw+h8hB0KsmuLTo9Lw+h8hBEKsmuLTo9Lw+h8hBgNAIAVBMGoiCCABTw0CIAJBwABqIAAgBWoiBSkACCAGhUIAIAUpAABC29HQhZra34FnhUIAEJmAgIAAIAJBMGogBUEYaikAACAEhUIAIAVBEGopAABC442j5Inemt6Of4VCABCZgICAACACQSBqIAVBKGopAAAgB4VCACAFQSBqKQAAQsOZ3anHudnM2ACFQgAQmYCAgAAgAkHAAGpBCGopAwAgAikDQIUhBiACQSBqQQhqKQMAIAIpAyCFIQcgAkEwakEIaikDACACKQMwhSEEIAghBQwACwtCACEGQqya4tOj0vD6HyEHAkAgAQ0AQgAhBAwDCyAAIAFBAXZqMQAAQgiGIAAxAABCEIaEIAEgAGpBf2oxAACEIQQMAgsgBCAHhSAGhSEHCyAAIAVqIQkgASAFayEIAkADQCADQRBqIgUgCE8NASACQdAAaiAJIANqIgNBCGopAAAgB4VCACADKQAAQtvR0IWa2t+BZ4VCABCZgICAACACQdAAakEIaikDACACKQNQhSEHIAUhAwwACwsgASAAaiIDQXhqKQAAIQYgA0FwaikAACEECyACQRBqIARC29HQhZra34FnhUIAIAYgB4VCABCZgICAACACIAJBEGpBCGopAwBC29HQhZra34FnhUIAIAGtIAIpAxCFQq/I9cXHrIe7oH+FQgAQmYCAgAAgAkEIaikDACEHIAIpAwAhBCACQeAAaiSAgICAACAHIASFC1gBAn9BACEEAkAgASADRw0AAkAgACACRw0AQQEPCwNAIAFFIQQgAUUNASABQX9qIQEgAi0AACEDIAAtAAAhBSAAQQFqIQAgAkEBaiECIAUgA0YNAAsLIAQLiRMGAX8BfgV/AX4cfwF+I4CAgIAAQaABayICJICAgIAAAkACQAJAIAENACOBgICAAEGYgMCAAGopAwAhA0Gq1arVeiEEQQAhBUEAIQYMAQtBACEHIAJBGGpBCGoiCEEANgIAIAJCADcDGCACI4GAgIAAQZiAwIAAaikDACIJNwIkIAIgCTcCdCACQQA2AnAgAkKq1arVCjcCaAJAIAJB6ABqIAEQjICAgABB//8DcUUNACACQRhqEIaAgIAADAILIAJBGGpBDGohCiAJQiCIpyELIAIpAnQhAyACKAJwIQUgAigCbCEGIAIoAmghBCAJpyEMQYACIQ1BACEOA0AgBiEPIA5BAmohByAAIA5qIRBBACEGAkACQAJAAkACQAJAAkACQAJAAkADQAJAAkAgByAGaiABTw0AIAJBMGogAkEYaiAQIAZBAmoiERCIgICAACACLQAyDQEgAigCGCESIAIoAiANBgJAAkAgEg0AQQEhBwwBCyASQXxqKAIArULQAH4iCSAJQuQAgn1C5AB8QtAAgKchBwtBACETIAJB6ABqQQhqIhRBADYCACACQgA3A2hBAA0FAkACQEIBQSAgB2drrUL//wODhqciB0EIIAdBCEsbIhVBAXQgFUEPakF8cSIWIBVBA3RqIhdqQQNqQXxxIgcNAEF8IQcMAQtBACETIAwgB0ECQQAgCygCABGAgICAAAAiB0UNBgsgB0EIaiIYIBU2AgAgByAHIBZqNgIEIAcgByAXajYCACACIAdBDGoiBzYCaCAHQQAgFRCagICAACETIAIgFa1C0AB+QuQAgKciGTYCcCACKAIcIhpFDQRB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"), J = await k(), A = J.exports;
3
- function c(I) {
4
- const { ptr: C, length: Q } = a(I, A), E = A.compress(C, Q);
1
+ import { i as w, c as k, e as G, U as h } from "./wasm-helper-C1VfMvbY.js";
2
+ const F = (I) => w(I, "data:application/wasm;base64,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"), f = await F(), A = f.exports;
3
+ function Y(I) {
4
+ const { ptr: C, length: Q } = k(I, A), E = A.compress(C, Q);
5
5
  A.free(C, Q);
6
- const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint16Array(A.memory.buffer.slice(g, i)), w = h(D);
7
- return A.free(g, o), w;
6
+ const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint16Array(A.memory.buffer.slice(g, i)), a = h(o);
7
+ return A.free(g, D), a;
8
8
  }
9
9
  function s(I) {
10
10
  const C = A.allocUint16(I.length), Q = new Uint16Array(
@@ -18,11 +18,11 @@ function s(I) {
18
18
  C,
19
19
  I.length
20
20
  );
21
- A.free(C, I.length);
22
- const { start: g, end: i, capacity: o } = G(A.memory, E), D = new Uint8Array(A.memory.buffer.slice(g, i)), w = new TextDecoder().decode(D);
23
- return A.free(g, o), w;
21
+ A.free(C, 2 * I.length);
22
+ const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint8Array(A.memory.buffer.slice(g, i)), a = new TextDecoder().decode(o);
23
+ return A.free(g, D), a;
24
24
  }
25
25
  export {
26
- c as compress,
26
+ Y as compress,
27
27
  s as decompress
28
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smol-string",
3
- "version": "0.0.2",
3
+ "version": "0.1.1-beta",
4
4
  "description": "Compression for browser localStorage",
5
5
  "author": "Senryoku <maretverdant@gmail.com>",
6
6
  "repository": {
@@ -52,11 +52,12 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@vitest/browser": "^0.34.6",
55
+ "smol-string": "^0.1.0-beta",
55
56
  "typescript": "^5.2.2",
56
- "vite": "^4.4.5",
57
+ "vite": "^5.0.0",
58
+ "vite-plugin-dts": "^3.6.2",
59
+ "vite-plugin-top-level-await": "^1.3.1",
57
60
  "vitest": "^0.34.6",
58
- "webdriverio": "^8.20.4",
59
- "vite-plugin-dts": "^3.6.2"
60
- },
61
- "dependencies": {}
61
+ "webdriverio": "^8.20.4"
62
+ }
62
63
  }
package/src/common.ts CHANGED
@@ -2,7 +2,7 @@ export function copyToWasmBuffer(
2
2
  str: string,
3
3
  exports: { allocUint8: (size: number) => number; memory: any }
4
4
  ) {
5
- // There's also an 'encodeInto' method to avoid a copy, but by encoding first, we con allocate only exactly what we need.
5
+ // There's also an 'encodeInto' method to avoid a copy, but by encoding first, we can allocate only exactly what we need.
6
6
  const utf8Str = new TextEncoder().encode(str);
7
7
  const ptrToStr = exports.allocUint8(utf8Str.length);
8
8
  const inBuffer = new Uint8Array(
Binary file
package/src/module.wasm CHANGED
Binary file
@@ -28,8 +28,12 @@ export function compressPacked(str: string) {
28
28
 
29
29
  exports.free(ptr, length);
30
30
 
31
+ //console.log(ptrToFooter);
32
+
31
33
  const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
32
34
 
35
+ //console.log(start, end, capacity / (1024 * 1024));
36
+
33
37
  // Includes the tokenCount at the end of the stream (2 * u16).
34
38
  const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
35
39
 
@@ -61,7 +65,7 @@ export function decompressPacked(compressedStr: string) {
61
65
  tokenCount
62
66
  );
63
67
 
64
- exports.free(ptrToCompressed, compressedStr.length - 2);
68
+ exports.free(ptrToCompressed, 2 * (compressedStr.length - 2));
65
69
 
66
70
  const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
67
71
  const content = new Uint8Array(exports.memory.buffer.slice(start, end));
@@ -1,29 +1,29 @@
1
- // @ts-expect-error
2
- import Worker from "./worker-packed.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compressPacked(data: string) {
16
- const id = nextID++;
17
- return new Promise((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompressPacked(data: string) {
24
- const id = nextID++;
25
- return new Promise((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
1
+ // @ts-expect-error
2
+ import Worker from "./worker-packed.js?worker&inline";
3
+
4
+ const worker = new Worker();
5
+
6
+ let nextID = 0;
7
+ const resolver: Record<number, (str: string) => void> = {};
8
+
9
+ worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
+ const id = e.data.id;
11
+ resolver[id](e.data.data);
12
+ delete resolver[id];
13
+ };
14
+
15
+ export async function compressPacked(data: string) {
16
+ const id = nextID++;
17
+ return new Promise<string>((resolve) => {
18
+ resolver[id] = resolve;
19
+ worker.postMessage({ command: "compress", id, data });
20
+ });
21
+ }
22
+
23
+ export async function decompressPacked(data: string) {
24
+ const id = nextID++;
25
+ return new Promise<string>((resolve) => {
26
+ resolver[id] = resolve;
27
+ worker.postMessage({ command: "decompress", id, data });
28
+ });
29
+ }
@@ -1,29 +1,29 @@
1
- // @ts-expect-error
2
- import Worker from "./worker.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compress(data: string) {
16
- const id = nextID++;
17
- return new Promise((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompress(data: string) {
24
- const id = nextID++;
25
- return new Promise((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
1
+ // @ts-expect-error
2
+ import Worker from "./worker.js?worker&inline";
3
+
4
+ const worker = new Worker();
5
+
6
+ let nextID = 0;
7
+ const resolver: Record<number, (str: string) => void> = {};
8
+
9
+ worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
+ const id = e.data.id;
11
+ resolver[id](e.data.data);
12
+ delete resolver[id];
13
+ };
14
+
15
+ export async function compress(data: string) {
16
+ const id = nextID++;
17
+ return new Promise<string>((resolve) => {
18
+ resolver[id] = resolve;
19
+ worker.postMessage({ command: "compress", id, data });
20
+ });
21
+ }
22
+
23
+ export async function decompress(data: string) {
24
+ const id = nextID++;
25
+ return new Promise<string>((resolve) => {
26
+ resolver[id] = resolve;
27
+ worker.postMessage({ command: "decompress", id, data });
28
+ });
29
+ }
@@ -49,7 +49,7 @@ export function decompress(compressedStr: string) {
49
49
  compressedStr.length
50
50
  );
51
51
 
52
- exports.free(ptrToCompressed, compressedStr.length);
52
+ exports.free(ptrToCompressed, 2 * compressedStr.length);
53
53
 
54
54
  const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
55
55
  const content = new Uint8Array(exports.memory.buffer.slice(start, end));
@@ -1,21 +1,21 @@
1
- import { compressPacked, decompressPacked } from "./smol-string-packed.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- onmessage = async function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- postMessage({ id, data: decompressPacked(data) });
14
- break;
15
- }
16
- case "compress": {
17
- postMessage({ id, data: compressPacked(data) });
18
- break;
19
- }
20
- }
21
- };
1
+ import { compressPacked, decompressPacked } from "./smol-string-packed.js";
2
+
3
+ export type Message = {
4
+ command: string;
5
+ id: number;
6
+ data: string;
7
+ };
8
+
9
+ self.onmessage = function (e: { data: Message }) {
10
+ const { command, id, data } = e.data;
11
+ switch (command) {
12
+ case "decompress": {
13
+ self.postMessage({ id, data: decompressPacked(data) });
14
+ break;
15
+ }
16
+ case "compress": {
17
+ self.postMessage({ id, data: compressPacked(data) });
18
+ break;
19
+ }
20
+ }
21
+ };
package/src/worker.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { compress, decompress } from "./smol-string.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- onmessage = async function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- postMessage({ id, data: decompress(data) });
14
- break;
15
- }
16
- case "compress": {
17
- postMessage({ id, data: compress(data) });
18
- break;
19
- }
20
- }
21
- };
1
+ import { compress, decompress } from "./smol-string.js";
2
+
3
+ export type Message = {
4
+ command: string;
5
+ id: number;
6
+ data: string;
7
+ };
8
+
9
+ self.onmessage = function (e: { data: Message }) {
10
+ const { command, id, data } = e.data;
11
+ switch (command) {
12
+ case "decompress": {
13
+ self.postMessage({ id, data: decompress(data) });
14
+ break;
15
+ }
16
+ case "compress": {
17
+ self.postMessage({ id, data: compress(data) });
18
+ break;
19
+ }
20
+ }
21
+ };
package/vite.config.ts CHANGED
@@ -3,6 +3,8 @@ import { defineConfig } from "vite";
3
3
  import dts from "vite-plugin-dts";
4
4
  import pkg from "./package.json" assert { type: "json" };
5
5
 
6
+ import topLevelAwait from "vite-plugin-top-level-await";
7
+
6
8
  export default defineConfig({
7
9
  build: {
8
10
  lib: {
@@ -17,7 +19,7 @@ export default defineConfig({
17
19
  },
18
20
  rollupOptions: {
19
21
  external: [
20
- ...Object.keys(pkg.dependencies), // don't bundle dependencies
22
+ ...Object.keys(pkg["dependencies"] ?? {}), // don't bundle dependencies
21
23
  /^node:.*/, // don't bundle built-in Node.js modules (use protocol imports!)
22
24
  ],
23
25
  },
@@ -25,6 +27,16 @@ export default defineConfig({
25
27
  },
26
28
  worker: {
27
29
  format: "es",
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
+ },
28
40
  },
29
41
  plugins: [
30
42
  dts(), // emit TS declaration files
@@ -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
- ];
@@ -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: 5 };
13
-
14
- describe.each(TestData)("Compression: $name", ({ name, input }) => {
15
- bench(
16
- "compress",
17
- async () => {
18
- compress(input);
19
- },
20
- options
21
- );
22
- bench(
23
- "compressPacked",
24
- async () => {
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
- async () => {
38
- const decompressed = decompress(compressed);
39
- expect(decompressed).toBe(input);
40
- },
41
- options
42
- );
43
- bench(
44
- "decompressPacked",
45
- async () => {
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
- });