UNPKG

excelize-wasm

Version:

A pure WebAssembly / Javascript port of Go Excelize library that allow you to write to and read from XLAM / XLSM / XLSX / XLTM / XLTX files

2 lines (1 loc) 26.6 kB
var excelizeWASM=function(e){"use strict";function t(e){let t=e.length;for(;--t>=0;)e[t]=0}t(new Array(576)),t(new Array(60)),t(new Array(512)),t(new Array(256)),t(new Array(29)),t(new Array(30));var s=(e,t,s,i)=>{let n=65535&e,a=e>>>16&65535,r=0;for(;0!==s;){r=s>2e3?2e3:s,s-=r;do{n=n+t[i++]|0,a=a+n|0}while(--r);n%=65521,a%=65521}return n|a<<16},i=new Uint32Array((()=>{let e,t=[];for(var s=0;s<256;s++){e=s;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t})()),n=(e,t,s,n)=>{const a=i,r=n+s;e^=-1;for(let s=n;s<r;s++)e=e>>>8^a[255&(e^t[s])];return-1^e},a={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},r=16209;function o(e,t){let s,i,n,a,o,l,h,c,d,f,m,u,w,b,g,k,p,v,_,y,x,T,U,A;const E=e.state;s=e.next_in,U=e.input,i=s+(e.avail_in-5),n=e.next_out,A=e.output,a=n-(t-e.avail_out),o=n+(e.avail_out-257),l=E.dmax,h=E.wsize,c=E.whave,d=E.wnext,f=E.window,m=E.hold,u=E.bits,w=E.lencode,b=E.distcode,g=(1<<E.lenbits)-1,k=(1<<E.distbits)-1;e:do{u<15&&(m+=U[s++]<<u,u+=8,m+=U[s++]<<u,u+=8),p=w[m&g];t:for(;;){if(v=p>>>24,m>>>=v,u-=v,v=p>>>16&255,0===v)A[n++]=65535&p;else{if(!(16&v)){if(64&v){if(32&v){E.mode=16191;break e}e.msg="invalid literal/length code",E.mode=r;break e}p=w[(65535&p)+(m&(1<<v)-1)];continue t}for(_=65535&p,v&=15,v&&(u<v&&(m+=U[s++]<<u,u+=8),_+=m&(1<<v)-1,m>>>=v,u-=v),u<15&&(m+=U[s++]<<u,u+=8,m+=U[s++]<<u,u+=8),p=b[m&k];;){if(v=p>>>24,m>>>=v,u-=v,v=p>>>16&255,16&v){if(y=65535&p,v&=15,u<v&&(m+=U[s++]<<u,u+=8,u<v&&(m+=U[s++]<<u,u+=8)),y+=m&(1<<v)-1,y>l){e.msg="invalid distance too far back",E.mode=r;break e}if(m>>>=v,u-=v,v=n-a,y>v){if(v=y-v,v>c&&E.sane){e.msg="invalid distance too far back",E.mode=r;break e}if(x=0,T=f,0===d){if(x+=h-v,v<_){_-=v;do{A[n++]=f[x++]}while(--v);x=n-y,T=A}}else if(d<v){if(x+=h+d-v,v-=d,v<_){_-=v;do{A[n++]=f[x++]}while(--v);if(x=0,d<_){v=d,_-=v;do{A[n++]=f[x++]}while(--v);x=n-y,T=A}}}else if(x+=d-v,v<_){_-=v;do{A[n++]=f[x++]}while(--v);x=n-y,T=A}for(;_>2;)A[n++]=T[x++],A[n++]=T[x++],A[n++]=T[x++],_-=3;_&&(A[n++]=T[x++],_>1&&(A[n++]=T[x++]))}else{x=n-y;do{A[n++]=A[x++],A[n++]=A[x++],A[n++]=A[x++],_-=3}while(_>2);_&&(A[n++]=A[x++],_>1&&(A[n++]=A[x++]))}break}if(64&v){e.msg="invalid distance code",E.mode=r;break e}p=b[(65535&p)+(m&(1<<v)-1)]}}break}}while(s<i&&n<o);_=u>>3,s-=_,u-=_<<3,m&=(1<<u)-1,e.next_in=s,e.next_out=n,e.avail_in=s<i?i-s+5:5-(s-i),e.avail_out=n<o?o-n+257:257-(n-o),E.hold=m,E.bits=u}var l,h,c=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),d=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,199,75]),f=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),m=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),u=(e,t,s,i,n,a,r,o)=>{const l=o.bits;let h,u,w,b,g,k,p=0,v=0,_=0,y=0,x=0,T=0,U=0,A=0,E=0,j=0,R=null;const S=new Uint16Array(16),I=new Uint16Array(16);let z,B,C,D=null;for(p=0;p<=15;p++)S[p]=0;for(v=0;v<i;v++)S[t[s+v]]++;for(x=l,y=15;y>=1&&0===S[y];y--);if(x>y&&(x=y),0===y)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(_=1;_<y&&0===S[_];_++);for(x<_&&(x=_),A=1,p=1;p<=15;p++)if(A<<=1,A-=S[p],A<0)return-1;if(A>0&&(0===e||1!==y))return-1;for(I[1]=0,p=1;p<15;p++)I[p+1]=I[p]+S[p];for(v=0;v<i;v++)0!==t[s+v]&&(r[I[t[s+v]]++]=v);if(0===e?(R=D=r,k=20):1===e?(R=c,D=d,k=257):(R=f,D=m,k=0),j=0,v=0,p=_,g=a,T=x,U=0,w=-1,E=1<<x,b=E-1,1===e&&E>852||2===e&&E>592)return 1;for(;;){z=p-U,r[v]+1<k?(B=0,C=r[v]):r[v]>=k?(B=D[r[v]-k],C=R[r[v]-k]):(B=96,C=0),h=1<<p-U,u=1<<T,_=u;do{u-=h,n[g+(j>>U)+u]=z<<24|B<<16|C}while(0!==u);for(h=1<<p-1;j&h;)h>>=1;if(0!==h?(j&=h-1,j+=h):j=0,v++,0===--S[p]){if(p===y)break;p=t[s+r[v]]}if(p>x&&(j&b)!==w){for(0===U&&(U=x),g+=_,T=p-U,A=1<<T;T+U<y&&(A-=S[T+U],!(A<=0));)T++,A<<=1;if(E+=1<<T,1===e&&E>852||2===e&&E>592)return 1;w=j&b,n[w]=x<<24|T<<16|g-a}}return 0!==j&&(n[g+j]=p-U<<24|4194304),o.bits=x,0},w=16180,b=16190,g=16191,k=16192,p=16194,v=16199,_=16200,y=16206,x=16209,T=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24),U=class{constructor(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}},A=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<w||t.mode>16211?1:0},E=e=>{if(A(e))return-2;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,(e=>{if(A(e))return-2;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=w,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,0})(e)},j=(e,t)=>{if(!e)return-2;const s=new U;e.state=s,s.strm=e,s.window=null,s.mode=w;const i=((e,t)=>{let s;if(A(e))return-2;const i=e.state;return t<0?(s=0,t=-t):(s=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?-2:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=s,i.wbits=t,E(e))})(e,t);return 0!==i&&(e.state=null),i},R=!0,S=e=>{if(R){l=new Int32Array(512),h=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(u(1,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;u(2,e.lens,0,32,h,0,e.work,{bits:5}),R=!1}e.lencode=l,e.lenbits=9,e.distcode=h,e.distbits=5},I=(e,t,s,i)=>{let n;const a=e.state;return null===a.window&&(a.window=new Uint8Array(1<<a.wbits)),0===a.wsize&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0),i>=a.wsize?(a.window.set(t.subarray(s-a.wsize,s),0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),a.window.set(t.subarray(s-i,s-i+n),a.wnext),(i-=n)?(a.window.set(t.subarray(s-i,s),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0},z=(e,t)=>{let i,a,r,l,h,c,d,f,m,U,E,j,R,z,B,C,D,O,P,N,V,W,F=0;const G=new Uint8Array(4);let M,q;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(A(e)||!e.output||!e.input&&0!==e.avail_in)return-2;i=e.state,i.mode===g&&(i.mode=k),h=e.next_out,r=e.output,d=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,f=i.hold,m=i.bits,U=c,E=d,W=0;e:for(;;)switch(i.mode){case w:if(0===i.wrap){i.mode=k;break}for(;m<16;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(2&i.wrap&&35615===f){0===i.wbits&&(i.wbits=15),i.check=0,G[0]=255&f,G[1]=f>>>8&255,i.check=n(i.check,G,2,0),f=0,m=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&f)<<8)+(f>>8))%31){e.msg="incorrect header check",i.mode=x;break}if(8!=(15&f)){e.msg="unknown compression method",i.mode=x;break}if(f>>>=4,m-=4,V=8+(15&f),0===i.wbits&&(i.wbits=V),V>15||V>i.wbits){e.msg="invalid window size",i.mode=x;break}i.dmax=1<<i.wbits,i.flags=0,e.adler=i.check=1,i.mode=512&f?16189:g,f=0,m=0;break;case 16181:for(;m<16;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(i.flags=f,8!=(255&i.flags)){e.msg="unknown compression method",i.mode=x;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=x;break}i.head&&(i.head.text=f>>8&1),512&i.flags&&4&i.wrap&&(G[0]=255&f,G[1]=f>>>8&255,i.check=n(i.check,G,2,0)),f=0,m=0,i.mode=16182;case 16182:for(;m<32;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.head&&(i.head.time=f),512&i.flags&&4&i.wrap&&(G[0]=255&f,G[1]=f>>>8&255,G[2]=f>>>16&255,G[3]=f>>>24&255,i.check=n(i.check,G,4,0)),f=0,m=0,i.mode=16183;case 16183:for(;m<16;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.head&&(i.head.xflags=255&f,i.head.os=f>>8),512&i.flags&&4&i.wrap&&(G[0]=255&f,G[1]=f>>>8&255,i.check=n(i.check,G,2,0)),f=0,m=0,i.mode=16184;case 16184:if(1024&i.flags){for(;m<16;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.length=f,i.head&&(i.head.extra_len=f),512&i.flags&&4&i.wrap&&(G[0]=255&f,G[1]=f>>>8&255,i.check=n(i.check,G,2,0)),f=0,m=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(j=i.length,j>c&&(j=c),j&&(i.head&&(V=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(a.subarray(l,l+j),V)),512&i.flags&&4&i.wrap&&(i.check=n(i.check,a,j,l)),c-=j,l+=j,i.length-=j),i.length))break e;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===c)break e;j=0;do{V=a[l+j++],i.head&&V&&i.length<65536&&(i.head.name+=String.fromCharCode(V))}while(V&&j<c);if(512&i.flags&&4&i.wrap&&(i.check=n(i.check,a,j,l)),c-=j,l+=j,V)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=16187;case 16187:if(4096&i.flags){if(0===c)break e;j=0;do{V=a[l+j++],i.head&&V&&i.length<65536&&(i.head.comment+=String.fromCharCode(V))}while(V&&j<c);if(512&i.flags&&4&i.wrap&&(i.check=n(i.check,a,j,l)),c-=j,l+=j,V)break e}else i.head&&(i.head.comment=null);i.mode=16188;case 16188:if(512&i.flags){for(;m<16;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(4&i.wrap&&f!==(65535&i.check)){e.msg="header crc mismatch",i.mode=x;break}f=0,m=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=g;break;case 16189:for(;m<32;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}e.adler=i.check=T(f),f=0,m=0,i.mode=b;case b:if(0===i.havedict)return e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,i.hold=f,i.bits=m,2;e.adler=i.check=1,i.mode=g;case g:if(5===t||6===t)break e;case k:if(i.last){f>>>=7&m,m-=7&m,i.mode=y;break}for(;m<3;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}switch(i.last=1&f,f>>>=1,m-=1,3&f){case 0:i.mode=16193;break;case 1:if(S(i),i.mode=v,6===t){f>>>=2,m-=2;break e}break;case 2:i.mode=16196;break;case 3:e.msg="invalid block type",i.mode=x}f>>>=2,m-=2;break;case 16193:for(f>>>=7&m,m-=7&m;m<32;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if((65535&f)!=(f>>>16^65535)){e.msg="invalid stored block lengths",i.mode=x;break}if(i.length=65535&f,f=0,m=0,i.mode=p,6===t)break e;case p:i.mode=16195;case 16195:if(j=i.length,j){if(j>c&&(j=c),j>d&&(j=d),0===j)break e;r.set(a.subarray(l,l+j),h),c-=j,l+=j,d-=j,h+=j,i.length-=j;break}i.mode=g;break;case 16196:for(;m<14;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(i.nlen=257+(31&f),f>>>=5,m-=5,i.ndist=1+(31&f),f>>>=5,m-=5,i.ncode=4+(15&f),f>>>=4,m-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=x;break}i.have=0,i.mode=16197;case 16197:for(;i.have<i.ncode;){for(;m<3;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.lens[L[i.have++]]=7&f,f>>>=3,m-=3}for(;i.have<19;)i.lens[L[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,M={bits:i.lenbits},W=u(0,i.lens,0,19,i.lencode,0,i.work,M),i.lenbits=M.bits,W){e.msg="invalid code lengths set",i.mode=x;break}i.have=0,i.mode=16198;case 16198:for(;i.have<i.nlen+i.ndist;){for(;F=i.lencode[f&(1<<i.lenbits)-1],B=F>>>24,C=F>>>16&255,D=65535&F,!(B<=m);){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(D<16)f>>>=B,m-=B,i.lens[i.have++]=D;else{if(16===D){for(q=B+2;m<q;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(f>>>=B,m-=B,0===i.have){e.msg="invalid bit length repeat",i.mode=x;break}V=i.lens[i.have-1],j=3+(3&f),f>>>=2,m-=2}else if(17===D){for(q=B+3;m<q;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}f>>>=B,m-=B,V=0,j=3+(7&f),f>>>=3,m-=3}else{for(q=B+7;m<q;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}f>>>=B,m-=B,V=0,j=11+(127&f),f>>>=7,m-=7}if(i.have+j>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=x;break}for(;j--;)i.lens[i.have++]=V}}if(i.mode===x)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=x;break}if(i.lenbits=9,M={bits:i.lenbits},W=u(1,i.lens,0,i.nlen,i.lencode,0,i.work,M),i.lenbits=M.bits,W){e.msg="invalid literal/lengths set",i.mode=x;break}if(i.distbits=6,i.distcode=i.distdyn,M={bits:i.distbits},W=u(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,M),i.distbits=M.bits,W){e.msg="invalid distances set",i.mode=x;break}if(i.mode=v,6===t)break e;case v:i.mode=_;case _:if(c>=6&&d>=258){e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,i.hold=f,i.bits=m,o(e,E),h=e.next_out,r=e.output,d=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,f=i.hold,m=i.bits,i.mode===g&&(i.back=-1);break}for(i.back=0;F=i.lencode[f&(1<<i.lenbits)-1],B=F>>>24,C=F>>>16&255,D=65535&F,!(B<=m);){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(C&&!(240&C)){for(O=B,P=C,N=D;F=i.lencode[N+((f&(1<<O+P)-1)>>O)],B=F>>>24,C=F>>>16&255,D=65535&F,!(O+B<=m);){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}f>>>=O,m-=O,i.back+=O}if(f>>>=B,m-=B,i.back+=B,i.length=D,0===C){i.mode=16205;break}if(32&C){i.back=-1,i.mode=g;break}if(64&C){e.msg="invalid literal/length code",i.mode=x;break}i.extra=15&C,i.mode=16201;case 16201:if(i.extra){for(q=i.extra;m<q;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.length+=f&(1<<i.extra)-1,f>>>=i.extra,m-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;F=i.distcode[f&(1<<i.distbits)-1],B=F>>>24,C=F>>>16&255,D=65535&F,!(B<=m);){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(!(240&C)){for(O=B,P=C,N=D;F=i.distcode[N+((f&(1<<O+P)-1)>>O)],B=F>>>24,C=F>>>16&255,D=65535&F,!(O+B<=m);){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}f>>>=O,m-=O,i.back+=O}if(f>>>=B,m-=B,i.back+=B,64&C){e.msg="invalid distance code",i.mode=x;break}i.offset=D,i.extra=15&C,i.mode=16203;case 16203:if(i.extra){for(q=i.extra;m<q;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}i.offset+=f&(1<<i.extra)-1,f>>>=i.extra,m-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=x;break}i.mode=16204;case 16204:if(0===d)break e;if(j=E-d,i.offset>j){if(j=i.offset-j,j>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=x;break}j>i.wnext?(j-=i.wnext,R=i.wsize-j):R=i.wnext-j,j>i.length&&(j=i.length),z=i.window}else z=r,R=h-i.offset,j=i.length;j>d&&(j=d),d-=j,i.length-=j;do{r[h++]=z[R++]}while(--j);0===i.length&&(i.mode=_);break;case 16205:if(0===d)break e;r[h++]=i.length,d--,i.mode=_;break;case y:if(i.wrap){for(;m<32;){if(0===c)break e;c--,f|=a[l++]<<m,m+=8}if(E-=d,e.total_out+=E,i.total+=E,4&i.wrap&&E&&(e.adler=i.check=i.flags?n(i.check,r,E,h-E):s(i.check,r,E,h-E)),E=d,4&i.wrap&&(i.flags?f:T(f))!==i.check){e.msg="incorrect data check",i.mode=x;break}f=0,m=0}i.mode=16207;case 16207:if(i.wrap&&i.flags){for(;m<32;){if(0===c)break e;c--,f+=a[l++]<<m,m+=8}if(4&i.wrap&&f!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=x;break}f=0,m=0}i.mode=16208;case 16208:W=1;break e;case x:W=-3;break e;case 16210:return-4;default:return-2}return e.next_out=h,e.avail_out=d,e.next_in=l,e.avail_in=c,i.hold=f,i.bits=m,(i.wsize||E!==e.avail_out&&i.mode<x&&(i.mode<y||4!==t))&&I(e,e.output,e.next_out,E-e.avail_out),U-=e.avail_in,E-=e.avail_out,e.total_in+=U,e.total_out+=E,i.total+=E,4&i.wrap&&E&&(e.adler=i.check=i.flags?n(i.check,r,E,e.next_out-E):s(i.check,r,E,e.next_out-E)),e.data_type=i.bits+(i.last?64:0)+(i.mode===g?128:0)+(i.mode===v||i.mode===p?256:0),(0===U&&0===E||4===t)&&0===W&&(W=-5),W},B=e=>{if(A(e))return-2;let t=e.state;return t.window&&(t.window=null),e.state=null,0},C=(e,t)=>{const i=t.length;let n,a,r;return A(e)?-2:(n=e.state,0!==n.wrap&&n.mode!==b?-2:n.mode===b&&(a=1,a=s(a,t,i,0),a!==n.check)?-3:(r=I(e,t,i,i),r?(n.mode=16210,-4):(n.havedict=1,0)))},D=class{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},O=Object.prototype.toString,P={chunkSize:65536,windowBits:15,raw:!1,dictionary:new Uint8Array(0)},N=class{options;err;msg;ended;started;chunks;strm;result;constructor(e={}){this.options=Object.assign({},P,e);const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!e.windowBits&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array(0),this.strm=new D,this.strm.avail_out=0;let s=j(this.strm,t.windowBits);if(0!==s)throw new Error(a[s]);"[object ArrayBuffer]"===O.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary));const i=t.dictionary;if(t.raw&&i.length&&(s=C(this.strm,i),0!==s))throw new Error(a[s])}push(e,t=!1){const s=this.strm,i=this.options.chunkSize;let n,r,o;if(this.ended)return 0===this.err;for(r="number"==typeof t?t:!0===t?4:0,"[object ArrayBuffer]"===O.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length,this.started||(this.started=!0,this.onStart(s));;){if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),n=z(s,r),2===n){const e=this.options.dictionary;e.length&&(n=C(s,e),0===n?n=z(s,r):-3===n&&(n=2))}for(;s.avail_in>0&&1===n&&2&s.state.wrap&&0!==s.state.flags&&0!==s.input[s.next_in];)E(s),n=z(s,r);if(-2===n||-3===n||2===n||-4===n)break;if(o=s.avail_out,s.next_out&&(0===s.avail_out||1===n||r>0)&&(this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out)),s.avail_out=0,s.next_out=0),0!==n&&-5!==n||0!==o){if(1===n){n=B(this.strm);break}if(0===s.avail_in){if(4===r){n=B(this.strm),0===n&&(n=-5);break}return!0}}}return this.err=n,this.msg=s.msg||a[n],this.ended=!0,this.onEnd(n),0===n}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){0===e&&(this.result=(e=>{const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let s=0;for(const i of e)t.set(i,s),s+=i.length;return t})(this.chunks)),this.chunks=[]}};function V(e,t={}){const s=new N(t);if(s.push(e,!0),s.err)throw new Error(s.msg);const i=s.result;return t.toText?(new TextDecoder).decode(i):i}const W="undefined"!=typeof process&&process.versions&&process.versions.node,F=e=>Function("m","return import(m)")(e);return W&&void 0===globalThis.navigator&&(!globalThis.crypto&&(globalThis.crypto={async getRandomValues(e){const t=await F("node:crypto").catch(()=>F("crypto")),{randomFillSync:s}=t;s(e)}}),!globalThis.performance&&(globalThis.performance={now(){const[e,t]=process.hrtime();return 1e3*e+t/1e6}})),(()=>{const e=()=>{const e=new Error("not implemented");return e.code="ENOSYS",e};if(!globalThis.fs){let t="";globalThis.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1,O_DIRECTORY:-1},writeSync(e,i){t+=s.decode(i);const n=t.lastIndexOf("\n");return-1!=n&&(t=t.substring(n+1)),i.length},write(t,s,i,n,a,r){if(0!==i||n!==s.length||null!==a)return void r(e());r(null,this.writeSync(t,s))},chmod(t,s,i){i(e())},chown(t,s,i,n){n(e())},close(t,s){s(e())},fchmod(t,s,i){i(e())},fchown(t,s,i,n){n(e())},fstat(t,s){s(e())},fsync(e,t){t(null)},ftruncate(t,s,i){i(e())},lchown(t,s,i,n){n(e())},link(t,s,i){i(e())},lstat(t,s){s(e())},mkdir(t,s,i){i(e())},open(t,s,i,n){n(e())},read(t,s,i,n,a,r){r(e())},readdir(t,s){s(e())},readlink(t,s){s(e())},rename(t,s,i){i(e())},rmdir(t,s){s(e())},stat(t,s){s(e())},symlink(t,s,i){i(e())},truncate(t,s,i){i(e())},unlink(t,s){s(e())},utimes(t,s,i,n){n(e())}}}if(globalThis.process||(globalThis.process={getuid:()=>-1,getgid:()=>-1,geteuid:()=>-1,getegid:()=>-1,getgroups(){throw e()},pid:-1,ppid:-1,umask(){throw e()},cwd(){throw e()},chdir(){throw e()}}),globalThis.path||(globalThis.path={resolve:(...e)=>e.join("/")}),!globalThis.crypto)throw new Error("globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)");if(!globalThis.performance)throw new Error("globalThis.performance is not available, polyfill required (performance.now only)");if(!globalThis.TextEncoder)throw new Error("globalThis.TextEncoder is not available, polyfill required");if(!globalThis.TextDecoder)throw new Error("globalThis.TextDecoder is not available, polyfill required");const t=new TextEncoder("utf-8"),s=new TextDecoder("utf-8");globalThis.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{0!==e&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;const e=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},i=e=>this.mem.getUint32(e+0,!0)+4294967296*this.mem.getInt32(e+4,!0),n=e=>{const t=this.mem.getFloat64(e,!0);if(0===t)return;if(!isNaN(t))return t;const s=this.mem.getUint32(e,!0);return this._values[s]},a=(e,t)=>{const s=2146959360;if("number"==typeof t&&0!==t)return isNaN(t)?(this.mem.setUint32(e+4,s,!0),void this.mem.setUint32(e,0,!0)):void this.mem.setFloat64(e,t,!0);if(void 0===t)return void this.mem.setFloat64(e,0,!0);let i=this._ids.get(t);void 0===i&&(i=this._idPool.pop(),void 0===i&&(i=this._values.length),this._values[i]=t,this._goRefCounts[i]=0,this._ids.set(t,i)),this._goRefCounts[i]++;let n=0;switch(typeof t){case"object":null!==t&&(n=1);break;case"string":n=2;break;case"symbol":n=3;break;case"function":n=4}this.mem.setUint32(e+4,s|n,!0),this.mem.setUint32(e,i,!0)},r=e=>{const t=i(e+0),s=i(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,s)},o=e=>{const t=i(e+0),s=i(e+8),a=new Array(s);for(let e=0;e<s;e++)a[e]=n(t+8*e);return a},l=e=>{const t=i(e+0),n=i(e+8);return s.decode(new DataView(this._inst.exports.mem.buffer,t,n))},h=Date.now()-performance.now();this.importObject={_gotest:{add:(e,t)=>e+t,callExport:(e,t)=>(this._inst.exports.testExport0(),this._inst.exports.testExport(e,t))},gojs:{"runtime.wasmExit":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{const t=i((e>>>=0)+8),s=i(e+16),n=this.mem.getInt32(e+24,!0);fs.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,s,n))},"runtime.resetMemoryDataView":e=>{this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":t=>{e((t>>>=0)+8,1e6*(h+performance.now()))},"runtime.walltime":t=>{t>>>=0;const s=(new Date).getTime();e(t+8,s/1e3),this.mem.setInt32(t+16,s%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;const t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},i(e+8))),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,crypto.getRandomValues(r(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;const t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,0===this._goRefCounts[t]){const e=this._values[t];this._values[t]=null,this._ids.delete(e),this._idPool.push(t)}},"syscall/js.stringVal":e=>{a((e>>>=0)+24,l(e+8))},"syscall/js.valueGet":e=>{e>>>=0;const t=Reflect.get(n(e+8),l(e+16));e=this._inst.exports.getsp()>>>0,a(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(n(e+8),l(e+16),n(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(n(e+8),l(e+16))},"syscall/js.valueIndex":e=>{a((e>>>=0)+24,Reflect.get(n(e+8),i(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(n(e+8),i(e+16),n(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{const t=n(e+8),s=Reflect.get(t,l(e+16)),i=o(e+32),r=Reflect.apply(s,t,i);e=this._inst.exports.getsp()>>>0,a(e+56,r),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{const t=n(e+8),s=o(e+16),i=Reflect.apply(t,void 0,s);e=this._inst.exports.getsp()>>>0,a(e+40,i),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{const t=n(e+8),s=o(e+16),i=Reflect.construct(t,s);e=this._inst.exports.getsp()>>>0,a(e+40,i),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,a(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":t=>{e((t>>>=0)+16,parseInt(n(t+8).length))},"syscall/js.valuePrepareString":s=>{s>>>=0;const i=t.encode(String(n(s+8)));a(s+16,i),e(s+24,i.length)},"syscall/js.valueLoadString":e=>{const t=n((e>>>=0)+8);r(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,n(e+8)instanceof n(e+16)?1:0)},"syscall/js.copyBytesToGo":t=>{const s=r((t>>>=0)+8),i=n(t+32);if(!(i instanceof Uint8Array||i instanceof Uint8ClampedArray))return void this.mem.setUint8(t+48,0);const a=i.subarray(0,s.length);s.set(a),e(t+40,a.length),this.mem.setUint8(t+48,1)},"syscall/js.copyBytesToJS":t=>{const s=n((t>>>=0)+8),i=r(t+16);if(!(s instanceof Uint8Array||s instanceof Uint8ClampedArray))return void this.mem.setUint8(t+48,0);const a=i.subarray(0,s.length);s.set(a),e(t+40,a.length),this.mem.setUint8(t+48,1)},debug:e=>{console.log(e)}}}}async run(e){if(!(e instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=e,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,globalThis,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[globalThis,5],[this,6]]),this._idPool=[],this.exited=!1;let s=4096;const i=e=>{const i=s,n=t.encode(e+"\0");return new Uint8Array(this.mem.buffer,s,n.length).set(n),s+=n.length,s%8!=0&&(s+=8-s%8),i},n=this.argv.length,a=[];this.argv.forEach(e=>{a.push(i(e))}),a.push(0);Object.keys(this.env).sort().forEach(e=>{a.push(i(`${e}=${this.env[e]}`))}),a.push(0);const r=s;a.forEach(e=>{this.mem.setUint32(s,e,!0),this.mem.setUint32(s+4,0,!0),s+=8});if(s>=12288)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(n,r),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(e){const t=this;return function(){const s={id:e,this:this,args:arguments};return t._pendingEvent=s,t._resume(),s.result}}}})(),e.init=async function(e){const t=new Go;let s;if(globalThis.excelize={},W){const t=await F("node:fs").catch(()=>F("fs"));s=V((t.default||t).readFileSync(e))}else s=V(await(await fetch(e)).arrayBuffer());31===s[0]&&139===s[1]&&(s=V(s));const i=await WebAssembly.instantiate(s,t.importObject);return t.run(i.instance),excelize},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),e}({});