UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

2 lines (1 loc) 8.95 kB
var U=Uint8Array,B=Uint16Array,ur=Int32Array,lr=new U([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),vr=new U([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),wr=new U([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sr=function(r,n){for(var e=new B(31),t=0;t<31;++t)e[t]=n+=1<<r[t-1];for(var a=new ur(e[30]),t=1;t<30;++t)for(var i=e[t];i<e[t+1];++i)a[i]=i-e[t]<<5|t;return{b:e,r:a}},Ur=Sr(lr,2),Gr=Ur.b,ar=Ur.r;Gr[28]=258,ar[258]=28;var Fr=Sr(vr,0),Kr=Fr.b,mr=Fr.r,or=new B(32768);for(c=0;c<32768;++c)N=(c&43690)>>1|(c&21845)<<1,N=(N&52428)>>2|(N&13107)<<2,N=(N&61680)>>4|(N&3855)<<4,or[c]=((N&65280)>>8|(N&255)<<8)>>1;var N,c,d=(function(r,n,e){for(var t=r.length,a=0,i=new B(n);a<t;++a)r[a]&&++i[r[a]-1];var s=new B(n);for(a=1;a<n;++a)s[a]=s[a-1]+i[a-1]<<1;var f;if(e){f=new B(1<<n);var v=15-n;for(a=0;a<t;++a)if(r[a])for(var h=a<<4|r[a],o=n-r[a],u=s[r[a]-1]++<<o,g=u|(1<<o)-1;u<=g;++u)f[or[u]>>v]=h}else for(f=new B(t),a=0;a<t;++a)r[a]&&(f[a]=or[s[r[a]-1]++]>>15-r[a]);return f}),W=new U(288);for(c=0;c<144;++c)W[c]=8;var c;for(c=144;c<256;++c)W[c]=9;var c;for(c=256;c<280;++c)W[c]=7;var c;for(c=280;c<288;++c)W[c]=8;var c,b=new U(32);for(c=0;c<32;++c)b[c]=5;var c,Or=d(W,9,0);var qr=d(b,5,0);var Tr=function(r){return(r+7)/8|0},Dr=function(r,n,e){return(n==null||n<0)&&(n=0),(e==null||e>r.length)&&(e=r.length),new U(r.subarray(n,e))};var Lr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],_=function(r,n,e){var t=new Error(n||Lr[r]);if(t.code=r,Error.captureStackTrace&&Error.captureStackTrace(t,_),!e)throw t;return t};var R=function(r,n,e){e<<=n&7;var t=n/8|0;r[t]|=e,r[t+1]|=e>>8},X=function(r,n,e){e<<=n&7;var t=n/8|0;r[t]|=e,r[t+1]|=e>>8,r[t+2]|=e>>16},ir=function(r,n){for(var e=[],t=0;t<r.length;++t)r[t]&&e.push({s:t,f:r[t]});var a=e.length,i=e.slice();if(!a)return{t:Ir,l:0};if(a==1){var s=new U(e[0].s+1);return s[e[0].s]=1,{t:s,l:1}}e.sort(function(T,D){return T.f-D.f}),e.push({s:-1,f:25001});var f=e[0],v=e[1],h=0,o=1,u=2;for(e[0]={s:-1,f:f.f+v.f,l:f,r:v};o!=a-1;)f=e[e[h].f<e[u].f?h++:u++],v=e[h!=o&&e[h].f<e[u].f?h++:u++],e[o++]={s:-1,f:f.f+v.f,l:f,r:v};for(var g=i[0].s,t=1;t<a;++t)i[t].s>g&&(g=i[t].s);var y=new B(g+1),m=sr(e[o-1],y,0);if(m>n){var t=0,w=0,F=m-n,q=1<<F;for(i.sort(function(D,x){return y[x.s]-y[D.s]||D.f-x.f});t<a;++t){var Z=i[t].s;if(y[Z]>n)w+=q-(1<<m-y[Z]),y[Z]=n;else break}for(w>>=F;w>0;){var L=i[t].s;y[L]<n?w-=1<<n-y[L]++-1:++t}for(;t>=0&&w;--t){var z=i[t].s;y[z]==n&&(--y[z],++w)}m=n}return{t:new U(y),l:m}},sr=function(r,n,e){return r.s==-1?Math.max(sr(r.l,n,e+1),sr(r.r,n,e+1)):n[r.s]=e},xr=function(r){for(var n=r.length;n&&!r[--n];);for(var e=new B(++n),t=0,a=r[0],i=1,s=function(v){e[t++]=v},f=1;f<=n;++f)if(r[f]==a&&f!=n)++i;else{if(!a&&i>2){for(;i>138;i-=138)s(32754);i>2&&(s(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(s(a),--i;i>6;i-=6)s(8304);i>2&&(s(i-3<<5|8208),i=0)}for(;i--;)s(a);i=1,a=r[f]}return{c:e.subarray(0,t),n}},k=function(r,n){for(var e=0,t=0;t<n.length;++t)e+=r[t]*n[t];return e},Cr=function(r,n,e){var t=e.length,a=Tr(n+2);r[a]=t&255,r[a+1]=t>>8,r[a+2]=r[a]^255,r[a+3]=r[a+1]^255;for(var i=0;i<t;++i)r[a+i+4]=e[i];return(a+4+t)*8},zr=function(r,n,e,t,a,i,s,f,v,h,o){R(n,o++,e),++a[256];for(var u=ir(a,15),g=u.t,y=u.l,m=ir(i,15),w=m.t,F=m.l,q=xr(g),Z=q.c,L=q.n,z=xr(w),T=z.c,D=z.n,x=new B(19),p=0;p<Z.length;++p)++x[Z[p]&31];for(var p=0;p<T.length;++p)++x[T[p]&31];for(var l=ir(x,7),C=l.t,Y=l.l,I=19;I>4&&!C[wr[I-1]];--I);var j=h+5<<3,E=k(a,W)+k(i,b)+s,G=k(a,g)+k(i,w)+s+14+3*I+k(x,C)+2*x[16]+3*x[17]+7*x[18];if(v>=0&&j<=E&&j<=G)return Cr(n,o,r.subarray(v,v+h));var P,A,O,V;if(R(n,o,1+(G<E)),o+=2,G<E){P=d(g,y,0),A=g,O=d(w,F,0),V=w;var rr=d(C,Y,0);R(n,o,L-257),R(n,o+5,D-1),R(n,o+10,I-4),o+=14;for(var p=0;p<I;++p)R(n,o+3*p,C[wr[p]]);o+=3*I;for(var $=[Z,T],Q=0;Q<2;++Q)for(var J=$[Q],p=0;p<J.length;++p){var H=J[p]&31;R(n,o,rr[H]),o+=C[H],H>15&&(R(n,o,J[p]>>5&127),o+=J[p]>>12)}}else P=Or,A=W,O=qr,V=b;for(var p=0;p<f;++p){var S=t[p];if(S>255){var H=S>>18&31;X(n,o,P[H+257]),o+=A[H+257],H>7&&(R(n,o,S>>23&31),o+=lr[H]);var K=S&31;X(n,o,O[K]),o+=V[K],K>3&&(X(n,o,S>>5&8191),o+=vr[K])}else X(n,o,P[S]),o+=A[S]}return X(n,o,P[256]),o+A[256]},Pr=new ur([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ir=new U(0),$r=function(r,n,e,t,a,i){var s=i.z||r.length,f=new U(t+s+5*(1+Math.ceil(s/7e3))+a),v=f.subarray(t,f.length-a),h=i.l,o=(i.r||0)&7;if(n){o&&(v[0]=i.r>>3);for(var u=Pr[n-1],g=u>>13,y=u&8191,m=(1<<e)-1,w=i.p||new B(32768),F=i.h||new B(m+1),q=Math.ceil(e/3),Z=2*q,L=function(er){return(r[er]^r[er+1]<<q^r[er+2]<<Z)&m},z=new ur(25e3),T=new B(288),D=new B(32),x=0,p=0,l=i.i||0,C=0,Y=i.w||0,I=0;l+2<s;++l){var j=L(l),E=l&32767,G=F[j];if(w[E]=G,F[j]=E,Y<=l){var P=s-l;if((x>7e3||C>24576)&&(P>423||!h)){o=zr(r,v,0,z,T,D,p,C,I,l-I,o),C=x=p=0,I=l;for(var A=0;A<286;++A)T[A]=0;for(var A=0;A<30;++A)D[A]=0}var O=2,V=0,rr=y,$=E-G&32767;if(P>2&&j==L(l-$))for(var Q=Math.min(g,P)-1,J=Math.min(32767,l),H=Math.min(258,P);$<=J&&--rr&&E!=G;){if(r[l+O]==r[l+O-$]){for(var S=0;S<H&&r[l+S]==r[l+S-$];++S);if(S>O){if(O=S,V=$,S>Q)break;for(var K=Math.min($,S-2),cr=0,A=0;A<K;++A){var nr=l-$+A&32767,Er=w[nr],pr=nr-Er&32767;pr>cr&&(cr=pr,G=nr)}}}E=G,G=w[E],$+=E-G&32767}if(V){z[C++]=268435456|ar[O]<<18|mr[V];var gr=ar[O]&31,yr=mr[V]&31;p+=lr[gr]+vr[yr],++T[257+gr],++D[yr],Y=l+O,++x}else z[C++]=r[l],++T[r[l]]}}for(l=Math.max(l,Y);l<s;++l)z[C++]=r[l],++T[r[l]];o=zr(r,v,h,z,T,D,p,C,I,l-I,o),h||(i.r=o&7|v[o/8|0]<<3,o-=7,i.h=F,i.p=w,i.i=l,i.w=Y)}else{for(var l=i.w||0;l<s+h;l+=65535){var tr=l+65535;tr>=s&&(v[o/8|0]=h,tr=s),o=Cr(v,o+1,r.subarray(l,tr))}i.i=s}return Dr(f,0,t+Tr(o)+a)},Hr=(function(){for(var r=new Int32Array(256),n=0;n<256;++n){for(var e=n,t=9;--t;)e=(e&1&&-306674912)^e>>>1;r[n]=e}return r})(),Nr=function(){var r=-1;return{p:function(n){for(var e=r,t=0;t<n.length;++t)e=Hr[e&255^n[t]]^e>>>8;r=e},d:function(){return~r}}};var Rr=function(r,n,e,t,a){if(!a&&(a={l:1},n.dictionary)){var i=n.dictionary.subarray(-32768),s=new U(i.length+r.length);s.set(i),s.set(r,i.length),r=s,a.w=i.length}return $r(r,n.level==null?6:n.level,n.mem==null?a.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+n.mem,e,t,a)},Br=function(r,n){var e={};for(var t in r)e[t]=r[t];for(var t in n)e[t]=n[t];return e};var M=function(r,n,e){for(;e;++n)r[n]=e,e>>>=8};function Vr(r,n){return Rr(r,n||{},0,0)}var Zr=function(r,n,e,t){for(var a in r){var i=r[a],s=n+a,f=t;Array.isArray(i)&&(f=Br(t,i[1]),i=i[0]),ArrayBuffer.isView(i)?e[s]=[i,f]:(e[s+="/"]=[new U(0),f],Zr(i,s,e,t))}},Ar=typeof TextEncoder<"u"&&new TextEncoder,Wr=typeof TextDecoder<"u"&&new TextDecoder,Yr=0;try{Wr.decode(Ir,{stream:!0}),Yr=1}catch{}function fr(r,n){if(n){for(var e=new U(r.length),t=0;t<r.length;++t)e[t]=r.charCodeAt(t);return e}if(Ar)return Ar.encode(r);for(var a=r.length,i=new U(r.length+(r.length>>1)),s=0,f=function(o){i[s++]=o},t=0;t<a;++t){if(s+5>i.length){var v=new U(s+8+(a-t<<1));v.set(i),i=v}var h=r.charCodeAt(t);h<128||n?f(h):h<2048?(f(192|h>>6),f(128|h&63)):h>55295&&h<57344?(h=65536+(h&1047552)|r.charCodeAt(++t)&1023,f(240|h>>18),f(128|h>>12&63),f(128|h>>6&63),f(128|h&63)):(f(224|h>>12),f(128|h>>6&63),f(128|h&63))}return Dr(i,0,s)}var hr=function(r){var n=0;if(r)for(var e in r){var t=r[e].length;t>65535&&_(9),n+=t+4}return n},Mr=function(r,n,e,t,a,i,s,f){var v=t.length,h=e.extra,o=f&&f.length,u=hr(h);M(r,n,s!=null?33639248:67324752),n+=4,s!=null&&(r[n++]=20,r[n++]=e.os),r[n]=20,n+=2,r[n++]=e.flag<<1|(i<0&&8),r[n++]=a&&8,r[n++]=e.compression&255,r[n++]=e.compression>>8;var g=new Date(e.mtime==null?Date.now():e.mtime),y=g.getFullYear()-1980;if((y<0||y>119)&&_(10),M(r,n,y<<25|g.getMonth()+1<<21|g.getDate()<<16|g.getHours()<<11|g.getMinutes()<<5|g.getSeconds()>>1),n+=4,i!=-1&&(M(r,n,e.crc),M(r,n+4,i<0?-i-2:i),M(r,n+8,e.size)),M(r,n+12,v),M(r,n+14,u),n+=16,s!=null&&(M(r,n,o),M(r,n+6,e.attrs),M(r,n+10,s),n+=14),r.set(t,n),n+=v,u)for(var m in h){var w=h[m],F=w.length;M(r,n,+m),M(r,n+2,F),r.set(w,n+4),n+=4+F}return o&&(r.set(f,n),n+=o),n},jr=function(r,n,e,t,a){M(r,n,101010256),M(r,n+8,e),M(r,n+10,e),M(r,n+12,t),M(r,n+16,a)};function Jr(r,n){n||(n={});var e={},t=[];Zr(r,"",e,n);var a=0,i=0;for(var s in e){var f=e[s],v=f[0],h=f[1],o=h.level==0?0:8,u=fr(s),g=u.length,y=h.comment,m=y&&fr(y),w=m&&m.length,F=hr(h.extra);g>65535&&_(11);var q=o?Vr(v,h):v,Z=q.length,L=Nr();L.p(v),t.push(Br(h,{size:v.length,crc:L.d(),c:q,f:u,m,u:g!=s.length||m&&y.length!=w,o:a,compression:o})),a+=30+g+F+Z,i+=76+2*(g+F)+(w||0)+Z}for(var z=new U(i+22),T=a,D=i-a,x=0;x<t.length;++x){var u=t[x];Mr(z,u.o,u,u.f,u.u,u.c.length);var p=30+u.f.length+hr(u.extra);z.set(u.c,u.o+p),Mr(z,a,u,u.f,u.u,u.c.length,u.o,u.m),a+=16+p+(u.m?u.m.length:0)}return jr(z,a,t.length,D,T),z}export{fr as strToU8,Jr as zipSync};