leviathan-crypto 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +171 -7
- package/LICENSE +4 -0
- package/README.md +109 -54
- package/SECURITY.md +125 -233
- package/dist/chacha20/cipher-suite.d.ts +10 -0
- package/dist/chacha20/cipher-suite.js +66 -2
- package/dist/chacha20/generator.d.ts +12 -0
- package/dist/chacha20/generator.js +91 -0
- package/dist/chacha20/index.d.ts +97 -1
- package/dist/chacha20/index.js +139 -11
- package/dist/chacha20/ops.d.ts +57 -6
- package/dist/chacha20/ops.js +93 -13
- package/dist/chacha20/pool-worker.js +12 -0
- package/dist/chacha20/types.d.ts +1 -32
- package/dist/ct-wasm.js +1 -1
- package/dist/ct.wasm +0 -0
- package/dist/docs/aead.md +69 -26
- package/dist/docs/architecture.md +600 -520
- package/dist/docs/argon2id.md +17 -14
- package/dist/docs/chacha20.md +146 -39
- package/dist/docs/exports.md +46 -10
- package/dist/docs/fortuna.md +339 -122
- package/dist/docs/init.md +24 -25
- package/dist/docs/loader.md +142 -47
- package/dist/docs/serpent.md +139 -41
- package/dist/docs/sha2.md +77 -19
- package/dist/docs/sha3.md +81 -15
- package/dist/docs/types.md +156 -15
- package/dist/docs/utils.md +171 -81
- package/dist/embedded/chacha20-pool-worker.d.ts +1 -0
- package/dist/embedded/chacha20-pool-worker.js +5 -0
- package/dist/embedded/kyber.d.ts +1 -1
- package/dist/embedded/kyber.js +1 -1
- package/dist/embedded/serpent-pool-worker.d.ts +1 -0
- package/dist/embedded/serpent-pool-worker.js +5 -0
- package/dist/embedded/serpent.d.ts +1 -1
- package/dist/embedded/serpent.js +1 -1
- package/dist/fortuna.d.ts +14 -8
- package/dist/fortuna.js +144 -50
- package/dist/index.d.ts +8 -6
- package/dist/index.js +6 -5
- package/dist/init.d.ts +0 -2
- package/dist/init.js +83 -3
- package/dist/kyber/indcpa.js +4 -4
- package/dist/kyber/index.js +25 -5
- package/dist/kyber/kem.js +56 -1
- package/dist/kyber/suite.d.ts +1 -2
- package/dist/kyber/suite.js +1 -0
- package/dist/kyber/types.d.ts +1 -0
- package/dist/kyber/validate.d.ts +8 -4
- package/dist/kyber/validate.js +18 -14
- package/dist/kyber.wasm +0 -0
- package/dist/loader.d.ts +7 -2
- package/dist/loader.js +25 -28
- package/dist/ratchet/index.d.ts +6 -0
- package/dist/ratchet/index.js +37 -0
- package/dist/ratchet/kdf-chain.d.ts +13 -0
- package/dist/ratchet/kdf-chain.js +85 -0
- package/dist/ratchet/ratchet-keypair.d.ts +9 -0
- package/dist/ratchet/ratchet-keypair.js +61 -0
- package/dist/ratchet/root-kdf.d.ts +4 -0
- package/dist/ratchet/root-kdf.js +124 -0
- package/dist/ratchet/skipped-key-store.d.ts +14 -0
- package/dist/ratchet/skipped-key-store.js +154 -0
- package/dist/ratchet/types.d.ts +36 -0
- package/dist/ratchet/types.js +26 -0
- package/dist/serpent/cipher-suite.d.ts +10 -0
- package/dist/serpent/cipher-suite.js +136 -50
- package/dist/serpent/generator.d.ts +12 -0
- package/dist/serpent/generator.js +97 -0
- package/dist/serpent/index.d.ts +61 -1
- package/dist/serpent/index.js +92 -7
- package/dist/serpent/pool-worker.js +25 -95
- package/dist/serpent/serpent-cbc.d.ts +14 -4
- package/dist/serpent/serpent-cbc.js +58 -34
- package/dist/serpent/shared-ops.d.ts +83 -0
- package/dist/serpent/shared-ops.js +213 -0
- package/dist/serpent/types.d.ts +1 -5
- package/dist/serpent.wasm +0 -0
- package/dist/sha2/hash.d.ts +2 -0
- package/dist/sha2/hash.js +53 -0
- package/dist/sha2/index.d.ts +1 -0
- package/dist/sha2/index.js +15 -1
- package/dist/sha3/hash.d.ts +2 -0
- package/dist/sha3/hash.js +53 -0
- package/dist/sha3/index.d.ts +17 -2
- package/dist/sha3/index.js +79 -7
- package/dist/stream/header.js +5 -5
- package/dist/stream/open-stream.js +36 -14
- package/dist/stream/seal-stream-pool.d.ts +1 -0
- package/dist/stream/seal-stream-pool.js +47 -8
- package/dist/stream/seal-stream.js +29 -11
- package/dist/stream/types.d.ts +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/utils.d.ts +7 -8
- package/dist/utils.js +73 -40
- package/dist/wasm-source.d.ts +9 -8
- package/package.json +79 -64
package/dist/embedded/kyber.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WASM_GZ_BASE64 = "
|
|
1
|
+
export declare const WASM_GZ_BASE64 = "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";
|
package/dist/embedded/kyber.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated by scripts/embed-wasm.ts — do not edit
|
|
2
2
|
// gzip-compressed WASM binary, base64-encoded. Decoded and decompressed by loadEmbedded().
|
|
3
|
-
export const WASM_GZ_BASE64 = '
|
|
3
|
+
export const WASM_GZ_BASE64 = 'H4sIAAAAAAAAA61aa4xkRRWu5312T/eiCI6Le+4FFcRZHrvLY0GYGnR1ccGNhGh8ZHZ29s44d3pmdrrvtK4oPRsl7g9CglGCr2Q1CAQFg4mPGJEdNSpq/INEY1D4ocYfaqLGyDx62j1V9/bc7unuxQQ2c6vOuedUncdXVaduQyZqc5QQQq/zjhDaOMIaDXKENsgR3sCeaDQMw7yijSMkZdKGFqENfuDtZNB/NpGCMcaktCjlnFLGseWMMc6FoJQKYTmukALZ9rPOAX86Sm5bOLZUiQ4eI2QIqWhuoXri8MR0VCO0NB0lhxcqJ+6oLCRjE7WIsDznjpmPRYQXcpwrCcuTVxGRJ68mMk/uIVae3EvsPLmPOHnyGuLmyWuJlyevI36evJ4UzkvJejTZNr7YxdT2D5U6mVeSYhfnKlLq4lxNyl2cPWRHF2cvOa+Ls4+8qotzDXl1F+dacn5xOkruiKJj756aqkUJeQ06dlttOiUvwIwdnk2pC5G6I6Nei9QtSUoNlzV1uDozF6Ws1+Fs71uYOlydSjk7/Y/MHI/GlqamomqNXIQAeH+UTNTS16+3UwbZZR+dqEVzSxUC3nySjNcmJyoTVRIUZ+brOTrk80lCLrYMl1yyY25hPplemIuqJ8ar0bGlyYi8YejoRLUaJUnGeKOcWsSB31Q4vlA5MZ4sHD2RRDVy6ZAmp6oLc4ZxWVEzJhfmjlejWo28uaTpY1Gbc3mhrTJXmyZv8dIBkRjxM2JhPiG7L9BU6tP4lpXkCjPLdJTML8zUInK1o+mJY8fIHtOtLR0le81oqQf7zAv0+BrzIvX/Wm1iPZpse3Xdjoyz5dj15YzX9mT/eRkr594NfsbEsW8cyqh0sre2GalZN7Xl0fqbX59RmdcTk5N5z0fPzwTmcEdYqo1PfjianCXKr0bx+NL8zNRCdY6MuZPJeD2qzkydILfYk8n45NxCnbzNmtP7BiMFyryfXf92QZT0BbmZ+JKoZdBPoZ+X6Oel+vkW/bxSP/fq53X6eaNvEbV8hujmJ6b5uRmqrInfGd5fTfOSaU5R3TxomkdN8z3T/Fw3p01zxjQv/sY0LxqRvxuRVeoPocmKqNN/phu+nva04w8RIIom6rQT76bEf4hS1gACfIsHdDdloQCGDa+EEuSKOjlVWVEnhyuzqry00ouHWiSkqEVC1ksivoESIECBV8KzRnTrMxC9+PENlPnfodRpKBowtUwDm4+CrdjtYlSRwOGj4Khl9k4xCiykisYBA7rlTGCBDU4cSD4KEpxbxSgQzVE0iUOB7lqVkALtmjbgIICAo8XQNeCzaD8FQ2hnHJzOKVDfBwl21rUVXQps7PoPMOo1VIsETLHA5aPgqmV6SBvu8VHw8obPdhnugAteHAg+CgI8Y7inzeEYYhuIFtAcCzkyDihwoCvozNNfphW1vLxcjtXwknFrBU22wEFbZ1d6OY0CHvrkaUcEuFnXVTQJXOx2mZ7ZhGlXX/ErAQUG5xrZ/wlnTkPcpWjAMaOMjwJTjsko5aNA09FzqAwEUjHmpVkOXKDATHAoCBR1NbSYiYdsEkFCv1mg/+781/wcbX6OBgWQKJ6T9cAFv/kDCoXmI7RZoEVC8n/Nb9Pmk1SVm9+gWvApFHx0sGDzHhr6zftp0xcEJHjgN+8zBFVOHFAdWAai3UXcMOzqcLDB4bCycHQHIh+GFN422N3wtvMRQPQ4YGuAS706NNRx/AFW+s9ZzGvIuxDfXLE0i+LQQLMdpGYzs6U2W6Zmb0HZznvhIkfEgQcWeCvg9Qe3Cw4IA24BogcEO1ySOZeSXOCzFToQiLMpEIu94p/D1VDeEyuF5X00RJgFJZBQglKz8PTthOT/EEUFQgjL/zWfoGoYcdUHdBqRYQEKr9B4zXsMWovgw1DzfjpwPVko9vLWT/Hlr5/BqyVNWjtV8E4x2ix8RXb+0wkRuEWdc1NgPbRfnlM9Ff8/JzNk+q/GU7LrGPQvQhZye2Hf36nf0pVeB6j/KUpFI0U2ApTq2CmqMYlriwNfUaUldXJ4MQ7w1GOKV+JQr1HFjIw+zlOZUO4nBDgIJRKQqtXii8qpV/cTqpmaFvX9hOFEcbpZRNuNwEnkCGEB13PSJBRoEsgRQvBBQ6mcpKpauxZN6SBSo4GbmUW9ii9ys/zDom4Dd6EDegmbLQnaEyYhVyzzOxBYiyjepqWmRZu2NC3btK1pq007mrbbtKvdYEkcevpNR4Sz4CmRqJPFWK3/R1TUzjo6gqaJcwlWMeYenM3DgJHO7nr91Sl4cPYkGKBugdVfnQGeke4AdQec/uo8lyb5/6YmzLstE7VcjNXm91lFva7enbUw70SX6DkSGuYd6FLtnWtZGZzrzkFCX8m+2e4UTbOdz2engGIJ+IrXqyCVnaTZtcyyoFm68tnuUqcJSter4Cgr0enpzG6XOE/AUQzHFfnl5j/FqbVtvZkVnq4FffqNEBJyVVrETUk5sRJ1s6BzGxHmsN75fiBgMPTWCKGBDRbuIQIbHnBsRCD14CKJkSSho3aZucuxku25eRJa2ey2cVHWqz1ErRSZeO2o93xvkIobVAK2svuMInK7l8Do95SSmRTtPZfBK0iEAFdWn1HsTIrXO1/m0/d+ynFT5llYOWYqEO1oOyaRHINjQqAICGBLii7OqpPFxc4B05JUjz2TH1ptGzRd4NmweHugnRsKXQSWVIM83tCUGIQ+fbZmusXMRNs3Etq+JalnvErAgMPZo6jzWOysBv1/4QVTm3uGmHqPJ6EAgvAVsa47zr4bnQ3tMgBXLDGICAXQOHSyDUHEoQWuljZFtaiEHhasnTddO3fXdvCSbYPERlZwB9p2197OmzU3OQluz5u4ALtXAYw36XzcvpDWBVvZ12cXw9OXjRCKZy92mCqbDlcXJtWQqecee+4xuYh5qaf9eCBmEDGKJaGsK74IApEbY3e2P3q+1LbN5EODpdLPuJCpZx76DE1N0t0Yp8z6OetEZh3rsM6qoHW2sY7H2B1g3QV6bztgwFa+UpeY5at8/wbKcgHFZb6FISw+NTKwk10Ec2O+fN37t+k+SxlrsLvaRXBXycvxriFwABCv1F2D412DA3+F7xq5JekRIOWLgZT3+RZ2L/Evp1SXkMBvTZO4zCuxxoabxOVL8yHZLusmRhR1ypflZX9q00IDuPIOiFGtI27VkBOoo48Soc6wShxYigQ8h0qpcRTaudM/X0J4yeNjJ4sfH/vuC78md4/BqbGW/clHAv39ZavUCfOnbm8NV2tsFUP5Y723hg34ecBUJ1IvRa3ogz9YMfRN3eGY8sLJykZXl3d41qSFhbISZNbTygHPRSwNtoKqa/VA6MN7e0wtHdMXMaZ2O6YauZbZemWfkPrJ42PLxY+PPf/NN909tuvUWKukI2rpPaVXRHsquFphK6Bn9+jBCp5W2Kox84HsqeBrhXalibfywQoFrbBVihahOFihqBXsnhVyT4UhsIErH+9cOsppDVqC0kC9sISQkODgfl7KICHBRQjoggkhgTRCgOOHLiyCXOWZalGCj+DxsCjaTyRIKCgbwaXBY2ma1vcT/CBVRNgVlItvcJkMYb1cNLBzNc3r+4nXG2a+/3tJh7avY9Jex7TfOs4Wi42FpAP2CBFoiT1CeOji9EF7GSGT4IOGtrmc2qb4Whax8urmC5reFfystMQKW6+Q3sJ+Vlymi0z0lUuLTK/r1bkWXRYAXwdAL7pC56IrpMDwRogMJHh41LMEWxZa6D92RWgrDx0uLQZFZGAZg60VOphc7Dqhq9xUZggZHqLGGyFuWEKoBGXwDfSQSfBBwx0mjuntYNmJla/98s1W4GVxtBANO/DO01PYy+JY7PGKZ9WwjamgfYcQWcqy7wt95NIafajHq7Q8L5ktkvUdIi3Qy12v+mD7UlMeUGC3pncrF2vc8sXAy/vyNX1oDr5OwfIl5xbpGGV3Wo0YBCF+QmmqERnrT6flPXnz3mF+RKLAylcoqr+GGlV1+iTL1GmqeQV+3sIXHWPog/5mHAdru4BnX/WA619I1PJwVtnvpmRW7Vqqmt9Lct8DF/0HKF5HjQEC7wP6ahZK4IcWcRSw4tDFS6MDLtaO2YLDz+GBhTz8USf95nT2EDo5fDBdQBo9mB9jsZ8Ob6PIYk7GzsmkP6LQWf9GE860GhH6HoNzpTeuWjXIn51jOEKLLj7+ibGbTz3iK8obCn9/0kt2a1Hrj2f4lUrv52DpUhFHW6zhlp1Hz4OMEXWv47OdlKgHHf8UE/g/WlBC/rbuNT+/+aq15+R9chf9BbmzNc8us75DfsRvX79p7QfyrezZNYc26I83viV/uHp3673NVf48O8LWVr9I97T+sPozcS/7XfO//N9rz8q/bL60KthLrTObU80nVuvrd5On5Nc3Hm79c/MmPktqa27r4EZ1c4XvXLu8eYb+dv1rTK4/uf4EvZy9i1+0Ps2HrBnyMH0Xe5Kc3/rD5t7NN1pLltfy+KfFXOu/G7+UDzfHxS9WP8Ue3PgQ/So9SI+1vt26ih8UH2BH2Zvl+to71papWv9o60fimbUHNp4nH1q/Z3V83Vpj68N8eO2xjS9s/JF+tvWrzT/xF/gP+aG1f8kPWiQs1xaWqpPRbRPHj8/MT9/5nkPl3VfMnjgaVXd/ZKI2t3tu4vj/ABUUZQbyIgAA';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WORKER_SOURCE = "\"use strict\";(()=>{var U=new Uint8Array([0,97,115,109,1,0,0,0,1,8,1,96,3,127,127,127,1,127,3,2,1,0,5,4,1,1,1,1,7,20,2,7,99,111,109,112,97,114,101,0,0,6,109,101,109,111,114,121,2,0,10,133,1,1,130,1,3,2,127,1,126,1,123,3,64,32,3,65,16,106,34,4,32,2,76,4,64,32,6,32,0,32,3,106,253,0,4,0,32,1,32,3,106,253,0,4,0,253,81,253,80,33,6,32,4,33,3,12,1,11,11,3,64,32,2,32,3,74,4,64,32,5,32,0,32,3,106,49,0,0,32,1,32,3,106,49,0,0,133,132,33,5,32,3,65,1,106,33,3,12,1,11,11,66,0,32,5,32,6,253,29,0,32,6,253,29,1,132,132,34,5,125,32,5,132,66,63,135,66,127,133,167,65,1,113,11]);var R=null,K=null,I=!1,m=null,T=32768;function P(){if(I){if(m)throw m;return}if(I=!0,!V())throw m=new Error(\"leviathan-crypto: constantTimeEqual requires WebAssembly SIMD \\u2014 this runtime does not support it\"),m;try{let e=U.buffer.slice(U.byteOffset,U.byteOffset+U.byteLength),t=new WebAssembly.Module(e),o=new WebAssembly.Instance(t).exports;K=o.memory,R=o.compare}catch(e){throw m=new Error(`leviathan-crypto: ct WASM module failed to instantiate: ${e.message}`),m}}var _=(e,t)=>{if(e.length!==t.length)return!1;if(e.length>T)throw new RangeError(`constantTimeEqual: max ${T} bytes (got ${e.length})`);P();let n=K,o=R;if(!n||!o)throw new Error(\"leviathan-crypto: ct init invariant violated\");let r=new Uint8Array(n.buffer);r.set(e,0),r.set(t,e.length);try{return o(0,e.length,e.length)===1}finally{r.fill(0,0,e.length*2)}};var i=e=>{e.fill(0)};var S=(...e)=>{let t=e.reduce((r,s)=>r+s.length,0),n=new Uint8Array(t),o=0;for(let r of e)n.set(r,o),o+=r.length;return n};var h=null;function V(){if(h!==null)return h;if(typeof WebAssembly>\"u\"||typeof WebAssembly.validate!=\"function\")return h=!1,h;try{h=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}catch{h=!1}return h}var E=class e extends Error{constructor(t){super(`${t}: authentication failed`),this.name=\"AuthenticationError\",Object.setPrototypeOf(this,e.prototype)}};var x=\"invalid ciphertext\";function q(e){let t=16-e.length%16,n=new Uint8Array(e.length+t);return n.set(e),n.fill(t,e.length),n}function j(e){if(e.length===0||e.length%16!==0)throw new RangeError(x);let t=e[e.length-1],n=0;n|=t-1>>>31,n|=16-t>>>31;for(let r=0;r<16;r++){let s=e.length-16+r,a=16-t-r-1>>31&255;n|=(e[s]^t)&a}if(n-1>>>31^1)throw new RangeError(x);return e.subarray(0,e.length-t)}function v(e,t,n){let o=e.getSha256InputOffset(),r=e.getSha256OutOffset(),s=t;return s.length>64&&(e.sha256Init(),$(e.memory,o,s,64,e.sha256Update),e.sha256Final(),s=new Uint8Array(e.memory.buffer).slice(r,r+32)),new Uint8Array(e.memory.buffer).set(s,o),e.hmac256Init(s.length),$(e.memory,o,n,64,e.hmac256Update),e.hmac256Final(),new Uint8Array(e.memory.buffer).slice(r,r+32)}function $(e,t,n,o,r){let s=new Uint8Array(e.buffer),a=0;for(;a<n.length;){let l=Math.min(n.length-a,o);s.set(n.subarray(a,a+l),t),r(l),a+=l}}function F(e,t,n,o){k(e,t,n);let r=q(o),s=e.getChunkPtOffset(),a=e.getChunkCtOffset();if(new Uint8Array(e.memory.buffer).set(r,s),e.cbcEncryptChunk(r.length)<0)throw new RangeError(`cbcEncryptChunk rejected len=${r.length} (WASM CHUNK_SIZE=${e.getChunkSize()})`);return new Uint8Array(e.memory.buffer).slice(a,a+r.length)}function D(e,t,n,o){if(o.length===0||o.length%16!==0)throw new RangeError(x);k(e,t,n);let r=e.getChunkCtOffset(),s=e.getChunkPtOffset();if(new Uint8Array(e.memory.buffer).set(o,r),e.cbcDecryptChunk_simd(o.length)<0)throw new RangeError(`cbcDecryptChunk_simd rejected len=${o.length} (WASM CHUNK_SIZE=${e.getChunkSize()})`);let y=new Uint8Array(e.memory.buffer).slice(s,s+o.length);return j(y)}function k(e,t,n){if(t.length!==16&&t.length!==24&&t.length!==32)throw new RangeError(`Serpent key must be 16, 24, or 32 bytes (got ${t.length})`);if(n.length!==16)throw new RangeError(`CBC IV must be 16 bytes (got ${n.length})`);let o=new Uint8Array(e.memory.buffer);o.set(t,e.getKeyOffset()),e.loadKey(t.length),o.set(n,e.getCbcIvOffset())}var c,f,u;self.onmessage=async e=>{let t=e.data;if(t.type===\"init\"){try{let n=new WebAssembly.Memory({initial:3,maximum:3});c=(await WebAssembly.instantiate(t.modules.sha2,{env:{memory:n}})).exports;let r=new WebAssembly.Memory({initial:3,maximum:3});if(f=(await WebAssembly.instantiate(t.modules.serpent,{env:{memory:r}})).exports,u=new Uint8Array(t.derivedKeyBytes),u.length!==96)throw new Error(`expected 96 derived key bytes (got ${u.length})`);t.derivedKeyBytes.fill(0),self.postMessage({type:\"ready\"})}catch(n){self.postMessage({type:\"error\",id:-1,message:n.message,isAuthError:!1})}return}if(t.type===\"wipe\"){u&&u.fill(0),u=void 0,c&&c.wipeBuffers(),f&&f.wipeBuffers(),c=void 0,f=void 0,self.postMessage({type:\"wiped\"});return}if(!u||!c||!f){self.postMessage({type:\"error\",id:t.id,message:\"worker not initialized\",isAuthError:!1});return}try{let{id:n,op:o,counterNonce:r,data:s,aad:a}=t,l=a??new Uint8Array(0),y=t.derivedKeyBytes??u,W=y.subarray(0,32),M=y.subarray(32,64),B=y.subarray(64,96),g;if(o===\"seal\"){let d=v(c,B,r),C=d.slice(0,16);i(d);let A=F(f,W,C,s),p=new Uint8Array(4);new DataView(p.buffer).setUint32(0,l.length,!1);let b=S(r,p,l,A),w=v(c,M,b);g=S(A,w),i(C),i(b)}else{let d=s.subarray(0,s.length-32),C=s.subarray(s.length-32),A=v(c,B,r),p=A.slice(0,16);i(A);let b=new Uint8Array(4);new DataView(b.buffer).setUint32(0,l.length,!1);let w=S(r,b,l,d),O=v(c,M,w);if(!_(O,C))throw i(p),i(w),i(O),new E(\"serpent\");i(w),i(O),g=D(f,W,p,d),i(p)}let L=g.buffer instanceof ArrayBuffer?[g.buffer]:[];self.postMessage({type:\"result\",id:n,data:g},{transfer:L})}catch(n){let o=n instanceof E;self.postMessage({type:\"error\",id:t.id,message:n.message,cipher:o?\"serpent\":void 0,isAuthError:o})}finally{t.derivedKeyBytes&&t.derivedKeyBytes.fill(0),c&&c.wipeBuffers(),f&&f.wipeBuffers()}};})();\n";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Generated by scripts/embed-workers.ts — do not edit
|
|
2
|
+
// IIFE-bundled pool worker source. Spawned via blob URL by
|
|
3
|
+
// the cipher-suite.ts createPoolWorker; consumers do not
|
|
4
|
+
// import this directly.
|
|
5
|
+
export const WORKER_SOURCE = "\"use strict\";(()=>{var U=new Uint8Array([0,97,115,109,1,0,0,0,1,8,1,96,3,127,127,127,1,127,3,2,1,0,5,4,1,1,1,1,7,20,2,7,99,111,109,112,97,114,101,0,0,6,109,101,109,111,114,121,2,0,10,133,1,1,130,1,3,2,127,1,126,1,123,3,64,32,3,65,16,106,34,4,32,2,76,4,64,32,6,32,0,32,3,106,253,0,4,0,32,1,32,3,106,253,0,4,0,253,81,253,80,33,6,32,4,33,3,12,1,11,11,3,64,32,2,32,3,74,4,64,32,5,32,0,32,3,106,49,0,0,32,1,32,3,106,49,0,0,133,132,33,5,32,3,65,1,106,33,3,12,1,11,11,66,0,32,5,32,6,253,29,0,32,6,253,29,1,132,132,34,5,125,32,5,132,66,63,135,66,127,133,167,65,1,113,11]);var R=null,K=null,I=!1,m=null,T=32768;function P(){if(I){if(m)throw m;return}if(I=!0,!V())throw m=new Error(\"leviathan-crypto: constantTimeEqual requires WebAssembly SIMD \\u2014 this runtime does not support it\"),m;try{let e=U.buffer.slice(U.byteOffset,U.byteOffset+U.byteLength),t=new WebAssembly.Module(e),o=new WebAssembly.Instance(t).exports;K=o.memory,R=o.compare}catch(e){throw m=new Error(`leviathan-crypto: ct WASM module failed to instantiate: ${e.message}`),m}}var _=(e,t)=>{if(e.length!==t.length)return!1;if(e.length>T)throw new RangeError(`constantTimeEqual: max ${T} bytes (got ${e.length})`);P();let n=K,o=R;if(!n||!o)throw new Error(\"leviathan-crypto: ct init invariant violated\");let r=new Uint8Array(n.buffer);r.set(e,0),r.set(t,e.length);try{return o(0,e.length,e.length)===1}finally{r.fill(0,0,e.length*2)}};var i=e=>{e.fill(0)};var S=(...e)=>{let t=e.reduce((r,s)=>r+s.length,0),n=new Uint8Array(t),o=0;for(let r of e)n.set(r,o),o+=r.length;return n};var h=null;function V(){if(h!==null)return h;if(typeof WebAssembly>\"u\"||typeof WebAssembly.validate!=\"function\")return h=!1,h;try{h=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}catch{h=!1}return h}var E=class e extends Error{constructor(t){super(`${t}: authentication failed`),this.name=\"AuthenticationError\",Object.setPrototypeOf(this,e.prototype)}};var x=\"invalid ciphertext\";function q(e){let t=16-e.length%16,n=new Uint8Array(e.length+t);return n.set(e),n.fill(t,e.length),n}function j(e){if(e.length===0||e.length%16!==0)throw new RangeError(x);let t=e[e.length-1],n=0;n|=t-1>>>31,n|=16-t>>>31;for(let r=0;r<16;r++){let s=e.length-16+r,a=16-t-r-1>>31&255;n|=(e[s]^t)&a}if(n-1>>>31^1)throw new RangeError(x);return e.subarray(0,e.length-t)}function v(e,t,n){let o=e.getSha256InputOffset(),r=e.getSha256OutOffset(),s=t;return s.length>64&&(e.sha256Init(),$(e.memory,o,s,64,e.sha256Update),e.sha256Final(),s=new Uint8Array(e.memory.buffer).slice(r,r+32)),new Uint8Array(e.memory.buffer).set(s,o),e.hmac256Init(s.length),$(e.memory,o,n,64,e.hmac256Update),e.hmac256Final(),new Uint8Array(e.memory.buffer).slice(r,r+32)}function $(e,t,n,o,r){let s=new Uint8Array(e.buffer),a=0;for(;a<n.length;){let l=Math.min(n.length-a,o);s.set(n.subarray(a,a+l),t),r(l),a+=l}}function F(e,t,n,o){k(e,t,n);let r=q(o),s=e.getChunkPtOffset(),a=e.getChunkCtOffset();if(new Uint8Array(e.memory.buffer).set(r,s),e.cbcEncryptChunk(r.length)<0)throw new RangeError(`cbcEncryptChunk rejected len=${r.length} (WASM CHUNK_SIZE=${e.getChunkSize()})`);return new Uint8Array(e.memory.buffer).slice(a,a+r.length)}function D(e,t,n,o){if(o.length===0||o.length%16!==0)throw new RangeError(x);k(e,t,n);let r=e.getChunkCtOffset(),s=e.getChunkPtOffset();if(new Uint8Array(e.memory.buffer).set(o,r),e.cbcDecryptChunk_simd(o.length)<0)throw new RangeError(`cbcDecryptChunk_simd rejected len=${o.length} (WASM CHUNK_SIZE=${e.getChunkSize()})`);let y=new Uint8Array(e.memory.buffer).slice(s,s+o.length);return j(y)}function k(e,t,n){if(t.length!==16&&t.length!==24&&t.length!==32)throw new RangeError(`Serpent key must be 16, 24, or 32 bytes (got ${t.length})`);if(n.length!==16)throw new RangeError(`CBC IV must be 16 bytes (got ${n.length})`);let o=new Uint8Array(e.memory.buffer);o.set(t,e.getKeyOffset()),e.loadKey(t.length),o.set(n,e.getCbcIvOffset())}var c,f,u;self.onmessage=async e=>{let t=e.data;if(t.type===\"init\"){try{let n=new WebAssembly.Memory({initial:3,maximum:3});c=(await WebAssembly.instantiate(t.modules.sha2,{env:{memory:n}})).exports;let r=new WebAssembly.Memory({initial:3,maximum:3});if(f=(await WebAssembly.instantiate(t.modules.serpent,{env:{memory:r}})).exports,u=new Uint8Array(t.derivedKeyBytes),u.length!==96)throw new Error(`expected 96 derived key bytes (got ${u.length})`);t.derivedKeyBytes.fill(0),self.postMessage({type:\"ready\"})}catch(n){self.postMessage({type:\"error\",id:-1,message:n.message,isAuthError:!1})}return}if(t.type===\"wipe\"){u&&u.fill(0),u=void 0,c&&c.wipeBuffers(),f&&f.wipeBuffers(),c=void 0,f=void 0,self.postMessage({type:\"wiped\"});return}if(!u||!c||!f){self.postMessage({type:\"error\",id:t.id,message:\"worker not initialized\",isAuthError:!1});return}try{let{id:n,op:o,counterNonce:r,data:s,aad:a}=t,l=a??new Uint8Array(0),y=t.derivedKeyBytes??u,W=y.subarray(0,32),M=y.subarray(32,64),B=y.subarray(64,96),g;if(o===\"seal\"){let d=v(c,B,r),C=d.slice(0,16);i(d);let A=F(f,W,C,s),p=new Uint8Array(4);new DataView(p.buffer).setUint32(0,l.length,!1);let b=S(r,p,l,A),w=v(c,M,b);g=S(A,w),i(C),i(b)}else{let d=s.subarray(0,s.length-32),C=s.subarray(s.length-32),A=v(c,B,r),p=A.slice(0,16);i(A);let b=new Uint8Array(4);new DataView(b.buffer).setUint32(0,l.length,!1);let w=S(r,b,l,d),O=v(c,M,w);if(!_(O,C))throw i(p),i(w),i(O),new E(\"serpent\");i(w),i(O),g=D(f,W,p,d),i(p)}let L=g.buffer instanceof ArrayBuffer?[g.buffer]:[];self.postMessage({type:\"result\",id:n,data:g},{transfer:L})}catch(n){let o=n instanceof E;self.postMessage({type:\"error\",id:t.id,message:n.message,cipher:o?\"serpent\":void 0,isAuthError:o})}finally{t.derivedKeyBytes&&t.derivedKeyBytes.fill(0),c&&c.wipeBuffers(),f&&f.wipeBuffers()}};})();\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WASM_GZ_BASE64 = "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";
|
|
1
|
+
export declare const WASM_GZ_BASE64 = "H4sIAAAAAAAAA+19bWwd15nemTv38l7ykiIpyrRoWtaQ/pI/5DiJI8eMHWs2LfKxiet2UfTn2rEZJ/SHbJKOmwZYsai40Bbqgj+IBVHwB9GorbZRWrVVt2qgAtxCaFVA6HK72q7aKlsWUAH90A8uKmyFroS0M3PP3DNz3ue875lL+Zd3EZkzc+6ZM+e8H8/7vO+ZUW8uvB8opYK99TdUcPyN4Hhw/A2l3qj9xm+o8JEDyvy/IKjVarUgCJM/giBo1IMgDJu/DB9pvzO7+J1jb3/83uw331Zq8J3ZxV+d/dFf+d73FmYXlRp5Z3bxV9479ta7ry92TgX5qa/pU7U978wuvnbsg7dmOyfCpM3Xjn38weLsfOdUffid2cVf+/i77+Z9N9JG3//4g27fffmpvO/m0Duzi3/j2Py7neNWcq+vffetb/6wc6J/NOn4B++/bTQaGNT9/NoP/tasaie/+c7s+8fmf/T6m+/MLqjB5nvH3nz7V2d/pPa0P/nBh7O/8vH3vjc7v6CGB2c/eGv+Rx9mz6dGBt+eNQ5HB+dnF/LnUnt14/RGakw3zg73DRhNHxh+67tv/WWz9Xhy5i+ZP3hwn3nvX1/4wftv//oLf1Pt32eOIT89MWrePD2tHho1R5Cdm9xXuk92+uG+99PpqKmB3/nD5oG6ilW7ruIo+ef5dkPFmyr5dyv9dzv9d6fe7lPx0nL6n5XlVvKf09l/NrP/rCzV23X1qmr/65qqHd2N/4/UnmkV1MJ6o6/Z6h9oDw7tGR4Z3Tu274HxB/dPPDT58IFHDkZT0+341svD7fjGn4XD7XhzpTHcjv/oleF2/L9u1ofb8c8vBcPt+Cf/M/n32t+r503+z4XacDv+/ZeG2/Hq8HA7/g9/mlxb/pOk3d/+t8m/v/cHdd3ij1eTxv/pt5If/sHfSf79i/+Y3O3q/03O/7vfTpr/7O/W8zY/2Uj+Toe1+efJxT9P7/Z7/yr5e+XvJz/9xe+Hw4WRq/ZvTQeDxyMV7/96pOKRr38UqTj6+kf1o/Hx4Xa8rWIVr9TvtlWk4tpiHBypvREejVQUfKt+NAri2mLy97tx8O5hpY7U3oiCOJibCgaDdjtWUyppGre+UT+a/no6aT8VRkGk4vriodob8S+Dj6LwUO3t5I+4tTifHHw/PRjJDt5LD/Yvzid9q6Rvlfa9styKb6lDNXWkpuLV5Va8ow/WllvxbX2wvtyK7+iDjeVWfFcfqKmgM8BkUMmvDmVNkv+spP9Jx3yo9sbCwkL8b/73L/7sRwtRsBC3P5kOj9TeSNpE4ZG0VTA3nQ4tTJ9+Okhu2+0mGR7ZW9LXlOpMYtLl6nIr+UNl3aj4RKBnTg8s66oz2ii0xqfS8SWLlLSJgiNpq2Au7gwziFtfn+zcUw+v8+jrgmdeLzxzmC6HfuZVs5vOeO0Rps8cZs+cdrmhuzQEZymYUnE4FYRHo9rI0FQY1ZJrtSiMG8em6lEYN49NNaIwbh+b6ovCeOjYVDMK49FjUyGhzUHcOranlSt0Ox1T8uxz062omf/dn8lF1B8lf0X1/MLAoZqaT64MRMmfUfJcC8lxK/0z6stbtotX4uMLRoeNvNmgbjYYJX+mvX5kHOc3aEdtfX0hG0A+quR8f/d2oXnebDRP/K5d6n9Q37+/Ox2FB+uOt2Gc6jxeu9CuMBLiR1ang83igjRkC7JgLEjTXoDsyToj7KxTv37Mzs/69fR0pqHPXqBOy7zb/uKzNMvP2i5OYAv8rqXv3BlZWSDM1TIFo1G+X6lfZuE701GSBmuVS9JUvulgn/GU0wVJN9YOrll3rcN0co1pLiqSuVRllQtLS9dfut7fnaB+ckIZjWiW27eKC9sQTXTpR/XyRIfpc9jnuQXqxxqVDGawIdSopr06nfmuF1bCFNV8ZbDSdIS1vAZlKzdQmvOyUljK5RD2Tj+FabPWcMBWTur8oEAP5rPn6EPXPyJ+TxgLON4FYlyW4axX8mSkWnVaEp6svDidXxLOrKx6hvMyVVVq61pgGfrK7Uv+x5pGh3NcIJwescyE0+t3q/ZgWMmppfczFqFk3LornM1R0b2VdbhdWtxWVy5zpzNP/74glwY6aJTPdxayMBdt0I/lvDqPF5YX1GHeKMBBCJBbb2rtghPqrk2rszaGJkE3hrGfDdpytPFRSU/mu14g981lf9cg57YzsJBzJZ3BWHPUaU+siVuZHMpCIUhrPC0GDAZtcz1MbBEai6IXyliXdN6KCkHAibJrmS4Di3xVOhNM2UGX0lnWw5AGCniUnSRhveCEdibcCdZYdO4ANgtE/xbCZO7f7kR1WfQfJtHcdD1uHMsXoJEu5RtRGNXjZvd0X3r67fR0u3u6mZ7+fnp6qHs6TE+/F6lYJaREI2EX3p3uBLKpTc3uXz9UeztV8Kh+qPb9TA/qh2rvZZKXUCGfJGyHiqO7bRVHsYpHkj+e139sKv3XVv5Xlx9JxhKreF/y5049Tpmp5O+lZePgdNom6y39c0vdbav2zy8FQXA87eFzh5WKn0v+aS3Ox4eTP0YW5+Nnkz9SGiSjO55Jjp/WzZ7SzQ4ZzRIi5Mnk+And7HHd7DGjWUKRPJocT+tmU7pZZDRLxtYhDLZVZ3nTkXTi/hv5yeS+HU7hZn4yuUuHGriVn9zIT5aaZDcq3zfjFPJfbpj0Rfns8fJdV7vNjFFnPX9UOmvcyHiYle5ZY1Dr5O3pB1gj+13tjsEY7xo53uPlH2+QzegbDX1Sukf4Cf7dRvd34SJ+ZuPH9NngE7yKxtnmJ/qmq7lAWHNUnuXmIik3joUz2tLjuEvJ9m1Kthvl2Rz/pNRih5L+OwXp7z4su3q0+B0vz4khTdb8leVxnbuRpSnl29Pit9G9mzGydXIZ1kjpp7V1rduvMV5LJ2iVpEVoqCyeYXlZS4+4YeoEK2T02aAsKcbYjLPNXD27RpKeT2OOmmVlpe2jcdZoS4/jVEA8w4mA6LVRns3xT0otlgLiticD4q6WBScXgrS7H+GHragTtOxukHejNcWQc6vfsqYIrTztD12COF/qYai8PJb0rxYfZhVI/4Zjfljpp612M5elrvTT3sZ0I4t46bGfs2fOXCJK+lcDotdGeTbHy/51hVKatYJKkHjIR4ANB8DKCmuS2ZlkgY7QqJcVY4U8S/tsWonWuz3QI2M9Lg0DAYrCFreAolgJps8GZUmiLUIXRa3kYkQrmgtF0V7AOIuNcmccZykrf5qy8jyK2qD070xBkRwoyiFB9FJYz1aGG/Qk0rNjABYaFNAOgo15DNmm162i3h53KIbRbKgsjZbbKJlSja3K1pmeNfpsULautBFv5vLTtaSse2+WdZM2NGywZYzjIiW25ym9aJRnc7xsUM5R3uZCQZ24MJoWdhfmoKXUJee0rjn0x5raskTT0r9K9kDDYZ/wggaPtDX08gKrZS9Au2ChF2Bjmm7cwHkBK26g554FevQ4rlDSfqmaF9ik1OlyQS+6D8vGOS7cQz8xbZfLqiVUIjZApa0LrXB0jM4qERspsdMFQmfa0qwZmlJWAZZwsOgkDy/QxQYswrFCZzaqYcPs65TlvkrJMgidjRZblDpdo27QFUPy6S0vz7Kg1nz7GHVZ0OGKxh3cKG2aaKhEg1l2DWlhWSfnweUsrDBb6CxY0aPPBo5Q3jjbg7Og19SHiDOzApR038DOwgqzjRbbVJh9s6ApjjDbsaZsAGaRVj5Yn8Xv9NSyBCnrAFgJAyyzTN95qCSkWP2hkgfFSqIHIVRiKVbW9dylpP82plgtqGS02KHcyx0AlXzSaxY5y2JnIwBhzQINPVzMFx2bOMIdmrpltZVOZ1g6QaskLUJDZfH0Il5ZIaPPWtgJ8EHViVcfypqlVE7ViGc4USN6bZRn0yJel2rEbU/WiLu6EscrBURFR5lCfl6mEy6oVL4bG71Y/dLRC2vl/eOUMqr7jD/i+aN1SvpXa0SvPH+0QinNWkElSDzkI8CGA2BlhTXJ7EyyQEdo1On4V0YB0UpExxusPAgT1RaKwha3gKJ8EpzGWat4g7YIXRS1losRy0C7ijfYdCY9jrOUlT9NWXkeRW1Q+nemoEgOFOWQIJZXMWCMkManNamcdmAdBBvz0NE4jXB89Pa4QzGsMNpVqyHMvLlS5LTb8Mi8dS0p694twonNvLHO5CIltucpvQCEk9HiHOVtLhTUiQujWX7ewhy0lLrknNY1h/6wtXeu9IDDcLLpDJYMoO9W1QuslL0ApmYFXoCNabpxA+cFrLiBTSXQkI4exxVK2i9V8wKblDpdLuhF92HZOMeFe+gnltXxCZWIDVCF1LejpsKn2qPidIHQGadXCmkHNrdNn+2h/oJFOFbozEY1bJh9nbLcVylZBqGzmXag1OkadYOuGJJPb3l5lgVlS0pZdogNOlzRuHc2moZKbIUZvYa0sKyT8+ByFlaYLXQWPgVBlrNgYVUPzoItZWDtnJl2oKT7BnYWVphttNimwuybBU1xhNmONWUDMIu08sH6LH5nqxXoB2AdACthgGWW6TsPlYQUqz9U8qBYSfQghEosxcq6nruU9N/GFKsFlYwWO5R7uQOgkk96zSJnWexsBCCsWaChh4v5omMTR7hDU7c+5b1WwMTy8bQI8fXeLuKVFTL6rIWdAB9UnXj1oaxZSuVUSDzDiZDoFSSijRZLIXHbkyFxV1fieK2AqOgoU8jPy3TCBZVkBap0isIAL66iU5ea+cQpZVT3GX/E80frlPSvhkSvPH+0QinNWkElSDzkI8CGA/Apu6NNMjuTLNARGnU6/pVRQLQS0fEGKw/CRLWForDFLaAonwSncdZ7h9BGLkYsA+0q3mDTmfQ4zlJW/jRl5XkUtUHp35mCIjlQlEOCWF7FgDFCGp/WpHLagXUQbMxDR+M0wvHRW6ta15V5c9VqCDNvrhQ57TY8Mm9dS8q6d4twYjNvrDO5SInteUovAOFktDhHeZsLBXXiwmiWn7cwBy2lLjmndc2hP2ztnSs94DCcbDqDJQNwIWoVL7BW9gJs5bvLC7AxTTdu4LyAFTewqQQa0tHjuEJJ+6VqXmCTUqfLBb3oPiwb57hwD/3Esjo+oRKxAaqQ+nbUVPhUe1ScLhA64/RKIe3A5rbpsz3UX7AIxwqd2aiGDbOvU5b7KiXLIHQ20w6UOl2jbtAVQ/LpwWZ6WchAczAsO8QGHa5o3DsbTUMltsKMXkNaWNbJeXA5CyvMFjoLn4Igy1mwsKoHZ8GWMrB2zkw7UNJ9AzsLK8w2WmxTYfbNgqY4wmzHmrIBmOsVHSzWZ/E7W61APwDrAFgJAyyzTN95qCSkWP2hkgfFSqIHIVRiKVbW9dylpP82plgtqGS02KHcyx0AlXzSaxY5y2JnIwBhzQINPVzMFx2bOMIdmrr1Ke+1AiaWj6dFiK/3dhGvrJDRZ71fPOZNvPpQ1iylcqpOPMOJOtErSEQbLZbqxG1P1om7uhLHGwVERUeZQn5ephMuqCQrUKVTFAZ4cRWdutTMJ04po7rP+COeP1qnpH+1TvTK80crlNKsFVSCxEM+Amw4AJ+yO9okszPJAh2hUafjXxkFRCsRHW+w8iBMVFsoClvcAorySXAaZ3t4twDLQLuKN9h0Jj2Os5SVP01ZeR5FbVD6d6agSA4U5ZAgllcxYIyQxqc1qZx2YB0EG/PQ0TiNcHz01qrWdWXeXLUawsybK0VOuw2PzFvXkrLu/T68m+8iJbbnKb3g3813jvI2FwrqxIXRLD9vYQ5aSl1yTuuaQ3/Y2jtXesBhONl0BksG4ELUKl5go+wF2Mp3lxdgYxrqhcVsfOdKPrNAjx7HFUraL1XzApuUOl0u6EX3Ydk4x4V76CeW1fEJlYgNUIXUt6Omwqfao+J0gdAZp1cKaQc2t02f7aH+gkU4VujMRjVsmH2dstxXKVkGobOZdqDU6Rp1g64Ykk/vejE3GzLQHAzLDrFBhysa985G01CJrTCj15AWlnVyHui229TK3aBiwZuUaNzKTz7fOTWt4v0/nFEq/nzyXcz0ry8kX7NM//pipJL/vNDpM2/7pbztkbzti1nbL3cGlbd9KW87k7f9Stb25c5T5W1fydt+NW/7atq2/fN/n3884tXkgw1f1d9xeEV/x+Hl0scjvpIcz+hmL+lmXy59POLF5PiIbvYl3eyF0scjvpgcf0E3+7xu9jz4eMRuLRMsH2RjEp+CPlfNyDr5Y9bB9Q7ThJsTaI12JDN9aAQWx29Ry3eVAiakeb1OyclkGbEMuIvGaQvkynOwDvmgoyrFGP5EiSRwbqpi53LMUabPit4BhjrpQjqa4PKx6MKyD9mXXQyP6Qqfffg1dtJ9YBrLrm5SZu0SJe2XKWm/QinLZBn/DeSy0SXrfTZEmNlxB+NsPMFBBwQ1hj+RDwyFZT4zPOYIy9jSjAPEHLFewJV0psfsCBXoQkH/ikSa7PIh3HzcIy08NPntaisbGU36nXNzPMa9LlCadZHSQeBHVgV+hJVAKzsi9CO0aZoolXbZfoRee3oud8GPYG9AqpahGBVzhcK9rXSXbIaDLicREga79JENH9LCPEvpwGnKkZyhFOMsVgzjpwMlIy6CUjSkdKUNjSc4WB4CzTlOlEy6M13KWvUxmTbSBt0FsIozV1EyjUCD5QN9ijpYk836PZ9sI0uRseGHD04js8CrlC9Zo7RjHYcfxk8HiH3cOK9vz5mQF7OwF2vBJ/KBoawQLeD0XFrYi1ZJ2tAdKI+4xHmTeUUA8mVfUvEB+XS/tPdkvRZLfrKuQBiBO56YLAMymp6gpP0kpRensIOwwo/VgpkT8hMscnI5CJaRB8iJTbO4kBObqXeFH7iA2BGUlLsCm6VlLz2m7bJP8E2vCK1EtP9lsVfFCnXacu1QRaW3qfLTO1Qd6V2qIhuowJpABVik5yosdKkALcqAhKpYtbsLKgCJOnochmyz/l5IC7lCch84783Osl6ABoQs7GK98ja1Z+aGe8+AcStypwKIn4sEiw+atsIE1mJY8TNHQm2YKlCx0MECQgB7ksveBUIc48r6ex+DC3Y5y7Zps4S/NReybxK5WElaDR2F7qzfM6aWBo9Gv1uUElx1b0YzOiW3wAGPsVIQBR/QZMUNbKBmeQx6XSZKAY3zrYnsXI453n3i4THoFDFHN7HzSQ/GFRd5f9HaKv1iPRGdd2En3Sd8ZwtcNynncInfkty5FbkRGoTOxbjBBzxacQNrNK3QmUb63bih4DEqzrAFmljdtkLn4hyxXoAFzSz54pMqd318nS08YX1DRffoAmPewI0d2Ro5hnOUHyHfiHGB0qyLlA46Ig/Oj7AS6HqXlMuPcJFHIffHrj09l7vgR7A38GBnXQEB+3IE1lpbk+oj7LLXDxpKxKosGynxm3roJ3a/Lcno9QylGGexYhg/HSgZcRGUcrFS7JIdLA+BY6UKisECM3qGx2TaSBt0F8AqzlxFyTQCDTa9z7oNFrXQ/bpYX4d2+NRzVSx5plEE+c68VcqXrFHasY7DDyupt1Ewfiw1RUfEVZN6tAWfyAfmx9nSc+lK6rGGzpXUg6WHAOTL3h/iA/LpfmnvyXotlvbwIc1cquV4YmO85EtTT1DSTr5J9RR2EFb4UdzXJuQnWOTkchAsywqQE5ujcyEnHzLaCj9wUYkjKCl3Bd6g4POpVUdQzwbfrhSHLChhsRcbUtAUCW25dqgX0N92v2DbeATytd6O5DWnAizSc3390aUCtCgDEorlAVwkVE8qAIk6ehyGbLP+XkgLuUJyHzjvzc6yXoAGhCzsYr3yNvWFEfLDDDcpab9FKYtv8ppF01aYwFoMV/KaJKHWTRVgo3h6Ll2ZO1Zpu0CIY1xZf+9jcMHrOe7X130dHoNWQzomoitLWAhBq5YxtWz5EPmVHvKLP9coj0F+MAh4jI2CKPiAJituEJaasyVVE6WARlpqTs+lq9zJw2PYirqBQBPNw7KsCpuWMTyRD7PjKkt3WXZH6OxTJeuT+DDOblLO4RIl7Zcpab+CPYYVOhfjBh/waMUNrNG0Qmca6XfjhoLHqDjDFmhiddsKnYtzxHoBFjSz5ItPqtxrD7mjJNxHMXxq+3oHbuzIVsgxnKP8yHlKNS5QmnWR0kHfslkWflqRh7BaxCPyKOT+2LWn53IX/Aj2Bh7srCsgoLchsaDQRXR6v2aQjTEMJWJVlo2U2DwhLX7k96BPU47kDKUYZ7FiWGVUkio5NoKwFINeMtd2VpKVKigGC8zoGXZtQxKWUeFIiCRmfSTTCDTY9D7rNljUQvfrYn0d2uFTz1VxbweNIlYo8V6lfMkapR3rOPywknrrBePHUlN0RFw1qUdbcLDTlUXC9Fy6knqsoXMl9WDpIQD5Pu+WlQkP3S/tPVmvxdIePqSZS7UcT2yMd4lyECcoaT9J6cUp7CCs8GOlYOaE/ASLnFwOgmVZAXJic3Qu5ORDRlvhBy4qcQQl5a7AW4/LoMkH+vsE364UhywoYbEXG1LQFAltuXYCooPbATGuOwExYXcDok9H8ppTARbpuV7s71IBWpQBCcXyAC4SqicVgEQdPQ5Dtll/L6SFXCG597twfCJw1gvQgJCFXaxX3g6IpjcovbhJSfstSll8k9csmnZtOPJPXpMk1KqpAmwUT8+lK3PHKm0XCHGMK+vvfQwueLmrLNHNEv50NSubFXKxkrQaOkqufIqK2fKhLUoJrlJKcI3yGNcpbfN9hwELmqy4QVhqzpZUgc1JbKKOnktXuZOHx7AVdR2BJpqHZVkVNi1jeCIfZsdVlu6y7LJXPLviEUf4TiuycXaTcg6XKGm/TEn7FewxrNC5GDf4gEcrbmCNphU600gfvKig4gxboInVbSt0Ls4R6wVY0MySLz6pcsu7uCywoyTcRzF8avt6B27syDbIMZyj/Mh5SjUuUJp1kdJB37JZFn5akYewWsQj8ijk/ti1p+dyF/wI9gYe7KwrIGDfCc1aa7q+UCjsjoo/GgixKstGSmyeEFQAUDpwmnIkZyjFOIsVwyqjklTJsRGE62tjxhO4trOSrFRBMVhgRs+waxuSsIwKR0IkMesjmUagwab3WbfBohYgbeSjs9rhU89VcW8HQBGUeK9SvmSN0o51HH5YSb3VgvFjqSk6Iq6a1KMtONjpyiJhei5dST3W0FV6Qw4A+bLXpvuAfLpf2nuyXoulPXxIM5dqOZ7YGO8S5SBOUNJ+ktKLU9hBWOHHRsHMCfkJFjm5HATLsgLkxOboXMjJh4y2wg9cVOIISspdgW8PyN5UTttln+DbleKQBSUs9mJDCpoioS3XjiI6uK2Icd1RxITdVUSfjuQ1pwIs0rO8gFAFaFEGJBTLA7hIqJ5UABJ19DgM2Wb9vZAWcoXk3u/C8YnAWS9AA0IWdrFeeVsRTW9QenGTkvZb+cmocyr/cMVU/uGK6fzDFY9mH7l4rNNn3vbxvO0Tedsns7aHOoPK2z6Vt306b/tM1vbZzlPlbQ/nbZ/L234u+3jGHhVvqXhTxSN3B5RqXwyCxvFIxerb//8nK0v1b83Xj8bHh9vh0UhFtW/Vj0a1eKc+N1WPavHScn1uqhGPJFfenQ6iIB55bXIqjKOkx7S7kZFYTQXh0SiIwm/Uk/805qLgsHo+CqL63GGlFmaUioI4mJsKBoN2W7eOR75RP1pL2geH1etxMDddn1GvR/V4qfbNofwHtXa7HdWicG6qlvw4Uu0+FamRsfbe5Jki9WKo4msqCl4MVfsnQRAej4NIxcMfFR5vsvR8hSFEQfa4UZAMNgri08utzrAjY9jdx8x+lU1NFGTPOh3O5L+NwuIDR7V4pDv8360+yM4NDys1k8xud2ij5aHt5COLOoOaDvVKhKWe8FB/5y+CIPhxvLncSv53T9U7KnRv9N5fvdeuq3hruZX8L71yo3Ble7mV/C+9crNwZWe5lfwvvXKrcGXpN/MrVsvO/e+9nl4xR7T0m9mVbh+dM/r+9pV737H63yq0NZ9L3/k160rxzuYTbxZ6M0e7g8bkeMLic5j32SqMzXyebfQ8nWc3eyk+h/mE8M7TKh6699NEiMfu/SzojNm4/7SKw+z6ge513HMyD3o0ye+YaTM7wleCez8N8oOD3WFg4TGvNJNf64OJ7q+ToeqpRMthL25TPxQl05z8mL/BA74LNfM21MxG8pD6YJJcyXg8aaMPBrptzH52oIbfsTTcnDyRrGFt6siyOdFFjaAWxxaCHeGdKatgrwPWJn3ldWvUO3C9twvPI7NY24UnNZ6H0H1sj6Awk7pvzACp+1iGk5Hre+a6L1MGfCUwhfYgLbRbcNmbplpMFA2Y6aDwEprL0aQMGvRNpSvmb/CAU36C1L8TQVn/9H1S3dcHk7R5HDeN4EDRCOqfLhXuYP76ZADsDuF/oUxAP/kaM3O96j7WST0yewTYKhT1mLqPNbNenhqjIF59LO9ManjRArg1fMuaBz1OUsOLg8di4avh2MEiDd8saThGGmWswEijG/vQa2UOeB1q+GqA/H7DBECTtPaOm1ZggMZqK9CGrFm6j/B7Fd0s+nKZtEs9qWylpJjczy/bNmATXsF4D9qN/MprzKhl6AtHOUOmEnnEAW4/aMUBMh3EVwLTiR2kRRwb1qapRKU4QC+b2+6wcQD268Urbn+px3gW+uPTyB/vWhywAa3UGcuGcHEApwtYLKh54pwDRr6UDbFnR+r5ZcxFUYOxrPRoxToIA9uBIqq3MUERM7gxge3b9DyElPvEi4CvIEwgIoUyTdcHE0UBN92aDD42KfOFrbmUgzEHfBFq23loAxqmMZykjeG4afIGaLt9DqKOC5aVkXF6WJ/dmBhrHq/H2MZw9oJaO1tbsYbbCJmnuqpwAThagl6nErfnRhmWT8eQrTefLiIwoKZvLUt9Ohnf45WXBTt4wFegPl+67z59E1qZy5YNMCdPxmnweB3PIPaolkXxshtSTgxbaWxrMIcosxtS9kM0x5WYPGynDVtPa7qUTpWw+L37dBOAyuA4yeRJyQsZ+3cd+tWrUA8bphZ7MnmFB4dW5hoalaFXYDoJjCnNqFFLXMUv+7AEPFPI5dqwrccIH8d8MqnBIrsD5w3/BsX1HAPoiQFkqoKvIAwgixWaptLsHgbAUlYl61LIlUPtvOGNASQMoNnPNmQAb1qWgWMAOUkU0TJEBqFKBC6NpvHaifJuYn8uUglH1tPDBvaM8j2zeLuJ8nvP4iGg6onypVk8Gby4CzX8tncWT4LyC7YKoos7TpRfpRLHzgTKItYiXyCzpxgV8xkJzChwSBhnC2UWC1YKELqP7REUZlL3iwxAz/k9mTLgKxIuz82zU7i/x/xelVysjHNOX4xEZ/Brvvk9847jphEE+b2lGsIPJ2vA7rAVdJuliADzWH5ZbB/d51G+PQIp60DdB7EOMk/dC7dARe6fsfUM0viU2fp1qOGrtfvN1q9AG7Jm6T7C71V0s+jLZdIu9aSylZJicj+/jNk3D54d2w0HOyCVSRkRPmQqkUcc4PaDVhxQpeDKvBKYTgxU8mLDiip5DVKCsTtsHID9OuZ48YDPQn98GvnjXYsDNqCVOmPZEC4O4HRBlgcoYm6/jDe2IfbsSD2/jLnAbCEOMStYsQ7CwHaAy+v51O161urgRcBXECbovVbHdGsy+Eiy/dJaHRlauAi17Ty0AYjTk7D9Zj/nIOq4YFkZGacnymITmBhrHq/H2MZw9kK2j4bPrHOOTFYpIGUv8Qh65fbcKMPy6e40YHWfLssKIk3fFPt0Mr6XZeNxSIMHfAXq86X77tM3oZW5bNkAc/JknAaP1/EMeuzS8bIbUk7ML4/L1dNWqQLucY4rMXnuWgcrgy8qD3Rc+XTqb2VwnGTypOSFjP27Dv3qVaiHKIMvYfIK44VW5hoalaFXYDoJjCnNqMl2v0mZeBlLwDOF1ev0MMKX7eLAUoNFtsgSyOhvFNdzDKAnBqhSxC7BALJYAWXwe8QAojpUsYcpZPChdt7wxgASBrDw4JABvGlZBo4B5CRRRMsQGYQqEbg0mpYVnOInlPpzkUo4sp4eNrBnlO+ZxdtNlN97Fg8BVU+UL83iyeDFXajht72zeBKUX7BVEF3ccaL8KpU4diZQFrEW+QKZPcWomM9IYEaBQ8I4W1hlV6PNf8gSz1CYe96hK8jvyZQBX5FweW6encL9Peb3quRiZZzzqRBm8EPf/J6kPq/gt0KEH06GwO6wFXSGTEA/6YP/q+g+j/J9dtXhrH8RY7t3yPG2pQq3QEXun7H1DNL4lNn6dajhq+H9ZutXoA1Zs3Qf4fcquln05VX2z2BPKlspKSb388uYffPg2bHdcLADUpmUEeFDphJ5xAFuP2jFAVUKrswrgenEdvVtHXrZ3HaHjQOwX8ccLx7wWeiPTyN/vGtxwAa0UmcsG8LFAZwuyPIARcztl/HGNsSeHannlzEXmC3EIWYFK0bsTITos+e6Xc9aHbwI+ArCBL3X6phuTQYfSbZfWqsjQwsXobadhzYAcXoStt/s5xxEHRcsKyPj9ERZbAITY83j9RjbGM5eyPbR8Jl1zpHJKgWk7KV7l1wv3J4bZVg+Xbbl2d+ny7KCSNO3xT6djO9l2Xgc0uABX4H6fOm++/RNaGUuWzbAnDwZp8HjdTyDHrt0vOyGlBPzy+Ny9bRVqoB7nONKTJ671sHK4IvKAx1XPp36WxkcJ5k8KXkhY/+uQ796FeohyuBLmLyCpEIrcw2NytArMJ2ON0n6xPWQ0xYz8TKWgGcKq9fpYYQv28WBpQaL7A6cN/wbFNdzDKAnBqhSxC7BALJYAWXwe8QAojpUsYcpZPChdt7wxgASBrAgK5ABvGlZBo4B5CRRRMuwb/GVReDSaFpWcIqfUOrPRSrhyHp62MCeUb5nFm83UX7vWTwEVD1RvjSLJ4MXd6GG3/bO4klQfsFWQXRxx4nyq1Ti2JlAWcRa5Atk9hSjYj4jgRkFDgnjbGGVXY02/yFLPENh7nmHriC/J1MGfEXC5bl5dgr395jfq5KLlXHOp+owg1/3ze9J6vMKclJH+OFkHdgdtoLOkAnoJ33wfxXd51G+z646nPUvYmz3DjnetlThFqjI/TO2nkEanzJbvw41fLV+v9n6FWhD1izdR/i9im4WfXmV/TPYk8pWSorJ/fwyZt983nsP7YaDHZDKpIwIHzKVqOLXtARxQJWCK/PKp/MeTlkyVVDJK6u+wgM+C/3xaeSPdy0O2IBW6oxlQ7g4gNMFWR6giLn9Mt7YhhDsp9Dzy5gLzBbiELOCFSN2JkL0+dmXdRTB6WH4+Cl8Weci1Lbz0Abs1pd1zkHUccGyMjJOT5TFJjAx1jxej7GN4eyFbB8Nn1nnHJmsUkDKXrp3yfXC7blRhuXTZVue/X26LCuINH3pN6U+nYzvZdl4HNLgAV+B+nzpvvv0TWhlLls2wJw8GafB43U8gx67dLzshpQT88vjcvW0VaqAe5zjSkyeu9bByuCLygMdVz6d+lsZHCeZPCl5IWP/rkO/ehXqIcrgS5i8gj+GVuYaGpWhV2A62S/dyuJ6yGmLmXgZS8AzhdXr9DDCl+3iwFKDRXYHzhv+zTaUgxuQCboJpfOWeaW9+cvgU7uZxdf7QUA8zZKNCEWqGxM3fiRMlW1rHCz12ymNxZ8rrqlCksmCpy0oD1chPIImrWSCzftMmka0QcOlARN2jct2f2KVF2SUZWjqoOkjAknJqzklE6YTbpIkmOTdGrLVHDNneUiyCVimQwfMlQmldKQJaTE5XcWA+xWNcgZctF2UfQm7jDCXrmoVeCrL32xC33AJ6vVlqNdXoJWYNGWmQYPgAVM5xovyaiYxq2zgLteceTirgyb0DST43ZySCVMJm8WHckbzVdZ5zJzlIUk0LyvhPGCuTIhXRubj+dIt/Mxc8Ic3kVTdvoKp6io0ehW0hGUcJ/b43/iMGlP854TUqTmCC9CyXITWaNJUQk/EUE6nVqmFZ7PUvSEG7AgQYjBqvWnEgKUTr+aYOcufAmJwe3tkWYq2oMfCFa+XUOH+pYlnXKjqR4/5fDhDWoBThbozr2xAjT8NEcMZaAvOetsCs98B0+2Ok27XI0bA8ZegYsWciIOmIgT00HHeAtmCHcoW9LrNEdmCXss6D5grI4oeymvWq94VeQNZ4kCKD2SoG99HmoSrkuiXbWLF96kSk+CSp1WIHNagTVj3ZhTMfgdMRzxelGjT17gL8Oj18GS3JfGFzOkim8DWBWDdxauJGAVZ/S72QwfMlQnpKbATgaDwxRGbcxMrs21VLAvGXFLMIsusSH29H4fIzQ4uYzZ/cwLq9UloC055owAJo7BV8ih+zK0wIvBHAbKc5oSpLFxEIEuY+0cEsuI6f0bBvXGP4xqs+zhe3sYBL1nUXoE7dAgGth8YwUnji163sDr4KLgt6jbcSnUHbnS6C7dRIh8v0fhtscbLoiDBXhRfjcfqiTSezBr0uv0N+fj7pfGufA4ef1GLRVjUi7PnWcUqEXj1DKLMx+NoSBpXyJDcNnw9wg3hFmVzBHhL9aQpM56sX5mbrhK3kpG+zPgiVO92cJKsQVeHvD5Ji1dzzJxlgOqx9fdn/XbE2UAZFq3gNR2vXOPQdpUcOzWTHC7w2+CMrREXockQUHFdcARVmFGo8VeFrzgx74NfydJLJLBZksUqkQAZ+8tInYOmngNcgMUC4YJNKhKQldrh1USRQK91Ki5cgMuyZLkB2WriUfMcCZfdFG13ZT+lLauXkK5qFSZStsdrE3r/Sx6vL9MjwK9bQ7hAwvaVY/8qURYZ+8ucFYoEZOH4hKmEpdjfwgW9rjPCBRjCyBKiiO0rr4zMx0tjWRn7jX8D6xkILMH7UZ+NsFJbUGUb6u5GKbJR20yuHts5iBjwq1QvQMtyEVqjXqqRyrVsVWI2kkmQhWsSxFCNSbCqkWTSiVcTVSPdL8Tg9vb+GUQ+nreQCvuxCFn/RaTgp9ecjcaoXmbBpMyIrIIJa8wG1PjTEDGcgbbgrLctMPsdMN3uOOl2PWIEQR5BJiYHTUUI6KFXyyNYtkAWkOB1RrZAZrawVz5growoeiivWa96V+QNZHWaUnwgQ934PnymkrMJVXZV9LotEWNV/AmUVYgc1qBNWPdmFCQVRkulz6jK8gmYnbsPFUbY6SKbsMS9WwzrLl5N/wojmR/yrzBy7G9yxObcxMpsWxXLgjGXFLPImOEqWRDesnCzU3geiAJOQL2GHzwrfaBNggIkjEL5JSx+zK0wIvBHAbJ0H8o0kBGBrErIPyKoko2VMAruqmeOa7Du43hNJge8ZFF7Be7QIRjYfmAEJ40vZOwAZpMdWUf4IeTbws+bmk+KP8eKfLy0YlCm8bIoiPTxvWk8Vk+k8WTWQMaB+mcN7pfGu/I5ePxFLRZhUS/OnmcVq0Tg1TOIMh+PoyFpXCGsRbE+Tqx/gz+KfhPq9S1oJSZNmdnFikFp3EpG+jLj618xKM0adHWIfXW+jFYYM2dZVD8kM3qI9ZPvFJJh0Qpe0/GCWZ8qQ2mOHe8AlFWC8FkubI24CK3Kbk5ZVf0W1PirUOOvQVxwHdqcXiKBpdLrlqtEAmTs39tOZdmGBoQLlrj3jmGogVdTslN5t3EBbdXKfA3ODchWE4+a50i47CaOwN27m3l/zbF9VXYaVqlNKFyB3v8S1OvLUK+veOMCCdtXjv2rRFlk7C9zVigSkIXjE6YSlmJ/Cxf0us4IF8jq0v3ZvvLKyHy8NJaVsd/4N7CeodIL9iQ5D19bUGWH0O5GKbJR20yuHts5iBjOQ1twAVqWi9Aa9VKN5Np7KI3ZSCahtyrl3pkEqxpJJp14NSVVyruJGNze3j+DyMfzFlJx8I2c78W7l/z0mrPRGNXLLJiUGZFVMGGN2YAafxoihjPQFpz1tgWSHQvynTCysJ+0BVhM/N9sJs0jWLZAFpDgdUa2QGa2sFeWvKfE5kRA5rCS3hV5A1mdphQfyFA3vg+fqeRsQpVdFb2+HQFj1RWoxasQOaxBm7DuzShIKox2HBVGUrRM7mLavQoj7HS93n0miz3xavpXGMn8kH+FkWN/kyM25yZWZtuqWBaMuaSYRcYMV8mC8JaFmx3zeZYgCjgB9foktAWnvFGAhFHYLHkUP+ZWGBH4owBZug9lGsiIQFYl5B8RVMnGShgFd9UzxzVY93F8RJIDXrKovQJ36BAMbD8wgpPGFzJ2ALPJ2CvsBEjjbwdI4+8ESOPvBr4+XloxKNN4WRQk+Aq2r8Zj9UQaT2YNZByof9bgfmm8K5+Dx1/UYhEW9eLseVax+tvNq3CIMh+PoyFpXCFEcgHyyjegLbgJ9foWtBK9vHHMVTEojVvZt5H0Vj9ULWvQ1SECdOB4Ba8mehtJlV1XEtZPvlNIhkUreE3Hx+R8qgylOXa8A1BWCcJnubA14iK0Krs5ZVX1W1Djr0KNvwZxwXVoc3qJBHZKslglEiBj/952Kss2NCBcsFN9pzJeTclO5d3GBbRVK/M1ODcgW008ap4j4bKbOAJ3727m/bXP5zZ5joFjIrFtK3hP6P0vQb2+DPX6ijcukLB95di/SpRFxv4yZ4UiAVk47vUm0l7XWfJtE6mNlLB95ZWR+XhpLCtjv/FvYD0DgSV4PyrJefjagio7hHY3SpGN2mZy9djOQcRwHtqCC9CyXITWqJdqJNfeQ2nMRjIJvVUp984kWNVIMunEqympUt5NxOD29v4ZRD6et5CKg2/kfC/eveSn15yNxqheZsGkzIisgglrzAbU+NMQMZyBtuCsty2Q7FiQ74SRhf2kLcBi4v9mM2kewbIFsoAErzOyBTKzhb2y5D0lNicCMoeV9K7IG8jqNKX4QIa68X34TCVnE6rsquj17QgYq65ALV6FyGEN2oR1b0ZBUmG0VUKxsnwCZufuQ4URdrpe7z6TxZ54Nf0rjGR+yL/CyLG/yRGbcxMrs21VLAvGXFLMImOGq2RBeMvCzU5BriAKOAH1+iS0Bae8UYCEUVgSf0xeVkGxSyhAlu5DmQYyIpBVCflHBFWysRJGwV31zHEN1n0cnwfngJcsaq/AHToEA9sPjOCk8YWMHXDkBuCVHYU0/rZCGn9HIY2/q3x9vLRiUKbxsiiI9PG9aTxWT6TxZNZAxoH6Zw3ul8a78jl4/EUtFmFRL86eZxWrv928Coco8/E4GpLGFTIkt62QV74BbcFNqNe3zCvtrdHa2PH6jyMVq29HKl5Zqn9rvn40Pj7cDo9Gtfjou5H6dv1o/D/UYaXiP03/bS3Ox79I/xpZnI+vp3/tX5yf6o//e/r3f8tb/de81bW81UD8J+nf/yVv9cd5q6t5q3b8R+nf/zlv9Yd5q6281WCspoLwaBTEI9+oH60djYIoOKxej4O56XBGvR6F8VLtm0MqCuJgbioYrLXbbdGT7BE9ybDoSUZETzJ6n55kr+hJQtGT1EVP0sBP0pc8SV/FJxkTPUmf6Emaoidp4ScZSp5kiHiSzeVW1H9vNNpz7+Eg2nvv4Vo0du/hUGtnNHBvNBpOLoXJpT59aXu5FbXvjUYjyaV6cqmpL+0st6LBe6PRaHKpkVxqdS6N7NcmY3rfvUk1lXu86QeSw1Cbj+nx5LAe1eKl5frcdCOqxTv1uem+5DE7dmT6wXuTaroZ7//hwoxSUSPqO6yCqBmPJMdBdlyLmnErOa5FjaiZnAkXZlSYXaxH9ezH9ey4EdWzHzey476onv24L2pE9eRMc2FGNbOLrSjMftzKjvujMPtxf3Y8EIXZjweiRhQmZ9oLM6qdXRyMguzHg9nxULJcyfFQdrwnCrIf74kaUZCcGV6YUcNRIx6Zi/rikbnDSkUP3psMpoPC44/qfkaz4726n726n7GFGTWWXdwXjRs97MtOPqB7eCA7Htc9jOseHlyYUQ9mF/dHDxg97M9OTugeJrLjh3QPD+keJhdm1GR28eFon9HDw9nJA7qHA9nxI7qHR3QPBxdm1MGoEUfJbER6Nmql2ZjS/Uxlx9O6n2ndz6MLM+rR7OJjyWzkPTyWnXxc9/B4dvyE7uEJ3cOTCzPqyezioWQ28h4OZSef0j08lR0/rXt4WvfwzMKMeia7+GwyG3kPz2YnD+seDmfHz+kentM9fG5hRn0uasTPJ7PxvJ6NsDQbn9f9fD47/oLu5wu6ny8uzKgvZhdfSGYj7+GF7OSXdA9fyo6P6B6O6B5eXJhRL2YXv5zMRt7Dl7OTL+keXsqOZ3QPM7qHryzMqK9kF19OZiPv4eXs5Cu6h1ey46/qHr6qe3h1YUa9moKAqdpg0E4QgYpq36ofzUzIVNixKVP1eCS58u50kPT52uRUI47iLRWP3B1QamRE29Go8Y168p/6XGJIn4+CKEymOJ3YjhEN2m1/TxjVosZcNsRItftUpEYeav+D4VrreP3HcRCpePijAr6ZLACc6SCDOInp7tjIxEqkxiPxDalVSVxDam4Sz3BvNNWcVKF0iwO6xcNpi4eDjjql/TynWx3WrZ7NWtVSMZtuJe1a+n4tfb+Wvp/hQRLrlxpF3WW/7rLVHdpkai10iwndYn8+tMPqmVSFdJOndJNDelyt5D4tfZ+Wvk9L38fwXIk1T4287q2he6t3h/RgagJ1iwd0i33GkJ5M7YJu8rhu8pgxpGbyT58eUkMPqW4OaScbUuooarq3QPemukMaS+26bjGqW4wYQ3o0NXa6yZRuEhlDCpN/anpIgR6SMoY0MpG75sHEFzdyv9tOXXPuqQeSw2bHQYfx6eW0ow5wn+5PnHRNW6Iw/ofp5aim3XQY/yN9puOoEwX9x+m51FWH8ZmsQUM76zD+XX2m467D+J/oMx2HHUaN+Ke6k2YUxmezBnXttMP4Z/pMx22H8T/VZzqOO4zq8T/TnbSjMD6XNWhq5x3G/1yf6bjvMP4X+kzHgYdRM/6XupPhBCXMpUsa9SeerzszGXypaf+dSYKelb3JrGj4MpZdrEeDRg/7spMN3cMD2XGf7mFc99BM/XeYYZi20cP+7GS/7mEiOx7QPTyke2in/jvMgMyA0cPD2ckh3cOB7HiP7uER3cNw6r/D1H8fViPJVNRKUzGqO5nKjvfqTqZ1J2Op8w4zKDNo9PBYdvIB3cPj2fG47uEJ3cODqfMOMyjTNno4lJ2c0D08lR0/pHt4WvcwmTrvMIMyA0YPz2YnD+geDmfHj+gentM9HEydd5g678MqSqYiLE3FlO7k89nxtO7kC7qTR1PPHWY4ZtDo4YXs5OO6hy9lx0/oHo7oHp5MPXeY4Zi20cOXs5NP6R5eyo6f1j3M6B6eST13mOGYAaOHl7OTh3UPr2THz+kevqp7SHDMq4n9iFqZE44C24Vnrlv78lhNNcKjiSFInHSC0huJc55Rz0eNxNU2kp+PjBabhVFjLmokk91I7jY3HeT+vNuBMjpIRt511eqxkYVjH8+/NfudNz/88AcfvPPX/9q39z73uYXZ+Q9nP1h87pM3F95/7v03P/x/bq/cpQTrAQA=";
|
package/dist/embedded/serpent.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated by scripts/embed-wasm.ts — do not edit
|
|
2
2
|
// gzip-compressed WASM binary, base64-encoded. Decoded and decompressed by loadEmbedded().
|
|
3
|
-
export const WASM_GZ_BASE64 = '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';
|
|
3
|
+
export const WASM_GZ_BASE64 = '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';
|
package/dist/fortuna.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { Generator, HashFn } from './types.js';
|
|
1
2
|
/**
|
|
2
3
|
* Fortuna CSPRNG — spec §9.3–§9.5
|
|
3
4
|
*
|
|
4
|
-
* Use `Fortuna.create()` to instantiate. Direct construction is not allowed.
|
|
5
|
+
* Use `Fortuna.create({ generator, hash })` to instantiate. Direct construction is not allowed.
|
|
5
6
|
*/
|
|
6
7
|
export declare class Fortuna {
|
|
7
8
|
private static readonly NUM_POOLS;
|
|
@@ -9,8 +10,8 @@ export declare class Fortuna {
|
|
|
9
10
|
private static readonly MS_PER_RESEED;
|
|
10
11
|
private static readonly NODE_STATS_INTERVAL;
|
|
11
12
|
private static readonly CRYPTO_INTERVAL;
|
|
12
|
-
private
|
|
13
|
-
private
|
|
13
|
+
private gen;
|
|
14
|
+
private hash;
|
|
14
15
|
private poolHash;
|
|
15
16
|
private poolEntropy;
|
|
16
17
|
private genKey;
|
|
@@ -25,7 +26,9 @@ export declare class Fortuna {
|
|
|
25
26
|
private robin;
|
|
26
27
|
private boundCollectors;
|
|
27
28
|
private timers;
|
|
28
|
-
static create(opts
|
|
29
|
+
static create(opts: {
|
|
30
|
+
generator: Generator;
|
|
31
|
+
hash: HashFn;
|
|
29
32
|
msPerReseed?: number;
|
|
30
33
|
entropy?: Uint8Array;
|
|
31
34
|
}): Promise<Fortuna>;
|
|
@@ -38,15 +41,18 @@ export declare class Fortuna {
|
|
|
38
41
|
getEntropy(): number;
|
|
39
42
|
/** Permanently dispose this instance. Wipes key material, stops all collectors. */
|
|
40
43
|
stop(): void;
|
|
41
|
-
/** Generate n blocks of 16 bytes each. — spec §9.4 */
|
|
42
|
-
private generateBlocks;
|
|
43
44
|
/** Get length pseudo-random bytes. — spec §9.4 */
|
|
44
45
|
private pseudoRandomData;
|
|
45
46
|
/** Reseed the generator — spec §9.4 */
|
|
46
47
|
private reseed;
|
|
47
|
-
/**
|
|
48
|
+
/** Drain pool 0 into a fresh seed and reseed. Used by the deterministic
|
|
49
|
+
* test factory; production reseeds in get() walk the §9.5.5 schedule
|
|
50
|
+
* across all pools, not just pool 0. Caller is responsible for any
|
|
51
|
+
* entropy-threshold check. */
|
|
52
|
+
private reseedFromPool0;
|
|
53
|
+
/** Increment little-endian counter. — spec §9.4 */
|
|
48
54
|
private incrementCounter;
|
|
49
|
-
/** Add an event to a pool via hash chaining: poolHash[i] =
|
|
55
|
+
/** Add an event to a pool via hash chaining: poolHash[i] = hash(poolHash[i] ‖ eventId ‖ data). */
|
|
50
56
|
private addRandomEvent;
|
|
51
57
|
private initialize;
|
|
52
58
|
private startCollectors;
|