diff --git a/demo/flac-decoder.js b/demo/flac-decoder.js index 52453c4..7377132 100644 --- a/demo/flac-decoder.js +++ b/demo/flac-decoder.js @@ -3171,6 +3171,7 @@ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3184,23 +3185,26 @@ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames] = oggPageSegments.map((segment) => { + oggPage[codecFrames] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data$1]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3209,18 +3213,20 @@ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3360,17 +3366,15 @@ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3389,13 +3393,11 @@ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3406,6 +3408,8 @@ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } @@ -3426,8 +3430,11 @@ this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -3435,7 +3442,6 @@ const headerData = headerStore.get(oggPageStore[header]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data$1][subarray](offset, (offset += segmentLength)) ); @@ -3461,14 +3467,55 @@ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; } } } + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); + } + + if (oggPage[isLastPage]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); + } + } + /* Copyright 2020-2023 Ethan Halsall This file is part of codec-parser. diff --git a/demo/flac-decoder.min.js b/demo/flac-decoder.min.js index 723c35a..e9ae4fd 100644 --- a/demo/flac-decoder.min.js +++ b/demo/flac-decoder.min.js @@ -1,5 +1,5 @@ /* Copyright 2021-2022 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */ -var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},o:{value(t,s){e.t.set(t,Promise.resolve(s))}},u:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.U(s)):(s=t.p,i=e.M(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},T:{value(t,e){let i=new s(e),r=0,n=0;for(;r({A:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},O:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},U:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.C[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},M:{value(s){return s=e.U(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.u(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"p",{enumerable:!0,get:()=>this.F}),this.S=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.F.B(s.BYTES_PER_ELEMENT*t);return e&&this._.add(i),{J:i,I:t,L:new s(this.F.P,i,t)}},this.free=()=>{this._.forEach((t=>{this.F.free(t)})),this._.clear()},this.Y=t=>{const s=[],e=new Uint8Array(this.F.P);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.N=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.o(t,s),this.F=new t(e).instantiate(),this._=new Set,this.F.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},G:{value:e},D:{value:a.D},K:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.R=Number.MIN_SAFE_INTEGER,this.V=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.V.get(s)(e),this.V.delete(s)},new r(e).u().then((s=>{this.q("init",{D:s,options:t})}))}async q(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.R,data:s}),this.V.set(this.R++,e)}))}get ready(){return this.q("ready")}async free(){await this.q("free").finally((()=>{this.terminate()}))}async reset(){await this.q("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,y=24e3,m=22050,g=16e3,M=8e3,w="absoluteGranulePosition",b="bandwidth",T="bitDepth",$="bitrate",x=$+"Maximum",A=$+"Minimum",O=$+"Nominal",C="buffer",F=C+"Fullness",S="codec",v=S+"Frames",B="coupledStreamCount",_="crc",J=_+"16",k=_+"32",I="data",L="description",E="duration",P="emphasis",Y="hasOpusPadding",j="header",N="isContinuedPacket",W="isCopyrighted",G="isFirstPage",D="isHome",K="isLastPage",R="isOriginal",V="isPrivate",q="isVbr",z="layer",H="length",Q="mode",Z=Q+"Extension",X="mpeg",tt=X+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),yt=Ut+"Size",mt=Ut+"size0",gt=Ut+"size1",Mt=n(),wt="channel",bt=wt+"MappingFamily",Tt=wt+"MappingTable",$t=wt+"Mode",xt=n(),At=wt+"s",Ot="copyright",Ct=Ot+"Id",Ft=Ot+"IdStart",St="frame",vt=St+"Count",Bt=St+"Length",_t="Number",Jt=St+_t,kt=St+"Padding",It=St+"Size",Lt="Rate",Et="inputSample"+Lt,Pt="page",Yt=Pt+"Checksum",jt=n(),Nt=Pt+"SegmentTable",Wt=Pt+"Sequence"+_t,Gt="sample",Dt=Gt+_t,Kt=Gt+Lt,Rt=n(),Vt=Gt+"s",qt="stream",zt=qt+"Count",Ht=qt+"Info",Qt=qt+"Serial"+_t,Zt=qt+"StructureVersion",Xt="total",ts=Xt+"BytesOut",ss=Xt+"Duration",es=Xt+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),ys=n(),ms=n(),gs=n(),Ms=n(),ws=n(),bs=Uint8Array,Ts=DataView,$s="reserved",xs="bad",As="free",Os="none",Cs="16bit CRC",Fs=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Ss=Fs(new bs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),vs=[Fs(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],Bs=[Fs(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let ui=0;ui<15;ui++){vs.push(new Uint16Array(256)),Bs.push(new Uint32Array(256));for(let t=0;t<=255;t++)vs[ui+1][t]=vs[0][vs[ui][t]>>>8]^vs[ui][t]<<8,Bs[ui+1][t]=Bs[ui][t]>>>8^Bs[0][255&Bs[ui][t]]}const _s=t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i=Bs[15][255&(t[r++]^i)]^Bs[14][255&(t[r++]^i>>>8)]^Bs[13][255&(t[r++]^i>>>16)]^Bs[12][t[r++]^i>>>24]^Bs[11][t[r++]]^Bs[10][t[r++]]^Bs[9][t[r++]]^Bs[8][t[r++]]^Bs[7][t[r++]]^Bs[6][t[r++]]^Bs[5][t[r++]]^Bs[4][t[r++]]^Bs[3][t[r++]]^Bs[2][t[r++]]^Bs[1][t[r++]]^Bs[0][t[r++]];for(;r!==s;)i=Bs[0][255&(i^t[r++])]^i>>>8;return-1^i},Js=(...t)=>{const s=new bs(t.reduce(((t,s)=>t+s[H]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[H])),0),s},ks=t=>String.fromCharCode(...t),Is=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ls=t=>Is[15&t]<<4|Is[t>>4];class Es{constructor(t){this.H=t,this.Z=8*t[H]}set position(t){this.Z=t}get position(){return this.Z}read(t){const s=Math.floor(this.Z/8),e=this.Z%8;return this.Z-=t,(Ls(this.H[s-1])<<8)+Ls(this.H[s])>>7-e&255}}class Ps{constructor(t,s){this.X=t,this.tt=s,this[ms]()}[gs](){this.st=!0}[ms](){this.et=new Map,this.it=new WeakMap,this.rt=!1,this.nt=!1,this.ht=null,this.st=!1}[ys](t,s){if(this.tt){this.ht!==t&&(this.ht=t,this.nt=!0);const e=this.it.get(this.et.get(this.at));this.nt&&e&&this.tt({lt:t,...e},s),this.nt=!1}}[us](t){const s=this.et.get(t);return s&&this.ut(t),s}[ds](t,s,e){this.st&&(this.rt||(this.X({...s}),this.rt=!0),this.ut(t),this.et.set(t,s),this.it.set(s,e))}ut(t){this.tt&&t!==this.at&&(this.nt=!0,this.at=t)}}const Ys=new WeakMap,js=new WeakMap;class Ns{constructor(t,s){this.Ut=t,this.et=s}*[ls](){let t;for(;;){if(t=yield*this.yt[Us](this.Ut,this.et,0),t)return t;this.Ut[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=js.get(s)[H];if(t||this.Ut.Mt||(yield*this.wt[us](this.Ut,this.et,e)))return this.et[gs](),this.Ut[rs](e),this.Ut[hs](s),s;this.Ut[os](`Missing ${St} at ${e} bytes from current position.`,`Dropping current ${St} and trying again.`),this.et[ms](),this.Ut[rs](1)}}class Ws{constructor(t,s){js.set(this,{[j]:t}),this[I]=s}}class Gs extends Ws{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Ys.get(n)[Bt],i=Ys.get(n)[Vt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[j]=t,this[Vt]=e,this[E]=e/t[Kt]*1e3,this[Jt]=null,this[ts]=null,this[es]=null,this[ss]=null,js.get(this)[H]=s[H]}}const Ds="unsynchronizationFlag",Ks="extendedHeaderFlag",Rs="experimentalFlag",Vs="footerPresent";class qs{static*Tt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[Ds]=!!(128&r[5]),i[Ks]=!!(64&r[5]),i[Rs]=!!(32&r[5]),i[Vs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[H]=10+n,new qs(i)}constructor(t){this[lt]=t[lt],this[Ds]=t[Ds],this[Ks]=t[Ks],this[Rs]=t[Rs],this[Vs]=t[Vs],this[H]=t[H]}}class zs{constructor(t){Ys.set(this,t),this[T]=t[T],this[$]=null,this[At]=t[At],this[$t]=t[$t],this[Kt]=t[Kt]}}const Hs={0:[As,As,As,As,As],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Qs=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let ui=2;ui<15;ui++)Hs[ui<<4]=[32*ui,Qs(ui,4,0),Qs(ui,4,-1),Qs(ui,8,4),Qs(ui,8,0)];const Zs="bands ",Xs=" to 31",te={0:Zs+4+Xs,16:Zs+8+Xs,32:Zs+12+Xs,48:Zs+16+Xs},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[L]:$s},2:{[L]:"Layer III",[kt]:1,[Z]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Vt]:1152},[ee]:{[se]:4,[Vt]:576}},4:{[L]:"Layer II",[kt]:1,[Z]:te,[Vt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[L]:"Layer I",[kt]:4,[Z]:te,[Vt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[L]:le+"2.5 (later extension of MPEG 2)",[z]:ee,[Kt]:{0:11025,4:12e3,8:M,12:$s}},8:{[L]:$s},16:{[L]:`${le}2 (${ce}13818-3)`,[z]:ee,[Kt]:{0:m,4:y,8:g,12:$s}},24:{[L]:`${le}1 (${ce}11172-3)`,[z]:ie,[Kt]:{0:f,4:U,8:p,12:$s}},length:H},de={0:Cs,1:Os},Ue={0:Os,1:"50/15 ms",2:$s,3:"CCIT J.17"},fe={0:{[At]:2,[L]:l},64:{[At]:2,[L]:"joint "+l},128:{[At]:2,[L]:"dual channel"},192:{[At]:1,[L]:a}};class pe extends zs{static*[us](t,s,e){const i={},r=yield*qs.Tt(t,s,e);r&&(yield*t[is](r[H],e),t[rs](r[H]));const n=yield*t[is](4,e),h=ks(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[L]===$s)return null;const l=6&n[1];if(ae[l][L]===$s)return null;const c={...ae[l],...ae[l][a[z]]};if(i[tt]=a[L],i[z]=c[L],i[Vt]=c[Vt],i[ht]=de[1&n[1]],i[H]=4,i[$]=Hs[240&n[2]][c[se]],i[$]===xs)return null;if(i[Kt]=a[Kt][12&n[2]],i[Kt]===$s)return null;if(i[kt]=2&n[2]&&c[kt],i[V]=!!(1&n[2]),i[Bt]=Math.floor(125*i[$]*i[Vt]/i[Kt]+i[kt]),!i[Bt])return null;const u=192&n[3];if(i[$t]=fe[u][L],i[At]=fe[u][At],i[Z]=c[Z][48&n[3]],i[W]=!!(8&n[3]),i[R]=!!(4&n[3]),i[P]=Ue[3&n[3]],i[P]===$s)return null;i[T]=16;{const{length:t,frameLength:e,$t:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[$]=t[$],this[P]=t[P],this[kt]=t[kt],this[W]=t[W],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[Z]=t[Z],this[tt]=t[tt],this[ht]=t[ht]}}class ye extends Gs{static*[Us](t,s,e){return yield*super[Us](pe,ye,t,s,e)}constructor(t,s,e){super(t,s,e)}}class me extends Ns{constructor(t,s,e){super(t,s),this.yt=ye,this.wt=pe,e(this[S])}get[S](){return X}*[fs](){return yield*this[cs]()}}const ge={0:"MPEG-4",8:"MPEG-2"},Me={0:"valid",2:xs,4:xs,6:xs},we={0:Cs,1:Os},be={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},Te={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:y,28:m,32:g,36:12e3,40:11025,44:M,48:7350,52:$s,56:$s,60:"frequency is written explicitly"},$e={0:{[At]:0,[L]:"Defined in AOT Specific Config"},64:{[At]:1,[L]:a},128:{[At]:2,[L]:u(2,h[0][0])},192:{[At]:3,[L]:u(3,h[1][3])},256:{[At]:4,[L]:u(4,h[1][3],h[3][4])},320:{[At]:5,[L]:u(5,h[1][3],h[3][0])},384:{[At]:6,[L]:u(6,h[1][3],h[3][0],o)},448:{[At]:8,[L]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=ks([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=ge[8&r[1]],i[z]=Me[6&r[1]],i[z]===xs)return null;const t=1&r[1];i[ht]=we[t],i[H]=t?7:9,i[nt]=192&r[2],i[Rt]=60&r[2];const e=2&r[2];if(i[rt]=be[i[nt]],i[Kt]=Te[i[Rt]],i[Kt]===$s)return null;i[V]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[$t]=$e[i[xt]][L],i[At]=$e[i[xt]][At],i[R]=!!(32&r[3]),i[D]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Ft]=!!(4&r[3]),i[T]=16,i[Vt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,Ct:r,Ft:h,frameLength:o,$t:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[Bt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[Bt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[F]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Ft]=t[Ft],this[F]=t[F],this[D]=t[D],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[H]=t[H],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get vt(){const t=Ys.get(this),s=t[nt]+64<<5|t[Rt]<<5|t[xt]>>3,e=new bs(2);return new Ts(e[C]).setUint16(0,s,!1),e}}class Ae extends Gs{static*[Us](t,s,e){return yield*super[Us](xe,Ae,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Oe extends Ns{constructor(t,s,e){super(t,s),this.yt=Ae,this.wt=xe,e(this[S])}get[S](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Gs{static Bt(t){return(t[t[H]-2]<<8)+t[t[H]-1]}static[ws](t){const s=Ce.Bt(t),e=(t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=vs[15][i>>8]^vs[14][255&i]^vs[13][t[r++]]^vs[12][t[r++]]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=(255&i)<<8^vs[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ht]=e,s[J]=Ce.Bt(t),super(s,t,Ys.get(s)[Vt])}}const Fe="get from STREAMINFO metadata block",Se={0:"Fixed",1:"Variable"},ve={0:$s,16:192};for(let ui=2;ui<16;ui++)ve[ui<<4]=ui<6?576*2**(ui-2):2**ui;const Be={0:Fe,1:88200,2:176400,3:192e3,4:M,5:g,6:m,7:y,8:p,9:f,10:U,11:96e3,15:xs},_e={0:{[At]:1,[L]:a},16:{[At]:2,[L]:u(2,h[0][0])},32:{[At]:3,[L]:u(3,h[0][1])},48:{[At]:4,[L]:u(4,h[1][0],h[3][0])},64:{[At]:5,[L]:u(5,h[1][1],h[3][0])},80:{[At]:6,[L]:u(6,h[1][1],o,h[3][0])},96:{[At]:7,[L]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[At]:8,[L]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[At]:2,[L]:l+" (left, diff)"},144:{[At]:2,[L]:l+" (diff, right)"},160:{[At]:2,[L]:l+" (avg, diff)"},176:$s,192:$s,208:$s,224:$s,240:$s},Je={0:Fe,2:8,4:12,6:$s,8:16,10:20,12:24,14:$s};class ke extends zs{static Jt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[H];for(let i=0;i!==e;i++)s=Ss[s^t[i]];return s})(i[at](0,r[H]-1)))return null;if(!h){const{Lt:t,frameNumber:e,Et:i,$t:h,Ft:o,Pt:a,Yt:l,length:c,...u}=r;s[ds](n,r,u)}return new ke(r)}constructor(t){super(t),this[J]=null,this[ft]=t[ft],this[yt]=t[yt],this[Jt]=t[Jt],this[Dt]=t[Dt],this[Ht]=null}}class Ie extends Ns{constructor(t,s,e){super(t,s),this.yt=Ce,this.wt=ke,e(this[S])}get[S](){return"flac"}*jt(t){const s=yield*this.Ut[is](2,0),e=s[H]-2;for(;t{const s=ke[Ms](t,this.et);if(s)return new Ce(t,s,this.Wt);this.Ut[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Le{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[Zt]=r[4],248&r[5])return null;i[K]=!!(4&r[5]),i[G]=!!(2&r[5]),i[N]=!!(1&r[5]);const n=new Ts(bs.from(r[at](0,28))[C]);try{i[w]=n.getBigInt64(6,!0)}catch{}i[Qt]=n.getInt32(14,!0),i[Wt]=n.getInt32(18,!0),i[Yt]=n.getInt32(22,!0);const h=r[26];i[H]=h+27,r=yield*t[is](i[H],e),i[Bt]=0,i[Nt]=[],i[jt]=bs.from(r[at](27,i[H]));for(let o=0,a=0;o{const s=ze[Ms](this.Kt,t,this.et);if(s)return new Pe(t,s);this.Ut[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Qe extends Gs{constructor(t,s,e){super(s,t,e)}}const Ze={};for(let ui=0;ui<8;ui++)Ze[ui+6]=2**(6+ui);class Xe extends zs{static[Ms](t,s,e,i){if(t[H]<30)throw Error("Out of data while inside an Ogg Page");const r=ks(t[at](0,30)),n=s[us](r);if(n)return new Xe(n);const h={[H]:30};if("vorbis"!==r.substr(0,7))return null;h[I]=bs.from(t[at](0,30));const o=new Ts(h[I][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[At]=t[11],h[$t]=d[h[At]-1]||"application defined",h[Kt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[O]=o.getInt32(20,!0),h[A]=o.getInt32(24,!0),h[gt]=Ze[(240&t[28])>>4],h[mt]=Ze[15&t[28]],h[mt]>h[gt])return null;if(1!==t[29])return null;h[T]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Rt:n,Vt:o,...a}=h;s[ds](r,h,a)}return new Xe(h)}constructor(t){super(t),this[x]=t[x],this[A]=t[A],this[O]=t[O],this[mt]=t[mt],this[gt]=t[gt],this[I]=t[I],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Ns{constructor(t,s,e){super(t,s),this.yt=Qe,e(this[S]),this.Kt=null,this.qt={count:0},this.zt=0,this.Ht=0}get[S](){return ct}[ps](t){const s=js.get(t)[ot];return 0===t[Wt]?(this.et[gs](),this.Kt=t[I]):1===t[Wt]?s[1]&&(this.Qt=s[0],this.Zt=s[1],this.qt=this.Xt(s[1])):t[v]=s.map((t=>{const s=Xe[Ms](this.Kt,this.et,this.Qt,this.Zt);if(s)return new Qe(t,s,this.ts(t,s));this.Ut[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")})),t}ts(t,s){const e=t[0]>>1,i=this.qt[e&this.qt.mask];i&&(this.zt=e&this.qt.ss?s[gt]:s[mt]),this.Ht=i?s[gt]:s[mt];const r=this.zt+this.Ht>>2;return this.zt=this.Ht,r}Xt(t){const s=new Es(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ls(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.Ut[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ls(r))>>1)!==n.count)throw this.Ut[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Wt]>1&&this.Ut[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.hs+1}, Got: ${t[Wt]}`),this.hs=t[Wt]}*[fs](){const t=yield*this[cs](!0);this.us(t);const s=js.get(t),e=Ys.get(s[j]);let i=0;if(s[ot]=e[Nt].map((s=>t[I][at](i,i+=s))),this.ns[H]&&(s[ot][0]=Js(this.ns,s[ot][0]),this.ns=new bs),255===e[jt][e[jt][H]-1]&&(this.ns=Js(this.ns,s[ot].pop())),this.rs||this.cs(t)){const s=this.ls[ps](t);return this.Ut[hs](s),s}}}const ei=()=>{};class ii{constructor(t,{ds:s,Us:e,fs:i,ps:r=!1,ys:n=!0}={}){this.gs=t,this.es=s||ei,this.X=e||ei,this.tt=i,this.Ms=r,this.ws=n?_s:ei,this.bs=this.Ts(),this.bs.next()}get[S](){return this.ls[S]}*flush(){this.Mt=!0;for(let t=this.bs.next();t.value;t=this.bs.next())yield t.value;this.Mt=!1,this.bs=this.Ts(),this.bs.next()}*$s(t){for(let s=this.bs.next(t);s.value;s=this.bs.next())yield s.value}parseAll(t){return[...this.$s(t),...this.flush()]}*Ts(){if(this.et=new Ps(this.X,this.tt),this.gs.match(/aac/))this.ls=new Oe(this,this.et,this.es);else if(this.gs.match(/mpeg/))this.ls=new me(this,this.et,this.es);else if(this.gs.match(/flac/))this.ls=new Ie(this,this.et,this.es);else{if(!this.gs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.ls=new si(this,this.et,this.es)}for(this.xs=0,this.As=0,this.Os=0,this.Cs=0,this.Fs=0,this.Ss=void 0,this.vs=new Uint8Array(0);;){const t=yield*this.ls[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.vs[H]<=t+s;){if(e=yield,this.Mt)return this.vs[at](s);e&&(this.Os+=e[H],this.vs=Js(this.vs,e))}return this.vs[at](s)}[rs](t){this.As+=t,this.vs=this.vs[at](t)}[ns](t){this.Ss=t[j][Kt],t[j][$]=8*Math.round(t[I][H]/t[E]),t[Jt]=this.xs++,t[ts]=this.Cs,t[es]=this.Fs,t[ss]=this.Fs/this.Ss*1e3,t[k]=this.ws(t[I]),this.et[ys](t[j][$],t[ss]),this.Cs+=t[I][H],this.Fs+=t[Vt]}[hs](t){t[v]?(t[v].forEach((s=>{t[E]+=s[E],t[Vt]+=s[Vt],this[ns](s)})),t[es]=this.Fs,t[ss]=this.Fs/this.Ss*1e3||0,t[ts]=this.Cs):this[ns](t)}ks(t,s){if(this.Ms){const e=[`${S}: ${this[S]}`,"inputMimeType: "+this.gs,"readPosition: "+this.As,"totalBytesIn: "+this.Os,`${ts}: ${this.Cs}`],i=Math.max(...e.map((t=>t[H])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.ks(console.warn,t)}[as](...t){this.ks(console.error,t)}}const ri=I;function ni(t){function s(t){console.log(t)}function e(t){console.error(t)}function i(){}for(var r=new Uint8Array(123),n=25;n>=0;--n)r[48+n]=52+n,r[65+n]=n,r[97+n]=26+n;r[43]=62,r[47]=63,ni.p||Object.defineProperty(ni,"p",{get:()=>String.raw`dynEncode01d9fc6c0c93…/qõ¤æo-®‰Çr‘˜_¾.¥ò•>?—= ‚´Z^¨E¨_lLK˜Ó½Lgº½ï4É +var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},o:{value(t,s){e.t.set(t,Promise.resolve(s))}},u:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.U(s)):(s=t.p,i=e.M(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},T:{value(t,e){let i=new s(e),r=0,n=0;for(;r({A:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},O:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},U:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.C[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},M:{value(s){return s=e.U(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.u(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"p",{enumerable:!0,get:()=>this.S}),this.F=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.S.B(s.BYTES_PER_ELEMENT*t);return e&&this._.add(i),{J:i,L:t,I:new s(this.S.P,i,t)}},this.free=()=>{this._.forEach((t=>{this.S.free(t)})),this._.clear()},this.Y=t=>{const s=[],e=new Uint8Array(this.S.P);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.N=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.o(t,s),this.S=new t(e).instantiate(),this._=new Set,this.S.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},G:{value:e},D:{value:a.D},K:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.R=Number.MIN_SAFE_INTEGER,this.V=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.V.get(s)(e),this.V.delete(s)},new r(e).u().then((s=>{this.q("init",{D:s,options:t})}))}async q(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.R,data:s}),this.V.set(this.R++,e)}))}get ready(){return this.q("ready")}async free(){await this.q("free").finally((()=>{this.terminate()}))}async reset(){await this.q("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,y=24e3,m=22050,g=16e3,M=8e3,w="absoluteGranulePosition",b="bandwidth",T="bitDepth",$="bitrate",x=$+"Maximum",A=$+"Minimum",O=$+"Nominal",C="buffer",S=C+"Fullness",F="codec",v=F+"Frames",B="coupledStreamCount",_="crc",J=_+"16",k=_+"32",L="data",E="description",I="duration",P="emphasis",Y="hasOpusPadding",j="header",N="isContinuedPacket",W="isCopyrighted",G="isFirstPage",D="isHome",K="isLastPage",R="isOriginal",V="isPrivate",q="isVbr",z="layer",H="length",Q="mode",Z=Q+"Extension",X="mpeg",tt=X+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),yt=Ut+"Size",mt=Ut+"size0",gt=Ut+"size1",Mt=n(),wt="channel",bt=wt+"MappingFamily",Tt=wt+"MappingTable",$t=wt+"Mode",xt=n(),At=wt+"s",Ot="copyright",Ct=Ot+"Id",St=Ot+"IdStart",Ft="frame",vt=Ft+"Count",Bt=Ft+"Length",_t="Number",Jt=Ft+_t,kt=Ft+"Padding",Lt=Ft+"Size",Et="Rate",It="inputSample"+Et,Pt="page",Yt=Pt+"Checksum",jt=n(),Nt=Pt+"SegmentTable",Wt=Pt+"Sequence"+_t,Gt="sample",Dt=Gt+_t,Kt=Gt+Et,Rt=n(),Vt=Gt+"s",qt="stream",zt=qt+"Count",Ht=qt+"Info",Qt=qt+"Serial"+_t,Zt=qt+"StructureVersion",Xt="total",ts=Xt+"BytesOut",ss=Xt+"Duration",es=Xt+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),ys=n(),ms=n(),gs=n(),Ms=n(),ws=n(),bs=Uint8Array,Ts=DataView,$s="reserved",xs="bad",As="free",Os="none",Cs="16bit CRC",Ss=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Fs=Ss(new bs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),vs=[Ss(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],Bs=[Ss(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let di=0;di<15;di++){vs.push(new Uint16Array(256)),Bs.push(new Uint32Array(256));for(let t=0;t<=255;t++)vs[di+1][t]=vs[0][vs[di][t]>>>8]^vs[di][t]<<8,Bs[di+1][t]=Bs[di][t]>>>8^Bs[0][255&Bs[di][t]]}const _s=t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i=Bs[15][255&(t[r++]^i)]^Bs[14][255&(t[r++]^i>>>8)]^Bs[13][255&(t[r++]^i>>>16)]^Bs[12][t[r++]^i>>>24]^Bs[11][t[r++]]^Bs[10][t[r++]]^Bs[9][t[r++]]^Bs[8][t[r++]]^Bs[7][t[r++]]^Bs[6][t[r++]]^Bs[5][t[r++]]^Bs[4][t[r++]]^Bs[3][t[r++]]^Bs[2][t[r++]]^Bs[1][t[r++]]^Bs[0][t[r++]];for(;r!==s;)i=Bs[0][255&(i^t[r++])]^i>>>8;return-1^i},Js=(...t)=>{const s=new bs(t.reduce(((t,s)=>t+s[H]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[H])),0),s},ks=t=>String.fromCharCode(...t),Ls=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Es=t=>Ls[15&t]<<4|Ls[t>>4];class Is{constructor(t){this.H=t,this.Z=8*t[H]}set position(t){this.Z=t}get position(){return this.Z}read(t){const s=Math.floor(this.Z/8),e=this.Z%8;return this.Z-=t,(Es(this.H[s-1])<<8)+Es(this.H[s])>>7-e&255}}class Ps{constructor(t,s){this.X=t,this.tt=s,this[ms]()}[gs](){this.st=!0}[ms](){this.et=new Map,this.it=new WeakMap,this.rt=!1,this.nt=!1,this.ht=null,this.st=!1}[ys](t,s){if(this.tt){this.ht!==t&&(this.ht=t,this.nt=!0);const e=this.it.get(this.et.get(this.at));this.nt&&e&&this.tt({lt:t,...e},s),this.nt=!1}}[us](t){const s=this.et.get(t);return s&&this.ut(t),s}[ds](t,s,e){this.st&&(this.rt||(this.X({...s}),this.rt=!0),this.ut(t),this.et.set(t,s),this.it.set(s,e))}ut(t){this.tt&&t!==this.at&&(this.nt=!0,this.at=t)}}const Ys=new WeakMap,js=new WeakMap;class Ns{constructor(t,s){this.Ut=t,this.et=s}*[ls](){let t;for(;;){if(t=yield*this.yt[Us](this.Ut,this.et,0),t)return t;this.Ut[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=js.get(s)[H];if(t||this.Ut.Mt||(yield*this.wt[us](this.Ut,this.et,e)))return this.et[gs](),this.Ut[rs](e),this.Ut[hs](s),s;this.Ut[os](`Missing ${Ft} at ${e} bytes from current position.`,`Dropping current ${Ft} and trying again.`),this.et[ms](),this.Ut[rs](1)}}class Ws{constructor(t,s){js.set(this,{[j]:t}),this[L]=s}}class Gs extends Ws{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Ys.get(n)[Bt],i=Ys.get(n)[Vt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[j]=t,this[Vt]=e,this[I]=e/t[Kt]*1e3,this[Jt]=null,this[ts]=null,this[es]=null,this[ss]=null,js.get(this)[H]=s[H]}}const Ds="unsynchronizationFlag",Ks="extendedHeaderFlag",Rs="experimentalFlag",Vs="footerPresent";class qs{static*Tt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[Ds]=!!(128&r[5]),i[Ks]=!!(64&r[5]),i[Rs]=!!(32&r[5]),i[Vs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[H]=10+n,new qs(i)}constructor(t){this[lt]=t[lt],this[Ds]=t[Ds],this[Ks]=t[Ks],this[Rs]=t[Rs],this[Vs]=t[Vs],this[H]=t[H]}}class zs{constructor(t){Ys.set(this,t),this[T]=t[T],this[$]=null,this[At]=t[At],this[$t]=t[$t],this[Kt]=t[Kt]}}const Hs={0:[As,As,As,As,As],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Qs=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let di=2;di<15;di++)Hs[di<<4]=[32*di,Qs(di,4,0),Qs(di,4,-1),Qs(di,8,4),Qs(di,8,0)];const Zs="bands ",Xs=" to 31",te={0:Zs+4+Xs,16:Zs+8+Xs,32:Zs+12+Xs,48:Zs+16+Xs},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[E]:$s},2:{[E]:"Layer III",[kt]:1,[Z]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Vt]:1152},[ee]:{[se]:4,[Vt]:576}},4:{[E]:"Layer II",[kt]:1,[Z]:te,[Vt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[E]:"Layer I",[kt]:4,[Z]:te,[Vt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[E]:le+"2.5 (later extension of MPEG 2)",[z]:ee,[Kt]:{0:11025,4:12e3,8:M,12:$s}},8:{[E]:$s},16:{[E]:`${le}2 (${ce}13818-3)`,[z]:ee,[Kt]:{0:m,4:y,8:g,12:$s}},24:{[E]:`${le}1 (${ce}11172-3)`,[z]:ie,[Kt]:{0:f,4:U,8:p,12:$s}},length:H},de={0:Cs,1:Os},Ue={0:Os,1:"50/15 ms",2:$s,3:"CCIT J.17"},fe={0:{[At]:2,[E]:l},64:{[At]:2,[E]:"joint "+l},128:{[At]:2,[E]:"dual channel"},192:{[At]:1,[E]:a}};class pe extends zs{static*[us](t,s,e){const i={},r=yield*qs.Tt(t,s,e);r&&(yield*t[is](r[H],e),t[rs](r[H]));const n=yield*t[is](4,e),h=ks(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[E]===$s)return null;const l=6&n[1];if(ae[l][E]===$s)return null;const c={...ae[l],...ae[l][a[z]]};if(i[tt]=a[E],i[z]=c[E],i[Vt]=c[Vt],i[ht]=de[1&n[1]],i[H]=4,i[$]=Hs[240&n[2]][c[se]],i[$]===xs)return null;if(i[Kt]=a[Kt][12&n[2]],i[Kt]===$s)return null;if(i[kt]=2&n[2]&&c[kt],i[V]=!!(1&n[2]),i[Bt]=Math.floor(125*i[$]*i[Vt]/i[Kt]+i[kt]),!i[Bt])return null;const u=192&n[3];if(i[$t]=fe[u][E],i[At]=fe[u][At],i[Z]=c[Z][48&n[3]],i[W]=!!(8&n[3]),i[R]=!!(4&n[3]),i[P]=Ue[3&n[3]],i[P]===$s)return null;i[T]=16;{const{length:t,frameLength:e,$t:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[$]=t[$],this[P]=t[P],this[kt]=t[kt],this[W]=t[W],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[Z]=t[Z],this[tt]=t[tt],this[ht]=t[ht]}}class ye extends Gs{static*[Us](t,s,e){return yield*super[Us](pe,ye,t,s,e)}constructor(t,s,e){super(t,s,e)}}class me extends Ns{constructor(t,s,e){super(t,s),this.yt=ye,this.wt=pe,e(this[F])}get[F](){return X}*[fs](){return yield*this[cs]()}}const ge={0:"MPEG-4",8:"MPEG-2"},Me={0:"valid",2:xs,4:xs,6:xs},we={0:Cs,1:Os},be={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},Te={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:y,28:m,32:g,36:12e3,40:11025,44:M,48:7350,52:$s,56:$s,60:"frequency is written explicitly"},$e={0:{[At]:0,[E]:"Defined in AOT Specific Config"},64:{[At]:1,[E]:a},128:{[At]:2,[E]:u(2,h[0][0])},192:{[At]:3,[E]:u(3,h[1][3])},256:{[At]:4,[E]:u(4,h[1][3],h[3][4])},320:{[At]:5,[E]:u(5,h[1][3],h[3][0])},384:{[At]:6,[E]:u(6,h[1][3],h[3][0],o)},448:{[At]:8,[E]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=ks([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=ge[8&r[1]],i[z]=Me[6&r[1]],i[z]===xs)return null;const t=1&r[1];i[ht]=we[t],i[H]=t?7:9,i[nt]=192&r[2],i[Rt]=60&r[2];const e=2&r[2];if(i[rt]=be[i[nt]],i[Kt]=Te[i[Rt]],i[Kt]===$s)return null;i[V]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[$t]=$e[i[xt]][E],i[At]=$e[i[xt]][At],i[R]=!!(32&r[3]),i[D]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[St]=!!(4&r[3]),i[T]=16,i[Vt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,Ct:r,St:h,frameLength:o,$t:a,Ft:l,...c}=i;s[ds](n,i,c)}}if(i[Bt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[Bt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[S]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[St]=t[St],this[S]=t[S],this[D]=t[D],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[H]=t[H],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get vt(){const t=Ys.get(this),s=t[nt]+64<<5|t[Rt]<<5|t[xt]>>3,e=new bs(2);return new Ts(e[C]).setUint16(0,s,!1),e}}class Ae extends Gs{static*[Us](t,s,e){return yield*super[Us](xe,Ae,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Oe extends Ns{constructor(t,s,e){super(t,s),this.yt=Ae,this.wt=xe,e(this[F])}get[F](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Gs{static Bt(t){return(t[t[H]-2]<<8)+t[t[H]-1]}static[ws](t){const s=Ce.Bt(t),e=(t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=vs[15][i>>8]^vs[14][255&i]^vs[13][t[r++]]^vs[12][t[r++]]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=(255&i)<<8^vs[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ht]=e,s[J]=Ce.Bt(t),super(s,t,Ys.get(s)[Vt])}}const Se="get from STREAMINFO metadata block",Fe={0:"Fixed",1:"Variable"},ve={0:$s,16:192};for(let di=2;di<16;di++)ve[di<<4]=di<6?576*2**(di-2):2**di;const Be={0:Se,1:88200,2:176400,3:192e3,4:M,5:g,6:m,7:y,8:p,9:f,10:U,11:96e3,15:xs},_e={0:{[At]:1,[E]:a},16:{[At]:2,[E]:u(2,h[0][0])},32:{[At]:3,[E]:u(3,h[0][1])},48:{[At]:4,[E]:u(4,h[1][0],h[3][0])},64:{[At]:5,[E]:u(5,h[1][1],h[3][0])},80:{[At]:6,[E]:u(6,h[1][1],o,h[3][0])},96:{[At]:7,[E]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[At]:8,[E]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[At]:2,[E]:l+" (left, diff)"},144:{[At]:2,[E]:l+" (diff, right)"},160:{[At]:2,[E]:l+" (avg, diff)"},176:$s,192:$s,208:$s,224:$s,240:$s},Je={0:Se,2:8,4:12,6:$s,8:16,10:20,12:24,14:$s};class ke extends zs{static Jt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[H];for(let i=0;i!==e;i++)s=Fs[s^t[i]];return s})(i[at](0,r[H]-1)))return null;if(!h){const{Et:t,frameNumber:e,It:i,$t:h,St:o,Pt:a,Yt:l,length:c,...u}=r;s[ds](n,r,u)}return new ke(r)}constructor(t){super(t),this[J]=null,this[ft]=t[ft],this[yt]=t[yt],this[Jt]=t[Jt],this[Dt]=t[Dt],this[Ht]=null}}class Le extends Ns{constructor(t,s,e){super(t,s),this.yt=Ce,this.wt=ke,e(this[F])}get[F](){return"flac"}*jt(t){const s=yield*this.Ut[is](2,0),e=s[H]-2;for(;t{const s=ke[Ms](t,this.et);if(s)return new Ce(t,s,this.Wt);this.Ut[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ee{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[Zt]=r[4],248&r[5])return null;i[K]=!!(4&r[5]),i[G]=!!(2&r[5]),i[N]=!!(1&r[5]);const n=new Ts(bs.from(r[at](0,28))[C]);try{i[w]=n.getBigInt64(6,!0)}catch{}i[Qt]=n.getInt32(14,!0),i[Wt]=n.getInt32(18,!0),i[Yt]=n.getInt32(22,!0);const h=r[26];i[H]=h+27,r=yield*t[is](i[H],e),i[Bt]=0,i[Nt]=[],i[jt]=bs.from(r[at](27,i[H]));for(let o=0,a=0;o{const s=ze[Ms](this.Kt,t,this.et);if(s)return new Pe(t,s);this.Ut[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Qe extends Gs{constructor(t,s,e){super(s,t,e)}}const Ze={};for(let di=0;di<8;di++)Ze[di+6]=2**(6+di);class Xe extends zs{static[Ms](t,s,e,i){if(t[H]<30)throw Error("Out of data while inside an Ogg Page");const r=ks(t[at](0,30)),n=s[us](r);if(n)return new Xe(n);const h={[H]:30};if("vorbis"!==r.substr(0,7))return null;h[L]=bs.from(t[at](0,30));const o=new Ts(h[L][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[At]=t[11],h[$t]=d[h[At]-1]||"application defined",h[Kt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[O]=o.getInt32(20,!0),h[A]=o.getInt32(24,!0),h[gt]=Ze[(240&t[28])>>4],h[mt]=Ze[15&t[28]],h[mt]>h[gt])return null;if(1!==t[29])return null;h[T]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Rt:n,Vt:o,...a}=h;s[ds](r,h,a)}return new Xe(h)}constructor(t){super(t),this[x]=t[x],this[A]=t[A],this[O]=t[O],this[mt]=t[mt],this[gt]=t[gt],this[L]=t[L],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Ns{constructor(t,s,e){super(t,s),this.yt=Qe,e(this[F]),this.Kt=null,this.qt=!1,this.zt={count:0},this.Ht=0,this.Qt=0}get[F](){return ct}[ps](t){t[v]=[];for(const s of js.get(t)[ot])if(1===s[0])this.et[gs](),this.Kt=t[L],this.qt=!1;else if(3===s[0])this.Zt=s;else if(5===s[0])this.Xt=s,this.zt=this.ts(s),this.qt=!0;else if(this.qt){const e=Xe[Ms](this.Kt,this.et,this.Zt,this.Xt);e?t[v].push(new Qe(s,e,this.ss(s,e))):this.Ut[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")}return t}ss(t,s){const e=t[0]>>1,i=this.zt[e&this.zt.mask];i&&(this.Ht=e&this.zt.es?s[gt]:s[mt]),this.Qt=i?s[gt]:s[mt];const r=this.Ht+this.Qt>>2;return this.Ht=this.Qt,r}ts(t){const s=new Is(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Es(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.Ut[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Es(r))>>1)!==n.count)throw this.Ut[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Wt]>1&&this.Ut[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.Us+1}, Got: ${t[Wt]}`),this.Us=t[Wt]}fs(t){null===this.os&&(this.Us=t[Wt],this.os=this.us(t)),this.ds(t);const s=js.get(t),e=Ys.get(s[j]);let i=0;if(s[ot]=e[Nt].map((s=>t[L][at](i,i+=s))),this.ns[H]&&(s[ot][0]=Js(this.ns,s[ot][0]),this.ns=new bs),255===e[jt][e[jt][H]-1]&&(this.ns=Js(this.ns,s[ot].pop())),this.os){const s=this.cs[ps](t);return this.Ut[hs](s),s}return t}}class ei extends Ns{constructor(t,s,e){super(t,s),this.rs=e,this.yt=Ie,this.wt=Ee,this.ps=new Map,this.ys=null}get[F](){const t=this.ps.get(this.ys);return t?t.xt:""}*[fs](){const t=yield*this[cs](!0);this.ys=t[Qt];let s=this.ps.get(this.ys);return s||(s=new si(this.Ut,this.et,this.rs),this.ps.set(this.ys,s)),t[K]&&this.ps.delete(this.ys),s.fs(t)}}const ii=()=>{};class ri{constructor(t,{gs:s,Ms:e,ws:i,bs:r=!1,Ts:n=!0}={}){this.$s=t,this.rs=s||ii,this.X=e||ii,this.tt=i,this.xs=r,this.As=n?_s:ii,this.Os=this.Cs(),this.Os.next()}get[F](){return this.cs[F]}*flush(){this.Mt=!0;for(let t=this.Os.next();t.value;t=this.Os.next())yield t.value;this.Mt=!1,this.Os=this.Cs(),this.Os.next()}*Ss(t){for(let s=this.Os.next(t);s.value;s=this.Os.next())yield s.value}parseAll(t){return[...this.Ss(t),...this.flush()]}*Cs(){if(this.et=new Ps(this.X,this.tt),this.$s.match(/aac/))this.cs=new Oe(this,this.et,this.rs);else if(this.$s.match(/mpeg/))this.cs=new me(this,this.et,this.rs);else if(this.$s.match(/flac/))this.cs=new Le(this,this.et,this.rs);else{if(!this.$s.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.cs=new ei(this,this.et,this.rs)}for(this.Fs=0,this.vs=0,this.Bs=0,this._s=0,this.Js=0,this.ks=void 0,this.Ls=new Uint8Array(0);;){const t=yield*this.cs[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.Ls[H]<=t+s;){if(e=yield,this.Mt)return this.Ls[at](s);e&&(this.Bs+=e[H],this.Ls=Js(this.Ls,e))}return this.Ls[at](s)}[rs](t){this.vs+=t,this.Ls=this.Ls[at](t)}[ns](t){this.ks=t[j][Kt],t[j][$]=8*Math.round(t[L][H]/t[I]),t[Jt]=this.Fs++,t[ts]=this._s,t[es]=this.Js,t[ss]=this.Js/this.ks*1e3,t[k]=this.As(t[L]),this.et[ys](t[j][$],t[ss]),this._s+=t[L][H],this.Js+=t[Vt]}[hs](t){t[v]?(t[v].forEach((s=>{t[I]+=s[I],t[Vt]+=s[Vt],this[ns](s)})),t[es]=this.Js,t[ss]=this.Js/this.ks*1e3||0,t[ts]=this._s):this[ns](t)}Ys(t,s){if(this.xs){const e=[`${F}: ${this[F]}`,"inputMimeType: "+this.$s,"readPosition: "+this.vs,"totalBytesIn: "+this.Bs,`${ts}: ${this._s}`],i=Math.max(...e.map((t=>t[H])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Ys(console.warn,t)}[as](...t){this.Ys(console.error,t)}}const ni=L;function hi(t){function s(t){console.log(t)}function e(t){console.error(t)}function i(){}for(var r=new Uint8Array(123),n=25;n>=0;--n)r[48+n]=52+n,r[65+n]=n,r[97+n]=26+n;r[43]=62,r[47]=63,hi.p||Object.defineProperty(hi,"p",{get:()=>String.raw`dynEncode01d9fc6c0c93…/qõ¤æo-®‰Çr‘˜_¾.¥ò•>?—= ‚´Z^¨E¨_lLK˜Ó½Lgº½ï4É xø#~ÊQʊz~+âWÖÞ,ɲ^ˆúÙ¹@¸Ëò°ÈÐúWŠØò­hð6þr§·Ç¼FîC"Óàr$¼Aé€_µåªÝ âWïä'—xÜkÈÀ¼ÐäYËÖû½GÐ%¡ÜS»¢üj(µÛÚýÀyla%”šH;w»ë*û1œ¬XÑî2n¼pÒ¤ÉOÕã}Ñ.qšßO9äÊëÅBN}d鉡„sÐÅW´x”—ÀªÐBoÂix>å©üÁ9úßQôÆ­ÞnH„6Áøïv±véáÖ÷–™¿[Zö,üâJ ˆìî>Æ´iƒ³âGŠ*>$Æ3 6=}Pzaò ý€ÌŒz¨ÇKieZh&- ä­Ôdfn@㥇†vßy§žËCñCq™@aŽqs÷F‘;¹ò@Ûa¦õ£Y») B­þc=M]r, @@ -81,5 +81,5 @@ z”­-w9lþkbö>së®QSU,â~ANÃuã^™X1]ܯA‡p%9µ±àÂÄï±ÍãõÄԊ ºød‰yáOÝø h-hÁ= ³O¦¸_TY0º0QhÎÞÐ+ÏkU:UgL\xTR}芕©XBoôïBO{›AƊ1¢-80笨PùIiø£Þ!ƒ¥ßÄçôgºaEO ¥Lcö§fãvïî[Ká+ïù~ã’tDq\8þ5=} ë&T?‰p‘dz‚™FÂÒûÑgd·Gr«̢ĭæ°Û_ʂ܂• ÍúÑÍtËü½@v·‰ëØ^Ѫϗ¼ÜÓ¨;o¾Uzþ{¨™Xy˜nxûXÂòeÑxø(õø¬˜T¯‹Úgä†ÚS}½´º0s%Íþϛ=}Eüx,¨54riüi§ÌÙéæÏ\ӛ =}ýádž:;tsq¢ÅAZ8 ñ¡æ­ïSl¢L´Ñ~Yç5ç†_ðûBó4Y¸úGk÷ÃVhB?4’ÔUèÉÛ娹 !ô³ZŸ$ZK‰ñ{¹}󆠵Ñâ»ýRmûÂE?TiŒËÒ2€Khî½/3óOøC´´2ïJ¿5Uk$VJʎp¬8 ]<“»xÿÖz¿ï؎¿ÈÍø‹•’fÞ¸/×­™Ø«ÏDÀÔê$;ÍÊøþ–„W@ -‹¿†ÍhŒ¯¿óä„Õ“º„?•Æd§}…ò’Lã+ %B÷¬ÿÈeaÁö¬7kýÕQPʹ«M~>sFw<ª "A1U!ýÃþöÈ|e¬e©æqob)ÂãÒ¾ûf/pCqH3HšEôöt6?ºÜGæ–ë–mËËÀ£= sO6©ÉM´K¤ŸG‘ÇS3]YáöuŠöJ±52wÛ)zë*^!Ç)/CCMN_3l ËŲ]›=}Ϋk„Dˆ=}±Œ(Àö¥„ûóPÅH¸°ÎVO,7ºP.Ó3WG؆Ę¡Ç±§]XlX(æÒLÆòx=}ˆ¢´-ÑB®f8q³ÈÓùKJÅ£]èl¸$VTb?Ætòjj*ŠÜ띢œ+= ò‹ï¥!§ws).zJ;¤±OÄ-ىÚY1Ix¹!=My€!-(^S=MÙµíUgù3QЊyÒ[áz÷Ñ= [ܙÄ-¹N¨4›nÈážTYëªà)î…ðy›k±A¹Ø€ùغêށ„:"-hIÙNñoaÑJÁØÙ`});var h,o,a,l,c,u,d,U,f=new TextDecoder("utf8"),p={Es:{},Ps:[null,[],[]],Ys(t,i){var r=p.Ps[t];0===i||10===i?((1===t?s:e)(((t,s,e)=>{for(var i=0;t[i]&&!(i>=NaN);)++i;return f.decode(t.subarray?t.subarray(0,i):new Uint8Array(t.slice(0,i)))})(r)),r.length=0):r.push(i)},js:void 0,get:()=>(p.js+=4,h[p.js-4>>2]),Ns(t){var s=((t,s)=>{if(!t)return"";for(var e=t+void 0,i=t;!(i>=e)&&o[i];)++i;return f.decode(o.subarray(t,i))})(t);return s},Ws:(t,s)=>t},y={d(t,s,e){o.copyWithin(t,s,s+e)},c(t){o.length,(t=>{throw"OOM"})()},b:t=>0,a(t,s,e,i){var r=p.Gs(t),n=p.Ds(r,s,e);return h[i>>2]=n,0},e(t,s,e,i,r){}},m={a:y};this.o=s=>{t.o(ni,s)},this.u=()=>t.u(ni),this.instantiate=()=>(this.u().then((t=>WebAssembly.instantiate(t,m))).then((t=>{var s,e=t.exports;l=e.h,c=e.i,u=e.j,d=e.k,U=e.l,e.m,s=e.f.buffer,a=s,h=new Int32Array(s),o=new Uint8Array(s),(t=>{t.g()})(e),i()})),this.ready=new Promise((t=>{i=t})).then((()=>{this.P=a,this.B=c,this.free=l,this.Ks=u,this.Rs=d,this.Vs=U})),this)}function hi(){return this.qs=()=>(new this.zs).instantiate(this.Hs,this.Qs).then((t=>{this.Zs=t,this.Xs=0,this.te=0,this.xs=0,this.se=this.Zs.v(1,Uint32Array),this.Ss=this.Zs.v(1,Uint32Array),this.ee=this.Zs.v(1,Uint32Array),this.ie=this.Zs.v(1,Uint32Array),this.re=this.Zs.v(1,Uint32Array),this.ne=this.Zs.v(1,Uint32Array),this.he=this.Zs.v(1,Uint32Array),this.oe=this.Zs.v(1,Uint32Array),this.ae=this.Zs.p.Ks(this.se.J,this.Ss.J,this.ee.J,this.ie.J,this.re.J,this.ne.J,this.he.J,this.oe.J)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.le}),this.reset=()=>(this.free(),this.qs()),this.free=()=>{this.Zs.p.Rs(this.ae),this.Zs.free()},this.ce=t=>{if(!(t instanceof Uint8Array))throw Error("Data to decode must be Uint8Array. Instead got "+typeof t);const s=this.Zs.v(t.length,Uint8Array,!1);s.L.set(t),this.Zs.p.Vs(this.ae,s.J,s.I);let e,i=[];this.he.L[0]&&i.push("Error: "+this.Zs.Y(this.he.L[0])),this.oe.L[0]&&i.push("State: "+this.Zs.Y(this.oe.L[0])),i.length&&(e=i.join("; "),console.error("@wasm-audio-decoders/flac: \n\t"+i.join("\n\t")));const r=new Float32Array(this.Zs.p.P,this.re.L[0],this.ne.L[0]),n={error:e,outputBuffer:this.Zs.S(r,this.se.L[0],this.ie.L[0]),samplesDecoded:this.ie.L[0]};return this.Zs.p.free(this.re.L[0]),this.ne.L[0]=0,this.ie.L[0]=0,n},this.decodeFrames=t=>{let s=[],e=[],i=0;for(let r=0;r{if("flac"!==t)throw Error("@wasm-audio-decoders/flac does not support this codec "+t)},new e,this.qs(),this[oi](hi)}qs(){this.Ut=new ii("audio/flac",{ds:this.es,ys:!1})}[oi](t){if(this.ae){const t=this.ae;t.ready.then((()=>t.free()))}this.ae=new t,this.le=this.ae.ready}get ready(){return this.le}async reset(){return this.qs(),this.ae.reset()}free(){this.ae.free()}async decode(t){return this.ae.decodeFrames([...this.Ut.$s(t)].map((t=>t[ri])))}async flush(){const t=this.ae.decodeFrames([...this.Ut.flush()].map((t=>t[ri])));return await this.reset(),t}async decodeFile(t){const s=this.ae.decodeFrames([...this.Ut.parseAll(t)].map((t=>t[ri])));return await this.reset(),s}async decodeFrames(t){return this.ae.decodeFrames(t)}}class li extends i{constructor(t){super(t,"flac-decoder",hi,ni)}async decodeFrames(t){return this.q("decodeFrames",t)}}class ci extends ai{constructor(){super(),super[oi](li)}async free(){super.free()}terminate(){this.ae.terminate()}}r(ai,"FLACDecoder"),r(ci,"FLACDecoderWebWorker"),t.FLACDecoder=ai,t.FLACDecoderWebWorker=ci},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["flac-decoder"]={},t.Worker); +‹¿†ÍhŒ¯¿óä„Õ“º„?•Æd§}…ò’Lã+ %B÷¬ÿÈeaÁö¬7kýÕQPʹ«M~>sFw<ª "A1U!ýÃþöÈ|e¬e©æqob)ÂãÒ¾ûf/pCqH3HšEôöt6?ºÜGæ–ë–mËËÀ£= sO6©ÉM´K¤ŸG‘ÇS3]YáöuŠöJ±52wÛ)zë*^!Ç)/CCMN_3l ËŲ]›=}Ϋk„Dˆ=}±Œ(Àö¥„ûóPÅH¸°ÎVO,7ºP.Ó3WG؆Ę¡Ç±§]XlX(æÒLÆòx=}ˆ¢´-ÑB®f8q³ÈÓùKJÅ£]èl¸$VTb?Ætòjj*ŠÜ띢œ+= ò‹ï¥!§ws).zJ;¤±OÄ-ىÚY1Ix¹!=My€!-(^S=MÙµíUgù3QЊyÒ[áz÷Ñ= [ܙÄ-¹N¨4›nÈážTYëªà)î…ðy›k±A¹Ø€ùغêށ„:"-hIÙNñoaÑJÁØÙ`});var h,o,a,l,c,u,d,U,f=new TextDecoder("utf8"),p={Ws:{},Gs:[null,[],[]],Ds(t,i){var r=p.Gs[t];0===i||10===i?((1===t?s:e)(((t,s,e)=>{for(var i=0;t[i]&&!(i>=NaN);)++i;return f.decode(t.subarray?t.subarray(0,i):new Uint8Array(t.slice(0,i)))})(r)),r.length=0):r.push(i)},Ks:void 0,get:()=>(p.Ks+=4,h[p.Ks-4>>2]),Rs(t){var s=((t,s)=>{if(!t)return"";for(var e=t+void 0,i=t;!(i>=e)&&o[i];)++i;return f.decode(o.subarray(t,i))})(t);return s},Vs:(t,s)=>t},y={d(t,s,e){o.copyWithin(t,s,s+e)},c(t){o.length,(t=>{throw"OOM"})()},b:t=>0,a(t,s,e,i){var r=p.qs(t),n=p.zs(r,s,e);return h[i>>2]=n,0},e(t,s,e,i,r){}},m={a:y};this.o=s=>{t.o(hi,s)},this.u=()=>t.u(hi),this.instantiate=()=>(this.u().then((t=>WebAssembly.instantiate(t,m))).then((t=>{var s,e=t.exports;l=e.h,c=e.i,u=e.j,d=e.k,U=e.l,e.m,s=e.f.buffer,a=s,h=new Int32Array(s),o=new Uint8Array(s),(t=>{t.g()})(e),i()})),this.ready=new Promise((t=>{i=t})).then((()=>{this.P=a,this.B=c,this.free=l,this.Hs=u,this.Qs=d,this.Zs=U})),this)}function oi(){return this.Xs=()=>(new this.te).instantiate(this.se,this.ee).then((t=>{this.ie=t,this.re=0,this.ne=0,this.Fs=0,this.he=this.ie.v(1,Uint32Array),this.ks=this.ie.v(1,Uint32Array),this.oe=this.ie.v(1,Uint32Array),this.ae=this.ie.v(1,Uint32Array),this.le=this.ie.v(1,Uint32Array),this.ce=this.ie.v(1,Uint32Array),this.ue=this.ie.v(1,Uint32Array),this.de=this.ie.v(1,Uint32Array),this.Ue=this.ie.p.Hs(this.he.J,this.ks.J,this.oe.J,this.ae.J,this.le.J,this.ce.J,this.ue.J,this.de.J)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.fe}),this.reset=()=>(this.free(),this.Xs()),this.free=()=>{this.ie.p.Qs(this.Ue),this.ie.free()},this.pe=t=>{if(!(t instanceof Uint8Array))throw Error("Data to decode must be Uint8Array. Instead got "+typeof t);const s=this.ie.v(t.length,Uint8Array,!1);s.I.set(t),this.ie.p.Zs(this.Ue,s.J,s.L);let e,i=[];this.ue.I[0]&&i.push("Error: "+this.ie.Y(this.ue.I[0])),this.de.I[0]&&i.push("State: "+this.ie.Y(this.de.I[0])),i.length&&(e=i.join("; "),console.error("@wasm-audio-decoders/flac: \n\t"+i.join("\n\t")));const r=new Float32Array(this.ie.p.P,this.le.I[0],this.ce.I[0]),n={error:e,outputBuffer:this.ie.F(r,this.he.I[0],this.ae.I[0]),samplesDecoded:this.ae.I[0]};return this.ie.p.free(this.le.I[0]),this.ce.I[0]=0,this.ae.I[0]=0,n},this.decodeFrames=t=>{let s=[],e=[],i=0;for(let r=0;r{if("flac"!==t)throw Error("@wasm-audio-decoders/flac does not support this codec "+t)},new e,this.Xs(),this[ai](oi)}Xs(){this.Ut=new ri("audio/flac",{gs:this.rs,Ts:!1})}[ai](t){if(this.Ue){const t=this.Ue;t.ready.then((()=>t.free()))}this.Ue=new t,this.fe=this.Ue.ready}get ready(){return this.fe}async reset(){return this.Xs(),this.Ue.reset()}free(){this.Ue.free()}async decode(t){return this.Ue.decodeFrames([...this.Ut.Ss(t)].map((t=>t[ni])))}async flush(){const t=this.Ue.decodeFrames([...this.Ut.flush()].map((t=>t[ni])));return await this.reset(),t}async decodeFile(t){const s=this.Ue.decodeFrames([...this.Ut.parseAll(t)].map((t=>t[ni])));return await this.reset(),s}async decodeFrames(t){return this.Ue.decodeFrames(t)}}class ci extends i{constructor(t){super(t,"flac-decoder",oi,hi)}async decodeFrames(t){return this.q("decodeFrames",t)}}class ui extends li{constructor(){super(),super[ai](ci)}async free(){super.free()}terminate(){this.Ue.terminate()}}r(li,"FLACDecoder"),r(ui,"FLACDecoderWebWorker"),t.FLACDecoder=li,t.FLACDecoderWebWorker=ui},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["flac-decoder"]={},t.Worker); //# sourceMappingURL=flac-decoder.min.js.map \ No newline at end of file diff --git a/demo/flac-decoder.min.js.map b/demo/flac-decoder.min.js.map index bdf9f78..1bb730c 100644 --- a/demo/flac-decoder.min.js.map +++ b/demo/flac-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ot","codecData","_currentHeader","ct","key","_updateCurrentHeader","dt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","ft","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","$t","MPEGFrame","MPEGParser","onCodec","At","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","Ct","Ft","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","It","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Lt","Et","Pt","Yt","FLACParser","jt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","Nt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Dt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Rt","Vt","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ds","Us","fs","ps","enableLogging","ys","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","$s","chunk","parseAll","fileData","parseChunk","Ts","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Bs","increment","_s","round","Js","codecFrame","_log","logger","messages","stats","width","max","s","repeat","Is","console","warn","Ls","error","out","text","log","err","base64ReverseLookup","HEAP32","HEAPU8","_free","_malloc","_create_decoder","_destroy_decoder","_decode_frame","UTF8Decoder","TextDecoder","SYSCALLS","printChar","curr","maxBytesToRead","endPtr","decode","UTF8ArrayToString","varargs","getStr","maxPtr","UTF8ToString","end","get64","low","high","asmLibraryArg","d","dest","src","num","copyWithin","requestedSize","what","abort","fd","a","iov","iovcnt","pnum","getStreamFromFD","doReadv","e","offset_low","offset_high","whence","newOffset","imports","instance","asm","initRuntime","create_decoder","destroy_decoder","decode_frame","_init","common","_common","_inputBytes","_outputSamples","_channels","_bitsPerSample","_samplesDecoded","_outputBufferPtr","_outputBufferLen","_errorStringPtr","_stateStringPtr","_decoder","_ready","_decode","errorMessage","decoded","outputBuffer","decodeFrames","frames","outputBuffers","_MAX_INPUT_SIZE","_isWebWorker","setDecoderClass","FLACDecoder","Ue","decoderClass","oldDecoder","flacData","f","flacFrames","DecoderWorker","FLACDecoderWebWorker","require","define","amd"],"sources":["flac-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ot","codecData","_currentHeader","ct","key","_updateCurrentHeader","dt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","ft","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","$t","MPEGFrame","MPEGParser","onCodec","At","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","Ct","St","Ft","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Lt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Et","It","Pt","Yt","FLACParser","jt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","Nt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Dt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Rt","Vt","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","gs","Ms","ws","bs","enableLogging","Ts","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","Ss","chunk","parseAll","fileData","parseChunk","Cs","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Es","increment","Is","round","Ps","codecFrame","_log","logger","messages","stats","width","max","s","repeat","js","console","warn","Ns","error","out","text","log","err","base64ReverseLookup","HEAP32","HEAPU8","_free","_malloc","_create_decoder","_destroy_decoder","_decode_frame","UTF8Decoder","TextDecoder","SYSCALLS","printChar","curr","maxBytesToRead","endPtr","decode","UTF8ArrayToString","varargs","getStr","maxPtr","UTF8ToString","end","get64","low","high","asmLibraryArg","d","dest","src","num","copyWithin","requestedSize","what","abort","fd","a","iov","iovcnt","pnum","getStreamFromFD","doReadv","e","offset_low","offset_high","whence","newOffset","imports","instance","asm","initRuntime","create_decoder","destroy_decoder","decode_frame","_init","common","_common","_inputBytes","_outputSamples","_channels","_bitsPerSample","_samplesDecoded","_outputBufferPtr","_outputBufferLen","_errorStringPtr","_stateStringPtr","_decoder","_ready","_decode","errorMessage","decoded","outputBuffer","decodeFrames","frames","outputBuffers","_MAX_INPUT_SIZE","_isWebWorker","setDecoderClass","FLACDecoder","ge","decoderClass","oldDecoder","flacData","f","flacFrames","DecoderWorker","FLACDecoderWebWorker","require","define","amd"],"sources":["flac-decoder.js"],"mappings":"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"} \ No newline at end of file diff --git a/demo/ogg-opus-decoder.js b/demo/ogg-opus-decoder.js index 50e5c49..93bcdf7 100644 --- a/demo/ogg-opus-decoder.js +++ b/demo/ogg-opus-decoder.js @@ -3738,6 +3738,7 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3751,23 +3752,26 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data]; - } else if (oggPage[pageSequenceNumber] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames$1] = oggPageSegments.map((segment) => { + oggPage[codecFrames$1] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3776,18 +3780,20 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames$1].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3927,17 +3933,15 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3956,13 +3960,11 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3973,6 +3975,8 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } @@ -3993,8 +3997,11 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -4002,7 +4009,6 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ const headerData = headerStore.get(oggPageStore[header$1]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data][subarray](offset, (offset += segmentLength)) ); @@ -4028,14 +4034,55 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; } } } + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); + } + + if (oggPage[isLastPage$1]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); + } + } + /* Copyright 2020-2023 Ethan Halsall This file is part of codec-parser. diff --git a/demo/ogg-opus-decoder.min.js b/demo/ogg-opus-decoder.min.js index eb4876b..6e231d3 100644 Binary files a/demo/ogg-opus-decoder.min.js and b/demo/ogg-opus-decoder.min.js differ diff --git a/demo/ogg-opus-decoder.min.js.map b/demo/ogg-opus-decoder.min.js.map index f56ea00..086bc10 100644 --- a/demo/ogg-opus-decoder.min.js.map +++ b/demo/ogg-opus-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","base64ReverseLookup","HEAPU8","_opus_frame_decoder_create","_malloc","_opus_frame_decode_float_deinterleaved","_opus_frame_decoder_destroy","_free","imports","a","b","x","Math","cos","exp","d","dest","src","num","copyWithin","requestedSize","what","abort","instance","asm","initRuntime","opus_frame_decoder_create","opus_frame_decode_float_deinterleaved","opus_frame_decoder_destroy","OpusDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_forceStereo","_ready","_decode","opusFrame","error","console","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","forceStereo","includes","OpusDecoderWebWorker","symbol","Symbol","channelMappings","left","center","right","front","side","rear","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition$1","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount$1","crc","crc16","crc32","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage$1","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip$1","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable$1","channelMode","channelModeBits","channels$1","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples$1","stream","streamCount$1","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","It","codecData","_currentHeader","Yt","key","header","_updateCurrentHeader","_t","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Rt","frameData","Frame","zt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","ss","samples","MPEGFrame","MPEGParser","onCodec","rs","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","ns","hs","os","cs","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Ms","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","ps","ys","gs","Ts","FLACParser","bs","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","ws","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","As","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","vs","xs","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ks","_s","Qs","Rs","enableLogging","js","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","se","chunk","parseAll","fileData","parseChunk","te","match","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","undefined","_rawData","minSize","rawData","oe","increment","ae","round","ce","codecFrame","_log","logger","messages","stats","width","max","s","repeat","ue","warn","de","absoluteGranulePosition","codecFrames","isLastPage","DecoderState","_instance","_decoderOperations","_errors","_decoded","_channelsDecoded","all","_decoderClass","dataFrames","f","O","_beginningSampleOffset","BigInt","totalDecodedSamples","totalOggSamples","samplesToTrim","concat","frames","_instantiateDecoder","_sendToDecoder","OggOpusDecoder","decoderState","oggOpusData","_flush","OggOpusDecoderWebWorker","require","define","amd"],"sources":["ogg-opus-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","base64ReverseLookup","HEAPU8","_opus_frame_decoder_create","_malloc","_opus_frame_decode_float_deinterleaved","_opus_frame_decoder_destroy","_free","imports","a","b","x","Math","cos","exp","d","dest","src","num","copyWithin","requestedSize","what","abort","instance","asm","initRuntime","opus_frame_decoder_create","opus_frame_decode_float_deinterleaved","opus_frame_decoder_destroy","OpusDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_forceStereo","_ready","_decode","opusFrame","error","console","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","forceStereo","includes","OpusDecoderWebWorker","symbol","Symbol","channelMappings","left","center","right","front","side","rear","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition$1","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount$1","crc","crc16","crc32","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage$1","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip$1","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable$1","channelMode","channelModeBits","channels$1","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples$1","stream","streamCount$1","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","It","codecData","_currentHeader","Yt","key","header","_updateCurrentHeader","_t","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Rt","frameData","Frame","zt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","ss","samples","MPEGFrame","MPEGParser","onCodec","rs","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","ns","hs","os","cs","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Ms","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","ps","ys","gs","Ts","FLACParser","ws","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","bs","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","As","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","vs","Cs","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","zs","Ks","qs","Zs","enableLogging","te","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","he","chunk","parseAll","fileData","parseChunk","ne","match","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","undefined","_rawData","minSize","rawData","de","increment","Ue","round","fe","codecFrame","_log","logger","messages","stats","width","max","s","repeat","pe","warn","ye","absoluteGranulePosition","codecFrames","isLastPage","DecoderState","_instance","_decoderOperations","_errors","_decoded","_channelsDecoded","all","_decoderClass","dataFrames","f","O","_beginningSampleOffset","BigInt","totalDecodedSamples","totalOggSamples","samplesToTrim","concat","frames","_instantiateDecoder","_sendToDecoder","OggOpusDecoder","decoderState","oggOpusData","_flush","OggOpusDecoderWebWorker","require","define","amd"],"sources":["ogg-opus-decoder.js"],"mappings":"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"} \ No newline at end of file diff --git a/demo/ogg-vorbis-decoder.js b/demo/ogg-vorbis-decoder.js index ce4e8de..76a64de 100644 --- a/demo/ogg-vorbis-decoder.js +++ b/demo/ogg-vorbis-decoder.js @@ -623,7 +623,7 @@ const pageChecksum = page + "Checksum"; const pageSegmentBytes = symbol(); const pageSegmentTable = page + "SegmentTable"; - const pageSequenceNumber$1 = page + "Sequence" + Number$1; + const pageSequenceNumber = page + "Sequence" + Number$1; const sample = "sample"; const sampleNumber = sample + Number$1; @@ -2425,12 +2425,12 @@ } [parseOggPage](oggPage) { - if (oggPage[pageSequenceNumber$1] === 0) { + if (oggPage[pageSequenceNumber] === 0) { // Identification header this._headerCache[enable](); this._streamInfo = oggPage[data$1][subarray](13); - } else if (oggPage[pageSequenceNumber$1] === 1) ; else { + } else if (oggPage[pageSequenceNumber] === 1) ; else { oggPage[codecFrames$1] = frameStore .get(oggPage) [segments].map((segment) => { @@ -2530,7 +2530,7 @@ // Byte (19-22 of 28) // * `HHHHHHHH|HHHHHHHH|HHHHHHHH|HHHHHHHH` // * Page Sequence Number - header[pageSequenceNumber$1] = view.getInt32(18, true); + header[pageSequenceNumber] = view.getInt32(18, true); // Byte (23-26 of 28) // * `IIIIIIII|IIIIIIII|IIIIIIII|IIIIIIII` @@ -2577,7 +2577,7 @@ this[isFirstPage] = header[isFirstPage]; this[isLastPage] = header[isLastPage]; this[pageSegmentTable] = header[pageSegmentTable]; - this[pageSequenceNumber$1] = header[pageSequenceNumber$1]; + this[pageSequenceNumber] = header[pageSequenceNumber]; this[pageChecksum] = header[pageChecksum]; this[streamSerialNumber] = header[streamSerialNumber]; } @@ -2640,7 +2640,7 @@ this[isContinuedPacket] = header[isContinuedPacket]; this[isFirstPage] = header[isFirstPage]; this[isLastPage] = header[isLastPage]; - this[pageSequenceNumber$1] = header[pageSequenceNumber$1]; + this[pageSequenceNumber] = header[pageSequenceNumber]; this[samples] = 0; this[streamSerialNumber] = header[streamSerialNumber]; } @@ -2958,12 +2958,12 @@ * @todo implement continued page support */ [parseOggPage](oggPage) { - if (oggPage[pageSequenceNumber$1] === 0) { + if (oggPage[pageSequenceNumber] === 0) { // Identification header this._headerCache[enable](); this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber$1] === 1) ; else { + } else if (oggPage[pageSequenceNumber] === 1) ; else { oggPage[codecFrames$1] = frameStore .get(oggPage) [segments].map((segment) => { @@ -3171,6 +3171,7 @@ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3184,23 +3185,26 @@ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber$1] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber$1] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames$1] = oggPageSegments.map((segment) => { + oggPage[codecFrames$1] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data$1]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3209,18 +3213,20 @@ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames$1].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3360,17 +3366,15 @@ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3389,13 +3393,11 @@ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3406,28 +3408,33 @@ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } _checkPageSequenceNumber(oggPage) { if ( - oggPage[pageSequenceNumber$1] !== this._pageSequenceNumber + 1 && + oggPage[pageSequenceNumber] !== this._pageSequenceNumber + 1 && this._pageSequenceNumber > 1 && - oggPage[pageSequenceNumber$1] > 1 + oggPage[pageSequenceNumber] > 1 ) { this._codecParser[logWarning]( "Unexpected gap in Ogg Page Sequence Number.", `Expected: ${this._pageSequenceNumber + 1}, Got: ${ - oggPage[pageSequenceNumber$1] + oggPage[pageSequenceNumber] }` ); } - this._pageSequenceNumber = oggPage[pageSequenceNumber$1]; + this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -3435,7 +3442,6 @@ const headerData = headerStore.get(oggPageStore[header$1]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data$1][subarray](offset, (offset += segmentLength)) ); @@ -3461,11 +3467,52 @@ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; + } + } + } + + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); } + + if (oggPage[isLastPage]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); } } @@ -3726,7 +3773,6 @@ const header = header$1; const vorbisComments = vorbisComments$1; const vorbisSetup = vorbisSetup$1; - const pageSequenceNumber = pageSequenceNumber$1; /* ************************************************** * This file is auto-generated during the build process. @@ -4251,18 +4297,18 @@ cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õR const oggPage = oggPages[i]; if (this._vorbisSetupInProgress) { - if (oggPage[pageSequenceNumber] === 0) { + if (oggPage[data][0] === 1) { this._decoder.sendSetupHeader(oggPage[data]); - } else if (oggPage[pageSequenceNumber] > 1) { - if (this._vorbisSetupInProgress) { - const headerData = oggPage[codecFrames][0][header]; + } - this._decoder.sendSetupHeader(headerData[vorbisComments]); - this._decoder.sendSetupHeader(headerData[vorbisSetup]); - this._decoder.initDsp(); + if (oggPage[codecFrames].length) { + const headerData = oggPage[codecFrames][0][header]; - this._vorbisSetupInProgress = false; - } + this._decoder.sendSetupHeader(headerData[vorbisComments]); + this._decoder.sendSetupHeader(headerData[vorbisSetup]); + this._decoder.initDsp(); + + this._vorbisSetupInProgress = false; } } diff --git a/demo/ogg-vorbis-decoder.min.js b/demo/ogg-vorbis-decoder.min.js index f6e5bf1..dc9ca4c 100644 --- a/demo/ogg-vorbis-decoder.min.js +++ b/demo/ogg-vorbis-decoder.min.js @@ -1,5 +1,5 @@ /* Copyright 2021-2023 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */ -var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},u:{value(t,s){e.t.set(t,Promise.resolve(s))}},U:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.M(s)):(s=t.L,i=e.A(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},P:{value(t,e){let i=new s(e),r=0,n=0;for(;r({C:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},T:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},M:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.O[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},A:{value(s){return s=e.M(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.U(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"L",{enumerable:!0,get:()=>this.$}),this.v=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.$.H(s.BYTES_PER_ELEMENT*t);return e&&this.D.add(i),{K:i,R:t,G:new s(this.$.N,i,t)}},this.free=()=>{this.D.forEach((t=>{this.$.free(t)})),this.D.clear()},this.V=t=>{const s=[],e=new Uint8Array(this.$.N);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.J=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.u(t,s),this.$=new t(e).instantiate(),this.D=new Set,this.$.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},X:{value:e},I:{value:a.I},Z:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.F=Number.MIN_SAFE_INTEGER,this.Y=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.Y.get(s)(e),this.Y.delete(s)},new r(e).U().then((s=>{this._("init",{I:s,options:t})}))}async _(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.F,data:s}),this.Y.set(this.F++,e)}))}get ready(){return this._("ready")}async free(){await this._("free").finally((()=>{this.terminate()}))}async reset(){await this._("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,M=24e3,y=22050,m=16e3,L=8e3,b="absoluteGranulePosition",g="bandwidth",w="bitDepth",A="bitrate",x=A+"Maximum",P=A+"Minimum",B=A+"Nominal",C="buffer",T=C+"Fullness",O="codec",$=O+"Frames",v="coupledStreamCount",S="crc",H=S+"16",E=S+"32",D="data",K="description",R="duration",j="emphasis",Q="hasOpusPadding",k="header",G="isContinuedPacket",N="isCopyrighted",V="isFirstPage",z="isHome",J="isLastPage",W="isOriginal",X="isPrivate",I="isVbr",Z="layer",F="length",Y="mode",q=Y+"Extension",_="mpeg",tt=_+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),Mt=Ut+"Size",yt=Ut+"size0",mt=Ut+"size1",Lt=n(),bt="channel",gt=bt+"MappingFamily",wt=bt+"MappingTable",At=bt+"Mode",xt=n(),Pt=bt+"s",Bt="copyright",Ct=Bt+"Id",Tt=Bt+"IdStart",Ot="frame",$t=Ot+"Count",vt=Ot+"Length",St="Number",Ht=Ot+St,Et=Ot+"Padding",Dt=Ot+"Size",Kt="Rate",Rt="inputSample"+Kt,jt="page",Qt=jt+"Checksum",kt=n(),Gt=jt+"SegmentTable",Nt=jt+"Sequence"+St,Vt="sample",zt=Vt+St,Jt=Vt+Kt,Wt=n(),Xt=Vt+"s",It="stream",Zt=It+"Count",Ft=It+"Info",Yt=It+"Serial"+St,qt=It+"StructureVersion",_t="total",ts=_t+"BytesOut",ss=_t+"Duration",es=_t+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),Ms=n(),ys=n(),ms=n(),Ls=n(),bs=n(),gs=Uint8Array,ws=DataView,As="reserved",xs="bad",Ps="free",Bs="none",Cs="16bit CRC",Ts=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Os=Ts(new gs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),$s=[Ts(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],vs=[Ts(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let Mi=0;Mi<15;Mi++){$s.push(new Uint16Array(256)),vs.push(new Uint32Array(256));for(let t=0;t<=255;t++)$s[Mi+1][t]=$s[0][$s[Mi][t]>>>8]^$s[Mi][t]<<8,vs[Mi+1][t]=vs[Mi][t]>>>8^vs[0][255&vs[Mi][t]]}const Ss=t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i=vs[15][255&(t[r++]^i)]^vs[14][255&(t[r++]^i>>>8)]^vs[13][255&(t[r++]^i>>>16)]^vs[12][t[r++]^i>>>24]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=vs[0][255&(i^t[r++])]^i>>>8;return-1^i},Hs=(...t)=>{const s=new gs(t.reduce(((t,s)=>t+s[F]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[F])),0),s},Es=t=>String.fromCharCode(...t),Ds=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ks=t=>Ds[15&t]<<4|Ds[t>>4];class Rs{constructor(t){this.tt=t,this.st=8*t[F]}set position(t){this.st=t}get position(){return this.st}read(t){const s=Math.floor(this.st/8),e=this.st%8;return this.st-=t,(Ks(this.tt[s-1])<<8)+Ks(this.tt[s])>>7-e&255}}class js{constructor(t,s){this.et=t,this.it=s,this[ys]()}[ms](){this.rt=!0}[ys](){this.nt=new Map,this.ht=new WeakMap,this.ot=!1,this.at=!1,this.lt=null,this.rt=!1}[Ms](t,s){if(this.it){this.lt!==t&&(this.lt=t,this.at=!0);const e=this.ht.get(this.nt.get(this.ut));this.at&&e&&this.it({dt:t,...e},s),this.at=!1}}[us](t){const s=this.nt.get(t);return s&&this.ft(t),s}[ds](t,s,e){this.rt&&(this.ot||(this.et({...s}),this.ot=!0),this.ft(t),this.nt.set(t,s),this.ht.set(s,e))}ft(t){this.it&&t!==this.ut&&(this.at=!0,this.ut=t)}}const Qs=new WeakMap,ks=new WeakMap;class Gs{constructor(t,s){this.yt=t,this.nt=s}*[ls](){let t;for(;;){if(t=yield*this.bt[Us](this.yt,this.nt,0),t)return t;this.yt[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=ks.get(s)[F];if(t||this.yt.wt||(yield*this.At[us](this.yt,this.nt,e)))return this.nt[ms](),this.yt[rs](e),this.yt[hs](s),s;this.yt[os](`Missing ${Ot} at ${e} bytes from current position.`,`Dropping current ${Ot} and trying again.`),this.nt[ys](),this.yt[rs](1)}}class Ns{constructor(t,s){ks.set(this,{[k]:t}),this[D]=s}}class Vs extends Ns{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Qs.get(n)[vt],i=Qs.get(n)[Xt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[k]=t,this[Xt]=e,this[R]=e/t[Jt]*1e3,this[Ht]=null,this[ts]=null,this[es]=null,this[ss]=null,ks.get(this)[F]=s[F]}}const zs="unsynchronizationFlag",Js="extendedHeaderFlag",Ws="experimentalFlag",Xs="footerPresent";class Is{static*Pt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[zs]=!!(128&r[5]),i[Js]=!!(64&r[5]),i[Ws]=!!(32&r[5]),i[Xs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[F]=10+n,new Is(i)}constructor(t){this[lt]=t[lt],this[zs]=t[zs],this[Js]=t[Js],this[Ws]=t[Ws],this[Xs]=t[Xs],this[F]=t[F]}}class Zs{constructor(t){Qs.set(this,t),this[w]=t[w],this[A]=null,this[Pt]=t[Pt],this[At]=t[At],this[Jt]=t[Jt]}}const Fs={0:[Ps,Ps,Ps,Ps,Ps],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Ys=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let Mi=2;Mi<15;Mi++)Fs[Mi<<4]=[32*Mi,Ys(Mi,4,0),Ys(Mi,4,-1),Ys(Mi,8,4),Ys(Mi,8,0)];const qs="bands ",_s=" to 31",te={0:qs+4+_s,16:qs+8+_s,32:qs+12+_s,48:qs+16+_s},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[K]:As},2:{[K]:"Layer III",[Et]:1,[q]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Xt]:1152},[ee]:{[se]:4,[Xt]:576}},4:{[K]:"Layer II",[Et]:1,[q]:te,[Xt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[K]:"Layer I",[Et]:4,[q]:te,[Xt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[K]:le+"2.5 (later extension of MPEG 2)",[Z]:ee,[Jt]:{0:11025,4:12e3,8:L,12:As}},8:{[K]:As},16:{[K]:`${le}2 (${ce}13818-3)`,[Z]:ee,[Jt]:{0:y,4:M,8:m,12:As}},24:{[K]:`${le}1 (${ce}11172-3)`,[Z]:ie,[Jt]:{0:f,4:U,8:p,12:As}},length:F},de={0:Cs,1:Bs},Ue={0:Bs,1:"50/15 ms",2:As,3:"CCIT J.17"},fe={0:{[Pt]:2,[K]:l},64:{[Pt]:2,[K]:"joint "+l},128:{[Pt]:2,[K]:"dual channel"},192:{[Pt]:1,[K]:a}};class pe extends Zs{static*[us](t,s,e){const i={},r=yield*Is.Pt(t,s,e);r&&(yield*t[is](r[F],e),t[rs](r[F]));const n=yield*t[is](4,e),h=Es(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[K]===As)return null;const l=6&n[1];if(ae[l][K]===As)return null;const c={...ae[l],...ae[l][a[Z]]};if(i[tt]=a[K],i[Z]=c[K],i[Xt]=c[Xt],i[ht]=de[1&n[1]],i[F]=4,i[A]=Fs[240&n[2]][c[se]],i[A]===xs)return null;if(i[Jt]=a[Jt][12&n[2]],i[Jt]===As)return null;if(i[Et]=2&n[2]&&c[Et],i[X]=!!(1&n[2]),i[vt]=Math.floor(125*i[A]*i[Xt]/i[Jt]+i[Et]),!i[vt])return null;const u=192&n[3];if(i[At]=fe[u][K],i[Pt]=fe[u][Pt],i[q]=c[q][48&n[3]],i[N]=!!(8&n[3]),i[W]=!!(4&n[3]),i[j]=Ue[3&n[3]],i[j]===As)return null;i[w]=16;{const{length:t,frameLength:e,Bt:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[A]=t[A],this[j]=t[j],this[Et]=t[Et],this[N]=t[N],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[q]=t[q],this[tt]=t[tt],this[ht]=t[ht]}}class Me extends Vs{static*[Us](t,s,e){return yield*super[Us](pe,Me,t,s,e)}constructor(t,s,e){super(t,s,e)}}class ye extends Gs{constructor(t,s,e){super(t,s),this.bt=Me,this.At=pe,e(this[O])}get[O](){return _}*[fs](){return yield*this[cs]()}}const me={0:"MPEG-4",8:"MPEG-2"},Le={0:"valid",2:xs,4:xs,6:xs},be={0:Cs,1:Bs},ge={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},we={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:M,28:y,32:m,36:12e3,40:11025,44:L,48:7350,52:As,56:As,60:"frequency is written explicitly"},Ae={0:{[Pt]:0,[K]:"Defined in AOT Specific Config"},64:{[Pt]:1,[K]:a},128:{[Pt]:2,[K]:u(2,h[0][0])},192:{[Pt]:3,[K]:u(3,h[1][3])},256:{[Pt]:4,[K]:u(4,h[1][3],h[3][4])},320:{[Pt]:5,[K]:u(5,h[1][3],h[3][0])},384:{[Pt]:6,[K]:u(6,h[1][3],h[3][0],o)},448:{[Pt]:8,[K]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends Zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=Es([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=me[8&r[1]],i[Z]=Le[6&r[1]],i[Z]===xs)return null;const t=1&r[1];i[ht]=be[t],i[F]=t?7:9,i[nt]=192&r[2],i[Wt]=60&r[2];const e=2&r[2];if(i[rt]=ge[i[nt]],i[Jt]=we[i[Wt]],i[Jt]===As)return null;i[X]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[At]=Ae[i[xt]][K],i[Pt]=Ae[i[xt]][Pt],i[W]=!!(32&r[3]),i[z]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Tt]=!!(4&r[3]),i[w]=16,i[Xt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,$t:r,vt:h,frameLength:o,Bt:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[vt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[vt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[T]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Tt]=t[Tt],this[T]=t[T],this[z]=t[z],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[F]=t[F],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get Ht(){const t=Qs.get(this),s=t[nt]+64<<5|t[Wt]<<5|t[xt]>>3,e=new gs(2);return new ws(e[C]).setUint16(0,s,!1),e}}class Pe extends Vs{static*[Us](t,s,e){return yield*super[Us](xe,Pe,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Be extends Gs{constructor(t,s,e){super(t,s),this.bt=Pe,this.At=xe,e(this[O])}get[O](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Vs{static Et(t){return(t[t[F]-2]<<8)+t[t[F]-1]}static[bs](t){const s=Ce.Et(t),e=(t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=$s[15][i>>8]^$s[14][255&i]^$s[13][t[r++]]^$s[12][t[r++]]^$s[11][t[r++]]^$s[10][t[r++]]^$s[9][t[r++]]^$s[8][t[r++]]^$s[7][t[r++]]^$s[6][t[r++]]^$s[5][t[r++]]^$s[4][t[r++]]^$s[3][t[r++]]^$s[2][t[r++]]^$s[1][t[r++]]^$s[0][t[r++]];for(;r!==s;)i=(255&i)<<8^$s[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ft]=e,s[H]=Ce.Et(t),super(s,t,Qs.get(s)[Xt])}}const Te="get from STREAMINFO metadata block",Oe={0:"Fixed",1:"Variable"},$e={0:As,16:192};for(let Mi=2;Mi<16;Mi++)$e[Mi<<4]=Mi<6?576*2**(Mi-2):2**Mi;const ve={0:Te,1:88200,2:176400,3:192e3,4:L,5:m,6:y,7:M,8:p,9:f,10:U,11:96e3,15:xs},Se={0:{[Pt]:1,[K]:a},16:{[Pt]:2,[K]:u(2,h[0][0])},32:{[Pt]:3,[K]:u(3,h[0][1])},48:{[Pt]:4,[K]:u(4,h[1][0],h[3][0])},64:{[Pt]:5,[K]:u(5,h[1][1],h[3][0])},80:{[Pt]:6,[K]:u(6,h[1][1],o,h[3][0])},96:{[Pt]:7,[K]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[Pt]:8,[K]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[Pt]:2,[K]:l+" (left, diff)"},144:{[Pt]:2,[K]:l+" (diff, right)"},160:{[Pt]:2,[K]:l+" (avg, diff)"},176:As,192:As,208:As,224:As,240:As},He={0:Te,2:8,4:12,6:As,8:16,10:20,12:24,14:As};class Ee extends Zs{static Kt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[F];for(let i=0;i!==e;i++)s=Os[s^t[i]];return s})(i[at](0,r[F]-1)))return null;if(!h){const{Qt:t,frameNumber:e,kt:i,Bt:h,vt:o,Gt:a,Nt:l,length:c,...u}=r;s[ds](n,r,u)}return new Ee(r)}constructor(t){super(t),this[H]=null,this[ft]=t[ft],this[Mt]=t[Mt],this[Ht]=t[Ht],this[zt]=t[zt],this[Ft]=null}}class De extends Gs{constructor(t,s,e){super(t,s),this.bt=Ce,this.At=Ee,e(this[O])}get[O](){return"flac"}*Vt(t){const s=yield*this.yt[is](2,0),e=s[F]-2;for(;t{const s=Ee[Ls](t,this.nt);if(s)return new Ce(t,s,this.Jt);this.yt[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ke{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[qt]=r[4],248&r[5])return null;i[J]=!!(4&r[5]),i[V]=!!(2&r[5]),i[G]=!!(1&r[5]);const n=new ws(gs.from(r[at](0,28))[C]);try{i[b]=n.getBigInt64(6,!0)}catch{}i[Yt]=n.getInt32(14,!0),i[Nt]=n.getInt32(18,!0),i[Qt]=n.getInt32(22,!0);const h=r[26];i[F]=h+27,r=yield*t[is](i[F],e),i[vt]=0,i[Gt]=[],i[kt]=gs.from(r[at](27,i[F]));for(let o=0,a=0;o{const s=Ze[Ls](this.It,t,this.nt);if(s)return new je(t,s);this.yt[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Ye extends Vs{constructor(t,s,e){super(s,t,e)}}const qe={};for(let Mi=0;Mi<8;Mi++)qe[Mi+6]=2**(6+Mi);class _e extends Zs{static[Ls](t,s,e,i){if(t[F]<30)throw Error("Out of data while inside an Ogg Page");const r=Es(t[at](0,30)),n=s[us](r);if(n)return new _e(n);const h={[F]:30};if("vorbis"!==r.substr(0,7))return null;h[D]=gs.from(t[at](0,30));const o=new ws(h[D][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[Pt]=t[11],h[At]=d[h[Pt]-1]||"application defined",h[Jt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[B]=o.getInt32(20,!0),h[P]=o.getInt32(24,!0),h[mt]=qe[(240&t[28])>>4],h[yt]=qe[15&t[28]],h[yt]>h[mt])return null;if(1!==t[29])return null;h[w]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Zt:n,Ft:o,...a}=h;s[ds](r,h,a)}return new _e(h)}constructor(t){super(t),this[x]=t[x],this[P]=t[P],this[B]=t[B],this[yt]=t[yt],this[mt]=t[mt],this[D]=t[D],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Gs{constructor(t,s,e){super(t,s),this.bt=Ye,e(this[O]),this.It=null,this.Yt={count:0},this.qt=0,this._t=0}get[O](){return ct}[ps](t){const s=ks.get(t)[ot];return 0===t[Nt]?(this.nt[ms](),this.It=t[D]):1===t[Nt]?s[1]&&(this.ts=s[0],this.ss=s[1],this.Yt=this.es(s[1])):t[$]=s.map((t=>{const s=_e[Ls](this.It,this.nt,this.ts,this.ss);if(s)return new Ye(t,s,this.rs(t,s));this.yt[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")})),t}rs(t,s){const e=t[0]>>1,i=this.Yt[e&this.Yt.mask];i&&(this.qt=e&this.Yt.ns?s[mt]:s[yt]),this._t=i?s[mt]:s[yt];const r=this.qt+this._t>>2;return this.qt=this._t,r}es(t){const s=new Rs(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ks(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.yt[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ks(r))>>1)!==n.count)throw this.yt[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Nt]>1&&this.yt[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.cs+1}, Got: ${t[Nt]}`),this.cs=t[Nt]}*[fs](){const t=yield*this[cs](!0);this.fs(t);const s=ks.get(t),e=Qs.get(s[k]);let i=0;if(s[ot]=e[Gt].map((s=>t[D][at](i,i+=s))),this.ls[F]&&(s[ot][0]=Hs(this.ls,s[ot][0]),this.ls=new gs),255===e[kt][e[kt][F]-1]&&(this.ls=Hs(this.ls,s[ot].pop())),this.os||this.Us(t)){const s=this.ds[ps](t);return this.yt[hs](s),s}}}const ei=()=>{};class ii{constructor(t,{ps:s,Ms:e,ys:i,Ls:r=!1,bs:n=!0}={}){this.gs=t,this.hs=s||ei,this.et=e||ei,this.it=i,this.ws=r,this.As=n?Ss:ei,this.xs=this.Ps(),this.xs.next()}get[O](){return this.ds[O]}*flush(){this.wt=!0;for(let t=this.xs.next();t.value;t=this.xs.next())yield t.value;this.wt=!1,this.xs=this.Ps(),this.xs.next()}*Bs(t){for(let s=this.xs.next(t);s.value;s=this.xs.next())yield s.value}parseAll(t){return[...this.Bs(t),...this.flush()]}*Ps(){if(this.nt=new js(this.et,this.it),this.gs.match(/aac/))this.ds=new Be(this,this.nt,this.hs);else if(this.gs.match(/mpeg/))this.ds=new ye(this,this.nt,this.hs);else if(this.gs.match(/flac/))this.ds=new De(this,this.nt,this.hs);else{if(!this.gs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.ds=new si(this,this.nt,this.hs)}for(this.Cs=0,this.Ts=0,this.Os=0,this.$s=0,this.vs=0,this.Ss=void 0,this.Hs=new Uint8Array(0);;){const t=yield*this.ds[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.Hs[F]<=t+s;){if(e=yield,this.wt)return this.Hs[at](s);e&&(this.Os+=e[F],this.Hs=Hs(this.Hs,e))}return this.Hs[at](s)}[rs](t){this.Ts+=t,this.Hs=this.Hs[at](t)}[ns](t){this.Ss=t[k][Jt],t[k][A]=8*Math.round(t[D][F]/t[R]),t[Ht]=this.Cs++,t[ts]=this.$s,t[es]=this.vs,t[ss]=this.vs/this.Ss*1e3,t[E]=this.As(t[D]),this.nt[Ms](t[k][A],t[ss]),this.$s+=t[D][F],this.vs+=t[Xt]}[hs](t){t[$]?(t[$].forEach((s=>{t[R]+=s[R],t[Xt]+=s[Xt],this[ns](s)})),t[es]=this.vs,t[ss]=this.vs/this.Ss*1e3||0,t[ts]=this.$s):this[ns](t)}Rs(t,s){if(this.ws){const e=[`${O}: ${this[O]}`,"inputMimeType: "+this.gs,"readPosition: "+this.Ts,"totalBytesIn: "+this.Os,`${ts}: ${this.$s}`],i=Math.max(...e.map((t=>t[F])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Rs(console.warn,t)}[as](...t){this.Rs(console.error,t)}}const ri=$,ni=D,hi=k,oi=ut,ai=dt,li=Nt;function ci(t){function s(){}for(var e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;var r,n;e[43]=62,e[47]=63,ci.L||Object.defineProperty(ci,"L",{get:()=>String.raw`dynEncode01df9b7dd5a5+nd ã ë$Þ.¥ÐåæÙ_ýÅOV–;ÈCæWebAssembly.compile(t)))),e.t.set(t,i)),i}},P:{value(t,e){let i=new s(e),r=0,n=0;for(;r({C:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},T:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},M:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.O[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},A:{value(s){return s=e.M(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.U(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"L",{enumerable:!0,get:()=>this.$}),this.v=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.$.H(s.BYTES_PER_ELEMENT*t);return e&&this.D.add(i),{K:i,R:t,G:new s(this.$.N,i,t)}},this.free=()=>{this.D.forEach((t=>{this.$.free(t)})),this.D.clear()},this.V=t=>{const s=[],e=new Uint8Array(this.$.N);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.J=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.u(t,s),this.$=new t(e).instantiate(),this.D=new Set,this.$.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},X:{value:e},I:{value:a.I},Z:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.F=Number.MIN_SAFE_INTEGER,this.Y=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.Y.get(s)(e),this.Y.delete(s)},new r(e).U().then((s=>{this._("init",{I:s,options:t})}))}async _(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.F,data:s}),this.Y.set(this.F++,e)}))}get ready(){return this._("ready")}async free(){await this._("free").finally((()=>{this.terminate()}))}async reset(){await this._("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,M=24e3,y=22050,m=16e3,L=8e3,b="absoluteGranulePosition",g="bandwidth",w="bitDepth",A="bitrate",x=A+"Maximum",P=A+"Minimum",B=A+"Nominal",C="buffer",T=C+"Fullness",O="codec",$=O+"Frames",v="coupledStreamCount",S="crc",H=S+"16",E=S+"32",D="data",K="description",R="duration",j="emphasis",Q="hasOpusPadding",k="header",G="isContinuedPacket",N="isCopyrighted",V="isFirstPage",z="isHome",J="isLastPage",W="isOriginal",X="isPrivate",I="isVbr",Z="layer",F="length",Y="mode",q=Y+"Extension",_="mpeg",tt=_+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),Mt=Ut+"Size",yt=Ut+"size0",mt=Ut+"size1",Lt=n(),bt="channel",gt=bt+"MappingFamily",wt=bt+"MappingTable",At=bt+"Mode",xt=n(),Pt=bt+"s",Bt="copyright",Ct=Bt+"Id",Tt=Bt+"IdStart",Ot="frame",$t=Ot+"Count",vt=Ot+"Length",St="Number",Ht=Ot+St,Et=Ot+"Padding",Dt=Ot+"Size",Kt="Rate",Rt="inputSample"+Kt,jt="page",Qt=jt+"Checksum",kt=n(),Gt=jt+"SegmentTable",Nt=jt+"Sequence"+St,Vt="sample",zt=Vt+St,Jt=Vt+Kt,Wt=n(),Xt=Vt+"s",It="stream",Zt=It+"Count",Ft=It+"Info",Yt=It+"Serial"+St,qt=It+"StructureVersion",_t="total",ts=_t+"BytesOut",ss=_t+"Duration",es=_t+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),Ms=n(),ys=n(),ms=n(),Ls=n(),bs=n(),gs=Uint8Array,ws=DataView,As="reserved",xs="bad",Ps="free",Bs="none",Cs="16bit CRC",Ts=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Os=Ts(new gs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),$s=[Ts(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],vs=[Ts(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let Mi=0;Mi<15;Mi++){$s.push(new Uint16Array(256)),vs.push(new Uint32Array(256));for(let t=0;t<=255;t++)$s[Mi+1][t]=$s[0][$s[Mi][t]>>>8]^$s[Mi][t]<<8,vs[Mi+1][t]=vs[Mi][t]>>>8^vs[0][255&vs[Mi][t]]}const Ss=t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i=vs[15][255&(t[r++]^i)]^vs[14][255&(t[r++]^i>>>8)]^vs[13][255&(t[r++]^i>>>16)]^vs[12][t[r++]^i>>>24]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=vs[0][255&(i^t[r++])]^i>>>8;return-1^i},Hs=(...t)=>{const s=new gs(t.reduce(((t,s)=>t+s[F]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[F])),0),s},Es=t=>String.fromCharCode(...t),Ds=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ks=t=>Ds[15&t]<<4|Ds[t>>4];class Rs{constructor(t){this.tt=t,this.st=8*t[F]}set position(t){this.st=t}get position(){return this.st}read(t){const s=Math.floor(this.st/8),e=this.st%8;return this.st-=t,(Ks(this.tt[s-1])<<8)+Ks(this.tt[s])>>7-e&255}}class js{constructor(t,s){this.et=t,this.it=s,this[ys]()}[ms](){this.rt=!0}[ys](){this.nt=new Map,this.ht=new WeakMap,this.ot=!1,this.at=!1,this.lt=null,this.rt=!1}[Ms](t,s){if(this.it){this.lt!==t&&(this.lt=t,this.at=!0);const e=this.ht.get(this.nt.get(this.ut));this.at&&e&&this.it({dt:t,...e},s),this.at=!1}}[us](t){const s=this.nt.get(t);return s&&this.ft(t),s}[ds](t,s,e){this.rt&&(this.ot||(this.et({...s}),this.ot=!0),this.ft(t),this.nt.set(t,s),this.ht.set(s,e))}ft(t){this.it&&t!==this.ut&&(this.at=!0,this.ut=t)}}const Qs=new WeakMap,ks=new WeakMap;class Gs{constructor(t,s){this.yt=t,this.nt=s}*[ls](){let t;for(;;){if(t=yield*this.bt[Us](this.yt,this.nt,0),t)return t;this.yt[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=ks.get(s)[F];if(t||this.yt.wt||(yield*this.At[us](this.yt,this.nt,e)))return this.nt[ms](),this.yt[rs](e),this.yt[hs](s),s;this.yt[os](`Missing ${Ot} at ${e} bytes from current position.`,`Dropping current ${Ot} and trying again.`),this.nt[ys](),this.yt[rs](1)}}class Ns{constructor(t,s){ks.set(this,{[k]:t}),this[D]=s}}class Vs extends Ns{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Qs.get(n)[vt],i=Qs.get(n)[Xt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[k]=t,this[Xt]=e,this[R]=e/t[Jt]*1e3,this[Ht]=null,this[ts]=null,this[es]=null,this[ss]=null,ks.get(this)[F]=s[F]}}const zs="unsynchronizationFlag",Js="extendedHeaderFlag",Ws="experimentalFlag",Xs="footerPresent";class Is{static*Pt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[zs]=!!(128&r[5]),i[Js]=!!(64&r[5]),i[Ws]=!!(32&r[5]),i[Xs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[F]=10+n,new Is(i)}constructor(t){this[lt]=t[lt],this[zs]=t[zs],this[Js]=t[Js],this[Ws]=t[Ws],this[Xs]=t[Xs],this[F]=t[F]}}class Zs{constructor(t){Qs.set(this,t),this[w]=t[w],this[A]=null,this[Pt]=t[Pt],this[At]=t[At],this[Jt]=t[Jt]}}const Fs={0:[Ps,Ps,Ps,Ps,Ps],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Ys=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let Mi=2;Mi<15;Mi++)Fs[Mi<<4]=[32*Mi,Ys(Mi,4,0),Ys(Mi,4,-1),Ys(Mi,8,4),Ys(Mi,8,0)];const qs="bands ",_s=" to 31",te={0:qs+4+_s,16:qs+8+_s,32:qs+12+_s,48:qs+16+_s},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[K]:As},2:{[K]:"Layer III",[Et]:1,[q]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Xt]:1152},[ee]:{[se]:4,[Xt]:576}},4:{[K]:"Layer II",[Et]:1,[q]:te,[Xt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[K]:"Layer I",[Et]:4,[q]:te,[Xt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[K]:le+"2.5 (later extension of MPEG 2)",[Z]:ee,[Jt]:{0:11025,4:12e3,8:L,12:As}},8:{[K]:As},16:{[K]:`${le}2 (${ce}13818-3)`,[Z]:ee,[Jt]:{0:y,4:M,8:m,12:As}},24:{[K]:`${le}1 (${ce}11172-3)`,[Z]:ie,[Jt]:{0:f,4:U,8:p,12:As}},length:F},de={0:Cs,1:Bs},Ue={0:Bs,1:"50/15 ms",2:As,3:"CCIT J.17"},fe={0:{[Pt]:2,[K]:l},64:{[Pt]:2,[K]:"joint "+l},128:{[Pt]:2,[K]:"dual channel"},192:{[Pt]:1,[K]:a}};class pe extends Zs{static*[us](t,s,e){const i={},r=yield*Is.Pt(t,s,e);r&&(yield*t[is](r[F],e),t[rs](r[F]));const n=yield*t[is](4,e),h=Es(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[K]===As)return null;const l=6&n[1];if(ae[l][K]===As)return null;const c={...ae[l],...ae[l][a[Z]]};if(i[tt]=a[K],i[Z]=c[K],i[Xt]=c[Xt],i[ht]=de[1&n[1]],i[F]=4,i[A]=Fs[240&n[2]][c[se]],i[A]===xs)return null;if(i[Jt]=a[Jt][12&n[2]],i[Jt]===As)return null;if(i[Et]=2&n[2]&&c[Et],i[X]=!!(1&n[2]),i[vt]=Math.floor(125*i[A]*i[Xt]/i[Jt]+i[Et]),!i[vt])return null;const u=192&n[3];if(i[At]=fe[u][K],i[Pt]=fe[u][Pt],i[q]=c[q][48&n[3]],i[N]=!!(8&n[3]),i[W]=!!(4&n[3]),i[j]=Ue[3&n[3]],i[j]===As)return null;i[w]=16;{const{length:t,frameLength:e,Bt:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[A]=t[A],this[j]=t[j],this[Et]=t[Et],this[N]=t[N],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[q]=t[q],this[tt]=t[tt],this[ht]=t[ht]}}class Me extends Vs{static*[Us](t,s,e){return yield*super[Us](pe,Me,t,s,e)}constructor(t,s,e){super(t,s,e)}}class ye extends Gs{constructor(t,s,e){super(t,s),this.bt=Me,this.At=pe,e(this[O])}get[O](){return _}*[fs](){return yield*this[cs]()}}const me={0:"MPEG-4",8:"MPEG-2"},Le={0:"valid",2:xs,4:xs,6:xs},be={0:Cs,1:Bs},ge={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},we={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:M,28:y,32:m,36:12e3,40:11025,44:L,48:7350,52:As,56:As,60:"frequency is written explicitly"},Ae={0:{[Pt]:0,[K]:"Defined in AOT Specific Config"},64:{[Pt]:1,[K]:a},128:{[Pt]:2,[K]:u(2,h[0][0])},192:{[Pt]:3,[K]:u(3,h[1][3])},256:{[Pt]:4,[K]:u(4,h[1][3],h[3][4])},320:{[Pt]:5,[K]:u(5,h[1][3],h[3][0])},384:{[Pt]:6,[K]:u(6,h[1][3],h[3][0],o)},448:{[Pt]:8,[K]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends Zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=Es([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=me[8&r[1]],i[Z]=Le[6&r[1]],i[Z]===xs)return null;const t=1&r[1];i[ht]=be[t],i[F]=t?7:9,i[nt]=192&r[2],i[Wt]=60&r[2];const e=2&r[2];if(i[rt]=ge[i[nt]],i[Jt]=we[i[Wt]],i[Jt]===As)return null;i[X]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[At]=Ae[i[xt]][K],i[Pt]=Ae[i[xt]][Pt],i[W]=!!(32&r[3]),i[z]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Tt]=!!(4&r[3]),i[w]=16,i[Xt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,$t:r,vt:h,frameLength:o,Bt:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[vt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[vt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[T]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Tt]=t[Tt],this[T]=t[T],this[z]=t[z],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[F]=t[F],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get Ht(){const t=Qs.get(this),s=t[nt]+64<<5|t[Wt]<<5|t[xt]>>3,e=new gs(2);return new ws(e[C]).setUint16(0,s,!1),e}}class Pe extends Vs{static*[Us](t,s,e){return yield*super[Us](xe,Pe,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Be extends Gs{constructor(t,s,e){super(t,s),this.bt=Pe,this.At=xe,e(this[O])}get[O](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Vs{static Et(t){return(t[t[F]-2]<<8)+t[t[F]-1]}static[bs](t){const s=Ce.Et(t),e=(t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=$s[15][i>>8]^$s[14][255&i]^$s[13][t[r++]]^$s[12][t[r++]]^$s[11][t[r++]]^$s[10][t[r++]]^$s[9][t[r++]]^$s[8][t[r++]]^$s[7][t[r++]]^$s[6][t[r++]]^$s[5][t[r++]]^$s[4][t[r++]]^$s[3][t[r++]]^$s[2][t[r++]]^$s[1][t[r++]]^$s[0][t[r++]];for(;r!==s;)i=(255&i)<<8^$s[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ft]=e,s[H]=Ce.Et(t),super(s,t,Qs.get(s)[Xt])}}const Te="get from STREAMINFO metadata block",Oe={0:"Fixed",1:"Variable"},$e={0:As,16:192};for(let Mi=2;Mi<16;Mi++)$e[Mi<<4]=Mi<6?576*2**(Mi-2):2**Mi;const ve={0:Te,1:88200,2:176400,3:192e3,4:L,5:m,6:y,7:M,8:p,9:f,10:U,11:96e3,15:xs},Se={0:{[Pt]:1,[K]:a},16:{[Pt]:2,[K]:u(2,h[0][0])},32:{[Pt]:3,[K]:u(3,h[0][1])},48:{[Pt]:4,[K]:u(4,h[1][0],h[3][0])},64:{[Pt]:5,[K]:u(5,h[1][1],h[3][0])},80:{[Pt]:6,[K]:u(6,h[1][1],o,h[3][0])},96:{[Pt]:7,[K]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[Pt]:8,[K]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[Pt]:2,[K]:l+" (left, diff)"},144:{[Pt]:2,[K]:l+" (diff, right)"},160:{[Pt]:2,[K]:l+" (avg, diff)"},176:As,192:As,208:As,224:As,240:As},He={0:Te,2:8,4:12,6:As,8:16,10:20,12:24,14:As};class Ee extends Zs{static Kt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[F];for(let i=0;i!==e;i++)s=Os[s^t[i]];return s})(i[at](0,r[F]-1)))return null;if(!h){const{Qt:t,frameNumber:e,kt:i,Bt:h,vt:o,Gt:a,Nt:l,length:c,...u}=r;s[ds](n,r,u)}return new Ee(r)}constructor(t){super(t),this[H]=null,this[ft]=t[ft],this[Mt]=t[Mt],this[Ht]=t[Ht],this[zt]=t[zt],this[Ft]=null}}class De extends Gs{constructor(t,s,e){super(t,s),this.bt=Ce,this.At=Ee,e(this[O])}get[O](){return"flac"}*Vt(t){const s=yield*this.yt[is](2,0),e=s[F]-2;for(;t{const s=Ee[Ls](t,this.nt);if(s)return new Ce(t,s,this.Jt);this.yt[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ke{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[qt]=r[4],248&r[5])return null;i[J]=!!(4&r[5]),i[V]=!!(2&r[5]),i[G]=!!(1&r[5]);const n=new ws(gs.from(r[at](0,28))[C]);try{i[b]=n.getBigInt64(6,!0)}catch{}i[Yt]=n.getInt32(14,!0),i[Nt]=n.getInt32(18,!0),i[Qt]=n.getInt32(22,!0);const h=r[26];i[F]=h+27,r=yield*t[is](i[F],e),i[vt]=0,i[Gt]=[],i[kt]=gs.from(r[at](27,i[F]));for(let o=0,a=0;o{const s=Ze[Ls](this.It,t,this.nt);if(s)return new je(t,s);this.yt[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Ye extends Vs{constructor(t,s,e){super(s,t,e)}}const qe={};for(let Mi=0;Mi<8;Mi++)qe[Mi+6]=2**(6+Mi);class _e extends Zs{static[Ls](t,s,e,i){if(t[F]<30)throw Error("Out of data while inside an Ogg Page");const r=Es(t[at](0,30)),n=s[us](r);if(n)return new _e(n);const h={[F]:30};if("vorbis"!==r.substr(0,7))return null;h[D]=gs.from(t[at](0,30));const o=new ws(h[D][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[Pt]=t[11],h[At]=d[h[Pt]-1]||"application defined",h[Jt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[B]=o.getInt32(20,!0),h[P]=o.getInt32(24,!0),h[mt]=qe[(240&t[28])>>4],h[yt]=qe[15&t[28]],h[yt]>h[mt])return null;if(1!==t[29])return null;h[w]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Zt:n,Ft:o,...a}=h;s[ds](r,h,a)}return new _e(h)}constructor(t){super(t),this[x]=t[x],this[P]=t[P],this[B]=t[B],this[yt]=t[yt],this[mt]=t[mt],this[D]=t[D],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Gs{constructor(t,s,e){super(t,s),this.bt=Ye,e(this[O]),this.It=null,this.Yt=!1,this.qt={count:0},this._t=0,this.ts=0}get[O](){return ct}[ps](t){t[$]=[];for(const s of ks.get(t)[ot])if(1===s[0])this.nt[ms](),this.It=t[D],this.Yt=!1;else if(3===s[0])this.ss=s;else if(5===s[0])this.es=s,this.qt=this.rs(s),this.Yt=!0;else if(this.Yt){const e=_e[Ls](this.It,this.nt,this.ss,this.es);e?t[$].push(new Ye(s,e,this.ns(s,e))):this.yt[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")}return t}ns(t,s){const e=t[0]>>1,i=this.qt[e&this.qt.mask];i&&(this._t=e&this.qt.hs?s[mt]:s[yt]),this.ts=i?s[mt]:s[yt];const r=this._t+this.ts>>2;return this._t=this.ts,r}rs(t){const s=new Rs(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ks(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.yt[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ks(r))>>1)!==n.count)throw this.yt[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Nt]>1&&this.yt[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.Ms+1}, Got: ${t[Nt]}`),this.Ms=t[Nt]}ys(t){null===this.us&&(this.Ms=t[Nt],this.us=this.fs(t)),this.ps(t);const s=ks.get(t),e=Qs.get(s[k]);let i=0;if(s[ot]=e[Gt].map((s=>t[D][at](i,i+=s))),this.ls[F]&&(s[ot][0]=Hs(this.ls,s[ot][0]),this.ls=new gs),255===e[kt][e[kt][F]-1]&&(this.ls=Hs(this.ls,s[ot].pop())),this.us){const s=this.Us[ps](t);return this.yt[hs](s),s}return t}}class ei extends Gs{constructor(t,s,e){super(t,s),this.os=e,this.bt=Re,this.At=Ke,this.Ls=new Map,this.bs=null}get[O](){const t=this.Ls.get(this.bs);return t?t.Ct:""}*[fs](){const t=yield*this[cs](!0);this.bs=t[Yt];let s=this.Ls.get(this.bs);return s||(s=new si(this.yt,this.nt,this.os),this.Ls.set(this.bs,s)),t[J]&&this.Ls.delete(this.bs),s.ys(t)}}const ii=()=>{};class ri{constructor(t,{gs:s,ws:e,As:i,xs:r=!1,Ps:n=!0}={}){this.Bs=t,this.os=s||ii,this.et=e||ii,this.it=i,this.Cs=r,this.Ts=n?Ss:ii,this.Os=this.$s(),this.Os.next()}get[O](){return this.Us[O]}*flush(){this.wt=!0;for(let t=this.Os.next();t.value;t=this.Os.next())yield t.value;this.wt=!1,this.Os=this.$s(),this.Os.next()}*vs(t){for(let s=this.Os.next(t);s.value;s=this.Os.next())yield s.value}parseAll(t){return[...this.vs(t),...this.flush()]}*$s(){if(this.nt=new js(this.et,this.it),this.Bs.match(/aac/))this.Us=new Be(this,this.nt,this.os);else if(this.Bs.match(/mpeg/))this.Us=new ye(this,this.nt,this.os);else if(this.Bs.match(/flac/))this.Us=new De(this,this.nt,this.os);else{if(!this.Bs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.Us=new ei(this,this.nt,this.os)}for(this.Ss=0,this.Hs=0,this.Es=0,this.Ds=0,this.Ks=0,this.Rs=void 0,this.js=new Uint8Array(0);;){const t=yield*this.Us[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.js[F]<=t+s;){if(e=yield,this.wt)return this.js[at](s);e&&(this.Es+=e[F],this.js=Hs(this.js,e))}return this.js[at](s)}[rs](t){this.Hs+=t,this.js=this.js[at](t)}[ns](t){this.Rs=t[k][Jt],t[k][A]=8*Math.round(t[D][F]/t[R]),t[Ht]=this.Ss++,t[ts]=this.Ds,t[es]=this.Ks,t[ss]=this.Ks/this.Rs*1e3,t[E]=this.Ts(t[D]),this.nt[Ms](t[k][A],t[ss]),this.Ds+=t[D][F],this.Ks+=t[Xt]}[hs](t){t[$]?(t[$].forEach((s=>{t[R]+=s[R],t[Xt]+=s[Xt],this[ns](s)})),t[es]=this.Ks,t[ss]=this.Ks/this.Rs*1e3||0,t[ts]=this.Ds):this[ns](t)}Ns(t,s){if(this.Cs){const e=[`${O}: ${this[O]}`,"inputMimeType: "+this.Bs,"readPosition: "+this.Hs,"totalBytesIn: "+this.Es,`${ts}: ${this.Ds}`],i=Math.max(...e.map((t=>t[F])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Ns(console.warn,t)}[as](...t){this.Ns(console.error,t)}}const ni=$,hi=D,oi=k,ai=ut,li=dt;function ci(t){function s(){}for(var e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;var r,n;e[43]=62,e[47]=63,ci.L||Object.defineProperty(ci,"L",{get:()=>String.raw`dynEncode01df9b7dd5a5+nd ã ë$Þ.¥ÐåæÙ_ýÅOV–;ÈCæRԔ¶¾OÂPÎ\y×[ @@ -181,5 +181,5 @@ eqȲA(·ïòHÜOæˆÓº!…;'›BH”‰oËl›,Í.“p6L<ÃÔFô̇ñŒ½ˆÌ Q58ö£é9ëC³Â¸q’Rø®í@Žú¤‘jD+ËÀÉü‹Cšd¼úx¡½«AÈy!õ‚˜¬Õ’‘iZ{K£ðôž5ñþԝõŽ´l&cHØ~-][Ñ(­¦Ï}ŽæÏpXÂ×­ÄRØɬۓeޗJÃe]WfHõ½Té–Í«Á”ŽóÏ外—ÖM f"{Û?—)ûY‹ð:®µñ@»,‡ÚH¤_y]AKödåÀ›9-»áR¤´AR0k?h%p¾[f— ÑJ‘O+«ñ@ÅáP Ýu§÷Mô*J¤Žp øzˆp.–³qD‰š¨”,“ѳ>’úvÌöøƒP¥ßø¨¥¨…þŧµ¼"ÃÉ\«bLv" 8ƒÊK‘ÛÍrªí oZ½qù8ÄÔÁ.Q0j¶IsŸx”sì®ù {¬ô~)SüóRb±²F_ažn4í¬0µJ"sØ*BóÊ?‚чGšÑ½àDÅÙC¤ÌÚHDrF= ñ7Âu±¿ÍR$%[1=Mµ5ÈÆ,³Ç¬üJȺƒµ>¨N.<NJ.Z£Óò´åœ¦†ÝÞʑJ -cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õRØgmãq'l둧nái@G„½0%ä4³“—ü¡x4|Î¥VýyG€üo¾ ö÷¹¾ÂG”šOË`});var h,o,a,l,c,u,d,U={a:{b:t=>Math.atan(t),a:t=>Math.cos(t),d:t=>Math.exp(t),e:t=>Math.log(t),f:(t,s)=>Math.pow(t,s),c:t=>Math.sin(t),h(t,s,e){r.copyWithin(t,s,s+e)},g(t){r.length,(t=>{throw"OOM"})()}}};this.u=s=>{t.u(ci,s)},this.U=()=>t.U(ci),this.instantiate=()=>(this.U().then((t=>WebAssembly.instantiate(t,U))).then((t=>{var e,i=t.exports;h=i.k,o=i.l,a=i.m,l=i.n,c=i.o,u=i.p,d=i.q,i.r,e=i.i.buffer,n=e,r=new Uint8Array(e),(t=>{t.j()})(i),s()})),this.ready=new Promise((t=>{s=t})).then((()=>{this.N=n,this.H=o,this.free=d,this.ks=h,this.Gs=a,this.Ns=l,this.Vs=c,this.zs=u})),this)}function ui(){return this.Js=()=>(new this.Ws).instantiate(this.Xs,this.Is).then((t=>{this.Zs=t,this.Fs=this.Zs.S(this.Ys,Uint8Array),this.qs=!0,this._s=this.Zs.S(1,Uint32Array),this.te=this.Zs.S(1,Uint32Array),this.se=this.Zs.S(1,Uint32Array),this.Ss=this.Zs.S(1,Uint32Array),this.ee=this.Zs.S(1,Uint32Array),this.ie=this.Zs.S(256,Uint32Array),this.re=this.Zs.S(1,Int32Array),this.Cs=0,this.ne=0,this.he=0,this.oe=this.Zs.L.ks(this.Fs.K,this._s.K,this.te.K,this.se.K,this.Ss.K,this.ee.K,this.ie.K,this.re.K,256)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.ae}),this.reset=()=>(this.free(),this.Js()),this.free=()=>{this.Zs.L.zs(this.oe),this.Zs.free()},this.sendSetupHeader=t=>{this.Fs.G.set(t),this._s.G[0]=t.length,this.Zs.L.Gs(this.oe,this.qs),this.qs=!1},this.initDsp=()=>{this.Zs.L.Ns(this.oe)},this.decodePackets=t=>{let s=[],e=0,i=[];for(let r=0;r{if("vorbis"!==t)throw Error("@wasm-audio-decoders/ogg-vorbis does not support this codec "+t)},new e,this.Js(),this[di](ui)}Js(){this.ce=!0,this.yt=new ii("audio/ogg",{ps:this.hs,bs:!1})}[di](t){if(this.oe){const t=this.oe;t.ready.then((()=>t.free()))}this.oe=new t,this.ae=this.oe.ready}get ready(){return this.ae}async reset(){return this.Js(),this.oe.reset()}free(){this.oe.free()}async de(t){const s=[];for(let e=0;e1&&this.ce){const t=i[ri][0][hi];this.oe.sendSetupHeader(t[oi]),this.oe.sendSetupHeader(t[ai]),this.oe.initDsp(),this.ce=!1}s.push(...i[ri].map((t=>t[ni])))}return this.oe.decodePackets(s)}async decode(t){return this.de([...this.yt.Bs(t)])}async flush(){const t=this.de([...this.yt.flush()]);return await this.reset(),t}async decodeFile(t){const s=this.de([...this.yt.parseAll(t)]);return await this.reset(),s}}class fi extends i{constructor(t){super(t,"ogg-vorbis-decoder",ui,ci)}async sendSetupHeader(t){return this._("sendSetupHeader",t)}async initDsp(){return this._("initDsp")}async decodePackets(t){return this._("decodePackets",t)}}class pi extends Ui{constructor(){super(),super[di](fi)}async free(){super.free()}terminate(){this.oe.terminate()}}r(Ui,"OggVorbisDecoder"),r(pi,"OggVorbisDecoderWebWorker"),t.OggVorbisDecoder=Ui,t.OggVorbisDecoderWebWorker=pi},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["ogg-vorbis-decoder"]={},t.Worker); +cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õRØgmãq'l둧nái@G„½0%ä4³“—ü¡x4|Î¥VýyG€üo¾ ö÷¹¾ÂG”šOË`});var h,o,a,l,c,u,d,U={a:{b:t=>Math.atan(t),a:t=>Math.cos(t),d:t=>Math.exp(t),e:t=>Math.log(t),f:(t,s)=>Math.pow(t,s),c:t=>Math.sin(t),h(t,s,e){r.copyWithin(t,s,s+e)},g(t){r.length,(t=>{throw"OOM"})()}}};this.u=s=>{t.u(ci,s)},this.U=()=>t.U(ci),this.instantiate=()=>(this.U().then((t=>WebAssembly.instantiate(t,U))).then((t=>{var e,i=t.exports;h=i.k,o=i.l,a=i.m,l=i.n,c=i.o,u=i.p,d=i.q,i.r,e=i.i.buffer,n=e,r=new Uint8Array(e),(t=>{t.j()})(i),s()})),this.ready=new Promise((t=>{s=t})).then((()=>{this.N=n,this.H=o,this.free=d,this.Js=h,this.Ws=a,this.Xs=l,this.Is=c,this.Zs=u})),this)}function ui(){return this.Fs=()=>(new this.Ys).instantiate(this.qs,this._s).then((t=>{this.te=t,this.se=this.te.S(this.ee,Uint8Array),this.ie=!0,this.re=this.te.S(1,Uint32Array),this.ne=this.te.S(1,Uint32Array),this.he=this.te.S(1,Uint32Array),this.Rs=this.te.S(1,Uint32Array),this.oe=this.te.S(1,Uint32Array),this.ae=this.te.S(256,Uint32Array),this.le=this.te.S(1,Int32Array),this.Ss=0,this.ce=0,this.ue=0,this.de=this.te.L.Js(this.se.K,this.re.K,this.ne.K,this.he.K,this.Rs.K,this.oe.K,this.ae.K,this.le.K,256)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.Ue}),this.reset=()=>(this.free(),this.Fs()),this.free=()=>{this.te.L.Zs(this.de),this.te.free()},this.sendSetupHeader=t=>{this.se.G.set(t),this.re.G[0]=t.length,this.te.L.Ws(this.de,this.ie),this.ie=!1},this.initDsp=()=>{this.te.L.Xs(this.de)},this.decodePackets=t=>{let s=[],e=0,i=[];for(let r=0;r{if("vorbis"!==t)throw Error("@wasm-audio-decoders/ogg-vorbis does not support this codec "+t)},new e,this.Fs(),this[di](ui)}Fs(){this.pe=!0,this.yt=new ri("audio/ogg",{gs:this.os,Ps:!1})}[di](t){if(this.de){const t=this.de;t.ready.then((()=>t.free()))}this.de=new t,this.Ue=this.de.ready}get ready(){return this.Ue}async reset(){return this.Fs(),this.de.reset()}free(){this.de.free()}async ye(t){const s=[];for(let e=0;et[hi])))}return this.de.decodePackets(s)}async decode(t){return this.ye([...this.yt.vs(t)])}async flush(){const t=this.ye([...this.yt.flush()]);return await this.reset(),t}async decodeFile(t){const s=this.ye([...this.yt.parseAll(t)]);return await this.reset(),s}}class fi extends i{constructor(t){super(t,"ogg-vorbis-decoder",ui,ci)}async sendSetupHeader(t){return this._("sendSetupHeader",t)}async initDsp(){return this._("initDsp")}async decodePackets(t){return this._("decodePackets",t)}}class pi extends Ui{constructor(){super(),super[di](fi)}async free(){super.free()}terminate(){this.de.terminate()}}r(Ui,"OggVorbisDecoder"),r(pi,"OggVorbisDecoderWebWorker"),t.OggVorbisDecoder=Ui,t.OggVorbisDecoderWebWorker=pi},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["ogg-vorbis-decoder"]={},t.Worker); //# sourceMappingURL=ogg-vorbis-decoder.min.js.map \ No newline at end of file diff --git a/demo/ogg-vorbis-decoder.min.js.map b/demo/ogg-vorbis-decoder.min.js.map index 9997708..5d11c5d 100644 --- a/demo/ogg-vorbis-decoder.min.js.map +++ b/demo/ogg-vorbis-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments$1","vorbisSetup$1","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber$1","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ct","codecData","_currentHeader","Ut","key","header","_updateCurrentHeader","Mt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Lt","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","Bt","MPEGFrame","MPEGParser","onCodec","Tt","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","$t","vt","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","jt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Qt","kt","Gt","Nt","FLACParser","Vt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","zt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Xt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Zt","vorbisSetup","Ft","vorbisComments","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ps","Ms","ys","Ls","enableLogging","bs","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","Bs","chunk","parseAll","fileData","parseChunk","Ps","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Es","increment","Ds","round","Ks","codecFrame","_log","logger","messages","stats","width","max","s","repeat","js","console","warn","Qs","error","codecFrames","pageSequenceNumber","base64ReverseLookup","HEAPU8","_create_decoder","_malloc","_send_setup","_init_dsp","_decode_packets","_destroy_decoder","_free","imports","a","atan","cos","d","exp","e","log","f","pow","sin","h","dest","src","num","copyWithin","g","requestedSize","what","abort","instance","asm","initRuntime","create_decoder","send_setup","init_dsp","decode_packets","destroy_decoder","_init","common","_common","_input","_inputSize","_firstPage","_inputLen","_outputBufferPtr","_channels","_samplesDecoded","_errors","_errorsLength","_inputBytes","_outputSamples","_decoder","_ready","sendSetupHeader","initDsp","decodePackets","packets","outputBuffers","packetIdx","packet","outputBufferChannels","_isWebWorker","setDecoderClass","OggVorbisDecoder","_vorbisSetupInProgress","ue","decoderClass","oldDecoder","oggPages","vorbisData","decodeOggPages","decoded","DecoderWorker","OggVorbisDecoderWebWorker","require","define","amd"],"sources":["ogg-vorbis-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments$1","vorbisSetup$1","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ct","codecData","_currentHeader","Ut","key","header","_updateCurrentHeader","Mt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Lt","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","Bt","MPEGFrame","MPEGParser","onCodec","Tt","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","$t","vt","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","jt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Qt","kt","Gt","Nt","FLACParser","Vt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","zt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Xt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Zt","vorbisSetup","Ft","vorbisComments","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","gs","ws","As","xs","enableLogging","Ps","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","vs","chunk","parseAll","fileData","parseChunk","$s","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Qs","increment","ks","round","Gs","codecFrame","_log","logger","messages","stats","width","max","s","repeat","Vs","console","warn","zs","error","codecFrames","base64ReverseLookup","HEAPU8","_create_decoder","_malloc","_send_setup","_init_dsp","_decode_packets","_destroy_decoder","_free","imports","a","atan","cos","d","exp","e","log","f","pow","sin","h","dest","src","num","copyWithin","g","requestedSize","what","abort","instance","asm","initRuntime","create_decoder","send_setup","init_dsp","decode_packets","destroy_decoder","_init","common","_common","_input","_inputSize","_firstPage","_inputLen","_outputBufferPtr","_channels","_samplesDecoded","_errors","_errorsLength","_inputBytes","_outputSamples","_decoder","_ready","sendSetupHeader","initDsp","decodePackets","packets","outputBuffers","packetIdx","packet","outputBufferChannels","_isWebWorker","setDecoderClass","OggVorbisDecoder","_vorbisSetupInProgress","Me","decoderClass","oldDecoder","oggPages","vorbisData","decodeOggPages","decoded","DecoderWorker","OggVorbisDecoderWebWorker","require","define","amd"],"sources":["ogg-vorbis-decoder.js"],"mappings":";AAAA,IAAWA,EAAQC,EAARD,EAIRE,KAJgBD,EAIV,SAAWE,EAASC,GAE3B,SAASC,IAEP,MAAMC,EAAaC,WACbC,EAAeC,aAEhBJ,EAAuBK,GAC1BC,OAAOC,iBAAiBP,EAAwB,CAC9CK,EAAS,CACPG,MAAO,IAAIC,SAGbC,EAAW,CACTF,MAAMG,EAAKC,GACTZ,EAAuBK,EAAQQ,IAAIF,EAAKG,QAAQC,QAAQH,GAC1D,GAGFI,EAAW,CACTR,MAAMG,EAAKM,GACT,IAAIL,EAASZ,EAAuBK,EAAQa,IAAIP,GAiBhD,OAfKC,IACEK,EAMHL,EAASO,YAAYC,QACnBpB,EAAuBqB,EAAgBJ,KANzCA,EAAaN,EAAIW,EACjBV,EAASZ,EAAuBuB,EAC9BN,GACAO,MAAMC,GAASN,YAAYC,QAAQK,MAOvCzB,EAAuBK,EAAQQ,IAAIF,EAAKC,IAGnCA,CACT,GAGFc,EAAe,CACblB,MAAMmB,EAASC,GACb,IAAIC,EAAM,IAAI1B,EAAayB,GACzBE,EAAI,EACJC,EAAS,EAEX,KAAOD,EAAIH,EAAQC,QACjBC,EAAIhB,IAAIc,EAAQG,GAAIC,GACpBA,GAAUJ,EAAQG,KAAKF,OAGzB,OAAOC,CACT,GAGFG,EAAiB,CACfxB,MAAO,CAACyB,EAAQC,EAAaC,EAAgBC,EAAYC,KAAa,CACpEJ,IACAC,cACAC,iBACAC,aACAC,cAIJC,EAA6B,CAC3B9B,MACEyB,EACAM,EACAC,EACAL,EACAC,EACAC,GAEA,IACEP,EACAW,EAFEP,EAAc,GAIlB,IAAKJ,EAAI,EAAGA,EAAIU,EAAiBV,IAAK,CACpC,MAAMY,EAAU,GAChB,IAAKD,EAAI,EAAGA,EAAIF,EAAMX,QAAUc,EAAQC,KAAKJ,EAAME,KAAKX,IAAM,IAC9DI,EAAYS,KACV3C,EAAuB0B,EAAcgB,EAASP,GAElD,CAEA,OAAOnC,EAAuBgC,EAC5BC,EACAC,EACAC,EACAC,EACAC,EAEJ,GASFO,EAAY,CACVpC,MAAO,MACL,IACEsB,EACAW,EACAI,EAHED,EAAa,IAAIE,WAAW,KAKhC,IAAKhB,EAAI,EAAGA,EAAI,IAAKA,IAAK,CACxB,IAAKe,EAAIf,GAAK,GAAIW,EAAI,EAAGA,EAAI,IAAKA,EAChCI,EAAQ,WAAJA,EAAkBA,GAAK,EAAK,SAAaA,GAAK,EACpDD,EAAWd,GAAKe,CAClB,CACA,OAAOD,CACR,EAZM,IAeTvB,EAAiB,CACfb,MAAMuC,GACJ,IAIIC,EAGFC,EAEAC,EATEC,EAAS,IAAIlD,EAAW8C,EAAOnB,QAC/BG,EAASqB,SAASL,EAAOM,UAAU,GAAI,IAAK,IAC5CC,EAAgB,IAAMvB,EAGxBwB,GAAU,EACVC,EAAY,EAEZ1B,EAAI,GAEJ2B,EAAY,WAEd,KAAO3B,EAAIiB,EAAOnB,QAChBqB,EAAOF,EAAOW,WAAW5B,KAEZ,KAATmB,GAAgBM,GAKhBA,IACFA,GAAU,EACVN,GAAQ,IAGVE,EAAOK,GACLP,EAAOlB,GAAUkB,EAAO,EAAIA,EAAOK,EAAgBL,EAAOlB,EAE5D0B,EACGA,GAAa,EACdzD,EAAuB4C,EACuB,KAA1Ca,GAAa,GAAMN,EAAOK,QAf9BD,GAAU,EAoBd,IAAKP,EAAS,EAAGA,GAAU,EAAGA,GAAU,EACtCE,GACEE,SAASL,EAAOM,UAAU,GAAKL,EAAQ,GAAKA,GAAS,KAC3C,EAATA,EAEL,GAAIE,IAAgBO,EAClB,MAAUE,MAAM,8CAElB,OAAOR,EAAOS,SAAS,EAAGJ,EAC5B,GAGFjC,EAAwB,CACtBf,MAAMuC,GAGJ,OAFAA,EAAS/C,EAAuBqB,EAAgB0B,GAEzC,IAAIjC,SAASC,IAElB,MAAM8C,EAAaC,OAAOC,GAAG,4lFAE7B/D,EAAuBgB,EAAUhB,EAAwB6D,GACtDrC,MAAMF,GAASH,YAAY6C,YAAY1C,EAAM,CAAC,KAC9CE,MAAK,EAAG1B,cAEP,MAAMmE,EAAkB,IAAIC,IAAI5D,OAAO6D,QAAQrE,IAEzCsE,EAAOH,EAAgB/C,IAAI,QAC3BmD,EAASJ,EAAgB/C,IAAI,UAAkB,OAC/CoD,EAAY,IAAIrE,EAAWoE,GAC3BE,EAAW,IAAIC,SAASH,GAE9B,IAAII,EAAUR,EAAgB/C,IAAI,eAGlC,MAAMwD,EAAe3B,EAAOnB,OACtB+C,EAAkBF,EACxBA,GAAW,EACXF,EAASK,SAASD,EAAiBD,GAAc,GAGjD,MAAMG,EAAYJ,EAClBA,GAAWC,EACXJ,EAAUzD,IAAIkC,EAAQ8B,GAGtB,MAAMC,EAAgBL,EACtBA,GAAW,EACXF,EAASK,SACPE,EACAR,EAAUS,WAAaN,GACvB,GAIFL,EAAKK,EAASK,EAAeD,EAAWF,GAExC5D,EACEuD,EAAUU,MACRP,EACAA,EAAUF,EAASU,SAASH,GAAe,IAE9C,GACD,GAER,KAKNxE,OAAO4E,eAAerF,KAAM,IAAQ,CAClCsF,YAAY,EACZjE,IAAK,IAAMrB,KAAKuF,IAGlBvF,KAAKwF,EAAoB,CAACC,EAAY9C,EAAiBL,KACrD,IAAIgB,EAAS,GACXrB,EAAI,EAEN,KAAOA,EAAIU,GACTW,EAAOR,KACL2C,EAAWN,MACTlD,EAAIK,EACJL,IAAMK,EAAiBA,IAI7B,OAAOgB,CAAM,EAGftD,KAAK0F,EAAqB,CAACC,EAAKC,EAAYC,GAAa,KACvD,MAAMC,EAAM9F,KAAKuF,EAAMQ,EAAOH,EAAWI,kBAAoBL,GAG7D,OAFIE,GAAY7F,KAAKiG,EAAUC,IAAIJ,GAE5B,CACLA,EAAKA,EACLH,EAAKA,EACLQ,EAAK,IAAIP,EAAW5F,KAAKuF,EAAMa,EAAMN,EAAKH,GAC3C,EAGH3F,KAAKqG,KAAO,KACVrG,KAAKiG,EAAUK,SAASR,IACtB9F,KAAKuF,EAAMc,KAAKP,EAAI,IAEtB9F,KAAKiG,EAAUM,OAAO,EAGxBvG,KAAKwG,EAAgBV,IACnB,MAAMW,EAAa,GACjBC,EAAO,IAAIrG,WAAWL,KAAKuF,EAAMa,GACnC,IAAK,IAAIO,EAAYD,EAAKZ,GAAoB,IAAda,EAAiBA,EAAYD,IAAOZ,GAClEW,EAAW3D,KAAK6D,GAElB,OAAO1C,OAAO2C,aAAaC,MAAM,KAAMJ,EAAW,EAGpDzG,KAAK8G,EAAW,CACd1E,EACA2E,EACAC,EACAC,EACAC,EACAC,KAEA/E,EAAOU,KAAK,CACViE,QAASA,EACTC,YAAaA,EACbC,YAAaA,EACbC,WAAYA,EACZC,cAAeA,GACf,EAGJnH,KAAKmE,YAAc,CAACiD,EAAiBC,KAC/BA,GAASlH,EAAuBU,EAAUuG,EAAiBC,GAC/DrH,KAAKuF,EAAQ,IAAI6B,EAAgBjH,GAAwBgE,cACzDnE,KAAKiG,EAAY,IAAIqB,IAEdtH,KAAKuF,EAAMgC,MAAM5F,MAAK,IAAM3B,OAEvC,CAIA,MAAMwH,UAFY,KAAMC,WAAWC,QAAUxH,EAERyH,IACnCC,YAAYC,EAASC,EAAMC,EAASC,GAC7B7H,EAAuBK,GAAS,IAAIL,EAEzC,IAAI+C,EAAS/C,EAAuBK,EAAQa,IAAI0G,GAEhD,IAAK7E,EAAQ,CACX,IACE+E,EADEC,EAAO,kBAETC,EAGE,iBAAI,KAAEC,EAAUC,EAAyBjB,KAIzC,IAAIkB,EACFC,EACAC,EAAgB,IAAIvH,SAASC,IAC3BqH,EAAgBrH,CAAO,IAG3BuH,KAAKC,UAAY,EAAG9G,MAAQ+G,KAAIC,UAAShH,YACvC,IAEEiH,EAFEC,EAAiBN,EACnBO,EAAiB,CAAEJ,MAGL,SAAZC,GACFnI,OAAOC,iBAAiB0H,EAAU,CAChCjI,EAAwB,CAAEQ,MAAO0H,GACjCL,EAAgB,CAAErH,MAAOyG,GACzBrG,EAAQ,CAAEJ,MAAOiB,EAAKb,GACtBiI,EAAa,CAAErI,OAAO,KAGxB2H,EAAU,IAAIF,EAASxG,EAAKiG,SAC5BU,KACqB,SAAZK,EACTN,EAAQjC,OACa,UAAZuC,EACTE,EAAiBA,EAAenH,MAAK,IAAM2G,EAAQf,QAC9B,UAAZqB,EACTE,EAAiBA,EAAenH,MAAK,IAAM2G,EAAQW,WAKnDxI,OAAOyI,OACLH,EACAT,EAAQM,GAENO,MAAMC,QAAQxH,GACVA,EAAKyH,KAAKzH,GAAS,IAAIvB,WAAWuB,KAClC,IAAIvB,WAAWuB,KAKvBiH,EAAeE,EAAe1G,YAC1B0G,EAAe1G,YAAYgH,KAAKxG,GAAYA,EAAQyG,SACpD,IAGNR,EAAenH,MAAK,IAClB8G,KAAKc,YAAYR,EAAgBF,IAClC,CAEJ,OAAiBd,MAAY5H,MAA2B6H,KAE3D,IACEC,OAA0C,IAA1BuB,QAAQC,SAASC,IACnC,CAAE,MAAO,CAETxG,EAAS+E,EACL,QAAQC,YAAeyB,OAAOC,KAAKzB,GAAqB0B,SACxD,YAEAC,IAAIC,gBAAgB,IAAIC,KAAK,CAAC7B,GAAsB,CAAED,UAE1D/H,EAAuBK,EAAQQ,IAAI+G,EAAS7E,EAC9C,CAEA+G,MAAM/G,EAAQ,CAAE4E,SAEhB9H,KAAKkK,EAAMC,OAAOC,iBAClBpK,KAAKqK,EAAsB,IAAIhG,IAE/BrE,KAAK0I,UAAY,EAAG9G,WAClB,MAAM+G,GAAEA,KAAO2B,GAAS1I,EACxB5B,KAAKqK,EAAoBhJ,IAAIsH,EAA7B3I,CAAiCsK,GACjCtK,KAAKqK,EAAoBE,OAAO5B,EAAG,EAGrC,IAAIX,EAAe7H,GAAwBgB,IAAYQ,MAAMZ,IAC3Df,KAAKwK,EAAc,OAAQ,CAAEzJ,IAAQ8G,WAAU,GAEnD,CAEA4C,QAAoB7B,EAAShH,GAC3B,OAAO,IAAIX,SAASC,IAClBlB,KAAKuJ,YAAY,CACfX,UACAD,GAAI3I,KAAKkK,EACTtI,SAGF5B,KAAKqK,EAAoBrJ,IAAIhB,KAAKkK,IAAOhJ,EAAQ,GAErD,CAEIqG,YACF,OAAOvH,KAAKwK,EAAc,QAC5B,CAEAC,mBACQzK,KAAKwK,EAAc,QAAQE,SAAQ,KACvC1K,KAAK2K,WAAW,GAEpB,CAEAF,oBACQzK,KAAKwK,EAAc,QAC3B,EAGF,MAAMI,EAAc,CAACC,EAAO/C,KAC1BrH,OAAO4E,eAAewF,EAAO,OAAQ,CAAElK,MAAOmH,GAAO,EAGjDgD,EAASC,OAsCTC,EAAkB,MACtB,MAGMC,EAAO,OACPC,EAAS,SACTC,EAAQ,QAEd,MAAO,CAAC,GAAIC,SAAaC,QAAYC,SAAYjC,KAAKkC,GACpD,CACE,CAACN,EAAME,GACP,CAACF,EAAME,EAAOD,GACd,CAACD,EAAMC,EAAQC,GACf,CAACD,EAAQD,EAAME,GACf,CAACD,IACDM,SAASC,GAAMA,EAAEpC,KAAKqC,GAAMH,EAAIG,IAAGC,KAjBrB,SAmBnB,EAjBuB,GAmBlBC,EAAM,MACNC,EAAa,oBACbC,EAAS,SACTC,EAAW,WAEXC,EAAoB,CAACC,KAAiBC,IAC1C,GACA,CACEL,EACAC,EACA,UAAUC,EACV,eACA,OAAOA,EACP,OAAOA,EACP,OAAOA,EACP,OAAOA,GACPE,EAAe,OACdC,EAASP,KAtCM,SAyCdQ,EAA2B,CAC/BN,EACAG,EAAkB,EAAEhB,EAAgB,GAAG,IACvCgB,EAAkB,EAAEhB,EAAgB,GAAG,IACvCgB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,IAC7DgB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,IAC7DgB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGY,GAChEI,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGY,GACtFI,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGY,IASlFQ,EAAY,KACZC,EAAY,MACZC,EAAY,KACZC,EAAY,KACZC,EAAY,MACZC,EAAY,KAGZC,EAAW,IAIXC,EAA0B,0BAC1BC,EAAY,YACZpK,EAAW,WACXqK,EAAU,UACVC,EAAiBD,EAAU,UAC3BE,EAAiBF,EAAU,UAC3BG,EAAiBH,EAAU,UAC3BvD,EAAS,SACT2D,EAAiB3D,EAAS,WAC1B4D,EAAQ,QACRC,EAAgBD,EAAQ,SACxBE,EAAqB,qBACrBC,EAAM,MACNC,EAAQD,EAAM,KACdE,EAAQF,EAAM,KACdG,EAAS,OACTC,EAAc,cACdC,EAAW,WACXC,EAAW,WACXC,EAAiB,iBACjBC,EAAW,SACXC,EAAoB,oBACpBC,EAAgB,gBAChBC,EAAc,cACdC,EAAS,SACTC,EAAa,aACbC,EAAa,aACbC,EAAY,YACZC,EAAQ,QACRC,EAAQ,QACRvM,EAAS,SACTwM,EAAO,OACPC,EAAgBD,EAAO,YACvBE,EAAO,OACPC,GAAcD,EAAO,UACrBE,GAAkB,kBAClBC,GAAa,aACbC,GAAU,UACVC,GAAU,UACVC,GAAcjE,IACdkE,GAAa,aAEbC,GAAW,WACXlL,GAAW,WACXmL,GAAU,UACVC,GAAS,SACTC,GAAmBD,GAAS,WAC5BE,GAAgBF,GAAS,QAEzBG,GAAQ,QACRC,GAAmBD,GAAQ,cAC3BE,GAAuB1E,IACvB2E,GAAYH,GAAQ,OACpBI,GAAaJ,GAAQ,QACrBK,GAAaL,GAAQ,QACrBM,GAAgB9E,IAEhBjI,GAAU,UACVgN,GAAuBhN,GAAU,gBACjCiN,GAAsBjN,GAAU,eAChCkN,GAAclN,GAAU,OACxBmN,GAAkBlF,IAClBmF,GAAWpN,GAAU,IAErBqN,GAAY,YACZC,GAAcD,GAAY,KAC1BE,GAAmBF,GAAY,UAE/BG,GAAQ,QACRC,GAAaD,GAAQ,QACrBrJ,GAAcqJ,GAAQ,SAEtBE,GAAW,SACXtJ,GAAcoJ,GAAQE,GACtBC,GAAeH,GAAQ,UACvBI,GAAYJ,GAAQ,OAEpBK,GAAO,OACPC,GAAkB,cAAgBD,GAElCE,GAAO,OACPC,GAAeD,GAAO,WACtBE,GAAmBhG,IACnBiG,GAAmBH,GAAO,eAC1BI,GAAqBJ,GAAO,WAAaL,GAEzCU,GAAS,SACTC,GAAeD,GAASV,GACxBhO,GAAa0O,GAASP,GACtBS,GAAiBrG,IACjBsG,GAAUH,GAAS,IAEnBI,GAAS,SACTC,GAAcD,GAAS,QACvBE,GAAaF,GAAS,OACtBG,GAAqBH,GAAS,SAAWd,GACzCkB,GAAyBJ,GAAS,mBAElCK,GAAQ,QACRC,GAAgBD,GAAQ,WACxBE,GAAgBF,GAAQ,WACxBG,GAAeH,GAAQ,UAGvBI,GAAchH,IACdiH,GAAmBjH,IACnBkH,GAAqBlH,IACrBmH,GAAgBnH,IAChBoH,GAAapH,IACbqH,GAAWrH,IACXsH,GAAYtH,IACZuH,GAAuBvH,IACvBwH,GAAYxH,IACZyH,GAAYzH,IACZ0H,GAAW1H,IACX2H,GAAa3H,IACb4H,GAAe5H,IACf6H,GAAmB7H,IACnB7B,GAAQ6B,IACR8H,GAAS9H,IACT+H,GAA0B/H,IAC1BgI,GAAwBhI,IAExB1K,GAAaC,WACb0S,GAAWpO,SAEXqO,GAAW,WACXC,GAAM,MACN5M,GAAO,OACP6M,GAAO,OACPC,GAAgB,YAqBhBC,GAAc,CAACC,EAAUC,EAAyBC,KACtD,IAAK,IAAInQ,EAAO,EAAGA,EAAOiQ,EAAStR,GAASqB,IAAQ,CAClD,IAAIiK,EAAMiG,EAAwBlQ,GAElC,IAAK,IAAIoQ,EAAM,EAAGA,EAAM,EAAGA,IAAOnG,EAAMkG,EAAYlG,GAEpDgG,EAASjQ,GAAQiK,CACnB,CACA,OAAOgG,CAAQ,EAGXI,GAAYL,GAChB,IAAIhT,GAAW,MACdsT,GAAMA,IACNrG,GAAe,IAANA,EAAa,EAAQA,GAAO,EAAKA,GAAO,IAG9CsG,GAAiB,CACrBP,GACE,IAAIQ,YAAY,MACfF,GAAMA,GAAK,IACXrG,GAASA,GAAO,GAAY,MAANA,EAAkB,MAAS,MAIhDtK,GAAa,CACjBqQ,GACE,IAAIS,YAAY,MACfH,GAAMA,IACNrG,GAASA,IAAQ,EAAkB,YAAL,EAANA,MAK7B,IAAK,IAAIpL,GAAI,EAAGA,GAAI,GAAIA,KAAK,CAC3B0R,GAAe7Q,KAAK,IAAI8Q,YAAY,MACpC7Q,GAAWD,KAAK,IAAI+Q,YAAY,MAEhC,IAAK,IAAIjR,EAAI,EAAGA,GAAK,IAAMA,IACzB+Q,GAAe1R,GAAI,GAAGW,GACpB+Q,GAAe,GAAGA,GAAe1R,IAAGW,KAAO,GAC1C+Q,GAAe1R,IAAGW,IAAM,EAE3BG,GAAWd,GAAI,GAAGW,GACfG,GAAWd,IAAGW,KAAO,EAAKG,GAAW,GAAsB,IAAnBA,GAAWd,IAAGW,GAE7D,CAEA,MA0CMkR,GAAiBlS,IACrB,MAAMmS,EAAanS,EAAKG,GAClBiS,EAAeD,EAAa,GAClC,IAAI1G,EAAM,EACNpL,EAAI,EAER,KAAOA,GAAK+R,GACV3G,EACEtK,GAAW,IAAwB,KAAnBnB,EAAKK,KAAOoL,IAC5BtK,GAAW,IAAgC,KAA3BnB,EAAKK,KAAQoL,IAAQ,IACrCtK,GAAW,IAAiC,KAA5BnB,EAAKK,KAAQoL,IAAQ,KACrCtK,GAAW,IAAInB,EAAKK,KAAQoL,IAAQ,IACpCtK,GAAW,IAAInB,EAAKK,MACpBc,GAAW,IAAInB,EAAKK,MACpBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MACnBc,GAAW,GAAGnB,EAAKK,MAEvB,KAAOA,IAAM8R,GACX1G,EAAMtK,GAAW,GAAuB,KAAnBsK,EAAMzL,EAAKK,OAAiBoL,IAAQ,EAE3D,OAAc,EAAPA,CAAQ,EAGX4G,GAAgB,IAAInS,KACxB,MAAMwH,EAAS,IAAIlJ,GACjB0B,EAAQoS,QAAO,CAACC,EAAKhO,IAAQgO,EAAMhO,EAAIpE,IAAS,IAQlD,OALAD,EAAQoS,QAAO,CAAChS,EAAQiE,KACtBmD,EAAOtI,IAAImF,EAAKjE,GACTA,EAASiE,EAAIpE,KACnB,GAEIuH,CAAM,EAGT8K,GAAiBC,GAAUpQ,OAAO2C,gBAAgByN,GAGlDC,GAAe,CAAC,EAAI,EAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,EAAI,EAAI,GAAI,EAAI,GAAI,EAAI,IAC5EC,GAAWC,GACdF,GAAmB,GAANE,IAAiB,EAAKF,GAAaE,GAAO,GAE1D,MAAMC,GACJ7M,YAAYhG,GACV5B,KAAK0U,GAAQ9S,EACb5B,KAAK2U,GAAsB,EAAf/S,EAAKG,EACnB,CAEI6S,aAASA,GACX5U,KAAK2U,GAAOC,CACd,CAEIA,eACF,OAAO5U,KAAK2U,EACd,CAEAE,KAAKC,GACH,MAAM1R,EAAO2R,KAAKC,MAAMhV,KAAK2U,GAAO,GAC9BnB,EAAMxT,KAAK2U,GAAO,EAMxB,OALA3U,KAAK2U,IAAQG,GAGVP,GAAQvU,KAAK0U,GAAMtR,EAAO,KAAO,GAAKmR,GAAQvU,KAAK0U,GAAMtR,KAEzC,EAAIoQ,EAAQ,GACjC,EAsBF,MAAMyB,GACJrN,YAAYsN,EAAeC,GACzBnV,KAAKoV,GAAiBF,EACtBlV,KAAKqV,GAAiBF,EACtBnV,KAAKiJ,KACP,CAEA2J,CAACA,MACC5S,KAAKsV,IAAa,CACpB,CAEArM,CAACA,MACCjJ,KAAKuV,GAAe,IAAIlR,IACxBrE,KAAKwV,GAAmB,IAAI5U,QAC5BZ,KAAKyV,IAAmB,EACxBzV,KAAK0V,IAAqB,EAC1B1V,KAAK2V,GAAW,KAChB3V,KAAKsV,IAAa,CACpB,CAEAM,CAACjD,IAAkB9F,EAAS+E,GAC1B,GAAI5R,KAAKqV,GAAgB,CACnBrV,KAAK2V,KAAa9I,IACpB7M,KAAK2V,GAAW9I,EAChB7M,KAAK0V,IAAqB,GAI5B,MAAMG,EAAY7V,KAAKwV,GAAiBnU,IACtCrB,KAAKuV,GAAalU,IAAIrB,KAAK8V,KAGzB9V,KAAK0V,IAAsBG,GAC7B7V,KAAKqV,GACH,CACExI,QACGgJ,GAELjE,GAIJ5R,KAAK0V,IAAqB,CAC5B,CACF,CAEAK,CAACzD,IAAW0D,GACV,MAAMC,EAASjW,KAAKuV,GAAalU,IAAI2U,GAMrC,OAJIC,GACFjW,KAAKkW,GAAqBF,GAGrBC,CACT,CAEAE,CAAC5D,IAAWyD,EAAKC,EAAQG,GACnBpW,KAAKsV,KACFtV,KAAKyV,KACRzV,KAAKoV,GAAe,IAAKa,IACzBjW,KAAKyV,IAAmB,GAE1BzV,KAAKkW,GAAqBF,GAE1BhW,KAAKuV,GAAavU,IAAIgV,EAAKC,GAC3BjW,KAAKwV,GAAiBxU,IAAIiV,EAAQG,GAEtC,CAEAF,GAAqBF,GACfhW,KAAKqV,IAAkBW,IAAQhW,KAAK8V,KACtC9V,KAAK0V,IAAqB,EAC1B1V,KAAK8V,GAAiBE,EAE1B,EAGF,MAAMK,GAAc,IAAIzV,QAClB0V,GAAa,IAAI1V,QAyBvB,MAAM2V,GACJ3O,YAAY4O,EAAaC,GACvBzW,KAAK0W,GAAeF,EACpBxW,KAAKuV,GAAekB,CACtB,CAEAE,EAAEvE,MACA,IAAIwE,EAEJ,OAAG,CAMD,GALAA,QAAmB5W,KAAK6W,GAAMrE,IAC5BxS,KAAK0W,GACL1W,KAAKuV,GACL,GAEEqB,EAAW,OAAOA,EACtB5W,KAAK0W,GAAa3E,IAAkB,EACtC,CACF,CAOA+E,EAAEzE,IAAsB0E,GACtB,IAAIH,QAAmB5W,KAAKoS,MAC5B,MAAMpL,EAAcsP,GAAWjV,IAAIuV,GAAW7U,GAE9C,GACEgV,GACA/W,KAAK0W,GAAaM,WAEVhX,KAAKiX,GAAO3E,IAClBtS,KAAK0W,GACL1W,KAAKuV,GACLvO,IAOF,OAJAhH,KAAKuV,GAAa3C,MAElB5S,KAAK0W,GAAa3E,IAAkB/K,GACpChH,KAAK0W,GAAazE,IAAe2E,GAC1BA,EAGT5W,KAAK0W,GAAaxE,IAChB,WAAW7B,SAAYrJ,iCACvB,oBAAoBqJ,wBAEtBrQ,KAAKuV,GAAatM,MAClBjJ,KAAK0W,GAAa3E,IAAkB,EACtC,EAyBF,MAAM8E,GACJjP,YAAYsP,EAAaC,GACvBb,GAAWtV,IAAIhB,KAAM,CAAE6N,CAACA,GAAWqJ,IAEnClX,KAAKwN,GAAU2J,CACjB,EAsBF,MAAMC,WAAmBP,GACvBQ,QAAS7E,IAAUyE,EAAQJ,EAAOL,EAAaC,EAAaa,GAC1D,MAAMJ,QAAqBD,EAAO3E,IAChCkE,EACAC,EACAa,GAGF,GAAIJ,EAAa,CACf,MAAMK,EAAmBlB,GAAYhV,IAAI6V,GAAalQ,IAChDwQ,EAAenB,GAAYhV,IAAI6V,GAAa9F,IAOlD,OAAO,IAAIyF,EAAMK,SALKV,EAAY1E,IAChCyF,EACAD,IACCvT,IAAU,EAAGwT,GAEqBC,EACvC,CACE,OAAO,IAEX,CAEA5P,YAAYsP,EAAaC,EAAWK,GAClCvN,MAAMiN,EAAaC,GAEnBnX,KAAK6N,GAAYqJ,EACjBlX,KAAKoR,IAAWoG,EAChBxX,KAAK0N,GAAa8J,EAAeN,EAAY3U,IAAe,IAC5DvC,KAAKiH,IAAe,KACpBjH,KAAK2R,IAAiB,KACtB3R,KAAK6R,IAAgB,KACrB7R,KAAK4R,IAAiB,KAEtB0E,GAAWjV,IAAIrB,MAAM+B,GAAUoV,EAAUpV,EAC3C,EAsBF,MAAM0V,GAAwB,wBACxBC,GAAqB,qBACrBC,GAAmB,mBACnBC,GAAgB,gBAEtB,MAAMC,GACJR,UAAuBb,EAAaC,EAAaa,GAC/C,MACMrB,EAAS,CAAC,EAEhB,IAAIrU,QAAc4U,EAAY1E,IAAa,EAAGwF,GAG9C,GAAgB,KAAZ1V,EAAK,IAA2B,KAAZA,EAAK,IAA2B,KAAZA,EAAK,GAAa,OAAO,KAWrE,GATAA,QAAc4U,EAAY1E,IARL,GAQgCwF,GAKrDrB,EAAO/G,IAAW,SAAStN,EAAK,MAAMA,EAAK,KAI7B,GAAVA,EAAK,GAAiB,OAAO,KAejC,GAPAqU,EAAOwB,OAAsC,IAAV7V,EAAK,IACxCqU,EAAOyB,OAAmC,GAAV9V,EAAK,IACrCqU,EAAO0B,OAAiC,GAAV/V,EAAK,IACnCqU,EAAO2B,OAA8B,GAAVhW,EAAK,IAKpB,IAAVA,EAAK,IACK,IAAVA,EAAK,IACK,IAAVA,EAAK,IACK,IAAVA,EAAK,GAEL,OAAO,KAOT,MAAMmS,EACHnS,EAAK,IAAM,GAAOA,EAAK,IAAM,GAAOA,EAAK,IAAM,EAAKA,EAAK,GAI5D,OAFAqU,EAAOlU,GAhDc,GAgDWgS,EAEzB,IAAI8D,GAAM5B,EACnB,CAEArO,YAAYqO,GACVjW,KAAKkP,IAAW+G,EAAO/G,IACvBlP,KAAKyX,IAAyBxB,EAAOwB,IACrCzX,KAAK0X,IAAsBzB,EAAOyB,IAClC1X,KAAK2X,IAAoB1B,EAAO0B,IAChC3X,KAAK4X,IAAiB3B,EAAO2B,IAC7B5X,KAAK+B,GAAUkU,EAAOlU,EACxB,EAsBF,MAAM+V,GAIJlQ,YAAYqO,GACVI,GAAYrV,IAAIhB,KAAMiW,GAEtBjW,KAAKwC,GAAYyT,EAAOzT,GACxBxC,KAAK6M,GAAW,KAChB7M,KAAKiQ,IAAYgG,EAAOhG,IACxBjQ,KAAK+P,IAAekG,EAAOlG,IAC3B/P,KAAKuC,IAAc0T,EAAO1T,GAC5B,EAwBF,MAAMwV,GAAgB,CAEpB,EAAY,CAAC1R,GAAMA,GAAMA,GAAMA,GAAMA,IACrC,GAAY,CAAC,GAAI,GAAI,GAAI,GAAI,GAc7B,IAAY,CAAC4M,GAAKA,GAAKA,GAAKA,GAAKA,KAG7B+E,GAAc,CAACC,EAAKC,EAAUC,IAClC,IACKF,EAAME,GAAkBD,EAAYA,IACtC,IAAOD,EAAME,GAAkBD,GAClC,EAAIA,GAAaA,EAAW,EAAK,GAGnC,IAAK,IAAIjW,GAAI,EAAGA,GAAI,GAAIA,KACtB8V,GAAc9V,IAAK,GAAK,CAClB,GAAJA,GACA+V,GAAY/V,GAAG,EAAG,GAClB+V,GAAY/V,GAAG,GAAI,GACnB+V,GAAY/V,GAAG,EAAG,GAClB+V,GAAY/V,GAAG,EAAG,IAGtB,MAMMmW,GAAQ,SACRC,GAAO,SACPC,GAAwB,CAC5B,EAAYF,GAAQ,EAAIC,GACxB,GAAYD,GAAQ,EAAIC,GACxB,GAAYD,GAAQ,GAAKC,GACzB,GAAYD,GAAQ,GAAKC,IAGrBE,GAAe,eACfC,GAAK,KACLC,GAAK,KAELC,GAAkB,oBAClBC,GAAW,eACXC,GAAK,KACLC,GAAM,MAQNC,GAAe,CACnB,EAAY,CAAErL,CAACA,GAAcuF,IAC7B,EAAY,CACVvF,CAACA,GAAc,YACf+C,CAACA,IAAe,EAChBhC,CAACA,GAZwB,CAC3B,EAAYkK,GAAkBG,GAAMF,GAAWE,GAC/C,GAAYH,GAAkBE,GAAKD,GAAWE,GAC9C,GAAYH,GAAkBG,GAAMF,GAAWC,GAC/C,GAAYF,GAAkBE,GAAKD,GAAWC,IAS5CH,CAACA,IAAK,CACJF,CAACA,IAnCU,EAoCXnH,CAACA,IAAU,MAEboH,CAACA,IAAK,CACJD,CAACA,IArCW,EAsCZnH,CAACA,IAAU,MAGf,EAAY,CACV3D,CAACA,GAAc,WACf+C,CAACA,IAAe,EAChBhC,CAACA,GAAgB8J,GACjBlH,CAACA,IAAU,KACXqH,CAACA,IAAK,CACJF,CAACA,IAlDU,GAoDbC,CAACA,IAAK,CACJD,CAACA,IAlDW,IAqDhB,EAAY,CACV9K,CAACA,GAAc,UACf+C,CAACA,IAAe,EAChBhC,CAACA,GAAgB8J,GACjBlH,CAACA,IAAU,IACXqH,CAACA,IAAK,CACJF,CAACA,IA/DU,GAiEbC,CAACA,IAAK,CACJD,CAACA,IA/DU,KAoEXQ,GAAyB,gBACzBC,GAAS,WACTC,GAAe,CACnB,EAAY,CACVxL,CAACA,GAAiBsL,GAAH,kCACfzK,CAACA,GAAQkK,GACTjW,CAACA,IAAa,CACZ,EA70BY,MA80BZ,EA/0BY,KAg1BZ,EAAYmK,EACZ,GAAYsG,KAGhB,EAAY,CAAEvF,CAACA,GAAcuF,IAC7B,GAAY,CACVvF,CAACA,GAAc,GAAGsL,QAA4BC,aAC9C1K,CAACA,GAAQkK,GACTjW,CAACA,IAAa,CACZ,EAAYiK,EACZ,EAAYD,EACZ,EAAYE,EACZ,GAAYuG,KAGhB,GAAY,CACVvF,CAACA,GAAc,GAAGsL,QAA4BC,aAC9C1K,CAACA,GAAQmK,GACTlW,CAACA,IAAa,CACZ,EAAY8J,EACZ,EAAYD,EACZ,EAAYE,EACZ,GAAY0G,KAGhBjR,UAGImX,GAAqB,CACzB,EAAY/F,GACZ,EAAYD,IAGRiG,GAAiB,CACrB,EAAYjG,GACZ,EAAY,WACZ,EAAYF,GACZ,EAAY,aAGRoG,GAAe,CACnB,EAAY,CAAEnJ,CAACA,IAAW,EAAGxC,CAACA,GAAc3B,GAC5C,GAAY,CAAEmE,CAACA,IAAW,EAAGxC,CAACA,GAAc,SAAW3B,GACvD,IAAY,CAAEmE,CAACA,IAAW,EAAGxC,CAACA,GAAc,gBAC5C,IAAY,CAAEwC,CAACA,IAAW,EAAGxC,CAACA,GAAc5B,IAG9C,MAAMwN,WAAmBvB,GACvBT,QAAS/E,IAAWkE,EAAaC,EAAaa,GAC5C,MAAMrB,EAAS,CAAC,EAGVqD,QAAqBzB,GAAM0B,GAC/B/C,EACAC,EACAa,GAGEgC,UAEK9C,EAAY1E,IAAawH,EAAYvX,GAASuV,GACrDd,EAAYzE,IAAkBuH,EAAYvX,KAI5C,MAAMH,QAAc4U,EAAY1E,IAAa,EAAGwF,GAG1CtB,EAAM5B,GAAcxS,EAAKmC,IAAU,EAAG,IACtCyV,EAAe/C,EAAYnE,IAAW0D,GAC5C,GAAIwD,EAAc,OAAO,IAAIH,GAAWG,GAGxC,GAAgB,MAAZ5X,EAAK,IAAeA,EAAK,GAAK,IAAM,OAAO,KAS/C,MAAM6X,EAAoBR,GAAuB,GAAVrX,EAAK,IAC5C,GAAI6X,EAAkBhM,KAAiBuF,GAAU,OAAO,KAGxD,MAAM0G,EAAsB,EAAV9X,EAAK,GACvB,GAAIkX,GAAaY,GAAWjM,KAAiBuF,GAAU,OAAO,KAC9D,MAAM2G,EAAc,IACfb,GAAaY,MACbZ,GAAaY,GAAWD,EAAkBnL,KAkB/C,GAfA2H,EAAOvH,IAAe+K,EAAkBhM,GACxCwI,EAAO3H,GAASqL,EAAYlM,GAC5BwI,EAAO7E,IAAWuI,EAAYvI,IAC9B6E,EAAOjH,IAAckK,GAA6B,EAAVtX,EAAK,IAE7CqU,EAAOlU,GAAU,EAQjBkU,EAAOpJ,GACLkL,GAAwB,IAAVnW,EAAK,IAAiB+X,EAAYpB,KAC9CtC,EAAOpJ,KAAaoG,GAAK,OAAO,KAGpC,GADAgD,EAAO1T,IAAckX,EAAkBlX,IAAsB,GAAVX,EAAK,IACpDqU,EAAO1T,MAAgByQ,GAAU,OAAO,KAS5C,GAPAiD,EAAOzF,IAA0B,EAAV5O,EAAK,IAAmB+X,EAAYnJ,IAC3DyF,EAAO7H,MAA0B,EAAVxM,EAAK,IAE5BqU,EAAOjP,IAAe+N,KAAKC,MACxB,IAAMiB,EAAOpJ,GAAWoJ,EAAO7E,IAAY6E,EAAO1T,IACjD0T,EAAOzF,MAENyF,EAAOjP,IAAc,OAAO,KASjC,MAAMgJ,EAA4B,IAAVpO,EAAK,GAS7B,GARAqU,EAAOlG,IAAeqJ,GAAapJ,GAAiBvC,GACpDwI,EAAOhG,IAAYmJ,GAAapJ,GAAiBC,IAEjDgG,EAAOzH,GAAiBmL,EAAYnL,GAAyB,GAAV5M,EAAK,IACxDqU,EAAOlI,MAA8B,EAAVnM,EAAK,IAChCqU,EAAO9H,MAA2B,EAAVvM,EAAK,IAE7BqU,EAAOtI,GAAYwL,GAAyB,EAAVvX,EAAK,IACnCqU,EAAOtI,KAAcqF,GAAU,OAAO,KAE1CiD,EAAOzT,GAAY,GAGnB,CACE,MAAMT,OAAEA,EAAMiF,YAAEA,EAAW4S,GAAExI,KAAYgF,GAAsBH,EAE/DQ,EAAYlE,IAAWyD,EAAKC,EAAQG,EACtC,CACA,OAAO,IAAIiD,GAAWpD,EACxB,CAMArO,YAAYqO,GACVhM,MAAMgM,GAENjW,KAAK6M,GAAWoJ,EAAOpJ,GACvB7M,KAAK2N,GAAYsI,EAAOtI,GACxB3N,KAAKwQ,IAAgByF,EAAOzF,IAC5BxQ,KAAK+N,GAAiBkI,EAAOlI,GAC7B/N,KAAKmO,GAAc8H,EAAO9H,GAC1BnO,KAAKoO,GAAa6H,EAAO7H,GACzBpO,KAAKsO,GAAS2H,EAAO3H,GACrBtO,KAAKwO,GAAiByH,EAAOzH,GAC7BxO,KAAK0O,IAAeuH,EAAOvH,IAC3B1O,KAAKgP,IAAciH,EAAOjH,GAC5B,EAsBF,MAAM6K,WAAkBzC,GACtBC,QAAS7E,IAAUgE,EAAaC,EAAaa,GAC3C,aAAcrN,MAAMuI,IAClB6G,GACAQ,GACArD,EACAC,EACAa,EAEJ,CAEA1P,YAAYqO,EAAQ5F,EAAOe,GACzBnH,MAAMgM,EAAQ5F,EAAOe,EACvB,EAsBF,MAAM0I,WAAmBvD,GACvB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GACnBzW,KAAK6W,GAAQgD,GACb7Z,KAAKiX,GAASoC,GAEdU,EAAQ/Z,KAAKkN,GACf,CAEKA,SACH,OAAOuB,CACT,CAEAuL,EAAEvH,MACA,aAAczS,KAAKqS,KACrB,EAsBF,MAAMoH,GAAoB,CACxB,EAAY,SACZ,EAAY,UAGRE,GAAc,CAClB,EAAY,QACZ,EAAY1G,GACZ,EAAYA,GACZ,EAAYA,IAGRgH,GAAmB,CACvB,EAAY9G,GACZ,EAAYD,IAGRgH,GAAgB,CACpB,EAAY,WACZ,GAAY,0BACZ,IAAY,iCACZ,IAAY,kCAGRC,GAAc,CAClB,EAxnCgB,KAynChB,EAxnCgB,MAynChB,EAxnCgB,KAynChB,GAAY/N,EACZ,GAAYC,EACZ,GAAYC,EACZ,GAAYC,EACZ,GAAYC,EACZ,GAAYC,EACZ,GAxnCgB,KAynChB,GAxnCgB,MAynChB,GAAYC,EACZ,GAxnCe,KAynCf,GAAYsG,GACZ,GAAYA,GACZ,GAAY,mCAIRoH,GAAoB,CACxB,EAAa,CAAEnK,CAACA,IAAW,EAAGxC,CAACA,GAAc,kCAU7C,GAAa,CAAEwC,CAACA,IAAW,EAAGxC,CAACA,GAAc5B,GAC7C,IAAa,CAAEoE,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,KACpF,IAAa,CAAEiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,KACpF,IAAa,CAAEiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KAC1G,IAAa,CAAEiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KAC1G,IAAa,CAAEiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGY,IAC7G,IAAa,CAAEqE,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGA,EAAgB,GAAG,GAAGY,KAGrI,MAAMyO,WAAkBvC,GACtBT,QAAS/E,IAAWkE,EAAaC,EAAaa,GAC5C,MAAMrB,EAAS,CAAC,EAGVrU,QAAc4U,EAAY1E,IAAa,EAAGwF,GAG1CtB,EAAM5B,GAAc,CACxBxS,EAAK,GACLA,EAAK,GACLA,EAAK,GACM,IAAVA,EAAK,GAA8B,EAAVA,EAAK,KAE3B4X,EAAe/C,EAAYnE,IAAW0D,GAE5C,GAAKwD,EAwEH/Y,OAAOyI,OAAO+M,EAAQuD,OAxEL,CAEjB,GAAgB,MAAZ5X,EAAK,IAAeA,EAAK,GAAK,IAAM,OAAO,KAU/C,GAHAqU,EAAOvH,IAAe+K,GAA4B,EAAV7X,EAAK,IAE7CqU,EAAO3H,GAASqL,GAAsB,EAAV/X,EAAK,IAC7BqU,EAAO3H,KAAW2E,GAAK,OAAO,KAElC,MAAMqH,EAA0B,EAAV1Y,EAAK,GAC3BqU,EAAOjH,IAAciL,GAAiBK,GACtCrE,EAAOlU,GAAUuY,EAAgB,EAAI,EAOrCrE,EAAOlH,IAAyB,IAAVnN,EAAK,GAC3BqU,EAAO9E,IAA4B,GAAVvP,EAAK,GAC9B,MAAM2Y,EAAuB,EAAV3Y,EAAK,GAKxB,GAHAqU,EAAOnH,IAAWoL,GAAcjE,EAAOlH,KAEvCkH,EAAO1T,IAAc4X,GAAYlE,EAAO9E,KACpC8E,EAAO1T,MAAgByQ,GAAU,OAAO,KAE5CiD,EAAO7H,KAAemM,EAItBtE,EAAOjG,IAAgD,KAA3BpO,EAAK,IAAM,EAAKA,EAAK,IACjDqU,EAAOlG,IACLqK,GAAkBnE,EAAOjG,KAAkBvC,GAC7CwI,EAAOhG,IAAYmK,GAAkBnE,EAAOjG,KAAkBC,IAQ9DgG,EAAO9H,MAA2B,GAAVvM,EAAK,IAC7BqU,EAAOhI,MAAuB,EAAVrM,EAAK,IACzBqU,EAAO9F,OAA4B,EAAVvO,EAAK,IAC9BqU,EAAO7F,OAAiC,EAAVxO,EAAK,IACnCqU,EAAOzT,GAAY,GACnByT,EAAO7E,IAAW,KAIlB6E,EAAOtH,IAA6B,EAAV/M,EAAK,GAE/B,CACE,MAAMG,OACJA,EAAMyY,GACNxK,EAAeyK,GACf1L,EAAW2L,GACXvJ,EAAcnK,YACdA,EAAW4S,GACXxI,EAAOuJ,GACPhM,KACGyH,GACDH,EACJQ,EAAYlE,IAAWyD,EAAKC,EAAQG,EACtC,CACF,CAQA,GAFAH,EAAOjP,IACiD,MAApDpF,EAAK,IAAM,GAAOA,EAAK,IAAM,EAAMA,EAAK,IAAM,IAC7CqU,EAAOjP,IAAc,OAAO,KAIjC,MAAM4T,EAAyD,MAAlChZ,EAAK,IAAM,EAAMA,EAAK,IAAM,GAIzD,OAHAqU,EAAOhJ,GACkB,OAAvB2N,EAA+B,MAAQA,EAElC,IAAIP,GAAUpE,EACvB,CAMArO,YAAYqO,GACVhM,MAAMgM,GAENjW,KAAKmQ,IAAe8F,EAAO9F,IAC3BnQ,KAAKoQ,IAAoB6F,EAAO7F,IAChCpQ,KAAKiN,GAAkBgJ,EAAOhJ,GAC9BjN,KAAKiO,GAAUgI,EAAOhI,GACtBjO,KAAKmO,GAAc8H,EAAO9H,GAC1BnO,KAAKoO,GAAa6H,EAAO7H,GACzBpO,KAAKsO,GAAS2H,EAAO3H,GACrBtO,KAAK+B,GAAUkU,EAAOlU,GACtB/B,KAAK0O,IAAeuH,EAAOvH,IAC3B1O,KAAK2O,IAAmBsH,EAAOtH,IAC/B3O,KAAK8O,IAAWmH,EAAOnH,IACvB9O,KAAKgP,IAAciH,EAAOjH,GAC5B,CAEI6L,SASF,MAAM5E,EAASI,GAAYhV,IAAIrB,MAEzB6a,EACF5E,EAAOlH,IAAe,IAAS,EAChCkH,EAAO9E,KAAmB,EAC1B8E,EAAOjG,KAAoB,EAExBqE,EAAQ,IAAIjU,GAAW,GAE7B,OADA,IAAI2S,GAASsB,EAAM/K,IAASwR,UAAU,EAAGD,GAAqB,GACvDxG,CACT,EAsBF,MAAM0G,WAAiB3D,GACrBC,QAAS7E,IAAUgE,EAAaC,EAAaa,GAC3C,aAAcrN,MAAMuI,IAClB6H,GACAU,GACAvE,EACAC,EACAa,EAEJ,CAEA1P,YAAYqO,EAAQ5F,EAAOe,GACzBnH,MAAMgM,EAAQ5F,EAAOe,EACvB,EAsBF,MAAM4J,WAAkBzE,GACtB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GACnBzW,KAAK6W,GAAQkE,GACb/a,KAAKiX,GAASoD,GAEdN,EAAQ/Z,KAAKkN,GACf,CAEKA,SACH,MAAO,KACT,CAEA8M,EAAEvH,MACA,aAAczS,KAAKqS,KACrB,EAsBF,MAAM4I,WAAkB7D,GACtBC,UAA4BzV,GAC1B,OAAQA,EAAKA,EAAKG,GAAU,IAAM,GAAKH,EAAKA,EAAKG,GAAU,EAC7D,CAIAsV,OAAQvE,IAAuBlR,GAC7B,MAAMsZ,EAAgBD,GAAUE,GAAqBvZ,GAC/CwZ,EAzrCQ,CAACxZ,IACjB,MAAMmS,EAAanS,EAAKG,GAClBiS,EAAeD,EAAa,GAClC,IAAI1G,EAAM,EACNpL,EAAI,EAER,KAAOA,GAAK+R,GACV3G,GAAQzL,EAAKK,MAAQ,EAAKL,EAAKK,KAC/BoL,EACEsG,GAAe,IAAItG,GAAO,GAC1BsG,GAAe,IAAU,IAANtG,GACnBsG,GAAe,IAAI/R,EAAKK,MACxB0R,GAAe,IAAI/R,EAAKK,MACxB0R,GAAe,IAAI/R,EAAKK,MACxB0R,GAAe,IAAI/R,EAAKK,MACxB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MACvB0R,GAAe,GAAG/R,EAAKK,MAG3B,KAAOA,IAAM8R,GACX1G,GAAc,IAANA,IAAe,EAAKsG,GAAe,GAAItG,GAAO,EAAKzL,EAAKK,MAElE,OAAOoL,CAAG,EA2pCYgO,CAAUzZ,EAAKmC,IAAU,GAAI,IAEjD,OAAOmX,IAAkBE,CAC3B,CAEAxT,YAAYhG,EAAMqU,EAAQqF,GACxBrF,EAAO1E,IAAc+J,EACrBrF,EAAO3I,GAAS2N,GAAUE,GAAqBvZ,GAE/CqI,MAAMgM,EAAQrU,EAAMyU,GAAYhV,IAAI4U,GAAQ7E,IAC9C,EAsBF,MAAMmK,GAAoB,qCAEpBC,GAAyB,CAC7B,EAAY,QACZ,EAAY,YAGRC,GAAkB,CACtB,EAAYzI,GACZ,GAAY,KAgBd,IAAK,IAAI/Q,GAAI,EAAGA,GAAI,GAAIA,KACtBwZ,GAAgBxZ,IAAK,GAAKA,GAAI,EAAI,IAAM,IAAMA,GAAI,GAAK,GAAKA,GAE9D,MAAMyZ,GAAmB,CACvB,EAAYH,GACZ,EAr9CgB,MAs9ChB,EAx9CiB,OAy9CjB,EA19CiB,MA29CjB,EAAY7O,EACZ,EAAYD,EACZ,EAAYD,EACZ,EAAYD,EACZ,EAAYD,EACZ,EAAYD,EACZ,GAAYD,EACZ,GAh+CgB,KAo+ChB,GAAY6G,IAIR0I,GAAqB,CAWzB,EAAY,CAAC1L,CAACA,IAAW,EAAGxC,CAACA,GAAc5B,GAC3C,GAAY,CAACoE,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,KAClF,GAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,KAClF,GAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KACxG,GAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KACxG,GAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGY,EAAIZ,EAAgB,GAAG,KAC5G,GAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGY,EAAIZ,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KAClI,IAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAczB,EAAkB,EAAEhB,EAAgB,GAAG,GAAGY,EAAIZ,EAAgB,GAAG,GAAGA,EAAgB,GAAG,KAClI,IAAY,CAACiF,CAACA,IAAW,EAAGxC,CAACA,GAAiB3B,EAAH,iBAC3C,IAAY,CAACmE,CAACA,IAAW,EAAGxC,CAACA,GAAiB3B,EAAH,kBAC3C,IAAY,CAACmE,CAACA,IAAW,EAAGxC,CAACA,GAAiB3B,EAAH,gBAC3C,IAAYkH,GACZ,IAAYA,GACZ,IAAYA,GACZ,IAAYA,GACZ,IAAYA,IAGR4I,GAAiB,CACrB,EAAYL,GACZ,EAAY,EACZ,EAAY,GACZ,EAAYvI,GACZ,EAAY,GACZ,GAAY,GACZ,GAAY,GACZ,GAAYA,IAGd,MAAM6I,WAAmB/D,GASvBT,UAAsBzV,GACpB,GAAIA,EAAK,GAAK,IACZ,OAAO,KAGT,GAAIA,EAAK,GAAK,IAAM,MAAO,CAAEjB,MAAOiB,EAAK,GAAIG,OAAQ,GAGrD,IAAIA,EAAS,EACb,IAAK,IAAI+Z,EAAW,GAAMA,EAAWla,EAAK,GAAIka,IAAa,EAAG/Z,IAE9D,IAAIkW,EAAMlW,EAAS,EACjBpB,EAAQ,EACRob,EAAQ,EAMV,KAAO9D,EAAM,EAAG8D,GAAS,EAAG9D,IAAO,CACjC,GAA2B,MAAV,IAAZrW,EAAKqW,IACR,OAAO,KAETtX,IAAsB,GAAZiB,EAAKqW,KAAgB8D,CACjC,CAQA,OAFApb,IAAUiB,EAAKqW,GAAQ,KAAQlW,IAAYga,EAEpC,CAAEpb,QAAOoB,SAClB,CAEAsV,OAAQxE,IAAyBjR,EAAM6U,GACrC,MAAMuF,EAAkB,CACtBC,EAACnK,MACC,OAAOlQ,CACT,GAGF,OAAOia,GAAWvJ,IAAW0J,EAAiBvF,EAAa,GAAGyF,OAAOvb,KACvE,CAEA0W,QAAS/E,IAAWkE,EAAaC,EAAaa,GAE5C,IAAI1V,QAAc4U,EAAY1E,IAAa,EAAGwF,GAK9C,GAAgB,MAAZ1V,EAAK,IAA6B,MAAZA,EAAK,IAA2B,MAAZA,EAAK,GACjD,OAAO,KAGT,MAAMqU,EAAS,CAAC,EAGVD,EAAM5B,GAAcxS,EAAKmC,IAAU,EAAG,IACtCyV,EAAe/C,EAAYnE,IAAW0D,GAE5C,GAAKwD,EA4CH/Y,OAAOyI,OAAO+M,EAAQuD,OA5CL,CAcjB,GAXAvD,EAAOzG,IAAkC,EAAV5N,EAAK,GACpCqU,EAAO1G,IACLiM,GAAuBvF,EAAOzG,KAKhCyG,EAAOrG,IAA2B,IAAVhO,EAAK,GAC7BqU,EAAO9E,IAA4B,GAAVvP,EAAK,GAE9BqU,EAAOxG,IAAagM,GAAgBxF,EAAOrG,KACvCqG,EAAOxG,MAAeuD,GACxB,OAAO,KAIT,GADAiD,EAAO1T,IAAcmZ,GAAiBzF,EAAO9E,KACzC8E,EAAO1T,MAAgB0Q,GACzB,OAAO,KAOT,GAAc,EAAVrR,EAAK,GACP,OAAO,KAGT,MAAMua,EAAoBR,GAA6B,IAAV/Z,EAAK,IAClD,GAAIua,IAAsBnJ,GACxB,OAAO,KAOT,GAJAiD,EAAOhG,IAAYkM,EAAkBlM,IACrCgG,EAAOlG,IAAeoM,EAAkB1O,GAExCwI,EAAOzT,GAAYoZ,GAAyB,GAAVha,EAAK,IACnCqU,EAAOzT,KAAcwQ,GACvB,OAAO,IAEX,CAMAiD,EAAOlU,GAAU,EAGjBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAAU,EAAGuV,GAE3D,MAAM8E,EAAcP,GAAWQ,GAAeza,EAAKmC,IAAU,IAC7D,IAAKqY,EACH,OAAO,KAiET,GA9DInG,EAAOzG,IACTyG,EAAO/E,IAAgBkL,EAAYzb,MAEnCsV,EAAOhP,IAAemV,EAAYzb,MAGpCsV,EAAOlU,IAAWqa,EAAYra,GAIA,KAA1BkU,EAAOrG,KAELhO,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAOxG,IAAa7N,EAAKqU,EAAOlU,GAAU,GAAK,EAC/CkU,EAAOlU,IAAW,GACiB,MAA1BkU,EAAOrG,MAEZhO,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAOxG,KACJ7N,EAAKqU,EAAOlU,GAAU,IAAM,GAAKH,EAAKqU,EAAOlU,IAAW,EAC3DkU,EAAOlU,IAAW,GAGpBkU,EAAO7E,IAAW6E,EAAOxG,IAIM,KAA3BwG,EAAO9E,KAELvP,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAO1T,IAAyC,IAA3BX,EAAKqU,EAAOlU,GAAU,GAC3CkU,EAAOlU,IAAW,GACkB,KAA3BkU,EAAO9E,KAEZvP,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAO1T,KACJX,EAAKqU,EAAOlU,GAAU,IAAM,GAAKH,EAAKqU,EAAOlU,IAChDkU,EAAOlU,IAAW,GACkB,KAA3BkU,EAAO9E,MAEZvP,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAO1T,IACsD,KAAzDX,EAAKqU,EAAOlU,GAAU,IAAM,GAAKH,EAAKqU,EAAOlU,KACjDkU,EAAOlU,IAAW,GAKhBH,EAAKG,GAAUkU,EAAOlU,KACxBH,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,IAEzDrB,EAAO5I,GAAOzL,EAAKqU,EAAOlU,GAAU,GAChCkU,EAAO5I,KA1/CF,CAACzL,IACZ,IAAIyL,EAAM,EACV,MAAM0G,EAAanS,EAAKG,GAExB,IAAK,IAAIE,EAAI,EAAGA,IAAM8R,EAAY9R,IAAKoL,EAAMoG,GAAUpG,EAAMzL,EAAKK,IAElE,OAAOoL,CAAG,EAo/CYiP,CAAK1a,EAAKmC,IAAU,EAAGkS,EAAOlU,GAAU,IAC1D,OAAO,KAIP,IAAKyX,EAAc,CACjB,MAAM+C,GACJ/M,EAAoBvI,YACpBA,EAAWuV,GACXtL,EAAY0I,GACZxI,EAAOsJ,GACPvJ,EAAcsL,GACd7M,EAAa8M,GACbrP,EAAGtL,OACHA,KACGqU,GACDH,EACJQ,EAAYlE,IAAWyD,EAAKC,EAAQG,EACtC,CAEF,OAAO,IAAIyF,GAAW5F,EACxB,CAMArO,YAAYqO,GACVhM,MAAMgM,GAENjW,KAAKsN,GAAS,KACdtN,KAAKuP,IAAoB0G,EAAO1G,IAChCvP,KAAKyP,IAAawG,EAAOxG,IACzBzP,KAAKiH,IAAegP,EAAOhP,IAC3BjH,KAAKkR,IAAgB+E,EAAO/E,IAC5BlR,KAAKuR,IAAc,IACrB,EAyBF,MAAMoL,WAAmBpG,GACvB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GACnBzW,KAAK6W,GAAQoE,GACbjb,KAAKiX,GAAS4E,GAEd9B,EAAQ/Z,KAAKkN,GACf,CAEKA,SACH,MAAO,MACT,CAEA0P,IAAyB1a,GACvB,MAAMN,QAAc5B,KAAK0W,GAAa5E,IAAa,EAAG,GAChDiC,EAAanS,EAAKG,GAAU,EAElC,KAAOG,EAAS6R,GAAY,CAI1B,GAAkB,MADAnS,EAAKM,GACC,CACtB,MAAM2a,EAAajb,EAAKM,EAAS,GACjC,GAAmB,MAAf2a,GAAsC,MAAfA,EAAqB,MAC7B,MAAfA,GAAqB3a,GAC3B,CACAA,GACF,CAEA,OAAOA,CACT,CAEA8X,EAAEvH,MAEA,OAAG,CACD,MAAMwD,QAAgB4F,GAAWvJ,IAC/BtS,KAAK0W,GACL1W,KAAKuV,GACL,GAGF,GAAIU,EAAQ,CAGV,IAAI6G,EACFzG,GAAYhV,IAAI4U,GAAQlU,GAhDN,EAkDpB,KAAO+a,GAjDa,QAiD4B,CAC9C,GACE9c,KAAK0W,GAAaM,WACV6E,GAAWvJ,IACjBtS,KAAK0W,GACL1W,KAAKuV,GACLuH,IAEF,CAEA,IAAIlG,QAAmB5W,KAAK0W,GAAa5E,IACvCgL,GAOF,GAJK9c,KAAK0W,GAAaM,KACrBJ,EAAYA,EAAU7S,IAAU,EAAG+Y,IAGjC7B,GAAUnI,IAAuB8D,GAAY,CAE/C,MAAMvG,EAAQ,IAAI4K,GAAUrE,EAAWX,GAMvC,OAJAjW,KAAKuV,GAAa3C,MAClB5S,KAAK0W,GAAa3E,IAAkB+K,GACpC9c,KAAK0W,GAAazE,IAAe5B,GAE1BA,CACT,CACF,CAEAyM,QAA0B9c,KAAK+c,GAC7BD,EAAmB,EAEvB,CAEA9c,KAAK0W,GAAaxE,IAChB,6CAA6C4K,YAE/C9c,KAAK0W,GAAa3E,IAAkB+K,EACtC,MAEE9c,KAAK0W,GAAa3E,UACT/R,KAAK+c,GAAwB,GAG1C,CACF,CAEAC,CAACtK,IAAcuK,GA2Bb,OA1BoC,IAAhCA,EAAQjM,KAGVhR,KAAKuV,GAAa3C,MAClB5S,KAAKkd,GAAcD,EAAQzP,GAAQzJ,IAAU,KACJ,IAAhCkZ,EAAQjM,MACjBiM,EAAQ9P,GAAiBmJ,GACtBjV,IAAI4b,GACJhO,IAAU5F,KAAK8T,IACd,MAAMlH,EAAS4F,GAAWhJ,IACxBsK,EACAnd,KAAKuV,IAGP,GAAIU,EACF,OAAO,IAAIgF,GAAUkC,EAASlH,EAAQjW,KAAKkd,IAE3Cld,KAAK0W,GAAaxE,IAChB,iCACA,8BAEJ,IAEDkL,QAAQ/M,KAAYA,KAGlB4M,CACT,EAsBF,MAAMI,GACJhG,QAAS/E,IAAWkE,EAAaC,EAAaa,GAC5C,MAAMrB,EAAS,CAAC,EAGhB,IAAIrU,QAAc4U,EAAY1E,IAAa,GAAIwF,GAI/C,GACc,KAAZ1V,EAAK,IACO,MAAZA,EAAK,IACO,MAAZA,EAAK,IACO,KAAZA,EAAK,GAEL,OAAO,KAcT,GATAqU,EAAOxE,IAA0B7P,EAAK,GAQd,IAAVA,EAAK,GACR,OAAO,KAElBqU,EAAO/H,MAA2B,EAAVtM,EAAK,IAC7BqU,EAAOjI,MAA4B,EAAVpM,EAAK,IAC9BqU,EAAOnI,MAAkC,EAAVlM,EAAK,IAEpC,MAAM0b,EAAO,IAAIvK,GAAS3S,GAAWwJ,KAAKhI,EAAKmC,IAAU,EAAG,KAAKuF,IASjE,IACE2M,EAAOtJ,GAA2B2Q,EAAKC,YAAY,GAAG,EACxD,CAAE,MAAO,CAKTtH,EAAOzE,IAAsB8L,EAAKlY,SAAS,IAAI,GAK/C6Q,EAAOjF,IAAsBsM,EAAKlY,SAAS,IAAI,GAK/C6Q,EAAOpF,IAAgByM,EAAKlY,SAAS,IAAI,GAIzC,MAAMoY,EAAyB5b,EAAK,IACpCqU,EAAOlU,GAAUyb,EAAyB,GAE1C5b,QAAc4U,EAAY1E,IAAamE,EAAOlU,GAASuV,GAEvDrB,EAAOjP,IAAe,EACtBiP,EAAOlF,IAAoB,GAC3BkF,EAAOnF,IAAoB1Q,GAAWwJ,KACpChI,EAAKmC,IAAU,GAAIkS,EAAOlU,KAG5B,IAAK,IAAIE,EAAI,EAAGwb,EAAgB,EAAGxb,EAAIub,EAAwBvb,IAAK,CAClE,MAAMyb,EAAczH,EAAOnF,IAAkB7O,GAE7CgU,EAAOjP,KAAgB0W,EACvBD,GAAiBC,EAEG,MAAhBA,GAAwBzb,IAAMub,EAAyB,IACzDvH,EAAOlF,IAAkBjO,KAAK2a,GAC9BA,EAAgB,EAEpB,CAEA,OAAO,IAAIJ,GAAcpH,EAC3B,CAMArO,YAAYqO,GACVI,GAAYrV,IAAIhB,KAAMiW,GAEtBjW,KAAK2M,GAA2BsJ,EAAOtJ,GACvC3M,KAAK8N,GAAqBmI,EAAOnI,GACjC9N,KAAKgO,GAAeiI,EAAOjI,GAC3BhO,KAAKkO,GAAc+H,EAAO/H,GAC1BlO,KAAK+Q,IAAoBkF,EAAOlF,IAChC/Q,KAAKgR,IAAsBiF,EAAOjF,IAClChR,KAAK6Q,IAAgBoF,EAAOpF,IAC5B7Q,KAAKwR,IAAsByE,EAAOzE,GACpC,EAsBF,MAAMmM,WAAgB9G,GACpBQ,QAAS7E,IAAUgE,EAAaC,EAAaa,GAC3C,MAAMrB,QAAgBoH,GAAc/K,IAClCkE,EACAC,EACAa,GAGF,GAAIrB,EAAQ,CACV,MAAMsB,EAAmBlB,GAAYhV,IAAI4U,GAAQjP,IAC3C4W,EAAevH,GAAYhV,IAAI4U,GAAQlU,GACvC8b,EAAcD,EAAerG,EAE7BuG,SAAuBtH,EAAY1E,IAAa+L,EAAa,IACjE9Z,IACA,EAAG8Z,GAECxN,EAAQyN,EAAa/Z,IAAU6Z,EAAcC,GAEnD,OAAO,IAAIF,GAAQ1H,EAAQ5F,EAAOyN,EACpC,CACE,OAAO,IAEX,CAEAlW,YAAYqO,EAAQ5F,EAAOyN,GACzB7T,MAAMgM,EAAQ5F,GAEdiG,GAAWjV,IAAIrB,MAAM+B,GAAU+b,EAAa/b,GAE5C/B,KAAKmN,GAAiB,GACtBnN,KAAY,GAAI8d,EAChB9d,KAAK2M,GAA2BsJ,EAAOtJ,GACvC3M,KAAKuN,GAAS0I,EAAOpF,IACrB7Q,KAAK0N,GAAY,EACjB1N,KAAK8N,GAAqBmI,EAAOnI,GACjC9N,KAAKgO,GAAeiI,EAAOjI,GAC3BhO,KAAKkO,GAAc+H,EAAO/H,GAC1BlO,KAAKgR,IAAsBiF,EAAOjF,IAClChR,KAAKoR,IAAW,EAChBpR,KAAKwR,IAAsByE,EAAOzE,GACpC,EAsBF,MAAMuM,WAAkB3G,GACtBxP,YAAYhG,EAAMqU,GAChBhM,MACEgM,EACArU,EACEqU,EAAOxF,IAAawF,EAAO3F,IAAe,IAAQ2F,EAAO1T,IAE/D,EAuBF,MAAMyb,GAAyB,CAC7B,EAAY7R,EAAyBhH,MAAM,EAAE,GAK7C,EAAYgH,GAcR8R,GAAW,YACXC,GAAW,YACXC,GAAS,SAETC,GAAa,aACbC,GAAa,cACbC,GAAW,WACXC,GAAgB,iBAChBC,GAAW,WAOXC,GAAc,CAClB,EAAY,CAAElQ,CAACA,GAAO0P,GAAUrR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,EAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYyR,GAAY5N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYyR,GAAY5N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYyR,GAAY5N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAYyR,GAAY5N,CAACA,IAAY,IACtE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,GAAY,CAAElC,CAACA,GAAO0P,GAAUrR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,GAAY,CAAElC,CAACA,GAAO4P,GAAQvR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,IACvE,IAAY,CAAElC,CAACA,GAAO4P,GAAQvR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,IACvE,IAAY,CAAElC,CAACA,GAAO4P,GAAQvR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,IAClE,IAAY,CAAElC,CAACA,GAAO4P,GAAQvR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,IAClE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,KACtE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,GACtE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAYwR,GAAY3N,CAACA,IAAY,IACtE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,KACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,GACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY0R,GAAU7N,CAACA,IAAY,IACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,KACzE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,GACzE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,IACzE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY2R,GAAe9N,CAACA,IAAY,IACzE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,KACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,GACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,IACpE,IAAY,CAAElC,CAACA,GAAO2P,GAAUtR,CAACA,GAAY4R,GAAU/N,CAACA,IAAY,KAGtE,MAAMiO,WAAmB5G,GACvBT,OAAQxE,IAAyBsE,EAAWwH,EAAYlI,GACtD,MAAMR,EAAS,CAAC,EAahB,GARAA,EAAOhG,IAAYkH,EAAU,GAG7BlB,EAAOpG,IAAwBsH,EAAU,IAEzClB,EAAOlU,GAC4B,IAAjCkU,EAAOpG,IAA8B,GAAKoG,EAAOhG,IAAY,GAE3DkH,EAAUpV,GAAUkU,EAAOlU,GAC7B,MAAU+B,MAAM,wCAMlB,MAAM8a,EAA6B,EAAhBD,EAAW,GACxBE,EAA8B,IAAfD,EAAmB,EAAI,EAGtC5I,EACJ5B,GAAc+C,EAAUpT,IAAU,EAAGkS,EAAOlU,KAC5CqS,GAAcuK,EAAW5a,IAAU,EAAG8a,IAClCrF,EAAe/C,EAAYnE,IAAW0D,GAE5C,GAAIwD,EAAc,OAAO,IAAIkF,GAAWlF,GAGxC,GAAyB,aAArBxD,EAAI8I,OAAO,EAAG,GAChB,OAAO,KAKT,GAAqB,IAAjB3H,EAAU,GAAU,OAAO,KAE/BlB,EAAOzI,GAAUpN,GAAWwJ,KAAKuN,EAAUpT,IAAU,EAAGkS,EAAOlU,KAE/D,MAAMub,EAAO,IAAIvK,GAASkD,EAAOzI,GAAQlE,IAyBzC,GAvBA2M,EAAOzT,GAAY,GAQnByT,EAAOpH,IAAWyO,EAAKyB,UAAU,IAAI,GAIrC9I,EAAOtF,IAAmB2M,EAAK0B,UAAU,IAAI,GAE7C/I,EAAO1T,IAAc6J,EAIrB6J,EAAOrH,IAAc0O,EAAK2B,SAAS,IAAI,GAKnChJ,EAAOpG,MAAyBmO,KAClC/H,EAAOlG,IACLiO,GAAuB/H,EAAOpG,KAC5BoG,EAAOhG,IAAY,IAElBgG,EAAOlG,KAAc,OAAO,KAGE,IAAjCkG,EAAOpG,MAEToG,EAAO3E,IAAe6F,EAAU,IAGhClB,EAAO7I,GAAsB+J,EAAU,IAGvClB,EAAOnG,IAAuB,IACzBqH,EAAUpT,IAAU,GAAIkS,EAAOhG,IAAY,MAIlD,MAAMiP,EAAeT,GAAY,IAAaE,EAAW,IAMzD,OALA1I,EAAO1H,GAAQ2Q,EAAa3Q,GAC5B0H,EAAOrJ,GAAasS,EAAatS,GACjCqJ,EAAOxF,IAAayO,EAAazO,IAGzBmO,GACN,KAAK,EAEH3I,EAAO3F,IAAc,EACrB,MACF,KAAK,EAEL,KAAK,EAEH2F,EAAO3F,IAAc,EACrB,MACF,KAAK,EAEH2F,EAAO5H,MAAY,IAAasQ,EAAW,IAC3C1I,EAAOrI,MAAqB,GAAa+Q,EAAW,IACpD1I,EAAO3F,IAAc,GAAaqO,EAAW,GAC7C,MACF,QACE,OAAO,KAIX,CACE,MAAM5c,OACJA,EACAH,KAAMud,EAAUC,GAChBvP,KACGuG,GACDH,EAEJQ,EAAYlE,IAAWyD,EAAKC,EAAQG,EACtC,CAEA,OAAO,IAAIsI,GAAWzI,EACxB,CAMArO,YAAYqO,GACVhM,MAAMgM,GAENjW,KAAKwN,GAAUyI,EAAOzI,GACtBxN,KAAK4M,GAAaqJ,EAAOrJ,GACzB5M,KAAK6P,IAAwBoG,EAAOpG,IACpC7P,KAAK8P,IAAuBmG,EAAOnG,IACnC9P,KAAKoN,GAAsB6I,EAAO7I,GAClCpN,KAAKsQ,IAAc2F,EAAO3F,IAC1BtQ,KAAKyQ,IAAawF,EAAOxF,IACzBzQ,KAAK4N,GAAkBqI,EAAOrI,GAC9B5N,KAAK2Q,IAAmBsF,EAAOtF,IAC/B3Q,KAAKqO,GAAS4H,EAAO5H,GACrBrO,KAAKuO,GAAQ0H,EAAO1H,GACpBvO,KAAK4O,IAAcqH,EAAOrH,IAC1B5O,KAAK6O,IAAWoH,EAAOpH,IACvB7O,KAAKsR,IAAe2E,EAAO3E,GAC7B,EAsBF,MAAM+N,WAAmB9I,GACvB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GACnBzW,KAAK6W,GAAQkH,GACb/d,KAAKiX,GAASyH,GAEd3E,EAAQ/Z,KAAKkN,IACblN,KAAKsf,GAAwB,IAC/B,CAEKpS,SACH,MAAO,MACT,CAKA8P,CAACtK,IAAcuK,GAyBb,OAxBoC,IAAhCA,EAAQjM,KAGVhR,KAAKuV,GAAa3C,MAClB5S,KAAKsf,GAAwBrC,EAAQzP,IACI,IAAhCyP,EAAQjM,MACjBiM,EAAQ9P,GAAiBmJ,GACtBjV,IAAI4b,GACJhO,IAAU5F,KAAK8T,IACd,MAAMlH,EAASyI,GAAW7L,IACxB7S,KAAKsf,GACLnC,EACAnd,KAAKuV,IAGP,GAAIU,EAAQ,OAAO,IAAI8H,GAAUZ,EAASlH,GAE1CjW,KAAK0W,GAAavE,IAChB,kCACA,4BACD,KAIA8K,CACT,EAsBF,MAAMsC,WAAoBnI,GACxBxP,YAAYhG,EAAMqU,EAAQ7E,GACxBnH,MAAMgM,EAAQrU,EAAMwP,EACtB,EAsBF,MAAMoO,GAAa,CASnB,EACA,IAAK,IAAIvd,GAAI,EAAGA,GAAI,EAAGA,KAAKud,GAAWvd,GAAI,GAAK,IAAM,EAAIA,IAE1D,MAAMwd,WAAqB3H,GACzBT,OAAQxE,IACNsE,EACAV,EACAiJ,EACAC,GAGA,GAAIxI,EAAUpV,GAAU,GACtB,MAAU+B,MAAM,wCAGlB,MAAMkS,EAAM5B,GAAc+C,EAAUpT,IAAU,EAAG,KAC3CyV,EAAe/C,EAAYnE,IAAW0D,GAC5C,GAAIwD,EAAc,OAAO,IAAIiG,GAAajG,GAE1C,MAAMvD,EAAS,CAAElU,CAACA,GAAS,IAG3B,GAAyB,YAArBiU,EAAI8I,OAAO,EAAG,GAChB,OAAO,KAGT7I,EAAOzI,GAAUpN,GAAWwJ,KAAKuN,EAAUpT,IAAU,EAAG,KACxD,MAAMuZ,EAAO,IAAIvK,GAASkD,EAAOzI,GAAQlE,IAKzC,GADA2M,EAAO/G,IAAWoO,EAAK0B,UAAU,GAAG,GACZ,IAApB/I,EAAO/G,IAAgB,OAAO,KA6BlC,GAzBA+G,EAAOhG,IAAYkH,EAAU,IAC7BlB,EAAOlG,IACL5D,EAAyB8J,EAAOhG,IAAY,IAAM,sBAIpDgG,EAAO1T,IAAc+a,EAAK0B,UAAU,IAAI,GAIxC/I,EAAOnJ,GAAkBwQ,EAAKlY,SAAS,IAAI,GAI3C6Q,EAAOjJ,GAAkBsQ,EAAKlY,SAAS,IAAI,GAI3C6Q,EAAOlJ,GAAkBuQ,EAAKlY,SAAS,IAAI,GAK3C6Q,EAAOtG,IAAc6P,IAA4B,IAAhBrI,EAAU,MAAqB,GAChElB,EAAOvG,IAAc8P,GAA2B,GAAhBrI,EAAU,KACtClB,EAAOvG,IAAcuG,EAAOtG,IAAa,OAAO,KAIpD,GAAsB,IAAlBwH,EAAU,IAAc,OAAO,KAEnClB,EAAOzT,GAAY,GACnByT,EAAO5G,IAAiBsQ,EACxB1J,EAAO7G,IAAoBsQ,EAE3B,CAEE,MAAM3d,OACJA,EAAMH,KACNA,EAAIsN,QACJA,EAAO0Q,GACPC,EAAWC,GACXC,KACG3J,GACDH,EACJQ,EAAYlE,IAAWyD,EAAKC,EAAQG,EACtC,CAEA,OAAO,IAAIqJ,GAAaxJ,EAC1B,CAMArO,YAAYqO,GACVhM,MAAMgM,GAENjW,KAAK8M,GAAkBmJ,EAAOnJ,GAC9B9M,KAAK+M,GAAkBkJ,EAAOlJ,GAC9B/M,KAAKgN,GAAkBiJ,EAAOjJ,GAC9BhN,KAAK0P,IAAcuG,EAAOvG,IAC1B1P,KAAK2P,IAAcsG,EAAOtG,IAC1B3P,KAAKwN,GAAUyI,EAAOzI,GACtBxN,KAAKoP,IAAoB6G,EAAO7G,IAChCpP,KAAKqP,IAAiB4G,EAAO5G,GAC/B,EAsBF,MAAM2Q,WAAqBzJ,GACzB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GACnBzW,KAAK6W,GAAQ0I,GAEbxF,EAAQ/Z,KAAKkN,IAEblN,KAAKsf,GAAwB,KAC7Btf,KAAKigB,IAAiB,EAEtBjgB,KAAKkgB,GAAQ,CACXC,MAAO,GAETngB,KAAKogB,GAAiB,EACtBpgB,KAAKqgB,GAAiB,CACxB,CAEKnT,SACH,OAAOiC,EACT,CAEA6N,CAACtK,IAAcuK,GACbA,EAAQ9P,GAAiB,GAEzB,IAAK,MAAMmT,KAAkBhK,GAAWjV,IAAI4b,GAAShO,IACnD,GAA0B,IAAtBqR,EAAe,GAGjBtgB,KAAKuV,GAAa3C,MAClB5S,KAAKsf,GAAwBrC,EAAQzP,GACrCxN,KAAKigB,IAAiB,OACjB,GAA0B,IAAtBK,EAAe,GAGxBtgB,KAAKugB,GAAkBD,OAClB,GAA0B,IAAtBA,EAAe,GAGxBtgB,KAAKwgB,GAAeF,EACpBtgB,KAAKkgB,GAAQlgB,KAAKygB,GAAkBH,GACpCtgB,KAAKigB,IAAiB,OACjB,GAAIjgB,KAAKigB,GAAgB,CAC9B,MAAMhK,EAASwJ,GAAa5M,IAC1B7S,KAAKsf,GACLtf,KAAKuV,GACLvV,KAAKugB,GACLvgB,KAAKwgB,IAGHvK,EACFgH,EAAQ9P,GAAerK,KACrB,IAAIyc,GACFe,EACArK,EACAjW,KAAK0gB,GAAYJ,EAAgBrK,KAIrCjW,KAAK0W,GAAavE,IAChB,oCACA,8BAGN,CAGF,OAAO8K,CACT,CAEAyD,GAAYvD,EAASlH,GACnB,MAAM7S,EAAO+Z,EAAQ,IAAM,EAErBwD,EAAY3gB,KAAKkgB,GAAM9c,EAAOpD,KAAKkgB,GAAMU,MAG3CD,IACF3gB,KAAKogB,GACHhd,EAAOpD,KAAKkgB,GAAMW,GAAW5K,EAAOtG,IAAcsG,EAAOvG,KAG7D1P,KAAKqgB,GAAiBM,EAAY1K,EAAOtG,IAAcsG,EAAOvG,IAE9D,MAAM8H,EAAgBxX,KAAKogB,GAAiBpgB,KAAKqgB,IAAmB,EAGpE,OAFArgB,KAAKogB,GAAiBpgB,KAAKqgB,GAEpB7I,CACT,CAsCAiJ,GAAkBK,GAChB,MAAMC,EAAY,IAAItM,GAAUqM,GAC1BE,EAA4B,kBAAoB7R,GAAS,UACzD8R,EAA2B,qBAAuB9R,GAAS,SAEjE,IAOI+R,EAPA3S,EAAO,CACT4R,MAAO,GAIT,KAAsC,IAAV,EAApBY,EAAUlM,KAAK,MAKvB,KAAOtG,EAAK4R,MAAQ,IAAMY,EAAUnM,SAAW,GAAG,CAChD,MAAMuM,EAAU5M,GAAQwM,EAAUlM,KAAK,IACvC,GACEsM,KAAW5S,IACM,IAAfA,EAAK4R,OAA2B,IAAZgB,GAKtB,MAHAnhB,KAAK0W,GAAavE,IAChB,kCAAoC8O,GAE5Bnd,MAAMkd,GAIlB,IAAI/e,EAAI,EACR,KAA6B,IAAtB8e,EAAUlM,KAAK,IAAe5S,IAAM,IAE3C,GAAU,IAANA,EAMG,CAGL,GAA8C,IAApB,IAApBsS,GAAQ2M,KAA2B,KAAW3S,EAAK4R,MAIvD,MAHAngB,KAAK0W,GAAavE,IAChB,wCAA0C8O,GAElCnd,MAAMkd,GAGlB,KACF,CAfEE,EAAWH,EAAUlM,KAAK,GAC1BtG,EAAK4S,GAAsB,EAAXD,EAChBH,EAAUnM,UAAY,EACtBrG,EAAK4R,OAaT,CAOA,OAJA5R,EAAKqS,MAAQ,GAAK7L,KAAKqM,KAAK7S,EAAK4R,QAAU,EAE3C5R,EAAKsS,GAA+B,GAAP,EAAZtS,EAAKqS,MAEfrS,CACT,EAsBF,MAAM8S,GACJzZ,YAAY4O,EAAaC,EAAasD,GACpC/Z,KAAK0W,GAAeF,EACpBxW,KAAKuV,GAAekB,EACpBzW,KAAKshB,GAAWvH,EAEhB/Z,KAAKuhB,GAAmB,IAAInhB,GAC5BJ,KAAKwhB,GAAS,KACdxhB,KAAKyhB,GAAe,IACtB,CAEKvU,SACH,OAAOlN,KAAKwhB,IAAU,EACxB,CAEAE,GAAaxU,EAAOqJ,GACdvW,KAAKwhB,KAAWtU,IAClBlN,KAAKuV,GAAatM,MAClBjJ,KAAK2hB,GAAU,IAAIpL,EACjBvW,KAAK0W,GACL1W,KAAKuV,GACLvV,KAAKshB,IAEPthB,KAAKwhB,GAAStU,EAElB,CAEA0U,IAAmBhgB,KAAEA,IACnB,MAAMigB,EAAWzN,GAAcxS,EAAKmC,IAAU,EAAG,IAEjD,OAAQ8d,GACN,IAAK,YACH,OAAO,EACT,IAAK,WAEH,OADA7hB,KAAK0hB,GAAa,OAAQrC,KACnB,EACT,IAAK,YAAYyC,KAAKD,IAAaA,EAEjC,OADA7hB,KAAK0hB,GAAa,OAAQ/E,KACnB,EACT,IAAK,cAAcmF,KAAKD,IAAaA,EAEnC,OADA7hB,KAAK0hB,GAAavS,GAAQ6Q,KACnB,EACT,QACE,OAAO,EAEb,CAEA+B,GAAyB9E,GAErBA,EAAQjM,MAAwBhR,KAAKgiB,GAAsB,GAC3DhiB,KAAKgiB,GAAsB,GAC3B/E,EAAQjM,IAAsB,GAE9BhR,KAAK0W,GAAaxE,IAChB,8CACA,aAAalS,KAAKgiB,GAAsB,WACxC/E,EAAQjM,OAKZhR,KAAKgiB,GAAsB/E,EAAQjM,GACrC,CAEAiR,GAAWhF,GACiB,OAAtBjd,KAAKyhB,KACPzhB,KAAKgiB,GAAsB/E,EAAQjM,IACnChR,KAAKyhB,GAAezhB,KAAK4hB,GAAmB3E,IAG9Cjd,KAAK+hB,GAAyB9E,GAE9B,MAAMiF,EAAe5L,GAAWjV,IAAI4b,GAC9BkC,EAAa9I,GAAYhV,IAAI6gB,EAAarU,IAEhD,IAAI3L,EAAS,EA0Bb,GAzBAggB,EAAajT,IAAYkQ,EAAWpO,IAAkB1H,KAAKoU,GACzDR,EAAQzP,GAAQzJ,IAAU7B,EAASA,GAAUub,KAI3Czd,KAAKuhB,GAAiBxf,KACxBmgB,EAAajT,IAAU,GAAKgF,GAC1BjU,KAAKuhB,GACLW,EAAajT,IAAU,IAGzBjP,KAAKuhB,GAAmB,IAAInhB,IAM5B,MADA+e,EAAWrO,IAAkBqO,EAAWrO,IAAkB/O,GAAU,KAGpE/B,KAAKuhB,GAAmBtN,GACtBjU,KAAKuhB,GACLW,EAAajT,IAAUkT,QAIvBniB,KAAKyhB,GAAc,CACrB,MAAMpR,EAAQrQ,KAAK2hB,GAAQjP,IAAcuK,GAGzC,OAFAjd,KAAK0W,GAAazE,IAAe5B,GAE1BA,CACT,CACE,OAAO4M,CAEX,EAGF,MAAMmF,WAAkB7L,GACtB3O,YAAY4O,EAAaC,EAAasD,GACpC9P,MAAMuM,EAAaC,GAEnBzW,KAAKshB,GAAWvH,EAChB/Z,KAAK6W,GAAQ8G,GACb3d,KAAKiX,GAASoG,GAEdrd,KAAKqiB,GAAW,IAAIhe,IACpBrE,KAAKsiB,GAAuB,IAC9B,CAEKpV,SACH,MAAMqV,EAAYviB,KAAKqiB,GAAShhB,IAAIrB,KAAKsiB,IAEzC,OAAOC,EAAYA,EAAUrV,GAAQ,EACvC,CAEA8M,EAAEvH,MACA,MAAMwK,QAAiBjd,KAAKqS,KAAsB,GAClDrS,KAAKsiB,GAAuBrF,EAAQzL,IAEpC,IAAI+Q,EAAYviB,KAAKqiB,GAAShhB,IAAIrB,KAAKsiB,IAYvC,OAXKC,IACHA,EAAY,IAAIlB,GACdrhB,KAAK0W,GACL1W,KAAKuV,GACLvV,KAAKshB,IAEPthB,KAAKqiB,GAASrhB,IAAIhB,KAAKsiB,GAAsBC,IAG3CtF,EAAQ/O,IAAalO,KAAKqiB,GAAS9X,OAAOvK,KAAKsiB,IAE5CC,EAAUN,GAAWhF,EAC9B,EAsBF,MAAMuF,GAAO,OAEb,MAAMC,GACJ7a,YACE8a,GACAC,GACE5I,EAAO6I,GACP1N,EAAa2N,GACb1N,EAAa2N,GACbC,GAAgB,EAAKC,GACrBC,GAAmB,GACjB,CAAC,GAELjjB,KAAKkjB,GAAiBR,EACtB1iB,KAAKshB,GAAWvH,GAAWyI,GAC3BxiB,KAAKoV,GAAiBF,GAAiBsN,GACvCxiB,KAAKqV,GAAiBF,EACtBnV,KAAKmjB,GAAiBJ,EACtB/iB,KAAKojB,GAASH,EAAmBnP,GAAgB0O,GAEjDxiB,KAAKqjB,GAAarjB,KAAKsjB,KACvBtjB,KAAKqjB,GAAWnH,MAClB,CAMKhP,SACH,OAAOlN,KAAK2hB,GAAQzU,EACtB,CAQAqW,SACEvjB,KAAKgX,IAAY,EAEjB,IAAK,IAAI/U,EAAIjC,KAAKqjB,GAAWnH,OAAQja,EAAEtB,MAAOsB,EAAIjC,KAAKqjB,GAAWnH,aAC1Dja,EAAEtB,MAGVX,KAAKgX,IAAY,EAEjBhX,KAAKqjB,GAAarjB,KAAKsjB,KACvBtjB,KAAKqjB,GAAWnH,MAClB,CASAsH,IAAYC,GACV,IACE,IAAIxhB,EAAIjC,KAAKqjB,GAAWnH,KAAKuH,GAC7BxhB,EAAEtB,MACFsB,EAAIjC,KAAKqjB,GAAWnH,aAEdja,EAAEtB,KAEZ,CAQA+iB,SAASC,GACP,MAAO,IAAI3jB,KAAK4jB,GAAWD,MAAc3jB,KAAKujB,QAChD,CAKAM,MAME,GALA7jB,KAAKuV,GAAe,IAAIN,GACtBjV,KAAKoV,GACLpV,KAAKqV,IAGHrV,KAAKkjB,GAAeY,MAAM,OAC5B9jB,KAAK2hB,GAAU,IAAI3G,GAAUhb,KAAMA,KAAKuV,GAAcvV,KAAKshB,SACtD,GAAIthB,KAAKkjB,GAAeY,MAAM,QACnC9jB,KAAK2hB,GAAU,IAAI7H,GAAW9Z,KAAMA,KAAKuV,GAAcvV,KAAKshB,SACvD,GAAIthB,KAAKkjB,GAAeY,MAAM,QACnC9jB,KAAK2hB,GAAU,IAAIhF,GAAW3c,KAAMA,KAAKuV,GAAcvV,KAAKshB,QACvD,KAAIthB,KAAKkjB,GAAeY,MAAM,OAGnC,MAAUhgB,MAAM,qBAAqB4e,UAFrC1iB,KAAK2hB,GAAU,IAAIS,GAAUpiB,KAAMA,KAAKuV,GAAcvV,KAAKshB,GAG7D,CAYA,IAVAthB,KAAK+jB,GAAe,EACpB/jB,KAAKgkB,GAAuB,EAC5BhkB,KAAKikB,GAAgB,EACrBjkB,KAAKkkB,GAAiB,EACtBlkB,KAAKmkB,GAAgB,EACrBnkB,KAAKokB,QAAcC,EAEnBrkB,KAAKskB,GAAW,IAAIjkB,WAAW,KAGlB,CACX,MAAMgQ,QAAerQ,KAAK2hB,GAAQlP,MAC9BpC,UAAaA,EACnB,CACF,CAOA4L,EAAEnK,IAAayS,EAAU,EAAGjN,EAAa,GACvC,IAAIkN,EAEJ,KAAOxkB,KAAKskB,GAASviB,IAAWwiB,EAAUjN,GAAY,CAGpD,GAFAkN,QAEIxkB,KAAKgX,GAAW,OAAOhX,KAAKskB,GAASvgB,IAAUuT,GAE/CkN,IACFxkB,KAAKikB,IAAiBO,EAAQziB,GAC9B/B,KAAKskB,GAAWrQ,GAAcjU,KAAKskB,GAAUE,GAEjD,CAEA,OAAOxkB,KAAKskB,GAASvgB,IAAUuT,EACjC,CAMAmN,CAAC1S,IAAkB2S,GACjB1kB,KAAKgkB,IAAwBU,EAC7B1kB,KAAKskB,GAAWtkB,KAAKskB,GAASvgB,IAAU2gB,EAC1C,CAKAC,CAAC3S,IAAoB3B,GACnBrQ,KAAKokB,GAAc/T,EAAMxC,GAAUtL,IAEnC8N,EAAMxC,GAAUhB,GACwC,EAAtDkI,KAAK6P,MAAMvU,EAAM7C,GAAQzL,GAAUsO,EAAM3C,IAC3C2C,EAAMpJ,IAAejH,KAAK+jB,KAC1B1T,EAAMsB,IAAiB3R,KAAKkkB,GAC5B7T,EAAMwB,IAAgB7R,KAAKmkB,GAC3B9T,EAAMuB,IAAkB5R,KAAKmkB,GAAgBnkB,KAAKokB,GAAe,IACjE/T,EAAM9C,GAASvN,KAAKojB,GAAO/S,EAAM7C,IAEjCxN,KAAKuV,GAAa5C,IAChBtC,EAAMxC,GAAUhB,GAChBwD,EAAMuB,KAGR5R,KAAKkkB,IAAkB7T,EAAM7C,GAAQzL,GACrC/B,KAAKmkB,IAAiB9T,EAAMe,GAC9B,CAKAyT,CAAC5S,IAAe5B,GACVA,EAAMlD,IAERkD,EAAMlD,GAAe7G,SAASwe,IAC5BzU,EAAM3C,IAAaoX,EAAWpX,GAC9B2C,EAAMe,KAAY0T,EAAW1T,IAC7BpR,KAAKgS,IAAoB8S,EAAW,IAGtCzU,EAAMwB,IAAgB7R,KAAKmkB,GAC3B9T,EAAMuB,IACH5R,KAAKmkB,GAAgBnkB,KAAKokB,GAAe,KAAQ,EACpD/T,EAAMsB,IAAiB3R,KAAKkkB,IAE5BlkB,KAAKgS,IAAoB3B,EAE7B,CAKA0U,GAAKC,EAAQC,GACX,GAAIjlB,KAAKmjB,GAAgB,CACvB,MAAM+B,EAAQ,CACZ,GAAGhY,cAAkBlN,KAAKkN,KAC1B,kBAAkBlN,KAAKkjB,GACvB,kBAAkBljB,KAAKgkB,GACvB,kBAAkBhkB,KAAKikB,GACvB,GAAGtS,OAAkB3R,KAAKkkB,MAGtBiB,EAAQpQ,KAAKqQ,OAAOF,EAAM7b,KAAKgc,GAAMA,EAAEtjB,MAE7CkjB,EAASniB,KACP,YAAY,IAAIwiB,OAAOH,EAAQ,MAC5BD,EACH,IAAII,OAAOH,IAGbH,EACE,eACAC,EAAS/Q,QAAO,CAACC,EAAKpN,IAAYoN,EAAM,OAASpN,GAAS,IAE9D,CACF,CAKAwe,CAACrT,OAAe+S,GACdjlB,KAAK+kB,GAAKS,QAAQC,KAAMR,EAC1B,CAKAS,CAACvT,OAAa8S,GACZjlB,KAAK+kB,GAAKS,QAAQG,MAAOV,EAC3B,EAGF,MAAMW,GAAczY,EACdvL,GAAO4L,EACPyI,GAASpI,EACTkS,GAAiB3Q,GACjByQ,GAAcxQ,GAOpB,SAASrH,GAAe7H,GAExB,SAASoH,IAAS,CAMlB,IAAK,IAAIse,EAAsB,IAAIxlB,WAAW,KAAM4B,EAAI,GAAIA,GAAK,IAAKA,EACrE4jB,EAAoB,GAAK5jB,GAAK,GAAKA,EACnC4jB,EAAoB,GAAK5jB,GAAKA,EAC9B4jB,EAAoB,GAAK5jB,GAAK,GAAKA,EA+LpC,IAAI6jB,EAEYxc,EA9LhBuc,EAAoB,IAAM,GAE1BA,EAAoB,IAAM,GAErB7d,GAAevG,GAAMhB,OAAO4E,eAAe2C,GAAgB,IAAQ,CAAC3G,IAAK,IAAM4C,OAAOC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHAqP9F,IAII6hB,EAAiBC,EAASC,EAAaC,EAAWC,EAAiBC,EAAkBC,EAJrFC,EAAU,CACbC,EAhBmB,CACnB7S,EAtCgBnI,GACTwJ,KAAKyR,KAAKjb,GAsCjBgb,EAnCehb,GACRwJ,KAAK0R,IAAIlb,GAmChBmb,EAhCenb,GACRwJ,KAAK4R,IAAIpb,GAgChBqb,EA7Berb,GACRwJ,KAAK8R,IAAItb,GA6BhBub,EA1BD,CAAgBvb,EAAGE,IACXsJ,KAAKgS,IAAIxb,EAAGE,GA0BnBzI,EAvBeuI,GACRwJ,KAAKiS,IAAIzb,GAuBhB0b,EApB+BC,EAAMC,EAAKC,GAC1CtB,EAAOuB,WAAWH,EAAMC,EAAKA,EAAMC,EACpC,EAmBCE,EAbgCC,GAChCzB,EAAO/jB,OAhPR,CAAeylB,IACd,KA2OM,KA1OP,EA0OCC,EAMD,IAwBAznB,KAAKa,EAAae,IAChBzB,EAAuBU,EAAUmH,GAAgBpG,EAAK,EAGxD5B,KAAKmB,EAAY,IACfhB,EAAuBgB,EAAU6G,IAEnChI,KAAKmE,YAAc,KACjBnE,KAAKmB,IAAYQ,MAAMF,GAASH,YAAY6C,YAAY1C,EAAM6kB,KAAU3kB,MAAM+lB,IAC5E,IAzEgChU,EAyE5BiU,EAAMD,EAASznB,QACtB8lB,EAAkB4B,EAAO,EACzB3B,EAAU2B,EAAO,EACjB1B,EAAc0B,EAAO,EACrBzB,EAAYyB,EAAO,EACnBxB,EAAkBwB,EAAO,EACzBvB,EAAmBuB,EAAO,EAC1BtB,EAAQsB,EAAO,EACfA,EAAO,EAjF4BjU,EAkFtBiU,EAAO,EACkBre,OAlFtCA,EAASoK,EACToS,EAAS,IAAIzlB,WAAWqT,GAmDzB,CAAqBiU,IACpBA,EAAO,GACR,EA6BCC,CAAYD,GACZpgB,GAAO,IAGRvH,KAAKuH,MAAQ,IAAItG,SAAQC,IACxBqG,EAAQrG,CAAO,IACbS,MAAK,KACP3B,KAAKoG,EAAOkD,EACZtJ,KAAK+F,EAASigB,EACdhmB,KAAKqG,KAAOggB,EACZrmB,KAAK6nB,GAAiB9B,EACtB/lB,KAAK8nB,GAAa7B,EAClBjmB,KAAK+nB,GAAW7B,EAChBlmB,KAAKgoB,GAAiB7B,EACtBnmB,KAAKioB,GAAkB7B,CAAgB,IAEjCpmB,KACL,CAEF,SAAS+H,KAsJP,OAnJA/H,KAAKkoB,GAAQ,KACJ,IAAIloB,KAAKqI,IACblE,YAAYnE,KAAKoH,GAAiBpH,KAAKqH,IACvC1F,MAAMwmB,IACLnoB,KAAKooB,GAAUD,EAEfnoB,KAAKqoB,GAASroB,KAAKooB,GAAQ1iB,EACzB1F,KAAKsoB,GACLjoB,YAGFL,KAAKuoB,IAAa,EAClBvoB,KAAKwoB,GAAYxoB,KAAKooB,GAAQ1iB,EAAmB,EAAGmO,aAEpD7T,KAAKyoB,GAAmBzoB,KAAKooB,GAAQ1iB,EAAmB,EAAGmO,aAC3D7T,KAAK0oB,GAAY1oB,KAAKooB,GAAQ1iB,EAAmB,EAAGmO,aACpD7T,KAAKokB,GAAcpkB,KAAKooB,GAAQ1iB,EAAmB,EAAGmO,aACtD7T,KAAK2oB,GAAkB3oB,KAAKooB,GAAQ1iB,EAAmB,EAAGmO,aAG1D7T,KAAK4oB,GAAU5oB,KAAKooB,GAAQ1iB,EADV,IACwCmO,aAC1D7T,KAAK6oB,GAAgB7oB,KAAKooB,GAAQ1iB,EAAmB,EAAGzC,YAExDjD,KAAK+jB,GAAe,EACpB/jB,KAAK8oB,GAAc,EACnB9oB,KAAK+oB,GAAiB,EAEtB/oB,KAAKgpB,GAAWhpB,KAAKooB,GAAQ3mB,EAAKomB,GAChC7nB,KAAKqoB,GAAOviB,EACZ9F,KAAKwoB,GAAU1iB,EACf9F,KAAKyoB,GAAiB3iB,EACtB9F,KAAK0oB,GAAU5iB,EACf9F,KAAKokB,GAAYte,EACjB9F,KAAK2oB,GAAgB7iB,EACrB9F,KAAK4oB,GAAQ9iB,EACb9F,KAAK6oB,GAAc/iB,EAhBH,IAkBjB,IAIPrF,OAAO4E,eAAerF,KAAM,QAAS,CACnCsF,YAAY,EACZjE,IAAK,IAAMrB,KAAKipB,KAIlBjpB,KAAKiJ,MAAQ,KACXjJ,KAAKqG,OACErG,KAAKkoB,MAGdloB,KAAKqG,KAAO,KACVrG,KAAKooB,GAAQ3mB,EAAKwmB,GAAgBjoB,KAAKgpB,IACvChpB,KAAKooB,GAAQ/hB,MAAM,EAGrBrG,KAAKkpB,gBAAmBtnB,IACtB5B,KAAKqoB,GAAOliB,EAAInF,IAAIY,GACpB5B,KAAKwoB,GAAUriB,EAAI,GAAKvE,EAAKG,OAE7B/B,KAAKooB,GAAQ3mB,EAAKqmB,GAAW9nB,KAAKgpB,GAAUhpB,KAAKuoB,IACjDvoB,KAAKuoB,IAAa,CAAK,EAGzBvoB,KAAKmpB,QAAU,KACbnpB,KAAKooB,GAAQ3mB,EAAKsmB,GAAS/nB,KAAKgpB,GAAS,EAG3ChpB,KAAKopB,cAAiBC,IACpB,IAAIC,EAAgB,GAClBniB,EAAgB,EAChB/E,EAAS,GAEX,IAAK,IAAImnB,EAAY,EAAGA,EAAYF,EAAQtnB,OAAQwnB,IAAa,CAC/D,MAAMC,EAASH,EAAQE,GACvBvpB,KAAKqoB,GAAOliB,EAAInF,IAAIwoB,GACpBxpB,KAAKwoB,GAAUriB,EAAI,GAAKqjB,EAAOznB,OAE/B/B,KAAKooB,GAAQ3mB,EAAKumB,GAAehoB,KAAKgpB,IAEtC,MAAM1mB,EAAiBtC,KAAK2oB,GAAgBxiB,EAAI,GAC1C8J,EAAW,GAEXwZ,EAAuB,IAAI5V,YAC/B7T,KAAKooB,GAAQ3mB,EAAK2E,EAClBpG,KAAKyoB,GAAiBtiB,EAAI,GAC1BnG,KAAK0oB,GAAUviB,EAAI,IAErB,IAAK,IAAItD,EAAU,EAAGA,EAAU7C,KAAK0oB,GAAUviB,EAAI,GAAItD,IAAW,CAChE,MAAMS,EAAS,IAAI/C,aAAa+B,GAChCgB,EAAOtC,IACL,IAAIT,aACFP,KAAKooB,GAAQ3mB,EAAK2E,EAClBqjB,EAAqB5mB,GACrBP,IAIJ2N,EAASnN,KAAKQ,EAChB,CAEAgmB,EAAcxmB,KAAKmN,GACnB9I,GAAiB7E,EAEjBtC,KAAK+jB,KACL/jB,KAAK8oB,IAAeU,EAAOznB,OAC3B/B,KAAK+oB,IAAkBzmB,EAGvB,IAAK,IAAIL,EAAI,EAAGA,EAAIjC,KAAK6oB,GAAc1iB,EAAKlE,GAAK,EAC/CG,EAAOU,KAAK,CACViE,QACE/G,KAAKooB,GAAQ5hB,EAAaxG,KAAK4oB,GAAQziB,EAAIlE,IAC3C,IACAjC,KAAKooB,GAAQ5hB,EAAaxG,KAAK4oB,GAAQziB,EAAIlE,EAAI,IACjD+E,YAAawiB,EAAOznB,OACpBkF,YAAajH,KAAK+jB,GAClB7c,WAAYlH,KAAK8oB,GACjB3hB,cAAenH,KAAK+oB,KAIxB/oB,KAAK6oB,GAAc1iB,EAAI,GAAK,CAC9B,CAEA,OAAOnG,KAAKqI,GAAwB5F,EAClCL,EACAknB,EACAtpB,KAAK0oB,GAAUviB,EAAI,GACnBgB,EACAnH,KAAKokB,GAAYje,EAAI,GACrB,GACD,EAIHnG,KAAK0pB,GAAe3hB,GAAQiB,EAC5BhJ,KAAKqI,GACHN,GAAQ5H,GAA0BA,EACpCH,KAAKoH,GAAkBW,GAAQC,GAAkBA,GACjDhI,KAAKqH,GAAUU,GAAQhH,EAEvBf,KAAKsoB,GAAa,OAElBtoB,KAAKipB,GAASjpB,KAAKkoB,KAEZloB,IACT,CAEA,MAAM2pB,GAAkB5e,SAExB,MAAM6e,GACJhiB,cACE5H,KAAKshB,GAAYpU,IACf,GAAc,WAAVA,EACF,MAAUpJ,MACR,+DAAiEoJ,EAClE,EAIL,IAAI/M,EAEJH,KAAKkoB,KACLloB,KAAK2pB,IAAiB5hB,GACxB,CAEAmgB,KACEloB,KAAK6pB,IAAyB,EAC9B7pB,KAAK0W,GAAe,IAAI+L,GAAY,YAAa,CAC/C1I,GAAS/Z,KAAKshB,GACd2B,IAAkB,GAEtB,CAEA6G,CAACH,IAAiBI,GAChB,GAAI/pB,KAAKgpB,GAAU,CACjB,MAAMgB,EAAahqB,KAAKgpB,GACxBgB,EAAWziB,MAAM5F,MAAK,IAAMqoB,EAAW3jB,QACzC,CAEArG,KAAKgpB,GAAW,IAAIe,EACpB/pB,KAAKipB,GAASjpB,KAAKgpB,GAASzhB,KAC9B,CAEIA,YACF,OAAOvH,KAAKipB,EACd,CAEAxe,cAEE,OADAzK,KAAKkoB,KACEloB,KAAKgpB,GAAS/f,OACvB,CAEA5C,OACErG,KAAKgpB,GAAS3iB,MAChB,CAEAoE,SAAqBwf,GACnB,MAAMZ,EAAU,GAEhB,IAAK,IAAIpnB,EAAI,EAAGA,EAAIgoB,EAASloB,OAAQE,IAAK,CACxC,MAAMgb,EAAUgN,EAAShoB,GAEzB,GAAIjC,KAAK6pB,KACkB,IAArB5M,EAAQrb,IAAM,IAChB5B,KAAKgpB,GAASE,gBAAgBjM,EAAQrb,KAGpCqb,EAAQ2I,IAAa7jB,QAAQ,CAC/B,MAAMod,EAAalC,EAAQ2I,IAAa,GAAG3P,IAE3CjW,KAAKgpB,GAASE,gBAAgB/J,EAAWY,KACzC/f,KAAKgpB,GAASE,gBAAgB/J,EAAWU,KACzC7f,KAAKgpB,GAASG,UAEdnpB,KAAK6pB,IAAyB,CAChC,CAGFR,EAAQvmB,QAAQma,EAAQ2I,IAAavc,KAAKyd,GAAMA,EAAEllB,MACpD,CAEA,OAAO5B,KAAKgpB,GAASI,cAAcC,EACrC,CAEA5e,aAAayf,GACX,OAAOlqB,KAAKmqB,GAAe,IAAInqB,KAAK0W,GAAakN,GAAWsG,IAC9D,CAEAzf,cACE,MAAM2f,EAAUpqB,KAAKmqB,GAAe,IAAInqB,KAAK0W,GAAa6M,UAG1D,aADMvjB,KAAKiJ,QACJmhB,CACT,CAEA3f,iBAAiByf,GACf,MAAME,EAAUpqB,KAAKmqB,GAAe,IAC/BnqB,KAAK0W,GAAagN,SAASwG,KAIhC,aADMlqB,KAAKiJ,QACJmhB,CACT,EAGF,MAAMC,WAAsB7iB,EAC1BI,YAAYC,GACVoC,MAAMpC,EAAS,qBAAsBE,GAASC,GAChD,CAEAyC,sBAAsB7I,GACpB,OAAO5B,KAAKwK,EAAc,kBAAmB5I,EAC/C,CAEA6I,gBACE,OAAOzK,KAAKwK,EAAc,UAC5B,CAEAC,oBAAoB4e,GAClB,OAAOrpB,KAAKwK,EAAc,gBAAiB6e,EAC7C,EAGF,MAAMiB,WAAkCV,GACtChiB,cACEqC,QAEAA,MAAM0f,IAAiBU,GACzB,CAEA5f,aACER,MAAM5D,MACR,CAEAsE,YACE3K,KAAKgpB,GAASre,WAChB,EAGFC,EAAYgf,GAAkB,oBAC9Bhf,EAAY0f,GAA2B,6BAEvCrqB,EAAQ2pB,iBAAmBA,GAC3B3pB,EAAQqqB,0BAA4BA,EAErC,EA5xIoB,iBAAZrqB,SAA0C,oBAAXc,OAAyBhB,EAAQE,QAASsqB,QAAQ,sBACtE,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,UAAW,qBAAsBzqB,GACXA,GAA1ED,EAA+B,oBAAf2H,WAA6BA,WAAa3H,GAAU2I,MAAqB,sBAAwB,CAAC,EAAG3I,EAAO4H"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bd7d999..52ae1b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "@wasm-audio-decoders/flac": "file:src/flac", "@wasm-audio-decoders/ogg-vorbis": "file:src/ogg-vorbis", "@wpdas/wave-header": "^1.0.1", - "codec-parser": "2.4.1", + "codec-parser": "2.4.2", "gh-pages": "^5.0.0", "jest": "^29.5.0", "mpg123-decoder": "file:src/mpg123-decoder", @@ -25,12 +25,12 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { @@ -38,42 +38,42 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", - "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", - "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.3", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.3", - "@babel/types": "^7.21.3", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -95,12 +95,12 @@ "dev": true }, "node_modules/@babel/generator": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", - "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", "dev": true, "dependencies": { - "@babel/types": "^7.21.3", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -109,28 +109,14 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" @@ -143,151 +129,151 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -367,9 +353,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", - "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -439,12 +425,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -541,12 +527,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -556,33 +542,33 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -591,13 +577,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -920,13 +906,14 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -960,36 +947,28 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", @@ -1044,27 +1023,27 @@ "dev": true }, "node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "dependencies": { - "@sinonjs/commons": "^2.0.0" + "@sinonjs/commons": "^3.0.0" } }, "node_modules/@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -1094,18 +1073,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "node_modules/@types/graceful-fs": { @@ -1152,15 +1131,15 @@ } }, "node_modules/@types/node": { - "version": "18.15.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz", - "integrity": "sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==", + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", + "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==", "dev": true }, "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, "node_modules/@types/resolve": { @@ -1191,8 +1170,13 @@ "dev": true }, "node_modules/@wasm-audio-decoders/common": { - "resolved": "src/common", - "link": true + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@wasm-audio-decoders/common/-/common-9.0.1.tgz", + "integrity": "sha512-s4KxPsxhD6e+EtjmHPzTmKJSJTEXHGYlBzUGGLN/plV01x3RecybW73nIMtdLLXL8k/zQ8HYFcA6d9lqCJcDjQ==", + "dev": true, + "dependencies": { + "@eshaz/web-worker": "1.2.1" + } }, "node_modules/@wasm-audio-decoders/flac": { "resolved": "src/flac", @@ -1489,9 +1473,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "dev": true, "funding": [ { @@ -1501,13 +1485,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -1586,9 +1574,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001470", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001470.tgz", - "integrity": "sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==", + "version": "1.0.30001497", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001497.tgz", + "integrity": "sha512-I4/duVK4wL6rAK/aKZl3HXB4g+lIZvaT4VLAn2rCgJ38jVLb0lv2Xug6QuqmxXFVRJMF74SPPWPJ/1Sdm3vCzw==", "dev": true, "funding": [ { @@ -1598,6 +1586,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -1719,9 +1711,9 @@ } }, "node_modules/codec-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", - "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.2.tgz", + "integrity": "sha512-RN6gT8aGdDq4vx//Ln+MRDIKPXA3SpJKsCcQSZ4poF2bZCO4/G0C2Ko/MVNpbJ7Y9ewpzeuLlBx2zH8BpcM4ew==", "dev": true }, "node_modules/collect-v8-coverage": { @@ -1900,9 +1892,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.341", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.341.tgz", - "integrity": "sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==", + "version": "1.4.427", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", + "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==", "dev": true }, "node_modules/email-addresses": { @@ -2459,9 +2451,9 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -2635,21 +2627,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-changed-files/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-circus": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", @@ -2681,21 +2658,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-cli": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", @@ -3022,31 +2984,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/jest-runtime": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", @@ -3127,9 +3064,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3489,9 +3426,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "node_modules/node-zopfli": { @@ -3610,15 +3547,15 @@ "link": true }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3636,6 +3573,21 @@ "node": ">=8" } }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -3865,9 +3817,9 @@ } }, "node_modules/pure-rand": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.1.tgz", - "integrity": "sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", "dev": true, "funding": [ { @@ -3935,12 +3887,12 @@ } }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -4111,9 +4063,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", @@ -4342,6 +4294,16 @@ "node": ">=10" } }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -4447,9 +4409,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -4459,6 +4421,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -4466,7 +4432,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -4621,9 +4587,9 @@ "dev": true }, "node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { "cliui": "^8.0.1", @@ -4682,23 +4648,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "src/common": { - "name": "@wasm-audio-decoders/common", - "version": "9.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@eshaz/web-worker": "1.2.1" - } - }, "src/flac": { - "name": "@wasm-audio-decoders/flac", - "version": "0.1.10", + "version": "0.1.11", "dev": true, "license": "MIT", "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.0" + "codec-parser": "2.4.1" }, "funding": { "type": "individual", @@ -4706,9 +4662,9 @@ } }, "src/flac/node_modules/codec-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.0.tgz", - "integrity": "sha512-WSIMZYuW/+i1o92XAa7nVqdKtTihfcj7JSDUcpm2ZT3pBhTahSaGQaGfRKY4/nctrM+ePc3KwExSAVly/ckiCQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", + "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==", "dev": true }, "src/mpg123-decoder": { @@ -4724,12 +4680,12 @@ } }, "src/ogg-opus-decoder": { - "version": "1.6.2", + "version": "1.6.3", "dev": true, "license": "MIT", "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.0", + "codec-parser": "2.4.1", "opus-decoder": "0.7.1" }, "funding": { @@ -4738,14 +4694,13 @@ } }, "src/ogg-opus-decoder/node_modules/codec-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.0.tgz", - "integrity": "sha512-WSIMZYuW/+i1o92XAa7nVqdKtTihfcj7JSDUcpm2ZT3pBhTahSaGQaGfRKY4/nctrM+ePc3KwExSAVly/ckiCQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", + "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==", "dev": true }, "src/ogg-vorbis": { - "name": "@wasm-audio-decoders/ogg-vorbis", - "version": "0.1.5", + "version": "0.1.6", "dev": true, "license": "MIT", "dependencies": { @@ -4757,6 +4712,12 @@ "url": "https://github.com/sponsors/eshaz" } }, + "src/ogg-vorbis/node_modules/codec-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", + "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==", + "dev": true + }, "src/opus-decoder": { "version": "0.7.1", "dev": true, diff --git a/package.json b/package.json index 68750ea..da9e538 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "@rollup/plugin-node-resolve": "^15.1.0", "@types/jest": "^29.5.2", "@wpdas/wave-header": "^1.0.1", - "codec-parser": "2.4.1", + "codec-parser": "2.4.2", "gh-pages": "^5.0.0", "jest": "^29.5.0", "node-zopfli": "^2.1.4", diff --git a/src/flac/dist/flac-decoder.js b/src/flac/dist/flac-decoder.js index 52453c4..7377132 100644 --- a/src/flac/dist/flac-decoder.js +++ b/src/flac/dist/flac-decoder.js @@ -3171,6 +3171,7 @@ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3184,23 +3185,26 @@ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames] = oggPageSegments.map((segment) => { + oggPage[codecFrames] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data$1]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3209,18 +3213,20 @@ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3360,17 +3366,15 @@ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3389,13 +3393,11 @@ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3406,6 +3408,8 @@ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } @@ -3426,8 +3430,11 @@ this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -3435,7 +3442,6 @@ const headerData = headerStore.get(oggPageStore[header]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data$1][subarray](offset, (offset += segmentLength)) ); @@ -3461,14 +3467,55 @@ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; } } } + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); + } + + if (oggPage[isLastPage]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); + } + } + /* Copyright 2020-2023 Ethan Halsall This file is part of codec-parser. diff --git a/src/flac/dist/flac-decoder.min.js b/src/flac/dist/flac-decoder.min.js index 723c35a..e9ae4fd 100644 --- a/src/flac/dist/flac-decoder.min.js +++ b/src/flac/dist/flac-decoder.min.js @@ -1,5 +1,5 @@ /* Copyright 2021-2022 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */ -var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},o:{value(t,s){e.t.set(t,Promise.resolve(s))}},u:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.U(s)):(s=t.p,i=e.M(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},T:{value(t,e){let i=new s(e),r=0,n=0;for(;r({A:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},O:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},U:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.C[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},M:{value(s){return s=e.U(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.u(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"p",{enumerable:!0,get:()=>this.F}),this.S=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.F.B(s.BYTES_PER_ELEMENT*t);return e&&this._.add(i),{J:i,I:t,L:new s(this.F.P,i,t)}},this.free=()=>{this._.forEach((t=>{this.F.free(t)})),this._.clear()},this.Y=t=>{const s=[],e=new Uint8Array(this.F.P);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.N=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.o(t,s),this.F=new t(e).instantiate(),this._=new Set,this.F.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},G:{value:e},D:{value:a.D},K:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.R=Number.MIN_SAFE_INTEGER,this.V=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.V.get(s)(e),this.V.delete(s)},new r(e).u().then((s=>{this.q("init",{D:s,options:t})}))}async q(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.R,data:s}),this.V.set(this.R++,e)}))}get ready(){return this.q("ready")}async free(){await this.q("free").finally((()=>{this.terminate()}))}async reset(){await this.q("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,y=24e3,m=22050,g=16e3,M=8e3,w="absoluteGranulePosition",b="bandwidth",T="bitDepth",$="bitrate",x=$+"Maximum",A=$+"Minimum",O=$+"Nominal",C="buffer",F=C+"Fullness",S="codec",v=S+"Frames",B="coupledStreamCount",_="crc",J=_+"16",k=_+"32",I="data",L="description",E="duration",P="emphasis",Y="hasOpusPadding",j="header",N="isContinuedPacket",W="isCopyrighted",G="isFirstPage",D="isHome",K="isLastPage",R="isOriginal",V="isPrivate",q="isVbr",z="layer",H="length",Q="mode",Z=Q+"Extension",X="mpeg",tt=X+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),yt=Ut+"Size",mt=Ut+"size0",gt=Ut+"size1",Mt=n(),wt="channel",bt=wt+"MappingFamily",Tt=wt+"MappingTable",$t=wt+"Mode",xt=n(),At=wt+"s",Ot="copyright",Ct=Ot+"Id",Ft=Ot+"IdStart",St="frame",vt=St+"Count",Bt=St+"Length",_t="Number",Jt=St+_t,kt=St+"Padding",It=St+"Size",Lt="Rate",Et="inputSample"+Lt,Pt="page",Yt=Pt+"Checksum",jt=n(),Nt=Pt+"SegmentTable",Wt=Pt+"Sequence"+_t,Gt="sample",Dt=Gt+_t,Kt=Gt+Lt,Rt=n(),Vt=Gt+"s",qt="stream",zt=qt+"Count",Ht=qt+"Info",Qt=qt+"Serial"+_t,Zt=qt+"StructureVersion",Xt="total",ts=Xt+"BytesOut",ss=Xt+"Duration",es=Xt+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),ys=n(),ms=n(),gs=n(),Ms=n(),ws=n(),bs=Uint8Array,Ts=DataView,$s="reserved",xs="bad",As="free",Os="none",Cs="16bit CRC",Fs=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Ss=Fs(new bs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),vs=[Fs(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],Bs=[Fs(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let ui=0;ui<15;ui++){vs.push(new Uint16Array(256)),Bs.push(new Uint32Array(256));for(let t=0;t<=255;t++)vs[ui+1][t]=vs[0][vs[ui][t]>>>8]^vs[ui][t]<<8,Bs[ui+1][t]=Bs[ui][t]>>>8^Bs[0][255&Bs[ui][t]]}const _s=t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i=Bs[15][255&(t[r++]^i)]^Bs[14][255&(t[r++]^i>>>8)]^Bs[13][255&(t[r++]^i>>>16)]^Bs[12][t[r++]^i>>>24]^Bs[11][t[r++]]^Bs[10][t[r++]]^Bs[9][t[r++]]^Bs[8][t[r++]]^Bs[7][t[r++]]^Bs[6][t[r++]]^Bs[5][t[r++]]^Bs[4][t[r++]]^Bs[3][t[r++]]^Bs[2][t[r++]]^Bs[1][t[r++]]^Bs[0][t[r++]];for(;r!==s;)i=Bs[0][255&(i^t[r++])]^i>>>8;return-1^i},Js=(...t)=>{const s=new bs(t.reduce(((t,s)=>t+s[H]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[H])),0),s},ks=t=>String.fromCharCode(...t),Is=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ls=t=>Is[15&t]<<4|Is[t>>4];class Es{constructor(t){this.H=t,this.Z=8*t[H]}set position(t){this.Z=t}get position(){return this.Z}read(t){const s=Math.floor(this.Z/8),e=this.Z%8;return this.Z-=t,(Ls(this.H[s-1])<<8)+Ls(this.H[s])>>7-e&255}}class Ps{constructor(t,s){this.X=t,this.tt=s,this[ms]()}[gs](){this.st=!0}[ms](){this.et=new Map,this.it=new WeakMap,this.rt=!1,this.nt=!1,this.ht=null,this.st=!1}[ys](t,s){if(this.tt){this.ht!==t&&(this.ht=t,this.nt=!0);const e=this.it.get(this.et.get(this.at));this.nt&&e&&this.tt({lt:t,...e},s),this.nt=!1}}[us](t){const s=this.et.get(t);return s&&this.ut(t),s}[ds](t,s,e){this.st&&(this.rt||(this.X({...s}),this.rt=!0),this.ut(t),this.et.set(t,s),this.it.set(s,e))}ut(t){this.tt&&t!==this.at&&(this.nt=!0,this.at=t)}}const Ys=new WeakMap,js=new WeakMap;class Ns{constructor(t,s){this.Ut=t,this.et=s}*[ls](){let t;for(;;){if(t=yield*this.yt[Us](this.Ut,this.et,0),t)return t;this.Ut[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=js.get(s)[H];if(t||this.Ut.Mt||(yield*this.wt[us](this.Ut,this.et,e)))return this.et[gs](),this.Ut[rs](e),this.Ut[hs](s),s;this.Ut[os](`Missing ${St} at ${e} bytes from current position.`,`Dropping current ${St} and trying again.`),this.et[ms](),this.Ut[rs](1)}}class Ws{constructor(t,s){js.set(this,{[j]:t}),this[I]=s}}class Gs extends Ws{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Ys.get(n)[Bt],i=Ys.get(n)[Vt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[j]=t,this[Vt]=e,this[E]=e/t[Kt]*1e3,this[Jt]=null,this[ts]=null,this[es]=null,this[ss]=null,js.get(this)[H]=s[H]}}const Ds="unsynchronizationFlag",Ks="extendedHeaderFlag",Rs="experimentalFlag",Vs="footerPresent";class qs{static*Tt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[Ds]=!!(128&r[5]),i[Ks]=!!(64&r[5]),i[Rs]=!!(32&r[5]),i[Vs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[H]=10+n,new qs(i)}constructor(t){this[lt]=t[lt],this[Ds]=t[Ds],this[Ks]=t[Ks],this[Rs]=t[Rs],this[Vs]=t[Vs],this[H]=t[H]}}class zs{constructor(t){Ys.set(this,t),this[T]=t[T],this[$]=null,this[At]=t[At],this[$t]=t[$t],this[Kt]=t[Kt]}}const Hs={0:[As,As,As,As,As],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Qs=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let ui=2;ui<15;ui++)Hs[ui<<4]=[32*ui,Qs(ui,4,0),Qs(ui,4,-1),Qs(ui,8,4),Qs(ui,8,0)];const Zs="bands ",Xs=" to 31",te={0:Zs+4+Xs,16:Zs+8+Xs,32:Zs+12+Xs,48:Zs+16+Xs},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[L]:$s},2:{[L]:"Layer III",[kt]:1,[Z]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Vt]:1152},[ee]:{[se]:4,[Vt]:576}},4:{[L]:"Layer II",[kt]:1,[Z]:te,[Vt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[L]:"Layer I",[kt]:4,[Z]:te,[Vt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[L]:le+"2.5 (later extension of MPEG 2)",[z]:ee,[Kt]:{0:11025,4:12e3,8:M,12:$s}},8:{[L]:$s},16:{[L]:`${le}2 (${ce}13818-3)`,[z]:ee,[Kt]:{0:m,4:y,8:g,12:$s}},24:{[L]:`${le}1 (${ce}11172-3)`,[z]:ie,[Kt]:{0:f,4:U,8:p,12:$s}},length:H},de={0:Cs,1:Os},Ue={0:Os,1:"50/15 ms",2:$s,3:"CCIT J.17"},fe={0:{[At]:2,[L]:l},64:{[At]:2,[L]:"joint "+l},128:{[At]:2,[L]:"dual channel"},192:{[At]:1,[L]:a}};class pe extends zs{static*[us](t,s,e){const i={},r=yield*qs.Tt(t,s,e);r&&(yield*t[is](r[H],e),t[rs](r[H]));const n=yield*t[is](4,e),h=ks(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[L]===$s)return null;const l=6&n[1];if(ae[l][L]===$s)return null;const c={...ae[l],...ae[l][a[z]]};if(i[tt]=a[L],i[z]=c[L],i[Vt]=c[Vt],i[ht]=de[1&n[1]],i[H]=4,i[$]=Hs[240&n[2]][c[se]],i[$]===xs)return null;if(i[Kt]=a[Kt][12&n[2]],i[Kt]===$s)return null;if(i[kt]=2&n[2]&&c[kt],i[V]=!!(1&n[2]),i[Bt]=Math.floor(125*i[$]*i[Vt]/i[Kt]+i[kt]),!i[Bt])return null;const u=192&n[3];if(i[$t]=fe[u][L],i[At]=fe[u][At],i[Z]=c[Z][48&n[3]],i[W]=!!(8&n[3]),i[R]=!!(4&n[3]),i[P]=Ue[3&n[3]],i[P]===$s)return null;i[T]=16;{const{length:t,frameLength:e,$t:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[$]=t[$],this[P]=t[P],this[kt]=t[kt],this[W]=t[W],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[Z]=t[Z],this[tt]=t[tt],this[ht]=t[ht]}}class ye extends Gs{static*[Us](t,s,e){return yield*super[Us](pe,ye,t,s,e)}constructor(t,s,e){super(t,s,e)}}class me extends Ns{constructor(t,s,e){super(t,s),this.yt=ye,this.wt=pe,e(this[S])}get[S](){return X}*[fs](){return yield*this[cs]()}}const ge={0:"MPEG-4",8:"MPEG-2"},Me={0:"valid",2:xs,4:xs,6:xs},we={0:Cs,1:Os},be={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},Te={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:y,28:m,32:g,36:12e3,40:11025,44:M,48:7350,52:$s,56:$s,60:"frequency is written explicitly"},$e={0:{[At]:0,[L]:"Defined in AOT Specific Config"},64:{[At]:1,[L]:a},128:{[At]:2,[L]:u(2,h[0][0])},192:{[At]:3,[L]:u(3,h[1][3])},256:{[At]:4,[L]:u(4,h[1][3],h[3][4])},320:{[At]:5,[L]:u(5,h[1][3],h[3][0])},384:{[At]:6,[L]:u(6,h[1][3],h[3][0],o)},448:{[At]:8,[L]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=ks([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=ge[8&r[1]],i[z]=Me[6&r[1]],i[z]===xs)return null;const t=1&r[1];i[ht]=we[t],i[H]=t?7:9,i[nt]=192&r[2],i[Rt]=60&r[2];const e=2&r[2];if(i[rt]=be[i[nt]],i[Kt]=Te[i[Rt]],i[Kt]===$s)return null;i[V]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[$t]=$e[i[xt]][L],i[At]=$e[i[xt]][At],i[R]=!!(32&r[3]),i[D]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Ft]=!!(4&r[3]),i[T]=16,i[Vt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,Ct:r,Ft:h,frameLength:o,$t:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[Bt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[Bt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[F]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Ft]=t[Ft],this[F]=t[F],this[D]=t[D],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[H]=t[H],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get vt(){const t=Ys.get(this),s=t[nt]+64<<5|t[Rt]<<5|t[xt]>>3,e=new bs(2);return new Ts(e[C]).setUint16(0,s,!1),e}}class Ae extends Gs{static*[Us](t,s,e){return yield*super[Us](xe,Ae,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Oe extends Ns{constructor(t,s,e){super(t,s),this.yt=Ae,this.wt=xe,e(this[S])}get[S](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Gs{static Bt(t){return(t[t[H]-2]<<8)+t[t[H]-1]}static[ws](t){const s=Ce.Bt(t),e=(t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=vs[15][i>>8]^vs[14][255&i]^vs[13][t[r++]]^vs[12][t[r++]]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=(255&i)<<8^vs[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ht]=e,s[J]=Ce.Bt(t),super(s,t,Ys.get(s)[Vt])}}const Fe="get from STREAMINFO metadata block",Se={0:"Fixed",1:"Variable"},ve={0:$s,16:192};for(let ui=2;ui<16;ui++)ve[ui<<4]=ui<6?576*2**(ui-2):2**ui;const Be={0:Fe,1:88200,2:176400,3:192e3,4:M,5:g,6:m,7:y,8:p,9:f,10:U,11:96e3,15:xs},_e={0:{[At]:1,[L]:a},16:{[At]:2,[L]:u(2,h[0][0])},32:{[At]:3,[L]:u(3,h[0][1])},48:{[At]:4,[L]:u(4,h[1][0],h[3][0])},64:{[At]:5,[L]:u(5,h[1][1],h[3][0])},80:{[At]:6,[L]:u(6,h[1][1],o,h[3][0])},96:{[At]:7,[L]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[At]:8,[L]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[At]:2,[L]:l+" (left, diff)"},144:{[At]:2,[L]:l+" (diff, right)"},160:{[At]:2,[L]:l+" (avg, diff)"},176:$s,192:$s,208:$s,224:$s,240:$s},Je={0:Fe,2:8,4:12,6:$s,8:16,10:20,12:24,14:$s};class ke extends zs{static Jt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[H];for(let i=0;i!==e;i++)s=Ss[s^t[i]];return s})(i[at](0,r[H]-1)))return null;if(!h){const{Lt:t,frameNumber:e,Et:i,$t:h,Ft:o,Pt:a,Yt:l,length:c,...u}=r;s[ds](n,r,u)}return new ke(r)}constructor(t){super(t),this[J]=null,this[ft]=t[ft],this[yt]=t[yt],this[Jt]=t[Jt],this[Dt]=t[Dt],this[Ht]=null}}class Ie extends Ns{constructor(t,s,e){super(t,s),this.yt=Ce,this.wt=ke,e(this[S])}get[S](){return"flac"}*jt(t){const s=yield*this.Ut[is](2,0),e=s[H]-2;for(;t{const s=ke[Ms](t,this.et);if(s)return new Ce(t,s,this.Wt);this.Ut[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Le{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[Zt]=r[4],248&r[5])return null;i[K]=!!(4&r[5]),i[G]=!!(2&r[5]),i[N]=!!(1&r[5]);const n=new Ts(bs.from(r[at](0,28))[C]);try{i[w]=n.getBigInt64(6,!0)}catch{}i[Qt]=n.getInt32(14,!0),i[Wt]=n.getInt32(18,!0),i[Yt]=n.getInt32(22,!0);const h=r[26];i[H]=h+27,r=yield*t[is](i[H],e),i[Bt]=0,i[Nt]=[],i[jt]=bs.from(r[at](27,i[H]));for(let o=0,a=0;o{const s=ze[Ms](this.Kt,t,this.et);if(s)return new Pe(t,s);this.Ut[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Qe extends Gs{constructor(t,s,e){super(s,t,e)}}const Ze={};for(let ui=0;ui<8;ui++)Ze[ui+6]=2**(6+ui);class Xe extends zs{static[Ms](t,s,e,i){if(t[H]<30)throw Error("Out of data while inside an Ogg Page");const r=ks(t[at](0,30)),n=s[us](r);if(n)return new Xe(n);const h={[H]:30};if("vorbis"!==r.substr(0,7))return null;h[I]=bs.from(t[at](0,30));const o=new Ts(h[I][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[At]=t[11],h[$t]=d[h[At]-1]||"application defined",h[Kt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[O]=o.getInt32(20,!0),h[A]=o.getInt32(24,!0),h[gt]=Ze[(240&t[28])>>4],h[mt]=Ze[15&t[28]],h[mt]>h[gt])return null;if(1!==t[29])return null;h[T]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Rt:n,Vt:o,...a}=h;s[ds](r,h,a)}return new Xe(h)}constructor(t){super(t),this[x]=t[x],this[A]=t[A],this[O]=t[O],this[mt]=t[mt],this[gt]=t[gt],this[I]=t[I],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Ns{constructor(t,s,e){super(t,s),this.yt=Qe,e(this[S]),this.Kt=null,this.qt={count:0},this.zt=0,this.Ht=0}get[S](){return ct}[ps](t){const s=js.get(t)[ot];return 0===t[Wt]?(this.et[gs](),this.Kt=t[I]):1===t[Wt]?s[1]&&(this.Qt=s[0],this.Zt=s[1],this.qt=this.Xt(s[1])):t[v]=s.map((t=>{const s=Xe[Ms](this.Kt,this.et,this.Qt,this.Zt);if(s)return new Qe(t,s,this.ts(t,s));this.Ut[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")})),t}ts(t,s){const e=t[0]>>1,i=this.qt[e&this.qt.mask];i&&(this.zt=e&this.qt.ss?s[gt]:s[mt]),this.Ht=i?s[gt]:s[mt];const r=this.zt+this.Ht>>2;return this.zt=this.Ht,r}Xt(t){const s=new Es(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ls(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.Ut[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ls(r))>>1)!==n.count)throw this.Ut[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Wt]>1&&this.Ut[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.hs+1}, Got: ${t[Wt]}`),this.hs=t[Wt]}*[fs](){const t=yield*this[cs](!0);this.us(t);const s=js.get(t),e=Ys.get(s[j]);let i=0;if(s[ot]=e[Nt].map((s=>t[I][at](i,i+=s))),this.ns[H]&&(s[ot][0]=Js(this.ns,s[ot][0]),this.ns=new bs),255===e[jt][e[jt][H]-1]&&(this.ns=Js(this.ns,s[ot].pop())),this.rs||this.cs(t)){const s=this.ls[ps](t);return this.Ut[hs](s),s}}}const ei=()=>{};class ii{constructor(t,{ds:s,Us:e,fs:i,ps:r=!1,ys:n=!0}={}){this.gs=t,this.es=s||ei,this.X=e||ei,this.tt=i,this.Ms=r,this.ws=n?_s:ei,this.bs=this.Ts(),this.bs.next()}get[S](){return this.ls[S]}*flush(){this.Mt=!0;for(let t=this.bs.next();t.value;t=this.bs.next())yield t.value;this.Mt=!1,this.bs=this.Ts(),this.bs.next()}*$s(t){for(let s=this.bs.next(t);s.value;s=this.bs.next())yield s.value}parseAll(t){return[...this.$s(t),...this.flush()]}*Ts(){if(this.et=new Ps(this.X,this.tt),this.gs.match(/aac/))this.ls=new Oe(this,this.et,this.es);else if(this.gs.match(/mpeg/))this.ls=new me(this,this.et,this.es);else if(this.gs.match(/flac/))this.ls=new Ie(this,this.et,this.es);else{if(!this.gs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.ls=new si(this,this.et,this.es)}for(this.xs=0,this.As=0,this.Os=0,this.Cs=0,this.Fs=0,this.Ss=void 0,this.vs=new Uint8Array(0);;){const t=yield*this.ls[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.vs[H]<=t+s;){if(e=yield,this.Mt)return this.vs[at](s);e&&(this.Os+=e[H],this.vs=Js(this.vs,e))}return this.vs[at](s)}[rs](t){this.As+=t,this.vs=this.vs[at](t)}[ns](t){this.Ss=t[j][Kt],t[j][$]=8*Math.round(t[I][H]/t[E]),t[Jt]=this.xs++,t[ts]=this.Cs,t[es]=this.Fs,t[ss]=this.Fs/this.Ss*1e3,t[k]=this.ws(t[I]),this.et[ys](t[j][$],t[ss]),this.Cs+=t[I][H],this.Fs+=t[Vt]}[hs](t){t[v]?(t[v].forEach((s=>{t[E]+=s[E],t[Vt]+=s[Vt],this[ns](s)})),t[es]=this.Fs,t[ss]=this.Fs/this.Ss*1e3||0,t[ts]=this.Cs):this[ns](t)}ks(t,s){if(this.Ms){const e=[`${S}: ${this[S]}`,"inputMimeType: "+this.gs,"readPosition: "+this.As,"totalBytesIn: "+this.Os,`${ts}: ${this.Cs}`],i=Math.max(...e.map((t=>t[H])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.ks(console.warn,t)}[as](...t){this.ks(console.error,t)}}const ri=I;function ni(t){function s(t){console.log(t)}function e(t){console.error(t)}function i(){}for(var r=new Uint8Array(123),n=25;n>=0;--n)r[48+n]=52+n,r[65+n]=n,r[97+n]=26+n;r[43]=62,r[47]=63,ni.p||Object.defineProperty(ni,"p",{get:()=>String.raw`dynEncode01d9fc6c0c93…/qõ¤æo-®‰Çr‘˜_¾.¥ò•>?—= ‚´Z^¨E¨_lLK˜Ó½Lgº½ï4É +var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},o:{value(t,s){e.t.set(t,Promise.resolve(s))}},u:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.U(s)):(s=t.p,i=e.M(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},T:{value(t,e){let i=new s(e),r=0,n=0;for(;r({A:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},O:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},U:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.C[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},M:{value(s){return s=e.U(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.u(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"p",{enumerable:!0,get:()=>this.S}),this.F=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.S.B(s.BYTES_PER_ELEMENT*t);return e&&this._.add(i),{J:i,L:t,I:new s(this.S.P,i,t)}},this.free=()=>{this._.forEach((t=>{this.S.free(t)})),this._.clear()},this.Y=t=>{const s=[],e=new Uint8Array(this.S.P);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.N=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.o(t,s),this.S=new t(e).instantiate(),this._=new Set,this.S.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},G:{value:e},D:{value:a.D},K:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.R=Number.MIN_SAFE_INTEGER,this.V=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.V.get(s)(e),this.V.delete(s)},new r(e).u().then((s=>{this.q("init",{D:s,options:t})}))}async q(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.R,data:s}),this.V.set(this.R++,e)}))}get ready(){return this.q("ready")}async free(){await this.q("free").finally((()=>{this.terminate()}))}async reset(){await this.q("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,y=24e3,m=22050,g=16e3,M=8e3,w="absoluteGranulePosition",b="bandwidth",T="bitDepth",$="bitrate",x=$+"Maximum",A=$+"Minimum",O=$+"Nominal",C="buffer",S=C+"Fullness",F="codec",v=F+"Frames",B="coupledStreamCount",_="crc",J=_+"16",k=_+"32",L="data",E="description",I="duration",P="emphasis",Y="hasOpusPadding",j="header",N="isContinuedPacket",W="isCopyrighted",G="isFirstPage",D="isHome",K="isLastPage",R="isOriginal",V="isPrivate",q="isVbr",z="layer",H="length",Q="mode",Z=Q+"Extension",X="mpeg",tt=X+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),yt=Ut+"Size",mt=Ut+"size0",gt=Ut+"size1",Mt=n(),wt="channel",bt=wt+"MappingFamily",Tt=wt+"MappingTable",$t=wt+"Mode",xt=n(),At=wt+"s",Ot="copyright",Ct=Ot+"Id",St=Ot+"IdStart",Ft="frame",vt=Ft+"Count",Bt=Ft+"Length",_t="Number",Jt=Ft+_t,kt=Ft+"Padding",Lt=Ft+"Size",Et="Rate",It="inputSample"+Et,Pt="page",Yt=Pt+"Checksum",jt=n(),Nt=Pt+"SegmentTable",Wt=Pt+"Sequence"+_t,Gt="sample",Dt=Gt+_t,Kt=Gt+Et,Rt=n(),Vt=Gt+"s",qt="stream",zt=qt+"Count",Ht=qt+"Info",Qt=qt+"Serial"+_t,Zt=qt+"StructureVersion",Xt="total",ts=Xt+"BytesOut",ss=Xt+"Duration",es=Xt+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),ys=n(),ms=n(),gs=n(),Ms=n(),ws=n(),bs=Uint8Array,Ts=DataView,$s="reserved",xs="bad",As="free",Os="none",Cs="16bit CRC",Ss=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Fs=Ss(new bs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),vs=[Ss(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],Bs=[Ss(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let di=0;di<15;di++){vs.push(new Uint16Array(256)),Bs.push(new Uint32Array(256));for(let t=0;t<=255;t++)vs[di+1][t]=vs[0][vs[di][t]>>>8]^vs[di][t]<<8,Bs[di+1][t]=Bs[di][t]>>>8^Bs[0][255&Bs[di][t]]}const _s=t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i=Bs[15][255&(t[r++]^i)]^Bs[14][255&(t[r++]^i>>>8)]^Bs[13][255&(t[r++]^i>>>16)]^Bs[12][t[r++]^i>>>24]^Bs[11][t[r++]]^Bs[10][t[r++]]^Bs[9][t[r++]]^Bs[8][t[r++]]^Bs[7][t[r++]]^Bs[6][t[r++]]^Bs[5][t[r++]]^Bs[4][t[r++]]^Bs[3][t[r++]]^Bs[2][t[r++]]^Bs[1][t[r++]]^Bs[0][t[r++]];for(;r!==s;)i=Bs[0][255&(i^t[r++])]^i>>>8;return-1^i},Js=(...t)=>{const s=new bs(t.reduce(((t,s)=>t+s[H]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[H])),0),s},ks=t=>String.fromCharCode(...t),Ls=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Es=t=>Ls[15&t]<<4|Ls[t>>4];class Is{constructor(t){this.H=t,this.Z=8*t[H]}set position(t){this.Z=t}get position(){return this.Z}read(t){const s=Math.floor(this.Z/8),e=this.Z%8;return this.Z-=t,(Es(this.H[s-1])<<8)+Es(this.H[s])>>7-e&255}}class Ps{constructor(t,s){this.X=t,this.tt=s,this[ms]()}[gs](){this.st=!0}[ms](){this.et=new Map,this.it=new WeakMap,this.rt=!1,this.nt=!1,this.ht=null,this.st=!1}[ys](t,s){if(this.tt){this.ht!==t&&(this.ht=t,this.nt=!0);const e=this.it.get(this.et.get(this.at));this.nt&&e&&this.tt({lt:t,...e},s),this.nt=!1}}[us](t){const s=this.et.get(t);return s&&this.ut(t),s}[ds](t,s,e){this.st&&(this.rt||(this.X({...s}),this.rt=!0),this.ut(t),this.et.set(t,s),this.it.set(s,e))}ut(t){this.tt&&t!==this.at&&(this.nt=!0,this.at=t)}}const Ys=new WeakMap,js=new WeakMap;class Ns{constructor(t,s){this.Ut=t,this.et=s}*[ls](){let t;for(;;){if(t=yield*this.yt[Us](this.Ut,this.et,0),t)return t;this.Ut[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=js.get(s)[H];if(t||this.Ut.Mt||(yield*this.wt[us](this.Ut,this.et,e)))return this.et[gs](),this.Ut[rs](e),this.Ut[hs](s),s;this.Ut[os](`Missing ${Ft} at ${e} bytes from current position.`,`Dropping current ${Ft} and trying again.`),this.et[ms](),this.Ut[rs](1)}}class Ws{constructor(t,s){js.set(this,{[j]:t}),this[L]=s}}class Gs extends Ws{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Ys.get(n)[Bt],i=Ys.get(n)[Vt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[j]=t,this[Vt]=e,this[I]=e/t[Kt]*1e3,this[Jt]=null,this[ts]=null,this[es]=null,this[ss]=null,js.get(this)[H]=s[H]}}const Ds="unsynchronizationFlag",Ks="extendedHeaderFlag",Rs="experimentalFlag",Vs="footerPresent";class qs{static*Tt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[Ds]=!!(128&r[5]),i[Ks]=!!(64&r[5]),i[Rs]=!!(32&r[5]),i[Vs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[H]=10+n,new qs(i)}constructor(t){this[lt]=t[lt],this[Ds]=t[Ds],this[Ks]=t[Ks],this[Rs]=t[Rs],this[Vs]=t[Vs],this[H]=t[H]}}class zs{constructor(t){Ys.set(this,t),this[T]=t[T],this[$]=null,this[At]=t[At],this[$t]=t[$t],this[Kt]=t[Kt]}}const Hs={0:[As,As,As,As,As],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Qs=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let di=2;di<15;di++)Hs[di<<4]=[32*di,Qs(di,4,0),Qs(di,4,-1),Qs(di,8,4),Qs(di,8,0)];const Zs="bands ",Xs=" to 31",te={0:Zs+4+Xs,16:Zs+8+Xs,32:Zs+12+Xs,48:Zs+16+Xs},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[E]:$s},2:{[E]:"Layer III",[kt]:1,[Z]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Vt]:1152},[ee]:{[se]:4,[Vt]:576}},4:{[E]:"Layer II",[kt]:1,[Z]:te,[Vt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[E]:"Layer I",[kt]:4,[Z]:te,[Vt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[E]:le+"2.5 (later extension of MPEG 2)",[z]:ee,[Kt]:{0:11025,4:12e3,8:M,12:$s}},8:{[E]:$s},16:{[E]:`${le}2 (${ce}13818-3)`,[z]:ee,[Kt]:{0:m,4:y,8:g,12:$s}},24:{[E]:`${le}1 (${ce}11172-3)`,[z]:ie,[Kt]:{0:f,4:U,8:p,12:$s}},length:H},de={0:Cs,1:Os},Ue={0:Os,1:"50/15 ms",2:$s,3:"CCIT J.17"},fe={0:{[At]:2,[E]:l},64:{[At]:2,[E]:"joint "+l},128:{[At]:2,[E]:"dual channel"},192:{[At]:1,[E]:a}};class pe extends zs{static*[us](t,s,e){const i={},r=yield*qs.Tt(t,s,e);r&&(yield*t[is](r[H],e),t[rs](r[H]));const n=yield*t[is](4,e),h=ks(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[E]===$s)return null;const l=6&n[1];if(ae[l][E]===$s)return null;const c={...ae[l],...ae[l][a[z]]};if(i[tt]=a[E],i[z]=c[E],i[Vt]=c[Vt],i[ht]=de[1&n[1]],i[H]=4,i[$]=Hs[240&n[2]][c[se]],i[$]===xs)return null;if(i[Kt]=a[Kt][12&n[2]],i[Kt]===$s)return null;if(i[kt]=2&n[2]&&c[kt],i[V]=!!(1&n[2]),i[Bt]=Math.floor(125*i[$]*i[Vt]/i[Kt]+i[kt]),!i[Bt])return null;const u=192&n[3];if(i[$t]=fe[u][E],i[At]=fe[u][At],i[Z]=c[Z][48&n[3]],i[W]=!!(8&n[3]),i[R]=!!(4&n[3]),i[P]=Ue[3&n[3]],i[P]===$s)return null;i[T]=16;{const{length:t,frameLength:e,$t:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[$]=t[$],this[P]=t[P],this[kt]=t[kt],this[W]=t[W],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[Z]=t[Z],this[tt]=t[tt],this[ht]=t[ht]}}class ye extends Gs{static*[Us](t,s,e){return yield*super[Us](pe,ye,t,s,e)}constructor(t,s,e){super(t,s,e)}}class me extends Ns{constructor(t,s,e){super(t,s),this.yt=ye,this.wt=pe,e(this[F])}get[F](){return X}*[fs](){return yield*this[cs]()}}const ge={0:"MPEG-4",8:"MPEG-2"},Me={0:"valid",2:xs,4:xs,6:xs},we={0:Cs,1:Os},be={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},Te={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:y,28:m,32:g,36:12e3,40:11025,44:M,48:7350,52:$s,56:$s,60:"frequency is written explicitly"},$e={0:{[At]:0,[E]:"Defined in AOT Specific Config"},64:{[At]:1,[E]:a},128:{[At]:2,[E]:u(2,h[0][0])},192:{[At]:3,[E]:u(3,h[1][3])},256:{[At]:4,[E]:u(4,h[1][3],h[3][4])},320:{[At]:5,[E]:u(5,h[1][3],h[3][0])},384:{[At]:6,[E]:u(6,h[1][3],h[3][0],o)},448:{[At]:8,[E]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=ks([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=ge[8&r[1]],i[z]=Me[6&r[1]],i[z]===xs)return null;const t=1&r[1];i[ht]=we[t],i[H]=t?7:9,i[nt]=192&r[2],i[Rt]=60&r[2];const e=2&r[2];if(i[rt]=be[i[nt]],i[Kt]=Te[i[Rt]],i[Kt]===$s)return null;i[V]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[$t]=$e[i[xt]][E],i[At]=$e[i[xt]][At],i[R]=!!(32&r[3]),i[D]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[St]=!!(4&r[3]),i[T]=16,i[Vt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,Ct:r,St:h,frameLength:o,$t:a,Ft:l,...c}=i;s[ds](n,i,c)}}if(i[Bt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[Bt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[S]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[St]=t[St],this[S]=t[S],this[D]=t[D],this[R]=t[R],this[V]=t[V],this[z]=t[z],this[H]=t[H],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get vt(){const t=Ys.get(this),s=t[nt]+64<<5|t[Rt]<<5|t[xt]>>3,e=new bs(2);return new Ts(e[C]).setUint16(0,s,!1),e}}class Ae extends Gs{static*[Us](t,s,e){return yield*super[Us](xe,Ae,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Oe extends Ns{constructor(t,s,e){super(t,s),this.yt=Ae,this.wt=xe,e(this[F])}get[F](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Gs{static Bt(t){return(t[t[H]-2]<<8)+t[t[H]-1]}static[ws](t){const s=Ce.Bt(t),e=(t=>{const s=t[H],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=vs[15][i>>8]^vs[14][255&i]^vs[13][t[r++]]^vs[12][t[r++]]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=(255&i)<<8^vs[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ht]=e,s[J]=Ce.Bt(t),super(s,t,Ys.get(s)[Vt])}}const Se="get from STREAMINFO metadata block",Fe={0:"Fixed",1:"Variable"},ve={0:$s,16:192};for(let di=2;di<16;di++)ve[di<<4]=di<6?576*2**(di-2):2**di;const Be={0:Se,1:88200,2:176400,3:192e3,4:M,5:g,6:m,7:y,8:p,9:f,10:U,11:96e3,15:xs},_e={0:{[At]:1,[E]:a},16:{[At]:2,[E]:u(2,h[0][0])},32:{[At]:3,[E]:u(3,h[0][1])},48:{[At]:4,[E]:u(4,h[1][0],h[3][0])},64:{[At]:5,[E]:u(5,h[1][1],h[3][0])},80:{[At]:6,[E]:u(6,h[1][1],o,h[3][0])},96:{[At]:7,[E]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[At]:8,[E]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[At]:2,[E]:l+" (left, diff)"},144:{[At]:2,[E]:l+" (diff, right)"},160:{[At]:2,[E]:l+" (avg, diff)"},176:$s,192:$s,208:$s,224:$s,240:$s},Je={0:Se,2:8,4:12,6:$s,8:16,10:20,12:24,14:$s};class ke extends zs{static Jt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[H];for(let i=0;i!==e;i++)s=Fs[s^t[i]];return s})(i[at](0,r[H]-1)))return null;if(!h){const{Et:t,frameNumber:e,It:i,$t:h,St:o,Pt:a,Yt:l,length:c,...u}=r;s[ds](n,r,u)}return new ke(r)}constructor(t){super(t),this[J]=null,this[ft]=t[ft],this[yt]=t[yt],this[Jt]=t[Jt],this[Dt]=t[Dt],this[Ht]=null}}class Le extends Ns{constructor(t,s,e){super(t,s),this.yt=Ce,this.wt=ke,e(this[F])}get[F](){return"flac"}*jt(t){const s=yield*this.Ut[is](2,0),e=s[H]-2;for(;t{const s=ke[Ms](t,this.et);if(s)return new Ce(t,s,this.Wt);this.Ut[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ee{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[Zt]=r[4],248&r[5])return null;i[K]=!!(4&r[5]),i[G]=!!(2&r[5]),i[N]=!!(1&r[5]);const n=new Ts(bs.from(r[at](0,28))[C]);try{i[w]=n.getBigInt64(6,!0)}catch{}i[Qt]=n.getInt32(14,!0),i[Wt]=n.getInt32(18,!0),i[Yt]=n.getInt32(22,!0);const h=r[26];i[H]=h+27,r=yield*t[is](i[H],e),i[Bt]=0,i[Nt]=[],i[jt]=bs.from(r[at](27,i[H]));for(let o=0,a=0;o{const s=ze[Ms](this.Kt,t,this.et);if(s)return new Pe(t,s);this.Ut[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Qe extends Gs{constructor(t,s,e){super(s,t,e)}}const Ze={};for(let di=0;di<8;di++)Ze[di+6]=2**(6+di);class Xe extends zs{static[Ms](t,s,e,i){if(t[H]<30)throw Error("Out of data while inside an Ogg Page");const r=ks(t[at](0,30)),n=s[us](r);if(n)return new Xe(n);const h={[H]:30};if("vorbis"!==r.substr(0,7))return null;h[L]=bs.from(t[at](0,30));const o=new Ts(h[L][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[At]=t[11],h[$t]=d[h[At]-1]||"application defined",h[Kt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[O]=o.getInt32(20,!0),h[A]=o.getInt32(24,!0),h[gt]=Ze[(240&t[28])>>4],h[mt]=Ze[15&t[28]],h[mt]>h[gt])return null;if(1!==t[29])return null;h[T]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Rt:n,Vt:o,...a}=h;s[ds](r,h,a)}return new Xe(h)}constructor(t){super(t),this[x]=t[x],this[A]=t[A],this[O]=t[O],this[mt]=t[mt],this[gt]=t[gt],this[L]=t[L],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Ns{constructor(t,s,e){super(t,s),this.yt=Qe,e(this[F]),this.Kt=null,this.qt=!1,this.zt={count:0},this.Ht=0,this.Qt=0}get[F](){return ct}[ps](t){t[v]=[];for(const s of js.get(t)[ot])if(1===s[0])this.et[gs](),this.Kt=t[L],this.qt=!1;else if(3===s[0])this.Zt=s;else if(5===s[0])this.Xt=s,this.zt=this.ts(s),this.qt=!0;else if(this.qt){const e=Xe[Ms](this.Kt,this.et,this.Zt,this.Xt);e?t[v].push(new Qe(s,e,this.ss(s,e))):this.Ut[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")}return t}ss(t,s){const e=t[0]>>1,i=this.zt[e&this.zt.mask];i&&(this.Ht=e&this.zt.es?s[gt]:s[mt]),this.Qt=i?s[gt]:s[mt];const r=this.Ht+this.Qt>>2;return this.Ht=this.Qt,r}ts(t){const s=new Is(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Es(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.Ut[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Es(r))>>1)!==n.count)throw this.Ut[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Wt]>1&&this.Ut[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.Us+1}, Got: ${t[Wt]}`),this.Us=t[Wt]}fs(t){null===this.os&&(this.Us=t[Wt],this.os=this.us(t)),this.ds(t);const s=js.get(t),e=Ys.get(s[j]);let i=0;if(s[ot]=e[Nt].map((s=>t[L][at](i,i+=s))),this.ns[H]&&(s[ot][0]=Js(this.ns,s[ot][0]),this.ns=new bs),255===e[jt][e[jt][H]-1]&&(this.ns=Js(this.ns,s[ot].pop())),this.os){const s=this.cs[ps](t);return this.Ut[hs](s),s}return t}}class ei extends Ns{constructor(t,s,e){super(t,s),this.rs=e,this.yt=Ie,this.wt=Ee,this.ps=new Map,this.ys=null}get[F](){const t=this.ps.get(this.ys);return t?t.xt:""}*[fs](){const t=yield*this[cs](!0);this.ys=t[Qt];let s=this.ps.get(this.ys);return s||(s=new si(this.Ut,this.et,this.rs),this.ps.set(this.ys,s)),t[K]&&this.ps.delete(this.ys),s.fs(t)}}const ii=()=>{};class ri{constructor(t,{gs:s,Ms:e,ws:i,bs:r=!1,Ts:n=!0}={}){this.$s=t,this.rs=s||ii,this.X=e||ii,this.tt=i,this.xs=r,this.As=n?_s:ii,this.Os=this.Cs(),this.Os.next()}get[F](){return this.cs[F]}*flush(){this.Mt=!0;for(let t=this.Os.next();t.value;t=this.Os.next())yield t.value;this.Mt=!1,this.Os=this.Cs(),this.Os.next()}*Ss(t){for(let s=this.Os.next(t);s.value;s=this.Os.next())yield s.value}parseAll(t){return[...this.Ss(t),...this.flush()]}*Cs(){if(this.et=new Ps(this.X,this.tt),this.$s.match(/aac/))this.cs=new Oe(this,this.et,this.rs);else if(this.$s.match(/mpeg/))this.cs=new me(this,this.et,this.rs);else if(this.$s.match(/flac/))this.cs=new Le(this,this.et,this.rs);else{if(!this.$s.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.cs=new ei(this,this.et,this.rs)}for(this.Fs=0,this.vs=0,this.Bs=0,this._s=0,this.Js=0,this.ks=void 0,this.Ls=new Uint8Array(0);;){const t=yield*this.cs[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.Ls[H]<=t+s;){if(e=yield,this.Mt)return this.Ls[at](s);e&&(this.Bs+=e[H],this.Ls=Js(this.Ls,e))}return this.Ls[at](s)}[rs](t){this.vs+=t,this.Ls=this.Ls[at](t)}[ns](t){this.ks=t[j][Kt],t[j][$]=8*Math.round(t[L][H]/t[I]),t[Jt]=this.Fs++,t[ts]=this._s,t[es]=this.Js,t[ss]=this.Js/this.ks*1e3,t[k]=this.As(t[L]),this.et[ys](t[j][$],t[ss]),this._s+=t[L][H],this.Js+=t[Vt]}[hs](t){t[v]?(t[v].forEach((s=>{t[I]+=s[I],t[Vt]+=s[Vt],this[ns](s)})),t[es]=this.Js,t[ss]=this.Js/this.ks*1e3||0,t[ts]=this._s):this[ns](t)}Ys(t,s){if(this.xs){const e=[`${F}: ${this[F]}`,"inputMimeType: "+this.$s,"readPosition: "+this.vs,"totalBytesIn: "+this.Bs,`${ts}: ${this._s}`],i=Math.max(...e.map((t=>t[H])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Ys(console.warn,t)}[as](...t){this.Ys(console.error,t)}}const ni=L;function hi(t){function s(t){console.log(t)}function e(t){console.error(t)}function i(){}for(var r=new Uint8Array(123),n=25;n>=0;--n)r[48+n]=52+n,r[65+n]=n,r[97+n]=26+n;r[43]=62,r[47]=63,hi.p||Object.defineProperty(hi,"p",{get:()=>String.raw`dynEncode01d9fc6c0c93…/qõ¤æo-®‰Çr‘˜_¾.¥ò•>?—= ‚´Z^¨E¨_lLK˜Ó½Lgº½ï4É xø#~ÊQʊz~+âWÖÞ,ɲ^ˆúÙ¹@¸Ëò°ÈÐúWŠØò­hð6þr§·Ç¼FîC"Óàr$¼Aé€_µåªÝ âWïä'—xÜkÈÀ¼ÐäYËÖû½GÐ%¡ÜS»¢üj(µÛÚýÀyla%”šH;w»ë*û1œ¬XÑî2n¼pÒ¤ÉOÕã}Ñ.qšßO9äÊëÅBN}d鉡„sÐÅW´x”—ÀªÐBoÂix>å©üÁ9úßQôÆ­ÞnH„6Áøïv±véáÖ÷–™¿[Zö,üâJ ˆìî>Æ´iƒ³âGŠ*>$Æ3 6=}Pzaò ý€ÌŒz¨ÇKieZh&- ä­Ôdfn@㥇†vßy§žËCñCq™@aŽqs÷F‘;¹ò@Ûa¦õ£Y») B­þc=M]r, @@ -81,5 +81,5 @@ z”­-w9lþkbö>së®QSU,â~ANÃuã^™X1]ܯA‡p%9µ±àÂÄï±ÍãõÄԊ ºød‰yáOÝø h-hÁ= ³O¦¸_TY0º0QhÎÞÐ+ÏkU:UgL\xTR}芕©XBoôïBO{›AƊ1¢-80笨PùIiø£Þ!ƒ¥ßÄçôgºaEO ¥Lcö§fãvïî[Ká+ïù~ã’tDq\8þ5=} ë&T?‰p‘dz‚™FÂÒûÑgd·Gr«̢ĭæ°Û_ʂ܂• ÍúÑÍtËü½@v·‰ëØ^Ѫϗ¼ÜÓ¨;o¾Uzþ{¨™Xy˜nxûXÂòeÑxø(õø¬˜T¯‹Úgä†ÚS}½´º0s%Íþϛ=}Eüx,¨54riüi§ÌÙéæÏ\ӛ =}ýádž:;tsq¢ÅAZ8 ñ¡æ­ïSl¢L´Ñ~Yç5ç†_ðûBó4Y¸úGk÷ÃVhB?4’ÔUèÉÛ娹 !ô³ZŸ$ZK‰ñ{¹}󆠵Ñâ»ýRmûÂE?TiŒËÒ2€Khî½/3óOøC´´2ïJ¿5Uk$VJʎp¬8 ]<“»xÿÖz¿ï؎¿ÈÍø‹•’fÞ¸/×­™Ø«ÏDÀÔê$;ÍÊøþ–„W@ -‹¿†ÍhŒ¯¿óä„Õ“º„?•Æd§}…ò’Lã+ %B÷¬ÿÈeaÁö¬7kýÕQPʹ«M~>sFw<ª "A1U!ýÃþöÈ|e¬e©æqob)ÂãÒ¾ûf/pCqH3HšEôöt6?ºÜGæ–ë–mËËÀ£= sO6©ÉM´K¤ŸG‘ÇS3]YáöuŠöJ±52wÛ)zë*^!Ç)/CCMN_3l ËŲ]›=}Ϋk„Dˆ=}±Œ(Àö¥„ûóPÅH¸°ÎVO,7ºP.Ó3WG؆Ę¡Ç±§]XlX(æÒLÆòx=}ˆ¢´-ÑB®f8q³ÈÓùKJÅ£]èl¸$VTb?Ætòjj*ŠÜ띢œ+= ò‹ï¥!§ws).zJ;¤±OÄ-ىÚY1Ix¹!=My€!-(^S=MÙµíUgù3QЊyÒ[áz÷Ñ= [ܙÄ-¹N¨4›nÈážTYëªà)î…ðy›k±A¹Ø€ùغêށ„:"-hIÙNñoaÑJÁØÙ`});var h,o,a,l,c,u,d,U,f=new TextDecoder("utf8"),p={Es:{},Ps:[null,[],[]],Ys(t,i){var r=p.Ps[t];0===i||10===i?((1===t?s:e)(((t,s,e)=>{for(var i=0;t[i]&&!(i>=NaN);)++i;return f.decode(t.subarray?t.subarray(0,i):new Uint8Array(t.slice(0,i)))})(r)),r.length=0):r.push(i)},js:void 0,get:()=>(p.js+=4,h[p.js-4>>2]),Ns(t){var s=((t,s)=>{if(!t)return"";for(var e=t+void 0,i=t;!(i>=e)&&o[i];)++i;return f.decode(o.subarray(t,i))})(t);return s},Ws:(t,s)=>t},y={d(t,s,e){o.copyWithin(t,s,s+e)},c(t){o.length,(t=>{throw"OOM"})()},b:t=>0,a(t,s,e,i){var r=p.Gs(t),n=p.Ds(r,s,e);return h[i>>2]=n,0},e(t,s,e,i,r){}},m={a:y};this.o=s=>{t.o(ni,s)},this.u=()=>t.u(ni),this.instantiate=()=>(this.u().then((t=>WebAssembly.instantiate(t,m))).then((t=>{var s,e=t.exports;l=e.h,c=e.i,u=e.j,d=e.k,U=e.l,e.m,s=e.f.buffer,a=s,h=new Int32Array(s),o=new Uint8Array(s),(t=>{t.g()})(e),i()})),this.ready=new Promise((t=>{i=t})).then((()=>{this.P=a,this.B=c,this.free=l,this.Ks=u,this.Rs=d,this.Vs=U})),this)}function hi(){return this.qs=()=>(new this.zs).instantiate(this.Hs,this.Qs).then((t=>{this.Zs=t,this.Xs=0,this.te=0,this.xs=0,this.se=this.Zs.v(1,Uint32Array),this.Ss=this.Zs.v(1,Uint32Array),this.ee=this.Zs.v(1,Uint32Array),this.ie=this.Zs.v(1,Uint32Array),this.re=this.Zs.v(1,Uint32Array),this.ne=this.Zs.v(1,Uint32Array),this.he=this.Zs.v(1,Uint32Array),this.oe=this.Zs.v(1,Uint32Array),this.ae=this.Zs.p.Ks(this.se.J,this.Ss.J,this.ee.J,this.ie.J,this.re.J,this.ne.J,this.he.J,this.oe.J)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.le}),this.reset=()=>(this.free(),this.qs()),this.free=()=>{this.Zs.p.Rs(this.ae),this.Zs.free()},this.ce=t=>{if(!(t instanceof Uint8Array))throw Error("Data to decode must be Uint8Array. Instead got "+typeof t);const s=this.Zs.v(t.length,Uint8Array,!1);s.L.set(t),this.Zs.p.Vs(this.ae,s.J,s.I);let e,i=[];this.he.L[0]&&i.push("Error: "+this.Zs.Y(this.he.L[0])),this.oe.L[0]&&i.push("State: "+this.Zs.Y(this.oe.L[0])),i.length&&(e=i.join("; "),console.error("@wasm-audio-decoders/flac: \n\t"+i.join("\n\t")));const r=new Float32Array(this.Zs.p.P,this.re.L[0],this.ne.L[0]),n={error:e,outputBuffer:this.Zs.S(r,this.se.L[0],this.ie.L[0]),samplesDecoded:this.ie.L[0]};return this.Zs.p.free(this.re.L[0]),this.ne.L[0]=0,this.ie.L[0]=0,n},this.decodeFrames=t=>{let s=[],e=[],i=0;for(let r=0;r{if("flac"!==t)throw Error("@wasm-audio-decoders/flac does not support this codec "+t)},new e,this.qs(),this[oi](hi)}qs(){this.Ut=new ii("audio/flac",{ds:this.es,ys:!1})}[oi](t){if(this.ae){const t=this.ae;t.ready.then((()=>t.free()))}this.ae=new t,this.le=this.ae.ready}get ready(){return this.le}async reset(){return this.qs(),this.ae.reset()}free(){this.ae.free()}async decode(t){return this.ae.decodeFrames([...this.Ut.$s(t)].map((t=>t[ri])))}async flush(){const t=this.ae.decodeFrames([...this.Ut.flush()].map((t=>t[ri])));return await this.reset(),t}async decodeFile(t){const s=this.ae.decodeFrames([...this.Ut.parseAll(t)].map((t=>t[ri])));return await this.reset(),s}async decodeFrames(t){return this.ae.decodeFrames(t)}}class li extends i{constructor(t){super(t,"flac-decoder",hi,ni)}async decodeFrames(t){return this.q("decodeFrames",t)}}class ci extends ai{constructor(){super(),super[oi](li)}async free(){super.free()}terminate(){this.ae.terminate()}}r(ai,"FLACDecoder"),r(ci,"FLACDecoderWebWorker"),t.FLACDecoder=ai,t.FLACDecoderWebWorker=ci},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["flac-decoder"]={},t.Worker); +‹¿†ÍhŒ¯¿óä„Õ“º„?•Æd§}…ò’Lã+ %B÷¬ÿÈeaÁö¬7kýÕQPʹ«M~>sFw<ª "A1U!ýÃþöÈ|e¬e©æqob)ÂãÒ¾ûf/pCqH3HšEôöt6?ºÜGæ–ë–mËËÀ£= sO6©ÉM´K¤ŸG‘ÇS3]YáöuŠöJ±52wÛ)zë*^!Ç)/CCMN_3l ËŲ]›=}Ϋk„Dˆ=}±Œ(Àö¥„ûóPÅH¸°ÎVO,7ºP.Ó3WG؆Ę¡Ç±§]XlX(æÒLÆòx=}ˆ¢´-ÑB®f8q³ÈÓùKJÅ£]èl¸$VTb?Ætòjj*ŠÜ띢œ+= ò‹ï¥!§ws).zJ;¤±OÄ-ىÚY1Ix¹!=My€!-(^S=MÙµíUgù3QЊyÒ[áz÷Ñ= [ܙÄ-¹N¨4›nÈážTYëªà)î…ðy›k±A¹Ø€ùغêށ„:"-hIÙNñoaÑJÁØÙ`});var h,o,a,l,c,u,d,U,f=new TextDecoder("utf8"),p={Ws:{},Gs:[null,[],[]],Ds(t,i){var r=p.Gs[t];0===i||10===i?((1===t?s:e)(((t,s,e)=>{for(var i=0;t[i]&&!(i>=NaN);)++i;return f.decode(t.subarray?t.subarray(0,i):new Uint8Array(t.slice(0,i)))})(r)),r.length=0):r.push(i)},Ks:void 0,get:()=>(p.Ks+=4,h[p.Ks-4>>2]),Rs(t){var s=((t,s)=>{if(!t)return"";for(var e=t+void 0,i=t;!(i>=e)&&o[i];)++i;return f.decode(o.subarray(t,i))})(t);return s},Vs:(t,s)=>t},y={d(t,s,e){o.copyWithin(t,s,s+e)},c(t){o.length,(t=>{throw"OOM"})()},b:t=>0,a(t,s,e,i){var r=p.qs(t),n=p.zs(r,s,e);return h[i>>2]=n,0},e(t,s,e,i,r){}},m={a:y};this.o=s=>{t.o(hi,s)},this.u=()=>t.u(hi),this.instantiate=()=>(this.u().then((t=>WebAssembly.instantiate(t,m))).then((t=>{var s,e=t.exports;l=e.h,c=e.i,u=e.j,d=e.k,U=e.l,e.m,s=e.f.buffer,a=s,h=new Int32Array(s),o=new Uint8Array(s),(t=>{t.g()})(e),i()})),this.ready=new Promise((t=>{i=t})).then((()=>{this.P=a,this.B=c,this.free=l,this.Hs=u,this.Qs=d,this.Zs=U})),this)}function oi(){return this.Xs=()=>(new this.te).instantiate(this.se,this.ee).then((t=>{this.ie=t,this.re=0,this.ne=0,this.Fs=0,this.he=this.ie.v(1,Uint32Array),this.ks=this.ie.v(1,Uint32Array),this.oe=this.ie.v(1,Uint32Array),this.ae=this.ie.v(1,Uint32Array),this.le=this.ie.v(1,Uint32Array),this.ce=this.ie.v(1,Uint32Array),this.ue=this.ie.v(1,Uint32Array),this.de=this.ie.v(1,Uint32Array),this.Ue=this.ie.p.Hs(this.he.J,this.ks.J,this.oe.J,this.ae.J,this.le.J,this.ce.J,this.ue.J,this.de.J)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.fe}),this.reset=()=>(this.free(),this.Xs()),this.free=()=>{this.ie.p.Qs(this.Ue),this.ie.free()},this.pe=t=>{if(!(t instanceof Uint8Array))throw Error("Data to decode must be Uint8Array. Instead got "+typeof t);const s=this.ie.v(t.length,Uint8Array,!1);s.I.set(t),this.ie.p.Zs(this.Ue,s.J,s.L);let e,i=[];this.ue.I[0]&&i.push("Error: "+this.ie.Y(this.ue.I[0])),this.de.I[0]&&i.push("State: "+this.ie.Y(this.de.I[0])),i.length&&(e=i.join("; "),console.error("@wasm-audio-decoders/flac: \n\t"+i.join("\n\t")));const r=new Float32Array(this.ie.p.P,this.le.I[0],this.ce.I[0]),n={error:e,outputBuffer:this.ie.F(r,this.he.I[0],this.ae.I[0]),samplesDecoded:this.ae.I[0]};return this.ie.p.free(this.le.I[0]),this.ce.I[0]=0,this.ae.I[0]=0,n},this.decodeFrames=t=>{let s=[],e=[],i=0;for(let r=0;r{if("flac"!==t)throw Error("@wasm-audio-decoders/flac does not support this codec "+t)},new e,this.Xs(),this[ai](oi)}Xs(){this.Ut=new ri("audio/flac",{gs:this.rs,Ts:!1})}[ai](t){if(this.Ue){const t=this.Ue;t.ready.then((()=>t.free()))}this.Ue=new t,this.fe=this.Ue.ready}get ready(){return this.fe}async reset(){return this.Xs(),this.Ue.reset()}free(){this.Ue.free()}async decode(t){return this.Ue.decodeFrames([...this.Ut.Ss(t)].map((t=>t[ni])))}async flush(){const t=this.Ue.decodeFrames([...this.Ut.flush()].map((t=>t[ni])));return await this.reset(),t}async decodeFile(t){const s=this.Ue.decodeFrames([...this.Ut.parseAll(t)].map((t=>t[ni])));return await this.reset(),s}async decodeFrames(t){return this.Ue.decodeFrames(t)}}class ci extends i{constructor(t){super(t,"flac-decoder",oi,hi)}async decodeFrames(t){return this.q("decodeFrames",t)}}class ui extends li{constructor(){super(),super[ai](ci)}async free(){super.free()}terminate(){this.Ue.terminate()}}r(li,"FLACDecoder"),r(ui,"FLACDecoderWebWorker"),t.FLACDecoder=li,t.FLACDecoderWebWorker=ui},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["flac-decoder"]={},t.Worker); //# sourceMappingURL=flac-decoder.min.js.map \ No newline at end of file diff --git a/src/flac/dist/flac-decoder.min.js.map b/src/flac/dist/flac-decoder.min.js.map index bdf9f78..1bb730c 100644 --- a/src/flac/dist/flac-decoder.min.js.map +++ b/src/flac/dist/flac-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ot","codecData","_currentHeader","ct","key","_updateCurrentHeader","dt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","ft","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","$t","MPEGFrame","MPEGParser","onCodec","At","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","Ct","Ft","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","It","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Lt","Et","Pt","Yt","FLACParser","jt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","Nt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Dt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Rt","Vt","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ds","Us","fs","ps","enableLogging","ys","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","$s","chunk","parseAll","fileData","parseChunk","Ts","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Bs","increment","_s","round","Js","codecFrame","_log","logger","messages","stats","width","max","s","repeat","Is","console","warn","Ls","error","out","text","log","err","base64ReverseLookup","HEAP32","HEAPU8","_free","_malloc","_create_decoder","_destroy_decoder","_decode_frame","UTF8Decoder","TextDecoder","SYSCALLS","printChar","curr","maxBytesToRead","endPtr","decode","UTF8ArrayToString","varargs","getStr","maxPtr","UTF8ToString","end","get64","low","high","asmLibraryArg","d","dest","src","num","copyWithin","requestedSize","what","abort","fd","a","iov","iovcnt","pnum","getStreamFromFD","doReadv","e","offset_low","offset_high","whence","newOffset","imports","instance","asm","initRuntime","create_decoder","destroy_decoder","decode_frame","_init","common","_common","_inputBytes","_outputSamples","_channels","_bitsPerSample","_samplesDecoded","_outputBufferPtr","_outputBufferLen","_errorStringPtr","_stateStringPtr","_decoder","_ready","_decode","errorMessage","decoded","outputBuffer","decodeFrames","frames","outputBuffers","_MAX_INPUT_SIZE","_isWebWorker","setDecoderClass","FLACDecoder","Ue","decoderClass","oldDecoder","flacData","f","flacFrames","DecoderWorker","FLACDecoderWebWorker","require","define","amd"],"sources":["flac-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ot","codecData","_currentHeader","ct","key","_updateCurrentHeader","dt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","ft","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","$t","MPEGFrame","MPEGParser","onCodec","At","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","Ct","St","Ft","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Lt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Et","It","Pt","Yt","FLACParser","jt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","Nt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Dt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Rt","Vt","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","gs","Ms","ws","bs","enableLogging","Ts","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","Ss","chunk","parseAll","fileData","parseChunk","Cs","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Es","increment","Is","round","Ps","codecFrame","_log","logger","messages","stats","width","max","s","repeat","js","console","warn","Ns","error","out","text","log","err","base64ReverseLookup","HEAP32","HEAPU8","_free","_malloc","_create_decoder","_destroy_decoder","_decode_frame","UTF8Decoder","TextDecoder","SYSCALLS","printChar","curr","maxBytesToRead","endPtr","decode","UTF8ArrayToString","varargs","getStr","maxPtr","UTF8ToString","end","get64","low","high","asmLibraryArg","d","dest","src","num","copyWithin","requestedSize","what","abort","fd","a","iov","iovcnt","pnum","getStreamFromFD","doReadv","e","offset_low","offset_high","whence","newOffset","imports","instance","asm","initRuntime","create_decoder","destroy_decoder","decode_frame","_init","common","_common","_inputBytes","_outputSamples","_channels","_bitsPerSample","_samplesDecoded","_outputBufferPtr","_outputBufferLen","_errorStringPtr","_stateStringPtr","_decoder","_ready","_decode","errorMessage","decoded","outputBuffer","decodeFrames","frames","outputBuffers","_MAX_INPUT_SIZE","_isWebWorker","setDecoderClass","FLACDecoder","ge","decoderClass","oldDecoder","flacData","f","flacFrames","DecoderWorker","FLACDecoderWebWorker","require","define","amd"],"sources":["flac-decoder.js"],"mappings":"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"} \ No newline at end of file diff --git a/src/flac/package-lock.json b/src/flac/package-lock.json index dd4916b..982c261 100644 --- a/src/flac/package-lock.json +++ b/src/flac/package-lock.json @@ -1,16 +1,16 @@ { "name": "@wasm-audio-decoders/flac", - "version": "0.1.11", + "version": "0.1.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@wasm-audio-decoders/flac", - "version": "0.1.11", + "version": "0.1.12", "license": "MIT", "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1" + "codec-parser": "2.4.2" }, "funding": { "type": "individual", @@ -31,9 +31,9 @@ } }, "node_modules/codec-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", - "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.2.tgz", + "integrity": "sha512-RN6gT8aGdDq4vx//Ln+MRDIKPXA3SpJKsCcQSZ4poF2bZCO4/G0C2Ko/MVNpbJ7Y9ewpzeuLlBx2zH8BpcM4ew==" } } } diff --git a/src/flac/package.json b/src/flac/package.json index c001aea..811e48a 100644 --- a/src/flac/package.json +++ b/src/flac/package.json @@ -1,6 +1,6 @@ { "name": "@wasm-audio-decoders/flac", - "version": "0.1.11", + "version": "0.1.12", "description": "Web Assembly streaming FLAC decoder", "type": "module", "main": "./index.js", @@ -49,6 +49,6 @@ }, "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1" + "codec-parser": "2.4.2" } } diff --git a/src/ogg-opus-decoder/dist/ogg-opus-decoder.js b/src/ogg-opus-decoder/dist/ogg-opus-decoder.js index 50e5c49..93bcdf7 100644 --- a/src/ogg-opus-decoder/dist/ogg-opus-decoder.js +++ b/src/ogg-opus-decoder/dist/ogg-opus-decoder.js @@ -3738,6 +3738,7 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3751,23 +3752,26 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data]; - } else if (oggPage[pageSequenceNumber] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames$1] = oggPageSegments.map((segment) => { + oggPage[codecFrames$1] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3776,18 +3780,20 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames$1].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3927,17 +3933,15 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3956,13 +3960,11 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3973,6 +3975,8 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } @@ -3993,8 +3997,11 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -4002,7 +4009,6 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ const headerData = headerStore.get(oggPageStore[header$1]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data][subarray](offset, (offset += segmentLength)) ); @@ -4028,14 +4034,55 @@ JÏ8ð{=M´E«ˆ¤1‚ÇJËìFN ÈAÇ„‡4ÉÀà¦Ð)<×mu@ҟۗ/ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; } } } + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); + } + + if (oggPage[isLastPage$1]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); + } + } + /* Copyright 2020-2023 Ethan Halsall This file is part of codec-parser. diff --git a/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js b/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js index eb4876b..6e231d3 100644 Binary files a/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js and b/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js differ diff --git a/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map b/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map index f56ea00..086bc10 100644 --- a/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map +++ b/src/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","base64ReverseLookup","HEAPU8","_opus_frame_decoder_create","_malloc","_opus_frame_decode_float_deinterleaved","_opus_frame_decoder_destroy","_free","imports","a","b","x","Math","cos","exp","d","dest","src","num","copyWithin","requestedSize","what","abort","instance","asm","initRuntime","opus_frame_decoder_create","opus_frame_decode_float_deinterleaved","opus_frame_decoder_destroy","OpusDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_forceStereo","_ready","_decode","opusFrame","error","console","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","forceStereo","includes","OpusDecoderWebWorker","symbol","Symbol","channelMappings","left","center","right","front","side","rear","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition$1","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount$1","crc","crc16","crc32","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage$1","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip$1","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable$1","channelMode","channelModeBits","channels$1","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples$1","stream","streamCount$1","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","It","codecData","_currentHeader","Yt","key","header","_updateCurrentHeader","_t","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Rt","frameData","Frame","zt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","ss","samples","MPEGFrame","MPEGParser","onCodec","rs","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","ns","hs","os","cs","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Ms","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","ps","ys","gs","Ts","FLACParser","bs","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","ws","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","As","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","vs","xs","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ks","_s","Qs","Rs","enableLogging","js","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","se","chunk","parseAll","fileData","parseChunk","te","match","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","undefined","_rawData","minSize","rawData","oe","increment","ae","round","ce","codecFrame","_log","logger","messages","stats","width","max","s","repeat","ue","warn","de","absoluteGranulePosition","codecFrames","isLastPage","DecoderState","_instance","_decoderOperations","_errors","_decoded","_channelsDecoded","all","_decoderClass","dataFrames","f","O","_beginningSampleOffset","BigInt","totalDecodedSamples","totalOggSamples","samplesToTrim","concat","frames","_instantiateDecoder","_sendToDecoder","OggOpusDecoder","decoderState","oggOpusData","_flush","OggOpusDecoderWebWorker","require","define","amd"],"sources":["ogg-opus-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","base64ReverseLookup","HEAPU8","_opus_frame_decoder_create","_malloc","_opus_frame_decode_float_deinterleaved","_opus_frame_decoder_destroy","_free","imports","a","b","x","Math","cos","exp","d","dest","src","num","copyWithin","requestedSize","what","abort","instance","asm","initRuntime","opus_frame_decoder_create","opus_frame_decode_float_deinterleaved","opus_frame_decoder_destroy","OpusDecoder","_init","common","_common","_inputBytes","_outputSamples","_frameNumber","_input","_inputSize","_output","_outputChannels","_outputChannelSize","mapping","_channels","_channelMappingTable","_decoder","_sampleRate","_streamCount","_coupledStreamCount","_preSkip","_forceStereo","_ready","_decode","opusFrame","error","console","outputBuffer","decodeFrame","decoded","decodeFrames","opusFrames","outputBuffers","_isWebWorker","isNumber","param","channels","streamCount","coupledStreamCount","channelMappingTable","preSkip","forceStereo","includes","OpusDecoderWebWorker","symbol","Symbol","channelMappings","left","center","right","front","side","rear","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition$1","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount$1","crc","crc16","crc32","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage$1","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip$1","profile","profileBits","protection","segments","version","vorbis","vorbisComments","vorbisSetup","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable$1","channelMode","channelModeBits","channels$1","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples$1","stream","streamCount$1","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","It","codecData","_currentHeader","Yt","key","header","_updateCurrentHeader","_t","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Rt","frameData","Frame","zt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","ss","samples","MPEGFrame","MPEGParser","onCodec","rs","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","ns","hs","os","cs","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","Ms","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","ps","ys","gs","Ts","FLACParser","ws","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","bs","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","As","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","vs","Cs","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","zs","Ks","qs","Zs","enableLogging","te","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","he","chunk","parseAll","fileData","parseChunk","ne","match","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","undefined","_rawData","minSize","rawData","de","increment","Ue","round","fe","codecFrame","_log","logger","messages","stats","width","max","s","repeat","pe","warn","ye","absoluteGranulePosition","codecFrames","isLastPage","DecoderState","_instance","_decoderOperations","_errors","_decoded","_channelsDecoded","all","_decoderClass","dataFrames","f","O","_beginningSampleOffset","BigInt","totalDecodedSamples","totalOggSamples","samplesToTrim","concat","frames","_instantiateDecoder","_sendToDecoder","OggOpusDecoder","decoderState","oggOpusData","_flush","OggOpusDecoderWebWorker","require","define","amd"],"sources":["ogg-opus-decoder.js"],"mappings":"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"} \ No newline at end of file diff --git a/src/ogg-opus-decoder/package-lock.json b/src/ogg-opus-decoder/package-lock.json index f051375..abc4063 100644 --- a/src/ogg-opus-decoder/package-lock.json +++ b/src/ogg-opus-decoder/package-lock.json @@ -1,16 +1,16 @@ { "name": "ogg-opus-decoder", - "version": "1.6.3", + "version": "1.6.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ogg-opus-decoder", - "version": "1.6.3", + "version": "1.6.4", "license": "MIT", "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1", + "codec-parser": "2.4.2", "opus-decoder": "0.7.1" }, "funding": { @@ -32,9 +32,9 @@ } }, "node_modules/codec-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", - "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.2.tgz", + "integrity": "sha512-RN6gT8aGdDq4vx//Ln+MRDIKPXA3SpJKsCcQSZ4poF2bZCO4/G0C2Ko/MVNpbJ7Y9ewpzeuLlBx2zH8BpcM4ew==" }, "node_modules/opus-decoder": { "version": "0.7.1", diff --git a/src/ogg-opus-decoder/package.json b/src/ogg-opus-decoder/package.json index 8621134..8be7a69 100644 --- a/src/ogg-opus-decoder/package.json +++ b/src/ogg-opus-decoder/package.json @@ -1,6 +1,6 @@ { "name": "ogg-opus-decoder", - "version": "1.6.3", + "version": "1.6.4", "description": "Web Assembly streaming Ogg Opus decoder", "type": "module", "main": "./index.js", @@ -51,7 +51,7 @@ }, "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1", + "codec-parser": "2.4.2", "opus-decoder": "0.7.1" } } diff --git a/src/ogg-vorbis/dist/ogg-vorbis-decoder.js b/src/ogg-vorbis/dist/ogg-vorbis-decoder.js index ce4e8de..76a64de 100644 --- a/src/ogg-vorbis/dist/ogg-vorbis-decoder.js +++ b/src/ogg-vorbis/dist/ogg-vorbis-decoder.js @@ -623,7 +623,7 @@ const pageChecksum = page + "Checksum"; const pageSegmentBytes = symbol(); const pageSegmentTable = page + "SegmentTable"; - const pageSequenceNumber$1 = page + "Sequence" + Number$1; + const pageSequenceNumber = page + "Sequence" + Number$1; const sample = "sample"; const sampleNumber = sample + Number$1; @@ -2425,12 +2425,12 @@ } [parseOggPage](oggPage) { - if (oggPage[pageSequenceNumber$1] === 0) { + if (oggPage[pageSequenceNumber] === 0) { // Identification header this._headerCache[enable](); this._streamInfo = oggPage[data$1][subarray](13); - } else if (oggPage[pageSequenceNumber$1] === 1) ; else { + } else if (oggPage[pageSequenceNumber] === 1) ; else { oggPage[codecFrames$1] = frameStore .get(oggPage) [segments].map((segment) => { @@ -2530,7 +2530,7 @@ // Byte (19-22 of 28) // * `HHHHHHHH|HHHHHHHH|HHHHHHHH|HHHHHHHH` // * Page Sequence Number - header[pageSequenceNumber$1] = view.getInt32(18, true); + header[pageSequenceNumber] = view.getInt32(18, true); // Byte (23-26 of 28) // * `IIIIIIII|IIIIIIII|IIIIIIII|IIIIIIII` @@ -2577,7 +2577,7 @@ this[isFirstPage] = header[isFirstPage]; this[isLastPage] = header[isLastPage]; this[pageSegmentTable] = header[pageSegmentTable]; - this[pageSequenceNumber$1] = header[pageSequenceNumber$1]; + this[pageSequenceNumber] = header[pageSequenceNumber]; this[pageChecksum] = header[pageChecksum]; this[streamSerialNumber] = header[streamSerialNumber]; } @@ -2640,7 +2640,7 @@ this[isContinuedPacket] = header[isContinuedPacket]; this[isFirstPage] = header[isFirstPage]; this[isLastPage] = header[isLastPage]; - this[pageSequenceNumber$1] = header[pageSequenceNumber$1]; + this[pageSequenceNumber] = header[pageSequenceNumber]; this[samples] = 0; this[streamSerialNumber] = header[streamSerialNumber]; } @@ -2958,12 +2958,12 @@ * @todo implement continued page support */ [parseOggPage](oggPage) { - if (oggPage[pageSequenceNumber$1] === 0) { + if (oggPage[pageSequenceNumber] === 0) { // Identification header this._headerCache[enable](); this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber$1] === 1) ; else { + } else if (oggPage[pageSequenceNumber] === 1) ; else { oggPage[codecFrames$1] = frameStore .get(oggPage) [segments].map((segment) => { @@ -3171,6 +3171,7 @@ onCodec(this[codec]); this._identificationHeader = null; + this._setupComplete = false; this._mode = { count: 0, @@ -3184,23 +3185,26 @@ } [parseOggPage](oggPage) { - const oggPageSegments = frameStore.get(oggPage)[segments]; - - if (oggPage[pageSequenceNumber$1] === 0) { - // Identification header - - this._headerCache[enable](); - this._identificationHeader = oggPage[data$1]; - } else if (oggPage[pageSequenceNumber$1] === 1) { - // gather WEBM CodecPrivate data - if (oggPageSegments[1]) { - this._vorbisComments = oggPageSegments[0]; - this._vorbisSetup = oggPageSegments[1]; - - this._mode = this._parseSetupHeader(oggPageSegments[1]); - } - } else { - oggPage[codecFrames$1] = oggPageSegments.map((segment) => { + oggPage[codecFrames$1] = []; + + for (const oggPageSegment of frameStore.get(oggPage)[segments]) { + if (oggPageSegment[0] === 1) { + // Identification header + + this._headerCache[enable](); + this._identificationHeader = oggPage[data$1]; + this._setupComplete = false; + } else if (oggPageSegment[0] === 3) { + // comment header + + this._vorbisComments = oggPageSegment; + } else if (oggPageSegment[0] === 5) { + // setup header + + this._vorbisSetup = oggPageSegment; + this._mode = this._parseSetupHeader(oggPageSegment); + this._setupComplete = true; + } else if (this._setupComplete) { const header = VorbisHeader[getHeaderFromUint8Array]( this._identificationHeader, this._headerCache, @@ -3209,18 +3213,20 @@ ); if (header) { - return new VorbisFrame( - segment, - header, - this._getSamples(segment, header) + oggPage[codecFrames$1].push( + new VorbisFrame( + oggPageSegment, + header, + this._getSamples(oggPageSegment, header) + ) + ); + } else { + this._codecParser[logError]( + "Failed to parse Ogg Vorbis Header", + "Not a valid Ogg Vorbis file" ); } - - this._codecParser[logError]( - "Failed to parse Ogg Vorbis Header", - "Not a valid Ogg Vorbis file" - ); - }); + } } return oggPage; @@ -3360,17 +3366,15 @@ */ - class OggParser extends Parser { + class OggStream { constructor(codecParser, headerCache, onCodec) { - super(codecParser, headerCache); - + this._codecParser = codecParser; + this._headerCache = headerCache; this._onCodec = onCodec; - this.Frame = OggPage; - this.Header = OggPageHeader; - this._codec = null; - this._continuedPacket = new uint8Array(); - this._pageSequenceNumber = 0; + this._continuedPacket = new uint8Array(); + this._codec = null; + this._isSupported = null; } get [codec]() { @@ -3389,13 +3393,11 @@ } } - _checkForIdentifier({ data }) { + _checkCodecSupport({ data }) { const idString = bytesToString(data[subarray](0, 8)); switch (idString) { case "fishead\0": - case "fisbone\0": - case "index\0\0\0": return false; // ignore ogg skeleton packets case "OpusHead": this._updateCodec("opus", OpusParser); @@ -3406,28 +3408,33 @@ case /^\x01vorbis/.test(idString) && idString: this._updateCodec(vorbis, VorbisParser); return true; + default: + return false; } } _checkPageSequenceNumber(oggPage) { if ( - oggPage[pageSequenceNumber$1] !== this._pageSequenceNumber + 1 && + oggPage[pageSequenceNumber] !== this._pageSequenceNumber + 1 && this._pageSequenceNumber > 1 && - oggPage[pageSequenceNumber$1] > 1 + oggPage[pageSequenceNumber] > 1 ) { this._codecParser[logWarning]( "Unexpected gap in Ogg Page Sequence Number.", `Expected: ${this._pageSequenceNumber + 1}, Got: ${ - oggPage[pageSequenceNumber$1] + oggPage[pageSequenceNumber] }` ); } - this._pageSequenceNumber = oggPage[pageSequenceNumber$1]; + this._pageSequenceNumber = oggPage[pageSequenceNumber]; } - *[parseFrame]() { - const oggPage = yield* this[fixedLengthFrameSync](true); + _parsePage(oggPage) { + if (this._isSupported === null) { + this._pageSequenceNumber = oggPage[pageSequenceNumber]; + this._isSupported = this._checkCodecSupport(oggPage); + } this._checkPageSequenceNumber(oggPage); @@ -3435,7 +3442,6 @@ const headerData = headerStore.get(oggPageStore[header$1]); let offset = 0; - oggPageStore[segments] = headerData[pageSegmentTable].map((segmentLength) => oggPage[data$1][subarray](offset, (offset += segmentLength)) ); @@ -3461,11 +3467,52 @@ ); } - if (this._codec || this._checkForIdentifier(oggPage)) { + if (this._isSupported) { const frame = this._parser[parseOggPage](oggPage); this._codecParser[mapFrameStats](frame); + return frame; + } else { + return oggPage; + } + } + } + + class OggParser extends Parser { + constructor(codecParser, headerCache, onCodec) { + super(codecParser, headerCache); + + this._onCodec = onCodec; + this.Frame = OggPage; + this.Header = OggPageHeader; + + this._streams = new Map(); + this._currentSerialNumber = null; + } + + get [codec]() { + const oggStream = this._streams.get(this._currentSerialNumber); + + return oggStream ? oggStream.codec : ""; + } + + *[parseFrame]() { + const oggPage = yield* this[fixedLengthFrameSync](true); + this._currentSerialNumber = oggPage[streamSerialNumber]; + + let oggStream = this._streams.get(this._currentSerialNumber); + if (!oggStream) { + oggStream = new OggStream( + this._codecParser, + this._headerCache, + this._onCodec + ); + this._streams.set(this._currentSerialNumber, oggStream); } + + if (oggPage[isLastPage]) this._streams.delete(this._currentSerialNumber); + + return oggStream._parsePage(oggPage); } } @@ -3726,7 +3773,6 @@ const header = header$1; const vorbisComments = vorbisComments$1; const vorbisSetup = vorbisSetup$1; - const pageSequenceNumber = pageSequenceNumber$1; /* ************************************************** * This file is auto-generated during the build process. @@ -4251,18 +4297,18 @@ cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õR const oggPage = oggPages[i]; if (this._vorbisSetupInProgress) { - if (oggPage[pageSequenceNumber] === 0) { + if (oggPage[data][0] === 1) { this._decoder.sendSetupHeader(oggPage[data]); - } else if (oggPage[pageSequenceNumber] > 1) { - if (this._vorbisSetupInProgress) { - const headerData = oggPage[codecFrames][0][header]; + } - this._decoder.sendSetupHeader(headerData[vorbisComments]); - this._decoder.sendSetupHeader(headerData[vorbisSetup]); - this._decoder.initDsp(); + if (oggPage[codecFrames].length) { + const headerData = oggPage[codecFrames][0][header]; - this._vorbisSetupInProgress = false; - } + this._decoder.sendSetupHeader(headerData[vorbisComments]); + this._decoder.sendSetupHeader(headerData[vorbisSetup]); + this._decoder.initDsp(); + + this._vorbisSetupInProgress = false; } } diff --git a/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js b/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js index f6e5bf1..dc9ca4c 100644 --- a/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js +++ b/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js @@ -1,5 +1,5 @@ /* Copyright 2021-2023 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */ -var t,s;t=this,s=function(t,s){function e(){const t=Uint8Array,s=Float32Array;e.t||Object.defineProperties(e,{t:{value:new WeakMap},u:{value(t,s){e.t.set(t,Promise.resolve(s))}},U:{value(t,s){let i=e.t.get(t);return i||(s?i=WebAssembly.compile(e.M(s)):(s=t.L,i=e.A(s).then((t=>WebAssembly.compile(t)))),e.t.set(t,i)),i}},P:{value(t,e){let i=new s(e),r=0,n=0;for(;r({C:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},T:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},M:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.O[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},A:{value(s){return s=e.M(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.U(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"L",{enumerable:!0,get:()=>this.$}),this.v=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.$.H(s.BYTES_PER_ELEMENT*t);return e&&this.D.add(i),{K:i,R:t,G:new s(this.$.N,i,t)}},this.free=()=>{this.D.forEach((t=>{this.$.free(t)})),this.D.clear()},this.V=t=>{const s=[],e=new Uint8Array(this.$.N);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.J=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.u(t,s),this.$=new t(e).instantiate(),this.D=new Set,this.$.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},X:{value:e},I:{value:a.I},Z:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.F=Number.MIN_SAFE_INTEGER,this.Y=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.Y.get(s)(e),this.Y.delete(s)},new r(e).U().then((s=>{this._("init",{I:s,options:t})}))}async _(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.F,data:s}),this.Y.set(this.F++,e)}))}get ready(){return this._("ready")}async free(){await this._("free").finally((()=>{this.terminate()}))}async reset(){await this._("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,M=24e3,y=22050,m=16e3,L=8e3,b="absoluteGranulePosition",g="bandwidth",w="bitDepth",A="bitrate",x=A+"Maximum",P=A+"Minimum",B=A+"Nominal",C="buffer",T=C+"Fullness",O="codec",$=O+"Frames",v="coupledStreamCount",S="crc",H=S+"16",E=S+"32",D="data",K="description",R="duration",j="emphasis",Q="hasOpusPadding",k="header",G="isContinuedPacket",N="isCopyrighted",V="isFirstPage",z="isHome",J="isLastPage",W="isOriginal",X="isPrivate",I="isVbr",Z="layer",F="length",Y="mode",q=Y+"Extension",_="mpeg",tt=_+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),Mt=Ut+"Size",yt=Ut+"size0",mt=Ut+"size1",Lt=n(),bt="channel",gt=bt+"MappingFamily",wt=bt+"MappingTable",At=bt+"Mode",xt=n(),Pt=bt+"s",Bt="copyright",Ct=Bt+"Id",Tt=Bt+"IdStart",Ot="frame",$t=Ot+"Count",vt=Ot+"Length",St="Number",Ht=Ot+St,Et=Ot+"Padding",Dt=Ot+"Size",Kt="Rate",Rt="inputSample"+Kt,jt="page",Qt=jt+"Checksum",kt=n(),Gt=jt+"SegmentTable",Nt=jt+"Sequence"+St,Vt="sample",zt=Vt+St,Jt=Vt+Kt,Wt=n(),Xt=Vt+"s",It="stream",Zt=It+"Count",Ft=It+"Info",Yt=It+"Serial"+St,qt=It+"StructureVersion",_t="total",ts=_t+"BytesOut",ss=_t+"Duration",es=_t+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),Ms=n(),ys=n(),ms=n(),Ls=n(),bs=n(),gs=Uint8Array,ws=DataView,As="reserved",xs="bad",Ps="free",Bs="none",Cs="16bit CRC",Ts=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Os=Ts(new gs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),$s=[Ts(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],vs=[Ts(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let Mi=0;Mi<15;Mi++){$s.push(new Uint16Array(256)),vs.push(new Uint32Array(256));for(let t=0;t<=255;t++)$s[Mi+1][t]=$s[0][$s[Mi][t]>>>8]^$s[Mi][t]<<8,vs[Mi+1][t]=vs[Mi][t]>>>8^vs[0][255&vs[Mi][t]]}const Ss=t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i=vs[15][255&(t[r++]^i)]^vs[14][255&(t[r++]^i>>>8)]^vs[13][255&(t[r++]^i>>>16)]^vs[12][t[r++]^i>>>24]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=vs[0][255&(i^t[r++])]^i>>>8;return-1^i},Hs=(...t)=>{const s=new gs(t.reduce(((t,s)=>t+s[F]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[F])),0),s},Es=t=>String.fromCharCode(...t),Ds=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ks=t=>Ds[15&t]<<4|Ds[t>>4];class Rs{constructor(t){this.tt=t,this.st=8*t[F]}set position(t){this.st=t}get position(){return this.st}read(t){const s=Math.floor(this.st/8),e=this.st%8;return this.st-=t,(Ks(this.tt[s-1])<<8)+Ks(this.tt[s])>>7-e&255}}class js{constructor(t,s){this.et=t,this.it=s,this[ys]()}[ms](){this.rt=!0}[ys](){this.nt=new Map,this.ht=new WeakMap,this.ot=!1,this.at=!1,this.lt=null,this.rt=!1}[Ms](t,s){if(this.it){this.lt!==t&&(this.lt=t,this.at=!0);const e=this.ht.get(this.nt.get(this.ut));this.at&&e&&this.it({dt:t,...e},s),this.at=!1}}[us](t){const s=this.nt.get(t);return s&&this.ft(t),s}[ds](t,s,e){this.rt&&(this.ot||(this.et({...s}),this.ot=!0),this.ft(t),this.nt.set(t,s),this.ht.set(s,e))}ft(t){this.it&&t!==this.ut&&(this.at=!0,this.ut=t)}}const Qs=new WeakMap,ks=new WeakMap;class Gs{constructor(t,s){this.yt=t,this.nt=s}*[ls](){let t;for(;;){if(t=yield*this.bt[Us](this.yt,this.nt,0),t)return t;this.yt[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=ks.get(s)[F];if(t||this.yt.wt||(yield*this.At[us](this.yt,this.nt,e)))return this.nt[ms](),this.yt[rs](e),this.yt[hs](s),s;this.yt[os](`Missing ${Ot} at ${e} bytes from current position.`,`Dropping current ${Ot} and trying again.`),this.nt[ys](),this.yt[rs](1)}}class Ns{constructor(t,s){ks.set(this,{[k]:t}),this[D]=s}}class Vs extends Ns{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Qs.get(n)[vt],i=Qs.get(n)[Xt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[k]=t,this[Xt]=e,this[R]=e/t[Jt]*1e3,this[Ht]=null,this[ts]=null,this[es]=null,this[ss]=null,ks.get(this)[F]=s[F]}}const zs="unsynchronizationFlag",Js="extendedHeaderFlag",Ws="experimentalFlag",Xs="footerPresent";class Is{static*Pt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[zs]=!!(128&r[5]),i[Js]=!!(64&r[5]),i[Ws]=!!(32&r[5]),i[Xs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[F]=10+n,new Is(i)}constructor(t){this[lt]=t[lt],this[zs]=t[zs],this[Js]=t[Js],this[Ws]=t[Ws],this[Xs]=t[Xs],this[F]=t[F]}}class Zs{constructor(t){Qs.set(this,t),this[w]=t[w],this[A]=null,this[Pt]=t[Pt],this[At]=t[At],this[Jt]=t[Jt]}}const Fs={0:[Ps,Ps,Ps,Ps,Ps],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Ys=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let Mi=2;Mi<15;Mi++)Fs[Mi<<4]=[32*Mi,Ys(Mi,4,0),Ys(Mi,4,-1),Ys(Mi,8,4),Ys(Mi,8,0)];const qs="bands ",_s=" to 31",te={0:qs+4+_s,16:qs+8+_s,32:qs+12+_s,48:qs+16+_s},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[K]:As},2:{[K]:"Layer III",[Et]:1,[q]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Xt]:1152},[ee]:{[se]:4,[Xt]:576}},4:{[K]:"Layer II",[Et]:1,[q]:te,[Xt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[K]:"Layer I",[Et]:4,[q]:te,[Xt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[K]:le+"2.5 (later extension of MPEG 2)",[Z]:ee,[Jt]:{0:11025,4:12e3,8:L,12:As}},8:{[K]:As},16:{[K]:`${le}2 (${ce}13818-3)`,[Z]:ee,[Jt]:{0:y,4:M,8:m,12:As}},24:{[K]:`${le}1 (${ce}11172-3)`,[Z]:ie,[Jt]:{0:f,4:U,8:p,12:As}},length:F},de={0:Cs,1:Bs},Ue={0:Bs,1:"50/15 ms",2:As,3:"CCIT J.17"},fe={0:{[Pt]:2,[K]:l},64:{[Pt]:2,[K]:"joint "+l},128:{[Pt]:2,[K]:"dual channel"},192:{[Pt]:1,[K]:a}};class pe extends Zs{static*[us](t,s,e){const i={},r=yield*Is.Pt(t,s,e);r&&(yield*t[is](r[F],e),t[rs](r[F]));const n=yield*t[is](4,e),h=Es(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[K]===As)return null;const l=6&n[1];if(ae[l][K]===As)return null;const c={...ae[l],...ae[l][a[Z]]};if(i[tt]=a[K],i[Z]=c[K],i[Xt]=c[Xt],i[ht]=de[1&n[1]],i[F]=4,i[A]=Fs[240&n[2]][c[se]],i[A]===xs)return null;if(i[Jt]=a[Jt][12&n[2]],i[Jt]===As)return null;if(i[Et]=2&n[2]&&c[Et],i[X]=!!(1&n[2]),i[vt]=Math.floor(125*i[A]*i[Xt]/i[Jt]+i[Et]),!i[vt])return null;const u=192&n[3];if(i[At]=fe[u][K],i[Pt]=fe[u][Pt],i[q]=c[q][48&n[3]],i[N]=!!(8&n[3]),i[W]=!!(4&n[3]),i[j]=Ue[3&n[3]],i[j]===As)return null;i[w]=16;{const{length:t,frameLength:e,Bt:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[A]=t[A],this[j]=t[j],this[Et]=t[Et],this[N]=t[N],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[q]=t[q],this[tt]=t[tt],this[ht]=t[ht]}}class Me extends Vs{static*[Us](t,s,e){return yield*super[Us](pe,Me,t,s,e)}constructor(t,s,e){super(t,s,e)}}class ye extends Gs{constructor(t,s,e){super(t,s),this.bt=Me,this.At=pe,e(this[O])}get[O](){return _}*[fs](){return yield*this[cs]()}}const me={0:"MPEG-4",8:"MPEG-2"},Le={0:"valid",2:xs,4:xs,6:xs},be={0:Cs,1:Bs},ge={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},we={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:M,28:y,32:m,36:12e3,40:11025,44:L,48:7350,52:As,56:As,60:"frequency is written explicitly"},Ae={0:{[Pt]:0,[K]:"Defined in AOT Specific Config"},64:{[Pt]:1,[K]:a},128:{[Pt]:2,[K]:u(2,h[0][0])},192:{[Pt]:3,[K]:u(3,h[1][3])},256:{[Pt]:4,[K]:u(4,h[1][3],h[3][4])},320:{[Pt]:5,[K]:u(5,h[1][3],h[3][0])},384:{[Pt]:6,[K]:u(6,h[1][3],h[3][0],o)},448:{[Pt]:8,[K]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends Zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=Es([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=me[8&r[1]],i[Z]=Le[6&r[1]],i[Z]===xs)return null;const t=1&r[1];i[ht]=be[t],i[F]=t?7:9,i[nt]=192&r[2],i[Wt]=60&r[2];const e=2&r[2];if(i[rt]=ge[i[nt]],i[Jt]=we[i[Wt]],i[Jt]===As)return null;i[X]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[At]=Ae[i[xt]][K],i[Pt]=Ae[i[xt]][Pt],i[W]=!!(32&r[3]),i[z]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Tt]=!!(4&r[3]),i[w]=16,i[Xt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,$t:r,vt:h,frameLength:o,Bt:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[vt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[vt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[T]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Tt]=t[Tt],this[T]=t[T],this[z]=t[z],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[F]=t[F],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get Ht(){const t=Qs.get(this),s=t[nt]+64<<5|t[Wt]<<5|t[xt]>>3,e=new gs(2);return new ws(e[C]).setUint16(0,s,!1),e}}class Pe extends Vs{static*[Us](t,s,e){return yield*super[Us](xe,Pe,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Be extends Gs{constructor(t,s,e){super(t,s),this.bt=Pe,this.At=xe,e(this[O])}get[O](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Vs{static Et(t){return(t[t[F]-2]<<8)+t[t[F]-1]}static[bs](t){const s=Ce.Et(t),e=(t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=$s[15][i>>8]^$s[14][255&i]^$s[13][t[r++]]^$s[12][t[r++]]^$s[11][t[r++]]^$s[10][t[r++]]^$s[9][t[r++]]^$s[8][t[r++]]^$s[7][t[r++]]^$s[6][t[r++]]^$s[5][t[r++]]^$s[4][t[r++]]^$s[3][t[r++]]^$s[2][t[r++]]^$s[1][t[r++]]^$s[0][t[r++]];for(;r!==s;)i=(255&i)<<8^$s[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ft]=e,s[H]=Ce.Et(t),super(s,t,Qs.get(s)[Xt])}}const Te="get from STREAMINFO metadata block",Oe={0:"Fixed",1:"Variable"},$e={0:As,16:192};for(let Mi=2;Mi<16;Mi++)$e[Mi<<4]=Mi<6?576*2**(Mi-2):2**Mi;const ve={0:Te,1:88200,2:176400,3:192e3,4:L,5:m,6:y,7:M,8:p,9:f,10:U,11:96e3,15:xs},Se={0:{[Pt]:1,[K]:a},16:{[Pt]:2,[K]:u(2,h[0][0])},32:{[Pt]:3,[K]:u(3,h[0][1])},48:{[Pt]:4,[K]:u(4,h[1][0],h[3][0])},64:{[Pt]:5,[K]:u(5,h[1][1],h[3][0])},80:{[Pt]:6,[K]:u(6,h[1][1],o,h[3][0])},96:{[Pt]:7,[K]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[Pt]:8,[K]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[Pt]:2,[K]:l+" (left, diff)"},144:{[Pt]:2,[K]:l+" (diff, right)"},160:{[Pt]:2,[K]:l+" (avg, diff)"},176:As,192:As,208:As,224:As,240:As},He={0:Te,2:8,4:12,6:As,8:16,10:20,12:24,14:As};class Ee extends Zs{static Kt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[F];for(let i=0;i!==e;i++)s=Os[s^t[i]];return s})(i[at](0,r[F]-1)))return null;if(!h){const{Qt:t,frameNumber:e,kt:i,Bt:h,vt:o,Gt:a,Nt:l,length:c,...u}=r;s[ds](n,r,u)}return new Ee(r)}constructor(t){super(t),this[H]=null,this[ft]=t[ft],this[Mt]=t[Mt],this[Ht]=t[Ht],this[zt]=t[zt],this[Ft]=null}}class De extends Gs{constructor(t,s,e){super(t,s),this.bt=Ce,this.At=Ee,e(this[O])}get[O](){return"flac"}*Vt(t){const s=yield*this.yt[is](2,0),e=s[F]-2;for(;t{const s=Ee[Ls](t,this.nt);if(s)return new Ce(t,s,this.Jt);this.yt[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ke{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[qt]=r[4],248&r[5])return null;i[J]=!!(4&r[5]),i[V]=!!(2&r[5]),i[G]=!!(1&r[5]);const n=new ws(gs.from(r[at](0,28))[C]);try{i[b]=n.getBigInt64(6,!0)}catch{}i[Yt]=n.getInt32(14,!0),i[Nt]=n.getInt32(18,!0),i[Qt]=n.getInt32(22,!0);const h=r[26];i[F]=h+27,r=yield*t[is](i[F],e),i[vt]=0,i[Gt]=[],i[kt]=gs.from(r[at](27,i[F]));for(let o=0,a=0;o{const s=Ze[Ls](this.It,t,this.nt);if(s)return new je(t,s);this.yt[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Ye extends Vs{constructor(t,s,e){super(s,t,e)}}const qe={};for(let Mi=0;Mi<8;Mi++)qe[Mi+6]=2**(6+Mi);class _e extends Zs{static[Ls](t,s,e,i){if(t[F]<30)throw Error("Out of data while inside an Ogg Page");const r=Es(t[at](0,30)),n=s[us](r);if(n)return new _e(n);const h={[F]:30};if("vorbis"!==r.substr(0,7))return null;h[D]=gs.from(t[at](0,30));const o=new ws(h[D][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[Pt]=t[11],h[At]=d[h[Pt]-1]||"application defined",h[Jt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[B]=o.getInt32(20,!0),h[P]=o.getInt32(24,!0),h[mt]=qe[(240&t[28])>>4],h[yt]=qe[15&t[28]],h[yt]>h[mt])return null;if(1!==t[29])return null;h[w]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Zt:n,Ft:o,...a}=h;s[ds](r,h,a)}return new _e(h)}constructor(t){super(t),this[x]=t[x],this[P]=t[P],this[B]=t[B],this[yt]=t[yt],this[mt]=t[mt],this[D]=t[D],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Gs{constructor(t,s,e){super(t,s),this.bt=Ye,e(this[O]),this.It=null,this.Yt={count:0},this.qt=0,this._t=0}get[O](){return ct}[ps](t){const s=ks.get(t)[ot];return 0===t[Nt]?(this.nt[ms](),this.It=t[D]):1===t[Nt]?s[1]&&(this.ts=s[0],this.ss=s[1],this.Yt=this.es(s[1])):t[$]=s.map((t=>{const s=_e[Ls](this.It,this.nt,this.ts,this.ss);if(s)return new Ye(t,s,this.rs(t,s));this.yt[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")})),t}rs(t,s){const e=t[0]>>1,i=this.Yt[e&this.Yt.mask];i&&(this.qt=e&this.Yt.ns?s[mt]:s[yt]),this._t=i?s[mt]:s[yt];const r=this.qt+this._t>>2;return this.qt=this._t,r}es(t){const s=new Rs(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ks(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.yt[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ks(r))>>1)!==n.count)throw this.yt[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Nt]>1&&this.yt[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.cs+1}, Got: ${t[Nt]}`),this.cs=t[Nt]}*[fs](){const t=yield*this[cs](!0);this.fs(t);const s=ks.get(t),e=Qs.get(s[k]);let i=0;if(s[ot]=e[Gt].map((s=>t[D][at](i,i+=s))),this.ls[F]&&(s[ot][0]=Hs(this.ls,s[ot][0]),this.ls=new gs),255===e[kt][e[kt][F]-1]&&(this.ls=Hs(this.ls,s[ot].pop())),this.os||this.Us(t)){const s=this.ds[ps](t);return this.yt[hs](s),s}}}const ei=()=>{};class ii{constructor(t,{ps:s,Ms:e,ys:i,Ls:r=!1,bs:n=!0}={}){this.gs=t,this.hs=s||ei,this.et=e||ei,this.it=i,this.ws=r,this.As=n?Ss:ei,this.xs=this.Ps(),this.xs.next()}get[O](){return this.ds[O]}*flush(){this.wt=!0;for(let t=this.xs.next();t.value;t=this.xs.next())yield t.value;this.wt=!1,this.xs=this.Ps(),this.xs.next()}*Bs(t){for(let s=this.xs.next(t);s.value;s=this.xs.next())yield s.value}parseAll(t){return[...this.Bs(t),...this.flush()]}*Ps(){if(this.nt=new js(this.et,this.it),this.gs.match(/aac/))this.ds=new Be(this,this.nt,this.hs);else if(this.gs.match(/mpeg/))this.ds=new ye(this,this.nt,this.hs);else if(this.gs.match(/flac/))this.ds=new De(this,this.nt,this.hs);else{if(!this.gs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.ds=new si(this,this.nt,this.hs)}for(this.Cs=0,this.Ts=0,this.Os=0,this.$s=0,this.vs=0,this.Ss=void 0,this.Hs=new Uint8Array(0);;){const t=yield*this.ds[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.Hs[F]<=t+s;){if(e=yield,this.wt)return this.Hs[at](s);e&&(this.Os+=e[F],this.Hs=Hs(this.Hs,e))}return this.Hs[at](s)}[rs](t){this.Ts+=t,this.Hs=this.Hs[at](t)}[ns](t){this.Ss=t[k][Jt],t[k][A]=8*Math.round(t[D][F]/t[R]),t[Ht]=this.Cs++,t[ts]=this.$s,t[es]=this.vs,t[ss]=this.vs/this.Ss*1e3,t[E]=this.As(t[D]),this.nt[Ms](t[k][A],t[ss]),this.$s+=t[D][F],this.vs+=t[Xt]}[hs](t){t[$]?(t[$].forEach((s=>{t[R]+=s[R],t[Xt]+=s[Xt],this[ns](s)})),t[es]=this.vs,t[ss]=this.vs/this.Ss*1e3||0,t[ts]=this.$s):this[ns](t)}Rs(t,s){if(this.ws){const e=[`${O}: ${this[O]}`,"inputMimeType: "+this.gs,"readPosition: "+this.Ts,"totalBytesIn: "+this.Os,`${ts}: ${this.$s}`],i=Math.max(...e.map((t=>t[F])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Rs(console.warn,t)}[as](...t){this.Rs(console.error,t)}}const ri=$,ni=D,hi=k,oi=ut,ai=dt,li=Nt;function ci(t){function s(){}for(var e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;var r,n;e[43]=62,e[47]=63,ci.L||Object.defineProperty(ci,"L",{get:()=>String.raw`dynEncode01df9b7dd5a5+nd ã ë$Þ.¥ÐåæÙ_ýÅOV–;ÈCæWebAssembly.compile(t)))),e.t.set(t,i)),i}},P:{value(t,e){let i=new s(e),r=0,n=0;for(;r({C:t,channelData:s,samplesDecoded:e,sampleRate:i,bitDepth:r})},T:{value(t,s,i,r,n,h){let o,a,l=[];for(o=0;o{let t,s,e,i=new Int32Array(256);for(t=0;t<256;t++){for(e=t<<24,s=8;s>0;--s)e=2147483648&e?e<<1^79764919:e<<1;i[t]=e}return i})()},M:{value(s){let i,r,n,h=new t(s.length),o=parseInt(s.substring(11,13),16),a=256-o,l=!1,c=0,u=21,d=4294967295;for(;u0?r+a:r-o,d=d<<8^e.O[255&(d>>24^h[c++])]):l=!0;for(i=0;i<=8;i+=2)n|=parseInt(s.substring(13+i,15+i),16)<<4*i;if(n!==d)throw Error("WASM string decode failed crc32 validation");return h.subarray(0,c)}},A:{value(s){return s=e.M(s),new Promise((i=>{const r=String.raw`dynEncode0114db91da9bu‡*t“““t“““““t““““$#“U¤¤“U¤¤3yƒ†„‰zzss|yu„svu‡yÚ&ˆ“4<054<,5T44^T44<(6U~J(44< ~A544U~6J0444ˆ†545 444J0444‰J,4U“4ˆU“‡…Ò“7U45“4U4Z“4U4U^/6545T4T44BUˆ~64CU~O4U54U~5 U5T4B4Z!4U~5U5U5T4U~6U4ZTU5U5T44~4O4U2ZTU5T44Z!4B6T44Uˆ~64B6U~O44Uˆ~4O4U~54U~5 44~C4~54U~5 44~5454Uˆ4B6Ub!444~UO4U~5 “U5“4U4ZTUŠ#44U$4†64<4~B6^“4<444~Uˆ~B4U~54Uˆ544~544~Uˆ5 µ“Uä#UJUè#5TT4U0ZTTUX5U5T4T4Uà#~4OU4U $~Cˆ4~54U~5 T44$6U\!TTT4UaT4<6T4<64<Z!44~4N4<U~5 4U”Z!4U±_TUŠ#44U•Uˆ6UÔ~B$544$6U\!4Uˆ6U¤#~B44Uä#~B$~64<6_TU‰#444U”~B~6~54<Y!44<_!T4Y!4<64~444~AN44<U~6J4U5 44J4U”[!U#44UŠO4U~54U~5 U54 “7U6844J44J 4UJ4UJ04VK(44<J44<J$4U´~54U~5 4U¤~5!TTT4U$5"U“5TTTTTTT4U$"4VK,U54<(6U~64<$6_!4< 64~6A54A544U~6#J(U’54A4U‡[!44J(44#~A4Uˆ6U“‡UŠU…[!44†64~64_!4<64~54<6T4<4]TU5 T4Y!44~44~AN4U~54U~54U5 44J(44J UÄA!U5U”#UôJU"UÔJUœ#UÔ"JU˜#U´"JT4U´ZTU5T4UôZTU5T4UDZTU5T4U$[T44~UO4U~5 UÔUô4U~U´$.U5T4UP[T4U~4~UO4U~5 U˜#<Uœ#<4U~U2$.UÄUN 44 ~UO4U~5 44!~UO4U~5 4U~4~UO4U~5 44J44J(U5 44U¤~J@44Uä~J<44UD~J844U~J44U$54U$5U‘54U$54U1^4U1^†!4U•~54U~5U”54U~6U4U^/65T4T4U$54U~4BUˆ~4O4U54U~5 UU'464U'_/54UˆU”~5T4T4U~4BUˆ~UO4U54U~5 U54Uä~4U¤~4U~U'$!44~5U5T44\T44U<~$6U\!4U#aT4U~4Uˆ~4O4U~5 U5U5U5TTT4U$"4YTU5 4Uˆ4~C5U5 U5U5444$4~64~\TUŽ5 4U~4Uˆ~5T4Y!44O4U~54U~54U5 4CYTU‹5 4Uä~4U¤~4U~4$6TU54U\!44Bæ4Bä~[!4U~4UD~4U~4Uˆ~4$6TUŒ54U\!44B†4B„~[!44U<~4U4~$5 4U"U˜#$544"†Y!454U^!44<J44<(J454U~84­U”N!#%'+/37?GOWgw‡—·×÷Uä;U”9$%& !"#`;e.U(e,r).then((t=>WebAssembly.instantiate(t,{}))).then((({exports:e})=>{const r=new Map(Object.entries(e)),n=r.get("puff"),h=r.get("memory").buffer,o=new t(h),a=new DataView(h);let l=r.get("__heap_base");const c=s.length,u=l;l+=4,a.setInt32(u,c,!0);const d=l;l+=c,o.set(s,d);const U=l;l+=4,a.setInt32(U,o.byteLength-l,!0),n(l,U,d,u),i(o.slice(l,l+a.getInt32(U,!0)))}))}))}}}),Object.defineProperty(this,"L",{enumerable:!0,get:()=>this.$}),this.v=(t,s,e)=>{let i=[],r=0;for(;r{const i=this.$.H(s.BYTES_PER_ELEMENT*t);return e&&this.D.add(i),{K:i,R:t,G:new s(this.$.N,i,t)}},this.free=()=>{this.D.forEach((t=>{this.$.free(t)})),this.D.clear()},this.V=t=>{const s=[],e=new Uint8Array(this.$.N);for(let i=e[t];0!==i;i=e[++t])s.push(i);return String.fromCharCode.apply(null,s)},this.J=(t,s,e,i,r,n)=>{t.push({message:s,frameLength:e,frameNumber:i,inputBytes:r,outputSamples:n})},this.instantiate=(t,s)=>(s&&e.u(t,s),this.$=new t(e).instantiate(),this.D=new Set,this.$.ready.then((()=>this)))}class i extends((()=>globalThis.Worker||s)()){constructor(t,s,i,r){e.t||new e;let n=e.t.get(i);if(!n){let t,s="text/javascript",h=`'use strict';(${""+((t,s,e)=>{let i,r,n=new Promise((t=>{r=t}));self.onmessage=({data:{id:h,command:o,data:a}})=>{let l,c=n,u={id:h};"init"===o?(Object.defineProperties(t,{W:{value:s},X:{value:e},I:{value:a.I},Z:{value:!0}}),i=new t(a.options),r()):"free"===o?i.free():"ready"===o?c=c.then((()=>i.ready)):"reset"===o?c=c.then((()=>i.reset())):(Object.assign(u,i[o](Array.isArray(a)?a.map((t=>new Uint8Array(t))):new Uint8Array(a))),l=u.channelData?u.channelData.map((t=>t.buffer)):[]),c.then((()=>self.postMessage(u,l)))}})})(${i}, ${e}, ${r})`;try{t=void 0!==process.versions.node}catch{}n=t?`data:${s};base64,${Buffer.from(h).toString("base64")}`:URL.createObjectURL(new Blob([h],{type:s})),e.t.set(i,n)}super(n,{name:s}),this.F=Number.MIN_SAFE_INTEGER,this.Y=new Map,this.onmessage=({data:t})=>{const{id:s,...e}=t;this.Y.get(s)(e),this.Y.delete(s)},new r(e).U().then((s=>{this._("init",{I:s,options:t})}))}async _(t,s){return new Promise((e=>{this.postMessage({command:t,id:this.F,data:s}),this.Y.set(this.F++,e)}))}get ready(){return this._("ready")}async free(){await this._("free").finally((()=>{this.terminate()}))}async reset(){await this._("reset")}}const r=(t,s)=>{Object.defineProperty(t,"name",{value:s})},n=Symbol,h=(()=>{const t="left",s="center",e="right";return["","front ","side ","rear "].map((i=>[[t,e],[t,e,s],[t,s,e],[s,t,e],[s]].flatMap((t=>t.map((t=>i+t)).join(", ")))))})(),o="LFE",a="monophonic (mono)",l="stereo",c="surround",u=(t,...s)=>`${[a,l,"linear "+c,"quadraphonic","5.0 "+c,"5.1 "+c,"6.1 "+c,"7.1 "+c][t-1]} (${s.join(", ")})`,d=[a,u(2,h[0][0]),u(3,h[0][2]),u(4,h[1][0],h[3][0]),u(5,h[1][2],h[3][0]),u(6,h[1][2],h[3][0],o),u(7,h[1][2],h[2][0],h[3][4],o),u(8,h[1][2],h[2][0],h[3][0],o)],U=48e3,f=44100,p=32e3,M=24e3,y=22050,m=16e3,L=8e3,b="absoluteGranulePosition",g="bandwidth",w="bitDepth",A="bitrate",x=A+"Maximum",P=A+"Minimum",B=A+"Nominal",C="buffer",T=C+"Fullness",O="codec",$=O+"Frames",v="coupledStreamCount",S="crc",H=S+"16",E=S+"32",D="data",K="description",R="duration",j="emphasis",Q="hasOpusPadding",k="header",G="isContinuedPacket",N="isCopyrighted",V="isFirstPage",z="isHome",J="isLastPage",W="isOriginal",X="isPrivate",I="isVbr",Z="layer",F="length",Y="mode",q=Y+"Extension",_="mpeg",tt=_+"Version",st="numberAACFrames",et="outputGain",it="preSkip",rt="profile",nt=n(),ht="protection",ot="segments",at="subarray",lt="version",ct="vorbis",ut=ct+"Comments",dt=ct+"Setup",Ut="block",ft=Ut+"ingStrategy",pt=n(),Mt=Ut+"Size",yt=Ut+"size0",mt=Ut+"size1",Lt=n(),bt="channel",gt=bt+"MappingFamily",wt=bt+"MappingTable",At=bt+"Mode",xt=n(),Pt=bt+"s",Bt="copyright",Ct=Bt+"Id",Tt=Bt+"IdStart",Ot="frame",$t=Ot+"Count",vt=Ot+"Length",St="Number",Ht=Ot+St,Et=Ot+"Padding",Dt=Ot+"Size",Kt="Rate",Rt="inputSample"+Kt,jt="page",Qt=jt+"Checksum",kt=n(),Gt=jt+"SegmentTable",Nt=jt+"Sequence"+St,Vt="sample",zt=Vt+St,Jt=Vt+Kt,Wt=n(),Xt=Vt+"s",It="stream",Zt=It+"Count",Ft=It+"Info",Yt=It+"Serial"+St,qt=It+"StructureVersion",_t="total",ts=_t+"BytesOut",ss=_t+"Duration",es=_t+"Samples",is=n(),rs=n(),ns=n(),hs=n(),os=n(),as=n(),ls=n(),cs=n(),us=n(),ds=n(),Us=n(),fs=n(),ps=n(),Ms=n(),ys=n(),ms=n(),Ls=n(),bs=n(),gs=Uint8Array,ws=DataView,As="reserved",xs="bad",Ps="free",Bs="none",Cs="16bit CRC",Ts=(t,s,e)=>{for(let i=0;i0;t--)r=e(r);t[i]=r}return t},Os=Ts(new gs(256),(t=>t),(t=>128&t?7^t<<1:t<<1)),$s=[Ts(new Uint16Array(256),(t=>t<<8),(t=>t<<1^(32768&t?32773:0)))],vs=[Ts(new Uint32Array(256),(t=>t),(t=>t>>>1^3988292384*(1&t)))];for(let Mi=0;Mi<15;Mi++){$s.push(new Uint16Array(256)),vs.push(new Uint32Array(256));for(let t=0;t<=255;t++)$s[Mi+1][t]=$s[0][$s[Mi][t]>>>8]^$s[Mi][t]<<8,vs[Mi+1][t]=vs[Mi][t]>>>8^vs[0][255&vs[Mi][t]]}const Ss=t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i=vs[15][255&(t[r++]^i)]^vs[14][255&(t[r++]^i>>>8)]^vs[13][255&(t[r++]^i>>>16)]^vs[12][t[r++]^i>>>24]^vs[11][t[r++]]^vs[10][t[r++]]^vs[9][t[r++]]^vs[8][t[r++]]^vs[7][t[r++]]^vs[6][t[r++]]^vs[5][t[r++]]^vs[4][t[r++]]^vs[3][t[r++]]^vs[2][t[r++]]^vs[1][t[r++]]^vs[0][t[r++]];for(;r!==s;)i=vs[0][255&(i^t[r++])]^i>>>8;return-1^i},Hs=(...t)=>{const s=new gs(t.reduce(((t,s)=>t+s[F]),0));return t.reduce(((t,e)=>(s.set(e,t),t+e[F])),0),s},Es=t=>String.fromCharCode(...t),Ds=[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15],Ks=t=>Ds[15&t]<<4|Ds[t>>4];class Rs{constructor(t){this.tt=t,this.st=8*t[F]}set position(t){this.st=t}get position(){return this.st}read(t){const s=Math.floor(this.st/8),e=this.st%8;return this.st-=t,(Ks(this.tt[s-1])<<8)+Ks(this.tt[s])>>7-e&255}}class js{constructor(t,s){this.et=t,this.it=s,this[ys]()}[ms](){this.rt=!0}[ys](){this.nt=new Map,this.ht=new WeakMap,this.ot=!1,this.at=!1,this.lt=null,this.rt=!1}[Ms](t,s){if(this.it){this.lt!==t&&(this.lt=t,this.at=!0);const e=this.ht.get(this.nt.get(this.ut));this.at&&e&&this.it({dt:t,...e},s),this.at=!1}}[us](t){const s=this.nt.get(t);return s&&this.ft(t),s}[ds](t,s,e){this.rt&&(this.ot||(this.et({...s}),this.ot=!0),this.ft(t),this.nt.set(t,s),this.ht.set(s,e))}ft(t){this.it&&t!==this.ut&&(this.at=!0,this.ut=t)}}const Qs=new WeakMap,ks=new WeakMap;class Gs{constructor(t,s){this.yt=t,this.nt=s}*[ls](){let t;for(;;){if(t=yield*this.bt[Us](this.yt,this.nt,0),t)return t;this.yt[rs](1)}}*[cs](t){let s=yield*this[ls]();const e=ks.get(s)[F];if(t||this.yt.wt||(yield*this.At[us](this.yt,this.nt,e)))return this.nt[ms](),this.yt[rs](e),this.yt[hs](s),s;this.yt[os](`Missing ${Ot} at ${e} bytes from current position.`,`Dropping current ${Ot} and trying again.`),this.nt[ys](),this.yt[rs](1)}}class Ns{constructor(t,s){ks.set(this,{[k]:t}),this[D]=s}}class Vs extends Ns{static*[Us](t,s,e,i,r){const n=yield*t[us](e,i,r);if(n){const t=Qs.get(n)[vt],i=Qs.get(n)[Xt];return new s(n,(yield*e[is](t,r))[at](0,t),i)}return null}constructor(t,s,e){super(t,s),this[k]=t,this[Xt]=e,this[R]=e/t[Jt]*1e3,this[Ht]=null,this[ts]=null,this[es]=null,this[ss]=null,ks.get(this)[F]=s[F]}}const zs="unsynchronizationFlag",Js="extendedHeaderFlag",Ws="experimentalFlag",Xs="footerPresent";class Is{static*Pt(t,s,e){const i={};let r=yield*t[is](3,e);if(73!==r[0]||68!==r[1]||51!==r[2])return null;if(r=yield*t[is](10,e),i[lt]=`id3v2.${r[3]}.${r[4]}`,15&r[5])return null;if(i[zs]=!!(128&r[5]),i[Js]=!!(64&r[5]),i[Ws]=!!(32&r[5]),i[Xs]=!!(16&r[5]),128&r[6]||128&r[7]||128&r[8]||128&r[9])return null;const n=r[6]<<21|r[7]<<14|r[8]<<7|r[9];return i[F]=10+n,new Is(i)}constructor(t){this[lt]=t[lt],this[zs]=t[zs],this[Js]=t[Js],this[Ws]=t[Ws],this[Xs]=t[Xs],this[F]=t[F]}}class Zs{constructor(t){Qs.set(this,t),this[w]=t[w],this[A]=null,this[Pt]=t[Pt],this[At]=t[At],this[Jt]=t[Jt]}}const Fs={0:[Ps,Ps,Ps,Ps,Ps],16:[32,32,32,32,8],240:[xs,xs,xs,xs,xs]},Ys=(t,s,e)=>8*((t+e)%s+s)*(1<<(t+e)/s)-8*s*(s/8|0);for(let Mi=2;Mi<15;Mi++)Fs[Mi<<4]=[32*Mi,Ys(Mi,4,0),Ys(Mi,4,-1),Ys(Mi,8,4),Ys(Mi,8,0)];const qs="bands ",_s=" to 31",te={0:qs+4+_s,16:qs+8+_s,32:qs+12+_s,48:qs+16+_s},se="bitrateIndex",ee="v2",ie="v1",re="Intensity stereo ",ne=", MS stereo ",he="on",oe="off",ae={0:{[K]:As},2:{[K]:"Layer III",[Et]:1,[q]:{0:re+oe+ne+oe,16:re+he+ne+oe,32:re+oe+ne+he,48:re+he+ne+he},[ie]:{[se]:2,[Xt]:1152},[ee]:{[se]:4,[Xt]:576}},4:{[K]:"Layer II",[Et]:1,[q]:te,[Xt]:1152,[ie]:{[se]:1},[ee]:{[se]:4}},6:{[K]:"Layer I",[Et]:4,[q]:te,[Xt]:384,[ie]:{[se]:0},[ee]:{[se]:3}}},le="MPEG Version ",ce="ISO/IEC ",ue={0:{[K]:le+"2.5 (later extension of MPEG 2)",[Z]:ee,[Jt]:{0:11025,4:12e3,8:L,12:As}},8:{[K]:As},16:{[K]:`${le}2 (${ce}13818-3)`,[Z]:ee,[Jt]:{0:y,4:M,8:m,12:As}},24:{[K]:`${le}1 (${ce}11172-3)`,[Z]:ie,[Jt]:{0:f,4:U,8:p,12:As}},length:F},de={0:Cs,1:Bs},Ue={0:Bs,1:"50/15 ms",2:As,3:"CCIT J.17"},fe={0:{[Pt]:2,[K]:l},64:{[Pt]:2,[K]:"joint "+l},128:{[Pt]:2,[K]:"dual channel"},192:{[Pt]:1,[K]:a}};class pe extends Zs{static*[us](t,s,e){const i={},r=yield*Is.Pt(t,s,e);r&&(yield*t[is](r[F],e),t[rs](r[F]));const n=yield*t[is](4,e),h=Es(n[at](0,4)),o=s[us](h);if(o)return new pe(o);if(255!==n[0]||n[1]<224)return null;const a=ue[24&n[1]];if(a[K]===As)return null;const l=6&n[1];if(ae[l][K]===As)return null;const c={...ae[l],...ae[l][a[Z]]};if(i[tt]=a[K],i[Z]=c[K],i[Xt]=c[Xt],i[ht]=de[1&n[1]],i[F]=4,i[A]=Fs[240&n[2]][c[se]],i[A]===xs)return null;if(i[Jt]=a[Jt][12&n[2]],i[Jt]===As)return null;if(i[Et]=2&n[2]&&c[Et],i[X]=!!(1&n[2]),i[vt]=Math.floor(125*i[A]*i[Xt]/i[Jt]+i[Et]),!i[vt])return null;const u=192&n[3];if(i[At]=fe[u][K],i[Pt]=fe[u][Pt],i[q]=c[q][48&n[3]],i[N]=!!(8&n[3]),i[W]=!!(4&n[3]),i[j]=Ue[3&n[3]],i[j]===As)return null;i[w]=16;{const{length:t,frameLength:e,Bt:r,...n}=i;s[ds](h,i,n)}return new pe(i)}constructor(t){super(t),this[A]=t[A],this[j]=t[j],this[Et]=t[Et],this[N]=t[N],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[q]=t[q],this[tt]=t[tt],this[ht]=t[ht]}}class Me extends Vs{static*[Us](t,s,e){return yield*super[Us](pe,Me,t,s,e)}constructor(t,s,e){super(t,s,e)}}class ye extends Gs{constructor(t,s,e){super(t,s),this.bt=Me,this.At=pe,e(this[O])}get[O](){return _}*[fs](){return yield*this[cs]()}}const me={0:"MPEG-4",8:"MPEG-2"},Le={0:"valid",2:xs,4:xs,6:xs},be={0:Cs,1:Bs},ge={0:"AAC Main",64:"AAC LC (Low Complexity)",128:"AAC SSR (Scalable Sample Rate)",192:"AAC LTP (Long Term Prediction)"},we={0:96e3,4:88200,8:64e3,12:U,16:f,20:p,24:M,28:y,32:m,36:12e3,40:11025,44:L,48:7350,52:As,56:As,60:"frequency is written explicitly"},Ae={0:{[Pt]:0,[K]:"Defined in AOT Specific Config"},64:{[Pt]:1,[K]:a},128:{[Pt]:2,[K]:u(2,h[0][0])},192:{[Pt]:3,[K]:u(3,h[1][3])},256:{[Pt]:4,[K]:u(4,h[1][3],h[3][4])},320:{[Pt]:5,[K]:u(5,h[1][3],h[3][0])},384:{[Pt]:6,[K]:u(6,h[1][3],h[3][0],o)},448:{[Pt]:8,[K]:u(8,h[1][3],h[2][0],h[3][0],o)}};class xe extends Zs{static*[us](t,s,e){const i={},r=yield*t[is](7,e),n=Es([r[0],r[1],r[2],252&r[3]|3&r[6]]),h=s[us](n);if(h)Object.assign(i,h);else{if(255!==r[0]||r[1]<240)return null;if(i[tt]=me[8&r[1]],i[Z]=Le[6&r[1]],i[Z]===xs)return null;const t=1&r[1];i[ht]=be[t],i[F]=t?7:9,i[nt]=192&r[2],i[Wt]=60&r[2];const e=2&r[2];if(i[rt]=ge[i[nt]],i[Jt]=we[i[Wt]],i[Jt]===As)return null;i[X]=!!e,i[xt]=448&(r[2]<<8|r[3]),i[At]=Ae[i[xt]][K],i[Pt]=Ae[i[xt]][Pt],i[W]=!!(32&r[3]),i[z]=!!(8&r[3]),i[Ct]=!!(8&r[3]),i[Tt]=!!(4&r[3]),i[w]=16,i[Xt]=1024,i[st]=3&r[6];{const{length:t,Ot:e,$t:r,vt:h,frameLength:o,Bt:a,St:l,...c}=i;s[ds](n,i,c)}}if(i[vt]=8191&(r[3]<<11|r[4]<<3|r[5]>>5),!i[vt])return null;const o=2047&(r[5]<<6|r[6]>>2);return i[T]=2047===o?"VBR":o,new xe(i)}constructor(t){super(t),this[Ct]=t[Ct],this[Tt]=t[Tt],this[T]=t[T],this[z]=t[z],this[W]=t[W],this[X]=t[X],this[Z]=t[Z],this[F]=t[F],this[tt]=t[tt],this[st]=t[st],this[rt]=t[rt],this[ht]=t[ht]}get Ht(){const t=Qs.get(this),s=t[nt]+64<<5|t[Wt]<<5|t[xt]>>3,e=new gs(2);return new ws(e[C]).setUint16(0,s,!1),e}}class Pe extends Vs{static*[Us](t,s,e){return yield*super[Us](xe,Pe,t,s,e)}constructor(t,s,e){super(t,s,e)}}class Be extends Gs{constructor(t,s,e){super(t,s),this.bt=Pe,this.At=xe,e(this[O])}get[O](){return"aac"}*[fs](){return yield*this[cs]()}}class Ce extends Vs{static Et(t){return(t[t[F]-2]<<8)+t[t[F]-1]}static[bs](t){const s=Ce.Et(t),e=(t=>{const s=t[F],e=s-16;let i=0,r=0;for(;r<=e;)i^=t[r++]<<8|t[r++],i=$s[15][i>>8]^$s[14][255&i]^$s[13][t[r++]]^$s[12][t[r++]]^$s[11][t[r++]]^$s[10][t[r++]]^$s[9][t[r++]]^$s[8][t[r++]]^$s[7][t[r++]]^$s[6][t[r++]]^$s[5][t[r++]]^$s[4][t[r++]]^$s[3][t[r++]]^$s[2][t[r++]]^$s[1][t[r++]]^$s[0][t[r++]];for(;r!==s;)i=(255&i)<<8^$s[0][i>>8^t[r++]];return i})(t[at](0,-2));return s===e}constructor(t,s,e){s[Ft]=e,s[H]=Ce.Et(t),super(s,t,Qs.get(s)[Xt])}}const Te="get from STREAMINFO metadata block",Oe={0:"Fixed",1:"Variable"},$e={0:As,16:192};for(let Mi=2;Mi<16;Mi++)$e[Mi<<4]=Mi<6?576*2**(Mi-2):2**Mi;const ve={0:Te,1:88200,2:176400,3:192e3,4:L,5:m,6:y,7:M,8:p,9:f,10:U,11:96e3,15:xs},Se={0:{[Pt]:1,[K]:a},16:{[Pt]:2,[K]:u(2,h[0][0])},32:{[Pt]:3,[K]:u(3,h[0][1])},48:{[Pt]:4,[K]:u(4,h[1][0],h[3][0])},64:{[Pt]:5,[K]:u(5,h[1][1],h[3][0])},80:{[Pt]:6,[K]:u(6,h[1][1],o,h[3][0])},96:{[Pt]:7,[K]:u(7,h[1][1],o,h[3][4],h[2][0])},112:{[Pt]:8,[K]:u(8,h[1][1],o,h[3][0],h[2][0])},128:{[Pt]:2,[K]:l+" (left, diff)"},144:{[Pt]:2,[K]:l+" (diff, right)"},160:{[Pt]:2,[K]:l+" (avg, diff)"},176:As,192:As,208:As,224:As,240:As},He={0:Te,2:8,4:12,6:As,8:16,10:20,12:24,14:As};class Ee extends Zs{static Kt(t){if(t[0]>254)return null;if(t[0]<128)return{value:t[0],length:1};let s=1;for(let n=64;n&t[0];n>>=1)s++;let e=s-1,i=0,r=0;for(;e>0;r+=6,e--){if(128!=(192&t[e]))return null;i|=(63&t[e])<>s)<{let s=0;const e=t[F];for(let i=0;i!==e;i++)s=Os[s^t[i]];return s})(i[at](0,r[F]-1)))return null;if(!h){const{Qt:t,frameNumber:e,kt:i,Bt:h,vt:o,Gt:a,Nt:l,length:c,...u}=r;s[ds](n,r,u)}return new Ee(r)}constructor(t){super(t),this[H]=null,this[ft]=t[ft],this[Mt]=t[Mt],this[Ht]=t[Ht],this[zt]=t[zt],this[Ft]=null}}class De extends Gs{constructor(t,s,e){super(t,s),this.bt=Ce,this.At=Ee,e(this[O])}get[O](){return"flac"}*Vt(t){const s=yield*this.yt[is](2,0),e=s[F]-2;for(;t{const s=Ee[Ls](t,this.nt);if(s)return new Ce(t,s,this.Jt);this.yt[os]("Failed to parse Ogg FLAC frame","Skipping invalid FLAC frame")})).filter((t=>!!t))),t}}class Ke{static*[us](t,s,e){const i={};let r=yield*t[is](28,e);if(79!==r[0]||103!==r[1]||103!==r[2]||83!==r[3])return null;if(i[qt]=r[4],248&r[5])return null;i[J]=!!(4&r[5]),i[V]=!!(2&r[5]),i[G]=!!(1&r[5]);const n=new ws(gs.from(r[at](0,28))[C]);try{i[b]=n.getBigInt64(6,!0)}catch{}i[Yt]=n.getInt32(14,!0),i[Nt]=n.getInt32(18,!0),i[Qt]=n.getInt32(22,!0);const h=r[26];i[F]=h+27,r=yield*t[is](i[F],e),i[vt]=0,i[Gt]=[],i[kt]=gs.from(r[at](27,i[F]));for(let o=0,a=0;o{const s=Ze[Ls](this.It,t,this.nt);if(s)return new je(t,s);this.yt[as]("Failed to parse Ogg Opus Header","Not a valid Ogg Opus file")}))),t}}class Ye extends Vs{constructor(t,s,e){super(s,t,e)}}const qe={};for(let Mi=0;Mi<8;Mi++)qe[Mi+6]=2**(6+Mi);class _e extends Zs{static[Ls](t,s,e,i){if(t[F]<30)throw Error("Out of data while inside an Ogg Page");const r=Es(t[at](0,30)),n=s[us](r);if(n)return new _e(n);const h={[F]:30};if("vorbis"!==r.substr(0,7))return null;h[D]=gs.from(t[at](0,30));const o=new ws(h[D][C]);if(h[lt]=o.getUint32(7,!0),0!==h[lt])return null;if(h[Pt]=t[11],h[At]=d[h[Pt]-1]||"application defined",h[Jt]=o.getUint32(12,!0),h[x]=o.getInt32(16,!0),h[B]=o.getInt32(20,!0),h[P]=o.getInt32(24,!0),h[mt]=qe[(240&t[28])>>4],h[yt]=qe[15&t[28]],h[yt]>h[mt])return null;if(1!==t[29])return null;h[w]=32,h[dt]=i,h[ut]=e;{const{length:t,data:e,version:i,Zt:n,Ft:o,...a}=h;s[ds](r,h,a)}return new _e(h)}constructor(t){super(t),this[x]=t[x],this[P]=t[P],this[B]=t[B],this[yt]=t[yt],this[mt]=t[mt],this[D]=t[D],this[ut]=t[ut],this[dt]=t[dt]}}class ti extends Gs{constructor(t,s,e){super(t,s),this.bt=Ye,e(this[O]),this.It=null,this.Yt=!1,this.qt={count:0},this._t=0,this.ts=0}get[O](){return ct}[ps](t){t[$]=[];for(const s of ks.get(t)[ot])if(1===s[0])this.nt[ms](),this.It=t[D],this.Yt=!1;else if(3===s[0])this.ss=s;else if(5===s[0])this.es=s,this.qt=this.rs(s),this.Yt=!0;else if(this.Yt){const e=_e[Ls](this.It,this.nt,this.ss,this.es);e?t[$].push(new Ye(s,e,this.ns(s,e))):this.yt[as]("Failed to parse Ogg Vorbis Header","Not a valid Ogg Vorbis file")}return t}ns(t,s){const e=t[0]>>1,i=this.qt[e&this.qt.mask];i&&(this._t=e&this.qt.hs?s[mt]:s[yt]),this.ts=i?s[mt]:s[yt];const r=this._t+this.ts>>2;return this._t=this.ts,r}rs(t){const s=new Rs(t),e="Failed to read "+ct+" stream",i=", failed to parse "+ct+" modes";let r,n={count:0};for(;1!=(1&s.read(1)););for(;n.count<64&&s.position>0;){const t=Ks(s.read(8));if(t in n&&(1!==n.count||0!==t))throw this.yt[as]("received duplicate mode mapping"+i),Error(e);let h=0;for(;0===s.read(8)&&h++<3;);if(4!==h){if(1+((126&Ks(r))>>1)!==n.count)throw this.yt[as]("mode count did not match actual modes"+i),Error(e);break}r=s.read(7),n[t]=1&r,s.position+=6,n.count++}return n.mask=(1<1&&t[Nt]>1&&this.yt[os]("Unexpected gap in Ogg Page Sequence Number.",`Expected: ${this.Ms+1}, Got: ${t[Nt]}`),this.Ms=t[Nt]}ys(t){null===this.us&&(this.Ms=t[Nt],this.us=this.fs(t)),this.ps(t);const s=ks.get(t),e=Qs.get(s[k]);let i=0;if(s[ot]=e[Gt].map((s=>t[D][at](i,i+=s))),this.ls[F]&&(s[ot][0]=Hs(this.ls,s[ot][0]),this.ls=new gs),255===e[kt][e[kt][F]-1]&&(this.ls=Hs(this.ls,s[ot].pop())),this.us){const s=this.Us[ps](t);return this.yt[hs](s),s}return t}}class ei extends Gs{constructor(t,s,e){super(t,s),this.os=e,this.bt=Re,this.At=Ke,this.Ls=new Map,this.bs=null}get[O](){const t=this.Ls.get(this.bs);return t?t.Ct:""}*[fs](){const t=yield*this[cs](!0);this.bs=t[Yt];let s=this.Ls.get(this.bs);return s||(s=new si(this.yt,this.nt,this.os),this.Ls.set(this.bs,s)),t[J]&&this.Ls.delete(this.bs),s.ys(t)}}const ii=()=>{};class ri{constructor(t,{gs:s,ws:e,As:i,xs:r=!1,Ps:n=!0}={}){this.Bs=t,this.os=s||ii,this.et=e||ii,this.it=i,this.Cs=r,this.Ts=n?Ss:ii,this.Os=this.$s(),this.Os.next()}get[O](){return this.Us[O]}*flush(){this.wt=!0;for(let t=this.Os.next();t.value;t=this.Os.next())yield t.value;this.wt=!1,this.Os=this.$s(),this.Os.next()}*vs(t){for(let s=this.Os.next(t);s.value;s=this.Os.next())yield s.value}parseAll(t){return[...this.vs(t),...this.flush()]}*$s(){if(this.nt=new js(this.et,this.it),this.Bs.match(/aac/))this.Us=new Be(this,this.nt,this.os);else if(this.Bs.match(/mpeg/))this.Us=new ye(this,this.nt,this.os);else if(this.Bs.match(/flac/))this.Us=new De(this,this.nt,this.os);else{if(!this.Bs.match(/ogg/))throw Error("Unsupported Codec "+mimeType);this.Us=new ei(this,this.nt,this.os)}for(this.Ss=0,this.Hs=0,this.Es=0,this.Ds=0,this.Ks=0,this.Rs=void 0,this.js=new Uint8Array(0);;){const t=yield*this.Us[fs]();t&&(yield t)}}*[is](t=0,s=0){let e;for(;this.js[F]<=t+s;){if(e=yield,this.wt)return this.js[at](s);e&&(this.Es+=e[F],this.js=Hs(this.js,e))}return this.js[at](s)}[rs](t){this.Hs+=t,this.js=this.js[at](t)}[ns](t){this.Rs=t[k][Jt],t[k][A]=8*Math.round(t[D][F]/t[R]),t[Ht]=this.Ss++,t[ts]=this.Ds,t[es]=this.Ks,t[ss]=this.Ks/this.Rs*1e3,t[E]=this.Ts(t[D]),this.nt[Ms](t[k][A],t[ss]),this.Ds+=t[D][F],this.Ks+=t[Xt]}[hs](t){t[$]?(t[$].forEach((s=>{t[R]+=s[R],t[Xt]+=s[Xt],this[ns](s)})),t[es]=this.Ks,t[ss]=this.Ks/this.Rs*1e3||0,t[ts]=this.Ds):this[ns](t)}Ns(t,s){if(this.Cs){const e=[`${O}: ${this[O]}`,"inputMimeType: "+this.Bs,"readPosition: "+this.Hs,"totalBytesIn: "+this.Es,`${ts}: ${this.Ds}`],i=Math.max(...e.map((t=>t[F])));s.push("--stats--"+"-".repeat(i-9),...e,"-".repeat(i)),t("codec-parser",s.reduce(((t,s)=>t+"\n "+s),""))}}[os](...t){this.Ns(console.warn,t)}[as](...t){this.Ns(console.error,t)}}const ni=$,hi=D,oi=k,ai=ut,li=dt;function ci(t){function s(){}for(var e=new Uint8Array(123),i=25;i>=0;--i)e[48+i]=52+i,e[65+i]=i,e[97+i]=26+i;var r,n;e[43]=62,e[47]=63,ci.L||Object.defineProperty(ci,"L",{get:()=>String.raw`dynEncode01df9b7dd5a5+nd ã ë$Þ.¥ÐåæÙ_ýÅOV–;ÈCæRԔ¶¾OÂPÎ\y×[ @@ -181,5 +181,5 @@ eqȲA(·ïòHÜOæˆÓº!…;'›BH”‰oËl›,Í.“p6L<ÃÔFô̇ñŒ½ˆÌ Q58ö£é9ëC³Â¸q’Rø®í@Žú¤‘jD+ËÀÉü‹Cšd¼úx¡½«AÈy!õ‚˜¬Õ’‘iZ{K£ðôž5ñþԝõŽ´l&cHØ~-][Ñ(­¦Ï}ŽæÏpXÂ×­ÄRØɬۓeޗJÃe]WfHõ½Té–Í«Á”ŽóÏ外—ÖM f"{Û?—)ûY‹ð:®µñ@»,‡ÚH¤_y]AKödåÀ›9-»áR¤´AR0k?h%p¾[f— ÑJ‘O+«ñ@ÅáP Ýu§÷Mô*J¤Žp øzˆp.–³qD‰š¨”,“ѳ>’úvÌöøƒP¥ßø¨¥¨…þŧµ¼"ÃÉ\«bLv" 8ƒÊK‘ÛÍrªí oZ½qù8ÄÔÁ.Q0j¶IsŸx”sì®ù {¬ô~)SüóRb±²F_ažn4í¬0µJ"sØ*BóÊ?‚чGšÑ½àDÅÙC¤ÌÚHDrF= ñ7Âu±¿ÍR$%[1=Mµ5ÈÆ,³Ç¬üJȺƒµ>¨N.<NJ.Z£Óò´åœ¦†ÝÞʑJ -cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õRØgmãq'l둧nái@G„½0%ä4³“—ü¡x4|Î¥VýyG€üo¾ ö÷¹¾ÂG”šOË`});var h,o,a,l,c,u,d,U={a:{b:t=>Math.atan(t),a:t=>Math.cos(t),d:t=>Math.exp(t),e:t=>Math.log(t),f:(t,s)=>Math.pow(t,s),c:t=>Math.sin(t),h(t,s,e){r.copyWithin(t,s,s+e)},g(t){r.length,(t=>{throw"OOM"})()}}};this.u=s=>{t.u(ci,s)},this.U=()=>t.U(ci),this.instantiate=()=>(this.U().then((t=>WebAssembly.instantiate(t,U))).then((t=>{var e,i=t.exports;h=i.k,o=i.l,a=i.m,l=i.n,c=i.o,u=i.p,d=i.q,i.r,e=i.i.buffer,n=e,r=new Uint8Array(e),(t=>{t.j()})(i),s()})),this.ready=new Promise((t=>{s=t})).then((()=>{this.N=n,this.H=o,this.free=d,this.ks=h,this.Gs=a,this.Ns=l,this.Vs=c,this.zs=u})),this)}function ui(){return this.Js=()=>(new this.Ws).instantiate(this.Xs,this.Is).then((t=>{this.Zs=t,this.Fs=this.Zs.S(this.Ys,Uint8Array),this.qs=!0,this._s=this.Zs.S(1,Uint32Array),this.te=this.Zs.S(1,Uint32Array),this.se=this.Zs.S(1,Uint32Array),this.Ss=this.Zs.S(1,Uint32Array),this.ee=this.Zs.S(1,Uint32Array),this.ie=this.Zs.S(256,Uint32Array),this.re=this.Zs.S(1,Int32Array),this.Cs=0,this.ne=0,this.he=0,this.oe=this.Zs.L.ks(this.Fs.K,this._s.K,this.te.K,this.se.K,this.Ss.K,this.ee.K,this.ie.K,this.re.K,256)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.ae}),this.reset=()=>(this.free(),this.Js()),this.free=()=>{this.Zs.L.zs(this.oe),this.Zs.free()},this.sendSetupHeader=t=>{this.Fs.G.set(t),this._s.G[0]=t.length,this.Zs.L.Gs(this.oe,this.qs),this.qs=!1},this.initDsp=()=>{this.Zs.L.Ns(this.oe)},this.decodePackets=t=>{let s=[],e=0,i=[];for(let r=0;r{if("vorbis"!==t)throw Error("@wasm-audio-decoders/ogg-vorbis does not support this codec "+t)},new e,this.Js(),this[di](ui)}Js(){this.ce=!0,this.yt=new ii("audio/ogg",{ps:this.hs,bs:!1})}[di](t){if(this.oe){const t=this.oe;t.ready.then((()=>t.free()))}this.oe=new t,this.ae=this.oe.ready}get ready(){return this.ae}async reset(){return this.Js(),this.oe.reset()}free(){this.oe.free()}async de(t){const s=[];for(let e=0;e1&&this.ce){const t=i[ri][0][hi];this.oe.sendSetupHeader(t[oi]),this.oe.sendSetupHeader(t[ai]),this.oe.initDsp(),this.ce=!1}s.push(...i[ri].map((t=>t[ni])))}return this.oe.decodePackets(s)}async decode(t){return this.de([...this.yt.Bs(t)])}async flush(){const t=this.de([...this.yt.flush()]);return await this.reset(),t}async decodeFile(t){const s=this.de([...this.yt.parseAll(t)]);return await this.reset(),s}}class fi extends i{constructor(t){super(t,"ogg-vorbis-decoder",ui,ci)}async sendSetupHeader(t){return this._("sendSetupHeader",t)}async initDsp(){return this._("initDsp")}async decodePackets(t){return this._("decodePackets",t)}}class pi extends Ui{constructor(){super(),super[di](fi)}async free(){super.free()}terminate(){this.oe.terminate()}}r(Ui,"OggVorbisDecoder"),r(pi,"OggVorbisDecoderWebWorker"),t.OggVorbisDecoder=Ui,t.OggVorbisDecoderWebWorker=pi},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["ogg-vorbis-decoder"]={},t.Worker); +cAë¢þÍÍ­ý×ß'$|ð÷= È8a7ç^ˆoÚ~Ò;hTиԣ|¸Øÿ£2±õRØgmãq'l둧nái@G„½0%ä4³“—ü¡x4|Î¥VýyG€üo¾ ö÷¹¾ÂG”šOË`});var h,o,a,l,c,u,d,U={a:{b:t=>Math.atan(t),a:t=>Math.cos(t),d:t=>Math.exp(t),e:t=>Math.log(t),f:(t,s)=>Math.pow(t,s),c:t=>Math.sin(t),h(t,s,e){r.copyWithin(t,s,s+e)},g(t){r.length,(t=>{throw"OOM"})()}}};this.u=s=>{t.u(ci,s)},this.U=()=>t.U(ci),this.instantiate=()=>(this.U().then((t=>WebAssembly.instantiate(t,U))).then((t=>{var e,i=t.exports;h=i.k,o=i.l,a=i.m,l=i.n,c=i.o,u=i.p,d=i.q,i.r,e=i.i.buffer,n=e,r=new Uint8Array(e),(t=>{t.j()})(i),s()})),this.ready=new Promise((t=>{s=t})).then((()=>{this.N=n,this.H=o,this.free=d,this.Js=h,this.Ws=a,this.Xs=l,this.Is=c,this.Zs=u})),this)}function ui(){return this.Fs=()=>(new this.Ys).instantiate(this.qs,this._s).then((t=>{this.te=t,this.se=this.te.S(this.ee,Uint8Array),this.ie=!0,this.re=this.te.S(1,Uint32Array),this.ne=this.te.S(1,Uint32Array),this.he=this.te.S(1,Uint32Array),this.Rs=this.te.S(1,Uint32Array),this.oe=this.te.S(1,Uint32Array),this.ae=this.te.S(256,Uint32Array),this.le=this.te.S(1,Int32Array),this.Ss=0,this.ce=0,this.ue=0,this.de=this.te.L.Js(this.se.K,this.re.K,this.ne.K,this.he.K,this.Rs.K,this.oe.K,this.ae.K,this.le.K,256)})),Object.defineProperty(this,"ready",{enumerable:!0,get:()=>this.Ue}),this.reset=()=>(this.free(),this.Fs()),this.free=()=>{this.te.L.Zs(this.de),this.te.free()},this.sendSetupHeader=t=>{this.se.G.set(t),this.re.G[0]=t.length,this.te.L.Ws(this.de,this.ie),this.ie=!1},this.initDsp=()=>{this.te.L.Xs(this.de)},this.decodePackets=t=>{let s=[],e=0,i=[];for(let r=0;r{if("vorbis"!==t)throw Error("@wasm-audio-decoders/ogg-vorbis does not support this codec "+t)},new e,this.Fs(),this[di](ui)}Fs(){this.pe=!0,this.yt=new ri("audio/ogg",{gs:this.os,Ps:!1})}[di](t){if(this.de){const t=this.de;t.ready.then((()=>t.free()))}this.de=new t,this.Ue=this.de.ready}get ready(){return this.Ue}async reset(){return this.Fs(),this.de.reset()}free(){this.de.free()}async ye(t){const s=[];for(let e=0;et[hi])))}return this.de.decodePackets(s)}async decode(t){return this.ye([...this.yt.vs(t)])}async flush(){const t=this.ye([...this.yt.flush()]);return await this.reset(),t}async decodeFile(t){const s=this.ye([...this.yt.parseAll(t)]);return await this.reset(),s}}class fi extends i{constructor(t){super(t,"ogg-vorbis-decoder",ui,ci)}async sendSetupHeader(t){return this._("sendSetupHeader",t)}async initDsp(){return this._("initDsp")}async decodePackets(t){return this._("decodePackets",t)}}class pi extends Ui{constructor(){super(),super[di](fi)}async free(){super.free()}terminate(){this.de.terminate()}}r(Ui,"OggVorbisDecoder"),r(pi,"OggVorbisDecoderWebWorker"),t.OggVorbisDecoder=Ui,t.OggVorbisDecoderWebWorker=pi},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@eshaz/web-worker")):"function"==typeof define&&define.amd?define(["exports","@eshaz/web-worker"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self)["ogg-vorbis-decoder"]={},t.Worker); //# sourceMappingURL=ogg-vorbis-decoder.min.js.map \ No newline at end of file diff --git a/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js.map b/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js.map index 9997708..5d11c5d 100644 --- a/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js.map +++ b/src/ogg-vorbis/dist/ogg-vorbis-decoder.min.js.map @@ -1 +1 @@ -{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments$1","vorbisSetup$1","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber$1","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ct","codecData","_currentHeader","Ut","key","header","_updateCurrentHeader","Mt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Lt","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","Bt","MPEGFrame","MPEGParser","onCodec","Tt","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","$t","vt","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","jt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Qt","kt","Gt","Nt","FLACParser","Vt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","zt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Xt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Zt","vorbisSetup","Ft","vorbisComments","VorbisParser","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegments","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggParser","_onCodec","_codec","_continuedPacket","_pageSequenceNumber","_updateCodec","_parser","_checkForIdentifier","idString","test","_checkPageSequenceNumber","oggPageStore","pop","noOp","CodecParser","mimeType","ps","Ms","ys","Ls","enableLogging","bs","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","Bs","chunk","parseAll","fileData","parseChunk","Ps","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Es","increment","Ds","round","Ks","codecFrame","_log","logger","messages","stats","width","max","s","repeat","js","console","warn","Qs","error","codecFrames","pageSequenceNumber","base64ReverseLookup","HEAPU8","_create_decoder","_malloc","_send_setup","_init_dsp","_decode_packets","_destroy_decoder","_free","imports","a","atan","cos","d","exp","e","log","f","pow","sin","h","dest","src","num","copyWithin","g","requestedSize","what","abort","instance","asm","initRuntime","create_decoder","send_setup","init_dsp","decode_packets","destroy_decoder","_init","common","_common","_input","_inputSize","_firstPage","_inputLen","_outputBufferPtr","_channels","_samplesDecoded","_errors","_errorsLength","_inputBytes","_outputSamples","_decoder","_ready","sendSetupHeader","initDsp","decodePackets","packets","outputBuffers","packetIdx","packet","outputBufferChannels","_isWebWorker","setDecoderClass","OggVorbisDecoder","_vorbisSetupInProgress","ue","decoderClass","oldDecoder","oggPages","vorbisData","decodeOggPages","decoded","DecoderWorker","OggVorbisDecoderWebWorker","require","define","amd"],"sources":["ogg-vorbis-decoder.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["global","factory","this","exports","NodeWorker","WASMAudioDecoderCommon","uint8Array","Uint8Array","float32Array","Float32Array","modules","Object","defineProperties","value","WeakMap","setModule","Ref","module","set","Promise","resolve","getModule","wasmString","get","WebAssembly","compile","decodeDynString","wasm","inflateDynEncodeString","then","data","concatFloat32","buffers","length","ret","i","offset","getDecodedAudio","errors","channelData","samplesDecoded","sampleRate","bitDepth","getDecodedAudioMultiChannel","input","channelsDecoded","j","channel","push","crc32Table","c","Int32Array","source","crcIdx","byte","expectedCrc","output","parseInt","substring","offsetReverse","escaped","byteIndex","resultCrc","charCodeAt","Error","subarray","puffString","String","raw","instantiate","instanceExports","Map","entries","puff","memory","dataArray","heapView","DataView","heapPos","sourceLength","sourceLengthPtr","setInt32","sourcePtr","destLengthPtr","byteLength","slice","getInt32","defineProperty","enumerable","_wasm","getOutputChannels","outputData","allocateTypedArray","len","TypedArray","setPointer","ptr","malloc","BYTES_PER_ELEMENT","_pointers","add","buf","HEAP","free","forEach","clear","codeToString","characters","heap","character","fromCharCode","apply","addError","message","frameLength","frameNumber","inputBytes","outputSamples","_EmscriptenWASM","_module","Set","ready","WASMAudioDecoderWorker","globalThis","Worker","getWorker","constructor","options","name","Decoder","EmscriptenWASM","isNode","type","webworkerSourceCode","_Decoder","_WASMAudioDecoderCommon","decoder","moduleResolve","modulePromise","self","onmessage","id","command","transferList","messagePromise","messagePayload","isWebWorker","reset","assign","Array","isArray","map","buffer","postMessage","process","versions","node","Buffer","from","toString","URL","createObjectURL","Blob","super","_id","Number","MIN_SAFE_INTEGER","_enqueuedOperations","rest","delete","postToDecoder","async","finally","terminate","assignNames","Class","symbol","Symbol","channelMappings","left","center","right","front","side","rear","x","flatMap","y","z","join","lfe","monophonic","stereo","surround","getChannelMapping","channelCount","mappings","vorbisOpusChannelMapping","rate48000","rate44100","rate32000","rate24000","rate22050","rate16000","rate8000","absoluteGranulePosition","bandwidth","bitrate","bitrateMaximum","bitrateMinimum","bitrateNominal","bufferFullness","codec","codecFrames$1","coupledStreamCount","crc","crc16","crc32","data$1","description","duration","emphasis","hasOpusPadding","header$1","isContinuedPacket","isCopyrighted","isFirstPage","isHome","isLastPage","isOriginal","isPrivate","isVbr","layer","mode","modeExtension","mpeg","mpegVersion","numberAACFrames","outputGain","preSkip","profile","profileBits","protection","segments","version","vorbis","vorbisComments$1","vorbisSetup$1","block","blockingStrategy","blockingStrategyBits","blockSize","blocksize0","blocksize1","blockSizeBits","channelMappingFamily","channelMappingTable","channelMode","channelModeBits","channels","copyright","copyrightId","copyrightIdStart","frame","frameCount","Number$1","framePadding","frameSize","Rate","inputSampleRate","page","pageChecksum","pageSegmentBytes","pageSegmentTable","pageSequenceNumber","sample","sampleNumber","sampleRateBits","samples","stream","streamCount","streamInfo","streamSerialNumber","streamStructureVersion","total","totalBytesOut","totalDuration","totalSamples","readRawData","incrementRawData","mapCodecFrameStats","mapFrameStats","logWarning","logError","syncFrame","fixedLengthFrameSync","getHeader","setHeader","getFrame","parseFrame","parseOggPage","checkCodecUpdate","enable","getHeaderFromUint8Array","checkFrameFooterCrc16","dataView","reserved","bad","none","sixteenBitCRC","getCrcTable","crcTable","crcInitialValueFunction","crcFunction","bit","crc8Table","b","flacCrc16Table","Uint16Array","Uint32Array","crc32Function","dataLength","crcChunkSize","concatBuffers","reduce","acc","bytesToString","bytes","reverseTable","reverse","val","BitReader","_data","_pos","position","read","bits","Math","floor","HeaderCache","onCodecHeader","onCodecUpdate","_onCodecHeader","_onCodecUpdate","_isEnabled","_headerCache","_codecUpdateData","_codecHeaderSent","_codecShouldUpdate","_bitrate","ct","codecData","_currentHeader","Ut","key","header","_updateCurrentHeader","Mt","codecUpdateFields","headerStore","frameStore","Parser","codecParser","headerCache","_codecParser","Lt","frameData","Frame","gt","ignoreNextFrame","_flushing","Header","headerValue","dataValue","CodecFrame","static","readOffset","frameLengthValue","samplesValue","unsynchronizationFlag","extendedHeaderFlag","experimentalFlag","footerPresent","ID3v2","CodecHeader","bitrateMatrix","calcBitrate","idx","interval","intervalOffset","bands","to31","layer12ModeExtensions","bitrateIndex","v2","v1","intensityStereo","msStereo","on","off","layersValues","mpegVersionDescription","isoIec","mpegVersions","protectionValues$1","emphasisValues","channelModes","MPEGHeader","id3v2Header","getID3v2Header","cachedHeader","mpegVersionValues","layerBits","layerValues","Bt","MPEGFrame","MPEGParser","onCodec","Tt","protectionValues","profileValues","sampleRates","channelModeValues","AACHeader","protectionBit","privateBit","Ot","$t","vt","St","bufferFullnessBits","audioSpecificConfig","setUint16","AACFrame","AACParser","FLACFrame","expectedCrc16","_getFrameFooterCrc16","actualCrc16","flacCrc16","streamInfoValue","getFromStreamInfo","blockingStrategyValues","blockSizeValues","sampleRateValues","channelAssignments","bitDepthValues","FLACHeader","zeroMask","shift","codecParserStub","jt","next","channelAssignment","decodedUtf8","_decodeUTF8Int","crc8","Qt","kt","Gt","Nt","FLACParser","Vt","secondByte","nextHeaderOffset","_getNextFrameSyncOffset","zt","oggPage","_streamInfo","segment","filter","OggPageHeader","view","getBigInt64","pageSegmentTableLength","segmentLength","segmentByte","OggPage","headerLength","totalLength","rawDataValue","OpusFrame","channelMappingFamilies","silkOnly","celtOnly","hybrid","narrowBand","mediumBand","wideBand","superWideBand","fullBand","configTable","OpusHeader","packetData","packetMode","packetLength","substr","getUint16","getUint32","getInt16","packetConfig","headerData","Xt","OpusParser","_identificationHeader","VorbisFrame","blockSizes","VorbisHeader","vorbisCommentsData","vorbisSetupData","Zt","vorbisSetup","Ft","vorbisComments","VorbisParser","_setupComplete","_mode","count","_prevBlockSize","_currBlockSize","oggPageSegment","_vorbisComments","_vorbisSetup","_parseSetupHeader","_getSamples","blockFlag","mask","prevMask","setup","bitReader","failedToParseVorbisStream","failedToParseVorbisModes","modeBits","mapping","log2","OggStream","_onCodec","_continuedPacket","_codec","_isSupported","_updateCodec","_parser","_checkCodecSupport","idString","test","_checkPageSequenceNumber","_pageSequenceNumber","_parsePage","oggPageStore","pop","OggParser","_streams","_currentSerialNumber","oggStream","noOp","CodecParser","mimeType","gs","ws","As","xs","enableLogging","Ps","enableFrameCRC32","_inputMimeType","_enableLogging","_crc32","_generator","_getGenerator","flush","vs","chunk","parseAll","fileData","parseChunk","$s","match","_frameNumber","_currentReadPosition","_totalBytesIn","_totalBytesOut","_totalSamples","_sampleRate","undefined","_rawData","minSize","rawData","Qs","increment","ks","round","Gs","codecFrame","_log","logger","messages","stats","width","max","s","repeat","Vs","console","warn","zs","error","codecFrames","base64ReverseLookup","HEAPU8","_create_decoder","_malloc","_send_setup","_init_dsp","_decode_packets","_destroy_decoder","_free","imports","a","atan","cos","d","exp","e","log","f","pow","sin","h","dest","src","num","copyWithin","g","requestedSize","what","abort","instance","asm","initRuntime","create_decoder","send_setup","init_dsp","decode_packets","destroy_decoder","_init","common","_common","_input","_inputSize","_firstPage","_inputLen","_outputBufferPtr","_channels","_samplesDecoded","_errors","_errorsLength","_inputBytes","_outputSamples","_decoder","_ready","sendSetupHeader","initDsp","decodePackets","packets","outputBuffers","packetIdx","packet","outputBufferChannels","_isWebWorker","setDecoderClass","OggVorbisDecoder","_vorbisSetupInProgress","Me","decoderClass","oldDecoder","oggPages","vorbisData","decodeOggPages","decoded","DecoderWorker","OggVorbisDecoderWebWorker","require","define","amd"],"sources":["ogg-vorbis-decoder.js"],"mappings":"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"} \ No newline at end of file diff --git a/src/ogg-vorbis/package-lock.json b/src/ogg-vorbis/package-lock.json index aeb1ee1..9ff0fd9 100644 --- a/src/ogg-vorbis/package-lock.json +++ b/src/ogg-vorbis/package-lock.json @@ -1,16 +1,16 @@ { "name": "@wasm-audio-decoders/ogg-vorbis", - "version": "0.1.6", + "version": "0.1.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@wasm-audio-decoders/ogg-vorbis", - "version": "0.1.6", + "version": "0.1.7", "license": "MIT", "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1" + "codec-parser": "2.4.2" }, "funding": { "type": "individual", @@ -31,9 +31,9 @@ } }, "node_modules/codec-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.1.tgz", - "integrity": "sha512-h4mkkO2c945zZ3tvl6v+6/eK8yp6KG2qgjJEW+TMmFlHWFfAIEzpPW4TfrZTEPqhA9OT89mCOu0+IfswoIDEvg==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/codec-parser/-/codec-parser-2.4.2.tgz", + "integrity": "sha512-RN6gT8aGdDq4vx//Ln+MRDIKPXA3SpJKsCcQSZ4poF2bZCO4/G0C2Ko/MVNpbJ7Y9ewpzeuLlBx2zH8BpcM4ew==" } } } diff --git a/src/ogg-vorbis/package.json b/src/ogg-vorbis/package.json index 3227c0d..caad6c3 100644 --- a/src/ogg-vorbis/package.json +++ b/src/ogg-vorbis/package.json @@ -1,6 +1,6 @@ { "name": "@wasm-audio-decoders/ogg-vorbis", - "version": "0.1.6", + "version": "0.1.7", "description": "Web Assembly streaming Ogg Vorbis decoder", "type": "module", "main": "./index.js", @@ -50,6 +50,6 @@ }, "dependencies": { "@wasm-audio-decoders/common": "9.0.1", - "codec-parser": "2.4.1" + "codec-parser": "2.4.2" } } diff --git a/src/ogg-vorbis/src/OggVorbisDecoder.js b/src/ogg-vorbis/src/OggVorbisDecoder.js index 61b0c2b..a6e71ab 100644 --- a/src/ogg-vorbis/src/OggVorbisDecoder.js +++ b/src/ogg-vorbis/src/OggVorbisDecoder.js @@ -219,18 +219,18 @@ export default class OggVorbisDecoder { const oggPage = oggPages[i]; if (this._vorbisSetupInProgress) { - if (oggPage[pageSequenceNumber] === 0) { + if (oggPage[data][0] === 1) { this._decoder.sendSetupHeader(oggPage[data]); - } else if (oggPage[pageSequenceNumber] > 1) { - if (this._vorbisSetupInProgress) { - const headerData = oggPage[codecFrames][0][header]; + } + + if (oggPage[codecFrames].length) { + const headerData = oggPage[codecFrames][0][header]; - this._decoder.sendSetupHeader(headerData[vorbisComments]); - this._decoder.sendSetupHeader(headerData[vorbisSetup]); - this._decoder.initDsp(); + this._decoder.sendSetupHeader(headerData[vorbisComments]); + this._decoder.sendSetupHeader(headerData[vorbisSetup]); + this._decoder.initDsp(); - this._vorbisSetupInProgress = false; - } + this._vorbisSetupInProgress = false; } } diff --git a/test/data/ogg.vorbis.fishead.ogg b/test/data/ogg.vorbis.fishead.ogg new file mode 100644 index 0000000..79e2618 Binary files /dev/null and b/test/data/ogg.vorbis.fishead.ogg differ diff --git a/test/data/ogg.vorbis.packets.ogg b/test/data/ogg.vorbis.packets.ogg new file mode 100644 index 0000000..e5151b6 Binary files /dev/null and b/test/data/ogg.vorbis.packets.ogg differ diff --git a/test/expected/ogg.vorbis.fishead.ogg.wav.gz b/test/expected/ogg.vorbis.fishead.ogg.wav.gz new file mode 100644 index 0000000..ff7ef30 Binary files /dev/null and b/test/expected/ogg.vorbis.fishead.ogg.wav.gz differ diff --git a/test/expected/ogg.vorbis.packets.ogg.wav.gz b/test/expected/ogg.vorbis.packets.ogg.wav.gz new file mode 100644 index 0000000..e6da7c5 Binary files /dev/null and b/test/expected/ogg.vorbis.packets.ogg.wav.gz differ diff --git a/test/wasm-audio-decoders.test.js b/test/wasm-audio-decoders.test.js index ff70eed..0f89aef 100644 --- a/test/wasm-audio-decoders.test.js +++ b/test/wasm-audio-decoders.test.js @@ -255,6 +255,8 @@ describe("wasm-audio-decoders", () => { const oggVorbis64TestFile = "ogg.vorbis.64.ogg"; const oggVorbis255TestFile = "ogg.vorbis.255.ogg"; const oggVorbisChained2TestFile = "ogg.vorbis.chained2.ogg"; + const oggVorbisPacketsTestFile = "ogg.vorbis.packets.ogg"; + const oggVorbisFisheadTestFile = "ogg.vorbis.fishead.ogg"; const opusStereoTestFile = "ogg.opus"; const opusStereoErrorsTestFile = "ogg.errors.opus"; @@ -2272,6 +2274,48 @@ describe("wasm-audio-decoders", () => { expect(result.bitDepth).toEqual(16); expect(Buffer.compare(actual, expected)).toEqual(0); }); + + it("should decode vorbis with unusual packet structures", async () => { + const { paths, result } = await test_decode( + new OggVorbisDecoder(), + "decodeFile", + "should decode vorbis with unusual packet structures", + oggVorbisPacketsTestFile, + oggVorbisPacketsTestFile + ); + + const [actual, expected] = await Promise.all([ + fs.readFile(paths.actualPath), + fs.readFile(paths.expectedPath), + ]); + + expect(result.errors.length).toEqual(0); + expect(result.samplesDecoded).toEqual(229952); + expect(result.sampleRate).toEqual(44100); + expect(result.bitDepth).toEqual(16); + expect(Buffer.compare(actual, expected)).toEqual(0); + }); + + it("should decode vorbis with fishead metadata", async () => { + const { paths, result } = await test_decode( + new OggVorbisDecoder(), + "decodeFile", + "should decode vorbis with fishead metadata", + oggVorbisFisheadTestFile, + oggVorbisFisheadTestFile + ); + + const [actual, expected] = await Promise.all([ + fs.readFile(paths.actualPath), + fs.readFile(paths.expectedPath), + ]); + + expect(result.errors.length).toEqual(0); + expect(result.samplesDecoded).toEqual(3497536); + expect(result.sampleRate).toEqual(44100); + expect(result.bitDepth).toEqual(16); + expect(Buffer.compare(actual, expected)).toEqual(0); + }); }); describe("web worker", () => { @@ -2421,6 +2465,48 @@ describe("wasm-audio-decoders", () => { expect(result.bitDepth).toEqual(16); expect(Buffer.compare(actual, expected)).toEqual(0); }); + + it("should decode vorbis with unusual packet structures", async () => { + const { paths, result } = await test_decode( + new OggVorbisDecoderWebWorker(), + "decodeFile", + "should decode vorbis with unusual packet structures", + oggVorbisPacketsTestFile, + oggVorbisPacketsTestFile + ); + + const [actual, expected] = await Promise.all([ + fs.readFile(paths.actualPath), + fs.readFile(paths.expectedPath), + ]); + + expect(result.errors.length).toEqual(0); + expect(result.samplesDecoded).toEqual(229952); + expect(result.sampleRate).toEqual(44100); + expect(result.bitDepth).toEqual(16); + expect(Buffer.compare(actual, expected)).toEqual(0); + }); + + it("should decode vorbis with fishead metadata", async () => { + const { paths, result } = await test_decode( + new OggVorbisDecoder(), + "decodeFile", + "should decode vorbis with fishead metadata", + oggVorbisFisheadTestFile, + oggVorbisFisheadTestFile + ); + + const [actual, expected] = await Promise.all([ + fs.readFile(paths.actualPath), + fs.readFile(paths.expectedPath), + ]); + + expect(result.errors.length).toEqual(0); + expect(result.samplesDecoded).toEqual(3497536); + expect(result.sampleRate).toEqual(44100); + expect(result.bitDepth).toEqual(16); + expect(Buffer.compare(actual, expected)).toEqual(0); + }); }); }); });