UNPKG

sixel

Version:

Sixel image format for node and browser.

2 lines 53.7 kB
/*! For license information please see full.umd.js.LICENSE.txt */ !function(A,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.sixel=t():A.sixel=t()}(self,(()=>(()=>{var A={277:A=>{var t,e,i;A.exports=UPNG={},UPNG.toRGBA8=function(A){var t=A.width,e=A.height;if(null==A.tabs.acTL)return[UPNG.toRGBA8.decodeImage(A.data,t,e,A).buffer];var i=[];null==A.frames[0].data&&(A.frames[0].data=A.data);for(var g=t*e*4,r=new Uint8Array(g),n=new Uint8Array(g),I=new Uint8Array(g),Q=0;Q<A.frames.length;Q++){var a=A.frames[Q],B=a.rect.x,s=a.rect.y,C=a.rect.width,o=a.rect.height,h=UPNG.toRGBA8.decodeImage(a.data,C,o,A);if(0!=Q)for(var E=0;E<g;E++)I[E]=r[E];if(0==a.blend?UPNG._copyTile(h,C,o,r,t,e,B,s,0):1==a.blend&&UPNG._copyTile(h,C,o,r,t,e,B,s,1),i.push(r.buffer.slice(0)),0==a.dispose);else if(1==a.dispose)UPNG._copyTile(n,C,o,r,t,e,B,s,0);else if(2==a.dispose)for(E=0;E<g;E++)r[E]=I[E]}return i},UPNG.toRGBA8.decodeImage=function(A,t,e,i){var g=t*e,r=UPNG.decode._getBPP(i),n=Math.ceil(t*r/8),I=new Uint8Array(4*g),Q=new Uint32Array(I.buffer),a=i.ctype,B=i.depth,s=UPNG._bin.readUshort;if(Date.now(),6==a){var C=g<<2;if(8==B)for(var o=0;o<C;o+=4)I[o]=A[o],I[o+1]=A[o+1],I[o+2]=A[o+2],I[o+3]=A[o+3];if(16==B)for(o=0;o<C;o++)I[o]=A[o<<1]}else if(2==a){var h=i.tabs.tRNS;if(null==h){if(8==B)for(o=0;o<g;o++){var E=3*o;Q[o]=255<<24|A[E+2]<<16|A[E+1]<<8|A[E]}if(16==B)for(o=0;o<g;o++)E=6*o,Q[o]=255<<24|A[E+4]<<16|A[E+2]<<8|A[E]}else{var c=h[0],f=h[1],l=h[2];if(8==B)for(o=0;o<g;o++){var w=o<<2;E=3*o,Q[o]=255<<24|A[E+2]<<16|A[E+1]<<8|A[E],A[E]==c&&A[E+1]==f&&A[E+2]==l&&(I[w+3]=0)}if(16==B)for(o=0;o<g;o++)w=o<<2,E=6*o,Q[o]=255<<24|A[E+4]<<16|A[E+2]<<8|A[E],s(A,E)==c&&s(A,E+2)==f&&s(A,E+4)==l&&(I[w+3]=0)}}else if(3==a){var D=i.tabs.PLTE,d=i.tabs.tRNS,u=d?d.length:0;if(1==B)for(var N=0;N<e;N++){var G=N*n,p=N*t;for(o=0;o<t;o++){w=p+o<<2;var U=3*(m=A[G+(o>>3)]>>7-((7&o)<<0)&1);I[w]=D[U],I[w+1]=D[U+1],I[w+2]=D[U+2],I[w+3]=m<u?d[m]:255}}if(2==B)for(N=0;N<e;N++)for(G=N*n,p=N*t,o=0;o<t;o++)w=p+o<<2,U=3*(m=A[G+(o>>2)]>>6-((3&o)<<1)&3),I[w]=D[U],I[w+1]=D[U+1],I[w+2]=D[U+2],I[w+3]=m<u?d[m]:255;if(4==B)for(N=0;N<e;N++)for(G=N*n,p=N*t,o=0;o<t;o++)w=p+o<<2,U=3*(m=A[G+(o>>1)]>>4-((1&o)<<2)&15),I[w]=D[U],I[w+1]=D[U+1],I[w+2]=D[U+2],I[w+3]=m<u?d[m]:255;if(8==B)for(o=0;o<g;o++){var m;w=o<<2,U=3*(m=A[o]),I[w]=D[U],I[w+1]=D[U+1],I[w+2]=D[U+2],I[w+3]=m<u?d[m]:255}}else if(4==a){if(8==B)for(o=0;o<g;o++){w=o<<2;var k=A[y=o<<1];I[w]=k,I[w+1]=k,I[w+2]=k,I[w+3]=A[y+1]}if(16==B)for(o=0;o<g;o++){var y;w=o<<2,k=A[y=o<<2],I[w]=k,I[w+1]=k,I[w+2]=k,I[w+3]=A[y+2]}}else if(0==a)for(c=i.tabs.tRNS?i.tabs.tRNS:-1,N=0;N<e;N++){var _=N*n,J=N*t;if(1==B)for(var M=0;M<t;M++){var H=(k=255*(A[_+(M>>>3)]>>>7-(7&M)&1))==255*c?0:255;Q[J+M]=H<<24|k<<16|k<<8|k}else if(2==B)for(M=0;M<t;M++)H=(k=85*(A[_+(M>>>2)]>>>6-((3&M)<<1)&3))==85*c?0:255,Q[J+M]=H<<24|k<<16|k<<8|k;else if(4==B)for(M=0;M<t;M++)H=(k=17*(A[_+(M>>>1)]>>>4-((1&M)<<2)&15))==17*c?0:255,Q[J+M]=H<<24|k<<16|k<<8|k;else if(8==B)for(M=0;M<t;M++)H=(k=A[_+M])==c?0:255,Q[J+M]=H<<24|k<<16|k<<8|k;else if(16==B)for(M=0;M<t;M++)k=A[_+(M<<1)],H=s(A,_+(M<<o))==c?0:255,Q[J+M]=H<<24|k<<16|k<<8|k}return I},UPNG.decode=function(A){for(var t,e=new Uint8Array(A),i=8,g=UPNG._bin,r=g.readUshort,n=g.readUint,I={tabs:{},frames:[]},Q=new Uint8Array(e.length),a=0,B=0,s=[137,80,78,71,13,10,26,10],C=0;C<8;C++)if(e[C]!=s[C])throw"The input is not a PNG file!";for(;i<e.length;){var o=g.readUint(e,i);i+=4;var h=g.readASCII(e,i,4);if(i+=4,"IHDR"==h)UPNG.decode._IHDR(e,i,I);else if("CgBI"==h)I.tabs[h]=e.slice(i,i+4);else if("IDAT"==h){for(C=0;C<o;C++)Q[a+C]=e[i+C];a+=o}else if("acTL"==h)I.tabs[h]={num_frames:n(e,i),num_plays:n(e,i+4)},t=new Uint8Array(e.length);else if("fcTL"==h){var E;0!=B&&((E=I.frames[I.frames.length-1]).data=UPNG.decode._decompress(I,t.slice(0,B),E.rect.width,E.rect.height),B=0);var c={x:n(e,i+12),y:n(e,i+16),width:n(e,i+4),height:n(e,i+8)},f=r(e,i+22);f=r(e,i+20)/(0==f?100:f);var l={rect:c,delay:Math.round(1e3*f),dispose:e[i+24],blend:e[i+25]};I.frames.push(l)}else if("fdAT"==h){for(C=0;C<o-4;C++)t[B+C]=e[i+C+4];B+=o-4}else if("pHYs"==h)I.tabs[h]=[g.readUint(e,i),g.readUint(e,i+4),e[i+8]];else if("cHRM"==h)for(I.tabs[h]=[],C=0;C<8;C++)I.tabs[h].push(g.readUint(e,i+4*C));else if("tEXt"==h||"zTXt"==h){null==I.tabs[h]&&(I.tabs[h]={});var w=g.nextZero(e,i),D=g.readASCII(e,i,w-i),d=i+o-w-1;if("tEXt"==h)G=g.readASCII(e,w+1,d);else{var u=UPNG.decode._inflate(e.slice(w+2,w+2+d));G=g.readUTF8(u,0,u.length)}I.tabs[h][D]=G}else if("iTXt"==h){null==I.tabs[h]&&(I.tabs[h]={}),w=0;var N=i;w=g.nextZero(e,N),D=g.readASCII(e,N,w-N);var G,p=e[N=w+1];e[N+1],N+=2,w=g.nextZero(e,N),g.readASCII(e,N,w-N),N=w+1,w=g.nextZero(e,N),g.readUTF8(e,N,w-N),d=o-((N=w+1)-i),0==p?G=g.readUTF8(e,N,d):(u=UPNG.decode._inflate(e.slice(N,N+d)),G=g.readUTF8(u,0,u.length)),I.tabs[h][D]=G}else if("PLTE"==h)I.tabs[h]=g.readBytes(e,i,o);else if("hIST"==h){var U=I.tabs.PLTE.length/3;for(I.tabs[h]=[],C=0;C<U;C++)I.tabs[h].push(r(e,i+2*C))}else if("tRNS"==h)3==I.ctype?I.tabs[h]=g.readBytes(e,i,o):0==I.ctype?I.tabs[h]=r(e,i):2==I.ctype&&(I.tabs[h]=[r(e,i),r(e,i+2),r(e,i+4)]);else if("gAMA"==h)I.tabs[h]=g.readUint(e,i)/1e5;else if("sRGB"==h)I.tabs[h]=e[i];else if("bKGD"==h)0==I.ctype||4==I.ctype?I.tabs[h]=[r(e,i)]:2==I.ctype||6==I.ctype?I.tabs[h]=[r(e,i),r(e,i+2),r(e,i+4)]:3==I.ctype&&(I.tabs[h]=e[i]);else if("IEND"==h)break;i+=o,g.readUint(e,i),i+=4}return 0!=B&&((E=I.frames[I.frames.length-1]).data=UPNG.decode._decompress(I,t.slice(0,B),E.rect.width,E.rect.height),B=0),I.data=UPNG.decode._decompress(I,Q,I.width,I.height),delete I.compress,delete I.interlace,delete I.filter,I},UPNG.decode._decompress=function(A,t,e,i){Date.now();var g=UPNG.decode._getBPP(A),r=Math.ceil(e*g/8),n=new Uint8Array((r+1+A.interlace)*i);return t=A.tabs.CgBI?UPNG.inflateRaw(t,n):UPNG.decode._inflate(t,n),Date.now(),0==A.interlace?t=UPNG.decode._filterZero(t,A,0,e,i):1==A.interlace&&(t=UPNG.decode._readInterlace(t,A)),t},UPNG.decode._inflate=function(A,t){return UPNG.inflateRaw(new Uint8Array(A.buffer,2,A.length-6),t)},UPNG.inflateRaw=((i={}).H={},i.H.N=function(A,t){var e,g,r=Uint8Array,n=0,I=0,Q=0,a=0,B=0,s=0,C=0,o=0,h=0;if(3==A[0]&&0==A[1])return t||new r(0);var E=i.H,c=E.b,f=E.e,l=E.R,w=E.n,D=E.A,d=E.Z,u=E.m,N=null==t;for(N&&(t=new r(A.length>>>2<<3));0==n;)if(n=c(A,h,1),I=c(A,h+1,2),h+=3,0!=I){if(N&&(t=i.H.W(t,o+(1<<17))),1==I&&(e=u.J,g=u.h,s=511,C=31),2==I){Q=f(A,h,5)+257,a=f(A,h+5,5)+1,B=f(A,h+10,4)+4,h+=14;for(var G=1,p=0;p<38;p+=2)u.Q[p]=0,u.Q[p+1]=0;for(p=0;p<B;p++){var U=f(A,h+3*p,3);u.Q[1+(u.X[p]<<1)]=U,U>G&&(G=U)}h+=3*B,w(u.Q,G),D(u.Q,G,u.u),e=u.w,g=u.d,h=l(u.u,(1<<G)-1,Q+a,A,h,u.v);var m=E.V(u.v,0,Q,u.C);s=(1<<m)-1;var k=E.V(u.v,Q,a,u.D);C=(1<<k)-1,w(u.C,m),D(u.C,m,e),w(u.D,k),D(u.D,k,g)}for(;;){var y=e[d(A,h)&s];h+=15&y;var _=y>>>4;if(_>>>8==0)t[o++]=_;else{if(256==_)break;var J=o+_-254;if(_>264){var M=u.q[_-257];J=o+(M>>>3)+f(A,h,7&M),h+=7&M}var H=g[d(A,h)&C];h+=15&H;var b=H>>>4,v=u.c[b],F=(v>>>4)+c(A,h,15&v);for(h+=15&v;o<J;)t[o]=t[o++-F],t[o]=t[o++-F],t[o]=t[o++-F],t[o]=t[o++-F];o=J}}}else{0!=(7&h)&&(h+=8-(7&h));var R=4+(h>>>3),P=A[R-4]|A[R-3]<<8;N&&(t=i.H.W(t,o+P)),t.set(new r(A.buffer,A.byteOffset+R,P),o),h=R+P<<3,o+=P}return t.length==o?t:t.slice(0,o)},i.H.W=function(A,t){var e=A.length;if(t<=e)return A;var i=new Uint8Array(e<<1);return i.set(A,0),i},i.H.R=function(A,t,e,g,r,n){for(var I=i.H.e,Q=i.H.Z,a=0;a<e;){var B=A[Q(g,r)&t];r+=15&B;var s=B>>>4;if(s<=15)n[a]=s,a++;else{var C=0,o=0;16==s?(o=3+I(g,r,2),r+=2,C=n[a-1]):17==s?(o=3+I(g,r,3),r+=3):18==s&&(o=11+I(g,r,7),r+=7);for(var h=a+o;a<h;)n[a]=C,a++}}return r},i.H.V=function(A,t,e,i){for(var g=0,r=0,n=i.length>>>1;r<e;){var I=A[r+t];i[r<<1]=0,i[1+(r<<1)]=I,I>g&&(g=I),r++}for(;r<n;)i[r<<1]=0,i[1+(r<<1)]=0,r++;return g},i.H.n=function(A,t){for(var e,g,r,n,I=i.H.m,Q=A.length,a=I.j,B=0;B<=t;B++)a[B]=0;for(B=1;B<Q;B+=2)a[A[B]]++;var s=I.K;for(e=0,a[0]=0,g=1;g<=t;g++)e=e+a[g-1]<<1,s[g]=e;for(r=0;r<Q;r+=2)0!=(n=A[r+1])&&(A[r]=s[n],s[n]++)},i.H.A=function(A,t,e){for(var g=A.length,r=i.H.m.r,n=0;n<g;n+=2)if(0!=A[n+1])for(var I=n>>1,Q=A[n+1],a=I<<4|Q,B=t-Q,s=A[n]<<B,C=s+(1<<B);s!=C;)e[r[s]>>>15-t]=a,s++},i.H.l=function(A,t){for(var e=i.H.m.r,g=15-t,r=0;r<A.length;r+=2){var n=A[r]<<t-A[r+1];A[r]=e[n]>>>g}},i.H.M=function(A,t,e){e<<=7&t;var i=t>>>3;A[i]|=e,A[i+1]|=e>>>8},i.H.I=function(A,t,e){e<<=7&t;var i=t>>>3;A[i]|=e,A[i+1]|=e>>>8,A[i+2]|=e>>>16},i.H.e=function(A,t,e){return(A[t>>>3]|A[1+(t>>>3)]<<8)>>>(7&t)&(1<<e)-1},i.H.b=function(A,t,e){return(A[t>>>3]|A[1+(t>>>3)]<<8|A[2+(t>>>3)]<<16)>>>(7&t)&(1<<e)-1},i.H.Z=function(A,t){return(A[t>>>3]|A[1+(t>>>3)]<<8|A[2+(t>>>3)]<<16)>>>(7&t)},i.H.i=function(A,t){return(A[t>>>3]|A[1+(t>>>3)]<<8|A[2+(t>>>3)]<<16|A[3+(t>>>3)]<<24)>>>(7&t)},i.H.m=(t=Uint16Array,e=Uint32Array,{K:new t(16),j:new t(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[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,999,999,999],T:[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],q:new t(32),p:[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,65535,65535],z:[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],c:new e(32),J:new t(512),_:[],h:new t(32),$:[],w:new t(32768),C:[],v:[],d:new t(32768),D:[],u:new t(512),Q:[],r:new t(32768),s:new e(286),Y:new e(30),a:new e(19),t:new e(15e3),k:new t(65536),g:new t(32768)}),function(){for(var A=i.H.m,t=0;t<32768;t++){var e=t;e=(4278255360&(e=(4042322160&(e=(3435973836&(e=(2863311530&e)>>>1|(1431655765&e)<<1))>>>2|(858993459&e)<<2))>>>4|(252645135&e)<<4))>>>8|(16711935&e)<<8,A.r[t]=(e>>>16|e<<16)>>>17}function g(A,t,e){for(;0!=t--;)A.push(0,e)}for(t=0;t<32;t++)A.q[t]=A.S[t]<<3|A.T[t],A.c[t]=A.p[t]<<4|A.z[t];g(A._,144,8),g(A._,112,9),g(A._,24,7),g(A._,8,8),i.H.n(A._,9),i.H.A(A._,9,A.J),i.H.l(A._,9),g(A.$,32,5),i.H.n(A.$,5),i.H.A(A.$,5,A.h),i.H.l(A.$,5),g(A.Q,19,0),g(A.C,286,0),g(A.D,30,0),g(A.v,320,0)}(),i.H.N),UPNG.decode._readInterlace=function(A,t){for(var e=t.width,i=t.height,g=UPNG.decode._getBPP(t),r=g>>3,n=Math.ceil(e*g/8),I=new Uint8Array(i*n),Q=0,a=[0,0,4,0,2,0,1],B=[0,4,0,2,0,1,0],s=[8,8,8,4,4,2,2],C=[8,8,4,4,2,2,1],o=0;o<7;){for(var h=s[o],E=C[o],c=0,f=0,l=a[o];l<i;)l+=h,f++;for(var w=B[o];w<e;)w+=E,c++;var D=Math.ceil(c*g/8);UPNG.decode._filterZero(A,t,Q,c,f);for(var d=0,u=a[o];u<i;){for(var N=B[o],G=Q+d*D<<3;N<e;){var p;if(1==g&&(p=(p=A[G>>3])>>7-(7&G)&1,I[u*n+(N>>3)]|=p<<7-((7&N)<<0)),2==g&&(p=(p=A[G>>3])>>6-(7&G)&3,I[u*n+(N>>2)]|=p<<6-((3&N)<<1)),4==g&&(p=(p=A[G>>3])>>4-(7&G)&15,I[u*n+(N>>1)]|=p<<4-((1&N)<<2)),g>=8)for(var U=u*n+N*r,m=0;m<r;m++)I[U+m]=A[(G>>3)+m];G+=g,N+=E}d++,u+=h}c*f!=0&&(Q+=f*(1+D)),o+=1}return I},UPNG.decode._getBPP=function(A){return[1,null,3,1,2,null,4][A.ctype]*A.depth},UPNG.decode._filterZero=function(A,t,e,i,g){var r=UPNG.decode._getBPP(t),n=Math.ceil(i*r/8),I=UPNG.decode._paeth;r=Math.ceil(r/8);var Q=0,a=1,B=A[e],s=0;if(B>1&&(A[e]=[0,0,1][B-2]),3==B)for(s=r;s<n;s++)A[s+1]=A[s+1]+(A[s+1-r]>>>1)&255;for(var C=0;C<g;C++)if(s=0,0==(B=A[(a=(Q=e+C*n)+C+1)-1]))for(;s<n;s++)A[Q+s]=A[a+s];else if(1==B){for(;s<r;s++)A[Q+s]=A[a+s];for(;s<n;s++)A[Q+s]=A[a+s]+A[Q+s-r]}else if(2==B)for(;s<n;s++)A[Q+s]=A[a+s]+A[Q+s-n];else if(3==B){for(;s<r;s++)A[Q+s]=A[a+s]+(A[Q+s-n]>>>1);for(;s<n;s++)A[Q+s]=A[a+s]+(A[Q+s-n]+A[Q+s-r]>>>1)}else{for(;s<r;s++)A[Q+s]=A[a+s]+I(0,A[Q+s-n],0);for(;s<n;s++)A[Q+s]=A[a+s]+I(A[Q+s-r],A[Q+s-n],A[Q+s-r-n])}return A},UPNG.decode._paeth=function(A,t,e){var i=A+t-e,g=i-A,r=i-t,n=i-e;return g*g<=r*r&&g*g<=n*n?A:r*r<=n*n?t:e},UPNG.decode._IHDR=function(A,t,e){var i=UPNG._bin;e.width=i.readUint(A,t),t+=4,e.height=i.readUint(A,t),t+=4,e.depth=A[t],t++,e.ctype=A[t],t++,e.compress=A[t],t++,e.filter=A[t],t++,e.interlace=A[t],t++},UPNG._bin={nextZero:function(A,t){for(;0!=A[t];)t++;return t},readUshort:function(A,t){return A[t]<<8|A[t+1]},writeUshort:function(A,t,e){A[t]=e>>8&255,A[t+1]=255&e},readUint:function(A,t){return 16777216*A[t]+(A[t+1]<<16|A[t+2]<<8|A[t+3])},writeUint:function(A,t,e){A[t]=e>>24&255,A[t+1]=e>>16&255,A[t+2]=e>>8&255,A[t+3]=255&e},readASCII:function(A,t,e){for(var i="",g=0;g<e;g++)i+=String.fromCharCode(A[t+g]);return i},writeASCII:function(A,t,e){for(var i=0;i<e.length;i++)A[t+i]=e.charCodeAt(i)},readBytes:function(A,t,e){for(var i=[],g=0;g<e;g++)i.push(A[t+g]);return i},pad:function(A){return A.length<2?"0"+A:A},readUTF8:function(A,t,e){for(var i,g="",r=0;r<e;r++)g+="%"+UPNG._bin.pad(A[t+r].toString(16));try{i=decodeURIComponent(g)}catch(i){return UPNG._bin.readASCII(A,t,e)}return i}},UPNG._copyTile=function(A,t,e,i,g,r,n,I,Q){for(var a=Math.min(t,g),B=Math.min(e,r),s=0,C=0,o=0;o<B;o++)for(var h=0;h<a;h++)if(n>=0&&I>=0?(s=o*t+h<<2,C=(I+o)*g+n+h<<2):(s=(-I+o)*t-n+h<<2,C=o*g+h<<2),0==Q)i[C]=A[s],i[C+1]=A[s+1],i[C+2]=A[s+2],i[C+3]=A[s+3];else if(1==Q){var E=A[s+3]*(1/255),c=A[s]*E,f=A[s+1]*E,l=A[s+2]*E,w=i[C+3]*(1/255),D=i[C]*w,d=i[C+1]*w,u=i[C+2]*w,N=1-E,G=E+w*N,p=0==G?0:1/G;i[C+3]=255*G,i[C+0]=(c+D*N)*p,i[C+1]=(f+d*N)*p,i[C+2]=(l+u*N)*p}else if(2==Q)E=A[s+3],c=A[s],f=A[s+1],l=A[s+2],w=i[C+3],D=i[C],d=i[C+1],u=i[C+2],E==w&&c==D&&f==d&&l==u?(i[C]=0,i[C+1]=0,i[C+2]=0,i[C+3]=0):(i[C]=c,i[C+1]=f,i[C+2]=l,i[C+3]=E);else if(3==Q){if(E=A[s+3],c=A[s],f=A[s+1],l=A[s+2],w=i[C+3],D=i[C],d=i[C+1],u=i[C+2],E==w&&c==D&&f==d&&l==u)continue;if(E<220&&w>20)return!1}return!0},UPNG.encode=function(A,t,e,i,g,r,n){null==i&&(i=0),null==n&&(n=!1);var I=UPNG.encode.compress(A,t,e,i,[!1,!1,!1,0,n]);return UPNG.encode.compressPNG(I,-1),UPNG.encode._main(I,t,e,g,r)},UPNG.encodeLL=function(A,t,e,i,g,r,n,I){for(var Q={ctype:0+(1==i?0:2)+(0==g?0:4),depth:r,frames:[]},a=(Date.now(),(i+g)*r),B=a*t,s=0;s<A.length;s++)Q.frames.push({rect:{x:0,y:0,width:t,height:e},img:new Uint8Array(A[s]),blend:0,dispose:1,bpp:Math.ceil(a/8),bpl:Math.ceil(B/8)});return UPNG.encode.compressPNG(Q,0,!0),UPNG.encode._main(Q,t,e,n,I)},UPNG.encode._main=function(A,t,e,i,g){null==g&&(g={});var r=UPNG.crc.crc,n=UPNG._bin.writeUint,I=UPNG._bin.writeUshort,Q=UPNG._bin.writeASCII,a=8,B=A.frames.length>1,s=!1,C=33+(B?20:0);if(null!=g.sRGB&&(C+=13),null!=g.pHYs&&(C+=21),3==A.ctype){for(var o=A.plte.length,h=0;h<o;h++)A.plte[h]>>>24!=255&&(s=!0);C+=8+3*o+4+(s?8+1*o+4:0)}for(var E=0;E<A.frames.length;E++)B&&(C+=38),C+=(G=A.frames[E]).cimg.length+12,0!=E&&(C+=4);C+=12;var c=new Uint8Array(C),f=[137,80,78,71,13,10,26,10];for(h=0;h<8;h++)c[h]=f[h];if(n(c,a,13),Q(c,a+=4,"IHDR"),n(c,a+=4,t),n(c,a+=4,e),c[a+=4]=A.depth,c[++a]=A.ctype,c[++a]=0,c[++a]=0,c[++a]=0,n(c,++a,r(c,a-17,17)),a+=4,null!=g.sRGB&&(n(c,a,1),Q(c,a+=4,"sRGB"),c[a+=4]=g.sRGB,n(c,++a,r(c,a-5,5)),a+=4),null!=g.pHYs&&(n(c,a,9),Q(c,a+=4,"pHYs"),n(c,a+=4,g.pHYs[0]),n(c,a+=4,g.pHYs[1]),c[a+=4]=g.pHYs[2],n(c,++a,r(c,a-13,13)),a+=4),B&&(n(c,a,8),Q(c,a+=4,"acTL"),n(c,a+=4,A.frames.length),n(c,a+=4,null!=g.loop?g.loop:0),n(c,a+=4,r(c,a-12,12)),a+=4),3==A.ctype){for(n(c,a,3*(o=A.plte.length)),Q(c,a+=4,"PLTE"),a+=4,h=0;h<o;h++){var l=3*h,w=A.plte[h],D=255&w,d=w>>>8&255,u=w>>>16&255;c[a+l+0]=D,c[a+l+1]=d,c[a+l+2]=u}if(n(c,a+=3*o,r(c,a-3*o-4,3*o+4)),a+=4,s){for(n(c,a,o),Q(c,a+=4,"tRNS"),a+=4,h=0;h<o;h++)c[a+h]=A.plte[h]>>>24&255;n(c,a+=o,r(c,a-o-4,o+4)),a+=4}}var N=0;for(E=0;E<A.frames.length;E++){var G=A.frames[E];B&&(n(c,a,26),Q(c,a+=4,"fcTL"),n(c,a+=4,N++),n(c,a+=4,G.rect.width),n(c,a+=4,G.rect.height),n(c,a+=4,G.rect.x),n(c,a+=4,G.rect.y),I(c,a+=4,i[E]),I(c,a+=2,1e3),c[a+=2]=G.dispose,c[++a]=G.blend,n(c,++a,r(c,a-30,30)),a+=4);var p=G.cimg;n(c,a,(o=p.length)+(0==E?0:4));var U=a+=4;Q(c,a,0==E?"IDAT":"fdAT"),a+=4,0!=E&&(n(c,a,N++),a+=4),c.set(p,a),n(c,a+=o,r(c,U,a-U)),a+=4}return n(c,a,0),Q(c,a+=4,"IEND"),n(c,a+=4,r(c,a-4,4)),a+=4,c.buffer},UPNG.encode.compressPNG=function(A,t,e){for(var i=0;i<A.frames.length;i++){var g=A.frames[i],r=(g.rect.width,g.rect.height),n=new Uint8Array(r*g.bpl+r);g.cimg=UPNG.encode._filterZero(g.img,r,g.bpp,g.bpl,n,t,e)}},UPNG.encode.compress=function(A,t,e,i,g){for(var r=g[0],n=g[1],I=g[2],Q=g[3],a=g[4],B=6,s=8,C=255,o=0;o<A.length;o++)for(var h=new Uint8Array(A[o]),E=h.length,c=0;c<E;c+=4)C&=h[c+3];var f=255!=C,l=UPNG.encode.framize(A,t,e,r,n,I),w={},D=[],d=[];if(0!=i){var u=[];for(c=0;c<l.length;c++)u.push(l[c].img.buffer);var N=UPNG.encode.concatRGBA(u),G=UPNG.quantize(N,i);console.log(G);var p=0,U=new Uint8Array(G.abuf);for(c=0;c<l.length;c++){var m=(x=l[c].img).length;for(d.push(new Uint8Array(G.inds.buffer,p>>2,m>>2)),o=0;o<m;o+=4)x[o]=U[p+o],x[o+1]=U[p+o+1],x[o+2]=U[p+o+2],x[o+3]=U[p+o+3];p+=m}for(c=0;c<G.plte.length;c++)D.push(G.plte[c].est.rgba)}else for(o=0;o<l.length;o++){var k=l[o],y=new Uint32Array(k.img.buffer),_=k.rect.width,J=(E=y.length,new Uint8Array(E));for(d.push(J),c=0;c<E;c++){var M=y[c];if(0!=c&&M==y[c-1])J[c]=J[c-1];else if(c>_&&M==y[c-_])J[c]=J[c-_];else{var H=w[M];if(null==H&&(w[M]=H=D.length,D.push(M),D.length>=300))break;J[c]=H}}}var b=D.length;for(b<=256&&0==a&&(s=b<=2?1:b<=4?2:b<=16?4:8,s=Math.max(s,Q)),o=0;o<l.length;o++){(k=l[o]).rect.x,k.rect.y,_=k.rect.width;var v=k.rect.height,F=k.img,R=(new Uint32Array(F.buffer),4*_),P=4;if(b<=256&&0==a){R=Math.ceil(s*_/8);for(var L=new Uint8Array(R*v),S=d[o],Y=0;Y<v;Y++){c=Y*R;var q=Y*_;if(8==s)for(var K=0;K<_;K++)L[c+K]=S[q+K];else if(4==s)for(K=0;K<_;K++)L[c+(K>>1)]|=S[q+K]<<4-4*(1&K);else if(2==s)for(K=0;K<_;K++)L[c+(K>>2)]|=S[q+K]<<6-2*(3&K);else if(1==s)for(K=0;K<_;K++)L[c+(K>>3)]|=S[q+K]<<7-1*(7&K)}F=L,B=3,P=1}else if(0==f&&1==l.length){L=new Uint8Array(_*v*3);var T=_*v;for(c=0;c<T;c++){var x,W=4*c;L[x=3*c]=F[W],L[x+1]=F[W+1],L[x+2]=F[W+2]}F=L,B=2,P=3,R=3*_}k.img=F,k.bpl=R,k.bpp=P}return{ctype:B,depth:s,plte:D,frames:l}},UPNG.encode.framize=function(A,t,e,i,g,r){for(var n=[],I=0;I<A.length;I++){var Q,a=new Uint8Array(A[I]),B=new Uint32Array(a.buffer),s=0,C=0,o=t,h=e,E=i?1:0;if(0!=I){for(var c=r||i||1==I||0!=n[I-2].dispose?1:2,f=0,l=1e9,w=0;w<c;w++){for(var D=new Uint8Array(A[I-1-w]),d=new Uint32Array(A[I-1-w]),u=t,N=e,G=-1,p=-1,U=0;U<e;U++)for(var m=0;m<t;m++)B[b=U*t+m]!=d[b]&&(m<u&&(u=m),m>G&&(G=m),U<N&&(N=U),U>p&&(p=U));-1==G&&(u=N=G=p=0),g&&(1==(1&u)&&u--,1==(1&N)&&N--);var k=(G-u+1)*(p-N+1);k<l&&(l=k,f=w,s=u,C=N,o=G-u+1,h=p-N+1)}D=new Uint8Array(A[I-1-f]),1==f&&(n[I-1].dispose=2),Q=new Uint8Array(o*h*4),UPNG._copyTile(D,t,e,Q,o,h,-s,-C,0),1==(E=UPNG._copyTile(a,t,e,Q,o,h,-s,-C,3)?1:0)?UPNG.encode._prepareDiff(a,t,e,Q,{x:s,y:C,width:o,height:h}):UPNG._copyTile(a,t,e,Q,o,h,-s,-C,0)}else Q=a.slice(0);n.push({rect:{x:s,y:C,width:o,height:h},img:Q,blend:E,dispose:0})}if(i)for(I=0;I<n.length;I++)if(1!=(v=n[I]).blend){var y=v.rect,_=n[I-1].rect,J=Math.min(y.x,_.x),M=Math.min(y.y,_.y),H={x:J,y:M,width:Math.max(y.x+y.width,_.x+_.width)-J,height:Math.max(y.y+y.height,_.y+_.height)-M};n[I-1].dispose=1,I-1!=0&&UPNG.encode._updateFrame(A,t,e,n,I-1,H,g),UPNG.encode._updateFrame(A,t,e,n,I,H,g)}if(1!=A.length)for(var b=0;b<n.length;b++){var v;(v=n[b]).rect.width,v.rect.height}return n},UPNG.encode._updateFrame=function(A,t,e,i,g,r,n){for(var I=Uint8Array,Q=Uint32Array,a=new I(A[g-1]),B=new Q(A[g-1]),s=g+1<A.length?new I(A[g+1]):null,C=new I(A[g]),o=new Q(C.buffer),h=t,E=e,c=-1,f=-1,l=0;l<r.height;l++)for(var w=0;w<r.width;w++){var D=r.x+w,d=r.y+l,u=d*t+D,N=o[u];0==N||0==i[g-1].dispose&&B[u]==N&&(null==s||0!=s[4*u+3])||(D<h&&(h=D),D>c&&(c=D),d<E&&(E=d),d>f&&(f=d))}-1==c&&(h=E=c=f=0),n&&(1==(1&h)&&h--,1==(1&E)&&E--),r={x:h,y:E,width:c-h+1,height:f-E+1};var G=i[g];G.rect=r,G.blend=1,G.img=new Uint8Array(r.width*r.height*4),0==i[g-1].dispose?(UPNG._copyTile(a,t,e,G.img,r.width,r.height,-r.x,-r.y,0),UPNG.encode._prepareDiff(C,t,e,G.img,r)):UPNG._copyTile(C,t,e,G.img,r.width,r.height,-r.x,-r.y,0)},UPNG.encode._prepareDiff=function(A,t,e,i,g){UPNG._copyTile(A,t,e,i,g.width,g.height,-g.x,-g.y,2)},UPNG.encode._filterZero=function(A,t,e,i,g,r,n){var I,Q=[],a=[0,1,2,3,4];-1!=r?a=[r]:(t*i>5e5||1==e)&&(a=[0]),n&&(I={level:0});for(var B=g.length>1e7&&null!=UZIP?UZIP:pako,s=(Date.now(),0);s<a.length;s++){for(var C=0;C<t;C++)UPNG.encode._filterLine(g,A,C,i,e,a[s]);Q.push(B.deflate(g,I))}var o,h=1e9;for(s=0;s<Q.length;s++)Q[s].length<h&&(o=s,h=Q[s].length);return Q[o]},UPNG.encode._filterLine=function(A,t,e,i,g,r){var n=e*i,I=n+e,Q=UPNG.decode._paeth;if(A[I]=r,I++,0==r)if(i<500)for(var a=0;a<i;a++)A[I+a]=t[n+a];else A.set(new Uint8Array(t.buffer,n,i),I);else if(1==r){for(a=0;a<g;a++)A[I+a]=t[n+a];for(a=g;a<i;a++)A[I+a]=t[n+a]-t[n+a-g]+256&255}else if(0==e){for(a=0;a<g;a++)A[I+a]=t[n+a];if(2==r)for(a=g;a<i;a++)A[I+a]=t[n+a];if(3==r)for(a=g;a<i;a++)A[I+a]=t[n+a]-(t[n+a-g]>>1)+256&255;if(4==r)for(a=g;a<i;a++)A[I+a]=t[n+a]-Q(t[n+a-g],0,0)+256&255}else{if(2==r)for(a=0;a<i;a++)A[I+a]=t[n+a]+256-t[n+a-i]&255;if(3==r){for(a=0;a<g;a++)A[I+a]=t[n+a]+256-(t[n+a-i]>>1)&255;for(a=g;a<i;a++)A[I+a]=t[n+a]+256-(t[n+a-i]+t[n+a-g]>>1)&255}if(4==r){for(a=0;a<g;a++)A[I+a]=t[n+a]+256-Q(0,t[n+a-i],0)&255;for(a=g;a<i;a++)A[I+a]=t[n+a]+256-Q(t[n+a-g],t[n+a-i],t[n+a-g-i])&255}}},UPNG.crc={table:function(){for(var A=new Uint32Array(256),t=0;t<256;t++){for(var e=t,i=0;i<8;i++)1&e?e=3988292384^e>>>1:e>>>=1;A[t]=e}return A}(),update:function(A,t,e,i){for(var g=0;g<i;g++)A=UPNG.crc.table[255&(A^t[e+g])]^A>>>8;return A},crc:function(A,t,e){return 4294967295^UPNG.crc.update(4294967295,A,t,e)}},UPNG.quantize=function(A,t){var e,i=new Uint8Array(A),g=i.slice(0),r=new Uint32Array(g.buffer),n=UPNG.quantize.getKDtree(g,t),I=n[0],Q=n[1],a=UPNG.quantize.planeDst,B=i,s=r,C=B.length,o=new Uint8Array(i.length>>2);if(i.length<2e7)for(var h=0;h<C;h+=4){var E=B[h]*(1/255),c=B[h+1]*(1/255),f=B[h+2]*(1/255),l=B[h+3]*(1/255);e=UPNG.quantize.getNearest(I,E,c,f,l),o[h>>2]=e.ind,s[h>>2]=e.est.rgba}else for(h=0;h<C;h+=4){for(E=B[h]*(1/255),c=B[h+1]*(1/255),f=B[h+2]*(1/255),l=B[h+3]*(1/255),e=I;e.left;)e=a(e.est,E,c,f,l)<=0?e.left:e.right;o[h>>2]=e.ind,s[h>>2]=e.est.rgba}return{abuf:g.buffer,inds:o,plte:Q}},UPNG.quantize.getKDtree=function(A,t,e){null==e&&(e=1e-4);var i=new Uint32Array(A.buffer),g={i0:0,i1:A.length,bst:null,est:null,tdst:0,left:null,right:null};g.bst=UPNG.quantize.stats(A,g.i0,g.i1),g.est=UPNG.quantize.estats(g.bst);for(var r=[g];r.length<t;){for(var n=0,I=0,Q=0;Q<r.length;Q++)r[Q].est.L>n&&(n=r[Q].est.L,I=Q);if(n<e)break;var a=r[I],B=UPNG.quantize.splitPixels(A,i,a.i0,a.i1,a.est.e,a.est.eMq255);if(a.i0>=B||a.i1<=B)a.est.L=0;else{var s={i0:a.i0,i1:B,bst:null,est:null,tdst:0,left:null,right:null};s.bst=UPNG.quantize.stats(A,s.i0,s.i1),s.est=UPNG.quantize.estats(s.bst);var C={i0:B,i1:a.i1,bst:null,est:null,tdst:0,left:null,right:null};for(C.bst={R:[],m:[],N:a.bst.N-s.bst.N},Q=0;Q<16;Q++)C.bst.R[Q]=a.bst.R[Q]-s.bst.R[Q];for(Q=0;Q<4;Q++)C.bst.m[Q]=a.bst.m[Q]-s.bst.m[Q];C.est=UPNG.quantize.estats(C.bst),a.left=s,a.right=C,r[I]=s,r.push(C)}}for(r.sort((function(A,t){return t.bst.N-A.bst.N})),Q=0;Q<r.length;Q++)r[Q].ind=Q;return[g,r]},UPNG.quantize.getNearest=function(A,t,e,i,g){if(null==A.left)return A.tdst=UPNG.quantize.dist(A.est.q,t,e,i,g),A;var r=UPNG.quantize.planeDst(A.est,t,e,i,g),n=A.left,I=A.right;r>0&&(n=A.right,I=A.left);var Q=UPNG.quantize.getNearest(n,t,e,i,g);if(Q.tdst<=r*r)return Q;var a=UPNG.quantize.getNearest(I,t,e,i,g);return a.tdst<Q.tdst?a:Q},UPNG.quantize.planeDst=function(A,t,e,i,g){var r=A.e;return r[0]*t+r[1]*e+r[2]*i+r[3]*g-A.eMq},UPNG.quantize.dist=function(A,t,e,i,g){var r=t-A[0],n=e-A[1],I=i-A[2],Q=g-A[3];return r*r+n*n+I*I+Q*Q},UPNG.quantize.splitPixels=function(A,t,e,i,g,r){var n=UPNG.quantize.vecDot;for(i-=4;e<i;){for(;n(A,e,g)<=r;)e+=4;for(;n(A,i,g)>r;)i-=4;if(e>=i)break;var I=t[e>>2];t[e>>2]=t[i>>2],t[i>>2]=I,e+=4,i-=4}for(;n(A,e,g)>r;)e-=4;return e+4},UPNG.quantize.vecDot=function(A,t,e){return A[t]*e[0]+A[t+1]*e[1]+A[t+2]*e[2]+A[t+3]*e[3]},UPNG.quantize.stats=function(A,t,e){for(var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=[0,0,0,0],r=e-t>>2,n=t;n<e;n+=4){var I=A[n]*(1/255),Q=A[n+1]*(1/255),a=A[n+2]*(1/255),B=A[n+3]*(1/255);g[0]+=I,g[1]+=Q,g[2]+=a,g[3]+=B,i[0]+=I*I,i[1]+=I*Q,i[2]+=I*a,i[3]+=I*B,i[5]+=Q*Q,i[6]+=Q*a,i[7]+=Q*B,i[10]+=a*a,i[11]+=a*B,i[15]+=B*B}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:g,N:r}},UPNG.quantize.estats=function(A){var t=A.R,e=A.m,i=A.N,g=e[0],r=e[1],n=e[2],I=e[3],Q=0==i?0:1/i,a=[t[0]-g*g*Q,t[1]-g*r*Q,t[2]-g*n*Q,t[3]-g*I*Q,t[4]-r*g*Q,t[5]-r*r*Q,t[6]-r*n*Q,t[7]-r*I*Q,t[8]-n*g*Q,t[9]-n*r*Q,t[10]-n*n*Q,t[11]-n*I*Q,t[12]-I*g*Q,t[13]-I*r*Q,t[14]-I*n*Q,t[15]-I*I*Q],B=a,s=UPNG.M4,C=[.5,.5,.5,.5],o=0,h=0;if(0!=i)for(var E=0;E<16&&(C=s.multVec(B,C),h=Math.sqrt(s.dot(C,C)),C=s.sml(1/h,C),!(0!=E&&Math.abs(h-o)<1e-9));E++)o=h;var c=[g*Q,r*Q,n*Q,I*Q];return{Cov:a,q:c,e:C,L:o,eMq255:s.dot(s.sml(255,c),C),eMq:s.dot(C,c),rgba:(Math.round(255*c[3])<<24|Math.round(255*c[2])<<16|Math.round(255*c[1])<<8|Math.round(255*c[0])<<0)>>>0}},UPNG.M4={multVec:function(A,t){return[A[0]*t[0]+A[1]*t[1]+A[2]*t[2]+A[3]*t[3],A[4]*t[0]+A[5]*t[1]+A[6]*t[2]+A[7]*t[3],A[8]*t[0]+A[9]*t[1]+A[10]*t[2]+A[11]*t[3],A[12]*t[0]+A[13]*t[1]+A[14]*t[2]+A[15]*t[3]]},dot:function(A,t){return A[0]*t[0]+A[1]*t[1]+A[2]*t[2]+A[3]*t[3]},sml:function(A,t){return[A*t[0],A*t[1],A*t[2],A*t[3]]}},UPNG.encode.concatRGBA=function(A){for(var t=0,e=0;e<A.length;e++)t+=A[e].byteLength;var i=new Uint8Array(t),g=0;for(e=0;e<A.length;e++){for(var r=new Uint8Array(A[e]),n=r.length,I=0;I<n;I+=4){var Q=r[I],a=r[I+1],B=r[I+2],s=r[I+3];0==s&&(Q=a=B=0),i[g+I]=Q,i[g+I+1]=a,i[g+I+2]=B,i[g+I+3]=s}g+=n}return i.buffer}}},t={};function e(i){var g=t[i];if(void 0!==g)return g.exports;var r=t[i]={exports:{}};return A[i](r,r.exports,e),r.exports}e.d=(A,t)=>{for(var i in t)e.o(t,i)&&!e.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:t[i]})},e.o=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),e.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var i={};return(()=>{"use strict";function A(A){return 255&A}function t(A){return A>>>8&255}function g(A){return A>>>16&255}function r(A){return A>>>24&255}function n(A,t,e,i=255){return((255&i)<<24|(255&e)<<16|(255&t)<<8|255&A)>>>0}function I(A){return[255&A,A>>8&255,A>>16&255,A>>>24]}function Q(e,i){const r=A(e),n=t(e),I=g(e);let Q=Number.MAX_SAFE_INTEGER,a=-1;for(let A=0;A<i.length;++A){const t=r-i[A][0],e=n-i[A][1],g=I-i[A][2],B=t*t+e*e+g*g;if(!B)return A;B<Q&&(Q=B,a=A)}return a}function a(A,t,e){return(4278190080|Math.round(e/100*255)<<16|Math.round(t/100*255)<<8|Math.round(A/100*255))>>>0}e.r(i),e.d(i,{DEFAULT_BACKGROUND:()=>o,DEFAULT_FOREGROUND:()=>h,Decoder:()=>G,DecoderAsync:()=>N,FINALIZER:()=>M,PALETTE_ANSI_256:()=>C,PALETTE_VT340_COLOR:()=>B,PALETTE_VT340_GREY:()=>s,decode:()=>p,decodeAsync:()=>U,fromRGBA8888:()=>I,image2sixel:()=>R,introducer:()=>J,sixelEncode:()=>v,toRGBA8888:()=>n}),255===new Uint8Array(new Uint32Array([4278190080]).buffer)[0]&&console.warn("BE platform detected. This version of node-sixel works only on LE properly.");const B=new Uint32Array([a(0,0,0),a(20,20,80),a(80,13,13),a(20,80,20),a(80,20,80),a(20,80,80),a(80,80,20),a(53,53,53),a(26,26,26),a(33,33,60),a(60,26,26),a(33,60,33),a(60,33,60),a(33,60,60),a(60,60,33),a(80,80,80)]),s=new Uint32Array([a(0,0,0),a(13,13,13),a(26,26,26),a(40,40,40),a(6,6,6),a(20,20,20),a(33,33,33),a(46,46,46),a(0,0,0),a(13,13,13),a(26,26,26),a(40,40,40),a(6,6,6),a(20,20,20),a(33,33,33),a(46,46,46)]),C=(()=>{const A=[n(0,0,0),n(205,0,0),n(0,205,0),n(205,205,0),n(0,0,238),n(205,0,205),n(0,250,205),n(229,229,229),n(127,127,127),n(255,0,0),n(0,255,0),n(255,255,0),n(92,92,255),n(255,0,255),n(0,255,255),n(255,255,255)],t=[0,95,135,175,215,255];for(let e=0;e<6;++e)for(let i=0;i<6;++i)for(let g=0;g<6;++g)A.push(n(t[e],t[i],t[g]));for(let t=8;t<=238;t+=10)A.push(n(t,t,t));return new Uint32Array(A)})(),o=n(0,0,0,255),h=n(255,255,255,255),E=16384,c=4096,f=16384,l=function(A){if("undefined"!=typeof Buffer)return Buffer.from(A,"base64");const t=atob(A),e=new Uint8Array(t.length);for(let A=0;A<e.length;++A)e[A]=t.charCodeAt(A);return e}("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AEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJ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");let w;const D=new Uint32Array;class d{constructor(){this.bandHandler=A=>1,this.modeHandler=A=>1}handle_band(A){return this.bandHandler(A)}mode_parsed(A){return this.modeHandler(A)}}const u={memoryLimit:134217728,sixelColor:h,fillColor:o,palette:B,paletteLimit:c,truncate:!0};function N(A){const t=new d,e={env:{handle_band:t.handle_band.bind(t),mode_parsed:t.mode_parsed.bind(t)}};return WebAssembly.instantiate(w||l,e).then((e=>(w=w||e.module,new G(A,e.instance||e,t))))}class G{constructor(A,t,e){if(this._PIXEL_OFFSET=16388,this._canvas=D,this._bandWidths=[],this._maxWidth=0,this._minWidth=f,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},u,A),this._opts.paletteLimit>c)throw new Error("DecoderOptions.paletteLimit must not exceed 4096");if(t)e.bandHandler=this._handle_band.bind(this),e.modeHandler=this._initCanvas.bind(this);else{const A=w||(w=new WebAssembly.Module(l));t=new WebAssembly.Instance(A,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=t,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),E),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),c),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(h,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(A){if(2===A){const A=this.width*this.height;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}this._maxWidth=this._width}else if(1===A)if(2===this._level){const A=Math.min(this._rasterWidth,f)*this._rasterHeight;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(A,t){const e=A+t;if(e>this._canvas.length){if(this._opts.memoryLimit&&4*e>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");const A=new Uint32Array(65536*Math.ceil(e/65536));A.set(this._canvas),this._canvas=A}}_handle_band(A){const t=this._PIXEL_OFFSET;let e=this._lastOffset;if(2===this._mode){let i=this.height-this._currentHeight,g=0;for(;g<6&&i>0;)this._canvas.set(this._pSrc.subarray(t*g,t*g+A),e+A*g),g++,i--;this._lastOffset+=A*g,this._currentHeight+=g}else if(1===this._mode){this._realloc(e,6*A),this._maxWidth=Math.max(this._maxWidth,A),this._minWidth=Math.min(this._minWidth,A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i);this._bandWidths.push(A),this._lastOffset+=6*A,this._currentHeight+=6}return 0}get width(){return 1!==this._mode?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return 1!==this._mode?this._height:this._wasm.current_width()?6*this._bandWidths.length+this._wasm.current_height():6*this._bandWidths.length}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(A=this._opts.fillColor,t=this._opts.palette,e=this._opts.paletteLimit,i=this._opts.truncate){this._wasm.init(this._opts.sixelColor,A,e,i?1:0),t&&this._palette.set(t.subarray(0,c)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=f,this._lastOffset=0,this._currentHeight=0}decode(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,E);this._chunk.set(A.subarray(i,i+=t)),this._wasm.decode(0,t)}}decodeString(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,E);for(let e=0,g=i;e<t;++e,++g)this._chunk[e]=A.charCodeAt(g);i+=t,this._wasm.decode(0,t)}}get data32(){if(0===this._mode||!this.width||!this.height)return D;const A=this._wasm.current_width();if(2===this._mode){let t=this.height-this._currentHeight;if(t>0){const e=this._PIXEL_OFFSET;let i=this._lastOffset,g=0;for(;g<6&&t>0;)this._canvas.set(this._pSrc.subarray(e*g,e*g+A),i+A*g),g++,t--;t&&this._canvas.fill(this._fillColor,i+A*g)}return this._canvas.subarray(0,this.width*this.height)}if(1===this._mode){if(this._minWidth===this._maxWidth){let t=!1;if(A)if(A!==this._minWidth)t=!0;else{const t=this._PIXEL_OFFSET;let e=this._lastOffset;this._realloc(e,6*A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i)}if(!t)return this._canvas.subarray(0,this.width*this.height)}const t=new Uint32Array(this.width*this.height);t.fill(this._fillColor);let e=0,i=0;for(let A=0;A<this._bandWidths.length;++A){const g=this._bandWidths[A];for(let A=0;A<6;++A)t.set(this._canvas.subarray(i,i+=g),e),e+=this.width}if(A){const i=this._PIXEL_OFFSET,g=this._wasm.current_height();for(let r=0;r<g;++r)t.set(this._pSrc.subarray(i*r,i*r+A),e+this.width*r)}return t}return D}get data8(){return new Uint8ClampedArray(this.data32.buffer,0,this.width*this.height*4)}release(){this._canvas=D,this._bandWidths.length=0,this._maxWidth=0,this._minWidth=f,this._wasm.init(h,0,this._opts.paletteLimit,0)}}function p(A,t){const e=new G(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}}async function U(A,t){const e=await N(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}}const m=e(277).quantize;function k(A){return A>=255?255:A<0?0:A}function y(e,i,r,n){return((65280|k(g(e)+n))<<8|k(t(e)+r))<<8|k(A(e)+i)}class _{constructor(A,t=14,e=42){this.palette=A,this._boxes={},this._boxes2={};const i=t*t*3,g=e*e*3;for(let A=0;A<4096;++A){const t=A>>8,e=A>>4&15,r=15&A;this._nearestPoints(A,8+(t<<4),8+(e<<4),8+(r<<4),i,g)}}_nearestPoints(A,t,e,i,g,r){let n=Number.MAX_SAFE_INTEGER,I=-1;const Q=[],a=[];for(let A=0;A<this.palette.length;++A){const B=this.palette[A],s=this._distance(t,e,i,B[0],B[1],B[2]);s<n&&(n=s,I=A),s<g?Q.push(A):s<r&&a.push(A)}0===Q.length&&Q.push(I),this._boxes[A]=Q,this._boxes2[A]=a}_distance(A,t,e,i,g,r){const n=A-i,I=t-g,Q=e-r;return n*n+I*I+Q*Q}nearest(e){const i=A(e),r=t(e),n=g(e),I=i>>4<<8|r>>4<<4|n>>4,Q=this._boxes[I];let a=Number.MAX_SAFE_INTEGER,B=-1;for(let A=0;A<Q.length;++A){const t=this.palette[Q[A]],e=this._distance(i,r,n,t[0],t[1],t[2]);if(!e)return