@cap.js/widget 0.1.25 → 0.1.27

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/src/worker.js CHANGED
@@ -1,110 +1,115 @@
1
1
  (() => {
2
- if (
3
- typeof WebAssembly !== "object" ||
4
- typeof WebAssembly?.instantiate !== "function"
5
- ) {
6
- // fallback worker for environments without wasm
7
- // this is much slower than the wasm version
8
-
9
- self.onmessage = async ({ data: { salt, target } }) => {
10
- let nonce = 0;
11
- const batchSize = 50000;
12
- let processed = 0;
13
- const encoder = new TextEncoder();
14
-
15
- const targetBytes = new Uint8Array(target.length / 2);
16
- for (let k = 0; k < targetBytes.length; k++) {
17
- targetBytes[k] = parseInt(target.substring(k * 2, k * 2 + 2), 16);
18
- }
19
- const targetBytesLength = targetBytes.length;
20
-
21
- while (true) {
22
- try {
23
- for (let i = 0; i < batchSize; i++) {
24
- const inputString = salt + nonce;
25
- const inputBytes = encoder.encode(inputString);
26
-
27
- const hashBuffer = await crypto.subtle.digest(
28
- "SHA-256",
29
- inputBytes
30
- );
31
-
32
- const hashBytes = new Uint8Array(hashBuffer, 0, targetBytesLength);
33
-
34
- let matches = true;
35
- for (let k = 0; k < targetBytesLength; k++) {
36
- if (hashBytes[k] !== targetBytes[k]) {
37
- matches = false;
38
- break;
39
- }
40
- }
41
-
42
- if (matches) {
43
- self.postMessage({ nonce, found: true });
44
- return;
45
- }
46
-
47
- nonce++;
48
- }
49
-
50
- processed += batchSize;
51
- } catch (error) {
52
- console.error("[cap worker]", error);
53
- self.postMessage({
54
- found: false,
55
- error: error.message,
56
- });
57
- return;
58
- }
59
- }
60
- };
61
-
62
- return console.warn(
63
- "[cap worker] wasm not supported, falling back to alternative solver. this will be significantly slower."
64
- );
65
- }
66
-
67
- let wasmCacheUrl, solve_pow_function;
68
-
69
- self.onmessage = async ({ data: { salt, target, wasmUrl } }) => {
70
- if (wasmCacheUrl !== wasmUrl) {
71
- wasmCacheUrl = wasmUrl;
72
- await import(wasmUrl)
73
- .then((wasmModule) => {
74
- return wasmModule.default().then((instance) => {
75
- solve_pow_function = (
76
- instance && instance.exports ? instance.exports : wasmModule
77
- ).solve_pow;
78
- });
79
- })
80
- .catch((e) => {
81
- console.error("[cap worker] using fallback solver due to error:", e);
82
- });
83
- }
84
-
85
- try {
86
- const startTime = performance.now();
87
- const nonce = solve_pow_function(salt, target);
88
- const endTime = performance.now();
89
-
90
- self.postMessage({
91
- nonce: Number(nonce),
92
- found: true,
93
- durationMs: (endTime - startTime).toFixed(2),
94
- });
95
- } catch (error) {
96
- console.error("[cap worker]", error);
97
- self.postMessage({
98
- found: false,
99
- error: error.message || String(error),
100
- });
101
- }
102
- };
103
-
104
- self.onerror = (error) => {
105
- self.postMessage({
106
- found: false,
107
- error,
108
- });
109
- };
2
+ const solveFallback = async ({ salt, target }) => {
3
+ let nonce = 0;
4
+ const batchSize = 50000;
5
+ const encoder = new TextEncoder();
6
+
7
+ const targetBytes = new Uint8Array(target.length / 2);
8
+ for (let k = 0; k < targetBytes.length; k++) {
9
+ targetBytes[k] = parseInt(target.substring(k * 2, k * 2 + 2), 16);
10
+ }
11
+ const targetBytesLength = targetBytes.length;
12
+
13
+ while (true) {
14
+ try {
15
+ for (let i = 0; i < batchSize; i++) {
16
+ const inputString = salt + nonce;
17
+ const inputBytes = encoder.encode(inputString);
18
+
19
+ const hashBuffer = await crypto.subtle.digest("SHA-256", inputBytes);
20
+
21
+ const hashBytes = new Uint8Array(hashBuffer, 0, targetBytesLength);
22
+
23
+ let matches = true;
24
+ for (let k = 0; k < targetBytesLength; k++) {
25
+ if (hashBytes[k] !== targetBytes[k]) {
26
+ matches = false;
27
+ break;
28
+ }
29
+ }
30
+
31
+ if (matches) {
32
+ self.postMessage({ nonce, found: true });
33
+ return;
34
+ }
35
+
36
+ nonce++;
37
+ }
38
+ } catch (error) {
39
+ console.error("[cap worker]", error);
40
+ self.postMessage({
41
+ found: false,
42
+ error: error.message,
43
+ });
44
+ return;
45
+ }
46
+ }
47
+ };
48
+
49
+ if (
50
+ typeof WebAssembly !== "object" ||
51
+ typeof WebAssembly?.instantiate !== "function"
52
+ ) {
53
+ console.warn(
54
+ "[cap worker] wasm not supported, falling back to alternative solver. this will be significantly slower.",
55
+ );
56
+
57
+ self.onmessage = async ({ data: { salt, target } }) => {
58
+ return solveFallback({ salt, target });
59
+ };
60
+
61
+ return;
62
+ }
63
+
64
+ let wasmCacheUrl, solve_pow_function;
65
+
66
+ self.onmessage = async ({ data: { salt, target, wasmUrl } }) => {
67
+ let fb;
68
+
69
+ if (wasmCacheUrl !== wasmUrl) {
70
+ wasmCacheUrl = wasmUrl;
71
+ await import(wasmUrl)
72
+ .then((wasmModule) => {
73
+ return wasmModule.default().then((instance) => {
74
+ solve_pow_function = (
75
+ instance?.exports ? instance.exports : wasmModule
76
+ ).solve_pow;
77
+ });
78
+ })
79
+ .catch((e) => {
80
+ console.error("[cap worker] using fallback solver due to error:", e);
81
+ fb = true;
82
+
83
+ return solveFallback({ salt, target });
84
+ });
85
+
86
+ if (fb) return;
87
+ }
88
+
89
+ try {
90
+ const startTime = performance.now();
91
+ const nonce = solve_pow_function(salt, target);
92
+ const endTime = performance.now();
93
+
94
+ self.postMessage({
95
+ nonce: Number(nonce),
96
+ found: true,
97
+ durationMs: (endTime - startTime).toFixed(2),
98
+ });
99
+ } catch (error) {
100
+ console.error("[cap worker]", error);
101
+
102
+ self.postMessage({
103
+ found: false,
104
+ error: error.message || String(error),
105
+ });
106
+ }
107
+ };
108
+
109
+ self.onerror = (error) => {
110
+ self.postMessage({
111
+ found: false,
112
+ error,
113
+ });
114
+ };
110
115
  })();
@@ -1,35 +1,395 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).hashwasm=e.hashwasm||{})}(void 0,(function(e){function t(e,t,n,A){return new(n||(n=Promise))((function(i,o){function r(e){try{a(A.next(e))}catch(e){o(e)}}function E(e){try{a(A.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,E)}a((A=A.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;class n{constructor(){this.mutex=Promise.resolve()}lock(){let e=()=>{};return this.mutex=this.mutex.then((()=>new Promise(e))),new Promise((t=>{e=t}))}dispatch(e){return t(this,void 0,void 0,(function*(){const t=yield this.lock();try{return yield Promise.resolve(e())}finally{t()}}))}}var A;const i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,o=null!==(A=i.Buffer)&&void 0!==A?A:null,r=i.TextEncoder?new i.TextEncoder:null;function E(e,t){return(15&e)+(e>>6|e>>3&8)<<4|(15&t)+(t>>6|t>>3&8)}const a="a".charCodeAt(0)-10,g="0".charCodeAt(0);function s(e,t,n){let A=0;for(let i=0;i<n;i++){let n=t[i]>>>4;e[A++]=n>9?n+a:n+g,n=15&t[i],e[A++]=n>9?n+a:n+g}return String.fromCharCode.apply(null,e)}const C=null!==o?e=>{if("string"==typeof e){const t=o.from(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.length)}if(o.isBuffer(e))return new Uint8Array(e.buffer,e.byteOffset,e.length);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Invalid data type!")}:e=>{if("string"==typeof e)return r.encode(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Invalid data type!")},B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=new Uint8Array(256);for(let e=0;e<64;e++)c[B.charCodeAt(e)]=e;function l(e){const t=function(e){let t=Math.floor(.75*e.length);const n=e.length;return"="===e[n-1]&&(t-=1,"="===e[n-2]&&(t-=1)),t}(e),n=e.length,A=new Uint8Array(t);let i=0;for(let t=0;t<n;t+=4){const n=c[e.charCodeAt(t)],o=c[e.charCodeAt(t+1)],r=c[e.charCodeAt(t+2)],E=c[e.charCodeAt(t+3)];A[i]=n<<2|o>>4,i+=1,A[i]=(15&o)<<4|r>>2,i+=1,A[i]=(3&r)<<6|63&E,i+=1}return A}const h=16384,f=new n,d=new Map;function u(e,n){return t(this,void 0,void 0,(function*(){let A=null,i=null,o=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const r=()=>new DataView(A.exports.memory.buffer).getUint32(A.exports.STATE_SIZE,!0),a=f.dispatch((()=>t(this,void 0,void 0,(function*(){if(!d.has(e.name)){const t=l(e.data),n=WebAssembly.compile(t);d.set(e.name,n)}const t=yield d.get(e.name);A=yield WebAssembly.instantiate(t,{})})))),g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;o=!0,A.exports.Hash_Init(e)},B=e=>{if(!o)throw new Error("update() called before init()");(e=>{let t=0;for(;t<e.length;){const n=e.subarray(t,t+h);t+=n.length,i.set(n),A.exports.Hash_Update(n.length)}})(C(e))},c=new Uint8Array(2*n),u=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!o)throw new Error("digest() called before init()");return o=!1,A.exports.Hash_Final(t),"binary"===e?i.slice(0,n):s(c,i,n)},v=e=>"string"==typeof e?e.length<4096:e.byteLength<h;let N=v;switch(e.name){case"argon2":case"scrypt":N=()=>!0;break;case"blake2b":case"blake2s":N=(e,t)=>t<=512&&v(e);break;case"blake3":N=(e,t)=>0===t&&v(e);break;case"xxhash64":case"xxhash3":case"xxhash128":N=()=>!1}return yield(()=>t(this,void 0,void 0,(function*(){A||(yield a);const e=A.exports.Hash_GetBuffer(),t=A.exports.memory.buffer;i=new Uint8Array(t,e,h)})))(),{getMemory:()=>i,writeMemory:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;i.set(e,t)},getExports:()=>A.exports,setMemorySize:e=>{A.exports.Hash_SetMemorySize(e);const t=A.exports.Hash_GetBuffer(),n=A.exports.memory.buffer;i=new Uint8Array(n,t,e)},init:g,update:B,digest:u,save:()=>{if(!o)throw new Error("save() can only be called after init() and before digest()");const t=A.exports.Hash_GetState(),n=r(),i=A.exports.memory.buffer,a=new Uint8Array(i,t,n),g=new Uint8Array(4+n);return function(e,t){const n=t.length>>1;for(let A=0;A<n;A++){const n=A<<1;e[A]=E(t.charCodeAt(n),t.charCodeAt(n+1))}}(g,e.hash),g.set(a,4),g},load:t=>{if(!(t instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const n=A.exports.Hash_GetState(),i=r(),a=4+i,g=A.exports.memory.buffer;if(t.length!==a)throw new Error("Bad state length (expected ".concat(a," bytes, got ").concat(t.length,")"));if(!function(e,t){if(e.length!==2*t.length)return!1;for(let n=0;n<t.length;n++){const A=n<<1;if(t[n]!==E(e.charCodeAt(A),e.charCodeAt(A+1)))return!1}return!0}(e.hash,t.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const s=t.subarray(4);new Uint8Array(g,n,i).set(s),o=!0},calculate:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!N(e,t))return g(t),B(e),u("hex",o);const r=C(e);return i.set(r),A.exports.Hash_Calculate(r.length,t,o),s(c,i,n)},hashLength:n}}))}let v="AGFzbQE||BEAF/YAF/AG|AGACf38|wgH|EBAQAw$AQECAgYOAn8BQfCJBQt/AEGACAsHcAgGbWVtb3J5AÔHZXRCdWZmZX|lº0luaXQ|Qtº1VwZGF0ZQACCkhhc2hfRmluYWwABA1º0dldFN0YXRl|UÔDYWxjdWxhdGUABgpTVEFURV9TSVpFAwEKoEoHBQBBkLnQEABCADcDwÈBHEEgBB4AFGIbNgL#QFBAEKnn+anxvST/b5/Qquzj/yRo7Pw2wABs3A+C“QrGWgP6fooWs6ABC/6S5iMWR2oKbfy|GzcD2ÈCl7rDg5Onlod3QvLmu+Ojp/2npX8Bs3A9C“Qti9loj8oLW+NkLnzKfQ1tDrs7t/AbNwPI¥L7wICAX4Gf0EAApA8CJASCtfDcDw`AkACQAJAGnQT9xIgINAEGACSEDDAELAkBBw|msiBC|QEkbIgNFDQA0EDcSEFJBg`aiEGAhAgJANBBEkNACADQfwAcSEHAhAgNAYm#AyACQYAJ˜DFqJBgQ¿NBAmokGCCÀ0ED\vCQYMJ˜HJBBG#AkcN|sLVFDQADQCAGJqJB¿JBAWohAiAFQX9gUN|sLQEsNAU»y|RrIQAgBEGACWohAwsCQC|Qc|SQ0|0AxADNBwABQMEFAaiQT9LDQALCy|RQ0AAhAkÊUDQCACQYCJAWoyAC˜CFQICAFFgVB/wFxSw0ACwsLoz4BRX9BAC|KAI8IgFËU¡AB‰$§FBGXc$OA$̶OCICÏJ?k±JÒC\vµg!R>BE£BE}¶HF\vµE!Z>Bk£Bk}¶AH\vµk!hqJAk=Ak\bgN hgCÜK[K]µU‚tqJ hADE™M[M]µM‚1 jADmo¶CCIJÏl?gC$Idk<lÒPÝ9-9.Z igEGo$PBB{C$PJJ{E$PRR{EkEPSS{E2o¶NCIUh0R?gFE±RÒV•V-V.5qJ iwiFÜW[W]Q\vR\vIÝh-h.RqlqV>B$OB$ÌgCmoÇC0™L[L]M\vV\vNÝ1-1.9qZqNA0=A0\bhRFE=FE\bhdF0=F0\bhÂlGÉGU\bhpGk=Gk\bhtG0=G0\bhx>HE£HE}ÜC[C]V\vY\vOÝ5-5.ZqdqB>EE£EE}gCGogFGogE0EPTT{H$Pdd{HkEPee{H—E0™T[T]Y\vDÝN-N.Fqlq9H0=H0\biBqJ>Ek£Ek}gF—H—E$ZR[R]U\ve\vJÝl-l.Nq1qxHE=HE\biFIÉIU\biJIk=Ik\biNI0=I0\biRqt>G0£G0}gH¢I—GÜa[a]d\vi\vZ•l-l.NCFqh>GE£GE}ÍHGogF0™X[X]R\vb\vU•R-R.lqpCBIE=IE\biVJÉJU\biZJk=Jk\bidJ0=J0\bihKE=KE\bilKÉKU\bipKk=Kk\bit>K0£K0}gH0™f[f]b\vn\ve•5-5.pCZq1>H$OH$ÌgGÇJÇJEEPkk{LEEPss{L$Ptt{L¢JE™k[k]n\vg¸B-ICB.xChC5Lk=Lk\bi9CN>I0£I0}gJ¢L¢IÜi[i]l\vt\vh¸F-ICF.ICBCxCtK0=K0\bjBME=ME\bjFMÉMU\bjJMk=Mk\bjNCp>Kk£Kk}gLÇM¢K$Zp[p]s\vx\vo¸h-ICh.ICRDBCd>J0£J0}gI—K—JÜm[m]i\vq\vl¸V-ICV.ICFClC9L0=L0\bjRNE=NE\bjVNÉNU\bjZNk=Nk\bjdN0=N0\bjhOE=OE\bjlOÉOU\bjogOCA0IC4gLCAhsgG,D4gBE‘Y¥iO0ª7(7d3c0‘k¥iPGp–4`Ij1–3`Ij5zIDtxID1z\vHakGY36iUBG#B0‘U¥iP2#ACAM\v71D4gD—P,G\vAID4gO3NxID5z\vA¦BBGRid2JB2#QE‘Q¥iQW#DC|IDtœ7Ãz/eDrntkJ–z`IkNg0gDC|c3EHNq1%D$VDUaW3181+aiJE·siJASP0gDHÙxŽHbhNvKA2#RSBBIEMHNxIEMHÚB®EETAEE«dgZgdqUgD—CiAN\vLxqcgDyAN†DX‹fGjxM8FKYHMgQ3EgBi|€pIX+kXlgs¼A×PQ¨ŽHVvfHYem#QC*ER½E†BH‹ZjVnsB9aiJCš’RW#DG#BÇFiAH\vQ9qggBGogB,Ö$aF(FgbaNlAFgg¼N^\vKNPU¨ŽG+i8ahAm#Di*qt½F†BX‹cP7sagFQš€9Lr5lQdhY¼N×F\vBRqIgB—F,P\vFQ¨z\vF¦VVH+4/qGeG#By*qhÐgYgB,E†BHNqZ%BkEVBkaeN8N55EEÕ,N…DmÛ#DCAGVœFÃ9OLvjHxgUÎNQDNwgBnÙZz\vN¦11HB0+2kfm#CC\tZÐg8gF—E,N\vUxqkgB¢DyANxœMD0ªP(Pho/5/X5gYHCJ8gDXÙ1³HGu4b+AG#DCR¯EgC,P†D3~czDsqACNBW#AW#FCßÄ79ik7wJg8ICX\vTRqgŸEiAJ\vXQÁX¦ddGqidLTBG#GCZgNgkgFyAU†FH©dzTwuUFUDG°,JdœXÅ2pHmtwdhcNC&HSovnBeW#GS9¯Nq4ÍGiAR\vd;e2Mx8F6aGG#AWƒyM+MgHthgUCHH/+X6e2#FCdgN@fOXgLd8XGW°—ICAS\vcFq8_x6KerX1àHRxqk2a:G#A2„59KkoQFhgUai&GFldy9Am#FCABdgJhMgI—JiAS\viFCU_uMLs8AJ؁H827HpBG#GS\tp›ZOa4JkFa\fGG1OapqAZhg‡UDT\voJCQŸJyAJ\v)G7laizB2#FC\tdgFŒa6Si454X\fGWۄhdnIk3lhk‡aD&Gh0f+Vem#Gi\thÐhNCoÍL,R\vp;cvM6cB6Y\fFGۃ8JauknxhQ‡XDGjo7G7fG#Fy\tlgF@ZnQy4x9Z\fGmÛ#E—MCAS\vvFCs_pIzktH1ho‡YDGF67igf2#GC\tR›fDAqoMBU\fF2loKTzQFØTIDZDIÍN,R\vx;YjY3fEBZGm#AWƒzO6hugJhoYCG1+cKlA2#GCRgN@bOZ8MgDUF2°—LE™s[s]o\v0\vz93IDN¬IDN­XJDcŸMyAJ\v)HK1OL2BG#GyABlgJŒc+U89wFZ:m#A2„89+5wQZhoYai&Huhb6kB2#HCABRgJhNC5>Lk£Lk}gK¢N¢L$Zt[t]p\v1\vX93d¬d­U93R¬R­YJDkŸFCAJ\v)HvxpXFB2#CSt¯E¾~ZTwoaZ4bGW°iARNœTÆiISc5nhà)H6//uFeW#Gix¯QgPGo2AuS“ID8Jaitg:W#AaJajYC1`AgP,v¸9-IC9.ICtDdqÂgŸFCATJœSÄ69nBonphkW#EWo2AuC“IEEgC,DCc,JNxJ¹l”lž\vZaiajYC0`AgPiAw•IDB-IDB.IC9qdDpOk=Ok\bBJqEgFCAT†E3~ffH5vd7XJhJqNgLcCBDEgCXM3E,J…F2Ûo2Asy“IDsgNE™0[0]w\v4\vY93h¬h­\vT\vSEgFHNxR´Hy8cWzfG#E,Damo2Ati“AÎJRamo2AsiJAQu2BgIEfwF+·sCJASJ29xIgFÞCIoAgBBfy|N0IgB0QX9zcUG|,AdHM2ACQAJ|kA$OSQ0|kA$ORw0ABBADYCv`C0»0ÊMMAQs$NRg0BFBAWohAwsyE|kBBBiADa0EHcSICRQ0ANÞaiEBMh|NAFBADYCACABRQEEEBaiEAJBf2#Ag0ACws0F5akEHSQ0ABBAnQhAQNAFBmŠkŠiŠgŠIG#A$4Rw0ACwtBACEBBBACkDw`IgSnIgBBG3QEELdEGAgPwHcXIEEFdk<BBA3RˆjYCv`AgBEIdiKc2AriJAU»0EA·uS 5Ȗ4gE‘c¥2Aty“·ti 2Ȗ1UE‘Q¥2AtC“·sy zȖyI¥CQE‘#QEiAkUNAEÊADQCABQYAJ\vBQciJAÀ$BaiEBIEEBaiQf8BcUsN|sLCwYAQYCJAQujAQBBAENwPAEEcQ,UHUYiARs2Aui“Qqef5qfG9JP9vn9Cq7OP/JGjs/DbACABGzcD4ÈCsZaA/p+ihazoAEL/pLmIxZHagpt/EbNwPYEKXusODk6eWh3dC8ua746On/aelfyABGzcD0ÈC2L2WiPygtb42QufMp9DW0Ouzu38Rs3A8iJA,AÊBAsLCwEAQYAICwRw||IAd3MgcyAMnMXEyACcXM0EeDÑDÓ,DCc,BNxB¹F”Fž\vACÚÙIXÚJ®kETAkE«c,CFxC¹J”Jž\v\bEKdnN\tADJzFxMnÚN®0ETA0E«\vaiA\fE3MnE,D…d3c2pBIBBD3cgBB3dzakiC$YdCAJ¤l²Jh2cnIiiAEEYdC|¤B²Ah2cnIaiIgAQQdyAEHd3NqQyACBc,DJxD¹N”Nž\vqINzJxE3ÚF®$TA$«c—`IgBËE¡|‰EEYdnJyNgLQRBFXdz JASÏB?E±BˆjYC!IgNË0¡AD‰0E§#oi$UE%BGncg&SEgCXÙl´(V3)TIÁT¦NN*ANxzZx0gDHÚ1BHncgD$TD$Kd3N,SA-BDndz.BA3Zz:IXM3EÎcXMkEeCÑCÓG;lqMgEiAR†EXNqN%E0EVE0<GA/gNx=EN>BGXcg?BgP4Dc$IdHI@hIgE,J†CXNqJ%EkEVEk[53]N2^c,MZxM¹x”xž_gCÇEyASFœRE0ªT(T`IkB{p2c2#|AA}EÌ~NqF%E$VEURkgE3NxNz\vR¦FF€’QG#DG#BCAÖEªE(EJMgEnNxJ³‚IglËgCU¡AJ‰gC$§ƒ#C,TJœSC$aJ(J„#E,JNœTŅcXM$eBÑBӆc3Eg‡ÎDˆBGHZyc‰h2QYD+A3EŠ`akNwFB‹Nqd%B0EVB0Œgk¾©Û#Ei߯Žz\vP¦99CIDÏN?0±NҐ13‘EAKAL’cXMgBkEeGÑGӓJA$A”BE3dz•l3–BACgC—2og˜ai0|Do|CA™EZšYÕgBiAN›ÐhEgC,T†E3~œzc,iQFBAžBCndzŸgEÇ qAoA¡<h0ci¢mog£EO¤QYD+A3FBCHRy¥iQE¦p3§YdnJyIg¨gB3Ùd©Nql%C$VCUªEa«Kd3Nq¬BDXdz­BCnZz®BHnc¯gNh°#AW#E±EIdk<²BCHZBgP4Dc,³z\vJ¦ll´z\vS¦JJµAKAI¶CgC·AoA¸•IC¹53ºIYXNoX»GA¥QA¼gDCAG½gZgcgDyA¾gEyAS†En¿lqLQ|OAÀWot|A6|AÁgEXNxFz\vÂhGE=GE\bhÃDEªM(MÄFEªU(UÅE$aR(RÆEkªS(SÇWogÈ`BÉ$NÊEAIQËBGHQÌDdnMÍgE¢ÎiABÏh0ÐgFÑN3҈iIÓp3ÔOSGFzaF9ÕgDXMgDHEÖH9œPB×^aiBCNØhc‡ZDÙNxÚFzÛ#AmÜk™Ý•ÞBAnRBg`ßARlœJàhkaC";const N="àßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿžœ›š™˜—–•”“’‘ŽŒ‹Š‰ˆ‡†…„ƒ‚€~}|{`_^][@?>=<;:.-,*)(&%$#! \f\v\t\b";let D;for(D in N){const e=v.split(N[D]);v=e.join(e.pop())}var G={name:"sha256",data:v,hash:"64f06674"};const y=new n;let J=null;e.createSHA256=function(){return u(G,32).then((e=>{e.init(256);const t={init:()=>(e.init(256),t),update:n=>(e.update(n),t),digest:t=>e.digest(t),save:()=>e.save(),load:n=>(e.load(n),t),blockSize:64,digestSize:32};return t}))},e.sha256=function(e){if(null===J)return function(e,n){return t(this,void 0,void 0,(function*(){const t=yield e.lock(),A=yield u(n,32);return t(),A}))}(y,G).then((t=>(J=t,J.calculate(e,256))));try{const t=J.calculate(e,256);return Promise.resolve(t)}catch(e){return Promise.reject(e)}}}));
1
+ !((e, t) => {
2
+ "object" == typeof exports && "undefined" != typeof module
3
+ ? t(exports)
4
+ : "function" == typeof define && define.amd
5
+ ? define(["exports"], t)
6
+ : t(
7
+ ((e =
8
+ "undefined" != typeof globalThis
9
+ ? globalThis
10
+ : e || self).hashwasm = e.hashwasm || {}),
11
+ );
12
+ })(void 0, (e) => {
13
+ function t(e, t, n, A) {
14
+ return new (n || (n = Promise))((i, o) => {
15
+ function r(e) {
16
+ try {
17
+ a(A.next(e));
18
+ } catch (e) {
19
+ o(e);
20
+ }
21
+ }
22
+ function E(e) {
23
+ try {
24
+ a(A.throw(e));
25
+ } catch (e) {
26
+ o(e);
27
+ }
28
+ }
29
+ function a(e) {
30
+ var t;
31
+ e.done
32
+ ? i(e.value)
33
+ : ((t = e.value),
34
+ t instanceof n
35
+ ? t
36
+ : new n((e) => {
37
+ e(t);
38
+ })).then(r, E);
39
+ }
40
+ a((A = A.apply(e, t || [])).next());
41
+ });
42
+ }
43
+ "function" == typeof SuppressedError && SuppressedError;
44
+ class n {
45
+ constructor() {
46
+ this.mutex = Promise.resolve();
47
+ }
48
+ lock() {
49
+ let e = () => {};
50
+ return (
51
+ (this.mutex = this.mutex.then(() => new Promise(e))),
52
+ new Promise((t) => {
53
+ e = t;
54
+ })
55
+ );
56
+ }
57
+ dispatch(e) {
58
+ return t(this, void 0, void 0, function* () {
59
+ const t = yield this.lock();
60
+ try {
61
+ return yield Promise.resolve(e());
62
+ } finally {
63
+ t();
64
+ }
65
+ });
66
+ }
67
+ }
68
+ var A;
69
+ const i =
70
+ "undefined" != typeof globalThis
71
+ ? globalThis
72
+ : "undefined" != typeof self
73
+ ? self
74
+ : "undefined" != typeof window
75
+ ? window
76
+ : global,
77
+ o = null !== (A = i.Buffer) && void 0 !== A ? A : null,
78
+ r = i.TextEncoder ? new i.TextEncoder() : null;
79
+ function E(e, t) {
80
+ return (
81
+ (((15 & e) + ((e >> 6) | ((e >> 3) & 8))) << 4) |
82
+ ((15 & t) + ((t >> 6) | ((t >> 3) & 8)))
83
+ );
84
+ }
85
+ const a = "a".charCodeAt(0) - 10,
86
+ g = "0".charCodeAt(0);
87
+ function s(e, t, n) {
88
+ let A = 0;
89
+ for (let i = 0; i < n; i++) {
90
+ let n = t[i] >>> 4;
91
+ (e[A++] = n > 9 ? n + a : n + g),
92
+ (n = 15 & t[i]),
93
+ (e[A++] = n > 9 ? n + a : n + g);
94
+ }
95
+ return String.fromCharCode.apply(null, e);
96
+ }
97
+ const C =
98
+ null !== o
99
+ ? (e) => {
100
+ if ("string" == typeof e) {
101
+ const t = o.from(e, "utf8");
102
+ return new Uint8Array(t.buffer, t.byteOffset, t.length);
103
+ }
104
+ if (o.isBuffer(e))
105
+ return new Uint8Array(e.buffer, e.byteOffset, e.length);
106
+ if (ArrayBuffer.isView(e))
107
+ return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
108
+ throw new Error("Invalid data type!");
109
+ }
110
+ : (e) => {
111
+ if ("string" == typeof e) return r.encode(e);
112
+ if (ArrayBuffer.isView(e))
113
+ return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
114
+ throw new Error("Invalid data type!");
115
+ },
116
+ B = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
117
+ c = new Uint8Array(256);
118
+ for (let e = 0; e < 64; e++) c[B.charCodeAt(e)] = e;
119
+ function l(e) {
120
+ const t = ((e) => {
121
+ let t = Math.floor(0.75 * e.length);
122
+ const n = e.length;
123
+ return "=" === e[n - 1] && ((t -= 1), "=" === e[n - 2] && (t -= 1)), t;
124
+ })(e),
125
+ n = e.length,
126
+ A = new Uint8Array(t);
127
+ let i = 0;
128
+ for (let t = 0; t < n; t += 4) {
129
+ const n = c[e.charCodeAt(t)],
130
+ o = c[e.charCodeAt(t + 1)],
131
+ r = c[e.charCodeAt(t + 2)],
132
+ E = c[e.charCodeAt(t + 3)];
133
+ (A[i] = (n << 2) | (o >> 4)),
134
+ (i += 1),
135
+ (A[i] = ((15 & o) << 4) | (r >> 2)),
136
+ (i += 1),
137
+ (A[i] = ((3 & r) << 6) | (63 & E)),
138
+ (i += 1);
139
+ }
140
+ return A;
141
+ }
142
+ const h = 16384,
143
+ f = new n(),
144
+ d = new Map();
145
+ function u(e, n) {
146
+ return t(this, void 0, void 0, function* () {
147
+ let A = null,
148
+ i = null,
149
+ o = !1;
150
+ if ("undefined" == typeof WebAssembly)
151
+ throw new Error("WebAssembly is not supported in this environment!");
152
+ const r = () =>
153
+ new DataView(A.exports.memory.buffer).getUint32(
154
+ A.exports.STATE_SIZE,
155
+ !0,
156
+ ),
157
+ a = f.dispatch(() =>
158
+ t(this, void 0, void 0, function* () {
159
+ if (!d.has(e.name)) {
160
+ const t = l(e.data),
161
+ n = WebAssembly.compile(t);
162
+ d.set(e.name, n);
163
+ }
164
+ const t = yield d.get(e.name);
165
+ A = yield WebAssembly.instantiate(t, {});
166
+ }),
167
+ ),
168
+ g = () => {
169
+ const e =
170
+ arguments.length > 0 && void 0 !== arguments[0]
171
+ ? arguments[0]
172
+ : null;
173
+ (o = !0), A.exports.Hash_Init(e);
174
+ },
175
+ B = (e) => {
176
+ if (!o) throw new Error("update() called before init()");
177
+ ((e) => {
178
+ let t = 0;
179
+ for (; t < e.length; ) {
180
+ const n = e.subarray(t, t + h);
181
+ (t += n.length), i.set(n), A.exports.Hash_Update(n.length);
182
+ }
183
+ })(C(e));
184
+ },
185
+ c = new Uint8Array(2 * n),
186
+ u = (e) => {
187
+ const t =
188
+ arguments.length > 1 && void 0 !== arguments[1]
189
+ ? arguments[1]
190
+ : null;
191
+ if (!o) throw new Error("digest() called before init()");
192
+ return (
193
+ (o = !1),
194
+ A.exports.Hash_Final(t),
195
+ "binary" === e ? i.slice(0, n) : s(c, i, n)
196
+ );
197
+ },
198
+ v = (e) => ("string" == typeof e ? e.length < 4096 : e.byteLength < h);
199
+ let N = v;
200
+ switch (e.name) {
201
+ case "argon2":
202
+ case "scrypt":
203
+ N = () => !0;
204
+ break;
205
+ case "blake2b":
206
+ case "blake2s":
207
+ N = (e, t) => t <= 512 && v(e);
208
+ break;
209
+ case "blake3":
210
+ N = (e, t) => 0 === t && v(e);
211
+ break;
212
+ case "xxhash64":
213
+ case "xxhash3":
214
+ case "xxhash128":
215
+ N = () => !1;
216
+ }
217
+ return (
218
+ yield (() =>
219
+ t(this, void 0, void 0, function* () {
220
+ A || (yield a);
221
+ const e = A.exports.Hash_GetBuffer(),
222
+ t = A.exports.memory.buffer;
223
+ i = new Uint8Array(t, e, h);
224
+ }))(),
225
+ {
226
+ getMemory: () => i,
227
+ writeMemory: (e) => {
228
+ const t =
229
+ arguments.length > 1 && void 0 !== arguments[1]
230
+ ? arguments[1]
231
+ : 0;
232
+ i.set(e, t);
233
+ },
234
+ getExports: () => A.exports,
235
+ setMemorySize: (e) => {
236
+ A.exports.Hash_SetMemorySize(e);
237
+ const t = A.exports.Hash_GetBuffer(),
238
+ n = A.exports.memory.buffer;
239
+ i = new Uint8Array(n, t, e);
240
+ },
241
+ init: g,
242
+ update: B,
243
+ digest: u,
244
+ save: () => {
245
+ if (!o)
246
+ throw new Error(
247
+ "save() can only be called after init() and before digest()",
248
+ );
249
+ const t = A.exports.Hash_GetState(),
250
+ n = r(),
251
+ i = A.exports.memory.buffer,
252
+ a = new Uint8Array(i, t, n),
253
+ g = new Uint8Array(4 + n);
254
+ return (
255
+ ((e, t) => {
256
+ const n = t.length >> 1;
257
+ for (let A = 0; A < n; A++) {
258
+ const n = A << 1;
259
+ e[A] = E(t.charCodeAt(n), t.charCodeAt(n + 1));
260
+ }
261
+ })(g, e.hash),
262
+ g.set(a, 4),
263
+ g
264
+ );
265
+ },
266
+ load: (t) => {
267
+ if (!(t instanceof Uint8Array))
268
+ throw new Error(
269
+ "load() expects an Uint8Array generated by save()",
270
+ );
271
+ const n = A.exports.Hash_GetState(),
272
+ i = r(),
273
+ a = 4 + i,
274
+ g = A.exports.memory.buffer;
275
+ if (t.length !== a)
276
+ throw new Error(
277
+ "Bad state length (expected "
278
+ .concat(a, " bytes, got ")
279
+ .concat(t.length, ")"),
280
+ );
281
+ if (
282
+ !((e, t) => {
283
+ if (e.length !== 2 * t.length) return !1;
284
+ for (let n = 0; n < t.length; n++) {
285
+ const A = n << 1;
286
+ if (t[n] !== E(e.charCodeAt(A), e.charCodeAt(A + 1)))
287
+ return !1;
288
+ }
289
+ return !0;
290
+ })(e.hash, t.subarray(0, 4))
291
+ )
292
+ throw new Error(
293
+ "This state was written by an incompatible hash implementation",
294
+ );
295
+ const s = t.subarray(4);
296
+ new Uint8Array(g, n, i).set(s), (o = !0);
297
+ },
298
+ calculate: (e) => {
299
+ const t =
300
+ arguments.length > 1 && void 0 !== arguments[1]
301
+ ? arguments[1]
302
+ : null,
303
+ o =
304
+ arguments.length > 2 && void 0 !== arguments[2]
305
+ ? arguments[2]
306
+ : null;
307
+ if (!N(e, t)) return g(t), B(e), u("hex", o);
308
+ const r = C(e);
309
+ return (
310
+ i.set(r), A.exports.Hash_Calculate(r.length, t, o), s(c, i, n)
311
+ );
312
+ },
313
+ hashLength: n,
314
+ }
315
+ );
316
+ });
317
+ }
318
+ let v =
319
+ "AGFzbQE||BEAF/YAF/AG|AGACf38|wgH|EBAQAw$AQECAgYOAn8BQfCJBQt/AEGACAsHcAgGbWVtb3J5AÔHZXRCdWZmZX|lº0luaXQ|Qtº1VwZGF0ZQACCkhhc2hfRmluYWwABA1º0dldFN0YXRl|UÔDYWxjdWxhdGUABgpTVEFURV9TSVpFAwEKoEoHBQBBkLnQEABCADcDwÈBHEEgBB4AFGIbNgL#QFBAEKnn+anxvST/b5/Qquzj/yRo7Pw2wABs3A+C“QrGWgP6fooWs6ABC/6S5iMWR2oKbfy|GzcD2ÈCl7rDg5Onlod3QvLmu+Ojp/2npX8Bs3A9C“Qti9loj8oLW+NkLnzKfQ1tDrs7t/AbNwPI¥L7wICAX4Gf0EAApA8CJASCtfDcDw`AkACQAJAGnQT9xIgINAEGACSEDDAELAkBBw|msiBC|QEkbIgNFDQA0EDcSEFJBg`aiEGAhAgJANBBEkNACADQfwAcSEHAhAgNAYm#AyACQYAJ˜DFqJBgQ¿NBAmokGCCÀ0ED\vCQYMJ˜HJBBG#AkcN|sLVFDQADQCAGJqJB¿JBAWohAiAFQX9gUN|sLQEsNAU»y|RrIQAgBEGACWohAwsCQC|Qc|SQ0|0AxADNBwABQMEFAaiQT9LDQALCy|RQ0AAhAkÊUDQCACQYCJAWoyAC˜CFQICAFFgVB/wFxSw0ACwsLoz4BRX9BAC|KAI8IgFËU¡AB‰$§FBGXc$OA$̶OCICÏJ?k±JÒC\vµg!R>BE£BE}¶HF\vµE!Z>Bk£Bk}¶AH\vµk!hqJAk=Ak\bgN hgCÜK[K]µU‚tqJ hADE™M[M]µM‚1 jADmo¶CCIJÏl?gC$Idk<lÒPÝ9-9.Z igEGo$PBB{C$PJJ{E$PRR{EkEPSS{E2o¶NCIUh0R?gFE±RÒV•V-V.5qJ iwiFÜW[W]Q\vR\vIÝh-h.RqlqV>B$OB$ÌgCmoÇC0™L[L]M\vV\vNÝ1-1.9qZqNA0=A0\bhRFE=FE\bhdF0=F0\bhÂlGÉGU\bhpGk=Gk\bhtG0=G0\bhx>HE£HE}ÜC[C]V\vY\vOÝ5-5.ZqdqB>EE£EE}gCGogFGogE0EPTT{H$Pdd{HkEPee{H—E0™T[T]Y\vDÝN-N.Fqlq9H0=H0\biBqJ>Ek£Ek}gF—H—E$ZR[R]U\ve\vJÝl-l.Nq1qxHE=HE\biFIÉIU\biJIk=Ik\biNI0=I0\biRqt>G0£G0}gH¢I—GÜa[a]d\vi\vZ•l-l.NCFqh>GE£GE}ÍHGogF0™X[X]R\vb\vU•R-R.lqpCBIE=IE\biVJÉJU\biZJk=Jk\bidJ0=J0\bihKE=KE\bilKÉKU\bipKk=Kk\bit>K0£K0}gH0™f[f]b\vn\ve•5-5.pCZq1>H$OH$ÌgGÇJÇJEEPkk{LEEPss{L$Ptt{L¢JE™k[k]n\vg¸B-ICB.xChC5Lk=Lk\bi9CN>I0£I0}gJ¢L¢IÜi[i]l\vt\vh¸F-ICF.ICBCxCtK0=K0\bjBME=ME\bjFMÉMU\bjJMk=Mk\bjNCp>Kk£Kk}gLÇM¢K$Zp[p]s\vx\vo¸h-ICh.ICRDBCd>J0£J0}gI—K—JÜm[m]i\vq\vl¸V-ICV.ICFClC9L0=L0\bjRNE=NE\bjVNÉNU\bjZNk=Nk\bjdN0=N0\bjhOE=OE\bjlOÉOU\bjogOCA0IC4gLCAhsgG,D4gBE‘Y¥iO0ª7(7d3c0‘k¥iPGp–4`Ij1–3`Ij5zIDtxID1z\vHakGY36iUBG#B0‘U¥iP2#ACAM\v71D4gD—P,G\vAID4gO3NxID5z\vA¦BBGRid2JB2#QE‘Q¥iQW#DC|IDtœ7Ãz/eDrntkJ–z`IkNg0gDC|c3EHNq1%D$VDUaW3181+aiJE·siJASP0gDHÙxŽHbhNvKA2#RSBBIEMHNxIEMHÚB®EETAEE«dgZgdqUgD—CiAN\vLxqcgDyAN†DX‹fGjxM8FKYHMgQ3EgBi|€pIX+kXlgs¼A×PQ¨ŽHVvfHYem#QC*ER½E†BH‹ZjVnsB9aiJCš’RW#DG#BÇFiAH\vQ9qggBGogB,Ö$aF(FgbaNlAFgg¼N^\vKNPU¨ŽG+i8ahAm#Di*qt½F†BX‹cP7sagFQš€9Lr5lQdhY¼N×F\vBRqIgB—F,P\vFQ¨z\vF¦VVH+4/qGeG#By*qhÐgYgB,E†BHNqZ%BkEVBkaeN8N55EEÕ,N…DmÛ#DCAGVœFÃ9OLvjHxgUÎNQDNwgBnÙZz\vN¦11HB0+2kfm#CC\tZÐg8gF—E,N\vUxqkgB¢DyANxœMD0ªP(Pho/5/X5gYHCJ8gDXÙ1³HGu4b+AG#DCR¯EgC,P†D3~czDsqACNBW#AW#FCßÄ79ik7wJg8ICX\vTRqgŸEiAJ\vXQÁX¦ddGqidLTBG#GCZgNgkgFyAU†FH©dzTwuUFUDG°,JdœXÅ2pHmtwdhcNC&HSovnBeW#GS9¯Nq4ÍGiAR\vd;e2Mx8F6aGG#AWƒyM+MgHthgUCHH/+X6e2#FCdgN@fOXgLd8XGW°—ICAS\vcFq8_x6KerX1àHRxqk2a:G#A2„59KkoQFhgUai&GFldy9Am#FCABdgJhMgI—JiAS\viFCU_uMLs8AJ؁H827HpBG#GS\tp›ZOa4JkFa\fGG1OapqAZhg‡UDT\voJCQŸJyAJ\v)G7laizB2#FC\tdgFŒa6Si454X\fGWۄhdnIk3lhk‡aD&Gh0f+Vem#Gi\thÐhNCoÍL,R\vp;cvM6cB6Y\fFGۃ8JauknxhQ‡XDGjo7G7fG#Fy\tlgF@ZnQy4x9Z\fGmÛ#E—MCAS\vvFCs_pIzktH1ho‡YDGF67igf2#GC\tR›fDAqoMBU\fF2loKTzQFØTIDZDIÍN,R\vx;YjY3fEBZGm#AWƒzO6hugJhoYCG1+cKlA2#GCRgN@bOZ8MgDUF2°—LE™s[s]o\v0\vz93IDN¬IDN­XJDcŸMyAJ\v)HK1OL2BG#GyABlgJŒc+U89wFZ:m#A2„89+5wQZhoYai&Huhb6kB2#HCABRgJhNC5>Lk£Lk}gK¢N¢L$Zt[t]p\v1\vX93d¬d­U93R¬R­YJDkŸFCAJ\v)HvxpXFB2#CSt¯E¾~ZTwoaZ4bGW°iARNœTÆiISc5nhà)H6//uFeW#Gix¯QgPGo2AuS“ID8Jaitg:W#AaJajYC1`AgP,v¸9-IC9.ICtDdqÂgŸFCATJœSÄ69nBonphkW#EWo2AuC“IEEgC,DCc,JNxJ¹l”lž\vZaiajYC0`AgPiAw•IDB-IDB.IC9qdDpOk=Ok\bBJqEgFCAT†E3~ffH5vd7XJhJqNgLcCBDEgCXM3E,J…F2Ûo2Asy“IDsgNE™0[0]w\v4\vY93h¬h­\vT\vSEgFHNxR´Hy8cWzfG#E,Damo2Ati“AÎJRamo2AsiJAQu2BgIEfwF+·sCJASJ29xIgFÞCIoAgBBfy|N0IgB0QX9zcUG|,AdHM2ACQAJ|kA$OSQ0|kA$ORw0ABBADYCv`C0»0ÊMMAQs$NRg0BFBAWohAwsyE|kBBBiADa0EHcSICRQ0ANÞaiEBMh|NAFBADYCACABRQEEEBaiEAJBf2#Ag0ACws0F5akEHSQ0ABBAnQhAQNAFBmŠkŠiŠgŠIG#A$4Rw0ACwtBACEBBBACkDw`IgSnIgBBG3QEELdEGAgPwHcXIEEFdk<BBA3RˆjYCv`AgBEIdiKc2AriJAU»0EA·uS 5Ȗ4gE‘c¥2Aty“·ti 2Ȗ1UE‘Q¥2AtC“·sy zȖyI¥CQE‘#QEiAkUNAEÊADQCABQYAJ\vBQciJAÀ$BaiEBIEEBaiQf8BcUsN|sLCwYAQYCJAQujAQBBAENwPAEEcQ,UHUYiARs2Aui“Qqef5qfG9JP9vn9Cq7OP/JGjs/DbACABGzcD4ÈCsZaA/p+ihazoAEL/pLmIxZHagpt/EbNwPYEKXusODk6eWh3dC8ua746On/aelfyABGzcD0ÈC2L2WiPygtb42QufMp9DW0Ouzu38Rs3A8iJA,AÊBAsLCwEAQYAICwRw||IAd3MgcyAMnMXEyACcXM0EeDÑDÓ,DCc,BNxB¹F”Fž\vACÚÙIXÚJ®kETAkE«c,CFxC¹J”Jž\v\bEKdnN\tADJzFxMnÚN®0ETA0E«\vaiA\fE3MnE,D…d3c2pBIBBD3cgBB3dzakiC$YdCAJ¤l²Jh2cnIiiAEEYdC|¤B²Ah2cnIaiIgAQQdyAEHd3NqQyACBc,DJxD¹N”Nž\vqINzJxE3ÚF®$TA$«c—`IgBËE¡|‰EEYdnJyNgLQRBFXdz JASÏB?E±BˆjYC!IgNË0¡AD‰0E§#oi$UE%BGncg&SEgCXÙl´(V3)TIÁT¦NN*ANxzZx0gDHÚ1BHncgD$TD$Kd3N,SA-BDndz.BA3Zz:IXM3EÎcXMkEeCÑCÓG;lqMgEiAR†EXNqN%E0EVE0<GA/gNx=EN>BGXcg?BgP4Dc$IdHI@hIgE,J†CXNqJ%EkEVEk[53]N2^c,MZxM¹x”xž_gCÇEyASFœRE0ªT(T`IkB{p2c2#|AA}EÌ~NqF%E$VEURkgE3NxNz\vR¦FF€’QG#DG#BCAÖEªE(EJMgEnNxJ³‚IglËgCU¡AJ‰gC$§ƒ#C,TJœSC$aJ(J„#E,JNœTŅcXM$eBÑBӆc3Eg‡ÎDˆBGHZyc‰h2QYD+A3EŠ`akNwFB‹Nqd%B0EVB0Œgk¾©Û#Ei߯Žz\vP¦99CIDÏN?0±NҐ13‘EAKAL’cXMgBkEeGÑGӓJA$A”BE3dz•l3–BACgC—2og˜ai0|Do|CA™EZšYÕgBiAN›ÐhEgC,T†E3~œzc,iQFBAžBCndzŸgEÇ qAoA¡<h0ci¢mog£EO¤QYD+A3FBCHRy¥iQE¦p3§YdnJyIg¨gB3Ùd©Nql%C$VCUªEa«Kd3Nq¬BDXdz­BCnZz®BHnc¯gNh°#AW#E±EIdk<²BCHZBgP4Dc,³z\vJ¦ll´z\vS¦JJµAKAI¶CgC·AoA¸•IC¹53ºIYXNoX»GA¥QA¼gDCAG½gZgcgDyA¾gEyAS†En¿lqLQ|OAÀWot|A6|AÁgEXNxFz\vÂhGE=GE\bhÃDEªM(MÄFEªU(UÅE$aR(RÆEkªS(SÇWogÈ`BÉ$NÊEAIQËBGHQÌDdnMÍgE¢ÎiABÏh0ÐgFÑN3҈iIÓp3ÔOSGFzaF9ÕgDXMgDHEÖH9œPB×^aiBCNØhc‡ZDÙNxÚFzÛ#AmÜk™Ý•ÞBAnRBg`ßARlœJàhkaC";
320
+ const N =
321
+ "àßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿžœ›š™˜—–•”“’‘ŽŒ‹Š‰ˆ‡†…„ƒ‚€~}|{`_^][@?>=<;:.-,*)(&%$#! \f\v\t\b";
322
+ let D;
323
+ for (D in N) {
324
+ const e = v.split(N[D]);
325
+ v = e.join(e.pop());
326
+ }
327
+ var G = { name: "sha256", data: v, hash: "64f06674" };
328
+ const y = new n();
329
+ let J = null;
330
+ (e.createSHA256 = () =>
331
+ u(G, 32).then((e) => {
332
+ e.init(256);
333
+ const t = {
334
+ init: () => (e.init(256), t),
335
+ update: (n) => (e.update(n), t),
336
+ digest: (t) => e.digest(t),
337
+ save: () => e.save(),
338
+ load: (n) => (e.load(n), t),
339
+ blockSize: 64,
340
+ digestSize: 32,
341
+ };
342
+ return t;
343
+ })),
344
+ (e.sha256 = (e) => {
345
+ if (null === J)
346
+ return (function (e, n) {
347
+ return t(this, void 0, void 0, function* () {
348
+ const t = yield e.lock(),
349
+ A = yield u(n, 32);
350
+ return t(), A;
351
+ });
352
+ })(y, G).then((t) => ((J = t), J.calculate(e, 256)));
353
+ try {
354
+ const t = J.calculate(e, 256);
355
+ return Promise.resolve(t);
356
+ } catch (e) {
357
+ return Promise.reject(e);
358
+ }
359
+ });
360
+ });
2
361
 
3
362
  // ====================================================
4
363
 
5
- // this is a now unused library which an old version of
364
+ // this is a now unused library which an old version of
6
365
  // cap depended on. to avoid breaking things as much as
7
366
  // possible, we've kept it here.
8
367
 
9
368
  try {
10
- // lets us know how many people are actually using this
11
- // so we can know when it's safe to deprecate.
12
-
13
- // server source code:
14
- // https://gist.github.com/tiagorangel1/ffb39489f5af91e6e45f94f1bfa14ab2
15
- fetch(
16
- `https://api.tiagorangel.com/cap-legacy-widget?h=${self.location?.hostname || 'unknown'}`, {
17
- mode: 'no-cors'
18
- }
19
- ).catch(() => {});
369
+ // lets us know how many people are actually using this
370
+ // so we can know when it's safe to deprecate.
371
+
372
+ // server source code:
373
+ // https://gist.github.com/tiagozip/ffb39489f5af91e6e45f94f1bfa14ab2
374
+ fetch(
375
+ `https://api.tiagorangel.com/cap-legacy-widget?h=${self.location?.hostname || "unknown"}`,
376
+ {
377
+ mode: "no-cors",
378
+ },
379
+ ).catch(() => {});
20
380
  } catch {}
21
381
 
22
382
  console.warn(
23
- `[cap]
383
+ `[cap]
24
384
  %cYou're using a deprecated version of Cap's widget that still relies on this file.
25
385
 
26
386
  It may continue to work for now, but could break at any time since this dependency was removed several versions ago.
27
387
 
28
388
  Please update Cap to fix this.`,
29
- "font-size:15px;background-image:url('https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fpreview.colorkit.co%2Fcolor%2FEEEEEE.png%3Ftype%3Darticle-preview-logo%26size%3Dsocial%26colorname%3DSuper%2520Silver&f=1&nofb=1&ipt=49845e9195461b7c779182793c2ebf7834102eaf5561c15fa2cbb55494b77a9b');background-size:10px"
389
+ "font-size:15px;background-image:url('https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fpreview.colorkit.co%2Fcolor%2FEEEEEE.png%3Ftype%3Darticle-preview-logo%26size%3Dsocial%26colorname%3DSuper%2520Silver&f=1&nofb=1&ipt=49845e9195461b7c779182793c2ebf7834102eaf5561c15fa2cbb55494b77a9b');background-size:10px",
30
390
  );
31
391
 
32
392
  console.log(
33
- `%cTo help us understand how many people are using this legacy version and when it's safe to deprecate it, we've sent a small, privacy-friendly beacon to our servers. All related code, including the telemetry server, is open source.\n\nYou might have gotten a CSP error before this, it should be safe to ignore. Server source code: https://gist.github.com/tiagorangel1/ffb39489f5af91e6e45f94f1bfa14ab2`,
34
- "font-size:11px;color:#b7b7b7"
35
- );
393
+ `%cTo help us understand how many people are using this legacy version and when it's safe to deprecate it, we've sent a small, privacy-friendly beacon to our servers. All related code, including the telemetry server, is open source.\n\nYou might have gotten a CSP error before this, it should be safe to ignore. Server source code: https://gist.github.com/tiagozip/ffb39489f5af91e6e45f94f1bfa14ab2`,
394
+ "font-size:11px;color:#b7b7b7",
395
+ );