194 lines
86 KiB
JavaScript
194 lines
86 KiB
JavaScript
/* Copyright 2021-2025 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */
|
||
var i,t;i=this,t=function(i,t){const s=(i,t=4294967295,s=79764919)=>{const e=new Int32Array(256);let H,r,h,n=t;for(H=0;H<256;H++){for(h=H<<24,r=8;r>0;--r)h=2147483648&h?h<<1^s:h<<1;e[H]=h}for(H=0;H<i.length;H++)n=n<<8^e[255&(n>>24^i[H])];return n},e=(i,t=s)=>{const e=i=>new Uint8Array(i.length/2).map(((t,s)=>parseInt(i.substring(2*s,2*(s+1)),16))),H=i=>e(i)[0],r=new Map;[,8364,,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,,381,,,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,,382,376].forEach(((i,t)=>r.set(i,t)));const h=new Uint8Array(i.length);let n,M,o,c=!1,a=0,I=42,d=i.length>13&&"dynEncode"===i.substring(0,9),u=0;d&&(u=11,M=H(i.substring(9,u)),M<=1&&(u+=2,I=H(i.substring(11,u))),1===M&&(u+=8,o=(i=>new DataView(e(i).buffer).getInt32(0,!0))(i.substring(13,u))));const J=256-I;for(let s=u;s<i.length;s++)if(n=i.charCodeAt(s),61!==n||c){if(92===n&&s<i.length-5&&d){const t=i.charCodeAt(s+1);117!==t&&85!==t||(n=parseInt(i.substring(s+2,s+6),16),s+=5)}if(n>255){const i=r.get(n);i&&(n=i+127)}c&&(c=!1,n-=64),h[a++]=n<I&&n>0?n+J:n-I}else c=!0;const P=h.subarray(0,a);if(d&&1===M){const i=t(P);if(i!==o){const t="Decode failed crc32 validation";throw console.error("`simple-yenc`\n",t+"\n","Expected: "+o+"; Got: "+i+"\n","Visit https://github.com/eshaz/simple-yenc for more information"),Error(t)}}return P};function H(){const i=Uint8Array,t=Float32Array;H.t||Object.defineProperties(H,{t:{value:new WeakMap},H:{value(i,t){H.t.set(i,Promise.resolve(t))}},M:{value(i,t){let s=H.t.get(i);return s||(t?s=WebAssembly.compile(e(t)):(t=i.I,s=H.u(t).then((i=>WebAssembly.compile(i)))),H.t.set(i,s)),s}},J:{value(i,s){let e=new t(s),H=0,r=0;for(;H<i.length;)e.set(i[H],r),r+=i[H++].length;return e}},P:{value:(i,t,s,e,H)=>({p:i,channelData:t,samplesDecoded:s,sampleRate:e,bitDepth:H})},K:{value(i,t,s,e,r,h){let n,M,o=[];for(n=0;n<s;n++){const i=[];for(M=0;M<t.length;)i.push(t[M++][n]||[]);o.push(H.J(i,e))}return H.P(i,o,e,r,h)}},u:{value(t){return t=e(t),new Promise((s=>{const e=String.raw`dynEncode0128e975dc2c()((()>+*§§)§,§§§§)§+§§§)§+.-()(*)-+)(8.7*§)i¸¸,3§(i¸¸,3/G+.¡*(,(,3+)2å:-),§H(P*DI*H(P*@I++hH)H*r,hH(H(P*<J,i)^*<H,H(P*4U((I-H(H*i0J,^*DH+H-H*I+H,I*4)33H(H*H)^*DH(H+H)^*@H+i§H)i§3æ*).§K(iHI/+§H,iHn,§H+i(H+i(rCJ0I,H*I-+hH,,hH(H-V)(i)J.H.W)(i)c)(H,i)I,H-i*I-4)33i(I.*hH(V)(H+n5(H(i*I-i(I,i)I.+hH,i*J+iHn,hi(I-i*I,+hH,H/H-c)(H,iFn,hi(I,+hH,H0n5-H*V)(J(,hH/H(i)J(H(V)(J(i)c)(H)H(i)H,c)(3H*i*I*H,i)I,4(3(-H(H,W)(H-I-H,i*I,4)3(3(3H,H-I1H+I,H.i)H1V)(J.i(v5(33H.-H(H,i(c)(H,i*I,4)333)-§i*I*+§H*iHn,hi73H,H(i)8(H+J+H)P*(H*V)(J-r,§H)P*,H.i)H+H,i)V)(-H*i*I*H+i)I+H-H.I.H,H-i)I,4)333Ã+)-§iø7i(^*(iü7I,*h+hH+iDn,h*hilI+i)I,+hH+,hH+iô7H,c)(i)H+i´8W)(H,I,H+i*I+4)-+hH(H)8*J-i(p5.*h*h*hH-i')u,hH(P*(J+,hH(P*0J,H(P*,n50H+H,H-b((3H(P*0i)I.4)3H-i¨*n5*H-iÅ*s,hi73H-i)J+V)&+I,H(H+V)æ,8(I.H(H*8*J-i(p51H-i)J+i¸7V)(H(H+iø7V)(8(J/H(P*0J+s,hi73H+H,H.J,I.H(P*(m5(H.H(P*,s5.+hH,m5*H(P*(J.H+H.H+H/U((b((H(H(P*0i)J+^*0H,i)I,4(3(3H(H.^*03H-i¨*o5)33i(73(3(3-H,H+i)c)(H,i*I,H+i)I+4)33i)I-3H-3!2)0§K(i2J,L(H,H(^*(H,H*^*4H,i(^*0H,i(^*DH,j(_*<H,H)P*(^*,H,H+P*(^*8*h*h+hH,i)8(I3i§I**h*h*h*h*h*h*hH,i*8(6+(),03H,j(_*@i*I-H,P*<J.i,J(H,P*8J/s50H,H.i+J0^*<i¦I*H.H,P*4J1J.U(*H.U((J2i')o5/H.U()I.H,H(^*<H0H1U((H.i0J.i§i0i')o5/H/H.H2J*H(J.q50H,P*0J/H*I-H,P*(J0,hH,P*,H-q,hi)I-423+hH*m5+H/H0H(H1U((b((H/i)I/H(i)I(H*i)I*4(3(3H,H.^*<H,H-^*04*3iØ1U((5+i(I(i¨7i1^*(i$6iè1^*(i°7iè6^*(i¬7iÈ6^*(+hH(iÈ*n,hiÈ*I(+hH(i¨,n,hi¨,I(+hH(iØ,n,hiØ,I(+hH(iè,o,hH,i-H(i0c)(H(i*I(4)33iè1i1H,i-iÈ*8)Bi(I(+hH(ido,hH,i-H(i-c)(H(i*I(4)33iÈ6iè6H,i-iF8)BiØ1i)b((41-H,i-H(i/c)(H(i*I(4)3(3(-H,i-H(i1c)(H(i*I(4)3(3(-H,i-H(i0c)(H(i*I(4)3(3(3H,H/^*0H,H(^*<3i(I*4*3H,H,i¸)^*TH,H,iø-^*PH,H,iX^*LH,H,i(^*HH,i-8(I(H,i-8(I-i¥I*H,i,8(I.H(iErH-iEr5)H(i©*I1H-i)I0i(i;H.i,J(i(H(i(rCJ(J*H*i;sCI*i¨1I-H(I/+hH/,hH,i-H-V)(i)H,i+8(c)(H/i)I/H-i*I-H*i)I*4)-H(i)i¨1I/+hH(H*o,hH,i-H/V)(i)i(c)(H/i*I/H(i)I(4)33i¤I*H,iø-H,i¸)H,i-i;8)5+H0H1I2i(I-+hH-H2p,hH,H,iP8*J*i(p5-H*i7u,hH,i-H-i)H*c)(H-i)I-4*3i(I/i+I.i+I(*h*h*hH*i86*(*)3H-m,hi£I*403H-i)H,W)-I/i*I(4)3i3I.i/I(3H2H,H(8(H.J(H-J.p,hi¢I*4.3H,i-H-i)I*+hH(,hH*H/c)(H*i*I*H(i)I(4)-H.I-4+3(3(33H,W)1m,hiI*4,3H,iø-H,i¸)H,i-H18)J(,hi¡I*H(i(p5,H1H,V)ú-H,V)ø-o5,3H,i(H,iXH,i-H1i)H08)J(,hi I*H(i(p5,H0H,V)H,V)o5,3H,H,iPH,iH8+I*4+3(3(3H,i$6i¬78+I*3H*H3m5(3i)I-H*i(r5)3H)H,P*0^*(H+H,P*<^*(H*I-3H,i2L(H-33Á)+(i¨03b+(,(-(.(/(0(1(2(3(5(7(9(;(?(C(G(K(S([(c(k({(((«(Ë(ë((*)(iø03O)()()()(*(*(*(*(+(+(+(+(,(,(,(,(-(-(-(-(i¨13M8(9(:(((0(/(1(.(2(-(3(,(4(+(5(*(6()(7(T7*S7US0U `;H.M(H,e).then((i=>WebAssembly.instantiate(i,{}))).then((({exports:e})=>{const H=new Map(Object.entries(e)),r=H.get("puff"),h=H.get("memory").buffer,n=new i(h),M=new DataView(h);let o=H.get("__heap_base");const c=t.length,a=o;o+=4,M.setInt32(a,c,!0);const I=o;o+=c,n.set(t,I);const d=o;o+=4,M.setInt32(d,n.byteLength-o,!0),r(o,d,I,a),s(n.slice(o,o+M.getInt32(d,!0)))}))}))}}}),Object.defineProperty(this,"I",{enumerable:!0,get:()=>this.A}),this.W=(i,t,s)=>{let e=[],H=0;for(;H<t;)e.push(i.slice(H*s,H++*s+s));return e},this.v=(i,t,s=!0)=>{const e=this.A.O(t.BYTES_PER_ELEMENT*i);return s&&this.S.add(e),{F:e,V:i,T:new t(this.A.U,e,i)}},this.free=()=>{this.S.forEach((i=>{this.A.free(i)})),this.S.clear()},this._=i=>{const t=[],s=new Uint8Array(this.A.U);for(let e=s[i];0!==e;e=s[++i])t.push(e);return String.fromCharCode.apply(null,t)},this.D=(i,t,s,e,H,r)=>{i.push({message:t,frameLength:s,frameNumber:e,inputBytes:H,outputSamples:r})},this.instantiate=(i,t)=>(t&&H.H(i,t),this.A=new i(H).instantiate(),this.S=new Set,this.A.ready.then((()=>this)))}class r extends((()=>globalThis.Worker||t)()){constructor(i,t,s,e){H.t||new H;let r=H.t.get(s);if(!r){let i,t="text/javascript",h=`'use strict';(${""+((i,t,s)=>{let e,H,r=new Promise((i=>{H=i}));self.onmessage=({data:{id:h,command:n,data:M}})=>{let o,c=r,a={id:h};"init"===n?(Object.defineProperties(i,{R:{value:t},$:{value:s},module:{value:M.module},L:{value:!0}}),e=new i(M.options),H()):"free"===n?e.free():"ready"===n?c=c.then((()=>e.ready)):"reset"===n?c=c.then((()=>e.reset())):(Object.assign(a,e[n](Array.isArray(M)?M.map((i=>new Uint8Array(i))):new Uint8Array(M))),o=a.channelData?a.channelData.map((i=>i.buffer)):[]),c.then((()=>self.postMessage(a,o)))}})})(${s}, ${H}, ${e})`;try{i=void 0!==process.versions.node}catch{}r=i?`data:${t};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:t})),H.t.set(s,r)}super(r,{name:t}),this.G=Number.MIN_SAFE_INTEGER,this.N=new Map,this.onmessage=({data:i})=>{const{id:t,...s}=i;this.N.get(t)(s),this.N.delete(t)},new e(H).M().then((t=>{this.q("init",{module:t,options:i})}))}async q(i,t){return new Promise((s=>{this.postMessage({command:i,id:this.G,data:t}),this.N.set(this.G++,s)}))}get ready(){return this.q("ready")}async free(){await this.q("free").finally((()=>{this.terminate()}))}async reset(){await this.q("reset")}}const h=(i,t)=>{Object.defineProperty(i,"name",{value:t})};function n(i){function t(){}for(var s,e,H={},r=Math.cos,h=new Uint8Array(123),M=25;M>=0;--M)h[48+M]=52+M,h[65+M]=M,h[97+M]=26+M;h[43]=62,h[47]=63;var o,c,a,I,d,u,J={d:()=>(()=>{throw""})(),c(){},e(i,t){if(H[i]&&(clearTimeout(H[i].id),delete H[i]),!t)return 0;var s=setTimeout((()=>{delete H[i],u(i,performance.now())}),t);return H[i]={id:s,C:t},0},a:r,f:i=>(s.length,!1),b(i){throw`exit(${i})`}};n.I||Object.defineProperty(n,"I",{get:()=>String.raw`dynEncode0158c8b8d85e¼æ=M]lGu³õPo]ÐãÞ·£3² ÁÚ= Êöc/ÓZ8s³íÛ³uÐ¥t"+¦¦~dòR\(nº}÷£¢¢ë¢k}t¡) ,äÕüP
|
||
*øüäÖeùiÝWͦÖPM¨[æu>Ü(«l'Ë$c¿9ZEúº¼ù¼=}äÍÂý²\åôÒ
'.õtÅXî=}~õ"uÊrÁýóòÝ ÔúéÊ
|
||
/Îÿ4ñ3sl¬8mæÑå68à8uNÑçmhÔ¶©hwÒ½¸t¡î¾¾|®½®ê²
|
||
#Hzò44Bv½!;1Û÷Ô±xü½#Ó7(
0#,È$Ï#$$GÓéËEä àoç7ãoéJÉíï7±çOHAWáì@ì>j_»·ÄBg¡& ºËáPÍþÕâ|óZ5qíê£1(£=Mj»-³;Éb¸mÍIÙãË[@ºk¶äáV9t#wäÔy£óþN÷¸åKS W£)ýÌQ<¼°ì=}=}ÊÌ@㼤j@V¸0Wïú!÷ý£¾±²BMïðô=MãÕ2Úÿ¤ÜïV&¸áÇòßBÕØ&eÞj«@ߥ¬/Ï©Ì).ø~|V}o:¶çBj '¯ÅIÝBVU0¦~VBq´µOF#ÑÈVï ó>±w
5ooø«òÏ©2ú*Yó×&Øscò,óWû® =M«À3ÃUK£AhV!.ßÖª33pêPÃ¥¢;×òZ¹N´*Rwç²Ã= +2pæOôïÈ5 È5p£µ~ØÎE2¿×zÝê
LÂP7]O(&³BTJn6ì¬vøzýOb_¯ëSº [Þá4'þI&xa^ík¨a¨(bñý"w®×µØg),LèÏþ¬1×ü= àúN(5F:kTçZòË"êþÄUÏa%/Áïâ×*Ï3}~èKKnw][sÆ\3²( ¥o)1|()¥Õå¾!?= Ó¹O4xÙ¨ÌÕÆh£§×w¬¢¾9B{ÍØJÙ÷Âwf«E¢ÒpBÒ |